diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00000000..a660f5dc Binary files /dev/null and b/.DS_Store differ diff --git a/.asf.yaml b/.asf.yaml new file mode 100644 index 00000000..6b4bb276 --- /dev/null +++ b/.asf.yaml @@ -0,0 +1,37 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +github: + description: "SolidUI" + homepage: https://cloudorc.github.io/SolidUI-Website/ + features: + issues: false + projects: false + wiki: false + labels: + - solidui + enabled_merge_buttons: + squash: true + merge: false + rebase: false + +publish: + whoami: main + +notifications: + issues: https://github.com/CloudOrc/SolidUI/issues + pullrequests: https://github.com/CloudOrc/SolidUI/pulls diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/404.html b/404.html new file mode 100644 index 00000000..cbf7780c --- /dev/null +++ b/404.html @@ -0,0 +1,65 @@ + + + + + +Page Not Found | SolidUI + + + + + + +
+
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

+ + + + \ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..e69de29b diff --git a/assets/css/styles.65b48d32.css b/assets/css/styles.65b48d32.css new file mode 100644 index 00000000..ab2f65ee --- /dev/null +++ b/assets/css/styles.65b48d32.css @@ -0,0 +1 @@ +@charset "UTF-8";.col,.container{padding:0 var(--ifm-spacing-horizontal)}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}a,pre code{background-color:initial}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)}.custom-range:focus,a,body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}.flipInX,.flipInY,.flipOutX,.flipOutY{backface-visibility:visible!important}*,.loadingRing_RJI3 div,:after,:before{box-sizing:border-box}progress,sub,sup{vertical-align:initial}.animated-gradient-text_foreground,.text-bg,.video_btn i{-webkit-text-fill-color:#0000}.text-black,.text-black-50,.text-danger,.text-dark,.text-info,.text-light,.text-muted,.text-primary,.text-reset,.text-secondary,.text-success,.text-warning,.text-white,.text-white-50{--bs-text-opacity:1}.bg-black,.bg-danger,.bg-dark,.bg-light,.bg-primary,.bg-success,.bg-transparent,.bg-warning,.bg-white{--bs-bg-opacity:1}.g-0,.gy-0,.row{--bs-gutter-y:0}:root{--ifm-color-scheme:light;--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-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-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--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-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--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{-webkit-font-smoothing:antialiased;text-size-adjust:100%;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);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child,.mb-0,.my-0{margin-bottom:0!important}.col,dd{margin-left:0}.row--no-gutters{margin-left:0;margin-right:0}.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;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none,.pb-0,.py-0{padding-bottom: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,.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,.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,.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%}.m-0,.margin--none{margin:0!important}.margin-top--none,.mt-0{margin-top:0!important}.margin-left--none,.ml-0,.ms-0,.mx-0{margin-left:0!important}.margin-right--none,.me-0,.mr-0,.mx-0{margin-right:0!important}.margin-vert--none,.my-0{margin-top:0!important}.margin-bottom--xs,.margin-vert--xs,.mb-1,.my-1{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs,.mt-1,.my-1{margin-top:.25rem!important}.margin-horiz--none,.mx-0{margin-left:0!important;margin-right:0!important}.margin-horiz--xs,.margin-left--xs,.ml-1,.ms-1,.mx-1{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs,.me-1,.mr-1,.mx-1{margin-right:.25rem!important}.m-1,.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm,.mb-2,.my-2{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm,.mt-2,.my-2{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm,.ml-2,.ms-2,.mx-2{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm,.me-2,.mr-2,.mx-2{margin-right:.5rem!important}.m-2,.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md,.mb-3,.my-3{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md,.mt-3,.my-3{margin-top:1rem!important}.margin-horiz--md,.margin-left--md,.ml-3,.ms-3,.mx-3{margin-left:1rem!important}.margin-horiz--md,.margin-right--md,.me-3,.mr-3,.mx-3{margin-right:1rem!important}.m-3,.margin--md{margin: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}.p-0,.padding--none{padding:0!important}.padding-top--none,.pt-0{padding-top:0!important}.padding-left--none,.pl-0,.ps-0,.px-0{padding-left:0!important}.padding-right--none,.pe-0,.pr-0,.px-0{padding-right:0!important}.padding-vert--none,.py-0{padding-top:0!important}.padding-bottom--xs,.padding-vert--xs,.pb-1,.py-1{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs,.pt-1,.py-1{padding-top:.25rem!important}.padding-horiz--none,.px-0{padding-left:0!important;padding-right:0!important}.padding-horiz--xs,.padding-left--xs,.pl-1,.ps-1,.px-1{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs,.pe-1,.pr-1,.px-1{padding-right:.25rem!important}.p-1,.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm,.pb-2,.py-2{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm,.pt-2,.py-2{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm,.pl-2,.ps-2,.px-2{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm,.pe-2,.pr-2,.px-2{padding-right:.5rem!important}.p-2,.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md,.pb-3,.py-3{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md,.pt-3,.py-3{padding-top:1rem!important}.padding-horiz--md,.padding-left--md,.pl-3,.ps-3,.px-3{padding-left:1rem!important}.padding-horiz--md,.padding-right--md,.pe-3,.pr-3,.px-3{padding-right:1rem!important}.p-3,.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);background-color:#ecf4fa!important;-ms-overflow-style:scrollbar;margin-bottom:1rem;margin-top:0;overflow:auto}.clean-btn,pre code{border:none;padding:0}pre code{font-size:100%;line-height:inherit}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace)}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;margin-bottom:.5rem;margin-top:0;color:#151e2e}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[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))}.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{margin-bottom:var(--ifm-leading)}.markdown li{word-wrap:break-word}.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 ul,ul ol,ul ul{margin:0}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{display:block;margin-bottom:var(--ifm-spacing-vertical);overflow:auto;border-collapse:collapse}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);text-decoration:none!important;transition-duration:.5s}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);margin:0 0 1rem}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);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}.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}.card,body{word-wrap:break-word}.clean-btn{background:none;color:inherit;cursor:pointer;font-family:inherit}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list,.list-inline,.list-unstyled{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)}.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after,.figure,.list-inline-item,.searchBarContainer_NW3z.searchIndexLoading_EJ1f .searchBarLoadingRing_YnHq,output{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-weight:var(--ifm-font-weight-bold);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}body,caption{text-align:left}.btn,.corner_button{-webkit-user-select:none}.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}.btn-block,.button--block,.form-control-file,.form-control-range{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)}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child),.button-group>.button:not(:first-child),.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child),.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.button-group>.button:not(:last-child),.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after,.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child),.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.subscribe-input input{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);overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child,.welcome_area.h-100vh{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);font-weight:var(--ifm-font-weight-bold);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);vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}.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;pointer-events:none;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,.form-group,address,dl,ol,ul{margin-bottom:1rem}dd,label{margin-bottom:.5rem}.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{max-width:var(--ifm-footer-logo-max-width)}.col,img,legend{max-width:100%}.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)}address,legend{line-height:inherit}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item,.input-group-text input[type=checkbox],.input-group-text input[type=radio],.list-group-horizontal>.list-group-item.active,dl,ol,ul{margin-top:0}.admonitionContent_S0QG>:last-child,.blockquote>:last-child,.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn,.card-subtitle,.card-text:last-child,.collapsibleContent_i85q>:last-child,.footer__items,.form-check-label,.searchResultItem_U687>h2,.section_heading p,.team .team-info ul{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,.title_f1Hy{font-size:3rem}.h3,.hero__subtitle,h3{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,.fa-rotate-90,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after,.rotate-90{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,.scribble svg{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;left:0;top: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)}.input-group-append,.input-group-prepend,.navbar>.container,.navbar>.container-fluid,.process-vertical .process-vertical-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;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}.media-body,.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)}#nprogress,.navbar__item.dropdown .navbar__link:not([href]),a.btn.disabled,a.close.disabled,fieldset:disabled a.btn{pointer-events:none}.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{-webkit-appearance:none;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,[data-aos^=slide][data-aos^=slide].aos-animate{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);font-size:var(--ifm-pagination-font-size)}.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)}.card-link:hover,.nav-link:focus,.nav-link:hover,.navbar-brand:focus,.navbar-brand:hover,.navbar-toggler:focus,.navbar-toggler:hover,.normal-page .normal-desc .link:hover,.pagination__link:hover,.sidebarItemLink_mo7H:hover,.team_page a,.user_page a,a.badge:focus,a.badge:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;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}.btn-link.focus,.btn-link:focus,.btn-link:hover,.content_knG7 a,.hitFooter_E9YW a,.normal-page .normal-desc .link,.suggestion_fB_2.cursor_eG29 mark{text-decoration:underline}.pagination-nav__link--next{grid-column:2/3;text-align:right}.btn,.content_knG7,.hitFooter_E9YW,.pills--block .pills__item,.team,.team .team-info{text-align:center}.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)}.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}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto;padding-left:0}.footer__item .footer-system,.footer__title{margin-bottom:35px;font-size:20px}.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}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#5494ff;--ifm-code-font-size:95%;--ifm-color-primary-dark:#1d68e1;--ifm-color-primary-darker:#1b62d4;--ifm-color-primary-darkest:#1751af;--ifm-color-primary-light:#4e89e8;--ifm-color-primary-lighter:#5a91ea;--ifm-color-primary-lightest:#80aaef;--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-color-secondary:#ebedf0;--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-success:#00a400;--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-info:#54c7ec;--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-warning:#ffba00;--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-danger:#fa383e;--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-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:#606770;--ifm-code-background:var(--ifm-color-emphasis-200);--ifm-code-color:var(--ifm-color-emphasis-900);--ifm-code-padding-horizontal:0.4rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-color-emphasis-100);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-container-width-xl:1200px;--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;--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-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-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}#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}html{font-feature-settings:"tnum";font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-variant:tabular-nums;-webkit-text-size-adjust:100%;font-family:sans-serif;line-height:1.15}.navbar{height:80px}.navbar__title{font-size:18px;font-weight:500}.navbar__link{color:#444950;font-family:Lato,Helvetica Neue,Arial,Helvetica,sans-serif;font-size:15px;font-weight:400;padding:15px}.navbar__link--active{color:var(--ifm-navbar-link-hover-color)!important}.navbar__items{margin-left:20px}.navbar__logo{height:60px}#__docusaurus-base-url-issue-banner-container,.collapse:not(.show),.docSidebarContainer_b6E3,.footer__link-item svg,.hideAction_vcyE>svg,.navbar__link svg,.sidebarLogo_isFc,.themedImage_ToTc,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j,template{display:none}code{border:none;margin:0 1px 0 3px}.codeBlockLines_1zSZ{min-width:unset!important}.copyButton_M3SB{padding:.2rem .4rem!important}.tabs__item{padding:.5rem 1rem}.markdown>p,.markdown>pre,.markdown>ul{font-weight:400;line-height:30px!important}.markdown>h2{border-bottom:1px solid #eaecef;font-size:1.65rem;padding-bottom:.3rem}.tabs{font-weight:500}.footer .container{font-weight:500;padding-bottom:20px!important;padding-top:80px!important}.footer__item:not(:first-child){margin-top:10px}.footer__item .footer-left-box{margin-top:-36px}.footer__item .footer-left-box p{color:#d5d8dd;font-size:16px;line-height:30px}.footer__item .footer-left-box p:hover{color:#fff}.footer__item .footer-system img{width:50px}.footer__item .footer-system .system-title{font-size:20px;font-weight:500}.footer__link-item,.footer__title{padding-left:60px}footer .footer__col:nth-child(2) .footer__item .footer__link-item,footer .footer__col:nth-child(2) .footer__title{padding-left:120px}.footer__title{color:#fff;font-family:Poppins,sans-serif!important;font-weight:500}.footer__link-item{color:#d5d8dd}.fa-inverse,.footer__link-item:hover,.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.footer__col:last-child .footer__title,:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.footerLogoLink_BH7S,footer .footerLogoLink{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.carousel-indicators .active,.footerLogoLink_BH7S:hover,.hash-link:focus,.toast.showing,:hover>.hash-link,footer .footerLogoLink:hover{opacity:1}footer .footer__logo{margin-right:40px;margin-top:0;max-width:inherit;padding:10px;width:380px}.carousel,.collapsing,.dropdown,.dropleft,.dropright,.dropup,.fa-ul>li,.navbar__search,footer .subscribe-box{position:relative}footer .subscribe-box ul{list-style:none;margin:0;padding:0}footer .subscribe-box ul li{color:#fff;display:inline-flex;margin-right:15px;padding-bottom:15px;transition:.3s ease-in-out}footer .subscribe-box ul li a{border:1px solid #8d95a6;border-radius:50%;color:#d5d8dd;font-size:16px;height:40px;line-height:40px;position:relative;text-align:center;transition:.3s ease-in-out;width:40px}footer .subscribe-box ul li a:hover{border-color:#fff;color:#fff}.blockquote-footer,.cursor_eG29 .hideAction_vcyE>svg,article,aside,figcaption,figure,footer,footer .subscribe-box ul li a:hover .wechat-dropdown,header,hgroup,main,nav,section{display:block}.subscribe-submit-inner{-moz-border-radius-topright:.25em;-moz-border-radius-bottomright:.25em;background:#08f;border-bottom-right-radius:.25em;border-top-right-radius:.25em;height:calc(1.5em + .75rem + 2px)}.subscribe-submit-inner:hover{background:#09f}.wechat-dropdown{background-color:#fff;border-radius:10px;box-shadow:0 6px 16px #ffffff1a;display:none;height:8.75rem;padding:.625rem;position:absolute;right:-3rem;top:3.5rem;transition:.25s ease-in-out;width:8.75rem;z-index:2}.wechat-dropdown:before{border:.5rem solid;border-color:#0000 #0000 #fff;content:"";display:block;position:absolute;right:3.625rem;top:-1rem}.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;z-index:calc(var(--ifm-z-index-fixed) + 1)}.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}.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] .themedImage--dark_i4oU,[data-theme=light] .themedImage--light_HNdA{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.searchBar_RVTs .dropdownMenu_qbY6{background:var(--search-local-modal-background,#f5f6f7);border-radius:6px;box-shadow:var(--search-local-modal-shadow,inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64);left:auto!important;margin-top:8px;padding:var(--search-local-spacing,12px);position:relative;right:0!important;width:var(--search-local-modal-width,560px)}html[data-theme=dark] .searchBar_RVTs .dropdownMenu_qbY6{background:var(--search-local-modal-background,var(--ifm-background-color));box-shadow:var(--search-local-modal-shadow,inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309)}.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2{align-items:center;background:var(--search-local-hit-background,#fff);border-radius:4px;box-shadow:var(--search-local-hit-shadow,0 1px 3px 0 #d4d9e1);color:var(--search-local-hit-color,#444950);cursor:pointer;display:flex;flex-direction:row;height:var(--search-local-hit-height,56px);padding:0 var(--search-local-spacing,12px);width:100%}.hitTree_kk6K,.input-group>.custom-file,.noResults_l6Q3{align-items:center;display:flex}html[data-theme=dark] .dropdownMenu_qbY6 .suggestion_fB_2{background:var(--search-local-hit-background,var(--ifm-color-emphasis-100));box-shadow:var(--search-local-hit-shadow,none);color:var(--search-local-hit-color,var(--ifm-font-color-base))}.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2:not(:last-child){margin-bottom:4px}.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2.cursor_eG29{background-color:var(--search-local-highlight-color,var(--ifm-color-primary))}.hitFooter_E9YW a,.hitIcon_a7Zy,.hitPath_ieM4,.hitTree_kk6K,.noResultsIcon_EBY5{color:var(--search-local-muted-color,#969faf)}html[data-theme=dark] .hitIcon_a7Zy,html[data-theme=dark] .hitPath_ieM4,html[data-theme=dark] .hitTree_kk6K,html[data-theme=dark] .noResultsIcon_EBY5{color:var(--search-local-muted-color,var(--ifm-color-secondary-darkest))}.hitTree_kk6K>svg{height:var(--search-local-hit-height,56px);opacity:.5;width:24px}.hitIcon_a7Zy,.hitTree_kk6K>svg{stroke-width:var(--search-local-icon-stroke-width,1.4)}.hitAction_NqkB,.hitIcon_a7Zy{height:20px;width:20px}.hitWrapper_sAK8{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;margin:0 8px;overflow-x:hidden;width:80%}.hitWrapper_sAK8 mark{background:none;color:var(--search-local-highlight-color,var(--ifm-color-primary))}.hitTitle_vyVt{font-size:.9em}.hitPath_ieM4{font-size:.75em}.hitPath_ieM4,.hitTitle_vyVt{overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.noResults_l6Q3{flex-direction:column;justify-content:center;padding:var(--search-local-spacing,12px) 0}.noResultsIcon_EBY5{margin-bottom:var(--search-local-spacing,12px)}.hitFooter_E9YW{font-size:.85em;margin-top:var(--search-local-spacing,12px)}.suggestion_fB_2.cursor_eG29,.suggestion_fB_2.cursor_eG29 .hitIcon_a7Zy,.suggestion_fB_2.cursor_eG29 .hitPath_ieM4,.suggestion_fB_2.cursor_eG29 .hitTree_kk6K,.suggestion_fB_2.cursor_eG29 mark{color:var(--search-local-hit-active-color,var(--ifm-color-white))!important}.searchBarContainer_NW3z{margin-left:16px}.searchBarContainer_NW3z .searchBarLoadingRing_YnHq{display:none;left:10px;position:absolute;top:6px}.searchBarContainer_NW3z .searchClearButton_qk4g{background:none;border:none;line-height:1rem;padding:0;position:absolute;right:.8rem;top:50%;transform:translateY(-50%)}.searchIndexLoading_EJ1f .navbar__search-input{background-image:none}.searchHintContainer_Pkmr{align-items:center;display:flex;gap:4px;height:100%;justify-content:center;pointer-events:none;position:absolute;right:10px;top:0}.searchHint_iIMx{background-color:var(--ifm-navbar-search-input-background-color);border:1px solid var(--ifm-color-emphasis-500);box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-500);color:var(--ifm-navbar-search-input-placeholder-color)}.loadingRing_RJI3{display:inline-block;height:20px;opacity:var(--search-local-loading-icon-opacity,.5);position:relative;width:20px}.loadingRing_RJI3 div{animation:1.2s cubic-bezier(.5,0,.5,1) infinite wa;border:2px solid var(--search-load-loading-icon-color,var(--ifm-navbar-search-input-color));border-color:var(--search-load-loading-icon-color,var(--ifm-navbar-search-input-color)) #0000 #0000 #0000;border-radius:50%;display:block;height:16px;margin:2px;position:absolute;width:16px}.loadingRing_RJI3 div:first-child{animation-delay:-.45s}.loadingRing_RJI3 div:nth-child(2){animation-delay:-.3s}.loadingRing_RJI3 div:nth-child(3){animation-delay:-.15s}.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}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}legend,pre{display:block}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_re4s{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.sidebarItemTitle_pO2u{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.container_mt6G,.sidebarItemList_Yudw{font-size:.9rem}.sidebarItem__DBe{margin-top:.7rem}.sidebarItemLink_mo7H{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_I1ZP{color:var(--ifm-color-primary)!important}.team_page,.user_page{margin-top:50px!important}.team_page .team_title{color:#0f1222;font-size:25px;font-weight:500;margin-top:50px}.team_page .team_desc{margin-bottom:40px}.team_page .team_indent{line-height:40px}.team_page .desc{color:#4a4a4a;font-size:1rem;margin-left:1.2rem}.team_page .character_list{grid-column-gap:15px;grid-row-gap:15px;display:grid;grid-template-columns:repeat(6,1fr);padding:20px 0 0}.team_page .character_list .character_item{background-color:#cddeea33;border:1px solid #cdddfacc;border-radius:2px;box-shadow:0 3px 5px #2f55d414;margin:40px 0 42px;min-width:0;padding:0 10px 5px}.team_page .character_list .character_item .character_avatar{background:#d8d8d8;border:5px solid #ffffff14;border-radius:50%;display:inline-block;height:120px;margin:-4rem auto -.5rem;width:120px}.team_page .character_list .character_item .character_name{color:#0f1222;font-size:15px;margin-top:20px}.team_page .character_list .character_item .character_id,.team_page .character_list .character_item .character_name{background-color:#fff;border:1px solid #cdddfa99;border-radius:18px;box-shadow:0 3px 5px #2f55d40d;font-weight:400;line-height:36px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team_page .character_list .character_item .character_id{color:#333;font-size:12px}.team_page .character_list .character_item .character_id .githubId{color:#666;margin-right:2px}.team_page .character_list .character_item .character_link{color:#0f1222a6;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team_user{width:20%!important}.team{background:#fff;padding:10px 0;position:relative}.hover-box-up:hover,.team:hover{transform:translateY(-10px)}.team .team-img img{border:2px solid #f5f5ff;border-radius:50%;display:inline-block;height:100px;width:100px}.team .team-info{margin-top:20px}.team .team-info ul li{display:inline-block;margin:0 10px}.team .team-info .team-name{display:inline-block;font-size:17px;font-weight:600;margin-bottom:10px}.team .team-info .team-leader{font-size:12px;font-weight:300;margin-bottom:7px}.team .team-info .team-leader .github-icon{height:20px;margin-right:5px;width:20px}.hover-box-down,.hover-box-up,.team.team-hover{transition:.3s ease-in-out}.team.team-hover:hover{background-color:#fff;box-shadow:0 1rem 2rem #0000000d}.bg-gray{background-color:#f5f9ff}.searchQueryInput_CFBF{background:var(--ifm-background-color);border:var(--ifm-global-border-width) solid var(--ifm-color-content-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-font-color-base);font-size:var(--ifm-font-size-base);margin-bottom:1rem;padding:.5rem;width:100%}.searchResultItem_U687{border-bottom:1px solid #dfe3e8;padding:1rem 0}.searchResultItemPath_uIbk{color:var(--ifm-color-content-secondary);font-size:.8rem;margin:.5rem 0 0}.searchResultItemSummary_oZHr{font-style:italic;margin:.5rem 0 0}.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}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.docMainContainer_gTbr,.docPage__5DB{display:flex;width:100%}.docPage__5DB{flex:1 0}.docsWrapper_BCFX{display:flex;flex:1 0 auto}.animated{animation-duration:1s;animation-fill-mode:both}.animated.hinge{animation-duration:2s}@keyframes a{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}.bounce{animation-name:a}@keyframes b{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{animation-name:b}@keyframes c{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.pulse{animation-name:c}@keyframes d{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.shake{animation-name:d}@keyframes e{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}to{transform:rotate(0)}}.swing{animation-name:e;transform-origin:top center}.tada{animation-name:sa}@keyframes f{0%,to{transform:translateX(0)}15%{transform:translateX(-25%) rotate(-5deg)}30%{transform:translateX(20%) rotate(3deg)}45%{transform:translateX(-15%) rotate(-3deg)}60%{transform:translateX(10%) rotate(2deg)}75%{transform:translateX(-5%) rotate(-1deg)}}.wobble{animation-name:f}@keyframes g{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}.bounceIn{animation-name:g}@keyframes h{0%{opacity:0;transform:translateY(-2000px)}60%{opacity:1;transform:translateY(30px)}80%{transform:translateY(-10px)}to{transform:translateY(0)}}.bounceInDown{animation-name:h}@keyframes i{0%{opacity:0;transform:translateX(-2000px)}60%{opacity:1;transform:translateX(30px)}80%{transform:translateX(-10px)}to{transform:translateX(0)}}.bounceInLeft{animation-name:i}@keyframes j{0%{opacity:0;transform:translateX(2000px)}60%{opacity:1;transform:translateX(-30px)}80%{transform:translateX(10px)}to{transform:translateX(0)}}.bounceInRight{animation-name:j}@keyframes k{0%{opacity:0;transform:translateY(2000px)}60%{opacity:1;transform:translateY(-30px)}80%{transform:translateY(10px)}to{transform:translateY(0)}}.bounceInUp{animation-name:k}@keyframes l{0%{transform:scale(1)}25%{transform:scale(.95)}50%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(.3)}}.bounceOut{animation-name:l}@keyframes m{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(-20px)}to{opacity:0;transform:translateY(2000px)}}.bounceOutDown{animation-name:m}@keyframes n{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(20px)}to{opacity:0;transform:translateX(-2000px)}}.bounceOutLeft{animation-name:n}@keyframes o{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(-20px)}to{opacity:0;transform:translateX(2000px)}}.bounceOutRight{animation-name:o}@keyframes p{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(20px)}to{opacity:0;transform:translateY(-2000px)}}.bounceOutUp{animation-name:p}@keyframes q{0%{opacity:0}to{opacity:1}}.fadeIn{animation-name:q}@keyframes r{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.fadeInDown{animation-name:r}@keyframes s{0%{opacity:0;transform:translateY(-2000px)}to{opacity:1;transform:translateY(0)}}.fadeInDownBig{animation-name:s}@keyframes t{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.fadeInLeft{animation-name:t}@keyframes u{0%{opacity:0;transform:translateX(-2000px)}to{opacity:1;transform:translateX(0)}}.fadeInLeftBig{animation-name:u}@keyframes v{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.fadeInRight{animation-name:v}@keyframes w{0%{opacity:0;transform:translateX(2000px)}to{opacity:1;transform:translateX(0)}}.fadeInRightBig{animation-name:w}@keyframes x{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fadeInUp{animation-name:x}@keyframes y{0%{opacity:0;transform:translateY(2000px)}to{opacity:1;transform:translateY(0)}}.fadeInUpBig{animation-name:y}@keyframes z{0%{opacity:1}to{opacity:0}}.fadeOut{animation-name:z}@keyframes A{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}.fadeOutDown{animation-name:A}@keyframes B{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(2000px)}}.fadeOutDownBig{animation-name:B}@keyframes C{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-20px)}}.fadeOutLeft{animation-name:C}@keyframes D{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-2000px)}}.fadeOutLeftBig{animation-name:D}@keyframes E{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(20px)}}.fadeOutRight{animation-name:E}@keyframes F{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(2000px)}}.fadeOutRightBig{animation-name:F}@keyframes G{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.fadeOutUp{animation-name:G}@keyframes H{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-2000px)}}.fadeOutUpBig{animation-name:H}@keyframes I{0%{animation-timing-function:ease-out;transform:perspective(400px) translateZ(0) rotateY(0) scale(1)}40%{animation-timing-function:ease-out;transform:perspective(400px) translateZ(150px) rotateY(170deg) scale(1)}50%{animation-timing-function:ease-in;transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1)}80%{animation-timing-function:ease-in;transform:perspective(400px) translateZ(0) rotateY(1turn) scale(.95)}to{animation-timing-function:ease-in;transform:perspective(400px) translateZ(0) rotateY(1turn) scale(1)}}.animated.flip{animation-name:I;backface-visibility:visible}@keyframes J{0%{opacity:0;transform:perspective(400px) rotateX(90deg)}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}to{opacity:1;transform:perspective(400px) rotateX(0)}}.flipInX{animation-name:J}@keyframes K{0%{opacity:0;transform:perspective(400px) rotateY(90deg)}40%{transform:perspective(400px) rotateY(-10deg)}70%{transform:perspective(400px) rotateY(10deg)}to{opacity:1;transform:perspective(400px) rotateY(0)}}.flipInY{animation-name:K}@keyframes L{0%{opacity:1;transform:perspective(400px) rotateX(0)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.flipOutX{animation-name:L}@keyframes M{0%{opacity:1;transform:perspective(400px) rotateY(0)}to{opacity:0;transform:perspective(400px) rotateY(90deg)}}.flipOutY{animation-name:M}@keyframes N{0%{opacity:0;transform:translateX(100%) skewX(-30deg)}60%{opacity:1;transform:translateX(-20%) skewX(30deg)}80%{opacity:1;transform:translateX(0) skewX(-15deg)}to{opacity:1;transform:translateX(0) skewX(0)}}.lightSpeedIn{animation-name:N;animation-timing-function:ease-out}@keyframes O{0%{opacity:1;transform:translateX(0) skewX(0)}to{opacity:0;transform:translateX(100%) skewX(-30deg)}}.lightSpeedOut{animation-name:O;animation-timing-function:ease-in}@keyframes P{0%{opacity:0;transform:rotate(-200deg);transform-origin:center center}to{opacity:1;transform:rotate(0);transform-origin:center center}}.rotateIn{animation-name:P}@keyframes Q{0%{opacity:0;transform:rotate(-90deg);transform-origin:left bottom}to{opacity:1;transform:rotate(0);transform-origin:left bottom}}.rotateInDownLeft{animation-name:Q}@keyframes R{0%{opacity:0;transform:rotate(90deg);transform-origin:right bottom}to{opacity:1;transform:rotate(0);transform-origin:right bottom}}.rotateInDownRight{animation-name:R}@keyframes S{0%{opacity:0;transform:rotate(90deg);transform-origin:left bottom}to{opacity:1;transform:rotate(0);transform-origin:left bottom}}.rotateInUpLeft{animation-name:S}@keyframes T{0%{opacity:0;transform:rotate(-90deg);transform-origin:right bottom}to{opacity:1;transform:rotate(0);transform-origin:right bottom}}.rotateInUpRight{animation-name:T}@keyframes U{0%{opacity:1;transform:rotate(0);transform-origin:center center}to{opacity:0;transform:rotate(200deg);transform-origin:center center}}.rotateOut{animation-name:U}@keyframes V{0%{opacity:1;transform:rotate(0);transform-origin:left bottom}to{opacity:0;transform:rotate(90deg);transform-origin:left bottom}}.rotateOutDownLeft{animation-name:V}@keyframes W{0%{opacity:1;transform:rotate(0);transform-origin:right bottom}to{opacity:0;transform:rotate(-90deg);transform-origin:right bottom}}.rotateOutDownRight{animation-name:W}@keyframes X{0%{opacity:1;transform:rotate(0);transform-origin:left bottom}to{opacity:0;transform:rotate(-90deg);transform-origin:left bottom}}.rotateOutUpLeft{animation-name:X}@keyframes Y{0%{opacity:1;transform:rotate(0);transform-origin:right bottom}to{opacity:0;transform:rotate(90deg);transform-origin:right bottom}}.rotateOutUpRight{animation-name:Y}@keyframes Z{0%{opacity:0;transform:translateY(-2000px)}to{transform:translateY(0)}}.slideInDown{animation-name:Z}@keyframes aa{0%{opacity:0;transform:translateX(-2000px)}to{transform:translateX(0)}}.slideInLeft{animation-name:aa}@keyframes ba{0%{opacity:0;transform:translateX(2000px)}to{transform:translateX(0)}}.slideInRight{animation-name:ba}@keyframes ca{0%{transform:translateX(0)}to{opacity:0;transform:translateX(-2000px)}}.slideOutLeft{animation-name:ca}@keyframes da{0%{transform:translateX(0)}to{opacity:0;transform:translateX(2000px)}}.slideOutRight{animation-name:da}@keyframes ea{0%{transform:translateY(0)}to{opacity:0;transform:translateY(-2000px)}}.slideOutUp{animation-name:ea}@keyframes fa{0%{animation-timing-function:ease-in-out;transform:rotate(0);transform-origin:top left}20%,60%{animation-timing-function:ease-in-out;transform:rotate(80deg);transform-origin:top left}40%{animation-timing-function:ease-in-out;transform:rotate(60deg);transform-origin:top left}80%{animation-timing-function:ease-in-out;opacity:1;transform:rotate(60deg) translateY(0);transform-origin:top left}to{opacity:0;transform:translateY(700px)}}.hinge{animation-name:fa}@keyframes ga{0%{opacity:0;transform:translateX(-100%) rotate(-120deg)}to{opacity:1;transform:translateX(0) rotate(0)}}.rollIn{animation-name:ga}@keyframes ha{0%{opacity:1;transform:translateX(0) rotate(0)}to{opacity:0;transform:translateX(100%) rotate(120deg)}}.rollOut{animation-name:ha}body{font-family:-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-weight:400;margin:0}.alert-link,dt,kbd kbd{font-weight:700}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative}.btn,img{vertical-align:middle}sub{bottom:-.25em}sup{top:-.5em}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}figure{margin:0 0 1rem}img{border-style:none;height:auto}.accordion>.card,.modal-open,.welcome_slider,svg{overflow:hidden}button,hr,input{overflow:visible}caption{caption-side:bottom;color:#6c757d;padding-bottom:.75rem;padding-top:.75rem}th{text-align:inherit}label{display:inline-block}.list-group-flush,button{border-radius:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}.admonitionHeading_tbUL code,button,select{text-transform:none}.btn:not(:disabled):not(.disabled),.cursor-pointer,[role=button],[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;font-size:1.5rem;margin-bottom:.5rem;padding:0;white-space:normal;width:100%}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{cursor:pointer;display:list-item}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.2;margin-bottom:.5rem}.table,hr{margin-bottom:1rem}.coverpage .h2,.coverpage h2,.h1,.process-vertical .process-vertical-item .process-vertical-icon .process-vertical-icon-bg i,h1{font-size:2rem}.h2,h2{font-size:1.75rem}.h4,h4{font-size:1.25rem}.h5,h5{font-size:1rem}.h6,h6{font-size:.95rem}.lead{font-size:1.25rem;font-weight:300}.btn,.btn-link,.dropdown-item,.form-control,.small,small{font-weight:400}.display-1{font-size:6rem}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-4{font-size:3.5rem}hr{box-sizing:initial;height:0;border:0;border-top:1px solid #0000001a;margin-top:1rem}.small,small{font-size:80%}kbd,pre{font-size:87.5%}.mark,mark{background-color:#fcf8e3;padding:.2em}.blockquote-footer:before{content:"\2014\00A0"}kbd{background-color:#212529;border-radius:.2rem;color:#fff;padding:.2rem .4rem}.table,pre{color:#212529}kbd kbd{font-size:100%;padding:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{padding-left:15px;padding-right:15px}.row{display:-ms-flexbox;display:-webkit-box;-ms-flex-wrap:wrap;margin-left:-15px;margin-right:-15px}.card>hr,.no-gutters{margin-left:0;margin-right:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.navbar-nav .nav-link,.no-gutters>.col,.no-gutters>[class*=col-]{padding-left:0;padding-right:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-left:15px;padding-right:15px;position:relative;width:100%}.col{-ms-flex-preferred-size:0;-ms-flex-positive:1;-webkit-box-flex:1;flex-basis:0;flex-grow:1}.col-12,.row-cols-1>*{flex:0 0 100%;max-width:100%}.col-6,.row-cols-2>*{flex:0 0 50%;max-width:50%}.col-4,.row-cols-3>*{flex:0 0 33.333333%;max-width:33.333333%}.col-3,.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.col-2,.row-cols-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;max-width:100%}.col-1,.col-10,.col-11,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto{-webkit-box-flex:0}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.table{width:100%}.table td,.table th{border-top:1px solid #dee2e6;padding:.75rem;vertical-align:top}.table thead th{border-bottom:2px solid #dee2e6;vertical-align:bottom}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th,.table-dark.table-bordered,.table-responsive>.table-bordered{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:#0000000d}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075);color:#212529}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table .thead-dark th,.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.badge-dark,.table .thead-dark th,.table-dark{background-color:#343a40;color:#fff}.table .thead-light th{background-color:#e9ecef;border-color:#dee2e6;color:#495057}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:#ffffff0d}.table-dark.table-hover tbody tr:hover{background-color:hsla(0,0%,100%,.075);color:#fff}.table-responsive{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.form-control{background-clip:padding-box;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;color:#495057;display:block;font-size:1rem;height:calc(1.5em + .75rem + 2px);line-height:1.5;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.form-control::-ms-expand{background-color:initial;border:0}.form-control:-moz-focusring{color:#0000;text-shadow:0 0 0 #495057}.form-control:focus{background-color:#fff;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;color:#495057;outline:0}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;appearance:none}.custom-range,.custom-select{-webkit-appearance:none;width:100%}select.form-control:focus::-ms-value{background-color:#fff;color:#495057}.col-form-label{font-size:inherit;line-height:1.5;margin-bottom:0;padding-bottom:calc(.375rem + 1px);padding-top:calc(.375rem + 1px)}.col-form-label-lg{font-size:1.25rem;line-height:1.5;padding-bottom:calc(.5rem + 1px);padding-top:calc(.5rem + 1px)}.col-form-label-sm{font-size:.875rem;line-height:1.5;padding-bottom:calc(.25rem + 1px);padding-top:calc(.25rem + 1px)}.form-control-plaintext{background-color:initial;border:solid #0000;border-width:1px 0;color:#212529;display:block;font-size:1rem;line-height:1.5;margin-bottom:0;padding:.375rem 0;width:100%}.form-control-sm{border-radius:.2rem;font-size:.875rem;height:calc(1.5em + .5rem + 2px);line-height:1.5;padding:.25rem .5rem}.form-control-lg{border-radius:.3rem;font-size:1.25rem;height:calc(1.5em + 1rem + 2px);line-height:1.5;padding:.5rem 1rem}.img_ev3q,select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-left:-5px;margin-right:-5px}.form-row>.col,.form-row>[class*=col-]{padding-left:5px;padding-right:5px}.form-check{display:block;padding-left:1.25rem;position:relative}.form-check-input{margin-left:-1.25rem;margin-top:.3rem;position:absolute}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label,.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-inline{align-items:center;display:inline-flex;margin-right:.75rem;padding-left:0}.invalid-tooltip,.valid-tooltip{border-radius:.25rem;display:none;max-width:100%;padding:.25rem .5rem;z-index:5;line-height:1.5;top:100%;left:0;position:absolute}.form-check-inline .form-check-input{margin-left:0;margin-right:.3125rem;margin-top:0;position:static}.valid-feedback{color:#28a745;display:none;font-size:80%;margin-top:.25rem;width:100%}.valid-tooltip{background-color:#28a745e6;color:#fff;font-size:.875rem;margin-top:.1rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:#28a745;padding-right:calc(1.5em + .75rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem #28a74540}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.custom-select.is-valid,.was-validated .custom-select:valid{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff;border-color:#28a745;padding-right:calc(.75em + 2.3125rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem #28a74540}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{background-color:#34ce57;border-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #28a74540}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem #28a74540}.invalid-feedback{color:#dc3545;display:none;font-size:80%;margin-top:.25rem;width:100%}.invalid-tooltip{background-color:#dc3545e6;color:#fff;font-size:.875rem;margin-top:.1rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:#dc3545;padding-right:calc(1.5em + .75rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff;border-color:#dc3545;padding-right:calc(.75em + 2.3125rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{background-color:#e4606d;border-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #dc354540}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.form-inline{align-items:center;display:flex;flex-flow:row wrap}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.form-inline .form-check,.home_barisal img,input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.btn{background-color:initial;border:1px solid #0000;border-radius:.25rem;color:#212529;display:inline-block;font-size:1rem;line-height:1.5;padding:.375rem .75rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;user-select:none}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{box-shadow:0 0 0 .2rem #007bff40;outline:0}.btn.disabled,.btn:disabled{opacity:.65}.btn-outline-primary:hover,.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-primary,.btn-primary.disabled,.btn-primary:disabled,.custom-control-input:checked~.custom-control-label:before,.show>.btn-outline-primary.dropdown-toggle{background-color:#007bff;border-color:#007bff;color:#fff}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{background-color:#0069d9;border-color:#0062cc;color:#fff}.btn-primary.focus,.btn-primary:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #268fff80}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{background-color:#0062cc;border-color:#005cbf;color:#fff}.btn-outline-secondary:hover,.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-secondary,.btn-secondary.disabled,.btn-secondary:disabled,.show>.btn-outline-secondary.dropdown-toggle{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{background-color:#5a6268;border-color:#545b62;color:#fff}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #828a9180}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{background-color:#545b62;border-color:#4e555b;color:#fff}.btn-outline-success:hover,.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.btn-success,.btn-success.disabled,.btn-success:disabled,.show>.btn-outline-success.dropdown-toggle{background-color:#28a745;border-color:#28a745;color:#fff}.btn-success.focus,.btn-success:focus,.btn-success:hover{background-color:#218838;border-color:#1e7e34;color:#fff}.btn-success.focus,.btn-success:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #48b46180}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{background-color:#1e7e34;border-color:#1c7430;color:#fff}.btn-info,.btn-info.disabled,.btn-info:disabled,.btn-outline-info:hover,.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-info.focus,.btn-info:focus,.btn-info:hover{background-color:#138496;border-color:#117a8b;color:#fff}.btn-info.focus,.btn-info:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #3ab0c380}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{background-color:#117a8b;border-color:#10707f;color:#fff}.btn-outline-warning:hover,.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-warning,.btn-warning.disabled,.btn-warning:disabled,.show>.btn-outline-warning.dropdown-toggle{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{background-color:#e0a800;border-color:#d39e00;color:#212529}.btn-warning.focus,.btn-warning:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #deaa0c80}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{background-color:#d39e00;border-color:#c69500;color:#212529}.btn-danger,.btn-danger.disabled,.btn-danger:disabled,.btn-outline-danger:hover,.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{background-color:#c82333;border-color:#bd2130;color:#fff}.btn-danger.focus,.btn-danger:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #e1536180}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{background-color:#bd2130;border-color:#b21f2d;color:#fff}.btn-light,.btn-light.disabled,.btn-light:disabled,.btn-outline-light:hover,.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-light.focus,.btn-light:focus,.btn-light:hover{background-color:#e2e6ea;border-color:#dae0e5;color:#212529}.btn-light.focus,.btn-light:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #d8d9db80}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{background-color:#dae0e5;border-color:#d3d9df;color:#212529}.btn-dark,.btn-dark.disabled,.btn-dark:disabled,.btn-outline-dark:hover,.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{background-color:#343a40;border-color:#343a40;color:#fff}.btn-dark.focus,.btn-dark:focus,.btn-dark:hover{background-color:#23272b;border-color:#1d2124;color:#fff}.btn-dark.focus,.btn-dark:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #52585d80}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{background-color:#1d2124;border-color:#171a1d;color:#fff}.btn-outline-primary{border-color:#007bff;color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #007bff80}.btn-outline-primary.disabled,.btn-outline-primary:disabled{background-color:initial;color:#007bff}.btn-outline-secondary{border-color:#6c757d;color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #6c757d80}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{background-color:initial;color:#6c757d}.btn-outline-success{border-color:#28a745;color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #28a74580}.btn-outline-success.disabled,.btn-outline-success:disabled{background-color:initial;color:#28a745}.btn-outline-info{border-color:#17a2b8;color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #17a2b880}.btn-outline-info.disabled,.btn-outline-info:disabled{background-color:initial;color:#17a2b8}.btn-outline-warning{border-color:#ffc107;color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #ffc10780}.btn-outline-warning.disabled,.btn-outline-warning:disabled{background-color:initial;color:#ffc107}.btn-outline-danger{border-color:#dc3545;color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #dc354580}.btn-outline-danger.disabled,.btn-outline-danger:disabled{background-color:initial;color:#dc3545}.btn-outline-light{border-color:#f8f9fa;color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #f8f9fa80}.btn-outline-light.disabled,.btn-outline-light:disabled{background-color:initial;color:#f8f9fa}.btn-outline-dark{border-color:#343a40;color:#343a40}.dropdown-toggle:after,.dropup .dropdown-toggle:after{border-left:.3em solid #0000;border-right:.3em solid #0000;vertical-align:.255em;display:inline-block}.btn-outline-dark.focus,.btn-outline-dark:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #343a4080}.btn-outline-dark.disabled,.btn-outline-dark:disabled{background-color:initial;color:#343a40}.btn-link{color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg,.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{border-radius:.3rem;font-size:1.25rem;line-height:1.5;padding:.5rem 1rem}.btn-group-sm>.btn,.btn-sm,.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{border-radius:.2rem;font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom,.btn-block+.btn-block{margin-top:.5rem}.fade{transition:opacity .15s linear}.fade:not(.show),.modal-backdrop.fade{opacity:0}.collapsing{height:0;overflow:hidden;transition:height .35s}.dropdown-toggle,.sr-only{white-space:nowrap}.dropdown-toggle:after{border-bottom:0;border-top:.3em solid;content:"";margin-left:.255em}.dropdown-toggle-split:after,.dropdown-toggle:empty:after,.dropleft .dropdown-toggle:empty:after,.dropright .dropdown-toggle-split:after,.dropright .dropdown-toggle:empty:after,.dropup .dropdown-toggle-split:after,.dropup .dropdown-toggle:empty:after,.ml-0{margin-left:0}.dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid #00000026;border-radius:.25rem;color:#212529;display:none;float:left;font-size:1rem;left:0;list-style:none;margin:.125rem 0 0;min-width:10rem;padding:.5rem 0;position:absolute;text-align:left;top:100%;z-index:1000}.dropdown-menu-left{left:0;right:auto}.dropdown-menu-right{left:auto;right:0}.dropup .dropdown-menu{bottom:100%;margin-bottom:.125rem;margin-top:0;top:auto}.dropup .dropdown-toggle:after{border-bottom:.3em solid;border-top:0;content:"";margin-left:.255em}.dropleft .dropdown-toggle:before,.dropright .dropdown-toggle:after{border-bottom:.3em solid #0000;border-top:.3em solid #0000;content:""}.dropright .dropdown-menu{left:100%;margin-left:.125rem;margin-top:0;right:auto;top:0}.dropright .dropdown-toggle:after{border-left:.3em solid;border-right:0;display:inline-block;margin-left:.255em;vertical-align:0}.dropleft .dropdown-menu{left:auto;margin-right:.125rem;margin-top:0;right:100%;top:0}.dropleft .dropdown-toggle:after{content:"";display:none;margin-left:.255em;vertical-align:.255em}.dropleft .dropdown-toggle:before{border-right:.3em solid;display:inline-block;margin-right:.255em;vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{bottom:auto;right:auto}.dropdown-divider{border-top:1px solid #e9ecef;height:0;margin:.5rem 0;overflow:hidden}.dropdown-item{background-color:initial;border:0;clear:both;color:#212529;display:block;padding:.25rem 1.5rem;text-align:inherit;white-space:nowrap;width:100%}.custom-control-input:disabled~.custom-control-label:before,.custom-control-input[disabled]~.custom-control-label:before,.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label,.input-group-text{background-color:#e9ecef}.dropdown-item:focus,.dropdown-item:hover{background-color:#f8f9fa;color:#16181b;text-decoration:none}.dropdown-item.active,.dropdown-item:active{background-color:#007bff;color:#fff;text-decoration:none}.dropdown-item.disabled,.dropdown-item:disabled{background-color:initial;color:#6c757d;pointer-events:none}.carousel-item-next,.carousel-item-prev,.carousel-item.active,.display_block,.dropdown-menu.show,.tab-content>.active,.tocCollapsibleContent_vkbj a{display:block}.dropdown-header{color:#6c757d;display:block;font-size:.875rem;margin-bottom:0;padding:.5rem 1.5rem;white-space:nowrap}.dropdown-item-text{color:#212529;display:block;padding:.25rem 1.5rem}.btn-group,.btn-group-vertical{display:inline-flex;position:relative;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{flex:1 1 auto;position:relative}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover,.footer,.z-index-1{z-index:1}.btn-toolbar{-ms-flex-pack:start;-webkit-box-pack:start;display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child),.input-group-append,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text,.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.dropdown-toggle-split{padding-left:.5625rem;padding-right:.5625rem}.corner_button:last-child,.dropleft .dropdown-toggle-split:before,.mr-0{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.btn-group-vertical{-ms-flex-align:start;-webkit-box-align:start;-ms-flex-pack:center;-webkit-box-pack:center;align-items:flex-start;flex-direction:column;justify-content:center}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.accordion>.card:not(:first-of-type),.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child),.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.custom-select,.input-group-text{border:1px solid #ced4da;font-size:1rem;color:#495057;font-weight:400;line-height:1.5}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{clip:rect(0,0,0,0);pointer-events:none;position:absolute}.input-group{align-items:stretch;display:flex;flex-wrap:wrap;position:relative;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{flex:1 1 auto;margin-bottom:0;min-width:0;position:relative;width:1%}.input-group-append .btn:focus,.input-group-prepend .btn:focus,.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus,.z-index-3,.ztop{z-index:3}.input-group>.custom-file .custom-file-input:focus,.z-index-4{z-index:4}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-prepend{margin-right:-1px}.input-group-text{align-items:center;border-radius:.25rem;display:flex;margin-bottom:0;padding:.375rem .75rem;text-align:center;white-space:nowrap}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.custom-control{display:block;min-height:1.5rem;padding-left:1.5rem;position:relative;z-index:1}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{height:1.25rem;left:0;opacity:0;position:absolute;width:1rem;z-index:-1}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #007bff40}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label:before{background-color:#b3d7ff;border-color:#b3d7ff;color:#fff}.custom-control-label{margin-bottom:0;position:relative;vertical-align:top}.custom-control-label:before{background-color:#fff;border:1px solid #adb5bd;pointer-events:none}.custom-file-input:focus~.custom-file-label,.custom-select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.custom-control-label:after,.custom-control-label:before{content:"";display:block;height:1rem;left:-1.5rem;position:absolute;top:.25rem;width:1rem}.custom-control-label:after{background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label:before,.nav-pills .nav-link{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%23fff' d='m6.564.75-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{background-color:#007bff;border-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before,.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:#007bff80}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before,.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:#007bff80}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{border-radius:.5rem;left:-2.25rem;pointer-events:all;width:1.75rem}.custom-switch .custom-control-label:after{background-color:#adb5bd;border-radius:.5rem;height:calc(1rem - 4px);left:calc(-2.25rem + 2px);top:calc(.25rem + 2px);transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:calc(1rem - 4px)}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;transform:translateX(.75rem)}.custom-select{appearance:none;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat #fff;border-radius:.25rem;display:inline-block;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;vertical-align:middle}.custom-select:focus{outline:0}.custom-select:focus::-ms-value{background-color:#fff;color:#495057}.custom-select[multiple],.custom-select[size]:not([size="1"]){background-image:none;height:auto;padding-right:.75rem}.custom-select:disabled{background-color:#e9ecef;color:#6c757d}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:#0000;text-shadow:0 0 0 #495057}.custom-select-sm{font-size:.875rem;height:calc(1.5em + .5rem + 2px);padding-bottom:.25rem;padding-left:.5rem;padding-top:.25rem}.custom-select-lg{font-size:1.25rem;height:calc(1.5em + 1rem + 2px);padding-bottom:.5rem;padding-left:1rem;padding-top:.5rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{height:calc(1.5em + .75rem + 2px);position:relative;width:100%}.custom-file-input{margin:0;opacity:0;z-index:2}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;font-weight:400;height:calc(1.5em + .75rem + 2px);left:0;z-index:1}.badge,.close{font-weight:700}.custom-file-label,.custom-file-label:after{color:#495057;line-height:1.5;padding:.375rem .75rem;position:absolute;right:0;top:0}.custom-file-label:after{background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0;bottom:0;content:"Browse";display:block;height:calc(1.5em + .75rem);z-index:3}.custom-range{appearance:none;background-color:initial;height:1.4rem;padding:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #007bff40}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #007bff40}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #007bff40}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#007bff;border:0;border-radius:1rem;height:1rem;margin-top:-.25rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{background-color:#dee2e6;border-color:#0000;border-radius:1rem;color:#0000;cursor:pointer;height:.5rem;width:100%}.custom-range::-moz-range-thumb{appearance:none;background-color:#007bff;border:0;border-radius:1rem;height:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{background-color:#dee2e6;border-color:#0000;border-radius:1rem;color:#0000;cursor:pointer;height:.5rem;width:100%}.custom-range::-ms-thumb{appearance:none;background-color:#007bff;border:0;border-radius:1rem;height:1rem;margin-left:.2rem;margin-right:.2rem;margin-top:0;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{background-color:initial;border-color:#0000;border-width:.5rem;color:#0000;cursor:pointer;height:.5rem;width:100%}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.nav{display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.nav-link,.navbar{padding:.5rem 1rem}.nav-link{display:block}.nav-link.disabled{color:#6c757d;cursor:default;pointer-events:none}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid #0000;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{background-color:initial;border-color:#0000;color:#6c757d}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{background-color:#fff;border-color:#dee2e6 #dee2e6 #fff;color:#495057}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.badge-primary,.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background-color:#007bff;color:#fff}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;-ms-flex-positive:1;-webkit-box-flex:1;flex-basis:0;flex-grow:1;text-align:center}.badge:empty,.display_none,.hover-none .d-hover-block,.navbar-expand .navbar-toggler,.popover-header:empty,.tab-content>.tab-pane,.toast.hide{display:none}.navbar{position:sticky;top:0}.navbar,.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{-ms-flex-align:center;-webkit-box-align:center;-ms-flex-pack:justify;-webkit-box-pack:justify;align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between}.navbar-brand{display:inline-block;font-size:1.25rem;line-height:inherit;margin-right:1rem;padding-bottom:.3125rem;padding-top:.3125rem;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;list-style:none;margin-bottom:0;padding-left:0}.navbar-nav .dropdown-menu{float:none;position:static}.navbar-text{display:inline-block;padding-bottom:.5rem;padding-top:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;-ms-flex-positive:1;-webkit-box-flex:1;align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{background-color:initial;border:1px solid #0000;border-radius:.25rem;font-size:1.25rem;line-height:1;padding:.25rem .75rem}.navbar-toggler-icon{background:50%/100% 100% no-repeat;content:"";display:inline-block;height:1.5em;vertical-align:middle;width:1.5em}.navbar-expand{-ms-flex-pack:start;-webkit-box-pack:start;flex-flow:row nowrap;justify-content:flex-start}.list-group-horizontal,.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu,.scribble:not(.position-relative){position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-left:0;padding-right:0;flex-wrap:nowrap}.navbar-expand .navbar-collapse{-ms-flex-preferred-size:auto;display:flex!important;flex-basis:auto}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:#000000e6}.navbar-light .navbar-nav .nav-link,.navbar-light .navbar-text{color:#00000080}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:#000000b3}.navbar-light .navbar-nav .nav-link.disabled{color:#0000004d}.navbar-light .navbar-toggler{border-color:#0000001a;color:#00000080}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-nav .nav-link,.navbar-dark .navbar-text{color:#ffffff80}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:#ffffffbf}.navbar-dark .navbar-nav .nav-link.disabled{color:#ffffff40}.navbar-dark .navbar-toggler{border-color:#ffffff1a;color:#ffffff80}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.card{background-clip:initial;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem;display:flex;flex-direction:column;min-width:0;position:relative}.card-img,.card-img-top,.card>.list-group:first-child{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card>.list-group:last-child{border-bottom-left-radius:calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px)}.card>.list-group{border-bottom:inherit;border-top:inherit}.card>.list-group:first-child{border-top-width:0}.card>.list-group:last-child{border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-footer,.card-header{background-color:#00000008;padding:.75rem 1.25rem}.card-columns .card,.card-title,.toast:not(:last-child){margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-link+.card-link{margin-left:1.25rem}.card-header{border-bottom:1px solid rgba(0,0,0,.125);margin-bottom:0}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{border-bottom:0;margin-bottom:-.75rem}.card-header-pills,.card-header-tabs{margin-left:-.625rem;margin-right:-.625rem}.card-img-overlay{border-radius:calc(.25rem - 1px);bottom:0;left:0;padding:1.25rem;position:absolute;right:0;top:0}.alert,.btn .badge,.list-group-item,.page-link{position:relative}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-deck .card,.card-group>.card,.mb-15{margin-bottom:15px}.accordion{overflow-anchor:none}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.pagination{border-radius:.25rem;display:flex;list-style:none;padding-left:0}.page-link{background-color:#fff;border:1px solid #dee2e6;color:#007bff;display:block;line-height:1.25;margin-left:-1px;padding:.5rem .75rem}.page-link:hover{background-color:#e9ecef;border-color:#dee2e6;color:#0056b3;text-decoration:none;z-index:2}.page-link:focus{box-shadow:0 0 0 .2rem #007bff40;outline:0;z-index:3}.page-item:first-child .page-link{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem;margin-left:0}.page-item:last-child .page-link{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.page-item.active .page-link{background-color:#007bff;border-color:#007bff;color:#fff;z-index:3}.page-item.disabled .page-link{background-color:#fff;border-color:#dee2e6;color:#6c757d;cursor:auto;pointer-events:none}.pagination-lg .page-link{font-size:1.25rem;line-height:1.5;padding:.75rem 1.5rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.badge{border-radius:.25rem;display:inline-block;font-size:75%;line-height:1;padding:.25em .4em;text-align:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:initial;white-space:nowrap}.btn .badge{top:-1px}.badge-pill{border-radius:10rem;padding-left:.6em;padding-right:.6em}a.badge-primary:focus,a.badge-primary:hover{background-color:#0062cc;color:#fff}a.badge-primary.focus,a.badge-primary:focus{box-shadow:0 0 0 .2rem #007bff80;outline:0}.badge-secondary{background-color:#6c757d;color:#fff}a.badge-secondary:focus,a.badge-secondary:hover{background-color:#545b62;color:#fff}a.badge-secondary.focus,a.badge-secondary:focus{box-shadow:0 0 0 .2rem #6c757d80;outline:0}.badge-success{background-color:#28a745;color:#fff}a.badge-success:focus,a.badge-success:hover{background-color:#1e7e34;color:#fff}a.badge-success.focus,a.badge-success:focus{box-shadow:0 0 0 .2rem #28a74580;outline:0}.badge-info{background-color:#17a2b8;color:#fff}a.badge-info:focus,a.badge-info:hover{background-color:#117a8b;color:#fff}a.badge-info.focus,a.badge-info:focus{box-shadow:0 0 0 .2rem #17a2b880;outline:0}.badge-warning{background-color:#ffc107;color:#212529}a.badge-warning:focus,a.badge-warning:hover{background-color:#d39e00;color:#212529}a.badge-warning.focus,a.badge-warning:focus{box-shadow:0 0 0 .2rem #ffc10780;outline:0}.badge-danger{background-color:#dc3545;color:#fff}a.badge-danger:focus,a.badge-danger:hover{background-color:#bd2130;color:#fff}a.badge-danger.focus,a.badge-danger:focus{box-shadow:0 0 0 .2rem #dc354580;outline:0}.badge-light{background-color:#f8f9fa;color:#212529}a.badge-light:focus,a.badge-light:hover{background-color:#dae0e5;color:#212529}a.badge-light.focus,a.badge-light:focus{box-shadow:0 0 0 .2rem #f8f9fa80;outline:0}a.badge-dark:focus,a.badge-dark:hover{background-color:#1d2124;color:#fff}a.badge-dark.focus,a.badge-dark:focus{box-shadow:0 0 0 .2rem #343a4080;outline:0}.jumbotron{background-color:#e9ecef;border-radius:.3rem;margin-bottom:2rem;padding:2rem 1rem}.jumbotron-fluid{border-radius:0;padding-left:0;padding-right:0}.alert{border:1px solid #0000;border-radius:.25rem;margin-bottom:1rem;padding:.75rem 1.25rem}.alert-heading{color:inherit}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{color:inherit;padding:.75rem 1.25rem;position:absolute;right:0;top:0}.alert-primary{background-color:#cce5ff;border-color:#b8daff;color:#004085}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{background-color:#e2e3e5;border-color:#d6d8db;color:#383d41}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{background-color:#d1ecf1;border-color:#bee5eb;color:#0c5460}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{background-color:#fff3cd;border-color:#ffeeba;color:#856404}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{background-color:#fefefe;border-color:#fdfdfe;color:#818182}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{background-color:#d6d8d9;border-color:#c6c8ca;color:#1b1e21}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@keyframes ia{0%{background-position:1rem 0}to{background-position:0 0}}.progress{background-color:#e9ecef;border-radius:.25rem;font-size:.75rem;height:1rem;line-height:0}.progress,.progress-bar{display:flex;overflow:hidden}.progress-bar{-ms-flex-pack:center;-webkit-box-pack:center;background-color:#007bff;color:#fff;flex-direction:column;justify-content:center;text-align:center;transition:width .6s;white-space:nowrap}.progress-bar-striped{background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite ia}.media{align-items:flex-start;display:flex}.list-group{border-radius:.25rem;display:flex;flex-direction:column;margin-bottom:0;padding-left:0}.list-group-item-action{color:#495057;text-align:inherit;width:100%}.list-group-item-action:focus,.list-group-item-action:hover{background-color:#f8f9fa;color:#495057;text-decoration:none;z-index:1}.list-group-item-action:active{background-color:#e9ecef;color:#212529}.list-group-item{background-color:#fff;border:1px solid rgba(0,0,0,.125);display:block;padding:.75rem 1.25rem}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{background-color:#fff;color:#6c757d;pointer-events:none}.list-group-item.active{background-color:#007bff;border-color:#007bff;color:#fff;z-index:2}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{border-top-width:1px;margin-top:-1px}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{background-color:#b8daff;color:#004085}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{background-color:#9fcdff;color:#004085}.list-group-item-primary.list-group-item-action.active{background-color:#004085;border-color:#004085;color:#fff}.list-group-item-secondary{background-color:#d6d8db;color:#383d41}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{background-color:#c8cbcf;color:#383d41}.list-group-item-secondary.list-group-item-action.active{background-color:#383d41;border-color:#383d41;color:#fff}.list-group-item-success{background-color:#c3e6cb;color:#155724}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{background-color:#b1dfbb;color:#155724}.list-group-item-success.list-group-item-action.active{background-color:#155724;border-color:#155724;color:#fff}.list-group-item-info{background-color:#bee5eb;color:#0c5460}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{background-color:#abdde5;color:#0c5460}.list-group-item-info.list-group-item-action.active{background-color:#0c5460;border-color:#0c5460;color:#fff}.list-group-item-warning{background-color:#ffeeba;color:#856404}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{background-color:#ffe8a1;color:#856404}.list-group-item-warning.list-group-item-action.active{background-color:#856404;border-color:#856404;color:#fff}.list-group-item-danger{background-color:#f5c6cb;color:#721c24}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{background-color:#f1b0b7;color:#721c24}.list-group-item-danger.list-group-item-action.active{background-color:#721c24;border-color:#721c24;color:#fff}.list-group-item-light{background-color:#fdfdfe;color:#818182}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{background-color:#ececf6;color:#818182}.list-group-item-light.list-group-item-action.active{background-color:#818182;border-color:#818182;color:#fff}.list-group-item-dark{background-color:#c6c8ca;color:#1b1e21}.toast,.toast-header{background-color:#ffffffd9;background-clip:padding-box}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{background-color:#b9bbbe;color:#1b1e21}.list-group-item-dark.list-group-item-action.active{background-color:#1b1e21;border-color:#1b1e21;color:#fff}.close{color:#000;float:right;font-size:1.5rem;line-height:1;opacity:.5;text-shadow:0 1px 0 #fff}.popover,.tooltip{font-family:-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-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;word-break:normal;word-spacing:normal;text-transform:none;word-wrap:break-word;white-space:normal;text-decoration:none}.modal-title,.popover,.tooltip{line-height:1.5}.toast,.tooltip{opacity:0;font-size:.875rem}.popover,.text-hide,.tooltip{text-shadow:none}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{background-color:initial;border:0;padding:0}.toast{-ms-flex-preferred-size:350px;border:1px solid #0000001a;border-radius:.25rem;box-shadow:0 .25rem .75rem #0000001a;flex-basis:350px;max-width:350px}.toast.show{display:block;opacity:1}.toast-header{align-items:center;border-bottom:1px solid #0000000d;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px);color:#6c757d;display:flex;padding:.25rem .75rem}.toast-body{padding:.75rem}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{display:none;height:100%;left:0;outline:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:1050}.modal-dialog{margin:.5rem;pointer-events:none;position:relative;width:auto}.modal.fade .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}.modal.show .modal-dialog,.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{align-items:center;display:flex;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{content:"";display:block;height:calc(100vh - 1rem);height:min-content}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-pack:center;-webkit-box-pack:center;flex-direction:column;height:100%;justify-content:center}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before,.process-horizontal li:first-child:after{content:none}.modal-content{background-clip:padding-box;background-color:#fff;border:1px solid #0003;border-radius:.3rem;display:flex;flex-direction:column;outline:0;pointer-events:auto;position:relative;width:100%}.modal-backdrop{background-color:#000;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:1040}.modal-backdrop.show{opacity:.5}.modal-header{-ms-flex-align:start;-webkit-box-align:start;-ms-flex-pack:justify;-webkit-box-pack:justify;align-items:flex-start;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px);display:flex;justify-content:space-between;padding:1rem}.modal-header .close{margin:-1rem -1rem -1rem auto;padding:1rem}.modal-title{margin-bottom:0}.modal-body{flex:1 1 auto;padding:1rem;position:relative}.modal-footer{-ms-flex-align:center;-webkit-box-align:center;-ms-flex-pack:end;-webkit-box-pack:end;align-items:center;border-bottom-left-radius:calc(.3rem - 1px);border-bottom-right-radius:calc(.3rem - 1px);border-top:1px solid #dee2e6;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:.75rem}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}.tooltip{display:block;margin:0;position:absolute;text-align:left;text-align:start;z-index:1070}.tooltip.show{opacity:.9}.tooltip .arrow{display:block;height:.4rem;position:absolute;width:.8rem}.tooltip .arrow:before{border-color:#0000;border-style:solid;content:"";position:absolute}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-auto[x-placement^=top],.bs-tooltip-bottom,.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow,.fixed-bottom{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{border-top-color:#000;border-width:.4rem .4rem 0;top:0}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-auto[x-placement^=right],.bs-tooltip-left,.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{height:.8rem;left:0;width:.4rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{border-right-color:#000;border-width:.4rem .4rem .4rem 0;right:0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow,.fixed-top{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{border-bottom-color:#000;border-width:0 .4rem .4rem;bottom:0}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{height:.8rem;right:0;width:.4rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{border-left-color:#000;border-width:.4rem 0 .4rem .4rem;left:0}.tooltip-inner{background-color:#000;border-radius:.25rem;color:#fff;max-width:200px;padding:.25rem .5rem;text-align:center}.carousel-indicators li,.popover{background-clip:padding-box;background-color:#fff}.popover{border:1px solid #0003;border-radius:.3rem;font-size:.875rem;left:0;max-width:276px;text-align:left;text-align:start;top:0;z-index:1060}.popover,.popover .arrow{display:block;position:absolute}.popover .arrow{height:.5rem;margin:0 .3rem;width:1rem}.popover .arrow:after,.popover .arrow:before{border-color:#0000;border-style:solid;content:"";display:block;position:absolute}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{border-top-color:#00000040;border-width:.5rem .5rem 0;bottom:0}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{border-top-color:#fff;border-width:.5rem .5rem 0;bottom:1px}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{height:1rem;left:calc(-.5rem - 1px);margin:.3rem 0;width:.5rem}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{border-right-color:#00000040;border-width:.5rem .5rem .5rem 0;left:0}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{border-right-color:#fff;border-width:.5rem .5rem .5rem 0;left:1px}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{border-bottom-color:#00000040;border-width:0 .5rem .5rem;top:0}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{border-bottom-color:#fff;border-width:0 .5rem .5rem;top:1px}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{border-bottom:1px solid #f7f7f7;content:"";display:block;left:50%;margin-left:-.5rem;position:absolute;top:0;width:1rem}.bs-popover-auto[x-placement^=left],.bs-popover-left,.list-inline-item:not(:last-child){margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{height:1rem;margin:.3rem 0;right:calc(-.5rem - 1px);width:.5rem}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{border-left-color:#00000040;border-width:.5rem 0 .5rem .5rem;right:0}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{border-left-color:#fff;border-width:.5rem 0 .5rem .5rem;right:1px}.popover-header{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px);font-size:1rem;margin-bottom:0;padding:.5rem .75rem}.popover-body{color:#212529;padding:.5rem .75rem}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{overflow:hidden;position:relative;width:100%}.carousel-inner:after,.clearfix:after{clear:both;content:"";display:block}.carousel-item{backface-visibility:hidden;display:none;float:left;margin-right:-100%;position:relative;transition:transform .6s ease-in-out;width:100%}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transform:none;transition-property:opacity}.streampark-btn:before,[data-aos^=slide][data-aos^=slide]{transition-property:transform}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1;z-index:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0;transition:opacity 0s .6s;z-index:0}.carousel-control-next,.carousel-control-prev{-ms-flex-align:center;-webkit-box-align:center;-ms-flex-pack:center;-webkit-box-pack:center;align-items:center;bottom:0;color:#fff;display:flex;justify-content:center;opacity:.5;position:absolute;text-align:center;top:0;transition:opacity .15s;width:15%;z-index:1}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;opacity:.9;outline:0;text-decoration:none}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{background:50%/100% 100% no-repeat;display:inline-block;height:20px;width:20px}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='m5.25 0-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='m2.75 0-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{-ms-flex-pack:center;-webkit-box-pack:center;bottom:0;display:flex;justify-content:center;left:0;list-style:none;margin-left:15%;margin-right:15%;padding-left:0;position:absolute;right:0;z-index:15}.spinner-border,.spinner-grow{display:inline-block;vertical-align:text-bottom}.carousel-indicators li{-webkit-box-flex:0;border-bottom:10px solid #0000;border-top:10px solid #0000;box-sizing:initial;cursor:pointer;flex:0 1 auto;height:3px;margin-left:3px;margin-right:3px;opacity:.5;text-indent:-999px;transition:opacity .6s;width:30px}.carousel-caption{bottom:20px;color:#fff;left:15%;padding-bottom:20px;padding-top:20px;position:absolute;right:15%;text-align:center;z-index:10}@keyframes ja{to{transform:rotate(1turn)}}.spinner-border{animation:.75s linear infinite ja;border:.25em solid;border-radius:50%;border-right:.25em solid #0000;height:2rem;width:2rem}.spinner-border-sm{border-width:.2em;height:1rem;width:1rem}@keyframes ka{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{animation:.75s linear infinite ka;background-color:currentColor;border-radius:50%;height:2rem;opacity:0;width:2rem}.bg-primary,.corner_button.blue:hover{background-color:#007bff!important}.spinner-grow-sm{height:1rem;width:1rem}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.border-right{border-right:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-end-0,.border-right-0{border-right:0!important}.border-left-0,.border-start-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-pill{border-radius:50rem!important}.d-flex{display:-ms-flexbox!important;display:-webkit-box!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important}.embed-responsive{display:block;overflow:hidden;padding:0;position:relative;width:100%}.embed-responsive:before{content:"";display:block}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{border:0;bottom:0;height:100%;left:0;position:absolute;top:0;width:100%}.embed-responsive-21by9:before{padding-top:42.857143%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row,.flex-row-reverse{-webkit-box-orient:horizontal!important}.flex-column,.flex-column-reverse{-webkit-box-orient:vertical!important}.flex-wrap{-ms-flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important}.flex-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;-webkit-box-flex:0!important}.flex-grow-1{-ms-flex-positive:1!important;-webkit-box-flex:1!important}.flex-shrink-0{-ms-flex-negative:0!important}.flex-shrink-1{-ms-flex-negative:1!important}.justify-content-start{-ms-flex-pack:start!important;-webkit-box-pack:start!important}.justify-content-end{-ms-flex-pack:end!important;-webkit-box-pack:end!important}.justify-content-center{-ms-flex-pack:center!important;-webkit-box-pack:center!important}.justify-content-between{-ms-flex-pack:justify!important;-webkit-box-pack:justify!important}.justify-content-around{-ms-flex-pack:distribute!important}.align-items-start{-ms-flex-align:start!important;-webkit-box-align:start!important}.align-items-end{-ms-flex-align:end!important;-webkit-box-align:end!important}.align-items-center{-ms-flex-align:center!important;-webkit-box-align:center!important}.align-items-baseline{-ms-flex-align:baseline!important;-webkit-box-align:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;-webkit-box-align:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.float-left,.float-start{float:left!important}.float-end,.float-right{float:right!important}.user-select-all{-moz-user-select:all!important;-ms-user-select:all!important}.user-select-auto{-moz-user-select:auto!important;-ms-user-select:auto!important}.user-select-none{-moz-user-select:none!important;-ms-user-select:none!important}.fixed-bottom,.fixed-top{left:0;position:fixed;right:0;z-index:1030}@supports (position:sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem #00000026!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{-webkit-box-shadow:none!important}.me-4,.mr-4,.mx-4{margin-right:1.5rem!important}.ml-4,.ms-4,.mx-4{margin-left:1.5rem!important}.me-5,.mr-5,.mx-5{margin-right:3rem!important}.ml-5,.ms-5,.mx-5{margin-left:3rem!important}.pe-4,.pr-4,.px-4{padding-right:1.5rem!important}.pl-4,.ps-4,.px-4{padding-left:1.5rem!important}.pe-5,.pr-5,.px-5{padding-right:3rem!important}.pl-5,.ps-5,.px-5{padding-left:3rem!important}.me-n1,.mr-n1,.mx-n1{margin-right:-.25rem!important}.ml-n1,.ms-n1,.mx-n1{margin-left:-.25rem!important}.me-n2,.mr-n2,.mx-n2{margin-right:-.5rem!important}.ml-n2,.ms-n2,.mx-n2{margin-left:-.5rem!important}.me-n3,.mr-n3,.mx-n3{margin-right:-1rem!important}.ml-n3,.ms-n3,.mx-n3{margin-left:-1rem!important}.me-n4,.mr-n4,.mx-n4{margin-right:-1.5rem!important}.ml-n4,.ms-n4,.mx-n4{margin-left:-1.5rem!important}.me-n5,.mr-n5,.mx-n5{margin-right:-3rem!important}.ml-n5,.ms-n5,.mx-n5{margin-left:-3rem!important}.me-auto,.mr-auto,.mx-auto{margin-right:auto!important}.ml-auto,.ms-auto,.mx-auto{margin-left:auto!important}.stretched-link:after{background-color:#0000;bottom:0;content:"";left:0;pointer-events:auto;position:absolute;right:0;top:0;z-index:1}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left,.text-start{text-align:left!important}.text-end,.text-right{text-align:right!important}.corner_button,.text_center,.welcome_area_thumb{text-align:center}.font-weight-light,.fw-light{font-weight:300!important}.font-weight-lighter,.fw-lighter{font-weight:lighter!important}.font-weight-normal,.fw-normal{font-weight:400!important}.font-weight-bold,.fw-bold{font-weight:700!important}.font-weight-bolder,.fw-bolder{font-weight:bolder!important}.font-italic,.fst-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-hide{background-color:initial;border:0;color:#0000;font:0/0 a}.fa,[class*=" lni-"],[class^=lni-]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-break{overflow-wrap:break-word!important}@font-face{font-family:LineIcons;font-style:normal;font-weight:400;src:url(/SolidUI-Website/assets/fonts/LineIcons-y2l643-6ac9873828472f7a88703893f3de50c7.eot);src:url(/SolidUI-Website/assets/fonts/LineIcons-y2l643-6ac9873828472f7a88703893f3de50c7.eot#iefix) format("embedded-opentype"),url(/SolidUI-Website/assets/fonts/LineIcons-y2l643-fb16b8b0de9e73ca9b2d7bb18c4e7108.ttf) format("truetype"),url(/SolidUI-Website/assets/fonts/LineIcons-y2l643-c2f4b7610f34f5843a72d44f5c4ae9d2.woff) format("woff"),url(/SolidUI-Website/assets/images/LineIcons-y2l643-e76a21f07f1a3949a21170b145337735.svg#LineIcons) format("svg")}[class*=" lni-"],[class^=lni-]{speak:none;font-family:LineIcons!important;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none}.lni-add-file:before{content:"\e900"}.lni-empty-file:before{content:"\e916"}.lni-remove-file:before{content:"\e917"}.lni-files:before{content:"\ea6f"}.lni-display-alt:before{content:"\e901"}.lni-laptop-phone:before{content:"\e902"}.lni-laptop:before{content:"\e936"}.lni-mobile:before{content:"\e907"}.lni-tab:before{content:"\e922"}.lni-timer:before{content:"\e903"}.lni-headphone:before{content:"\e904"}.lni-rocket:before{content:"\e905"}.lni-package:before{content:"\e906"}.lni-popup:before{content:"\e909"}.lni-scroll-down:before{content:"\e90a"}.lni-pagination:before{content:"\e90b"}.lni-unlock:before{content:"\e90c"}.lni-lock:before{content:"\e946"}.lni-reload:before{content:"\e90d"}.lni-map-marker:before{content:"\e91e"}.lni-map:before{content:"\e90e"}.lni-game:before{content:"\e90f"}.lni-search:before{content:"\e910"}.lni-alarm:before{content:"\e911"}.lni-code:before{content:"\e91c"}.lni-website:before{content:"\e908"}.lni-code-alt:before{content:"\e912"}.lni-display:before{content:"\e913"}.lni-shortcode:before{content:"\e919"}.lni-headphone-alt:before{content:"\e915"}.lni-alarm-clock:before{content:"\e918"}.lni-bookmark-alt:before{content:"\e91a"}.lni-bookmark:before{content:"\e91b"}.lni-layout:before{content:"\e937"}.lni-keyboard:before{content:"\e91d"}.lni-grid-alt:before{content:"\e91f"}.lni-grid:before{content:"\e920"}.lni-mic:before{content:"\e921"}.lni-signal:before{content:"\e923"}.lni-download:before{content:"\e925"}.lni-upload:before{content:"\e926"}.lni-zip:before{content:"\e927"}.lni-rss-feed:before{content:"\e928"}.lni-warning:before{content:"\e929"}.lni-cloud-sync:before{content:"\e92a"}.lni-cloud-upload:before{content:"\e92b"}.lni-cloud-check:before{content:"\e92c"}.lni-cloud-download:before{content:"\e914"}.lni-cog:before{content:"\e92d"}.lni-dashboard:before{content:"\e92e"}.lni-folder:before{content:"\eaa0"}.lni-database:before{content:"\e92f"}.lni-harddrive:before{content:"\eaab"}.lni-control-panel:before{content:"\e930"}.lni-plug:before{content:"\e931"}.lni-menu:before{content:"\eab8"}.lni-power-switch:before{content:"\e932"}.lni-printer:before{content:"\e933"}.lni-save:before{content:"\eab9"}.lni-layers:before{content:"\e934"}.lni-link:before{content:"\e935"}.lni-share:before{content:"\eaba"}.lni-inbox:before{content:"\eabb"}.lni-unlink:before{content:"\e924"}.lni-microphone:before{content:"\e938"}.lni-magnet:before{content:"\e939"}.lni-mouse:before{content:"\e93a"}.lni-share-alt:before{content:"\e93b"}.lni-bluetooth:before{content:"\e93c"}.lni-crop:before{content:"\e93d"}.lni-cut:before{content:"\e93f"}.lni-protection:before{content:"\e940"}.lni-shield:before{content:"\eabc"}.lni-bolt-alt:before{content:"\e941"}.lni-bolt:before{content:"\e942"}.lni-infinite:before{content:"\e943"}.lni-hand:before{content:"\e944"}.lni-flag:before{content:"\e945"}.lni-zoom-out:before{content:"\e947"}.lni-zoom-in:before{content:"\e948"}.lni-pin-alt:before{content:"\e949"}.lni-pin:before{content:"\e9ba"}.lni-more-alt:before{content:"\e94a"}.lni-more:before{content:"\e958"}.lni-check-box:before{content:"\e94b"}.lni-check-mark-circle:before{content:"\e94c"}.lni-cross-circle:before{content:"\e94d"}.lni-circle-minus:before{content:"\e94e"}.lni-close:before{content:"\e951"}.lni-star-filled:before{content:"\e94f"}.lni-star:before{content:"\e950"}.lni-star-empty:before{content:"\e952"}.lni-star-half:before{content:"\e953"}.lni-question-circle:before{content:"\e954"}.lni-thumbs-down:before{content:"\e955"}.lni-thumbs-up:before{content:"\e956"}.lni-minus:before{content:"\e957"}.lni-plus:before{content:"\e959"}.lni-ban:before{content:"\e95a"}.lni-hourglass:before{content:"\eabd"}.lni-trash:before{content:"\e95b"}.lni-key:before{content:"\e95c"}.lni-pulse:before{content:"\e95d"}.lni-heart:before{content:"\e95e"}.lni-heart-filled:before{content:"\e93e"}.lni-help:before{content:"\e95f"}.lni-paint-roller:before{content:"\e960"}.lni-ux:before{content:"\e961"}.lni-radio-button:before{content:"\e962"}.lni-brush-alt:before{content:"\e963"}.lni-select:before{content:"\eabe"}.lni-slice:before{content:"\e964"}.lni-move:before{content:"\e965"}.lni-wheelchair:before{content:"\e966"}.lni-vector:before{content:"\e967"}.lni-ruler-pencil:before{content:"\e968"}.lni-ruler:before{content:"\e969"}.lni-brush:before{content:"\e96a"}.lni-eraser:before{content:"\e96b"}.lni-ruler-alt:before{content:"\e96c"}.lni-color-pallet:before{content:"\e96d"}.lni-paint-bucket:before{content:"\e96e"}.lni-bulb:before{content:"\e96f"}.lni-highlight-alt:before{content:"\e970"}.lni-highlight:before{content:"\e971"}.lni-handshake:before{content:"\e972"}.lni-briefcase:before{content:"\eabf"}.lni-funnel:before{content:"\eac0"}.lni-world:before{content:"\e973"}.lni-calculator:before{content:"\e974"}.lni-target-revenue:before{content:"\e975"}.lni-revenue:before{content:"\e976"}.lni-invention:before{content:"\e977"}.lni-network:before{content:"\e978"}.lni-credit-cards:before{content:"\e979"}.lni-pie-chart:before{content:"\e97a"}.lni-archive:before{content:"\e97b"}.lni-magnifier:before{content:"\e97c"}.lni-agenda:before{content:"\e97d"}.lni-tag:before{content:"\e97f"}.lni-target:before{content:"\e980"}.lni-stamp:before{content:"\e981"}.lni-clipboard:before{content:"\e982"}.lni-licencse:before{content:"\e983"}.lni-paperclip:before{content:"\e984"}.lni-stats-up:before{content:"\e97e"}.lni-stats-down:before{content:"\e985"}.lni-bar-chart:before{content:"\e986"}.lni-bullhorn:before{content:"\e987"}.lni-calendar:before{content:"\e988"}.lni-quotation:before{content:"\e989"}.lni-bus:before{content:"\e98a"}.lni-car-alt:before{content:"\e98b"}.lni-car:before{content:"\e98c"}.lni-train:before{content:"\e9a0"}.lni-train-alt:before{content:"\e991"}.lni-helicopter:before{content:"\e990"}.lni-ship:before{content:"\e992"}.lni-bridge:before{content:"\e993"}.lni-scooter:before{content:"\e98f"}.lni-plane:before{content:"\e994"}.lni-bi-cycle:before{content:"\e996"}.lni-postcard:before{content:"\e98d"}.lni-road:before{content:"\e98e"}.lni-envelope:before{content:"\e997"}.lni-reply:before{content:"\e998"}.lni-bubble:before{content:"\e995"}.lni-support:before{content:"\e999"}.lni-comment-reply:before{content:"\e99a"}.lni-pointer:before{content:"\e99b"}.lni-phone:before{content:"\e99c"}.lni-phone-handset:before{content:"\eac1"}.lni-comment-alt:before{content:"\e99e"}.lni-comment:before{content:"\e99f"}.lni-coffee-cup:before{content:"\e9a1"}.lni-home:before{content:"\e9a2"}.lni-gift:before{content:"\eac2"}.lni-thought:before{content:"\e9a3"}.lni-eye:before{content:"\eac3"}.lni-user:before{content:"\e9a4"}.lni-users:before{content:"\e9a5"}.lni-wallet:before{content:"\e9a6"}.lni-tshirt:before{content:"\e9a7"}.lni-medall-alt:before{content:"\e9a8"}.lni-medall:before{content:"\e9a9"}.lni-notepad:before{content:"\e9aa"}.lni-crown:before{content:"\e9ab"}.lni-ticket:before{content:"\e9ac"}.lni-ticket-alt:before{content:"\e9ad"}.lni-certificate:before{content:"\e9ae"}.lni-cup:before{content:"\e9af"}.lni-library:before{content:"\e9b0"}.lni-school-bench-alt:before{content:"\e9b1"}.lni-school-bench:before{content:"\e9b4"}.lni-microscope:before{content:"\e9b2"}.lni-school-compass:before{content:"\e9b3"}.lni-information:before{content:"\e9b5"}.lni-graduation:before{content:"\e9b6"}.lni-write:before{content:"\e9b7"}.lni-pencil-alt:before{content:"\e9b8"}.lni-pencil:before{content:"\e9b9"}.lni-blackboard:before{content:"\e9bb"}.lni-book:before{content:"\e9bc"}.lni-shuffle:before{content:"\e9bd"}.lni-gallery:before{content:"\eac4"}.lni-image:before{content:"\eac5"}.lni-volume-mute:before{content:"\e9be"}.lni-backward:before{content:"\e9bf"}.lni-forward:before{content:"\e9c0"}.lni-stop:before{content:"\e9c1"}.lni-play:before{content:"\e9c2"}.lni-pause:before{content:"\e9c3"}.lni-music:before{content:"\e9c4"}.lni-frame-expand:before{content:"\e9c5"}.lni-full-screen:before{content:"\eac6"}.lni-video:before{content:"\e9c6"}.lni-volume-high:before{content:"\e9c7"}.lni-volume-low:before{content:"\e9c8"}.lni-volume-medium:before{content:"\e9c9"}.lni-volume:before{content:"\e9ca"}.lni-camera:before{content:"\e9cb"}.lni-invest-monitor:before{content:"\e9cc"}.lni-grow:before{content:"\e9cd"}.lni-money-location:before{content:"\e9ce"}.lni-cloudnetwork:before{content:"\e9cf"}.lni-diamond:before{content:"\e9d0"}.lni-customer:before{content:"\e9d1"}.lni-domain:before{content:"\e9d2"}.lni-target-audience:before{content:"\e9d3"}.lni-seo:before{content:"\e9d4"}.lni-keyword-research:before{content:"\e9d5"}.lni-seo-monitoring:before{content:"\e9d6"}.lni-seo-consulting:before{content:"\e9d7"}.lni-money-protection:before{content:"\e9d8"}.lni-offer:before{content:"\e9d9"}.lni-delivery:before{content:"\e9da"}.lni-investment:before{content:"\e9db"}.lni-shopping-basket:before{content:"\e9dc"}.lni-coin:before{content:"\e9dd"}.lni-cart-full:before{content:"\e9de"}.lni-cart:before{content:"\e9df"}.lni-burger:before{content:"\e9e0"}.lni-restaurant:before{content:"\e9e1"}.lni-service:before{content:"\e9e2"}.lni-chef-hat:before{content:"\e9e3"}.lni-cake:before{content:"\e9e4"}.lni-pizza:before{content:"\e9e5"}.lni-teabag:before{content:"\e9e6"}.lni-dinner:before{content:"\e9e7"}.lni-taxi:before{content:"\e9e8"}.lni-caravan:before{content:"\e9e9"}.lni-pyramids:before{content:"\e9ea"}.lni-surfboard:before{content:"\e9eb"}.lni-travel:before{content:"\e9ec"}.lni-island:before{content:"\e9ed"}.lni-mashroom:before{content:"\e9ee"}.lni-sprout:before{content:"\e9ef"}.lni-tree:before{content:"\e9f0"}.lni-trees:before{content:"\e9f1"}.lni-flower:before{content:"\e9f2"}.lni-bug:before{content:"\e9f3"}.lni-leaf:before{content:"\e9f4"}.lni-fresh-juice:before{content:"\e9f5"}.lni-heart-monitor:before{content:"\e9f6"}.lni-dumbbell:before{content:"\e9f7"}.lni-skipping-rope:before{content:"\e9f8"}.lni-slim:before{content:"\e9f9"}.lni-weight:before{content:"\e9fa"}.lni-basketball:before{content:"\e9fb"}.lni-first-aid:before{content:"\e9fc"}.lni-ambulance:before{content:"\e9fd"}.lni-hospital:before{content:"\e9fe"}.lni-syringe:before{content:"\e9ff"}.lni-capsule:before{content:"\ea00"}.lni-stethoscope:before{content:"\ea01"}.lni-wheelbarrow:before{content:"\ea02"}.lni-shovel:before{content:"\ea03"}.lni-construction-hammer:before{content:"\ea04"}.lni-brick:before{content:"\ea05"}.lni-hammer:before{content:"\eac7"}.lni-helmet:before{content:"\ea06"}.lni-trowel:before{content:"\ea07"}.lni-construction:before{content:"\ea08"}.lni-apartment:before{content:"\ea09"}.lni-juice:before{content:"\ea0a"}.lni-spray:before{content:"\ea0b"}.lni-candy-cane:before{content:"\ea0c"}.lni-candy:before{content:"\ea0d"}.lni-fireworks:before{content:"\ea0e"}.lni-flags:before{content:"\ea0f"}.lni-baloon:before{content:"\ea10"}.lni-cloud:before{content:"\ea11"}.lni-night:before{content:"\ea12"}.lni-cloudy-sun:before{content:"\ea13"}.lni-rain:before{content:"\ea14"}.lni-thunder:before{content:"\ea15"}.lni-drop:before{content:"\ea16"}.lni-thunder-alt:before{content:"\ea18"}.lni-sun:before{content:"\ea17"}.lni-spell-check:before{content:"\ea1a"}.lni-text-format:before{content:"\ea1b"}.lni-text-format-remove:before{content:"\ea1c"}.lni-italic:before{content:"\ea1d"}.lni-line-dotted:before{content:"\ea1e"}.lni-text-align-center:before{content:"\ea19"}.lni-text-align-left:before{content:"\ea20"}.lni-text-align-right:before{content:"\ea21"}.lni-text-align-justify:before{content:"\ea22"}.lni-bold:before{content:"\ea23"}.lni-page-break:before{content:"\ea24"}.lni-strikethrough:before{content:"\ea25"}.lni-text-size:before{content:"\ea26"}.lni-line-dashed:before{content:"\ea27"}.lni-line-double:before{content:"\ea28"}.lni-direction-ltr:before{content:"\ea29"}.lni-direction-rtl:before{content:"\ea2a"}.lni-list:before{content:"\ea2b"}.lni-line-spacing:before{content:"\ea2f"}.lni-sort-alpha-asc:before{content:"\ea1f"}.lni-sort-amount-asc:before{content:"\ea2c"}.lni-indent-decrease:before{content:"\ea2d"}.lni-indent-increase:before{content:"\ea2e"}.lni-pilcrow:before{content:"\ea30"}.lni-underline:before{content:"\ea31"}.lni-dollar:before{content:"\ea32"}.lni-rupee:before{content:"\ea33"}.lni-pound:before{content:"\ea34"}.lni-yen:before{content:"\ea35"}.lni-euro:before{content:"\ea36"}.lni-emoji-happy:before{content:"\ea37"}.lni-emoji-tounge:before{content:"\ea38"}.lni-emoji-cool:before{content:"\ea39"}.lni-emoji-friendly:before{content:"\ea3a"}.lni-emoji-neutral:before{content:"\ea3b"}.lni-emoji-sad:before{content:"\ea3c"}.lni-emoji-smile:before{content:"\ea3d"}.lni-emoji-suspect:before{content:"\ea3e"}.lni-direction-alt:before{content:"\ea3f"}.lni-enter:before{content:"\ea40"}.lni-exit-down:before{content:"\ea41"}.lni-exit-up:before{content:"\ea5f"}.lni-exit:before{content:"\ea42"}.lni-chevron-up:before{content:"\ea43"}.lni-chevron-left:before{content:"\ea44"}.lni-chevron-down:before{content:"\ea45"}.lni-chevron-right:before{content:"\ea46"}.lni-arrow-down:before{content:"\ea47"}.lni-arrows-horizontal:before{content:"\ea48"}.lni-arrows-vertical:before{content:"\ea49"}.lni-direction:before{content:"\ea4a"}.lni-arrow-left:before{content:"\ea4b"}.lni-arrow-right:before{content:"\ea4c"}.lni-arrow-up:before{content:"\ea4d"}.lni-arrow-down-circle:before{content:"\ea4e"}.lni-anchor:before{content:"\ea4f"}.lni-arrow-left-circle:before{content:"\ea50"}.lni-arrow-right-circle:before{content:"\ea51"}.lni-arrow-up-circle:before{content:"\ea52"}.lni-angle-double-down:before{content:"\ea53"}.lni-angle-double-left:before{content:"\ea54"}.lni-angle-double-right:before{content:"\ea55"}.lni-angle-double-up:before{content:"\ea56"}.lni-arrow-top-left:before{content:"\ea57"}.lni-arrow-top-right:before{content:"\ea58"}.lni-chevron-down-circle:before{content:"\ea59"}.lni-chevron-left-circle:before{content:"\ea5a"}.lni-chevron-right-circle:before{content:"\ea5b"}.lni-chevron-up-circle:before{content:"\ea5c"}.lni-shift-left:before{content:"\ea5d"}.lni-shift-right:before{content:"\ea5e"}.lni-pointer-down:before{content:"\ea60"}.lni-pointer-right:before{content:"\ea62"}.lni-pointer-left:before{content:"\ea61"}.lni-pointer-up:before{content:"\ea63"}.lni-spinner-arrow:before{content:"\ea64"}.lni-spinner-solid:before{content:"\ea65"}.lni-spinner:before{content:"\ea66"}.lni-google:before{content:"\e99d"}.lni-producthunt:before{content:"\ea68"}.lni-paypal:before{content:"\eab3"}.lni-paypal-original:before{content:"\ea6c"}.lni-java:before{content:"\ea6d"}.lni-microsoft:before{content:"\ea6b"}.lni-windows:before{content:"\ea6e"}.lni-flickr:before{content:"\ea70"}.lni-drupal:before{content:"\ea9f"}.lni-drupal-original:before{content:"\ea71"}.lni-android:before{content:"\eab7"}.lni-android-original:before{content:"\ea72"}.lni-playstore:before{content:"\eab4"}.lni-git:before{content:"\ea9b"}.lni-github-original:before{content:"\ea73"}.lni-github:before{content:"\ea9c"}.lni-steam:before{content:"\ea75"}.lni-shopify:before{content:"\ea76"}.lni-snapchat:before{content:"\ea77"}.lni-soundcloud:before{content:"\eab5"}.lni-souncloud-original:before{content:"\ea78"}.lni-telegram:before{content:"\ea79"}.lni-twitch:before{content:"\ea7a"}.lni-vimeo:before{content:"\ea7c"}.lni-vk:before{content:"\ea7d"}.lni-wechat:before{content:"\ea7e"}.lni-whatsapp:before{content:"\ea7f"}.lni-yahoo:before{content:"\ea80"}.lni-youtube:before{content:"\ea81"}.lni-stackoverflow:before{content:"\ea82"}.lni-slideshare:before{content:"\ea84"}.lni-slack:before{content:"\ea85"}.lni-lineicons-alt:before{content:"\ea69"}.lni-lineicons:before{content:"\ea6a"}.lni-skype:before{content:"\ea86"}.lni-pinterest:before{content:"\ea87"}.lni-reddit:before{content:"\ea88"}.lni-line:before{content:"\ea89"}.lni-megento:before{content:"\ea8b"}.lni-blogger:before{content:"\ea8e"}.lni-bootstrap:before{content:"\ea8f"}.lni-dribbble:before{content:"\ea90"}.lni-dropbox:before{content:"\ea98"}.lni-dropbox-original:before{content:"\ea91"}.lni-envato:before{content:"\ea92"}.lni-500px:before{content:"\ea95"}.lni-twitter-original:before{content:"\ea7b"}.lni-twitter:before{content:"\ea97"}.lni-twitter-filled:before{content:"\eac8"}.lni-facebook-messenger:before{content:"\ea93"}.lni-facebook-original:before{content:"\ea94"}.lni-facebook-filled:before{content:"\ea99"}.lni-facebook:before{content:"\ea9a"}.lni-joomla:before{content:"\eac9"}.lni-firefox:before{content:"\ea9d"}.lni-amazon-original:before{content:"\ea74"}.lni-amazon:before{content:"\ea9e"}.lni-linkedin-original:before{content:"\ea8a"}.lni-linkedin:before{content:"\eaa1"}.lni-linkedin-filled:before{content:"\eaca"}.lni-bitbucket:before{content:"\eaa2"}.lni-quora:before{content:"\eaa3"}.lni-medium:before{content:"\eaa4"}.lni-instagram-original:before{content:"\ea8c"}.lni-instagram-filled:before{content:"\eaa6"}.lni-instagram:before{content:"\eaa7"}.lni-bitcoin:before{content:"\eaa8"}.lni-stripe:before{content:"\eaa9"}.lni-wordpress-filled:before{content:"\eaaa"}.lni-wordpress:before{content:"\ea96"}.lni-google-plus:before{content:"\eaac"}.lni-mastercard:before{content:"\eaae"}.lni-visa:before{content:"\eaaf"}.lni-amex:before{content:"\eacb"}.lni-apple:before{content:"\eab0"}.lni-behance:before{content:"\eab1"}.lni-behance-original:before{content:"\ea8d"}.lni-chrome:before{content:"\eab2"}.lni-spotify-original:before{content:"\ea83"}.lni-spotify:before{content:"\eab6"}.lni-html:before{content:"\eaad"}.lni-css:before{content:"\eaa5"}.lni-ycombinator:before{content:"\ea67"}.fs-6,.size-xs{font-size:1rem!important}.size-sm{font-size:1.55rem!important}.size-md{font-size:2.25rem!important}.size-fw{font-size:1.2857142857em;height:.8em;line-height:.8em;margin-top:-.2em!important;vertical-align:middle;width:1.2857142857em}.size-lg{font-size:3rem!important}@keyframes la{0%{transform:rotate(0)}to{transform:rotate(359deg)}}@keyframes ma{0%{opacity:1;transform:scale(1)}90%{opacity:0;transform:scale(1.5)}}@keyframes na{0%,90%{opacity:1}45%{opacity:0}}@keyframes oa{0%{opacity:1;transform:translateX(0)}75%{opacity:0;transform:translateX(-20px)}}@keyframes pa{0%{opacity:1;transform:translateX(0)}75%{opacity:0;transform:translateX(20px)}}@keyframes qa{0%{opacity:1;transform:translateY(0)}75%{opacity:0;transform:translateY(-20px)}}@keyframes ra{0%{opacity:1;transform:translateY(0)}75%{opacity:0;transform:translateY(20px)}}@keyframes sa{0%,to{transform:scaleX(1)}10%,20%{transform:scale3d(.95,.95,.95) rotate(-10deg)}30%,50%,70%,90%{transform:scaleX(1) rotate(10deg)}40%,60%,80%{transform:rotate(-10deg)}}.lni-spin-effect,.lni-spin-effect-hover:hover{animation:2s linear infinite la}.lni-tada-effect,.lni-tada-effect-hover:hover{animation:1.5s infinite sa}.lni-flashing-effect,.lni-flashing-effect-hover:hover{animation:1.5s linear infinite na}.lni-burst-effect,.lni-burst-effect-hover:hover{animation:1.5s linear infinite ma}.lni-fade-up-effect,.lni-fade-up-effect-hover:hover{animation:1.5s linear infinite qa}.lni-fade-down-effect,.lni-fade-down-effect-hover:hover{animation:1.5s linear infinite ra}.lni-fade-left-effect,.lni-fade-left-effect-hover:hover{animation:1.5s linear infinite oa}.lni-fade-right-effect,.lni-fade-right-effect-hover:hover{animation:1.5s linear infinite pa}.main-wrapper>.container>.row>main.col{overflow-x:auto}body{background:#fff;color:#4a4a4a;font-family:Poppins,sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji!important;line-height:26px;min-width:1200px;font-family:Poppins,sans-serif;font-size:1rem;overflow-x:hidden}.block{margin:0 auto;padding:0 20px;width:1200px}.reading-area{display:flex;min-height:600px;padding:60px 0}.reading-area .main-content{padding:30px;width:900px}.reading-area .side-bar{border-left:1px solid #eaecef;flex:1;padding:18px 0}.reading-area .side-bar .bar-item{color:#4a4a4a;display:block;padding:5px 18px}.reading-area .side-bar .bar-item.router-link-exact-active,.reading-area .side-bar .bar-item:hover{color:#2863f9}.breadcrumbs__link svg{top:5px}.blog-ctn{padding-bottom:80px;padding-top:60px}.blog-ctn .blog-title{font-size:24px}.blog-ctn .blog-info{align-items:center;color:#0f122273;display:flex;font-size:16px;padding:20px 0}.blog-ctn .blog-info .info-item{padding:0 10px 0 28px}.blog-ctn .blog-info .info-item.sperator{padding:0 10px}.corner_button{border-radius:27px;box-shadow:0 8px 14px #2f55d433;color:#fff;font-family:Lato,Arial,sans-serif;font-size:18px;font-weight:500;height:54px;margin-right:50px;outline:0;padding:14px 25px;text-transform:uppercase;transition:color .2s,background .2s,border .2s;user-select:none;white-space:nowrap}.coverpage,.welcome_text_area{font-family:CircularStd,-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}.corner_button .button_icon{height:28px;margin-right:8px;margin-top:-5px;vertical-align:middle;width:28px}.corner_button.blue_fill{background:#007bff;border:1px solid #007bff;color:#fff}.corner_button.white{background:#fff;border:1px solid #0f1222;color:#0f1222}.corner_button.blue{border:1px solid #007bff;color:#007bff}.corner_button.blue:hover{color:#fff}.footer__logo{margin-bottom:1rem;margin-top:2rem;max-width:12rem}.normal-page{padding-top:20px}.normal-page .normal-title{font-size:24px;line-height:34px}.normal-page .normal-desc{color:#0f1222;font-weight:400}.normal-page .normal-desc .link{color:#2863f9}.mt-15{margin-top:15px}.mt-30{margin-top:30px}.mt-50{margin-top:50px}.mb-30{margin-bottom:30px}.mb-50{margin-bottom:50px}.mb-100{margin-bottom:100px}.ml-15{margin-left:15px}.ml-30{margin-left:30px}.ml-50{margin-left:50px}.mr-15{margin-right:15px}.mr-30{margin-right:30px}.mr-50{margin-right:50px}.streampark_video{zIndex:998;background:#000000b3;height:100%;left:0;position:fixed;top:0;width:100%}.section_padding_20{padding-bottom:50px;padding-top:30px}.section_margin_100_80{margin-bottom:80px;margin-top:100px}.section_padding_80{padding-bottom:40px;padding-top:80px}.section_padding_100{padding-bottom:80px;padding-top:100px}.section_padding_130{padding-bottom:130px;padding-top:130px}.section_padding_130_0{padding-bottom:0;padding-top:130px}.section_padding_0_130{padding-bottom:130px;padding-top:0}.section_padding_130_80{padding-bottom:80px;padding-top:130px}.organize-your-sales-content,.section_heading{font-weight:500;margin-bottom:70px;position:relative;z-index:1}.organize-your-sales-content{font-size:1.25rem;margin-top:30px}.section_heading h6{background-color:#3f43fd;border-radius:6px;display:inline-block;font-weight:400;letter-spacing:1px;margin-bottom:1rem;padding:.5rem 1.5rem;text-transform:uppercase}.section_heading h3{font-size:2.2rem;font-weight:700;line-height:1.3;margin-bottom:1rem}.section_heading h3 span,.single_work_step:focus .step-icon i,.single_work_step:focus h5,.single_work_step:hover .step-icon i,.single_work_step:hover h5{color:#0d6efd}.section_heading .line{background:#2d2ed4;background:linear-gradient(90deg,#e24997,#2d2ed4);border-radius:6px;height:5px;margin:30px auto 0;width:300px}.background-shapes .box1,.background-shapes .box2,.background-shapes .box3{height:20px;background-color:initial;position:absolute;width:20px;z-index:10}.shortcode_area:nth-child(odd){background-color:#f5f5ff}.coverpage h1,.coverpage h2,.coverpage h3,.coverpage h4,.coverpage h5,.coverpage h6{color:#020710;font-weight:500;line-height:1.2;margin-bottom:.5rem;margin-top:0}.coverpage p{color:#3e4043;font-size:1rem;line-height:1.75}.coverpage p,.downpage p{margin-bottom:1rem;margin-top:0}.main{margin-top:90px}.sponsor-text{line-height:30px}.welcome_area{background-color:#fff;height:720px;margin-top:0;position:relative;width:100%;z-index:1}.welcome_area .welcome-border{border-top:2px dashed #ebebeb;position:relative;width:100%;z-index:1}.background-shapes .box1{animation:5s linear infinite wa;left:10%;top:20%}.background-shapes .box1,.background-shapes .box2{border:3px solid #3f43fd;border-radius:.35rem}.background-shapes .box2{animation:8s linear infinite wa;left:50%;top:75%}.background-shapes .box3{animation:9s linear infinite wa;border:3px solid #3f43fd;border-radius:.35rem;right:15%;top:30%}.background-shapes .dot1,.background-shapes .dot2,.background-shapes .dot3,.background-shapes .dot4{border-radius:50%;height:8px;width:8px;position:absolute}.background-shapes .dot1{background-color:#3f43fd;left:6%;top:77%}.background-shapes .dot1,.background-shapes .dot2{z-index:10}.background-shapes .dot2{background-color:#f4284a;right:4%;top:18%}.background-shapes .dot3{background-color:#f4284a;left:43%;top:90%;z-index:1}.background-shapes .dot4{background-color:#3f43fd;right:5%;top:91%;z-index:10}.background-shapes .heart1{animation:9s linear infinite wa;color:#f4284a;font-size:1.5rem;left:13%;position:absolute;top:51%;z-index:1}.background-shapes .heart2{animation:12s linear infinite wa;color:#f4284a;font-size:1.5rem;position:absolute;right:8%;top:55%;z-index:10}.background-shapes .circle1{bottom:10%;left:50%}.background-shapes .circle1,.background-shapes .circle2{animation:4s linear infinite wa;border:3px solid #f4284a;border-radius:50%;height:18px;position:absolute;width:18px;z-index:10}.background-shapes .circle2{left:52%;top:24%}.home_barisal{background-position:bottom!important;background-repeat:no-repeat!important;background-size:cover!important;height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.shields img{margin-right:5px}.welcome_text_area h2{font-size:5.5rem;font-weight:bolder;line-height:6.5rem;margin-bottom:15px}.system_info h5,.welcome_text_area h5{color:#333;font-size:1.1rem;font-weight:500;line-height:2}.welcome_area_thumb{position:relative;z-index:1;padding-top:73px}.welcome_slider .owl-dots{-webkit-box-align:flex-end;-ms-flex-align:flex-end;-ms-grid-row-align:flex-end;align-items:flex-end;bottom:80px;display:flex;left:80px;position:absolute;width:100%;z-index:100}.hero-slides,.hero-slides .single-hero-slide,.section,.subscribe-form,.welcome_video_area,section{z-index:1;position:relative}.welcome_slider .owl-dot{color:#fff;font-size:20px;margin-right:15px}.welcome_slider .owl-dot.active{padding-right:30px;position:relative;z-index:1}.welcome_slider .owl-dot.active:after{bottom:7px;content:"";height:3px;position:absolute;right:0;width:25px}.subscribe-form{margin-top:50px;width:100%}.subscribe-form .form-control{background-color:#fff;border:none;border-radius:80px;font-size:13px;height:70px;padding-left:40px;width:100%}.subscribe-form .form-control,.subscribe-form .form-control:focus{box-shadow:0 6px 50px 8px #1583e926}.subscribe-form button{background-color:#f4284a;border:none;border-left:1px solid #ebebeb;border-radius:70px;color:#fff;font-size:16px;height:60px;outline:0;position:absolute;right:5px;top:5px;transition-duration:.5s;width:160px}.subscribe-form button:focus,.subscribe-form button:hover{background-color:#3f43fd;color:#fff}.hero-slides .single-hero-slide{height:850px;width:100%}.hero-slides .single-hero-slide h5{color:#ffffffb3}.hero-slides .owl-next,.hero-slides .owl-prev{border:2px solid #ffffffb3;border-radius:50%;color:#fff;font-size:16px;height:40px;left:50px;line-height:38px;margin-top:-20px;position:absolute;text-align:center;top:50%;transition-duration:.5s;width:40px;z-index:10}.hero-slides .owl-next:focus,.hero-slides .owl-next:hover,.hero-slides .owl-prev:focus,.hero-slides .owl-prev:hover{background-color:#070a57;border-color:#070a57}.hero-slides .owl-next{left:auto;right:50px}.welcome_area .welcome_text_area h2 span{color:#3f43fd}.welcome_area .welcome_text_area h2 span:first-child{color:#0c0b0a;font-family:800}.welcome_area .welcome_text_area .main_title{-webkit-text-fill-color:#0000;background:linear-gradient(100deg,#24e1fa,#5451ff 41.07%,#eb0099 76.05%);-webkit-background-clip:text;-webkit-box-decoration-break:clone;font-weight:600}hr{background-color:#eaeaea}.welcome_area .welcome_text_area .apache_incubating{background:#e4e5e9;border:1px solid #e4e5e9;border-radius:30px 30px 30px 0;color:#666;font-size:14px;font-weight:500;height:35px;left:5px;padding:5px 9px;position:relative;text-shadow:none;top:-70px}.circle-zoom{animation:8s linear infinite ta;background-color:#ffffff12;border-radius:50%;bottom:-350px;height:350px;left:-100px;position:absolute;width:350px;z-index:-10}@keyframes ta{0%{transform:scale(1)}to{background-color:#fff0;transform:scale(3.5)}}.circle-shape-animation .circle1{animation:12s linear infinite ua;background-color:#3f43fd;border-radius:50%;height:30px;left:16%;opacity:.15;position:absolute;top:19%;width:30px;z-index:-1}.video_btn,.video_btn .video-sonar{background-color:#fff;border-radius:50%;position:absolute}@keyframes ua{0%{transform:scale(1)}50%{transform:scale(1.5)}}.welcome_text_area{padding-top:70px}.video_btn{box-shadow:0 6px 50px 8px #1583e94d;display:inline-block;font-size:2rem;height:100px;left:90%;top:92%;transform:translate(-50%,-50%);width:100px;z-index:1}.features-icon,.icon_box{font-size:2.25rem;max-width:80px;text-align:center}.video_btn i{-webkit-background-clip:text;background-color:initial;background-image:linear-gradient(90deg,#e24997,#2d2ed4);font-size:3rem;line-height:100px;padding-left:28px}.video_btn .video-sonar{animation:2s linear infinite va;height:100%;left:0;top:0;width:100%;z-index:-10}.video_btn .video-sonar:before{background-color:#ffffffb3;border-radius:50%;content:"";height:160px;left:-30px;position:absolute;top:-30px;width:160px;z-index:-100}.video_btn .video-sonar:after{background-color:#fff;border-radius:50%;content:"";height:130px;left:-15px;position:absolute;top:-15px;width:130px;z-index:-50}@keyframes va{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.25)}}.using_benefits_area{overflow:hidden;position:relative;z-index:1}.showcode_area .benefit-top-thumbnail img,.using_benefits_area .benefit-top-thumbnail img{left:-2px;position:absolute;top:-2px;width:auto;z-index:-10}.showcode_area .benefit-bottom-thumbnail img,.using_benefits_area .benefit-bottom-thumbnail img{bottom:-2px;position:absolute;right:-2px;width:auto;z-index:-10}.honor_area,.showcode_area{background-color:#fff;overflow:hidden;position:relative;width:100%;z-index:1}.honor_area .honor_image{margin-bottom:60px;text-align:center;width:800px;z-index:-10}.feature-item{word-wrap:break-word;background-clip:initial;background-color:#fff;border:1px solid #eaecf3;border-radius:.5rem;cursor:pointer;display:flex;flex-direction:column;justify-content:center;margin-bottom:30px;min-width:0;padding:30px;position:relative;transition:.5s;z-index:2}.feature-item .single_benifits{min-height:185px}.feature-item:hover{box-shadow:0 1rem 3rem #1f2d3d21!important}.icon_box{background-color:#0d6efd;border-radius:50%;color:#fff;flex:0 0 80px;height:80px;margin-right:1.5rem;margin-top:2px;width:80px}.cour-function:first-child .icon_box{background:#31d1ab33}.cour-function:nth-child(2) .icon_box{background:#ff9f1c33}.cour-function:nth-child(3) .icon_box{background:#50b5ff33}.cour-function:nth-child(4) .icon_box{background:#59786233}.cour-function:nth-child(5) .icon_box{background:#03032d33}.cour-function:nth-child(6) .icon_box{background:#2872ff33}.features-icon i,.icon_box i{font-weight:700;line-height:80px}.cour-function:first-child .icon_box i{color:#31d1ab}.cour-function:nth-child(2) .icon_box i{color:#ff9f1c}.cour-function:nth-child(3) .icon_box i{color:#50b5ff}.cour-function:nth-child(4) .icon_box i{color:#597862}.cour-function:nth-child(5) .icon_box i{color:#03032d}.cour-function:nth-child(6) .icon_box i{color:#2872ff}.benifits_text h5{color:#020710;font-size:1.5rem}.benifits_text p{color:#6c7a87;font-size:.95rem;font-weight:600}.icon-gitee{height:18px;line-height:20px;margin-top:-2px;width:18px}.single_work_step{position:relative;text-align:center;z-index:1}.single_work_step:not(.single_work_step_last):before{color:#151e2e;content:"\ea46";font-family:LineIcons;font-size:3rem;height:70px;line-height:1;margin-left:-35px;margin-top:-35px;position:absolute;right:-50%;top:50%;transition-duration:.5s;width:70px;z-index:1}.single_work_step .step-icon{background-color:#fff;border-radius:50%;height:90px;margin:0 auto 30px;position:relative;transition-duration:.5s;width:90px;z-index:1}.single_work_step .step-icon i{color:#070a57;font-size:3rem;line-height:90px;transition-duration:.5s}.single_work_step p{font-weight:400;margin-bottom:0}.single_work_step h5,[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{transition-duration:.5s}.streampark-btn:before,[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{transition-duration:.3s}.single_work_step:focus:before,.single_work_step:hover:before{color:#0d6efd;right:-55%}.streampark-load{animation:1.5s linear infinite wa;background-color:initial;border:2px solid;border-color:#0000 #0000 #fff;border-radius:50%;height:50px;left:calc(50% - 25px);position:relative;top:calc(50% - 25px);width:50px;z-index:9}@keyframes wa{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.hide-navbar .navbar{border-bottom:1px solid #eaeaea}.mask-bg{background-color:#fff;background-image:url(/SolidUI-Website/assets/images/mymen-bg-9a67dc1b51a0c50891a3c4950b98c382.png);background-repeat:repeat-x;height:147px;width:3000px}.particles,.z-index-2{z-index:2}.footer.footer--dark{background-color:#1d253d}.feature-children{min-height:300px}.features-icon{background-color:#4c7cbb;border-radius:50%;color:#fff;flex:0 0 80px;height:80px;margin:2px auto;width:80px}.streampark-btn{border:2px solid #0000;border-radius:6px;color:#fff;display:inline-block;font-size:.875rem;font-weight:600;line-height:1;padding:1rem 1.5rem;position:relative;text-transform:uppercase;z-index:1}.streampark-btn.btn{background-color:#2872ff;border:0;color:#fff;height:45px;max-width:220px;position:relative}.streampark-btn:before{border:none;border-radius:6px;bottom:0;content:"";display:inline-block;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:51%;z-index:-1}.streampark-btn.btn-green:hover:before,.streampark-btn.btn-purple:hover:before,.streampark-btn.btn:hover:before{-webkit-transform:scaleX(1)}.streampark-btn.btn:before{background:#0d6efd}.streampark-btn.btn-green{background-color:#24a35a}.streampark-btn.btn-purple{background:linear-gradient(-45deg,#5e2ced,#a485fd)}.streampark-btn.btn:focus,.streampark-btn.btn:hover{background-color:#588af2;border:0;color:#fff}.streampark-btn.btn-green:before{background:green}.streampark-btn.btn-green:focus,.streampark-btn.btn-green:hover{background-color:green;border:0;color:#fff}.streampark-btn.btn-purple:before{background:#5e2ced}.streampark-btn.btn-purple:focus,.streampark-btn.btn-purple:hover{background:linear-gradient(-45deg,#5e2ced,#a485fd);border:none;color:#fff}.streampark-btn.btn-4{background-color:#2ecc71;box-shadow:0 2px 15px 3px #070a571a;color:#fff}.streampark-btn.btn-4:focus,.streampark-btn.btn-4:hover{background-color:#fff;color:#3f43fd}.home-wrap,.home-wrap .system_info{font-family:Poppins,sans-serif!important}.system_info .project_title{font-size:4.5875rem;font-weight:bolder;line-height:6.5rem;margin-bottom:15px}.tag{border-radius:30px 30px 30px 0}.text-bg{background-clip:text;-webkit-background-clip:text;background-image:linear-gradient(90deg,#007cf0,#00dfd8);padding-left:.5rem;padding-right:.5rem}.animated-gradient-text_background{display:block;position:relative;-webkit-user-select:none;user-select:none}.animated-gradient-text_background-1:before{animation:8s infinite ya}.animated-gradient-text_foreground-1{animation:8s infinite xa}.animated-gradient-text_background-2:before{animation:8s infinite Aa}.animated-gradient-text_foreground-2{animation:8s infinite za}.stop-hero-animation .animated-gradient-text_background,.stop-hero-animation .animated-gradient-text_background:before,.stop-hero-animation .animated-gradient-text_foreground{animation:none!important}.animated-gradient-text_foreground{background-clip:text;-webkit-background-clip:text;background-image:linear-gradient(90deg,var(--start-color),var(--end-color));padding-left:.5rem;padding-right:.5rem;position:relative;z-index:1}.animated-gradient-text_background:before{bottom:0;content:var(--content);display:block;left:0;padding-left:.5rem;padding-right:.5rem;position:absolute;top:0;width:100%;z-index:0}@keyframes xa{0%,16.667%,to{opacity:1}50%{opacity:0}}@keyframes ya{0%,16.667%,to{opacity:0}50%{opacity:1}}@keyframes za{0%,16.667%,66.667%,to{opacity:0}50%{opacity:1}}@keyframes Aa{0%,25%,58.333%,to{opacity:1}50%{opacity:0}}#preloader{background-color:#fff;bottom:0;height:100%;left:0;position:fixed;right:0;text-align:center;top:0;transition:opacity .3s;width:100%;z-index:999999}#preloader:after,#preloader:before{animation-duration:2s;animation-iteration-count:infinite;animation-name:Ba;animation-timing-function:linear;border:3px solid #040c61;border-radius:50%;content:"";display:block;height:80px;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:80px}#preloader:after{animation-delay:1s}@keyframes Ba{0%{height:0;opacity:0;width:0}10%{height:10px;opacity:1;width:10px}80%{height:60px;opacity:.1;width:60px}to{height:70px;opacity:0;width:70px}}.align-baseline{vertical-align:initial!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-75{opacity:.75!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none,[hidden]{display:none!important}.shadow{box-shadow:0 .3rem 1.8rem 0 #371a8633!important}.shadow-sm{box-shadow:0 .2rem 1.25rem 0 #371a861a!important}.shadow-lg{box-shadow:0 .4rem 2.2rem 0 #371a864d!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #e5e7eb!important}.border-0{border:0!important}.border-top{border-top:1px solid #e5e7eb!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #e5e7eb!important}.border-bottom{border-bottom:1px solid #e5e7eb!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #e5e7eb!important}.border-primary{--bs-border-opacity:1;border-color:rgba(91,43,224,var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(29,37,61,var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(24,121,88,var(--bs-border-opacity))!important}.border-1{--bs-border-width:1px}.border-2{--bs-border-width:2px}.border-3{--bs-border-width:3px}.border-4{--bs-border-width:4px}.border-5{--bs-border-width:5px}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-6{margin:4.5rem!important}.m-7{margin:6rem!important}.m-8{margin:9rem!important}.m-9{margin:12rem!important}.m-auto{margin:auto!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-5{margin-left:3rem!important;margin-right:3rem!important}.mx-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-7{margin-left:6rem!important;margin-right:6rem!important}.mx-8{margin-left:9rem!important;margin-right:9rem!important}.mx-9{margin-left:12rem!important;margin-right:12rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-8{margin-bottom:9rem!important;margin-top:9rem!important}.my-9{margin-bottom:12rem!important;margin-top:12rem!important}.my-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-6{margin-top:4.5rem!important}.mt-7{margin-top:6rem!important}.mt-8{margin-top:9rem!important}.mt-9{margin-top:12rem!important}.mt-auto{margin-top:auto!important}.me-6{margin-right:4.5rem!important}.me-7{margin-right:6rem!important}.me-8{margin-right:9rem!important}.me-9{margin-right:12rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-6{margin-bottom:4.5rem!important}.mb-7{margin-bottom:6rem!important}.mb-8{margin-bottom:9rem!important}.mb-9{margin-bottom:12rem!important}.mb-auto{margin-bottom:auto!important}.ms-6{margin-left:4.5rem!important}.ms-7{margin-left:6rem!important}.ms-8{margin-left:9rem!important}.ms-9{margin-left:12rem!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-3rem!important}.m-n6{margin:-4.5rem!important}.m-n7{margin:-6rem!important}.m-n8{margin:-9rem!important}.m-n9{margin:-12rem!important}.mx-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-n7{margin-left:-6rem!important;margin-right:-6rem!important}.mx-n8{margin-left:-9rem!important;margin-right:-9rem!important}.mx-n9{margin-left:-12rem!important;margin-right:-12rem!important}.my-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.my-n8{margin-bottom:-9rem!important;margin-top:-9rem!important}.my-n9{margin-bottom:-12rem!important;margin-top:-12rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-3rem!important}.mt-n6{margin-top:-4.5rem!important}.mt-n7{margin-top:-6rem!important}.mt-n8{margin-top:-9rem!important}.mt-n9{margin-top:-12rem!important}.me-n6{margin-right:-4.5rem!important}.me-n7{margin-right:-6rem!important}.me-n8{margin-right:-9rem!important}.me-n9{margin-right:-12rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-3rem!important}.mb-n6{margin-bottom:-4.5rem!important}.mb-n7{margin-bottom:-6rem!important}.mb-n8{margin-bottom:-9rem!important}.mb-n9{margin-bottom:-12rem!important}.ms-n6{margin-left:-4.5rem!important}.ms-n7{margin-left:-6rem!important}.ms-n8{margin-left:-9rem!important}.ms-n9{margin-left:-12rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.p-6{padding:4.5rem!important}.p-7{padding:6rem!important}.p-8{padding:9rem!important}.p-9{padding:12rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-5{padding-left:3rem!important;padding-right:3rem!important}.px-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-7{padding-left:6rem!important;padding-right:6rem!important}.px-8{padding-left:9rem!important;padding-right:9rem!important}.px-9{padding-left:12rem!important;padding-right:12rem!important}.py-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-7{padding-bottom:6rem!important;padding-top:6rem!important}.py-8{padding-bottom:9rem!important;padding-top:9rem!important}.py-9{padding-bottom:12rem!important;padding-top:12rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pt-6{padding-top:4.5rem!important}.pt-7{padding-top:6rem!important}.pt-8{padding-top:9rem!important}.pt-9{padding-top:12rem!important}.pe-6{padding-right:4.5rem!important}.pe-7{padding-right:6rem!important}.pe-8{padding-right:9rem!important}.pe-9{padding-right:12rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pb-6{padding-bottom:4.5rem!important}.pb-7{padding-bottom:6rem!important}.pb-8{padding-bottom:9rem!important}.pb-9{padding-bottom:12rem!important}.ps-6{padding-left:4.5rem!important}.ps-7{padding-left:6rem!important}.ps-8{padding-left:9rem!important}.ps-9{padding-left:12rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.gap-6{gap:4.5rem!important}.gap-7{gap:6rem!important}.gap-8{gap:9rem!important}.gap-9{gap:12rem!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fst-normal{font-style:normal!important}.fw-semibold{font-weight:600!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.3!important}.lh-lg{line-height:2!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{color:rgba(91,43,224,var(--bs-text-opacity))!important}.text-secondary{color:rgba(29,37,61,var(--bs-text-opacity))!important}.text-success{color:rgba(24,121,88,var(--bs-text-opacity))!important}.text-info{color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{color:rgba(255,204,67,var(--bs-text-opacity))!important}.text-danger{color:rgba(220,53,69,var(--bs-text-opacity))!important}.text-light{color:rgba(249,250,251,var(--bs-text-opacity))!important}.text-dark{color:rgba(17,24,39,var(--bs-text-opacity))!important}.text-white{color:rgba(255,255,255,var(--bs-text-opacity))!important}.text-black{color:rgba(0,0,0,var(--bs-text-opacity))!important}.text-muted{color:#6b7280!important}.text-black-50{color:#00000080!important}.text-white-50{color:#ffffff80!important}.text-reset{color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{background-color:rgba(91,43,224,var(--bs-bg-opacity))!important}.bg-secondary-home{--bs-bg-opacity:1;background-color:rgba(29,37,61,var(--bs-bg-opacity))!important}.bg-success{background-color:rgba(24,121,88,var(--bs-bg-opacity))!important}.bg-warning{background-color:rgba(255,204,67,var(--bs-bg-opacity))!important}.bg-danger{background-color:rgba(220,53,69,var(--bs-bg-opacity))!important}.bg-light{background-color:rgba(249,250,251,var(--bs-bg-opacity))!important}.bg-dark{background-color:rgba(17,24,39,var(--bs-bg-opacity))!important}.bg-white{background-color:rgba(255,255,255,var(--bs-bg-opacity))!important}.bg-black{background-color:rgba(0,0,0,var(--bs-bg-opacity))!important}.bg-transparent{background-color:initial!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:linear-gradient(180deg,#ffffff26,#fff0)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded,.rounded-2{border-radius:.375rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-2xl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-start,.rounded-top{border-top-left-radius:.375rem!important}.rounded-end,.rounded-top{border-top-right-radius:.375rem!important}.rounded-bottom,.rounded-end{border-bottom-right-radius:.375rem!important}.rounded-bottom,.rounded-start{border-bottom-left-radius:.375rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.start-1{left:1rem}.end-1{right:1rem}.top-1{top:1rem}.bottom-1{bottom:1rem}.w-150{width:150%}.z-index-n100{z-index:-100}.z-index-n10{z-index:-10}.z-index-n5{z-index:-5}.z-index-n4{z-index:-4}.z-index-n3{z-index:-3}.z-index-n2{z-index:-2}.z-index-n1{z-index:-1}.z-index-5{z-index:5}.z-index-10{z-index:10}.z-index-20{z-index:20}.z-index-50{z-index:50}.z-index-100{z-index:100}.lg-backdrop{z-index:1100}.lg-outer{z-index:1200}.opacity-10{opacity:.1!important}.opacity-20{opacity:.2!important}.opacity-30{opacity:.3!important}.opacity-40{opacity:.4!important}.opacity-50{opacity:.5!important}.opacity-60{opacity:.6!important}.opacity-70{opacity:.7!important}.opacity-80{opacity:.8!important}.opacity-90{opacity:.9!important}.opacity-100{opacity:1!important}.overlay{border-radius:inherit;height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%}.scroller{animation-duration:1.5s;animation-iteration-count:infinite;animation-name:Ca;animation-timing-function:cubic-bezier(.15,.41,.69,.94);background-color:#fff;border-radius:25%;height:.6rem;width:3px}@keyframes Ca{0%{opacity:0}10%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(15px)}}.scale-2 svg{transform:scale(2) rotate(90deg)}.scale-3 svg{transform:scale(3) rotate(135deg)}.scale-4 svg{transform:scale(4) rotate(180deg)}.scale-5 svg{transform:scale(5) rotate(225deg)}.scale-6 svg{transform:scale(6) rotate(270deg)}.scale-7 svg{transform:scale(7) rotate(315deg)}.scale-8 svg{transform:scale(8) rotate(160deg)}.showcase-img{background-size:cover;min-height:20rem;position:relative}.icon-center{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.rotate-45{transform:rotate(45deg)}.rotate-135{transform:rotate(135deg)}.fa-rotate-180,.rotate-180{transform:rotate(180deg)}.rotate-225{transform:rotate(225deg)}.fa-rotate-270,.rotate-270{transform:rotate(270deg)}.rotate-315{transform:rotate(315deg)}.text-shadow{text-shadow:0 .1em 2em #0006}.bg-gradient-primary{background-color:var(--bs-primary);background-image:linear-gradient(130deg,#3f6bb3 15%,#8ed1df)!important}.bg-gradient-secondary{background-color:var(--bs-secondary);background-image:linear-gradient(130deg,#171e31 15%,#1d253d 40%,#1d253d 60%,#0c0f18)!important}.waves-top-center{bottom:auto;left:0;position:absolute;right:0;top:-1px}.waves-bottom-center,.waves-bottom-end,.waves-bottom-start{bottom:-1px;position:absolute}.waves-bottom-center{left:0;right:0;top:auto}.waves-top-start{left:0;position:absolute;top:-1px}.waves-top-end{position:absolute;right:0;top:-1px}.waves-bottom-start{left:0}.waves-bottom-end{right:0}.translate-top-1{transform:translateY(-1rem)}.translate-bottom-1{transform:translateY(1rem)}.translate-top-2{transform:translateY(-2rem)}.translate-bottom-2{transform:translateY(2rem)}.translate-top-3{transform:translateY(-3rem)}.translate-bottom-3{transform:translateY(3rem)}.translate-top-4{transform:translateY(-4rem)}.translate-bottom-4{transform:translateY(4rem)}.translate-top-5{transform:translateY(-5rem)}.translate-bottom-5{transform:translateY(5rem)}@keyframes Da{0%{transform:scaleY(0);-webkit-transform:scaleY(0)}to{transform:scale(1);-webkit-transform:scale(1)}}.waves-animate>svg{animation:3s cubic-bezier(.23,1,.32,1) forwards Da;-webkit-animation:3s cubic-bezier(.23,1,.32,1) forwards Da;display:block;transform-origin:bottom}.display-1{font-size:calc(1.5625rem + 3.75vw)}.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{font-weight:300;line-height:1.3}.display-2{font-size:calc(1.50625rem + 3.075vw)}.display-3{font-size:calc(1.425rem + 2.1vw)}.display-4{font-size:calc(1.40625rem + 1.875vw)}.display-5{font-size:calc(1.39375rem + 1.725vw)}.display-6{font-size:calc(1.375rem + 1.5vw)}.initialism{font-size:.8em;text-transform:uppercase}.blockquote{font-size:1.25rem;margin-bottom:1rem}.blockquote-footer{color:#4b5563;font-size:.8em;margin-bottom:1rem;margin-top:-1rem}.blockquote-footer:before{content:"— "}.img-fluid,.img-thumbnail{height:auto;max-width:100%}.img-thumbnail{background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;padding:.25rem}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.row>*{padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}.figure-img{line-height:1;margin-bottom:.5rem}.figure-caption{color:#4b5563;font-size:.875rem}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-left:auto;margin-right:auto}.row{--bs-gutter-x:1.5rem;display:flex;flex-wrap:wrap;margin-left:calc(var(--bs-gutter-x)*-.5);margin-right:calc(var(--bs-gutter-x)*-.5);margin-top:calc(var(--bs-gutter-y)*-1)}.row>*{flex-shrink:0;margin-top:var(--bs-gutter-y);max-width:100%}.col{flex:1 0 0%}.col-auto,.row-cols-auto>*{flex:0 0 auto;width:auto}.col-12,.row-cols-1>*{flex:0 0 auto;width:100%}.col-6,.row-cols-2>*{flex:0 0 auto;width:50%}.col-4,.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.col-3,.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.col-2,.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-1,.col-5{flex:0 0 auto}.col-1{width:8.33333333%}.col-5{width:41.66666667%}.col-7,.col-8{flex:0 0 auto}.col-7{width:58.33333333%}.col-8{width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}.g-6,.gx-6{--bs-gutter-x:4.5rem}.g-6,.gy-6{--bs-gutter-y:4.5rem}.g-7,.gx-7{--bs-gutter-x:6rem}.g-7,.gy-7{--bs-gutter-y:6rem}.g-8,.gx-8{--bs-gutter-x:9rem}.g-8,.gy-8{--bs-gutter-y:9rem}.g-9,.gx-9{--bs-gutter-x:12rem}.g-9,.gy-9{--bs-gutter-y:12rem}.animated-up-down{animation:1.5s ease-in-out infinite alternate-reverse both Ea;-webkit-animation:1.5s ease-in-out infinite alternate-reverse both Ea}@keyframes Ea{0%{transform:translateY(0);-webkit-transform:translateY(0)}to{transform:translateY(-10px);-webkit-transform:translateY(-10px)}}.icon-center:hover .play-btn-hover{animation:2s linear infinite Fa}@keyframes Fa{0%{box-shadow:0 0 0 0 #e4e4e4b3}40%{box-shadow:0 0 0 50px #e0e0e000}80%{box-shadow:0 0 0 50px #cecece00}to{box-shadow:0 0 0 #c7c7c700}}.collapse-arrow-end{transform:rotate(-180deg);-webkit-transform:rotate(-180deg)}.collapse-arrow-end,.collapse-plus-end{transition:transform 1s;-webkit-transition:transform 1s}.collapse-plus-end{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}.collapsed .collapse-arrow-end,.collapsed .collapse-plus-end{transform:rotate(0);-webkit-transform:rotate(0)}.particle-move-up{bottom:-150px;display:block;list-style:none;position:absolute}.fa,.fa-stack{display:inline-block}.particle-move-up-1,.particle-move-up-2,.particle-move-up-3,.particle-move-up-4,.particle-move-up-5,.particle-move-up-6,.particle-move-up-7,.particle-move-up-8,.particle-move-up-9{animation-iteration-count:infinite;animation-timing-function:linear}.particle-move-up-1{animation-delay:0s;animation-duration:45s;animation-name:Ga;left:25%}.particle-move-up-2{animation-delay:2s;animation-duration:32s;animation-name:Ga;left:10%}.particle-move-up-3{animation-delay:4s;animation-duration:36s;animation-name:Ga;left:70%}.particle-move-up-4{animation-duration:27s;left:40%}.particle-move-up-4,.particle-move-up-5{animation-delay:0s;animation-name:Ga}.particle-move-up-5{animation-duration:38s;left:65%}.particle-move-up-6{animation-delay:3s;left:75%}.particle-move-up-6,.particle-move-up-7{animation-duration:25s;animation-name:Ga}.particle-move-up-7{animation-delay:7s;left:35%}.particle-move-up-8{animation-delay:15s;animation-duration:45s;animation-name:Ga;left:50%}.particle-move-up-9{animation-delay:2s;animation-duration:35s;animation-name:Ga;right:15%}@keyframes Ga{0%{border-radius:0;opacity:1;transform:translateY(0)}to{border-radius:50%;opacity:0;transform:translateY(-1000px)}}.hover-none:hover .d-hover-block{display:block;transition:.3s}.hover-box-down:hover{transform:translateY(10px)}.hover-button-up{transition:.1s ease-in-out}.hover-button-up:hover{transform:translate3d(0,-2px,0)}.hover-button-up:hover,.hover-shadow-sm:hover{box-shadow:0 .2rem 1.25rem 0 rgba(77,91,237,.102)}hr.divider{background:linear-gradient(90deg,#e24997,#2d2ed4);border-bottom-width:1px;border-top-width:1px;height:.125rem;margin-left:auto;margin-right:auto;max-width:8rem;opacity:.85}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}hr.divider.double-hr{border-style:solid;height:.25rem;max-width:7rem;opacity:.85}.process-vertical{list-style:none;margin:0}.process-vertical .process-vertical-item:last-child .process-vertical-icon:before{bottom:.5rem}.process-vertical .process-vertical-item .process-vertical-icon{flex-shrink:0;position:relative;text-align:center;width:4rem}.process-vertical .process-vertical-item .process-vertical-icon:before{border-left:2px dashed #e5e7eb;bottom:-2rem;content:"";left:45%;position:absolute;top:4rem}.process-vertical .process-vertical-item .process-vertical-icon .process-vertical-icon-bg{background:#f9fafb;border:1px solid #e5e7eb;height:4rem;line-height:4rem;width:4rem}.process-vertical .process-vertical-item .process-vertical-icon span{font-size:1.3rem}.process-vertical-content{margin-bottom:3rem;margin-left:1rem}.process-horizontal li{float:left;font-size:1.25rem;list-style-type:none;position:relative;text-align:center;width:25%}.process-horizontal li.active,.process-horizontal li:hover{color:var(--bs-primary);cursor:pointer}.process-horizontal li:before{background-color:#fff;border:1px solid #ddd;border-radius:50%;display:block;height:1.875rem;line-height:1.875rem;margin:0 auto 10px;text-align:center;width:1.875rem}.process-horizontal li:after{border-bottom:2px dashed #e5e7eb;content:"";left:-50%;position:absolute;top:1.5rem;width:100%;z-index:-1}.process-horizontal li svg{background:#f9fafb;border:1px solid #e5e7eb;border-radius:50%}.border-dot{border:1px dashed #e8e8e8;margin-bottom:80px;max-width:500px}.user-main .main_title{color:#2c3e50;font-size:32px;line-height:46px;padding:60px 0 20px}.user-main .desc{color:#2c3e50;font-size:17px;line-height:40px;margin-bottom:20px;text-align:center}.user-main .home_block{padding:20px 0}.user-main .user_case{grid-row-gap:20px;grid-column-gap:20px;display:grid;grid-template-columns:repeat(6,1fr);margin-bottom:20px}.user-main .user_case .case_item{align-items:center;background:#fff;border:1px solid #eaecef;border-radius:4px;box-shadow:0 1px 2px 0 #f8f9fa;display:flex;height:80px;justify-content:center;margin:5px;min-width:0}.user-main .user_case .case_item.case_hover{transition:.3s}.user-main .user_case .case_item.case_hover:hover{box-shadow:0 1rem 2rem #0000000d;transform:translateY(-10px)}.user-main .user_case .case_item>img{max-height:90%;max-width:90%}[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{transition-duration:50ms}[data-aos][data-aos][data-aos-delay="100"],[data-aos][data-aos][data-aos-delay="1000"],[data-aos][data-aos][data-aos-delay="1050"],[data-aos][data-aos][data-aos-delay="1100"],[data-aos][data-aos][data-aos-delay="1150"],[data-aos][data-aos][data-aos-delay="1200"],[data-aos][data-aos][data-aos-delay="1250"],[data-aos][data-aos][data-aos-delay="1300"],[data-aos][data-aos][data-aos-delay="1350"],[data-aos][data-aos][data-aos-delay="1400"],[data-aos][data-aos][data-aos-delay="1450"],[data-aos][data-aos][data-aos-delay="150"],[data-aos][data-aos][data-aos-delay="1500"],[data-aos][data-aos][data-aos-delay="1550"],[data-aos][data-aos][data-aos-delay="1600"],[data-aos][data-aos][data-aos-delay="1650"],[data-aos][data-aos][data-aos-delay="1700"],[data-aos][data-aos][data-aos-delay="1750"],[data-aos][data-aos][data-aos-delay="1800"],[data-aos][data-aos][data-aos-delay="1850"],[data-aos][data-aos][data-aos-delay="1900"],[data-aos][data-aos][data-aos-delay="1950"],[data-aos][data-aos][data-aos-delay="200"],[data-aos][data-aos][data-aos-delay="2000"],[data-aos][data-aos][data-aos-delay="2050"],[data-aos][data-aos][data-aos-delay="2100"],[data-aos][data-aos][data-aos-delay="2150"],[data-aos][data-aos][data-aos-delay="2200"],[data-aos][data-aos][data-aos-delay="2250"],[data-aos][data-aos][data-aos-delay="2300"],[data-aos][data-aos][data-aos-delay="2350"],[data-aos][data-aos][data-aos-delay="2400"],[data-aos][data-aos][data-aos-delay="2450"],[data-aos][data-aos][data-aos-delay="250"],[data-aos][data-aos][data-aos-delay="2500"],[data-aos][data-aos][data-aos-delay="2550"],[data-aos][data-aos][data-aos-delay="2600"],[data-aos][data-aos][data-aos-delay="2650"],[data-aos][data-aos][data-aos-delay="2700"],[data-aos][data-aos][data-aos-delay="2750"],[data-aos][data-aos][data-aos-delay="2800"],[data-aos][data-aos][data-aos-delay="2850"],[data-aos][data-aos][data-aos-delay="2900"],[data-aos][data-aos][data-aos-delay="2950"],[data-aos][data-aos][data-aos-delay="300"],[data-aos][data-aos][data-aos-delay="3000"],[data-aos][data-aos][data-aos-delay="350"],[data-aos][data-aos][data-aos-delay="400"],[data-aos][data-aos][data-aos-delay="450"],[data-aos][data-aos][data-aos-delay="50"],[data-aos][data-aos][data-aos-delay="500"],[data-aos][data-aos][data-aos-delay="550"],[data-aos][data-aos][data-aos-delay="600"],[data-aos][data-aos][data-aos-delay="650"],[data-aos][data-aos][data-aos-delay="700"],[data-aos][data-aos][data-aos-delay="750"],[data-aos][data-aos][data-aos-delay="800"],[data-aos][data-aos][data-aos-delay="850"],[data-aos][data-aos][data-aos-delay="900"],[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="100"] [data-aos],body[data-aos-delay="1000"] [data-aos],body[data-aos-delay="1050"] [data-aos],body[data-aos-delay="1100"] [data-aos],body[data-aos-delay="1150"] [data-aos],body[data-aos-delay="1200"] [data-aos],body[data-aos-delay="1250"] [data-aos],body[data-aos-delay="1300"] [data-aos],body[data-aos-delay="1350"] [data-aos],body[data-aos-delay="1400"] [data-aos],body[data-aos-delay="1450"] [data-aos],body[data-aos-delay="150"] [data-aos],body[data-aos-delay="1500"] [data-aos],body[data-aos-delay="1550"] [data-aos],body[data-aos-delay="1600"] [data-aos],body[data-aos-delay="1650"] [data-aos],body[data-aos-delay="1700"] [data-aos],body[data-aos-delay="1750"] [data-aos],body[data-aos-delay="1800"] [data-aos],body[data-aos-delay="1850"] [data-aos],body[data-aos-delay="1900"] [data-aos],body[data-aos-delay="1950"] [data-aos],body[data-aos-delay="200"] [data-aos],body[data-aos-delay="2000"] [data-aos],body[data-aos-delay="2050"] [data-aos],body[data-aos-delay="2100"] [data-aos],body[data-aos-delay="2150"] [data-aos],body[data-aos-delay="2200"] [data-aos],body[data-aos-delay="2250"] [data-aos],body[data-aos-delay="2300"] [data-aos],body[data-aos-delay="2350"] [data-aos],body[data-aos-delay="2400"] [data-aos],body[data-aos-delay="2450"] [data-aos],body[data-aos-delay="250"] [data-aos],body[data-aos-delay="2500"] [data-aos],body[data-aos-delay="2550"] [data-aos],body[data-aos-delay="2600"] [data-aos],body[data-aos-delay="2650"] [data-aos],body[data-aos-delay="2700"] [data-aos],body[data-aos-delay="2750"] [data-aos],body[data-aos-delay="2800"] [data-aos],body[data-aos-delay="2850"] [data-aos],body[data-aos-delay="2900"] [data-aos],body[data-aos-delay="2950"] [data-aos],body[data-aos-delay="300"] [data-aos],body[data-aos-delay="3000"] [data-aos],body[data-aos-delay="350"] [data-aos],body[data-aos-delay="400"] [data-aos],body[data-aos-delay="450"] [data-aos],body[data-aos-delay="50"] [data-aos],body[data-aos-delay="500"] [data-aos],body[data-aos-delay="550"] [data-aos],body[data-aos-delay="600"] [data-aos],body[data-aos-delay="650"] [data-aos],body[data-aos-delay="700"] [data-aos],body[data-aos-delay="750"] [data-aos],body[data-aos-delay="800"] [data-aos],body[data-aos-delay="850"] [data-aos],body[data-aos-delay="900"] [data-aos],body[data-aos-delay="950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{transition-delay:50ms}[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{transition-duration:.1s}[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{transition-delay:.1s}[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{transition-duration:.15s}[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{transition-delay:.15s}[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{transition-duration:.2s}[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{transition-delay:.2s}[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{transition-duration:.25s}[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{transition-delay:.25s}[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{transition-delay:.3s}[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{transition-duration:.35s}[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{transition-delay:.35s}[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{transition-duration:.4s}[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{transition-delay:.4s}[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{transition-duration:.45s}[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{transition-delay:.45s}[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{transition-delay:.5s}[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{transition-duration:.55s}[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{transition-delay:.55s}[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{transition-duration:.6s}[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{transition-delay:.6s}[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{transition-duration:.65s}[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{transition-delay:.65s}[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{transition-duration:.7s}[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{transition-delay:.7s}[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{transition-duration:.75s}[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate{transition-delay:.75s}[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos]{transition-duration:.8s}[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate{transition-delay:.8s}[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos]{transition-duration:.85s}[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate{transition-delay:.85s}[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos]{transition-duration:.9s}[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate{transition-delay:.9s}[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos]{transition-duration:.95s}[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate{transition-delay:.95s}[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos]{transition-duration:1s}[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate{transition-delay:1s}[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos]{transition-duration:1.05s}[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate{transition-delay:1.05s}[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos]{transition-duration:1.1s}[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate{transition-delay:1.1s}[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos]{transition-duration:1.15s}[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate{transition-delay:1.15s}[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos]{transition-duration:1.2s}[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate{transition-delay:1.2s}[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos]{transition-duration:1.25s}[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate{transition-delay:1.25s}[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos]{transition-duration:1.3s}[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate{transition-delay:1.3s}[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos]{transition-duration:1.35s}[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate{transition-delay:1.35s}[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos]{transition-duration:1.4s}[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate{transition-delay:1.4s}[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos]{transition-duration:1.45s}[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate{transition-delay:1.45s}[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos]{transition-duration:1.5s}[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate{transition-delay:1.5s}[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos]{transition-duration:1.55s}[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate{transition-delay:1.55s}[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos]{transition-duration:1.6s}[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate{transition-delay:1.6s}[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos]{transition-duration:1.65s}[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate{transition-delay:1.65s}[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos]{transition-duration:1.7s}[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate{transition-delay:1.7s}[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos]{transition-duration:1.75s}[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate{transition-delay:1.75s}[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos]{transition-duration:1.8s}[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate{transition-delay:1.8s}[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos]{transition-duration:1.85s}[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate{transition-delay:1.85s}[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos]{transition-duration:1.9s}[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate{transition-delay:1.9s}[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos]{transition-duration:1.95s}[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate{transition-delay:1.95s}[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos]{transition-duration:2s}[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate{transition-delay:2s}[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos]{transition-duration:2.05s}[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate{transition-delay:2.05s}[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos]{transition-duration:2.1s}[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate{transition-delay:2.1s}[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos]{transition-duration:2.15s}[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate{transition-delay:2.15s}[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos]{transition-duration:2.2s}[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate{transition-delay:2.2s}[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos]{transition-duration:2.25s}[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate{transition-delay:2.25s}[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos]{transition-duration:2.3s}[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate{transition-delay:2.3s}[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos]{transition-duration:2.35s}[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate{transition-delay:2.35s}[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos]{transition-duration:2.4s}[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate{transition-delay:2.4s}[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos]{transition-duration:2.45s}[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate{transition-delay:2.45s}[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos]{transition-duration:2.5s}[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate{transition-delay:2.5s}[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos]{transition-duration:2.55s}[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate{transition-delay:2.55s}[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos]{transition-duration:2.6s}[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate{transition-delay:2.6s}[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos]{transition-duration:2.65s}[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate{transition-delay:2.65s}[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos]{transition-duration:2.7s}[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate{transition-delay:2.7s}[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos]{transition-duration:2.75s}[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate{transition-delay:2.75s}[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos]{transition-duration:2.8s}[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate{transition-delay:2.8s}[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos]{transition-duration:2.85s}[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate{transition-delay:2.85s}[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos]{transition-duration:2.9s}[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate{transition-delay:2.9s}[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos]{transition-duration:2.95s}[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate{transition-delay:2.95s}[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos]{transition-duration:3s}[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate{transition-delay:3s}[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{transition-timing-function:cubic-bezier(.25,.25,.75,.75)}[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{transition-timing-function:ease}[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{transition-timing-function:ease-in}[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{transition-timing-function:ease-out}[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{transition-timing-function:ease-in-out}[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-aos][data-aos][data-aos-easing=ease-in-cubic],[data-aos][data-aos][data-aos-easing=ease-in-quad],[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-cubic] [data-aos],body[data-aos-easing=ease-in-quad] [data-aos],body[data-aos-easing=ease-in-quart] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-cubic],[data-aos][data-aos][data-aos-easing=ease-out-quad],[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-cubic] [data-aos],body[data-aos-easing=ease-out-quad] [data-aos],body[data-aos-easing=ease-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],[data-aos][data-aos][data-aos-easing=ease-in-out-quad],[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-cubic] [data-aos],body[data-aos-easing=ease-in-out-quad] [data-aos],body[data-aos-easing=ease-in-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos^=fade][data-aos^=fade],[data-aos^=zoom][data-aos^=zoom]{opacity:0;transition-property:opacity,transform}[data-aos^=fade][data-aos^=fade].aos-animate{opacity:1;transform:translateZ(0)}[data-aos=fade-up]{transform:translate3d(0,100px,0)}[data-aos=fade-down]{transform:translate3d(0,-100px,0)}[data-aos=fade-right]{transform:translate3d(-100px,0,0)}[data-aos=fade-left]{transform:translate3d(100px,0,0)}[data-aos=fade-up-right]{transform:translate3d(-100px,100px,0)}[data-aos=fade-up-left]{transform:translate3d(100px,100px,0)}[data-aos=fade-down-right]{transform:translate3d(-100px,-100px,0)}[data-aos=fade-down-left]{transform:translate3d(100px,-100px,0)}[data-aos^=zoom][data-aos^=zoom].aos-animate{opacity:1;transform:translateZ(0) scale(1)}[data-aos=zoom-in]{transform:scale(.6)}[data-aos=zoom-in-up]{transform:translate3d(0,100px,0) scale(.6)}[data-aos=zoom-in-down]{transform:translate3d(0,-100px,0) scale(.6)}[data-aos=zoom-in-right]{transform:translate3d(-100px,0,0) scale(.6)}[data-aos=zoom-in-left]{transform:translate3d(100px,0,0) scale(.6)}[data-aos=zoom-out]{transform:scale(1.2)}[data-aos=zoom-out-up]{transform:translate3d(0,100px,0) scale(1.2)}[data-aos=zoom-out-down]{transform:translate3d(0,-100px,0) scale(1.2)}[data-aos=zoom-out-right]{transform:translate3d(-100px,0,0) scale(1.2)}[data-aos=zoom-out-left]{transform:translate3d(100px,0,0) scale(1.2)}[data-aos=slide-up]{transform:translate3d(0,100%,0)}[data-aos=slide-down]{transform:translate3d(0,-100%,0)}[data-aos=slide-right]{transform:translate3d(-100%,0,0)}[data-aos=slide-left]{transform:translate3d(100%,0,0)}[data-aos^=flip][data-aos^=flip]{backface-visibility:hidden;transition-property:transform}[data-aos=flip-left]{transform:perspective(2500px) rotateY(-100deg)}[data-aos=flip-left].aos-animate,[data-aos=flip-right].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-right]{transform:perspective(2500px) rotateY(100deg)}[data-aos=flip-up]{transform:perspective(2500px) rotateX(-100deg)}[data-aos=flip-down].aos-animate,[data-aos=flip-up].aos-animate{transform:perspective(2500px) rotateX(0)}[data-aos=flip-down]{transform:perspective(2500px) rotateX(100deg)}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:400;src:url(/SolidUI-Website/assets/fonts/devanagari-1-64d5f06ee726edd58ca33456c8ead0cb.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf6,u+1cf8-1cf9,u+200c-200d,u+20a8,u+20b9,u+25cc,u+a830-a839,u+a8e0-a8fb}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAABWoAAwAAAAAMsgAABVWAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAIIACskovF0LgmQAATYCJAOFRAQgBYNcB4ohG0MqVUaGjQOAOH53UZQHRgv+/5LAyRi/ObhWolrxUM8pbq7lDl3rRIaGgiAuOJCVt0Ps5weIZSHTXFnYxTJyOXIWsxjRm8VPdjMC+mm/iSg3cw9T5rF3h/Q/LWxyjIZGEpPne/b73z4zXzT9n7ESSNa8QhdfHSIvFBqJSqKZpCRakqU7P89v8w9YjRkgKhiElTziEYIgonDBRnsKKFurC/fnMtXpunQV6Y/SZQycc/ubVtFvikI/yMEvertSNMrBPqFgSWdKPvtBspupE/LWZcGtZwoWEC5rrkg8ofMMRdpay2TeJa8YHWGJhDoSwjwLC6QIFmRlhWn8a63cqaEmwFpae/wcl2wTaJtDl7VdeaZ2xOUQP0mfNwmmY8NGswVAXjy6/9NlttLOjIlkH0N3Kbq1i0pFn6YZf4+WRrMsZ9GAOsD1BVDWHmgV0gFXAXw9IrweuWigxjZ9m5SpY87SMtJe35YIYRTHMcIIp923/brZMZRqd9Ezy2y1rC2v8mVQNWKA8SQFwA4ECEDgnpMowRYsAZgRpoXRolls7HNLb2aBxySVnRGQdcdrFqMyjxVAdVURcHnaJMVYwVG3Dm6W54mLV/gyOA7A8QNLv6Vf5VpTmY4BPAEUpQ4CxyrOLwC9+pAFELjVEv7jJ21vjhewDyGxwU4hh5Gk4JEHRZ9JmZsF+VHRUh+ZJr4L+hISErJRPigfUdxbgPz7AwR77JrIJCYlkihTnJpN6/cKLWwX3wZ9JoN/Efr1ZxqGZpuqKLA0iXemlqfL6ifnJfnFgbo9tbNrtAC/3z7rBgKsYluxoe2+Vz9xyoHHYOsFYM8HrHWBOh8vxCSI24QQI6rBhDXpTjSwB8Pi1wrUyl8AtkntDB3K2NtYBQbrlkQoXy9Y1QtEOAiyfJ5mKX+PxurCJpjy0HECDX0HXtmaPpc42DHpBJ/NWvrGSUkZY9ss48EwMdNnWmKWABu08o62HJxsXGytNZ/xRNLKiSZgyniC5hXI61muypywJYr/3/peJqfbKq2+/DByomX03iStAO3mSS8t87tzmu0GvjdByNCT34UypDgZZLGWMJq1xqwi+jh78f0kuoISgnLK4j2S9Rmz893P0/wNs1qzlibtvVHuANOAgd4ZSkCxRv4/KUSt71kbHUQbY0DjbEkZTpEXDyqE1FxUdDNBSckevf6jOf9eSuUjZHGVSV/V5AwwEDhgWw7Mu5i2jQ4Qu2nWxTPmHwmfTYMco6lSnKccsToypoWO4GuRyB0gNLI+I5wYjlC0OpzhA3J82lr95C0QgJTNQM2235Hw65sGZJJFmDEU56hgQ5l4bWJZktJJmeZUBm9rUWCQiHOY8B2wcZovIxnwMECZInJN42n+HRqU170aIfQd5KAumv3mv9Oi5skZq+M8LyxvOO91aInVvGMK2cktUgoBLX0vwSCR/QFQCTi3vjVBnVChGSjHBoEMZFH8ZO1dKIBxQfOJvKYdi/w3BEMJAWyJB5QIE7hu0WJKpN++SR++ZjNmJ6xHoIakp8LTlOsyEv1FOWSiLWka7x8vgkJbJwhZFFvP8wL8n9aBYF6gBoTnQT2Td2QA1+0DCNM+tuFyt6+wefSy/2aGXt4KasTxeEATs+EPpj459Dmxax5SRieJoEFf03dAXQj1BJGQS1PnWUQMmg74XhgycOs7VmfUWrIcsAPGzLGU1PB5YfSei2q2Xb3mS2wr8VnSCopQG7/pe8wy5EDzaRmVZiw6j1hsktHzauaYXZTMQE2p0mAbUijnlhhNpPJRjEk8Ptxj0ZBDHix29lkTcfy1GwRZxxldLIqH9kN12nSCzcdZkZndkwq63NI4sIVEX7DhgzQSGKW3pXs5/uguW4+OlOnUO7mRRb2rlXRSdTqC+U0+C/EFz7gzRJiliTQ+55hXVvs7dMNtQ8hWY/9knD900Qt3gMw60QaKYt4EyFAzdukoAXgP6hB6pyQJsIUWXQcRxtA8rrTbjH1lWmloSVPHB2sdWnEayVj2m1SiuepO2vbpMO8Pqc6UlNyYfNaTZKYPd1s87eRW4ohiv81aqJU9sBlZM9c1Ac8aYEjuKWO4TnYzFXWuvpgou0JHPb4L06SHrv9+nb9UVjPWC+RObNZcKHcj6V56hZebKTdMQHaCNZPBXn7LOikb5f3qwX5h63pdMkRghd02M8lLSbcg0fVY+vPUbcpZKHL/vJDBBxk5AiVPNCxO3a2nkXOdNcHcj9/+b1Y8NMM48fMZ/cTPxLofxPXYPxV03V80I9HhbnbWgeB4CPL+Bl+Yxxk15imdYpyfkSXgSTo9fmVy+8Mi/4yEGLZAE5FabELWiuKM7KTEhJ6IIK7R/ojAl8aKYeBaWqa6UWuZp8tYn8juocKNTm4dnE5bbnquMbRENt3cMlkJFZP0pRVVjRWzjQ3OrpU8jpCkEWIhWAf8tZORtKL0217r696rfGhiSfo3BdpJ1N+DyoybGqmVjVcbMInQhOVMUObnTDBhQkkD52ojtWJTg7GsR4P6qmDpwHplUXd9fdGq9Qrjg8EHnY2z53RMnjO/cxJlEmwY9fdP8c/XAeLRB0eLQfvpciNHKGzhcCYoFJzxLRxh1ZSx9tVeotF8mwI0Z7FCW9ar0fZVVWn7ezVlTZsbqRWwYWAQDcIG4XuRbBCBIdFIo6ODqDGKhiDC2kX6Q+VlGuqrrqb8lspxaQvGmZiv5EwwYSJRpDGuzJfp7L+YEA6vCxgViAZfyBoSElAarmhUuG0nt+s7RUI8IxPHxJ0wVNDAyFDZlmXzOdwcUTY7cleO7ySum4KcKslJSSmsieOWTyizyasUCNMzUgSpCdQdf83lkvIpaRIOO0Fdm4TDl4HB0SbUdEwE6wYGdRq1PE+j1g2igUKe2ZwiEplTuObCAUhbMHhhoKqPsYFRCSdvlC2VbpBW9UqWSSB+4OUuG2Tzapd+S+mWUlguVcqO4/JQqewgDr+v5942yIBWjU0y84R4bUZPpZairdpRlykQtgqwjvxr6UykZLDZ+XFMlJnF1OZLNFHOM3nf02N4Uv3kMg9V+Y28lHRpSV15RUm9NF2W9KrcM39KZYV0DA9rU0G2Hb3fMq9Sg6dJE3+Ue0qnlJdLx/F47QUFWNs4bp50NJZtFuv4MSIplcErLbTO1UDr4DqTHhNDnNVizpE1zNU7Fmpe6NI54mJdgWlHbZZAaLaSK83frUuPbH0HbXg1hIbgUMz4MUZMk6iQqwS4Uq2KQxQk3aSNSYbhogk8fnuBEm+fyJVKJ3LxtoICUXsbT8qQFcTEIw6HjfKjmSxFNFOahjGQ/F0Ox74UsbOLfZavpyEKUsO1ogpaiiS0OJnLTo4/Qqa85bhek4QkZifQmDwUmYaakIUM0V4lMJeH+Ydx/9shDMolxDAFmsg0YJEpSL5cG5ucrY9PrZXkaBLktUaYfw0xwDJSNpOLp+xuXpHiLWTdxEvTL+mmXh5/GShkjzXU4nqbx4H6LYc2HYJ5Iidxq9hujq3IIIKExv+9vIa9PIfZtP89Zz0JPUWY+hV7QfNjbikXfr9728C9PQHohpHv/O8f/PDWlQ6qFRVdgzvwlrkLXy6ATRX45hkeMAuVhfEPphlnL5g8efb8zkn/HFce/3cS5Hx1rE8JEqSyiOjs/MQn5Z7StvISrDnjdJ2s9mZ9Ji9Bzwt30mieBKtJttRL9PzGLkkLN8uM67JjJXmRTLwGWUtrJf9Hyz0zikcH/fr0dB2VLRitD1v+hT2nrxx377LLw/uz/9jW7vIlUudJ0ieGs/kMtqCMXZC7FcqSztYdjnLu1uZ7KlkFXKsouzH1Wph2SFu9ujb4zN+qs8vCU6lsup/a35up0v67oNTOsFCboeOPKQV/ilY2JzbLtfKMYLEVsQ2unCCdG/Pz4EMc0OWY+XYVVOJYVMRxO0IRDeC/4phrMdtqPGWMtKa2ebP8Je8kpZj0NEYyiaHQgPeUaIOeFpfozVAhBbU+e2fO9eN4eDlrAxokCv02y5az/fww7kumUbIv/52/Gn0bCVEeG2wgUxAFMkcHZWSiQYQFc0xp2oJZG2mmSlqc5Q8Evk24++YtGkJ7br5tI7gmYCsiSaQ4rf1nbMnuNqzXUbeYYI1xKaYq36OI/g7uxdFTI1h0X3WAN7NAezPt46IN+rd5tf7eLNWg5DpqKqkPHMRxL/QdByQNaAhtSblEPGvzHnjCRh5fGi8P4MkDs1BQA5WPR3eBN3M7/i1Ifi6D8/0kKHLyppRzOuXhWiTW/lOo6WVj7sWHqS4dAqIa1yXPjZy7Z1cPJHYdrUD8NgwNkPx8d5sTq9Sk/J6ymsdmxGFJiaa0stBXPt6vQlkGnY2pGmSb2uWAu7JEJbNiCb/o1efZ6pEFp5keAmJTBX6sRtemY6L7oqNNEJhM9IjYHVhQDSYQC7pQ11zxXCzSlYblKlxK06DhVfhQMWyab6k7ialCa5/fRiRiXh7rxwCF1wcaajpUpLo6/BBp2XSds2GKYQBt0PuD1/z8PQU5rX4EUQgg85rg3/tL1fl9NbWK1fzvxxWlCyXyhdWBIbFEfkZDdVqO1Cj24tSGVG8aY85srY7PrLTg3uSkVNYkcYG4ux6TmqyFLUkka6E4R+BjLXIPPMxOIvGthQKpnbpGrrcWH0OOSFJkyOml2fb2Y6go4oJ7mwLJ3bMwWbE770cgmLKJZXYbaWkRrBo9OLQNPkLs1J9+zEjhf/VAHt8PX1hYualLiXcpZihwCF8/Q94lx7uUM5QQ0y/CMUyMp7olUpfExS6hJpKAuZXCGkrrPYShbedjYx7ExT2IiT3PEA57ew/7+o6wezLiC97zeZHuW+kPNE5urZR4ecFw2uWAL1H3WB+eALlBBme5PH15umB5Hnx4tLSx/VODtA/jJL2WXt8C3Nj/eNvdo6JSz9e93xytdA8qm+J+ala//ar48s5BnJ20yq1RnM2re/xjzJzjjm1wO6z0ofDhODROJVSVqnCV9IV5nEFTaDaOmyboFOPcjCwBV9IJcII1gE0IN898VfaW27OARd1jt9JjD7KZT40tLEU+aqqtC3rDM59h3F+/vmH/bm/ylW6LkG1rt9N5IkSmhJ1PlCH7SsUfGLQRlRBfz1LT4l4HzASVjzghdrGKfABaKexLo78r/RrX7VGfbOxXHwfkoPRNiZy/vqDvMxhU4XNRQfgnVc9UqKDne74XuyJyzFMp7bq/On1urthJV0oEdAMdiTmFarEo3dYL53DRRTlQ2qhd2RDn2H8jqJ4+rO6PrdLvCHIR1HNGDlpfQL0BDEFbUNd9Wbjm8t5zQgSr/e1sLB3dpoPTuu77yE3pZtJJHai3TQ6RekQ3IOs5rof0wLeqJI0kxNOH1avdV692Tt3vKgQhA3KfvypCy3kolFV+YY+UGRMK86x6NCoUvwlP8C5VJktlXAOCcwOdE2Ti3WdhzDMYS3Zd90URcbWiLTjKm399L/VKoiVFLy8sLD+2qSWAv24pJbilCsUPNileVouw0s7FlvY+HexaiTwUaX+rF+PUcuxsFhmufX8Xff/VTPrfDo6D6mgV+tzLrjM6aQsPy9Wv2vU6dNTbGdc01k3SedsjDqCWdTs7gNpcgxsjp+tI7xpIGxkm5eQmaecjiPzmGctbX8C4nFLt/FUIarWcXufnYjutVdPrzPzXbidWXY/xyRJ40eX18qu693Uz98Piql5bBuBicjsDt/f4KT7rr52iWZeJtJEPZCr/mq9HlW2MGkfVxiA38zy9TtxodHsS7hysj1QKf80Li9M35rQaPp+rXueZqMgZ0kaG8cnGZoqpdM/foebfn3oGR4COqNcwUAndgbk/l1b+2DViQYa799weTU87A5c31k3SzkfK6vzzpXYtyerhtUHuaoMY5Yfcw72N7SzU/j4I5x2A5zUEBLBGKBh3Va8ucUn/Y+sSrQC+rD1xFIDvXomXf/z/47S9jTkA2AQiAALw1n18+39TzZdRBwECrGa+ynvpODzdi7UCuTUeu/qFtiXQ65RuEiC37bUaHxPZCflYmGSRS++NWEoFCqs1xH0dVTh3XFtsCOBWa9GrZFtu0NeWSVU7svS0yqw9xGnPDd7xHIlDOBKecZLKO1O4+QTpqRyJkaHlMHRfUMqWe7y6l4D5D70FlKklHgoT6FQ2ELQLZEujPk7rNnlJPuD2lGWbcqFuEVe3LvqyZZej6RjSiUTA3McOvm0bxHvR2BCLmaJLOkQPEWpExKwfEKsdQY+G08APUhP0C6LfJgS9hT5Bf6FXgT5Dz2zlsZqEG8lc71/CciTZeqHbC+lJ4iZlX4u53L0DEUJdKgrUDMjyHgBvfk/RncmnmlF8dEAA8MpijmBmDQQgQhBrALeABiKALahiAQTLYgDP3NYWE8AZzspEMrDYAtJNWGwJQYoXW4E9KMPWaZIYdh5XgntatpZvZpIqjsqNKxjVauZWk9hsrQb8NjUxqhZHhk8iT5NmzWqNYhJDQa9aqwZljOLFYmCIt3cV8lkQUuKTSRPyAEZr8YOUSx7tinBM5WPb4dWNUs6zMLazIZQJd31l0MNGCtdZeEVmNker5DUBgM09MrJ8tdop26p8LK3QpFFcKlylfVytRqlkNFZczeEoRFgd7rzD8j/MKxAiCrAgmGgBBVWESDTR4jCxJEiUJFmqdBkwXHw4ERk5hQIqRTS0dOZ4CCfz/A3nWGMhFmExEjL88IsbHfgVW6jWAT0UBkcgUWgMtj/+Zo0nEElkCpVGZzD7pyQ/bA6XxxcIReLqNcSQyuQKpUqtMTI2MTUzt1DX0NTS1mlIU7p6+gaGRsYmpmbmFpZWuLWNrZ19hyBHJ+f+0JJL65USJEVD/91Xp0KlKmVqYrqx2Bwujy8QNplBLBH1OeGjUa65+IopRCx9cJD7VGR17z81SDMhjwt1GeMdQQzUFAk+zSg5jMxiUwepHb7eQEwtQ9BS4hC63qUqHUZFytpHIIjbCD3F9gGrkeZqx8WYhjYj9BS75GduTr5VNUTk9Sj1U8vVCNZgsL4bbGlmsRx6Nq0ythgMdb6eoJFQlCK4g5YUQ6E1MZ/Irf0cJT7dnTRMsv1945oMuYkR8g02dSgCZmbx8dVwpjfyTRGT5wpKK4GahkU9/9gwp1CYGKE4DcucTgn5OrjRpaC02ltPn3UeLSbCBXUYc0TJL/6Z0+QXiR0rvIVO1Mt48EzuWNp8vZLAz1jylh6a/87vlYZ9W+jtKe7Pka7eDQkDy+h11DhJkcZzRivafCHXAsJj0DeV0eOChY228Msa9hYeSxp2e/AXQ5VRo41f6fubXatOUzcZ8q0hyQoA) format("woff2");unicode-range:u+0100-024f,u+0259,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAB7MAAwAAAAAP6AAAB54AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAIFUCudM0jYLgzYAATYCJAOGaAQgBYNcB4QLG34ysyLYOAAgoXcUUbVZLPs/JHBDBr6G+hIpYlQoaayFQFiGbR8DjCviFJxE41HqT/OOXC0/Z9GQVQfAWhGOAF/O89SlbJ4fIclsS0SNUfbMPgE5dhgAVqioPNrYqNhUZCQIRaCBLIK83W+vy6VjrXTMAYfFIfS65yPR0ziMQaj0M56vY3h+bj1EaSMJC9jIVbCMv+2vgv0FSxg1alhIGl2gBxecx4xqvCi9NvP2XXsT27xJRGharfanif3dB1IbH7D/n1vvG1gi90J+0acoU3UyzKzznZ8Q8S/KSQdFE/HKrFSrbCW+EZMGJ/JOrWFOCzJcLDcqMIye7xUDVgJSUf//a37amcAiFDGyIExnC3pkybH+6s19gXl5eXMmRB9Ln2eT0vLklZIpALkqpMkyJiUkt25tgVyFkF8WZYV0VRkTScF3O1cffLfDNqsTWFV2rwUPIfjECpG7lz5AAVbIGyfmmutgE0hgB8wJNaQ30lgYP+3xQCMZjDoEDzyVUi580bg7SwwCfbU2wM1JQR5DDgSJxZ7llnqObrxHpgXHgAOb7RkL2/gXhVu/D4DXAHqoBwD7DAQKDGCTWIoEB7JEnap7PP3Aas/+DynGHuqZ3u8P+0ZRlopUoQZt6CZzX2tbJVpJTFb5OJJs6W/YeiSlKS9d/6ya+d/8fZ6YS2ftgn326bdP//3yrm98rcc+6yxV+PO3P/P9e2I8D/za2srbgL+A1V8AG18HMDYA+dea0d4dnI0DUjAxhECe4VuLDc7VmwqwYTiuFzfuViWi6aNC0Z4wRhGs1DQggom7F3EXA3Uj7WxnxPmMGXjAq72EYaM9d+AG6ziGD0E2Ej5mwCsAOBXGWG1AYIJtCLwQDEeD1BqU5mmQH15SfTnMYUKO6QE/4F8j1ltms2QsVoSSz4WUYkelXQ/7kGlFRAxAW5s6qQqGsbVQl+8GCZsOFLXw0ul+mnssHngMiMV+wiHwzdVDGrfpDWLDkN8ewxN6ZRvyKaQ6K04Nqc6B6o8yc2SW7XOOuk1FcKA/XlsYa6voyRGelb8acI8ZbnoE+I9bLYFYSdUlo6Miyo+OYJqnPAsyYlzDkHe2VlOgYQcrDqbWBQEPfr7lShm/dUdxu7Up8/IxDbSiNG8zdthTYufBq+u76tI1uHc3vs7tLencpdyDGVdkPq4cQvLkEMhSXsY0J+4dQu0yRz7TZW7mccfhw18fQHPvvAbszInsG2aKiyHGmqz3Yvm3u8vmFpjxaPQezfuYJlpv3PN2ELEgVO3vPWKl2Ow/IpRJqDdPE8JqY3cYGuq1ECiB1yW0RVSa66GOdCXTLnh+xxeZ2xOqquVBgJFiAV77CqaFeYl2Q3S3BeKrdnAR3ZBPYM8o7ibQuBGK9xO3wKqYDmUkxZX+YNiXA09cBmjYPgA3eC8JPjEQxkjfWNFnGY2x+ej0ZGhv9VXwYAX9XZ1h53rzljTYf774b0vaBdtfcXWQxtyLpkaMb6v1GUsdrpV5ajkXRww17Pu1Ak3yTzYCGLr8Iara73lF7Cb+vtFNzajk4iaA8ltEQiOf66wxQAem4oXOWNTna0SswZSLr69zS/jeLLVejEOPPrPCBwhciHFchPFxIsHeTycPj9TzLzASCiQQ3wskAX5KdXKVa1sfQ/sqkMZ64u7bhwtw/U8GOoEbFSSWFLQnxd1WqtNBLxi8rBazf8BSfI/jBekq6kcBa1EXlt6oSzrtaXe+aXn1zDSw+t2F0YBoSCOqvK6Ty82lpKxNRobfRmluFw/KDLgqURpESW0OWpuaXaHkb7VmE8MOcR+a/dhsTsOYCArwsIQcjWl06SjVvNzhISxlLRqvol7V9Uvp5h+XUC6iUmapwuGiAxeC1khAQZdBxgFmUTC3Z4yjPVCczdRKlpb1KicmRnbBwTOOKbXkmmPFA5OJDMkKWz+t9i6mbI/as3b5+7k73N1wNPu9xjdrpg+sMm01qiKDGA5cKAYnIcm+Qfh+uhwzPoM6yGjV7B60MOvA1XEKSqIe0eUd09HDQqAknanN3NpKivMX9BiYBbda9g9oXcV/PqUdinIHcm/0xF16f7v01DQjzirvp4PZFBDVvuQsuKo43h6x4onbhb8L/aorsWA7vreavOxZrXrFsTJEMSfmbtxnkGGNSLjUx4n7KqyizvGq3pG6UbpMYLQKzia0LJaGR1CpXzjijsrdmFQNi3l3ZYBXuX+Llw+XK27BoJFUN5uJGbP5AMzwbSAAsF0Rv6p1ZltdaUBWVzRXCpFiUgwe6Baj927ntwXVUyMpM/vud4ksUyM6kqSZVDs0S3iuldjWchysX2vbV4o/Pz8amoTijmvhaPWLd9VIgu1A/oldyDH0JWVzJzxjd0w6fMbXH0zOZ8+5usPgm5jaIvuHGYtiiiYCEnuoL1AdNtUB41RrTZ7Prwsb3D4W0uh3f+8i9Y0bosq9ebt7S1nLbRmg04XpC671CTyK/OjbeAPmgF2YeccypeMa1gKZ9E8jw7TT55F7FR2oTczlzcGotU+MVuoqoXw1TPk9a1bQ3tfBEjN7MCtjyfklpqmKJbbc34qhy8Q7eToWpjQGEGGJrZnakycxfRbZY43YyZIvHGjmrkwH3GX9ieY2bjaGtjSmpnJoafqeSCs7vP/AmRVQ5uYueAgyd/6U8/Ce98r/4CsiEQrURcQ8yxIrH6kYK037PryUXX1DSGoin9hSaDQjFAbj+CSei/XKrsvfazl9OA8ULAsnF+SYtWHLOyPlaySB9McWn9vqi5Rydc4BO8Wx7X4x481Yc106vl4c+4xeZM3i0C7U4fBplHqWdJI9w+dIizb5C8c3+c+W/s1fAWyvmjjcoH8R8PSKF/buAQYf8Vni2k1zcVt5+eRRTQvCvnyhGrvdSHxMpO0f+ipWFcWyWH3YgmF3OGGrEXByld91/lvL+Y5FK7ufR6crNdA/dFvx3trsWXx1L772EFa64hj34WLmJ78Qxmfiq3ku6j9tjemYFnMBbJS2VsycEIoo1+qL53Lh/wMrVnnuOnTikosR+44dGJUxlM41kdlU4FBuwQ31zIAn1EjHa7nrvNj5pOtpV0HbfVdql/aCfyuO6xX04YiLwnDUwrSZlLWD5ZDYebCxYV9c+xxqTqCguAXT+t+Kts5OICnYBGqxYfM2RfN3UMFKB0aj7MClv7cY2Vv0Qy834/a5ps7PZzGMEF78qaPzfxjAib6kF/C4RcYRSkaGno7qZohKB/HLxyWd4Sef+fFgBxou5nwzT7e+8KwV9AakNuq6Xfl63b7m+boXN6rX5w0wZBHB4mAKYvV0vT2+1g/UHmZV6nvRMD2KqRLoa0LOQUa60RRX6opXeUSMPS+FwwzZDJUwMmp5zZ/Ue5QfD3CEeFJv+D9QUK/XCQR6nUSaGKTyuSui9n1+07HVeHw4O7sGh2/O/u9whaDLSnT6BoZqRzMe1zw4mt9WwG9H0PVkBVRN4bgFCkO1buKro7lYrMyYV0TXFuQpxyMJn3PzU1AT4suuXhsrrvXqFw4u2bBhvtBSUHHpcguxnG1SS0D8N+OSz/BTzoA7SHnWnn01hWUl7sRwWU3u5vXl6cFQohsQoomCHn39Zh/FkI1yKK/v2/PtN+Z2gvaNKME85nxGjmiydegq1ZBVk2254nnMeUVo0TTb0NXwsNXAJLt9z3zvlvpWv7n/NuiaHk7hQilAO0gac88Y2T0cbbMPH2UD3HHhYwvms8e+nvDx+Qt22LPBMmayTCGWINnAah8zRZeIgfBHzw5yWoyHbjpawVfdi9u9i6RCnlImUZoGyGyx4ZYpgdLJtX6jd8P0Ro/GBv8qBKLJLaVBiZdINtJ4suIFgwRDVU6YSbGXUhTls6vjA7YKo0omgyCWyicMpMJpCHCyeDQJX8BT8QPFIG+L1PWw6ge/1r/VvjX2YkrTYJDU4X4QLs6nGksl2EouRKutFhpCbRWDi4vPGfkCrdal0WhNGpqGPNay5htwYGV9sXUO2OArZ4lKp7bUSqgV5Xy4tB7BbZ0UBt5wKFFn+nqFKhsvo8BWl0FmsCg1WpsavJ8/er4jvb1dcx/MXcg2cug0SzkZhrFUdAudxbWYbkAusZBf0kCF4Toq7IRiufv6kLtaoUyKufMYBrFIbJAwfj7hlEgFdvX6yixWC8SITAUOzYG4PKOmLWYt7CFzxGV0dkhVMa29bkHNt73N2O3lZmewtireZLq61GyQq4wILDNYIYXeqgGS2U8fPn1Q/+zBs4eg8n91VMffGbLAaciS+u474Tk+JewKtfnDA1za2I3jfWG2kSOXcnkyEcvCodm9JKHtrOj7sJ7W7UbrKp+WssRbLCLrWf+4SDTY4tCqeG1hjdydKf9CS8rMHsah5bNU4+sYHRsWL550pK7i7BTQsXnRIpc867ANXVGxTWdb5V/Y9tcfM5dIBCoqxk6nMgRUIsTIc5BpTgr4ax2xaF3Jh97Q+94S/YPp7ulucLXkV7SikEYzBYmygdH3ch+epCXzRDpPDHqtQMqm0bhZtPpB9lQ7k6UViTe93goKTyDbNiGeus6qXH/VlUoxrKgXC5tMRiD5V6SAK0VXqnJ9nZV1nk12ZGsQrO7bZbJtrKiwbdhlqOuP9s+qWriorX3R0lnN6Gawu/rvz6rPT8epJh2YpAJ3+pSEf18rX7OQKHA8vlQlUigaRKImg0E0rUGkCHZMSSodo5wkizcji1YaHJ7NdsfWYNCxbbPdE+6qyvWBQF8U4fg4SBQh+8hgd18UiYK9fbGWUNBqC5UhyAAChTKOEAvOTuDykCginiiqZzt4CNiteKnURhFAGtDbiwx8GCv4Y+AgpNf7P3uy1SJVhRjkAFJVUIiAvLjNdse24VQvbYBsLS1FNDcvpGkQi6YbTaKmerFSCQTdZLSR/z2sABNWNtZNnYVCor82Tq2172iWC7ltK2aBWWBax7x5OJqns0n91s0wrqc7tJDVWsHz7QoO7RxXPR6J/qqtpNEQNmSoMgzvRrUGZikVEJcHiVWzwIO4SiLXkuARyEQSoVJAyf9KmN4sGW5AsWAhk2ktI0i8TZ54nV+u4HCZchYtt+evxZIRRjQbFlFoxaEiCLzrUx4JI+GjSrCzL+q0F+t1bOeMIn1WaWMjU6lUNpJGax9Y0BfXFzIpz32beToBe1n0fF9wK3E30Q9ORD2rNbs1wc3wGhiEkNtI6a6hm4YGbiG3HcHdwzYPCwJq329fxSPxv38V2Fui6gVrNSbtMUifpdEegMDI5btU7vNuuLcEHOwcucJmp3aQFe2FA0+7qhe073H9k2z+N9n97XrQlGMaZQIPl0hu1WpBYam4uVGqgELcTX4H2hHsKefJFRG5uM14lUNCTEQKxUiQdh6f5DA+yEZUJw+cfFzBlSojUnGzyShua5Qr5OXcngDyAMmtr/ieIlDIX5rJDi6PFY0jyh+i5slSTaDdM8riva5jcjTucq/PXaHhaIt+9442dvh9mlxe3GKZTFWloIp1NdvxwFG6JaR2R+OrSZCC3T9Q57dDbA39k3e0psPr1UyVSlvNZnHLVIlOM0ksaFQ5ZTilJpcoLbHGqe0Ac6++H+mXq+R5DpcpBHOG0PPqQQRbjsGqE1X8hkahtnJxIMVq/9XJEalcTnN9T4g/CmrC6xxd/H4s63gdzkdlhGCxnW7QW+SQqdhCQB4gQzpdODbwNO1eE2BsaAQNfE0v/+uyYF8oFGI5TZ2b+wi9FgEtd549/5/dNzeet8QMGzAC7P6dJnsAyAPwPiqT+63qLFK50W7B369lBI1ou+y4ImmIuz4U4gvBQdy0yXVjQdml0nQ6cAzwOKFJKms1m6DW6RKNhmuAWsxmZWuLVEPUmnFURCSiIEYsiWzAkp4NxERE3wpOPCqXhkn0qsy+U4+EkHwkUF8JIFBV/ukLsdDvyHeENlbwISgCfcPRdzaKwJW2dlchgkaKwdUEXyETznIxJBQG9TAK/Vw07CqcSRfQCklSJJ+NhJFYLVL4O420NntstuS/HsUEdQyOJLfns8HBe+L8YYVitQFWSXViuUo+D5m3WAXIKDSiX+vAMwQBKisEC+00vd4iVxiLLTiQZuy86rmDKt9tvIBch+5CuTq+Nv8bdO1FOadfnH3ROePStEugou1i00X3l0O/HFnadmHaBXfPkC9HATRq1PZcV0X8D+MDew92HgRLlINVEVXiogRlrRKUrQmMsOQmIokeLKRTSVjagjxD/vh405BEN5ZGlVUMqKDKadhE95B40/h8Q16BliXRqSBsoicRybUERoAjIWQmAj7z2B3y3Sq7r3LAm1s/dtvW5kfDM0RcSdrSSEbt8eafRmYYuGLQTVFJmqGedRVcgJNeeEGzFqZvMScoajyWOBfdVZEwaUFFBTcnOOgOD0VexgmQ+aiqiAu7SiwWlxsGmQr4yItN+WZ+RketADnxU66A7vJSBMGqSGyxKUMk57MgsSzr/t0Tgu6ODLcMBoc5n7rmHnzE4uzrWtv1I4f38eLaS/vY7EOXTJ3J/DmRI0VFPZjCRQzGdAxY1TxXtC9me9458bmNyMbDLu+bvTGiuTuYwS739vwEQZx4LDIVsSch0xAQlS8mYIhyRwHP0WCJUSOc3Ux6Fyb9lDjzZSDLa5QxZBbRiPxF9RvyHfXWAZg9Iw4UZGyZ9dKf6atVahaP+lCrF0rFGhGRrOdLJBohEdCqHo0Z83jM6Me0waPRC35Uf2rhaDMGPDu60W7ZUlrKSPRAEMSqRevcg468uRrFQpdTsWiu1umYoyXd6bLt5mgcXIO3iFkmk2lbL4OjqtKNFJvGG5ArZdbqUBMH+/6saYSsSg2DTClGr8ISCCL0YC7kgjgf+7njiTAeY6ApmXwxgcgXMZmwIRL4QiZYMMndXY8o9naPQFzdQfv30gBnzy1kwX0IMI4jVIqDxaI4JcxiT6JTcBjZ8hobolBwClJYCODpLN7faiky/ELQDtdR75Zkd0xsTCtI/jc5+Z/kAlBzSlIiAWPtXrdG43FraTitDkPRlJToUhksAQ6rloLJXoTDHWWBtsn7b6o/qW/vv61SXeYu3deCzHXsGGqlNSlz/NjLqWldeYoJYjabKeHjcw/EaorAxEUQncVQsTETUr8bEFVOKICLuByoiAyxEseOS05Lw4zDEAvGp6elfhyX8adYCh4euVUrudUEilBoxL/SRefmi8YLWPZ8O9ZqQuRyQ7GFAOL0Veoq/YTkyKSw3T65tuE9+I4hpRAJ4iJ6PduT9Xta6u9Z5ClcIUibzWgugfJBppSgN2GpNCOWDHQa0WDCYaABt6J5TIEQT+AJ2SyugIAXCplgRa63u3i182O6PfcxkMPj3n1BikQtkejuBqIUkn5XuPGZ5xEx0l3dHQbFs+m1d/624sqotSp6sWU99kDMHISWGVFzR3RVA2FAF+GMPozjOVdbz/ra9wpgap98lH18lQFF1idb1vnmRXughsXLf1sGbkDh6u1GIasq/PG0Let451bZBy1zGDd4gwHvGUFngFtXbT/JarJS+2fWLVzW3r5w6azmf46Zjv3bDH5ZuWlVDzYt69ev2wD1ICbfuAks1HXjmqAQcub8mtyTPLGyJLQZP00eEPqykwfP0eXVi8UMTwDYEVNOg8KnXu8wAyYM9DELliEHkKWzrj5wO9sgCZcHSVWz4mYB9sLGhgapF0dWYYkE0bJdTcPG/CwYDaUKYTbktxVbq9xxRkdmJ5mQnoc+6NFlSNh4lFEwIXkcTkLmLF6Si5CA8FkK46ScptHmYQVG+o/e0ZoWr1tcwz1Vrg3dqOBJPYnaJc2TpLC4jDEwAAdkVfPgBgm/EXIK8LAunwSVIXGalj5yhtY8J5kBtWLf6YaMVDd4rXFkEdw5FZK4EMSaqjV7Xr+bwPj+WEi+pFmh1zbJJO1mo7R5ihSexEUmuiRwG4bsnPi51VlnbsdQnBMRrYlAdgqFJKcRTyYb8ES7UERw6YlkQI1XqGv/WKf+rP6DmTsyGH7zZbaH5VPMzKOgbxTKNa+yvexwY6YBBaNHeMOJTkS9lfkYqTCc+co+FJFCj+sAx/8sl0CBxucJCsk6m5C/EGq98xDZjfKplvpB+yf5p5djocbFufI5aptrgx3ZFixFtsoinLa5qlzZ/Eb5WEdQNO2XhRHTDAat4Wen2QLB9RRGb6ze7VBwwsmP41M2yJ5MnCpTaaaFS7UpJ0uHfI5IYU2jWBhRbn5gxlOcIhHZYcKRSAYmjulpcOjxpDoUTqPJJ8pLkIF6O1jfOc8EzTPMNUDgwepzeFw/gdCPw58jKh6npj5OT38yLc2TdJC6VJo/ch+m3z54eARN1ZtfG1wa966glkAODRSvUA9RA/LSleof1WD67aD7NyGw9wWGDQWAWceEBWcM/lYc/eG3eBCjLvTzScHaGzIZhfq2oVxGpZRYDvO2ZgBvoyuiyP5uBMNUlcJLlTm+zsraxm/asio9AmNBRnqekV8yGiqpnsXR1nZW5fgrL1cIYVOTOUP1H/9jXvp4+gfBv+MUTQY9SDv6nGHOh0Ce5WBRiRh8rvxMqRgQKypxViaFk8D9FerF6lMIqMvvwAHDAUtvWvKWPFZmnZYvDBDaDlS4PB2b3Z+c6F7tsqUpKcvFfrnlC7nx7eize858uTZVynLhG214nVi5nq+lLJf582gzf2KkSTkPOckX1IkHKcvFU7nlr9HGk0oGJlKGlFHJQIFxqJxbRAkZaLoCpKQsF9/JLT1yY//os34nJNe+lrJcrB9trBVPXKH0/5e7YBn5YZD5nukn49zEDFg0HRIfSVkudsotG0cbO5gNhEMBkDJwCABmEQFzULGVBE9QeGFk/XUdNNzBZGAmCcWXYvQwLy8Bz4Vxusj/33zzkJJ5CbAC5XxWws73djVb6qx1qqiyb4uQVJ1ZLgvoK2Nz4m5zF7vLGnaCGsh7Y7O7zVgmHvgWfgjPp1AX5wbOV2LAiI/9/CiGme/6J3iJqy0AI8uoRBsH3G0InSOBnmW9hje1jiFkaJ+6z7G7xEliQpoAGdqn7O7UtSHgXQLKeUEBALvA8yLMY3QytG/cVxvyE2i+LWUMGdqnxrtSFhaao72g2IWZueNYo7J7zjpeI9q0ZOvoFgMsypIrnzV/G63l/JcQO34E+PLN5QDwzRb636dHn04lxS86rpkMNSMEv1uqL3+UGfCuGnKlz7mv8xLiWflW7wm2oKEGJKvVOH2jsL/LsRkqZ1SqRzYrf+B2L6sz83PzsNyAzQ9obcCLQG75KFUjNSJ/Sis6Da+cbFmdhNNGCrdhkyBVDFNvCnQsV1PUxytQt8lqgHoM1O1J6sa4zVvqkaTbXmqvscUIBbWG82WMOG1yVMiIHBFDHCWU1FUVZsfL7naq7jBmXJPaKrhCRsYmxGe3mV2mA9WrG5HTH4USI/KNYDirrpsgCJVtUUg90tahi3nezoeNhbR6URxo6xtmAZoBidTRJMNUymgrqCQp44yU/GBwT0u1DxXkilBQ/KpH0nh13OfbtYSthG06fo3S65e7fPiwpI40pJyQlctwnacAnoN8Qk2H4VlnXLvZojQhsFRvDO9M6ppMdAshwwx3Snp6WedPbqvcbofuaajGG2B+nG9tY4YUOThjArCJ1+IHzqc9r3pbogy40NIOpUJRcjATAJBXaztxMDvOaMAiBY4sKoE/dGMzjAz4JLuUZqkIEgjkAPKCBMtx6XgwixgwvpeZIsO9MDQPomp3gkcE7HtpvMNMB+bnNElDz8C4qm1grBQ2aXCYPzmPJY6T0sdgmeaBz4sXQAzwtZVSsDgKKooDHgcMCCxzL5ZatBx4wy2yrRIkIrq/trXZadrWrsi1rYPXHXHG3HQSHNuBpzVsnjXqsRAUafepE/JIwzMSr55UEglHSGluQi0ZmE642bJGSHU7jkFgJJFPxFM3jAqPiIg6rswvgoKJjBZbJkCtmeNFeDHueYxUnKJTlkBLF4d0loz4ls5k8qwDg0Ga1BEpj1MfdVooIrRs0VBnnY9TtlToIR3hHYt9wqoQ8iT4TBhRza/OFHCGaSswwPN+zneQTf01kGaw/WXSf3LcPLx8/AKCQsKGG2GkUUYbI1WadBnGGme8CSbKlCUbClqOXHnyFSiEgYWDR0BEQkZBRUNXhIGJhY2Di4dPQEhETEJKRg6ioKQCU9PQ0tEzMDIxs7CyKWaHcHBycSvhyUCfZpjpsFX+Mssi823UaUcGeXNfh+Wee2Fh4rw46SfPbNLllZde2+YL553VzctnCb+LAs654KpLLrvib0E3XXNdj1JPLXXHLbeV+dcjc5ULqVClUrUtwmrVqFMvokGjSf4x2VRTTDNdkz5btWjWqs1/Hjvgri99lXgXP+r3tW/s951Ten3rtNn2OuKoQ0nw4UkSF912LwwPEN8VH3kmRCReEROXZPA1rZV8LR74/5ThpJVMHs8BAAAA) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:500;src:url(/SolidUI-Website/assets/fonts/devanagari-2-f43b6ebf46ee6fba05559f09fd680c90.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf6,u+1cf8-1cf9,u+200c-200d,u+20a8,u+20b9,u+25cc,u+a830-a839,u+a8e0-a8fb}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAABVMAAwAAAAAMrwAABT4AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAIIACskwvFYLgmQAATYCJAOFRAQgBYNIB4ohGygqRUaFjQNAQL1Egv9PCdqIIVo7JL8miseJSwp2RuaJds5YaL1igKG48JJEY6o1vwTNiKtfuvAn9CDoNi4jBAB16V6haeJyKP/VsqvcTs+lR9O8n059vhbcuD/3jZBklofn9wd17n1/oDTTxCg3ysnYJLVhW0R1wHX9fuC32SNkUjYYxVlBKbTCp1RQQUpBQMUK9COuMZZu14sOzItOF9FHOFsz2RaZSbhD1bfiuPfgLX2x4CJJihcxH7y59d4XjznxDDI/l3j2m+9EmMjIVZA+frCMovGvwbbQHZq6JAjJQ/dh9rLM7b4BK2uWHvPzdf0hqrPJnDrnxCAz9sLIJwPaGn+jP+w0K430Pnx2qYSGtL/m+rLd091LlGU0bv4K1cKvMflv0j+T6WQw+USQWcjM7t1lDkmhRiB3rBjKg0Yh9PmT95BNygrKyd/HWloZyHUSoogII0wRlRyv7T57PEUBtJUgAWb8xHIzBMMDahW0tuXJg+sZs54DXIjaUMM5AUZ33pTauCsI5IX0AtPkXrESN7SssKUzXgtv0JT5Gj28A6BnRyzux07o1njS2wPgJiD7K+NAD3gggQJ0goOBpXhX5XC9Z5UOdMCIWZh4TEU2CrA0qqI2msMfr8XE+J45FVu3JcGdpEcMGrhGE9F0HBkCmD8QwLTFJGEW8lGE5WEOV7R9LP2W2bYNBbeTHrLxfwjVe/X/mlMVSeA7lqFhL7DPn3o++Bz/pbcDt0/deiXhAF/cTmwBBLHWtJGjgfs/c6wFLoHWPwDtWwE0V0C+TS/QZGEvGcaLVYqK6ZVZsRpCx8HVM1BmVgbcpepYUAs7bnqaA8GmXSBMene6Uz8s82Dk9GZCJ/2SVjMx6OHvp1XgiQZ3utVQYl5hCpfEREqKg0AKS85vNT9NlEYk4SOTXYtkJGO06bmi5mXmg0kUCh4fJkKpuanDsqGpySobllPyazJFIzOSdY7mIFNvAgVPJZDx8geVEkIhkWkcSiRTycW13JKPKlTaZFxpLk8LJkepMakJhDCVQolz4ClJ2ekgKp7S2V6CLq/H3V1In1u+NaWP/KSQkw3Lgk5sXMLYRaLnO05UPmJdAN006X/bzXPOsHEOYztPVjlqX8RYPP7Yrbho7ln6/zT0BQYyaQyBfoAN5KZPCdGIn8urooaoYhJQV1VShEPk9nuvWZmz0VaP1aBblh2vuCi28Wkccv7zk5NvxDFmEykcAQYCDVSnBkNhgEdFDcw2hH89Ig5yevihGk6iPlmce/fR2/WEEzWC/TSLUqNC1OsjfT3YiNNhWM+X8ZwLt9fsPdnE1qOA7IHnQd9zorHV+vVFgRzkJIwoOsYOFKzo4rrET0EKB2WYQ5Hz7UW9QOhnX8CjgYo9Q6mPgBsjVFwaebdxtXnOXTtoM15XeAGVqkQ9ETzHW0u11AX9TroXmqTyPe1AT2vIU+EsBNksh0AmpKRWIRHTiABNCVj3wP7HNM4JjkGz/DFaIIcqT7Y4aUFsW3eDvmLHcAvk90SDdwQTCfFb4vdSwhc4t0ZTKBDeYp4boI+e2IuxfWzsAX03GarJfUHFiERPdAAVoyovuzToJrx51ikIWeRaaN3GXy11ThzMvNE8bx0g3E1qhwsZ9pEbsI9NmvlU87wqbN5VsT3ugV/cbPFyOs8K9vu9dfT462kX2tlsq2JgBItP7C3QCQ1EQr6XOF+U6osugF0QMvCjffQ2pgFtyamBSpZAow+o+vWmLHQvapgdR107ww5wYo55RD9PaKzyv/dTjDH8D66PTis3Y1Ys253soGoYZ+SC97rPui5kdGkS9RiYQ5Se3M23IJatPX3khvsn83BQaCVEflZrvoOljM+haHWJpQvv7dsJdqD3GsL8RgYtH0ZXUIVEj2DFAxICUiExbfbyfGo5/YT0hLDnJtFMFnWL6XVnjtDp/e710jQbgdG8mAg7tAwtPVqw/J3mXVO2cpTdk/8w2hHm0QvUgBy3a1ScRZHTvYAUfQWHVJcFns7pj1xGlVfWsexm4eh4bqaEZtmc2bbUpBmhug5MQCuzFW0GEYM0lTNpOaocxeN8I+4ZOaOe7s6ViyUFS0wPDxurckaskbd29MmHidfKv4M2j2ZYeVrwRPJ8PmQNxOg8wOBd0KlLPwNaRIrNV+IF1QVQVMe7oK90o8vz9EF/mazvYWMfcjGWCZ1IDG0xnFzJ2idQvQoTl1ztksJTlkRoJM8/T/8vLbJ06b1kNoqX4dLFQ92h7FokutwsPUN1s9LmRoke2MbgARnZEk0ZKFsRCg54TDySou7XmPhuF/Wu6r5rVB54/nEuq5h47dkkV976zwbsHWZPdViAsfJIdk0cGrhp6OHznWJvvx95JhA+Q/wpl/PW+/RLbbyLz+KXNWQV1/tqg8wDWc58dttL8SzDr9PN43QFzAKdO0/p6HXhqnxZ+UymkAG/Zk/3GeeRFNJKT4pNJrhRrYe3HZr6tDQ3d3iaRz2tlGy/1IiE6BATw9QP18YU5Lwy+2Fg8afAnKrLvYo+BaS9F96x09/gOdyV0Ti6N8KTqTuLpN6KCqm3s1gtq+PtHS3SeLjT495hd+1ogc1Plkr71o4O+6a9HTz/B+6OtA0vSpk7vGxU37M+mFr6xU3nzR9DnENjegiQF7sihVab+3Q6KervXO30tlJqgmoHbSSDY9nqdrW2PS04XgKYerJtSACmll1xOAMoLN1rJcxCx1BrEAGFDMJvd+00Cru14XzDHOfOvm6Vu7NY2u95YZG6F7i/D5x+OnM1nXIs+JdRVfZURR5K9vf65XIZn/8U8cOlVB62zCadJ71UvSYizE9d+XFIGW5Ok1QgUomtk1XSPNREqPanIzw+59uy+doCRaoIa7q0UsETOruEWiA/cY7bUfuEEyaf7Gpr1Gt1Rr1+Eh23lPnmi3S6eaISn2UcihSBL7fGJmgzqb/BB9tGvsbbxBt6vYK6dqjYem7nN/Tp+YnftpvhOmBsrbLxMxvyWOFeFTi/QP7R1QBpbarBAU0pUs/9sJ0302v8qLFAXuIrVY2Y3uOXMely8/J0OUyjSMS0lOeF6lTKNItMP7RDc9X6phEXvXr+RSSfqzG6bTZjo6Yx2To/2rTI7dbP1aiGLKBE4R58/Wq93JFePj9GN1LfoF+g0QxZLKqhBeqqyrlK5TzDQGrI0SESk3YQ2sq6uWcMXna5bGCO0ty7qo1o6/vMXChRm00Gx0fuQlnpgIfShPx4vfWfn6/C1Df30BnYMaCFJ2rXqfsKtWWVcrm2UluIZqKyE9Z0DlxJs1BTMmQxlw0PqvX6QbV/P5rNuuGRJvpcd3k2yySV5ht12Xl52uxco9Rmr1fDj2AsIxpIVKqU5hQ0EzXAt2lamBJD+EDKV2XKqRKTj9z6piJZiPDzCkrrs2Uu1IWrQtNqmfm3EujPvvni7VaMQTyroMyVLYeijEwU2WHN4CCIxCtVfQXXUgDc25kHM+b0rFXP1ZxDGf3oRP/EbM9Y3xiIM2ipOQMe8i+Jv23cNX8RHFv+2Ol3Pu564gZBXmdKbOzau0r1UsLsc5YeC5zfeb2f+Y+5UBb+/kbNjd+ptsFXca1eWeAPfOHzzx75Ngb7nywZeWjPWzaT3rq9InsmpW54NGXu8PKRfV+e7H3yq8GAxAjVAi6OUpOSLtBkf/dzjM5f75C2c4OH2xTTxJUmCPLjiermlFgr6yq31GUV6XwqZF6FLx7kfr2q2KEnym/MpCq7KIX3CCPnape5cvmVhQKFlpU/UkzGBr/cmpH2S/ap3pISU2ufTW3iIoM2w5TNounx2fmfSzH4r7WM38Y8T94ZryngBi2Q79Cfq0os6ONyhDReQytlbaadY80MSaVxzNTuZ2iYUWE0e82SLB6G2JlABooP3x0bCoUUNuG9y9Tpl11dLQ+brxHNY35lsCxyslsr8OnG00GfH3/bE63Zxa8KubHzE2m8+laIGmUu7OWyhbTChlZN2ugs2nf2Exxo5u5BA9iHYTc3D9yQnHyOJG0qkjh/hSsaKDQ08/7DVL9MNBPqplCqCNAAWkR1r+XXypd/X9bf+yui8eohLeJZxMbPn11DZ9CjH7/a+of8oC+SoyOKfvGsVbHPRft6q80Xp5y1qJwA0cT5p8CBvq8rrMheEBvEqwXtVnSb80Q87oq1d1HMmWTfG3ZyYbUzrTzGet6tyBtdm1h967fhBUHXo1kIvQahNaPF4cyH0cmodxwE+13K/JHOKByHdPnzqOi7dsvUsWVRQWxU6Dqn+YPxLf7qTV7NtNrEP1eoUcLnckvEgsWl3Qlv02hvJwgGnLN87abn2RWAc966mipCdssXrx4DsbUBqyikpwFPufY+8X6afcJ5zjluh0RWrd/NilMRDuJERr2jS0NLOcmfFWxSZw/r5cCyPyStrY8b6w8P5Q2txy4u6iuqSqqaflLQtnW8d/dQTQQGTcNLE2+yh3uGO8fRJ/PJIWs0e4+AU+Yb0EwMsHltcGnfNJ95e1ubcYd/1RvdayqMq1vTZDFBF0VtqgbJwOK05n39Pmudt5lg2YOV/S0OgMXvt+U3BztaBERYZdZU0Ik3LGYlk0/MrbBirX7d1i45lO8dfql9pByaZ10u3zW29HeZqsjIuKl5zlb4+kTsRbJO1vHge19OHQbLvjZkTX6z6CX7paN2kDMLDoP1z4912V41qjobZG6X1VylXwTwtxt0Go2+XEZD0kwslilNQX96docL0+tJ2KxtDoc7h8V+bNwHk7SoyWj6VBRtig7hGyZKR05KLjWnhjelyeeGu/+RM0cWBTdfG5i8WtWBRuSAVrsNA/qXR4jkP9FRXQzbhG6hW7cC/6q7a+MHzT0xFybnr6LVlvUpldf6y/DpXYUNu9IsW1MN8NAPEEov9x7YCzPZO3xc+3E32m2rtRltNpvqZX4Sj+PsFlsX1rzS3xZAASBYkBpgszdSHI2F7006vE0rdorM2kIMgpfE8ITDfKIBH+d5uaHIKhbc9zN4A9apsog4iRrHIiXSv2RE0sJifWtwPt7h4wYv3Ypstki2yX8sznuK8YlaSkIjZKVrXJrQ+vqDPYcX73PwPud6j+NvlSiWFKVCcLH4pXgfo8pLHCdgseprAF6+UeQsCVEAH+PErlTgJ8Iquwjg2wb48VwZZ0ioQpjCSV0K9gHwsmuuFjsQZioP5YSVrKxagaizSt6sTUV7lixcDtuVEVxphzEDi6r1gPOA9TxgMW/jvO3hy398+YofXytjkkRuueGGteQl5YaDRqkcMjdTgLOCsqG1WSVpSiXDOpyKsmi7wldtc8Eo6FuKL9/iV43swDyauSaOmoSzUfHHP8h30cPkjQq6OyDMtaAEC7bjtNmr1NSLgZPTHQuYp9ul7PC7mTJdIgclO97Z/Rn7/9syWQq+fvp2fPrivPDPIdC/ybxXOkuvewbyGzX7x7jv2648VbawFeVFAv1loTLDJl3XYzqQTxdDWix9LbcxJ95zgxoJxv5h99lwNsMM+ZhFbpk5/9/EBZwOV2lu/bd8kGiR1yg/1i+XjxENa5Rv6vXlncWyG1DuKwXewg13d32vlDXSAb/grvC5eQagYlxJYNQI4YmfWZ/YWUbd05u/AvuHvaCTU4Vibo61uzDW0rFz4zQWb84nzijdEA9KYWCrSgRkPofbGy3aN9W7tNDUh1lH+RFYA/uGLWP36acLhZCtvvc4iKx/+aGMR6AMUB4LBTmzrIRN//+H1LwuHy6If8sapXzFayUXo8MX5j1mjP6CAsqicix9iSbbc5o7ukbne9toRfGwGXpkoUiwWvC9HX40A6/nPRBogtD96sueNFT6PljgLgJ8uHvFQQB8Qq+yPXv4bCfxWVMZQCtYgAD/so+3+ak055HrVEBn6+7HO3Y0m/vdHKPLHswcV6AEQXp+aE4K6FRzIjgRUzn+1gir4DmP3UGchZCZJ7UoF6jpFJpM4HqOlHsVzhrG7eZeO3NztMUvI4Z8CR3y85ImRfTM49Ugxc+6EAIpRpBbSGUDNb9BN0WQjgtsucohrNlrGOBXCVHBTsjMoPBRapcFz9zLRAjOi38v2ZfsOr2fgtIw8Vwzh6783AqRVcRfW4eqpRiMtFhBzG+pmQkazUCXKwD1QKELiHQArW4AKaqLfgkMzYV0AfUHBSC1kCZIL6SqIM2QMld5VAmD4iivn6Qv0cjJDQvQXBdcIF0iZK6XW64DGU056hYuddkVg86urxSnGJFzvjiK3wIY4L7xVD4EGFhJCMB6oMACrbXAwTREAM/Zr9qBkWD3DqwQa3fgiDm8eN0dQUiMBqHN+CND8IHN+tWevbzEWCO9GqHa9eJSL2ZJuy7/R+eBasWip1HOwKNXr3Y9vPJVaNaknU+3QkxsbIXKmGnoSTAM8zBAb7pxi5uQcTVa+4vepQFqQyqZnItdtgbVxsDFvixhMDeyN6MAtYGS0VGRjYYlCJ+XbcGCXvYsespatR9KfNxr30Ye3VhVRkv2Sfn0aIKai+WyLhvW2T7rYxX8D3MfRGJwgAs8JgjSZMiUJUceFg4uHj4BITGpIkoqGqW09KoYWVjVsHNwetVVWIz3GGYLNFqd3pD/PA/VmEqEmMyghUKl0RlMFpuThx5FTh5fIBSJJVKZXJHHflaq1BqtTm8wmvJf6LgbIYJiOEFSNMNyvCBKEIyg0JjMuB8pDk8gksgUKo3OYLLYHC6PL8ikUCSW5LyHUWevTK5QqtSa/OK2a6674YpETDq9wWgyW6y2jNgdzlrZqkojq3n8N+n+d6A8oULQ/ccZ2JLLY4GOl38iF2op8n5lEW0aNDukXN86fIeBWHmqBXW2bZjVtZqq0tB+he6A1ZQmtc+hW5xdq8+Kbmltg+ak9jksBLUD4VkCNZNvwKV8yz4QvXCER0N7oW0VD/+acEx7jTme/Aa29L3/fYlJiEoLEK6ShpNMcw0pYUzGhmIcvDgr5HCWNCCLIyrCjBWpsxq+Hod6/c6pfX/H3v6+/qq0YbgLPpxIObxLGpDDhmmS52Rtki9MK3eZjc1ra9rUUmC2BQmmNoGkaX+xNGmClOvbIeSBQrGJ1+Rc1/0OJQW/VcnvPqpgP+izEYRFfp8T5Mje/gWHDouTv8L0sMsexTnjyvnWreXEI0zXMXnOb7tl4TcyLLSfkw2/gfw4OGkIm7EcSDZEE0/9m2J4FkmqAwAAAA==) format("woff2");unicode-range:u+0100-024f,u+0259,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAB5EAAwAAAAAP3AAAB3xAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAIFUCucw0gQLgzYAATYCJAOGaAQgBYNIB4QLGzgyRUbuF6kFE0WpogTB/5cEDY6w8FewiRFiiIiwCNViu/tsr9/4UWMvAr0KA7RHNBNdUmOa90P/zMU5SgCu8gU+V5YdQeyqIxiyfoQksy3R8/vxm7PnfQWSiIeulsgkLZGk1bOECKHRCMVCMY/8Ozy/zf+jPddGT5kBBiBSksIlqrXBAK6KOdRFtXPV/00252v7LV/kXvw/F/Wq3V+yuRxsSdsZNTlZB2Z8qhgm+oJKAgQ8OBCnE+KkZeJ6aXAi79TZnw/e9fJx5P1/deU/WePAvfbZqkmVOk1BsmTYWYe9icMwPunGRRPAjojGYfiICUgF8Pc6y/ablshB8oyTaqFoolCXGZWhjuurvt6XQforr2wvatHrA+vQsASWj2QHAKurcilZPtQBVt4AQEVcUZ1rg0Wdoiipi46hNqjdeWYRKXPd30//G3rXtrTCjhKGA/C8r/kMFWBRpkxhJ07JdCBWJMAYIHQiGlpEYurVmgAeEgVVEEGN0s6nttavooDcjwlwfphUV+BLAu2zvrDNeYvOXhYowTvAjtWR6UvPVE/etGwD8AAge3MDsE0kIIAGrBIhjImR6mGHxF7JeYAVgv5fpaXNSMbzZR5sS0SkI7IQOQgkgobgISYWMTnxOUnI8VItwtFizYkJiFREJpP6p2oN4+F4b2wbWwqvzX7zsiH/cdUl5+23TdG31z7+Dfpr5UvpezX10o5/seINK+vpVRX1FxwzNN8uq82IApQYvltSvkdaRsdzfSYIrOybI2e0UNIHWaW2ekaoBy0mGJBZoGnlMwOx2klfM+MLUc4EmQTvYGm1G6fNnEZ7yJR6mJk+MOsDwg1O3Y0FgTE2zmm+QL/zkJoEGciOzqm+GNE1RDML2D7/C19vhDBNKzVxSeNkc5Syb6sMFzF2mSF6eAe0VPyjYtJ3zbk6BJmw7qTheiSf250Fcx+feA6J+XbMAfBl5yaNW7RxYhFQjN2GR3TKFtzqRKoz9y4g1dlX/V5mDkMow/vkdJmKYLd8tZYw0lrOkkN8EfIpsavPMK8XgOJZBlHs7BRtEmvyGOmrLVZtU70JNnC5gSU3mW8oMHDliuU0sgRTN/6saVziHxuMm3bzlWv5K1MpSqMLrN8rgJEOny/z1eEbeHafObBXBfJuUq1DR8OuwWYPonwLHaq3WYXPnsQnV7mq9Nn7fGI8uHdOQLSeHoYtW9jd2O5suVA0I8SXsj3o6OS/W/PEqmcl9x6Ceo9CMFJPnt2epGLzGHvgZWTI3UZwxrr6kaWZD4FCXJ/QxciagQHxL7lpkHd+MIxvUbOKW97aNFmu2ILvnozESqA3Ck+UUjU+yiqB0gL3Sp6c/gRjiuQ2BooKFD/Q3QZuwuBUQY/iV2oWc3Egu959yrZNxB3+KaLD768G1+D7RCFg8hqrGxZA6pGatHgQZaDCFyTyb1KRTzzBwdYPJ3slNQbokwuB3eJ46POJeO9VzjfJOpposdjUTE7NGRm47wMHxSTV0wwBcOhfUhz42//wVYQr3tMx1bEUrwV+x8t4ZK1K4CHGYIz9bie7NCkwyNmGTeMvhnsCP5yw3DTxLt7LtOJZ2LuFL8i4lcDBiLblkhTp+/N8+HylOOgxl9RMDCXwQynBwr23B3++plEqUKH0QktsqYtb0MFCHL1Q5y0Nl14pwZLBx5bsMx1OfchXcPIURwl8Lv9RiZE+qu28D9PbCk7z+U43j5HPujQUwu8RICMj5d59BqbbOdMeNq0GhUe/+ZyupT1M5WFcWzI1ZWE065reXu7ZOmtY3Tx5ls3Db6CzeVrfoNrEYsEWfKjcK58+TS/HtqUXD2I62/nyfgz0mwGHu5kXCaxBljJyXBwLKihJ5paMWFC57eWAQygYPmEZl06A4lCmLs40LbIekSyRYvoK5LN0Jcsz68XiCGVIuHO+G5s+M0+hebLBa+mM6gW/B7GR1YY7bB27wYQCPWgorp5U6W5A9L3nGVY0b4XXkquxBBnZ40EvNkiWLPsO69+sIjlqTTV8pd3RdpXF9TjzSTWZPL5DBur/N5lRO/gvZx+Slbu94k0B5iCyL9TDUAqk7IJwCDR60yLWuethMdx0uZ5rVp213CxAdIU2TulfzT/Ub6PlzHMVoiwtQnkJRbc4du2ahZl3UsZ+DHB5P9JYg0nWa/NxcAmygTsLSzMkZcvXrJJeEEuLfUAPnrBcJzYKOnxIgwelUmZ7c4twKL9c9AsdIqJURogupVFdHS+MNjomAGeuKpf5QuTAarLbLeHt0JwaWEvxeBDdCMI30aXdSE8xTPDhOpJVV9tqgRySkrjZYhm5bSZKQrDlYPDIZomxF/ZwEqwD/D9tTNfY49gtkePG7WVV5nFjTlFdHB69ZwchG/aWOrdUUEwWkDRIeaS8wXrdFJfTQxuaH3bjDxsG3Uyac8qQva0n9/w4DLB5C130TOpiV9a9r2RZUML6mkd24vTVpe/lDJRgGn++wtqN+oFr12UwM+Ib95NPkxU9qO0nuuTmNvBOkLqKRTl4iPMFVaCs6p/Vt6QnE3ECLRGA8GtM9SCrBhBldSdM+kAeWAwVUkoB9hVBKVzFndougMVdXxBuwZmyC52dNmMKZt4VB+5veInGcJ2/fEi+8BdGdsMwN8qV97ElARg6vA8+WtBUdIRNDiKv6DmHJA8J1eHx4c5wH8ps26aTBrzS0kmDKNsZMNFRaA1zjBCLu7U9rdyz3ei/L3n6ck74AI2SQXylrDfeahxTgUGp0cmB8Yf6fZtc+uZPKtdK6r036mSHDug2T556OMn2hfiy0ESLz4RsecVodGdNppaPo19E3d3n+R/k5DvtAF5F2cF8TVi8u/cVSmrZdh9YbebxNQDtDrJqq+VpYL9y17SRpQzbdXcQN2V4ayRR3FNQna4zywSjnKs3VuO6eO9AcCM/qMD42p7+9xUA8H0VP+4xyp2soB3JCviLjawvNeicYlHPpPm0ybKsejEPqaSP6dnW2+1kxKvN+XxyPAyFuhWYn/Cs834Gq9Us1y8Hmez/63GOGsnmS3Zz/TCj5tkUwurqiuR99x5xwzfHdnxSuvKbe4m44/vd3oRQ2nqDXU/CBo186nyxqeXcMINjTgMHTBfxfaz/ydXe8bkZdyGy7sjRPPDz4TMmobg+L4R+a7JXyCqRtSDYDj+gU56UIMNsr31FrKC+wC4jn/Y/f7WD4gfX6c68nihmjOCW2RvdcCkOfDE0b8b5PA7x5r7sbDHreWNZIHbHkrm3FPNuvR4YgW1TeedXVu9DXW8yOgqdB6ovz+L2V19CXmsyOsoGVlXHjEaFj4LsHTijg86OUkNqe2xLlaYLeXX1A84ibQ5NytG2NG7cgZgxxuOIbm7YrQWfcxYWQJVwvPPm354+nouePphaUDDv9geg0K/TcLkcEYt1Wo3Xiis2bw757nn3lhlNrKw4jJH1+mTSzrFyOo0GYyiw+MMAqvX6xW04scRPYLrYIrVPhXivJx+LFRoLaXQNukDOgiNNS5euzsyYcYeGBK3d5n1rT59aphXKQtfbsE6ClMcIRWFgxlq/9ORZH6apIjAXdregDu1pSKt1zw0A7I25ij15z6FIgH2cw1n57MmVsRV2sOYkWrkWT+YYtd+cuNUWv9VvLdGtwa/BTXbYak7YZk/aBqoo03c9d6ddg68DJtZ2JEgECcAcnQzzjI8uL450+hb96gT0nNb3tmzhgQuXWkcVo/6lPapEL0vAYmHEqXUJfjb/hg3b31EdQPvq733R4gdd+52aZo+4hcagcJl0tiSrOdy/vKOmqau9WiRaWV0v500wnY+1gNW/vK5WUFNK0JPLIeM3kQOQQ0InWd1ESeP65si6ZqKYw2JCHJLARLOlOzJUQEeg4D6nUj43ewFmj0H53/Wf2Kvse317I99/4XoJFgeUE1JNfomuXohuYkoosA/SNK1omGfyXpSSqUKBXigSygSlHNyzxhPXwXX7IaJS3hG24UBVCY1TTaE0SAXkpoZyWV2rBXuipzm8Gm6Yo3BfO68T8fkKlZAlkkM8gYoP5vQl9bWktsIV/wOKyz4yydxAVMgbiSQzmULRPV4JOdgQVNVGkkpbSYrLWMjeGnebT2cyyvuWiheVU6liFn50QsNmUpUCPk8hpDBUEAd8tAMiUISQd43fkEeA3ERGvbS5b7l/LfzGzf6iQbfW0dDijda5h8/wJOV8kYzFEinYTIFCBISrHv1vr9n6+H/jwMY4V6Ir4X+3BcAr3Xr7lwAa3unyVtT01ngiFFWRB5dW1BLEpA/I5C+IDQySvZrAdUwUwH/PN1ed0Bp2V6vI22qtAsLB+id2DEFusKlk5Sv8CqGxqL+qdEneonRxBpIkSW8i9u5YtSkw7HW/39G3Z9UmpyBngdSC9DcNqs27q7esfPFi7S4pkYdDqbA4Ga6YTczRYks+LQGvNuWWbmr/M7Tyz1CH+rmP4+eA3y3yinISWVeH4yeH5ghrSggqPIOl1IRhNlH+hyuZoWz66F+oDE/g02m7v9gP8t5zDByzVHjPNyKr1p10klj8BiajRS5ntDSU81lO0sl1yKrzDd7KAYtjoBYcHDqpsxz2eCwHTmq8D0MPO839Kzo6+9d0+Wf9YMRy60f7j58ssPdd77ODh0N21O3H9sc4OASg7wedRAcxv1TKgHXnfHtL3TxTlLXXHKeyrdmpsrrR1WJKBG1DIRgnPCUBLhIWgRHXMATGhn6z+xpsNl/DK+/8MTT6U8xvYHoeueywCXM+YwvGireAEesLm92XAX6K2yvw4KOvlB9/9QAOdf+C+BkBVsOG6Bj4OmyIioYBMvqYxXHMtb+SZfuAV2I/llrJq2woZ7SGop3JD4ul9VcZ4K6W2ptohmA6HPpR1Uwm22lv+P4mw/3Bh0FQvaxzxS1yhenJLs1+EfbkZesmXbn5NlLAG0eSjMmaLWX/JHiKZnXCueygL8hms8jkf6EgeBbtxbHMjC7GMyodomByN0zYuYt1eXQ5xKCbG0qENX3V0cZgPkQil94vQdSHmLx4Qz5DwSFR7I0UCZg7ZL9hgS3DdnBz6KZSo5RINUrlTfiGXtzWTZVKu6jCNv0NMDAUObQyaqjrNnQHAkxO6PZQ/7b5++f3gtFQ5xbSAVLfVvxWPFhn+czSd/Cf7f/0fmb53Np3aHbHbC+QDz0a/hf+9/Fw71HdUR24XsmtmjZDf3NkH0Ay96SjZrDGec8F7l6MH3X6WAXKG/ec0/eN4x7YdyrwcmHjq4Xt51aBcygP1gMeD+geNFaAvHpeb0Agglz4MVULqkUzXkVgC9tEvOXa98hYrbQYjZYWYTVUKlYvQw/xrWCsjgq++LcaXy5u43P7tFru8oBIxK4sHVfBM/BCxaoVWVZ09cuqoF316xQDr+MzRKq7V6avk6+sXu5INnY/hTB4gabSbNZUCaqyDd0p2hWVlcpOAa9P75mhmFyPfRzXMtOiDVVuZ0MU+GxwwygnIiGjkm3Ll3WnSpe7KpQ9AkGfXs/r6+GrFZ1cbpcqkLvAKIXoWkkvKJ2qnW6ZhuwQylltaHQSd+NQtaC+pBJ/TdWCk7ECHVydb0f9HLN/Wkek83ValW28ksjyhmrDdoPe+p9PB/hkSSWJ4pby/USJWMFmSxQSIjwDz75nyieBGu/+ta4yEQpGXSv4K7VKJKe7ULnT2TtgkBc/G7//g5ev4Bn44sSPh8HIw8HDmAF4GFdLojnSWN0LFMy6os8v5dSVvdHvpjHBQMlvTCovigxm4EXsMoGwT68T9/fylUrG+srpdNL+5QJlcaWssETLYGA00kI0WlJYrGGYLS4++OKfKgJLFBBwewvgu8qqwD8ywBhYrVh9gsj+FNiVhOOqFkyL4XgNARK2nj5NnwANlhpYwuVxdTkwClaB+7G1WLpqcSDnDhbHW5J94ad78mwKREYTRK5ClgN2RKjhPCsW81Nm8uy9W2/LEL2RJQSxo5AN7k6VZk/nCpwWuVqoLoXs0LqWdavtgIlEwdCAAVkKBfUQnp+wlwSQXXPgnc77yLX3kF0A/zPqLLKjeTc9rY5zyFZ4uHW43Xvdfx2Qk68k9weGvcPtVxZcSeHMAdCQSblFAe/cz5f07h88Oggu2f62B+1/N/4jzwdYdvTXElRejDPWTBZqlDxuFRrxEpEapQSxVhoBz5WES6pMoA39YCakJn6+oau4PI1SSI41xzjzUCW/gi998HYY6Pna9skA8JBaVZ45cGXz7fg0F1O7QKsZu2274piNT49qwFvkjKTZ2VkY/nPnvJlOELT+PeSJ4Tc59bFGyNg8J7DF4wlsVW6IAxzixMfTM/Q3Wag1KxRakxBgLPa7zIMoEyeR36zUK+hcakUNkdvQ1B5mqycH6WQ2k7Pk2tH3lOcEiRUcAfiA8fxs/IMbDOr1mzn7pxnlz4dzvp6kUCe/jj/7krHLU48nmJBICoGAQoIr64Oa02HPsyY1kxvhjSJnPR/Ha5YdKO49oqE8fSB6x1J4Jeyff/u9DqZoD9AYgtSFhuytBgWMmsXgyMiUo2wEO7kix67nksu1106/HGtKYqgnQauIwaDz6Wi0iN75BToCoBty0tLe9Tt4RuDHtw9ZjAN1dcZjdlht7WELh5KBwyYWzGqpaKPdLtqwWm61MDbO3qcbV0mtLGUVhVLH41HrKylMWZMqHqq/+1MBiSUTiVhSEhI6Uh/Pb5ApQBYfrZJhsMWzKJzZYcZG/3vEybFoLdFKHCksOkcknisqHCaCte3Wi1TT7LzYonkzB7arD+H142ZQ/o6DRHQwGIwV79gEkmclxQlbDGaxGJ0isV4B3m/WN1QoolpWLImRsj6ryd2dDcfnxJ6OjT0VmwPa7+qb9SDDVufSkLRFJSoSCafSF5M01RWqFGJXAcpDIosKCtaRwIGWXVOuWdf0rmnu3OfZ5/1FgsJTovmcBsWcuekp6xPitYst2QJqeeHdiKy8U0tFWJC2SU4pR7IzlEuykk+F36BkFWkobLacFm8iXUtJmUhK/DQ1n5aTNpaYeDK1aLsePB5+0Kh70Ak4SBRsvGgpoTE2L/Fj9roPAiiucXAdNekLAgHYam1vacsAoyVCMh4vpJWtFDVlvp2U9HZmWbe0DCR087a4zJkgi1+qNqDJZENxqYZMwmuMMNGjcWryUsK5wsL1ZGKnGA0TwFak42KT7aKttmdd5LSCpaae3D36slBjMDTaiuGaucP43S96HmNWDFQOVAFjN1mwc8wIV9zf8G98QTkLC2KVhm2hBlzORefXhHFN5kacmDhcPykgdnz0g+mHr+abezdHyDb1BEO3zMH25ff7wbitT33YudY9nqqYYlowH12fMXaLXbPfWdvpLgCnh050tujEXGby5W554UyHs39dR2f/2k7/7avuq3f84Ld1e7qGEsnePTt3ikQ7sYd56u49YLvsMKZLcHjMw2zOffewtarhCDYgtmWmF5vYZLWGMFyN73ud/Slf2dFsjfdtw3GwB+CQneWwzfB1/6bex89V62xZ2Wso+CIISJu6Az3iOhxRjiHiONurBfPjz38sSeWqmJIGi8Pqc0YbWtN/xOihpbU4dbqovDSXy5n9PK3wZZmQAUG5MB5A/dGUkKOUK8jJLxMUftiTKg26bAw3PlZbqU2txjMOEdANPVVph9CgcCoOOQuY0jYe1CVvywBsi5JXblPOYf8w0whzUxvktwN2GbIN3UlSn0sXUxiNR6eZG1MnoXQo9P3WpoDh92G3eHufWKNs/S+osL+LLy2VZmRmsIu7UExFWravFSL0FDBV6d4yWTFWx2BgdNIiNFpcVOzVFOlFtwT0PzPrwf91uF67/qu4MQQkfsiRwb3EJlwCQpdSqoFkrX3GJitFxA3KCfXhV5EDtIPFJBHz4PdRQQq651gP+PzXShrUY3yXoArGe03wczhb0XYKjSCPUnv7ZP2Pph+/XGDu857toSnthy32Y7W19gHdvE25jHra02deIJcy4F8NXLBUyvDvwC8F7MXRlBMRPK2Kbe8h0Ypp/CY6StDG4NMlSiYxgQfT+fleurCnfCCdyv0f0LRXyoeAa1RBTK0yigf2Dm7WmzdraIwZPNnLpuNKuKQUX1KCmxv+j5tJiTdTkkcSk0aSweJ9w5iEm/Rn4vmLq/PYnUP3BxnpBfMW1xiCpn2uFBcgqve7vv803TnZU/9KBWxD5dBq/uo1A6/GXPPHVyObf34xeHf6WFFemVRKprC/TK8loVSO9M0tDuBDm0P+vhAQ4XIQB9chq841eNuuBXPdNoUkY9GiDInC5mE/3Na83P2DWVOWuJl76xPFi7yUlLwXik9uuy+8GKS8/RtPCTIsYRnKT7guTdirylfMip9/Ubtanb9X/w5+2uc64KrYQHwO2GGxWOci9QIKQrKq4RZuZNIika7Imr9gy1vB9bVtXGaAPW6UPeky2+Nd54THtgI212pmgD2uyenhsaHZXJHMAHt8vHB6xlOpFKFtxIa/JbdigRlgj/uBPekrp8dLG4XN9QUzwB73jtPjTYlxtl2y8EY3ro8AYAbY44bZk06yPULOCQ9sIjbXNWaAPe6g02Of5b17BHfinSrAMv6lzPNRUiOzHZM0tPS/bc6ZGWCPO8metN3pMSiZAI35gBlgjzvv9Dhjs7EDBms91tTGraU7LTY1LK0dKOTBEr/QrVnwJbmwD1d+e+S5gCCOAGPR6ufaDzf+8m5KIEabh+q7/X0RKxqM1V45QJ72BXBscNQ62uZtihSoN33BsSG+zQLAF3ghOMC/Mlc6sqxB0oa53bXyx1/JxOwbfFDbRoLcmcCxIbXNQiCXzKzjj1g7Eyrzt+MTaeZso0g8cR+rzN/SzDwCmcDPB+d44ACgHs8nkGu3Zer8oT2iMt/MyyuC8WfKO7Myf8fPiFv6H3rhgfOTETXli4TS+JZFZwPmUNebfVkYYKpo3sR57pzxbz4i4inA2xfbA4APa8i3Zp8YXng5kcpUCi+SZvBbo/LCp6mS9XBD+6Xnff0KbTV9n+tRpuLK6XrZWY/R6Yryl1zn5dRLPfxCZdSfWJlW67+iImb0E1zCATP9GOWACQQfTTR+DWx6SbIcKk5BgtkXvpvcb3CFg0i1yo4GnVHwJV3BFAYEuSEnAdKOAvkZI808oAjCR++WVqxKhE6nh0aCDUO4r8KinKCFJQF1RGJDy78xqFwlyZCEfiIhO+FjtzBY+HpkZ247XjP6slleZwl6LS4n5bMijYlxQO5oyaTy6DocfobN//9ThCk4LTRhnSlBSHUQD1afJibDVKvMzNwEYYtrqrj6RVwE4uoz6ESCYPG4sdySQnkpMMhVnKxWlLwNMBPR/eUoLIq4ToKtSdn1DCbr5LO3IFEAX8vF1TmZua2+dDLKIN5P4rKZNAG5fkWsFHHuS6wRM4n4nJWTN7nrsaVGCfSvjEV7n3kMzdPAURULFpT+3/Jyz5x0ZIRIbupWmp6SdAYAqeNylEzzyr6XTEySkhxuyIyjv0d+OjKyrlMsSlKiYQCQOhiSlBqXyZ+Q8v0MUXg7me/FVHVslLEP8uF+llYf4TNRdVIa9kprU747qhOEq0IYbBwfKULnSO9iqal6Z8IBUxjgva3maRMtTLgs0YCrgBYOmFcrQtg0BwDPvMNcYTIdd4VbYLcrAo1NHynqihJH44qWiSwseKrATa3k7tOCpoRTtQrMHQitXi1Wi9BoqhesLjdeSUBGxXs53set+dcIQ65GNbc2TYiwcHCIxHQElOgQigwEsHRltRKF5vno12nTqAJsgnLfaCd2WjerxQh4uO+cI+iC3DUo4E2ATfBkaJViF6RNaf1sQSx3AT1KHfc7l1crYVVdhKYQHoRaD1tis2qwTsvgMloo3JcLHa/gzXwPVMIiQMTfF/1vINYcceaaZ74FFlpksXgJEiVJliJVmnQZMi2RJRvCUjly5cmHhFKgUJFiaBhYJXBK4REQkZCVoaCi7YeOgakcCxuEg4uHT0BIRExCSkZOQUlFTUNLR8/AyMTMwsrGzsHJpaJIg1Za5U27PbXaZhsccsbxZqz3pRV2+NkvNjVrrfd94yeHnfWbX/3umAumTLioUpWtqn2gxqRpd91y2x3P1PrIPfddUudH23zqY5+o98Ir63i4NWjSqNlRXn6+lJL0fh4C2j3XoUunbsv0uG5Ar6A+/V763rDPXHalOZ/72heu+o8hIaPecM2YNc55y9tGmrfRD4Xpkl4mC+dqYtqa3TgchBvaeeUc0iCew438r8hwcRCPLyUBAAA=) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:700;src:url(/SolidUI-Website/assets/fonts/devanagari-3-349ed9fa39221b45ae9a033c0c3de0e2.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf6,u+1cf8-1cf9,u+200c-200d,u+20a8,u+20b9,u+25cc,u+a830-a839,u+a8e0-a8fb}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAABUIAAwAAAAAMjAAABS3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAIIACsgouzYLgmQAATYCJAOFRAQgBYNEB4ohG4QpRUaGjQMAkX8bUVQIsuD/ywE3ZEgfXivhkliS0txbMokQAgSEksKi6ZIRil/WITyH3gPsiRG6Ql/HUBAFgNZ0+mEaN5hfPI54Ho5cQ7T1/S3ExO+5MRLP5fnn9/f8j7nWeURmeuk16YvJTj9BIcnqgDKj0t0/8NvsfWGwYRQgJtgoZQUSImgzUEAxprMCI28m9lJXbeRfFlyGLk4Xnco/2Mb+uyOExMY6SLCIRVM0pGjV++z6qgZJ1fTb6B/AzJmCaHv8yeik2XT7EMOK6MHB7v/s++AgMV0vB1RSMR/G6tiw0UxdrhgFGbTcbIWf0RAL3PgSVGHOYTpUHhT+loXnDGmZ230DVtas+eb6tJOdmU+UuysACrn/CzWyvsJUJpPM7mYnWUw+AWc/ZQ+zBQBNvIcloucJVHvP91Wo2np7wteffmbzwCndXkIshp1YyELO1d/LfaYsh/r2H2UkqIToeY0CLGTHDnLgwXFJsBAWMIYwHcXEhBlKOefcWh8gPoAs+mR3PfrUhXXGAlBXVzJwhDxeTuOThA7mq4g54B057BiJFHaD9auwNr9BOZOmqtYB3AKoTeNHYN3AIwrontUwECrGesq32D4bMrAELXjEljMvgaIiS2py05w1WZtvZTtS1nQ6vHH4RKPRxmmnaDpHyxmo/5kAshBxQBcgWFySkpGCrfhrUY5qdXjt8BGf/JfQ+GfcGZ7o3DhxYM8GBRkRdr7m7pq1zNXt5dHxW4dvrrqRBn57fQPMogrPzw0+73npL85ZuJb5b7DoDqbrqffzpTkZ1eIklco6/q7dwliB1aOilDxAOUHv7NB9x9ht6gCGRQ3I0uP8Q90Kjsilfcyy9CUcthD2ZJaGjqNTVx9ecNuL9W9dm1G0ExLYj5V6tiMJdWVGJA3xnsyzHBAJ/4F3G6r/iq2Lhv68aWQka4rEpUEj7ZP2cUgJbDzet9m9dDtrUz1As/oPXhmtQyAXYaxsVTbF6YO0WLanUuZipK9MehOXhyIEpJEp1P//Q/LnxASfaBRfoOKMkhefZHUaC39J0jTFwuwsq/8VtOQUFU9AK6vvsaAnagEGimOCaDur/ci/Jl4Dgmr2784WCrQwBzWWpAouIydIvmIsa8dM4MJekOTNcupm8A2AwZYp7mVYMDaTxhVOqkBAzw2TtMf4EgrYZYABHFKBJdPlPbvlHNVrZHKdzo8+Yy54tlGt6SJ89ZP6JD8vsNFJmjq8XPfYPB+QAmWRtULffwaiS4po7WAakEEmYYUGrg/RWYsW6fRZpYTAI5SzH9ZD6pKBMHjmUVTGYGGDhQIqwMG4jGYhG4TbujueoA0hSQvtWYR8F91fKKw++9xYtfShrXQK56hm2u6NcX8+wb/mecSRuncmzmj6JF8LaKTbCEIMo7DTutx9x4uMoYt83daLF+s4U+o00M8ch+ic+FSS9IycH7GSMu1svISH5npCWL4QDLND+u4P9Fj4npUOomOkns1sAQsrJOJO4wrgPSBJaslBre5Rql8nZJ1WqvrsPxRW/2+o/rZN6YXYQBFiWTHgL7ji4KbF4e//biTsk/fUHh7ssPs7jDoxDtFmDoJklY2PtWwYnztv22Qk8Na/+x+IYgIqBAn5aV9d7DQywNJPb4wM/NKy4xHIPjIFWEXEIPi5IxVT9nkVUpqb4FNpRWXnvAs5+KZS7lNQBGCgwxR0JLELm6nKenB9//OG6mzdVcJdqHZVStyiHAV3YLIWcq1/EJD0co4DZ3TZ81R5cP4CTm3ZnquKZSVJj36jbDw4XxBR7rjpzv+zqAFLl+jqDC5IaJAGtHBprjA5f1pesviSy1DZG1XIWdhU7QVpw97zIZagwooQngGMgdGtgA1uU48OK6/zS0gC4Zq2yWvIARnWQ8jlGFD+5dMrE/xppPjdl8lFjeg0bZyP2g5FfLWxMDm2lWRi2ZEeLCpZq+2CcbSaKtJFpR1lVTPfy3rLxZQ3hzp0MJTkWYeQy4oaCq0zbS05WNjItUqSadf3jTc25kZrAIli6ZREsIe4v61Yc67Ii9ZO41s3ulN01lBCZ9vQIpWI7T4ZvOMcIUtm6eUPVBSUlZBOFrUH0qP4gNXRvutHWFHZ2His34ZRMdSOKshl+7JykpOuzZCI7RhKd5k/PUqU6P6pdUJ/R+5nNTuLDTg4YVLatm/k8TM/cuxtc/q1vXLz3Jln81x00bcbrh7ta6F8saxNShwjH99EvXirvnt+Cw7OPv9eNe3vcSLfNUwY+wTEkyEeurM43ML6v850kk3PFQHnu3AFCcc/oWZHda157GzhPvD/nGlRpDBMEeepp8dzThHciuEqClJNk5el1dHdL7s6X/Lcickp0xSU11bXtBUsXWjUYlVgx7WrMq+C18twHssOf9P99k13VDGvpACg/Z4yuFud13Sw3b7iTGwcy1uaVZqW1kak3neR2DO9xoPapjzbPiBloAAOvzeiUu8syFfvGlWV4fV4hUdxYVZWcXGWbLMMHvqtvtdxbyumd59+Xy+Y/uYkcfFKzC5JzSooSeMr+aGXmqt3cdSlK0TJBYNq9UBBgXpwQF3QvKfBthge6vSoHh623+xYoUfh0DP2Bw6ietT+0GEU3HDDqZnD+fmZQzKSnc1ZGUNFS4aH0iduy9GkpeeUJSlySjMwVgHDNy30WBThDyOHJ0kojSMPkJa1FXGeedKfcYrgOa7BOyoLiTgWcNHV7RDVxtH1mYio8AiThS9dVVZZ3X7psUtPms+4UBdTnd6JSCJykkeYlM/lZlUFSyFA13vKH/U/1Qv3dMP8MBGXyxfxh9GhDGlblzAxUSuI1WYMgSBcf0w3pfm36t+pg7rjOXONc2fq5nLnYNN7r/9/iD68eKiful27XOHNCvbKl1rGfubFWwyf/6x9mdMJtqWCNo1YHJrMqZWibFTalcwJjdBIBFrlAE8S7esriRIIJDEyGi3wfLiStmaxvHBlKSn7mCacExgVEREYxQnXHCNlrdIUyJvFkjYVxOI92n1HGYLOYzNRqlLvCHmLOLJNpZK04RkkyppEkqakfUzmYRZjoBTi/L//zFnx3MbG6PTGLdWE7ImWI0z/pyJpl8orVAyHKz09W/Q6qDf54Z276F1441vdrJFMcoJ2eHvvCOKgbDRmvcozEB7hteKYNpUyVtsulsvbxbJTqYzTdmgP5rUuIlIkCo/09hFKIkQCpAXczPcLPMoRvBdjzvMtSodZfIW3UOk/wXzjTKMTKeQmndQhODzYyy8hjxVZWJ+/ULGTO+Ds8J5IcU+9Ee8QErHIOyAujxEBOSw2Grc+mRkgyAryL44GJ/h8CcD/NXsjS6cqVBee2cRCE1anrz6asTJ+JdSxSHcCT7TY3rb5vjWtJQ2urXy96mDPA8r9VZM94Fu8hUrdSqVtoVEnmsXPPnbY8nttXy18PvEyp/ZlFazc0ndDe2Pnt+7x2gehNSfzdPbdY7zIYQmceG9UlbKzID9l16hKg6fwV/MpeAWjuLiGPqBMWdfm1Zu7ZCA0N4rdmRceyKaHTRwjJi0rTuFmsMcXDy0eS+EEZ+KfWCGWBKkYfyYMJHAVDVHlEbwm+T5XE1GAL0fk2/b+pCRaIMjTE8Ley/ZlzvkKZaHB1LWz7jUtYOY9wb/m5lnk3+obwW8Q1+/MfO4rlIcE0u5HixmYpKTmXZ0Jv2pumkXas8AVY3CaQDVrIwa9iy6u26D4j/X+sS9EIpGJhX7hZvxl7bkrKXSV0aN5Us2w0uIPWCaRS0SoiMex/G74D6/n2LfNvtfv68W0H+bpYv6PNhVkZEZYPn8fctK/uYGPlJS8NYUFsYrylfJFFORFYNFNj7fVi8pK+jUv9UdQfYBPlJff4U7vYDE76O4dTNv/QlPUdZe++tPhHYuNsmH0iyf+Aage9Xvk+6epymZVKMRnAvkXJh49Ru+iW8Zvn39gtSCMGXz2+Pua8UXx7U5BKtV+UcLPUS9Zl3P4GroYaAsKk4gXXRCmQ0NohLNgC422pYwGbaVB2B2UKt84Tugtk1TqZGVN+r9Nu8JMYNFXH88BfSKn9D3gjxCoFlpGokSBZf9WyUeNnrWPFKnGQx4vS5BSCamxOIfcHweN8kvFq5QhlVZCgbow+SM9xL9/ENpSUrPEmO4XHxQcLAsJ3prRTgw1MQkhRjZlGjaUGaiHnYuHFRvt3bYa1Iblediodnh3BOpkqZErLPHwbpfNbv6neqm9p/xB5PLR+i0Z2rdlnZTZeD1idUQP2lO+uvymdY1dWL/KxBXsEumttjyJWCz0c4l2/OhuhSun56vz9X4o6HpvqLJ6TQYJmSm97+Aw+DHFqnBV+RA6hl4YhN+xeJMRsl2PshGTDwSP/96eohwqKVEMyf+Q5edvlSu2FxODv2KEdIXYP4Hz6ZRFZFppT1iiICAjqkXKTI2VgHtTDIe42HiVzO8VoaqUZ9oa99k6Bvi98jdeFUAkFLZmNZn0zQ1S1Gn8W5tRKzUy1Zx/wnFhsq9zeV61Har7Is/ylEo/wdizb9882Kda02cDD8o8MlA6wzzMguHHtspqtyboNS21wB+Uka1K7BWQcSA9JT4+TS23VDjKOByZo5L4lzAtfNssEfr5iYWBgWICktcVQ5okESfJJJRIQklg97KSbNRonWzkmpZstU57siUqqEwujJnuVk0Xpkz3QCo6bWT2E1oXTRlpi8zeoNILDw7P+4/h2L9GM3vzN9jdbCIX4cGCW8j5LVY/7xvspBR1WoVs8s1HX4NjKVLiqW2ZYGPK3abdJkflGdoMbkZ7BoOUWB0YnMnjBmZWBSsLtdmsq+5u11nZAE6AcwBPsMtaVbASMK5OFjJ0YgxB/BEDn2AjpJADIyRhkpgl7YpoXXjhyB9gLQO3ZyyKCfmCNcBVZGMN+0UaVV2tHkicIXGTtGLR1kCCGH8m2UzOQBIPkWCgodjxu5B4JQP9+pLQ/E8ETREZNwn5W4RAN0qczWvYqsXGPjbmr2DYLQPeNozhPG8R7RfDJF3PiTyw93yHTeAMtndtBnJdF7fNtNswDQRPCQ6gKq5yT+6wPWfHaYaZl+/5kdCpqqyFsZb9dljVPNeOyy6xOW89lluo4oD1Ak3ohg7ApKs1pKtWcqe95E47yd2uk7tNkYOOioNGoeUR25NvHXQUt8cYEeNQv+4Ewiaii82cxKKbIcEZVMXF7vfbZUZruMbx+h06lbQ9xyP3A9KkX/AA7c7+4MeR06BPYp3CzK8PT8XgHX2cSxT6L+ziMy5M9ufEJNnRhgHtluYycJEwbVXvxa7Z93v5zjD19c3wr/P3Uf9vBctBfdmN7MbHKqzHOprYQVvlOL7UVF/Y1guahzbk1zzan7at44F6rVFYWf126WHlrzF1cfUcaCK/bXE/xmCU2yN4yWfOnsVSGPU/WM2Pj0FO6fYRyIZf4cbix+PxEXvnxLjEHqtmv2P65QnyQU+zqp6PeUtZ9bKCugubB4yOtc5xfKpX84BMBjSR37b4DGf79XOPzc+d6Nzs3C94HsGdF9DqMJhwwvur7KP4hK1aaH9wd7cLHp/ZqleMG/FjNJHfVvgKjsZn3qhn1mCaMHtgQZ/e1uFB3dnoMPtPq9+q+vnQrjbMaVSQz5sH1J9f8wiV/QDX3Ff3VA7RydynjsP/+fSyzqI+q+bHG9NxME9vJ7Nere9TNbgLAabgnD/+/UsC7nchBvMQ8P3wxPsA/EQe8ee3/74NLtg7JUHgGQAE/Es8smCHKesT5WIgqoNfylv61zdPYXocr5Tc6haz+syxZnXNHrKWFffsXOt6idcWFmHlS8/nWVKU+lHoZJd17YKvJD5xjlBj7CqdQAElekx2DWpNEPZUsaPpTyW4l8JW/ZCXqNEgZLgFC9L0abi6CjuxmMba1JikUTeVDm0WgXDQY7LqiDLLFhUQI+cY0NezjPv/nwhHwmPh+ud2x/EiFFvTeFUkrxFxzyo3qJhXhsblvtaE2fcQIkSol9mYTQDTlZxpXgmZZq9kaGwnptN10FwT80mlKNmIBDbTddHsV4Xoauma6HrpqnxrpitLKKc1AVhZPLa+6MSmjXRHoTm3JAahBQVZxnYbHCzKVgtyGmGkXdojMGxvNZ8OR6hBFhl/BhDgJX2MVMNBGHCAA84BmgEwXx4MZFoE4GFntGMQJvZpBlY8egxGgPJjsCiSj1mAIEHD9XHAVBMBwAWqm+OXqxKCI8uh2SoVKqfiKuyqQiXQNPdavi2dlEScxTTKm72vUJkqLOE0SuTww+bFi99DJu2nFC2JhFQo2hW1LD6wfqmg+0ROLlJ5Q2yeP1EPjQ+vtoomqbPx3GFU1ypJK7LwbGeVUI3kBZNS28bp2dTkK3zYcY2l2LJplOL0tDytq0aZnCO0BkowssWDgepMx2t8/A/zEkghGMAEiywAF27c0Xli4vDmw1+AQEFCcIURiSARJYaUjJyCUjK1NOlWuwyr9HkEu4ND8MhCZBFCQAzhm7kYIcYwH0CWIqaIGQQxZ8ESEQmZFQprNn30Kbbs2HNARePIiTMXrtz6bBZxR+fBEwMTCxuHV7fhQJ4k5MOXH38BAgUJFiIUVxgePgEEIyg0prue5YLDE4gkMoVKozOYLDaHy+MLOi0UiSXd9yKvRmVyhVKl1nTRI3fcdc8tD1Lq9AajyWyx2tLaHc5F2Z5Pjazm8Z5I9z/v+KDVCXp8KwWm5HIm0LHwIPIimYLP9wOCVqVOh5zjZqcfDyBcPjWDun3OwatTWZVK22cT+hVwjWhYuxz6jJm1JfTrotoETbB2OazXqx0LVx2wiNyBUvSr7v5EXyzhw6CemY3mwLexwahXYWnwDg7F7b99I6bCukZRoE1qTDhlG1LUmE5MKG7vxTKXgTCpBBdL1IBJa1DLhn4flnrfh/Kz7H332Td/VU0Y47wPw2cArssBDxOmp9SJR4fMD6lVStqtX7e6nS0CbBuwYGRDiJn2uzZjJohU356hFJSLnbwqU13344n4vgaS2300b9/rMxHMBX+XE/yIlPXnJSw0w79eOPHFD9VV/ZLqA63WEk/R3cHwuantnjU/7GC5/TyZ8Hfwj+mQtnAQS09ySLTrSWEq4apLjBU=) format("woff2");unicode-range:u+0100-024f,u+0259,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAB6IAAwAAAAAPlAAAB40AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAIFUCuUUzy4LgzYAATYCJAOGaAQgBYNEB4QLG94wM6PBxgECGX6rKEoGo5z9lwncGCL1IV1YsAiHmNnVzmZEIAZzo65J48q15fjh/igmqjoAnkvj9zM9Lwc/MLg/QhoTy/P87w++fc5930yqCsUaOQkhMc6a6qw2iXXWhAqHpCjc4flt9oxclDZSBkiUgKCIKKmISpWFCqKIWVh1c623Mhffc3VzcdNFXtV2tbjq9aV66N97t+bWkgjmqdD4iUJOXgoQ2X1bYZI4JpZCeRY5p9ao1yr03/9P1+sbzcLxvTP+LnpX7nxStEkHOCDwWgZW2CCHpXbVhggqrFhfRg7S3+ssW3llHbCP0XdVwm0cqlWmDtf8930Lvr61J9le8GpRS/Kh4UAbtBTybsjZEJYpkQwBO+gNIFSX1EBdig64aHqePpY2jVn3dGdlRsFwxhTxums/82fxaklimqUCIiercApq3ld9ngJYCwbG7dyFDBXw5QkwJ0AGITyoBySHPFxURwMBhcnHmY6CD7yMkl7iBfSV6gBX/ZQ8hJZMaFjtwrfKq3L5DlEWOAwc2OEZ9v+UV7g4W70PgFcBeqRXAfuELCpgkO2Fuq19nq7QQ1mv53rABm3WQo2yl3qrX/SrfQHIMCQciUbGIBOQAuQ8Co3eig6UFp30IR0eqViyDRmChGCB7F9VWXvx+GvH1ir/91sFK7+v/PZo8dGZR6cfnXg0/2ji0dgj3MOzD249uCEfLqOfR8lHzOc8xa2jzR5+BW5T9weXTYBkCFJU9d4ZZwwGJDov7p7qas/CmHkcQNGTRkln5SIHI5acXSfYmLiWNNe5wRRu4JZ5CVHRcyfa3UlAUM13xwx4SYAD+tLHDgIj9krRbuhuGmmap9qcJ5bDw4XbQOWq4EgJyJb/SIeJMaM7N8muzONkZFNGpmSn7F2XKqKxGloBBY3cm4qdKleWBOmwL1OuxdPoXlanymv7w68lluPIBvjw45emQ0aJHh2xQjT3a06osgKiTXCh1r6eggvZpuEridhpnZj/TfE+kWBtErIUPY/QJGMWLiS9aL10BPF8GahkK+PTGDZqlwVXpcgPfmH7Td0nNB/sZodg1druKCCNMFZxLJ0mZsWPP2vNJWnRkXx0cqzgYGuVovRG4LG24Xts4FSoVD0RhL3n2J6VyWFLnYFGs7mD125BdQQa6iLYspOx9UNwY4bZQohglvpz8QIFLFOA+/2hvBeaUKVfW0s/n9wrA+LYfDKh+aR6+/V/2P4r7bufZju/QuDV8O/3JxX7X+uHV95l/+ARXYjb9YFuOwSK4dUJY4qiV4S8OzlkXnjcYXOtmc+Q/9tiqewI4yFlsDWxPWPzC4AVCq7lVowqB8vmFvniDejzSz54Sd05tm8MKtF3qid2koOoNjOhQKAKx9rI81tAILGI955Sd+3I1cF4BrT9/kKr5i8LwjWjLaQU4rsPaGpXENsvVq1CaZTdvyGyoh31EHENTw9VN0NzKo+DqvZom8Vn8kgisBx0yKRzUmh9iHS+lqXqak0t6R3i92Byh0CPmxYDPIbsA2pt+Nswi+S9sMcVpDcup7sHGhrAGZYIOUrIYBx4TxBFy1tyvXEoOUPI098Hq8kwY1vLyEjAlzkL7VWzIdz/AM0CL/HEi1ZbTwzo9zXBZelBoYWQsBQKxErUlFpM4IoJxtu9rZqhrLyiRsw6Xo+gTZEEJlaXI0arxGhCRNfQNk+xFdywMVLMRG7OHUmRsCYrFrDpvW+j5lF2QalAv0Sh5PcgMjI8pIS+e0RLeHV4wzgp+rj/zaDYDDaXXbXxDdkm5YR7xxzZU+Psqa0XB1EKPaQXra+ir0GJWjDCGKpMmt6LmokR2XW9Cqs5K28e9Tzd6llxG4YNDkVOH5lmdSpQeYwSe4W8WR6tlZsFE4pZsvYm3rjWKE6hbOxKmptRiwTVYnJtnxlhHcnof3DK+l45aD1cJ6hm92lie9e9tlCbFyLPPaPX/J5hHv3Mqz6yFBVKg8kfPWczS6ChiNLRUuXTExB+X0fxCQ/f+9qHgK9YdkAvs27giPlQMIUrvmzp8JOh+dGKI2jMGm0p0gI4pg1NBDxBu7L/Z+PkR2VgII2vroI8clp703JBdN8TTCnwoG0TaNy0qyc+1MMFNJeP1D1f42lLIqhB+qGLOb7A09in/cTAfWd2POVx9BNjCqsKrxciWuKtBdL4qG4fbGrYNpl6fUE4kStzN4rVCw9HF0gvPjvHVq5qdoQikgorocsnROe6GpwEqUq6xUocE5jy9InoYoWI2IdbCbFx9ekbUXmoPwk8JcUadYzCfmvSHzuf3KVOaVrHU9dTe8Xg7HAr0nmLHsMxw/HjbLpPh9uU9DTtWjHhY6uGDKw8DzEXkZ1ctWxHd5zuuZxf8U65rsvklR9h23+F8u9T11oil31oE8Rh3dpOcStVcHLaeQHwFN4Lb2aCGTR/dktyb5Ft8b9NuYWMSuVFuxYa3+ukQeROLLIlh4l8LvJp5Z+wTrSmouGjCQ6wBC1DLiNoV3iFza+wva6xw0zGK4crTB9EJlAf0Pb2p9QdaHQ1lK9ke+aQRgnJ3mvEKYO3xLPQZKiT4hp2lQyVGOXQa5eZ7i+8WYxlNfVPKb5r8UuzySqb5+DxMvUfE7QtJyXCAYwb2TqPKeC8W2SgdCrq7oKyBNOtFzDGCFreetvrF6avcUekbHzW4f7pLme4CCMtXf+KC+I5VWhrGx81UhgcS8SS7YszbdaIE2Ca/b0p0wPGq0VG5EOFckX46FhhUKDMEnCoFmSDTo873Ivk0j0sHnNc3bM0JsNAW6fH5SDH6PowfUOh1/n6Q3TW913G4kdcUsUyf2ncfLQ2jzdtOLRbotu8MIVrScXWRc8d3vWRHuq5aMfpaa+nR89EZ6T++chsAiwbWN7jZphHDXXP2XQ/juEeW0hVRg3loQfKLfjOMM/R8WY1wMI5atG/DxlMv+ZkuM7hhR91cUWECw7wG3B6BNmnGLVX3c6gV/YgqmeVfp7IjP7ZQ5bzZX1vaiFp990Gdhhx1O3zoguo7/iD6r0qkv3LdGOQ/13oWfo+UEt978cr5TGn5AToMxfwcnhGG4XFGb/ia4XEw9Ttlj7pKno+M829sqfc2lx5uyxVN8syChQsmSLe4UvNgurmKPiDDY4vOKAEnyWz3oJKQ7HXT0LxLmzT3xx6adVQcIcnqZ5l4YuGSlutR8TNCYJDEGj6uFmM+uAv83lOnB5QHVu9jVcE/ZWVRIc+EwD87rYHY4+qqA+6MdgeIqEHi+kmgHVK5Pqvqgcq3eYDb50N72yYGEfuOww6B/quib8JYxOnEDsPC50jHS0TnLn24zgHsnexTOUJUnc5T1Hi6yrzMC8aKQdl20zRQmWasddR4i3nyW0+jSXe5nPq919VBOkjRQqJM/Trd4Zefxwx3hQNCwP/jQJ4lUmbnm7UyuVGMiZr7kDH5Vlz70M6oYASPIYWUhn1xkxMukYErsjkbQS9Ixhoedy8tD55PZ2Xl5IqsotQhwyRtDh5AUkgzKWSlVsm/d8JCfkvKPC1d4/PBThYmRBZczzq6OxMG+PVPeKo5JgpmgKeGrhWXRp9fN6JKzYf3WyzVqInxh3hFuvmY2DTB5sFVW18opVtS/noHtrX5o+f+4PlmcCexfiiJlxTbGKJRRviqg12FeiSSptwjRhWsVUT2lUf2gVYmxdOT51eGF84M3VmAbw4UA53sOEgz6cLksPPLG6+UTmr/oCA7r65a1d0fsFPXBgoxJcJhbAVCTbpvCkU7/AvSwDCEg4FfnE6EUimUfnZFVZZJTPWHBNzlD7rphJUVjCE9Q2NBaVjixWajUMv2wGzrqu6UmqPY+pZqSmKZc/OFK2Qy8opY0gbRms96ubWPSVh5qMpb/GRQ8i4b4hR9ZExMtQRQHENJl6/fFGxS9EJda4bO7JyFJAErEGGOBwnLeATS5Nru/obsmuZyfnkIzmfYclf0qjPSOiT9tkzH4MRdk00m1oA7AoFhlZQ1+xMS3BUJMkm6q+cXW47PywtTqDnSg41Xu4kU4RUQhSJHEgGq/p/9SdWRPE7vgWiC6XMeF0lXamsoEtZJpOWNadnG5LE4uImhlQqCJqYu/yISp5Dv2Ewv8di/o+JWcF0v7ODiOuhUIpwhC4SeNYrY+DN9hwpisyz0Fk2aTrHUZEo21V77kwn6Wi5Ni/DnsjKTzjYsryVQIkjEKJI+CgK8Oh466s86d7bX/UD1di9lL3k1dQDuAn3kn4QoPa7DmdxTpOtEHim7/G8wJFlR9MiteiohshJGDO/jCUr/61V/7s/fPWELudwiTphrEqTxRDEnl3U4ujpKp0sLbGjRJaq+rJ7EP8vaiMBQ6E1ZVdvd3VVLJZaL1Y0Dve0W2SRYWX5uKaqea15smzvyPO/5xNyjNsdFNqAIrCldFQwCjxt9o5tPrOydGtl6ax6TUMNwN6QlpOkayouFy9zShvyVVyePHeFXYG7ERV1E1dx9PgP0dF++JZX2wDytn7qsKG49VRXROUlaQaRmpXvMJnyHVnUDKL0UkTlqc7W4sMG/aQNnFma1RoO2qyGQ3Pacp9lH3VsaUl+fmlpvnyfHPxEH/2++/sJj4GF5YUB4L00AN91t+cuDFoGmx6iRVEUpaXMmG8rMyVrkhM/b6s5RDY4hvg625TBMGmzGaYmDba2+cbwUnBgaRlC+aOgZWib/zbw0+LTuQxeLD1wttTbnT2tNccJHDQiOOYB+PRXBhNahug/x725SRtaBH7qetQ9tAwBxo7lZWh2/8zggdk5aPmtG99f+x6chiJOnoKWoYjTZyAQ4z1jzJuxWvOmZ4wWy4wxZ9pqzZ2ZNlqUrxY6TebCcpW60JHDH2k1UB2ML6xO0tj/h5YDVdVsdlHqfe0KDrdCNZ80A2q9vqE+xsLIbpDs4lHGz1OaY65axS0BzIz5xvphEkJZ81YUckWZjoygycBml538Ow77O9kO/vBupEry3QSLzM+iY04jwlDRv/MD1LFJ8tSCkfKqGv2IeBZc2HI3CpGNQL/gB/KDVLFJWckcTn41OwswlwYuMiDGxQHw/dJMchKfw0nmJ89A0zlZrt4UpbKTJ+3MmQYfLP29dNe+hYuvbVnYAnipy4tL7zvfrX73/VNL5wpXW1Yv1a8WrYLfRu+23r32qPB73e3hj5s/vvYg/0cj2Lv09NOfoJ9CpWt90b3R4NkQafhxJ/4EwT0ECOOPDQ7LhocIBeDaxaGrs+cDwtDKx2CQAN6cmX8SNvc4bH6vClzBzpTNgH/frHtc2APCHTyXUyhM1JHrsiASlNWrIycKnCJep2aSK0qLixNJeDxROu1pPACEnpwgPIlOaxrNpuYUXSiuJfVmQt9BXs96RRJ6tsI7VC1O54Fwh8jVJlSUDDsCLYvOVHK8RCDQhyKnOhcD80ecNkWbUOTSCi4QbyDu8YC+g7Lrhz0jrF7qE9sVN4fn9SzelWgdVIGiXSh2abUiF189pbyVL2pVLRAIZ4j4SQdQHzIdhg5zR7mbrbX2qm0dY+6VBC8TyGA08PESZZyWljRzy3iNv+VY++sExm/8rF4tpVKqkWZI6EHVz/x5XHWbU3SczDpApR5gkaHvILddejwLFFu7MdhuIqF7eLk6FZsEkUBReDjqE1arwcwfi4XVhjZAYOexn3+59mLHj37z8Y/BPweCn779DvoOML+hN7VWiI6TmYM02iCT/P6dQiRItEOJZSQXME69a2EngmdxNXVAe1Wl79Li4sHPPp3CdJdWI+3sEioUimhpNBmd3bUcZadAzOeniqm0FJGAz4MJ3Ly0CGe04aFL0JF7dBALyipkE7hqJEKGMmo7b/dPJfuaIpYhqBYLXMpJIqENAW9LIhI5bXD4KJEIvFf19PizZN5LoQdEgszgnk8lNUXDOEZ4FonEBoQEtS5lwdmpbAo9s5goLmmw+qoPciYj4S8DQjDGhzJ4gsCPyswoxgtAzfYxrdlqsD4QjAr6of6K0YpHobUwUEgkQRm7dAQmL5/FKE1TgIdmB6xDDSOLN4kffz/x5wDjKWkPcUlbYii5tJcIZY6aR8/mDMuGQb99Qj9x4Rzs0uYr9nH9+IWLIZcDQD0x8Nv48+3h34Rd7jC1m8D94acjp/p/DPlh5Hg/MEy73Y0K98vy8dNEqq05WskwBvlGRJCPzDcPHk8X690NdBEL7pvnIw2OuITEDEu01pxTKKH0oFnh6M/cwA8d0EkIFId+hmbAaRZdigj2ke6QRRcZ3PV0cfw8WVDEG5x6uFF33foBkVtckolEu7dGbGX6prRvKbfOZ0a6jWxI8UtpBY8TR7cxBOLTIqavjW17cAGYuleaDngrGov1PnKe3OnXMuh0KvGboQZ1UNd2ACuJY/MSEvStjQNSV+9qsPJnvFno7qiWb+WzBRyLI05c09zqUXgguC0We5ISfGLmbPV+DwxCCQdPOER1SuraZHz8qTX6FW/gcGH16LPwCp32fkr+VDUx+ZT8KBY7jkSMP16+fQjge7Sw+hD4/0rVnV6o907Vlf8PgerC0YBrfcxe5hXgvZMMTUDHA+3PUuCLzo5jyq1EcVF9sYf6mIeAyaIGnvj6FzlaqUui0TJrRAmpJam09MZa8Tso1DsxMSQ/iCsdRyAmEMhxJOJYzvyyg99uHzLopm02nXnIaLUKUNZg1cV3pYn6TUbRQFe6Xg9EzWhaotau58oKmawigcAgvke8rEr9prSdgBa9l8ncGx0aW7xzk7RCmw1CJHi5FE/K7CC48ly4chklA4+Xx3dHX0AiL0avLNBRr1zIkw5qFlbzP6oBuy94Q92XOkHynQImMz+ZyyyglpysSfEF3OT4/HqV4nq1ViKBj07e6axgmlyBSfNOl3zijNyNqNkG27xp42YYGP+5bnsdCLFU5pnNFXlKZUWBKclMoMvjQ2KX4IglPP4dBHweD4YKcxf2ru5dCAv3LdRO1W7z4LXrC4WMvMa0qugND9aFR3bEGoQyiTSFGKVeBUFdSqFCqEogIRgvPdK2JZG0TIlalczuIcE3btq8hbcVzYJhUBtXN8G4TeDf848L6x5Xg1oiCVL0a0jsYO364yx7Vg40jnC4nJEtwXJ7AjUvQeR8voRyJ3gUJWOx2fIE9kROV0Dixo0JAWKXlQC2mSxLea4VECKkZZuIHA4QEhiMOLmJVB+1kUSTM7bFjCPgA1hMIwIxEQP6YzQLB5XKxAuHKMDQW6F5HUuz30cY1o7lurjXBWP3T3+OneqSdWQCi4mTGQnN/alzDh0mJexd7Mh5J6tomEuUr/f+0qQR2UhuS+KcdIj532awB5eZHeOOLkY9IzDM3P6w8+HBlb6jdT8m1l4oXoroO8IVz4jAyd1Tw1scVrijzbYBQ8futmnR+w3kSMdzbRPLfOD80pxWf9Bm1R9iUadPSPJocoiPGl9aOpmsNk/eu290X68c3C4ZHOwfKHf0D3Z3O8tV7gyM45hDQ2Cv/CCxSTxnu0tOGepKus3iWCA1iydhRRvMKWk2wuQpH/R9zrTLqko97IOaYCb2TwBUUfGW6kSNvQdaPtZZpqpmsQt49/VrONwa1fy6GVAMgpL2BK20isJVUoltKLRmu89GTHcGLFXGYTCyCggplsaCdcYDXCUi/GZQMByo4RIOEfHno8GqAMRWHINB8z8eBFK2rJceLE6NJ2GTji0GqJpL9Zwc0tHs6ewjejLb0T/fSqGIpcW/mTmZyVE3SioE3FbFQvRGPjOOzI9zvbzgCMVpwGcCqgaci1tVlaWq9dFYX/um4k3Ne2q0s563BUQKkueN1oyxrnSFvEckc2k0ko5WgYwzmnPPhuB/5M49cD8Hxt/Y4MUXCwRCEZkiEPHKYgrw/1ZTrvo/9t61vZ8ORjYBIfdSZdWOPjFfQhabZKpHqGYSUNQioehMk4nQ0XPT0WO/9mPk9Pqdn4ykCsR8gIorFdZI+C6lku+qEQttiVoj9Ae09gxxFI5oIxCJfjN4QZzQvEJPZ37o/GG/Z98JiSSz0z3/gNE4a7MZpw8a87hWjFZ0os8THVfonGgz5hpHKTPgVvowu5i1hJT5GlN+05wiHFZXgktSTFSOxinBi8VF+KT5W1nlQiRYJBLmsp9dEEj4Av6ziZoiHvPxJFQwMzshr5vIzIXrwMo+UQqdLkyJjxeSEeVJDzweGHA8KBAKuD9kIIA9rgpa3xKqWx9t0gXv/CpTpgUVs6P4UcC4OjcaNO74k1MnnOuqQeHS2IypYEzTwroFq1bFR4LWLagsNRQEttbWB58IMBhBLE4RkYevMbjYATjbnmmHDED+dBjYBDx6Q0o0/Cr3mFpOu5Dlmfpk363b/JLvy0I6Tnc0P59vh0FKoFKkscVHDNd9A7b6Xr/3mC0DTwVhnyEtSvDfc/Df7U0nLbmV7nduvaOUf/SxI3dONFUGv743en4UgPoMcMCWUrOqM2/C8O4j8gp3m3YDtTk55u+HU2zURr5f7AgE1vFveYd/xwzf7sKU2/5gsXy+wcA6/i2lU+z0LIHPtyGwjn9r/jnFPr9SqVKxEEu7ID8eEFjHv+U7/h2Xpth9xLL4fF8E1qm3aDgWe0zlFGLf9Ai2Hvg+AEhgHf+W0/w7Bvl2h6bc9okqkap3gScIrJtxyyvySijPfXmurSj+XrCbOp5b/46x/6jKZWH3qwpx7E1OIQUwqEcAIOfOC4lT7HapOhzYt706p8e/5bUpdhOsiV/nrM+u21fvrDtoi8f+6HzNFK88W3u9tBJcUoN3MvnhofuLEgDkKUBPSH7LHOz827Omoc12Njcl6duieWAl+2wG+vn4wOcgrosbO2Rf4gL5ZXzAQb4xwWQ1BBg9/5GP7q00fwBymuEm9IPRBdXV+gRuvheSwDcmkelzAw5CWOQD9K1rBpt/t2RwwRs6vk/UNWDTLipjpAIXsWsPEAVkx+B6vBcdG6HzmXGja00QedI8Wofvjajvi+At8wDs+W+LBhe8oVrXPh3//2FDL0iKdA2oOZ2ALnfd+9xPnOY/R3ljLHIDLPFmvI/pyd3E+c3Xw+MngG/fPXYH4IedzDdX3luZMq8tKm58uBtGCPxOo7bmwM6of0Ig4rzM/T7Phb682/Oy3LwKO1hFQHcgjGKIARflPmzg0b7dPg2S3hqJQQirAD1hsLnJv8OIaRDeRNE1w3UWtYNUbcVtMFj7MWs964E9PSNaMdg9T9AIyQ0TtrCk9Wubu3OI/wvVe0IiRI0MMl+ODiaeKqwXKnNfH3tAHnPRVqhWeAKY4WHWCtcsIb0qsV/wW2BC+zYqHeJTFVpWNQy0c6hs6E3wsR6oE8m/R8DU4NYMCIyNCd3yRadEp5MSM7+uHXTu8r8gKdpWGiiiZ57JJMjsEdh/euxW8RsFPJvBqw1zLY8h8owxkTjYIG4LGO55Wg/XvaKaIiDnM0qrkkrB4+Q/1oGYfCq0RMS+i0z86g4wmdHzfu/VqcVJO3TqbIoX8O9V0t4ACx4tbP7+EZC3aJNpYyvsYGisGc1QNOYnRLrGG7wJE+GAucEIHj3/2fBDv+LZBa7Q2VZC0qBuyCQA0F1m/0bF7AS9UQsRe4PYYF5SRDHeW81n7QDrAldItWC01gbPAQDQXeA/jaSQLhioZQtYElCTzj/ewC8TSD5HNKaIejQm2YoS2oiKFKFifUFYXijs37CRI+K+aU3gP2ACRrXwItD7xfvADfC97dar4c2NOzhvwMOAwR2wWjEPbosfAN52iSxzs9ECcd/n5pZ5YKpY5imEbpkXf5nEu8cxycZfHHhcTV65QrUE5P7VLKqUqBBfNRKqpIzE2SHWvf5ZRDJkc4ZFFUqUx4hS0b9MIToSSh6MTkYiP09pVESyJEKuITmTS1sB1sGtMOUHaKOs1NqItUg0lHsMSdUMXiQADqRKiL1PLYVjKWpJbY2DrMGxeBhWJcdYrYJHuoWTAzkaK+YMsXKF10ijuIjpiuXusp/zYzTH/R5I3TyAx1++dPPl99sEC22w0f9hm22x1TYBAgUJFiJUmHAwEeAQkFDQIkWJFgMDKxYOHgERCRkFFU0cOgameCxsCRJxJOFKxpMiFZ+AkIiYRJp0UhlkMmXJJqegpKKmoaWjZ2BkYpYjV578eIJp3Xos2eMnvUYNOeCYmXiBQV/ostNTz4zEG/S77oEnDjruhedemvKaN922oIDFdoXeVuSOt7zvHe96z8+KfewDHzrB6rExd33iUza/+t0AuxKlHMqUO8ypUoUq1WrVqFPvFw2aNGrWqsV5k9q16eDymz9cdM9Jp+IDPnPf5047Y9E5N7zurJv6QJZddim+YNif8fPMvDMjw51/m0/tsyUUSgrF9wrGpjJMWirf8//1wjeTRqMyAAAAAA==) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(/SolidUI-Website/assets/fonts/fontawesome-webfont-8b43027f47b20503057dfbbaa9401fef.eot);src:url(/SolidUI-Website/assets/fonts/fontawesome-webfont-8b43027f47b20503057dfbbaa9401fef.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(/SolidUI-Website/assets/fonts/fontawesome-webfont-20fd1704ea223900efa9fd4e869efb08.woff2) format("woff2"),url(/SolidUI-Website/assets/fonts/fontawesome-webfont-f691f37e57f04c152e2315ab7dbad881.woff) format("woff"),url(/SolidUI-Website/assets/fonts/fontawesome-webfont-1e59d2330b4c6deb84b340635ed36249.ttf) format("truetype"),url(/SolidUI-Website/assets/images/fontawesome-webfont-c1e38fd9e0e74ba58f7a2b77ef29fdd3.svg#fontawesomeregular) format("svg")}.fa{font:14px/1 FontAwesome;font-size:inherit;text-rendering:auto}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x,.fa-stack-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{text-align:center;width:1.28571429em}.fa-ul{list-style-type:none;margin-left:2.14285714em;padding-left:0}.fa-li{left:-2.14285714em;position:absolute;text-align:center;top:.14285714em;width:2.14285714em}.fa-li.fa-lg{left:-1.85714286em}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left,.pull-left{float:left}.fa-pull-right,.pull-right{float:right}.fa.fa-pull-left,.fa.pull-left{margin-right:.3em}.fa.fa-pull-right,.fa.pull-right{margin-left:.3em}.fa-spin{animation:2s linear infinite Ha}.fa-pulse{animation:1s steps(8) infinite Ha}@keyframes Ha{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{white-space:normal;clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.authorCol_Hf19{flex-grow:1!important;max-width:inherit!important}.imageOnlyAuthorRow_pa_O{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_G86a{margin-left:.3rem;margin-right:.3rem}.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}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}: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)}.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}.tag_Nnez{display:inline-block;margin:.5rem .5rem 0 1rem}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;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}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_vwxv{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}.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}.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)}.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:"#"}.containsTaskList_mC6p{list-style:none}.admonition_LlT9{margin-bottom:1em}.admonitionHeading_tbUL{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.3rem;text-transform:uppercase}.admonitionIcon_kALy{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_kALy svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.blogPostFooterDetailsFull_mRVl{flex-direction:column}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.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}@media only screen and (min-width:480px) and (max-width:575px){.section_heading h3{font-size:1.875rem}.container{max-width:450px}.welcome_text_area h2{font-size:2rem}}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;-ms-flex-positive:1;-webkit-box-flex:1;flex-basis:0;flex-grow:1;max-width:100%}.col-sm-12,.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.col-sm-6,.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.col-sm-4,.row-cols-sm-3>*{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-3,.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.col-sm-2,.row-cols-sm-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;max-width:100%}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.form-inline label{-ms-flex-align:center;justify-content:center}.form-inline .form-group,.form-inline label{align-items:center;display:flex;margin-bottom:0}.form-inline .form-group{-webkit-box-flex:0;-ms-flex-align:center;flex:0 0 auto;flex-flow:row wrap}.form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{-ms-flex-align:center;-webkit-box-align:center;-ms-flex-pack:center;-webkit-box-pack:center;align-items:center;display:flex;justify-content:center;padding-left:0;width:auto}.form-inline .form-check-input{flex-shrink:0;margin-left:0;margin-right:.25rem;margin-top:0;position:relative}.form-inline .custom-control{-ms-flex-align:center;-webkit-box-align:center;-ms-flex-pack:center;-webkit-box-pack:center;align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}.dropdown-menu-sm-left{left:0;right:auto}.dropdown-menu-sm-right{left:auto;right:0}.navbar-expand-sm{-ms-flex-pack:start;-webkit-box-pack:start;flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm,.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal}.list-group-horizontal-sm,.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{-ms-flex-preferred-size:auto;display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.card-deck{display:flex;flex-flow:row wrap;margin-left:-15px;margin-right:-15px}.card-deck .card{flex:1 0 0%;margin-bottom:0;margin-left:15px;margin-right:15px}.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{border-left:0;margin-left:0}.card-group>.card:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}.jumbotron{padding:4rem 2rem}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}.modal-dialog{margin:1.75rem auto;max-width:500px}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem);height:min-content}.modal-sm{max-width:300px}.d-sm-flex{display:-ms-flexbox!important;display:-webkit-box!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important}.flex-sm-row,.flex-sm-row-reverse{-webkit-box-orient:horizontal!important}.flex-sm-column,.flex-sm-column-reverse{-webkit-box-orient:vertical!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important}.flex-sm-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;-webkit-box-flex:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;-webkit-box-flex:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;-webkit-box-pack:start!important}.justify-content-sm-end{-ms-flex-pack:end!important;-webkit-box-pack:end!important}.justify-content-sm-center{-ms-flex-pack:center!important;-webkit-box-pack:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;-webkit-box-pack:justify!important}.justify-content-sm-around{-ms-flex-pack:distribute!important}.align-items-sm-start{-ms-flex-align:start!important;-webkit-box-align:start!important}.align-items-sm-end{-ms-flex-align:end!important;-webkit-box-align:end!important}.align-items-sm-center{-ms-flex-align:center!important;-webkit-box-align:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;-webkit-box-align:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;-webkit-box-align:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.float-sm-left,.float-sm-start{float:left!important}.float-sm-end,.float-sm-right{float:right!important}.me-sm-0,.mr-sm-0,.mx-sm-0{margin-right:0!important}.ml-sm-0,.ms-sm-0,.mx-sm-0{margin-left:0!important}.me-sm-1,.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.ml-sm-1,.ms-sm-1,.mx-sm-1{margin-left:.25rem!important}.me-sm-2,.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.ml-sm-2,.ms-sm-2,.mx-sm-2{margin-left:.5rem!important}.me-sm-3,.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.ml-sm-3,.ms-sm-3,.mx-sm-3{margin-left:1rem!important}.me-sm-4,.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.ml-sm-4,.ms-sm-4,.mx-sm-4{margin-left:1.5rem!important}.me-sm-5,.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.ml-sm-5,.ms-sm-5,.mx-sm-5{margin-left:3rem!important}.pe-sm-0,.pr-sm-0,.px-sm-0{padding-right:0!important}.pl-sm-0,.ps-sm-0,.px-sm-0{padding-left:0!important}.pe-sm-1,.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pl-sm-1,.ps-sm-1,.px-sm-1{padding-left:.25rem!important}.pe-sm-2,.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pl-sm-2,.ps-sm-2,.px-sm-2{padding-left:.5rem!important}.pe-sm-3,.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pl-sm-3,.ps-sm-3,.px-sm-3{padding-left:1rem!important}.pe-sm-4,.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pl-sm-4,.ps-sm-4,.px-sm-4{padding-left:1.5rem!important}.pe-sm-5,.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pl-sm-5,.ps-sm-5,.px-sm-5{padding-left:3rem!important}.me-sm-n1,.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.ml-sm-n1,.ms-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.me-sm-n2,.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.ml-sm-n2,.ms-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.me-sm-n3,.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.ml-sm-n3,.ms-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.me-sm-n4,.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.ml-sm-n4,.ms-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.me-sm-n5,.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.ml-sm-n5,.ms-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.me-sm-auto,.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.ml-sm-auto,.ms-sm-auto,.mx-sm-auto{margin-left:auto!important}.text-sm-left,.text-sm-start{text-align:left!important}.text-sm-end,.text-sm-right{text-align:right!important}.container,.container-sm{max-width:540px}.col-sm{flex:1 0 0%}.col-sm-auto,.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.col-sm-12,.row-cols-sm-1>*{flex:0 0 auto;width:100%}.col-sm-6,.row-cols-sm-2>*{flex:0 0 auto;width:50%}.col-sm-4,.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.col-sm-3,.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.col-sm-2,.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}.g-sm-6,.gx-sm-6{--bs-gutter-x:4.5rem}.g-sm-6,.gy-sm-6{--bs-gutter-y:4.5rem}.g-sm-7,.gx-sm-7{--bs-gutter-x:6rem}.g-sm-7,.gy-sm-7{--bs-gutter-y:6rem}.g-sm-8,.gx-sm-8{--bs-gutter-x:9rem}.g-sm-8,.gy-sm-8{--bs-gutter-y:9rem}.g-sm-9,.gx-sm-9{--bs-gutter-x:12rem}.g-sm-9,.gy-sm-9{--bs-gutter-y:12rem}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-6{margin:4.5rem!important}.m-sm-7{margin:6rem!important}.m-sm-8{margin:9rem!important}.m-sm-9{margin:12rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-sm-5{margin-left:3rem!important;margin-right:3rem!important}.mx-sm-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-sm-7{margin-left:6rem!important;margin-right:6rem!important}.mx-sm-8{margin-left:9rem!important;margin-right:9rem!important}.mx-sm-9{margin-left:12rem!important;margin-right:12rem!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.my-sm-0{margin-bottom:0!important;margin-top:0!important}.my-sm-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-sm-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-sm-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-sm-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-sm-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-sm-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-sm-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-sm-8{margin-bottom:9rem!important;margin-top:9rem!important}.my-sm-9{margin-bottom:12rem!important;margin-top:12rem!important}.my-sm-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-6{margin-top:4.5rem!important}.mt-sm-7{margin-top:6rem!important}.mt-sm-8{margin-top:9rem!important}.mt-sm-9{margin-top:12rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-6{margin-right:4.5rem!important}.me-sm-7{margin-right:6rem!important}.me-sm-8{margin-right:9rem!important}.me-sm-9{margin-right:12rem!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-6{margin-bottom:4.5rem!important}.mb-sm-7{margin-bottom:6rem!important}.mb-sm-8{margin-bottom:9rem!important}.mb-sm-9{margin-bottom:12rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-6{margin-left:4.5rem!important}.ms-sm-7{margin-left:6rem!important}.ms-sm-8{margin-left:9rem!important}.ms-sm-9{margin-left:12rem!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.m-sm-n6{margin:-4.5rem!important}.m-sm-n7{margin:-6rem!important}.m-sm-n8{margin:-9rem!important}.m-sm-n9{margin:-12rem!important}.mx-sm-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-sm-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-sm-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-sm-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-sm-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-sm-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-sm-n7{margin-left:-6rem!important;margin-right:-6rem!important}.mx-sm-n8{margin-left:-9rem!important;margin-right:-9rem!important}.mx-sm-n9{margin-left:-12rem!important;margin-right:-12rem!important}.my-sm-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-sm-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-sm-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-sm-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-sm-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-sm-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-sm-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.my-sm-n8{margin-bottom:-9rem!important;margin-top:-9rem!important}.my-sm-n9{margin-bottom:-12rem!important;margin-top:-12rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-3rem!important}.mt-sm-n6{margin-top:-4.5rem!important}.mt-sm-n7{margin-top:-6rem!important}.mt-sm-n8{margin-top:-9rem!important}.mt-sm-n9{margin-top:-12rem!important}.me-sm-n6{margin-right:-4.5rem!important}.me-sm-n7{margin-right:-6rem!important}.me-sm-n8{margin-right:-9rem!important}.me-sm-n9{margin-right:-12rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-3rem!important}.mb-sm-n6{margin-bottom:-4.5rem!important}.mb-sm-n7{margin-bottom:-6rem!important}.mb-sm-n8{margin-bottom:-9rem!important}.mb-sm-n9{margin-bottom:-12rem!important}.ms-sm-n6{margin-left:-4.5rem!important}.ms-sm-n7{margin-left:-6rem!important}.ms-sm-n8{margin-left:-9rem!important}.ms-sm-n9{margin-left:-12rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.p-sm-6{padding:4.5rem!important}.p-sm-7{padding:6rem!important}.p-sm-8{padding:9rem!important}.p-sm-9{padding:12rem!important}.px-sm-0{padding-left:0!important;padding-right:0!important}.px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-sm-5{padding-left:3rem!important;padding-right:3rem!important}.px-sm-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-sm-7{padding-left:6rem!important;padding-right:6rem!important}.px-sm-8{padding-left:9rem!important;padding-right:9rem!important}.px-sm-9{padding-left:12rem!important;padding-right:12rem!important}.py-sm-0{padding-bottom:0!important;padding-top:0!important}.py-sm-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-sm-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-sm-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-sm-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-sm-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-sm-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-sm-7{padding-bottom:6rem!important;padding-top:6rem!important}.py-sm-8{padding-bottom:9rem!important;padding-top:9rem!important}.py-sm-9{padding-bottom:12rem!important;padding-top:12rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pt-sm-6{padding-top:4.5rem!important}.pt-sm-7{padding-top:6rem!important}.pt-sm-8{padding-top:9rem!important}.pt-sm-9{padding-top:12rem!important}.pe-sm-6{padding-right:4.5rem!important}.pe-sm-7{padding-right:6rem!important}.pe-sm-8{padding-right:9rem!important}.pe-sm-9{padding-right:12rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pb-sm-6{padding-bottom:4.5rem!important}.pb-sm-7{padding-bottom:6rem!important}.pb-sm-8{padding-bottom:9rem!important}.pb-sm-9{padding-bottom:12rem!important}.ps-sm-6{padding-left:4.5rem!important}.ps-sm-7{padding-left:6rem!important}.ps-sm-8{padding-left:9rem!important}.ps-sm-9{padding-left:12rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.gap-sm-6{gap:4.5rem!important}.gap-sm-7{gap:6rem!important}.gap-sm-8{gap:9rem!important}.gap-sm-9{gap:12rem!important}.text-sm-center{text-align:center!important}}@media only screen and (min-width:576px) and (max-width:767px){.section_heading h3,.welcome_text_area h2{font-size:2rem}.container{max-width:540px}.welcome_area_thumb{padding-top:0}.welcome_text_area{margin-bottom:0;padding-top:50px}.icon_box{flex:0 0 65px;font-size:1.75rem;height:65px;max-width:65px;width:65px}.icon_box i{line-height:65px}.single_work_step:before{display:block;font-size:1.5rem;right:-35%}.single_work_step p{font-size:13px}.single_work_step:focus:before,.single_work_step:hover:before{right:-40%}.system_info{margin-bottom:0;padding-top:40px}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;-ms-flex-positive:1;-webkit-box-flex:1;flex-basis:0;flex-grow:1;max-width:100%}.col-md-12,.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.col-md-6,.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.col-md-4,.row-cols-md-3>*{flex:0 0 33.333333%;max-width:33.333333%}.col-md-3,.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.col-md-2,.row-cols-md-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;max-width:100%}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.dropdown-menu-md-left{left:0;right:auto}.dropdown-menu-md-right{left:auto;right:0}.navbar-expand-md{-ms-flex-pack:start;-webkit-box-pack:start;flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md,.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal}.list-group-horizontal-md,.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{-ms-flex-preferred-size:auto;display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-md>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}.d-md-flex{display:-ms-flexbox!important;display:-webkit-box!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important}.flex-md-row,.flex-md-row-reverse{-webkit-box-orient:horizontal!important}.flex-md-column,.flex-md-column-reverse{-webkit-box-orient:vertical!important}.flex-md-wrap{-ms-flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important}.flex-md-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;-webkit-box-flex:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;-webkit-box-flex:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important}.justify-content-md-start{-ms-flex-pack:start!important;-webkit-box-pack:start!important}.justify-content-md-end{-ms-flex-pack:end!important;-webkit-box-pack:end!important}.justify-content-md-center{-ms-flex-pack:center!important;-webkit-box-pack:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;-webkit-box-pack:justify!important}.justify-content-md-around{-ms-flex-pack:distribute!important}.align-items-md-start{-ms-flex-align:start!important;-webkit-box-align:start!important}.align-items-md-end{-ms-flex-align:end!important;-webkit-box-align:end!important}.align-items-md-center{-ms-flex-align:center!important;-webkit-box-align:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;-webkit-box-align:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;-webkit-box-align:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.float-md-left,.float-md-start{float:left!important}.float-md-end,.float-md-right{float:right!important}.me-md-0,.mr-md-0,.mx-md-0{margin-right:0!important}.ml-md-0,.ms-md-0,.mx-md-0{margin-left:0!important}.me-md-1,.mr-md-1,.mx-md-1{margin-right:.25rem!important}.ml-md-1,.ms-md-1,.mx-md-1{margin-left:.25rem!important}.me-md-2,.mr-md-2,.mx-md-2{margin-right:.5rem!important}.ml-md-2,.ms-md-2,.mx-md-2{margin-left:.5rem!important}.me-md-3,.mr-md-3,.mx-md-3{margin-right:1rem!important}.ml-md-3,.ms-md-3,.mx-md-3{margin-left:1rem!important}.me-md-4,.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.ml-md-4,.ms-md-4,.mx-md-4{margin-left:1.5rem!important}.me-md-5,.mr-md-5,.mx-md-5{margin-right:3rem!important}.ml-md-5,.ms-md-5,.mx-md-5{margin-left:3rem!important}.pe-md-0,.pr-md-0,.px-md-0{padding-right:0!important}.pl-md-0,.ps-md-0,.px-md-0{padding-left:0!important}.pe-md-1,.pr-md-1,.px-md-1{padding-right:.25rem!important}.pl-md-1,.ps-md-1,.px-md-1{padding-left:.25rem!important}.pe-md-2,.pr-md-2,.px-md-2{padding-right:.5rem!important}.pl-md-2,.ps-md-2,.px-md-2{padding-left:.5rem!important}.pe-md-3,.pr-md-3,.px-md-3{padding-right:1rem!important}.pl-md-3,.ps-md-3,.px-md-3{padding-left:1rem!important}.pe-md-4,.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pl-md-4,.ps-md-4,.px-md-4{padding-left:1.5rem!important}.pe-md-5,.pr-md-5,.px-md-5{padding-right:3rem!important}.pl-md-5,.ps-md-5,.px-md-5{padding-left:3rem!important}.me-md-n1,.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.ml-md-n1,.ms-md-n1,.mx-md-n1{margin-left:-.25rem!important}.me-md-n2,.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.ml-md-n2,.ms-md-n2,.mx-md-n2{margin-left:-.5rem!important}.me-md-n3,.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.ml-md-n3,.ms-md-n3,.mx-md-n3{margin-left:-1rem!important}.me-md-n4,.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.ml-md-n4,.ms-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.me-md-n5,.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.ml-md-n5,.ms-md-n5,.mx-md-n5{margin-left:-3rem!important}.me-md-auto,.mr-md-auto,.mx-md-auto{margin-right:auto!important}.ml-md-auto,.ms-md-auto,.mx-md-auto{margin-left:auto!important}.text-md-left,.text-md-start{text-align:left!important}.text-md-end,.text-md-right{text-align:right!important}.container,.container-md,.container-sm{max-width:720px}.col-md{flex:1 0 0%}.col-md-auto,.row-cols-md-auto>*{flex:0 0 auto;width:auto}.col-md-12,.row-cols-md-1>*{flex:0 0 auto;width:100%}.col-md-6,.row-cols-md-2>*{flex:0 0 auto;width:50%}.col-md-4,.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.col-md-3,.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.col-md-2,.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}.g-md-6,.gx-md-6{--bs-gutter-x:4.5rem}.g-md-6,.gy-md-6{--bs-gutter-y:4.5rem}.g-md-7,.gx-md-7{--bs-gutter-x:6rem}.g-md-7,.gy-md-7{--bs-gutter-y:6rem}.g-md-8,.gx-md-8{--bs-gutter-x:9rem}.g-md-8,.gy-md-8{--bs-gutter-y:9rem}.g-md-9,.gx-md-9{--bs-gutter-x:12rem}.g-md-9,.gy-md-9{--bs-gutter-y:12rem}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-6{margin:4.5rem!important}.m-md-7{margin:6rem!important}.m-md-8{margin:9rem!important}.m-md-9{margin:12rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-left:0!important;margin-right:0!important}.mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-md-5{margin-left:3rem!important;margin-right:3rem!important}.mx-md-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-md-7{margin-left:6rem!important;margin-right:6rem!important}.mx-md-8{margin-left:9rem!important;margin-right:9rem!important}.mx-md-9{margin-left:12rem!important;margin-right:12rem!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.my-md-0{margin-bottom:0!important;margin-top:0!important}.my-md-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-md-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-md-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-md-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-md-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-md-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-md-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-md-8{margin-bottom:9rem!important;margin-top:9rem!important}.my-md-9{margin-bottom:12rem!important;margin-top:12rem!important}.my-md-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-6{margin-top:4.5rem!important}.mt-md-7{margin-top:6rem!important}.mt-md-8{margin-top:9rem!important}.mt-md-9{margin-top:12rem!important}.mt-md-auto{margin-top:auto!important}.me-md-6{margin-right:4.5rem!important}.me-md-7{margin-right:6rem!important}.me-md-8{margin-right:9rem!important}.me-md-9{margin-right:12rem!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-6{margin-bottom:4.5rem!important}.mb-md-7{margin-bottom:6rem!important}.mb-md-8{margin-bottom:9rem!important}.mb-md-9{margin-bottom:12rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-6{margin-left:4.5rem!important}.ms-md-7{margin-left:6rem!important}.ms-md-8{margin-left:9rem!important}.ms-md-9{margin-left:12rem!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-3rem!important}.m-md-n6{margin:-4.5rem!important}.m-md-n7{margin:-6rem!important}.m-md-n8{margin:-9rem!important}.m-md-n9{margin:-12rem!important}.mx-md-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-md-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-md-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-md-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-md-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-md-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-md-n7{margin-left:-6rem!important;margin-right:-6rem!important}.mx-md-n8{margin-left:-9rem!important;margin-right:-9rem!important}.mx-md-n9{margin-left:-12rem!important;margin-right:-12rem!important}.my-md-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-md-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-md-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-md-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-md-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-md-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-md-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.my-md-n8{margin-bottom:-9rem!important;margin-top:-9rem!important}.my-md-n9{margin-bottom:-12rem!important;margin-top:-12rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-3rem!important}.mt-md-n6{margin-top:-4.5rem!important}.mt-md-n7{margin-top:-6rem!important}.mt-md-n8{margin-top:-9rem!important}.mt-md-n9{margin-top:-12rem!important}.me-md-n6{margin-right:-4.5rem!important}.me-md-n7{margin-right:-6rem!important}.me-md-n8{margin-right:-9rem!important}.me-md-n9{margin-right:-12rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-3rem!important}.mb-md-n6{margin-bottom:-4.5rem!important}.mb-md-n7{margin-bottom:-6rem!important}.mb-md-n8{margin-bottom:-9rem!important}.mb-md-n9{margin-bottom:-12rem!important}.ms-md-n6{margin-left:-4.5rem!important}.ms-md-n7{margin-left:-6rem!important}.ms-md-n8{margin-left:-9rem!important}.ms-md-n9{margin-left:-12rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.p-md-6{padding:4.5rem!important}.p-md-7{padding:6rem!important}.p-md-8{padding:9rem!important}.p-md-9{padding:12rem!important}.px-md-0{padding-left:0!important;padding-right:0!important}.px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-md-3{padding-left:1rem!important;padding-right:1rem!important}.px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-md-5{padding-left:3rem!important;padding-right:3rem!important}.px-md-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-md-7{padding-left:6rem!important;padding-right:6rem!important}.px-md-8{padding-left:9rem!important;padding-right:9rem!important}.px-md-9{padding-left:12rem!important;padding-right:12rem!important}.py-md-0{padding-bottom:0!important;padding-top:0!important}.py-md-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-md-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-md-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-md-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-md-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-md-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-md-7{padding-bottom:6rem!important;padding-top:6rem!important}.py-md-8{padding-bottom:9rem!important;padding-top:9rem!important}.py-md-9{padding-bottom:12rem!important;padding-top:12rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pt-md-6{padding-top:4.5rem!important}.pt-md-7{padding-top:6rem!important}.pt-md-8{padding-top:9rem!important}.pt-md-9{padding-top:12rem!important}.pe-md-6{padding-right:4.5rem!important}.pe-md-7{padding-right:6rem!important}.pe-md-8{padding-right:9rem!important}.pe-md-9{padding-right:12rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pb-md-6{padding-bottom:4.5rem!important}.pb-md-7{padding-bottom:6rem!important}.pb-md-8{padding-bottom:9rem!important}.pb-md-9{padding-bottom:12rem!important}.ps-md-6{padding-left:4.5rem!important}.ps-md-7{padding-left:6rem!important}.ps-md-8{padding-left:9rem!important}.ps-md-9{padding-left:12rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.gap-md-6{gap:4.5rem!important}.gap-md-7{gap:6rem!important}.gap-md-8{gap:9rem!important}.gap-md-9{gap:12rem!important}.text-md-center{text-align:center!important}}@media only screen and (min-width:768px) and (max-width:991px){.section_heading h3{font-size:2.25rem}.hero-slides .single-hero-slide,.welcome_area{height:650px}.welcome_text_area h2{font-size:2.2rem}.welcome_area_thumb{padding-top:63px}.welcome_text_area{padding-top:60px}.single_work_step:before,.single_work_step:focus:before,.single_work_step:hover:before{right:-70%}.single_work_step p{font-size:13px}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;-ms-flex-positive:1;-webkit-box-flex:1;flex-basis:0;flex-grow:1;max-width:100%}.col-lg-12,.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.col-lg-6,.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.col-lg-4,.row-cols-lg-3>*{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-3,.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.col-lg-2,.row-cols-lg-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;max-width:100%}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.dropdown-menu-lg-left{left:0;right:auto}.dropdown-menu-lg-right{left:auto;right:0}.navbar-expand-lg{-ms-flex-pack:start;-webkit-box-pack:start;flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg,.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal}.list-group-horizontal-lg,.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{-ms-flex-preferred-size:auto;display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}.modal-lg,.modal-xl{max-width:800px}.d-lg-flex{display:-ms-flexbox!important;display:-webkit-box!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important}.flex-lg-row,.flex-lg-row-reverse{-webkit-box-orient:horizontal!important}.flex-lg-column,.flex-lg-column-reverse{-webkit-box-orient:vertical!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important}.flex-lg-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;-webkit-box-flex:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;-webkit-box-flex:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;-webkit-box-pack:start!important}.justify-content-lg-end{-ms-flex-pack:end!important;-webkit-box-pack:end!important}.justify-content-lg-center{-ms-flex-pack:center!important;-webkit-box-pack:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;-webkit-box-pack:justify!important}.justify-content-lg-around{-ms-flex-pack:distribute!important}.align-items-lg-start{-ms-flex-align:start!important;-webkit-box-align:start!important}.align-items-lg-end{-ms-flex-align:end!important;-webkit-box-align:end!important}.align-items-lg-center{-ms-flex-align:center!important;-webkit-box-align:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;-webkit-box-align:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;-webkit-box-align:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.float-lg-left,.float-lg-start{float:left!important}.float-lg-end,.float-lg-right{float:right!important}.me-lg-0,.mr-lg-0,.mx-lg-0{margin-right:0!important}.ml-lg-0,.ms-lg-0,.mx-lg-0{margin-left:0!important}.me-lg-1,.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.ml-lg-1,.ms-lg-1,.mx-lg-1{margin-left:.25rem!important}.me-lg-2,.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.ml-lg-2,.ms-lg-2,.mx-lg-2{margin-left:.5rem!important}.me-lg-3,.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.ml-lg-3,.ms-lg-3,.mx-lg-3{margin-left:1rem!important}.me-lg-4,.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.ml-lg-4,.ms-lg-4,.mx-lg-4{margin-left:1.5rem!important}.me-lg-5,.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.ml-lg-5,.ms-lg-5,.mx-lg-5{margin-left:3rem!important}.pe-lg-0,.pr-lg-0,.px-lg-0{padding-right:0!important}.pl-lg-0,.ps-lg-0,.px-lg-0{padding-left:0!important}.pe-lg-1,.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pl-lg-1,.ps-lg-1,.px-lg-1{padding-left:.25rem!important}.pe-lg-2,.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pl-lg-2,.ps-lg-2,.px-lg-2{padding-left:.5rem!important}.pe-lg-3,.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pl-lg-3,.ps-lg-3,.px-lg-3{padding-left:1rem!important}.pe-lg-4,.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pl-lg-4,.ps-lg-4,.px-lg-4{padding-left:1.5rem!important}.pe-lg-5,.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pl-lg-5,.ps-lg-5,.px-lg-5{padding-left:3rem!important}.me-lg-n1,.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.ml-lg-n1,.ms-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.me-lg-n2,.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.ml-lg-n2,.ms-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.me-lg-n3,.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.ml-lg-n3,.ms-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.me-lg-n4,.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.ml-lg-n4,.ms-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.me-lg-n5,.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.ml-lg-n5,.ms-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.me-lg-auto,.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.ml-lg-auto,.ms-lg-auto,.mx-lg-auto{margin-left:auto!important}.text-lg-left,.text-lg-start{text-align:left!important}.text-lg-end,.text-lg-right{text-align:right!important}.container,.container-lg,.container-md,.container-sm{max-width:960px}.col-lg{flex:1 0 0%}.col-lg-auto,.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.col-lg-12,.row-cols-lg-1>*{flex:0 0 auto;width:100%}.col-lg-6,.row-cols-lg-2>*{flex:0 0 auto;width:50%}.col-lg-4,.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.col-lg-3,.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.col-lg-2,.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}.g-lg-6,.gx-lg-6{--bs-gutter-x:4.5rem}.g-lg-6,.gy-lg-6{--bs-gutter-y:4.5rem}.g-lg-7,.gx-lg-7{--bs-gutter-x:6rem}.g-lg-7,.gy-lg-7{--bs-gutter-y:6rem}.g-lg-8,.gx-lg-8{--bs-gutter-x:9rem}.g-lg-8,.gy-lg-8{--bs-gutter-y:9rem}.g-lg-9,.gx-lg-9{--bs-gutter-x:12rem}.g-lg-9,.gy-lg-9{--bs-gutter-y:12rem}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-6{margin:4.5rem!important}.m-lg-7{margin:6rem!important}.m-lg-8{margin:9rem!important}.m-lg-9{margin:12rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-lg-5{margin-left:3rem!important;margin-right:3rem!important}.mx-lg-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-lg-7{margin-left:6rem!important;margin-right:6rem!important}.mx-lg-8{margin-left:9rem!important;margin-right:9rem!important}.mx-lg-9{margin-left:12rem!important;margin-right:12rem!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.my-lg-0{margin-bottom:0!important;margin-top:0!important}.my-lg-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-lg-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-lg-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-lg-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-lg-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-lg-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-lg-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-lg-8{margin-bottom:9rem!important;margin-top:9rem!important}.my-lg-9{margin-bottom:12rem!important;margin-top:12rem!important}.my-lg-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-6{margin-top:4.5rem!important}.mt-lg-7{margin-top:6rem!important}.mt-lg-8{margin-top:9rem!important}.mt-lg-9{margin-top:12rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-6{margin-right:4.5rem!important}.me-lg-7{margin-right:6rem!important}.me-lg-8{margin-right:9rem!important}.me-lg-9{margin-right:12rem!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-6{margin-bottom:4.5rem!important}.mb-lg-7{margin-bottom:6rem!important}.mb-lg-8{margin-bottom:9rem!important}.mb-lg-9{margin-bottom:12rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-6{margin-left:4.5rem!important}.ms-lg-7{margin-left:6rem!important}.ms-lg-8{margin-left:9rem!important}.ms-lg-9{margin-left:12rem!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.m-lg-n6{margin:-4.5rem!important}.m-lg-n7{margin:-6rem!important}.m-lg-n8{margin:-9rem!important}.m-lg-n9{margin:-12rem!important}.mx-lg-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-lg-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-lg-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-lg-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-lg-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-lg-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-lg-n7{margin-left:-6rem!important;margin-right:-6rem!important}.mx-lg-n8{margin-left:-9rem!important;margin-right:-9rem!important}.mx-lg-n9{margin-left:-12rem!important;margin-right:-12rem!important}.my-lg-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-lg-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-lg-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-lg-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-lg-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-lg-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-lg-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.my-lg-n8{margin-bottom:-9rem!important;margin-top:-9rem!important}.my-lg-n9{margin-bottom:-12rem!important;margin-top:-12rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-3rem!important}.mt-lg-n6{margin-top:-4.5rem!important}.mt-lg-n7{margin-top:-6rem!important}.mt-lg-n8{margin-top:-9rem!important}.mt-lg-n9{margin-top:-12rem!important}.me-lg-n6{margin-right:-4.5rem!important}.me-lg-n7{margin-right:-6rem!important}.me-lg-n8{margin-right:-9rem!important}.me-lg-n9{margin-right:-12rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-3rem!important}.mb-lg-n6{margin-bottom:-4.5rem!important}.mb-lg-n7{margin-bottom:-6rem!important}.mb-lg-n8{margin-bottom:-9rem!important}.mb-lg-n9{margin-bottom:-12rem!important}.ms-lg-n6{margin-left:-4.5rem!important}.ms-lg-n7{margin-left:-6rem!important}.ms-lg-n8{margin-left:-9rem!important}.ms-lg-n9{margin-left:-12rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.p-lg-6{padding:4.5rem!important}.p-lg-7{padding:6rem!important}.p-lg-8{padding:9rem!important}.p-lg-9{padding:12rem!important}.px-lg-0{padding-left:0!important;padding-right:0!important}.px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-lg-5{padding-left:3rem!important;padding-right:3rem!important}.px-lg-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-lg-7{padding-left:6rem!important;padding-right:6rem!important}.px-lg-8{padding-left:9rem!important;padding-right:9rem!important}.px-lg-9{padding-left:12rem!important;padding-right:12rem!important}.py-lg-0{padding-bottom:0!important;padding-top:0!important}.py-lg-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-lg-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-lg-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-lg-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-lg-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-lg-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-lg-7{padding-bottom:6rem!important;padding-top:6rem!important}.py-lg-8{padding-bottom:9rem!important;padding-top:9rem!important}.py-lg-9{padding-bottom:12rem!important;padding-top:12rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pt-lg-6{padding-top:4.5rem!important}.pt-lg-7{padding-top:6rem!important}.pt-lg-8{padding-top:9rem!important}.pt-lg-9{padding-top:12rem!important}.pe-lg-6{padding-right:4.5rem!important}.pe-lg-7{padding-right:6rem!important}.pe-lg-8{padding-right:9rem!important}.pe-lg-9{padding-right:12rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pb-lg-6{padding-bottom:4.5rem!important}.pb-lg-7{padding-bottom:6rem!important}.pb-lg-8{padding-bottom:9rem!important}.pb-lg-9{padding-bottom:12rem!important}.ps-lg-6{padding-left:4.5rem!important}.ps-lg-7{padding-left:6rem!important}.ps-lg-8{padding-left:9rem!important}.ps-lg-9{padding-left:12rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.gap-lg-6{gap:4.5rem!important}.gap-lg-7{gap:6rem!important}.gap-lg-8{gap:9rem!important}.gap-lg-9{gap:12rem!important}.text-lg-center{text-align:center!important}}@media only screen and (min-width:992px) and (max-width:1199px){.section_heading h3{font-size:2.125rem}.welcome_area{height:720px}.welcome_text_area h2{font-size:2.5rem}.hero-slides .single-hero-slide{height:750px}}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_m80_{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.searchBox_ZlJk{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.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_BlDH,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_m80_:focus,.expandButton_m80_: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_m80_{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_BlDH{transform:rotate(180deg)}.docSidebarContainer_b6E3{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);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_b3ry{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_Xe31{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_gTbr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_Uz_u{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_czyv{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn{max-width:75%!important}}@media (min-width:1000px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1350px}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;-ms-flex-positive:1;-webkit-box-flex:1;flex-basis:0;flex-grow:1;max-width:100%}.col-xl-12,.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.col-xl-6,.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.col-xl-4,.row-cols-xl-3>*{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-3,.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.col-xl-2,.row-cols-xl-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;max-width:100%}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.dropdown-menu-xl-left{left:0;right:auto}.dropdown-menu-xl-right{left:auto;right:0}.navbar-expand-xl{-ms-flex-pack:start;-webkit-box-pack:start;flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl,.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal}.list-group-horizontal-xl,.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{-ms-flex-preferred-size:auto;display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}.modal-xl{max-width:1140px}.d-xl-flex{display:-ms-flexbox!important;display:-webkit-box!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important}.flex-xl-row,.flex-xl-row-reverse{-webkit-box-orient:horizontal!important}.flex-xl-column,.flex-xl-column-reverse{-webkit-box-orient:vertical!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important}.flex-xl-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;-webkit-box-flex:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;-webkit-box-flex:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;-webkit-box-pack:start!important}.justify-content-xl-end{-ms-flex-pack:end!important;-webkit-box-pack:end!important}.justify-content-xl-center{-ms-flex-pack:center!important;-webkit-box-pack:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;-webkit-box-pack:justify!important}.justify-content-xl-around{-ms-flex-pack:distribute!important}.align-items-xl-start{-ms-flex-align:start!important;-webkit-box-align:start!important}.align-items-xl-end{-ms-flex-align:end!important;-webkit-box-align:end!important}.align-items-xl-center{-ms-flex-align:center!important;-webkit-box-align:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;-webkit-box-align:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;-webkit-box-align:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.float-xl-left,.float-xl-start{float:left!important}.float-xl-end,.float-xl-right{float:right!important}.me-xl-0,.mr-xl-0,.mx-xl-0{margin-right:0!important}.ml-xl-0,.ms-xl-0,.mx-xl-0{margin-left:0!important}.me-xl-1,.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.ml-xl-1,.ms-xl-1,.mx-xl-1{margin-left:.25rem!important}.me-xl-2,.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.ml-xl-2,.ms-xl-2,.mx-xl-2{margin-left:.5rem!important}.me-xl-3,.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.ml-xl-3,.ms-xl-3,.mx-xl-3{margin-left:1rem!important}.me-xl-4,.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.ml-xl-4,.ms-xl-4,.mx-xl-4{margin-left:1.5rem!important}.me-xl-5,.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.ml-xl-5,.ms-xl-5,.mx-xl-5{margin-left:3rem!important}.pe-xl-0,.pr-xl-0,.px-xl-0{padding-right:0!important}.pl-xl-0,.ps-xl-0,.px-xl-0{padding-left:0!important}.pe-xl-1,.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pl-xl-1,.ps-xl-1,.px-xl-1{padding-left:.25rem!important}.pe-xl-2,.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pl-xl-2,.ps-xl-2,.px-xl-2{padding-left:.5rem!important}.pe-xl-3,.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pl-xl-3,.ps-xl-3,.px-xl-3{padding-left:1rem!important}.pe-xl-4,.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pl-xl-4,.ps-xl-4,.px-xl-4{padding-left:1.5rem!important}.pe-xl-5,.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pl-xl-5,.ps-xl-5,.px-xl-5{padding-left:3rem!important}.me-xl-n1,.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.ml-xl-n1,.ms-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.me-xl-n2,.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.ml-xl-n2,.ms-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.me-xl-n3,.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.ml-xl-n3,.ms-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.me-xl-n4,.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.ml-xl-n4,.ms-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.me-xl-n5,.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.ml-xl-n5,.ms-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.me-xl-auto,.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.ml-xl-auto,.ms-xl-auto,.mx-xl-auto{margin-left:auto!important}.text-xl-left,.text-xl-start{text-align:left!important}.text-xl-end,.text-xl-right{text-align:right!important}.display-1{font-size:4.375rem}.display-2{font-size:3.8125rem}.display-3{font-size:3rem}.display-4{font-size:2.8125rem}.display-5{font-size:2.6875rem}.display-6{font-size:2.5rem}.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1200px}.col-xl{flex:1 0 0%}.col-xl-auto,.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.col-xl-12,.row-cols-xl-1>*{flex:0 0 auto;width:100%}.col-xl-6,.row-cols-xl-2>*{flex:0 0 auto;width:50%}.col-xl-4,.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.col-xl-3,.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.col-xl-2,.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}.g-xl-6,.gx-xl-6{--bs-gutter-x:4.5rem}.g-xl-6,.gy-xl-6{--bs-gutter-y:4.5rem}.g-xl-7,.gx-xl-7{--bs-gutter-x:6rem}.g-xl-7,.gy-xl-7{--bs-gutter-y:6rem}.g-xl-8,.gx-xl-8{--bs-gutter-x:9rem}.g-xl-8,.gy-xl-8{--bs-gutter-y:9rem}.g-xl-9,.gx-xl-9{--bs-gutter-x:12rem}.g-xl-9,.gy-xl-9{--bs-gutter-y:12rem}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-6{margin:4.5rem!important}.m-xl-7{margin:6rem!important}.m-xl-8{margin:9rem!important}.m-xl-9{margin:12rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xl-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-xl-7{margin-left:6rem!important;margin-right:6rem!important}.mx-xl-8{margin-left:9rem!important;margin-right:9rem!important}.mx-xl-9{margin-left:12rem!important;margin-right:12rem!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.my-xl-0{margin-bottom:0!important;margin-top:0!important}.my-xl-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-xl-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-xl-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-xl-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-xl-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-xl-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-xl-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-xl-8{margin-bottom:9rem!important;margin-top:9rem!important}.my-xl-9{margin-bottom:12rem!important;margin-top:12rem!important}.my-xl-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-6{margin-top:4.5rem!important}.mt-xl-7{margin-top:6rem!important}.mt-xl-8{margin-top:9rem!important}.mt-xl-9{margin-top:12rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-6{margin-right:4.5rem!important}.me-xl-7{margin-right:6rem!important}.me-xl-8{margin-right:9rem!important}.me-xl-9{margin-right:12rem!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-6{margin-bottom:4.5rem!important}.mb-xl-7{margin-bottom:6rem!important}.mb-xl-8{margin-bottom:9rem!important}.mb-xl-9{margin-bottom:12rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-6{margin-left:4.5rem!important}.ms-xl-7{margin-left:6rem!important}.ms-xl-8{margin-left:9rem!important}.ms-xl-9{margin-left:12rem!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.m-xl-n6{margin:-4.5rem!important}.m-xl-n7{margin:-6rem!important}.m-xl-n8{margin:-9rem!important}.m-xl-n9{margin:-12rem!important}.mx-xl-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-xl-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-xl-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-xl-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-xl-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-xl-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-xl-n7{margin-left:-6rem!important;margin-right:-6rem!important}.mx-xl-n8{margin-left:-9rem!important;margin-right:-9rem!important}.mx-xl-n9{margin-left:-12rem!important;margin-right:-12rem!important}.my-xl-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-xl-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-xl-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-xl-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-xl-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-xl-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-xl-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.my-xl-n8{margin-bottom:-9rem!important;margin-top:-9rem!important}.my-xl-n9{margin-bottom:-12rem!important;margin-top:-12rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-3rem!important}.mt-xl-n6{margin-top:-4.5rem!important}.mt-xl-n7{margin-top:-6rem!important}.mt-xl-n8{margin-top:-9rem!important}.mt-xl-n9{margin-top:-12rem!important}.me-xl-n6{margin-right:-4.5rem!important}.me-xl-n7{margin-right:-6rem!important}.me-xl-n8{margin-right:-9rem!important}.me-xl-n9{margin-right:-12rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-3rem!important}.mb-xl-n6{margin-bottom:-4.5rem!important}.mb-xl-n7{margin-bottom:-6rem!important}.mb-xl-n8{margin-bottom:-9rem!important}.mb-xl-n9{margin-bottom:-12rem!important}.ms-xl-n6{margin-left:-4.5rem!important}.ms-xl-n7{margin-left:-6rem!important}.ms-xl-n8{margin-left:-9rem!important}.ms-xl-n9{margin-left:-12rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.p-xl-6{padding:4.5rem!important}.p-xl-7{padding:6rem!important}.p-xl-8{padding:9rem!important}.p-xl-9{padding:12rem!important}.px-xl-0{padding-left:0!important;padding-right:0!important}.px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-5{padding-left:3rem!important;padding-right:3rem!important}.px-xl-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-xl-7{padding-left:6rem!important;padding-right:6rem!important}.px-xl-8{padding-left:9rem!important;padding-right:9rem!important}.px-xl-9{padding-left:12rem!important;padding-right:12rem!important}.py-xl-0{padding-bottom:0!important;padding-top:0!important}.py-xl-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-xl-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-xl-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-xl-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-xl-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-xl-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-xl-7{padding-bottom:6rem!important;padding-top:6rem!important}.py-xl-8{padding-bottom:9rem!important;padding-top:9rem!important}.py-xl-9{padding-bottom:12rem!important;padding-top:12rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pt-xl-6{padding-top:4.5rem!important}.pt-xl-7{padding-top:6rem!important}.pt-xl-8{padding-top:9rem!important}.pt-xl-9{padding-top:12rem!important}.pe-xl-6{padding-right:4.5rem!important}.pe-xl-7{padding-right:6rem!important}.pe-xl-8{padding-right:9rem!important}.pe-xl-9{padding-right:12rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pb-xl-6{padding-bottom:4.5rem!important}.pb-xl-7{padding-bottom:6rem!important}.pb-xl-8{padding-bottom:9rem!important}.pb-xl-9{padding-bottom:12rem!important}.ps-xl-6{padding-left:4.5rem!important}.ps-xl-7{padding-left:6rem!important}.ps-xl-8{padding-left:9rem!important}.ps-xl-9{padding-left:12rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.gap-xl-6{gap:4.5rem!important}.gap-xl-7{gap:6rem!important}.gap-xl-8{gap:9rem!important}.gap-xl-9{gap:12rem!important}.text-xl-center{text-align:center!important}.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media only screen and (min-width:1200px) and (max-width:1399px){.section_heading h3{font-size:2.625rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.col-xxl-auto,.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.col-xxl-12,.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.col-xxl-6,.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.col-xxl-4,.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.col-xxl-3,.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.col-xxl-2,.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}.g-xxl-6,.gx-xxl-6{--bs-gutter-x:4.5rem}.g-xxl-6,.gy-xxl-6{--bs-gutter-y:4.5rem}.g-xxl-7,.gx-xxl-7{--bs-gutter-x:6rem}.g-xxl-7,.gy-xxl-7{--bs-gutter-y:6rem}.g-xxl-8,.gx-xxl-8{--bs-gutter-x:9rem}.g-xxl-8,.gy-xxl-8{--bs-gutter-y:9rem}.g-xxl-9,.gx-xxl-9{--bs-gutter-x:12rem}.g-xxl-9,.gy-xxl-9{--bs-gutter-y:12rem}.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-6{margin:4.5rem!important}.m-xxl-7{margin:6rem!important}.m-xxl-8{margin:9rem!important}.m-xxl-9{margin:12rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xxl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xxl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xxl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xxl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xxl-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-xxl-7{margin-left:6rem!important;margin-right:6rem!important}.mx-xxl-8{margin-left:9rem!important;margin-right:9rem!important}.mx-xxl-9{margin-left:12rem!important;margin-right:12rem!important}.mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}.my-xxl-0{margin-bottom:0!important;margin-top:0!important}.my-xxl-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-xxl-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-xxl-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-xxl-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-xxl-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-xxl-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-xxl-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-xxl-8{margin-bottom:9rem!important;margin-top:9rem!important}.my-xxl-9{margin-bottom:12rem!important;margin-top:12rem!important}.my-xxl-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-6{margin-top:4.5rem!important}.mt-xxl-7{margin-top:6rem!important}.mt-xxl-8{margin-top:9rem!important}.mt-xxl-9{margin-top:12rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-6{margin-right:4.5rem!important}.me-xxl-7{margin-right:6rem!important}.me-xxl-8{margin-right:9rem!important}.me-xxl-9{margin-right:12rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-6{margin-bottom:4.5rem!important}.mb-xxl-7{margin-bottom:6rem!important}.mb-xxl-8{margin-bottom:9rem!important}.mb-xxl-9{margin-bottom:12rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-6{margin-left:4.5rem!important}.ms-xxl-7{margin-left:6rem!important}.ms-xxl-8{margin-left:9rem!important}.ms-xxl-9{margin-left:12rem!important}.ms-xxl-auto{margin-left:auto!important}.m-xxl-n1{margin:-.25rem!important}.m-xxl-n2{margin:-.5rem!important}.m-xxl-n3{margin:-1rem!important}.m-xxl-n4{margin:-1.5rem!important}.m-xxl-n5{margin:-3rem!important}.m-xxl-n6{margin:-4.5rem!important}.m-xxl-n7{margin:-6rem!important}.m-xxl-n8{margin:-9rem!important}.m-xxl-n9{margin:-12rem!important}.mx-xxl-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-xxl-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-xxl-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-xxl-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-xxl-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-xxl-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-xxl-n7{margin-left:-6rem!important;margin-right:-6rem!important}.mx-xxl-n8{margin-left:-9rem!important;margin-right:-9rem!important}.mx-xxl-n9{margin-left:-12rem!important;margin-right:-12rem!important}.my-xxl-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-xxl-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-xxl-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-xxl-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-xxl-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-xxl-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-xxl-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.my-xxl-n8{margin-bottom:-9rem!important;margin-top:-9rem!important}.my-xxl-n9{margin-bottom:-12rem!important;margin-top:-12rem!important}.mt-xxl-n1{margin-top:-.25rem!important}.mt-xxl-n2{margin-top:-.5rem!important}.mt-xxl-n3{margin-top:-1rem!important}.mt-xxl-n4{margin-top:-1.5rem!important}.mt-xxl-n5{margin-top:-3rem!important}.mt-xxl-n6{margin-top:-4.5rem!important}.mt-xxl-n7{margin-top:-6rem!important}.mt-xxl-n8{margin-top:-9rem!important}.mt-xxl-n9{margin-top:-12rem!important}.me-xxl-n1{margin-right:-.25rem!important}.me-xxl-n2{margin-right:-.5rem!important}.me-xxl-n3{margin-right:-1rem!important}.me-xxl-n4{margin-right:-1.5rem!important}.me-xxl-n5{margin-right:-3rem!important}.me-xxl-n6{margin-right:-4.5rem!important}.me-xxl-n7{margin-right:-6rem!important}.me-xxl-n8{margin-right:-9rem!important}.me-xxl-n9{margin-right:-12rem!important}.mb-xxl-n1{margin-bottom:-.25rem!important}.mb-xxl-n2{margin-bottom:-.5rem!important}.mb-xxl-n3{margin-bottom:-1rem!important}.mb-xxl-n4{margin-bottom:-1.5rem!important}.mb-xxl-n5{margin-bottom:-3rem!important}.mb-xxl-n6{margin-bottom:-4.5rem!important}.mb-xxl-n7{margin-bottom:-6rem!important}.mb-xxl-n8{margin-bottom:-9rem!important}.mb-xxl-n9{margin-bottom:-12rem!important}.ms-xxl-n1{margin-left:-.25rem!important}.ms-xxl-n2{margin-left:-.5rem!important}.ms-xxl-n3{margin-left:-1rem!important}.ms-xxl-n4{margin-left:-1.5rem!important}.ms-xxl-n5{margin-left:-3rem!important}.ms-xxl-n6{margin-left:-4.5rem!important}.ms-xxl-n7{margin-left:-6rem!important}.ms-xxl-n8{margin-left:-9rem!important}.ms-xxl-n9{margin-left:-12rem!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.p-xxl-6{padding:4.5rem!important}.p-xxl-7{padding:6rem!important}.p-xxl-8{padding:9rem!important}.p-xxl-9{padding:12rem!important}.px-xxl-0{padding-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xxl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xxl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xxl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xxl-5{padding-left:3rem!important;padding-right:3rem!important}.px-xxl-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-xxl-7{padding-left:6rem!important;padding-right:6rem!important}.px-xxl-8{padding-left:9rem!important;padding-right:9rem!important}.px-xxl-9{padding-left:12rem!important;padding-right:12rem!important}.py-xxl-0{padding-bottom:0!important;padding-top:0!important}.py-xxl-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-xxl-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-xxl-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-xxl-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-xxl-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-xxl-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-xxl-7{padding-bottom:6rem!important;padding-top:6rem!important}.py-xxl-8{padding-bottom:9rem!important;padding-top:9rem!important}.py-xxl-9{padding-bottom:12rem!important;padding-top:12rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pt-xxl-6{padding-top:4.5rem!important}.pt-xxl-7{padding-top:6rem!important}.pt-xxl-8{padding-top:9rem!important}.pt-xxl-9{padding-top:12rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pe-xxl-6{padding-right:4.5rem!important}.pe-xxl-7{padding-right:6rem!important}.pe-xxl-8{padding-right:9rem!important}.pe-xxl-9{padding-right:12rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.pb-xxl-6{padding-bottom:4.5rem!important}.pb-xxl-7{padding-bottom:6rem!important}.pb-xxl-8{padding-bottom:9rem!important}.pb-xxl-9{padding-bottom:12rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.ps-xxl-6{padding-left:4.5rem!important}.ps-xxl-7{padding-left:6rem!important}.ps-xxl-8{padding-left:9rem!important}.ps-xxl-9{padding-left:12rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.gap-xxl-6{gap:4.5rem!important}.gap-xxl-7{gap:6rem!important}.gap-xxl-8{gap:9rem!important}.gap-xxl-9{gap:12rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-xl>.table-bordered{border:0}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-left:0;padding-right:0}}@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,.sidebar_re4s,.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}.searchBox_ZlJk{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media not (max-width:996px){.searchBar_RVTs.searchBarLeft_MXDe .dropdownMenu_qbY6{left:0!important;right:auto!important}}@media (max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-lg>.table-bordered{border:0}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-left:0;padding-right:0}}@media (max-width:991px){.team{padding:20px}}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-md>.table-bordered{border:0}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-left:0;padding-right:0}}@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}.navbar__search-input:not(:focus){width:2rem}.searchBar_RVTs .dropdownMenu_qbY6{max-width:calc(100vw - var(--ifm-navbar-padding-horizontal)*2);width:var(--search-local-modal-width-sm,340px)}.searchBarContainer_NW3z:not(.focused_OWtg) .searchClearButton_qk4g,.searchHintContainer_Pkmr{display:none}.title_f1Hy{font-size:2rem}}@media (max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-sm>.table-bordered{border:0}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-left:0;padding-right:0}}@media only screen and (max-width:575px){.footer__link-item,.footer__title{padding-left:0!important}.section_heading h3{font-size:1.5rem}.welcome_area{height:600px}.subscribe .welcome_area{height:700px}.welcome_text_area h2{font-size:1.7rem}.subscribe-form .form-control{padding:0 20px}.subscribe-form button{width:110px}.hero-slides .owl-next,.hero-slides .owl-prev{left:30px}.hero-slides .owl-next{right:30px}.welcome_area_thumb{padding-top:0}.welcome_text_area{margin-bottom:0;padding-top:50px}.single_work_step:before{display:none}.system_info{margin-bottom:0;padding-top:30px}}@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){.badge,.btn,.carousel-control-next,.carousel-control-prev,.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right,.carousel-indicators li,.carousel-item,.collapsing,.custom-control-label:before,.custom-file-label,.custom-select,.custom-switch .custom-control-label:after,.fade,.form-control,.modal.fade .modal-dialog,.progress-bar{transition:none}:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}.custom-range::-webkit-slider-thumb{transition:none}.custom-range::-moz-range-thumb{transition:none}.custom-range::-ms-thumb{transition:none}.progress-bar-animated{animation:none}}@media print{.tabs,blockquote,img,pre,tr{page-break-inside:avoid}.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.d-print-flex{display:-ms-flexbox!important;display:-webkit-box!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important}*,:after,:before{box-shadow:none!important;text-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd}thead{display:table-header-group}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{border-color:#dee2e6;color:inherit}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/fonts/LineIcons-y2l643-6ac9873828472f7a88703893f3de50c7.eot b/assets/fonts/LineIcons-y2l643-6ac9873828472f7a88703893f3de50c7.eot new file mode 100644 index 00000000..7146a83e Binary files /dev/null and b/assets/fonts/LineIcons-y2l643-6ac9873828472f7a88703893f3de50c7.eot differ diff --git a/assets/fonts/LineIcons-y2l643-c2f4b7610f34f5843a72d44f5c4ae9d2.woff b/assets/fonts/LineIcons-y2l643-c2f4b7610f34f5843a72d44f5c4ae9d2.woff new file mode 100644 index 00000000..d6e9b9a2 Binary files /dev/null and b/assets/fonts/LineIcons-y2l643-c2f4b7610f34f5843a72d44f5c4ae9d2.woff differ diff --git a/assets/fonts/LineIcons-y2l643-fb16b8b0de9e73ca9b2d7bb18c4e7108.ttf b/assets/fonts/LineIcons-y2l643-fb16b8b0de9e73ca9b2d7bb18c4e7108.ttf new file mode 100644 index 00000000..4d4a3aa8 Binary files /dev/null and b/assets/fonts/LineIcons-y2l643-fb16b8b0de9e73ca9b2d7bb18c4e7108.ttf differ diff --git a/assets/fonts/devanagari-1-64d5f06ee726edd58ca33456c8ead0cb.woff2 b/assets/fonts/devanagari-1-64d5f06ee726edd58ca33456c8ead0cb.woff2 new file mode 100644 index 00000000..3295a4cc Binary files /dev/null and b/assets/fonts/devanagari-1-64d5f06ee726edd58ca33456c8ead0cb.woff2 differ diff --git a/assets/fonts/devanagari-2-f43b6ebf46ee6fba05559f09fd680c90.woff2 b/assets/fonts/devanagari-2-f43b6ebf46ee6fba05559f09fd680c90.woff2 new file mode 100644 index 00000000..7850aa30 Binary files /dev/null and b/assets/fonts/devanagari-2-f43b6ebf46ee6fba05559f09fd680c90.woff2 differ diff --git a/assets/fonts/devanagari-3-349ed9fa39221b45ae9a033c0c3de0e2.woff2 b/assets/fonts/devanagari-3-349ed9fa39221b45ae9a033c0c3de0e2.woff2 new file mode 100644 index 00000000..742e1442 Binary files /dev/null and b/assets/fonts/devanagari-3-349ed9fa39221b45ae9a033c0c3de0e2.woff2 differ diff --git a/assets/fonts/fontawesome-webfont-1e59d2330b4c6deb84b340635ed36249.ttf b/assets/fonts/fontawesome-webfont-1e59d2330b4c6deb84b340635ed36249.ttf new file mode 100644 index 00000000..35acda2f Binary files /dev/null and b/assets/fonts/fontawesome-webfont-1e59d2330b4c6deb84b340635ed36249.ttf differ diff --git a/assets/fonts/fontawesome-webfont-20fd1704ea223900efa9fd4e869efb08.woff2 b/assets/fonts/fontawesome-webfont-20fd1704ea223900efa9fd4e869efb08.woff2 new file mode 100644 index 00000000..4d13fc60 Binary files /dev/null and b/assets/fonts/fontawesome-webfont-20fd1704ea223900efa9fd4e869efb08.woff2 differ diff --git a/assets/fonts/fontawesome-webfont-8b43027f47b20503057dfbbaa9401fef.eot b/assets/fonts/fontawesome-webfont-8b43027f47b20503057dfbbaa9401fef.eot new file mode 100644 index 00000000..e9f60ca9 Binary files /dev/null and b/assets/fonts/fontawesome-webfont-8b43027f47b20503057dfbbaa9401fef.eot differ diff --git a/assets/fonts/fontawesome-webfont-f691f37e57f04c152e2315ab7dbad881.woff b/assets/fonts/fontawesome-webfont-f691f37e57f04c152e2315ab7dbad881.woff new file mode 100644 index 00000000..400014a4 Binary files /dev/null and b/assets/fonts/fontawesome-webfont-f691f37e57f04c152e2315ab7dbad881.woff differ diff --git a/assets/images/LineIcons-y2l643-e76a21f07f1a3949a21170b145337735.svg b/assets/images/LineIcons-y2l643-e76a21f07f1a3949a21170b145337735.svg new file mode 100644 index 00000000..42b8c5d6 --- /dev/null +++ b/assets/images/LineIcons-y2l643-e76a21f07f1a3949a21170b145337735.svg @@ -0,0 +1,492 @@ + + + + + + +{ + "fontFamily": "LineIcons", + "majorVersion": 1, + "minorVersion": 1, + "fontURL": "https://lineicons.com", + "description": "Free Line Icons for Modern Web and Mobile Apps\nFont generated by IcoMoon.", + "copyright": "https://lineicons.com", + "designer": "https://lineicons.com", + "designerURL": "https://lineicons.com", + "license": "Creative Commons", + "licenseURL": "https://lineicons.com/license", + "version": "Version 1.1", + "fontId": "LineIcons", + "psName": "LineIcons", + "subFamily": "Regular", + "fullName": "LineIcons" +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/images/SolidUI_Front-end_Architecture_Design-74e7905d70a19a70423d45c329e78041.png b/assets/images/SolidUI_Front-end_Architecture_Design-74e7905d70a19a70423d45c329e78041.png new file mode 100644 index 00000000..9aef15c8 Binary files /dev/null and b/assets/images/SolidUI_Front-end_Architecture_Design-74e7905d70a19a70423d45c329e78041.png differ diff --git a/assets/images/SolidUI_Front-end_Overview-424873d3acc4f4bd7c2660b926c05436.png b/assets/images/SolidUI_Front-end_Overview-424873d3acc4f4bd7c2660b926c05436.png new file mode 100644 index 00000000..1088558b Binary files /dev/null and b/assets/images/SolidUI_Front-end_Overview-424873d3acc4f4bd7c2660b926c05436.png differ diff --git a/assets/images/SolidUI_SolidEditor_DesignAndPreview-351f3097c1a77b6055320e92074f6c69.png b/assets/images/SolidUI_SolidEditor_DesignAndPreview-351f3097c1a77b6055320e92074f6c69.png new file mode 100644 index 00000000..0a066d12 Binary files /dev/null and b/assets/images/SolidUI_SolidEditor_DesignAndPreview-351f3097c1a77b6055320e92074f6c69.png differ diff --git a/assets/images/SolidUI_SolidView_JSONSchema_Configuration_Design-a6e12611333db4337ad70ff4a24008d9.png b/assets/images/SolidUI_SolidView_JSONSchema_Configuration_Design-a6e12611333db4337ad70ff4a24008d9.png new file mode 100644 index 00000000..a3e50d2e Binary files /dev/null and b/assets/images/SolidUI_SolidView_JSONSchema_Configuration_Design-a6e12611333db4337ad70ff4a24008d9.png differ diff --git a/assets/images/datasource-45396a50f5aea7919f517e1d81456424.png b/assets/images/datasource-45396a50f5aea7919f517e1d81456424.png new file mode 100644 index 00000000..29af4ba9 Binary files /dev/null and b/assets/images/datasource-45396a50f5aea7919f517e1d81456424.png differ diff --git a/assets/images/desgin-8fd0648dd93a1c3fd51cb54900ac2bcd.png b/assets/images/desgin-8fd0648dd93a1c3fd51cb54900ac2bcd.png new file mode 100644 index 00000000..7b1fbfad Binary files /dev/null and b/assets/images/desgin-8fd0648dd93a1c3fd51cb54900ac2bcd.png differ diff --git a/assets/images/designpage-26289d04645e6f3d4aa534905e347a89.png b/assets/images/designpage-26289d04645e6f3d4aa534905e347a89.png new file mode 100644 index 00000000..0fdfed93 Binary files /dev/null and b/assets/images/designpage-26289d04645e6f3d4aa534905e347a89.png differ diff --git a/assets/images/fontawesome-webfont-c1e38fd9e0e74ba58f7a2b77ef29fdd3.svg b/assets/images/fontawesome-webfont-c1e38fd9e0e74ba58f7a2b77ef29fdd3.svg new file mode 100644 index 00000000..855c845e --- /dev/null +++ b/assets/images/fontawesome-webfont-c1e38fd9e0e74ba58f7a2b77ef29fdd3.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/images/home-d64eb73b3f8144a5bd50d3b1fe12de55.png b/assets/images/home-d64eb73b3f8144a5bd50d3b1fe12de55.png new file mode 100644 index 00000000..1e2149e6 Binary files /dev/null and b/assets/images/home-d64eb73b3f8144a5bd50d3b1fe12de55.png differ diff --git a/assets/images/image03-af7d6197cbbd538939c13caea371ed6b.png b/assets/images/image03-af7d6197cbbd538939c13caea371ed6b.png new file mode 100644 index 00000000..bd5cf0ed Binary files /dev/null and b/assets/images/image03-af7d6197cbbd538939c13caea371ed6b.png differ diff --git a/assets/images/image1-e94e2d291f16a9cf47445078fe8a63e7.png b/assets/images/image1-e94e2d291f16a9cf47445078fe8a63e7.png new file mode 100644 index 00000000..92514014 Binary files /dev/null and b/assets/images/image1-e94e2d291f16a9cf47445078fe8a63e7.png differ diff --git a/assets/images/image2-9a1fea16ddcd20bbcd103783e45e7d1a.png b/assets/images/image2-9a1fea16ddcd20bbcd103783e45e7d1a.png new file mode 100644 index 00000000..f4335e56 Binary files /dev/null and b/assets/images/image2-9a1fea16ddcd20bbcd103783e45e7d1a.png differ diff --git a/assets/images/images04-ab547dfceec7fd4762478ac7916ec5d2.png b/assets/images/images04-ab547dfceec7fd4762478ac7916ec5d2.png new file mode 100644 index 00000000..4f8974b5 Binary files /dev/null and b/assets/images/images04-ab547dfceec7fd4762478ac7916ec5d2.png differ diff --git a/assets/images/images05-4cc71d8bdadf8941e12867c8d6f8a2fe.png b/assets/images/images05-4cc71d8bdadf8941e12867c8d6f8a2fe.png new file mode 100644 index 00000000..393f4c62 Binary files /dev/null and b/assets/images/images05-4cc71d8bdadf8941e12867c8d6f8a2fe.png differ diff --git a/assets/images/images06-973d359adfc34c204d37ea809ac68072.png b/assets/images/images06-973d359adfc34c204d37ea809ac68072.png new file mode 100644 index 00000000..3164290d Binary files /dev/null and b/assets/images/images06-973d359adfc34c204d37ea809ac68072.png differ diff --git a/assets/images/images07-eddfb5d4a451dffd76a68688c45eac10.png b/assets/images/images07-eddfb5d4a451dffd76a68688c45eac10.png new file mode 100644 index 00000000..182cda25 Binary files /dev/null and b/assets/images/images07-eddfb5d4a451dffd76a68688c45eac10.png differ diff --git a/assets/images/images08-585c264b6c51d1daf3b607aa17f6f20e.png b/assets/images/images08-585c264b6c51d1daf3b607aa17f6f20e.png new file mode 100644 index 00000000..13c68ef0 Binary files /dev/null and b/assets/images/images08-585c264b6c51d1daf3b607aa17f6f20e.png differ diff --git a/assets/images/images09-50798acaf3380d15ad06c8e0e6e2000f.png b/assets/images/images09-50798acaf3380d15ad06c8e0e6e2000f.png new file mode 100644 index 00000000..4b3aaa9b Binary files /dev/null and b/assets/images/images09-50798acaf3380d15ad06c8e0e6e2000f.png differ diff --git a/assets/images/images10-60d41d0c5c293845598032e51a0d2cb6.png b/assets/images/images10-60d41d0c5c293845598032e51a0d2cb6.png new file mode 100644 index 00000000..3f2ef678 Binary files /dev/null and b/assets/images/images10-60d41d0c5c293845598032e51a0d2cb6.png differ diff --git a/assets/images/images11-a9349b7ddffabf3d8071f4545641f7db.jpeg b/assets/images/images11-a9349b7ddffabf3d8071f4545641f7db.jpeg new file mode 100644 index 00000000..bbaa2433 Binary files /dev/null and b/assets/images/images11-a9349b7ddffabf3d8071f4545641f7db.jpeg differ diff --git a/assets/images/images12-2ab1592a45568d991cf485c21a451753.png b/assets/images/images12-2ab1592a45568d991cf485c21a451753.png new file mode 100644 index 00000000..b93e30a0 Binary files /dev/null and b/assets/images/images12-2ab1592a45568d991cf485c21a451753.png differ diff --git a/assets/images/images13-762ce8795cec77dccf1b303f7d568ef3.png b/assets/images/images13-762ce8795cec77dccf1b303f7d568ef3.png new file mode 100644 index 00000000..6eb9404a Binary files /dev/null and b/assets/images/images13-762ce8795cec77dccf1b303f7d568ef3.png differ diff --git a/assets/images/metadata-3e5590d95ac4a94cd4e648ee65817c3e.png b/assets/images/metadata-3e5590d95ac4a94cd4e648ee65817c3e.png new file mode 100644 index 00000000..c417ad3c Binary files /dev/null and b/assets/images/metadata-3e5590d95ac4a94cd4e648ee65817c3e.png differ diff --git a/assets/images/mymen-bg-9a67dc1b51a0c50891a3c4950b98c382.png b/assets/images/mymen-bg-9a67dc1b51a0c50891a3c4950b98c382.png new file mode 100644 index 00000000..b4c5c17e Binary files /dev/null and b/assets/images/mymen-bg-9a67dc1b51a0c50891a3c4950b98c382.png differ diff --git a/assets/images/soliduiv0.1.0structure-2964a98125cda4f79a72b0f832df78bf.jpg b/assets/images/soliduiv0.1.0structure-2964a98125cda4f79a72b0f832df78bf.jpg new file mode 100644 index 00000000..05e73fa9 Binary files /dev/null and b/assets/images/soliduiv0.1.0structure-2964a98125cda4f79a72b0f832df78bf.jpg differ diff --git a/assets/js/017a0f29.e31b5d68.js b/assets/js/017a0f29.e31b5d68.js new file mode 100644 index 00000000..f0eed907 --- /dev/null +++ b/assets/js/017a0f29.e31b5d68.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[1649],{2919:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/blog/page/2","page":2,"postsPerPage":3,"totalPages":2,"totalCount":6,"previousPage":"/SolidUI-Website/blog","blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/01a85c17.8d6d587b.js b/assets/js/01a85c17.8d6d587b.js new file mode 100644 index 00000000..ccd8fc2c --- /dev/null +++ b/assets/js/01a85c17.8d6d587b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4013],{9058:(e,t,a)=>{a.d(t,{Z:()=>E});var l=a(7294),r=a(6010),n=a(179),s=a(7524),i=a(9960),c=a(5999);const m={sidebar:"sidebar_re4s",sidebarItemTitle:"sidebarItemTitle_pO2u",sidebarItemList:"sidebarItemList_Yudw",sidebarItem:"sidebarItem__DBe",sidebarItemLink:"sidebarItemLink_mo7H",sidebarItemLinkActive:"sidebarItemLinkActive_I1ZP"};function o(e){let{sidebar:t}=e;return l.createElement("aside",{className:"col col--3"},l.createElement("nav",{className:(0,r.Z)(m.sidebar,"thin-scrollbar"),"aria-label":(0,c.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"})},l.createElement("div",{className:(0,r.Z)(m.sidebarItemTitle,"margin-bottom--md")},t.title),l.createElement("ul",{className:(0,r.Z)(m.sidebarItemList,"clean-list")},t.items.map((e=>l.createElement("li",{key:e.permalink,className:m.sidebarItem},l.createElement(i.Z,{isNavLink:!0,to:e.permalink,className:m.sidebarItemLink,activeClassName:m.sidebarItemLinkActive},e.title)))))))}var u=a(3102);function g(e){let{sidebar:t}=e;return l.createElement("ul",{className:"menu__list"},t.items.map((e=>l.createElement("li",{key:e.permalink,className:"menu__list-item"},l.createElement(i.Z,{isNavLink:!0,to:e.permalink,className:"menu__link",activeClassName:"menu__link--active"},e.title)))))}function b(e){return l.createElement(u.Zo,{component:g,props:e})}function d(e){let{sidebar:t}=e;const a=(0,s.i)();return t?.items.length?"mobile"===a?l.createElement(b,{sidebar:t}):l.createElement(o,{sidebar:t}):null}function E(e){const{sidebar:t,toc:a,children:s,...i}=e,c=t&&t.items.length>0;return l.createElement(n.Z,i,l.createElement("div",{className:"container margin-vert--lg"},l.createElement("div",{className:"row"},l.createElement(d,{sidebar:t}),l.createElement("main",{className:(0,r.Z)("col",{"col--7":c,"col--9 col--offset-1":!c}),itemScope:!0,itemType:"http://schema.org/Blog"},s),a&&l.createElement("div",{className:"col col--2"},a))))}},1223:(e,t,a)=>{a.r(t),a.d(t,{default:()=>E});var l=a(7294),r=a(6010),n=a(5999);const s=()=>(0,n.I)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});var i=a(1944),c=a(5281),m=a(9058),o=a(3008);const u={tag:"tag_Nnez"};function g(e){let{letterEntry:t}=e;return l.createElement("article",null,l.createElement("h2",null,t.letter),l.createElement("ul",{className:"padding--none"},t.tags.map((e=>l.createElement("li",{key:e.permalink,className:u.tag},l.createElement(o.Z,e))))),l.createElement("hr",null))}function b(e){let{tags:t}=e;const a=function(e){const t={};return Object.values(e).forEach((e=>{const a=function(e){return e[0].toUpperCase()}(e.label);t[a]??=[],t[a].push(e)})),Object.entries(t).sort(((e,t)=>{let[a]=e,[l]=t;return a.localeCompare(l)})).map((e=>{let[t,a]=e;return{letter:t,tags:a.sort(((e,t)=>e.label.localeCompare(t.label)))}}))}(t);return l.createElement("section",{className:"margin-vert--lg"},a.map((e=>l.createElement(g,{key:e.letter,letterEntry:e}))))}var d=a(197);function E(e){let{tags:t,sidebar:a}=e;const n=s();return l.createElement(i.FG,{className:(0,r.Z)(c.k.wrapper.blogPages,c.k.page.blogTagsListPage)},l.createElement(i.d,{title:n}),l.createElement(d.Z,{tag:"blog_tags_list"}),l.createElement(m.Z,{sidebar:a},l.createElement("h1",null,n),l.createElement(b,{tags:t})))}},3008:(e,t,a)=>{a.d(t,{Z:()=>i});var l=a(7294),r=a(6010),n=a(9960);const s={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};function i(e){let{permalink:t,label:a,count:i}=e;return l.createElement(n.Z,{href:t,className:(0,r.Z)(s.tag,i?s.tagWithCount:s.tagRegular)},a,i&&l.createElement("span",null,i))}}}]); \ No newline at end of file diff --git a/assets/js/035672d3.8d3669e5.js b/assets/js/035672d3.8d3669e5.js new file mode 100644 index 00000000..23a7a72b --- /dev/null +++ b/assets/js/035672d3.8d3669e5.js @@ -0,0 +1 @@ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4921],{2711:function(t){t.exports=function(t){function e(a){if(n[a])return n[a].exports;var o=n[a]={exports:{},id:a,loaded:!1};return t[a].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="dist/",e(0)}([function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var o=Object.assign||function(t){for(var e=1;e0&&void 0!==arguments[0]&&arguments[0]&&(p=!0),p)return m=(0,d.default)(m,b),(0,l.default)(m,b.once),m},h=function(){m=(0,f.default)(),v()},g=function(){m.forEach((function(t,e){t.node.removeAttribute("data-aos"),t.node.removeAttribute("data-aos-easing"),t.node.removeAttribute("data-aos-duration"),t.node.removeAttribute("data-aos-delay")}))},y=function(t){return!0===t||"mobile"===t&&u.default.mobile()||"phone"===t&&u.default.phone()||"tablet"===t&&u.default.tablet()||"function"==typeof t&&!0===t()},w=function(t){b=o(b,t),m=(0,f.default)();var e=document.all&&!window.atob;return y(b.disable)||e?g():(b.disableMutationObserver||s.default.isSupported()||(console.info('\n aos: MutationObserver is not supported on this browser,\n code mutations observing has been disabled.\n You may have to call "refreshHard()" by yourself.\n '),b.disableMutationObserver=!0),document.querySelector("body").setAttribute("data-aos-easing",b.easing),document.querySelector("body").setAttribute("data-aos-duration",b.duration),document.querySelector("body").setAttribute("data-aos-delay",b.delay),"DOMContentLoaded"===b.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?v(!0):"load"===b.startEvent?window.addEventListener(b.startEvent,(function(){v(!0)})):document.addEventListener(b.startEvent,(function(){v(!0)})),window.addEventListener("resize",(0,c.default)(v,b.debounceDelay,!0)),window.addEventListener("orientationchange",(0,c.default)(v,b.debounceDelay,!0)),window.addEventListener("scroll",(0,i.default)((function(){(0,l.default)(m,b.once)}),b.throttleDelay)),b.disableMutationObserver||s.default.ready("[data-aos]",h),m)};t.exports={init:w,refresh:v,refreshHard:h}},function(t,e){},,,,,function(t,e){(function(e){"use strict";function n(t,e,n){function a(e){var n=b,a=v;return b=v=void 0,O=e,g=t.apply(a,n)}function r(t){return O=t,y=setTimeout(l,e),E?a(t):g}function i(t){var n=e-(t-w);return U?x(n,h-(t-O)):n}function s(t){var n=t-w;return void 0===w||n>=e||n<0||U&&t-O>=h}function l(){var t=j();return s(t)?d(t):void(y=setTimeout(l,i(t)))}function d(t){return y=void 0,N&&b?a(t):(b=v=void 0,g)}function f(){void 0!==y&&clearTimeout(y),O=0,b=w=v=y=void 0}function m(){return void 0===y?g:d(j())}function p(){var t=j(),n=s(t);if(b=arguments,v=this,w=t,n){if(void 0===y)return r(w);if(U)return y=setTimeout(l,e),a(w)}return void 0===y&&(y=setTimeout(l,e)),g}var b,v,h,g,y,w,O=0,E=!1,U=!1,N=!0;if("function"!=typeof t)throw new TypeError(u);return e=c(e)||0,o(n)&&(E=!!n.leading,h=(U="maxWait"in n)?k(c(n.maxWait)||0,e):h,N="trailing"in n?!!n.trailing:N),p.cancel=f,p.flush=m,p}function a(t,e,a){var r=!0,i=!0;if("function"!=typeof t)throw new TypeError(u);return o(a)&&(r="leading"in a?!!a.leading:r,i="trailing"in a?!!a.trailing:i),n(t,e,{leading:r,maxWait:e,trailing:i})}function o(t){var e=void 0===t?"undefined":s(t);return!!t&&("object"==e||"function"==e)}function r(t){return!!t&&"object"==(void 0===t?"undefined":s(t))}function i(t){return"symbol"==(void 0===t?"undefined":s(t))||r(t)&&w.call(t)==d}function c(t){if("number"==typeof t)return t;if(i(t))return l;if(o(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=o(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(f,"");var n=p.test(t);return n||b.test(t)?v(t.slice(2),n?2:8):m.test(t)?l:+t}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u="Expected a function",l=NaN,d="[object Symbol]",f=/^\s+|\s+$/g,m=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,b=/^0o[0-7]+$/i,v=parseInt,h="object"==(void 0===e?"undefined":s(e))&&e&&e.Object===Object&&e,g="object"==("undefined"==typeof self?"undefined":s(self))&&self&&self.Object===Object&&self,y=h||g||Function("return this")(),w=Object.prototype.toString,k=Math.max,x=Math.min,j=function(){return y.Date.now()};t.exports=a}).call(e,function(){return this}())},function(t,e){(function(e){"use strict";function n(t,e,n){function o(e){var n=b,a=v;return b=v=void 0,O=e,g=t.apply(a,n)}function r(t){return O=t,y=setTimeout(l,e),E?o(t):g}function c(t){var n=e-(t-j);return U?k(n,h-(t-O)):n}function u(t){var n=t-j;return void 0===j||n>=e||n<0||U&&t-O>=h}function l(){var t=x();return u(t)?d(t):void(y=setTimeout(l,c(t)))}function d(t){return y=void 0,N&&b?o(t):(b=v=void 0,g)}function f(){void 0!==y&&clearTimeout(y),O=0,b=j=v=y=void 0}function m(){return void 0===y?g:d(x())}function p(){var t=x(),n=u(t);if(b=arguments,v=this,j=t,n){if(void 0===y)return r(j);if(U)return y=setTimeout(l,e),o(j)}return void 0===y&&(y=setTimeout(l,e)),g}var b,v,h,g,y,j,O=0,E=!1,U=!1,N=!0;if("function"!=typeof t)throw new TypeError(s);return e=i(e)||0,a(n)&&(E=!!n.leading,h=(U="maxWait"in n)?w(i(n.maxWait)||0,e):h,N="trailing"in n?!!n.trailing:N),p.cancel=f,p.flush=m,p}function a(t){var e=void 0===t?"undefined":c(t);return!!t&&("object"==e||"function"==e)}function o(t){return!!t&&"object"==(void 0===t?"undefined":c(t))}function r(t){return"symbol"==(void 0===t?"undefined":c(t))||o(t)&&y.call(t)==l}function i(t){if("number"==typeof t)return t;if(r(t))return u;if(a(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=a(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(d,"");var n=m.test(t);return n||p.test(t)?b(t.slice(2),n?2:8):f.test(t)?u:+t}var c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s="Expected a function",u=NaN,l="[object Symbol]",d=/^\s+|\s+$/g,f=/^[-+]0x[0-9a-f]+$/i,m=/^0b[01]+$/i,p=/^0o[0-7]+$/i,b=parseInt,v="object"==(void 0===e?"undefined":c(e))&&e&&e.Object===Object&&e,h="object"==("undefined"==typeof self?"undefined":c(self))&&self&&self.Object===Object&&self,g=v||h||Function("return this")(),y=Object.prototype.toString,w=Math.max,k=Math.min,x=function(){return g.Date.now()};t.exports=n}).call(e,function(){return this}())},function(t,e){"use strict";function n(t){var e=void 0,a=void 0;for(e=0;et.position?t.node.classList.add("aos-animate"):void 0!==a&&("false"===a||!n&&"true"!==a)&&t.node.classList.remove("aos-animate")},a=function(t,e){var a=window.pageYOffset,o=window.innerHeight;t.forEach((function(t,r){n(t,o+a,e)}))};e.default=a},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=a(n(12)),r=function(t,e){return t.forEach((function(t,n){t.node.classList.add("aos-init"),t.position=(0,o.default)(t.node,e.offset)})),t};e.default=r},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=a(n(13)),r=function(t,e){var n=0,a=0,r=window.innerHeight,i={offset:t.getAttribute("data-aos-offset"),anchor:t.getAttribute("data-aos-anchor"),anchorPlacement:t.getAttribute("data-aos-anchor-placement")};switch(i.offset&&!isNaN(i.offset)&&(a=parseInt(i.offset)),i.anchor&&document.querySelectorAll(i.anchor)&&(t=document.querySelectorAll(i.anchor)[0]),n=(0,o.default)(t).top,i.anchorPlacement){case"top-bottom":break;case"center-bottom":n+=t.offsetHeight/2;break;case"bottom-bottom":n+=t.offsetHeight;break;case"top-center":n+=r/2;break;case"bottom-center":n+=r/2+t.offsetHeight;break;case"center-center":n+=r/2+t.offsetHeight/2;break;case"top-top":n+=r;break;case"bottom-top":n+=t.offsetHeight+r;break;case"center-top":n+=t.offsetHeight/2+r}return i.anchorPlacement||i.offset||isNaN(e)||(a=e),n+a};e.default=r},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t){for(var e=0,n=0;t&&!isNaN(t.offsetLeft)&&!isNaN(t.offsetTop);)e+=t.offsetLeft-("BODY"!=t.tagName?t.scrollLeft:0),n+=t.offsetTop-("BODY"!=t.tagName?t.scrollTop:0),t=t.offsetParent;return{top:n,left:e}};e.default=n},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t){return t=t||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(t,(function(t){return{node:t}}))};e.default=n}])},1262:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});var a=n(7294),o=n(2389);function r(t){let{children:e,fallback:n}=t;return(0,o.Z)()?a.createElement(a.Fragment,null,e?.()):n??null}},7805:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>m});var a=n(7294),o=n(1262),r=n(2389);const i=JSON.parse('{"zh-CN":{"info":{"desc":"SolidUI \u793e\u533a\u7531\u8d21\u732e\u8005\u7ec4\u6210\u3002 \u8d21\u732e\u8005\u53ef\u4ee5\u76f4\u63a5\u8bbf\u95ee SolidUI \u9879\u76ee\u7684\u6e90\u4ee3\u7801\u5e76\u53c2\u4e0e\u8d21\u732e\u5f53\u4e2d(\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u4ee3\u7801\u7684\u8d21\u732e)\u3002 \u8d21\u732e\u8005\u901a\u8fc7\u63d0\u4ea4\u8865\u4e01\u548c\u5efa\u8bae\u6765\u6539\u5584\u9879\u76ee\u3002 \u8be5\u9879\u76ee\u7684\u8d21\u732e\u8005\u6570\u91cf\u662f\u65e0\u9650\u7684\u3002 \u65e0\u8bba\u662f\u7410\u788e\u7684\u6e05\u7406\u5de5\u4f5c\uff0c\u91cd\u8981\u7684\u65b0\u529f\u80fd\u8fd8\u662f\u5176\u4ed6\u91cd\u5927\u7684\u5956\u52b1\uff0c\u5bf9 SolidUI \u6240\u505a\u7684\u6240\u6709\u8d21\u732e\u90fd\u5c06\u53d7\u5230\u6781\u5927\u7684\u8d5e\u8d4f\u3002","tip":"(\u6392\u540d\u4e0d\u5206\u5148\u540e)"},"contributors":[{"avatarUrl":"https://avatars.githubusercontent.com/u/16789827?v=4","gitUrl":"https://github.com/dlimeng","name":"Li Meng"},{"avatarUrl":"https://avatars.githubusercontent.com/u/35603505?v=4","gitUrl":"https://github.com/nutsjian","name":"Gu Jian"},{"avatarUrl":"https://avatars.githubusercontent.com/u/46127018?v=4","gitUrl":"https://github.com/15100399015","name":"Yang LiPeng"},{"avatarUrl":"https://avatars.githubusercontent.com/u/1073365?v=4","gitUrl":"https://github.com/jacktao007","name":"Tao ZhiQiang"},{"avatarUrl":"https://avatars.githubusercontent.com/u/52304716?v=4","gitUrl":"https://github.com/ziyu211","name":"Zheng Wen"},{"avatarUrl":"https://avatars.githubusercontent.com/u/42433093?v=4","gitUrl":"https://github.com/limingoo","name":"Li MingMing"},{"avatarUrl":"https://avatars.githubusercontent.com/u/140733158?v=4","gitUrl":"https://github.com/hgfdsa101","name":"Bai Xuan"}]},"en":{"info":{"desc":"The SolidUI team is comprised of Members and Contributors. Members have direct access to the source of SolidUI project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. All contributions to SolidUI are greatly appreciated, whether for trivial cleanups, big new features or other material rewards.","tip":"(In no particular order)"},"contributors":[{"avatarUrl":"https://avatars.githubusercontent.com/u/16789827?v=4","gitUrl":"https://github.com/dlimeng","name":"Li Meng"},{"avatarUrl":"https://avatars.githubusercontent.com/u/35603505?v=4","gitUrl":"https://github.com/nutsjian","name":"Gu Jian"},{"avatarUrl":"https://avatars.githubusercontent.com/u/46127018?v=4","gitUrl":"https://github.com/15100399015","name":"Yang LiPeng"},{"avatarUrl":"https://avatars.githubusercontent.com/u/1073365?v=4","gitUrl":"https://github.com/jacktao007","name":"Tao ZhiQiang"},{"avatarUrl":"https://avatars.githubusercontent.com/u/52304716?v=4","gitUrl":"https://github.com/ziyu211","name":"Zheng Wen"},{"avatarUrl":"https://avatars.githubusercontent.com/u/42433093?v=4","gitUrl":"https://github.com/limingoo","name":"Li MingMing"},{"avatarUrl":"https://avatars.githubusercontent.com/u/140733158?v=4","gitUrl":"https://github.com/hgfdsa101","name":"Bai Xuan"}]}}');var c,s=n(179);function u(){return u=Object.assign?Object.assign.bind():function(t){for(var e=1;e{let{title:e,titleId:n,...o}=t;return a.createElement("svg",u({className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200,"aria-labelledby":n},o),e?a.createElement("title",{id:n},e):null,c||(c=a.createElement("path",{d:"M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9 23.5 23.2 38.1 55.4 38.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z"})))};var d=n(2711),f=n.n(d);function m(){const t=(0,r.Z)()&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",e=i?.[t];return a.createElement(o.Z,null,(()=>(f().init({offset:100,duration:700,easing:"ease-out-quad",once:!0}),window.addEventListener("load",f().refresh),a.createElement(s.Z,null,a.createElement("div",{className:"block team_page",style:{padding:"10px 0 30px"}},a.createElement("h3",{className:"fs-2 mb-4 fw-bold text-center"},"SolidUI Team"),a.createElement("hr",{className:"divider my-4 mx-auto",style:{maxWidth:"10rem"}}),a.createElement("p",{className:"team_desc team_indent"},e.info.desc),a.createElement("h3",{className:"team_title mb-5"},"Contributors",a.createElement("span",{className:"desc"},e.info.tip)),a.createElement("div",{className:"row bg-gray py-4"},e.contributors.map(((t,e)=>a.createElement("div",{className:"team_user mb-5 px-4",key:e,"data-aos":"fade-up","data-aos-delay":100*e},a.createElement("a",{href:t.gitUrl,target:"_blank"},a.createElement("div",{className:"team team-hover rounded"},a.createElement("div",{className:"team-img"},a.createElement("img",{src:t.avatarUrl,alt:t.name})),a.createElement("div",{className:"team-info"},a.createElement("span",{className:"team-name text-dark"},t.name),a.createElement("p",{className:"team-leader d-flex align-items-center justify-content-center"},a.createElement(l,{className:"github-icon"}),t.name)))))))))))))}}}]); \ No newline at end of file diff --git a/assets/js/08fabd1b.d2f216db.js b/assets/js/08fabd1b.d2f216db.js new file mode 100644 index 00000000..64949ff0 --- /dev/null +++ b/assets/js/08fabd1b.d2f216db.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7445],{6571:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/blog/tags/stable-diffusion/page/2","page":2,"postsPerPage":3,"totalPages":2,"totalCount":6,"previousPage":"/SolidUI-Website/blog/tags/stable-diffusion","blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/0e384e19.588bce10.js b/assets/js/0e384e19.588bce10.js new file mode 100644 index 00000000..49a3ee44 --- /dev/null +++ b/assets/js/0e384e19.588bce10.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[9671],{3905:(e,t,r)=>{r.d(t,{Zo:()=>c,kt:()=>g});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),u=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},c=function(e){var t=u(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),p=u(r),h=a,g=p["".concat(s,".").concat(h)]||p[h]||d[h]||i;return r?n.createElement(g,o(o({ref:t},c),{},{components:r})):n.createElement(g,o({ref:t},c))}));function g(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=h;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:a,o[1]=l;for(var u=2;u{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>d,frontMatter:()=>i,metadata:()=>l,toc:()=>u});var n=r(7462),a=(r(7294),r(3905));const i={id:"intro",title:"What is SolidUI",sidebar_position:1},o="Introduce",l={unversionedId:"intro",id:"intro",title:"What is SolidUI",description:"AI-generated Graphic Models.",source:"@site/docs/intro.md",sourceDirName:".",slug:"/intro",permalink:"/SolidUI-Website/docs/intro",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"intro",title:"What is SolidUI",sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"Quick start",permalink:"/SolidUI-Website/docs/user-guide/quick-start"}},s={},u=[{value:"Core Features",id:"core-features",level:2},{value:"Self-developed Wensheng graph language model",id:"self-developed-wensheng-graph-language-model",level:2},{value:"RLHF process",id:"rlhf-process",level:2}],c={toc:u},p="wrapper";function d(e){let{components:t,...i}=e;return(0,a.kt)(p,(0,n.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"introduce"},"Introduce"),(0,a.kt)("p",null,"AI-generated Graphic Models."),(0,a.kt)("h2",{id:"core-features"},"Core Features"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Minimalist process, concise design"),(0,a.kt)("li",{parentName:"ul"},"Various 2D legends"),(0,a.kt)("li",{parentName:"ul"},"Various 3D legends"),(0,a.kt)("li",{parentName:"ul"},"Various 3D scenes"),(0,a.kt)("li",{parentName:"ul"},"Support multiple data sources"),(0,a.kt)("li",{parentName:"ul"},"Support Huggingface space"),(0,a.kt)("li",{parentName:"ul"},"Support plug-in robot"),(0,a.kt)("li",{parentName:"ul"},"Support SolidUI-Model"),(0,a.kt)("li",{parentName:"ul"},"Support Large Language Model"),(0,a.kt)("li",{parentName:"ul"},"Containerized deployment")),(0,a.kt)("h1",{id:"quickstart"},"QuickStart"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"/docs/user-guide/quick-start/"},"quick-start")),(0,a.kt)("h1",{id:"whats-this"},"What's this?"),(0,a.kt)("p",null,"With the rise of language models for generating images from text, SolidUI wants to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, so as to quickly construct 3D data presentation scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of Vincent diagram. By building a self-developed Wensheng graph language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graph generation."),(0,a.kt)("h2",{id:"self-developed-wensheng-graph-language-model"},"Self-developed Wensheng graph language model"),(0,a.kt)("p",null,"SolidUI's Vincent graph language model is a deep learning model that can convert natural language descriptions input by users into specific graphical representations. This model is trained on a large amount of text and graphics data, and learns the mapping relationship from text to graphics. To achieve this goal, SolidUI's self-developed Vincent graph language model has the following characteristics:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Combining NLP and computer graphics to realize the process from text description to graphic generation"),(0,a.kt)("li",{parentName:"ul"},"Can handle various types of graphics, such as 2D, 3D and scenes, etc."),(0,a.kt)("li",{parentName:"ul"},"The model training process involves a large amount of text and graphics data to ensure the quality and accuracy of the generated graphics")),(0,a.kt)("h2",{id:"rlhf-process"},"RLHF process"),(0,a.kt)("p",null,"SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to optimize the performance of the Vincent graph language model. The process leverages human feedback to guide the model's learning process, enabling the model to better meet user needs. The main steps of the RLHF process include:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Collect Feedback: Users rate the generated graphs, providing feedback on the quality and accuracy of the graphs."),(0,a.kt)("li",{parentName:"ul"},"Updating the model: Based on the feedback collected, the model is updated using reinforcement learning algorithms to improve the quality and accuracy of the generated graphics."),(0,a.kt)("li",{parentName:"ul"},"Iterative optimization: The process of collecting feedback and updating the model is repeated until the model performance reaches a satisfactory level.")),(0,a.kt)("p",null,"Through this process, SolidUI's Vincent graph language model is able to continuously learn and improve from user feedback, producing graphics of higher quality and accuracy."),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"Version 0.1.0",src:r(3093).Z,width:"1209",height:"582"})),(0,a.kt)("h1",{id:"document"},"Document"),(0,a.kt)("p",null,"For a complete list of documentation for SolidUI v0.1.0, see ",(0,a.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"SolidUI-Website")),(0,a.kt)("h1",{id:"contribute"},"Contribute"),(0,a.kt)("p",null,"We welcome and look forward to more contributors participating in building SolidUI, whether it is code, documentation, or other forms of contribution that can help the community."),(0,a.kt)("h1",{id:"contact-us"},"Contact US"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"For any questions and suggestions about SolidUI, you can submit an issue for tracking, processing and experience sharing"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://twitter.com/dlimeng192048"},"twitter")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://www.youtube.com/@dlimeng"},"youtube")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://space.bilibili.com/472576729"},"bilibili")," (in Chinese)"),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("a",{parentName:"li",href:"https://discord.gg/NGRNu2mGeQ"},"discord"))),(0,a.kt)("h1",{id:"who-is-using-solidui"},"Who is using SolidUI"),(0,a.kt)("p",null,"We created an issue ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/1"},"[Who is Using SolidUI]")," for user feedback and documentation of who is using SolidUI."),(0,a.kt)("h1",{id:"contributors"},"Contributors"),(0,a.kt)("p",null,"Thanks to everyone who contributed PR~ \ud83c\udf89\ud83c\udf89\ud83c\udf89"),(0,a.kt)("a",{href:"https://github.com/CloudOrc/SolidUI/graphs/contributors"},(0,a.kt)("img",{src:"https://contrib.rocks/image?repo=CloudOrc/SolidUI"})),(0,a.kt)("h1",{id:"thanks-and-support"},"Thanks And Support"),(0,a.kt)("p",null,"We are very grateful for your support and recognition of our project and development work. In open source software development, we deeply know that user and community feedback and support are crucial. Our project has provided a README and Issue system to facilitate user deployment and problem solving, while also helping to increase project activity. We will prioritize issues raised in the issues."),(0,a.kt)("p",null,"If you are interested in the community, welcome to participate (code, documentation, use), welcome to participate in any form."),(0,a.kt)("p",null,"If you feel that the SolidUI project is valuable to you and are willing to support our development work, please give the project a little star or ",(0,a.kt)("a",{parentName:"p",href:"https://afdian.net/a/solidui"},"sponsor us"),"."))}d.isMDXComponent=!0},3093:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/designpage-26289d04645e6f3d4aa534905e347a89.png"}}]); \ No newline at end of file diff --git a/assets/js/0e49e91b.d53acb7c.js b/assets/js/0e49e91b.d53acb7c.js new file mode 100644 index 00000000..f4980bd7 --- /dev/null +++ b/assets/js/0e49e91b.d53acb7c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[9094],{9786:(e,t,a)=>{a.r(t),a.d(t,{default:()=>b});var r=a(7294),i=a(2389),l=a(5166);function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...i}=e;return r.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",className:"rotate-315",width:"2rem",height:"2rem",fill:"currentColor",viewBox:"0 0 512 512","aria-labelledby":a},i),t?r.createElement("title",{id:a},t):null,r.createElement("path",{d:"M461.81 53.81a4.4 4.4 0 0 0-3.3-3.39c-54.38-13.3-180 34.09-248.13 102.17a294.9 294.9 0 0 0-33.09 39.08c-21-1.9-42-.3-59.88 7.5-50.49 22.2-65.18 80.18-69.28 105.07a9 9 0 0 0 9.8 10.4l81.07-8.9a180.29 180.29 0 0 0 1.1 18.3 18.15 18.15 0 0 0 5.3 11.09l31.39 31.39a18.15 18.15 0 0 0 11.1 5.3 179.91 179.91 0 0 0 18.19 1.1l-8.89 81a9 9 0 0 0 10.39 9.79c24.9-4 83-18.69 105.07-69.17 7.8-17.9 9.4-38.79 7.6-59.69a293.91 293.91 0 0 0 39.19-33.09c68.38-68 115.47-190.86 102.37-247.95ZM298.66 213.67a42.7 42.7 0 1 1 60.38 0 42.65 42.65 0 0 1-60.38 0Z",style:{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:32}}),r.createElement("path",{d:"M109.64 352a45.06 45.06 0 0 0-26.35 12.84C65.67 382.52 64 448 64 448s65.52-1.67 83.15-19.31A44.73 44.73 0 0 0 160 402.32",style:{color:"#ffcc43",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:32}}))};var c;function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...i}=e;return r.createElement("svg",o({width:200,height:200,viewBox:"0 0 200 200",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":a},i),t?r.createElement("title",{id:a},t):null,c||(c=r.createElement("path",{fill:"currentColor",d:"M142.5 33.8c14.6 9.5 30 17.8 38.6 30.9 8.7 13.1 10.7 30.9 8.5 48.3-2.3 17.4-8.9 34.4-20.1 47.1-11.2 12.8-27.1 21.4-43.6 24.5-16.4 3.2-33.3.8-48.6-4.8-15.2-5.7-28.8-14.6-38.2-26.5-9.5-11.9-14.9-26.7-18.1-42.5-3.1-15.8-4.1-32.5 1.3-47.2 5.3-14.6 17-27.3 31-37.1S83.6 9.9 98.8 11.8c15.1 1.9 29 12.5 43.7 22Z"})))};var m,p,u;function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...i}=e;return r.createElement("svg",h({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1440 320","aria-labelledby":a},i),t?r.createElement("title",{id:a},t):null,m||(m=r.createElement("path",{className:"opacity-20 translate-top-2",fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})),p||(p=r.createElement("path",{className:"opacity-30 translate-top-1",fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})),u||(u=r.createElement("path",{fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})))};function b(){const e=(0,i.Z)(),t=e&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",a=e&&0===location.pathname.indexOf("/zh-CN/")?"/zh-CN":"",n=l?.[t];return r.createElement("div",{className:"section bg-gradient-primary pb-9 pt-7 overflow-hidden"},r.createElement("div",{className:"overlay bg-gradient-primary opacity-90 z-index-n1"}),r.createElement("div",{className:"particle"},r.createElement("div",{className:"particle-move-up d-none d-block particle-move-up-1 text-light z-index-n1 opacity-60"},r.createElement(s,{width:"2rem",height:"2rem"})),r.createElement("div",{className:"particle-move-up particle-move-up-2 text-light z-index-n1 opacity-60"},r.createElement(s,{width:"1rem",height:"1rem"})),r.createElement("div",{className:"particle-move-up d-none d-sm-block particle-move-up-3 text-light z-index-n1 opacity-60"},r.createElement(s,{width:"1.5rem",height:"1.5rem"})),r.createElement("div",{className:"particle-move-up d-none d-xl-block particle-move-up-4 text-light z-index-n1 opacity-60"},r.createElement(s,{width:"1rem",height:"1rem"})),r.createElement("div",{className:"particle-move-up d-none d-sm-block particle-move-up-5 text-light z-index-n1 opacity-60"},r.createElement(s,{width:"1.2rem",height:"1.2rem"})),r.createElement("div",{className:"particle-move-up border-success text-light particle-move-up-6 z-index-n1 opacity-60"},r.createElement(s,{width:"2rem",height:"2rem"})),r.createElement("div",{className:"particle-move-up particle-move-up-7 z-index-n1 text-light opacity-60"},r.createElement(s,{width:"1.5rem",height:"1.5rem"})),r.createElement("div",{className:"particle-move-up particle-move-up-8 z-index-n1 text-light opacity-60"},r.createElement(s,{width:"1.2rem",height:"1.2rem"})),r.createElement("div",{className:"particle-move-up particle-move-up-9 z-index-n1 text-light opacity-60"},r.createElement(s,{width:"2rem",height:"2rem"}))),r.createElement("figure",{className:"scribble scale-4 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"300"},r.createElement(d,{className:"text-secondary"})),r.createElement("figure",{className:"scribble scale-5 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"200"},r.createElement(d,{className:"text-secondary"})),r.createElement("figure",{className:"scribble scale-6 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"100"},r.createElement(d,{className:"text-secondary"})),r.createElement("figure",{className:"scribble scale-7 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right"},r.createElement(d,{className:"text-secondary"})),r.createElement("div",{className:"container-fluid px-7 pb-2"},r.createElement("div",{className:"row justify-content-center"},r.createElement("div",{className:"col-md-6 col-8 align-self-center pe-5","data-aos":"fade-right"},r.createElement("div",{className:"text-start mt-0"},r.createElement("div",{className:"mb-5 system_info pt-0"},r.createElement("div",{className:"project_title fw-bold text-white mb-3"},r.createElement("div",{className:"d-flex justify-content-center align-items-start"},r.createElement("div",{className:"animated-gradient-text_background animated-gradient-text_background-2",style:{"--content":'"SolidUI"',"--start-color":"#FFF","--end-color":"#00DFD8"}},r.createElement("span",{className:"animated-gradient-text_foreground animated-gradient-text_foreground-2"},"SolidUI")))),r.createElement("p",{className:"lead text-light text-center"},n.slogan.description)),r.createElement("div",{className:"d-flex justify-content-center align-items-start"},r.createElement("a",{className:"btn streampark-btn btn mt-30 ztop",href:"https://github.com/CloudOrc/SolidUI",target:"_blank"},r.createElement("i",{className:"lni-github-original"}),"\xa0GitHub"),r.createElement("a",{className:"btn streampark-btn btn-green mt-30 ml-3 ztop",href:`/SolidUI-Website${a}/docs/user-guide/quick-start`,style:{marginLeft:"10px"}},r.createElement("i",{className:"lni-play"}),"\xa0Get started")),r.createElement("div",{style:{marginTop:"20px"},className:"shields ztop d-flex justify-content-center align-items-start"},r.createElement("a",{target:"_blank",href:"https://www.apache.org/licenses/LICENSE-2.0.html"},r.createElement("img",{src:"https://img.shields.io/badge/license-Apache%202-blue.svg",className:"wow fadeInUp"})),r.createElement("a",{target:"_blank",href:"https://github.com/CloudOrc/SolidUI"},r.createElement("img",{src:"https://img.shields.io/github/stars/CloudOrc/SolidUI.svg?sanitize=true",className:"wow fadeInUp"})),r.createElement("a",{target:"_blank",href:"https://github.com/CloudOrc/SolidUI/fork"},r.createElement("img",{src:"https://img.shields.io/github/forks/CloudOrc/SolidUI.svg?sanitize=true",className:"wow fadeInUp"})),r.createElement("a",{href:""},r.createElement("img",{src:"https://img.shields.io/github/languages/count/CloudOrc/SolidUI",className:"wow fadeInUp"})),r.createElement("a",{target:"_blank",href:"https://huggingface.co/spaces/CloudOrc/SolidUI"},r.createElement("img",{src:"https://img.shields.io/badge/%F0%9F%A4%97%20-Hugging%20Face%20Spaces-blue",className:"wow fadeInUp"})),r.createElement("a",{href:"https://www.producthunt.com/posts/solidui?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-solidui",target:"_blank"},r.createElement("img",{src:"https://img.shields.io/badge/producthunt-blue",className:"wow fadeInUp"})),r.createElement("a",{target:"_blank",href:"https://discord.gg/NGRNu2mGeQ"},r.createElement("img",{src:"https://img.shields.io/badge/discord-blue",className:"wow fadeInUp"})),r.createElement("a",{target:"_blank",href:"https://gitee.com/CloudOrc/SolidUI"},r.createElement("img",{src:"https://shields.io/badge/%E2%AD%90-Gitee-blue",alt:"gitee",className:"wow fadeInUp"}))))))),r.createElement("figure",{className:"waves-bottom-center text-light mb-n4 z-index-n1"},r.createElement(g,null)))}},5166:e=>{e.exports=JSON.parse('{"zh-CN":{"common":{"getStart":"\u5feb\u901f\u5f00\u59cb","architecture":"\u7cfb\u7edf\u67b6\u6784","learnMore":"\u4e86\u89e3\u66f4\u591a","coreFeatures":"\u6838\u5fc3\u7279\u6027","coreFeaturesDesc":"\u8ba9\u60a8\u7684\u9879\u76ee\u66f4\u8f7b\u677e\u7684\u6838\u5fc3\u7279\u6027","honor":"\u6211\u4eec\u7684\u8363\u8a89","ourUsers":"Our Users","readMore":"\u9605\u8bfb\u66f4\u591a","download":"\u4e0b\u8f7d","releaseDate":"\u53d1\u5e03\u65e5\u671f","newFeatures":"\u65b0\u7279\u6027","enhancement":"\u589e\u5f3a\u70b9","bugFixs":"\u95ee\u9898\u4fee\u590d","changeLog":"\u8be6\u7ec6\u53d8\u66f4"},"slogan":{"key":"AI\u751f\u6210\u56fe\u5f62\u6a21\u578b","description":"\u4e00\u53e5\u8bdd\u751f\u6210\u4efb\u4f55\u56fe\u5f62"},"feature":[{"title":"AI\u751f\u62102D\u56fe\u5f62","icon":"lni-bar-chart","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd2D\u56fe\u5f62"},{"title":"AI\u751f\u62103D\u573a\u666f","icon":"lni-dropbox","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd3D\u573a\u666f"},{"title":"\u591a\u79cd\u6570\u636e\u6e90","icon":"lni-database","details":"\u6570\u636e\u6e90\u63d2\u4ef6\u4e0e\u63d0\u793a\u8bcd\u7ed3\u5408"},{"title":"\u4e09\u65b9\u63d2\u4ef6\u673a\u5668\u4eba","icon":"lni-game","details":"\u4e3a\u4e86\u63d0\u4f9b\u66f4\u597d\u670d\u52a1\uff0c\u652f\u6301\u63d2\u4ef6\u673a\u5668\u4eba\uff0c\u4f8b\u5982Huggingface space"},{"title":"\u53ef\u89c6\u5316\u6a21\u578b","icon":"lni-eye","details":"\u4e3a\u4e86\u66f4\u597d\u751f\u6210\u53ef\u89c6\u5316\u56fe\u5f62\uff0c\u81ea\u7814\u53ef\u89c6\u5316\u6a21\u578b"},{"title":"\u5bb9\u5668\u5316\u90e8\u7f72","icon":"lni-soundcloud","details":"\u4e3a\u4e86\u5feb\u901f\u4f7f\u7528\uff0c\u652f\u6301\u5bb9\u5668\u5316\u90e8\u7f72"}],"honor":{"description":"\u6211\u4eec\u83b7\u5f97\u4e86\u4e9b\u6b8a\u8363\uff0c\u8fd9\u4e9b\u8363\u8a89\u5c5e\u4e8e\u6240\u6709\u4e3a SolidUI \u505a\u51fa\u8d21\u732e\u7684\u4eba\uff0c\u611f\u8c22\u60a8\u7684\u4ed8\u51fa\uff01"}},"en":{"common":{"getStart":"Quick Start","architecture":"System Architecture","description":"Description","learnMore":"Learn More","coreFeatures":"Core Features","coreFeaturesDesc":"Modern features that will make your project easier.","honor":"Our Honor","ourUsers":"Our Users","readMore":"Read More","download":"Download","releaseDate":"Release Date","newFeatures":"New Features","enhancement":"Enhancement point","bugFixs":"Bug Fix","changeLog":"Changelog"},"slogan":{"key":"AI-generated Graphic Models","description":"one sentence generates any graph"},"feature":[{"title":"AI generated 2D graphics","icon":"lni-bar-chart","details":"Generate various 2D graphics based on the visualization model"},{"title":"AI generated 3D scene","icon":"lni-dropbox","details":"Generate various 3D scenes based on the visualization model"},{"title":"Multiple data sources","icon":"lni-database","details":"Data source plugin combined with prompt words"},{"title":"Three-party plug-in robot","icon":"lni-game","details":"In order to provide better service, support plug-in robots, such as Huggingface space"},{"title":"Visualization Model","icon":"lni-eye","details":"In order to better generate visualization graphics, self-developed visualization model"},{"title":"Containerized Deployment","icon":"lni-soundcloud","details":"For quick use, support containerized deployment"}],"honor":{"description":"We have received some precious honors, which belong to everyone who contributes to SolidUI, Thanks"}}}')}}]); \ No newline at end of file diff --git a/assets/js/0e71e333.15f89def.js b/assets/js/0e71e333.15f89def.js new file mode 100644 index 00000000..aebe7073 --- /dev/null +++ b/assets/js/0e71e333.15f89def.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[1856],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>h});var n=i(7294);function a(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function s(e){for(var t=1;t=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}var l=n.createContext({}),d=function(e){var t=n.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):s(s({},t),e)),i},c=function(e){var t=d(e.components);return n.createElement(l.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var i=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,c=r(e,["components","mdxType","originalType","parentName"]),u=d(i),m=a,h=u["".concat(l,".").concat(m)]||u[m]||p[m]||o;return i?n.createElement(h,s(s({ref:t},c),{},{components:i})):n.createElement(h,s({ref:t},c))}));function h(e,t){var i=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=i.length,s=new Array(o);s[0]=m;var r={};for(var l in t)hasOwnProperty.call(t,l)&&(r[l]=t[l]);r.originalType=e,r[u]="string"==typeof e?e:a,s[1]=r;for(var d=2;d{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>s,default:()=>p,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var n=i(7462),a=(i(7294),i(3905));const o={id:"server-architecture",title:"Server Architecture",sidebar_position:1},s=void 0,r={unversionedId:"design/server-architecture/server-architecture",id:"design/server-architecture/server-architecture",title:"Server Architecture",description:"1. Architecture Overview",source:"@site/docs/design/server-architecture/README.md",sourceDirName:"design/server-architecture",slug:"/design/server-architecture/",permalink:"/SolidUI-Website/docs/design/server-architecture/",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/design/server-architecture/README.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"server-architecture",title:"Server Architecture",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Community Operation",permalink:"/SolidUI-Website/docs/operational/community-operation/"},next:{title:"Frontend Design",permalink:"/SolidUI-Website/docs/design/front-end-architecture/"}},l={},d=[{value:"1. Architecture Overview",id:"1-architecture-overview",level:2},{value:"2. Module function",id:"2-module-function",level:2},{value:"3. Source code explanation",id:"3-source-code-explanation",level:2},{value:"3.1 solidui-bom",id:"31-solidui-bom",level:3},{value:"3.2 solidui-common",id:"32-solidui-common",level:3},{value:"3.3 solidui-dao",id:"33-solidui-dao",level:3},{value:"3.4 solidui-datasource-plugin",id:"34-solidui-datasource-plugin",level:3},{value:"3.5 solidui-dist",id:"35-solidui-dist",level:3},{value:"3.6 solidui-entrance",id:"36-solidui-entrance",level:3},{value:"3.7 solidui-service",id:"37-solidui-service",level:3},{value:"3.8 solidui-spi",id:"38-solidui-spi",level:3},{value:"3.9 solidui-web",id:"39-solidui-web",level:3},{value:"3.10 soliduimodelui",id:"310-soliduimodelui",level:3}],c={toc:d},u="wrapper";function p(e){let{components:t,...o}=e;return(0,a.kt)(u,(0,n.Z)({},c,o,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h2",{id:"1-architecture-overview"},"1. Architecture Overview"),(0,a.kt)("p",null,(0,a.kt)("img",{alt:"soliduiv0.1.0",src:i(2047).Z,width:"2212",height:"1355"})),(0,a.kt)("p",null,"Entrance: API interface layer, mainly responsible for the request of the front-end UI layer, the service uniformly provides RESTful api to provide request services to the outside"),(0,a.kt)("h2",{id:"2-module-function"},"2. Module function"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"solidui-bom: BOM (Bill of Materials) is usually used to manage dependency versions in a project to ensure that all modules use the same version of dependencies.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Solidui-common: This module contains common code and tools used throughout the project.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Solidui-dao: DAO (Data Access Object) module contains all the codes to interact with the database.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"solidui-datasource-plugin: This module provides a way to extend the data source, so that data can be obtained from many different types of data sources.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"solidui-dist: The build and distribution of this module project.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Solidui-entrance: This module is the main entry point of the project and contains the code to start and initialize the application.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Solidui-service: This module contains business logic code.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Solidui-spi: The SPI (Service Provider Interface) module provides a way to extend the functionality of the project.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"solidui-web: This module contains the front-end code for displaying user interface, chat interface.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"soliduimodelui: module model proxy layer, used to upgrade the data model conversion of the UI layer."))),(0,a.kt)("h2",{id:"3-source-code-explanation"},"3. Source code explanation"),(0,a.kt)("h3",{id:"31-solidui-bom"},"3.1 solidui-bom"),(0,a.kt)("p",null,"This is a Maven project object model (POM) file, which is an XML-based project configuration file used to describe information about building a project, such as project dependencies, build plugins, project properties, etc."),(0,a.kt)("p",null,"This POM file defines a project named solidui-bom whose parent project is solidui."),(0,a.kt)("p",null,"In this POM file, there are three main parts:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Properties: Defines the version numbers of various dependent libraries. This is a common way to manage versions of all dependent libraries in a project, defining and updating all dependent versions in one place.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Parent: Defines the parent project of this project. In Maven, you can inherit some common configurations, such as dependency management, plug-in management, etc., by defining a parent project.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Dependency Management: This section defines the project's dependent libraries and their versions. All dependencies defined here can be used directly in submodules without specifying a version number. If a dependency in a submodule conflicts with a dependency here, the version defined here will take precedence."))),(0,a.kt)("p",null,"According to this POM file, you can know which libraries this project depends on and the versions of these libraries. In addition, if you need to add a new dependency library, or update the version of an existing dependency library, you can also do it in this file."),(0,a.kt)("h3",{id:"32-solidui-common"},"3.2 solidui-common"),(0,a.kt)("p",null,"Constants: This class defines some global constants that may be used throughout the project. For example, the key name of the HTTP header, the encryption key, etc."),(0,a.kt)("p",null,"DateConstants: This class defines formatted string constants for datetimes."),(0,a.kt)("p",null,"ByteTimeUtils: This class currently looks empty, it may be a utility class for handling bytes and time."),(0,a.kt)("p",null,"DESUtil: This class provides encryption and decryption methods based on the DES algorithm for secure data transmission."),(0,a.kt)("p",null,"EncryptionUtils: This class provides a method to calculate the MD5 value of a string."),(0,a.kt)("p",null,"JSONUtils: This class provides a series of JSON processing methods, including serialization of objects to JSON, deserialization of JSON to objects, conversion of JSON to List or Map, etc."),(0,a.kt)("p",null,"LoginUtils: This class provides some methods for handling login users, such as setting login users, removing login users and getting login users."),(0,a.kt)("p",null,"Utils: This class provides some common utility methods, such as creating a thread factory with a custom thread name and daemon state, and creating a default scheduled task executor."),(0,a.kt)("h3",{id:"33-solidui-dao"},"3.3 solidui-dao"),(0,a.kt)("p",null,"This module is called solidui-dao, and mainly includes configuration and object models related to the data access layer."),(0,a.kt)("p",null,"SpringConnectionFactory: This configuration class is mainly used to configure MyBatisPlus related settings, such as paging plug-ins, transaction managers, SqlSessionFactory, etc."),(0,a.kt)("p",null,"DataSource, DataSourceType, DataSourceTypeKey, JobElement, JobElementPage, JobPage, ModelType, Project, User: These classes are entity classes that represent the data structure of each table in the database."),(0,a.kt)("p",null,"DataSourceMapper, DataSourceParamKeyMapper, DataSourceTypeMapper, JobElementMapper, JobElementPageMapper, JobPageMapper, ModelTypeMapper, ProjectMapper, UserMapper: These interfaces are Mapper interfaces of MyBatis, which are used to define CRUD operations for corresponding tables."),(0,a.kt)("p",null,"PageListingResult: This is a wrapper class for wrapping the results of paging queries."),(0,a.kt)("p",null,"DaoConfiguration: This is a Spring configuration class used to start Spring Boot's automatic configuration and scan the Mapper interface."),(0,a.kt)("p",null,"Through this module, you can easily operate the database. For example, you can query a user given a username and password through the queryUserByNamePassword method of UserMapper. All Mapper interfaces inherit from the BaseMapper interface of MyBatisPlus, so they all have basic CRUD operations."),(0,a.kt)("h3",{id:"34-solidui-datasource-plugin"},"3.4 solidui-datasource-plugin"),(0,a.kt)("p",null,"This module is called solidui-datasource-plugin and contains configuration and object models related to datasource plugins."),(0,a.kt)("p",null,"DorisClient: This class inherits from BaseJdbcClient and implements specific methods for interacting with the Doris database, including obtaining all databases, obtaining all tables of the database, and executing query statements and obtaining results."),(0,a.kt)("p",null,"DorisClientFactory: This class inherits from BaseJdbcClientFactory and implements the factory method for creating DorisClient."),(0,a.kt)("p",null,"DorisConnectionFactory: This class implements the ConnectionFactory interface and provides a method for creating a connection to the Doris database."),(0,a.kt)("p",null,"MysqlClient: This class inherits from BaseJdbcClient and implements specific methods for interacting with the MySQL database, including obtaining all databases, obtaining all tables of the database, and executing query statements and obtaining results."),(0,a.kt)("p",null,"MysqlClientFactory: This class inherits from BaseJdbcClientFactory and implements the factory method for creating MysqlClient."),(0,a.kt)("p",null,"MysqlConnectionFactory: This class implements the ConnectionFactory interface and provides methods for creating connections to MySQL databases."),(0,a.kt)("p",null,"JdbcClientManager: This class is used to load the configured ConnectionFactory."),(0,a.kt)("p",null,"ConnectDTO: This class is a simple data transfer object that contains the information needed to connect to the database, such as hostname, port, username, password, database name, and additional parameters."),(0,a.kt)("p",null,"Other interfaces such as JdbcClient, JdbcClientFactory, ConnectionFactory, etc. define some common methods, and specific implementation classes such as DorisClient, DorisClientFactory, DorisConnectionFactory, etc. provide the specific implementation of these methods."),(0,a.kt)("p",null,"In addition, the pom.xml file of this module configures the solidui-datasource-all submodule, which depends on two modules, solidui-datasource-mysql and solidui-datasource-doris, which define how to communicate with MySQL and Doris Database interaction."),(0,a.kt)("h3",{id:"35-solidui-dist"},"3.5 solidui-dist"),(0,a.kt)("p",null,"This module is called solidui-dist, and it is mainly responsible for the release and deployment of the project."),(0,a.kt)("p",null,"docker-compose.yml: This is a Docker Compose configuration file for defining and running multi-container Docker applications. In this file, several services are defined: solidui-entrance, solidui-web, mysql and soliduimodelui. These services will be run as containers by Docker."),(0,a.kt)("p",null,"release-docs: This folder may contain release documents such as LICENSE and NOTICE."),(0,a.kt)("p",null,"assembly.xml: This is the configuration file for the Maven Assembly plugin, which defines how to create the project's release package. In this file, it is defined which files and folders need to be included."),(0,a.kt)("p",null,"The role of this module is mainly to define how to package the project and how to deploy the project. With Docker Compose, it is very convenient to deploy and run this project on any machine with Docker installed. Through the Maven Assembly plug-in, it is very convenient to create the release package of the project, which contains all the files needed to run the project."),(0,a.kt)("h3",{id:"36-solidui-entrance"},"3.6 solidui-entrance"),(0,a.kt)("p",null,"This module is named solidui-entrance. As the entry point of the application, it provides multiple controllers (Controller) for processing user requests."),(0,a.kt)("p",null,"BaseController: Provides some common methods for returning results, including successful results and error results."),(0,a.kt)("p",null,"DataSourceController: Provides a series of APIs related to data sources, such as obtaining all data source types, obtaining parameter keys according to types, querying databases according to data source names and types, etc."),(0,a.kt)("p",null,"JobController: Provides some job-related APIs, such as saving pages, updating jobs, querying jobs by project ID, etc."),(0,a.kt)("p",null,"JobPageController: Provides some APIs related to job pages, such as creating job pages, updating job pages, querying job pages by project ID, etc."),(0,a.kt)("p",null,"LoginController: Provides login and logout APIs."),(0,a.kt)("p",null,"MetadataQueryController: Provides some APIs related to metadata query, such as querying database by data source name, querying table by data source name, querying by SQL, etc."),(0,a.kt)("p",null,"ModelController: Provides an API to get a list of models."),(0,a.kt)("p",null,"ProjectController: Provides some project-related APIs, such as creating projects, updating projects, querying projects by project name, deleting projects, etc."),(0,a.kt)("p",null,"Each Controller depends on the corresponding Service, and the corresponding business logic is defined in the Service. For example, DataSourceController depends on DataSourceService, which defines business logic such as how to query all data source types and how to obtain parameter keys according to types."),(0,a.kt)("p",null,"In addition, some Service implementation classes are provided, such as DataSourceServiceImpl, DataSourceTypeServiceImpl, JobPageServiceImpl, JobServiceImpl, MetadataQueryServiceImpl, ModelServiceImpl, ProjectServiceImpl, and UserServiceImpl. These classes implement the corresponding Service interface and provide specific business logic."),(0,a.kt)("p",null,"In general, this module mainly processes user requests, executes corresponding business logic, and returns results."),(0,a.kt)("h3",{id:"37-solidui-service"},"3.7 solidui-service"),(0,a.kt)("p",null,"Contains some service layer code."),(0,a.kt)("h3",{id:"38-solidui-spi"},"3.8 solidui-spi"),(0,a.kt)("p",null,"ConnectDTO: This is a simple data transfer object that contains the information needed to connect to the database."),(0,a.kt)("p",null,"ConstantsSPI: This class defines some constants that may be used in SPI (Service Provider Interface)."),(0,a.kt)("h3",{id:"39-solidui-web"},"3.9 solidui-web"),(0,a.kt)("p",null,"This is a front-end project based on React and Ant Design. The main contents of the project include:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"The main application entry ",(0,a.kt)("inlineCode",{parentName:"li"},"index.tsx"),", used to initialize and render the entire application."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"App")," component, which is the main component of the application, is used to define routes and render corresponding components."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"routes")," defines all the routes of the application, including home page, login page, project list page, data source list page, dashboard page and preview page, etc."),(0,a.kt)("li",{parentName:"ul"},"The ",(0,a.kt)("inlineCode",{parentName:"li"},"DefaultLayout")," component defines the main layout of the application, including the header, sidebar, and main content area."),(0,a.kt)("li",{parentName:"ul"},"Two components ",(0,a.kt)("inlineCode",{parentName:"li"},"ProjectList")," and ",(0,a.kt)("inlineCode",{parentName:"li"},"DataSourceList")," are used to display project list and data source list respectively."),(0,a.kt)("li",{parentName:"ul"},"The ",(0,a.kt)("inlineCode",{parentName:"li"},"Dashboard")," component is used to display dashboards and display data visualization results."),(0,a.kt)("li",{parentName:"ul"},"The ",(0,a.kt)("inlineCode",{parentName:"li"},"Login")," component is used to handle user login logic."),(0,a.kt)("li",{parentName:"ul"},"The ",(0,a.kt)("inlineCode",{parentName:"li"},"Home")," component defines the home page content of the application."),(0,a.kt)("li",{parentName:"ul"},"Two custom Hooks ",(0,a.kt)("inlineCode",{parentName:"li"},"useProject")," and ",(0,a.kt)("inlineCode",{parentName:"li"},"useDataSource")," are used to handle business logic related to projects and data sources."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"ModelManager")," class, used to manage the state of the application."),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("inlineCode",{parentName:"li"},"ViewFactory")," class, used to create views."),(0,a.kt)("li",{parentName:"ul"},"The ",(0,a.kt)("inlineCode",{parentName:"li"},"SolidView")," class defines an abstract view base class, and all view components need to inherit from this base class.")),(0,a.kt)("p",null,"In addition, the project also includes some auxiliary modules, such as ",(0,a.kt)("inlineCode",{parentName:"p"},"ApiService")," is used to encapsulate API requests, ",(0,a.kt)("inlineCode",{parentName:"p"},"theme")," is used to define theme styles, ",(0,a.kt)("inlineCode",{parentName:"p"},"solidui-entrance")," and ",(0,a.kt)("inlineCode",{parentName:"p"},"solidui-web")," are the main components of the backend and frontend respectively Modules, ",(0,a.kt)("inlineCode",{parentName:"p"},"api")," and ",(0,a.kt)("inlineCode",{parentName:"p"},"service")," define some API interfaces and services, and ",(0,a.kt)("inlineCode",{parentName:"p"},"components")," contains some public components."),(0,a.kt)("p",null,"The project uses some third-party libraries, such as ",(0,a.kt)("inlineCode",{parentName:"p"},"axios")," for processing HTTP requests, ",(0,a.kt)("inlineCode",{parentName:"p"},"lodash-es")," for providing some useful utility functions, ",(0,a.kt)("inlineCode",{parentName:"p"},"antd")," is a UI component library based on React, ",(0,a.kt)("inlineCode",{parentName:"p"},"echarts")," for data Visualization, ",(0,a.kt)("inlineCode",{parentName:"p"},"react-router-dom")," for handling routing, ",(0,a.kt)("inlineCode",{parentName:"p"},"react-window")," for optimizing rendering performance of long lists, etc."),(0,a.kt)("p",null,"The construction tool of the project is ",(0,a.kt)("inlineCode",{parentName:"p"},"webpack"),", which uses ",(0,a.kt)("inlineCode",{parentName:"p"},"babel")," to translate JavaScript code, ",(0,a.kt)("inlineCode",{parentName:"p"},"eslint")," and ",(0,a.kt)("inlineCode",{parentName:"p"},"prettier")," for code specification and formatting, and ",(0,a.kt)("inlineCode",{parentName:"p"},"jest")," for unit testing. In addition, the project also uses ",(0,a.kt)("inlineCode",{parentName:"p"},"husky")," and ",(0,a.kt)("inlineCode",{parentName:"p"},"lint-staged")," to automatically check and fix code issues before committing code."),(0,a.kt)("h3",{id:"310-soliduimodelui"},"3.10 soliduimodelui"),(0,a.kt)("p",null,"This is a backend project based on Flask and MySQL, which is mainly used to process requests from the frontend and perform corresponding operations. The main functional modules include:"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"kernel_manager: This module is mainly responsible for managing and operating the Python kernel, and processing code execution requests from the front end. The kernel manager implements communication with the Python kernel, receives and processes the output of the kernel, and handles various states of the kernel. In addition, it also provides a message queue for receiving and sending kernel messages.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"kernel_program: This module is mainly responsible for starting and managing the subprocesses of the Python kernel. It starts the Python kernel through a subprocess, and then communicates with the kernel through the SnakeMQ message queue.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"utils: This module provides some useful utility functions, such as sending JSON messages, initializing SnakeMQ message queues, etc.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"webapp: This is a Flask-based web application that provides a series of APIs for front-end calls, such as executing code, obtaining execution results, and managing the Python kernel. This application uses CORS middleware to handle cross-origin requests.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"web_utils: This module provides some common utility functions in Web applications, such as formatting response data, querying databases, etc.")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},".env: This is an environment variable configuration file, which contains configuration information such as database connection information and application port number."))),(0,a.kt)("p",null,"The operation process of the project is roughly as follows:"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},"Start the Flask web application and provide an API interface for front-end calls;"),(0,a.kt)("li",{parentName:"ol"},"The front end initiates a request, such as executing code, etc.;"),(0,a.kt)("li",{parentName:"ol"},"The web application receives the request and calls the kernel manager to perform corresponding operations;"),(0,a.kt)("li",{parentName:"ol"},"The kernel manager communicates with the Python kernel through the SnakeMQ message queue, executes the code and obtains the result;"),(0,a.kt)("li",{parentName:"ol"},"The web application returns the execution result to the front end.")),(0,a.kt)("p",null,"In addition, the project also provides some auxiliary functions, such as log output, error handling, etc."))}p.isMDXComponent=!0},2047:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/soliduiv0.1.0structure-2964a98125cda4f79a72b0f832df78bf.jpg"}}]); \ No newline at end of file diff --git a/assets/js/0f2150f8.eedf965f.js b/assets/js/0f2150f8.eedf965f.js new file mode 100644 index 00000000..42b3eeb1 --- /dev/null +++ b/assets/js/0f2150f8.eedf965f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2558],{9454:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/blog/tags/ai","page":1,"postsPerPage":3,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/0fceeaee.03ef1456.js b/assets/js/0fceeaee.03ef1456.js new file mode 100644 index 00000000..b45c3750 --- /dev/null +++ b/assets/js/0fceeaee.03ef1456.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2718],{3905:(e,t,o)=>{o.d(t,{Zo:()=>c,kt:()=>p});var n=o(7294);function i(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function a(e){for(var t=1;t=0||(i[o]=e[o]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}var s=n.createContext({}),u=function(e){var t=n.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},c=function(e){var t=u(e.components);return n.createElement(s.Provider,{value:t},e.children)},m="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var o=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),m=u(o),d=i,p=m["".concat(s,".").concat(d)]||m[d]||h[d]||r;return o?n.createElement(p,a(a({ref:t},c),{},{components:o})):n.createElement(p,a({ref:t},c))}));function p(e,t){var o=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=o.length,a=new Array(r);a[0]=d;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[m]="string"==typeof e?e:i,a[1]=l;for(var u=2;u{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>u});var n=o(7462),i=(o(7294),o(3905));const r={id:"become_committer",title:"Become committer",sidebar_position:1},a="How to participate in project contribution",l={unversionedId:"contribution_guide/become_committer",id:"contribution_guide/become_committer",title:"Become committer",description:"Many thanks for contributing to the SolidUI project! Before contributing, please read the following guidelines carefully.",source:"@site/community/contribution_guide/become_committer.md",sourceDirName:"contribution_guide",slug:"/contribution_guide/become_committer",permalink:"/SolidUI-Website/community/contribution_guide/become_committer",draft:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"become_committer",title:"Become committer",sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"Documentation Notice",permalink:"/SolidUI-Website/community/submit_guide/document"}},s={},u=[{value:"1. Contribution category",id:"1-contribution-category",level:2},{value:"1.1 Bug feedback and fixes",id:"11-bug-feedback-and-fixes",level:3},{value:"1.2 Function communication, implementation, refactoring",id:"12-function-communication-implementation-refactoring",level:3},{value:"1.3 Issue Answers",id:"13-issue-answers",level:3},{value:"1.4 Documentation improvements",id:"14-documentation-improvements",level:3},{value:"1.5 Others",id:"15-others",level:3},{value:"2. Contribution process",id:"2-contribution-process",level:2},{value:"2.1 Branch structure",id:"21-branch-structure",level:3},{value:"2.1.1 Concept",id:"211-concept",level:4},{value:"2.1.2 Synchronize the latest code from the Upstream warehouse branch to your own Fork warehouse",id:"212-synchronize-the-latest-code-from-the-upstream-warehouse-branch-to-your-own-fork-warehouse",level:4},{value:"2.1.3 Synchronize the new branch of the Upstream warehouse to your own Fork warehouse",id:"213-synchronize-the-new-branch-of-the-upstream-warehouse-to-your-own-fork-warehouse",level:4},{value:"2.1.4 A pr process",id:"214-a-pr-process",level:4},{value:"2.2 Development Guidelines",id:"22-development-guidelines",level:3},{value:"2.3 Issue submission guidelines",id:"23-issue-submission-guidelines",level:3},{value:"2.4 Pull Request (PR) submission guidelines",id:"24-pull-request-pr-submission-guidelines",level:3},{value:"2.5 Review Criteria",id:"25-review-criteria",level:3},{value:"2.5.1 Gains",id:"251-gains",level:4},{value:"2.5.2 Side Effects and Risks",id:"252-side-effects-and-risks",level:4},{value:"2.5.3 Reviewer Notes",id:"253-reviewer-notes",level:4},{value:"3. Advanced contribution",id:"3-advanced-contribution",level:2},{value:"3.1 About Committers (Collaborators)",id:"31-about-committers-collaborators",level:3},{value:"3.1.1 How to become a Committer",id:"311-how-to-become-a-committer",level:4},{value:"3.1.2 Committer's rights",id:"312-committers-rights",level:4},{value:"3.2 About the Committee",id:"32-about-the-committee",level:3},{value:"3.2.1 How to become a Committee member",id:"321-how-to-become-a-committee-member",level:4},{value:"3.2.2 Rights of Committee members",id:"322-rights-of-committee-members",level:4}],c={toc:u},m="wrapper";function h(e){let{components:t,...o}=e;return(0,i.kt)(m,(0,n.Z)({},c,o,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"how-to-participate-in-project-contribution"},"How to participate in project contribution"),(0,i.kt)("p",null,"Many thanks for contributing to the SolidUI project! Before contributing, please read the following guidelines carefully."),(0,i.kt)("h2",{id:"1-contribution-category"},"1. Contribution category"),(0,i.kt)("h3",{id:"11-bug-feedback-and-fixes"},"1.1 Bug feedback and fixes"),(0,i.kt)("p",null,"We recommend that whether it is bug feedback or repair, first create an Issue to describe the status of the bug in detail, so that the community can find and review the problem and code through the Issue record. Bug feedback Issues usually need to include ",(0,i.kt)("strong",{parentName:"p"},"full information describing the bug")," and ",(0,i.kt)("strong",{parentName:"p"},"reproducible scenarios"),", so that the community can quickly locate the cause of the bug and fix it. Open Issues with ",(0,i.kt)("inlineCode",{parentName:"p"},"#bug")," tags are those that need to be fixed."),(0,i.kt)("h3",{id:"12-function-communication-implementation-refactoring"},"1.2 Function communication, implementation, refactoring"),(0,i.kt)("p",null,"In the communication process, describing in detail the details, mechanism and usage scenarios of the new function (or refactoring) can promote its better and faster implementation (including test cases and codes, and CI/CD related work). ",(0,i.kt)("strong",{parentName:"p"},"If you plan to implement a major function (or refactoring), please be sure to communicate with the core development team via Issue or other means"),", so that everyone can promote it in the most efficient way. Open Issues containing ",(0,i.kt)("inlineCode",{parentName:"p"},"#feature")," tags are all new features that need to be implemented, and open Issues containing ",(0,i.kt)("inlineCode",{parentName:"p"},"#enhancement")," tags are all functions that need to be improved and refactored."),(0,i.kt)("h3",{id:"13-issue-answers"},"1.3 Issue Answers"),(0,i.kt)("p",null,"Helping to answer usage questions in Issues is a very valuable way to contribute to the SolidUI community; there are always new users in the community, and you can show your expertise while helping new users."),(0,i.kt)("h3",{id:"14-documentation-improvements"},"1.4 Documentation improvements"),(0,i.kt)("p",null,"The SolidUI documentation is located at ",(0,i.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"SolidUI-Website"),", and the completion of the documentation is also crucial to the development of SolidUI."),(0,i.kt)("h3",{id:"15-others"},"1.5 Others"),(0,i.kt)("p",null,"Including participating in and helping to organize community exchanges, community operation activities, etc., and other activities that can help SolidUI projects and communities."),(0,i.kt)("h2",{id:"2-contribution-process"},"2. Contribution process"),(0,i.kt)("h3",{id:"21-branch-structure"},"2.1 Branch structure"),(0,i.kt)("p",null,"The SolidUI source code may generate some temporary branches, but two are only the following three branches that are really meaningful:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"release-*: Stable release version;"),(0,i.kt)("li",{parentName:"ul"},"dev: The daily development branch, which is also the target branch for everyone to contribute code. If you want to contribute code, please create a new branch based on the dev branch. When the version is released, a new release branch will be created based on dev;")),(0,i.kt)("h4",{id:"211-concept"},"2.1.1 Concept"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Upstream warehouse: ",(0,i.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")," The SolidUI warehouse is called Upstream warehouse in the text"),(0,i.kt)("li",{parentName:"ul"},"Fork warehouse: Fork from ",(0,i.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")," to your own personal warehouse, called Fork warehouse")),(0,i.kt)("h4",{id:"212-synchronize-the-latest-code-from-the-upstream-warehouse-branch-to-your-own-fork-warehouse"},"2.1.2 Synchronize the latest code from the Upstream warehouse branch to your own Fork warehouse"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step1 Enter the user project page, select the branch to be updated"),(0,i.kt)("li",{parentName:"ul"},"step2 Click Fetch upstream under the code download button, select Fetch and merge (if the branch of your own Fork warehouse is accidentally polluted, you can delete the branch, and then synchronize the new branch of the Upstream warehouse to your own Fork warehouse, see the guide ","[Synchronize Upstream Branch the latest code from the warehouse to your own Fork warehouse]","(#213-Synchronize the new branch of the Upstream warehouse to your own Fork warehouse))")),(0,i.kt)("h4",{id:"213-synchronize-the-new-branch-of-the-upstream-warehouse-to-your-own-fork-warehouse"},"2.1.3 Synchronize the new branch of the Upstream warehouse to your own Fork warehouse"),(0,i.kt)("p",null,"Scenario: There is a new branch in the Upstream repository, but the forked repository does not have this branch (you can choose to delete it and re-fork, but the changes that have not been merged to the original repository will be lost)"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step1 Open the Git command line tool (such as Git Bash), clone your own Fork warehouse to the local")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git clone https://github.com/{your_github_username}/SolidUI.git\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step2 enter the local warehouse directory")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"cd SolidUI\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step3 Add Upstream warehouse as remote warehouse")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git remote add upstream https://github.com/CloudOrc/SolidUI.git\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step4 Get the branch information of the Upstream warehouse")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git fetch upstream\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step5 Synchronize the new branch of the Upstream warehouse to the local")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git checkout -b {new_branch_name} upstream/{new_branch_name}\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step6 Push the new branch to your own Fork repository")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git push --set-upstream origin {new_branch_name}\n")),(0,i.kt)("h4",{id:"214-a-pr-process"},"2.1.4 A pr process"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"step1 Confirm the base branch of the current development (usually the current version in progress, such as the version 0.2.0 currently under development in the community, then the branch is dev, if you are not sure, you can ask in the community group or @related in the issue classmate)")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"step2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse branch, refer to the guide ","[2.1.2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse]")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"step3 Based on the development branch, pull the new fix/feature branch (do not directly modify the original branch, if the subsequent pr is merged in squash mode, the submitted commit records will be merged into one)"))),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"git checkout -b dev-fix dev\ngit push origin dev-fix:dev-fix\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step4 for development"),(0,i.kt)("li",{parentName:"ul"},"step5 Submit pr (if it is in progress and the development has not been completely completed, please add the WIP logo to the pr title, such as ",(0,i.kt)("inlineCode",{parentName:"li"},"[WIP] Dev 0.2.0 Add junit test code for [solidui-common]"),"; associate the corresponding issue etc.)"),(0,i.kt)("li",{parentName:"ul"},"step6 waiting to be merged"),(0,i.kt)("li",{parentName:"ul"},"step7 delete the fix/future branch (you can do it on the github page)")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"git branch -d dev-fix\ngit push\n")),(0,i.kt)("h3",{id:"22-development-guidelines"},"2.2 Development Guidelines"),(0,i.kt)("p",null,"The front-end and back-end codes of SolidUI share the same code base, but are separated in development. Before starting development, please fork a copy of the SolidUI project to your own Github Repositories, and develop based on the SolidUI code base in your own Github Repositories."),(0,i.kt)("p",null,"We recommend cloning the dev branch and naming it dev-fix for development. At the same time, create a new dev-fix branch in your warehouse and modify it directly on the original branch. If the subsequent pr is merged in squash mode, the submitted commit records will be merged into one"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"# pull branch\ngit clone https://github.com/{githubid}/SolidUI.git --branch dev\n#Generate local dev-fix branch according to dev\ngit checkout -b dev-fix dev\n#Push the local dev-fix branch to your own warehouse\ngit push origin dev-fix dev-fix\n")),(0,i.kt)("h3",{id:"23-issue-submission-guidelines"},"2.3 Issue submission guidelines"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"If you don't know how to initiate a PR to an open source project, please refer to ",(0,i.kt)("a",{parentName:"li",href:"https://docs.github.com/en/github/managing-your-work-on-github/about-issues"},"About issues")),(0,i.kt)("li",{parentName:"ul"},"The name of the issue, which should briefly describe your problem or suggestion in one sentence; for the international promotion of the project, please write the issue in English, or bilingual Chinese and English"),(0,i.kt)("li",{parentName:"ul"},"For each Issue, please bring at least a label. Reference: ",(0,i.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/63"},"issue #63"))),(0,i.kt)("h3",{id:"24-pull-request-pr-submission-guidelines"},"2.4 Pull Request (PR) submission guidelines"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"If you don't know how to initiate a PR to an open source project, please refer to ","[About pull requests]","(",(0,i.kt)("a",{parentName:"p",href:"https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull"},"https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull")," -requests)")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Whether it's a bug fix or a new feature development, please submit a PR to the dev branch")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"PR and commit name follow the principle of ",(0,i.kt)("inlineCode",{parentName:"p"},"(): "),", for details, please refer to ",(0,i.kt)("a",{parentName:"p",href:"/docs/development/development-commit"},"Commit message and Change log writing guide"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"If a PR includes new features, documentation updates should be included in this PR")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"If the PR is not ready to be merged, prefix the name with ","[WIP]"," (WIP = work-in-progress)")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"All commits to dev-* branches need to be reviewed at least once before they can be merged"))),(0,i.kt)("h3",{id:"25-review-criteria"},"2.5 Review Criteria"),(0,i.kt)("p",null,"Before contributing code, find out what kind of commits are welcome in Review. Simply put, if a commit brings as much gain as possible with as few side effects or risks as possible, the more likely it will be merged and the faster it will be reviewed. Commits with high risk and low value are almost impossible to be merged, and may be rejected for Review."),(0,i.kt)("h4",{id:"251-gains"},"2.5.1 Gains"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Fix the main cause of the bug"),(0,i.kt)("li",{parentName:"ul"},"Add or fix a feature or bug that was requested by a large number of users"),(0,i.kt)("li",{parentName:"ul"},"simple and effective"),(0,i.kt)("li",{parentName:"ul"},"Easy to test, with test cases"),(0,i.kt)("li",{parentName:"ul"},"Reduce complexity and code size"),(0,i.kt)("li",{parentName:"ul"},"Issues identified for improvement discussed by the community")),(0,i.kt)("h4",{id:"252-side-effects-and-risks"},"2.5.2 Side Effects and Risks"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"only fix the surface of the bug"),(0,i.kt)("li",{parentName:"ul"},"Introducing new features with high complexity"),(0,i.kt)("li",{parentName:"ul"},"Adding complexity to meet niche needs"),(0,i.kt)("li",{parentName:"ul"},"Changes to stable existing APIs or semantics"),(0,i.kt)("li",{parentName:"ul"},"Cause other functions not to work properly"),(0,i.kt)("li",{parentName:"ul"},"Add a lot of dependencies"),(0,i.kt)("li",{parentName:"ul"},"Feel free to change dependency versions"),(0,i.kt)("li",{parentName:"ul"},"Commit a lot of code or changes at once")),(0,i.kt)("h4",{id:"253-reviewer-notes"},"2.5.3 Reviewer Notes"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Please write comments in a constructive tone"),(0,i.kt)("li",{parentName:"ul"},"If the submitter needs to make changes, please clearly state all the changes that need to be made to complete this Pull Request"),(0,i.kt)("li",{parentName:"ul"},"If a PR is found to have brought new problems after merging, Reviewer needs to contact the PR author and communicate to solve the problem; if the PR author cannot be contacted, Reviewer needs to restore the PR")),(0,i.kt)("hr",null),(0,i.kt)("h2",{id:"3-advanced-contribution"},"3. Advanced contribution"),(0,i.kt)("h3",{id:"31-about-committers-collaborators"},"3.1 About Committers (Collaborators)"),(0,i.kt)("h4",{id:"311-how-to-become-a-committer"},"3.1.1 How to become a Committer"),(0,i.kt)("p",null,"If you have submitted a valuable PR to SolidUI and it has been merged, or have contributed continuously for more than half a year, and have led at least one version release, you can find a PMC of the SolidUI project through the official WeChat group, if he is willing to nominate you as a committer , and are willing to state your contribution to all PMCs and Committers for you, then a vote will be launched; PMC and other Committers will vote together to decide whether to allow you to join, if you get enough votes, you will become a Committer of the SolidUI project ."),(0,i.kt)("h4",{id:"312-committers-rights"},"3.1.2 Committer's rights"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"You can join the official developer WeChat group to participate in discussions and formulate SolidUI development plans"),(0,i.kt)("li",{parentName:"ul"},"Can manage Issues, including closing and adding tags"),(0,i.kt)("li",{parentName:"ul"},"Can create and manage project branches, except dev branch"),(0,i.kt)("li",{parentName:"ul"},"Ability to review PRs submitted to the dev branch"),(0,i.kt)("li",{parentName:"ul"},"Can apply to become a Committee member")),(0,i.kt)("h3",{id:"32-about-the-committee"},"3.2 About the Committee"),(0,i.kt)("h4",{id:"321-how-to-become-a-committee-member"},"3.2.1 How to become a Committee member"),(0,i.kt)("p",null,"If you are a Committer of the SolidUI project, and all the content you contributed has been recognized by other Committee members, you can apply to become a member of the SolidUI Committee, and other Committee members will vote together to decide whether to allow you to join. If all votes pass, you will Become a SolidUI Committee member."),(0,i.kt)("h4",{id:"322-rights-of-committee-members"},"3.2.2 Rights of Committee members"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Ability to merge PRs submitted by other Committers and contributors to the dev branch"),(0,i.kt)("li",{parentName:"ul"},"Participate in determining the roadmap and development direction of the SolidUI project"),(0,i.kt)("li",{parentName:"ul"},"Can participate in new version releases")))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1246422e.4f0c67cf.js b/assets/js/1246422e.4f0c67cf.js new file mode 100644 index 00000000..82eb579b --- /dev/null +++ b/assets/js/1246422e.4f0c67cf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4762],{3769:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/13afd6dd.30f0ab4d.js b/assets/js/13afd6dd.30f0ab4d.js new file mode 100644 index 00000000..08f46c59 --- /dev/null +++ b/assets/js/13afd6dd.30f0ab4d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[1346],{8768:e=>{e.exports=JSON.parse('{"label":"AI","permalink":"/SolidUI-Website/blog/tags/ai","allTagsPath":"/SolidUI-Website/blog/tags","count":3}')}}]); \ No newline at end of file diff --git a/assets/js/14bbe142.07571804.js b/assets/js/14bbe142.07571804.js new file mode 100644 index 00000000..8fdc2fbf --- /dev/null +++ b/assets/js/14bbe142.07571804.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7962],{3905:(e,t,o)=>{o.d(t,{Zo:()=>c,kt:()=>p});var n=o(7294);function i(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function a(e){for(var t=1;t=0||(i[o]=e[o]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}var s=n.createContext({}),u=function(e){var t=n.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},c=function(e){var t=u(e.components);return n.createElement(s.Provider,{value:t},e.children)},m="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var o=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),m=u(o),h=i,p=m["".concat(s,".").concat(h)]||m[h]||d[h]||r;return o?n.createElement(p,a(a({ref:t},c),{},{components:o})):n.createElement(p,a({ref:t},c))}));function p(e,t){var o=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=o.length,a=new Array(r);a[0]=h;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[m]="string"==typeof e?e:i,a[1]=l;for(var u=2;u{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>d,frontMatter:()=>r,metadata:()=>l,toc:()=>u});var n=o(7462),i=(o(7294),o(3905));const r={id:"develop-contributing",title:"Development Contribution",sidebar_position:3},a="How to participate in project contribution",l={unversionedId:"development/develop-contributing",id:"development/develop-contributing",title:"Development Contribution",description:"Many thanks for contributing to the SolidUI project! Before contributing, please read the following guidelines carefully.",source:"@site/docs/development/develop-contributing.md",sourceDirName:"development",slug:"/development/develop-contributing",permalink:"/SolidUI-Website/docs/development/develop-contributing",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/development/develop-contributing.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{id:"develop-contributing",title:"Development Contribution",sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Docker Build",permalink:"/SolidUI-Website/docs/development/development-docker"},next:{title:"Front-End Compilation",permalink:"/SolidUI-Website/docs/development/development-front"}},s={},u=[{value:"1. Contribution category",id:"1-contribution-category",level:2},{value:"1.1 Bug feedback and fixes",id:"11-bug-feedback-and-fixes",level:3},{value:"1.2 Function communication, implementation, refactoring",id:"12-function-communication-implementation-refactoring",level:3},{value:"1.3 Issue Answers",id:"13-issue-answers",level:3},{value:"1.4 Documentation improvements",id:"14-documentation-improvements",level:3},{value:"1.5 Others",id:"15-others",level:3},{value:"2. Contribution process",id:"2-contribution-process",level:2},{value:"2.1 Branch structure",id:"21-branch-structure",level:3},{value:"2.1.1 Concept",id:"211-concept",level:4},{value:"2.1.2 Synchronize the latest code from the Upstream warehouse branch to your own Fork warehouse",id:"212-synchronize-the-latest-code-from-the-upstream-warehouse-branch-to-your-own-fork-warehouse",level:4},{value:"2.1.3 Synchronize the new branch of the Upstream warehouse to your own Fork warehouse",id:"213-synchronize-the-new-branch-of-the-upstream-warehouse-to-your-own-fork-warehouse",level:4},{value:"2.1.4 A pr process",id:"214-a-pr-process",level:4},{value:"2.2 Development Guidelines",id:"22-development-guidelines",level:3},{value:"2.3 Issue submission guidelines",id:"23-issue-submission-guidelines",level:3},{value:"2.4 Pull Request (PR) submission guidelines",id:"24-pull-request-pr-submission-guidelines",level:3},{value:"2.5 Review Criteria",id:"25-review-criteria",level:3},{value:"2.5.1 Gains",id:"251-gains",level:4},{value:"2.5.2 Side Effects and Risks",id:"252-side-effects-and-risks",level:4},{value:"2.5.3 Reviewer Notes",id:"253-reviewer-notes",level:4},{value:"3. Advanced contribution",id:"3-advanced-contribution",level:2},{value:"3.1 About Committers (Collaborators)",id:"31-about-committers-collaborators",level:3},{value:"3.1.1 How to become a Committer",id:"311-how-to-become-a-committer",level:4},{value:"3.1.2 Committer's rights",id:"312-committers-rights",level:4},{value:"3.2 About the Committee",id:"32-about-the-committee",level:3},{value:"3.2.1 How to become a Committee member",id:"321-how-to-become-a-committee-member",level:4},{value:"3.2.2 Rights of Committee members",id:"322-rights-of-committee-members",level:4}],c={toc:u},m="wrapper";function d(e){let{components:t,...o}=e;return(0,i.kt)(m,(0,n.Z)({},c,o,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"how-to-participate-in-project-contribution"},"How to participate in project contribution"),(0,i.kt)("p",null,"Many thanks for contributing to the SolidUI project! Before contributing, please read the following guidelines carefully."),(0,i.kt)("h2",{id:"1-contribution-category"},"1. Contribution category"),(0,i.kt)("h3",{id:"11-bug-feedback-and-fixes"},"1.1 Bug feedback and fixes"),(0,i.kt)("p",null,"We recommend that whether it is bug feedback or repair, first create an Issue to describe the status of the bug in detail, so that the community can find and review the problem and code through the Issue record. Bug feedback Issues usually need to include ",(0,i.kt)("strong",{parentName:"p"},"full information describing the bug")," and ",(0,i.kt)("strong",{parentName:"p"},"reproducible scenarios"),", so that the community can quickly locate the cause of the bug and fix it. Open Issues with ",(0,i.kt)("inlineCode",{parentName:"p"},"#bug")," tags are those that need to be fixed."),(0,i.kt)("h3",{id:"12-function-communication-implementation-refactoring"},"1.2 Function communication, implementation, refactoring"),(0,i.kt)("p",null,"In the communication process, describing in detail the details, mechanism and usage scenarios of the new function (or refactoring) can promote its better and faster implementation (including test cases and codes, and CI/CD related work). ",(0,i.kt)("strong",{parentName:"p"},"If you plan to implement a major function (or refactoring), please be sure to communicate with the core development team via Issue or other means"),", so that everyone can promote it in the most efficient way. Open Issues containing ",(0,i.kt)("inlineCode",{parentName:"p"},"#feature")," tags are all new features that need to be implemented, and open Issues containing ",(0,i.kt)("inlineCode",{parentName:"p"},"#enhancement")," tags are all functions that need to be improved and refactored."),(0,i.kt)("h3",{id:"13-issue-answers"},"1.3 Issue Answers"),(0,i.kt)("p",null,"Helping to answer usage questions in Issues is a very valuable way to contribute to the SolidUI community; there are always new users in the community, and you can show your expertise while helping new users."),(0,i.kt)("h3",{id:"14-documentation-improvements"},"1.4 Documentation improvements"),(0,i.kt)("p",null,"The SolidUI documentation is located at ",(0,i.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"SolidUI-Website"),", and the completion of the documentation is also crucial to the development of SolidUI."),(0,i.kt)("h3",{id:"15-others"},"1.5 Others"),(0,i.kt)("p",null,"Including participating in and helping to organize community exchanges, community operation activities, etc., and other activities that can help SolidUI projects and communities."),(0,i.kt)("h2",{id:"2-contribution-process"},"2. Contribution process"),(0,i.kt)("h3",{id:"21-branch-structure"},"2.1 Branch structure"),(0,i.kt)("p",null,"The SolidUI source code may generate some temporary branches, but two are only the following three branches that are really meaningful:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"release-*: Stable release version;"),(0,i.kt)("li",{parentName:"ul"},"dev: The daily development branch, which is also the target branch for everyone to contribute code. If you want to contribute code, please create a new branch based on the dev branch. When the version is released, a new release branch will be created based on dev;")),(0,i.kt)("h4",{id:"211-concept"},"2.1.1 Concept"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Upstream warehouse: ",(0,i.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")," The SolidUI warehouse is called Upstream warehouse in the text"),(0,i.kt)("li",{parentName:"ul"},"Fork warehouse: Fork from ",(0,i.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")," to your own personal warehouse, called Fork warehouse")),(0,i.kt)("h4",{id:"212-synchronize-the-latest-code-from-the-upstream-warehouse-branch-to-your-own-fork-warehouse"},"2.1.2 Synchronize the latest code from the Upstream warehouse branch to your own Fork warehouse"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step1 Enter the user project page, select the branch to be updated"),(0,i.kt)("li",{parentName:"ul"},"step2 Click Fetch upstream under the code download button, select Fetch and merge (if the branch of your own Fork warehouse is accidentally polluted, you can delete the branch, and then synchronize the new branch of the Upstream warehouse to your own Fork warehouse, see the guide ","[Synchronize Upstream Branch the latest code from the warehouse to your own Fork warehouse]","(#213-Synchronize the new branch of the Upstream warehouse to your own Fork warehouse))")),(0,i.kt)("h4",{id:"213-synchronize-the-new-branch-of-the-upstream-warehouse-to-your-own-fork-warehouse"},"2.1.3 Synchronize the new branch of the Upstream warehouse to your own Fork warehouse"),(0,i.kt)("p",null,"Scenario: There is a new branch in the Upstream repository, but the forked repository does not have this branch (you can choose to delete it and re-fork, but the changes that have not been merged to the original repository will be lost)"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step1 Open the Git command line tool (such as Git Bash), clone your own Fork warehouse to the local")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git clone https://github.com/{your_github_username}/SolidUI.git\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step2 enter the local warehouse directory")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"cd SolidUI\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step3 Add Upstream warehouse as remote warehouse")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git remote add upstream https://github.com/CloudOrc/SolidUI.git\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step4 Get the branch information of the Upstream warehouse")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git fetch upstream\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step5 Synchronize the new branch of the Upstream warehouse to the local")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git checkout -b {new_branch_name} upstream/{new_branch_name}\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step6 Push the new branch to your own Fork repository")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git push --set-upstream origin {new_branch_name}\n")),(0,i.kt)("h4",{id:"214-a-pr-process"},"2.1.4 A pr process"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"step1 Confirm the base branch of the current development (usually the current version in progress, such as the version 0.2.0 currently under development in the community, then the branch is dev, if you are not sure, you can ask in the community group or @related in the issue classmate)")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"step2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse branch, refer to the guide ","[2.1.2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse]")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"step3 Based on the development branch, pull the new fix/feature branch (do not directly modify the original branch, if the subsequent pr is merged in squash mode, the submitted commit records will be merged into one)"))),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"git checkout -b dev-fix dev\ngit push origin dev-fix:dev-fix\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step4 for development"),(0,i.kt)("li",{parentName:"ul"},"step5 Submit pr (if it is in progress and the development has not been completely completed, please add the WIP logo to the pr title, such as ",(0,i.kt)("inlineCode",{parentName:"li"},"[WIP] Dev 0.2.0 Add junit test code for [solidui-common]"),"; associate the corresponding issue etc.)"),(0,i.kt)("li",{parentName:"ul"},"step6 waiting to be merged"),(0,i.kt)("li",{parentName:"ul"},"step7 delete the fix/future branch (you can do it on the github page)")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"git branch -d dev-fix\ngit push\n")),(0,i.kt)("h3",{id:"22-development-guidelines"},"2.2 Development Guidelines"),(0,i.kt)("p",null,"The front-end and back-end codes of SolidUI share the same code base, but are separated in development. Before starting development, please fork a copy of the SolidUI project to your own Github Repositories, and develop based on the SolidUI code base in your own Github Repositories."),(0,i.kt)("p",null,"We recommend cloning the dev branch and naming it dev-fix for development. At the same time, create a new dev-fix branch in your warehouse and modify it directly on the original branch. If the subsequent pr is merged in squash mode, the submitted commit records will be merged into one"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"# pull branch\ngit clone https://github.com/{githubid}/SolidUI.git --branch dev\n#Generate local dev-fix branch according to dev\ngit checkout -b dev-fix dev\n#Push the local dev-fix branch to your own warehouse\ngit push origin dev-fix dev-fix\n")),(0,i.kt)("h3",{id:"23-issue-submission-guidelines"},"2.3 Issue submission guidelines"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"If you don't know how to initiate a PR to an open source project, please refer to ",(0,i.kt)("a",{parentName:"li",href:"https://docs.github.com/en/github/managing-your-work-on-github/about-issues"},"About issues")),(0,i.kt)("li",{parentName:"ul"},"The name of the issue, which should briefly describe your problem or suggestion in one sentence; for the international promotion of the project, please write the issue in English, or bilingual Chinese and English"),(0,i.kt)("li",{parentName:"ul"},"For each Issue, please bring at least a label. Reference: ",(0,i.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/63"},"issue #63"))),(0,i.kt)("h3",{id:"24-pull-request-pr-submission-guidelines"},"2.4 Pull Request (PR) submission guidelines"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"If you don't know how to initiate a PR to an open source project, please refer to ","[About pull requests]","(",(0,i.kt)("a",{parentName:"p",href:"https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull"},"https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull")," -requests)")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Whether it's a bug fix or a new feature development, please submit a PR to the dev branch")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"PR and commit name follow the principle of ",(0,i.kt)("inlineCode",{parentName:"p"},"(): "),", for details, please refer to ",(0,i.kt)("a",{parentName:"p",href:"/SolidUI-Website/docs/development/development-commit"},"Commit message and Change log writing guide"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"If a PR includes new features, documentation updates should be included in this PR")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"If the PR is not ready to be merged, prefix the name with ","[WIP]"," (WIP = work-in-progress)")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"All commits to dev-* branches need to be reviewed at least once before they can be merged"))),(0,i.kt)("h3",{id:"25-review-criteria"},"2.5 Review Criteria"),(0,i.kt)("p",null,"Before contributing code, find out what kind of commits are welcome in Review. Simply put, if a commit brings as much gain as possible with as few side effects or risks as possible, the more likely it will be merged and the faster it will be reviewed. Commits with high risk and low value are almost impossible to be merged, and may be rejected for Review."),(0,i.kt)("h4",{id:"251-gains"},"2.5.1 Gains"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Fix the main cause of the bug"),(0,i.kt)("li",{parentName:"ul"},"Add or fix a feature or bug that was requested by a large number of users"),(0,i.kt)("li",{parentName:"ul"},"simple and effective"),(0,i.kt)("li",{parentName:"ul"},"Easy to test, with test cases"),(0,i.kt)("li",{parentName:"ul"},"Reduce complexity and code size"),(0,i.kt)("li",{parentName:"ul"},"Issues identified for improvement discussed by the community")),(0,i.kt)("h4",{id:"252-side-effects-and-risks"},"2.5.2 Side Effects and Risks"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"only fix the surface of the bug"),(0,i.kt)("li",{parentName:"ul"},"Introducing new features with high complexity"),(0,i.kt)("li",{parentName:"ul"},"Adding complexity to meet niche needs"),(0,i.kt)("li",{parentName:"ul"},"Changes to stable existing APIs or semantics"),(0,i.kt)("li",{parentName:"ul"},"Cause other functions not to work properly"),(0,i.kt)("li",{parentName:"ul"},"Add a lot of dependencies"),(0,i.kt)("li",{parentName:"ul"},"Feel free to change dependency versions"),(0,i.kt)("li",{parentName:"ul"},"Commit a lot of code or changes at once")),(0,i.kt)("h4",{id:"253-reviewer-notes"},"2.5.3 Reviewer Notes"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Please write comments in a constructive tone"),(0,i.kt)("li",{parentName:"ul"},"If the submitter needs to make changes, please clearly state all the changes that need to be made to complete this Pull Request"),(0,i.kt)("li",{parentName:"ul"},"If a PR is found to have brought new problems after merging, Reviewer needs to contact the PR author and communicate to solve the problem; if the PR author cannot be contacted, Reviewer needs to restore the PR")),(0,i.kt)("hr",null),(0,i.kt)("h2",{id:"3-advanced-contribution"},"3. Advanced contribution"),(0,i.kt)("h3",{id:"31-about-committers-collaborators"},"3.1 About Committers (Collaborators)"),(0,i.kt)("h4",{id:"311-how-to-become-a-committer"},"3.1.1 How to become a Committer"),(0,i.kt)("p",null,"If you have submitted a valuable PR to SolidUI and it has been merged, or have contributed continuously for more than half a year, and have led at least one version release, you can find a PMC of the SolidUI project through the official WeChat group, if he is willing to nominate you as a committer , and are willing to state your contribution to all PMCs and Committers for you, then a vote will be launched; PMC and other Committers will vote together to decide whether to allow you to join, if you get enough votes, you will become a Committer of the SolidUI project ."),(0,i.kt)("h4",{id:"312-committers-rights"},"3.1.2 Committer's rights"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"You can join the official developer WeChat group to participate in discussions and formulate SolidUI development plans"),(0,i.kt)("li",{parentName:"ul"},"Can manage Issues, including closing and adding tags"),(0,i.kt)("li",{parentName:"ul"},"Can create and manage project branches, except dev branch"),(0,i.kt)("li",{parentName:"ul"},"Ability to review PRs submitted to the dev branch"),(0,i.kt)("li",{parentName:"ul"},"Can apply to become a Committee member")),(0,i.kt)("h3",{id:"32-about-the-committee"},"3.2 About the Committee"),(0,i.kt)("h4",{id:"321-how-to-become-a-committee-member"},"3.2.1 How to become a Committee member"),(0,i.kt)("p",null,"If you are a Committer of the SolidUI project, and all the content you contributed has been recognized by other Committee members, you can apply to become a member of the SolidUI Committee, and other Committee members will vote together to decide whether to allow you to join. If all votes pass, you will Become a SolidUI Committee member."),(0,i.kt)("h4",{id:"322-rights-of-committee-members"},"3.2.2 Rights of Committee members"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Ability to merge PRs submitted by other Committers and contributors to the dev branch"),(0,i.kt)("li",{parentName:"ul"},"Participate in determining the roadmap and development direction of the SolidUI project"),(0,i.kt)("li",{parentName:"ul"},"Can participate in new version releases")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/17896441.c64734ea.js b/assets/js/17896441.c64734ea.js new file mode 100644 index 00000000..5d5ac96e --- /dev/null +++ b/assets/js/17896441.c64734ea.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7918],{8945:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ie});var a=n(7294),l=n(1944),o=n(902);const r=a.createContext(null);function s(e){let{children:t,content:n}=e;const l=function(e){return(0,a.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return a.createElement(r.Provider,{value:l},t)}function c(){const e=(0,a.useContext)(r);if(null===e)throw new o.i6("DocProvider");return e}function i(){const{metadata:e,frontMatter:t,assets:n}=c();return a.createElement(l.d,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var d=n(6010),m=n(7524),u=n(7462),v=n(5999),b=n(2244);function p(e){const{previous:t,next:n}=e;return a.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,v.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"})},t&&a.createElement(b.Z,(0,u.Z)({},t,{subLabel:a.createElement(v.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc"},"Previous")})),n&&a.createElement(b.Z,(0,u.Z)({},n,{subLabel:a.createElement(v.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc"},"Next"),isNext:!0})))}function h(){const{metadata:e}=c();return a.createElement(p,{previous:e.previous,next:e.next})}var f=n(2263),E=n(9960),g=n(143),L=n(5281),C=n(373),N=n(4477);const _={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(v.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:a.createElement("b",null,n.label)}},"This is unreleased documentation for {siteTitle} {versionLabel} version.")},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(v.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:a.createElement("b",null,n.label)}},"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.")}};function k(e){const t=_[e.versionMetadata.banner];return a.createElement(t,e)}function Z(e){let{versionLabel:t,to:n,onClick:l}=e;return a.createElement(v.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:a.createElement("b",null,a.createElement(E.Z,{to:n,onClick:l},a.createElement(v.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label"},"latest version")))}},"For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).")}function x(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:l}}=(0,f.Z)(),{pluginId:o}=(0,g.gA)({failfast:!0}),{savePreferredVersionName:r}=(0,C.J)(o),{latestDocSuggestion:s,latestVersionSuggestion:c}=(0,g.Jo)(o),i=s??(m=c).docs.find((e=>e.id===m.mainDocId));var m;return a.createElement("div",{className:(0,d.Z)(t,L.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert"},a.createElement("div",null,a.createElement(k,{siteTitle:l,versionMetadata:n})),a.createElement("div",{className:"margin-top--md"},a.createElement(Z,{versionLabel:c.label,to:i.path,onClick:()=>r(c.name)})))}function T(e){let{className:t}=e;const n=(0,N.E)();return n.banner?a.createElement(x,{className:t,versionMetadata:n}):null}function H(e){let{className:t}=e;const n=(0,N.E)();return n.badge?a.createElement("span",{className:(0,d.Z)(t,L.k.docs.docVersionBadge,"badge badge--secondary")},a.createElement(v.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label}},"Version: {versionLabel}")):null}function U(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n}=e;return a.createElement(v.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:a.createElement("b",null,a.createElement("time",{dateTime:new Date(1e3*t).toISOString()},n))}}," on {date}")}function w(e){let{lastUpdatedBy:t}=e;return a.createElement(v.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:a.createElement("b",null,t)}}," by {user}")}function y(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n,lastUpdatedBy:l}=e;return a.createElement("span",{className:L.k.common.lastUpdated},a.createElement(v.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&n?a.createElement(U,{lastUpdatedAt:t,formattedLastUpdatedAt:n}):"",byUser:l?a.createElement(w,{lastUpdatedBy:l}):""}},"Last updated{atDate}{byUser}"),!1)}var A=n(4881),M=n(1526);const I={lastUpdated:"lastUpdated_vwxv"};function B(e){return a.createElement("div",{className:(0,d.Z)(L.k.docs.docFooterTagsRow,"row margin-bottom--sm")},a.createElement("div",{className:"col"},a.createElement(M.Z,e)))}function O(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:l,formattedLastUpdatedAt:o}=e;return a.createElement("div",{className:(0,d.Z)(L.k.docs.docFooterEditMetaRow,"row")},a.createElement("div",{className:"col"},t&&a.createElement(A.Z,{editUrl:t})),a.createElement("div",{className:(0,d.Z)("col",I.lastUpdated)},(n||l)&&a.createElement(y,{lastUpdatedAt:n,formattedLastUpdatedAt:o,lastUpdatedBy:l})))}function V(){const{metadata:e}=c(),{editUrl:t,lastUpdatedAt:n,formattedLastUpdatedAt:l,lastUpdatedBy:o,tags:r}=e,s=r.length>0,i=!!(t||n||o);return s||i?a.createElement("footer",{className:(0,d.Z)(L.k.docs.docFooter,"docusaurus-mt-lg")},s&&a.createElement(B,{tags:r}),i&&a.createElement(O,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:o,formattedLastUpdatedAt:l})):null}var P=n(6043),S=n(3743);const D={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};function R(e){let{collapsed:t,...n}=e;return a.createElement("button",(0,u.Z)({type:"button"},n,{className:(0,d.Z)("clean-btn",D.tocCollapsibleButton,!t&&D.tocCollapsibleButtonExpanded,n.className)}),a.createElement(v.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component"},"On this page"))}const F={tocCollapsible:"tocCollapsible_ETCw",tocCollapsibleContent:"tocCollapsibleContent_vkbj",tocCollapsibleExpanded:"tocCollapsibleExpanded_sAul"};function z(e){let{toc:t,className:n,minHeadingLevel:l,maxHeadingLevel:o}=e;const{collapsed:r,toggleCollapsed:s}=(0,P.u)({initialState:!0});return a.createElement("div",{className:(0,d.Z)(F.tocCollapsible,!r&&F.tocCollapsibleExpanded,n)},a.createElement(R,{collapsed:r,onClick:s}),a.createElement(P.z,{lazy:!0,className:F.tocCollapsibleContent,collapsed:r},a.createElement(S.Z,{toc:t,minHeadingLevel:l,maxHeadingLevel:o})))}const q={tocMobile:"tocMobile_ITEo"};function j(){const{toc:e,frontMatter:t}=c();return a.createElement(z,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,d.Z)(L.k.docs.docTocMobile,q.tocMobile)})}var $=n(9407);function G(){const{toc:e,frontMatter:t}=c();return a.createElement($.Z,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:L.k.docs.docTocDesktop})}var J=n(7955),Y=n(8718);function K(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=c();return t.hide_title||void 0!==n?null:e.title}();return a.createElement("div",{className:(0,d.Z)(L.k.docs.docMarkdown,"markdown")},n&&a.createElement("header",null,a.createElement(J.Z,{as:"h1"},n)),a.createElement(Y.Z,null,t))}var Q=n(2802),W=n(8596),X=n(4996);function ee(e){return a.createElement("svg",(0,u.Z)({viewBox:"0 0 24 24"},e),a.createElement("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"}))}const te={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function ne(){const e=(0,X.Z)("/");return a.createElement("li",{className:"breadcrumbs__item"},a.createElement(E.Z,{"aria-label":(0,v.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e},a.createElement(ee,{className:te.breadcrumbHomeIcon})))}const ae={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function le(e){let{children:t,href:n,isLast:l}=e;const o="breadcrumbs__link";return l?a.createElement("span",{className:o,itemProp:"name"},t):n?a.createElement(E.Z,{className:o,href:n,itemProp:"item"},a.createElement("span",{itemProp:"name"},t)):a.createElement("span",{className:o},t)}function oe(e){let{children:t,active:n,index:l,addMicrodata:o}=e;return a.createElement("li",(0,u.Z)({},o&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},{className:(0,d.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n})}),t,a.createElement("meta",{itemProp:"position",content:String(l+1)}))}function re(){const e=(0,Q.s1)(),t=(0,W.Ns)();return e?a.createElement("nav",{className:(0,d.Z)(L.k.docs.docBreadcrumbs,ae.breadcrumbsContainer),"aria-label":(0,v.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"})},a.createElement("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList"},t&&a.createElement(ne,null),e.map(((t,n)=>{const l=n===e.length-1;return a.createElement(oe,{key:n,active:l,index:n,addMicrodata:!!t.href},a.createElement(le,{href:t.href,isLast:l},t.label))})))):null}const se={docItemContainer:"docItemContainer_Djhp",docItemCol:"docItemCol_VOVn"};function ce(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=c(),n=(0,m.i)(),l=e.hide_table_of_contents,o=!l&&t.length>0;return{hidden:l,mobile:o?a.createElement(j,null):void 0,desktop:!o||"desktop"!==n&&"ssr"!==n?void 0:a.createElement(G,null)}}();return a.createElement("div",{className:"row"},a.createElement("div",{className:(0,d.Z)("col",!n.hidden&&se.docItemCol)},a.createElement(T,null),a.createElement("div",{className:se.docItemContainer},a.createElement("article",null,a.createElement(re,null),a.createElement(H,null),n.mobile,a.createElement(K,null,t),a.createElement(V,null)),a.createElement(h,null))),n.desktop&&a.createElement("div",{className:"col col--3"},n.desktop))}function ie(e){const t=`docs-doc-id-${e.content.metadata.unversionedId}`,n=e.content;return a.createElement(s,{content:e.content},a.createElement(l.FG,{className:t},a.createElement(i,null),a.createElement(ce,null,a.createElement(n,null))))}},9407:(e,t,n)=>{n.d(t,{Z:()=>d});var a=n(7462),l=n(7294),o=n(6010),r=n(3743);const s={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"},c="table-of-contents__link toc-highlight",i="table-of-contents__link--active";function d(e){let{className:t,...n}=e;return l.createElement("div",{className:(0,o.Z)(s.tableOfContents,"thin-scrollbar",t)},l.createElement(r.Z,(0,a.Z)({},n,{linkClassName:c,linkActiveClassName:i})))}},3743:(e,t,n)=>{n.d(t,{Z:()=>b});var a=n(7462),l=n(7294),o=n(6668);function r(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t}));const a=[];return t.forEach((e=>{const{parentIndex:n,...l}=e;n>=0?t[n].children.push(l):a.push(l)})),a}function s(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return t.flatMap((e=>{const t=s({toc:e.children,minHeadingLevel:n,maxHeadingLevel:a});return function(e){return e.level>=n&&e.level<=a}(e)?[{...e,children:t}]:t}))}function c(e){const t=e.getBoundingClientRect();return t.top===t.bottom?c(e.parentNode):t}function i(e,t){let{anchorTopOffset:n}=t;const a=e.find((e=>c(e).top>=n));if(a){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function m(e){const t=(0,l.useRef)(void 0),n=d();(0,l.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:l,minHeadingLevel:o,maxHeadingLevel:r}=e;function s(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),s=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const a=[];for(let l=t;l<=n;l+=1)a.push(`h${l}.anchor`);return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:o,maxHeadingLevel:r}),c=i(s,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(l),e.classList.add(l),t.current=e):e.classList.remove(l)}(e,e===d)}))}return document.addEventListener("scroll",s),document.addEventListener("resize",s),s(),()=>{document.removeEventListener("scroll",s),document.removeEventListener("resize",s)}}),[e,n])}function u(e){let{toc:t,className:n,linkClassName:a,isChild:o}=e;return t.length?l.createElement("ul",{className:o?void 0:n},t.map((e=>l.createElement("li",{key:e.id},l.createElement("a",{href:`#${e.id}`,className:a??void 0,dangerouslySetInnerHTML:{__html:e.value}}),l.createElement(u,{isChild:!0,toc:e.children,className:n,linkClassName:a}))))):null}const v=l.memo(u);function b(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:c="table-of-contents__link",linkActiveClassName:i,minHeadingLevel:d,maxHeadingLevel:u,...b}=e;const p=(0,o.L)(),h=d??p.tableOfContents.minHeadingLevel,f=u??p.tableOfContents.maxHeadingLevel,E=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,l.useMemo)((()=>s({toc:r(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:h,maxHeadingLevel:f});return m((0,l.useMemo)((()=>{if(c&&i)return{linkClassName:c,linkActiveClassName:i,minHeadingLevel:h,maxHeadingLevel:f}}),[c,i,h,f])),l.createElement(v,(0,a.Z)({toc:E,className:n,linkClassName:c},b))}},4477:(e,t,n)=>{n.d(t,{E:()=>s,q:()=>r});var a=n(7294),l=n(902);const o=a.createContext(null);function r(e){let{children:t,version:n}=e;return a.createElement(o.Provider,{value:n},t)}function s(){const e=(0,a.useContext)(o);if(null===e)throw new l.i6("DocsVersionProvider");return e}}}]); \ No newline at end of file diff --git a/assets/js/181d6f49.e9b7a6ab.js b/assets/js/181d6f49.e9b7a6ab.js new file mode 100644 index 00000000..ecf42aef --- /dev/null +++ b/assets/js/181d6f49.e9b7a6ab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4798],{3168:(e,t,a)=>{a.r(t),a.d(t,{default:()=>n});var r=a(7294),o=a(2389),i=a(5166);function n(){const e=(0,o.Z)()&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",t=i?.[e];return r.createElement("div",{className:"section bg-light"},r.createElement("div",{className:"container"},r.createElement("div",{className:"row text-center"},r.createElement("div",{className:"col-12"},r.createElement("div",{className:"mb-5"},r.createElement("h2",{className:"h3 fw-bold"},t.common.coreFeatures),r.createElement("hr",{className:"divider my-4 mx-auto"}),r.createElement("p",{className:"lead text-muted"},t.common.coreFeaturesDesc))),t.feature.map(((e,t)=>r.createElement("div",{className:"col-md-4 col-6 px-4 px-md-3 cursor-pointer",key:t,"data-aos":"fade-up","data-aos-delay":t%3*100},r.createElement("div",{className:"feature-children p-4 mb-5 rounded-3 bg-white shadow-sm hover-box-up"},r.createElement("div",{className:"text-primary text-center mb-3"},r.createElement("div",{className:"features-icon"},r.createElement("i",{className:e.icon}))),r.createElement("h3",{className:"h5"},e.title),r.createElement("p",null,e.details))))))))}},5166:e=>{e.exports=JSON.parse('{"zh-CN":{"common":{"getStart":"\u5feb\u901f\u5f00\u59cb","architecture":"\u7cfb\u7edf\u67b6\u6784","learnMore":"\u4e86\u89e3\u66f4\u591a","coreFeatures":"\u6838\u5fc3\u7279\u6027","coreFeaturesDesc":"\u8ba9\u60a8\u7684\u9879\u76ee\u66f4\u8f7b\u677e\u7684\u6838\u5fc3\u7279\u6027","honor":"\u6211\u4eec\u7684\u8363\u8a89","ourUsers":"Our Users","readMore":"\u9605\u8bfb\u66f4\u591a","download":"\u4e0b\u8f7d","releaseDate":"\u53d1\u5e03\u65e5\u671f","newFeatures":"\u65b0\u7279\u6027","enhancement":"\u589e\u5f3a\u70b9","bugFixs":"\u95ee\u9898\u4fee\u590d","changeLog":"\u8be6\u7ec6\u53d8\u66f4"},"slogan":{"key":"AI\u751f\u6210\u56fe\u5f62\u6a21\u578b","description":"\u4e00\u53e5\u8bdd\u751f\u6210\u4efb\u4f55\u56fe\u5f62"},"feature":[{"title":"AI\u751f\u62102D\u56fe\u5f62","icon":"lni-bar-chart","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd2D\u56fe\u5f62"},{"title":"AI\u751f\u62103D\u573a\u666f","icon":"lni-dropbox","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd3D\u573a\u666f"},{"title":"\u591a\u79cd\u6570\u636e\u6e90","icon":"lni-database","details":"\u6570\u636e\u6e90\u63d2\u4ef6\u4e0e\u63d0\u793a\u8bcd\u7ed3\u5408"},{"title":"\u4e09\u65b9\u63d2\u4ef6\u673a\u5668\u4eba","icon":"lni-game","details":"\u4e3a\u4e86\u63d0\u4f9b\u66f4\u597d\u670d\u52a1\uff0c\u652f\u6301\u63d2\u4ef6\u673a\u5668\u4eba\uff0c\u4f8b\u5982Huggingface space"},{"title":"\u53ef\u89c6\u5316\u6a21\u578b","icon":"lni-eye","details":"\u4e3a\u4e86\u66f4\u597d\u751f\u6210\u53ef\u89c6\u5316\u56fe\u5f62\uff0c\u81ea\u7814\u53ef\u89c6\u5316\u6a21\u578b"},{"title":"\u5bb9\u5668\u5316\u90e8\u7f72","icon":"lni-soundcloud","details":"\u4e3a\u4e86\u5feb\u901f\u4f7f\u7528\uff0c\u652f\u6301\u5bb9\u5668\u5316\u90e8\u7f72"}],"honor":{"description":"\u6211\u4eec\u83b7\u5f97\u4e86\u4e9b\u6b8a\u8363\uff0c\u8fd9\u4e9b\u8363\u8a89\u5c5e\u4e8e\u6240\u6709\u4e3a SolidUI \u505a\u51fa\u8d21\u732e\u7684\u4eba\uff0c\u611f\u8c22\u60a8\u7684\u4ed8\u51fa\uff01"}},"en":{"common":{"getStart":"Quick Start","architecture":"System Architecture","description":"Description","learnMore":"Learn More","coreFeatures":"Core Features","coreFeaturesDesc":"Modern features that will make your project easier.","honor":"Our Honor","ourUsers":"Our Users","readMore":"Read More","download":"Download","releaseDate":"Release Date","newFeatures":"New Features","enhancement":"Enhancement point","bugFixs":"Bug Fix","changeLog":"Changelog"},"slogan":{"key":"AI-generated Graphic Models","description":"one sentence generates any graph"},"feature":[{"title":"AI generated 2D graphics","icon":"lni-bar-chart","details":"Generate various 2D graphics based on the visualization model"},{"title":"AI generated 3D scene","icon":"lni-dropbox","details":"Generate various 3D scenes based on the visualization model"},{"title":"Multiple data sources","icon":"lni-database","details":"Data source plugin combined with prompt words"},{"title":"Three-party plug-in robot","icon":"lni-game","details":"In order to provide better service, support plug-in robots, such as Huggingface space"},{"title":"Visualization Model","icon":"lni-eye","details":"In order to better generate visualization graphics, self-developed visualization model"},{"title":"Containerized Deployment","icon":"lni-soundcloud","details":"For quick use, support containerized deployment"}],"honor":{"description":"We have received some precious honors, which belong to everyone who contributes to SolidUI, Thanks"}}}')}}]); \ No newline at end of file diff --git a/assets/js/18574ea0.0ec79375.js b/assets/js/18574ea0.0ec79375.js new file mode 100644 index 00000000..6c7a382b --- /dev/null +++ b/assets/js/18574ea0.0ec79375.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3362],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>h});var o=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,o)}return i}function l(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var u=o.createContext({}),s=function(e){var t=o.useContext(u),i=t;return e&&(i="function"==typeof e?e(t):l(l({},t),e)),i},c=function(e){var t=s(e.components);return o.createElement(u.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,r=e.originalType,u=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),p=s(i),d=n,h=p["".concat(u,".").concat(d)]||p[d]||m[d]||r;return i?o.createElement(h,l(l({ref:t},c),{},{components:i})):o.createElement(h,l({ref:t},c))}));function h(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=i.length,l=new Array(r);l[0]=d;var a={};for(var u in t)hasOwnProperty.call(t,u)&&(a[u]=t[u]);a.originalType=e,a[p]="string"==typeof e?e:n,l[1]=a;for(var s=2;s{i.r(t),i.d(t,{assets:()=>u,contentTitle:()=>l,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>s});var o=i(7462),n=(i(7294),i(3905));const r={title:"Version Update | SolidUI 0.2.0 Release",date:new Date("2023-09-05T00:00:00.000Z"),tags:["SolidUI","AI","stable-diffusion"]},l=void 0,a={permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-Release",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-Release.md",source:"@site/blog/2023-09-05-0.2.0-Release.md",title:"Version Update | SolidUI 0.2.0 Release",description:"Background",date:"2023-09-05T00:00:00.000Z",formattedDate:"September 5, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AI",permalink:"/SolidUI-Website/blog/tags/ai"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:3.02,hasTruncateMarker:!1,authors:[],frontMatter:{title:"Version Update | SolidUI 0.2.0 Release",date:"2023-09-05T00:00:00.000Z",tags:["SolidUI","AI","stable-diffusion"]},nextItem:{title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction"}},u={authorsImageUrls:[]},s=[{value:"Background",id:"background",level:2},{value:"Release Notes",id:"release-notes",level:2},{value:"Features",id:"features",level:3},{value:"Deployment",id:"deployment",level:3},{value:"Documentation",id:"documentation",level:3},{value:"Detailed Guide",id:"detailed-guide",level:2},{value:"Contributors",id:"contributors",level:2},{value:"How to Become a Contributor",id:"how-to-become-a-contributor",level:2}],c={toc:s},p="wrapper";function m(e){let{components:t,...i}=e;return(0,n.kt)(p,(0,o.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"background"},"Background"),(0,n.kt)("p",null,"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation."),(0,n.kt)("p",null,"Project URL: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Project mirror URL: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Community official website: ",(0,n.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,n.kt)("p",null,"Join the group: ",(0,n.kt)("a",{parentName:"p",href:"https://discord.gg/NGRNu2mGeQ"},"https://discord.gg/NGRNu2mGeQ")),(0,n.kt)("h2",{id:"release-notes"},"Release Notes"),(0,n.kt)("h3",{id:"features"},"Features"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Design features, scene and page optimization"),(0,n.kt)("li",{parentName:"ul"},"Project Preview"),(0,n.kt)("li",{parentName:"ul"},"Design features, preview page"),(0,n.kt)("li",{parentName:"ul"},"Support for GPT-like model proxy"),(0,n.kt)("li",{parentName:"ul"},"Support for ChatGLM-like model proxy"),(0,n.kt)("li",{parentName:"ul"},"Support Hugging Face Spaces plugin, provide trial function"),(0,n.kt)("li",{parentName:"ul"},"Support for the ESLint code check tool"),(0,n.kt)("li",{parentName:"ul"},"Design page delete graphic optimization"),(0,n.kt)("li",{parentName:"ul"},"Login page, logout optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for chat window interaction"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, internationalization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, UI optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, overview optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, Blog optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, all documents optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, framework migration")),(0,n.kt)("h3",{id:"deployment"},"Deployment"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Independent deployment related scripts"),(0,n.kt)("li",{parentName:"ul"},"docker-compose")),(0,n.kt)("h3",{id:"documentation"},"Documentation"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"All co-builders list"),(0,n.kt)("li",{parentName:"ul"},"ESLint & Prettier code specifications"),(0,n.kt)("li",{parentName:"ul"},"SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Snakemq communication source code analysis"),(0,n.kt)("li",{parentName:"ul"},"Centos7.9 offline deployment of ChatGLM-6B"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Independent deployment and Docker communication analysis"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Introduction to the official website"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - FAQ problem-solving process"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - General Prompt technique"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Prompt design"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Building a character based on Prompts"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - AI model proxy"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Chain of Thought (CoT) in Prompts"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Prompt self-consistency"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Discord"),(0,n.kt)("li",{parentName:"ul"},"SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction")),(0,n.kt)("h2",{id:"detailed-guide"},"Detailed Guide"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"This version overview: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1"},"https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1")),(0,n.kt)("li",{parentName:"ul"},"Demo environment: ",(0,n.kt)("a",{parentName:"li",href:"http://www.solidui.top/"},"http://www.solidui.top/")),(0,n.kt)("li",{parentName:"ul"},"Quick Start: ",(0,n.kt)("a",{parentName:"li",href:"https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/"},"https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/")),(0,n.kt)("li",{parentName:"ul"},"Tutorial: ",(0,n.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s"},"https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s")),(0,n.kt)("li",{parentName:"ul"},"Welcome users to fill in: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/1"},"https://github.com/CloudOrc/SolidUI/issues/1")),(0,n.kt)("li",{parentName:"ul"},"Join the group: ",(0,n.kt)("a",{parentName:"li",href:"https://discord.gg/NGRNu2mGeQ"},"https://discord.gg/NGRNu2mGeQ"))),(0,n.kt)("h2",{id:"contributors"},"Contributors"),(0,n.kt)("p",null,"The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"dlimeng"),(0,n.kt)("li",{parentName:"ul"},"nutsjian"),(0,n.kt)("li",{parentName:"ul"},"jacktao007"),(0,n.kt)("li",{parentName:"ul"},"15100399015"),(0,n.kt)("li",{parentName:"ul"},"ziyu211"),(0,n.kt)("li",{parentName:"ul"},"limingoo"),(0,n.kt)("li",{parentName:"ul"},"hgfdsa101")),(0,n.kt)("h2",{id:"how-to-become-a-contributor"},"How to Become a Contributor"),(0,n.kt)("p",null,"Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("p",null,"Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("p",null,"Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("p",null,"Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;"),(0,n.kt)("p",null,"Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1978304a.407cca21.js b/assets/js/1978304a.407cca21.js new file mode 100644 index 00000000..75cc037e --- /dev/null +++ b/assets/js/1978304a.407cca21.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2455],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>v});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),d=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=d(e.components);return n.createElement(s.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,s=e.parentName,p=a(e,["components","mdxType","originalType","parentName"]),c=d(r),m=o,v=c["".concat(s,".").concat(m)]||c[m]||u[m]||i;return r?n.createElement(v,l(l({ref:t},p),{},{components:r})):n.createElement(v,l({ref:t},p))}));function v(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,l=new Array(i);l[0]=m;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[c]="string"==typeof e?e:o,l[1]=a;for(var d=2;d{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>d});var n=r(7462),o=(r(7294),r(3905));const i={id:"development-server",title:"Server-side Compilation",sidebar_position:7},l="SolidUI Server-side Compilation",a={unversionedId:"development/development-server",id:"development/development-server",title:"Server-side Compilation",description:"1. Prerequisites",source:"@site/docs/development/server-compilation.md",sourceDirName:"development",slug:"/development/development-server",permalink:"/SolidUI-Website/docs/development/development-server",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/development/server-compilation.md",tags:[],version:"current",sidebarPosition:7,frontMatter:{id:"development-server",title:"Server-side Compilation",sidebar_position:7},sidebar:"tutorialSidebar",previous:{title:"Project Release Process",permalink:"/SolidUI-Website/docs/development/development-release"},next:{title:"Front-End Deployment",permalink:"/SolidUI-Website/docs/deployment/deployment-web"}},s={},d=[{value:"1. Prerequisites",id:"1-prerequisites",level:2},{value:"1.1 Environmental requirements",id:"11-environmental-requirements",level:3},{value:"1.2 Get the source code",id:"12-get-the-source-code",level:3},{value:"2. Server-side compilation",id:"2-server-side-compilation",level:2},{value:"3. Full compilation (server side and front end)",id:"3-full-compilation-server-side-and-front-end",level:2}],p={toc:d},c="wrapper";function u(e){let{components:t,...r}=e;return(0,o.kt)(c,(0,n.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"solidui-server-side-compilation"},"SolidUI Server-side Compilation"),(0,o.kt)("h2",{id:"1-prerequisites"},"1. Prerequisites"),(0,o.kt)("h3",{id:"11-environmental-requirements"},"1.1 Environmental requirements"),(0,o.kt)("p",null,"Compilation environment requirements: Must be JDK8 or above, both Oracle/Sun and OpenJDK are supported."),(0,o.kt)("p",null,"Install Maven environment yourself, version 3.5.4 or above is recommended. Or you can directly use the maven-wrapper in the source code."),(0,o.kt)("h3",{id:"12-get-the-source-code"},"1.2 Get the source code"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Method 1: Obtain the source code of the project from the github repository ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI"),".")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"Method 2: Download and download the source package of the required version from ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/releases"},"https://github.com/CloudOrc/SolidUI/releases"),"."))),(0,o.kt)("h2",{id:"2-server-side-compilation"},"2. Server-side compilation"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"cd solidui-x.x.x-src \n\n# Compile\nmvn clean -N install\nmvn clean install -Dmaven.test.skip=true\n")),(0,o.kt)("h2",{id:"3-full-compilation-server-side-and-front-end"},"3. Full compilation (server side and front end)"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"cd solidui-x.x.x-src \n\n# Compile\nmvn clean -N install \nmvn clean install -Dmaven.test.skip=true -Prelease\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/1a4e3797.e0a8916d.js b/assets/js/1a4e3797.e0a8916d.js new file mode 100644 index 00000000..d43be07f --- /dev/null +++ b/assets/js/1a4e3797.e0a8916d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7920],{8824:(e,t,r)=>{r.d(t,{c:()=>o});var a=r(7294),n=r(2263);const l=["zero","one","two","few","many","other"];function s(e){return l.filter((t=>e.includes(t)))}const c={locale:"en",pluralForms:s(["one","other"]),select:e=>1===e?"one":"other"};function u(){const{i18n:{currentLocale:e}}=(0,n.Z)();return(0,a.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:s(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),c}}),[e])}function o(){const e=u();return{selectMessage:(t,r)=>function(e,t,r){const a=e.split("|");if(1===a.length)return a[0];a.length>r.pluralForms.length&&console.error(`For locale=${r.locale}, a maximum of ${r.pluralForms.length} plural forms are expected (${r.pluralForms.join(",")}), but the message contains ${a.length}: ${e}`);const n=r.select(t),l=r.pluralForms.indexOf(n);return a[Math.min(l,a.length-1)]}(r,t,e)}}},1473:(e,t,r)=>{r.r(t),r.d(t,{default:()=>P});var a=r(7294),n=r(2263),l=r(179),s=r(5742),c=r(9960),u=r(5999),o=r(8824),m=r(6550),h=r(412);const i=function(){const e=(0,m.k6)(),t=(0,m.TH)(),{siteConfig:{baseUrl:r}}=(0,n.Z)(),a=h.Z.canUseDOM?new URLSearchParams(t.search):null,l=a?.get("q")||"",s=a?.get("ctx")||"",c=a?.get("version")||"",u=e=>{const r=new URLSearchParams(t.search);return e?r.set("q",e):r.delete("q"),r};return{searchValue:l,searchContext:s,searchVersion:c,updateSearchPath:t=>{const r=u(t);e.replace({search:r.toString()})},generateSearchPageLink:e=>{const t=u(e);return`${r}search?${t.toString()}`}}};var p=r(22),g=r(8202),d=r(2539),f=r(726),y=r(1073),E=r(311),S=r(3926),I=r(1029);const w={searchQueryInput:"searchQueryInput_CFBF",searchResultItem:"searchResultItem_U687",searchResultItemPath:"searchResultItemPath_uIbk",searchResultItemSummary:"searchResultItemSummary_oZHr"};function R(){const{siteConfig:{baseUrl:e}}=(0,n.Z)(),{selectMessage:t}=(0,o.c)(),{searchValue:r,searchContext:l,searchVersion:c,updateSearchPath:m}=i(),[h,d]=(0,a.useState)(r),[f,y]=(0,a.useState)(),[S,I]=(0,a.useState)(),R=`${e}${c}`,P=(0,a.useMemo)((()=>h?(0,u.I)({id:"theme.SearchPage.existingResultsTitle",message:'Search results for "{query}"',description:"The search page title for non-empty query"},{query:h}):(0,u.I)({id:"theme.SearchPage.emptyResultsTitle",message:"Search the documentation",description:"The search page title for empty query"})),[h]);(0,a.useEffect)((()=>{m(h),f&&(h?f(h,(e=>{I(e)})):I(void 0))}),[h,f]);const v=(0,a.useCallback)((e=>{d(e.target.value)}),[]);return(0,a.useEffect)((()=>{r&&r!==h&&d(r)}),[r]),(0,a.useEffect)((()=>{!async function(){const{wrappedIndexes:e,zhDictionary:t}=await(0,p.w)(R,l);y((()=>(0,g.v)(e,t,100)))}()}),[l,R]),a.createElement(a.Fragment,null,a.createElement(s.Z,null,a.createElement("meta",{property:"robots",content:"noindex, follow"}),a.createElement("title",null,P)),a.createElement("div",{className:"container margin-vert--lg"},a.createElement("h1",null,P),a.createElement("input",{type:"search",name:"q",className:w.searchQueryInput,"aria-label":"Search",onChange:v,value:h,autoComplete:"off",autoFocus:!0}),!f&&h&&a.createElement("div",null,a.createElement(E.Z,null)),S&&(S.length>0?a.createElement("p",null,t(S.length,(0,u.I)({id:"theme.SearchPage.documentsFound.plurals",message:"1 document found|{count} documents found",description:'Pluralized label for "{count} documents found". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)'},{count:S.length}))):a.createElement("p",null,(0,u.I)({id:"theme.SearchPage.noResultsText",message:"No documents were found",description:"The paragraph for empty search result"}))),a.createElement("section",null,S&&S.map((e=>a.createElement(b,{key:e.document.i,searchResult:e}))))))}function b(e){let{searchResult:{document:t,type:r,page:n,tokens:l,metadata:s}}=e;const u=0===r,o=2===r,m=(u?t.b:n.b).slice(),h=o?t.s:t.t;u||m.push(n.t);let i="";if(I.vc&&l.length>0){const e=new URLSearchParams;for(const t of l)e.append("_highlight",t);i=`?${e.toString()}`}return a.createElement("article",{className:w.searchResultItem},a.createElement("h2",null,a.createElement(c.Z,{to:t.u+i+(t.h||""),dangerouslySetInnerHTML:{__html:o?(0,d.C)(h,l):(0,f.o)(h,(0,y.m)(s,"t"),l,100)}})),m.length>0&&a.createElement("p",{className:w.searchResultItemPath},(0,S.e)(m)),o&&a.createElement("p",{className:w.searchResultItemSummary,dangerouslySetInnerHTML:{__html:(0,f.o)(t.t,(0,y.m)(s,"t"),l,100)}}))}const P=function(){return a.createElement(l.Z,null,a.createElement(R,null))}}}]); \ No newline at end of file diff --git a/assets/js/1be78505.7eb9c513.js b/assets/js/1be78505.7eb9c513.js new file mode 100644 index 00000000..e1624a48 --- /dev/null +++ b/assets/js/1be78505.7eb9c513.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[9514,4972],{9963:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ge});var a=n(7294),l=n(6010),o=n(1944),r=n(5281),c=n(3320),i=n(2802),s=n(4477),d=n(1116),m=n(179),u=n(5999),b=n(2466),p=n(5936);const h={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};function E(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,l]=(0,a.useState)(!1),o=(0,a.useRef)(!1),{startScroll:r,cancelScroll:c}=(0,b.Ct)();return(0,b.RF)(((e,n)=>{let{scrollY:a}=e;const r=n?.scrollY;r&&(o.current?o.current=!1:a>=r?(c(),l(!1)):a{e.location.hash&&(o.current=!0,l(!1))})),{shown:n,scrollToTop:()=>r(0)}}({threshold:300});return a.createElement("button",{"aria-label":(0,u.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,l.Z)("clean-btn",r.k.common.backToTopButton,h.backToTopButton,e&&h.backToTopButtonShow),type:"button",onClick:t})}var f=n(1442),g=n(6550),v=n(7524),k=n(6668),_=n(1327),C=n(7462);function S(e){return a.createElement("svg",(0,C.Z)({width:"20",height:"20","aria-hidden":"true"},e),a.createElement("g",{fill:"#7a7a7a"},a.createElement("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),a.createElement("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})))}const I={collapseSidebarButton:"collapseSidebarButton_PEFL",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_kv0_"};function N(e){let{onClick:t}=e;return a.createElement("button",{type:"button",title:(0,u.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,u.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,l.Z)("button button--secondary button--outline",I.collapseSidebarButton),onClick:t},a.createElement(S,{className:I.collapseSidebarButtonIcon}))}var T=n(9689),x=n(902);const Z=Symbol("EmptyContext"),B=a.createContext(Z);function w(e){let{children:t}=e;const[n,l]=(0,a.useState)(null),o=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:l})),[n]);return a.createElement(B.Provider,{value:o},t)}var y=n(6043),L=n(8596),A=n(9960),M=n(2389);function F(e){let{categoryLabel:t,onClick:n}=e;return a.createElement("button",{"aria-label":(0,u.I)({id:"theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel",message:"Toggle the collapsible sidebar category '{label}'",description:"The ARIA label to toggle the collapsible sidebar category"},{label:t}),type:"button",className:"clean-btn menu__caret",onClick:n})}function H(e){let{item:t,onItemClick:n,activePath:o,level:c,index:s,...d}=e;const{items:m,label:u,collapsible:b,className:p,href:h}=t,{docs:{sidebar:{autoCollapseCategories:E}}}=(0,k.L)(),f=function(e){const t=(0,M.Z)();return(0,a.useMemo)((()=>e.href?e.href:!t&&e.collapsible?(0,i.Wl)(e):void 0),[e,t])}(t),g=(0,i._F)(t,o),v=(0,L.Mg)(h,o),{collapsed:_,setCollapsed:S}=(0,y.u)({initialState:()=>!!b&&(!g&&t.collapsed)}),{expandedItem:I,setExpandedItem:N}=function(){const e=(0,a.useContext)(B);if(e===Z)throw new x.i6("DocSidebarItemsExpandedStateProvider");return e}(),T=function(e){void 0===e&&(e=!_),N(e?null:s),S(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:l}=e;const o=(0,x.D9)(t);(0,a.useEffect)((()=>{t&&!o&&n&&l(!1)}),[t,o,n,l])}({isActive:g,collapsed:_,updateCollapsed:T}),(0,a.useEffect)((()=>{b&&null!=I&&I!==s&&E&&S(!0)}),[b,I,s,S,E]),a.createElement("li",{className:(0,l.Z)(r.k.docs.docSidebarItemCategory,r.k.docs.docSidebarItemCategoryLevel(c),"menu__list-item",{"menu__list-item--collapsed":_},p)},a.createElement("div",{className:(0,l.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v})},a.createElement(A.Z,(0,C.Z)({className:(0,l.Z)("menu__link",{"menu__link--sublist":b,"menu__link--sublist-caret":!h&&b,"menu__link--active":g}),onClick:b?e=>{n?.(t),h?T(!1):(e.preventDefault(),T())}:()=>{n?.(t)},"aria-current":v?"page":void 0,"aria-expanded":b?!_:void 0,href:b?f??"#":f},d),u),h&&b&&a.createElement(F,{categoryLabel:u,onClick:e=>{e.preventDefault(),T()}})),a.createElement(y.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:_},a.createElement(j,{items:m,tabIndex:_?-1:0,onItemClick:n,activePath:o,level:c+1})))}var P=n(3919),W=n(9471);const D={menuExternalLink:"menuExternalLink_NmtK"};function R(e){let{item:t,onItemClick:n,activePath:o,level:c,index:s,...d}=e;const{href:m,label:u,className:b,autoAddBaseUrl:p}=t,h=(0,i._F)(t,o),E=(0,P.Z)(m);return a.createElement("li",{className:(0,l.Z)(r.k.docs.docSidebarItemLink,r.k.docs.docSidebarItemLinkLevel(c),"menu__list-item",b),key:u},a.createElement(A.Z,(0,C.Z)({className:(0,l.Z)("menu__link",!E&&D.menuExternalLink,{"menu__link--active":h}),autoAddBaseUrl:p,"aria-current":h?"page":void 0,to:m},E&&{onClick:n?()=>n(t):void 0},d),u,!E&&a.createElement(W.Z,null)))}const V={menuHtmlItem:"menuHtmlItem_M9Kj"};function z(e){let{item:t,level:n,index:o}=e;const{value:c,defaultStyle:i,className:s}=t;return a.createElement("li",{className:(0,l.Z)(r.k.docs.docSidebarItemLink,r.k.docs.docSidebarItemLinkLevel(n),i&&[V.menuHtmlItem,"menu__list-item"],s),key:o,dangerouslySetInnerHTML:{__html:c}})}function U(e){let{item:t,...n}=e;switch(t.type){case"category":return a.createElement(H,(0,C.Z)({item:t},n));case"html":return a.createElement(z,(0,C.Z)({item:t},n));default:return a.createElement(R,(0,C.Z)({item:t},n))}}function K(e){let{items:t,...n}=e;return a.createElement(w,null,t.map(((e,t)=>a.createElement(U,(0,C.Z)({key:t,item:e,index:t},n)))))}const j=(0,a.memo)(K),q={menu:"menu_SIkG",menuWithAnnouncementBar:"menuWithAnnouncementBar_GW3s"};function G(e){let{path:t,sidebar:n,className:o}=e;const c=function(){const{isActive:e}=(0,T.nT)(),[t,n]=(0,a.useState)(e);return(0,b.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return a.createElement("nav",{"aria-label":(0,u.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,l.Z)("menu thin-scrollbar",q.menu,c&&q.menuWithAnnouncementBar,o)},a.createElement("ul",{className:(0,l.Z)(r.k.docs.docSidebarMenu,"menu__list")},a.createElement(j,{items:n,activePath:t,level:1})))}const Y="sidebar_njMd",O="sidebarWithHideableNavbar_wUlq",X="sidebarHidden_VK0M",J="sidebarLogo_isFc";function Q(e){let{path:t,sidebar:n,onCollapse:o,isHidden:r}=e;const{navbar:{hideOnScroll:c},docs:{sidebar:{hideable:i}}}=(0,k.L)();return a.createElement("div",{className:(0,l.Z)(Y,c&&O,r&&X)},c&&a.createElement(_.Z,{tabIndex:-1,className:J}),a.createElement(G,{path:t,sidebar:n}),i&&a.createElement(N,{onClick:o}))}const $=a.memo(Q);var ee=n(3102),te=n(2961);const ne=e=>{let{sidebar:t,path:n}=e;const o=(0,te.e)();return a.createElement("ul",{className:(0,l.Z)(r.k.docs.docSidebarMenu,"menu__list")},a.createElement(j,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&o.toggle(),"link"===e.type&&o.toggle()},level:1}))};function ae(e){return a.createElement(ee.Zo,{component:ne,props:e})}const le=a.memo(ae);function oe(e){const t=(0,v.i)(),n="desktop"===t||"ssr"===t,l="mobile"===t;return a.createElement(a.Fragment,null,n&&a.createElement($,e),l&&a.createElement(le,e))}const re={expandButton:"expandButton_m80_",expandButtonIcon:"expandButtonIcon_BlDH"};function ce(e){let{toggleSidebar:t}=e;return a.createElement("div",{className:re.expandButton,title:(0,u.I)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,u.I)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t},a.createElement(S,{className:re.expandButtonIcon}))}const ie={docSidebarContainer:"docSidebarContainer_b6E3",docSidebarContainerHidden:"docSidebarContainerHidden_b3ry",sidebarViewport:"sidebarViewport_Xe31"};function se(e){let{children:t}=e;const n=(0,d.V)();return a.createElement(a.Fragment,{key:n?.name??"noSidebar"},t)}function de(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:o}=e;const{pathname:c}=(0,g.TH)(),[i,s]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{i&&s(!1),!i&&(0,f.n)()&&s(!0),o((e=>!e))}),[o,i]);return a.createElement("aside",{className:(0,l.Z)(r.k.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&s(!0)}},a.createElement(se,null,a.createElement("div",{className:(0,l.Z)(ie.sidebarViewport,i&&ie.sidebarViewportHidden)},a.createElement(oe,{sidebar:t,path:c,onCollapse:d,isHidden:i}),i&&a.createElement(ce,{toggleSidebar:d}))))}const me={docMainContainer:"docMainContainer_gTbr",docMainContainerEnhanced:"docMainContainerEnhanced_Uz_u",docItemWrapperEnhanced:"docItemWrapperEnhanced_czyv"};function ue(e){let{hiddenSidebarContainer:t,children:n}=e;const o=(0,d.V)();return a.createElement("main",{className:(0,l.Z)(me.docMainContainer,(t||!o)&&me.docMainContainerEnhanced)},a.createElement("div",{className:(0,l.Z)("container padding-top--md padding-bottom--lg",me.docItemWrapper,t&&me.docItemWrapperEnhanced)},n))}const be={docPage:"docPage__5DB",docsWrapper:"docsWrapper_BCFX"};function pe(e){let{children:t}=e;const n=(0,d.V)(),[l,o]=(0,a.useState)(!1);return a.createElement(m.Z,{wrapperClassName:be.docsWrapper},a.createElement(E,null),a.createElement("div",{className:be.docPage},n&&a.createElement(de,{sidebar:n.items,hiddenSidebarContainer:l,setHiddenSidebarContainer:o}),a.createElement(ue,{hiddenSidebarContainer:l},t)))}var he=n(4972),Ee=n(197);function fe(e){const{versionMetadata:t}=e;return a.createElement(a.Fragment,null,a.createElement(Ee.Z,{version:t.version,tag:(0,c.os)(t.pluginId,t.version)}),a.createElement(o.d,null,t.noIndex&&a.createElement("meta",{name:"robots",content:"noindex, nofollow"})))}function ge(e){const{versionMetadata:t}=e,n=(0,i.hI)(e);if(!n)return a.createElement(he.default,null);const{docElement:c,sidebarName:m,sidebarItems:u}=n;return a.createElement(a.Fragment,null,a.createElement(fe,e),a.createElement(o.FG,{className:(0,l.Z)(r.k.wrapper.docsPages,r.k.page.docsDocPage,e.versionMetadata.className)},a.createElement(s.q,{version:t},a.createElement(d.b,{name:m,items:u},a.createElement(pe,null,c)))))}},4972:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});var a=n(7294),l=n(5999),o=n(1944),r=n(179);function c(){return a.createElement(a.Fragment,null,a.createElement(o.d,{title:(0,l.I)({id:"theme.NotFound.title",message:"Page Not Found"})}),a.createElement(r.Z,null,a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col--offset-3"},a.createElement("h1",{className:"hero__title"},a.createElement(l.Z,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),a.createElement("p",null,a.createElement(l.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),a.createElement("p",null,a.createElement(l.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.")))))))}},4477:(e,t,n)=>{n.d(t,{E:()=>c,q:()=>r});var a=n(7294),l=n(902);const o=a.createContext(null);function r(e){let{children:t,version:n}=e;return a.createElement(o.Provider,{value:n},t)}function c(){const e=(0,a.useContext)(o);if(null===e)throw new l.i6("DocsVersionProvider");return e}}}]); \ No newline at end of file diff --git a/assets/js/1df93b7f.4d2c7381.js b/assets/js/1df93b7f.4d2c7381.js new file mode 100644 index 00000000..7fc39b48 --- /dev/null +++ b/assets/js/1df93b7f.4d2c7381.js @@ -0,0 +1 @@ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3237,9094,4798,4827,6393],{2711:function(e){e.exports=function(e){function t(n){if(a[n])return a[n].exports;var r=a[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var a={};return t.m=e,t.c=a,t.p="dist/",t(0)}([function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var r=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]&&arguments[0]&&(p=!0),p)return f=(0,m.default)(f,h),(0,d.default)(f,h.once),f},b=function(){f=(0,u.default)(),v()},g=function(){f.forEach((function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay")}))},y=function(e){return!0===e||"mobile"===e&&s.default.mobile()||"phone"===e&&s.default.phone()||"tablet"===e&&s.default.tablet()||"function"==typeof e&&!0===e()},w=function(e){h=r(h,e),f=(0,u.default)();var t=document.all&&!window.atob;return y(h.disable)||t?g():(h.disableMutationObserver||c.default.isSupported()||(console.info('\n aos: MutationObserver is not supported on this browser,\n code mutations observing has been disabled.\n You may have to call "refreshHard()" by yourself.\n '),h.disableMutationObserver=!0),document.querySelector("body").setAttribute("data-aos-easing",h.easing),document.querySelector("body").setAttribute("data-aos-duration",h.duration),document.querySelector("body").setAttribute("data-aos-delay",h.delay),"DOMContentLoaded"===h.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?v(!0):"load"===h.startEvent?window.addEventListener(h.startEvent,(function(){v(!0)})):document.addEventListener(h.startEvent,(function(){v(!0)})),window.addEventListener("resize",(0,l.default)(v,h.debounceDelay,!0)),window.addEventListener("orientationchange",(0,l.default)(v,h.debounceDelay,!0)),window.addEventListener("scroll",(0,o.default)((function(){(0,d.default)(f,h.once)}),h.throttleDelay)),h.disableMutationObserver||c.default.ready("[data-aos]",b),f)};e.exports={init:w,refresh:v,refreshHard:b}},function(e,t){},,,,,function(e,t){(function(t){"use strict";function a(e,t,a){function n(t){var a=h,n=v;return h=v=void 0,k=t,g=e.apply(n,a)}function i(e){return k=e,y=setTimeout(d,t),N?n(e):g}function o(e){var a=t-(e-w);return O?x(a,b-(e-k)):a}function c(e){var a=e-w;return void 0===w||a>=t||a<0||O&&e-k>=b}function d(){var e=z();return c(e)?m(e):void(y=setTimeout(d,o(e)))}function m(e){return y=void 0,M&&h?n(e):(h=v=void 0,g)}function u(){void 0!==y&&clearTimeout(y),k=0,h=w=v=y=void 0}function f(){return void 0===y?g:m(z())}function p(){var e=z(),a=c(e);if(h=arguments,v=this,w=e,a){if(void 0===y)return i(w);if(O)return y=setTimeout(d,t),n(w)}return void 0===y&&(y=setTimeout(d,t)),g}var h,v,b,g,y,w,k=0,N=!1,O=!1,M=!0;if("function"!=typeof e)throw new TypeError(s);return t=l(t)||0,r(a)&&(N=!!a.leading,b=(O="maxWait"in a)?E(l(a.maxWait)||0,t):b,M="trailing"in a?!!a.trailing:M),p.cancel=u,p.flush=f,p}function n(e,t,n){var i=!0,o=!0;if("function"!=typeof e)throw new TypeError(s);return r(n)&&(i="leading"in n?!!n.leading:i,o="trailing"in n?!!n.trailing:o),a(e,t,{leading:i,maxWait:t,trailing:o})}function r(e){var t=void 0===e?"undefined":c(e);return!!e&&("object"==t||"function"==t)}function i(e){return!!e&&"object"==(void 0===e?"undefined":c(e))}function o(e){return"symbol"==(void 0===e?"undefined":c(e))||i(e)&&w.call(e)==m}function l(e){if("number"==typeof e)return e;if(o(e))return d;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(u,"");var a=p.test(e);return a||h.test(e)?v(e.slice(2),a?2:8):f.test(e)?d:+e}var c="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},s="Expected a function",d=NaN,m="[object Symbol]",u=/^\s+|\s+$/g,f=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,h=/^0o[0-7]+$/i,v=parseInt,b="object"==(void 0===t?"undefined":c(t))&&t&&t.Object===Object&&t,g="object"==("undefined"==typeof self?"undefined":c(self))&&self&&self.Object===Object&&self,y=b||g||Function("return this")(),w=Object.prototype.toString,E=Math.max,x=Math.min,z=function(){return y.Date.now()};e.exports=n}).call(t,function(){return this}())},function(e,t){(function(t){"use strict";function a(e,t,a){function r(t){var a=h,n=v;return h=v=void 0,k=t,g=e.apply(n,a)}function i(e){return k=e,y=setTimeout(d,t),N?r(e):g}function l(e){var a=t-(e-z);return O?E(a,b-(e-k)):a}function s(e){var a=e-z;return void 0===z||a>=t||a<0||O&&e-k>=b}function d(){var e=x();return s(e)?m(e):void(y=setTimeout(d,l(e)))}function m(e){return y=void 0,M&&h?r(e):(h=v=void 0,g)}function u(){void 0!==y&&clearTimeout(y),k=0,h=z=v=y=void 0}function f(){return void 0===y?g:m(x())}function p(){var e=x(),a=s(e);if(h=arguments,v=this,z=e,a){if(void 0===y)return i(z);if(O)return y=setTimeout(d,t),r(z)}return void 0===y&&(y=setTimeout(d,t)),g}var h,v,b,g,y,z,k=0,N=!1,O=!1,M=!0;if("function"!=typeof e)throw new TypeError(c);return t=o(t)||0,n(a)&&(N=!!a.leading,b=(O="maxWait"in a)?w(o(a.maxWait)||0,t):b,M="trailing"in a?!!a.trailing:M),p.cancel=u,p.flush=f,p}function n(e){var t=void 0===e?"undefined":l(e);return!!e&&("object"==t||"function"==t)}function r(e){return!!e&&"object"==(void 0===e?"undefined":l(e))}function i(e){return"symbol"==(void 0===e?"undefined":l(e))||r(e)&&y.call(e)==d}function o(e){if("number"==typeof e)return e;if(i(e))return s;if(n(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=n(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(m,"");var a=f.test(e);return a||p.test(e)?h(e.slice(2),a?2:8):u.test(e)?s:+e}var l="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},c="Expected a function",s=NaN,d="[object Symbol]",m=/^\s+|\s+$/g,u=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,p=/^0o[0-7]+$/i,h=parseInt,v="object"==(void 0===t?"undefined":l(t))&&t&&t.Object===Object&&t,b="object"==("undefined"==typeof self?"undefined":l(self))&&self&&self.Object===Object&&self,g=v||b||Function("return this")(),y=Object.prototype.toString,w=Math.max,E=Math.min,x=function(){return g.Date.now()};e.exports=a}).call(t,function(){return this}())},function(e,t){"use strict";function a(e){var t=void 0,n=void 0;for(t=0;te.position?e.node.classList.add("aos-animate"):void 0!==n&&("false"===n||!a&&"true"!==n)&&e.node.classList.remove("aos-animate")},n=function(e,t){var n=window.pageYOffset,r=window.innerHeight;e.forEach((function(e,i){a(e,r+n,t)}))};t.default=n},function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(a(12)),i=function(e,t){return e.forEach((function(e,a){e.node.classList.add("aos-init"),e.position=(0,r.default)(e.node,t.offset)})),e};t.default=i},function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(a(13)),i=function(e,t){var a=0,n=0,i=window.innerHeight,o={offset:e.getAttribute("data-aos-offset"),anchor:e.getAttribute("data-aos-anchor"),anchorPlacement:e.getAttribute("data-aos-anchor-placement")};switch(o.offset&&!isNaN(o.offset)&&(n=parseInt(o.offset)),o.anchor&&document.querySelectorAll(o.anchor)&&(e=document.querySelectorAll(o.anchor)[0]),a=(0,r.default)(e).top,o.anchorPlacement){case"top-bottom":break;case"center-bottom":a+=e.offsetHeight/2;break;case"bottom-bottom":a+=e.offsetHeight;break;case"top-center":a+=i/2;break;case"bottom-center":a+=i/2+e.offsetHeight;break;case"center-center":a+=i/2+e.offsetHeight/2;break;case"top-top":a+=i;break;case"bottom-top":a+=e.offsetHeight+i;break;case"center-top":a+=e.offsetHeight/2+i}return o.anchorPlacement||o.offset||isNaN(t)||(n=t),a+n};t.default=i},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){for(var t=0,a=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),a+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:a,left:t}};t.default=a},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){return e=e||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(e,(function(e){return{node:e}}))};t.default=a}])},1262:(e,t,a)=>{"use strict";a.d(t,{Z:()=>i});var n=a(7294),r=a(2389);function i(e){let{children:t,fallback:a}=e;return(0,r.Z)()?n.createElement(n.Fragment,null,t?.()):a??null}},3168:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>o});var n=a(7294),r=a(2389),i=a(5166);function o(){const e=(0,r.Z)()&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",t=i?.[e];return n.createElement("div",{className:"section bg-light"},n.createElement("div",{className:"container"},n.createElement("div",{className:"row text-center"},n.createElement("div",{className:"col-12"},n.createElement("div",{className:"mb-5"},n.createElement("h2",{className:"h3 fw-bold"},t.common.coreFeatures),n.createElement("hr",{className:"divider my-4 mx-auto"}),n.createElement("p",{className:"lead text-muted"},t.common.coreFeaturesDesc))),t.feature.map(((e,t)=>n.createElement("div",{className:"col-md-4 col-6 px-4 px-md-3 cursor-pointer",key:t,"data-aos":"fade-up","data-aos-delay":t%3*100},n.createElement("div",{className:"feature-children p-4 mb-5 rounded-3 bg-white shadow-sm hover-box-up"},n.createElement("div",{className:"text-primary text-center mb-3"},n.createElement("div",{className:"features-icon"},n.createElement("i",{className:e.icon}))),n.createElement("h3",{className:"h5"},e.title),n.createElement("p",null,e.details))))))))}},9786:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>v});var n=a(7294),r=a(2389),i=a(5166);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...r}=e;return n.createElement("svg",o({xmlns:"http://www.w3.org/2000/svg",className:"rotate-315",width:"2rem",height:"2rem",fill:"currentColor",viewBox:"0 0 512 512","aria-labelledby":a},r),t?n.createElement("title",{id:a},t):null,n.createElement("path",{d:"M461.81 53.81a4.4 4.4 0 0 0-3.3-3.39c-54.38-13.3-180 34.09-248.13 102.17a294.9 294.9 0 0 0-33.09 39.08c-21-1.9-42-.3-59.88 7.5-50.49 22.2-65.18 80.18-69.28 105.07a9 9 0 0 0 9.8 10.4l81.07-8.9a180.29 180.29 0 0 0 1.1 18.3 18.15 18.15 0 0 0 5.3 11.09l31.39 31.39a18.15 18.15 0 0 0 11.1 5.3 179.91 179.91 0 0 0 18.19 1.1l-8.89 81a9 9 0 0 0 10.39 9.79c24.9-4 83-18.69 105.07-69.17 7.8-17.9 9.4-38.79 7.6-59.69a293.91 293.91 0 0 0 39.19-33.09c68.38-68 115.47-190.86 102.37-247.95ZM298.66 213.67a42.7 42.7 0 1 1 60.38 0 42.65 42.65 0 0 1-60.38 0Z",style:{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:32}}),n.createElement("path",{d:"M109.64 352a45.06 45.06 0 0 0-26.35 12.84C65.67 382.52 64 448 64 448s65.52-1.67 83.15-19.31A44.73 44.73 0 0 0 160 402.32",style:{color:"#ffcc43",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:32}}))};var c;function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...r}=e;return n.createElement("svg",s({width:200,height:200,viewBox:"0 0 200 200",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":a},r),t?n.createElement("title",{id:a},t):null,c||(c=n.createElement("path",{fill:"currentColor",d:"M142.5 33.8c14.6 9.5 30 17.8 38.6 30.9 8.7 13.1 10.7 30.9 8.5 48.3-2.3 17.4-8.9 34.4-20.1 47.1-11.2 12.8-27.1 21.4-43.6 24.5-16.4 3.2-33.3.8-48.6-4.8-15.2-5.7-28.8-14.6-38.2-26.5-9.5-11.9-14.9-26.7-18.1-42.5-3.1-15.8-4.1-32.5 1.3-47.2 5.3-14.6 17-27.3 31-37.1S83.6 9.9 98.8 11.8c15.1 1.9 29 12.5 43.7 22Z"})))};var m,u,f;function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...r}=e;return n.createElement("svg",p({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1440 320","aria-labelledby":a},r),t?n.createElement("title",{id:a},t):null,m||(m=n.createElement("path",{className:"opacity-20 translate-top-2",fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})),u||(u=n.createElement("path",{className:"opacity-30 translate-top-1",fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})),f||(f=n.createElement("path",{fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})))};function v(){const e=(0,r.Z)(),t=e&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",a=e&&0===location.pathname.indexOf("/zh-CN/")?"/zh-CN":"",o=i?.[t];return n.createElement("div",{className:"section bg-gradient-primary pb-9 pt-7 overflow-hidden"},n.createElement("div",{className:"overlay bg-gradient-primary opacity-90 z-index-n1"}),n.createElement("div",{className:"particle"},n.createElement("div",{className:"particle-move-up d-none d-block particle-move-up-1 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"2rem",height:"2rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-2 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1rem",height:"1rem"})),n.createElement("div",{className:"particle-move-up d-none d-sm-block particle-move-up-3 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1.5rem",height:"1.5rem"})),n.createElement("div",{className:"particle-move-up d-none d-xl-block particle-move-up-4 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1rem",height:"1rem"})),n.createElement("div",{className:"particle-move-up d-none d-sm-block particle-move-up-5 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1.2rem",height:"1.2rem"})),n.createElement("div",{className:"particle-move-up border-success text-light particle-move-up-6 z-index-n1 opacity-60"},n.createElement(l,{width:"2rem",height:"2rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-7 z-index-n1 text-light opacity-60"},n.createElement(l,{width:"1.5rem",height:"1.5rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-8 z-index-n1 text-light opacity-60"},n.createElement(l,{width:"1.2rem",height:"1.2rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-9 z-index-n1 text-light opacity-60"},n.createElement(l,{width:"2rem",height:"2rem"}))),n.createElement("figure",{className:"scribble scale-4 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"300"},n.createElement(d,{className:"text-secondary"})),n.createElement("figure",{className:"scribble scale-5 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"200"},n.createElement(d,{className:"text-secondary"})),n.createElement("figure",{className:"scribble scale-6 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"100"},n.createElement(d,{className:"text-secondary"})),n.createElement("figure",{className:"scribble scale-7 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right"},n.createElement(d,{className:"text-secondary"})),n.createElement("div",{className:"container-fluid px-7 pb-2"},n.createElement("div",{className:"row justify-content-center"},n.createElement("div",{className:"col-md-6 col-8 align-self-center pe-5","data-aos":"fade-right"},n.createElement("div",{className:"text-start mt-0"},n.createElement("div",{className:"mb-5 system_info pt-0"},n.createElement("div",{className:"project_title fw-bold text-white mb-3"},n.createElement("div",{className:"d-flex justify-content-center align-items-start"},n.createElement("div",{className:"animated-gradient-text_background animated-gradient-text_background-2",style:{"--content":'"SolidUI"',"--start-color":"#FFF","--end-color":"#00DFD8"}},n.createElement("span",{className:"animated-gradient-text_foreground animated-gradient-text_foreground-2"},"SolidUI")))),n.createElement("p",{className:"lead text-light text-center"},o.slogan.description)),n.createElement("div",{className:"d-flex justify-content-center align-items-start"},n.createElement("a",{className:"btn streampark-btn btn mt-30 ztop",href:"https://github.com/CloudOrc/SolidUI",target:"_blank"},n.createElement("i",{className:"lni-github-original"}),"\xa0GitHub"),n.createElement("a",{className:"btn streampark-btn btn-green mt-30 ml-3 ztop",href:`/SolidUI-Website${a}/docs/user-guide/quick-start`,style:{marginLeft:"10px"}},n.createElement("i",{className:"lni-play"}),"\xa0Get started")),n.createElement("div",{style:{marginTop:"20px"},className:"shields ztop d-flex justify-content-center align-items-start"},n.createElement("a",{target:"_blank",href:"https://www.apache.org/licenses/LICENSE-2.0.html"},n.createElement("img",{src:"https://img.shields.io/badge/license-Apache%202-blue.svg",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://github.com/CloudOrc/SolidUI"},n.createElement("img",{src:"https://img.shields.io/github/stars/CloudOrc/SolidUI.svg?sanitize=true",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://github.com/CloudOrc/SolidUI/fork"},n.createElement("img",{src:"https://img.shields.io/github/forks/CloudOrc/SolidUI.svg?sanitize=true",className:"wow fadeInUp"})),n.createElement("a",{href:""},n.createElement("img",{src:"https://img.shields.io/github/languages/count/CloudOrc/SolidUI",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://huggingface.co/spaces/CloudOrc/SolidUI"},n.createElement("img",{src:"https://img.shields.io/badge/%F0%9F%A4%97%20-Hugging%20Face%20Spaces-blue",className:"wow fadeInUp"})),n.createElement("a",{href:"https://www.producthunt.com/posts/solidui?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-solidui",target:"_blank"},n.createElement("img",{src:"https://img.shields.io/badge/producthunt-blue",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://discord.gg/NGRNu2mGeQ"},n.createElement("img",{src:"https://img.shields.io/badge/discord-blue",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://gitee.com/CloudOrc/SolidUI"},n.createElement("img",{src:"https://shields.io/badge/%E2%AD%90-Gitee-blue",alt:"gitee",className:"wow fadeInUp"}))))))),n.createElement("figure",{className:"waves-bottom-center text-light mb-n4 z-index-n1"},n.createElement(h,null)))}},2875:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>d});var n=a(7294),r=a(1262),i=a(9786),o=a(3168),l=a(5995),c=a(2711),s=a.n(c);function d(){return n.createElement(r.Z,{fallback:n.createElement("div",{id:"preloader"})},(()=>(s().init({offset:100,duration:700,easing:"ease-out-quad",once:!0}),window.addEventListener("load",s().refresh),n.createElement("div",{className:"home-wrap"},n.createElement(i.default,null),n.createElement(o.default,null),n.createElement(l.default,null)))))}},5995:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>_});var n,r,i,o,l,c,s,d,m,u,f,p,h,v,b,g,y,w,E,x,z,k,N,O,M,j=a(7294),H=(a(2389),a(4996));a(5166);function S(){return S=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...H}=e;return j.createElement("svg",S({"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 509.23 364.6","aria-labelledby":a},H),t?j.createElement("title",{id:a},t):null,n||(n=j.createElement("defs",null,j.createElement("linearGradient",{id:"a",x1:225,y1:279.58,x2:246.68,y2:279.58,gradientUnits:"userSpaceOnUse"},j.createElement("stop",{offset:0,stopColor:"#e5c6d6"}),j.createElement("stop",{offset:.42,stopColor:"#ead4d0"}),j.createElement("stop",{offset:1,stopColor:"#f0e9cb"})),j.createElement("linearGradient",{id:"d",x1:196.9,y1:214.27,x2:270.4,y2:214.27,xlinkHref:"#a"}),j.createElement("linearGradient",{id:"b",x1:235.47,y1:403.52,x2:245.47,y2:302.39,gradientUnits:"userSpaceOnUse"},j.createElement("stop",{offset:0,stopColor:"#010101",stopOpacity:0}),j.createElement("stop",{offset:.95,stopColor:"#010101"})),j.createElement("linearGradient",{id:"e",x1:236.71,y1:341.09,x2:236.71,y2:400.36,xlinkHref:"#b"}),j.createElement("linearGradient",{id:"c",x1:224.9,y1:346.73,x2:252.31,y2:206.71,gradientUnits:"userSpaceOnUse"},j.createElement("stop",{offset:0,stopColor:"#fff",stopOpacity:0}),j.createElement("stop",{offset:.95,stopColor:"#fff"})),j.createElement("linearGradient",{id:"f",x1:210.88,y1:311.27,x2:250.61,y2:311.27,xlinkHref:"#b"}),j.createElement("linearGradient",{id:"g",x1:223.84,y1:324.62,x2:258.66,y2:324.62,xlinkHref:"#c"}),j.createElement("linearGradient",{id:"h",x1:170.56,y1:395.25,x2:224.36,y2:395.25,xlinkHref:"#a"}),j.createElement("linearGradient",{id:"i",x1:259.78,y1:395.21,x2:306.81,y2:395.21,xlinkHref:"#a"}))),j.createElement("path",{d:"M47.72 209.34c5.86-11.1 15.44-21.13 15.81-33.68.26-9.18-4.56-17.6-8.09-26.09-18-43.23.64-98.39 41.13-121.9 22.1-12.83 48.29-16.49 73.8-17.93a500.35 500.35 0 0 1 86.79 2.63c16.88 2 34.55 5.23 47.61 16.1 20.47 17 23.36 46.63 31.14 72.09 13.67 44.72 47.42 82.87 90.13 101.9 7.73 3.44 15.92 6.4 22.17 12.1 13.71 12.48 13.85 34.94 5.4 51.44s-23.52 28.43-38.17 39.83l-45.46 35.45c-9.2 7.17-18.62 14.47-29.65 18.26-36.75 12.64-86.6-2.22-124.75-3.91-24.63-1.1-50.74 1.34-74.81-5.08-53.28-14.23-124.33-81.88-93.05-141.21z",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),j.createElement("rect",{x:271.83,y:187.67,width:136.11,height:83.47,rx:10.6,transform:"rotate(-180 338.605 204.39)",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),j.createElement("rect",{x:71.79,y:227.5,width:105.11,height:65.32,rx:8.24,transform:"rotate(-180 123.06 235.14)",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),j.createElement("path",{d:"M482.81 165.57h-160a26.46 26.46 0 0 1-26.43-26.42V26.53A26.46 26.46 0 0 1 322.81.1h160a26.46 26.46 0 0 1 26.42 26.43v112.62a26.45 26.45 0 0 1-26.42 26.42zm-160-161.52a22.5 22.5 0 0 0-22.48 22.48v112.62a22.5 22.5 0 0 0 22.48 22.47h160a22.5 22.5 0 0 0 22.47-22.47V26.53a22.5 22.5 0 0 0-22.47-22.48zM200.05 73.42h-64.9a11.9 11.9 0 0 1-11.89-11.89V15.86a11.9 11.9 0 0 1 11.89-11.9h64.9a11.9 11.9 0 0 1 11.89 11.9v45.67a11.9 11.9 0 0 1-11.89 11.89zm-64.9-65.46a8 8 0 0 0-7.94 7.94v45.67a8 8 0 0 0 7.94 7.94h64.9a8 8 0 0 0 7.94-7.94V15.86a8 8 0 0 0-7.94-7.9z",fill:"#4b39ef",opacity:.63,style:{isolation:"isolate"}}),r||(r=j.createElement("path",{d:"M225.82 292.41a6.15 6.15 0 0 0 1 3.21 4.57 4.57 0 0 0 2.14 1.39c3.82 1.35 8-.21 11.75-1.76a10.11 10.11 0 0 0 4.36-2.77 9.44 9.44 0 0 0 1.47-5.29 79.24 79.24 0 0 0-.93-18.07 9.62 9.62 0 0 0-1.53-4.39c-1.85-2.45-5.33-2.78-8.4-2.9-7.73-.29-10-1.28-10.44 6.82a147.34 147.34 0 0 0 .58 23.76z",transform:"translate(-2.56 -50.04)",fill:"url(#a)"})),i||(i=j.createElement("path",{d:"M203.56 234.62a41 41 0 0 0 7.62 11.63 32.35 32.35 0 0 0 49.6-3.51c4.8-6.69 6.86-14.94 8.3-23.05 1.25-7.1 2.1-14.49.25-21.46-2.43-9.11-9.4-16.62-17.8-20.88s-18.1-5.5-27.5-4.83c-5.88.43-11.82 1.62-16.93 4.54-10.1 5.74-10.56 13.7-10.1 24.08.55 11.38 1.83 22.99 6.56 33.48z",transform:"translate(-2.56 -50.04)",fill:"url(#d)"})),o||(o=j.createElement("path",{d:"M222.9 97.08c-2.78-3-6.07-6.06-10.17-6.55s-8.78 2.9-8 7c-6.35-3.05-13.79-5.56-20.29-2.85-5.46 2.26-9 8-9.76 13.82s1 11.82 3.76 17a28.37 28.37 0 0 0 6.13 8.1c5.86 5.16 14 6.6 21.78 7.51 13.2 1.54 26.84 2.1 39.49-2 3.82-1.23 8.59-2.67 11.37.23 2.07 2.15 2.69 6.41 5.68 6.4 2.42 0 3.52-3 3.75-5.43a44.83 44.83 0 0 0-1.72-17.12c-2.91-9.63-9.84-17-20.39-16.92-9.77.12-14.88-1.81-21.63-9.19z",fill:"#e08142"})),l||(l=j.createElement("rect",{x:199.58,y:149.95,width:25.75,height:17.78,rx:7.23,fill:"none",stroke:"#fff",strokeMiterlimit:10,strokeWidth:3.95})),c||(c=j.createElement("rect",{x:234.6,y:149.95,width:25.75,height:17.78,rx:7.23,fill:"none",stroke:"#fff",strokeMiterlimit:10,strokeWidth:3.95})),s||(s=j.createElement("path",{fill:"#fff",d:"M223.07 156.99h14.35v2.13h-14.35zm-33.49-2.22h11.67v3.33h-11.67zm69.27 1.3h12.97v2.22h-12.97z"})),d||(d=j.createElement("path",{d:"M197.07 185.74a40.73 40.73 0 0 0 .66 9.62c1.62 7 7 12.79 13.38 16.08a51.41 51.41 0 0 1 5.55 2.92c1.82 1.25 3.33 2.93 5.16 4.18a14.17 14.17 0 0 0 14.94.45c1.39-.83 2.77-1.95 4.39-1.87 1.24 0 2.32.81 3.49 1.21 2.67.91 5.59-.08 8.15-1.27s4.93-2.61 6-5.05c.71-1.58.74-3.37 1.08-5.07.86-4.36 3.67-8.06 5.4-12.16 3.6-8.49 2.4-18.16 1.14-27.29l-4.16 6.89c-1.4 2.32-3 4.79-5.54 5.71-3.35 1.19-6.91-.75-10.15-2.24a42.21 42.21 0 0 0-32.68-.85c-2.16.86-4.45 1.92-6.72 1.38-2.7-.64-6.65-7.74-8.78-7.12-2.6.78-1.29 12.3-1.31 14.48z",fill:"#e08142"})),m||(m=j.createElement("path",{d:"M223.3 233.22c27.08-3.86 55.85 9.87 69.89 33.35 4.68 7.84 7.82 16.57 13 24.1 5.47 8 13 14.29 19.29 21.63a87.06 87.06 0 0 1 12.65 19.59c3 6.44 5.13 14.48 1.1 20.35-3.7 5.4-11 6.7-17.55 7.19-13 1-26.11.67-39.17.34l-128.32-3.17c-5.72-.14-11.58-.31-16.89-2.44s-10-6.69-10.68-12.37c-1-8.32 6.45-14.84 12-21.13 16.13-18.36 19.74-45.07 35.28-63.93a63.48 63.48 0 0 1 47.54-22.77",fill:"#4b39ef"})),u||(u=j.createElement("path",{d:"M225.86 283.26c27.08-3.86 55.85 9.87 69.89 33.35 4.68 7.84 7.82 16.57 13 24.1 5.47 8 13 14.29 19.29 21.63a87.06 87.06 0 0 1 12.65 19.59c3 6.44 5.13 14.48 1.1 20.35-3.7 5.4-11 6.7-17.55 7.19-13 1-26.11.67-39.17.34l-128.32-3.17c-5.72-.14-11.58-.31-16.89-2.44s-10-6.69-10.68-12.37c-1-8.32 6.45-14.84 12-21.13 16.13-18.36 19.74-45.07 35.28-63.93A63.48 63.48 0 0 1 224 284",transform:"translate(-2.56 -50.04)",fill:"url(#b)"})),f||(f=j.createElement("path",{fill:"#4b39ef",d:"M178.65 350.18h116.13v7.78H178.65z"})),p||(p=j.createElement("path",{fill:"url(#e)",d:"M178.65 350.18h116.13v7.78H178.65z"})),h||(h=j.createElement("rect",{x:146.6,y:221.64,width:182.66,height:110.39,rx:20.61,fill:"#4b39ef"})),v||(v=j.createElement("rect",{x:146.6,y:224.97,width:182.66,height:110.39,rx:20.61,fill:"url(#c)"})),b||(b=j.createElement("path",{opacity:.26,fill:"url(#f)",d:"m210.88 330.71 19.44-39.43h17.79l2.5 39.99-39.73-.56z"})),g||(g=j.createElement("path",{fill:"#4b39ef",d:"M257 357.96h-34.83l8.15-66.68h17.79l8.89 66.68z"})),y||(y=j.createElement("path",{fill:"url(#g)",d:"M258.66 357.96h-34.82l8.15-66.68h17.78l8.89 66.68z"})),w||(w=j.createElement("rect",{x:298.33,width:208.93,height:161.51,rx:24.45,fill:"#fff"})),j.createElement("path",{d:"M124.69 200.25H18.23A18.26 18.26 0 0 1 0 182.01V107.1a18.26 18.26 0 0 1 18.23-18.24h106.46a18.26 18.26 0 0 1 18.23 18.24v74.91a18.26 18.26 0 0 1-18.23 18.24zM18.23 92.81A14.31 14.31 0 0 0 3.94 107.1v74.91a14.31 14.31 0 0 0 14.29 14.29h106.46a14.31 14.31 0 0 0 14.29-14.29V107.1a14.31 14.31 0 0 0-14.29-14.29z",fill:"#4b39ef",opacity:.63,style:{isolation:"isolate"}}),E||(E=j.createElement("rect",{x:1.97,y:88.16,width:138.98,height:107.44,rx:16.26,fill:"#fff"})),x||(x=j.createElement("rect",{x:124.96,y:4.14,width:84.73,height:65.5,rx:9.91,fill:"#fff"})),z||(z=j.createElement("path",{d:"m135.76 37.58 21.38-11v3.18l-18 9v.1l18 9v3.19l-21.38-11zm24.36 15.38 12.86-33.42h3.13l-12.9 33.42zm40.26-12.76-21.36 11v-3.24l18.15-9v-.15l-18.15-9v-3.24l21.36 11z",fill:"#4b39ef"})),k||(k=j.createElement("path",{d:"M212.62 385.73c-4.58-.92-9.3-.08-14 .06-4.48.13-9-.4-13.43 0s-9.07 2-11.93 5.41a11.85 11.85 0 0 0-2.72 7.93 6.21 6.21 0 0 0 .8 3.08c1.22 1.95 3.76 2.54 6 2.87a4.06 4.06 0 0 0 1.39 0c1.65-.36 2.23-2.48 3.66-3.36a5.64 5.64 0 0 1 3.13-.54q17.58.36 35.17-.14a4.63 4.63 0 0 0 2.33-.48c3.2-2-.5-6.48-1.65-8.62a12.66 12.66 0 0 0-8.75-6.21z",transform:"translate(-2.56 -50.04)",fill:"url(#h)"})),N||(N=j.createElement("path",{d:"M261.4 391.74c-1.61 2.21-2.49 5.72-.32 7.38 1.95 1.5 4.81.26 6.63-1.39s3.48-3.79 5.9-4.26c.36 2.1.84 4.4 2.56 5.65 2.61 1.9 6.21.26 9.43.29 2.9 0 6.21 1.37 8.45-.48 1.16-1 2.48-2.77 3.68-1.85a2.39 2.39 0 0 1 .69 1.23 34.38 34.38 0 0 0 4.8 9.45c1.46.57 2.56-1.41 2.84-3a47.44 47.44 0 0 0 .51-13.14c-.24-2.44-.76-5-2.5-6.76-2.27-2.27-5.86-2.37-9.07-2.32l-12.88.19c-7.66.15-15.95 2.49-20.72 9.01z",transform:"translate(-2.56 -50.04)",fill:"url(#i)"})),j.createElement("path",{d:"M251.99 261.53a12.77 12.77 0 1 1-12.79-12.79 8.57 8.57 0 0 1 2 .2 12.61 12.61 0 0 0 10.74 12.12 1.83 1.83 0 0 1 .05.47z",fill:"#4b39ef",opacity:.59,style:{isolation:"isolate"}}),O||(O=j.createElement("path",{d:"M324.96 21.4h53.4v3.92h-53.4zm0 7.58h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.59h44.82v3.88h-44.82zm14.39 7.58h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.58h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-76.45 10.25h53.4v3.92h-53.4zm0 7.58h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.58h44.82v3.88h-44.82zm14.39 7.59h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.58h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-76.45 10.26h53.4v3.92h-53.4zm0 7.57h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.58h44.82v3.88h-44.82zm14.39 7.58h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.6h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-382.9-27.97H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.94h29.12v2.52H29.52zm9.35 4.92h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.93h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17zm-49.66 6.66H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.93h29.12v2.52H29.52zm9.35 4.93h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.92h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17zm-49.66 6.67H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.92h29.12v2.52H29.52zm9.35 4.93h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.93h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17z",opacity:.52,fill:"#4b39ef"})),M||(M=j.createElement("path",{d:"M338.05 250.67c.32-1.71.66-3.42 1-5.13.18-1 .35-1.93.54-3 1.6.27 3.16.52 4.71.82a.8.8 0 0 0 1.05-.52c.7-1.36 1.48-2.68 2.3-4a.77.77 0 0 0-.07-1.12c-1-1.19-2-2.42-3.11-3.69l6.7-5.63c1 1.23 2.06 2.42 3.05 3.65a.84.84 0 0 0 1.22.28 33.56 33.56 0 0 1 4.14-1.51c.65-.19.8-.45.79-1.06v-4.65h8.74v4.67c0 .62.16.85.79 1a35.33 35.33 0 0 1 4.14 1.52.83.83 0 0 0 1.21-.3c1-1.21 2-2.39 3.05-3.64l6.69 5.62-3.43 4.11c.93 1.71 1.8 3.35 2.73 4.95.1.18.54.27.8.23 1.56-.24 3.12-.53 4.78-.82l1.52 8.6c-1.63.29-3.21.56-4.78.87-.26.05-.64.29-.68.5-.31 1.82-.56 3.65-.85 5.58l4.62 2.68-4.37 7.57-4.65-2.67c-1.5 1.2-2.95 2.34-4.38 3.53a.83.83 0 0 0-.13.74c.52 1.55 1.09 3.08 1.67 4.68l-8.21 3c-.51-1.39-1.06-2.75-1.49-4.15a1.19 1.19 0 0 0-1.5-1 31.73 31.73 0 0 1-4.25 0 .71.71 0 0 0-.87.58c-.52 1.5-1.08 3-1.66 4.56l-8.22-3 1.84-5.08-4.63-3.9-4.69 2.7-4.38-7.57c1.45-.84 2.81-1.64 4.19-2.41a.76.76 0 0 0 .43-1 44.39 44.39 0 0 1-.76-4.27c-.09-.7-.25-1-1-1.13-1.52-.17-3-.5-4.52-.77zm26.76-10.43a11.17 11.17 0 1 0 11 11.36 11.23 11.23 0 0 0-11-11.36zm48.72 35.72 1.91 6c-1.11.37-2.18.69-3.21 1.08a.91.91 0 0 0-.51.65c-.09 1.06-.06 2.12-.14 3.18a.7.7 0 0 0 .53.85c1 .37 2 .81 3.08 1.25-.8 2-1.56 3.85-2.35 5.79-1.09-.44-2.12-.89-3.17-1.26a.91.91 0 0 0-.8.18c-.84.89-1.63 1.84-2.51 2.85l1.79 3.42-5.52 2.94c-.55-1-1.05-2-1.6-3a.88.88 0 0 0-.66-.4c-1.27.15-2.54.38-3.85.58l-.83 3.77-6.1-1.31.79-3.77c-1.13-.74-2.21-1.47-3.32-2.15a.79.79 0 0 0-.7.12c-.9.66-1.77 1.36-2.71 2.09l-3.85-4.93c.92-.72 1.76-1.4 2.63-2.05a.67.67 0 0 0 .3-.94 27.5 27.5 0 0 1-1-2.95.68.68 0 0 0-.78-.62h-3.16v-6.3h3.94c.5-1.18 1-2.36 1.51-3.57.07-.18-.12-.55-.29-.72-.78-.76-1.61-1.47-2.47-2.25l4.18-4.65 2.88 2.57c1.22-.62 2.41-1.2 3.58-1.84.14-.08.2-.46.18-.68-.12-1.08-.29-2.16-.45-3.33l6.19-.86c.16 1.11.32 2.13.43 3.16.06.58.3.82.91.89a19.56 19.56 0 0 1 2.71.59.77.77 0 0 0 1.06-.39c.53-.93 1.12-1.81 1.74-2.79l5.29 3.32-2 3.27c.79 1.07 1.56 2.13 2.37 3.14a1 1 0 0 0 .77.12c1.06-.31 2.12-.66 3.21-1.05zm-16.8 16.75a8 8 0 1 0-8.12-7.84 8 8 0 0 0 8.12 7.87zm18.19-50.61 2.41-1.89 3.06 3.87c-.59.47-1.11 1-1.7 1.34s-.81.81-.41 1.46a2.94 2.94 0 0 1 .3.76c.52 1.58.52 1.58 2.22 1.65h1.21v4.89h-2.55c-.47 0-.7.11-.8.57a6.05 6.05 0 0 1-.36 1.09c-.62 1.55-.63 1.55.65 2.68l1 .87-3.28 3.69-2.3-2c-.9.47-1.8.91-2.67 1.41a.82.82 0 0 0-.25.65c.08.84.22 1.67.34 2.58l-4.87.71c-.13-.89-.23-1.73-.41-2.54a.93.93 0 0 0-.56-.6c-.9-.23-1.81-.38-2.82-.58l-1.63 2.6-4.19-2.59c.45-.74.86-1.45 1.31-2.13a.63.63 0 0 0-.08-1 8.61 8.61 0 0 1-.95-1.13c-.77-1.07-.76-1.07-2.05-.65-.51.18-1 .34-1.66.54l-1.55-4.67c.81-.27 1.56-.55 2.34-.77a.72.72 0 0 0 .61-.87 13.67 13.67 0 0 1 .08-2.12.69.69 0 0 0-.53-.85c-.77-.27-1.52-.59-2.33-.92l1.82-4.58c.84.33 1.62.67 2.42.93a.87.87 0 0 0 .75-.16c.66-.69 1.26-1.43 1.93-2.2l-1.42-2.7 4.33-2.34 1.48 2.69 3.36-.5.64-3 4.82 1c-.17.84-.32 1.63-.5 2.42a.73.73 0 0 0 .43 1c.79.38 1.54.89 2.36 1.39zm-14 9.24a6.28 6.28 0 1 0 6.39-6.26 6.22 6.22 0 0 0-6.38 6.26z",opacity:.61,fill:"#4b39ef"})))};function _(){return j.createElement("div",{className:"section py-6 py-md-7 bg-white"},j.createElement("div",{className:"container"},j.createElement("div",{className:"row mb-5 mt-5 mb-lg-7"},j.createElement("div",{className:"col-6 align-self-center"},j.createElement("div",{className:"px-5 px-md-7 mb-5 my-lg-0","data-aos":"fade-up","data-aos-delay":"100"},j.createElement(C,{className:"img-fluid"}))),j.createElement("div",{className:"col-6 "},j.createElement("div",{className:"mb-5 my-lg-0","data-aos":"fade-up","data-aos-delay":"200"},j.createElement("img",{src:(0,H.Z)("/home/ai2d.png"),alt:""}))))))}},9754:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>c});var n=a(7294),r=a(179),i=a(2263),o=a(2875),l=a(2389);function c(){const e=(0,l.Z)(),{siteConfig:t}=(0,i.Z)(),a=e&&location.pathname;return(0,n.useEffect)((()=>{if(e){const e=document.getElementsByTagName("nav")[0],t=e&&e.classList;if(!t)return;"/"===a||"/zh-CN/"===a?t.add("index-nav"):t.remove("index-nav")}}),[e,a]),n.createElement(r.Z,{title:t.title,description:"Description will go into a meta tag in "},n.createElement("main",null,n.createElement(o.default,null)))}},5166:e=>{"use strict";e.exports=JSON.parse('{"zh-CN":{"common":{"getStart":"\u5feb\u901f\u5f00\u59cb","architecture":"\u7cfb\u7edf\u67b6\u6784","learnMore":"\u4e86\u89e3\u66f4\u591a","coreFeatures":"\u6838\u5fc3\u7279\u6027","coreFeaturesDesc":"\u8ba9\u60a8\u7684\u9879\u76ee\u66f4\u8f7b\u677e\u7684\u6838\u5fc3\u7279\u6027","honor":"\u6211\u4eec\u7684\u8363\u8a89","ourUsers":"Our Users","readMore":"\u9605\u8bfb\u66f4\u591a","download":"\u4e0b\u8f7d","releaseDate":"\u53d1\u5e03\u65e5\u671f","newFeatures":"\u65b0\u7279\u6027","enhancement":"\u589e\u5f3a\u70b9","bugFixs":"\u95ee\u9898\u4fee\u590d","changeLog":"\u8be6\u7ec6\u53d8\u66f4"},"slogan":{"key":"AI\u751f\u6210\u56fe\u5f62\u6a21\u578b","description":"\u4e00\u53e5\u8bdd\u751f\u6210\u4efb\u4f55\u56fe\u5f62"},"feature":[{"title":"AI\u751f\u62102D\u56fe\u5f62","icon":"lni-bar-chart","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd2D\u56fe\u5f62"},{"title":"AI\u751f\u62103D\u573a\u666f","icon":"lni-dropbox","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd3D\u573a\u666f"},{"title":"\u591a\u79cd\u6570\u636e\u6e90","icon":"lni-database","details":"\u6570\u636e\u6e90\u63d2\u4ef6\u4e0e\u63d0\u793a\u8bcd\u7ed3\u5408"},{"title":"\u4e09\u65b9\u63d2\u4ef6\u673a\u5668\u4eba","icon":"lni-game","details":"\u4e3a\u4e86\u63d0\u4f9b\u66f4\u597d\u670d\u52a1\uff0c\u652f\u6301\u63d2\u4ef6\u673a\u5668\u4eba\uff0c\u4f8b\u5982Huggingface space"},{"title":"\u53ef\u89c6\u5316\u6a21\u578b","icon":"lni-eye","details":"\u4e3a\u4e86\u66f4\u597d\u751f\u6210\u53ef\u89c6\u5316\u56fe\u5f62\uff0c\u81ea\u7814\u53ef\u89c6\u5316\u6a21\u578b"},{"title":"\u5bb9\u5668\u5316\u90e8\u7f72","icon":"lni-soundcloud","details":"\u4e3a\u4e86\u5feb\u901f\u4f7f\u7528\uff0c\u652f\u6301\u5bb9\u5668\u5316\u90e8\u7f72"}],"honor":{"description":"\u6211\u4eec\u83b7\u5f97\u4e86\u4e9b\u6b8a\u8363\uff0c\u8fd9\u4e9b\u8363\u8a89\u5c5e\u4e8e\u6240\u6709\u4e3a SolidUI \u505a\u51fa\u8d21\u732e\u7684\u4eba\uff0c\u611f\u8c22\u60a8\u7684\u4ed8\u51fa\uff01"}},"en":{"common":{"getStart":"Quick Start","architecture":"System Architecture","description":"Description","learnMore":"Learn More","coreFeatures":"Core Features","coreFeaturesDesc":"Modern features that will make your project easier.","honor":"Our Honor","ourUsers":"Our Users","readMore":"Read More","download":"Download","releaseDate":"Release Date","newFeatures":"New Features","enhancement":"Enhancement point","bugFixs":"Bug Fix","changeLog":"Changelog"},"slogan":{"key":"AI-generated Graphic Models","description":"one sentence generates any graph"},"feature":[{"title":"AI generated 2D graphics","icon":"lni-bar-chart","details":"Generate various 2D graphics based on the visualization model"},{"title":"AI generated 3D scene","icon":"lni-dropbox","details":"Generate various 3D scenes based on the visualization model"},{"title":"Multiple data sources","icon":"lni-database","details":"Data source plugin combined with prompt words"},{"title":"Three-party plug-in robot","icon":"lni-game","details":"In order to provide better service, support plug-in robots, such as Huggingface space"},{"title":"Visualization Model","icon":"lni-eye","details":"In order to better generate visualization graphics, self-developed visualization model"},{"title":"Containerized Deployment","icon":"lni-soundcloud","details":"For quick use, support containerized deployment"}],"honor":{"description":"We have received some precious honors, which belong to everyone who contributes to SolidUI, Thanks"}}}')}}]); \ No newline at end of file diff --git a/assets/js/210a63df.f435c7a7.js b/assets/js/210a63df.f435c7a7.js new file mode 100644 index 00000000..0786c42b --- /dev/null +++ b/assets/js/210a63df.f435c7a7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3378],{6115:e=>{e.exports=JSON.parse('[{"label":"SolidUI","permalink":"/SolidUI-Website/blog/tags/solid-ui","count":6},{"label":"AI","permalink":"/SolidUI-Website/blog/tags/ai","count":3},{"label":"stable-diffusion","permalink":"/SolidUI-Website/blog/tags/stable-diffusion","count":6},{"label":"AIGC","permalink":"/SolidUI-Website/blog/tags/aigc","count":3}]')}}]); \ No newline at end of file diff --git a/assets/js/2208a986.e691e62c.js b/assets/js/2208a986.e691e62c.js new file mode 100644 index 00000000..a1fbc8a1 --- /dev/null +++ b/assets/js/2208a986.e691e62c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3047],{3905:(e,t,a)=>{a.d(t,{Zo:()=>m,kt:()=>k});var i=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,i)}return a}function l(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var u=i.createContext({}),p=function(e){var t=i.useContext(u),a=t;return e&&(a="function"==typeof e?e(t):l(l({},t),e)),a},m=function(e){var t=p(e.components);return i.createElement(u.Provider,{value:t},e.children)},d="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},c=i.forwardRef((function(e,t){var a=e.components,r=e.mdxType,n=e.originalType,u=e.parentName,m=o(e,["components","mdxType","originalType","parentName"]),d=p(a),c=r,k=d["".concat(u,".").concat(c)]||d[c]||s[c]||n;return a?i.createElement(k,l(l({ref:t},m),{},{components:a})):i.createElement(k,l({ref:t},m))}));function k(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var n=a.length,l=new Array(n);l[0]=c;var o={};for(var u in t)hasOwnProperty.call(t,u)&&(o[u]=t[u]);o.originalType=e,o[d]="string"==typeof e?e:r,l[1]=o;for(var p=2;p{a.r(t),a.d(t,{assets:()=>u,contentTitle:()=>l,default:()=>s,frontMatter:()=>n,metadata:()=>o,toc:()=>p});var i=a(7462),r=(a(7294),a(3905));const n={id:"metadata",title:"Metadata",sidebar_position:3},l=void 0,o={unversionedId:"design/metadata/metadata",id:"design/metadata/metadata",title:"Metadata",description:"Metadata",source:"@site/docs/design/metadata/README.md",sourceDirName:"design/metadata",slug:"/design/metadata/",permalink:"/SolidUI-Website/docs/design/metadata/",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/design/metadata/README.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{id:"metadata",title:"Metadata",sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Frontend Design",permalink:"/SolidUI-Website/docs/design/front-end-architecture/"},next:{title:"Test Case",permalink:"/SolidUI-Website/docs/test/test-case/"}},u={},p=[{value:"Metadata",id:"metadata",level:2},{value:"E-R",id:"e-r",level:2}],m={toc:p},d="wrapper";function s(e){let{components:t,...n}=e;return(0,r.kt)(d,(0,i.Z)({},m,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"metadata"},"Metadata"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"solidui_datasource (Data Source Management)")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"id: Unique identifier of the data source."),(0,r.kt)("li",{parentName:"ul"},"datasource_name: Name of the data source."),(0,r.kt)("li",{parentName:"ul"},"datasource_desc: Description of the data source."),(0,r.kt)("li",{parentName:"ul"},"datasource_type_id: ID of the data source type."),(0,r.kt)("li",{parentName:"ul"},"create_identify: Creation identifier."),(0,r.kt)("li",{parentName:"ul"},"parameter: Parameters."),(0,r.kt)("li",{parentName:"ul"},"create_time: Creation time."),(0,r.kt)("li",{parentName:"ul"},"create_user: User who created the source."),(0,r.kt)("li",{parentName:"ul"},"labels: Labels."),(0,r.kt)("li",{parentName:"ul"},"expire: Expiration indicator.")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"solidui_datasource_type (Data Source Type)")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"id: Unique identifier of the data source type."),(0,r.kt)("li",{parentName:"ul"},"name: Type name."),(0,r.kt)("li",{parentName:"ul"},"description: Type description."),(0,r.kt)("li",{parentName:"ul"},"option: Options."),(0,r.kt)("li",{parentName:"ul"},"classifier: Classifier."),(0,r.kt)("li",{parentName:"ul"},"icon: Icon."),(0,r.kt)("li",{parentName:"ul"},"layers: Layers.")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"solidui_datasource_type_key (Data Source Type Setting)")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"id: Unique identifier of the data source type key."),(0,r.kt)("li",{parentName:"ul"},"data_source_type_id: Data source type ID."),(0,r.kt)("li",{parentName:"ul"},"key: Key."),(0,r.kt)("li",{parentName:"ul"},"name: Name."),(0,r.kt)("li",{parentName:"ul"},"name_en: Name in English."),(0,r.kt)("li",{parentName:"ul"},"default_value: Default value."),(0,r.kt)("li",{parentName:"ul"},"value_type: Value type."),(0,r.kt)("li",{parentName:"ul"},"scope: Scope."),(0,r.kt)("li",{parentName:"ul"},"require: Whether it is required."),(0,r.kt)("li",{parentName:"ul"},"description: Description."),(0,r.kt)("li",{parentName:"ul"},"description_en: Description in English."),(0,r.kt)("li",{parentName:"ul"},"value_regex: Value regular expression."),(0,r.kt)("li",{parentName:"ul"},"update_time: Update time."),(0,r.kt)("li",{parentName:"ul"},"create_time: Creation time.")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"solidui_job_element (Job Element)")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"id: Unique identifier of the job element."),(0,r.kt)("li",{parentName:"ul"},"project_id: Project ID."),(0,r.kt)("li",{parentName:"ul"},"name: Name."),(0,r.kt)("li",{parentName:"ul"},"data: Data."),(0,r.kt)("li",{parentName:"ul"},"data_type: Data type."),(0,r.kt)("li",{parentName:"ul"},"create_time: Creation time."),(0,r.kt)("li",{parentName:"ul"},"update_time: Update time.")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"solidui_job_element_page (Job Element Page)")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"id: Unique identifier of the job element page."),(0,r.kt)("li",{parentName:"ul"},"job_page_id: Job page ID."),(0,r.kt)("li",{parentName:"ul"},"job_element_id: Job element ID."),(0,r.kt)("li",{parentName:"ul"},"position: Position."),(0,r.kt)("li",{parentName:"ul"},"create_time: Creation time."),(0,r.kt)("li",{parentName:"ul"},"update_time: Update time.")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"solidui_job_page (Job Page)")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"id: Unique identifier of the job page."),(0,r.kt)("li",{parentName:"ul"},"project_id: Project ID."),(0,r.kt)("li",{parentName:"ul"},"name: Name."),(0,r.kt)("li",{parentName:"ul"},"parent_id: Parent ID."),(0,r.kt)("li",{parentName:"ul"},"layout: Layout."),(0,r.kt)("li",{parentName:"ul"},"orders: Order."),(0,r.kt)("li",{parentName:"ul"},"create_time: Creation time."),(0,r.kt)("li",{parentName:"ul"},"update_time: Update time.")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"solidui_project (Project Management)")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"id: Unique identifier of the project."),(0,r.kt)("li",{parentName:"ul"},"user_name: Username."),(0,r.kt)("li",{parentName:"ul"},"project_name: Project name."),(0,r.kt)("li",{parentName:"ul"},"image: Project image."),(0,r.kt)("li",{parentName:"ul"},"description: Description."),(0,r.kt)("li",{parentName:"ul"},"create_time: Creation time."),(0,r.kt)("li",{parentName:"ul"},"update_time: Update time."),(0,r.kt)("li",{parentName:"ul"},"status: Project status.")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"solidui_user (User Management)")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"id: Unique identifier of the user."),(0,r.kt)("li",{parentName:"ul"},"user_name: Username."),(0,r.kt)("li",{parentName:"ul"},"user_password: User password."),(0,r.kt)("li",{parentName:"ul"},"create_time: Creation time."),(0,r.kt)("li",{parentName:"ul"},"update_time: Update time."),(0,r.kt)("li",{parentName:"ul"},"queue: Queue.")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"solidui_model_type (Model Type Setting)")),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"id: Unique identifier of the model type."),(0,r.kt)("li",{parentName:"ul"},"name: Name."),(0,r.kt)("li",{parentName:"ul"},"code: output code type"),(0,r.kt)("li",{parentName:"ul"},"type_name: Type name."),(0,r.kt)("li",{parentName:"ul"},"prompt: Prompt."),(0,r.kt)("li",{parentName:"ul"},"token: Token."),(0,r.kt)("li",{parentName:"ul"},"baseurl: Base URL.")),(0,r.kt)("h2",{id:"e-r"},"E-R"),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"metadata",src:a(3496).Z,width:"612",height:"541"})),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"The data source (solidui_datasource) has a data source type (solidui_datasource_type), linked via the datasource_type_id field."),(0,r.kt)("li",{parentName:"ul"},"The data source type (solidui_datasource_type) has one or more data source type keys (solidui_datasource_type_key), linked via the id field."),(0,r.kt)("li",{parentName:"ul"},"The job element (solidui_job_element) exists within a project (solidui_project), linked via the project_id field."),(0,r.kt)("li",{parentName:"ul"},"The job element page (solidui_job_element_page) is linked to a job element (solidui_job_element) and a job page (solidui_job_page), respectively via the job_element_id and job_page_id fields."),(0,r.kt)("li",{parentName:"ul"},"The job page (solidui_job_page) exists within a project (solidui_project), linked via the project_id field."),(0,r.kt)("li",{parentName:"ul"},"The project (solidui_project) is created by a user (solidui_user), linked via the user_name field.")),(0,r.kt)("p",null,"This diagram does not include all tables and fields, it only contains some of the main associations."))}s.isMDXComponent=!0},3496:(e,t,a)=>{a.d(t,{Z:()=>i});const i=a.p+"assets/images/metadata-3e5590d95ac4a94cd4e648ee65817c3e.png"}}]); \ No newline at end of file diff --git a/assets/js/248e03f5.fd64b2c4.js b/assets/js/248e03f5.fd64b2c4.js new file mode 100644 index 00000000..5b5cb256 --- /dev/null +++ b/assets/js/248e03f5.fd64b2c4.js @@ -0,0 +1 @@ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8932],{2711:function(e){e.exports=function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={exports:{},id:o,loaded:!1};return e[o].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var n={};return t.m=e,t.c=n,t.p="dist/",t(0)}([function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var r=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]&&arguments[0]&&(p=!0),p)return m=(0,d.default)(m,b),(0,l.default)(m,b.once),m},v=function(){m=(0,f.default)(),g()},y=function(){m.forEach((function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay")}))},h=function(e){return!0===e||"mobile"===e&&s.default.mobile()||"phone"===e&&s.default.phone()||"tablet"===e&&s.default.tablet()||"function"==typeof e&&!0===e()},w=function(e){b=r(b,e),m=(0,f.default)();var t=document.all&&!window.atob;return h(b.disable)||t?y():(b.disableMutationObserver||c.default.isSupported()||(console.info('\n aos: MutationObserver is not supported on this browser,\n code mutations observing has been disabled.\n You may have to call "refreshHard()" by yourself.\n '),b.disableMutationObserver=!0),document.querySelector("body").setAttribute("data-aos-easing",b.easing),document.querySelector("body").setAttribute("data-aos-duration",b.duration),document.querySelector("body").setAttribute("data-aos-delay",b.delay),"DOMContentLoaded"===b.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?g(!0):"load"===b.startEvent?window.addEventListener(b.startEvent,(function(){g(!0)})):document.addEventListener(b.startEvent,(function(){g(!0)})),window.addEventListener("resize",(0,u.default)(g,b.debounceDelay,!0)),window.addEventListener("orientationchange",(0,u.default)(g,b.debounceDelay,!0)),window.addEventListener("scroll",(0,a.default)((function(){(0,l.default)(m,b.once)}),b.throttleDelay)),b.disableMutationObserver||c.default.ready("[data-aos]",v),m)};e.exports={init:w,refresh:g,refreshHard:v}},function(e,t){},,,,,function(e,t){(function(t){"use strict";function n(e,t,n){function o(t){var n=b,o=g;return b=g=void 0,j=t,y=e.apply(o,n)}function i(e){return j=e,h=setTimeout(l,t),_?o(e):y}function a(e){var n=t-(e-w);return E?x(n,v-(e-j)):n}function c(e){var n=e-w;return void 0===w||n>=t||n<0||E&&e-j>=v}function l(){var e=O();return c(e)?d(e):void(h=setTimeout(l,a(e)))}function d(e){return h=void 0,U&&b?o(e):(b=g=void 0,y)}function f(){void 0!==h&&clearTimeout(h),j=0,b=w=g=h=void 0}function m(){return void 0===h?y:d(O())}function p(){var e=O(),n=c(e);if(b=arguments,g=this,w=e,n){if(void 0===h)return i(w);if(E)return h=setTimeout(l,t),o(w)}return void 0===h&&(h=setTimeout(l,t)),y}var b,g,v,y,h,w,j=0,_=!1,E=!1,U=!0;if("function"!=typeof e)throw new TypeError(s);return t=u(t)||0,r(n)&&(_=!!n.leading,v=(E="maxWait"in n)?k(u(n.maxWait)||0,t):v,U="trailing"in n?!!n.trailing:U),p.cancel=f,p.flush=m,p}function o(e,t,o){var i=!0,a=!0;if("function"!=typeof e)throw new TypeError(s);return r(o)&&(i="leading"in o?!!o.leading:i,a="trailing"in o?!!o.trailing:a),n(e,t,{leading:i,maxWait:t,trailing:a})}function r(e){var t=void 0===e?"undefined":c(e);return!!e&&("object"==t||"function"==t)}function i(e){return!!e&&"object"==(void 0===e?"undefined":c(e))}function a(e){return"symbol"==(void 0===e?"undefined":c(e))||i(e)&&w.call(e)==d}function u(e){if("number"==typeof e)return e;if(a(e))return l;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(f,"");var n=p.test(e);return n||b.test(e)?g(e.slice(2),n?2:8):m.test(e)?l:+e}var c="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},s="Expected a function",l=NaN,d="[object Symbol]",f=/^\s+|\s+$/g,m=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,b=/^0o[0-7]+$/i,g=parseInt,v="object"==(void 0===t?"undefined":c(t))&&t&&t.Object===Object&&t,y="object"==("undefined"==typeof self?"undefined":c(self))&&self&&self.Object===Object&&self,h=v||y||Function("return this")(),w=Object.prototype.toString,k=Math.max,x=Math.min,O=function(){return h.Date.now()};e.exports=o}).call(t,function(){return this}())},function(e,t){(function(t){"use strict";function n(e,t,n){function r(t){var n=b,o=g;return b=g=void 0,j=t,y=e.apply(o,n)}function i(e){return j=e,h=setTimeout(l,t),_?r(e):y}function u(e){var n=t-(e-O);return E?k(n,v-(e-j)):n}function s(e){var n=e-O;return void 0===O||n>=t||n<0||E&&e-j>=v}function l(){var e=x();return s(e)?d(e):void(h=setTimeout(l,u(e)))}function d(e){return h=void 0,U&&b?r(e):(b=g=void 0,y)}function f(){void 0!==h&&clearTimeout(h),j=0,b=O=g=h=void 0}function m(){return void 0===h?y:d(x())}function p(){var e=x(),n=s(e);if(b=arguments,g=this,O=e,n){if(void 0===h)return i(O);if(E)return h=setTimeout(l,t),r(O)}return void 0===h&&(h=setTimeout(l,t)),y}var b,g,v,y,h,O,j=0,_=!1,E=!1,U=!0;if("function"!=typeof e)throw new TypeError(c);return t=a(t)||0,o(n)&&(_=!!n.leading,v=(E="maxWait"in n)?w(a(n.maxWait)||0,t):v,U="trailing"in n?!!n.trailing:U),p.cancel=f,p.flush=m,p}function o(e){var t=void 0===e?"undefined":u(e);return!!e&&("object"==t||"function"==t)}function r(e){return!!e&&"object"==(void 0===e?"undefined":u(e))}function i(e){return"symbol"==(void 0===e?"undefined":u(e))||r(e)&&h.call(e)==l}function a(e){if("number"==typeof e)return e;if(i(e))return s;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(d,"");var n=m.test(e);return n||p.test(e)?b(e.slice(2),n?2:8):f.test(e)?s:+e}var u="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},c="Expected a function",s=NaN,l="[object Symbol]",d=/^\s+|\s+$/g,f=/^[-+]0x[0-9a-f]+$/i,m=/^0b[01]+$/i,p=/^0o[0-7]+$/i,b=parseInt,g="object"==(void 0===t?"undefined":u(t))&&t&&t.Object===Object&&t,v="object"==("undefined"==typeof self?"undefined":u(self))&&self&&self.Object===Object&&self,y=g||v||Function("return this")(),h=Object.prototype.toString,w=Math.max,k=Math.min,x=function(){return y.Date.now()};e.exports=n}).call(t,function(){return this}())},function(e,t){"use strict";function n(e){var t=void 0,o=void 0;for(t=0;te.position?e.node.classList.add("aos-animate"):void 0!==o&&("false"===o||!n&&"true"!==o)&&e.node.classList.remove("aos-animate")},o=function(e,t){var o=window.pageYOffset,r=window.innerHeight;e.forEach((function(e,i){n(e,r+o,t)}))};t.default=o},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=o(n(12)),i=function(e,t){return e.forEach((function(e,n){e.node.classList.add("aos-init"),e.position=(0,r.default)(e.node,t.offset)})),e};t.default=i},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=o(n(13)),i=function(e,t){var n=0,o=0,i=window.innerHeight,a={offset:e.getAttribute("data-aos-offset"),anchor:e.getAttribute("data-aos-anchor"),anchorPlacement:e.getAttribute("data-aos-anchor-placement")};switch(a.offset&&!isNaN(a.offset)&&(o=parseInt(a.offset)),a.anchor&&document.querySelectorAll(a.anchor)&&(e=document.querySelectorAll(a.anchor)[0]),n=(0,r.default)(e).top,a.anchorPlacement){case"top-bottom":break;case"center-bottom":n+=e.offsetHeight/2;break;case"bottom-bottom":n+=e.offsetHeight;break;case"top-center":n+=i/2;break;case"bottom-center":n+=i/2+e.offsetHeight;break;case"center-center":n+=i/2+e.offsetHeight/2;break;case"top-top":n+=i;break;case"bottom-top":n+=e.offsetHeight+i;break;case"center-top":n+=e.offsetHeight/2+i}return a.anchorPlacement||a.offset||isNaN(t)||(o=t),n+o};t.default=i},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){for(var t=0,n=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),n+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:n,left:t}};t.default=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return e=e||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(e,(function(e){return{node:e}}))};t.default=n}])},1262:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var o=n(7294),r=n(2389);function i(e){let{children:t,fallback:n}=e;return(0,r.Z)()?o.createElement(o.Fragment,null,t?.()):n??null}},3808:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>f});var o=n(7294),r=n(1262),i=n(2389),a=n(4996);const u=JSON.parse('{"zh-CN":{"common":{"ourUsers":"\u6211\u4eec\u7684\u7528\u6237","tip":"\u8bf8\u591a\u516c\u53f8\u548c\u7ec4\u7ec7\u5c06 StreamPark \u7528\u4e8e\u7814\u7a76\u3001\u751f\u4ea7\u548c\u5546\u4e1a\u4ea7\u54c1\u4e2d
\u5982\u679c\u60a8\u4e5f\u5728\u4f7f\u7528 ? \u53ef\u4ee5\u5728\u8fd9\u91cc\u6dfb\u52a0"}},"en":{"common":{"ourUsers":"Our Users","tip":"Various companies and organizations use StreamPark for research, production and commercial products.
Are you using this project ? you can add your company"}}}'),c=JSON.parse('[{"imgUrl":"tencent.png","url":""},{"imgUrl":"baidu.png","url":""},{"imgUrl":"china-unicon.png","url":""},{"imgUrl":"yto.png","url":""},{"imgUrl":"ziroom.png","url":""},{"imgUrl":"inmobi.png","url":""},{"imgUrl":"ctyun.png","url":""},{"imgUrl":"yonghui.png","url":""},{"imgUrl":"doctorglasses.png","url":""},{"imgUrl":"itcast.png","url":""},{"imgUrl":"dtsclouds.png","url":""},{"imgUrl":"dustess.png","url":""},{"imgUrl":"zoomlion.png","url":""},{"imgUrl":"bondex.png","url":""},{"imgUrl":"relx.png","url":""},{"imgUrl":"atguigu.png","url":""},{"imgUrl":"yunlizhi.png","url":""},{"imgUrl":"zehoo.png","url":""},{"imgUrl":"deepway.png","url":""},{"imgUrl":"gigacloud_technology.png","url":""},{"imgUrl":"belle.png","url":""},{"imgUrl":"fy-data.png","url":""},{"imgUrl":"haibo.png","url":""},{"imgUrl":"hopson.png","url":""},{"imgUrl":"joyme.png","url":""},{"imgUrl":"shunwang.png","url":""},{"imgUrl":"sobot.png","url":""},{"imgUrl":"yipage.png","url":""},{"imgUrl":"yucun.png","url":""},{"imgUrl":"banggood.png","url":""}]');var s=n(179),l=n(2711),d=n.n(l);function f(){const e=(0,i.Z)()&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",t=u?.[e];return o.createElement(r.Z,null,(()=>(d().init({offset:80,duration:500,easing:"ease-out-quad",once:!0}),window.addEventListener("load",d().refresh),o.createElement(s.Z,null,o.createElement("div",{className:"block user_page"},o.createElement("div",{className:"user-main",style:{padding:"10px 0 30px"}},o.createElement("h3",{className:"fs-2 mb-4 fw-bold text-center"},t.common.ourUsers),o.createElement("hr",{className:"divider my-4 mx-auto",style:{maxWidth:"10rem"}}),o.createElement("div",{className:"desc",dangerouslySetInnerHTML:{__html:t.common.tip}}),o.createElement("div",{className:"user_case home_block"},c.map(((e,t)=>o.createElement("div",{key:t,index:t,"data-aos":"fade-up","data-aos-delay":50*t},o.createElement("a",{href:e.url,target:"_blank"},o.createElement("div",{className:"case_item case_hover"},o.createElement("img",{src:(0,a.Z)("/user/"+e.imgUrl),alt:"name"})))))))))))))}}}]); \ No newline at end of file diff --git a/assets/js/271ff943.2b9c3cf0.js b/assets/js/271ff943.2b9c3cf0.js new file mode 100644 index 00000000..f776f396 --- /dev/null +++ b/assets/js/271ff943.2b9c3cf0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4827],{5995:(e,t,a)=>{a.r(t),a.d(t,{default:()=>U});var l,r,i,c,n,o,s,h,m,d,f,p,v,z,u,y,g,E,x,b,H,w,M,k,D,C=a(7294),O=(a(2389),a(4996));a(5166);function F(){return F=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...O}=e;return C.createElement("svg",F({"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 509.23 364.6","aria-labelledby":a},O),t?C.createElement("title",{id:a},t):null,l||(l=C.createElement("defs",null,C.createElement("linearGradient",{id:"a",x1:225,y1:279.58,x2:246.68,y2:279.58,gradientUnits:"userSpaceOnUse"},C.createElement("stop",{offset:0,stopColor:"#e5c6d6"}),C.createElement("stop",{offset:.42,stopColor:"#ead4d0"}),C.createElement("stop",{offset:1,stopColor:"#f0e9cb"})),C.createElement("linearGradient",{id:"d",x1:196.9,y1:214.27,x2:270.4,y2:214.27,xlinkHref:"#a"}),C.createElement("linearGradient",{id:"b",x1:235.47,y1:403.52,x2:245.47,y2:302.39,gradientUnits:"userSpaceOnUse"},C.createElement("stop",{offset:0,stopColor:"#010101",stopOpacity:0}),C.createElement("stop",{offset:.95,stopColor:"#010101"})),C.createElement("linearGradient",{id:"e",x1:236.71,y1:341.09,x2:236.71,y2:400.36,xlinkHref:"#b"}),C.createElement("linearGradient",{id:"c",x1:224.9,y1:346.73,x2:252.31,y2:206.71,gradientUnits:"userSpaceOnUse"},C.createElement("stop",{offset:0,stopColor:"#fff",stopOpacity:0}),C.createElement("stop",{offset:.95,stopColor:"#fff"})),C.createElement("linearGradient",{id:"f",x1:210.88,y1:311.27,x2:250.61,y2:311.27,xlinkHref:"#b"}),C.createElement("linearGradient",{id:"g",x1:223.84,y1:324.62,x2:258.66,y2:324.62,xlinkHref:"#c"}),C.createElement("linearGradient",{id:"h",x1:170.56,y1:395.25,x2:224.36,y2:395.25,xlinkHref:"#a"}),C.createElement("linearGradient",{id:"i",x1:259.78,y1:395.21,x2:306.81,y2:395.21,xlinkHref:"#a"}))),C.createElement("path",{d:"M47.72 209.34c5.86-11.1 15.44-21.13 15.81-33.68.26-9.18-4.56-17.6-8.09-26.09-18-43.23.64-98.39 41.13-121.9 22.1-12.83 48.29-16.49 73.8-17.93a500.35 500.35 0 0 1 86.79 2.63c16.88 2 34.55 5.23 47.61 16.1 20.47 17 23.36 46.63 31.14 72.09 13.67 44.72 47.42 82.87 90.13 101.9 7.73 3.44 15.92 6.4 22.17 12.1 13.71 12.48 13.85 34.94 5.4 51.44s-23.52 28.43-38.17 39.83l-45.46 35.45c-9.2 7.17-18.62 14.47-29.65 18.26-36.75 12.64-86.6-2.22-124.75-3.91-24.63-1.1-50.74 1.34-74.81-5.08-53.28-14.23-124.33-81.88-93.05-141.21z",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),C.createElement("rect",{x:271.83,y:187.67,width:136.11,height:83.47,rx:10.6,transform:"rotate(-180 338.605 204.39)",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),C.createElement("rect",{x:71.79,y:227.5,width:105.11,height:65.32,rx:8.24,transform:"rotate(-180 123.06 235.14)",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),C.createElement("path",{d:"M482.81 165.57h-160a26.46 26.46 0 0 1-26.43-26.42V26.53A26.46 26.46 0 0 1 322.81.1h160a26.46 26.46 0 0 1 26.42 26.43v112.62a26.45 26.45 0 0 1-26.42 26.42zm-160-161.52a22.5 22.5 0 0 0-22.48 22.48v112.62a22.5 22.5 0 0 0 22.48 22.47h160a22.5 22.5 0 0 0 22.47-22.47V26.53a22.5 22.5 0 0 0-22.47-22.48zM200.05 73.42h-64.9a11.9 11.9 0 0 1-11.89-11.89V15.86a11.9 11.9 0 0 1 11.89-11.9h64.9a11.9 11.9 0 0 1 11.89 11.9v45.67a11.9 11.9 0 0 1-11.89 11.89zm-64.9-65.46a8 8 0 0 0-7.94 7.94v45.67a8 8 0 0 0 7.94 7.94h64.9a8 8 0 0 0 7.94-7.94V15.86a8 8 0 0 0-7.94-7.9z",fill:"#4b39ef",opacity:.63,style:{isolation:"isolate"}}),r||(r=C.createElement("path",{d:"M225.82 292.41a6.15 6.15 0 0 0 1 3.21 4.57 4.57 0 0 0 2.14 1.39c3.82 1.35 8-.21 11.75-1.76a10.11 10.11 0 0 0 4.36-2.77 9.44 9.44 0 0 0 1.47-5.29 79.24 79.24 0 0 0-.93-18.07 9.62 9.62 0 0 0-1.53-4.39c-1.85-2.45-5.33-2.78-8.4-2.9-7.73-.29-10-1.28-10.44 6.82a147.34 147.34 0 0 0 .58 23.76z",transform:"translate(-2.56 -50.04)",fill:"url(#a)"})),i||(i=C.createElement("path",{d:"M203.56 234.62a41 41 0 0 0 7.62 11.63 32.35 32.35 0 0 0 49.6-3.51c4.8-6.69 6.86-14.94 8.3-23.05 1.25-7.1 2.1-14.49.25-21.46-2.43-9.11-9.4-16.62-17.8-20.88s-18.1-5.5-27.5-4.83c-5.88.43-11.82 1.62-16.93 4.54-10.1 5.74-10.56 13.7-10.1 24.08.55 11.38 1.83 22.99 6.56 33.48z",transform:"translate(-2.56 -50.04)",fill:"url(#d)"})),c||(c=C.createElement("path",{d:"M222.9 97.08c-2.78-3-6.07-6.06-10.17-6.55s-8.78 2.9-8 7c-6.35-3.05-13.79-5.56-20.29-2.85-5.46 2.26-9 8-9.76 13.82s1 11.82 3.76 17a28.37 28.37 0 0 0 6.13 8.1c5.86 5.16 14 6.6 21.78 7.51 13.2 1.54 26.84 2.1 39.49-2 3.82-1.23 8.59-2.67 11.37.23 2.07 2.15 2.69 6.41 5.68 6.4 2.42 0 3.52-3 3.75-5.43a44.83 44.83 0 0 0-1.72-17.12c-2.91-9.63-9.84-17-20.39-16.92-9.77.12-14.88-1.81-21.63-9.19z",fill:"#e08142"})),n||(n=C.createElement("rect",{x:199.58,y:149.95,width:25.75,height:17.78,rx:7.23,fill:"none",stroke:"#fff",strokeMiterlimit:10,strokeWidth:3.95})),o||(o=C.createElement("rect",{x:234.6,y:149.95,width:25.75,height:17.78,rx:7.23,fill:"none",stroke:"#fff",strokeMiterlimit:10,strokeWidth:3.95})),s||(s=C.createElement("path",{fill:"#fff",d:"M223.07 156.99h14.35v2.13h-14.35zm-33.49-2.22h11.67v3.33h-11.67zm69.27 1.3h12.97v2.22h-12.97z"})),h||(h=C.createElement("path",{d:"M197.07 185.74a40.73 40.73 0 0 0 .66 9.62c1.62 7 7 12.79 13.38 16.08a51.41 51.41 0 0 1 5.55 2.92c1.82 1.25 3.33 2.93 5.16 4.18a14.17 14.17 0 0 0 14.94.45c1.39-.83 2.77-1.95 4.39-1.87 1.24 0 2.32.81 3.49 1.21 2.67.91 5.59-.08 8.15-1.27s4.93-2.61 6-5.05c.71-1.58.74-3.37 1.08-5.07.86-4.36 3.67-8.06 5.4-12.16 3.6-8.49 2.4-18.16 1.14-27.29l-4.16 6.89c-1.4 2.32-3 4.79-5.54 5.71-3.35 1.19-6.91-.75-10.15-2.24a42.21 42.21 0 0 0-32.68-.85c-2.16.86-4.45 1.92-6.72 1.38-2.7-.64-6.65-7.74-8.78-7.12-2.6.78-1.29 12.3-1.31 14.48z",fill:"#e08142"})),m||(m=C.createElement("path",{d:"M223.3 233.22c27.08-3.86 55.85 9.87 69.89 33.35 4.68 7.84 7.82 16.57 13 24.1 5.47 8 13 14.29 19.29 21.63a87.06 87.06 0 0 1 12.65 19.59c3 6.44 5.13 14.48 1.1 20.35-3.7 5.4-11 6.7-17.55 7.19-13 1-26.11.67-39.17.34l-128.32-3.17c-5.72-.14-11.58-.31-16.89-2.44s-10-6.69-10.68-12.37c-1-8.32 6.45-14.84 12-21.13 16.13-18.36 19.74-45.07 35.28-63.93a63.48 63.48 0 0 1 47.54-22.77",fill:"#4b39ef"})),d||(d=C.createElement("path",{d:"M225.86 283.26c27.08-3.86 55.85 9.87 69.89 33.35 4.68 7.84 7.82 16.57 13 24.1 5.47 8 13 14.29 19.29 21.63a87.06 87.06 0 0 1 12.65 19.59c3 6.44 5.13 14.48 1.1 20.35-3.7 5.4-11 6.7-17.55 7.19-13 1-26.11.67-39.17.34l-128.32-3.17c-5.72-.14-11.58-.31-16.89-2.44s-10-6.69-10.68-12.37c-1-8.32 6.45-14.84 12-21.13 16.13-18.36 19.74-45.07 35.28-63.93A63.48 63.48 0 0 1 224 284",transform:"translate(-2.56 -50.04)",fill:"url(#b)"})),f||(f=C.createElement("path",{fill:"#4b39ef",d:"M178.65 350.18h116.13v7.78H178.65z"})),p||(p=C.createElement("path",{fill:"url(#e)",d:"M178.65 350.18h116.13v7.78H178.65z"})),v||(v=C.createElement("rect",{x:146.6,y:221.64,width:182.66,height:110.39,rx:20.61,fill:"#4b39ef"})),z||(z=C.createElement("rect",{x:146.6,y:224.97,width:182.66,height:110.39,rx:20.61,fill:"url(#c)"})),u||(u=C.createElement("path",{opacity:.26,fill:"url(#f)",d:"m210.88 330.71 19.44-39.43h17.79l2.5 39.99-39.73-.56z"})),y||(y=C.createElement("path",{fill:"#4b39ef",d:"M257 357.96h-34.83l8.15-66.68h17.79l8.89 66.68z"})),g||(g=C.createElement("path",{fill:"url(#g)",d:"M258.66 357.96h-34.82l8.15-66.68h17.78l8.89 66.68z"})),E||(E=C.createElement("rect",{x:298.33,width:208.93,height:161.51,rx:24.45,fill:"#fff"})),C.createElement("path",{d:"M124.69 200.25H18.23A18.26 18.26 0 0 1 0 182.01V107.1a18.26 18.26 0 0 1 18.23-18.24h106.46a18.26 18.26 0 0 1 18.23 18.24v74.91a18.26 18.26 0 0 1-18.23 18.24zM18.23 92.81A14.31 14.31 0 0 0 3.94 107.1v74.91a14.31 14.31 0 0 0 14.29 14.29h106.46a14.31 14.31 0 0 0 14.29-14.29V107.1a14.31 14.31 0 0 0-14.29-14.29z",fill:"#4b39ef",opacity:.63,style:{isolation:"isolate"}}),x||(x=C.createElement("rect",{x:1.97,y:88.16,width:138.98,height:107.44,rx:16.26,fill:"#fff"})),b||(b=C.createElement("rect",{x:124.96,y:4.14,width:84.73,height:65.5,rx:9.91,fill:"#fff"})),H||(H=C.createElement("path",{d:"m135.76 37.58 21.38-11v3.18l-18 9v.1l18 9v3.19l-21.38-11zm24.36 15.38 12.86-33.42h3.13l-12.9 33.42zm40.26-12.76-21.36 11v-3.24l18.15-9v-.15l-18.15-9v-3.24l21.36 11z",fill:"#4b39ef"})),w||(w=C.createElement("path",{d:"M212.62 385.73c-4.58-.92-9.3-.08-14 .06-4.48.13-9-.4-13.43 0s-9.07 2-11.93 5.41a11.85 11.85 0 0 0-2.72 7.93 6.21 6.21 0 0 0 .8 3.08c1.22 1.95 3.76 2.54 6 2.87a4.06 4.06 0 0 0 1.39 0c1.65-.36 2.23-2.48 3.66-3.36a5.64 5.64 0 0 1 3.13-.54q17.58.36 35.17-.14a4.63 4.63 0 0 0 2.33-.48c3.2-2-.5-6.48-1.65-8.62a12.66 12.66 0 0 0-8.75-6.21z",transform:"translate(-2.56 -50.04)",fill:"url(#h)"})),M||(M=C.createElement("path",{d:"M261.4 391.74c-1.61 2.21-2.49 5.72-.32 7.38 1.95 1.5 4.81.26 6.63-1.39s3.48-3.79 5.9-4.26c.36 2.1.84 4.4 2.56 5.65 2.61 1.9 6.21.26 9.43.29 2.9 0 6.21 1.37 8.45-.48 1.16-1 2.48-2.77 3.68-1.85a2.39 2.39 0 0 1 .69 1.23 34.38 34.38 0 0 0 4.8 9.45c1.46.57 2.56-1.41 2.84-3a47.44 47.44 0 0 0 .51-13.14c-.24-2.44-.76-5-2.5-6.76-2.27-2.27-5.86-2.37-9.07-2.32l-12.88.19c-7.66.15-15.95 2.49-20.72 9.01z",transform:"translate(-2.56 -50.04)",fill:"url(#i)"})),C.createElement("path",{d:"M251.99 261.53a12.77 12.77 0 1 1-12.79-12.79 8.57 8.57 0 0 1 2 .2 12.61 12.61 0 0 0 10.74 12.12 1.83 1.83 0 0 1 .05.47z",fill:"#4b39ef",opacity:.59,style:{isolation:"isolate"}}),k||(k=C.createElement("path",{d:"M324.96 21.4h53.4v3.92h-53.4zm0 7.58h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.59h44.82v3.88h-44.82zm14.39 7.58h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.58h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-76.45 10.25h53.4v3.92h-53.4zm0 7.58h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.58h44.82v3.88h-44.82zm14.39 7.59h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.58h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-76.45 10.26h53.4v3.92h-53.4zm0 7.57h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.58h44.82v3.88h-44.82zm14.39 7.58h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.6h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-382.9-27.97H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.94h29.12v2.52H29.52zm9.35 4.92h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.93h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17zm-49.66 6.66H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.93h29.12v2.52H29.52zm9.35 4.93h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.92h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17zm-49.66 6.67H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.92h29.12v2.52H29.52zm9.35 4.93h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.93h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17z",opacity:.52,fill:"#4b39ef"})),D||(D=C.createElement("path",{d:"M338.05 250.67c.32-1.71.66-3.42 1-5.13.18-1 .35-1.93.54-3 1.6.27 3.16.52 4.71.82a.8.8 0 0 0 1.05-.52c.7-1.36 1.48-2.68 2.3-4a.77.77 0 0 0-.07-1.12c-1-1.19-2-2.42-3.11-3.69l6.7-5.63c1 1.23 2.06 2.42 3.05 3.65a.84.84 0 0 0 1.22.28 33.56 33.56 0 0 1 4.14-1.51c.65-.19.8-.45.79-1.06v-4.65h8.74v4.67c0 .62.16.85.79 1a35.33 35.33 0 0 1 4.14 1.52.83.83 0 0 0 1.21-.3c1-1.21 2-2.39 3.05-3.64l6.69 5.62-3.43 4.11c.93 1.71 1.8 3.35 2.73 4.95.1.18.54.27.8.23 1.56-.24 3.12-.53 4.78-.82l1.52 8.6c-1.63.29-3.21.56-4.78.87-.26.05-.64.29-.68.5-.31 1.82-.56 3.65-.85 5.58l4.62 2.68-4.37 7.57-4.65-2.67c-1.5 1.2-2.95 2.34-4.38 3.53a.83.83 0 0 0-.13.74c.52 1.55 1.09 3.08 1.67 4.68l-8.21 3c-.51-1.39-1.06-2.75-1.49-4.15a1.19 1.19 0 0 0-1.5-1 31.73 31.73 0 0 1-4.25 0 .71.71 0 0 0-.87.58c-.52 1.5-1.08 3-1.66 4.56l-8.22-3 1.84-5.08-4.63-3.9-4.69 2.7-4.38-7.57c1.45-.84 2.81-1.64 4.19-2.41a.76.76 0 0 0 .43-1 44.39 44.39 0 0 1-.76-4.27c-.09-.7-.25-1-1-1.13-1.52-.17-3-.5-4.52-.77zm26.76-10.43a11.17 11.17 0 1 0 11 11.36 11.23 11.23 0 0 0-11-11.36zm48.72 35.72 1.91 6c-1.11.37-2.18.69-3.21 1.08a.91.91 0 0 0-.51.65c-.09 1.06-.06 2.12-.14 3.18a.7.7 0 0 0 .53.85c1 .37 2 .81 3.08 1.25-.8 2-1.56 3.85-2.35 5.79-1.09-.44-2.12-.89-3.17-1.26a.91.91 0 0 0-.8.18c-.84.89-1.63 1.84-2.51 2.85l1.79 3.42-5.52 2.94c-.55-1-1.05-2-1.6-3a.88.88 0 0 0-.66-.4c-1.27.15-2.54.38-3.85.58l-.83 3.77-6.1-1.31.79-3.77c-1.13-.74-2.21-1.47-3.32-2.15a.79.79 0 0 0-.7.12c-.9.66-1.77 1.36-2.71 2.09l-3.85-4.93c.92-.72 1.76-1.4 2.63-2.05a.67.67 0 0 0 .3-.94 27.5 27.5 0 0 1-1-2.95.68.68 0 0 0-.78-.62h-3.16v-6.3h3.94c.5-1.18 1-2.36 1.51-3.57.07-.18-.12-.55-.29-.72-.78-.76-1.61-1.47-2.47-2.25l4.18-4.65 2.88 2.57c1.22-.62 2.41-1.2 3.58-1.84.14-.08.2-.46.18-.68-.12-1.08-.29-2.16-.45-3.33l6.19-.86c.16 1.11.32 2.13.43 3.16.06.58.3.82.91.89a19.56 19.56 0 0 1 2.71.59.77.77 0 0 0 1.06-.39c.53-.93 1.12-1.81 1.74-2.79l5.29 3.32-2 3.27c.79 1.07 1.56 2.13 2.37 3.14a1 1 0 0 0 .77.12c1.06-.31 2.12-.66 3.21-1.05zm-16.8 16.75a8 8 0 1 0-8.12-7.84 8 8 0 0 0 8.12 7.87zm18.19-50.61 2.41-1.89 3.06 3.87c-.59.47-1.11 1-1.7 1.34s-.81.81-.41 1.46a2.94 2.94 0 0 1 .3.76c.52 1.58.52 1.58 2.22 1.65h1.21v4.89h-2.55c-.47 0-.7.11-.8.57a6.05 6.05 0 0 1-.36 1.09c-.62 1.55-.63 1.55.65 2.68l1 .87-3.28 3.69-2.3-2c-.9.47-1.8.91-2.67 1.41a.82.82 0 0 0-.25.65c.08.84.22 1.67.34 2.58l-4.87.71c-.13-.89-.23-1.73-.41-2.54a.93.93 0 0 0-.56-.6c-.9-.23-1.81-.38-2.82-.58l-1.63 2.6-4.19-2.59c.45-.74.86-1.45 1.31-2.13a.63.63 0 0 0-.08-1 8.61 8.61 0 0 1-.95-1.13c-.77-1.07-.76-1.07-2.05-.65-.51.18-1 .34-1.66.54l-1.55-4.67c.81-.27 1.56-.55 2.34-.77a.72.72 0 0 0 .61-.87 13.67 13.67 0 0 1 .08-2.12.69.69 0 0 0-.53-.85c-.77-.27-1.52-.59-2.33-.92l1.82-4.58c.84.33 1.62.67 2.42.93a.87.87 0 0 0 .75-.16c.66-.69 1.26-1.43 1.93-2.2l-1.42-2.7 4.33-2.34 1.48 2.69 3.36-.5.64-3 4.82 1c-.17.84-.32 1.63-.5 2.42a.73.73 0 0 0 .43 1c.79.38 1.54.89 2.36 1.39zm-14 9.24a6.28 6.28 0 1 0 6.39-6.26 6.22 6.22 0 0 0-6.38 6.26z",opacity:.61,fill:"#4b39ef"})))};function U(){return C.createElement("div",{className:"section py-6 py-md-7 bg-white"},C.createElement("div",{className:"container"},C.createElement("div",{className:"row mb-5 mt-5 mb-lg-7"},C.createElement("div",{className:"col-6 align-self-center"},C.createElement("div",{className:"px-5 px-md-7 mb-5 my-lg-0","data-aos":"fade-up","data-aos-delay":"100"},C.createElement(G,{className:"img-fluid"}))),C.createElement("div",{className:"col-6 "},C.createElement("div",{className:"mb-5 my-lg-0","data-aos":"fade-up","data-aos-delay":"200"},C.createElement("img",{src:(0,O.Z)("/home/ai2d.png"),alt:""}))))))}},5166:e=>{e.exports=JSON.parse('{"zh-CN":{"common":{"getStart":"\u5feb\u901f\u5f00\u59cb","architecture":"\u7cfb\u7edf\u67b6\u6784","learnMore":"\u4e86\u89e3\u66f4\u591a","coreFeatures":"\u6838\u5fc3\u7279\u6027","coreFeaturesDesc":"\u8ba9\u60a8\u7684\u9879\u76ee\u66f4\u8f7b\u677e\u7684\u6838\u5fc3\u7279\u6027","honor":"\u6211\u4eec\u7684\u8363\u8a89","ourUsers":"Our Users","readMore":"\u9605\u8bfb\u66f4\u591a","download":"\u4e0b\u8f7d","releaseDate":"\u53d1\u5e03\u65e5\u671f","newFeatures":"\u65b0\u7279\u6027","enhancement":"\u589e\u5f3a\u70b9","bugFixs":"\u95ee\u9898\u4fee\u590d","changeLog":"\u8be6\u7ec6\u53d8\u66f4"},"slogan":{"key":"AI\u751f\u6210\u56fe\u5f62\u6a21\u578b","description":"\u4e00\u53e5\u8bdd\u751f\u6210\u4efb\u4f55\u56fe\u5f62"},"feature":[{"title":"AI\u751f\u62102D\u56fe\u5f62","icon":"lni-bar-chart","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd2D\u56fe\u5f62"},{"title":"AI\u751f\u62103D\u573a\u666f","icon":"lni-dropbox","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd3D\u573a\u666f"},{"title":"\u591a\u79cd\u6570\u636e\u6e90","icon":"lni-database","details":"\u6570\u636e\u6e90\u63d2\u4ef6\u4e0e\u63d0\u793a\u8bcd\u7ed3\u5408"},{"title":"\u4e09\u65b9\u63d2\u4ef6\u673a\u5668\u4eba","icon":"lni-game","details":"\u4e3a\u4e86\u63d0\u4f9b\u66f4\u597d\u670d\u52a1\uff0c\u652f\u6301\u63d2\u4ef6\u673a\u5668\u4eba\uff0c\u4f8b\u5982Huggingface space"},{"title":"\u53ef\u89c6\u5316\u6a21\u578b","icon":"lni-eye","details":"\u4e3a\u4e86\u66f4\u597d\u751f\u6210\u53ef\u89c6\u5316\u56fe\u5f62\uff0c\u81ea\u7814\u53ef\u89c6\u5316\u6a21\u578b"},{"title":"\u5bb9\u5668\u5316\u90e8\u7f72","icon":"lni-soundcloud","details":"\u4e3a\u4e86\u5feb\u901f\u4f7f\u7528\uff0c\u652f\u6301\u5bb9\u5668\u5316\u90e8\u7f72"}],"honor":{"description":"\u6211\u4eec\u83b7\u5f97\u4e86\u4e9b\u6b8a\u8363\uff0c\u8fd9\u4e9b\u8363\u8a89\u5c5e\u4e8e\u6240\u6709\u4e3a SolidUI \u505a\u51fa\u8d21\u732e\u7684\u4eba\uff0c\u611f\u8c22\u60a8\u7684\u4ed8\u51fa\uff01"}},"en":{"common":{"getStart":"Quick Start","architecture":"System Architecture","description":"Description","learnMore":"Learn More","coreFeatures":"Core Features","coreFeaturesDesc":"Modern features that will make your project easier.","honor":"Our Honor","ourUsers":"Our Users","readMore":"Read More","download":"Download","releaseDate":"Release Date","newFeatures":"New Features","enhancement":"Enhancement point","bugFixs":"Bug Fix","changeLog":"Changelog"},"slogan":{"key":"AI-generated Graphic Models","description":"one sentence generates any graph"},"feature":[{"title":"AI generated 2D graphics","icon":"lni-bar-chart","details":"Generate various 2D graphics based on the visualization model"},{"title":"AI generated 3D scene","icon":"lni-dropbox","details":"Generate various 3D scenes based on the visualization model"},{"title":"Multiple data sources","icon":"lni-database","details":"Data source plugin combined with prompt words"},{"title":"Three-party plug-in robot","icon":"lni-game","details":"In order to provide better service, support plug-in robots, such as Huggingface space"},{"title":"Visualization Model","icon":"lni-eye","details":"In order to better generate visualization graphics, self-developed visualization model"},{"title":"Containerized Deployment","icon":"lni-soundcloud","details":"For quick use, support containerized deployment"}],"honor":{"description":"We have received some precious honors, which belong to everyone who contributes to SolidUI, Thanks"}}}')}}]); \ No newline at end of file diff --git a/assets/js/306a8c6c.f6fb1444.js b/assets/js/306a8c6c.f6fb1444.js new file mode 100644 index 00000000..7b17425c --- /dev/null +++ b/assets/js/306a8c6c.f6fb1444.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7616],{9479:e=>{e.exports=JSON.parse('{"pluginId":"community","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"Contribution Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Become committer","href":"/SolidUI-Website/community/contribution_guide/become_committer","docId":"contribution_guide/become_committer"}]},{"type":"category","label":"Submit Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Documentation Notice","href":"/SolidUI-Website/community/submit_guide/document","docId":"submit_guide/document"},{"type":"link","label":"Submit Code","href":"/SolidUI-Website/community/submit_guide/submit_code","docId":"submit_guide/submit_code"}]}]},"docs":{"contribution_guide/become_committer":{"id":"contribution_guide/become_committer","title":"Become committer","description":"Many thanks for contributing to the SolidUI project! Before contributing, please read the following guidelines carefully.","sidebar":"tutorialSidebar"},"submit_guide/document":{"id":"submit_guide/document","title":"Documentation Notice","description":"\x3c!--","sidebar":"tutorialSidebar"},"submit_guide/submit_code":{"id":"submit_guide/submit_code","title":"Submit Code","description":"\x3c!--","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/33058117.afac1719.js b/assets/js/33058117.afac1719.js new file mode 100644 index 00000000..52911e91 --- /dev/null +++ b/assets/js/33058117.afac1719.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5024],{455:s=>{s.exports=JSON.parse('{"label":"stable-diffusion","permalink":"/SolidUI-Website/blog/tags/stable-diffusion","allTagsPath":"/SolidUI-Website/blog/tags","count":6}')}}]); \ No newline at end of file diff --git a/assets/js/37a2ef67.79d0a77f.js b/assets/js/37a2ef67.79d0a77f.js new file mode 100644 index 00000000..27b53411 --- /dev/null +++ b/assets/js/37a2ef67.79d0a77f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2074],{3040:e=>{e.exports=JSON.parse('{"label":"SolidUI","permalink":"/SolidUI-Website/blog/tags/solid-ui","allTagsPath":"/SolidUI-Website/blog/tags","count":6}')}}]); \ No newline at end of file diff --git a/assets/js/43f8f43d.d2a005c1.js b/assets/js/43f8f43d.d2a005c1.js new file mode 100644 index 00000000..d3184f61 --- /dev/null +++ b/assets/js/43f8f43d.d2a005c1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7558],{3905:(e,t,i)=>{i.d(t,{Zo:()=>u,kt:()=>v});var r=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function l(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var a=r.createContext({}),s=function(e){var t=r.useContext(a),i=t;return e&&(i="function"==typeof e?e(t):l(l({},t),e)),i},u=function(e){var t=s(e.components);return r.createElement(a.Provider,{value:t},e.children)},c="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,a=e.parentName,u=d(e,["components","mdxType","originalType","parentName"]),c=s(i),m=n,v=c["".concat(a,".").concat(m)]||c[m]||p[m]||o;return i?r.createElement(v,l(l({ref:t},u),{},{components:i})):r.createElement(v,l({ref:t},u))}));function v(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,l=new Array(o);l[0]=m;var d={};for(var a in t)hasOwnProperty.call(t,a)&&(d[a]=t[a]);d.originalType=e,d[c]="string"==typeof e?e:n,l[1]=d;for(var s=2;s{i.r(t),i.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>d,toc:()=>s});var r=i(7462),n=(i(7294),i(3905));const o={id:"development-docker",title:"Docker Build",sidebar_position:2},l="Docker Build for SolidUI",d={unversionedId:"development/development-docker",id:"development/development-docker",title:"Docker Build",description:"1. Prerequisites",source:"@site/docs/development/docker-images.md",sourceDirName:"development",slug:"/development/development-docker",permalink:"/SolidUI-Website/docs/development/development-docker",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/development/docker-images.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"development-docker",title:"Docker Build",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Development Commit",permalink:"/SolidUI-Website/docs/development/development-commit"},next:{title:"Development Contribution",permalink:"/SolidUI-Website/docs/development/develop-contributing"}},a={},s=[{value:"1. Prerequisites",id:"1-prerequisites",level:2},{value:"2. Image building",id:"2-image-building",level:2},{value:"2.1 Building server-side image build-entrance-server",id:"21-building-server-side-image-build-entrance-server",level:3},{value:"2.2 Server-side image build-soliduimodelui (after version 0.2.0)",id:"22-server-side-image-build-soliduimodelui-after-version-020",level:3},{value:"2.3 Building front-end image",id:"23-building-front-end-image",level:3}],u={toc:s},c="wrapper";function p(e){let{components:t,...i}=e;return(0,n.kt)(c,(0,r.Z)({},u,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"docker-build-for-solidui"},"Docker Build for SolidUI"),(0,n.kt)("h2",{id:"1-prerequisites"},"1. Prerequisites"),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://docs.docker.com/engine/install/"},"Docker")," 1.13.1+"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Method 1: Download the address from the official website: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/releases"},"https://github.com/CloudOrc/SolidUI/releases"),", and download the corresponding installation package (overall installation package)."),(0,n.kt)("li",{parentName:"ul"},"Method 2: Compile the project installation package according to SolidUI.")),(0,n.kt)("h2",{id:"2-image-building"},"2. Image building"),(0,n.kt)("h3",{id:"21-building-server-side-image-build-entrance-server"},"2.1 Building server-side image build-entrance-server"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"tar -zxvf solidui-x.x.x-bin.tar.gz\ncd solidui-x.x.x-bin/entrance-server \ndocker build -f ./docker/Dockerfile -t solidui-entrance:x.x.x . \n\n")),(0,n.kt)("h3",{id:"22-server-side-image-build-soliduimodelui-after-version-020"},"2.2 Server-side image build-soliduimodelui (after version 0.2.0)"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"tar -zxvf solidui-x.x.x-bin.tar.gz\ncd solidui-x.x.x-bin\n# update .env\nvi soliduimodelui/.env\nSNAKEMQ_LISTENER=0.0.0.0\nSNAKEMQ_CONNECTOR=soliduimodelui\ndocker build -f ./soliduimodelui/docker/Dockerfile -t soliduimodelui:x.x.x .\n")),(0,n.kt)("h3",{id:"23-building-front-end-image"},"2.3 Building front-end image"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"\ntar -zxvf solidui-x.x.x-bin.tar.gz\ncd solidui-x.x.x-bin/solidui-web\ndocker build -f ./docker/Dockerfile -t solidui-web:x.x.x .\n\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4687a2fe.1b586b92.js b/assets/js/4687a2fe.1b586b92.js new file mode 100644 index 00000000..d995c7c1 --- /dev/null +++ b/assets/js/4687a2fe.1b586b92.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4656],{3905:(e,t,o)=>{o.d(t,{Zo:()=>c,kt:()=>h});var i=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,i)}return o}function a(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var s=i.createContext({}),u=function(e){var t=i.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},c=function(e){var t=u(e.components);return i.createElement(s.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var o=e.components,n=e.mdxType,r=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=u(o),m=n,h=d["".concat(s,".").concat(m)]||d[m]||p[m]||r;return o?i.createElement(h,a(a({ref:t},c),{},{components:o})):i.createElement(h,a({ref:t},c))}));function h(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=o.length,a=new Array(r);a[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:n,a[1]=l;for(var u=2;u{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>u});var i=o(7462),n=(o(7294),o(3905));const r={title:"SolidUI Community - Official Website Introduction",date:new Date("2023-09-05T00:00:00.000Z"),tags:["SolidUI","AI","stable-diffusion"]},a=void 0,l={permalink:"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-Official-Website-Introduction.md",source:"@site/blog/2023-09-05-Official-Website-Introduction.md",title:"SolidUI Community - Official Website Introduction",description:"Background",date:"2023-09-05T00:00:00.000Z",formattedDate:"September 5, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AI",permalink:"/SolidUI-Website/blog/tags/ai"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:4.87,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI Community - Official Website Introduction",date:"2023-09-05T00:00:00.000Z",tags:["SolidUI","AI","stable-diffusion"]},prevItem:{title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction"},nextItem:{title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",permalink:"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis"}},s={authorsImageUrls:[]},u=[{value:"Background",id:"background",level:2},{value:"Introduction",id:"introduction",level:2},{value:"How to Contribute",id:"how-to-contribute",level:2},{value:"Example",id:"example",level:3},{value:"Conclusion",id:"conclusion",level:2},{value:"SolidUI-Website Contributors",id:"solidui-website-contributors",level:2},{value:"Acknowledgments",id:"acknowledgments",level:2},{value:"How to Become a Contributor",id:"how-to-become-a-contributor",level:2}],c={toc:u},d="wrapper";function p(e){let{components:t,...o}=e;return(0,n.kt)(d,(0,i.Z)({},c,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"background"},"Background"),(0,n.kt)("p",null,"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation."),(0,n.kt)("p",null,"Project link: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Project mirror link: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Community official website: ",(0,n.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,n.kt)("p",null,"Official website project address\uff1a",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI-Website"},"https://github.com/CloudOrc/SolidUI-Website")),(0,n.kt)("h2",{id:"introduction"},"Introduction"),(0,n.kt)("p",null,"The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Document:")," This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Download:")," Users can download the latest version of SolidUI here."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Releases:")," The release records of SolidUI can be found here, where users can view all version release and update information."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Community:")," This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Code of conduct:")," This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Become A Committer:")," A page for developers to submit code or become project contributors."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Documentation Notice:")," Notices or updates about SolidUI's documentation."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Submit Code:")," A page for submitting code where users can submit their own code for the SolidUI project."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Team:")," Page introducing the SolidUI team members."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Users:")," A page showcasing SolidUI users or customers, thanking partners for their participation."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Our Users:")," A page likely introducing SolidUI's user groups."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Blog:")," The SolidUI blog, where users can read the latest articles about SolidUI.\nOfficial website: ",(0,n.kt)("a",{parentName:"li",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/"))),(0,n.kt)("p",null,"Official website project address\uff1a",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI-Website"},"https://github.com/CloudOrc/SolidUI-Website")),(0,n.kt)("h2",{id:"how-to-contribute"},"How to Contribute"),(0,n.kt)("p",null,"Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch."),(0,n.kt)("h3",{id:"example"},"Example"),(0,n.kt)("p",null,"For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization."),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Submit an Issue")),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"First, visit the main page of the SolidUI-Website project."),(0,n.kt)("li",{parentName:"ol"},'In the top menu bar of the project, click "Issues".'),(0,n.kt)("li",{parentName:"ol"},'Click the "New issue" button in the upper right corner.'),(0,n.kt)("li",{parentName:"ol"},"Enter the title and description of your Issue on the page that appears."),(0,n.kt)("li",{parentName:"ol"},'When you\'re done, click "Submit new issue".\n',(0,n.kt)("strong",{parentName:"li"},"Submit a Pull Request"))),(0,n.kt)("p",null,"Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},'On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.'),(0,n.kt)("li",{parentName:"ol"},'In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.'),(0,n.kt)("li",{parentName:"ol"},"Make the required changes on your branch."),(0,n.kt)("li",{parentName:"ol"},"When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project."),(0,n.kt)("li",{parentName:"ol"},'Click "Pull requests", then click "New pull request".'),(0,n.kt)("li",{parentName:"ol"},'Click "compare across forks" and choose your fork and your "dev" branch.'),(0,n.kt)("li",{parentName:"ol"},'Confirm your changes, then click "Create pull request".'),(0,n.kt)("li",{parentName:"ol"},'Provide a title and description for your PR on the opened page, then click "Create pull request".')),(0,n.kt)("h2",{id:"conclusion"},"Conclusion"),(0,n.kt)("p",null,"Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project."),(0,n.kt)("p",null,"We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing."),(0,n.kt)("p",null,"Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project."),(0,n.kt)("p",null,"Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI."),(0,n.kt)("h2",{id:"solidui-website-contributors"},"SolidUI-Website Contributors"),(0,n.kt)("p",null,"The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"dlimeng"),(0,n.kt)("li",{parentName:"ul"},"15100399015"),(0,n.kt)("li",{parentName:"ul"},"limingoo")),(0,n.kt)("h2",{id:"acknowledgments"},"Acknowledgments"),(0,n.kt)("p",null,"Thanks to the streampark-website for providing framework support."),(0,n.kt)("h2",{id:"how-to-become-a-contributor"},"How to Become a Contributor"),(0,n.kt)("p",null,"Here are some ways to contribute to the SolidUI community."),(0,n.kt)("p",null,"Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("p",null,"Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("p",null,"Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("p",null,"Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc."),(0,n.kt)("p",null,"Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/4972.b4472444.js b/assets/js/4972.b4472444.js new file mode 100644 index 00000000..89bb23fa --- /dev/null +++ b/assets/js/4972.b4472444.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4972],{4972:(e,t,n)=>{n.r(t),n.d(t,{default:()=>r});var a=n(7294),l=n(5999),o=n(1944),i=n(179);function r(){return a.createElement(a.Fragment,null,a.createElement(o.d,{title:(0,l.I)({id:"theme.NotFound.title",message:"Page Not Found"})}),a.createElement(i.Z,null,a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col--offset-3"},a.createElement("h1",{className:"hero__title"},a.createElement(l.Z,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),a.createElement("p",null,a.createElement(l.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),a.createElement("p",null,a.createElement(l.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.")))))))}}}]); \ No newline at end of file diff --git a/assets/js/4d9f66ec.93de30bd.js b/assets/js/4d9f66ec.93de30bd.js new file mode 100644 index 00000000..75710736 --- /dev/null +++ b/assets/js/4d9f66ec.93de30bd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2908],{3905:(e,t,l)=>{l.d(t,{Zo:()=>d,kt:()=>f});var n=l(7294);function r(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function a(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,n)}return l}function i(e){for(var t=1;t=0||(r[l]=e[l]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(r[l]=e[l])}return r}var u=n.createContext({}),p=function(e){var t=n.useContext(u),l=t;return e&&(l="function"==typeof e?e(t):i(i({},t),e)),l},d=function(e){var t=p(e.components);return n.createElement(u.Provider,{value:t},e.children)},c="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var l=e.components,r=e.mdxType,a=e.originalType,u=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),c=p(l),m=r,f=c["".concat(u,".").concat(m)]||c[m]||s[m]||a;return l?n.createElement(f,i(i({ref:t},d),{},{components:l})):n.createElement(f,i({ref:t},d))}));function f(e,t){var l=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=l.length,i=new Array(a);i[0]=m;var o={};for(var u in t)hasOwnProperty.call(t,u)&&(o[u]=t[u]);o.originalType=e,o[c]="string"==typeof e?e:r,i[1]=o;for(var p=2;p{l.r(t),l.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>s,frontMatter:()=>a,metadata:()=>o,toc:()=>p});var n=l(7462),r=(l(7294),l(3905));const a={title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",date:new Date("2023-07-01T00:00:00.000Z"),tags:["SolidUI","AIGC","stable-diffusion"]},i=void 0,o={permalink:"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-01-function-explanation-0.1.0.md",source:"@site/blog/2023-07-01-function-explanation-0.1.0.md",title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",description:"\u80cc\u666f",date:"2023-07-01T00:00:00.000Z",formattedDate:"July 1, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AIGC",permalink:"/SolidUI-Website/blog/tags/aigc"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:5.475,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",date:"2023-07-01T00:00:00.000Z",tags:["SolidUI","AIGC","stable-diffusion"]},prevItem:{title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",permalink:"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis"}},u={authorsImageUrls:[]},p=[{value:"\u80cc\u666f",id:"\u80cc\u666f",level:2},{value:"\u9879\u76ee\u540d\u5b57\u542b\u4e49",id:"\u9879\u76ee\u540d\u5b57\u542b\u4e49",level:2},{value:"\u767b\u5f55\u9875\u542b\u4e49",id:"\u767b\u5f55\u9875\u542b\u4e49",level:2},{value:"\u4ea7\u54c1\u601d\u7ef4",id:"\u4ea7\u54c1\u601d\u7ef4",level:2},{value:"0.1.0 \u7248\u672c\u5185\u6db5",id:"010-\u7248\u672c\u5185\u6db5",level:2},{value:"\u529f\u80fd\u5217\u8868",id:"\u529f\u80fd\u5217\u8868",level:2},{value:"\u6570\u636e\u6e90\u7ba1\u7406",id:"\u6570\u636e\u6e90\u7ba1\u7406",level:3},{value:"\u9879\u76ee\u7ba1\u7406",id:"\u9879\u76ee\u7ba1\u7406",level:3},{value:"\u8bbe\u8ba1\u9875\u9762",id:"\u8bbe\u8ba1\u9875\u9762",level:3}],d={toc:p},c="wrapper";function s(e){let{components:t,...a}=e;return(0,r.kt)(c,(0,n.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"\u80cc\u666f"},"\u80cc\u666f"),(0,r.kt)("p",null,"\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,r.kt)("h2",{id:"\u9879\u76ee\u540d\u5b57\u542b\u4e49"},"\u9879\u76ee\u540d\u5b57\u542b\u4e49"),(0,r.kt)("p",null,"SolidUI Solid\u8868\u793a\u7acb\u65b9\u51e0\u4f55\uff0cUI\u8868\u793a\u8bbe\u8ba1\u4ea4\u4e92\uff0c\u4ee3\u8868\u591a\u7ef4\u751f\u6210\u8bbe\u8ba1\u3002"),(0,r.kt)("h2",{id:"\u767b\u5f55\u9875\u542b\u4e49"},"\u767b\u5f55\u9875\u542b\u4e49"),(0,r.kt)("p",null,"\u767b\u5f55\u9875\u7684\u542b\u4e49\uff0clogo \u7528\u773c\u955c\u7684\u5f62\u72b6\uff0c\u8868\u793a\u89c2\u5bdf\u4e16\u754c \uff0c\u80cc\u666f\u90a3\u4e9b\u7ebf\u6761\u662f\u901a\u8fc7\u773c\u775b\u89c2\u770b\u5f97\u51fa\u56fe\u5f62\uff0c\u6df1\u5c42\u610f\u601d\u8868\u793a\u521b\u610f\u751f\u6210\u4e16\u754c\u3002\n",(0,r.kt)("img",{alt:"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0",src:l(1956).Z,width:"3552",height:"1848"})),(0,r.kt)("h2",{id:"\u4ea7\u54c1\u601d\u7ef4"},"\u4ea7\u54c1\u601d\u7ef4"),(0,r.kt)("p",null,"\u201c\u5c11\u5c31\u662f\u591a\u201d"),(0,r.kt)("p",null,"\u5c11\u5c31\u662f\u591a\uff0c\u610f\u601d\u662f\u4e0d\u65ad\u7cbe\u7b80\u65b9\u6848\u91cc\u7684\u5143\u7d20\uff0c\u53ea\u7559\u4e0b\u6709\u4ef7\u503c\u7684\uff1b\u5176\u4f59\u4e0d\u91cd\u8981\u7684\uff0c\u8981\u4e48\u76f4\u63a5\u5220\u6389\uff0c\u8981\u4e48\u4ece\u754c\u9762\u91cc\u9690\u85cf\u8d77\u6765\u3002\u5bf9\u4e8e\u90a3\u4e9b\u4e0d\u5e38\u7528\u7684\u64cd\u4f5c\uff0c\u9690\u85cf\u4e4b\u540e\uff0c\u5373\u4f7f\u7528\u6237\u591a\u8fdb\u884c\u51e0\u6b65\u64cd\u4f5c\u4e5f\u6ca1\u6709\u5173\u7cfb\u3002"),(0,r.kt)("h2",{id:"010-\u7248\u672c\u5185\u6db5"},"0.1.0 \u7248\u672c\u5185\u6db5"),(0,r.kt)("p",null,"\u8fd9\u4e2a\u7248\u672c\u4f5c\u4e3a\u7b2c\u4e00\u4e2a\u7248\u672c\uff0c\u8bbe\u60f3\u4f5c\u4e3a\u5e94\u7528\u6846\u67b6\uff0c\u5177\u6709\u901a\u7528\u53ef\u89c6\u5316\u6846\u67b6\u80fd\u529b\uff0c\u4e0d\u56e0\u4e00\u4e9b\u6570\u636e\u7ba1\u7406\uff0cBI\u7b49\u4e00\u4e9b\u65e7\u601d\u7ef4\u5f71\u54cd\uff0c\u53ea\u505a\u5e94\u7528\u6846\u67b6\uff0c\u6240\u4ee5\u5f88\u591a\u4e1c\u897f\u90fd\u88ab\u53bb\u9664\u4e86\uff0cAI\u751f\u6210\u4f1a\u5f7b\u5e95\u6539\u53d8\u4f7f\u7528\u4e60\u60ef\u3002"),(0,r.kt)("h2",{id:"\u529f\u80fd\u5217\u8868"},"\u529f\u80fd\u5217\u8868"),(0,r.kt)("p",null,"\u4e0b\u9762\u4ecb\u7ecd\u4e0b\u6574\u4e2a\u7b2c\u4e00\u4e2a\u7248\u672c\u529f\u80fd\u5217\u8868\u3002"),(0,r.kt)("h3",{id:"\u6570\u636e\u6e90\u7ba1\u7406"},"\u6570\u636e\u6e90\u7ba1\u7406"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u663e\u793a\u6570\u636e\uff1a\u663e\u793a\u6240\u6709\u6570\u636e\u6e90\uff0c\u5305\u62ec\u5e8f\u53f7\uff0c\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u7528\u6237\uff0c\u63cf\u8ff0\u4fe1\u606f\u548c\u64cd\u4f5c\u6309\u94ae\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff1a\u8f93\u5165\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\u540e\uff0c\u53ef\u4ee5*\n\u6210\u529f\u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u663e\u793a\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0Doris\u6570\u636e\u6e90\uff1a\u8f93\u5165\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\u540e\uff0c\u53ef\u4ee5\u6210\u529f\u6dfb\u52a0Doris\u6570\u636e\u6e90\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u663e\u793a\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u7f16\u8f91\u6570\u636e\u6e90\uff1a\u53ef\u4ee5\u7f16\u8f91\u6570\u636e\u6e90\u7684\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u67e5\u770b\u7f16\u8f91\u540e\u7684\u4fe1\u606f\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u5355\u884c\u5220\u9664\u6570\u636e\u6e90\uff1a\u901a\u8fc7\u8f93\u5165\u8981\u5220\u9664\u7684\u6570\u636e\u6e90\u540d\u79f0\uff0c\u53ef\u4ee5\u6210\u529f\u5220\u9664\u8be5\u6570\u636e\u6e90\uff0c\u5e76\u4e14\u8be5\u6570\u636e\u6e90\u4e0d\u518d\u663e\u793a\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6570\u636e\u6e90\u8fc7\u671f\uff1a\u53ef\u4ee5\u5c06\u9009\u4e2d\u7684\u6570\u636e\u6e90\u8bbe\u7f6e\u4e3a\u8fc7\u671f\u72b6\u6001\u3002\n",(0,r.kt)("img",{alt:"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0",src:l(4902).Z,width:"3226",height:"528"}))),(0,r.kt)("h3",{id:"\u9879\u76ee\u7ba1\u7406"},"\u9879\u76ee\u7ba1\u7406"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0\u9879\u76ee\uff1a\u8f93\u5165\u9879\u76ee\u540d\u79f0\uff0c\u9879\u76ee\u63cf\u8ff0\uff0c\u9879\u76eeURL\u540e\uff0c\u53ef\u4ee5\u6210\u529f\u6dfb\u52a0\u9879\u76ee\uff0c\u5e76\u5728\u9879\u76ee\u5217\u8868\u4e2d\u663e\u793a\u65b0\u589e\u7684\u9879\u76ee\u4fe1\u606f\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u67e5\u8be2\u9879\u76ee\u5217\u8868\uff1a\u901a\u8fc7\u8f93\u5165\u9879\u76ee\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u8be2\u5e76\u8f93\u51fa\u9879\u76ee\u5217\u8868\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u7f16\u8f91\u9879\u76ee\u540d\uff1a\u53ef\u4ee5\u7f16\u8f91\u9879\u76ee\u540d\u79f0\uff0c\u5e76\u5728\u9879\u76ee\u5217\u8868\u4e2d\u67e5\u770b\u7f16\u8f91\u540e\u7684\u9879\u76ee\u4fe1\u606f\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u5220\u9664\u9879\u76ee\uff1a\u901a\u8fc7\u8f93\u5165\u8981\u5220\u9664\u7684\u9879\u76ee\u540d\u79f0\uff0c\u53ef\u4ee5\u6210\u529f\u5220\u9664\u8be5\u9879\u76ee\uff0c\u5e76\u4e14\u8be5\u9879\u76ee\u4e0d\u518d\u663e\u793a\u5728\u9879\u76ee\u5217\u8868\u4e2d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9879\u76ee\u9884\u89c8")),(0,r.kt)("h3",{id:"\u8bbe\u8ba1\u9875\u9762"},"\u8bbe\u8ba1\u9875\u9762"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u573a\u666f,\u589e\u52a0\uff0c\u4fee\u6539\uff0c\u5220\u9664\uff0c\u91cd\u547d\u540d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9875\uff0c\u589e\u52a0\uff0c\u4fee\u6539\uff0c\u5220\u9664\uff0c\u91cd\u547d\u540d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0\u56fe\u4f8b\uff1a\u5728\u6307\u5b9a\u573a\u666f\u548c\u9875\u4e0b\u6dfb\u52a0\u56fe\u4f8b\uff0c\u5e76\u4e3a\u5176\u547d\u540d\u3002\u521b\u5efa\u6210\u529f\u540e\uff0c\u6240\u5728\u9875\u4e2d\u663e\u793a\u5bf9\u5e94\u7684\u56fe\u4f8b\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97\uff1a\u5728\u6307\u5b9a\u573a\u666f\u3001\u9875\u548c\u56fe\u4f8b\u4e0b\uff0c\u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97\u3002\u6ed1\u7a97\u6253\u5f00\u6210\u529f\uff0c\u663e\u793a\u6570\u636e\u6e90\u7c7b\u578b\u3001\u6570\u636e\u6e90\u548cSQL\u8f93\u5165\u6846\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b\uff1a\u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b\uff08\u5982\u6570\u636e\u5e93\uff09\uff0c\u6210\u529f\u540e\u663e\u793a\u4e0e\u6240\u9009\u6570\u636e\u6e90\u7c7b\u578b\u76f8\u5173\u7684\u6570\u636e\u6e90\u9009\u9879\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9009\u62e9\u6570\u636e\u6e90\uff1a\u9009\u62e9\u7279\u5b9a\u7684\u6570\u636e\u6e90\uff08\u5982MySQL\u6570\u636e\u5e931\uff09\uff0c\u6210\u529f\u540e\u53ef\u4ee5\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\uff1a\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\u5e76\u6267\u884c\uff0c\u67f1\u5f62\u56fe\u6839\u636e\u67e5\u8be2\u8fd4\u56de\u7684\u6570\u636e\u8fdb\u884c\u7ed8\u5236\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u4fdd\u5b58\u9875\u9762\uff1a\u4fdd\u5b58\u5305\u62ec\u56fe\u4f8b\u548c\u5173\u8054\u6570\u636e\u8bbe\u7f6e\u5728\u5185\u7684\u9875\u9762\uff0c\u4ee5\u4fbf\u540e\u7eed\u67e5\u770b\u548c\u7f16\u8f91\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9884\u89c8\u573a\u666f\uff1a\u9884\u89c8\u6574\u4e2a\u573a\u666f\uff0c\u6309\u7167\u573a\u666f\u548c\u9875\u7684\u987a\u5e8f\u67e5\u770b\u5df2\u521b\u5efa\u7684\u56fe\u8868\u3002")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0",src:l(1647).Z,width:"3574",height:"1684"})))}s.isMDXComponent=!0},4902:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/datasource-45396a50f5aea7919f517e1d81456424.png"},1647:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/desgin-8fd0648dd93a1c3fd51cb54900ac2bcd.png"},1956:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/home-d64eb73b3f8144a5bd50d3b1fe12de55.png"}}]); \ No newline at end of file diff --git a/assets/js/5434e1ce.81600a2d.js b/assets/js/5434e1ce.81600a2d.js new file mode 100644 index 00000000..d635063c --- /dev/null +++ b/assets/js/5434e1ce.81600a2d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8939],{3905:(e,t,r)=>{r.d(t,{Zo:()=>l,kt:()=>f});var n=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),u=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},l=function(e){var t=u(e.components);return n.createElement(c.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,o=e.originalType,c=e.parentName,l=s(e,["components","mdxType","originalType","parentName"]),p=u(r),m=i,f=p["".concat(c,".").concat(m)]||p[m]||d[m]||o;return r?n.createElement(f,a(a({ref:t},l),{},{components:r})):n.createElement(f,a({ref:t},l))}));function f(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=r.length,a=new Array(o);a[0]=m;var s={};for(var c in t)hasOwnProperty.call(t,c)&&(s[c]=t[c]);s.originalType=e,s[p]="string"==typeof e?e:i,a[1]=s;for(var u=2;u{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>s,toc:()=>u});var n=r(7462),i=(r(7294),r(3905));const o={id:"quick-start",title:"Quick start",sidebar_position:1},a="Quick start",s={unversionedId:"user-guide/quick-start",id:"user-guide/quick-start",title:"Quick start",description:"Start",source:"@site/docs/user-guide/quickstart.md",sourceDirName:"user-guide",slug:"/user-guide/quick-start",permalink:"/SolidUI-Website/docs/user-guide/quick-start",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/user-guide/quickstart.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"quick-start",title:"Quick start",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"What is SolidUI",permalink:"/SolidUI-Website/docs/intro"},next:{title:"Development Commit",permalink:"/SolidUI-Website/docs/development/development-commit"}},c={},u=[{value:"Start",id:"start",level:2},{value:"Accessing Services",id:"accessing-services",level:2}],l={toc:u},p="wrapper";function d(e){let{components:t,...r}=e;return(0,i.kt)(p,(0,n.Z)({},l,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"quick-start"},"Quick start"),(0,i.kt)("h2",{id:"start"},"Start"),(0,i.kt)("p",null,"For quick experience"),(0,i.kt)("p",null,"Want to start with ",(0,i.kt)("a",{parentName:"p",href:"/docs/deployment/deployment-standalone"},"Standalone")),(0,i.kt)("p",null,"Want to start with ",(0,i.kt)("a",{parentName:"p",href:"/docs/deployment/deployment-docker"},"Docker")),(0,i.kt)("p",null,"Want to start with ",(0,i.kt)("a",{parentName:"p",href:"http://www.solidui.top/"},"DemoEnvironment")," "),(0,i.kt)("h2",{id:"accessing-services"},"Accessing Services"),(0,i.kt)("p",null,"Default username and password: admin/admin"))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/5525.05fdfb4c.js b/assets/js/5525.05fdfb4c.js new file mode 100644 index 00000000..5923d099 --- /dev/null +++ b/assets/js/5525.05fdfb4c.js @@ -0,0 +1 @@ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5525],{5525:()=>{}}]); \ No newline at end of file diff --git a/assets/js/5836cbff.919ac171.js b/assets/js/5836cbff.919ac171.js new file mode 100644 index 00000000..7f8675a2 --- /dev/null +++ b/assets/js/5836cbff.919ac171.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3288],{926:e=>{e.exports=JSON.parse('{"label":"AIGC","permalink":"/SolidUI-Website/blog/tags/aigc","allTagsPath":"/SolidUI-Website/blog/tags","count":3}')}}]); \ No newline at end of file diff --git a/assets/js/6048.fb29faea.js b/assets/js/6048.fb29faea.js new file mode 100644 index 00000000..af72dfc2 --- /dev/null +++ b/assets/js/6048.fb29faea.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[6048],{9058:(e,t,a)=>{a.d(t,{Z:()=>h});var l=a(7294),r=a(6010),n=a(179),o=a(7524),s=a(9960),i=a(5999);const m={sidebar:"sidebar_re4s",sidebarItemTitle:"sidebarItemTitle_pO2u",sidebarItemList:"sidebarItemList_Yudw",sidebarItem:"sidebarItem__DBe",sidebarItemLink:"sidebarItemLink_mo7H",sidebarItemLinkActive:"sidebarItemLinkActive_I1ZP"};function c(e){let{sidebar:t}=e;return l.createElement("aside",{className:"col col--3"},l.createElement("nav",{className:(0,r.Z)(m.sidebar,"thin-scrollbar"),"aria-label":(0,i.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"})},l.createElement("div",{className:(0,r.Z)(m.sidebarItemTitle,"margin-bottom--md")},t.title),l.createElement("ul",{className:(0,r.Z)(m.sidebarItemList,"clean-list")},t.items.map((e=>l.createElement("li",{key:e.permalink,className:m.sidebarItem},l.createElement(s.Z,{isNavLink:!0,to:e.permalink,className:m.sidebarItemLink,activeClassName:m.sidebarItemLinkActive},e.title)))))))}var u=a(3102);function d(e){let{sidebar:t}=e;return l.createElement("ul",{className:"menu__list"},t.items.map((e=>l.createElement("li",{key:e.permalink,className:"menu__list-item"},l.createElement(s.Z,{isNavLink:!0,to:e.permalink,className:"menu__link",activeClassName:"menu__link--active"},e.title)))))}function g(e){return l.createElement(u.Zo,{component:d,props:e})}function p(e){let{sidebar:t}=e;const a=(0,o.i)();return t?.items.length?"mobile"===a?l.createElement(g,{sidebar:t}):l.createElement(c,{sidebar:t}):null}function h(e){const{sidebar:t,toc:a,children:o,...s}=e,i=t&&t.items.length>0;return l.createElement(n.Z,s,l.createElement("div",{className:"container margin-vert--lg"},l.createElement("div",{className:"row"},l.createElement(p,{sidebar:t}),l.createElement("main",{className:(0,r.Z)("col",{"col--7":i,"col--9 col--offset-1":!i}),itemScope:!0,itemType:"http://schema.org/Blog"},o),a&&l.createElement("div",{className:"col col--2"},a))))}},390:(e,t,a)=>{a.d(t,{Z:()=>A});var l=a(7294),r=a(6010),n=a(9460),o=a(4996);function s(e){let{children:t,className:a}=e;const{frontMatter:r,assets:s}=(0,n.C)(),{withBaseUrl:i}=(0,o.C)(),m=s.image??r.image;return l.createElement("article",{className:a,itemProp:"blogPost",itemScope:!0,itemType:"http://schema.org/BlogPosting"},m&&l.createElement("meta",{itemProp:"image",content:i(m,{absolute:!0})}),t)}var i=a(9960);const m={title:"title_f1Hy"};function c(e){let{className:t}=e;const{metadata:a,isBlogPostPage:o}=(0,n.C)(),{permalink:s,title:c}=a,u=o?"h1":"h2";return l.createElement(u,{className:(0,r.Z)(m.title,t),itemProp:"headline"},o?c:l.createElement(i.Z,{itemProp:"url",to:s},c))}var u=a(5999),d=a(8824);const g={container:"container_mt6G"};function p(e){let{readingTime:t}=e;const a=function(){const{selectMessage:e}=(0,d.c)();return t=>{const a=Math.ceil(t);return e(a,(0,u.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:a}))}}();return l.createElement(l.Fragment,null,a(t))}function h(e){let{date:t,formattedDate:a}=e;return l.createElement("time",{dateTime:t,itemProp:"datePublished"},a)}function b(){return l.createElement(l.Fragment,null," \xb7 ")}function E(e){let{className:t}=e;const{metadata:a}=(0,n.C)(),{date:o,formattedDate:s,readingTime:i}=a;return l.createElement("div",{className:(0,r.Z)(g.container,"margin-vert--md",t)},l.createElement(h,{date:o,formattedDate:s}),void 0!==i&&l.createElement(l.Fragment,null,l.createElement(b,null),l.createElement(p,{readingTime:i})))}function f(e){return e.href?l.createElement(i.Z,e):l.createElement(l.Fragment,null,e.children)}function v(e){let{author:t,className:a}=e;const{name:n,title:o,url:s,imageURL:i,email:m}=t,c=s||m&&`mailto:${m}`||void 0;return l.createElement("div",{className:(0,r.Z)("avatar margin-bottom--sm",a)},i&&l.createElement(f,{href:c,className:"avatar__photo-link"},l.createElement("img",{className:"avatar__photo",src:i,alt:n})),n&&l.createElement("div",{className:"avatar__intro",itemProp:"author",itemScope:!0,itemType:"https://schema.org/Person"},l.createElement("div",{className:"avatar__name"},l.createElement(f,{href:c,itemProp:"url"},l.createElement("span",{itemProp:"name"},n))),o&&l.createElement("small",{className:"avatar__subtitle",itemProp:"description"},o)))}const P={authorCol:"authorCol_Hf19",imageOnlyAuthorRow:"imageOnlyAuthorRow_pa_O",imageOnlyAuthorCol:"imageOnlyAuthorCol_G86a"};function N(e){let{className:t}=e;const{metadata:{authors:a},assets:o}=(0,n.C)();if(0===a.length)return null;const s=a.every((e=>{let{name:t}=e;return!t}));return l.createElement("div",{className:(0,r.Z)("margin-top--md margin-bottom--sm",s?P.imageOnlyAuthorRow:"row",t)},a.map(((e,t)=>l.createElement("div",{className:(0,r.Z)(!s&&"col col--6",s?P.imageOnlyAuthorCol:P.authorCol),key:t},l.createElement(v,{author:{...e,imageURL:o.authorsImageUrls[t]??e.imageURL}})))))}function _(){return l.createElement("header",null,l.createElement(c,null),l.createElement(E,null),l.createElement(N,null))}var Z=a(8780),k=a(8718);function I(e){let{children:t,className:a}=e;const{isBlogPostPage:o}=(0,n.C)();return l.createElement("div",{id:o?Z.blogPostContainerID:void 0,className:(0,r.Z)("markdown",a),itemProp:"articleBody"},l.createElement(k.Z,null,t))}var C=a(4881),w=a(1526),T=a(7462);function y(){return l.createElement("b",null,l.createElement(u.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts"},"Read More"))}function F(e){const{blogPostTitle:t,...a}=e;return l.createElement(i.Z,(0,T.Z)({"aria-label":(0,u.I)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t})},a),l.createElement(y,null))}const L={blogPostFooterDetailsFull:"blogPostFooterDetailsFull_mRVl"};function B(){const{metadata:e,isBlogPostPage:t}=(0,n.C)(),{tags:a,title:o,editUrl:s,hasTruncateMarker:i}=e,m=!t&&i,c=a.length>0;return c||m||s?l.createElement("footer",{className:(0,r.Z)("row docusaurus-mt-lg",t&&L.blogPostFooterDetailsFull)},c&&l.createElement("div",{className:(0,r.Z)("col",{"col--9":m})},l.createElement(w.Z,{tags:a})),t&&s&&l.createElement("div",{className:"col margin-top--sm"},l.createElement(C.Z,{editUrl:s})),m&&l.createElement("div",{className:(0,r.Z)("col text--right",{"col--3":c})},l.createElement(F,{blogPostTitle:o,to:e.permalink}))):null}function A(e){let{children:t,className:a}=e;const o=function(){const{isBlogPostPage:e}=(0,n.C)();return e?void 0:"margin-bottom--xl"}();return l.createElement(s,{className:(0,r.Z)(o,a)},l.createElement(_,null),l.createElement(I,null,t),l.createElement(B,null))}},9460:(e,t,a)=>{a.d(t,{C:()=>s,n:()=>o});var l=a(7294),r=a(902);const n=l.createContext(null);function o(e){let{children:t,content:a,isBlogPostPage:r=!1}=e;const o=function(e){let{content:t,isBlogPostPage:a}=e;return(0,l.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a})),[t,a])}({content:a,isBlogPostPage:r});return l.createElement(n.Provider,{value:o},t)}function s(){const e=(0,l.useContext)(n);if(null===e)throw new r.i6("BlogPostProvider");return e}},8824:(e,t,a)=>{a.d(t,{c:()=>m});var l=a(7294),r=a(2263);const n=["zero","one","two","few","many","other"];function o(e){return n.filter((t=>e.includes(t)))}const s={locale:"en",pluralForms:o(["one","other"]),select:e=>1===e?"one":"other"};function i(){const{i18n:{currentLocale:e}}=(0,r.Z)();return(0,l.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:o(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),s}}),[e])}function m(){const e=i();return{selectMessage:(t,a)=>function(e,t,a){const l=e.split("|");if(1===l.length)return l[0];l.length>a.pluralForms.length&&console.error(`For locale=${a.locale}, a maximum of ${a.pluralForms.length} plural forms are expected (${a.pluralForms.join(",")}), but the message contains ${l.length}: ${e}`);const r=a.select(t),n=a.pluralForms.indexOf(r);return l[Math.min(n,l.length-1)]}(a,t,e)}}}}]); \ No newline at end of file diff --git a/assets/js/6655eab5.1fb02fab.js b/assets/js/6655eab5.1fb02fab.js new file mode 100644 index 00000000..32981efc --- /dev/null +++ b/assets/js/6655eab5.1fb02fab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2153],{3905:(e,n,t)=>{t.d(n,{Zo:()=>m,kt:()=>g});var a=t(7294);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function r(e){for(var n=1;n=0||(l[t]=e[t]);return l}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var s=a.createContext({}),c=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):r(r({},n),e)),t},m=function(e){var n=c(e.components);return a.createElement(s.Provider,{value:n},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},k=a.forwardRef((function(e,n){var t=e.components,l=e.mdxType,o=e.originalType,s=e.parentName,m=i(e,["components","mdxType","originalType","parentName"]),p=c(t),k=l,g=p["".concat(s,".").concat(k)]||p[k]||d[k]||o;return t?a.createElement(g,r(r({ref:n},m),{},{components:t})):a.createElement(g,r({ref:n},m))}));function g(e,n){var t=arguments,l=n&&n.mdxType;if("string"==typeof e||l){var o=t.length,r=new Array(o);r[0]=k;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i[p]="string"==typeof e?e:l,r[1]=i;for(var c=2;c{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=t(7462),l=(t(7294),t(3905));const o={title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",date:new Date("2023-07-02T00:00:00.000Z"),tags:["SolidUI","AIGC","stable-diffusion"]},r=void 0,i={permalink:"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-02-snakemq-communication-source-code-analysis.md",source:"@site/blog/2023-07-02-snakemq-communication-source-code-analysis.md",title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",description:"\u80cc\u666f",date:"2023-07-02T00:00:00.000Z",formattedDate:"July 2, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AIGC",permalink:"/SolidUI-Website/blog/tags/aigc"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:6.275,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",date:"2023-07-02T00:00:00.000Z",tags:["SolidUI","AIGC","stable-diffusion"]},prevItem:{title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",permalink:"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis"},nextItem:{title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",permalink:"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0"}},s={authorsImageUrls:[]},c=[{value:"\u80cc\u666f",id:"\u80cc\u666f",level:2},{value:"Snakemq\u4ecb\u7ecd",id:"snakemq\u4ecb\u7ecd",level:2},{value:"Snakemq\u4f5c\u7528",id:"snakemq\u4f5c\u7528",level:2},{value:"Snakemq \u6d4b\u8bd5\u4ee3\u7801",id:"snakemq-\u6d4b\u8bd5\u4ee3\u7801",level:2},{value:"Snakemq\u901a\u4fe1",id:"snakemq\u901a\u4fe1",level:2},{value:"\u7ed3\u8bed",id:"\u7ed3\u8bed",level:2},{value:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",level:2}],m={toc:c},p="wrapper";function d(e){let{components:n,...t}=e;return(0,l.kt)(p,(0,a.Z)({},m,t,{components:n,mdxType:"MDXLayout"}),(0,l.kt)("h2",{id:"\u80cc\u666f"},"\u80cc\u666f"),(0,l.kt)("p",null,"\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002"),(0,l.kt)("p",null,"\u9879\u76ee\u5730\u5740: ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,l.kt)("p",null,"\u9879\u76ee\u955c\u50cf\u5730\u5740: ",(0,l.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,l.kt)("h2",{id:"snakemq\u4ecb\u7ecd"},"Snakemq\u4ecb\u7ecd"),(0,l.kt)("p",null,"SnakeMQ\u662f\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u6d88\u606f\u961f\u5217(MQ)\u7cfb\u7edf,\u4e3b\u8981\u7528\u4e8e\u5728Python\u4e2d\u5b9e\u73b0\u5f02\u6b65\u4efb\u52a1\u961f\u5217\u548c\u6d88\u606f\u4f20\u9012\u3002"),(0,l.kt)("p",null,"SolidUI \u6a21\u578b\u4ee3\u7406\u6a21\u5757\uff08soliduimodelui\uff09 \u7528\u5230Snakemq , \u6d89\u53ca\u5230\u5185\u90e8\u901a\u4fe1\u65f6\u5019\uff0c\u5982\u679cclient \u548cserver \u4e0d\u4e00\u4e00\u5bf9\u5e94\uff0c\u901a\u4fe1\u5c31\u6709\u95ee\u9898\uff0c\u867d\u7136\u65e5\u5fd7\u4e0d\u62a5\u9519\uff0c\u4f46\u662f\u4e0d\u56de\u8fd4\u56de\u7ed3\u679c\uff0c\u672c\u6587\u4e3b\u8981\u8bb2\u76f8\u5173\u901a\u4fe1\u95ee\u9898\uff0c\u4e3a\u540e\u7eed\u5171\u5efa\u4f19\u4f34\u63d0\u4f9b\u89e3\u51b3\u601d\u8def\u3002"),(0,l.kt)("h2",{id:"snakemq\u4f5c\u7528"},"Snakemq\u4f5c\u7528"),(0,l.kt)("h2",{id:""}),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u8f7b\u91cf\u7ea7\u548c\u6613\u4e8e\u4f7f\u7528 - SnakeMQ\u4f7f\u7528\u7eafPython\u7f16\u5199,\u65e0\u4efb\u4f55\u5916\u90e8\u4f9d\u8d56,\u53ef\u4ee5\u5f88\u5bb9\u6613\u5730\u5728\u4efb\u4f55Python\u9879\u76ee\u4e2d\u96c6\u6210\u4f7f\u7528\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u652f\u6301\u4e3b\u6d41\u534f\u8bae - SnakeMQ\u5b9e\u73b0\u4e86STOMP\u548cAMQP\u7b49\u4e3b\u6d41\u7684MQ\u534f\u8bae\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u591a\u79cd\u6d88\u606f\u6a21\u578b - \u652f\u6301\u53d1\u5e03-\u8ba2\u9605\u3001\u5de5\u4f5c\u961f\u5217\u3001\u8bf7\u6c42-\u54cd\u5e94\u7b49\u591a\u79cd\u6d88\u606f\u6a21\u578b\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u6301\u4e45\u5316\u652f\u6301 - \u652f\u6301\u5c06\u6d88\u606f\u6301\u4e45\u5316\u5230\u4e0d\u540c\u7684\u540e\u7aef,\u5982Redis\u3001MongoDB\u7b49\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u9ad8\u6027\u80fd - SnakeMQ\u9488\u5bf9Python\u8fdb\u884c\u4e86\u4f18\u5316,\u5355\u673a\u53ef\u4ee5\u5904\u7406\u4e0a\u4e07\u6d88\u606f\u6bcf\u79d2\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u53ef\u6269\u5c55 - \u53ef\u4ee5\u6c34\u5e73\u6269\u5c55\u4ee5\u5b9e\u73b0\u96c6\u7fa4,\u63d0\u9ad8\u7cfb\u7edf\u6574\u4f53\u541e\u5410\u91cf\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u591a\u8bed\u8a00\u652f\u6301 - \u9664\u4e86Python SDK,\u8fd8\u63d0\u4f9b\u4e86NodeJS\u3001Java\u7b49\u8bed\u8a00\u7684SDK\u3002")),(0,l.kt)("p",null,"SolidUI \u4e2d soliduimodelui\u6a21\u5757\uff0c\u662f\u6a21\u578b\u4ee3\u7406API\uff0c\u9700\u8981Web\u548c Kernel \u901a\u4fe1\u7528\u5230Snakemq "),(0,l.kt)("h2",{id:"snakemq-\u6d4b\u8bd5\u4ee3\u7801"},"Snakemq \u6d4b\u8bd5\u4ee3\u7801"),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Snakemq client.py")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-plain"},'\nimport snakemq.link\nimport snakemq.packeter\nimport snakemq.messaging\nimport snakemq.rpc\nimport time\nimport json\nimport logging\n\n\nlogging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")\n\n\nlogger = logging.getLogger(__name__)\n\n\nlogger.setLevel(logging.INFO)\n\n\nconsole_handler = logging.StreamHandler()\n\n\nconsole_handler.setLevel(logging.INFO)\n\n\nlogger.addHandler(console_handler)\n\n\nlogger.setLevel(logging.INFO)\n\n\nfh = logging.FileHandler(\'app.log\')\n\n\nlogger.addHandler(fh)\n\n\nlink = snakemq.link.Link()\n\n\npacketer = snakemq.packeter.Packeter(link)\n\n\nmessaging = snakemq.messaging.Messaging("client", "", packeter)\n\n\nconnector = ("server", 8765)\n\n\nlink.add_connector(connector)\n\n\ndef on_connect(connector_id):\n\n\n logger.info(f"Connected to: {connector_id}")\n\n\nlink.on_connect.add(on_connect)\n\n\ndef on_disconnect(connector_id):\n\n\n logger.info(f"\u5df2\u65ad\u5f00: {connector_id}")\n\n\nlink.on_disconnect.add(on_disconnect)\n\n\n\ndef on_recv(conn, ident, message):\n\n\n logger.info(f"client\u63a5\u6536\u5230: {message.data}, \u6765\u81ea: {ident}")\n\n\nmessaging.on_message_recv.add(on_recv)\n\n\nmessage = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)\n\n\nmessaging.send_message("server", message)\n\n\nwhile True:\n\n\n link.loop()\n\n\n time.sleep(0.1)\n\n\n')),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Snakemq server.py")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-plain"},'\nimport snakemq.link\nimport snakemq.packeter\nimport snakemq.messaging\nimport snakemq.rpc\nimport time\nimport json\nimport logging\n\n\nlogging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")\n\n\nlogger = logging.getLogger(__name__)\n\n\nlogger.setLevel(logging.INFO)\n\n\nconsole_handler = logging.StreamHandler()\n\n\nconsole_handler.setLevel(logging.INFO)\n\n\nlogger.addHandler(console_handler)\n\n\nlogger.setLevel(logging.INFO)\n\n\nfh = logging.FileHandler(\'app.log\')\n\n\nlogger.addHandler(fh)\n\n\nlink = snakemq.link.Link()\n\n\npacketer = snakemq.packeter.Packeter(link)\n\n\nmessaging = snakemq.messaging.Messaging("server", "", packeter)\n\n\nlink.add_listener(("0.0.0.0", 8765))\n\n\ndef on_recv(conn, ident, message):\n\n\n logger.info(f"server\u63a5\u6536\u5230: {message.data}, \u6765\u81ea: {ident}")\n\n\nmessaging.on_message_recv.add(on_recv)\n\n\n\nmessage = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)\n\n\nmessaging.send_message("client", message)\n\n\n# Main loop\n\n\nwhile True:\n\n\n link.loop()\n\n\n time.sleep(0.1)\n\n\n')),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Dockerfile")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},'FROM python:3.8\nWORKDIR /opt/snaketmq-test\n\nRUN pip install snakemq\nRUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"\nCOPY . .\n\nCMD ["python", "server.py"]\n')),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Dockerfile build & run")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"docker build -t snaketmq-test .\xa0\n\ndocker network create mynet\n\ndocker run -d --name server --network mynet\xa0 snaketmq-test\n\ndocker run --network mynet\xa0 snaketmq-test python client.py\n")),(0,l.kt)("h2",{id:"snakemq\u901a\u4fe1"},"Snakemq\u901a\u4fe1"),(0,l.kt)("p",null,'\u6ce8\u610f\uff1aSnakemq \u6d4b\u8bd5\u4ee3\u7801\uff0c\u56e0\u4e3a\u5bb9\u5668\u5185\u901a\u4fe1\uff0cip addr \u4f1a\u6d89\u53ca\u5230\u591a\u4e2aip \uff0c\u867d\u7136\u5bb9\u5668\u8bbe\u7f6e\u7f51\u6bb5mynet \uff0c\u4f46\u662f server link.add_listener(("0.0.0.0", 8765)) \u8fd9\u884c\u4ee3\u7801 '),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"server: \u8868\u793aSnakeMQ\u7684\u670d\u52a1\u5668\u5b9e\u4f8b\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"link: server\u4e2d\u7684link\u5c5e\u6027,\u8868\u793a\u7f51\u7edc\u8fde\u63a5\u7ba1\u7406\u5668\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"add_listener: \u5411link\u4e2d\u6dfb\u52a0\u4e00\u4e2a\u76d1\u542c\u5668\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},'("0.0.0.0", 8765): \u76d1\u542c\u7684\u5730\u5740\u548c\u7aef\u53e3\u3002"0.0.0.0"\u8868\u793a\u76d1\u542c\u6240\u6709\u7f51\u5361\u5730\u5740,"8765"\u8868\u793a\u76d1\u542c8765\u7aef\u53e3\u3002\nclient connector = ("server", 8765) link.add_connector(connector) \u8fd9\u884c\u4ee3\u7801')),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},'connector = ("server", 8765) : \u521b\u5efa\u4e00\u4e2a\u5143\u7ec4connector,\u91cc\u9762\u5305\u542b\u4e86SnakeMQ\u670d\u52a1\u5668\u7684\u5730\u5740"server"\u548c\u7aef\u53e38765\u3002')),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"link.add_connector(connector): \u8c03\u7528link\u5bf9\u8c61(\u8fd9\u91cc\u5e94\u8be5\u662fSnakeMQ\u7684\u8fde\u63a5\u5bf9\u8c61)\u7684add_connector\u65b9\u6cd5,\u4f20\u5165\u53c2\u6570connector,\u5c06\u4e0a\u4e00\u6b65\u521b\u5efa\u7684\u8fde\u63a5\u4fe1\u606f\u6dfb\u52a0\u5230\u8fde\u63a5\u5bf9\u8c61\u4e2d\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"\u7efc\u5408\u6765\u770b,\u8fd9\u884c\u4ee3\u7801\u7684\u4f5c\u7528\u5c31\u662f\u521b\u5efa\u4e00\u4e2a\u8fde\u63a5\u5143\u7ec4,\u5305\u542bSnakeMQ\u670d\u52a1\u5668\u7684\u5730\u5740\u548c\u7aef\u53e3,\u7136\u540e\u5c06\u8fd9\u4e2a\u8fde\u63a5\u4fe1\u606f\u6dfb\u52a0\u5230SnakeMQ\u7684\u8fde\u63a5\u5bf9\u8c61\u4e2d,\u4ee5\u5efa\u7acbSnakeMQ\u7684\u5ba2\u6237\u7aef\u8fde\u63a5\u3002"))),(0,l.kt)("h2",{id:"\u7ed3\u8bed"},"\u7ed3\u8bed"),(0,l.kt)("p",null,"\u672c\u6587\u901a\u8fc7Snakemq \u6848\u4f8b \u6765\u89e3\u91caSolidUI \u5185\u90e8\u901a\u4fe1\uff0c\u8ba9\u5927\u5bb6\u660e\u767d\u914d\u7f6e\u5730\u5740\u65f6\u5019ip \u4e3a\u4ec0\u4e48\u8fd9\u6837\u8bbe\u7f6e\uff0c\u76ee\u7684\u662f\u4e3a\u4e86\u4e00\u4e00\u5bf9\u5e94\uff0c\u4e0d\u662f\u76f2\u76ee\u8bbe\u7f6elocalhost\u5c31\u80fd\u89e3\u51b3\uff0c\u4e3a\u5927\u5bb6\u540e\u7eed\u66f4\u597d\u5171\u5efaSolidUI\u63d0\u4f9b\u601d\u8def\u3002"),(0,l.kt)("h2",{id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"},"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u5b98\u65b9\u6587\u6863\u8d21\u732e\u3002\u53d1\u73b0\u6587\u6863\u7684\u4e0d\u8db3\u3001\u4f18\u5316\u6587\u6863\uff0c\u6301\u7eed\u66f4\u65b0\u6587\u6863\u7b49\u65b9\u5f0f\u53c2\u4e0e\u793e\u533a\u8d21\u732e\u3002\u901a\u8fc7\u6587\u6863\u8d21\u732e\uff0c\u8ba9\u5f00\u53d1\u8005\u719f\u6089\u5982\u4f55\u63d0\u4ea4PR\u548c\u771f\u6b63\u53c2\u4e0e\u5230\u793e\u533a\u7684\u5efa\u8bbe\u3002\u53c2\u8003\u653b\u7565\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,l.kt)("li",{parentName:"ul"},"\u4ee3\u7801\u8d21\u732e\u3002\u6211\u4eec\u68b3\u7406\u4e86\u793e\u533a\u4e2d\u7b80\u5355\u5e76\u4e14\u5bb9\u6613\u5165\u95e8\u7684\u7684\u4efb\u52a1\uff0c\u975e\u5e38\u9002\u5408\u65b0\u4eba\u505a\u4ee3\u7801\u8d21\u732e\u3002\u8bf7\u67e5\u9605\u65b0\u624b\u4efb\u52a1\u5217\u8868\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,l.kt)("li",{parentName:"ul"},"\u5185\u5bb9\u8d21\u732e\uff1a\u53d1\u5e03SolidUI\u5f00\u6e90\u7ec4\u4ef6\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5b89\u88c5\u90e8\u7f72\u6559\u7a0b\u3001\u4f7f\u7528\u7ecf\u9a8c\u3001\u6848\u4f8b\u5b9e\u8df5\u7b49\uff0c\u5f62\u5f0f\u4e0d\u9650\uff0c\u8bf7\u6295\u7a3f\u7ed9\u5c0f\u52a9\u624b\u3002\u4f8b\u5982\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,l.kt)("li",{parentName:"ul"},"\u793e\u533a\u7b54\u7591\uff1a\u79ef\u6781\u5728\u793e\u533a\u4e2d\u8fdb\u884c\u7b54\u7591\u3001\u5206\u4eab\u6280\u672f\u3001\u5e2e\u52a9\u5f00\u53d1\u8005\u89e3\u51b3\u95ee\u9898\u7b49\uff1b\n\u5176\u4ed6\uff1a\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u6d3b\u52a8\u3001\u6210\u4e3a\u793e\u533a\u5fd7\u613f\u8005\u3001\u5e2e\u52a9\u793e\u533a\u5ba3\u4f20\u3001\u4e3a\u793e\u533a\u53d1\u5c55\u63d0\u4f9b\u6709\u6548\u5efa\u8bae\u7b49\uff1b")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6875c492.d0767faf.js b/assets/js/6875c492.d0767faf.js new file mode 100644 index 00000000..bbf83764 --- /dev/null +++ b/assets/js/6875c492.d0767faf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8610],{9703:(e,t,a)=>{a.d(t,{Z:()=>s});var n=a(7294),l=a(5999),r=a(2244);function s(e){const{metadata:t}=e,{previousPage:a,nextPage:s}=t;return n.createElement("nav",{className:"pagination-nav","aria-label":(0,l.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"})},a&&n.createElement(r.Z,{permalink:a,title:n.createElement(l.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)"},"Newer Entries")}),s&&n.createElement(r.Z,{permalink:s,title:n.createElement(l.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)"},"Older Entries"),isNext:!0}))}},9985:(e,t,a)=>{a.d(t,{Z:()=>s});var n=a(7294),l=a(9460),r=a(390);function s(e){let{items:t,component:a=r.Z}=e;return n.createElement(n.Fragment,null,t.map((e=>{let{content:t}=e;return n.createElement(l.n,{key:t.metadata.permalink,content:t},n.createElement(a,null,n.createElement(t,null)))})))}},1714:(e,t,a)=>{a.r(t),a.d(t,{default:()=>E});var n=a(7294),l=a(6010),r=a(5999),s=a(8824),i=a(1944),o=a(5281),g=a(9960),c=a(9058),m=a(9703),u=a(197),p=a(9985);function d(e){const t=function(){const{selectMessage:e}=(0,s.c)();return t=>e(t,(0,r.I)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}();return(0,r.I)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function h(e){let{tag:t}=e;const a=d(t);return n.createElement(n.Fragment,null,n.createElement(i.d,{title:a}),n.createElement(u.Z,{tag:"blog_tags_posts"}))}function b(e){let{tag:t,items:a,sidebar:l,listMetadata:s}=e;const i=d(t);return n.createElement(c.Z,{sidebar:l},n.createElement("header",{className:"margin-bottom--xl"},n.createElement("h1",null,i),n.createElement(g.Z,{href:t.allTagsPath},n.createElement(r.Z,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page"},"View All Tags"))),n.createElement(p.Z,{items:a}),n.createElement(m.Z,{metadata:s}))}function E(e){return n.createElement(i.FG,{className:(0,l.Z)(o.k.wrapper.blogPages,o.k.page.blogTagPostListPage)},n.createElement(h,e),n.createElement(b,e))}}}]); \ No newline at end of file diff --git a/assets/js/6cd1964f.c10a9ed2.js b/assets/js/6cd1964f.c10a9ed2.js new file mode 100644 index 00000000..55072335 --- /dev/null +++ b/assets/js/6cd1964f.c10a9ed2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5516],{7176:e=>{e.exports=JSON.parse('{"label":"SolidUI","permalink":"/SolidUI-Website/blog/tags/solid-ui","allTagsPath":"/SolidUI-Website/blog/tags","count":6}')}}]); \ No newline at end of file diff --git a/assets/js/6d852631.c5037e2d.js b/assets/js/6d852631.c5037e2d.js new file mode 100644 index 00000000..79378f2f --- /dev/null +++ b/assets/js/6d852631.c5037e2d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8040],{7592:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/blog/tags/solid-ui","page":1,"postsPerPage":3,"totalPages":2,"totalCount":6,"nextPage":"/SolidUI-Website/blog/tags/solid-ui/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/7ba7942d.cd6a9e56.js b/assets/js/7ba7942d.cd6a9e56.js new file mode 100644 index 00000000..124371f4 --- /dev/null +++ b/assets/js/7ba7942d.cd6a9e56.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[9615],{3905:(e,t,l)=>{l.d(t,{Zo:()=>c,kt:()=>k});var i=l(7294);function n(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function o(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,i)}return l}function r(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var u=i.createContext({}),s=function(e){var t=i.useContext(u),l=t;return e&&(l="function"==typeof e?e(t):r(r({},t),e)),l},c=function(e){var t=s(e.components);return i.createElement(u.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var l=e.components,n=e.mdxType,o=e.originalType,u=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),d=s(l),m=n,k=d["".concat(u,".").concat(m)]||d[m]||p[m]||o;return l?i.createElement(k,r(r({ref:t},c),{},{components:l})):i.createElement(k,r({ref:t},c))}));function k(e,t){var l=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=l.length,r=new Array(o);r[0]=m;var a={};for(var u in t)hasOwnProperty.call(t,u)&&(a[u]=t[u]);a.originalType=e,a[d]="string"==typeof e?e:n,r[1]=a;for(var s=2;s{l.r(t),l.d(t,{assets:()=>u,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>s});var i=l(7462),n=(l(7294),l(3905));const o={title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",date:new Date("2023-07-03T00:00:00.000Z"),tags:["SolidUI","AIGC","stable-diffusion"]},r=void 0,a={permalink:"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-03-independent-deployment-communication-analysis.md",source:"@site/blog/2023-07-03-independent-deployment-communication-analysis.md",title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",description:"\u80cc\u666f",date:"2023-07-03T00:00:00.000Z",formattedDate:"July 3, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AIGC",permalink:"/SolidUI-Website/blog/tags/aigc"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:3.635,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",date:"2023-07-03T00:00:00.000Z",tags:["SolidUI","AIGC","stable-diffusion"]},prevItem:{title:"SolidUI Community - Official Website Introduction",permalink:"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction"},nextItem:{title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",permalink:"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis"}},u={authorsImageUrls:[]},s=[{value:"\u80cc\u666f",id:"\u80cc\u666f",level:2},{value:"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1",id:"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1",level:2},{value:"\u4f8b\u5982",id:"\u4f8b\u5982",level:3},{value:"Docker \u90e8\u7f72\u901a\u4fe1",id:"docker-\u90e8\u7f72\u901a\u4fe1",level:2},{value:"\u4f8b\u5982",id:"\u4f8b\u5982-1",level:3},{value:"\u7ed3\u8bed",id:"\u7ed3\u8bed",level:2},{value:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",level:2}],c={toc:s},d="wrapper";function p(e){let{components:t,...l}=e;return(0,n.kt)(d,(0,i.Z)({},c,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"\u80cc\u666f"},"\u80cc\u666f"),(0,n.kt)("p",null,"\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002"),(0,n.kt)("p",null,"\u9879\u76ee\u5730\u5740: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"\u9879\u76ee\u955c\u50cf\u5730\u5740: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("h2",{id:"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1"},"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1"),(0,n.kt)("p",null,"\u5355\u72ec\u90e8\u7f72\uff0c\u4e0e\u5916\u7f51\u901a\u4fe1\uff0c\u8fd9\u5757\u4e0d\u96be\u53ea\u6709\u76f8\u5e94\u516c\u7f51\uff0c\u5c31\u53ef\u4ee5\u6b63\u5e38\u8bbf\u95ee\u3002"),(0,n.kt)("p",null,"\u5355\u72ec\u90e8\u7f72\uff0c\u5185\u90e8\u8fdb\u7a0b\u95f4\u901a\u4fe1\uff0c\u5982\u679c\u6709\u591a\u4e2a\u7f51\u5361\uff0cip addr \u6d89\u53ca\u591a\u4e2aip \uff0c\u9700\u8981\u8bbe\u7f6e\u5185\u7f51ip \u6216\u8005\u57df\u540d \uff0c\u53bb\u4e00\u4e00\u5bf9\u5e94\u3002"),(0,n.kt)("h3",{id:"\u4f8b\u5982"},"\u4f8b\u5982"),(0,n.kt)("p",null,"\u5982\u679c\u6709\u591a\u4e2a\u7f51\u5361\uff0cip addr \u6d89\u53ca\u591a\u4e2aip \uff0c\u9700\u8981\u8bbe\u7f6e\u5185\u7f51ip \u6216\u8005\u57df\u540d \uff0c\u53bb\u4e00\u4e00\u5bf9\u5e94\uff0c\u6ca1\u6709\u7684\u8bdd\u7528127.0.0.1 \u5c31\u53ef\u4ee5\u3002"),(0,n.kt)("p",null,"\u8bbe\u7f6e Snakemq \u901a\u4fe1"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-plain"},"soliduimodelui/.env SNAKEMQ_LISTENER server \u76d1\u542c\u5668 \uff0c\u8bbe\u7f6e\u5185\u7f51ip\nsoliduimodelui/.env SNAKEMQ_CONNECTOR \u4e0eserver \u8fde\u63a5ip \uff0c\u8bbe\u7f6e\u5185\u7f51ip\n")),(0,n.kt)("h2",{id:"docker-\u90e8\u7f72\u901a\u4fe1"},"Docker \u90e8\u7f72\u901a\u4fe1"),(0,n.kt)("p",null,"\u5bb9\u5668\u5316\u90e8\u7f72\uff0c\u5728\u6b64\u6211\u7b80\u5316\u63cf\u8ff0\uff0c\u4e0d\u5e26\u5bb9\u5668\u7ba1\u7406\u6846\u67b6\u63cf\u8ff0\uff0c\u56e0\u4e3a\u901a\u4fe1\u6700\u6839\u672c\u7684\u660e\u767d\u540e\uff0c\u5176\u5b83\u5728\u6846\u67b6\u4e2d\u4e5f\u5c31\u660e\u767d\u4e86\uff0c\u5916\u90e8\u901a\u4fe1\uff0c\u5f00\u653e\u7aef\u53e3 \uff0c\u5185\u90e8\u901a\u4fe1\uff0c\u901a\u8fc7\u8bbe\u7f6e\u7f51\u6bb5\u540d\u79f0\uff0c\u4e0d\u540c\u5bb9\u5668\u901a\u4fe1\uff0c\u901a\u8fc7\u5bb9\u5668\u540d\u79f0\u8fdb\u884c\u3002"),(0,n.kt)("h3",{id:"\u4f8b\u5982-1"},"\u4f8b\u5982"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"\u6570\u636e\u5e93\u8fde\u63a5")),(0,n.kt)("p",null,"\u5728docker-compose.yml \u4e2d\uff0c\u8bbe\u7f6e\u4e86Mysql\u6570\u636e\u5e93\u540d\u79f0\u4e3amysql "),(0,n.kt)("p",null,"\u6240\u4ee5solidui-entrance application.yaml \u4e2d datasource.url mysql \u66ff\u6362 localhost"),(0,n.kt)("p",null,"soliduimodelui/.env DB_HOST mysql \u66ff\u6362 localhost "),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"soliduimodelui/.env Snakemq \u901a\u4fe1")),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-plain"},"soliduimodelui/.env SNAKEMQ_LISTENER server \u76d1\u542c\u5668 \uff0c\u8bbe\u7f6e0.0.0.0\nsoliduimodelui/.env SNAKEMQ_CONNECTOR \u4e0eserver \u8fde\u63a5ip \uff0c\u8bbe\u7f6esoliduimodelui\n")),(0,n.kt)("h2",{id:"\u7ed3\u8bed"},"\u7ed3\u8bed"),(0,n.kt)("p",null,"\u672c\u6587\u901a\u8fc7\u8bb2\u89e3\u72ec\u7acb\u90e8\u7f72 \u548c Docker \u901a\u4fe1\u5206\u6790 \uff0c\u544a\u8bc9\u90e8\u7f72\u8bbe\u7f6eip\u65f6\u5019\u65b9\u5f0f\uff0c\u4e0d\u662f\u76f2\u76ee\u8bbe\u7f6elocalhost\u5c31\u80fd\u89e3\u51b3\uff0c\u4e3a\u5927\u5bb6\u540e\u7eed\u66f4\u597d\u5171\u5efaSolidUI\u63d0\u4f9b\u601d\u8def\u3002"),(0,n.kt)("h2",{id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"},"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u5b98\u65b9\u6587\u6863\u8d21\u732e\u3002\u53d1\u73b0\u6587\u6863\u7684\u4e0d\u8db3\u3001\u4f18\u5316\u6587\u6863\uff0c\u6301\u7eed\u66f4\u65b0\u6587\u6863\u7b49\u65b9\u5f0f\u53c2\u4e0e\u793e\u533a\u8d21\u732e\u3002\u901a\u8fc7\u6587\u6863\u8d21\u732e\uff0c\u8ba9\u5f00\u53d1\u8005\u719f\u6089\u5982\u4f55\u63d0\u4ea4PR\u548c\u771f\u6b63\u53c2\u4e0e\u5230\u793e\u533a\u7684\u5efa\u8bbe\u3002\u53c2\u8003\u653b\u7565\uff1a",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("li",{parentName:"ul"},"\u4ee3\u7801\u8d21\u732e\u3002\u6211\u4eec\u68b3\u7406\u4e86\u793e\u533a\u4e2d\u7b80\u5355\u5e76\u4e14\u5bb9\u6613\u5165\u95e8\u7684\u7684\u4efb\u52a1\uff0c\u975e\u5e38\u9002\u5408\u65b0\u4eba\u505a\u4ee3\u7801\u8d21\u732e\u3002\u8bf7\u67e5\u9605\u65b0\u624b\u4efb\u52a1\u5217\u8868\uff1a",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("li",{parentName:"ul"},"\u5185\u5bb9\u8d21\u732e\uff1a\u53d1\u5e03SolidUI\u5f00\u6e90\u7ec4\u4ef6\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5b89\u88c5\u90e8\u7f72\u6559\u7a0b\u3001\u4f7f\u7528\u7ecf\u9a8c\u3001\u6848\u4f8b\u5b9e\u8df5\u7b49\uff0c\u5f62\u5f0f\u4e0d\u9650\uff0c\u8bf7\u6295\u7a3f\u7ed9\u5c0f\u52a9\u624b\u3002\u4f8b\u5982\uff1a",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("li",{parentName:"ul"},"\u793e\u533a\u7b54\u7591\uff1a\u79ef\u6781\u5728\u793e\u533a\u4e2d\u8fdb\u884c\u7b54\u7591\u3001\u5206\u4eab\u6280\u672f\u3001\u5e2e\u52a9\u5f00\u53d1\u8005\u89e3\u51b3\u95ee\u9898\u7b49\uff1b\n\u5176\u4ed6\uff1a\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u6d3b\u52a8\u3001\u6210\u4e3a\u793e\u533a\u5fd7\u613f\u8005\u3001\u5e2e\u52a9\u793e\u533a\u5ba3\u4f20\u3001\u4e3a\u793e\u533a\u53d1\u5c55\u63d0\u4f9b\u6709\u6548\u5efa\u8bae\u7b49\uff1b")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/7f90e5b7.3234bd11.js b/assets/js/7f90e5b7.3234bd11.js new file mode 100644 index 00000000..12b3430a --- /dev/null +++ b/assets/js/7f90e5b7.3234bd11.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4391],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>f});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(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 i(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),d=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},p=function(e){var t=d(e.components);return r.createElement(s.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),c=d(n),m=a,f=c["".concat(s,".").concat(m)]||c[m]||u[m]||o;return n?r.createElement(f,i(i({ref:t},p),{},{components:n})):r.createElement(f,i({ref:t},p))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=n.length,i=new Array(o);i[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[c]="string"==typeof e?e:a,i[1]=l;for(var d=2;d{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var r=n(7462),a=(n(7294),n(3905));const o={id:"deployment-standalone",title:"Deployed Standalone",sidebar_position:3},i="SolidUI is deployed separately",l={unversionedId:"deployment/deployment-standalone",id:"deployment/deployment-standalone",title:"Deployed Standalone",description:"1. First-time installation preparations",source:"@site/docs/deployment/deployment-standalone.md",sourceDirName:"deployment",slug:"/deployment/deployment-standalone",permalink:"/SolidUI-Website/docs/deployment/deployment-standalone",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/deployment/deployment-standalone.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{id:"deployment-standalone",title:"Deployed Standalone",sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Docker-Compose Deployment",permalink:"/SolidUI-Website/docs/deployment/deployment-docker"},next:{title:"Kubernetes Deployment",permalink:"/SolidUI-Website/docs/deployment/deployment-kubernetes"}},s={},d=[{value:"1. First-time installation preparations",id:"1-first-time-installation-preparations",level:2},{value:"1.1 Linux server",id:"11-linux-server",level:3},{value:"Hardware Requirements",id:"hardware-requirements",level:4},{value:"1.2 JDK preparation",id:"12-jdk-preparation",level:3},{value:"1.3 Database preparation",id:"13-database-preparation",level:3},{value:"2. Configuration modification",id:"2-configuration-modification",level:2},{value:"2.1 Installation package preparation",id:"21-installation-package-preparation",level:3},{value:"3. The server follows and starts",id:"3-the-server-follows-and-starts",level:2},{value:"3.1 Preparations",id:"31-preparations",level:3},{value:"3.2 Configuration modification",id:"32-configuration-modification",level:3},{value:"3.3 Server start",id:"33-server-start",level:3},{value:"4. Front-end deployment",id:"4-front-end-deployment",level:2},{value:"4.1 Preparations",id:"41-preparations",level:3},{value:"4.2 Startup",id:"42-startup",level:3}],p={toc:d},c="wrapper";function u(e){let{components:t,...n}=e;return(0,a.kt)(c,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("h1",{id:"solidui-is-deployed-separately"},"SolidUI is deployed separately"),(0,a.kt)("h2",{id:"1-first-time-installation-preparations"},"1. First-time installation preparations"),(0,a.kt)("h3",{id:"11-linux-server"},"1.1 Linux server"),(0,a.kt)("h4",{id:"hardware-requirements"},"Hardware Requirements"),(0,a.kt)("p",null,"Install one SolidUI microservice with at least 512M memory. The default jvm -Xmx memory size of each microservice is 512M (if the memory is not enough, you can try to reduce it to 256/128M, and you can also increase it if the memory is enough)."),(0,a.kt)("h3",{id:"12-jdk-preparation"},"1.2 JDK preparation"),(0,a.kt)("p",null,"Java version requirements: jdk1.8.0_201 or above"),(0,a.kt)("h3",{id:"13-database-preparation"},"1.3 Database preparation"),(0,a.kt)("p",null,"Mysql5.7 or above"),(0,a.kt)("h2",{id:"2-configuration-modification"},"2. Configuration modification"),(0,a.kt)("h3",{id:"21-installation-package-preparation"},"2.1 Installation package preparation"),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"Method 1: Download the address from the official website: ",(0,a.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/releases"},"https://github.com/CloudOrc/SolidUI/releases"),", and download the corresponding installation package (overall installation package)."),(0,a.kt)("li",{parentName:"ul"},"Method 2: Compile the project installation package by yourself according to the SolidUI back-end compilation and front-end compilation.")),(0,a.kt)("p",null,"After uploading the installation package solidui-x.x.x-bin.tar.gz, decompress the installation package"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0}," tar -zxvf solidui-x.x.x-bin.tar.gz\n")),(0,a.kt)("p",null,"The directory structure after decompression is as follows:"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"drwxr-xr-x 2 root root 4096 Jun 10 20:31 docker\ndrwxr-xr-x 6 root root 4096 Jun 11 17:57 entrance-server\n-rw-r--r-- 1 root root 27711 Jun 4 21:47 LICENSE\ndrwxr-xr-x 3 root root 4096 Jun 11 18:03 licenses\n-rw-r--r-- 1 root root 24875 Jun 4 19:29 NOTICE\ndrwxr-xr-x 4 root root 4096 Jun 11 18:26 solidui-web\n")),(0,a.kt)("h2",{id:"3-the-server-follows-and-starts"},"3. The server follows and starts"),(0,a.kt)("h3",{id:"31-preparations"},"3.1 Preparations"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"# Initialize database ddl and dml paths\nsolidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql\n\n# Enter the mysql database\nmysql -h192.168.xx.xx -P3306 -uroot -p\n\n# create database\nCREATE DATABASE solidui DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;\n\n# Modify the database connection information, modify the table solidui_model_type, token and baseurl fields (supported after version 0.2.0)\ntoken is the model API token\nbaseurl is the base address of the model API, for example: https://api.openai.com (this is the address of openai abroad), https://api.chatanywhere.com.cn (the address of the domestic agent of openai)\n\nsolidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql\nINSERT INTO `solidui_model_type` (`id`, `name`, `type_name`, `prompt`, `token`, `baseurl`)\nVALUES\n(1,'gpt-3.5-turbo','gpt',NULL,NULL,NULL),\n(2,'gpt-4','gpt',NULL,NULL,NULL),\n(3,'chatglm_lite','chatglm',NULL,NULL,NULL);\n\n# Execute the database initialization script\n\nsource solidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql\n\n")),(0,a.kt)("h3",{id:"32-configuration-modification"},"3.2 Configuration modification"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"cd solidui-x.x.x-bin/entrance-server/conf\n# Modify database connection information\nvi application.yaml\ndatasource:\nurl: jdbc:mysql://localhost:3306/solidui?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai\nusername: root\npassword: root\n\n# 0.2.0 version adds python service configuration\nvi solidui-x.x.x-bin/soliduimodelui/.env\n# Modify database connection information\nDB_HOST=localhost\nDB_PORT=3306\nDB_NAME=solidui\nDB_USER=root\nDB_PASS=SolidUI@123\n\n")),(0,a.kt)("h3",{id:"33-server-start"},"3.3 Server start"),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"cd solidui-x.x.x-bin/entrance-server\n# start the service\nsh bin/start.sh\n# Out of service\nsh bin/stop.sh\n\n# 0.2.0 version adds python service\ncd solidui-x.x.x-bin\npip install -e .\nmodelui\n")),(0,a.kt)("h2",{id:"4-front-end-deployment"},"4. Front-end deployment"),(0,a.kt)("h3",{id:"41-preparations"},"4.1 Preparations"),(0,a.kt)("p",null,"Refer to ",(0,a.kt)("a",{parentName:"p",href:"/SolidUI-Website/docs/deployment/deployment-web"},"Frontend Deployment")),(0,a.kt)("h3",{id:"42-startup"},"4.2 Startup"),(0,a.kt)("p",null,"Visit the default link http://localhost:8099"),(0,a.kt)("p",null,"Default username and password: admin/admin"))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/8105.a89b396d.js b/assets/js/8105.a89b396d.js new file mode 100644 index 00000000..485a49d0 --- /dev/null +++ b/assets/js/8105.a89b396d.js @@ -0,0 +1 @@ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8105],{3905:(e,t,n)=>{"use strict";n.d(t,{Zo:()=>u,kt:()=>f});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function l(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var i=o.createContext({}),s=function(e){var t=o.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=s(e.components);return o.createElement(i.Provider,{value:t},e.children)},m="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,i=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),m=s(n),p=a,f=m["".concat(i,".").concat(p)]||m[p]||d[p]||r;return n?o.createElement(f,l(l({ref:t},u),{},{components:n})):o.createElement(f,l({ref:t},u))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,l=new Array(r);l[0]=p;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c[m]="string"==typeof e?e:a,l[1]=c;for(var s=2;s{"use strict";n.d(t,{Z:()=>u});var o=n(7294),a=n(5999),r=n(5281),l=n(7462),c=n(6010);const i={iconEdit:"iconEdit_Z9Sw"};function s(e){let{className:t,...n}=e;return o.createElement("svg",(0,l.Z)({fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,c.Z)(i.iconEdit,t),"aria-hidden":"true"},n),o.createElement("g",null,o.createElement("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})))}function u(e){let{editUrl:t}=e;return o.createElement("a",{href:t,target:"_blank",rel:"noreferrer noopener",className:r.k.common.editThisPage},o.createElement(s,null),o.createElement(a.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page"},"Edit this page"))}},7955:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var o=n(7462),a=n(7294),r=n(6010),l=n(5999),c=n(6668),i=n(9960);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};function u(e){let{as:t,id:n,...u}=e;const{navbar:{hideOnScroll:m}}=(0,c.L)();if("h1"===t||!n)return a.createElement(t,(0,o.Z)({},u,{id:void 0}));const d=(0,l.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return a.createElement(t,(0,o.Z)({},u,{className:(0,r.Z)("anchor",m?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,u.className),id:n}),u.children,a.createElement(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":d,title:d},"\u200b"))}},8718:(e,t,n)=>{"use strict";n.d(t,{Z:()=>he});var o=n(7294),a=n(3905),r=n(7462),l=n(5742);var c=n(2389),i=n(6010),s=n(2949),u=n(6668);function m(){const{prism:e}=(0,u.L)(),{colorMode:t}=(0,s.I)(),n=e.theme,o=e.darkTheme||n;return"dark"===t?o:n}var d=n(5281),p=n(7594),f=n.n(p);const g=/title=(?["'])(?.*?)\1/,h=/\{(?<range>[\d,-]+)\}/,y={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}};function b(e,t){const n=e.map((e=>{const{start:n,end:o}=y[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${o})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function v(e,t){let n=e.replace(/\n$/,"");const{language:o,magicComments:a,metastring:r}=t;if(r&&h.test(r)){const e=r.match(h).groups.range;if(0===a.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${r}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=a[0].className,o=f()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(o),code:n}}if(void 0===o)return{lineClassNames:{},code:n};const l=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return b(["js","jsBlock"],t);case"jsx":case"tsx":return b(["js","jsBlock","jsx"],t);case"html":return b(["js","jsBlock","html"],t);case"python":case"py":case"bash":return b(["bash"],t);case"markdown":case"md":return b(["html","jsx","bash"],t);default:return b(Object.keys(y),t)}}(o,a),c=n.split("\n"),i=Object.fromEntries(a.map((e=>[e.className,{start:0,range:""}]))),s=Object.fromEntries(a.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),u=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),m=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let p=0;p<c.length;){const e=c[p].match(l);if(!e){p+=1;continue}const t=e.slice(1).find((e=>void 0!==e));s[t]?i[s[t]].range+=`${p},`:u[t]?i[u[t]].start=p:m[t]&&(i[m[t]].range+=`${i[m[t]].start}-${p-1},`),c.splice(p,1)}n=c.join("\n");const d={};return Object.entries(i).forEach((e=>{let[t,{range:n}]=e;f()(n).forEach((e=>{d[e]??=[],d[e].push(t)}))})),{lineClassNames:d,code:n}}const E={codeBlockContainer:"codeBlockContainer_Ckt0"};function k(e){let{as:t,...n}=e;const a=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[o,a]=e;const r=t[o];r&&"string"==typeof a&&(n[r]=a)})),n}(m());return o.createElement(t,(0,r.Z)({},n,{style:a,className:(0,i.Z)(n.className,E.codeBlockContainer,d.k.common.codeBlock)}))}const N={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function C(e){let{children:t,className:n}=e;return o.createElement(k,{as:"pre",tabIndex:0,className:(0,i.Z)(N.codeBlockStandalone,"thin-scrollbar",n)},o.createElement("code",{className:N.codeBlockLines},t))}var w=n(902);const B={attributes:!0,characterData:!0,childList:!0,subtree:!0};function Z(e,t){const[n,a]=(0,o.useState)(),r=(0,o.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,o.useEffect)((()=>{r()}),[r]),function(e,t,n){void 0===n&&(n=B);const a=(0,w.zX)(t),r=(0,w.Ql)(n);(0,o.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,r),()=>t.disconnect()}),[e,a,r])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),r())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}const T={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]};var L={Prism:n(7410).Z,theme:T};function j(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _(){return _=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_.apply(this,arguments)}var x=/\r\n|\r|\n/,O=function(e){0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},S=function(e,t){var n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)};function P(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&-1===t.indexOf(o)&&(n[o]=e[o]);return n}var z=function(e){function t(){for(var t=this,n=[],o=arguments.length;o--;)n[o]=arguments[o];e.apply(this,n),j(this,"getThemeDict",(function(e){if(void 0!==t.themeDict&&e.theme===t.prevTheme&&e.language===t.prevLanguage)return t.themeDict;t.prevTheme=e.theme,t.prevLanguage=e.language;var n=e.theme?function(e,t){var n=e.plain,o=Object.create(null),a=e.styles.reduce((function(e,n){var o=n.languages,a=n.style;return o&&!o.includes(t)||n.types.forEach((function(t){var n=_({},e[t],a);e[t]=n})),e}),o);return a.root=n,a.plain=_({},n,{backgroundColor:null}),a}(e.theme,e.language):void 0;return t.themeDict=n})),j(this,"getLineProps",(function(e){var n=e.key,o=e.className,a=e.style,r=_({},P(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),l=t.getThemeDict(t.props);return void 0!==l&&(r.style=l.plain),void 0!==a&&(r.style=void 0!==r.style?_({},r.style,a):a),void 0!==n&&(r.key=n),o&&(r.className+=" "+o),r})),j(this,"getStyleForToken",(function(e){var n=e.types,o=e.empty,a=n.length,r=t.getThemeDict(t.props);if(void 0!==r){if(1===a&&"plain"===n[0])return o?{display:"inline-block"}:void 0;if(1===a&&!o)return r[n[0]];var l=o?{display:"inline-block"}:{},c=n.map((function(e){return r[e]}));return Object.assign.apply(Object,[l].concat(c))}})),j(this,"getTokenProps",(function(e){var n=e.key,o=e.className,a=e.style,r=e.token,l=_({},P(e,["key","className","style","token"]),{className:"token "+r.types.join(" "),children:r.content,style:t.getStyleForToken(r),key:void 0});return void 0!==a&&(l.style=void 0!==l.style?_({},l.style,a):a),void 0!==n&&(l.key=n),o&&(l.className+=" "+o),l})),j(this,"tokenize",(function(e,t,n,o){var a={code:t,grammar:n,language:o,tokens:[]};e.hooks.run("before-tokenize",a);var r=a.tokens=e.tokenize(a.code,a.grammar,a.language);return e.hooks.run("after-tokenize",a),r}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var e=this.props,t=e.Prism,n=e.language,o=e.code,a=e.children,r=this.getThemeDict(this.props),l=t.languages[n];return a({tokens:function(e){for(var t=[[]],n=[e],o=[0],a=[e.length],r=0,l=0,c=[],i=[c];l>-1;){for(;(r=o[l]++)<a[l];){var s=void 0,u=t[l],m=n[l][r];if("string"==typeof m?(u=l>0?u:["plain"],s=m):(u=S(u,m.type),m.alias&&(u=S(u,m.alias)),s=m.content),"string"==typeof s){var d=s.split(x),p=d.length;c.push({types:u,content:d[0]});for(var f=1;f<p;f++)O(c),i.push(c=[]),c.push({types:u,content:d[f]})}else l++,t.push(u),n.push(s),o.push(0),a.push(s.length)}l--,t.pop(),n.pop(),o.pop(),a.pop()}return O(c),i}(void 0!==l?this.tokenize(t,o,l,n):[o]),className:"prism-code language-"+n,style:void 0!==r?r.root:{},getLineProps:this.getLineProps,getTokenProps:this.getTokenProps})},t}(o.Component);const A=z,I={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function W(e){let{line:t,classNames:n,showLineNumbers:a,getLineProps:l,getTokenProps:c}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const s=l({line:t,className:(0,i.Z)(n,a&&I.codeLine)}),u=t.map(((e,t)=>o.createElement("span",(0,r.Z)({key:t},c({token:e,key:t})))));return o.createElement("span",s,a?o.createElement(o.Fragment,null,o.createElement("span",{className:I.codeLineNumber}),o.createElement("span",{className:I.codeLineContent},u)):u,o.createElement("br",null))}var M=n(5999);function H(e){return o.createElement("svg",(0,r.Z)({viewBox:"0 0 24 24"},e),o.createElement("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"}))}function D(e){return o.createElement("svg",(0,r.Z)({viewBox:"0 0 24 24"},e),o.createElement("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))}const V={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function R(e){let{code:t,className:n}=e;const[a,r]=(0,o.useState)(!1),l=(0,o.useRef)(void 0),c=(0,o.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const o=document.createElement("textarea"),a=document.activeElement;o.value=e,o.setAttribute("readonly",""),o.style.contain="strict",o.style.position="absolute",o.style.left="-9999px",o.style.fontSize="12pt";const r=document.getSelection(),l=r.rangeCount>0&&r.getRangeAt(0);n.append(o),o.select(),o.selectionStart=0,o.selectionEnd=e.length;let c=!1;try{c=document.execCommand("copy")}catch{}o.remove(),l&&(r.removeAllRanges(),r.addRange(l)),a&&a.focus()}(t),r(!0),l.current=window.setTimeout((()=>{r(!1)}),1e3)}),[t]);return(0,o.useEffect)((()=>()=>window.clearTimeout(l.current)),[]),o.createElement("button",{type:"button","aria-label":a?(0,M.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,M.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,M.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.Z)("clean-btn",n,V.copyButton,a&&V.copyButtonCopied),onClick:c},o.createElement("span",{className:V.copyButtonIcons,"aria-hidden":"true"},o.createElement(H,{className:V.copyButtonIcon}),o.createElement(D,{className:V.copyButtonSuccessIcon})))}function $(e){return o.createElement("svg",(0,r.Z)({viewBox:"0 0 24 24"},e),o.createElement("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}))}const F={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function q(e){let{className:t,onClick:n,isEnabled:a}=e;const r=(0,M.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return o.createElement("button",{type:"button",onClick:n,className:(0,i.Z)("clean-btn",t,a&&F.wordWrapButtonEnabled),"aria-label":r,title:r},o.createElement($,{className:F.wordWrapButtonIcon,"aria-hidden":"true"}))}function G(e){let{children:t,className:n="",metastring:a,title:l,showLineNumbers:c,language:s}=e;const{prism:{defaultLanguage:d,magicComments:p}}=(0,u.L)(),f=s??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??d,h=m(),y=function(){const[e,t]=(0,o.useState)(!1),[n,a]=(0,o.useState)(!1),r=(0,o.useRef)(null),l=(0,o.useCallback)((()=>{const n=r.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[r,e]),c=(0,o.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=r.current,n=e>t||r.current.querySelector("code").hasAttribute("style");a(n)}),[r]);return Z(r,c),(0,o.useEffect)((()=>{c()}),[e,c]),(0,o.useEffect)((()=>(window.addEventListener("resize",c,{passive:!0}),()=>{window.removeEventListener("resize",c)})),[c]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:n,toggle:l}}(),b=function(e){return e?.match(g)?.groups.title??""}(a)||l,{lineClassNames:E,code:C}=v(t,{metastring:a,language:f,magicComments:p}),w=c??function(e){return Boolean(e?.includes("showLineNumbers"))}(a);return o.createElement(k,{as:"div",className:(0,i.Z)(n,f&&!n.includes(`language-${f}`)&&`language-${f}`)},b&&o.createElement("div",{className:N.codeBlockTitle},b),o.createElement("div",{className:N.codeBlockContent},o.createElement(A,(0,r.Z)({},L,{theme:h,code:C,language:f??"text"}),(e=>{let{className:t,tokens:n,getLineProps:a,getTokenProps:r}=e;return o.createElement("pre",{tabIndex:0,ref:y.codeBlockRef,className:(0,i.Z)(t,N.codeBlock,"thin-scrollbar")},o.createElement("code",{className:(0,i.Z)(N.codeBlockLines,w&&N.codeBlockLinesWithNumbering)},n.map(((e,t)=>o.createElement(W,{key:t,line:e,getLineProps:a,getTokenProps:r,classNames:E[t],showLineNumbers:w})))))})),o.createElement("div",{className:N.buttonGroup},(y.isEnabled||y.isCodeScrollable)&&o.createElement(q,{className:N.codeButton,onClick:()=>y.toggle(),isEnabled:y.isEnabled}),o.createElement(R,{className:N.codeButton,code:C}))))}function U(e){let{children:t,...n}=e;const a=(0,c.Z)(),l=function(e){return o.Children.toArray(e).some((e=>(0,o.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),i="string"==typeof l?G:C;return o.createElement(i,(0,r.Z)({key:String(a)},n),l)}var Q=n(9960);var X=n(6043);const Y={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function J(e){return!!e&&("SUMMARY"===e.tagName||J(e.parentElement))}function K(e,t){return!!e&&(e===t||K(e.parentElement,t))}function ee(e){let{summary:t,children:n,...a}=e;const l=(0,c.Z)(),s=(0,o.useRef)(null),{collapsed:u,setCollapsed:m}=(0,X.u)({initialState:!a.open}),[d,p]=(0,o.useState)(a.open),f=o.isValidElement(t)?t:o.createElement("summary",null,t??"Details");return o.createElement("details",(0,r.Z)({},a,{ref:s,open:d,"data-collapsed":u,className:(0,i.Z)(Y.details,l&&Y.isBrowser,a.className),onMouseDown:e=>{J(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;J(t)&&K(t,s.current)&&(e.preventDefault(),u?(m(!1),p(!0)):m(!0))}}),f,o.createElement(X.z,{lazy:!1,collapsed:u,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{m(e),p(!e)}},o.createElement("div",{className:Y.collapsibleContent},n)))}const te={details:"details_b_Ee"},ne="alert alert--info";function oe(e){let{...t}=e;return o.createElement(ee,(0,r.Z)({},t,{className:(0,i.Z)(ne,te.details,t.className)}))}var ae=n(7955);function re(e){return o.createElement(ae.Z,e)}const le={containsTaskList:"containsTaskList_mC6p"};const ce={img:"img_ev3q"};const ie="admonition_LlT9",se="admonitionHeading_tbUL",ue="admonitionIcon_kALy",me="admonitionContent_S0QG";const de={note:{infimaClassName:"secondary",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 14 16"},o.createElement("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"}))},label:o.createElement(M.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)"},"note")},tip:{infimaClassName:"success",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 12 16"},o.createElement("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"}))},label:o.createElement(M.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)"},"tip")},danger:{infimaClassName:"danger",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 12 16"},o.createElement("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))},label:o.createElement(M.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)"},"danger")},info:{infimaClassName:"info",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 14 16"},o.createElement("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"}))},label:o.createElement(M.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)"},"info")},caution:{infimaClassName:"warning",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 16 16"},o.createElement("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"}))},label:o.createElement(M.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)"},"caution")}},pe={secondary:"note",important:"info",success:"tip",warning:"danger"};function fe(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=o.Children.toArray(e),n=t.find((e=>o.isValidElement(e)&&"mdxAdmonitionTitle"===e.props?.mdxType)),a=o.createElement(o.Fragment,null,t.filter((e=>e!==n)));return{mdxAdmonitionTitle:n,rest:a}}(e.children);return{...e,title:e.title??t,children:n}}const ge={head:function(e){const t=o.Children.map(e.children,(e=>o.isValidElement(e)?function(e){if(e.props?.mdxType&&e.props.originalType){const{mdxType:t,originalType:n,...a}=e.props;return o.createElement(e.props.originalType,a)}return e}(e):e));return o.createElement(l.Z,e,t)},code:function(e){const t=["a","abbr","b","br","button","cite","code","del","dfn","em","i","img","input","ins","kbd","label","object","output","q","ruby","s","small","span","strong","sub","sup","time","u","var","wbr"];return o.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")||(0,o.isValidElement)(e)&&t.includes(e.props?.mdxType)))?o.createElement("code",e):o.createElement(U,e)},a:function(e){return o.createElement(Q.Z,e)},pre:function(e){return o.createElement(U,(0,o.isValidElement)(e.children)&&"code"===e.children.props?.originalType?e.children.props:{...e})},details:function(e){const t=o.Children.toArray(e.children),n=t.find((e=>o.isValidElement(e)&&"summary"===e.props?.mdxType)),a=o.createElement(o.Fragment,null,t.filter((e=>e!==n)));return o.createElement(oe,(0,r.Z)({},e,{summary:n}),a)},ul:function(e){return o.createElement("ul",(0,r.Z)({},e,{className:(t=e.className,(0,i.Z)(t,t?.includes("contains-task-list")&&le.containsTaskList))}));var t},img:function(e){return o.createElement("img",(0,r.Z)({loading:"lazy"},e,{className:(t=e.className,(0,i.Z)(t,ce.img))}));var t},h1:e=>o.createElement(re,(0,r.Z)({as:"h1"},e)),h2:e=>o.createElement(re,(0,r.Z)({as:"h2"},e)),h3:e=>o.createElement(re,(0,r.Z)({as:"h3"},e)),h4:e=>o.createElement(re,(0,r.Z)({as:"h4"},e)),h5:e=>o.createElement(re,(0,r.Z)({as:"h5"},e)),h6:e=>o.createElement(re,(0,r.Z)({as:"h6"},e)),admonition:function(e){const{children:t,type:n,title:a,icon:r}=fe(e),l=function(e){const t=pe[e]??e,n=de[t];return n||(console.warn(`No admonition config found for admonition type "${t}". Using Info as fallback.`),de.info)}(n),c=a??l.label,{iconComponent:s}=l,u=r??o.createElement(s,null);return o.createElement("div",{className:(0,i.Z)(d.k.common.admonition,d.k.common.admonitionType(e.type),"alert",`alert--${l.infimaClassName}`,ie)},o.createElement("div",{className:se},o.createElement("span",{className:ue},u),c),o.createElement("div",{className:me},t))},mermaid:()=>null};function he(e){let{children:t}=e;return o.createElement(a.Zo,{components:ge},t)}},2244:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var o=n(7294),a=n(6010),r=n(9960);function l(e){const{permalink:t,title:n,subLabel:l,isNext:c}=e;return o.createElement(r.Z,{className:(0,a.Z)("pagination-nav__link",c?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t},l&&o.createElement("div",{className:"pagination-nav__sublabel"},l),o.createElement("div",{className:"pagination-nav__label"},n))}},3008:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var o=n(7294),a=n(6010),r=n(9960);const l={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};function c(e){let{permalink:t,label:n,count:c}=e;return o.createElement(r.Z,{href:t,className:(0,a.Z)(l.tag,c?l.tagWithCount:l.tagRegular)},n,c&&o.createElement("span",null,c))}},1526:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var o=n(7294),a=n(6010),r=n(5999),l=n(3008);const c={tags:"tags_jXut",tag:"tag_QGVx"};function i(e){let{tags:t}=e;return o.createElement(o.Fragment,null,o.createElement("b",null,o.createElement(r.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list"},"Tags:")),o.createElement("ul",{className:(0,a.Z)(c.tags,"padding--none","margin-left--sm")},t.map((e=>{let{label:t,permalink:n}=e;return o.createElement("li",{key:n,className:c.tag},o.createElement(l.Z,{label:t,permalink:n}))}))))}},7594:(e,t)=>{function n(e){let t,n=[];for(let o of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(o))n.push(parseInt(o,10));else if(t=o.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,o,a,r]=t;if(o&&r){o=parseInt(o),r=parseInt(r);const e=o<r?1:-1;"-"!==a&&".."!==a&&"\u2025"!==a||(r+=e);for(let t=o;t!==r;t+=e)n.push(t)}}return n}t.default=n,e.exports=n}}]); \ No newline at end of file diff --git a/assets/js/814f3328.8ba824e7.js b/assets/js/814f3328.8ba824e7.js new file mode 100644 index 00000000..cbe03491 --- /dev/null +++ b/assets/js/814f3328.8ba824e7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2535],{5641:e=>{e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Version Update | SolidUI 0.2.0 Release","permalink":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release"},{"title":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","permalink":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction"},{"title":"SolidUI Community - Official Website Introduction","permalink":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction"},{"title":"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790","permalink":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis"},{"title":"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790","permalink":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis"},{"title":"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3","permalink":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0"}]}')}}]); \ No newline at end of file diff --git a/assets/js/82bafcbe.3deb2fab.js b/assets/js/82bafcbe.3deb2fab.js new file mode 100644 index 00000000..38d98012 --- /dev/null +++ b/assets/js/82bafcbe.3deb2fab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[240],{3905:(e,t,i)=>{i.d(t,{Zo:()=>d,kt:()=>h});var a=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,a)}return i}function r(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?o(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):o(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function l(e,t){if(null==e)return{};var i,a,n=function(e,t){if(null==e)return{};var i,a,n={},o=Object.keys(e);for(a=0;a<o.length;a++)i=o[a],t.indexOf(i)>=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)i=o[a],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var s=a.createContext({}),c=function(e){var t=a.useContext(s),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},d=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,s=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),p=c(i),m=n,h=p["".concat(s,".").concat(m)]||p[m]||u[m]||o;return i?a.createElement(h,r(r({ref:t},d),{},{components:i})):a.createElement(h,r({ref:t},d))}));function h(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,r=new Array(o);r[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:n,r[1]=l;for(var c=2;c<o;c++)r[c]=i[c];return a.createElement.apply(null,r)}return a.createElement.apply(null,i)}m.displayName="MDXCreateElement"},1848:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var a=i(7462),n=(i(7294),i(3905));const o={title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",date:new Date("2023-09-05T00:00:00.000Z"),tags:["SolidUI","AI","stable-diffusion"]},r=void 0,l={permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-introduction.md",source:"@site/blog/2023-09-05-0.2.0-introduction.md",title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",description:"Background",date:"2023-09-05T00:00:00.000Z",formattedDate:"September 5, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AI",permalink:"/SolidUI-Website/blog/tags/ai"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:4.36,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",date:"2023-09-05T00:00:00.000Z",tags:["SolidUI","AI","stable-diffusion"]},prevItem:{title:"Version Update | SolidUI 0.2.0 Release",permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-Release"},nextItem:{title:"SolidUI Community - Official Website Introduction",permalink:"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction"}},s={authorsImageUrls:[]},c=[{value:"Background",id:"background",level:2},{value:"Chat Window",id:"chat-window",level:2},{value:"Prompt Words",id:"prompt-words",level:3},{value:"Chat Window Generation",id:"chat-window-generation",level:2},{value:"Input data format for bar chart",id:"input-data-format-for-bar-chart",level:3},{value:"Surface Graph",id:"surface-graph",level:3},{value:"Scatter Plot",id:"scatter-plot",level:3},{value:"Spiral Line",id:"spiral-line",level:3},{value:"Pie Chart",id:"pie-chart",level:3},{value:"Bunny Modeling",id:"bunny-modeling",level:3},{value:"Map",id:"map",level:3},{value:"Design Page",id:"design-page",level:2},{value:"Page Layout",id:"page-layout",level:3},{value:"Preview",id:"preview",level:3},{value:"Future Plans of SolidUI Community",id:"future-plans-of-solidui-community",level:2},{value:"How to Become a Contributor",id:"how-to-become-a-contributor",level:2}],d={toc:c},p="wrapper";function u(e){let{components:t,...o}=e;return(0,n.kt)(p,(0,a.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"background"},"Background"),(0,n.kt)("p",null,"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation."),(0,n.kt)("p",null,"Project URL: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Project mirror URL: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Community official website: ",(0,n.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,n.kt)("p",null,"Join the group: ",(0,n.kt)("a",{parentName:"p",href:"https://discord.gg/NGRNu2mGeQ"},"https://discord.gg/NGRNu2mGeQ")),(0,n.kt)("h2",{id:"chat-window"},"Chat Window"),(0,n.kt)("p",null,"One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display."),(0,n.kt)("h3",{id:"prompt-words"},"Prompt Words"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account."),(0,n.kt)("li",{parentName:"ul"},"The input data can be manually input or automatically generated, combined with text prompt words.")),(0,n.kt)("h2",{id:"chat-window-generation"},"Chat Window Generation"),(0,n.kt)("h3",{id:"input-data-format-for-bar-chart"},"Input data format for bar chart"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},'\\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\\] Generate a bar chart')),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(6979).Z,width:"800",height:"1068"})),(0,n.kt)("h3",{id:"surface-graph"},"Surface Graph"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a simple 3D surface graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4733).Z,width:"612",height:"825"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 2")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7232).Z,width:"612",height:"931"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 3")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4388).Z,width:"612",height:"1095"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 4")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(1350).Z,width:"800",height:"1140"})),(0,n.kt)("h3",{id:"scatter-plot"},"Scatter Plot"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4500).Z,width:"612",height:"864"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 2")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4066).Z,width:"612",height:"973"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 3")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(3458).Z,width:"612",height:"929"})),(0,n.kt)("h3",{id:"spiral-line"},"Spiral Line"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Draw a spiral line in a 3D graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7613).Z,width:"612",height:"843"})),(0,n.kt)("h3",{id:"pie-chart"},"Pie Chart"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(9361).Z,width:"612",height:"784"})),(0,n.kt)("h3",{id:"bunny-modeling"},"Bunny Modeling"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},'Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model.\n')),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(2532).Z,width:"612",height:"578"})),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://faculty.cc.gatech.edu/~turk/bunny/bunny.html"},"https://faculty.cc.gatech.edu/~turk/bunny/bunny.html")),(0,n.kt)("h3",{id:"map"},"Map"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Create a map, download link")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(1560).Z,width:"612",height:"750"})),(0,n.kt)("h2",{id:"design-page"},"Design Page"),(0,n.kt)("h3",{id:"page-layout"},"Page Layout"),(0,n.kt)("p",null,"Manage the layout of generated graphics, divided by scenes and pages."),(0,n.kt)("h3",{id:"preview"},"Preview"),(0,n.kt)("p",null,"Click on the project preview or Design Page -> Scene -> Page preview"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7832).Z,width:"612",height:"689"})),(0,n.kt)("h2",{id:"future-plans-of-solidui-community"},"Future Plans of SolidUI Community"),(0,n.kt)("p",null,"For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics."),(0,n.kt)("p",null,"This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas."),(0,n.kt)("p",null,"Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development."),(0,n.kt)("h2",{id:"how-to-become-a-contributor"},"How to Become a Contributor"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("li",{parentName:"ul"},"Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("li",{parentName:"ul"},"Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("li",{parentName:"ul"},"Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;"),(0,n.kt)("li",{parentName:"ul"},"Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;")))}u.isMDXComponent=!0},7232:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image03-af7d6197cbbd538939c13caea371ed6b.png"},6979:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image1-e94e2d291f16a9cf47445078fe8a63e7.png"},4733:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image2-9a1fea16ddcd20bbcd103783e45e7d1a.png"},4388:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images04-ab547dfceec7fd4762478ac7916ec5d2.png"},1350:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images05-4cc71d8bdadf8941e12867c8d6f8a2fe.png"},4500:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images06-973d359adfc34c204d37ea809ac68072.png"},4066:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images07-eddfb5d4a451dffd76a68688c45eac10.png"},3458:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images08-585c264b6c51d1daf3b607aa17f6f20e.png"},7613:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images09-50798acaf3380d15ad06c8e0e6e2000f.png"},9361:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images10-60d41d0c5c293845598032e51a0d2cb6.png"},2532:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images11-a9349b7ddffabf3d8071f4545641f7db.jpeg"},1560:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images12-2ab1592a45568d991cf485c21a451753.png"},7832:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images13-762ce8795cec77dccf1b303f7d568ef3.png"}}]); \ No newline at end of file diff --git a/assets/js/8443.1a8dd629.js b/assets/js/8443.1a8dd629.js new file mode 100644 index 00000000..66677d7c --- /dev/null +++ b/assets/js/8443.1a8dd629.js @@ -0,0 +1,2 @@ +/*! For license information please see 8443.1a8dd629.js.LICENSE.txt */ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8443],{8443:(t,e,n)=>{"use strict";t.exports=n(295)},1228:(t,e,n)=>{"use strict";var i=n(2856),s={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:"0"},defaultClasses:{root:"algolia-autocomplete",prefix:"aa",noPrefix:!1,dropdownMenu:"dropdown-menu",input:"input",hint:"hint",suggestions:"suggestions",suggestion:"suggestion",cursor:"cursor",dataset:"dataset",empty:"empty"},appendTo:{wrapper:{position:"absolute",zIndex:"100",display:"none"},input:{},inputWithNoHint:{},dropdown:{display:"block"}}};i.isMsie()&&i.mixin(s.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),i.isMsie()&&i.isMsie()<=7&&i.mixin(s.input,{marginTop:"-1px"}),t.exports=s},9050:(t,e,n)=>{"use strict";var i="aaDataset",s="aaValue",r="aaDatum",o=n(2856),a=n(4910),u=n(3561),c=n(1228),l=n(3109);function h(t){var e;(t=t||{}).templates=t.templates||{},t.source||o.error("missing source"),t.name&&(e=t.name,!/^[_a-zA-Z0-9-]+$/.test(e))&&o.error("invalid dataset name: "+t.name),this.query=null,this._isEmpty=!0,this.highlight=!!t.highlight,this.name=void 0===t.name||null===t.name?o.getUniqueId():t.name,this.source=t.source,this.displayFn=function(t){return t=t||"value",o.isFunction(t)?t:e;function e(e){return e[t]}}(t.display||t.displayKey),this.debounce=t.debounce,this.cache=!1!==t.cache,this.templates=function(t,e){return{empty:t.empty&&o.templatify(t.empty),header:t.header&&o.templatify(t.header),footer:t.footer&&o.templatify(t.footer),suggestion:t.suggestion||n};function n(t){return"<p>"+e(t)+"</p>"}}(t.templates,this.displayFn),this.css=o.mixin({},c,t.appendTo?c.appendTo:{}),this.cssClasses=t.cssClasses=o.mixin({},c.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix||o.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix);var n=o.className(this.cssClasses.prefix,this.cssClasses.dataset);this.$el=t.$menu&&t.$menu.find(n+"-"+this.name).length>0?a.element(t.$menu.find(n+"-"+this.name)[0]):a.element(u.dataset.replace("%CLASS%",this.name).replace("%PREFIX%",this.cssClasses.prefix).replace("%DATASET%",this.cssClasses.dataset)),this.$menu=t.$menu,this.clearCachedSuggestions()}h.extractDatasetName=function(t){return a.element(t).data(i)},h.extractValue=function(t){return a.element(t).data(s)},h.extractDatum=function(t){var e=a.element(t).data(r);return"string"==typeof e&&(e=JSON.parse(e)),e},o.mixin(h.prototype,l,{_render:function(t,e){if(this.$el){var n,c=this,l=[].slice.call(arguments,2);if(this.$el.empty(),n=e&&e.length,this._isEmpty=!n,!n&&this.templates.empty)this.$el.html(function(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!0}].concat(e),c.templates.empty.apply(this,e)}.apply(this,l)).prepend(c.templates.header?h.apply(this,l):null).append(c.templates.footer?p.apply(this,l):null);else if(n)this.$el.html(function(){var t,n,l=[].slice.call(arguments,0),h=this,p=u.suggestions.replace("%PREFIX%",this.cssClasses.prefix).replace("%SUGGESTIONS%",this.cssClasses.suggestions);return t=a.element(p).css(this.css.suggestions),n=o.map(e,f),t.append.apply(t,n),t;function f(t){var e,n=u.suggestion.replace("%PREFIX%",h.cssClasses.prefix).replace("%SUGGESTION%",h.cssClasses.suggestion);return(e=a.element(n).attr({role:"option",id:["option",Math.floor(1e8*Math.random())].join("-")}).append(c.templates.suggestion.apply(this,[t].concat(l)))).data(i,c.name),e.data(s,c.displayFn(t)||void 0),e.data(r,JSON.stringify(t)),e.children().each((function(){a.element(this).css(h.css.suggestionChild)})),e}}.apply(this,l)).prepend(c.templates.header?h.apply(this,l):null).append(c.templates.footer?p.apply(this,l):null);else if(e&&!Array.isArray(e))throw new TypeError("suggestions must be an array");this.$menu&&this.$menu.addClass(this.cssClasses.prefix+(n?"with":"without")+"-"+this.name).removeClass(this.cssClasses.prefix+(n?"without":"with")+"-"+this.name),this.trigger("rendered",t)}function h(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!n}].concat(e),c.templates.header.apply(this,e)}function p(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!n}].concat(e),c.templates.footer.apply(this,e)}},getRoot:function(){return this.$el},update:function(t){function e(e){if(!this.canceled&&t===this.query){var n=[].slice.call(arguments,1);this.cacheSuggestions(t,e,n),this._render.apply(this,[t,e].concat(n))}}if(this.query=t,this.canceled=!1,this.shouldFetchFromCache(t))e.apply(this,[this.cachedSuggestions].concat(this.cachedRenderExtraArgs));else{var n=this,i=function(){n.canceled||n.source(t,e.bind(n))};if(this.debounce){clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout((function(){n.debounceTimeout=null,i()}),this.debounce)}else i()}},cacheSuggestions:function(t,e,n){this.cachedQuery=t,this.cachedSuggestions=e,this.cachedRenderExtraArgs=n},shouldFetchFromCache:function(t){return this.cache&&this.cachedQuery===t&&this.cachedSuggestions&&this.cachedSuggestions.length},clearCachedSuggestions:function(){delete this.cachedQuery,delete this.cachedSuggestions,delete this.cachedRenderExtraArgs},cancel:function(){this.canceled=!0},clear:function(){this.$el&&(this.cancel(),this.$el.empty(),this.trigger("rendered",""))},isEmpty:function(){return this._isEmpty},destroy:function(){this.clearCachedSuggestions(),this.$el=null}}),t.exports=h},3354:(t,e,n)=>{"use strict";var i=n(2856),s=n(4910),r=n(3109),o=n(9050),a=n(1228);function u(t){var e,n,r,o=this;(t=t||{}).menu||i.error("menu is required"),i.isArray(t.datasets)||i.isObject(t.datasets)||i.error("1 or more datasets required"),t.datasets||i.error("datasets is required"),this.isOpen=!1,this.isEmpty=!0,this.minLength=t.minLength||0,this.templates={},this.appendTo=t.appendTo||!1,this.css=i.mixin({},a,t.appendTo?a.appendTo:{}),this.cssClasses=t.cssClasses=i.mixin({},a.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix||i.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),e=i.bind(this._onSuggestionClick,this),n=i.bind(this._onSuggestionMouseEnter,this),r=i.bind(this._onSuggestionMouseLeave,this);var c=i.className(this.cssClasses.prefix,this.cssClasses.suggestion);this.$menu=s.element(t.menu).on("mouseenter.aa",c,n).on("mouseleave.aa",c,r).on("click.aa",c,e),this.$container=t.appendTo?t.wrapper:this.$menu,t.templates&&t.templates.header&&(this.templates.header=i.templatify(t.templates.header),this.$menu.prepend(this.templates.header())),t.templates&&t.templates.empty&&(this.templates.empty=i.templatify(t.templates.empty),this.$empty=s.element('<div class="'+i.className(this.cssClasses.prefix,this.cssClasses.empty,!0)+'"></div>'),this.$menu.append(this.$empty),this.$empty.hide()),this.datasets=i.map(t.datasets,(function(e){return function(t,e,n){return new u.Dataset(i.mixin({$menu:t,cssClasses:n},e))}(o.$menu,e,t.cssClasses)})),i.each(this.datasets,(function(t){var e=t.getRoot();e&&0===e.parent().length&&o.$menu.append(e),t.onSync("rendered",o._onRendered,o)})),t.templates&&t.templates.footer&&(this.templates.footer=i.templatify(t.templates.footer),this.$menu.append(this.templates.footer()));var l=this;s.element(window).resize((function(){l._redraw()}))}i.mixin(u.prototype,r,{_onSuggestionClick:function(t){this.trigger("suggestionClicked",s.element(t.currentTarget))},_onSuggestionMouseEnter:function(t){var e=s.element(t.currentTarget);if(!e.hasClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0))){this._removeCursor();var n=this;setTimeout((function(){n._setCursor(e,!1)}),0)}},_onSuggestionMouseLeave:function(t){if(t.relatedTarget&&s.element(t.relatedTarget).closest("."+i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).length>0)return;this._removeCursor(),this.trigger("cursorRemoved")},_onRendered:function(t,e){if(this.isEmpty=i.every(this.datasets,(function(t){return t.isEmpty()})),this.isEmpty)if(e.length>=this.minLength&&this.trigger("empty"),this.$empty)if(e.length<this.minLength)this._hide();else{var n=this.templates.empty({query:this.datasets[0]&&this.datasets[0].query});this.$empty.html(n),this.$empty.show(),this._show()}else i.any(this.datasets,(function(t){return t.templates&&t.templates.empty}))?e.length<this.minLength?this._hide():this._show():this._hide();else this.isOpen&&(this.$empty&&(this.$empty.empty(),this.$empty.hide()),e.length>=this.minLength?this._show():this._hide());this.trigger("datasetRendered")},_hide:function(){this.$container.hide()},_show:function(){this.$container.css("display","block"),this._redraw(),this.trigger("shown")},_redraw:function(){this.isOpen&&this.appendTo&&this.trigger("redrawn")},_getSuggestions:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.suggestion))},_getCursor:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.cursor)).first()},_setCursor:function(t,e){t.first().addClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).attr("aria-selected","true"),this.trigger("cursorMoved",e)},_removeCursor:function(){this._getCursor().removeClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).removeAttr("aria-selected")},_moveCursor:function(t){var e,n,i,s;this.isOpen&&(n=this._getCursor(),e=this._getSuggestions(),this._removeCursor(),-1!==(i=((i=e.index(n)+t)+1)%(e.length+1)-1)?(i<-1&&(i=e.length-1),this._setCursor(s=e.eq(i),!0),this._ensureVisible(s)):this.trigger("cursorRemoved"))},_ensureVisible:function(t){var e,n,i,s;n=(e=t.position().top)+t.height()+parseInt(t.css("margin-top"),10)+parseInt(t.css("margin-bottom"),10),i=this.$menu.scrollTop(),s=this.$menu.height()+parseInt(this.$menu.css("padding-top"),10)+parseInt(this.$menu.css("padding-bottom"),10),e<0?this.$menu.scrollTop(i+e):s<n&&this.$menu.scrollTop(i+(n-s))},close:function(){this.isOpen&&(this.isOpen=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,this.isEmpty||this._show(),this.trigger("opened"))},setLanguageDirection:function(t){this.$menu.css("ltr"===t?this.css.ltr:this.css.rtl)},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(t){var e=null;return t.length&&(e={raw:o.extractDatum(t),value:o.extractValue(t),datasetName:o.extractDatasetName(t)}),e},getCurrentCursor:function(){return this._getCursor().first()},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},cursorTopSuggestion:function(){this._setCursor(this._getSuggestions().first(),!1)},update:function(t){i.each(this.datasets,(function(e){e.update(t)}))},empty:function(){i.each(this.datasets,(function(t){t.clear()})),this.isEmpty=!0},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){this.$menu.off(".aa"),this.$menu=null,i.each(this.datasets,(function(t){t.destroy()}))}}),u.Dataset=o,t.exports=u},50:(t,e,n)=>{"use strict";var i=n(2856),s=n(4910);function r(t){t&&t.el||i.error("EventBus initialized without el"),this.$el=s.element(t.el)}i.mixin(r.prototype,{trigger:function(t,e,n,s){var r=i.Event("autocomplete:"+t);return this.$el.trigger(r,[e,n,s]),r}}),t.exports=r},3109:(t,e,n)=>{"use strict";var i=n(624),s=/\s+/;function r(t,e,n,i){var r;if(!n)return this;for(e=e.split(s),n=i?function(t,e){return t.bind?t.bind(e):function(){t.apply(e,[].slice.call(arguments,0))}}(n,i):n,this._callbacks=this._callbacks||{};r=e.shift();)this._callbacks[r]=this._callbacks[r]||{sync:[],async:[]},this._callbacks[r][t].push(n);return this}function o(t,e,n){return function(){for(var i,s=0,r=t.length;!i&&s<r;s+=1)i=!1===t[s].apply(e,n);return!i}}t.exports={onSync:function(t,e,n){return r.call(this,"sync",t,e,n)},onAsync:function(t,e,n){return r.call(this,"async",t,e,n)},off:function(t){var e;if(!this._callbacks)return this;t=t.split(s);for(;e=t.shift();)delete this._callbacks[e];return this},trigger:function(t){var e,n,r,a,u;if(!this._callbacks)return this;t=t.split(s),r=[].slice.call(arguments,1);for(;(e=t.shift())&&(n=this._callbacks[e]);)a=o(n.sync,this,[e].concat(r)),u=o(n.async,this,[e].concat(r)),a()&&i(u);return this}}},3561:t=>{"use strict";t.exports={wrapper:'<span class="%ROOT%"></span>',dropdown:'<span class="%PREFIX%%DROPDOWN_MENU%"></span>',dataset:'<div class="%PREFIX%%DATASET%-%CLASS%"></div>',suggestions:'<span class="%PREFIX%%SUGGESTIONS%"></span>',suggestion:'<div class="%PREFIX%%SUGGESTION%"></div>'}},2534:(t,e,n)=>{"use strict";var i;i={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};var s=n(2856),r=n(4910),o=n(3109);function a(t){var e,n,o,a,u,c=this;(t=t||{}).input||s.error("input is missing"),e=s.bind(this._onBlur,this),n=s.bind(this._onFocus,this),o=s.bind(this._onKeydown,this),a=s.bind(this._onInput,this),this.$hint=r.element(t.hint),this.$input=r.element(t.input).on("blur.aa",e).on("focus.aa",n).on("keydown.aa",o),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=s.noop),s.isMsie()?this.$input.on("keydown.aa keypress.aa cut.aa paste.aa",(function(t){i[t.which||t.keyCode]||s.defer(s.bind(c._onInput,c,t))})):this.$input.on("input.aa",a),this.query=this.$input.val(),this.$overflowHelper=(u=this.$input,r.element('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:u.css("font-family"),fontSize:u.css("font-size"),fontStyle:u.css("font-style"),fontVariant:u.css("font-variant"),fontWeight:u.css("font-weight"),wordSpacing:u.css("word-spacing"),letterSpacing:u.css("letter-spacing"),textIndent:u.css("text-indent"),textRendering:u.css("text-rendering"),textTransform:u.css("text-transform")}).insertAfter(u))}function u(t){return t.altKey||t.ctrlKey||t.metaKey||t.shiftKey}a.normalizeQuery=function(t){return(t||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},s.mixin(a.prototype,o,{_onBlur:function(){this.resetInputValue(),this.$input.removeAttr("aria-activedescendant"),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(t){var e=i[t.which||t.keyCode];this._managePreventDefault(e,t),e&&this._shouldTrigger(e,t)&&this.trigger(e+"Keyed",t)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(t,e){var n,i,s;switch(t){case"tab":i=this.getHint(),s=this.getInputValue(),n=i&&i!==s&&!u(e);break;case"up":case"down":n=!u(e);break;default:n=!1}n&&e.preventDefault()},_shouldTrigger:function(t,e){var n;if("tab"===t)n=!u(e);else n=!0;return n},_checkInputValue:function(){var t,e,n,i,s;t=this.getInputValue(),i=t,s=this.query,n=!(!(e=a.normalizeQuery(i)===a.normalizeQuery(s))||!this.query)&&this.query.length!==t.length,this.query=t,e?n&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(t){this.query=t},getInputValue:function(){return this.$input.val()},setInputValue:function(t,e){void 0===t&&(t=this.query),this.$input.val(t),e?this.clearHint():this._checkInputValue()},expand:function(){this.$input.attr("aria-expanded","true")},collapse:function(){this.$input.attr("aria-expanded","false")},setActiveDescendant:function(t){this.$input.attr("aria-activedescendant",t)},removeActiveDescendant:function(){this.$input.removeAttr("aria-activedescendant")},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(t){this.$hint.val(t)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var t,e,n;n=(t=this.getInputValue())!==(e=this.getHint())&&0===e.indexOf(t),""!==t&&n&&!this.hasOverflow()||this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var t=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=t},isCursorAtEnd:function(){var t,e,n;return t=this.$input.val().length,e=this.$input[0].selectionStart,s.isNumber(e)?e===t:!document.selection||((n=document.selection.createRange()).moveStart("character",-t),t===n.text.length)},destroy:function(){this.$hint.off(".aa"),this.$input.off(".aa"),this.$hint=this.$input=this.$overflowHelper=null}}),t.exports=a},6549:(t,e,n)=>{"use strict";var i="aaAttrs",s=n(2856),r=n(4910),o=n(50),a=n(2534),u=n(3354),c=n(3561),l=n(1228);function h(t){var e,n;if((t=t||{}).input||s.error("missing input"),this.isActivated=!1,this.debug=!!t.debug,this.autoselect=!!t.autoselect,this.autoselectOnBlur=!!t.autoselectOnBlur,this.openOnFocus=!!t.openOnFocus,this.minLength=s.isNumber(t.minLength)?t.minLength:1,this.autoWidth=void 0===t.autoWidth||!!t.autoWidth,this.clearOnSelected=!!t.clearOnSelected,this.tabAutocomplete=void 0===t.tabAutocomplete||!!t.tabAutocomplete,t.hint=!!t.hint,t.hint&&t.appendTo)throw new Error("[autocomplete.js] hint and appendTo options can't be used at the same time");this.css=t.css=s.mixin({},l,t.appendTo?l.appendTo:{}),this.cssClasses=t.cssClasses=s.mixin({},l.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix=s.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),this.listboxId=t.listboxId=[this.cssClasses.root,"listbox",s.getUniqueId()].join("-");var a=function(t){var e,n,o,a;e=r.element(t.input),n=r.element(c.wrapper.replace("%ROOT%",t.cssClasses.root)).css(t.css.wrapper),t.appendTo||"block"!==e.css("display")||"table"!==e.parent().css("display")||n.css("display","table-cell");var u=c.dropdown.replace("%PREFIX%",t.cssClasses.prefix).replace("%DROPDOWN_MENU%",t.cssClasses.dropdownMenu);o=r.element(u).css(t.css.dropdown).attr({role:"listbox",id:t.listboxId}),t.templates&&t.templates.dropdownMenu&&o.html(s.templatify(t.templates.dropdownMenu)());a=e.clone().css(t.css.hint).css(function(t){return{backgroundAttachment:t.css("background-attachment"),backgroundClip:t.css("background-clip"),backgroundColor:t.css("background-color"),backgroundImage:t.css("background-image"),backgroundOrigin:t.css("background-origin"),backgroundPosition:t.css("background-position"),backgroundRepeat:t.css("background-repeat"),backgroundSize:t.css("background-size")}}(e)),a.val("").addClass(s.className(t.cssClasses.prefix,t.cssClasses.hint,!0)).removeAttr("id name placeholder required").prop("readonly",!0).attr({"aria-hidden":"true",autocomplete:"off",spellcheck:"false",tabindex:-1}),a.removeData&&a.removeData();e.data(i,{"aria-autocomplete":e.attr("aria-autocomplete"),"aria-expanded":e.attr("aria-expanded"),"aria-owns":e.attr("aria-owns"),autocomplete:e.attr("autocomplete"),dir:e.attr("dir"),role:e.attr("role"),spellcheck:e.attr("spellcheck"),style:e.attr("style"),type:e.attr("type")}),e.addClass(s.className(t.cssClasses.prefix,t.cssClasses.input,!0)).attr({autocomplete:"off",spellcheck:!1,role:"combobox","aria-autocomplete":t.datasets&&t.datasets[0]&&t.datasets[0].displayKey?"both":"list","aria-expanded":"false","aria-label":t.ariaLabel,"aria-owns":t.listboxId}).css(t.hint?t.css.input:t.css.inputWithNoHint);try{e.attr("dir")||e.attr("dir","auto")}catch(l){}return n=t.appendTo?n.appendTo(r.element(t.appendTo).eq(0)).eq(0):e.wrap(n).parent(),n.prepend(t.hint?a:null).append(o),{wrapper:n,input:e,hint:a,menu:o}}(t);this.$node=a.wrapper;var u=this.$input=a.input;e=a.menu,n=a.hint,t.dropdownMenuContainer&&r.element(t.dropdownMenuContainer).css("position","relative").append(e.css("top","0")),u.on("blur.aa",(function(t){var n=document.activeElement;s.isMsie()&&(e[0]===n||e[0].contains(n))&&(t.preventDefault(),t.stopImmediatePropagation(),s.defer((function(){u.focus()})))})),e.on("mousedown.aa",(function(t){t.preventDefault()})),this.eventBus=t.eventBus||new o({el:u}),this.dropdown=new h.Dropdown({appendTo:t.appendTo,wrapper:this.$node,menu:e,datasets:t.datasets,templates:t.templates,cssClasses:t.cssClasses,minLength:this.minLength}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onSync("shown",this._onShown,this).onSync("empty",this._onEmpty,this).onSync("redrawn",this._onRedrawn,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new h.Input({input:u,hint:n}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._bindKeyboardShortcuts(t),this._setLanguageDirection()}s.mixin(h.prototype,{_bindKeyboardShortcuts:function(t){if(t.keyboardShortcuts){var e=this.$input,n=[];s.each(t.keyboardShortcuts,(function(t){"string"==typeof t&&(t=t.toUpperCase().charCodeAt(0)),n.push(t)})),r.element(document).keydown((function(t){var i=t.target||t.srcElement,s=i.tagName;if(!i.isContentEditable&&"INPUT"!==s&&"SELECT"!==s&&"TEXTAREA"!==s){var r=t.which||t.keyCode;-1!==n.indexOf(r)&&(e.focus(),t.stopPropagation(),t.preventDefault())}}))}},_onSuggestionClicked:function(t,e){var n;(n=this.dropdown.getDatumForSuggestion(e))&&this._select(n,{selectionMethod:"click"})},_onCursorMoved:function(t,e){var n=this.dropdown.getDatumForCursor(),i=this.dropdown.getCurrentCursor().attr("id");this.input.setActiveDescendant(i),n&&(e&&this.input.setInputValue(n.value,!0),this.eventBus.trigger("cursorchanged",n.raw,n.datasetName))},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint(),this.eventBus.trigger("cursorremoved")},_onDatasetRendered:function(){this._updateHint(),this.eventBus.trigger("updated")},_onOpened:function(){this._updateHint(),this.input.expand(),this.eventBus.trigger("opened")},_onEmpty:function(){this.eventBus.trigger("empty")},_onRedrawn:function(){this.$node.css("top","0px"),this.$node.css("left","0px");var t=this.$input[0].getBoundingClientRect();this.autoWidth&&this.$node.css("width",t.width+"px");var e=this.$node[0].getBoundingClientRect(),n=t.bottom-e.top;this.$node.css("top",n+"px");var i=t.left-e.left;this.$node.css("left",i+"px"),this.eventBus.trigger("redrawn")},_onShown:function(){this.eventBus.trigger("shown"),this.autoselect&&this.dropdown.cursorTopSuggestion()},_onClosed:function(){this.input.clearHint(),this.input.removeActiveDescendant(),this.input.collapse(),this.eventBus.trigger("closed")},_onFocused:function(){if(this.isActivated=!0,this.openOnFocus){var t=this.input.getQuery();t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty(),this.dropdown.open()}},_onBlurred:function(){var t,e;t=this.dropdown.getDatumForCursor(),e=this.dropdown.getDatumForTopSuggestion();var n={selectionMethod:"blur"};this.debug||(this.autoselectOnBlur&&t?this._select(t,n):this.autoselectOnBlur&&e?this._select(e,n):(this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()))},_onEnterKeyed:function(t,e){var n,i;n=this.dropdown.getDatumForCursor(),i=this.dropdown.getDatumForTopSuggestion();var s={selectionMethod:"enterKey"};n?(this._select(n,s),e.preventDefault()):this.autoselect&&i&&(this._select(i,s),e.preventDefault())},_onTabKeyed:function(t,e){if(this.tabAutocomplete){var n;(n=this.dropdown.getDatumForCursor())?(this._select(n,{selectionMethod:"tabKey"}),e.preventDefault()):this._autocomplete(!0)}else this.dropdown.close()},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var t=this.input.getQuery();this.dropdown.isEmpty&&t.length>=this.minLength?this.dropdown.update(t):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var t=this.input.getQuery();this.dropdown.isEmpty&&t.length>=this.minLength?this.dropdown.update(t):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(t,e){this.input.clearHintIfInvalid(),e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var t=this.input.getLanguageDirection();this.dir!==t&&(this.dir=t,this.$node.css("direction",t),this.dropdown.setLanguageDirection(t))},_updateHint:function(){var t,e,n,i,r;(t=this.dropdown.getDatumForTopSuggestion())&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(e=this.input.getInputValue(),n=a.normalizeQuery(e),i=s.escapeRegExChars(n),(r=new RegExp("^(?:"+i+")(.+$)","i").exec(t.value))?this.input.setHint(e+r[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(t){var e,n,i,s;e=this.input.getHint(),n=this.input.getQuery(),i=t||this.input.isCursorAtEnd(),e&&n!==e&&i&&((s=this.dropdown.getDatumForTopSuggestion())&&this.input.setInputValue(s.value),this.eventBus.trigger("autocompleted",s.raw,s.datasetName))},_select:function(t,e){void 0!==t.value&&this.input.setQuery(t.value),this.clearOnSelected?this.setVal(""):this.input.setInputValue(t.value,!0),this._setLanguageDirection(),!1===this.eventBus.trigger("selected",t.raw,t.datasetName,e).isDefaultPrevented()&&(this.dropdown.close(),s.defer(s.bind(this.dropdown.empty,this.dropdown)))},open:function(){if(!this.isActivated){var t=this.input.getInputValue();t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty()}this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(t){t=s.toStr(t),this.isActivated?this.input.setInputValue(t):(this.input.setQuery(t),this.input.setInputValue(t,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),function(t,e){var n=t.find(s.className(e.prefix,e.input));s.each(n.data(i),(function(t,e){void 0===t?n.removeAttr(e):n.attr(e,t)})),n.detach().removeClass(s.className(e.prefix,e.input,!0)).insertAfter(t),n.removeData&&n.removeData(i);t.remove()}(this.$node,this.cssClasses),this.$node=null},getWrapper:function(){return this.dropdown.$container[0]}}),h.Dropdown=u,h.Input=a,h.sources=n(8840),t.exports=h},4910:t=>{"use strict";t.exports={element:null}},6177:t=>{"use strict";t.exports=function(t){var e=t.match(/Algolia for JavaScript \((\d+\.)(\d+\.)(\d+)\)/)||t.match(/Algolia for vanilla JavaScript (\d+\.)(\d+\.)(\d+)/);if(e)return[e[1],e[2],e[3]]}},2856:(t,e,n)=>{"use strict";var i,s=n(8820),r=n(4910);function o(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}t.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(t){if(void 0===t&&(t=navigator.userAgent),/(msie|trident)/i.test(t)){var e=t.match(/(msie |rv:)(\d+(.\d+)?)/i);if(e)return e[2]}return!1},escapeRegExChars:function(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(t){return"number"==typeof t},toStr:function(t){return null==t?"":t+""},cloneDeep:function(t){var e=this.mixin({},t),n=this;return this.each(e,(function(t,i){t&&(n.isArray(t)?e[i]=[].concat(t):n.isObject(t)&&(e[i]=n.cloneDeep(t)))})),e},error:function(t){throw new Error(t)},every:function(t,e){var n=!0;return t?(this.each(t,(function(i,s){n&&(n=e.call(null,i,s,t)&&n)})),!!n):n},any:function(t,e){var n=!1;return t?(this.each(t,(function(i,s){if(e.call(null,i,s,t))return n=!0,!1})),n):n},getUniqueId:(i=0,function(){return i++}),templatify:function(t){if(this.isFunction(t))return t;var e=r.element(t);return"SCRIPT"===e.prop("tagName")?function(){return e.text()}:function(){return String(t)}},defer:function(t){setTimeout(t,0)},noop:function(){},formatPrefix:function(t,e){return e?"":t+"-"},className:function(t,e,n){return n?t+e:"."+s(t+e,{isIdentifier:!0})},escapeHighlightedString:function(t,e,n){e=e||"<em>";var i=document.createElement("div");i.appendChild(document.createTextNode(e)),n=n||"</em>";var s=document.createElement("div");s.appendChild(document.createTextNode(n));var r=document.createElement("div");return r.appendChild(document.createTextNode(t)),r.innerHTML.replace(RegExp(o(i.innerHTML),"g"),e).replace(RegExp(o(s.innerHTML),"g"),n)}}},9983:(t,e,n)=>{"use strict";var i=n(2856),s=n(533),r=n(6177);var o,a,u=(o=[],a=window.Promise.resolve(),function(t,e){return function(n,s){(function(t,e){return window.Promise.resolve().then((function(){return o.length&&(a=t.search(o),o=[]),a})).then((function(t){if(t)return t.results[e]}))})(t.as,o.push({indexName:t.indexName,query:n,params:e})-1).then((function(t){t&&s(t.hits,t)})).catch((function(t){i.error(t.message)}))}});t.exports=function(t,e){var n=r(t.as._ua);if(n&&n[0]>=3&&n[1]>20){var i="autocomplete.js "+s;-1===t.as._ua.indexOf(i)&&(t.as._ua+="; "+i)}return u(t,e)}},8840:(t,e,n)=>{"use strict";t.exports={hits:n(9983),popularIn:n(4445)}},4445:(t,e,n)=>{"use strict";var i=n(2856),s=n(533),r=n(6177);t.exports=function(t,e,n,o){var a=r(t.as._ua);if(a&&a[0]>=3&&a[1]>20&&((e=e||{}).additionalUA="autocomplete.js "+s),!n.source)return i.error("Missing 'source' key");var u=i.isFunction(n.source)?n.source:function(t){return t[n.source]};if(!n.index)return i.error("Missing 'index' key");var c=n.index;return o=o||{},function(a,l){t.search(a,e,(function(t,a){if(t)i.error(t.message);else{if(a.hits.length>0){var h=a.hits[0],p=i.mixin({hitsPerPage:0},n);delete p.source,delete p.index;var f=r(c.as._ua);return f&&f[0]>=3&&f[1]>20&&(e.additionalUA="autocomplete.js "+s),void c.search(u(h),p,(function(t,e){if(t)i.error(t.message);else{var n=[];if(o.includeAll){var s=o.allTitle||"All departments";n.push(i.mixin({facet:{value:s,count:e.nbHits}},i.cloneDeep(h)))}i.each(e.facets,(function(t,e){i.each(t,(function(t,s){n.push(i.mixin({facet:{facet:e,value:s,count:t}},i.cloneDeep(h)))}))}));for(var r=1;r<a.hits.length;++r)n.push(a.hits[r]);l(n,a)}}))}l([])}}))}}},295:(t,e,n)=>{"use strict";var i=n(6990);n(4910).element=i;var s=n(2856);s.isArray=i.isArray,s.isFunction=i.isFunction,s.isObject=i.isPlainObject,s.bind=i.proxy,s.each=function(t,e){i.each(t,(function(t,n){return e(n,t)}))},s.map=i.map,s.mixin=i.extend,s.Event=i.Event;var r="aaAutocomplete",o=n(6549),a=n(50);function u(t,e,n,u){n=s.isArray(n)?n:[].slice.call(arguments,2);var c=i(t).each((function(t,s){var c=i(s),l=new a({el:c}),h=u||new o({input:c,eventBus:l,dropdownMenuContainer:e.dropdownMenuContainer,hint:void 0===e.hint||!!e.hint,minLength:e.minLength,autoselect:e.autoselect,autoselectOnBlur:e.autoselectOnBlur,tabAutocomplete:e.tabAutocomplete,openOnFocus:e.openOnFocus,templates:e.templates,debug:e.debug,clearOnSelected:e.clearOnSelected,cssClasses:e.cssClasses,datasets:n,keyboardShortcuts:e.keyboardShortcuts,appendTo:e.appendTo,autoWidth:e.autoWidth,ariaLabel:e.ariaLabel||s.getAttribute("aria-label")});c.data(r,h)}));return c.autocomplete={},s.each(["open","close","getVal","setVal","destroy","getWrapper"],(function(t){c.autocomplete[t]=function(){var e,n=arguments;return c.each((function(s,o){var a=i(o).data(r);e=a[t].apply(a,n)})),e}})),c}u.sources=o.sources,u.escapeHighlightedString=s.escapeHighlightedString;var c="autocomplete"in window,l=window.autocomplete;u.noConflict=function(){return c?window.autocomplete=l:delete window.autocomplete,u},t.exports=u},533:t=>{t.exports="0.38.1"},6990:t=>{var e;e=window,t.exports=function(t){var e,n,i=function(){var e,n,i,s,r,o,a=[],u=a.concat,c=a.filter,l=a.slice,h=t.document,p={},f={},d={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},g=/^\s*<(\w+|!)[^>]*>/,m=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,y=/^(?:body|html)$/i,w=/([A-Z])/g,b=["val","css","html","text","data","width","height","offset"],C=["after","prepend","before","append"],x=h.createElement("table"),_=h.createElement("tr"),S={tr:h.createElement("tbody"),tbody:x,thead:x,tfoot:x,td:_,th:_,"*":h.createElement("div")},E=/complete|loaded|interactive/,A=/^[\w-]*$/,$={},T=$.toString,O={},D=h.createElement("div"),N={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},k=Array.isArray||function(t){return t instanceof Array};function I(t){return null==t?String(t):$[T.call(t)]||"object"}function P(t){return"function"==I(t)}function L(t){return null!=t&&t==t.window}function M(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function F(t){return"object"==I(t)}function R(t){return F(t)&&!L(t)&&Object.getPrototypeOf(t)==Object.prototype}function q(t){var e=!!t&&"length"in t&&t.length,n=i.type(t);return"function"!=n&&!L(t)&&("array"==n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function V(t){return c.call(t,(function(t){return null!=t}))}function H(t){return t.length>0?i.fn.concat.apply([],t):t}function B(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function K(t){return t in f?f[t]:f[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function j(t,e){return"number"!=typeof e||d[B(t)]?e:e+"px"}function z(t){var e,n;return p[t]||(e=h.createElement(t),h.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),p[t]=n),p[t]}function U(t){return"children"in t?l.call(t.children):i.map(t.childNodes,(function(t){if(1==t.nodeType)return t}))}function Q(t,e){var n,i=t?t.length:0;for(n=0;n<i;n++)this[n]=t[n];this.length=i,this.selector=e||""}function W(t,i,s){for(n in i)s&&(R(i[n])||k(i[n]))?(R(i[n])&&!R(t[n])&&(t[n]={}),k(i[n])&&!k(t[n])&&(t[n]=[]),W(t[n],i[n],s)):i[n]!==e&&(t[n]=i[n])}function Z(t,e){return null==e?i(t):i(t).filter(e)}function X(t,e,n,i){return P(e)?e.call(t,n,i):e}function G(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function J(t,n){var i=t.className||"",s=i&&i.baseVal!==e;if(n===e)return s?i.baseVal:i;s?i.baseVal=n:t.className=n}function Y(t){try{return t?"true"==t||"false"!=t&&("null"==t?null:+t+""==t?+t:/^[\[\{]/.test(t)?i.parseJSON(t):t):t}catch(e){return t}}function tt(t,e){e(t);for(var n=0,i=t.childNodes.length;n<i;n++)tt(t.childNodes[n],e)}return O.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var i,s=t.parentNode,r=!s;return r&&(s=D).appendChild(t),i=~O.qsa(s,e).indexOf(t),r&&D.removeChild(t),i},r=function(t){return t.replace(/-+(.)?/g,(function(t,e){return e?e.toUpperCase():""}))},o=function(t){return c.call(t,(function(e,n){return t.indexOf(e)==n}))},O.fragment=function(t,n,s){var r,o,a;return m.test(t)&&(r=i(h.createElement(RegExp.$1))),r||(t.replace&&(t=t.replace(v,"<$1></$2>")),n===e&&(n=g.test(t)&&RegExp.$1),n in S||(n="*"),(a=S[n]).innerHTML=""+t,r=i.each(l.call(a.childNodes),(function(){a.removeChild(this)}))),R(s)&&(o=i(r),i.each(s,(function(t,e){b.indexOf(t)>-1?o[t](e):o.attr(t,e)}))),r},O.Z=function(t,e){return new Q(t,e)},O.isZ=function(t){return t instanceof O.Z},O.init=function(t,n){var s;if(!t)return O.Z();if("string"==typeof t)if("<"==(t=t.trim())[0]&&g.test(t))s=O.fragment(t,RegExp.$1,n),t=null;else{if(n!==e)return i(n).find(t);s=O.qsa(h,t)}else{if(P(t))return i(h).ready(t);if(O.isZ(t))return t;if(k(t))s=V(t);else if(F(t))s=[t],t=null;else if(g.test(t))s=O.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==e)return i(n).find(t);s=O.qsa(h,t)}}return O.Z(s,t)},(i=function(t,e){return O.init(t,e)}).extend=function(t){var e,n=l.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach((function(n){W(t,n,e)})),t},O.qsa=function(t,e){var n,i="#"==e[0],s=!i&&"."==e[0],r=i||s?e.slice(1):e,o=A.test(r);return t.getElementById&&o&&i?(n=t.getElementById(r))?[n]:[]:1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType?[]:l.call(o&&!i&&t.getElementsByClassName?s?t.getElementsByClassName(r):t.getElementsByTagName(e):t.querySelectorAll(e))},i.contains=h.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},i.type=I,i.isFunction=P,i.isWindow=L,i.isArray=k,i.isPlainObject=R,i.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},i.isNumeric=function(t){var e=Number(t),n=typeof t;return null!=t&&"boolean"!=n&&("string"!=n||t.length)&&!isNaN(e)&&isFinite(e)||!1},i.inArray=function(t,e,n){return a.indexOf.call(e,t,n)},i.camelCase=r,i.trim=function(t){return null==t?"":String.prototype.trim.call(t)},i.uuid=0,i.support={},i.expr={},i.noop=function(){},i.map=function(t,e){var n,i,s,r=[];if(q(t))for(i=0;i<t.length;i++)null!=(n=e(t[i],i))&&r.push(n);else for(s in t)null!=(n=e(t[s],s))&&r.push(n);return H(r)},i.each=function(t,e){var n,i;if(q(t)){for(n=0;n<t.length;n++)if(!1===e.call(t[n],n,t[n]))return t}else for(i in t)if(!1===e.call(t[i],i,t[i]))return t;return t},i.grep=function(t,e){return c.call(t,e)},t.JSON&&(i.parseJSON=JSON.parse),i.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),(function(t,e){$["[object "+e+"]"]=e.toLowerCase()})),i.fn={constructor:O.Z,length:0,forEach:a.forEach,reduce:a.reduce,push:a.push,sort:a.sort,splice:a.splice,indexOf:a.indexOf,concat:function(){var t,e,n=[];for(t=0;t<arguments.length;t++)e=arguments[t],n[t]=O.isZ(e)?e.toArray():e;return u.apply(O.isZ(this)?this.toArray():this,n)},map:function(t){return i(i.map(this,(function(e,n){return t.call(e,n,e)})))},slice:function(){return i(l.apply(this,arguments))},ready:function(t){return E.test(h.readyState)&&h.body?t(i):h.addEventListener("DOMContentLoaded",(function(){t(i)}),!1),this},get:function(t){return t===e?l.call(this):this[t>=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each((function(){null!=this.parentNode&&this.parentNode.removeChild(this)}))},each:function(t){return a.every.call(this,(function(e,n){return!1!==t.call(e,n,e)})),this},filter:function(t){return P(t)?this.not(this.not(t)):i(c.call(this,(function(e){return O.matches(e,t)})))},add:function(t,e){return i(o(this.concat(i(t,e))))},is:function(t){return this.length>0&&O.matches(this[0],t)},not:function(t){var n=[];if(P(t)&&t.call!==e)this.each((function(e){t.call(this,e)||n.push(this)}));else{var s="string"==typeof t?this.filter(t):q(t)&&P(t.item)?l.call(t):i(t);this.forEach((function(t){s.indexOf(t)<0&&n.push(t)}))}return i(n)},has:function(t){return this.filter((function(){return F(t)?i.contains(this,t):i(this).find(t).size()}))},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!F(t)?t:i(t)},last:function(){var t=this[this.length-1];return t&&!F(t)?t:i(t)},find:function(t){var e=this;return t?"object"==typeof t?i(t).filter((function(){var t=this;return a.some.call(e,(function(e){return i.contains(e,t)}))})):1==this.length?i(O.qsa(this[0],t)):this.map((function(){return O.qsa(this,t)})):i()},closest:function(t,e){var n=[],s="object"==typeof t&&i(t);return this.each((function(i,r){for(;r&&!(s?s.indexOf(r)>=0:O.matches(r,t));)r=r!==e&&!M(r)&&r.parentNode;r&&n.indexOf(r)<0&&n.push(r)})),i(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=i.map(n,(function(t){if((t=t.parentNode)&&!M(t)&&e.indexOf(t)<0)return e.push(t),t}));return Z(e,t)},parent:function(t){return Z(o(this.pluck("parentNode")),t)},children:function(t){return Z(this.map((function(){return U(this)})),t)},contents:function(){return this.map((function(){return this.contentDocument||l.call(this.childNodes)}))},siblings:function(t){return Z(this.map((function(t,e){return c.call(U(e.parentNode),(function(t){return t!==e}))})),t)},empty:function(){return this.each((function(){this.innerHTML=""}))},pluck:function(t){return i.map(this,(function(e){return e[t]}))},show:function(){return this.each((function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=z(this.nodeName))}))},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=P(t);if(this[0]&&!e)var n=i(t).get(0),s=n.parentNode||this.length>1;return this.each((function(r){i(this).wrapAll(e?t.call(this,r):s?n.cloneNode(!0):n)}))},wrapAll:function(t){if(this[0]){var e;for(i(this[0]).before(t=i(t));(e=t.children()).length;)t=e.first();i(t).append(this)}return this},wrapInner:function(t){var e=P(t);return this.each((function(n){var s=i(this),r=s.contents(),o=e?t.call(this,n):t;r.length?r.wrapAll(o):s.append(o)}))},unwrap:function(){return this.parent().each((function(){i(this).replaceWith(i(this).children())})),this},clone:function(){return this.map((function(){return this.cloneNode(!0)}))},hide:function(){return this.css("display","none")},toggle:function(t){return this.each((function(){var n=i(this);(t===e?"none"==n.css("display"):t)?n.show():n.hide()}))},prev:function(t){return i(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return i(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each((function(e){var n=this.innerHTML;i(this).empty().append(X(this,t,e,n))})):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each((function(e){var n=X(this,t,e,this.textContent);this.textContent=null==n?"":""+n})):0 in this?this.pluck("textContent").join(""):null},attr:function(t,i){var s;return"string"!=typeof t||1 in arguments?this.each((function(e){if(1===this.nodeType)if(F(t))for(n in t)G(this,n,t[n]);else G(this,t,X(this,i,e,this.getAttribute(t)))})):0 in this&&1==this[0].nodeType&&null!=(s=this[0].getAttribute(t))?s:e},removeAttr:function(t){return this.each((function(){1===this.nodeType&&t.split(" ").forEach((function(t){G(this,t)}),this)}))},prop:function(t,e){return t=N[t]||t,1 in arguments?this.each((function(n){this[t]=X(this,e,n,this[t])})):this[0]&&this[0][t]},removeProp:function(t){return t=N[t]||t,this.each((function(){delete this[t]}))},data:function(t,n){var i="data-"+t.replace(w,"-$1").toLowerCase(),s=1 in arguments?this.attr(i,n):this.attr(i);return null!==s?Y(s):e},val:function(t){return 0 in arguments?(null==t&&(t=""),this.each((function(e){this.value=X(this,t,e,this.value)}))):this[0]&&(this[0].multiple?i(this[0]).find("option").filter((function(){return this.selected})).pluck("value"):this[0].value)},offset:function(e){if(e)return this.each((function(t){var n=i(this),s=X(this,e,t,n.offset()),r=n.offsetParent().offset(),o={top:s.top-r.top,left:s.left-r.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)}));if(!this.length)return null;if(h.documentElement!==this[0]&&!i.contains(h.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+t.pageXOffset,top:n.top+t.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(t,e){if(arguments.length<2){var s=this[0];if("string"==typeof t){if(!s)return;return s.style[r(t)]||getComputedStyle(s,"").getPropertyValue(t)}if(k(t)){if(!s)return;var o={},a=getComputedStyle(s,"");return i.each(t,(function(t,e){o[e]=s.style[r(e)]||a.getPropertyValue(e)})),o}}var u="";if("string"==I(t))e||0===e?u=B(t)+":"+j(t,e):this.each((function(){this.style.removeProperty(B(t))}));else for(n in t)t[n]||0===t[n]?u+=B(n)+":"+j(n,t[n])+";":this.each((function(){this.style.removeProperty(B(n))}));return this.each((function(){this.style.cssText+=";"+u}))},index:function(t){return t?this.indexOf(i(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return!!t&&a.some.call(this,(function(t){return this.test(J(t))}),K(t))},addClass:function(t){return t?this.each((function(e){if("className"in this){s=[];var n=J(this);X(this,t,e,n).split(/\s+/g).forEach((function(t){i(this).hasClass(t)||s.push(t)}),this),s.length&&J(this,n+(n?" ":"")+s.join(" "))}})):this},removeClass:function(t){return this.each((function(n){if("className"in this){if(t===e)return J(this,"");s=J(this),X(this,t,n,s).split(/\s+/g).forEach((function(t){s=s.replace(K(t)," ")})),J(this,s.trim())}}))},toggleClass:function(t,n){return t?this.each((function(s){var r=i(this);X(this,t,s,J(this)).split(/\s+/g).forEach((function(t){(n===e?!r.hasClass(t):n)?r.addClass(t):r.removeClass(t)}))})):this},scrollTop:function(t){if(this.length){var n="scrollTop"in this[0];return t===e?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var n="scrollLeft"in this[0];return t===e?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=t}:function(){this.scrollTo(t,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),n=this.offset(),s=y.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(i(t).css("margin-top"))||0,n.left-=parseFloat(i(t).css("margin-left"))||0,s.top+=parseFloat(i(e[0]).css("border-top-width"))||0,s.left+=parseFloat(i(e[0]).css("border-left-width"))||0,{top:n.top-s.top,left:n.left-s.left}}},offsetParent:function(){return this.map((function(){for(var t=this.offsetParent||h.body;t&&!y.test(t.nodeName)&&"static"==i(t).css("position");)t=t.offsetParent;return t}))}},i.fn.detach=i.fn.remove,["width","height"].forEach((function(t){var n=t.replace(/./,(function(t){return t[0].toUpperCase()}));i.fn[t]=function(s){var r,o=this[0];return s===e?L(o)?o["inner"+n]:M(o)?o.documentElement["scroll"+n]:(r=this.offset())&&r[t]:this.each((function(e){(o=i(this)).css(t,X(this,s,e,o[t]()))}))}})),C.forEach((function(n,s){var r=s%2;i.fn[n]=function(){var n,o,a=i.map(arguments,(function(t){var s=[];return"array"==(n=I(t))?(t.forEach((function(t){return t.nodeType!==e?s.push(t):i.zepto.isZ(t)?s=s.concat(t.get()):void(s=s.concat(O.fragment(t)))})),s):"object"==n||null==t?t:O.fragment(t)})),u=this.length>1;return a.length<1?this:this.each((function(e,n){o=r?n:n.parentNode,n=0==s?n.nextSibling:1==s?n.firstChild:2==s?n:null;var c=i.contains(h.documentElement,o);a.forEach((function(e){if(u)e=e.cloneNode(!0);else if(!o)return i(e).remove();o.insertBefore(e,n),c&&tt(e,(function(e){if(!(null==e.nodeName||"SCRIPT"!==e.nodeName.toUpperCase()||e.type&&"text/javascript"!==e.type||e.src)){var n=e.ownerDocument?e.ownerDocument.defaultView:t;n.eval.call(n,e.innerHTML)}}))}))}))},i.fn[r?n+"To":"insert"+(s?"Before":"After")]=function(t){return i(t)[n](this),this}})),O.Z.prototype=Q.prototype=i.fn,O.uniq=o,O.deserializeValue=Y,i.zepto=O,i}();return function(e){var n,i=1,s=Array.prototype.slice,r=e.isFunction,o=function(t){return"string"==typeof t},a={},u={},c="onfocusin"in t,l={focus:"focusin",blur:"focusout"},h={mouseenter:"mouseover",mouseleave:"mouseout"};function p(t){return t._zid||(t._zid=i++)}function f(t,e,n,i){if((e=d(e)).ns)var s=g(e.ns);return(a[p(t)]||[]).filter((function(t){return t&&(!e.e||t.e==e.e)&&(!e.ns||s.test(t.ns))&&(!n||p(t.fn)===p(n))&&(!i||t.sel==i)}))}function d(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function g(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function m(t,e){return t.del&&!c&&t.e in l||!!e}function v(t){return h[t]||c&&l[t]||t}function y(t,i,s,r,o,u,c){var l=p(t),f=a[l]||(a[l]=[]);i.split(/\s/).forEach((function(i){if("ready"==i)return e(document).ready(s);var a=d(i);a.fn=s,a.sel=o,a.e in h&&(s=function(t){var n=t.relatedTarget;if(!n||n!==this&&!e.contains(this,n))return a.fn.apply(this,arguments)}),a.del=u;var l=u||s;a.proxy=function(e){if(!(e=S(e)).isImmediatePropagationStopped()){try{var i=Object.getOwnPropertyDescriptor(e,"data");i&&!i.writable||(e.data=r)}catch(e){}var s=l.apply(t,e._args==n?[e]:[e].concat(e._args));return!1===s&&(e.preventDefault(),e.stopPropagation()),s}},a.i=f.length,f.push(a),"addEventListener"in t&&t.addEventListener(v(a.e),a.proxy,m(a,c))}))}function w(t,e,n,i,s){var r=p(t);(e||"").split(/\s/).forEach((function(e){f(t,e,n,i).forEach((function(e){delete a[r][e.i],"removeEventListener"in t&&t.removeEventListener(v(e.e),e.proxy,m(e,s))}))}))}u.click=u.mousedown=u.mouseup=u.mousemove="MouseEvents",e.event={add:y,remove:w},e.proxy=function(t,n){var i=2 in arguments&&s.call(arguments,2);if(r(t)){var a=function(){return t.apply(n,i?i.concat(s.call(arguments)):arguments)};return a._zid=p(t),a}if(o(n))return i?(i.unshift(t[n],t),e.proxy.apply(null,i)):e.proxy(t[n],t);throw new TypeError("expected function")},e.fn.bind=function(t,e,n){return this.on(t,e,n)},e.fn.unbind=function(t,e){return this.off(t,e)},e.fn.one=function(t,e,n,i){return this.on(t,e,n,i,1)};var b=function(){return!0},C=function(){return!1},x=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,_={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};function S(t,i){if(i||!t.isDefaultPrevented){i||(i=t),e.each(_,(function(e,n){var s=i[e];t[e]=function(){return this[n]=b,s&&s.apply(i,arguments)},t[n]=C}));try{t.timeStamp||(t.timeStamp=Date.now())}catch(s){}(i.defaultPrevented!==n?i.defaultPrevented:"returnValue"in i?!1===i.returnValue:i.getPreventDefault&&i.getPreventDefault())&&(t.isDefaultPrevented=b)}return t}function E(t){var e,i={originalEvent:t};for(e in t)x.test(e)||t[e]===n||(i[e]=t[e]);return S(i,t)}e.fn.delegate=function(t,e,n){return this.on(e,t,n)},e.fn.undelegate=function(t,e,n){return this.off(e,t,n)},e.fn.live=function(t,n){return e(document.body).delegate(this.selector,t,n),this},e.fn.die=function(t,n){return e(document.body).undelegate(this.selector,t,n),this},e.fn.on=function(t,i,a,u,c){var l,h,p=this;return t&&!o(t)?(e.each(t,(function(t,e){p.on(t,i,a,e,c)})),p):(o(i)||r(u)||!1===u||(u=a,a=i,i=n),u!==n&&!1!==a||(u=a,a=n),!1===u&&(u=C),p.each((function(n,r){c&&(l=function(t){return w(r,t.type,u),u.apply(this,arguments)}),i&&(h=function(t){var n,o=e(t.target).closest(i,r).get(0);if(o&&o!==r)return n=e.extend(E(t),{currentTarget:o,liveFired:r}),(l||u).apply(o,[n].concat(s.call(arguments,1)))}),y(r,t,u,a,i,h||l)})))},e.fn.off=function(t,i,s){var a=this;return t&&!o(t)?(e.each(t,(function(t,e){a.off(t,i,e)})),a):(o(i)||r(s)||!1===s||(s=i,i=n),!1===s&&(s=C),a.each((function(){w(this,t,s,i)})))},e.fn.trigger=function(t,n){return(t=o(t)||e.isPlainObject(t)?e.Event(t):S(t))._args=n,this.each((function(){t.type in l&&"function"==typeof this[t.type]?this[t.type]():"dispatchEvent"in this?this.dispatchEvent(t):e(this).triggerHandler(t,n)}))},e.fn.triggerHandler=function(t,n){var i,s;return this.each((function(r,a){(i=E(o(t)?e.Event(t):t))._args=n,i.target=a,e.each(f(a,t.type||t),(function(t,e){if(s=e.proxy(i),i.isImmediatePropagationStopped())return!1}))})),s},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach((function(t){e.fn[t]=function(e){return 0 in arguments?this.bind(t,e):this.trigger(t)}})),e.Event=function(t,e){o(t)||(t=(e=t).type);var n=document.createEvent(u[t]||"Events"),i=!0;if(e)for(var s in e)"bubbles"==s?i=!!e[s]:n[s]=e[s];return n.initEvent(t,i,!0),S(n)}}(i),n=[],i.fn.remove=function(){return this.each((function(){this.parentNode&&("IMG"===this.tagName&&(n.push(this),this.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",e&&clearTimeout(e),e=setTimeout((function(){n=[]}),6e4)),this.parentNode.removeChild(this))}))},function(t){var e={},n=t.fn.data,i=t.camelCase,s=t.expando="Zepto"+ +new Date,r=[];function o(r,o){var u=r[s],c=u&&e[u];if(void 0===o)return c||a(r);if(c){if(o in c)return c[o];var l=i(o);if(l in c)return c[l]}return n.call(t(r),o)}function a(n,r,o){var a=n[s]||(n[s]=++t.uuid),c=e[a]||(e[a]=u(n));return void 0!==r&&(c[i(r)]=o),c}function u(e){var n={};return t.each(e.attributes||r,(function(e,s){0==s.name.indexOf("data-")&&(n[i(s.name.replace("data-",""))]=t.zepto.deserializeValue(s.value))})),n}t.fn.data=function(e,n){return void 0===n?t.isPlainObject(e)?this.each((function(n,i){t.each(e,(function(t,e){a(i,t,e)}))})):0 in this?o(this[0],e):void 0:this.each((function(){a(this,e,n)}))},t.data=function(e,n,i){return t(e).data(n,i)},t.hasData=function(n){var i=n[s],r=i&&e[i];return!!r&&!t.isEmptyObject(r)},t.fn.removeData=function(n){return"string"==typeof n&&(n=n.split(/\s+/)),this.each((function(){var r=this[s],o=r&&e[r];o&&t.each(n||o,(function(t){delete o[n?i(this):t]}))}))},["remove","empty"].forEach((function(e){var n=t.fn[e];t.fn[e]=function(){var t=this.find("*");return"remove"===e&&(t=t.add(this)),t.removeData(),n.call(this)}}))}(i),i}(e)},8820:t=>{"use strict";var e={}.hasOwnProperty,n=/[ -,\.\/:-@\[-\^`\{-~]/,i=/[ -,\.\/:-@\[\]\^`\{-~]/,s=/(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g,r=function t(r,o){"single"!=(o=function(t,n){if(!t)return n;var i={};for(var s in n)i[s]=e.call(t,s)?t[s]:n[s];return i}(o,t.options)).quotes&&"double"!=o.quotes&&(o.quotes="single");for(var a="double"==o.quotes?'"':"'",u=o.isIdentifier,c=r.charAt(0),l="",h=0,p=r.length;h<p;){var f=r.charAt(h++),d=f.charCodeAt(),g=void 0;if(d<32||d>126){if(d>=55296&&d<=56319&&h<p){var m=r.charCodeAt(h++);56320==(64512&m)?d=((1023&d)<<10)+(1023&m)+65536:h--}g="\\"+d.toString(16).toUpperCase()+" "}else g=o.escapeEverything?n.test(f)?"\\"+f:"\\"+d.toString(16).toUpperCase()+" ":/[\t\n\f\r\x0B]/.test(f)?"\\"+d.toString(16).toUpperCase()+" ":"\\"==f||!u&&('"'==f&&a==f||"'"==f&&a==f)||u&&i.test(f)?"\\"+f:f;l+=g}return u&&(/^-[-\d]/.test(l)?l="\\-"+l.slice(1):/\d/.test(c)&&(l="\\3"+c+" "+l.slice(1))),l=l.replace(s,(function(t,e,n){return e&&e.length%2?t:(e||"")+n})),!u&&o.wrap?a+l+a:l};r.options={escapeEverything:!1,isIdentifier:!1,quotes:"single",wrap:!1},r.version="3.0.0",t.exports=r},624:(t,e,n)=>{"use strict";var i,s,r,o=[n(5525),n(4785),n(8291),n(2709),n(2506),n(9176)],a=-1,u=[],c=!1;function l(){i&&s&&(i=!1,s.length?u=s.concat(u):a=-1,u.length&&h())}function h(){if(!i){c=!1,i=!0;for(var t=u.length,e=setTimeout(l);t;){for(s=u,u=[];s&&++a<t;)s[a].run();a=-1,t=u.length}s=null,a=-1,i=!1,clearTimeout(e)}}for(var p=-1,f=o.length;++p<f;)if(o[p]&&o[p].test&&o[p].test()){r=o[p].install(h);break}function d(t,e){this.fun=t,this.array=e}d.prototype.run=function(){var t=this.fun,e=this.array;switch(e.length){case 0:return t();case 1:return t(e[0]);case 2:return t(e[0],e[1]);case 3:return t(e[0],e[1],e[2]);default:return t.apply(null,e)}},t.exports=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];u.push(new d(t,e)),c||i||(c=!0,r())}},2709:(t,e,n)=>{"use strict";e.test=function(){return!n.g.setImmediate&&void 0!==n.g.MessageChannel},e.install=function(t){var e=new n.g.MessageChannel;return e.port1.onmessage=t,function(){e.port2.postMessage(0)}}},8291:(t,e,n)=>{"use strict";var i=n.g.MutationObserver||n.g.WebKitMutationObserver;e.test=function(){return i},e.install=function(t){var e=0,s=new i(t),r=n.g.document.createTextNode("");return s.observe(r,{characterData:!0}),function(){r.data=e=++e%2}}},4785:(t,e,n)=>{"use strict";e.test=function(){return"function"==typeof n.g.queueMicrotask},e.install=function(t){return function(){n.g.queueMicrotask(t)}}},2506:(t,e,n)=>{"use strict";e.test=function(){return"document"in n.g&&"onreadystatechange"in n.g.document.createElement("script")},e.install=function(t){return function(){var e=n.g.document.createElement("script");return e.onreadystatechange=function(){t(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},n.g.document.documentElement.appendChild(e),t}}},9176:(t,e)=>{"use strict";e.test=function(){return!0},e.install=function(t){return function(){setTimeout(t,0)}}}}]); \ No newline at end of file diff --git a/assets/js/8443.1a8dd629.js.LICENSE.txt b/assets/js/8443.1a8dd629.js.LICENSE.txt new file mode 100644 index 00000000..4f7ccd8a --- /dev/null +++ b/assets/js/8443.1a8dd629.js.LICENSE.txt @@ -0,0 +1 @@ +/*! https://mths.be/cssesc v3.0.0 by @mathias */ diff --git a/assets/js/8ba85c45.30750ed2.js b/assets/js/8ba85c45.30750ed2.js new file mode 100644 index 00000000..86f56ef5 --- /dev/null +++ b/assets/js/8ba85c45.30750ed2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[289],{2481:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"community"}')}}]); \ No newline at end of file diff --git a/assets/js/8d1dd453.5cbf74c6.js b/assets/js/8d1dd453.5cbf74c6.js new file mode 100644 index 00000000..6e381617 --- /dev/null +++ b/assets/js/8d1dd453.5cbf74c6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[1671],{5986:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/blog","page":1,"postsPerPage":3,"totalPages":2,"totalCount":6,"nextPage":"/SolidUI-Website/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/90b38822.880ada58.js b/assets/js/90b38822.880ada58.js new file mode 100644 index 00000000..9049f331 --- /dev/null +++ b/assets/js/90b38822.880ada58.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5279],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>g});var i=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=i.createContext({}),s=function(e){var t=i.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},u=function(e){var t=s(e.components);return i.createElement(l.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=s(n),m=o,g=d["".concat(l,".").concat(m)]||d[m]||p[m]||r;return n?i.createElement(g,a(a({ref:t},u),{},{components:n})):i.createElement(g,a({ref:t},u))}));function g(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,a=new Array(r);a[0]=m;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[d]="string"==typeof e?e:o,a[1]=c;for(var s=2;s<r;s++)a[s]=n[s];return i.createElement.apply(null,a)}return i.createElement.apply(null,n)}m.displayName="MDXCreateElement"},7769:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>s});var i=n(7462),o=(n(7294),n(3905));const r={id:"document",title:"Documentation Notice",sidebar_position:1},a=void 0,c={unversionedId:"submit_guide/document",id:"submit_guide/document",title:"Documentation Notice",description:"\x3c!--",source:"@site/community/submit_guide/document.md",sourceDirName:"submit_guide",slug:"/submit_guide/document",permalink:"/SolidUI-Website/community/submit_guide/document",draft:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"document",title:"Documentation Notice",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Become committer",permalink:"/SolidUI-Website/community/contribution_guide/become_committer"},next:{title:"Submit Code",permalink:"/SolidUI-Website/community/submit_guide/submit_code"}},l={},s=[{value:"Get the document project",id:"get-the-document-project",level:2},{value:"Preview and generate static files",id:"preview-and-generate-static-files",level:2},{value:"Directory structure",id:"directory-structure",level:2},{value:"Specification",id:"specification",level:2},{value:"Directory naming convention",id:"directory-naming-convention",level:3},{value:"Vue and the naming convention of static resource files",id:"vue-and-the-naming-convention-of-static-resource-files",level:3},{value:"Resource Path",id:"resource-path",level:3},{value:"Page content modification",id:"page-content-modification",level:3},{value:"Home page modification",id:"home-page-modification",level:3},{value:"Team page modification",id:"team-page-modification",level:3},{value:"User list page modification",id:"user-list-page-modification",level:3}],u={toc:s},d="wrapper";function p(e){let{components:t,...n}=e;return(0,o.kt)(d,(0,i.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Good documentation is critical for any type of software. Any contribution that can improve the SolidUI documentation is welcome."),(0,o.kt)("h2",{id:"get-the-document-project"},"Get the document project"),(0,o.kt)("p",null,"Documentation for the SolidUI project is maintained in a separate ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI-Website.git"},"git repository"),"."),(0,o.kt)("p",null,"First you need to fork the document project into your own github repository, and then clone the document to your local computer."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"git clone git@github.com:<your-github-user-name>/SolidUI-Website.git\n")),(0,o.kt)("h2",{id:"preview-and-generate-static-files"},"Preview and generate static files"),(0,o.kt)("p",null,"This website is compiled using node, using Docusaurus framework components"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Download and install nodejs (version>12.5.0)"),(0,o.kt)("li",{parentName:"ol"},"Clone the code to the local ",(0,o.kt)("inlineCode",{parentName:"li"},"git clone git@github.com:CloudOrc/SolidUI-Website.git")),(0,o.kt)("li",{parentName:"ol"},"Run ",(0,o.kt)("inlineCode",{parentName:"li"},"npm install")," to install the required dependent libraries."),(0,o.kt)("li",{parentName:"ol"},"Run ",(0,o.kt)("inlineCode",{parentName:"li"},"npm run start")," in the root directory, you can visit http://localhost:3000 to view the English mode preview of the site"),(0,o.kt)("li",{parentName:"ol"},"Run ",(0,o.kt)("inlineCode",{parentName:"li"},"npm run start-zh")," in the root directory, you can visit http://localhost:3000 to view the Chinese mode preview of the site"),(0,o.kt)("li",{parentName:"ol"},"To generate static website resource files, run ",(0,o.kt)("inlineCode",{parentName:"li"},"npm run build"),". The static resources of the build are in the build directory.")),(0,o.kt)("h2",{id:"directory-structure"},"Directory structure"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-html"},"|-- community\n|-- docs // The next version of the document that will be released soon\n|-- download\n|-- faq // Q&A\n|-- i18n\n| `-- zh-CN //Internationalized Chinese\n| |-- code.json\n| |-- docusaurus-plugin-content-docs\n| |-- docusaurus-plugin-content-docs-community\n| |-- docusaurus-plugin-content-docs-download\n| |-- docusaurus-plugin-content-docs-faq\n| `-- docusaurus-theme-classic\n|-- resource // Original project files for architecture/timing diagram/flow chart, etc.\n|-- src\n| |-- components\n| |-- css\n| |-- js\n| |-- pages\n| | |-- home\n| | |-- index.jsx\n| | |-- team\n| | |-- user\n| | `-- versions\n| |-- styles\n|-- static // Picture static resource\n| |-- doc // document picture\n| |-- user // users picture\n| |-- home // homepage picture\n| |-- img // common picture\n|-- docusaurus.config.js\n")),(0,o.kt)("h2",{id:"specification"},"Specification"),(0,o.kt)("h3",{id:"directory-naming-convention"},"Directory naming convention"),(0,o.kt)("p",null,"Use all lowercase, separated by underscores. If there is a plural structure, use plural nomenclature, and do not use plural abbreviations"),(0,o.kt)("p",null,"Positive example: ",(0,o.kt)("inlineCode",{parentName:"p"},"scripts / styles / components / images / utils / layouts / demo_styles / demo-scripts / img / doc")),(0,o.kt)("p",null,"Counter example: ",(0,o.kt)("inlineCode",{parentName:"p"},"script / style / demoStyles / imgs / docs")),(0,o.kt)("h3",{id:"vue-and-the-naming-convention-of-static-resource-files"},"Vue and the naming convention of static resource files"),(0,o.kt)("p",null,"All lowercase, separated by a dash"),(0,o.kt)("p",null,"Positive example: ",(0,o.kt)("inlineCode",{parentName:"p"},"render-dom.js / signup.css / index.html / company-logo.png")),(0,o.kt)("p",null,"Counter example: ",(0,o.kt)("inlineCode",{parentName:"p"},"renderDom.js / UserManagement.html")),(0,o.kt)("h3",{id:"resource-path"},"Resource Path"),(0,o.kt)("p",null,"Image resources are unified under ",(0,o.kt)("inlineCode",{parentName:"p"},"static/{module name}")),(0,o.kt)("p",null,"css and other style files are placed in the ",(0,o.kt)("inlineCode",{parentName:"p"},"src/css")," directory"),(0,o.kt)("h3",{id:"page-content-modification"},"Page content modification"),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Except for the homepage, team, user, Docs>All Version module page, all other pages can be directly jumped to the corresponding github resource modification page through the'Edit this page' button at the bottom")),(0,o.kt)("h3",{id:"home-page-modification"},"Home page modification"),(0,o.kt)("p",null,"Visit the page ",(0,o.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/"),"\nLocated in ",(0,o.kt)("inlineCode",{parentName:"p"},"src/pages/home")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"\u251c\u2500home\n\u2502 languages.json // Home page Chinese and English configuration\n\u2502 index.less // homepage style\n")),(0,o.kt)("h3",{id:"team-page-modification"},"Team page modification"),(0,o.kt)("p",null,"Visit the page ",(0,o.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/team"},"https://cloudorc.github.io/SolidUI-Website/team"),"\nLocated in ",(0,o.kt)("inlineCode",{parentName:"p"},"src/pages/team")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"\u251c\u2500team\n\u2502 languages.json\n\u2502 index.js\n\u2502 index.less\n")),(0,o.kt)("h3",{id:"user-list-page-modification"},"User list page modification"),(0,o.kt)("p",null,"Visit the page ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/1"},"https://github.com/CloudOrc/SolidUI/issues/1")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/935f2afb.211d4c68.js b/assets/js/935f2afb.211d4c68.js new file mode 100644 index 00000000..5c0f751a --- /dev/null +++ b/assets/js/935f2afb.211d4c68.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"What is SolidUI","href":"/SolidUI-Website/docs/intro","docId":"intro"},{"type":"category","label":"User guide","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Quick start","href":"/SolidUI-Website/docs/user-guide/quick-start","docId":"user-guide/quick-start"}]},{"type":"category","label":"Development Framework","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Development Commit","href":"/SolidUI-Website/docs/development/development-commit","docId":"development/development-commit"},{"type":"link","label":"Docker Build","href":"/SolidUI-Website/docs/development/development-docker","docId":"development/development-docker"},{"type":"link","label":"Development Contribution","href":"/SolidUI-Website/docs/development/develop-contributing","docId":"development/develop-contributing"},{"type":"link","label":"Front-End Compilation","href":"/SolidUI-Website/docs/development/development-front","docId":"development/development-front"},{"type":"link","label":"Co-Construction Process","href":"/SolidUI-Website/docs/development/development-construction","docId":"development/development-construction"},{"type":"link","label":"Project Release Process","href":"/SolidUI-Website/docs/development/development-release","docId":"development/development-release"},{"type":"link","label":"Server-side Compilation","href":"/SolidUI-Website/docs/development/development-server","docId":"development/development-server"}]},{"type":"category","label":"Deployment","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Front-End Deployment","href":"/SolidUI-Website/docs/deployment/deployment-web","docId":"deployment/deployment-web"},{"type":"link","label":"Docker-Compose Deployment","href":"/SolidUI-Website/docs/deployment/deployment-docker","docId":"deployment/deployment-docker"},{"type":"link","label":"Deployed Standalone","href":"/SolidUI-Website/docs/deployment/deployment-standalone","docId":"deployment/deployment-standalone"},{"type":"link","label":"Kubernetes Deployment","href":"/SolidUI-Website/docs/deployment/deployment-kubernetes","docId":"deployment/deployment-kubernetes"}]},{"type":"category","label":"Operational","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Community Operation","href":"/SolidUI-Website/docs/operational/community-operation/","docId":"operational/community-operation/community-operation"}]},{"type":"category","label":"Design","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Server Architecture","href":"/SolidUI-Website/docs/design/server-architecture/","docId":"design/server-architecture/server-architecture"},{"type":"link","label":"Frontend Design","href":"/SolidUI-Website/docs/design/front-end-architecture/","docId":"design/front-end-architecture/front-end-architecture"},{"type":"link","label":"Metadata","href":"/SolidUI-Website/docs/design/metadata/","docId":"design/metadata/metadata"}]},{"type":"category","label":"Test","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Test Case","href":"/SolidUI-Website/docs/test/test-case/","docId":"test/test-case/test-case"}]},{"type":"category","label":"Frequently Asked Questions","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"FAQ","href":"/SolidUI-Website/docs/faq/faq/","docId":"faq/faq/faq"}]}]},"docs":{"deployment/deployment-docker":{"id":"deployment/deployment-docker","title":"Docker-Compose Deployment","description":"1. Environment preparation","sidebar":"tutorialSidebar"},"deployment/deployment-kubernetes":{"id":"deployment/deployment-kubernetes","title":"Kubernetes Deployment","description":"1. Environment preparation","sidebar":"tutorialSidebar"},"deployment/deployment-standalone":{"id":"deployment/deployment-standalone","title":"Deployed Standalone","description":"1. First-time installation preparations","sidebar":"tutorialSidebar"},"deployment/deployment-web":{"id":"deployment/deployment-web","title":"Front-End Deployment","description":"1 Preparations","sidebar":"tutorialSidebar"},"design/front-end-architecture/front-end-architecture":{"id":"design/front-end-architecture/front-end-architecture","title":"Frontend Design","description":"1. SolidUI Module","sidebar":"tutorialSidebar"},"design/metadata/metadata":{"id":"design/metadata/metadata","title":"Metadata","description":"Metadata","sidebar":"tutorialSidebar"},"design/server-architecture/server-architecture":{"id":"design/server-architecture/server-architecture","title":"Server Architecture","description":"1. Architecture Overview","sidebar":"tutorialSidebar"},"development/develop-contributing":{"id":"development/develop-contributing","title":"Development Contribution","description":"Many thanks for contributing to the SolidUI project! Before contributing, please read the following guidelines carefully.","sidebar":"tutorialSidebar"},"development/development-commit":{"id":"development/development-commit","title":"Development Commit","description":"https://linkis.apache.org/zh-CN/docs/latest/development/development-specification/commit-message","sidebar":"tutorialSidebar"},"development/development-construction":{"id":"development/development-construction","title":"Co-Construction Process","description":"Process list","sidebar":"tutorialSidebar"},"development/development-docker":{"id":"development/development-docker","title":"Docker Build","description":"1. Prerequisites","sidebar":"tutorialSidebar"},"development/development-front":{"id":"development/development-front","title":"Front-End Compilation","description":"1. Preconditions","sidebar":"tutorialSidebar"},"development/development-release":{"id":"development/development-release","title":"Project Release Process","description":"SolidUI project release process","sidebar":"tutorialSidebar"},"development/development-server":{"id":"development/development-server","title":"Server-side Compilation","description":"1. Prerequisites","sidebar":"tutorialSidebar"},"faq/faq/faq":{"id":"faq/faq/faq","title":"FAQ","description":"Question answering process","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"What is SolidUI","description":"AI-generated Graphic Models.","sidebar":"tutorialSidebar"},"operational/community-operation/community-operation":{"id":"operational/community-operation/community-operation","title":"Community Operation","description":"Community Co-building Cooperation","sidebar":"tutorialSidebar"},"test/test-case/test-case":{"id":"test/test-case/test-case","title":"Test Case","description":"Log in","sidebar":"tutorialSidebar"},"user-guide/quick-start":{"id":"user-guide/quick-start","title":"Quick start","description":"Start","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/assets/js/9e4087bc.1ed3f564.js b/assets/js/9e4087bc.1ed3f564.js new file mode 100644 index 00000000..88185851 --- /dev/null +++ b/assets/js/9e4087bc.1ed3f564.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3608],{3169:(e,t,a)=>{a.r(t),a.d(t,{default:()=>o});var r=a(7294),l=a(9960),n=a(5999),c=a(1944),i=a(179);function s(e){let{year:t,posts:a}=e;return r.createElement(r.Fragment,null,r.createElement("h3",null,t),r.createElement("ul",null,a.map((e=>r.createElement("li",{key:e.metadata.date},r.createElement(l.Z,{to:e.metadata.permalink},e.metadata.formattedDate," - ",e.metadata.title))))))}function m(e){let{years:t}=e;return r.createElement("section",{className:"margin-vert--lg"},r.createElement("div",{className:"container"},r.createElement("div",{className:"row"},t.map(((e,t)=>r.createElement("div",{key:t,className:"col col--4 margin-vert--lg"},r.createElement(s,e)))))))}function o(e){let{archive:t}=e;const a=(0,n.I)({id:"theme.blog.archive.title",message:"Archive",description:"The page & hero title of the blog archive page"}),l=(0,n.I)({id:"theme.blog.archive.description",message:"Archive",description:"The page & hero description of the blog archive page"}),s=function(e){const t=e.reduceRight(((e,t)=>{const a=t.metadata.date.split("-")[0],r=e.get(a)??[];return e.set(a,[t,...r])}),new Map);return Array.from(t,(e=>{let[t,a]=e;return{year:t,posts:a}}))}(t.blogPosts);return r.createElement(r.Fragment,null,r.createElement(c.d,{title:a,description:l}),r.createElement(i.Z,null,r.createElement("header",{className:"hero hero--primary"},r.createElement("div",{className:"container"},r.createElement("h1",{className:"hero__title"},a),r.createElement("p",{className:"hero__subtitle"},l))),r.createElement("main",null,s.length>0&&r.createElement(m,{years:s}))))}}}]); \ No newline at end of file diff --git a/assets/js/a185487b.72009056.js b/assets/js/a185487b.72009056.js new file mode 100644 index 00000000..13bc75d9 --- /dev/null +++ b/assets/js/a185487b.72009056.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2541],{3905:(t,e,a)=>{a.d(e,{Zo:()=>u,kt:()=>c});var n=a(7294);function r(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function l(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function i(t){for(var e=1;e<arguments.length;e++){var a=null!=arguments[e]?arguments[e]:{};e%2?l(Object(a),!0).forEach((function(e){r(t,e,a[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(a)):l(Object(a)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(a,e))}))}return t}function d(t,e){if(null==t)return{};var a,n,r=function(t,e){if(null==t)return{};var a,n,r={},l=Object.keys(t);for(n=0;n<l.length;n++)a=l[n],e.indexOf(a)>=0||(r[a]=t[a]);return r}(t,e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(t);for(n=0;n<l.length;n++)a=l[n],e.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(r[a]=t[a])}return r}var s=n.createContext({}),o=function(t){var e=n.useContext(s),a=e;return t&&(a="function"==typeof t?t(e):i(i({},e),t)),a},u=function(t){var e=o(t.components);return n.createElement(s.Provider,{value:e},t.children)},p="mdxType",m={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},g=n.forwardRef((function(t,e){var a=t.components,r=t.mdxType,l=t.originalType,s=t.parentName,u=d(t,["components","mdxType","originalType","parentName"]),p=o(a),g=r,c=p["".concat(s,".").concat(g)]||p[g]||m[g]||l;return a?n.createElement(c,i(i({ref:e},u),{},{components:a})):n.createElement(c,i({ref:e},u))}));function c(t,e){var a=arguments,r=e&&e.mdxType;if("string"==typeof t||r){var l=a.length,i=new Array(l);i[0]=g;var d={};for(var s in e)hasOwnProperty.call(e,s)&&(d[s]=e[s]);d.originalType=t,d[p]="string"==typeof t?t:r,i[1]=d;for(var o=2;o<l;o++)i[o]=a[o];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}g.displayName="MDXCreateElement"},8267:(t,e,a)=>{a.r(e),a.d(e,{assets:()=>s,contentTitle:()=>i,default:()=>m,frontMatter:()=>l,metadata:()=>d,toc:()=>o});var n=a(7462),r=(a(7294),a(3905));const l={id:"test-case",title:"Test Case",sidebar_position:1},i="Modules",d={unversionedId:"test/test-case/test-case",id:"test/test-case/test-case",title:"Test Case",description:"Log in",source:"@site/docs/test/test-case/README.md",sourceDirName:"test/test-case",slug:"/test/test-case/",permalink:"/SolidUI-Website/docs/test/test-case/",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/test/test-case/README.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"test-case",title:"Test Case",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Metadata",permalink:"/SolidUI-Website/docs/design/metadata/"},next:{title:"FAQ",permalink:"/SolidUI-Website/docs/faq/faq/"}},s={},o=[{value:"Log in",id:"log-in",level:2},{value:"Data Source Management",id:"data-source-management",level:2},{value:"Project Management",id:"project-management",level:2},{value:"Design",id:"design",level:2},{value:"ModelUI",id:"modelui",level:2}],u={toc:o},p="wrapper";function m(t){let{components:e,...a}=t;return(0,r.kt)(p,(0,n.Z)({},u,a,{components:e,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"modules"},"Modules"),(0,r.kt)("h2",{id:"log-in"},"Log in"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Test Scenario"),(0,r.kt)("th",{parentName:"tr",align:null},"Input"),(0,r.kt)("th",{parentName:"tr",align:null},"Expected Output"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Correct username and password"),(0,r.kt)("td",{parentName:"tr",align:null},"Correct username and password"),(0,r.kt)("td",{parentName:"tr",align:null},"Successful login")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Incorrect username and password"),(0,r.kt)("td",{parentName:"tr",align:null},"Incorrect username and password"),(0,r.kt)("td",{parentName:"tr",align:null},"Login fails with error message")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Empty username and password"),(0,r.kt)("td",{parentName:"tr",align:null},"Empty username and password"),(0,r.kt)("td",{parentName:"tr",align:null},"Login fails with error message")))),(0,r.kt)("h2",{id:"data-source-management"},"Data Source Management"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Test Scenario"),(0,r.kt)("th",{parentName:"tr",align:null},"Input"),(0,r.kt)("th",{parentName:"tr",align:null},"Expected Output"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Display data"),(0,r.kt)("td",{parentName:"tr",align:null},"None"),(0,r.kt)("td",{parentName:"tr",align:null},"Display all data sources, including serial number, data source name, data source type, user, description information and operation buttons")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Add MySQL data source"),(0,r.kt)("td",{parentName:"tr",align:null},"Data source name, data source driver, URL, user name, password, remarks"),(0,r.kt)("td",{parentName:"tr",align:null},"After adding successfully, you can see the new MySQL data source in the data source list")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Add Doris data source"),(0,r.kt)("td",{parentName:"tr",align:null},"Data source name, data source driver, URL, user name, password, remarks"),(0,r.kt)("td",{parentName:"tr",align:null},"After adding successfully, you can see the new Doris data source in the data source list")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit data source"),(0,r.kt)("td",{parentName:"tr",align:null},"The name of the data source to be edited, the new data source driver, URL, user name, password, note"),(0,r.kt)("td",{parentName:"tr",align:null},"After editing successfully, you can see the edited data source information in the data source list")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Delete a data source in a single line"),(0,r.kt)("td",{parentName:"tr",align:null},"The name of the data source to be deleted"),(0,r.kt)("td",{parentName:"tr",align:null},"After the deletion is successful, the data source will no longer be displayed in the data source list")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Add data source, the name is empty"),(0,r.kt)("td",{parentName:"tr",align:null},"Empty string"),(0,r.kt)("td",{parentName:"tr",align:null},"Failed to add, and an error message is prompted")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Add MySQL data source, URL/user/password is empty"),(0,r.kt)("td",{parentName:"tr",align:null},"Data source name, data source driver, URL, empty string, password, remark"),(0,r.kt)("td",{parentName:"tr",align:null},"Failed to add, and an error message is displayed")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Add Doris data source, URL/user/password is empty"),(0,r.kt)("td",{parentName:"tr",align:null},"Data source name, data source driver, URL, empty string, password, note"),(0,r.kt)("td",{parentName:"tr",align:null},"Failed to add, and an error message is displayed")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit data source, the name/URL/user/password is empty"),(0,r.kt)("td",{parentName:"tr",align:null},"The name/URL/user/password that does not exist is empty"),(0,r.kt)("td",{parentName:"tr",align:null},"Editing fails and an error message is prompted")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Data Source Expired"),(0,r.kt)("td",{parentName:"tr",align:null},"Single Row Select Data Source Expired"),(0,r.kt)("td",{parentName:"tr",align:null},"Success")))),(0,r.kt)("h2",{id:"project-management"},"Project Management"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Test Scenario"),(0,r.kt)("th",{parentName:"tr",align:null},"Input"),(0,r.kt)("th",{parentName:"tr",align:null},"Expected Output"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Add project"),(0,r.kt)("td",{parentName:"tr",align:null},"Project name, project description, project URL"),(0,r.kt)("td",{parentName:"tr",align:null},"After adding successfully, you can see the new project information in the project list")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Query Item List"),(0,r.kt)("td",{parentName:"tr",align:null},"Item Name"),(0,r.kt)("td",{parentName:"tr",align:null},"Output Item List")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit project name"),(0,r.kt)("td",{parentName:"tr",align:null},"Project name"),(0,r.kt)("td",{parentName:"tr",align:null},"After editing successfully, you can see the edited project information in the project list")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Delete Item"),(0,r.kt)("td",{parentName:"tr",align:null},"The name of the item to be deleted"),(0,r.kt)("td",{parentName:"tr",align:null},"After successful deletion, the item will no longer appear in the item list")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Add item with empty name"),(0,r.kt)("td",{parentName:"tr",align:null},"Empty string"),(0,r.kt)("td",{parentName:"tr",align:null},"Failed to add with an error message")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Add an item, the description is empty"),(0,r.kt)("td",{parentName:"tr",align:null},"Empty string"),(0,r.kt)("td",{parentName:"tr",align:null},"After adding successfully, you can see the new item information in the item list, but the description information is empty")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"Edit item, name does not exist"),(0,r.kt)("td",{parentName:"tr",align:null},"Empty string"),(0,r.kt)("td",{parentName:"tr",align:null},"Editing fails with error message")))),(0,r.kt)("h2",{id:"design"},"Design"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"ID"),(0,r.kt)("th",{parentName:"tr",align:null},"Test Scenario"),(0,r.kt)("th",{parentName:"tr",align:null},"Input"),(0,r.kt)("th",{parentName:"tr",align:null},"Expected Output"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"1"),(0,r.kt)("td",{parentName:"tr",align:null},"Create scene"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene name: "Test scene 1"'),(0,r.kt)("td",{parentName:"tr",align:null},'The new scene is created successfully, and "Test scene 1" is displayed in the scene list')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"2"),(0,r.kt)("td",{parentName:"tr",align:null},"Create Page"),(0,r.kt)("td",{parentName:"tr",align:null},'Scenario: "Test Scenario 1", Page Name: "Test Page 1"'),(0,r.kt)("td",{parentName:"tr",align:null},'The new page is created successfully, and "Test Page 1" is displayed in the page list under scenario "Test Scenario 1"')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"3"),(0,r.kt)("td",{parentName:"tr",align:null},"Add column chart legend"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene: "Test scene 1", Page: "Test page 1", Legend name: "Column chart 1"'),(0,r.kt)("td",{parentName:"tr",align:null},'The legend is created successfully, and "Column chart" is displayed in "Test page 1" 1"')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"4"),(0,r.kt)("td",{parentName:"tr",align:null},"Open the data selection sliding window"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene: "Test Scene 1", Page: "Test Page 1", Legend: "Column Chart 1"'),(0,r.kt)("td",{parentName:"tr",align:null},"The data selection sliding window opens successfully, showing the data source type, data source and SQL input box")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"5"),(0,r.kt)("td",{parentName:"tr",align:null},"Select data source type"),(0,r.kt)("td",{parentName:"tr",align:null},'Data source type: "Database"'),(0,r.kt)("td",{parentName:"tr",align:null},"The data source type is selected successfully, and the data source options related to the database are displayed")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"6"),(0,r.kt)("td",{parentName:"tr",align:null},"Select data source"),(0,r.kt)("td",{parentName:"tr",align:null},'Data source: "MySQL database 1"'),(0,r.kt)("td",{parentName:"tr",align:null},"The data source is selected successfully, you can enter the SQL query statement")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"7"),(0,r.kt)("td",{parentName:"tr",align:null},"Enter the SQL query statement"),(0,r.kt)("td",{parentName:"tr",align:null},'SQL: "SELECT category, value FROM sample_data"'),(0,r.kt)("td",{parentName:"tr",align:null},"The SQL query statement is entered successfully, and bar chart 1 shows the data returned by the SQL query")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"8"),(0,r.kt)("td",{parentName:"tr",align:null},"Save Page"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene: "Test Scene 1", Page: "Test Page 1"'),(0,r.kt)("td",{parentName:"tr",align:null},"Page saved successfully, including legend and associated data settings")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"9"),(0,r.kt)("td",{parentName:"tr",align:null},"Preview Scenario"),(0,r.kt)("td",{parentName:"tr",align:null},'Scenario: "Test Scenario 1"'),(0,r.kt)("td",{parentName:"tr",align:null},"The preview is successful, you can preview in the order of the scene and page")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"10"),(0,r.kt)("td",{parentName:"tr",align:null},"Edit scene name"),(0,r.kt)("td",{parentName:"tr",align:null},'Original scene name: "Test scene 1", New scene name: "Test scene 1-Modify"'),(0,r.kt)("td",{parentName:"tr",align:null},'The scene name is modified successfully, and "Test scene 1-Modify" is displayed in the scene list')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"11"),(0,r.kt)("td",{parentName:"tr",align:null},"Delete scene"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene name: "Test scene 1-Modify"'),(0,r.kt)("td",{parentName:"tr",align:null},'The scene is deleted successfully, and "Test scene 1-Modify" is no longer displayed in the scene list')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"12"),(0,r.kt)("td",{parentName:"tr",align:null},"Edit Page Name"),(0,r.kt)("td",{parentName:"tr",align:null},'Scenario: "Test Scenario 1", Original Page Name: "Test Page 1", New Page Name: "Test Page 1-Modify"'),(0,r.kt)("td",{parentName:"tr",align:null},'The page name is modified successfully. "Test Page 1-Modified" is displayed in the page list')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"13"),(0,r.kt)("td",{parentName:"tr",align:null},"Delete Page"),(0,r.kt)("td",{parentName:"tr",align:null},'Scenario: "Test Scenario 1", Page Name: "Test Page 1-Modify"'),(0,r.kt)("td",{parentName:"tr",align:null},'The page is deleted successfully, and "Test Page 1-Modify" is no longer displayed in the page list under the scenario "Test Scenario 1"')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"14"),(0,r.kt)("td",{parentName:"tr",align:null},"Edit Legend Name"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene: "Test Scene 1", Page: "Test Page 1", Original Legend Name: "Column Chart 1", New Legend Name: "Column Chart 1-Modify"'),(0,r.kt)("td",{parentName:"tr",align:null},'Legend Name Modification Success, "Column Chart 1-Modified" is displayed in "Test Page 1"')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"15"),(0,r.kt)("td",{parentName:"tr",align:null},"Delete Legend"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene: "Test Scene 1", Page: "Test Page 1", Legend Name: "Column Chart 1-Modify"'),(0,r.kt)("td",{parentName:"tr",align:null},'The legend is deleted successfully, and "Column Chart" is no longer displayed in "Test Page 1" Figure 1 - Modification"')),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"16"),(0,r.kt)("td",{parentName:"tr",align:null},"Edit SQL query statement"),(0,r.kt)("td",{parentName:"tr",align:null},'Scenario: "Test Scenario 1", Page: "Test Page 1", Legend: "Column Chart 1", New SQL: "SELECT category, value * 2 AS double_value FROM sample_data"'),(0,r.kt)("td",{parentName:"tr",align:null},"SQL The query statement is modified successfully, and column chart 1 shows the data returned by the new SQL query")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"17"),(0,r.kt)("td",{parentName:"tr",align:null},"Undo Legend Editing"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene: "Test Scene 1", Page: "Test Page 1", Legend: "Column Chart 1"'),(0,r.kt)("td",{parentName:"tr",align:null},"Undo is successful, and the legend returns to the state before editing")))),(0,r.kt)("h2",{id:"modelui"},"ModelUI"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"ID"),(0,r.kt)("th",{parentName:"tr",align:null},"Test Scenario"),(0,r.kt)("th",{parentName:"tr",align:null},"Input"),(0,r.kt)("th",{parentName:"tr",align:null},"Expected Output"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"1"),(0,r.kt)("td",{parentName:"tr",align:null},"Open test page"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene: "test scene 1", Page: "test page 1"'),(0,r.kt)("td",{parentName:"tr",align:null},"Display the test page")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"2"),(0,r.kt)("td",{parentName:"tr",align:null},"Open ModelUI slider"),(0,r.kt)("td",{parentName:"tr",align:null},'Scene: "test scene 1", Page: "test page 1", select a model from the dropdown box'),(0,r.kt)("td",{parentName:"tr",align:null},"Display the ModelUI window on the right side of the page, showing the selected model")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},"3"),(0,r.kt)("td",{parentName:"tr",align:null},"Draw a 2D graph"),(0,r.kt)("td",{parentName:"tr",align:null},'In the ModelUI session panel, input the equation "3x^2 + 4x - 5 = 0" to draw the graph'),(0,r.kt)("td",{parentName:"tr",align:null},'Draw the graph of the equation "3x^2 + 4x - 5 = 0" on the coordinate plane')))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a212e31b.f2a26684.js b/assets/js/a212e31b.f2a26684.js new file mode 100644 index 00000000..32327d2b --- /dev/null +++ b/assets/js/a212e31b.f2a26684.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5842],{3729:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/2023/09/05/0.2.0-Release","metadata":{"permalink":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-Release.md","source":"@site/blog/2023-09-05-0.2.0-Release.md","title":"Version Update | SolidUI 0.2.0 Release","description":"Background","date":"2023-09-05T00:00:00.000Z","formattedDate":"September 5, 2023","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/blog/tags/solid-ui"},{"label":"AI","permalink":"/SolidUI-Website/blog/tags/ai"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/blog/tags/stable-diffusion"}],"readingTime":3.02,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Version Update | SolidUI 0.2.0 Release","date":"2023-09-05T00:00:00.000Z","tags":["SolidUI","AI","stable-diffusion"]},"nextItem":{"title":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","permalink":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction"}},"content":"## Background\\n\\nWith the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.\\n\\nProject URL: [https://github.com/CloudOrc/SolidUI](https://github.com/CloudOrc/SolidUI)\\n\\nProject mirror URL: [https://gitee.com/CloudOrc/SolidUI](https://gitee.com/CloudOrc/SolidUI)\\n\\nCommunity official website: [https://cloudorc.github.io/SolidUI-Website/](https://cloudorc.github.io/SolidUI-Website/)\\n\\nJoin the group: [https://discord.gg/NGRNu2mGeQ](https://discord.gg/NGRNu2mGeQ)\\n\\n\\n## Release Notes\\n\\n### Features\\n\\n* Design features, scene and page optimization\\n* Project Preview\\n* Design features, preview page\\n* Support for GPT-like model proxy\\n* Support for ChatGLM-like model proxy\\n* Support Hugging Face Spaces plugin, provide trial function\\n* Support for the ESLint code check tool\\n* Design page delete graphic optimization\\n* Login page, logout optimization\\n* Support for chat window interaction\\n* Support for the official website, internationalization\\n* Support for the official website, UI optimization\\n* Support for the official website, overview optimization\\n* Support for the official website, Blog optimization\\n* Support for the official website, all documents optimization\\n* Support for the official website, framework migration\\n\\n### Deployment\\n\\n* Independent deployment related scripts\\n* docker-compose\\n\\n### Documentation\\n\\n* All co-builders list\\n* ESLint & Prettier code specifications\\n* SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation\\n* SolidUI community - Snakemq communication source code analysis\\n* Centos7.9 offline deployment of ChatGLM-6B\\n* SolidUI community - Independent deployment and Docker communication analysis\\n* SolidUI community - Introduction to the official website\\n* SolidUI community - Thinking from the perspective of the open-source community about Apple\'s removal of multiple ChatGPT apps\\n* SolidUI community - FAQ problem-solving process\\n* SolidUI community - General Prompt technique\\n* SolidUI community - Prompt design\\n* SolidUI community - Building a character based on Prompts\\n* SolidUI community - AI model proxy\\n* SolidUI community - Chain of Thought (CoT) in Prompts\\n* SolidUI community - Prompt self-consistency\\n* SolidUI community - Discord\\n* SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction\\n\\n## Detailed Guide\\n\\n* This version overview: [https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1](https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1)\\n* Demo environment: [http://www.solidui.top/](http://www.solidui.top/)\\n* Quick Start: [https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/](https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/)\\n* Tutorial: [https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s](https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s)\\n* Welcome users to fill in: [https://github.com/CloudOrc/SolidUI/issues/1](https://github.com/CloudOrc/SolidUI/issues/1)\\n* Join the group: [https://discord.gg/NGRNu2mGeQ](https://discord.gg/NGRNu2mGeQ)\\n\\n## Contributors\\n\\nThe release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)\\n\\n* dlimeng\\n* nutsjian\\n* jacktao007\\n* 15100399015\\n* ziyu211\\n* limingoo\\n* hgfdsa101\\n\\n\\n## How to Become a Contributor\\n\\nOfficial document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: [https://github.com/CloudOrc/SolidUI/discussions/54](https://github.com/CloudOrc/SolidUI/discussions/54)\\n\\nCode contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: [https://github.com/CloudOrc/SolidUI/issues/12](https://github.com/CloudOrc/SolidUI/issues/12)\\n\\nContent contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: [https://github.com/CloudOrc/SolidUI/issues/10](https://github.com/CloudOrc/SolidUI/issues/10)\\n\\nCommunity Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;\\n\\nOthers: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;"},{"id":"/2023/09/05/0.2.0-introduction","metadata":{"permalink":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-introduction.md","source":"@site/blog/2023-09-05-0.2.0-introduction.md","title":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","description":"Background","date":"2023-09-05T00:00:00.000Z","formattedDate":"September 5, 2023","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/blog/tags/solid-ui"},{"label":"AI","permalink":"/SolidUI-Website/blog/tags/ai"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/blog/tags/stable-diffusion"}],"readingTime":4.36,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","date":"2023-09-05T00:00:00.000Z","tags":["SolidUI","AI","stable-diffusion"]},"prevItem":{"title":"Version Update | SolidUI 0.2.0 Release","permalink":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release"},"nextItem":{"title":"SolidUI Community - Official Website Introduction","permalink":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction"}},"content":"## Background\\n\\nWith the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.\\n\\nProject URL: [https://github.com/CloudOrc/SolidUI](https://github.com/CloudOrc/SolidUI)\\n\\nProject mirror URL: [https://gitee.com/CloudOrc/SolidUI](https://gitee.com/CloudOrc/SolidUI)\\n\\nCommunity official website: [https://cloudorc.github.io/SolidUI-Website/](https://cloudorc.github.io/SolidUI-Website/)\\n\\nJoin the group: [https://discord.gg/NGRNu2mGeQ](https://discord.gg/NGRNu2mGeQ)\\n\\n\\n\\n## Chat Window\\nOne of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.\\n\\n### Prompt Words\\n\\n- The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.\\n- The input data can be manually input or automatically generated, combined with text prompt words.\\n\\n## Chat Window Generation\\n### Input data format for bar chart\\n`\\\\[{\\"x\\":\\"A\\",\\"y\\":5},{\\"x\\":\\"B\\",\\"y\\":8},{\\"x\\":\\"C\\",\\"y\\":12},{\\"x\\":\\"D\\",\\"y\\":6},{\\"x\\":\\"E\\",\\"y\\":15},{\\"x\\":\\"F\\",\\"y\\":10}\\\\] Generate a bar chart`\\n\\n\\n![Image description](/doc/image/020/image1.png)\\n\\n### Surface Graph\\n> Prompt 1\\n\\n`Generate a simple 3D surface graph.`\\n\\n\\n![Image description](/doc/image/020/image2.png)\\n\\n\\n\\n> Prompt 2\\n\\n`Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the \'viridis\' color map and display the graph.`\\n\\n\\n![Image description](/doc/image/020/image03.png)\\n\\n\\n\\n> Prompt 3\\n\\n`Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph\'s color map to \'viridis\', and set specific size and margins, finally display the graph.`\\n\\n\\n![Image description](/doc/image/020/images04.png)\\n\\n\\n\\n> Prompt 4\\n\\n`Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y\'s squares.`\\n\\n\\n![Image description](/doc/image/020/images05.png)\\n\\n\\n\\n### Scatter Plot\\n> Prompt 1\\n\\n`Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.`\\n\\n\\n![Image description](/doc/image/020/images06.png)\\n\\n\\n\\n> Prompt 2\\n\\n`A 3D scatter plot has been created, where each point\'s color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.`\\n\\n\\n![Image description](/doc/image/020/images07.png)\\n\\n\\n\\n> Prompt 3\\n\\n`A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.`\\n\\n\\n![Image description](/doc/image/020/images08.png)\\n\\n\\n\\n### Spiral Line\\n> Prompt 1\\n\\n`Draw a spiral line in a 3D graph.`\\n\\n\\n![Image description](/doc/image/020/images09.png)\\n\\n\\n\\n### Pie Chart\\n> Prompt 1\\n\\n`A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as \'A\', \'B\', \'C\', \'D\', \'E\', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.`\\n\\n\\n![Image description](/doc/image/020/images10.png)\\n\\n\\n\\n### Bunny Modeling\\n> Prompt 1\\n\\n`Download the Stanford Bunny model from \\"https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj\\" and use the trimesh library to load and display this model.\\n`\\n\\n![Image description](/doc/image/020/images11.jpeg)\\n\\n\\n\\nhttps://faculty.cc.gatech.edu/~turk/bunny/bunny.html\\n\\n### Map\\n> Prompt 1\\n\\n`Create a map, download link`\\n\\n\\n![Image description](/doc/image/020/images12.png)\\n\\n\\n\\n\\n\\n\\n\\n## Design Page\\n### Page Layout\\nManage the layout of generated graphics, divided by scenes and pages.\\n\\n### Preview\\nClick on the project preview or Design Page -> Scene -> Page preview\\n\\n\\n![Image description](/doc/image/020/images13.png)\\n\\n\\n\\n\\n## Future Plans of SolidUI Community\\nFor this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.\\n\\nThis is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.\\n\\nOverall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.\\n\\n## How to Become a Contributor\\n\\n- Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54\\n- Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12\\n- Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10\\n- Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;\\n- Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;"},{"id":"/2023/09/05/Official-Website-Introduction","metadata":{"permalink":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-Official-Website-Introduction.md","source":"@site/blog/2023-09-05-Official-Website-Introduction.md","title":"SolidUI Community - Official Website Introduction","description":"Background","date":"2023-09-05T00:00:00.000Z","formattedDate":"September 5, 2023","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/blog/tags/solid-ui"},{"label":"AI","permalink":"/SolidUI-Website/blog/tags/ai"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/blog/tags/stable-diffusion"}],"readingTime":4.87,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"SolidUI Community - Official Website Introduction","date":"2023-09-05T00:00:00.000Z","tags":["SolidUI","AI","stable-diffusion"]},"prevItem":{"title":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","permalink":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction"},"nextItem":{"title":"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790","permalink":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis"}},"content":"## Background\\n\\nWith the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.\\n\\nProject link: [https://github.com/CloudOrc/SolidUI](https://github.com/CloudOrc/SolidUI)\\n\\nProject mirror link: [https://gitee.com/CloudOrc/SolidUI](https://gitee.com/CloudOrc/SolidUI)\\n\\nCommunity official website: [https://cloudorc.github.io/SolidUI-Website/](https://cloudorc.github.io/SolidUI-Website/)\\n\\nOfficial website project address\uff1a[https://github.com/CloudOrc/SolidUI-Website](https://github.com/CloudOrc/SolidUI-Website)\\n\\n## Introduction\\n\\nThe SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:\\n\\n* **Document:** This is where SolidUI\'s documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.\\n* **Download:** Users can download the latest version of SolidUI here.\\n* **Releases:** The release records of SolidUI can be found here, where users can view all version release and update information.\\n* **Community:** This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.\\n* **Code of conduct:** This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.\\n* **Become A Committer:** A page for developers to submit code or become project contributors.\\n* **Documentation Notice:** Notices or updates about SolidUI\'s documentation.\\n* **Submit Code:** A page for submitting code where users can submit their own code for the SolidUI project.\\n* **Team:** Page introducing the SolidUI team members.\\n* **Users:** A page showcasing SolidUI users or customers, thanking partners for their participation.\\n* **Our Users:** A page likely introducing SolidUI\'s user groups.\\n* **Blog:** The SolidUI blog, where users can read the latest articles about SolidUI.\\n Official website: [https://cloudorc.github.io/SolidUI-Website/](https://cloudorc.github.io/SolidUI-Website/)\\n\\nOfficial website project address\uff1a[https://github.com/CloudOrc/SolidUI-Website](https://github.com/CloudOrc/SolidUI-Website)\\n\\n## How to Contribute\\n\\nBased on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.\\n\\n### Example\\n\\nFor documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.\\n\\n**Submit an Issue**\\n\\n1. First, visit the main page of the SolidUI-Website project.\\n2. In the top menu bar of the project, click \\"Issues\\".\\n3. Click the \\"New issue\\" button in the upper right corner.\\n4. Enter the title and description of your Issue on the page that appears.\\n5. When you\'re done, click \\"Submit new issue\\".\\n **Submit a Pull Request**\\n\\nBefore submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:\\n\\n1. On the main page of the SolidUI-Website project, click the \\"Fork\\" button in the upper right corner.\\n2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a \\"dev\\" branch.\\n3. Make the required changes on your branch.\\n4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.\\n5. Click \\"Pull requests\\", then click \\"New pull request\\".\\n6. Click \\"compare across forks\\" and choose your fork and your \\"dev\\" branch.\\n7. Confirm your changes, then click \\"Create pull request\\".\\n8. Provide a title and description for your PR on the opened page, then click \\"Create pull request\\".\\n\\n## Conclusion\\n\\nPlease note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.\\n\\nWe\'ve introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.\\n\\nParticipating in SolidUI\'s development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.\\n\\nWhether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.\\n\\n## SolidUI-Website Contributors\\n\\nThe release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):\\n\\n* dlimeng\\n* 15100399015\\n* limingoo\\n\\n\\n## Acknowledgments\\n\\nThanks to the streampark-website for providing framework support.\\n\\n## How to Become a Contributor\\n\\nHere are some ways to contribute to the SolidUI community.\\n\\nContribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: [https://github.com/CloudOrc/SolidUI/discussions/54](https://github.com/CloudOrc/SolidUI/discussions/54)\\n\\nContribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: [https://github.com/CloudOrc/SolidUI/issues/12](https://github.com/CloudOrc/SolidUI/issues/12)\\n\\nContent Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: [https://github.com/CloudOrc/SolidUI/issues/10](https://github.com/CloudOrc/SolidUI/issues/10)\\n\\nCommunity Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.\\n\\nOthers: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc."},{"id":"/2023/07/03/independent-deployment-communication-analysis","metadata":{"permalink":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-03-independent-deployment-communication-analysis.md","source":"@site/blog/2023-07-03-independent-deployment-communication-analysis.md","title":"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790","description":"\u80cc\u666f","date":"2023-07-03T00:00:00.000Z","formattedDate":"July 3, 2023","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/blog/tags/solid-ui"},{"label":"AIGC","permalink":"/SolidUI-Website/blog/tags/aigc"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/blog/tags/stable-diffusion"}],"readingTime":3.635,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790","date":"2023-07-03T00:00:00.000Z","tags":["SolidUI","AIGC","stable-diffusion"]},"prevItem":{"title":"SolidUI Community - Official Website Introduction","permalink":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction"},"nextItem":{"title":"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790","permalink":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis"}},"content":"## \u80cc\u666f\\n\\n\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002\\n\\n\u9879\u76ee\u5730\u5740: [https://github.com/CloudOrc/SolidUI](https://github.com/CloudOrc/SolidUI)\\n\\n\u9879\u76ee\u955c\u50cf\u5730\u5740: [https://gitee.com/CloudOrc/SolidUI](https://gitee.com/CloudOrc/SolidUI)\\n\\n\\n## \u72ec\u7acb\u90e8\u7f72\u901a\u4fe1\\n\\n\u5355\u72ec\u90e8\u7f72\uff0c\u4e0e\u5916\u7f51\u901a\u4fe1\uff0c\u8fd9\u5757\u4e0d\u96be\u53ea\u6709\u76f8\u5e94\u516c\u7f51\uff0c\u5c31\u53ef\u4ee5\u6b63\u5e38\u8bbf\u95ee\u3002\\n\\n\u5355\u72ec\u90e8\u7f72\uff0c\u5185\u90e8\u8fdb\u7a0b\u95f4\u901a\u4fe1\uff0c\u5982\u679c\u6709\u591a\u4e2a\u7f51\u5361\uff0cip addr \u6d89\u53ca\u591a\u4e2aip \uff0c\u9700\u8981\u8bbe\u7f6e\u5185\u7f51ip \u6216\u8005\u57df\u540d \uff0c\u53bb\u4e00\u4e00\u5bf9\u5e94\u3002\\n\\n### \u4f8b\u5982\\n\\n\u5982\u679c\u6709\u591a\u4e2a\u7f51\u5361\uff0cip addr \u6d89\u53ca\u591a\u4e2aip \uff0c\u9700\u8981\u8bbe\u7f6e\u5185\u7f51ip \u6216\u8005\u57df\u540d \uff0c\u53bb\u4e00\u4e00\u5bf9\u5e94\uff0c\u6ca1\u6709\u7684\u8bdd\u7528127.0.0.1 \u5c31\u53ef\u4ee5\u3002\\n\\n\u8bbe\u7f6e Snakemq \u901a\u4fe1\\n\\n```plain\\nsoliduimodelui/.env SNAKEMQ_LISTENER server \u76d1\u542c\u5668 \uff0c\u8bbe\u7f6e\u5185\u7f51ip\\nsoliduimodelui/.env SNAKEMQ_CONNECTOR \u4e0eserver \u8fde\u63a5ip \uff0c\u8bbe\u7f6e\u5185\u7f51ip\\n```\\n\\n## Docker \u90e8\u7f72\u901a\u4fe1\\n\\n\u5bb9\u5668\u5316\u90e8\u7f72\uff0c\u5728\u6b64\u6211\u7b80\u5316\u63cf\u8ff0\uff0c\u4e0d\u5e26\u5bb9\u5668\u7ba1\u7406\u6846\u67b6\u63cf\u8ff0\uff0c\u56e0\u4e3a\u901a\u4fe1\u6700\u6839\u672c\u7684\u660e\u767d\u540e\uff0c\u5176\u5b83\u5728\u6846\u67b6\u4e2d\u4e5f\u5c31\u660e\u767d\u4e86\uff0c\u5916\u90e8\u901a\u4fe1\uff0c\u5f00\u653e\u7aef\u53e3 \uff0c\u5185\u90e8\u901a\u4fe1\uff0c\u901a\u8fc7\u8bbe\u7f6e\u7f51\u6bb5\u540d\u79f0\uff0c\u4e0d\u540c\u5bb9\u5668\u901a\u4fe1\uff0c\u901a\u8fc7\u5bb9\u5668\u540d\u79f0\u8fdb\u884c\u3002\\n\\n### \u4f8b\u5982\\n\\n> \u6570\u636e\u5e93\u8fde\u63a5\\n\\n\u5728docker-compose.yml \u4e2d\uff0c\u8bbe\u7f6e\u4e86Mysql\u6570\u636e\u5e93\u540d\u79f0\u4e3amysql \\n\\n\u6240\u4ee5solidui-entrance application.yaml \u4e2d datasource.url mysql \u66ff\u6362 localhost\\n\\nsoliduimodelui/.env DB_HOST mysql \u66ff\u6362 localhost \\n\\n> soliduimodelui/.env Snakemq \u901a\u4fe1\\n\\n```plain\\nsoliduimodelui/.env SNAKEMQ_LISTENER server \u76d1\u542c\u5668 \uff0c\u8bbe\u7f6e0.0.0.0\\nsoliduimodelui/.env SNAKEMQ_CONNECTOR \u4e0eserver \u8fde\u63a5ip \uff0c\u8bbe\u7f6esoliduimodelui\\n```\\n\\n## \u7ed3\u8bed\\n\\n\u672c\u6587\u901a\u8fc7\u8bb2\u89e3\u72ec\u7acb\u90e8\u7f72 \u548c Docker \u901a\u4fe1\u5206\u6790 \uff0c\u544a\u8bc9\u90e8\u7f72\u8bbe\u7f6eip\u65f6\u5019\u65b9\u5f0f\uff0c\u4e0d\u662f\u76f2\u76ee\u8bbe\u7f6elocalhost\u5c31\u80fd\u89e3\u51b3\uff0c\u4e3a\u5927\u5bb6\u540e\u7eed\u66f4\u597d\u5171\u5efaSolidUI\u63d0\u4f9b\u601d\u8def\u3002\\n\\n\\n## \u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005\\n\\n* \u5b98\u65b9\u6587\u6863\u8d21\u732e\u3002\u53d1\u73b0\u6587\u6863\u7684\u4e0d\u8db3\u3001\u4f18\u5316\u6587\u6863\uff0c\u6301\u7eed\u66f4\u65b0\u6587\u6863\u7b49\u65b9\u5f0f\u53c2\u4e0e\u793e\u533a\u8d21\u732e\u3002\u901a\u8fc7\u6587\u6863\u8d21\u732e\uff0c\u8ba9\u5f00\u53d1\u8005\u719f\u6089\u5982\u4f55\u63d0\u4ea4PR\u548c\u771f\u6b63\u53c2\u4e0e\u5230\u793e\u533a\u7684\u5efa\u8bbe\u3002\u53c2\u8003\u653b\u7565\uff1a[https://github.com/CloudOrc/SolidUI/discussions/54](https://github.com/CloudOrc/SolidUI/discussions/54)\\n* \u4ee3\u7801\u8d21\u732e\u3002\u6211\u4eec\u68b3\u7406\u4e86\u793e\u533a\u4e2d\u7b80\u5355\u5e76\u4e14\u5bb9\u6613\u5165\u95e8\u7684\u7684\u4efb\u52a1\uff0c\u975e\u5e38\u9002\u5408\u65b0\u4eba\u505a\u4ee3\u7801\u8d21\u732e\u3002\u8bf7\u67e5\u9605\u65b0\u624b\u4efb\u52a1\u5217\u8868\uff1a[https://github.com/CloudOrc/SolidUI/issues/12](https://github.com/CloudOrc/SolidUI/issues/12)\\n* \u5185\u5bb9\u8d21\u732e\uff1a\u53d1\u5e03SolidUI\u5f00\u6e90\u7ec4\u4ef6\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5b89\u88c5\u90e8\u7f72\u6559\u7a0b\u3001\u4f7f\u7528\u7ecf\u9a8c\u3001\u6848\u4f8b\u5b9e\u8df5\u7b49\uff0c\u5f62\u5f0f\u4e0d\u9650\uff0c\u8bf7\u6295\u7a3f\u7ed9\u5c0f\u52a9\u624b\u3002\u4f8b\u5982\uff1a[https://github.com/CloudOrc/SolidUI/issues/10](https://github.com/CloudOrc/SolidUI/issues/10)\\n* \u793e\u533a\u7b54\u7591\uff1a\u79ef\u6781\u5728\u793e\u533a\u4e2d\u8fdb\u884c\u7b54\u7591\u3001\u5206\u4eab\u6280\u672f\u3001\u5e2e\u52a9\u5f00\u53d1\u8005\u89e3\u51b3\u95ee\u9898\u7b49\uff1b\\n\u5176\u4ed6\uff1a\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u6d3b\u52a8\u3001\u6210\u4e3a\u793e\u533a\u5fd7\u613f\u8005\u3001\u5e2e\u52a9\u793e\u533a\u5ba3\u4f20\u3001\u4e3a\u793e\u533a\u53d1\u5c55\u63d0\u4f9b\u6709\u6548\u5efa\u8bae\u7b49\uff1b"},{"id":"/2023/07/02/snakemq-communication-source-code-analysis","metadata":{"permalink":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-02-snakemq-communication-source-code-analysis.md","source":"@site/blog/2023-07-02-snakemq-communication-source-code-analysis.md","title":"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790","description":"\u80cc\u666f","date":"2023-07-02T00:00:00.000Z","formattedDate":"July 2, 2023","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/blog/tags/solid-ui"},{"label":"AIGC","permalink":"/SolidUI-Website/blog/tags/aigc"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/blog/tags/stable-diffusion"}],"readingTime":6.275,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790","date":"2023-07-02T00:00:00.000Z","tags":["SolidUI","AIGC","stable-diffusion"]},"prevItem":{"title":"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790","permalink":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis"},"nextItem":{"title":"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3","permalink":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0"}},"content":"## \u80cc\u666f\\n\\n\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002\\n\\n\u9879\u76ee\u5730\u5740: [https://github.com/CloudOrc/SolidUI](https://github.com/CloudOrc/SolidUI)\\n\\n\u9879\u76ee\u955c\u50cf\u5730\u5740: [https://gitee.com/CloudOrc/SolidUI](https://gitee.com/CloudOrc/SolidUI)\\n\\n## Snakemq\u4ecb\u7ecd\\n\\nSnakeMQ\u662f\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u6d88\u606f\u961f\u5217(MQ)\u7cfb\u7edf,\u4e3b\u8981\u7528\u4e8e\u5728Python\u4e2d\u5b9e\u73b0\u5f02\u6b65\u4efb\u52a1\u961f\u5217\u548c\u6d88\u606f\u4f20\u9012\u3002\\n\\nSolidUI \u6a21\u578b\u4ee3\u7406\u6a21\u5757\uff08soliduimodelui\uff09 \u7528\u5230Snakemq , \u6d89\u53ca\u5230\u5185\u90e8\u901a\u4fe1\u65f6\u5019\uff0c\u5982\u679cclient \u548cserver \u4e0d\u4e00\u4e00\u5bf9\u5e94\uff0c\u901a\u4fe1\u5c31\u6709\u95ee\u9898\uff0c\u867d\u7136\u65e5\u5fd7\u4e0d\u62a5\u9519\uff0c\u4f46\u662f\u4e0d\u56de\u8fd4\u56de\u7ed3\u679c\uff0c\u672c\u6587\u4e3b\u8981\u8bb2\u76f8\u5173\u901a\u4fe1\u95ee\u9898\uff0c\u4e3a\u540e\u7eed\u5171\u5efa\u4f19\u4f34\u63d0\u4f9b\u89e3\u51b3\u601d\u8def\u3002\\n\\n## Snakemq\u4f5c\u7528\\n\\n## \\n* \u8f7b\u91cf\u7ea7\u548c\u6613\u4e8e\u4f7f\u7528 - SnakeMQ\u4f7f\u7528\u7eafPython\u7f16\u5199,\u65e0\u4efb\u4f55\u5916\u90e8\u4f9d\u8d56,\u53ef\u4ee5\u5f88\u5bb9\u6613\u5730\u5728\u4efb\u4f55Python\u9879\u76ee\u4e2d\u96c6\u6210\u4f7f\u7528\u3002\\n* \u652f\u6301\u4e3b\u6d41\u534f\u8bae - SnakeMQ\u5b9e\u73b0\u4e86STOMP\u548cAMQP\u7b49\u4e3b\u6d41\u7684MQ\u534f\u8bae\u3002\\n* \u591a\u79cd\u6d88\u606f\u6a21\u578b - \u652f\u6301\u53d1\u5e03-\u8ba2\u9605\u3001\u5de5\u4f5c\u961f\u5217\u3001\u8bf7\u6c42-\u54cd\u5e94\u7b49\u591a\u79cd\u6d88\u606f\u6a21\u578b\u3002\\n* \u6301\u4e45\u5316\u652f\u6301 - \u652f\u6301\u5c06\u6d88\u606f\u6301\u4e45\u5316\u5230\u4e0d\u540c\u7684\u540e\u7aef,\u5982Redis\u3001MongoDB\u7b49\u3002\\n* \u9ad8\u6027\u80fd - SnakeMQ\u9488\u5bf9Python\u8fdb\u884c\u4e86\u4f18\u5316,\u5355\u673a\u53ef\u4ee5\u5904\u7406\u4e0a\u4e07\u6d88\u606f\u6bcf\u79d2\u3002\\n* \u53ef\u6269\u5c55 - \u53ef\u4ee5\u6c34\u5e73\u6269\u5c55\u4ee5\u5b9e\u73b0\u96c6\u7fa4,\u63d0\u9ad8\u7cfb\u7edf\u6574\u4f53\u541e\u5410\u91cf\u3002\\n* \u591a\u8bed\u8a00\u652f\u6301 - \u9664\u4e86Python SDK,\u8fd8\u63d0\u4f9b\u4e86NodeJS\u3001Java\u7b49\u8bed\u8a00\u7684SDK\u3002\\n\\nSolidUI \u4e2d soliduimodelui\u6a21\u5757\uff0c\u662f\u6a21\u578b\u4ee3\u7406API\uff0c\u9700\u8981Web\u548c Kernel \u901a\u4fe1\u7528\u5230Snakemq \\n\\n## Snakemq \u6d4b\u8bd5\u4ee3\u7801\\n\\n\\n> Snakemq client.py\\n\\n\\n```plain\\n\\nimport snakemq.link\\nimport snakemq.packeter\\nimport snakemq.messaging\\nimport snakemq.rpc\\nimport time\\nimport json\\nimport logging\\n\\n\\nlogging.basicConfig(format=\\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\\")\\n\\n\\nlogger = logging.getLogger(__name__)\\n\\n\\nlogger.setLevel(logging.INFO)\\n\\n\\nconsole_handler = logging.StreamHandler()\\n\\n\\nconsole_handler.setLevel(logging.INFO)\\n\\n\\nlogger.addHandler(console_handler)\\n\\n\\nlogger.setLevel(logging.INFO)\\n\\n\\nfh = logging.FileHandler(\'app.log\')\\n\\n\\nlogger.addHandler(fh)\\n\\n\\nlink = snakemq.link.Link()\\n\\n\\npacketer = snakemq.packeter.Packeter(link)\\n\\n\\nmessaging = snakemq.messaging.Messaging(\\"client\\", \\"\\", packeter)\\n\\n\\nconnector = (\\"server\\", 8765)\\n\\n\\nlink.add_connector(connector)\\n\\n\\ndef on_connect(connector_id):\\n\\n\\n logger.info(f\\"Connected to: {connector_id}\\")\\n\\n\\nlink.on_connect.add(on_connect)\\n\\n\\ndef on_disconnect(connector_id):\\n\\n\\n logger.info(f\\"\u5df2\u65ad\u5f00: {connector_id}\\")\\n\\n\\nlink.on_disconnect.add(on_disconnect)\\n\\n\\n\\ndef on_recv(conn, ident, message):\\n\\n\\n logger.info(f\\"client\u63a5\u6536\u5230: {message.data}, \u6765\u81ea: {ident}\\")\\n\\n\\nmessaging.on_message_recv.add(on_recv)\\n\\n\\nmessage = snakemq.message.Message(json.dumps({\\"type\\": \\"status\\", \\"value\\": \\"ready\\"}).encode(\\"utf-8\\"), ttl=600)\\n\\n\\nmessaging.send_message(\\"server\\", message)\\n\\n\\nwhile True:\\n\\n\\n link.loop()\\n\\n\\n time.sleep(0.1)\\n\\n\\n```\\n\\n\\n> Snakemq server.py\\n\\n\\n```plain\\n\\nimport snakemq.link\\nimport snakemq.packeter\\nimport snakemq.messaging\\nimport snakemq.rpc\\nimport time\\nimport json\\nimport logging\\n\\n\\nlogging.basicConfig(format=\\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\\")\\n\\n\\nlogger = logging.getLogger(__name__)\\n\\n\\nlogger.setLevel(logging.INFO)\\n\\n\\nconsole_handler = logging.StreamHandler()\\n\\n\\nconsole_handler.setLevel(logging.INFO)\\n\\n\\nlogger.addHandler(console_handler)\\n\\n\\nlogger.setLevel(logging.INFO)\\n\\n\\nfh = logging.FileHandler(\'app.log\')\\n\\n\\nlogger.addHandler(fh)\\n\\n\\nlink = snakemq.link.Link()\\n\\n\\npacketer = snakemq.packeter.Packeter(link)\\n\\n\\nmessaging = snakemq.messaging.Messaging(\\"server\\", \\"\\", packeter)\\n\\n\\nlink.add_listener((\\"0.0.0.0\\", 8765))\\n\\n\\ndef on_recv(conn, ident, message):\\n\\n\\n logger.info(f\\"server\u63a5\u6536\u5230: {message.data}, \u6765\u81ea: {ident}\\")\\n\\n\\nmessaging.on_message_recv.add(on_recv)\\n\\n\\n\\nmessage = snakemq.message.Message(json.dumps( {\\"type\\": \\"execute\\", \\"value\\": \\"abc\\"}).encode(\\"utf-8\\"), ttl=600)\\n\\n\\nmessaging.send_message(\\"client\\", message)\\n\\n\\n# Main loop\\n\\n\\nwhile True:\\n\\n\\n link.loop()\\n\\n\\n time.sleep(0.1)\\n\\n\\n```\\n\\n\\n> Dockerfile\\n\\n```shell script\\nFROM python:3.8\\nWORKDIR /opt/snaketmq-test\\n\\nRUN pip install snakemq\\nRUN python -c \\"import snakemq; print(snakemq.__file__); print(dir(snakemq))\\"\\nCOPY . .\\n\\nCMD [\\"python\\", \\"server.py\\"]\\n```\\n\\n\\n> Dockerfile build & run\\n\\n```shell script\\ndocker build -t snaketmq-test .\xa0\\n\\ndocker network create mynet\\n\\ndocker run -d --name server --network mynet\xa0 snaketmq-test\\n\\ndocker run --network mynet\xa0 snaketmq-test python client.py\\n```\\n\\n\\n\\n## Snakemq\u901a\u4fe1\\n\\n\u6ce8\u610f\uff1aSnakemq \u6d4b\u8bd5\u4ee3\u7801\uff0c\u56e0\u4e3a\u5bb9\u5668\u5185\u901a\u4fe1\uff0cip addr \u4f1a\u6d89\u53ca\u5230\u591a\u4e2aip \uff0c\u867d\u7136\u5bb9\u5668\u8bbe\u7f6e\u7f51\u6bb5mynet \uff0c\u4f46\u662f server link.add_listener((\\"0.0.0.0\\", 8765)) \u8fd9\u884c\u4ee3\u7801 \\n\\n* server: \u8868\u793aSnakeMQ\u7684\u670d\u52a1\u5668\u5b9e\u4f8b\u3002\\n* link: server\u4e2d\u7684link\u5c5e\u6027,\u8868\u793a\u7f51\u7edc\u8fde\u63a5\u7ba1\u7406\u5668\u3002\\n* add_listener: \u5411link\u4e2d\u6dfb\u52a0\u4e00\u4e2a\u76d1\u542c\u5668\u3002\\n* (\\"0.0.0.0\\", 8765): \u76d1\u542c\u7684\u5730\u5740\u548c\u7aef\u53e3\u3002\\"0.0.0.0\\"\u8868\u793a\u76d1\u542c\u6240\u6709\u7f51\u5361\u5730\u5740,\\"8765\\"\u8868\u793a\u76d1\u542c8765\u7aef\u53e3\u3002\\nclient connector = (\\"server\\", 8765) link.add_connector(connector) \u8fd9\u884c\u4ee3\u7801\\n\\n* connector = (\\"server\\", 8765) : \u521b\u5efa\u4e00\u4e2a\u5143\u7ec4connector,\u91cc\u9762\u5305\u542b\u4e86SnakeMQ\u670d\u52a1\u5668\u7684\u5730\u5740\\"server\\"\u548c\u7aef\u53e38765\u3002\\n* link.add_connector(connector): \u8c03\u7528link\u5bf9\u8c61(\u8fd9\u91cc\u5e94\u8be5\u662fSnakeMQ\u7684\u8fde\u63a5\u5bf9\u8c61)\u7684add_connector\u65b9\u6cd5,\u4f20\u5165\u53c2\u6570connector,\u5c06\u4e0a\u4e00\u6b65\u521b\u5efa\u7684\u8fde\u63a5\u4fe1\u606f\u6dfb\u52a0\u5230\u8fde\u63a5\u5bf9\u8c61\u4e2d\u3002\\n* \u7efc\u5408\u6765\u770b,\u8fd9\u884c\u4ee3\u7801\u7684\u4f5c\u7528\u5c31\u662f\u521b\u5efa\u4e00\u4e2a\u8fde\u63a5\u5143\u7ec4,\u5305\u542bSnakeMQ\u670d\u52a1\u5668\u7684\u5730\u5740\u548c\u7aef\u53e3,\u7136\u540e\u5c06\u8fd9\u4e2a\u8fde\u63a5\u4fe1\u606f\u6dfb\u52a0\u5230SnakeMQ\u7684\u8fde\u63a5\u5bf9\u8c61\u4e2d,\u4ee5\u5efa\u7acbSnakeMQ\u7684\u5ba2\u6237\u7aef\u8fde\u63a5\u3002\\n\\n## \u7ed3\u8bed\\n\\n\u672c\u6587\u901a\u8fc7Snakemq \u6848\u4f8b \u6765\u89e3\u91caSolidUI \u5185\u90e8\u901a\u4fe1\uff0c\u8ba9\u5927\u5bb6\u660e\u767d\u914d\u7f6e\u5730\u5740\u65f6\u5019ip \u4e3a\u4ec0\u4e48\u8fd9\u6837\u8bbe\u7f6e\uff0c\u76ee\u7684\u662f\u4e3a\u4e86\u4e00\u4e00\u5bf9\u5e94\uff0c\u4e0d\u662f\u76f2\u76ee\u8bbe\u7f6elocalhost\u5c31\u80fd\u89e3\u51b3\uff0c\u4e3a\u5927\u5bb6\u540e\u7eed\u66f4\u597d\u5171\u5efaSolidUI\u63d0\u4f9b\u601d\u8def\u3002\\n\\n\\n\\n## \u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005\\n\\n* \u5b98\u65b9\u6587\u6863\u8d21\u732e\u3002\u53d1\u73b0\u6587\u6863\u7684\u4e0d\u8db3\u3001\u4f18\u5316\u6587\u6863\uff0c\u6301\u7eed\u66f4\u65b0\u6587\u6863\u7b49\u65b9\u5f0f\u53c2\u4e0e\u793e\u533a\u8d21\u732e\u3002\u901a\u8fc7\u6587\u6863\u8d21\u732e\uff0c\u8ba9\u5f00\u53d1\u8005\u719f\u6089\u5982\u4f55\u63d0\u4ea4PR\u548c\u771f\u6b63\u53c2\u4e0e\u5230\u793e\u533a\u7684\u5efa\u8bbe\u3002\u53c2\u8003\u653b\u7565\uff1a[https://github.com/CloudOrc/SolidUI/discussions/54](https://github.com/CloudOrc/SolidUI/discussions/54)\\n* \u4ee3\u7801\u8d21\u732e\u3002\u6211\u4eec\u68b3\u7406\u4e86\u793e\u533a\u4e2d\u7b80\u5355\u5e76\u4e14\u5bb9\u6613\u5165\u95e8\u7684\u7684\u4efb\u52a1\uff0c\u975e\u5e38\u9002\u5408\u65b0\u4eba\u505a\u4ee3\u7801\u8d21\u732e\u3002\u8bf7\u67e5\u9605\u65b0\u624b\u4efb\u52a1\u5217\u8868\uff1a[https://github.com/CloudOrc/SolidUI/issues/12](https://github.com/CloudOrc/SolidUI/issues/12)\\n* \u5185\u5bb9\u8d21\u732e\uff1a\u53d1\u5e03SolidUI\u5f00\u6e90\u7ec4\u4ef6\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5b89\u88c5\u90e8\u7f72\u6559\u7a0b\u3001\u4f7f\u7528\u7ecf\u9a8c\u3001\u6848\u4f8b\u5b9e\u8df5\u7b49\uff0c\u5f62\u5f0f\u4e0d\u9650\uff0c\u8bf7\u6295\u7a3f\u7ed9\u5c0f\u52a9\u624b\u3002\u4f8b\u5982\uff1a[https://github.com/CloudOrc/SolidUI/issues/10](https://github.com/CloudOrc/SolidUI/issues/10)\\n* \u793e\u533a\u7b54\u7591\uff1a\u79ef\u6781\u5728\u793e\u533a\u4e2d\u8fdb\u884c\u7b54\u7591\u3001\u5206\u4eab\u6280\u672f\u3001\u5e2e\u52a9\u5f00\u53d1\u8005\u89e3\u51b3\u95ee\u9898\u7b49\uff1b\\n\u5176\u4ed6\uff1a\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u6d3b\u52a8\u3001\u6210\u4e3a\u793e\u533a\u5fd7\u613f\u8005\u3001\u5e2e\u52a9\u793e\u533a\u5ba3\u4f20\u3001\u4e3a\u793e\u533a\u53d1\u5c55\u63d0\u4f9b\u6709\u6548\u5efa\u8bae\u7b49\uff1b"},{"id":"/2023/07/01/function-explanation-0.1.0","metadata":{"permalink":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-01-function-explanation-0.1.0.md","source":"@site/blog/2023-07-01-function-explanation-0.1.0.md","title":"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3","description":"\u80cc\u666f","date":"2023-07-01T00:00:00.000Z","formattedDate":"July 1, 2023","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/blog/tags/solid-ui"},{"label":"AIGC","permalink":"/SolidUI-Website/blog/tags/aigc"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/blog/tags/stable-diffusion"}],"readingTime":5.475,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3","date":"2023-07-01T00:00:00.000Z","tags":["SolidUI","AIGC","stable-diffusion"]},"prevItem":{"title":"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790","permalink":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis"}},"content":"## \u80cc\u666f\\n\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002\\n\\nhttps://github.com/CloudOrc/SolidUI\\n\\n## \u9879\u76ee\u540d\u5b57\u542b\u4e49\\nSolidUI Solid\u8868\u793a\u7acb\u65b9\u51e0\u4f55\uff0cUI\u8868\u793a\u8bbe\u8ba1\u4ea4\u4e92\uff0c\u4ee3\u8868\u591a\u7ef4\u751f\u6210\u8bbe\u8ba1\u3002\\n\\n## \u767b\u5f55\u9875\u542b\u4e49\\n\\n\u767b\u5f55\u9875\u7684\u542b\u4e49\uff0clogo \u7528\u773c\u955c\u7684\u5f62\u72b6\uff0c\u8868\u793a\u89c2\u5bdf\u4e16\u754c \uff0c\u80cc\u666f\u90a3\u4e9b\u7ebf\u6761\u662f\u901a\u8fc7\u773c\u775b\u89c2\u770b\u5f97\u51fa\u56fe\u5f62\uff0c\u6df1\u5c42\u610f\u601d\u8868\u793a\u521b\u610f\u751f\u6210\u4e16\u754c\u3002\\n![\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0](/blog/home.png)\\n\\n\\n## \u4ea7\u54c1\u601d\u7ef4\\n\\n\u201c\u5c11\u5c31\u662f\u591a\u201d\\n\\n\u5c11\u5c31\u662f\u591a\uff0c\u610f\u601d\u662f\u4e0d\u65ad\u7cbe\u7b80\u65b9\u6848\u91cc\u7684\u5143\u7d20\uff0c\u53ea\u7559\u4e0b\u6709\u4ef7\u503c\u7684\uff1b\u5176\u4f59\u4e0d\u91cd\u8981\u7684\uff0c\u8981\u4e48\u76f4\u63a5\u5220\u6389\uff0c\u8981\u4e48\u4ece\u754c\u9762\u91cc\u9690\u85cf\u8d77\u6765\u3002\u5bf9\u4e8e\u90a3\u4e9b\u4e0d\u5e38\u7528\u7684\u64cd\u4f5c\uff0c\u9690\u85cf\u4e4b\u540e\uff0c\u5373\u4f7f\u7528\u6237\u591a\u8fdb\u884c\u51e0\u6b65\u64cd\u4f5c\u4e5f\u6ca1\u6709\u5173\u7cfb\u3002\\n## 0.1.0 \u7248\u672c\u5185\u6db5\\n\u8fd9\u4e2a\u7248\u672c\u4f5c\u4e3a\u7b2c\u4e00\u4e2a\u7248\u672c\uff0c\u8bbe\u60f3\u4f5c\u4e3a\u5e94\u7528\u6846\u67b6\uff0c\u5177\u6709\u901a\u7528\u53ef\u89c6\u5316\u6846\u67b6\u80fd\u529b\uff0c\u4e0d\u56e0\u4e00\u4e9b\u6570\u636e\u7ba1\u7406\uff0cBI\u7b49\u4e00\u4e9b\u65e7\u601d\u7ef4\u5f71\u54cd\uff0c\u53ea\u505a\u5e94\u7528\u6846\u67b6\uff0c\u6240\u4ee5\u5f88\u591a\u4e1c\u897f\u90fd\u88ab\u53bb\u9664\u4e86\uff0cAI\u751f\u6210\u4f1a\u5f7b\u5e95\u6539\u53d8\u4f7f\u7528\u4e60\u60ef\u3002\\n\\n## \u529f\u80fd\u5217\u8868\\n\\n\u4e0b\u9762\u4ecb\u7ecd\u4e0b\u6574\u4e2a\u7b2c\u4e00\u4e2a\u7248\u672c\u529f\u80fd\u5217\u8868\u3002\\n### \u6570\u636e\u6e90\u7ba1\u7406\\n\\n* \u663e\u793a\u6570\u636e\uff1a\u663e\u793a\u6240\u6709\u6570\u636e\u6e90\uff0c\u5305\u62ec\u5e8f\u53f7\uff0c\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u7528\u6237\uff0c\u63cf\u8ff0\u4fe1\u606f\u548c\u64cd\u4f5c\u6309\u94ae\u3002\\n* \u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff1a\u8f93\u5165\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\u540e\uff0c\u53ef\u4ee5*\\n \u6210\u529f\u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u663e\u793a\u3002\\n* \u6dfb\u52a0Doris\u6570\u636e\u6e90\uff1a\u8f93\u5165\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\u540e\uff0c\u53ef\u4ee5\u6210\u529f\u6dfb\u52a0Doris\u6570\u636e\u6e90\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u663e\u793a\u3002\\n* \u7f16\u8f91\u6570\u636e\u6e90\uff1a\u53ef\u4ee5\u7f16\u8f91\u6570\u636e\u6e90\u7684\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u67e5\u770b\u7f16\u8f91\u540e\u7684\u4fe1\u606f\u3002\\n* \u5355\u884c\u5220\u9664\u6570\u636e\u6e90\uff1a\u901a\u8fc7\u8f93\u5165\u8981\u5220\u9664\u7684\u6570\u636e\u6e90\u540d\u79f0\uff0c\u53ef\u4ee5\u6210\u529f\u5220\u9664\u8be5\u6570\u636e\u6e90\uff0c\u5e76\u4e14\u8be5\u6570\u636e\u6e90\u4e0d\u518d\u663e\u793a\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u3002\\n* \u6570\u636e\u6e90\u8fc7\u671f\uff1a\u53ef\u4ee5\u5c06\u9009\u4e2d\u7684\u6570\u636e\u6e90\u8bbe\u7f6e\u4e3a\u8fc7\u671f\u72b6\u6001\u3002\\n ![\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0](/blog/datasource.png)\\n\\n### \u9879\u76ee\u7ba1\u7406\\n\\n* \u6dfb\u52a0\u9879\u76ee\uff1a\u8f93\u5165\u9879\u76ee\u540d\u79f0\uff0c\u9879\u76ee\u63cf\u8ff0\uff0c\u9879\u76eeURL\u540e\uff0c\u53ef\u4ee5\u6210\u529f\u6dfb\u52a0\u9879\u76ee\uff0c\u5e76\u5728\u9879\u76ee\u5217\u8868\u4e2d\u663e\u793a\u65b0\u589e\u7684\u9879\u76ee\u4fe1\u606f\u3002\\n* \u67e5\u8be2\u9879\u76ee\u5217\u8868\uff1a\u901a\u8fc7\u8f93\u5165\u9879\u76ee\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u8be2\u5e76\u8f93\u51fa\u9879\u76ee\u5217\u8868\u3002\\n* \u7f16\u8f91\u9879\u76ee\u540d\uff1a\u53ef\u4ee5\u7f16\u8f91\u9879\u76ee\u540d\u79f0\uff0c\u5e76\u5728\u9879\u76ee\u5217\u8868\u4e2d\u67e5\u770b\u7f16\u8f91\u540e\u7684\u9879\u76ee\u4fe1\u606f\u3002\\n* \u5220\u9664\u9879\u76ee\uff1a\u901a\u8fc7\u8f93\u5165\u8981\u5220\u9664\u7684\u9879\u76ee\u540d\u79f0\uff0c\u53ef\u4ee5\u6210\u529f\u5220\u9664\u8be5\u9879\u76ee\uff0c\u5e76\u4e14\u8be5\u9879\u76ee\u4e0d\u518d\u663e\u793a\u5728\u9879\u76ee\u5217\u8868\u4e2d\u3002\\n* \u9879\u76ee\u9884\u89c8\\n\\n\\n### \u8bbe\u8ba1\u9875\u9762\\n\\n* \u573a\u666f,\u589e\u52a0\uff0c\u4fee\u6539\uff0c\u5220\u9664\uff0c\u91cd\u547d\u540d\u3002\\n* \u9875\uff0c\u589e\u52a0\uff0c\u4fee\u6539\uff0c\u5220\u9664\uff0c\u91cd\u547d\u540d\u3002\\n* \u6dfb\u52a0\u56fe\u4f8b\uff1a\u5728\u6307\u5b9a\u573a\u666f\u548c\u9875\u4e0b\u6dfb\u52a0\u56fe\u4f8b\uff0c\u5e76\u4e3a\u5176\u547d\u540d\u3002\u521b\u5efa\u6210\u529f\u540e\uff0c\u6240\u5728\u9875\u4e2d\u663e\u793a\u5bf9\u5e94\u7684\u56fe\u4f8b\u3002\\n* \u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97\uff1a\u5728\u6307\u5b9a\u573a\u666f\u3001\u9875\u548c\u56fe\u4f8b\u4e0b\uff0c\u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97\u3002\u6ed1\u7a97\u6253\u5f00\u6210\u529f\uff0c\u663e\u793a\u6570\u636e\u6e90\u7c7b\u578b\u3001\u6570\u636e\u6e90\u548cSQL\u8f93\u5165\u6846\u3002\\n* \u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b\uff1a\u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b\uff08\u5982\u6570\u636e\u5e93\uff09\uff0c\u6210\u529f\u540e\u663e\u793a\u4e0e\u6240\u9009\u6570\u636e\u6e90\u7c7b\u578b\u76f8\u5173\u7684\u6570\u636e\u6e90\u9009\u9879\u3002\\n* \u9009\u62e9\u6570\u636e\u6e90\uff1a\u9009\u62e9\u7279\u5b9a\u7684\u6570\u636e\u6e90\uff08\u5982MySQL\u6570\u636e\u5e931\uff09\uff0c\u6210\u529f\u540e\u53ef\u4ee5\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\u3002\\n* \u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\uff1a\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\u5e76\u6267\u884c\uff0c\u67f1\u5f62\u56fe\u6839\u636e\u67e5\u8be2\u8fd4\u56de\u7684\u6570\u636e\u8fdb\u884c\u7ed8\u5236\u3002\\n* \u4fdd\u5b58\u9875\u9762\uff1a\u4fdd\u5b58\u5305\u62ec\u56fe\u4f8b\u548c\u5173\u8054\u6570\u636e\u8bbe\u7f6e\u5728\u5185\u7684\u9875\u9762\uff0c\u4ee5\u4fbf\u540e\u7eed\u67e5\u770b\u548c\u7f16\u8f91\u3002\\n* \u9884\u89c8\u573a\u666f\uff1a\u9884\u89c8\u6574\u4e2a\u573a\u666f\uff0c\u6309\u7167\u573a\u666f\u548c\u9875\u7684\u987a\u5e8f\u67e5\u770b\u5df2\u521b\u5efa\u7684\u56fe\u8868\u3002\\n\\n![\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0](/blog/desgin.png)"}]}')}}]); \ No newline at end of file diff --git a/assets/js/a38ac2fb.2d1ab942.js b/assets/js/a38ac2fb.2d1ab942.js new file mode 100644 index 00000000..7461a403 --- /dev/null +++ b/assets/js/a38ac2fb.2d1ab942.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[789],{3905:(e,n,t)=>{t.d(n,{Zo:()=>m,kt:()=>g});var a=t(7294);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function r(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e,n){if(null==e)return{};var t,a,l=function(e,n){if(null==e)return{};var t,a,l={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||(l[t]=e[t]);return l}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var s=a.createContext({}),c=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):r(r({},n),e)),t},m=function(e){var n=c(e.components);return a.createElement(s.Provider,{value:n},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},k=a.forwardRef((function(e,n){var t=e.components,l=e.mdxType,o=e.originalType,s=e.parentName,m=i(e,["components","mdxType","originalType","parentName"]),p=c(t),k=l,g=p["".concat(s,".").concat(k)]||p[k]||d[k]||o;return t?a.createElement(g,r(r({ref:n},m),{},{components:t})):a.createElement(g,r({ref:n},m))}));function g(e,n){var t=arguments,l=n&&n.mdxType;if("string"==typeof e||l){var o=t.length,r=new Array(o);r[0]=k;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i[p]="string"==typeof e?e:l,r[1]=i;for(var c=2;c<o;c++)r[c]=t[c];return a.createElement.apply(null,r)}return a.createElement.apply(null,t)}k.displayName="MDXCreateElement"},7532:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=t(7462),l=(t(7294),t(3905));const o={title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",date:new Date("2023-07-02T00:00:00.000Z"),tags:["SolidUI","AIGC","stable-diffusion"]},r=void 0,i={permalink:"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-02-snakemq-communication-source-code-analysis.md",source:"@site/blog/2023-07-02-snakemq-communication-source-code-analysis.md",title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",description:"\u80cc\u666f",date:"2023-07-02T00:00:00.000Z",formattedDate:"July 2, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AIGC",permalink:"/SolidUI-Website/blog/tags/aigc"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:6.275,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",date:"2023-07-02T00:00:00.000Z",tags:["SolidUI","AIGC","stable-diffusion"]},prevItem:{title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",permalink:"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis"},nextItem:{title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",permalink:"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0"}},s={authorsImageUrls:[]},c=[{value:"\u80cc\u666f",id:"\u80cc\u666f",level:2},{value:"Snakemq\u4ecb\u7ecd",id:"snakemq\u4ecb\u7ecd",level:2},{value:"Snakemq\u4f5c\u7528",id:"snakemq\u4f5c\u7528",level:2},{value:"Snakemq \u6d4b\u8bd5\u4ee3\u7801",id:"snakemq-\u6d4b\u8bd5\u4ee3\u7801",level:2},{value:"Snakemq\u901a\u4fe1",id:"snakemq\u901a\u4fe1",level:2},{value:"\u7ed3\u8bed",id:"\u7ed3\u8bed",level:2},{value:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",level:2}],m={toc:c},p="wrapper";function d(e){let{components:n,...t}=e;return(0,l.kt)(p,(0,a.Z)({},m,t,{components:n,mdxType:"MDXLayout"}),(0,l.kt)("h2",{id:"\u80cc\u666f"},"\u80cc\u666f"),(0,l.kt)("p",null,"\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002"),(0,l.kt)("p",null,"\u9879\u76ee\u5730\u5740: ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,l.kt)("p",null,"\u9879\u76ee\u955c\u50cf\u5730\u5740: ",(0,l.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,l.kt)("h2",{id:"snakemq\u4ecb\u7ecd"},"Snakemq\u4ecb\u7ecd"),(0,l.kt)("p",null,"SnakeMQ\u662f\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u6d88\u606f\u961f\u5217(MQ)\u7cfb\u7edf,\u4e3b\u8981\u7528\u4e8e\u5728Python\u4e2d\u5b9e\u73b0\u5f02\u6b65\u4efb\u52a1\u961f\u5217\u548c\u6d88\u606f\u4f20\u9012\u3002"),(0,l.kt)("p",null,"SolidUI \u6a21\u578b\u4ee3\u7406\u6a21\u5757\uff08soliduimodelui\uff09 \u7528\u5230Snakemq , \u6d89\u53ca\u5230\u5185\u90e8\u901a\u4fe1\u65f6\u5019\uff0c\u5982\u679cclient \u548cserver \u4e0d\u4e00\u4e00\u5bf9\u5e94\uff0c\u901a\u4fe1\u5c31\u6709\u95ee\u9898\uff0c\u867d\u7136\u65e5\u5fd7\u4e0d\u62a5\u9519\uff0c\u4f46\u662f\u4e0d\u56de\u8fd4\u56de\u7ed3\u679c\uff0c\u672c\u6587\u4e3b\u8981\u8bb2\u76f8\u5173\u901a\u4fe1\u95ee\u9898\uff0c\u4e3a\u540e\u7eed\u5171\u5efa\u4f19\u4f34\u63d0\u4f9b\u89e3\u51b3\u601d\u8def\u3002"),(0,l.kt)("h2",{id:"snakemq\u4f5c\u7528"},"Snakemq\u4f5c\u7528"),(0,l.kt)("h2",{id:""}),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u8f7b\u91cf\u7ea7\u548c\u6613\u4e8e\u4f7f\u7528 - SnakeMQ\u4f7f\u7528\u7eafPython\u7f16\u5199,\u65e0\u4efb\u4f55\u5916\u90e8\u4f9d\u8d56,\u53ef\u4ee5\u5f88\u5bb9\u6613\u5730\u5728\u4efb\u4f55Python\u9879\u76ee\u4e2d\u96c6\u6210\u4f7f\u7528\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u652f\u6301\u4e3b\u6d41\u534f\u8bae - SnakeMQ\u5b9e\u73b0\u4e86STOMP\u548cAMQP\u7b49\u4e3b\u6d41\u7684MQ\u534f\u8bae\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u591a\u79cd\u6d88\u606f\u6a21\u578b - \u652f\u6301\u53d1\u5e03-\u8ba2\u9605\u3001\u5de5\u4f5c\u961f\u5217\u3001\u8bf7\u6c42-\u54cd\u5e94\u7b49\u591a\u79cd\u6d88\u606f\u6a21\u578b\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u6301\u4e45\u5316\u652f\u6301 - \u652f\u6301\u5c06\u6d88\u606f\u6301\u4e45\u5316\u5230\u4e0d\u540c\u7684\u540e\u7aef,\u5982Redis\u3001MongoDB\u7b49\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u9ad8\u6027\u80fd - SnakeMQ\u9488\u5bf9Python\u8fdb\u884c\u4e86\u4f18\u5316,\u5355\u673a\u53ef\u4ee5\u5904\u7406\u4e0a\u4e07\u6d88\u606f\u6bcf\u79d2\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u53ef\u6269\u5c55 - \u53ef\u4ee5\u6c34\u5e73\u6269\u5c55\u4ee5\u5b9e\u73b0\u96c6\u7fa4,\u63d0\u9ad8\u7cfb\u7edf\u6574\u4f53\u541e\u5410\u91cf\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u591a\u8bed\u8a00\u652f\u6301 - \u9664\u4e86Python SDK,\u8fd8\u63d0\u4f9b\u4e86NodeJS\u3001Java\u7b49\u8bed\u8a00\u7684SDK\u3002")),(0,l.kt)("p",null,"SolidUI \u4e2d soliduimodelui\u6a21\u5757\uff0c\u662f\u6a21\u578b\u4ee3\u7406API\uff0c\u9700\u8981Web\u548c Kernel \u901a\u4fe1\u7528\u5230Snakemq "),(0,l.kt)("h2",{id:"snakemq-\u6d4b\u8bd5\u4ee3\u7801"},"Snakemq \u6d4b\u8bd5\u4ee3\u7801"),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Snakemq client.py")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-plain"},'\nimport snakemq.link\nimport snakemq.packeter\nimport snakemq.messaging\nimport snakemq.rpc\nimport time\nimport json\nimport logging\n\n\nlogging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")\n\n\nlogger = logging.getLogger(__name__)\n\n\nlogger.setLevel(logging.INFO)\n\n\nconsole_handler = logging.StreamHandler()\n\n\nconsole_handler.setLevel(logging.INFO)\n\n\nlogger.addHandler(console_handler)\n\n\nlogger.setLevel(logging.INFO)\n\n\nfh = logging.FileHandler(\'app.log\')\n\n\nlogger.addHandler(fh)\n\n\nlink = snakemq.link.Link()\n\n\npacketer = snakemq.packeter.Packeter(link)\n\n\nmessaging = snakemq.messaging.Messaging("client", "", packeter)\n\n\nconnector = ("server", 8765)\n\n\nlink.add_connector(connector)\n\n\ndef on_connect(connector_id):\n\n\n logger.info(f"Connected to: {connector_id}")\n\n\nlink.on_connect.add(on_connect)\n\n\ndef on_disconnect(connector_id):\n\n\n logger.info(f"\u5df2\u65ad\u5f00: {connector_id}")\n\n\nlink.on_disconnect.add(on_disconnect)\n\n\n\ndef on_recv(conn, ident, message):\n\n\n logger.info(f"client\u63a5\u6536\u5230: {message.data}, \u6765\u81ea: {ident}")\n\n\nmessaging.on_message_recv.add(on_recv)\n\n\nmessage = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)\n\n\nmessaging.send_message("server", message)\n\n\nwhile True:\n\n\n link.loop()\n\n\n time.sleep(0.1)\n\n\n')),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Snakemq server.py")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-plain"},'\nimport snakemq.link\nimport snakemq.packeter\nimport snakemq.messaging\nimport snakemq.rpc\nimport time\nimport json\nimport logging\n\n\nlogging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")\n\n\nlogger = logging.getLogger(__name__)\n\n\nlogger.setLevel(logging.INFO)\n\n\nconsole_handler = logging.StreamHandler()\n\n\nconsole_handler.setLevel(logging.INFO)\n\n\nlogger.addHandler(console_handler)\n\n\nlogger.setLevel(logging.INFO)\n\n\nfh = logging.FileHandler(\'app.log\')\n\n\nlogger.addHandler(fh)\n\n\nlink = snakemq.link.Link()\n\n\npacketer = snakemq.packeter.Packeter(link)\n\n\nmessaging = snakemq.messaging.Messaging("server", "", packeter)\n\n\nlink.add_listener(("0.0.0.0", 8765))\n\n\ndef on_recv(conn, ident, message):\n\n\n logger.info(f"server\u63a5\u6536\u5230: {message.data}, \u6765\u81ea: {ident}")\n\n\nmessaging.on_message_recv.add(on_recv)\n\n\n\nmessage = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)\n\n\nmessaging.send_message("client", message)\n\n\n# Main loop\n\n\nwhile True:\n\n\n link.loop()\n\n\n time.sleep(0.1)\n\n\n')),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Dockerfile")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},'FROM python:3.8\nWORKDIR /opt/snaketmq-test\n\nRUN pip install snakemq\nRUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"\nCOPY . .\n\nCMD ["python", "server.py"]\n')),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Dockerfile build & run")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"docker build -t snaketmq-test .\xa0\n\ndocker network create mynet\n\ndocker run -d --name server --network mynet\xa0 snaketmq-test\n\ndocker run --network mynet\xa0 snaketmq-test python client.py\n")),(0,l.kt)("h2",{id:"snakemq\u901a\u4fe1"},"Snakemq\u901a\u4fe1"),(0,l.kt)("p",null,'\u6ce8\u610f\uff1aSnakemq \u6d4b\u8bd5\u4ee3\u7801\uff0c\u56e0\u4e3a\u5bb9\u5668\u5185\u901a\u4fe1\uff0cip addr \u4f1a\u6d89\u53ca\u5230\u591a\u4e2aip \uff0c\u867d\u7136\u5bb9\u5668\u8bbe\u7f6e\u7f51\u6bb5mynet \uff0c\u4f46\u662f server link.add_listener(("0.0.0.0", 8765)) \u8fd9\u884c\u4ee3\u7801 '),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"server: \u8868\u793aSnakeMQ\u7684\u670d\u52a1\u5668\u5b9e\u4f8b\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"link: server\u4e2d\u7684link\u5c5e\u6027,\u8868\u793a\u7f51\u7edc\u8fde\u63a5\u7ba1\u7406\u5668\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"add_listener: \u5411link\u4e2d\u6dfb\u52a0\u4e00\u4e2a\u76d1\u542c\u5668\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},'("0.0.0.0", 8765): \u76d1\u542c\u7684\u5730\u5740\u548c\u7aef\u53e3\u3002"0.0.0.0"\u8868\u793a\u76d1\u542c\u6240\u6709\u7f51\u5361\u5730\u5740,"8765"\u8868\u793a\u76d1\u542c8765\u7aef\u53e3\u3002\nclient connector = ("server", 8765) link.add_connector(connector) \u8fd9\u884c\u4ee3\u7801')),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},'connector = ("server", 8765) : \u521b\u5efa\u4e00\u4e2a\u5143\u7ec4connector,\u91cc\u9762\u5305\u542b\u4e86SnakeMQ\u670d\u52a1\u5668\u7684\u5730\u5740"server"\u548c\u7aef\u53e38765\u3002')),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"link.add_connector(connector): \u8c03\u7528link\u5bf9\u8c61(\u8fd9\u91cc\u5e94\u8be5\u662fSnakeMQ\u7684\u8fde\u63a5\u5bf9\u8c61)\u7684add_connector\u65b9\u6cd5,\u4f20\u5165\u53c2\u6570connector,\u5c06\u4e0a\u4e00\u6b65\u521b\u5efa\u7684\u8fde\u63a5\u4fe1\u606f\u6dfb\u52a0\u5230\u8fde\u63a5\u5bf9\u8c61\u4e2d\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"\u7efc\u5408\u6765\u770b,\u8fd9\u884c\u4ee3\u7801\u7684\u4f5c\u7528\u5c31\u662f\u521b\u5efa\u4e00\u4e2a\u8fde\u63a5\u5143\u7ec4,\u5305\u542bSnakeMQ\u670d\u52a1\u5668\u7684\u5730\u5740\u548c\u7aef\u53e3,\u7136\u540e\u5c06\u8fd9\u4e2a\u8fde\u63a5\u4fe1\u606f\u6dfb\u52a0\u5230SnakeMQ\u7684\u8fde\u63a5\u5bf9\u8c61\u4e2d,\u4ee5\u5efa\u7acbSnakeMQ\u7684\u5ba2\u6237\u7aef\u8fde\u63a5\u3002"))),(0,l.kt)("h2",{id:"\u7ed3\u8bed"},"\u7ed3\u8bed"),(0,l.kt)("p",null,"\u672c\u6587\u901a\u8fc7Snakemq \u6848\u4f8b \u6765\u89e3\u91caSolidUI \u5185\u90e8\u901a\u4fe1\uff0c\u8ba9\u5927\u5bb6\u660e\u767d\u914d\u7f6e\u5730\u5740\u65f6\u5019ip \u4e3a\u4ec0\u4e48\u8fd9\u6837\u8bbe\u7f6e\uff0c\u76ee\u7684\u662f\u4e3a\u4e86\u4e00\u4e00\u5bf9\u5e94\uff0c\u4e0d\u662f\u76f2\u76ee\u8bbe\u7f6elocalhost\u5c31\u80fd\u89e3\u51b3\uff0c\u4e3a\u5927\u5bb6\u540e\u7eed\u66f4\u597d\u5171\u5efaSolidUI\u63d0\u4f9b\u601d\u8def\u3002"),(0,l.kt)("h2",{id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"},"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u5b98\u65b9\u6587\u6863\u8d21\u732e\u3002\u53d1\u73b0\u6587\u6863\u7684\u4e0d\u8db3\u3001\u4f18\u5316\u6587\u6863\uff0c\u6301\u7eed\u66f4\u65b0\u6587\u6863\u7b49\u65b9\u5f0f\u53c2\u4e0e\u793e\u533a\u8d21\u732e\u3002\u901a\u8fc7\u6587\u6863\u8d21\u732e\uff0c\u8ba9\u5f00\u53d1\u8005\u719f\u6089\u5982\u4f55\u63d0\u4ea4PR\u548c\u771f\u6b63\u53c2\u4e0e\u5230\u793e\u533a\u7684\u5efa\u8bbe\u3002\u53c2\u8003\u653b\u7565\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,l.kt)("li",{parentName:"ul"},"\u4ee3\u7801\u8d21\u732e\u3002\u6211\u4eec\u68b3\u7406\u4e86\u793e\u533a\u4e2d\u7b80\u5355\u5e76\u4e14\u5bb9\u6613\u5165\u95e8\u7684\u7684\u4efb\u52a1\uff0c\u975e\u5e38\u9002\u5408\u65b0\u4eba\u505a\u4ee3\u7801\u8d21\u732e\u3002\u8bf7\u67e5\u9605\u65b0\u624b\u4efb\u52a1\u5217\u8868\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,l.kt)("li",{parentName:"ul"},"\u5185\u5bb9\u8d21\u732e\uff1a\u53d1\u5e03SolidUI\u5f00\u6e90\u7ec4\u4ef6\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5b89\u88c5\u90e8\u7f72\u6559\u7a0b\u3001\u4f7f\u7528\u7ecf\u9a8c\u3001\u6848\u4f8b\u5b9e\u8df5\u7b49\uff0c\u5f62\u5f0f\u4e0d\u9650\uff0c\u8bf7\u6295\u7a3f\u7ed9\u5c0f\u52a9\u624b\u3002\u4f8b\u5982\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,l.kt)("li",{parentName:"ul"},"\u793e\u533a\u7b54\u7591\uff1a\u79ef\u6781\u5728\u793e\u533a\u4e2d\u8fdb\u884c\u7b54\u7591\u3001\u5206\u4eab\u6280\u672f\u3001\u5e2e\u52a9\u5f00\u53d1\u8005\u89e3\u51b3\u95ee\u9898\u7b49\uff1b\n\u5176\u4ed6\uff1a\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u6d3b\u52a8\u3001\u6210\u4e3a\u793e\u533a\u5fd7\u613f\u8005\u3001\u5e2e\u52a9\u793e\u533a\u5ba3\u4f20\u3001\u4e3a\u793e\u533a\u53d1\u5c55\u63d0\u4f9b\u6709\u6548\u5efa\u8bae\u7b49\uff1b")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/a6aa9e1f.0aa25372.js b/assets/js/a6aa9e1f.0aa25372.js new file mode 100644 index 00000000..3a4d7761 --- /dev/null +++ b/assets/js/a6aa9e1f.0aa25372.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3089],{46:(e,t,a)=>{a.r(t),a.d(t,{default:()=>u});var n=a(7294),l=a(6010),r=a(2263),i=a(1944),o=a(5281),s=a(9058),m=a(9703),c=a(197),g=a(9985);function p(e){const{metadata:t}=e,{siteConfig:{title:a}}=(0,r.Z)(),{blogDescription:l,blogTitle:o,permalink:s}=t,m="/"===s?a:o;return n.createElement(n.Fragment,null,n.createElement(i.d,{title:m,description:l}),n.createElement(c.Z,{tag:"blog_posts_list"}))}function d(e){const{metadata:t,items:a,sidebar:l}=e;return n.createElement(s.Z,{sidebar:l},n.createElement(g.Z,{items:a}),n.createElement(m.Z,{metadata:t}))}function u(e){return n.createElement(i.FG,{className:(0,l.Z)(o.k.wrapper.blogPages,o.k.page.blogListPage)},n.createElement(p,e),n.createElement(d,e))}},9703:(e,t,a)=>{a.d(t,{Z:()=>i});var n=a(7294),l=a(5999),r=a(2244);function i(e){const{metadata:t}=e,{previousPage:a,nextPage:i}=t;return n.createElement("nav",{className:"pagination-nav","aria-label":(0,l.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"})},a&&n.createElement(r.Z,{permalink:a,title:n.createElement(l.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)"},"Newer Entries")}),i&&n.createElement(r.Z,{permalink:i,title:n.createElement(l.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)"},"Older Entries"),isNext:!0}))}},9985:(e,t,a)=>{a.d(t,{Z:()=>i});var n=a(7294),l=a(9460),r=a(390);function i(e){let{items:t,component:a=r.Z}=e;return n.createElement(n.Fragment,null,t.map((e=>{let{content:t}=e;return n.createElement(l.n,{key:t.metadata.permalink,content:t},n.createElement(a,null,n.createElement(t,null)))})))}}}]); \ No newline at end of file diff --git a/assets/js/ac0ab662.231d6284.js b/assets/js/ac0ab662.231d6284.js new file mode 100644 index 00000000..311b54e3 --- /dev/null +++ b/assets/js/ac0ab662.231d6284.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[530],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>b});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),m=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=m(e.components);return n.createElement(p.Provider,{value:t},e.children)},c="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),c=m(r),d=a,b=c["".concat(p,".").concat(d)]||c[d]||s[d]||i;return r?n.createElement(b,o(o({ref:t},u),{},{components:r})):n.createElement(b,o({ref:t},u))}));function b(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[c]="string"==typeof e?e:a,o[1]=l;for(var m=2;m<i;m++)o[m]=r[m];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},8234:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>s,frontMatter:()=>i,metadata:()=>l,toc:()=>m});var n=r(7462),a=(r(7294),r(3905));const i={id:"submit_code",title:"Submit Code",sidebar_position:2},o=void 0,l={unversionedId:"submit_guide/submit_code",id:"submit_guide/submit_code",title:"Submit Code",description:"\x3c!--",source:"@site/community/submit_guide/submit-code.md",sourceDirName:"submit_guide",slug:"/submit_guide/submit_code",permalink:"/SolidUI-Website/community/submit_guide/submit_code",draft:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"submit_code",title:"Submit Code",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Documentation Notice",permalink:"/SolidUI-Website/community/submit_guide/document"}},p={},m=[],u={toc:m},c="wrapper";function s(e){let{components:t,...r}=e;return(0,a.kt)(c,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"First from the remote repository ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI.git"},"https://github.com/CloudOrc/SolidUI.git")," fork a copy of the code into your own repository")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"There are currently three branches in the remote repository:"),(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"dev")," daily development branch"),(0,a.kt)("blockquote",{parentName:"li"},(0,a.kt)("p",{parentName:"blockquote"},"Every day dev development branch, newly submitted code can pull request to this branch."))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"1.0.0-release")," release version branch"),(0,a.kt)("blockquote",{parentName:"li"},(0,a.kt)("p",{parentName:"blockquote"},"The release version branch, there will be 2.0...and other version branches in the future."))))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Clone your repository to your local"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git clone git@github.com:CloudOrc/SolidUI.git\n"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Add remote repository address, named upstream"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git remote add upstream git@github.com:CloudOrc/SolidUI.git\n"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"View repository"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git remote -v\n")),(0,a.kt)("blockquote",{parentName:"li"},(0,a.kt)("p",{parentName:"blockquote"},"At this time, there will be two repositories: origin (your own repository) and upstream (remote repository)"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Get/Update remote repository code"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git fetch upstream\n"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Synchronize remote repository code to local repository"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git checkout origin/dev\ngit merge --no-ff upstream/dev\n")))),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"After modifying the code locally, submit it to your own repository:"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git commit -m 'commit content'\ngit push\n"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Submit changes to the remote repository")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},'On the github page, click "New pull request".')),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},'Select the modified local branch and the branch you want to merge with the past, click "Create pull request".')),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Then the community Committers will do CodeReview, and then he will discuss some details (including design, implementation, performance, etc.) with you. When everyone on the team is satisfied with this modification, the commit will be merged into the dev branch")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Finally, congratulations, you have become an official contributor to SolidUI !"))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ac717c78.dc7b292e.js b/assets/js/ac717c78.dc7b292e.js new file mode 100644 index 00000000..b141576a --- /dev/null +++ b/assets/js/ac717c78.dc7b292e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8688],{3905:(e,t,i)=>{i.d(t,{Zo:()=>d,kt:()=>h});var a=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,a)}return i}function r(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?o(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):o(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function l(e,t){if(null==e)return{};var i,a,n=function(e,t){if(null==e)return{};var i,a,n={},o=Object.keys(e);for(a=0;a<o.length;a++)i=o[a],t.indexOf(i)>=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)i=o[a],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var s=a.createContext({}),c=function(e){var t=a.useContext(s),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},d=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,s=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),p=c(i),m=n,h=p["".concat(s,".").concat(m)]||p[m]||u[m]||o;return i?a.createElement(h,r(r({ref:t},d),{},{components:i})):a.createElement(h,r({ref:t},d))}));function h(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,r=new Array(o);r[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:n,r[1]=l;for(var c=2;c<o;c++)r[c]=i[c];return a.createElement.apply(null,r)}return a.createElement.apply(null,i)}m.displayName="MDXCreateElement"},9206:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var a=i(7462),n=(i(7294),i(3905));const o={title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",date:new Date("2023-09-05T00:00:00.000Z"),tags:["SolidUI","AI","stable-diffusion"]},r=void 0,l={permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-introduction.md",source:"@site/blog/2023-09-05-0.2.0-introduction.md",title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",description:"Background",date:"2023-09-05T00:00:00.000Z",formattedDate:"September 5, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AI",permalink:"/SolidUI-Website/blog/tags/ai"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:4.36,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",date:"2023-09-05T00:00:00.000Z",tags:["SolidUI","AI","stable-diffusion"]},prevItem:{title:"Version Update | SolidUI 0.2.0 Release",permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-Release"},nextItem:{title:"SolidUI Community - Official Website Introduction",permalink:"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction"}},s={authorsImageUrls:[]},c=[{value:"Background",id:"background",level:2},{value:"Chat Window",id:"chat-window",level:2},{value:"Prompt Words",id:"prompt-words",level:3},{value:"Chat Window Generation",id:"chat-window-generation",level:2},{value:"Input data format for bar chart",id:"input-data-format-for-bar-chart",level:3},{value:"Surface Graph",id:"surface-graph",level:3},{value:"Scatter Plot",id:"scatter-plot",level:3},{value:"Spiral Line",id:"spiral-line",level:3},{value:"Pie Chart",id:"pie-chart",level:3},{value:"Bunny Modeling",id:"bunny-modeling",level:3},{value:"Map",id:"map",level:3},{value:"Design Page",id:"design-page",level:2},{value:"Page Layout",id:"page-layout",level:3},{value:"Preview",id:"preview",level:3},{value:"Future Plans of SolidUI Community",id:"future-plans-of-solidui-community",level:2},{value:"How to Become a Contributor",id:"how-to-become-a-contributor",level:2}],d={toc:c},p="wrapper";function u(e){let{components:t,...o}=e;return(0,n.kt)(p,(0,a.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"background"},"Background"),(0,n.kt)("p",null,"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation."),(0,n.kt)("p",null,"Project URL: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Project mirror URL: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Community official website: ",(0,n.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,n.kt)("p",null,"Join the group: ",(0,n.kt)("a",{parentName:"p",href:"https://discord.gg/NGRNu2mGeQ"},"https://discord.gg/NGRNu2mGeQ")),(0,n.kt)("h2",{id:"chat-window"},"Chat Window"),(0,n.kt)("p",null,"One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display."),(0,n.kt)("h3",{id:"prompt-words"},"Prompt Words"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account."),(0,n.kt)("li",{parentName:"ul"},"The input data can be manually input or automatically generated, combined with text prompt words.")),(0,n.kt)("h2",{id:"chat-window-generation"},"Chat Window Generation"),(0,n.kt)("h3",{id:"input-data-format-for-bar-chart"},"Input data format for bar chart"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},'\\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\\] Generate a bar chart')),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(6979).Z,width:"800",height:"1068"})),(0,n.kt)("h3",{id:"surface-graph"},"Surface Graph"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a simple 3D surface graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4733).Z,width:"612",height:"825"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 2")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7232).Z,width:"612",height:"931"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 3")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4388).Z,width:"612",height:"1095"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 4")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(1350).Z,width:"800",height:"1140"})),(0,n.kt)("h3",{id:"scatter-plot"},"Scatter Plot"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4500).Z,width:"612",height:"864"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 2")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4066).Z,width:"612",height:"973"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 3")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(3458).Z,width:"612",height:"929"})),(0,n.kt)("h3",{id:"spiral-line"},"Spiral Line"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Draw a spiral line in a 3D graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7613).Z,width:"612",height:"843"})),(0,n.kt)("h3",{id:"pie-chart"},"Pie Chart"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(9361).Z,width:"612",height:"784"})),(0,n.kt)("h3",{id:"bunny-modeling"},"Bunny Modeling"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},'Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model.\n')),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(2532).Z,width:"612",height:"578"})),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://faculty.cc.gatech.edu/~turk/bunny/bunny.html"},"https://faculty.cc.gatech.edu/~turk/bunny/bunny.html")),(0,n.kt)("h3",{id:"map"},"Map"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Create a map, download link")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(1560).Z,width:"612",height:"750"})),(0,n.kt)("h2",{id:"design-page"},"Design Page"),(0,n.kt)("h3",{id:"page-layout"},"Page Layout"),(0,n.kt)("p",null,"Manage the layout of generated graphics, divided by scenes and pages."),(0,n.kt)("h3",{id:"preview"},"Preview"),(0,n.kt)("p",null,"Click on the project preview or Design Page -> Scene -> Page preview"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7832).Z,width:"612",height:"689"})),(0,n.kt)("h2",{id:"future-plans-of-solidui-community"},"Future Plans of SolidUI Community"),(0,n.kt)("p",null,"For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics."),(0,n.kt)("p",null,"This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas."),(0,n.kt)("p",null,"Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development."),(0,n.kt)("h2",{id:"how-to-become-a-contributor"},"How to Become a Contributor"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("li",{parentName:"ul"},"Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("li",{parentName:"ul"},"Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("li",{parentName:"ul"},"Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;"),(0,n.kt)("li",{parentName:"ul"},"Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;")))}u.isMDXComponent=!0},7232:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image03-af7d6197cbbd538939c13caea371ed6b.png"},6979:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image1-e94e2d291f16a9cf47445078fe8a63e7.png"},4733:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image2-9a1fea16ddcd20bbcd103783e45e7d1a.png"},4388:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images04-ab547dfceec7fd4762478ac7916ec5d2.png"},1350:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images05-4cc71d8bdadf8941e12867c8d6f8a2fe.png"},4500:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images06-973d359adfc34c204d37ea809ac68072.png"},4066:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images07-eddfb5d4a451dffd76a68688c45eac10.png"},3458:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images08-585c264b6c51d1daf3b607aa17f6f20e.png"},7613:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images09-50798acaf3380d15ad06c8e0e6e2000f.png"},9361:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images10-60d41d0c5c293845598032e51a0d2cb6.png"},2532:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images11-a9349b7ddffabf3d8071f4545641f7db.jpeg"},1560:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images12-2ab1592a45568d991cf485c21a451753.png"},7832:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images13-762ce8795cec77dccf1b303f7d568ef3.png"}}]); \ No newline at end of file diff --git a/assets/js/aea76b71.7aa02f3b.js b/assets/js/aea76b71.7aa02f3b.js new file mode 100644 index 00000000..4804d189 --- /dev/null +++ b/assets/js/aea76b71.7aa02f3b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[1637],{6531:s=>{s.exports=JSON.parse('{"label":"stable-diffusion","permalink":"/SolidUI-Website/blog/tags/stable-diffusion","allTagsPath":"/SolidUI-Website/blog/tags","count":6}')}}]); \ No newline at end of file diff --git a/assets/js/afbbc345.b07c0976.js b/assets/js/afbbc345.b07c0976.js new file mode 100644 index 00000000..b4f80672 --- /dev/null +++ b/assets/js/afbbc345.b07c0976.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[9084],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>h});var o=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,o)}return i}function l(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?r(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):r(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function a(e,t){if(null==e)return{};var i,o,n=function(e,t){if(null==e)return{};var i,o,n={},r=Object.keys(e);for(o=0;o<r.length;o++)i=r[o],t.indexOf(i)>=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o<r.length;o++)i=r[o],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var u=o.createContext({}),s=function(e){var t=o.useContext(u),i=t;return e&&(i="function"==typeof e?e(t):l(l({},t),e)),i},c=function(e){var t=s(e.components);return o.createElement(u.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,r=e.originalType,u=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),p=s(i),d=n,h=p["".concat(u,".").concat(d)]||p[d]||m[d]||r;return i?o.createElement(h,l(l({ref:t},c),{},{components:i})):o.createElement(h,l({ref:t},c))}));function h(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=i.length,l=new Array(r);l[0]=d;var a={};for(var u in t)hasOwnProperty.call(t,u)&&(a[u]=t[u]);a.originalType=e,a[p]="string"==typeof e?e:n,l[1]=a;for(var s=2;s<r;s++)l[s]=i[s];return o.createElement.apply(null,l)}return o.createElement.apply(null,i)}d.displayName="MDXCreateElement"},8440:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>u,contentTitle:()=>l,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>s});var o=i(7462),n=(i(7294),i(3905));const r={title:"Version Update | SolidUI 0.2.0 Release",date:new Date("2023-09-05T00:00:00.000Z"),tags:["SolidUI","AI","stable-diffusion"]},l=void 0,a={permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-Release",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-Release.md",source:"@site/blog/2023-09-05-0.2.0-Release.md",title:"Version Update | SolidUI 0.2.0 Release",description:"Background",date:"2023-09-05T00:00:00.000Z",formattedDate:"September 5, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AI",permalink:"/SolidUI-Website/blog/tags/ai"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:3.02,hasTruncateMarker:!1,authors:[],frontMatter:{title:"Version Update | SolidUI 0.2.0 Release",date:"2023-09-05T00:00:00.000Z",tags:["SolidUI","AI","stable-diffusion"]},nextItem:{title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction"}},u={authorsImageUrls:[]},s=[{value:"Background",id:"background",level:2},{value:"Release Notes",id:"release-notes",level:2},{value:"Features",id:"features",level:3},{value:"Deployment",id:"deployment",level:3},{value:"Documentation",id:"documentation",level:3},{value:"Detailed Guide",id:"detailed-guide",level:2},{value:"Contributors",id:"contributors",level:2},{value:"How to Become a Contributor",id:"how-to-become-a-contributor",level:2}],c={toc:s},p="wrapper";function m(e){let{components:t,...i}=e;return(0,n.kt)(p,(0,o.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"background"},"Background"),(0,n.kt)("p",null,"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation."),(0,n.kt)("p",null,"Project URL: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Project mirror URL: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Community official website: ",(0,n.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,n.kt)("p",null,"Join the group: ",(0,n.kt)("a",{parentName:"p",href:"https://discord.gg/NGRNu2mGeQ"},"https://discord.gg/NGRNu2mGeQ")),(0,n.kt)("h2",{id:"release-notes"},"Release Notes"),(0,n.kt)("h3",{id:"features"},"Features"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Design features, scene and page optimization"),(0,n.kt)("li",{parentName:"ul"},"Project Preview"),(0,n.kt)("li",{parentName:"ul"},"Design features, preview page"),(0,n.kt)("li",{parentName:"ul"},"Support for GPT-like model proxy"),(0,n.kt)("li",{parentName:"ul"},"Support for ChatGLM-like model proxy"),(0,n.kt)("li",{parentName:"ul"},"Support Hugging Face Spaces plugin, provide trial function"),(0,n.kt)("li",{parentName:"ul"},"Support for the ESLint code check tool"),(0,n.kt)("li",{parentName:"ul"},"Design page delete graphic optimization"),(0,n.kt)("li",{parentName:"ul"},"Login page, logout optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for chat window interaction"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, internationalization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, UI optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, overview optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, Blog optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, all documents optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, framework migration")),(0,n.kt)("h3",{id:"deployment"},"Deployment"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Independent deployment related scripts"),(0,n.kt)("li",{parentName:"ul"},"docker-compose")),(0,n.kt)("h3",{id:"documentation"},"Documentation"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"All co-builders list"),(0,n.kt)("li",{parentName:"ul"},"ESLint & Prettier code specifications"),(0,n.kt)("li",{parentName:"ul"},"SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Snakemq communication source code analysis"),(0,n.kt)("li",{parentName:"ul"},"Centos7.9 offline deployment of ChatGLM-6B"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Independent deployment and Docker communication analysis"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Introduction to the official website"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - FAQ problem-solving process"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - General Prompt technique"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Prompt design"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Building a character based on Prompts"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - AI model proxy"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Chain of Thought (CoT) in Prompts"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Prompt self-consistency"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Discord"),(0,n.kt)("li",{parentName:"ul"},"SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction")),(0,n.kt)("h2",{id:"detailed-guide"},"Detailed Guide"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"This version overview: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1"},"https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1")),(0,n.kt)("li",{parentName:"ul"},"Demo environment: ",(0,n.kt)("a",{parentName:"li",href:"http://www.solidui.top/"},"http://www.solidui.top/")),(0,n.kt)("li",{parentName:"ul"},"Quick Start: ",(0,n.kt)("a",{parentName:"li",href:"https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/"},"https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/")),(0,n.kt)("li",{parentName:"ul"},"Tutorial: ",(0,n.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s"},"https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s")),(0,n.kt)("li",{parentName:"ul"},"Welcome users to fill in: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/1"},"https://github.com/CloudOrc/SolidUI/issues/1")),(0,n.kt)("li",{parentName:"ul"},"Join the group: ",(0,n.kt)("a",{parentName:"li",href:"https://discord.gg/NGRNu2mGeQ"},"https://discord.gg/NGRNu2mGeQ"))),(0,n.kt)("h2",{id:"contributors"},"Contributors"),(0,n.kt)("p",null,"The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"dlimeng"),(0,n.kt)("li",{parentName:"ul"},"nutsjian"),(0,n.kt)("li",{parentName:"ul"},"jacktao007"),(0,n.kt)("li",{parentName:"ul"},"15100399015"),(0,n.kt)("li",{parentName:"ul"},"ziyu211"),(0,n.kt)("li",{parentName:"ul"},"limingoo"),(0,n.kt)("li",{parentName:"ul"},"hgfdsa101")),(0,n.kt)("h2",{id:"how-to-become-a-contributor"},"How to Become a Contributor"),(0,n.kt)("p",null,"Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("p",null,"Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("p",null,"Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("p",null,"Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;"),(0,n.kt)("p",null,"Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b086f4ef.8d635984.js b/assets/js/b086f4ef.8d635984.js new file mode 100644 index 00000000..64a95547 --- /dev/null +++ b/assets/js/b086f4ef.8d635984.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[627],{3905:(e,t,r)=>{r.d(t,{Zo:()=>p,kt:()=>b});var o=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,o)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},i=Object.keys(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var a=o.createContext({}),c=function(e){var t=o.useContext(a),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},p=function(e){var t=c(e.components);return o.createElement(a.Provider,{value:t},e.children)},m="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,a=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),m=c(r),d=n,b=m["".concat(a,".").concat(d)]||m[d]||u[d]||i;return r?o.createElement(b,l(l({ref:t},p),{},{components:r})):o.createElement(b,l({ref:t},p))}));function b(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,l=new Array(i);l[0]=d;var s={};for(var a in t)hasOwnProperty.call(t,a)&&(s[a]=t[a]);s.originalType=e,s[m]="string"==typeof e?e:n,l[1]=s;for(var c=2;c<i;c++)l[c]=r[c];return o.createElement.apply(null,l)}return o.createElement.apply(null,r)}d.displayName="MDXCreateElement"},2946:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>s,toc:()=>c});var o=r(7462),n=(r(7294),r(3905));const i={id:"development-construction",title:"Co-Construction Process",sidebar_position:5},l="SolidUI project co-construction process",s={unversionedId:"development/development-construction",id:"development/development-construction",title:"Co-Construction Process",description:"Process list",source:"@site/docs/development/project-process.md",sourceDirName:"development",slug:"/development/development-construction",permalink:"/SolidUI-Website/docs/development/development-construction",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/development/project-process.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{id:"development-construction",title:"Co-Construction Process",sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"Front-End Compilation",permalink:"/SolidUI-Website/docs/development/development-front"},next:{title:"Project Release Process",permalink:"/SolidUI-Website/docs/development/development-release"}},a={},c=[{value:"Process list",id:"process-list",level:2}],p={toc:c},m="wrapper";function u(e){let{components:t,...r}=e;return(0,n.kt)(m,(0,o.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"solidui-project-co-construction-process"},"SolidUI project co-construction process"),(0,n.kt)("h2",{id:"process-list"},"Process list"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"Create issues -- Contributors (lead version)"),(0,n.kt)("li",{parentName:"ol"},"Submit PR -- Contributor (lead version)"),(0,n.kt)("li",{parentName:"ol"},"code review -- PMC member"),(0,n.kt)("li",{parentName:"ol"},"PR merge -- PMC member"),(0,n.kt)("li",{parentName:"ol"},"PR commit to the master branch -- Contributor (master version)"),(0,n.kt)("li",{parentName:"ol"},"Submit relevant documents to SolidUI-Website (installation and deployment documents, user usage documents, architecture design documents) Submit PR -- Contributor (lead version)"),(0,n.kt)("li",{parentName:"ol"},"SolidUI-Website code review -- PMC member"),(0,n.kt)("li",{parentName:"ol"},"SolidUI-Website PR merge -- PMC member"),(0,n.kt)("li",{parentName:"ol"},"SolidUI-Website PR commit to the master branch -- Contributor (lead version)"),(0,n.kt)("li",{parentName:"ol"},"Package & Install deployment tests based on the master branch -- Contributors (lead version)/testers"),(0,n.kt)("li",{parentName:"ol"},"Invite community users for private testing -- operators /PMC members"),(0,n.kt)("li",{parentName:"ol"},"Prepare to Release Notes -- Contributor (lead version)"),(0,n.kt)("li",{parentName:"ol"},"Official release -- Contributor (lead release)"),(0,n.kt)("li",{parentName:"ol"},"Prepare advertorials -- Contributors (lead version)"),(0,n.kt)("li",{parentName:"ol"},"Release publicity on the public account -- operator /PMC member"),(0,n.kt)("li",{parentName:"ol"},"MeetUp promotional version features -- operator /PMC member")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b1bdda4d.a5244e41.js b/assets/js/b1bdda4d.a5244e41.js new file mode 100644 index 00000000..aa4724b7 --- /dev/null +++ b/assets/js/b1bdda4d.a5244e41.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3884],{5745:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/b5f0312c.b8cbb87b.js b/assets/js/b5f0312c.b8cbb87b.js new file mode 100644 index 00000000..251f93c4 --- /dev/null +++ b/assets/js/b5f0312c.b8cbb87b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5722],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>h});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(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;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function l(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var a=r.createContext({}),d=function(e){var t=r.useContext(a),n=t;return e&&(n="function"==typeof e?e(t):s(s({},t),e)),n},p=function(e){var t=d(e.components);return r.createElement(a.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,a=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),c=d(n),m=o,h=c["".concat(a,".").concat(m)]||c[m]||u[m]||i;return n?r.createElement(h,s(s({ref:t},p),{},{components:n})):r.createElement(h,s({ref:t},p))}));function h(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,s=new Array(i);s[0]=m;var l={};for(var a in t)hasOwnProperty.call(t,a)&&(l[a]=t[a]);l.originalType=e,l[c]="string"==typeof e?e:o,s[1]=l;for(var d=2;d<i;d++)s[d]=n[d];return r.createElement.apply(null,s)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},4809:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>s,default:()=>u,frontMatter:()=>i,metadata:()=>l,toc:()=>d});var r=n(7462),o=(n(7294),n(3905));const i={id:"deployment-kubernetes",title:"Kubernetes Deployment",sidebar_position:4},s="SolidUI Kubernetes deployment",l={unversionedId:"deployment/deployment-kubernetes",id:"deployment/deployment-kubernetes",title:"Kubernetes Deployment",description:"1. Environment preparation",source:"@site/docs/deployment/deplpyment-kubernetes.md",sourceDirName:"deployment",slug:"/deployment/deployment-kubernetes",permalink:"/SolidUI-Website/docs/deployment/deployment-kubernetes",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/deployment/deplpyment-kubernetes.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{id:"deployment-kubernetes",title:"Kubernetes Deployment",sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Deployed Standalone",permalink:"/SolidUI-Website/docs/deployment/deployment-standalone"},next:{title:"Community Operation",permalink:"/SolidUI-Website/docs/operational/community-operation/"}},a={},d=[{value:"1. Environment preparation",id:"1-environment-preparation",level:2},{value:"Software Environment",id:"software-environment",level:3},{value:"Operating System",id:"operating-system",level:3},{value:"Hardware Environment",id:"hardware-environment",level:3},{value:"2.Start Helme (recommended)",id:"2start-helme-recommended",level:2},{value:"2.1 Download source code",id:"21-download-source-code",level:3},{value:"2.2 Start the service with Helm",id:"22-start-the-service-with-helm",level:3},{value:"2.3 View the service status and ingress port",id:"23-view-the-service-status-and-ingress-port",level:3},{value:"2.4 Accessing Services",id:"24-accessing-services",level:3}],p={toc:d},c="wrapper";function u(e){let{components:t,...n}=e;return(0,o.kt)(c,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"solidui-kubernetes-deployment"},"SolidUI Kubernetes deployment"),(0,o.kt)("h2",{id:"1-environment-preparation"},"1. Environment preparation"),(0,o.kt)("h3",{id:"software-environment"},"Software Environment"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://docs.docker.com/engine/install/"},"Docker")," 1.13.1+ ",(0,o.kt)("a",{parentName:"p",href:"https://kubernetes.io/"},"Kubernetes")," 1.19.0+ ",(0,o.kt)("a",{parentName:"p",href:"https://helm.sh/"},"Helm")," 3.4.x+ ",(0,o.kt)("a",{parentName:"p",href:"https://kubernetes.github.io/ingress-nginx/"},"ingress")," 1.3.0+"),(0,o.kt)("h3",{id:"operating-system"},"Operating System"),(0,o.kt)("p",null,"Centos 7+, Ubuntu 20.04"),(0,o.kt)("h3",{id:"hardware-environment"},"Hardware Environment"),(0,o.kt)("p",null,"CPU 8core+\uff0cMemory 16G+ "),(0,o.kt)("h2",{id:"2start-helme-recommended"},"2.Start Helme (recommended)"),(0,o.kt)("p",null,"In this way, you need to install the Helm first. There are a lot of information on the installation website of the Helm, please install it by yourself."),(0,o.kt)("h3",{id:"21-download-source-code"},"2.1 Download source code"),(0,o.kt)("p",null,"Download the source code of ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")," for items in the github."),(0,o.kt)("h3",{id:"22-start-the-service-with-helm"},"2.2 Start the service with Helm"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"# Enter the server (take Centos7 as an example)\n\ncd SolidUI/deploy/kubernetes/helm-solidui\n\nhelm install solidui ./\n")),(0,o.kt)("h3",{id:"23-view-the-service-status-and-ingress-port"},"2.3 View the service status and ingress port"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"//View pod status\nkubectl get pods -n solidui\n//View the ingress port\nkubectl get svc -A |grep ingress-nginx-controller\n//If you do not use ingress access, you can access it through the port-forward forwarding port\nkubectl port-forward svc/solidui-web 80:8099 --address 0.0.0.0 -n solidui\n")),(0,o.kt)("h3",{id:"24-accessing-services"},"2.4 Accessing Services"),(0,o.kt)("p",null,"Access link http://ingress-ip-address:ingress-port"),(0,o.kt)("p",null,"Default username and password: admin/admin"))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b6f5f78e.5f7f00f1.js b/assets/js/b6f5f78e.5f7f00f1.js new file mode 100644 index 00000000..9beef287 --- /dev/null +++ b/assets/js/b6f5f78e.5f7f00f1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4069],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>f});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var d=o.createContext({}),c=function(e){var t=o.useContext(d),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},s=function(e){var t=c(e.components);return o.createElement(d.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,d=e.parentName,s=a(e,["components","mdxType","originalType","parentName"]),p=c(n),m=r,f=p["".concat(d,".").concat(m)]||p[m]||u[m]||i;return n?o.createElement(f,l(l({ref:t},s),{},{components:n})):o.createElement(f,l({ref:t},s))}));function f(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,l=new Array(i);l[0]=m;var a={};for(var d in t)hasOwnProperty.call(t,d)&&(a[d]=t[d]);a.originalType=e,a[p]="string"==typeof e?e:r,l[1]=a;for(var c=2;c<i;c++)l[c]=n[c];return o.createElement.apply(null,l)}return o.createElement.apply(null,n)}m.displayName="MDXCreateElement"},904:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var o=n(7462),r=(n(7294),n(3905));const i={id:"development-front",title:"Front-End Compilation",sidebar_position:4},l="SolidUI front-end compilation",a={unversionedId:"development/development-front",id:"development/development-front",title:"Front-End Compilation",description:"1. Preconditions",source:"@site/docs/development/frontend-document.md",sourceDirName:"development",slug:"/development/development-front",permalink:"/SolidUI-Website/docs/development/development-front",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/development/frontend-document.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{id:"development-front",title:"Front-End Compilation",sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"Development Contribution",permalink:"/SolidUI-Website/docs/development/develop-contributing"},next:{title:"Co-Construction Process",permalink:"/SolidUI-Website/docs/development/development-construction"}},d={},c=[{value:"1. Preconditions",id:"1-preconditions",level:2},{value:"1.1 Install Node.js",id:"11-install-nodejs",level:3},{value:"1.2 Source code acquisition",id:"12-source-code-acquisition",level:3},{value:"2. Compile",id:"2-compile",level:2},{value:"2.1 Install npm dependencies",id:"21-install-npm-dependencies",level:3},{value:"2.2. Package project",id:"22-package-project",level:3}],s={toc:c},p="wrapper";function u(e){let{components:t,...n}=e;return(0,r.kt)(p,(0,o.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"solidui-front-end-compilation"},"SolidUI front-end compilation"),(0,r.kt)("h2",{id:"1-preconditions"},"1. Preconditions"),(0,r.kt)("h3",{id:"11-install-nodejs"},"1.1 Install Node.js"),(0,r.kt)("p",null,"This step is only required for the first use, if you already have a node environment, you can skip it"),(0,r.kt)("p",null,"Download Node.js locally and install it. Download address: ",(0,r.kt)("a",{parentName:"p",href:"http://nodejs.cn/download/"},"http://nodejs.cn/download/")," (It is recommended to use node v16 version)"),(0,r.kt)("h3",{id:"12-source-code-acquisition"},"1.2 Source code acquisition"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Method 1: Obtain the source code of the project from the github repository ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI"),".")),(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("p",{parentName:"li"},"Method 2: Download and download the source package of the required version from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/releases"},"https://github.com/CloudOrc/SolidUI/releases"),"."))),(0,r.kt)("h2",{id:"2-compile"},"2. Compile"),(0,r.kt)("h3",{id:"21-install-npm-dependencies"},"2.1 Install npm dependencies"),(0,r.kt)("p",null,"Execute the following command on the terminal command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"#Enter the project WEB root directory\ncd solidui-x.x.x/solidui-web\n#Install the dependencies required by the project\nnpm install --legacy-peer-deps\n")),(0,r.kt)("p",null,"This step is only required for the first use."),(0,r.kt)("h3",{id:"22-package-project"},"2.2. Package project"),(0,r.kt)("p",null,"Execute the following command on the terminal command line:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"npm run build\n")),(0,r.kt)("p",null,"After the above command is executed successfully, the installation package dist of the front-end management console will be generated. You can directly put this folder into your static server, or refer to the installation documentation to use scripts for deployment and installation."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b774a57d.01db1e2b.js b/assets/js/b774a57d.01db1e2b.js new file mode 100644 index 00000000..04b51fa1 --- /dev/null +++ b/assets/js/b774a57d.01db1e2b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[1301],{8341:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/blog/tags/solid-ui/page/2","page":2,"postsPerPage":3,"totalPages":2,"totalCount":6,"previousPage":"/SolidUI-Website/blog/tags/solid-ui","blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/c0b1c6d1.d446ab76.js b/assets/js/c0b1c6d1.d446ab76.js new file mode 100644 index 00000000..4c77be2a --- /dev/null +++ b/assets/js/c0b1c6d1.d446ab76.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8807],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var n=r(7294);function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function a(e,t){if(null==e)return{};var r,n,s=function(e,t){if(null==e)return{};var r,n,s={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(s[r]=e[r]);return s}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r])}return s}var l=n.createContext({}),c=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},u=function(e){var t=c(e.components);return n.createElement(l.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,s=e.mdxType,o=e.originalType,l=e.parentName,u=a(e,["components","mdxType","originalType","parentName"]),p=c(r),d=s,m=p["".concat(l,".").concat(d)]||p[d]||f[d]||o;return r?n.createElement(m,i(i({ref:t},u),{},{components:r})):n.createElement(m,i({ref:t},u))}));function m(e,t){var r=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var o=r.length,i=new Array(o);i[0]=d;var a={};for(var l in t)hasOwnProperty.call(t,l)&&(a[l]=t[l]);a.originalType=e,a[p]="string"==typeof e?e:s,i[1]=a;for(var c=2;c<o;c++)i[c]=r[c];return n.createElement.apply(null,i)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},4824:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>f,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var n=r(7462),s=(r(7294),r(3905));const o={id:"faq",title:"FAQ",sidebar_position:1},i="Frequently Asked Questions",a={unversionedId:"faq/faq/faq",id:"faq/faq/faq",title:"FAQ",description:"Question answering process",source:"@site/docs/faq/faq/faq.md",sourceDirName:"faq/faq",slug:"/faq/faq/",permalink:"/SolidUI-Website/docs/faq/faq/",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/faq/faq/faq.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"faq",title:"FAQ",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Test Case",permalink:"/SolidUI-Website/docs/test/test-case/"}},l={},c=[{value:"Question answering process",id:"question-answering-process",level:2},{value:"epilogue",id:"epilogue",level:2}],u={toc:c},p="wrapper";function f(e){let{components:t,...r}=e;return(0,s.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,s.kt)("h1",{id:"frequently-asked-questions"},"Frequently Asked Questions"),(0,s.kt)("h2",{id:"question-answering-process"},"Question answering process"),(0,s.kt)("p",null,"First of all, users should refer to the official account and SolidUI official website for relevant information. These two platforms may already contain the answers or related solutions that users need. This step can effectively save the user's time and reduce the work pressure of the development team.\nCommunity official website: ",(0,s.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,s.kt)("p",null,"However, if this step does not meet the user's needs, we enter the second stage: let the user submit an issue. At this stage, users can clearly describe the problems or requirements they encounter, and submit them to the project's issue tracking system. This not only helps the development team better understand the problem, but also serves as a reference for other users who encounter the same problem.\nIssue address: ",(0,s.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues"},"https://github.com/CloudOrc/SolidUI/issues")),(0,s.kt)("h2",{id:"epilogue"},"epilogue"),(0,s.kt)("p",null,"Overall, this Q&A process is an approach aimed at increasing efficiency and transparency. Not only does it help users find answers, but it also helps project teams better manage and track issues. Users can solve problems by themselves through official accounts and official website information; and through issue submission, users and the development team can communicate better and jointly promote the progress of the project."))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c247501b.d51606fa.js b/assets/js/c247501b.d51606fa.js new file mode 100644 index 00000000..88b9c04e --- /dev/null +++ b/assets/js/c247501b.d51606fa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[527],{3905:(e,t,r)=>{r.d(t,{Zo:()=>d,kt:()=>v});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),c=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},d=function(e){var t=c(e.components);return n.createElement(s.Provider,{value:t},e.children)},h="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,d=i(e,["components","mdxType","originalType","parentName"]),h=c(r),u=o,v=h["".concat(s,".").concat(u)]||h[u]||p[u]||a;return r?n.createElement(v,l(l({ref:t},d),{},{components:r})):n.createElement(v,l({ref:t},d))}));function v(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,l=new Array(a);l[0]=u;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[h]="string"==typeof e?e:o,l[1]=i;for(var c=2;c<a;c++)l[c]=r[c];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}u.displayName="MDXCreateElement"},3446:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>l,default:()=>p,frontMatter:()=>a,metadata:()=>i,toc:()=>c});var n=r(7462),o=(r(7294),r(3905));const a={id:"development-release",title:"Project Release Process",sidebar_position:6},l=void 0,i={unversionedId:"development/development-release",id:"development/development-release",title:"Project Release Process",description:"SolidUI project release process",source:"@site/docs/development/publishing-process.md",sourceDirName:"development",slug:"/development/development-release",permalink:"/SolidUI-Website/docs/development/development-release",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/development/publishing-process.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{id:"development-release",title:"Project Release Process",sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"Co-Construction Process",permalink:"/SolidUI-Website/docs/development/development-construction"},next:{title:"Server-side Compilation",permalink:"/SolidUI-Website/docs/development/development-server"}},s={},c=[{value:"SolidUI project release process",id:"solidui-project-release-process",level:2},{value:"Authorization",id:"authorization",level:2},{value:"Materials pack",id:"materials-pack",level:2},{value:"branch",id:"branch",level:3},{value:"Create a release-${release_version}-rcx branch based on the development branch to be released",id:"create-a-release-release_version-rcx-branch-based-on-the-development-branch-to-be-released",level:3},{value:"tag",id:"tag",level:3},{value:"clone the corresponding release branches locally",id:"clone-the-corresponding-release-branches-locally",level:3},{value:"The version number is confirmed",id:"the-version-number-is-confirmed",level:2},{value:"Verify material package",id:"verify-material-package",level:2},{value:"Initiate a vote",id:"initiate-a-vote",level:2},{value:"Community voting phase",id:"community-voting-phase",level:3},{value:"Close the voting thread",id:"close-the-voting-thread",level:3},{value:"Cancel the vote (if necessary)",id:"cancel-the-vote-if-necessary",level:3},{value:"Announce the results of the vote",id:"announce-the-results-of-the-vote",level:3},{value:"Official release",id:"official-release",level:2},{value:"GitHub version created",id:"github-version-created",level:3}],d={toc:c},h="wrapper";function p(e){let{components:t,...r}=e;return(0,o.kt)(h,(0,n.Z)({},d,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"solidui-project-release-process"},"SolidUI project release process"),(0,o.kt)("h2",{id:"authorization"},"Authorization"),(0,o.kt)("p",null,"Now it is the PMC member who initiates the release process and has the release rights."),(0,o.kt)("h2",{id:"materials-pack"},"Materials pack"),(0,o.kt)("h3",{id:"branch"},"branch"),(0,o.kt)("p",null,"Pull the new branch from the release branch as the release branch. If you want to release ${release_version}, pull the new branch release-${release_version}-${condition_version} from the release branch, All operations thereafter occur on the release-${release_version}-${condition_version} branch."),(0,o.kt)("h3",{id:"create-a-release-release_version-rcx-branch-based-on-the-development-branch-to-be-released"},"Create a release-${release_version}-rcx branch based on the development branch to be released"),(0,o.kt)("p",null,"If the currently developed source branch is dev-0.1.0, and you need to release version 0.1.0, create a branch: release-0.1.0-rc1"),(0,o.kt)("h3",{id:"tag"},"tag"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},'git tag -a release-0.1.0-rc1 -m "release 0.1.0-rc1"\ngit push origin release-0.1.0-rc1\n')),(0,o.kt)("h3",{id:"clone-the-corresponding-release-branches-locally"},"clone the corresponding release branches locally"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"#-b release-0.1.0-rc1 Specifies the clone branch -c(config) specifies the configuration core to use. Lf =false turns off the newline conversion\nGit clone - release - 0.1.0 from b - rc1 - c core. Autocrlf = false git@github.com: CloudOrc/SolidUI git\n")),(0,o.kt)("h2",{id:"the-version-number-is-confirmed"},"The version number is confirmed"),(0,o.kt)("h2",{id:"verify-material-package"},"Verify material package"),(0,o.kt)("p",null,"It is best to verify the prepared materials on both Windows and UNIx-like systems to avoid system compatibility issues such as line breaks"),(0,o.kt)("h2",{id:"initiate-a-vote"},"Initiate a vote"),(0,o.kt)("h3",{id:"community-voting-phase"},"Community voting phase"),(0,o.kt)("p",null,"When an issue initiates a vote, the PMC needs to check whether the version is correct according to the document before voting. At least 3 +1 PMC member votes can be counted before the voting is closed."),(0,o.kt)("h3",{id:"close-the-voting-thread"},"Close the voting thread"),(0,o.kt)("p",null,"If the required number of votes has been reached and you need to reply to the voting email before collecting the results, the voting thread is closed."),(0,o.kt)("h3",{id:"cancel-the-vote-if-necessary"},"Cancel the vote (if necessary)"),(0,o.kt)("p",null,"If there are some serious problems that need to be repaired and re-released, the voting needs to be cancelled. The release manager needs to start a new issue of voting cancellation and explain it."),(0,o.kt)("h3",{id:"announce-the-results-of-the-vote"},"Announce the results of the vote"),(0,o.kt)("p",null,"issue the results"),(0,o.kt)("h2",{id:"official-release"},"Official release"),(0,o.kt)("h3",{id:"github-version-created"},"GitHub version created"),(0,o.kt)("p",null,"To create the page ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/releases/new"},"https://github.com/CloudOrc/SolidUI/releases/new")," based on previous SolidUI 0.1.0 from - rc1 branch created called 0.1.0 from the tag, Fill in the title SolidUI release-0.1.0 and write release notes for that version"),(0,o.kt)("p",null,"check"),(0,o.kt)("p",null,"Merge ${release_version}-RC branch to master branch (if not merged)"))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c5a490c3.7bcdf5a4.js b/assets/js/c5a490c3.7bcdf5a4.js new file mode 100644 index 00000000..68de13ee --- /dev/null +++ b/assets/js/c5a490c3.7bcdf5a4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8445],{3905:(e,t,o)=>{o.d(t,{Zo:()=>p,kt:()=>y});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function i(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?a(Object(o),!0).forEach((function(t){n(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):a(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function l(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o,r,n={},a=Object.keys(e);for(r=0;r<a.length;r++)o=a[r],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)o=a[r],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var d=r.createContext({}),s=function(e){var t=r.useContext(d),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},p=function(e){var t=s(e.components);return r.createElement(d.Provider,{value:t},e.children)},c="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},u=r.forwardRef((function(e,t){var o=e.components,n=e.mdxType,a=e.originalType,d=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),c=s(o),u=n,y=c["".concat(d,".").concat(u)]||c[u]||m[u]||a;return o?r.createElement(y,i(i({ref:t},p),{},{components:o})):r.createElement(y,i({ref:t},p))}));function y(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var a=o.length,i=new Array(a);i[0]=u;var l={};for(var d in t)hasOwnProperty.call(t,d)&&(l[d]=t[d]);l.originalType=e,l[c]="string"==typeof e?e:n,i[1]=l;for(var s=2;s<a;s++)i[s]=o[s];return r.createElement.apply(null,i)}return r.createElement.apply(null,o)}u.displayName="MDXCreateElement"},8599:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>d,contentTitle:()=>i,default:()=>m,frontMatter:()=>a,metadata:()=>l,toc:()=>s});var r=o(7462),n=(o(7294),o(3905));const a={id:"deployment-docker",title:"Docker-Compose Deployment",sidebar_position:2},i="SolidUI Docker-Compose deployment",l={unversionedId:"deployment/deployment-docker",id:"deployment/deployment-docker",title:"Docker-Compose Deployment",description:"1. Environment preparation",source:"@site/docs/deployment/deployment-docker.md",sourceDirName:"deployment",slug:"/deployment/deployment-docker",permalink:"/SolidUI-Website/docs/deployment/deployment-docker",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/deployment/deployment-docker.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"deployment-docker",title:"Docker-Compose Deployment",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Front-End Deployment",permalink:"/SolidUI-Website/docs/deployment/deployment-web"},next:{title:"Deployed Standalone",permalink:"/SolidUI-Website/docs/deployment/deployment-standalone"}},d={},s=[{value:"1. Environment preparation",id:"1-environment-preparation",level:2},{value:"2. Start docker-compose (recommended)",id:"2-start-docker-compose-recommended",level:2},{value:"2.1 Download deployment package or source code",id:"21-download-deployment-package-or-source-code",level:3},{value:"2.2 Pull the image and start the service",id:"22-pull-the-image-and-start-the-service",level:3},{value:"2.3 Modify the database table information, modify the table solidui_model_type, token and baseurl fields (supported after version 0.2.0)",id:"23-modify-the-database-table-information-modify-the-table-solidui_model_type-token-and-baseurl-fields-supported-after-version-020",level:3},{value:"2.4 Accessing Services",id:"24-accessing-services",level:3}],p={toc:s},c="wrapper";function m(e){let{components:t,...o}=e;return(0,n.kt)(c,(0,r.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"solidui-docker-compose-deployment"},"SolidUI Docker-Compose deployment"),(0,n.kt)("h2",{id:"1-environment-preparation"},"1. Environment preparation"),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://docs.docker.com/engine/install/"},"Docker")," 1.13.1+\n",(0,n.kt)("a",{parentName:"p",href:"https://docs.docker.com/compose/"},"Docker Compose")," 1.11.0+"),(0,n.kt)("h2",{id:"2-start-docker-compose-recommended"},"2. Start docker-compose (recommended)"),(0,n.kt)("p",null,"This method needs to install docker-compose first, there are already a lot of information on the installation of docker-compose on the Internet, please install it yourself"),(0,n.kt)("h3",{id:"21-download-deployment-package-or-source-code"},"2.1 Download deployment package or source code"),(0,n.kt)("p",null,"Download at ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/releases"},"https://github.com/CloudOrc/SolidUI/releases")),(0,n.kt)("p",null,"Please download the source package solidui-x.x.x-bin.tar.gz"),(0,n.kt)("h3",{id:"22-pull-the-image-and-start-the-service"},"2.2 Pull the image and start the service"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"# Enter the server (take Centos7 as an example)\ntar -zxvf solidui-x.x.x-bin.tar.gz\n\ncd solidui-x.x.x-bin/docker/\n\ndocker-compose up -d\n\n")),(0,n.kt)("h3",{id:"23-modify-the-database-table-information-modify-the-table-solidui_model_type-token-and-baseurl-fields-supported-after-version-020"},"2.3 Modify the database table information, modify the table solidui_model_type, token and baseurl fields (supported after version 0.2.0)"),(0,n.kt)("p",null,"token is the model API token"),(0,n.kt)("p",null,"baseurl is the base address of the model API, for example: ",(0,n.kt)("a",{parentName:"p",href:"https://api.openai.com"},"https://api.openai.com")," (this is the address of openai abroad), ",(0,n.kt)("a",{parentName:"p",href:"https://api.chatanywhere.com.cn"},"https://api.chatanywhere.com.cn")," (the address of openai's domestic agent), http://ip: port (chatGLM address)"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"# Enter the mysql created by Docker-Compose\nmysql -h ip -u root -p\nuse solidui;\nupdate solidui_model_type set token = '' , baseurl='' where id = 'id';\n\n")),(0,n.kt)("h3",{id:"24-accessing-services"},"2.4 Accessing Services"),(0,n.kt)("p",null,"Access link http://localhost:8099"),(0,n.kt)("p",null,"Default username and password: admin/adm"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/c7491b26.98416a17.js b/assets/js/c7491b26.98416a17.js new file mode 100644 index 00000000..ce2861e4 --- /dev/null +++ b/assets/js/c7491b26.98416a17.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5412],{3905:(e,t,l)=>{l.d(t,{Zo:()=>c,kt:()=>k});var i=l(7294);function n(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function o(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,i)}return l}function r(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?o(Object(l),!0).forEach((function(t){n(e,t,l[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):o(Object(l)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))}))}return e}function a(e,t){if(null==e)return{};var l,i,n=function(e,t){if(null==e)return{};var l,i,n={},o=Object.keys(e);for(i=0;i<o.length;i++)l=o[i],t.indexOf(l)>=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)l=o[i],t.indexOf(l)>=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var u=i.createContext({}),s=function(e){var t=i.useContext(u),l=t;return e&&(l="function"==typeof e?e(t):r(r({},t),e)),l},c=function(e){var t=s(e.components);return i.createElement(u.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var l=e.components,n=e.mdxType,o=e.originalType,u=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),d=s(l),m=n,k=d["".concat(u,".").concat(m)]||d[m]||p[m]||o;return l?i.createElement(k,r(r({ref:t},c),{},{components:l})):i.createElement(k,r({ref:t},c))}));function k(e,t){var l=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=l.length,r=new Array(o);r[0]=m;var a={};for(var u in t)hasOwnProperty.call(t,u)&&(a[u]=t[u]);a.originalType=e,a[d]="string"==typeof e?e:n,r[1]=a;for(var s=2;s<o;s++)r[s]=l[s];return i.createElement.apply(null,r)}return i.createElement.apply(null,l)}m.displayName="MDXCreateElement"},3179:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>u,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>s});var i=l(7462),n=(l(7294),l(3905));const o={title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",date:new Date("2023-07-03T00:00:00.000Z"),tags:["SolidUI","AIGC","stable-diffusion"]},r=void 0,a={permalink:"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-03-independent-deployment-communication-analysis.md",source:"@site/blog/2023-07-03-independent-deployment-communication-analysis.md",title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",description:"\u80cc\u666f",date:"2023-07-03T00:00:00.000Z",formattedDate:"July 3, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AIGC",permalink:"/SolidUI-Website/blog/tags/aigc"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:3.635,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",date:"2023-07-03T00:00:00.000Z",tags:["SolidUI","AIGC","stable-diffusion"]},prevItem:{title:"SolidUI Community - Official Website Introduction",permalink:"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction"},nextItem:{title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",permalink:"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis"}},u={authorsImageUrls:[]},s=[{value:"\u80cc\u666f",id:"\u80cc\u666f",level:2},{value:"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1",id:"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1",level:2},{value:"\u4f8b\u5982",id:"\u4f8b\u5982",level:3},{value:"Docker \u90e8\u7f72\u901a\u4fe1",id:"docker-\u90e8\u7f72\u901a\u4fe1",level:2},{value:"\u4f8b\u5982",id:"\u4f8b\u5982-1",level:3},{value:"\u7ed3\u8bed",id:"\u7ed3\u8bed",level:2},{value:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",level:2}],c={toc:s},d="wrapper";function p(e){let{components:t,...l}=e;return(0,n.kt)(d,(0,i.Z)({},c,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"\u80cc\u666f"},"\u80cc\u666f"),(0,n.kt)("p",null,"\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002"),(0,n.kt)("p",null,"\u9879\u76ee\u5730\u5740: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"\u9879\u76ee\u955c\u50cf\u5730\u5740: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("h2",{id:"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1"},"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1"),(0,n.kt)("p",null,"\u5355\u72ec\u90e8\u7f72\uff0c\u4e0e\u5916\u7f51\u901a\u4fe1\uff0c\u8fd9\u5757\u4e0d\u96be\u53ea\u6709\u76f8\u5e94\u516c\u7f51\uff0c\u5c31\u53ef\u4ee5\u6b63\u5e38\u8bbf\u95ee\u3002"),(0,n.kt)("p",null,"\u5355\u72ec\u90e8\u7f72\uff0c\u5185\u90e8\u8fdb\u7a0b\u95f4\u901a\u4fe1\uff0c\u5982\u679c\u6709\u591a\u4e2a\u7f51\u5361\uff0cip addr \u6d89\u53ca\u591a\u4e2aip \uff0c\u9700\u8981\u8bbe\u7f6e\u5185\u7f51ip \u6216\u8005\u57df\u540d \uff0c\u53bb\u4e00\u4e00\u5bf9\u5e94\u3002"),(0,n.kt)("h3",{id:"\u4f8b\u5982"},"\u4f8b\u5982"),(0,n.kt)("p",null,"\u5982\u679c\u6709\u591a\u4e2a\u7f51\u5361\uff0cip addr \u6d89\u53ca\u591a\u4e2aip \uff0c\u9700\u8981\u8bbe\u7f6e\u5185\u7f51ip \u6216\u8005\u57df\u540d \uff0c\u53bb\u4e00\u4e00\u5bf9\u5e94\uff0c\u6ca1\u6709\u7684\u8bdd\u7528127.0.0.1 \u5c31\u53ef\u4ee5\u3002"),(0,n.kt)("p",null,"\u8bbe\u7f6e Snakemq \u901a\u4fe1"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-plain"},"soliduimodelui/.env SNAKEMQ_LISTENER server \u76d1\u542c\u5668 \uff0c\u8bbe\u7f6e\u5185\u7f51ip\nsoliduimodelui/.env SNAKEMQ_CONNECTOR \u4e0eserver \u8fde\u63a5ip \uff0c\u8bbe\u7f6e\u5185\u7f51ip\n")),(0,n.kt)("h2",{id:"docker-\u90e8\u7f72\u901a\u4fe1"},"Docker \u90e8\u7f72\u901a\u4fe1"),(0,n.kt)("p",null,"\u5bb9\u5668\u5316\u90e8\u7f72\uff0c\u5728\u6b64\u6211\u7b80\u5316\u63cf\u8ff0\uff0c\u4e0d\u5e26\u5bb9\u5668\u7ba1\u7406\u6846\u67b6\u63cf\u8ff0\uff0c\u56e0\u4e3a\u901a\u4fe1\u6700\u6839\u672c\u7684\u660e\u767d\u540e\uff0c\u5176\u5b83\u5728\u6846\u67b6\u4e2d\u4e5f\u5c31\u660e\u767d\u4e86\uff0c\u5916\u90e8\u901a\u4fe1\uff0c\u5f00\u653e\u7aef\u53e3 \uff0c\u5185\u90e8\u901a\u4fe1\uff0c\u901a\u8fc7\u8bbe\u7f6e\u7f51\u6bb5\u540d\u79f0\uff0c\u4e0d\u540c\u5bb9\u5668\u901a\u4fe1\uff0c\u901a\u8fc7\u5bb9\u5668\u540d\u79f0\u8fdb\u884c\u3002"),(0,n.kt)("h3",{id:"\u4f8b\u5982-1"},"\u4f8b\u5982"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"\u6570\u636e\u5e93\u8fde\u63a5")),(0,n.kt)("p",null,"\u5728docker-compose.yml \u4e2d\uff0c\u8bbe\u7f6e\u4e86Mysql\u6570\u636e\u5e93\u540d\u79f0\u4e3amysql "),(0,n.kt)("p",null,"\u6240\u4ee5solidui-entrance application.yaml \u4e2d datasource.url mysql \u66ff\u6362 localhost"),(0,n.kt)("p",null,"soliduimodelui/.env DB_HOST mysql \u66ff\u6362 localhost "),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"soliduimodelui/.env Snakemq \u901a\u4fe1")),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-plain"},"soliduimodelui/.env SNAKEMQ_LISTENER server \u76d1\u542c\u5668 \uff0c\u8bbe\u7f6e0.0.0.0\nsoliduimodelui/.env SNAKEMQ_CONNECTOR \u4e0eserver \u8fde\u63a5ip \uff0c\u8bbe\u7f6esoliduimodelui\n")),(0,n.kt)("h2",{id:"\u7ed3\u8bed"},"\u7ed3\u8bed"),(0,n.kt)("p",null,"\u672c\u6587\u901a\u8fc7\u8bb2\u89e3\u72ec\u7acb\u90e8\u7f72 \u548c Docker \u901a\u4fe1\u5206\u6790 \uff0c\u544a\u8bc9\u90e8\u7f72\u8bbe\u7f6eip\u65f6\u5019\u65b9\u5f0f\uff0c\u4e0d\u662f\u76f2\u76ee\u8bbe\u7f6elocalhost\u5c31\u80fd\u89e3\u51b3\uff0c\u4e3a\u5927\u5bb6\u540e\u7eed\u66f4\u597d\u5171\u5efaSolidUI\u63d0\u4f9b\u601d\u8def\u3002"),(0,n.kt)("h2",{id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"},"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u5b98\u65b9\u6587\u6863\u8d21\u732e\u3002\u53d1\u73b0\u6587\u6863\u7684\u4e0d\u8db3\u3001\u4f18\u5316\u6587\u6863\uff0c\u6301\u7eed\u66f4\u65b0\u6587\u6863\u7b49\u65b9\u5f0f\u53c2\u4e0e\u793e\u533a\u8d21\u732e\u3002\u901a\u8fc7\u6587\u6863\u8d21\u732e\uff0c\u8ba9\u5f00\u53d1\u8005\u719f\u6089\u5982\u4f55\u63d0\u4ea4PR\u548c\u771f\u6b63\u53c2\u4e0e\u5230\u793e\u533a\u7684\u5efa\u8bbe\u3002\u53c2\u8003\u653b\u7565\uff1a",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("li",{parentName:"ul"},"\u4ee3\u7801\u8d21\u732e\u3002\u6211\u4eec\u68b3\u7406\u4e86\u793e\u533a\u4e2d\u7b80\u5355\u5e76\u4e14\u5bb9\u6613\u5165\u95e8\u7684\u7684\u4efb\u52a1\uff0c\u975e\u5e38\u9002\u5408\u65b0\u4eba\u505a\u4ee3\u7801\u8d21\u732e\u3002\u8bf7\u67e5\u9605\u65b0\u624b\u4efb\u52a1\u5217\u8868\uff1a",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("li",{parentName:"ul"},"\u5185\u5bb9\u8d21\u732e\uff1a\u53d1\u5e03SolidUI\u5f00\u6e90\u7ec4\u4ef6\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5b89\u88c5\u90e8\u7f72\u6559\u7a0b\u3001\u4f7f\u7528\u7ecf\u9a8c\u3001\u6848\u4f8b\u5b9e\u8df5\u7b49\uff0c\u5f62\u5f0f\u4e0d\u9650\uff0c\u8bf7\u6295\u7a3f\u7ed9\u5c0f\u52a9\u624b\u3002\u4f8b\u5982\uff1a",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("li",{parentName:"ul"},"\u793e\u533a\u7b54\u7591\uff1a\u79ef\u6781\u5728\u793e\u533a\u4e2d\u8fdb\u884c\u7b54\u7591\u3001\u5206\u4eab\u6280\u672f\u3001\u5e2e\u52a9\u5f00\u53d1\u8005\u89e3\u51b3\u95ee\u9898\u7b49\uff1b\n\u5176\u4ed6\uff1a\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u6d3b\u52a8\u3001\u6210\u4e3a\u793e\u533a\u5fd7\u613f\u8005\u3001\u5e2e\u52a9\u793e\u533a\u5ba3\u4f20\u3001\u4e3a\u793e\u533a\u53d1\u5c55\u63d0\u4f9b\u6709\u6548\u5efa\u8bae\u7b49\uff1b")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ccc49370.f58d2f47.js b/assets/js/ccc49370.f58d2f47.js new file mode 100644 index 00000000..15f5dc6a --- /dev/null +++ b/assets/js/ccc49370.f58d2f47.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[6103],{5203:(e,t,n)=>{n.r(t),n.d(t,{default:()=>h});var a=n(7294),l=n(6010),o=n(1944),r=n(5281),i=n(9460),c=n(9058),s=n(390),m=n(7462),d=n(5999),u=n(2244);function g(e){const{nextItem:t,prevItem:n}=e;return a.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,d.I)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog posts pagination"})},n&&a.createElement(u.Z,(0,m.Z)({},n,{subLabel:a.createElement(d.Z,{id:"theme.blog.post.paginator.newerPost",description:"The blog post button label to navigate to the newer/previous post"},"Newer Post")})),t&&a.createElement(u.Z,(0,m.Z)({},t,{subLabel:a.createElement(d.Z,{id:"theme.blog.post.paginator.olderPost",description:"The blog post button label to navigate to the older/next post"},"Older Post"),isNext:!0})))}function f(){const{assets:e,metadata:t}=(0,i.C)(),{title:n,description:l,date:r,tags:c,authors:s,frontMatter:m}=t,{keywords:d}=m,u=e.image??m.image;return a.createElement(o.d,{title:n,description:l,keywords:d,image:u},a.createElement("meta",{property:"og:type",content:"article"}),a.createElement("meta",{property:"article:published_time",content:r}),s.some((e=>e.url))&&a.createElement("meta",{property:"article:author",content:s.map((e=>e.url)).filter(Boolean).join(",")}),c.length>0&&a.createElement("meta",{property:"article:tag",content:c.map((e=>e.label)).join(",")}))}var v=n(9407);function p(e){let{sidebar:t,children:n}=e;const{metadata:l,toc:o}=(0,i.C)(),{nextItem:r,prevItem:m,frontMatter:d}=l,{hide_table_of_contents:u,toc_min_heading_level:f,toc_max_heading_level:p}=d;return a.createElement(c.Z,{sidebar:t,toc:!u&&o.length>0?a.createElement(v.Z,{toc:o,minHeadingLevel:f,maxHeadingLevel:p}):void 0},a.createElement(s.Z,null,n),(r||m)&&a.createElement(g,{nextItem:r,prevItem:m}))}function h(e){const t=e.content;return a.createElement(i.n,{content:e.content,isBlogPostPage:!0},a.createElement(o.FG,{className:(0,l.Z)(r.k.wrapper.blogPages,r.k.page.blogPostPage)},a.createElement(f,null),a.createElement(p,{sidebar:e.sidebar},a.createElement(t,null))))}},9407:(e,t,n)=>{n.d(t,{Z:()=>m});var a=n(7462),l=n(7294),o=n(6010),r=n(3743);const i={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"},c="table-of-contents__link toc-highlight",s="table-of-contents__link--active";function m(e){let{className:t,...n}=e;return l.createElement("div",{className:(0,o.Z)(i.tableOfContents,"thin-scrollbar",t)},l.createElement(r.Z,(0,a.Z)({},n,{linkClassName:c,linkActiveClassName:s})))}},3743:(e,t,n)=>{n.d(t,{Z:()=>f});var a=n(7462),l=n(7294),o=n(6668);function r(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t}));const a=[];return t.forEach((e=>{const{parentIndex:n,...l}=e;n>=0?t[n].children.push(l):a.push(l)})),a}function i(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return t.flatMap((e=>{const t=i({toc:e.children,minHeadingLevel:n,maxHeadingLevel:a});return function(e){return e.level>=n&&e.level<=a}(e)?[{...e,children:t}]:t}))}function c(e){const t=e.getBoundingClientRect();return t.top===t.bottom?c(e.parentNode):t}function s(e,t){let{anchorTopOffset:n}=t;const a=e.find((e=>c(e).top>=n));if(a){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(c(a))?a:e[e.indexOf(a)-1]??null}return e[e.length-1]??null}function m(){const e=(0,l.useRef)(0),{navbar:{hideOnScroll:t}}=(0,o.L)();return(0,l.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,l.useRef)(void 0),n=m();(0,l.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:l,minHeadingLevel:o,maxHeadingLevel:r}=e;function i(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),i=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const a=[];for(let l=t;l<=n;l+=1)a.push(`h${l}.anchor`);return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:o,maxHeadingLevel:r}),c=s(i,{anchorTopOffset:n.current}),m=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(l),e.classList.add(l),t.current=e):e.classList.remove(l)}(e,e===m)}))}return document.addEventListener("scroll",i),document.addEventListener("resize",i),i(),()=>{document.removeEventListener("scroll",i),document.removeEventListener("resize",i)}}),[e,n])}function u(e){let{toc:t,className:n,linkClassName:a,isChild:o}=e;return t.length?l.createElement("ul",{className:o?void 0:n},t.map((e=>l.createElement("li",{key:e.id},l.createElement("a",{href:`#${e.id}`,className:a??void 0,dangerouslySetInnerHTML:{__html:e.value}}),l.createElement(u,{isChild:!0,toc:e.children,className:n,linkClassName:a}))))):null}const g=l.memo(u);function f(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:c="table-of-contents__link",linkActiveClassName:s,minHeadingLevel:m,maxHeadingLevel:u,...f}=e;const v=(0,o.L)(),p=m??v.tableOfContents.minHeadingLevel,h=u??v.tableOfContents.maxHeadingLevel,b=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,l.useMemo)((()=>i({toc:r(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:p,maxHeadingLevel:h});return d((0,l.useMemo)((()=>{if(c&&s)return{linkClassName:c,linkActiveClassName:s,minHeadingLevel:p,maxHeadingLevel:h}}),[c,s,p,h])),l.createElement(g,(0,a.Z)({toc:b,className:n,linkClassName:c},f))}}}]); \ No newline at end of file diff --git a/assets/js/cd4de7b0.972285f0.js b/assets/js/cd4de7b0.972285f0.js new file mode 100644 index 00000000..68282c2d --- /dev/null +++ b/assets/js/cd4de7b0.972285f0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5933],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>_});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=o.createContext({}),s=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):d(d({},t),e)),n},p=function(e){var t=s(e.components);return o.createElement(l.Provider,{value:t},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,p=a(e,["components","mdxType","originalType","parentName"]),u=s(n),m=r,_=u["".concat(l,".").concat(m)]||u[m]||c[m]||i;return n?o.createElement(_,d(d({ref:t},p),{},{components:n})):o.createElement(_,d({ref:t},p))}));function _(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,d=new Array(i);d[0]=m;var a={};for(var l in t)hasOwnProperty.call(t,l)&&(a[l]=t[l]);a.originalType=e,a[u]="string"==typeof e?e:r,d[1]=a;for(var s=2;s<i;s++)d[s]=n[s];return o.createElement.apply(null,d)}return o.createElement.apply(null,n)}m.displayName="MDXCreateElement"},9507:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>c,frontMatter:()=>i,metadata:()=>a,toc:()=>s});var o=n(7462),r=(n(7294),n(3905));const i={id:"deployment-web",title:"Front-End Deployment",sidebar_position:1},d="SolidUI front-end deployment",a={unversionedId:"deployment/deployment-web",id:"deployment/deployment-web",title:"Front-End Deployment",description:"1 Preparations",source:"@site/docs/deployment/deployment-web.md",sourceDirName:"deployment",slug:"/deployment/deployment-web",permalink:"/SolidUI-Website/docs/deployment/deployment-web",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/deployment/deployment-web.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"deployment-web",title:"Front-End Deployment",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Server-side Compilation",permalink:"/SolidUI-Website/docs/development/development-server"},next:{title:"Docker-Compose Deployment",permalink:"/SolidUI-Website/docs/deployment/deployment-docker"}},l={},s=[{value:"1 Preparations",id:"1-preparations",level:2},{value:"2 deployment",id:"2-deployment",level:2},{value:"2.1 Automated deployment (recommended)",id:"21-automated-deployment-recommended",level:3},{value:"2.1.1 Modify configuration config.sh",id:"211-modify-configuration-configsh",level:4},{value:"2.2 Manual deployment",id:"22-manual-deployment",level:3},{value:"2.2.1 Install Nginx",id:"221-install-nginx",level:4},{value:"2.2.2 Modify configuration file",id:"222-modify-configuration-file",level:4},{value:"2.2.3 Resource deployment",id:"223-resource-deployment",level:4},{value:"2.2.4 Start service",id:"224-start-service",level:4},{value:"3 login",id:"3-login",level:2},{value:"4 Notes",id:"4-notes",level:2},{value:"5 Frequently Asked Questions",id:"5-frequently-asked-questions",level:2},{value:"5.1 Interface timeout",id:"51-interface-timeout",level:3}],p={toc:s},u="wrapper";function c(e){let{components:t,...n}=e;return(0,r.kt)(u,(0,o.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"solidui-front-end-deployment"},"SolidUI front-end deployment"),(0,r.kt)("h2",{id:"1-preparations"},"1 Preparations"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Method 1: Download the address from the official website: ",(0,r.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/releases"},"https://github.com/CloudOrc/SolidUI/releases"),", and download the corresponding installation package (overall installation package)."),(0,r.kt)("li",{parentName:"ul"},"Method 2: Compile the project installation package according to SolidUI.")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"tar -zxvf solidui-x.x.x-bin.tar.gz\n# front-end directory\ncd solidui-x.x.x/solidui-web\n")),(0,r.kt)("h2",{id:"2-deployment"},"2 deployment"),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"Divided into two deployment methods, automated deployment and manual deployment")),(0,r.kt)("h3",{id:"21-automated-deployment-recommended"},"2.1 Automated deployment (recommended)"),(0,r.kt)("h4",{id:"211-modify-configuration-configsh"},"2.1.1 Modify configuration config.sh"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},'# solidui service address\nsolidui_url="http://127.0.0.1:12345"\n# models backend address\nsolidui_url_models="http://127.0.0.1:5110"\n# kernel backend address\nsolidui_url_kernel="http://127.0.0.1:5010"\n#It can be configured as the ip of the installation machine or use the default value\nsolidui_ipaddr=127.0.0.1\n# Port to access the management console\nsolidui_port=8099\n\n#### 2.1.2 Execute the deployment script\n```shell script\n# nginx needs sudo permission to install\nsudo sh install.sh\n')),(0,r.kt)("p",null,"After installation, the nginx configuration file of solidui is in ",(0,r.kt)("inlineCode",{parentName:"p"},"/etc/nginx/conf.d/solidui.conf")," by default\nThe log files of nginx are in ",(0,r.kt)("inlineCode",{parentName:"p"},"/var/log/nginx/access.log")," and ",(0,r.kt)("inlineCode",{parentName:"p"},"/var/log/nginx/error.log"),"\nAn example of the generated solidui nginx configuration file is as follows:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-nginx"},"server {\n listen 8099;\n server_name localhost;\n\n location / {\n root /opt/solidui/solidui-web/dist; # Static file directory\n index index.html index.html;\n }\n\n location /solidui {\n proxy_pass $solidui_url; # The address of the backend SolidUI\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n\n location /solidui/models {\n proxy_pass $solidui_url_models; # modelui backend address\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n\n location /solidui/kernel {\n proxy_pass $solidui_url_kernel; # modelui kernel backend address\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n\n error_page 500 502 503 504 /50x.html;\n location = /50x.html {\n root /usr/share/nginx/html;\n }\n}\n")),(0,r.kt)("h3",{id:"22-manual-deployment"},"2.2 Manual deployment"),(0,r.kt)("h4",{id:"221-install-nginx"},"2.2.1 Install Nginx"),(0,r.kt)("blockquote",null,(0,r.kt)("p",{parentName:"blockquote"},"If you have already installed nginx, you can skip it")),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"sudo yum install nginx -y\n")),(0,r.kt)("h4",{id:"222-modify-configuration-file"},"2.2.2 Modify configuration file"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"sudo vi /etc/nginx/conf.d/solidui.conf\n")),(0,r.kt)("p",null,"Add the following:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"server {\n listen 8080;# access port\n server_name localhost;\n #charset koi8-r;\n #access_log /var/log/nginx/host.access.log main;\n location / {\n root /opt/solidui/solidui-web/dist; # The directory where the front-end package is decompressed\n index index.html index.html;\n }\n\n location /solidui {\n proxy_pass http://127.0.0.1:12345; # solidui service address\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n\n location /solidui/models {\n proxy_pass http://127.0.0.1:5110; # modelui backend address\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n\n location /solidui/kernel {\n proxy_pass http://127.0.0.1:5010; # modelui kernel backend address\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n \n error_page 500 502 503 504 /50x.html;\n location = /50x.html {\n root /usr/share/nginx/html;\n }\n}\n")),(0,r.kt)("h4",{id:"223-resource-deployment"},"2.2.3 Resource deployment"),(0,r.kt)("p",null,"Suppose the product path after the front-end ",(0,r.kt)("inlineCode",{parentName:"p"},"npm run build")," is: ",(0,r.kt)("inlineCode",{parentName:"p"},"/opt/solidui/solidui-web/dist")),(0,r.kt)("h4",{id:"224-start-service"},"2.2.4 Start service"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"sudo systemctl restart nginx\n")),(0,r.kt)("h2",{id:"3-login"},"3 login"),(0,r.kt)("p",null,"Browser access ",(0,r.kt)("inlineCode",{parentName:"p"},"http://solidui_ipaddr:solidui_port")," where solidui_port is the port configured in config.sh, solidui_ipaddr is the IP of the installation machine, and the default account password is: ",(0,r.kt)("inlineCode",{parentName:"p"},"admin/admin")),(0,r.kt)("h2",{id:"4-notes"},"4 Notes"),(0,r.kt)("p",null,"If you need to modify the port or static resource directory, etc., please modify the ",(0,r.kt)("inlineCode",{parentName:"p"},"/etc/nginx/conf.d/solidui.conf")," file and execute the ",(0,r.kt)("inlineCode",{parentName:"p"},"sudo nginx -s reload")," command"),(0,r.kt)("admonition",{title:"Caution",type:"caution"},(0,r.kt)("ul",{parentName:"admonition"},(0,r.kt)("li",{parentName:"ul"},"Check whether nginx starts normally: check whether the nginx process exists ",(0,r.kt)("inlineCode",{parentName:"li"},"ps -ef |grep nginx")),(0,r.kt)("li",{parentName:"ul"},"Check if the configuration of nginx is correct ",(0,r.kt)("inlineCode",{parentName:"li"},"sudo nginx -T")),(0,r.kt)("li",{parentName:"ul"},"If the port is occupied, you can modify the service port ",(0,r.kt)("inlineCode",{parentName:"li"},"/etc/nginx/conf.d/solidui.conf"),"listen port value started by nginx, save and restart"))),(0,r.kt)("h2",{id:"5-frequently-asked-questions"},"5 Frequently Asked Questions"),(0,r.kt)("h3",{id:"51-interface-timeout"},"5.1 Interface timeout"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"sudo vi /etc/nginx/conf.d/solidui.conf\n")),(0,r.kt)("p",null,"Change interface timeout"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre"},"proxy_read_timeout 600s\n")))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/d97b9c6c.c115855a.js b/assets/js/d97b9c6c.c115855a.js new file mode 100644 index 00000000..f61d3810 --- /dev/null +++ b/assets/js/d97b9c6c.c115855a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[6160],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>h});var n=i(7294);function o(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function a(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?r(Object(i),!0).forEach((function(t){o(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):r(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function d(e,t){if(null==e)return{};var i,n,o=function(e,t){if(null==e)return{};var i,n,o={},r=Object.keys(e);for(n=0;n<r.length;n++)i=r[n],t.indexOf(i)>=0||(o[i]=e[i]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)i=r[n],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(o[i]=e[i])}return o}var l=n.createContext({}),s=function(e){var t=n.useContext(l),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},c=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var i=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,c=d(e,["components","mdxType","originalType","parentName"]),p=s(i),m=o,h=p["".concat(l,".").concat(m)]||p[m]||u[m]||r;return i?n.createElement(h,a(a({ref:t},c),{},{components:i})):n.createElement(h,a({ref:t},c))}));function h(e,t){var i=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=i.length,a=new Array(r);a[0]=m;var d={};for(var l in t)hasOwnProperty.call(t,l)&&(d[l]=t[l]);d.originalType=e,d[p]="string"==typeof e?e:o,a[1]=d;for(var s=2;s<r;s++)a[s]=i[s];return n.createElement.apply(null,a)}return n.createElement.apply(null,i)}m.displayName="MDXCreateElement"},2446:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>d,toc:()=>s});var n=i(7462),o=(i(7294),i(3905));const r={id:"front-end-architecture",title:"Frontend Design",sidebar_position:2},a=void 0,d={unversionedId:"design/front-end-architecture/front-end-architecture",id:"design/front-end-architecture/front-end-architecture",title:"Frontend Design",description:"1. SolidUI Module",source:"@site/docs/design/front-end-architecture/README.md",sourceDirName:"design/front-end-architecture",slug:"/design/front-end-architecture/",permalink:"/SolidUI-Website/docs/design/front-end-architecture/",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/design/front-end-architecture/README.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"front-end-architecture",title:"Frontend Design",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Server Architecture",permalink:"/SolidUI-Website/docs/design/server-architecture/"},next:{title:"Metadata",permalink:"/SolidUI-Website/docs/design/metadata/"}},l={},s=[{value:"1. SolidUI Module",id:"1-solidui-module",level:3},{value:"2. \u603b\u89c8\u67b6\u6784",id:"2-\u603b\u89c8\u67b6\u6784",level:3},{value:"3. SolidEditor & Preview\uff08WISYWI\uff09",id:"3-solideditor--previewwisywi",level:3},{value:"4. SolidView & JSONSchema & Configuration",id:"4-solidview--jsonschema--configuration",level:3}],c={toc:s},p="wrapper";function u(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},c,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h3",{id:"1-solidui-module"},"1. SolidUI Module"),(0,o.kt)("p",null,(0,o.kt)("img",{src:i(254).Z,width:"2388",height:"1418"})),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"The designer is divided into five areas. includes Layer/Page, SolidView List, SolidEditor, Configuration, SolidView Select List.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Layer/Page\uff1aThe Layer is mainly to configure the scene, and the Page is to configure and design its own components.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"SolidView List\uff1aIt is convenient to select the components to be configured, and perform management operations such as deleting and locking the components.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"SolidEditor\uff1aAs a highly cohesive component, it can subscribe and publish events externally through EventBus. Inside the component, RulerGuides, InfiniteView, Moveable, Selecto, and Viewport are used to complete the interaction and operation logic of the entire editing area.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Configuration\uff1aConfigure the WYSIWYG style, data source, event interaction, etc. for the selected SolidView.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"SolidView Select List\uff1aProvides a button area at the top for selecting and placing individual components."))),(0,o.kt)("h3",{id:"2-\u603b\u89c8\u67b6\u6784"},"2. \u603b\u89c8\u67b6\u6784"),(0,o.kt)("p",null,(0,o.kt)("img",{src:i(7781).Z,width:"2318",height:"1086"})),(0,o.kt)("h3",{id:"3-solideditor--previewwisywi"},"3. SolidEditor & Preview\uff08WISYWI\uff09"),(0,o.kt)("p",null,(0,o.kt)("img",{src:i(6111).Z,width:"2390",height:"1416"})),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"SolidEditor integrates RulerGuides (rulers, auxiliary lines), InfiniteView (infinite scrolling view in the editing area), Viewport (visible area), Moveable (basic capabilities such as drag and drop, size, rounded corners, alignment, and marking lines), Selecto (multiple selection, combination).")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"SolidView is a reusable base class component. We hope to display various SolidViews through a well-designed JSONSchema and its specific JSON content, that is, SolidView should only be bound to the JSONSchema data model and injected into EventBus to complete Interaction between different SolidViews. But when we are editing the design, we need to wrap SolidView to achieve the design capabilities in the designer mode. So we need to wrap SolidView in edit mode to get a ProxyView.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"When we preview the designed page, our SolidShowEngine will load the designed JSONSchema specific data model to complete the final rendering."))),(0,o.kt)("h3",{id:"4-solidview--jsonschema--configuration"},"4. SolidView & JSONSchema & Configuration"),(0,o.kt)("p",null,(0,o.kt)("img",{src:i(3528).Z,width:"2198",height:"778"})),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Design JSONSchema to define what a SolidView component should look like, and different SolidView components may extend JSONSchema. The advantage of this is that we abstract SolidView into a JSON description document, which can focus on JSONSchema, and discuss the feasibility of each modification for JSONSchema.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"On the basis of JSONSchema, plan the configuration capabilities of the Configuration module. Including UI display, component development required by UI, etc.")),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("p",{parentName:"li"},"Interaction process: select a component -> modify the configuration item -> send a modification event -> SolidEditor receives the subscribed event message -> find the target SolidView -> find the corresponding JSONSchem -> verify and save the modification -> SolidView for this configuration modify in response."))))}u.isMDXComponent=!0},7781:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/SolidUI_Front-end_Architecture_Design-74e7905d70a19a70423d45c329e78041.png"},254:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/SolidUI_Front-end_Overview-424873d3acc4f4bd7c2660b926c05436.png"},6111:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/SolidUI_SolidEditor_DesignAndPreview-351f3097c1a77b6055320e92074f6c69.png"},3528:(e,t,i)=>{i.d(t,{Z:()=>n});const n=i.p+"assets/images/SolidUI_SolidView_JSONSchema_Configuration_Design-a6e12611333db4337ad70ff4a24008d9.png"}}]); \ No newline at end of file diff --git a/assets/js/deb5dccc.01082583.js b/assets/js/deb5dccc.01082583.js new file mode 100644 index 00000000..08f0bd5b --- /dev/null +++ b/assets/js/deb5dccc.01082583.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5876],{4151:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/blog/tags/aigc","page":1,"postsPerPage":3,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/e02071e6.74d1e504.js b/assets/js/e02071e6.74d1e504.js new file mode 100644 index 00000000..71da471f --- /dev/null +++ b/assets/js/e02071e6.74d1e504.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2957],{30:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/blog/tags/stable-diffusion","page":1,"postsPerPage":3,"totalPages":2,"totalCount":6,"nextPage":"/SolidUI-Website/blog/tags/stable-diffusion/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/assets/js/eaf8f7fb.612b701f.js b/assets/js/eaf8f7fb.612b701f.js new file mode 100644 index 00000000..fc58cd57 --- /dev/null +++ b/assets/js/eaf8f7fb.612b701f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[9885],{2776:s=>{s.exports=JSON.parse('{"name":"@easyops-cn/docusaurus-search-local","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/ed523c22.747ac207.js b/assets/js/ed523c22.747ac207.js new file mode 100644 index 00000000..dd84a835 --- /dev/null +++ b/assets/js/ed523c22.747ac207.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8352],{3905:(e,t,l)=>{l.d(t,{Zo:()=>d,kt:()=>f});var n=l(7294);function r(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function a(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,n)}return l}function i(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?a(Object(l),!0).forEach((function(t){r(e,t,l[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):a(Object(l)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))}))}return e}function o(e,t){if(null==e)return{};var l,n,r=function(e,t){if(null==e)return{};var l,n,r={},a=Object.keys(e);for(n=0;n<a.length;n++)l=a[n],t.indexOf(l)>=0||(r[l]=e[l]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)l=a[n],t.indexOf(l)>=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(r[l]=e[l])}return r}var u=n.createContext({}),p=function(e){var t=n.useContext(u),l=t;return e&&(l="function"==typeof e?e(t):i(i({},t),e)),l},d=function(e){var t=p(e.components);return n.createElement(u.Provider,{value:t},e.children)},c="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var l=e.components,r=e.mdxType,a=e.originalType,u=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),c=p(l),m=r,f=c["".concat(u,".").concat(m)]||c[m]||s[m]||a;return l?n.createElement(f,i(i({ref:t},d),{},{components:l})):n.createElement(f,i({ref:t},d))}));function f(e,t){var l=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=l.length,i=new Array(a);i[0]=m;var o={};for(var u in t)hasOwnProperty.call(t,u)&&(o[u]=t[u]);o.originalType=e,o[c]="string"==typeof e?e:r,i[1]=o;for(var p=2;p<a;p++)i[p]=l[p];return n.createElement.apply(null,i)}return n.createElement.apply(null,l)}m.displayName="MDXCreateElement"},9662:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>s,frontMatter:()=>a,metadata:()=>o,toc:()=>p});var n=l(7462),r=(l(7294),l(3905));const a={title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",date:new Date("2023-07-01T00:00:00.000Z"),tags:["SolidUI","AIGC","stable-diffusion"]},i=void 0,o={permalink:"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-01-function-explanation-0.1.0.md",source:"@site/blog/2023-07-01-function-explanation-0.1.0.md",title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",description:"\u80cc\u666f",date:"2023-07-01T00:00:00.000Z",formattedDate:"July 1, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AIGC",permalink:"/SolidUI-Website/blog/tags/aigc"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:5.475,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",date:"2023-07-01T00:00:00.000Z",tags:["SolidUI","AIGC","stable-diffusion"]},prevItem:{title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",permalink:"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis"}},u={authorsImageUrls:[]},p=[{value:"\u80cc\u666f",id:"\u80cc\u666f",level:2},{value:"\u9879\u76ee\u540d\u5b57\u542b\u4e49",id:"\u9879\u76ee\u540d\u5b57\u542b\u4e49",level:2},{value:"\u767b\u5f55\u9875\u542b\u4e49",id:"\u767b\u5f55\u9875\u542b\u4e49",level:2},{value:"\u4ea7\u54c1\u601d\u7ef4",id:"\u4ea7\u54c1\u601d\u7ef4",level:2},{value:"0.1.0 \u7248\u672c\u5185\u6db5",id:"010-\u7248\u672c\u5185\u6db5",level:2},{value:"\u529f\u80fd\u5217\u8868",id:"\u529f\u80fd\u5217\u8868",level:2},{value:"\u6570\u636e\u6e90\u7ba1\u7406",id:"\u6570\u636e\u6e90\u7ba1\u7406",level:3},{value:"\u9879\u76ee\u7ba1\u7406",id:"\u9879\u76ee\u7ba1\u7406",level:3},{value:"\u8bbe\u8ba1\u9875\u9762",id:"\u8bbe\u8ba1\u9875\u9762",level:3}],d={toc:p},c="wrapper";function s(e){let{components:t,...a}=e;return(0,r.kt)(c,(0,n.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"\u80cc\u666f"},"\u80cc\u666f"),(0,r.kt)("p",null,"\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,r.kt)("h2",{id:"\u9879\u76ee\u540d\u5b57\u542b\u4e49"},"\u9879\u76ee\u540d\u5b57\u542b\u4e49"),(0,r.kt)("p",null,"SolidUI Solid\u8868\u793a\u7acb\u65b9\u51e0\u4f55\uff0cUI\u8868\u793a\u8bbe\u8ba1\u4ea4\u4e92\uff0c\u4ee3\u8868\u591a\u7ef4\u751f\u6210\u8bbe\u8ba1\u3002"),(0,r.kt)("h2",{id:"\u767b\u5f55\u9875\u542b\u4e49"},"\u767b\u5f55\u9875\u542b\u4e49"),(0,r.kt)("p",null,"\u767b\u5f55\u9875\u7684\u542b\u4e49\uff0clogo \u7528\u773c\u955c\u7684\u5f62\u72b6\uff0c\u8868\u793a\u89c2\u5bdf\u4e16\u754c \uff0c\u80cc\u666f\u90a3\u4e9b\u7ebf\u6761\u662f\u901a\u8fc7\u773c\u775b\u89c2\u770b\u5f97\u51fa\u56fe\u5f62\uff0c\u6df1\u5c42\u610f\u601d\u8868\u793a\u521b\u610f\u751f\u6210\u4e16\u754c\u3002\n",(0,r.kt)("img",{alt:"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0",src:l(1956).Z,width:"3552",height:"1848"})),(0,r.kt)("h2",{id:"\u4ea7\u54c1\u601d\u7ef4"},"\u4ea7\u54c1\u601d\u7ef4"),(0,r.kt)("p",null,"\u201c\u5c11\u5c31\u662f\u591a\u201d"),(0,r.kt)("p",null,"\u5c11\u5c31\u662f\u591a\uff0c\u610f\u601d\u662f\u4e0d\u65ad\u7cbe\u7b80\u65b9\u6848\u91cc\u7684\u5143\u7d20\uff0c\u53ea\u7559\u4e0b\u6709\u4ef7\u503c\u7684\uff1b\u5176\u4f59\u4e0d\u91cd\u8981\u7684\uff0c\u8981\u4e48\u76f4\u63a5\u5220\u6389\uff0c\u8981\u4e48\u4ece\u754c\u9762\u91cc\u9690\u85cf\u8d77\u6765\u3002\u5bf9\u4e8e\u90a3\u4e9b\u4e0d\u5e38\u7528\u7684\u64cd\u4f5c\uff0c\u9690\u85cf\u4e4b\u540e\uff0c\u5373\u4f7f\u7528\u6237\u591a\u8fdb\u884c\u51e0\u6b65\u64cd\u4f5c\u4e5f\u6ca1\u6709\u5173\u7cfb\u3002"),(0,r.kt)("h2",{id:"010-\u7248\u672c\u5185\u6db5"},"0.1.0 \u7248\u672c\u5185\u6db5"),(0,r.kt)("p",null,"\u8fd9\u4e2a\u7248\u672c\u4f5c\u4e3a\u7b2c\u4e00\u4e2a\u7248\u672c\uff0c\u8bbe\u60f3\u4f5c\u4e3a\u5e94\u7528\u6846\u67b6\uff0c\u5177\u6709\u901a\u7528\u53ef\u89c6\u5316\u6846\u67b6\u80fd\u529b\uff0c\u4e0d\u56e0\u4e00\u4e9b\u6570\u636e\u7ba1\u7406\uff0cBI\u7b49\u4e00\u4e9b\u65e7\u601d\u7ef4\u5f71\u54cd\uff0c\u53ea\u505a\u5e94\u7528\u6846\u67b6\uff0c\u6240\u4ee5\u5f88\u591a\u4e1c\u897f\u90fd\u88ab\u53bb\u9664\u4e86\uff0cAI\u751f\u6210\u4f1a\u5f7b\u5e95\u6539\u53d8\u4f7f\u7528\u4e60\u60ef\u3002"),(0,r.kt)("h2",{id:"\u529f\u80fd\u5217\u8868"},"\u529f\u80fd\u5217\u8868"),(0,r.kt)("p",null,"\u4e0b\u9762\u4ecb\u7ecd\u4e0b\u6574\u4e2a\u7b2c\u4e00\u4e2a\u7248\u672c\u529f\u80fd\u5217\u8868\u3002"),(0,r.kt)("h3",{id:"\u6570\u636e\u6e90\u7ba1\u7406"},"\u6570\u636e\u6e90\u7ba1\u7406"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u663e\u793a\u6570\u636e\uff1a\u663e\u793a\u6240\u6709\u6570\u636e\u6e90\uff0c\u5305\u62ec\u5e8f\u53f7\uff0c\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u7528\u6237\uff0c\u63cf\u8ff0\u4fe1\u606f\u548c\u64cd\u4f5c\u6309\u94ae\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff1a\u8f93\u5165\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\u540e\uff0c\u53ef\u4ee5*\n\u6210\u529f\u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u663e\u793a\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0Doris\u6570\u636e\u6e90\uff1a\u8f93\u5165\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\u540e\uff0c\u53ef\u4ee5\u6210\u529f\u6dfb\u52a0Doris\u6570\u636e\u6e90\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u663e\u793a\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u7f16\u8f91\u6570\u636e\u6e90\uff1a\u53ef\u4ee5\u7f16\u8f91\u6570\u636e\u6e90\u7684\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u67e5\u770b\u7f16\u8f91\u540e\u7684\u4fe1\u606f\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u5355\u884c\u5220\u9664\u6570\u636e\u6e90\uff1a\u901a\u8fc7\u8f93\u5165\u8981\u5220\u9664\u7684\u6570\u636e\u6e90\u540d\u79f0\uff0c\u53ef\u4ee5\u6210\u529f\u5220\u9664\u8be5\u6570\u636e\u6e90\uff0c\u5e76\u4e14\u8be5\u6570\u636e\u6e90\u4e0d\u518d\u663e\u793a\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6570\u636e\u6e90\u8fc7\u671f\uff1a\u53ef\u4ee5\u5c06\u9009\u4e2d\u7684\u6570\u636e\u6e90\u8bbe\u7f6e\u4e3a\u8fc7\u671f\u72b6\u6001\u3002\n",(0,r.kt)("img",{alt:"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0",src:l(4902).Z,width:"3226",height:"528"}))),(0,r.kt)("h3",{id:"\u9879\u76ee\u7ba1\u7406"},"\u9879\u76ee\u7ba1\u7406"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0\u9879\u76ee\uff1a\u8f93\u5165\u9879\u76ee\u540d\u79f0\uff0c\u9879\u76ee\u63cf\u8ff0\uff0c\u9879\u76eeURL\u540e\uff0c\u53ef\u4ee5\u6210\u529f\u6dfb\u52a0\u9879\u76ee\uff0c\u5e76\u5728\u9879\u76ee\u5217\u8868\u4e2d\u663e\u793a\u65b0\u589e\u7684\u9879\u76ee\u4fe1\u606f\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u67e5\u8be2\u9879\u76ee\u5217\u8868\uff1a\u901a\u8fc7\u8f93\u5165\u9879\u76ee\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u8be2\u5e76\u8f93\u51fa\u9879\u76ee\u5217\u8868\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u7f16\u8f91\u9879\u76ee\u540d\uff1a\u53ef\u4ee5\u7f16\u8f91\u9879\u76ee\u540d\u79f0\uff0c\u5e76\u5728\u9879\u76ee\u5217\u8868\u4e2d\u67e5\u770b\u7f16\u8f91\u540e\u7684\u9879\u76ee\u4fe1\u606f\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u5220\u9664\u9879\u76ee\uff1a\u901a\u8fc7\u8f93\u5165\u8981\u5220\u9664\u7684\u9879\u76ee\u540d\u79f0\uff0c\u53ef\u4ee5\u6210\u529f\u5220\u9664\u8be5\u9879\u76ee\uff0c\u5e76\u4e14\u8be5\u9879\u76ee\u4e0d\u518d\u663e\u793a\u5728\u9879\u76ee\u5217\u8868\u4e2d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9879\u76ee\u9884\u89c8")),(0,r.kt)("h3",{id:"\u8bbe\u8ba1\u9875\u9762"},"\u8bbe\u8ba1\u9875\u9762"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u573a\u666f,\u589e\u52a0\uff0c\u4fee\u6539\uff0c\u5220\u9664\uff0c\u91cd\u547d\u540d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9875\uff0c\u589e\u52a0\uff0c\u4fee\u6539\uff0c\u5220\u9664\uff0c\u91cd\u547d\u540d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0\u56fe\u4f8b\uff1a\u5728\u6307\u5b9a\u573a\u666f\u548c\u9875\u4e0b\u6dfb\u52a0\u56fe\u4f8b\uff0c\u5e76\u4e3a\u5176\u547d\u540d\u3002\u521b\u5efa\u6210\u529f\u540e\uff0c\u6240\u5728\u9875\u4e2d\u663e\u793a\u5bf9\u5e94\u7684\u56fe\u4f8b\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97\uff1a\u5728\u6307\u5b9a\u573a\u666f\u3001\u9875\u548c\u56fe\u4f8b\u4e0b\uff0c\u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97\u3002\u6ed1\u7a97\u6253\u5f00\u6210\u529f\uff0c\u663e\u793a\u6570\u636e\u6e90\u7c7b\u578b\u3001\u6570\u636e\u6e90\u548cSQL\u8f93\u5165\u6846\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b\uff1a\u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b\uff08\u5982\u6570\u636e\u5e93\uff09\uff0c\u6210\u529f\u540e\u663e\u793a\u4e0e\u6240\u9009\u6570\u636e\u6e90\u7c7b\u578b\u76f8\u5173\u7684\u6570\u636e\u6e90\u9009\u9879\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9009\u62e9\u6570\u636e\u6e90\uff1a\u9009\u62e9\u7279\u5b9a\u7684\u6570\u636e\u6e90\uff08\u5982MySQL\u6570\u636e\u5e931\uff09\uff0c\u6210\u529f\u540e\u53ef\u4ee5\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\uff1a\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\u5e76\u6267\u884c\uff0c\u67f1\u5f62\u56fe\u6839\u636e\u67e5\u8be2\u8fd4\u56de\u7684\u6570\u636e\u8fdb\u884c\u7ed8\u5236\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u4fdd\u5b58\u9875\u9762\uff1a\u4fdd\u5b58\u5305\u62ec\u56fe\u4f8b\u548c\u5173\u8054\u6570\u636e\u8bbe\u7f6e\u5728\u5185\u7684\u9875\u9762\uff0c\u4ee5\u4fbf\u540e\u7eed\u67e5\u770b\u548c\u7f16\u8f91\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9884\u89c8\u573a\u666f\uff1a\u9884\u89c8\u6574\u4e2a\u573a\u666f\uff0c\u6309\u7167\u573a\u666f\u548c\u9875\u7684\u987a\u5e8f\u67e5\u770b\u5df2\u521b\u5efa\u7684\u56fe\u8868\u3002")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0",src:l(1647).Z,width:"3574",height:"1684"})))}s.isMDXComponent=!0},4902:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/datasource-45396a50f5aea7919f517e1d81456424.png"},1647:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/desgin-8fd0648dd93a1c3fd51cb54900ac2bcd.png"},1956:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/home-d64eb73b3f8144a5bd50d3b1fe12de55.png"}}]); \ No newline at end of file diff --git a/assets/js/eec08420.70323149.js b/assets/js/eec08420.70323149.js new file mode 100644 index 00000000..d6dd6d40 --- /dev/null +++ b/assets/js/eec08420.70323149.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[730],{3905:(e,t,o)=>{o.d(t,{Zo:()=>c,kt:()=>h});var i=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,i)}return o}function a(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?r(Object(o),!0).forEach((function(t){n(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):r(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function l(e,t){if(null==e)return{};var o,i,n=function(e,t){if(null==e)return{};var o,i,n={},r=Object.keys(e);for(i=0;i<r.length;i++)o=r[i],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)o=r[i],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var s=i.createContext({}),u=function(e){var t=i.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},c=function(e){var t=u(e.components);return i.createElement(s.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var o=e.components,n=e.mdxType,r=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=u(o),m=n,h=d["".concat(s,".").concat(m)]||d[m]||p[m]||r;return o?i.createElement(h,a(a({ref:t},c),{},{components:o})):i.createElement(h,a({ref:t},c))}));function h(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=o.length,a=new Array(r);a[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:n,a[1]=l;for(var u=2;u<r;u++)a[u]=o[u];return i.createElement.apply(null,a)}return i.createElement.apply(null,o)}m.displayName="MDXCreateElement"},5973:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>u});var i=o(7462),n=(o(7294),o(3905));const r={title:"SolidUI Community - Official Website Introduction",date:new Date("2023-09-05T00:00:00.000Z"),tags:["SolidUI","AI","stable-diffusion"]},a=void 0,l={permalink:"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-Official-Website-Introduction.md",source:"@site/blog/2023-09-05-Official-Website-Introduction.md",title:"SolidUI Community - Official Website Introduction",description:"Background",date:"2023-09-05T00:00:00.000Z",formattedDate:"September 5, 2023",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/blog/tags/solid-ui"},{label:"AI",permalink:"/SolidUI-Website/blog/tags/ai"},{label:"stable-diffusion",permalink:"/SolidUI-Website/blog/tags/stable-diffusion"}],readingTime:4.87,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI Community - Official Website Introduction",date:"2023-09-05T00:00:00.000Z",tags:["SolidUI","AI","stable-diffusion"]},prevItem:{title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",permalink:"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction"},nextItem:{title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",permalink:"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis"}},s={authorsImageUrls:[]},u=[{value:"Background",id:"background",level:2},{value:"Introduction",id:"introduction",level:2},{value:"How to Contribute",id:"how-to-contribute",level:2},{value:"Example",id:"example",level:3},{value:"Conclusion",id:"conclusion",level:2},{value:"SolidUI-Website Contributors",id:"solidui-website-contributors",level:2},{value:"Acknowledgments",id:"acknowledgments",level:2},{value:"How to Become a Contributor",id:"how-to-become-a-contributor",level:2}],c={toc:u},d="wrapper";function p(e){let{components:t,...o}=e;return(0,n.kt)(d,(0,i.Z)({},c,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"background"},"Background"),(0,n.kt)("p",null,"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation."),(0,n.kt)("p",null,"Project link: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Project mirror link: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Community official website: ",(0,n.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,n.kt)("p",null,"Official website project address\uff1a",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI-Website"},"https://github.com/CloudOrc/SolidUI-Website")),(0,n.kt)("h2",{id:"introduction"},"Introduction"),(0,n.kt)("p",null,"The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Document:")," This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Download:")," Users can download the latest version of SolidUI here."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Releases:")," The release records of SolidUI can be found here, where users can view all version release and update information."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Community:")," This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Code of conduct:")," This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Become A Committer:")," A page for developers to submit code or become project contributors."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Documentation Notice:")," Notices or updates about SolidUI's documentation."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Submit Code:")," A page for submitting code where users can submit their own code for the SolidUI project."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Team:")," Page introducing the SolidUI team members."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Users:")," A page showcasing SolidUI users or customers, thanking partners for their participation."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Our Users:")," A page likely introducing SolidUI's user groups."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Blog:")," The SolidUI blog, where users can read the latest articles about SolidUI.\nOfficial website: ",(0,n.kt)("a",{parentName:"li",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/"))),(0,n.kt)("p",null,"Official website project address\uff1a",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI-Website"},"https://github.com/CloudOrc/SolidUI-Website")),(0,n.kt)("h2",{id:"how-to-contribute"},"How to Contribute"),(0,n.kt)("p",null,"Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch."),(0,n.kt)("h3",{id:"example"},"Example"),(0,n.kt)("p",null,"For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization."),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Submit an Issue")),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"First, visit the main page of the SolidUI-Website project."),(0,n.kt)("li",{parentName:"ol"},'In the top menu bar of the project, click "Issues".'),(0,n.kt)("li",{parentName:"ol"},'Click the "New issue" button in the upper right corner.'),(0,n.kt)("li",{parentName:"ol"},"Enter the title and description of your Issue on the page that appears."),(0,n.kt)("li",{parentName:"ol"},'When you\'re done, click "Submit new issue".\n',(0,n.kt)("strong",{parentName:"li"},"Submit a Pull Request"))),(0,n.kt)("p",null,"Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},'On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.'),(0,n.kt)("li",{parentName:"ol"},'In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.'),(0,n.kt)("li",{parentName:"ol"},"Make the required changes on your branch."),(0,n.kt)("li",{parentName:"ol"},"When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project."),(0,n.kt)("li",{parentName:"ol"},'Click "Pull requests", then click "New pull request".'),(0,n.kt)("li",{parentName:"ol"},'Click "compare across forks" and choose your fork and your "dev" branch.'),(0,n.kt)("li",{parentName:"ol"},'Confirm your changes, then click "Create pull request".'),(0,n.kt)("li",{parentName:"ol"},'Provide a title and description for your PR on the opened page, then click "Create pull request".')),(0,n.kt)("h2",{id:"conclusion"},"Conclusion"),(0,n.kt)("p",null,"Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project."),(0,n.kt)("p",null,"We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing."),(0,n.kt)("p",null,"Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project."),(0,n.kt)("p",null,"Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI."),(0,n.kt)("h2",{id:"solidui-website-contributors"},"SolidUI-Website Contributors"),(0,n.kt)("p",null,"The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"dlimeng"),(0,n.kt)("li",{parentName:"ul"},"15100399015"),(0,n.kt)("li",{parentName:"ul"},"limingoo")),(0,n.kt)("h2",{id:"acknowledgments"},"Acknowledgments"),(0,n.kt)("p",null,"Thanks to the streampark-website for providing framework support."),(0,n.kt)("h2",{id:"how-to-become-a-contributor"},"How to Become a Contributor"),(0,n.kt)("p",null,"Here are some ways to contribute to the SolidUI community."),(0,n.kt)("p",null,"Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("p",null,"Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("p",null,"Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("p",null,"Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc."),(0,n.kt)("p",null,"Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/f106860d.3af43ed8.js b/assets/js/f106860d.3af43ed8.js new file mode 100644 index 00000000..721426d5 --- /dev/null +++ b/assets/js/f106860d.3af43ed8.js @@ -0,0 +1 @@ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[6393,9094,4798,4827],{2711:function(e){e.exports=function(e){function t(n){if(a[n])return a[n].exports;var r=a[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var a={};return t.m=e,t.c=a,t.p="dist/",t(0)}([function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},i=(n(a(1)),a(6)),o=n(i),l=n(a(7)),c=n(a(8)),s=n(a(9)),d=n(a(10)),m=n(a(11)),u=n(a(14)),f=[],p=!1,h={offset:120,delay:0,easing:"ease",duration:400,disable:!1,once:!1,startEvent:"DOMContentLoaded",throttleDelay:99,debounceDelay:50,disableMutationObserver:!1},v=function(){if(arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&(p=!0),p)return f=(0,m.default)(f,h),(0,d.default)(f,h.once),f},b=function(){f=(0,u.default)(),v()},g=function(){f.forEach((function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay")}))},y=function(e){return!0===e||"mobile"===e&&s.default.mobile()||"phone"===e&&s.default.phone()||"tablet"===e&&s.default.tablet()||"function"==typeof e&&!0===e()},w=function(e){h=r(h,e),f=(0,u.default)();var t=document.all&&!window.atob;return y(h.disable)||t?g():(h.disableMutationObserver||c.default.isSupported()||(console.info('\n aos: MutationObserver is not supported on this browser,\n code mutations observing has been disabled.\n You may have to call "refreshHard()" by yourself.\n '),h.disableMutationObserver=!0),document.querySelector("body").setAttribute("data-aos-easing",h.easing),document.querySelector("body").setAttribute("data-aos-duration",h.duration),document.querySelector("body").setAttribute("data-aos-delay",h.delay),"DOMContentLoaded"===h.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?v(!0):"load"===h.startEvent?window.addEventListener(h.startEvent,(function(){v(!0)})):document.addEventListener(h.startEvent,(function(){v(!0)})),window.addEventListener("resize",(0,l.default)(v,h.debounceDelay,!0)),window.addEventListener("orientationchange",(0,l.default)(v,h.debounceDelay,!0)),window.addEventListener("scroll",(0,o.default)((function(){(0,d.default)(f,h.once)}),h.throttleDelay)),h.disableMutationObserver||c.default.ready("[data-aos]",b),f)};e.exports={init:w,refresh:v,refreshHard:b}},function(e,t){},,,,,function(e,t){(function(t){"use strict";function a(e,t,a){function n(t){var a=h,n=v;return h=v=void 0,k=t,g=e.apply(n,a)}function i(e){return k=e,y=setTimeout(d,t),N?n(e):g}function o(e){var a=t-(e-w);return O?x(a,b-(e-k)):a}function c(e){var a=e-w;return void 0===w||a>=t||a<0||O&&e-k>=b}function d(){var e=z();return c(e)?m(e):void(y=setTimeout(d,o(e)))}function m(e){return y=void 0,M&&h?n(e):(h=v=void 0,g)}function u(){void 0!==y&&clearTimeout(y),k=0,h=w=v=y=void 0}function f(){return void 0===y?g:m(z())}function p(){var e=z(),a=c(e);if(h=arguments,v=this,w=e,a){if(void 0===y)return i(w);if(O)return y=setTimeout(d,t),n(w)}return void 0===y&&(y=setTimeout(d,t)),g}var h,v,b,g,y,w,k=0,N=!1,O=!1,M=!0;if("function"!=typeof e)throw new TypeError(s);return t=l(t)||0,r(a)&&(N=!!a.leading,b=(O="maxWait"in a)?E(l(a.maxWait)||0,t):b,M="trailing"in a?!!a.trailing:M),p.cancel=u,p.flush=f,p}function n(e,t,n){var i=!0,o=!0;if("function"!=typeof e)throw new TypeError(s);return r(n)&&(i="leading"in n?!!n.leading:i,o="trailing"in n?!!n.trailing:o),a(e,t,{leading:i,maxWait:t,trailing:o})}function r(e){var t=void 0===e?"undefined":c(e);return!!e&&("object"==t||"function"==t)}function i(e){return!!e&&"object"==(void 0===e?"undefined":c(e))}function o(e){return"symbol"==(void 0===e?"undefined":c(e))||i(e)&&w.call(e)==m}function l(e){if("number"==typeof e)return e;if(o(e))return d;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(u,"");var a=p.test(e);return a||h.test(e)?v(e.slice(2),a?2:8):f.test(e)?d:+e}var c="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},s="Expected a function",d=NaN,m="[object Symbol]",u=/^\s+|\s+$/g,f=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,h=/^0o[0-7]+$/i,v=parseInt,b="object"==(void 0===t?"undefined":c(t))&&t&&t.Object===Object&&t,g="object"==("undefined"==typeof self?"undefined":c(self))&&self&&self.Object===Object&&self,y=b||g||Function("return this")(),w=Object.prototype.toString,E=Math.max,x=Math.min,z=function(){return y.Date.now()};e.exports=n}).call(t,function(){return this}())},function(e,t){(function(t){"use strict";function a(e,t,a){function r(t){var a=h,n=v;return h=v=void 0,k=t,g=e.apply(n,a)}function i(e){return k=e,y=setTimeout(d,t),N?r(e):g}function l(e){var a=t-(e-z);return O?E(a,b-(e-k)):a}function s(e){var a=e-z;return void 0===z||a>=t||a<0||O&&e-k>=b}function d(){var e=x();return s(e)?m(e):void(y=setTimeout(d,l(e)))}function m(e){return y=void 0,M&&h?r(e):(h=v=void 0,g)}function u(){void 0!==y&&clearTimeout(y),k=0,h=z=v=y=void 0}function f(){return void 0===y?g:m(x())}function p(){var e=x(),a=s(e);if(h=arguments,v=this,z=e,a){if(void 0===y)return i(z);if(O)return y=setTimeout(d,t),r(z)}return void 0===y&&(y=setTimeout(d,t)),g}var h,v,b,g,y,z,k=0,N=!1,O=!1,M=!0;if("function"!=typeof e)throw new TypeError(c);return t=o(t)||0,n(a)&&(N=!!a.leading,b=(O="maxWait"in a)?w(o(a.maxWait)||0,t):b,M="trailing"in a?!!a.trailing:M),p.cancel=u,p.flush=f,p}function n(e){var t=void 0===e?"undefined":l(e);return!!e&&("object"==t||"function"==t)}function r(e){return!!e&&"object"==(void 0===e?"undefined":l(e))}function i(e){return"symbol"==(void 0===e?"undefined":l(e))||r(e)&&y.call(e)==d}function o(e){if("number"==typeof e)return e;if(i(e))return s;if(n(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=n(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(m,"");var a=f.test(e);return a||p.test(e)?h(e.slice(2),a?2:8):u.test(e)?s:+e}var l="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},c="Expected a function",s=NaN,d="[object Symbol]",m=/^\s+|\s+$/g,u=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,p=/^0o[0-7]+$/i,h=parseInt,v="object"==(void 0===t?"undefined":l(t))&&t&&t.Object===Object&&t,b="object"==("undefined"==typeof self?"undefined":l(self))&&self&&self.Object===Object&&self,g=v||b||Function("return this")(),y=Object.prototype.toString,w=Math.max,E=Math.min,x=function(){return g.Date.now()};e.exports=a}).call(t,function(){return this}())},function(e,t){"use strict";function a(e){var t=void 0,n=void 0;for(t=0;t<e.length;t+=1){if((n=e[t]).dataset&&n.dataset.aos)return!0;if(n.children&&a(n.children))return!0}return!1}function n(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function r(){return!!n()}function i(e,t){var a=window.document,r=new(n())(o);l=t,r.observe(a.documentElement,{childList:!0,subtree:!0,removedNodes:!0})}function o(e){e&&e.forEach((function(e){var t=Array.prototype.slice.call(e.addedNodes),n=Array.prototype.slice.call(e.removedNodes);if(a(t.concat(n)))return l()}))}Object.defineProperty(t,"__esModule",{value:!0});var l=function(){};t.default={isSupported:r,ready:i}},function(e,t){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(){return navigator.userAgent||navigator.vendor||window.opera||""}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,o=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,l=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i,c=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,s=function(){function e(){a(this,e)}return r(e,[{key:"phone",value:function(){var e=n();return!(!i.test(e)&&!o.test(e.substr(0,4)))}},{key:"mobile",value:function(){var e=n();return!(!l.test(e)&&!c.test(e.substr(0,4)))}},{key:"tablet",value:function(){return this.mobile()&&!this.phone()}}]),e}();t.default=new s},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e,t,a){var n=e.node.getAttribute("data-aos-once");t>e.position?e.node.classList.add("aos-animate"):void 0!==n&&("false"===n||!a&&"true"!==n)&&e.node.classList.remove("aos-animate")},n=function(e,t){var n=window.pageYOffset,r=window.innerHeight;e.forEach((function(e,i){a(e,r+n,t)}))};t.default=n},function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(a(12)),i=function(e,t){return e.forEach((function(e,a){e.node.classList.add("aos-init"),e.position=(0,r.default)(e.node,t.offset)})),e};t.default=i},function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(a(13)),i=function(e,t){var a=0,n=0,i=window.innerHeight,o={offset:e.getAttribute("data-aos-offset"),anchor:e.getAttribute("data-aos-anchor"),anchorPlacement:e.getAttribute("data-aos-anchor-placement")};switch(o.offset&&!isNaN(o.offset)&&(n=parseInt(o.offset)),o.anchor&&document.querySelectorAll(o.anchor)&&(e=document.querySelectorAll(o.anchor)[0]),a=(0,r.default)(e).top,o.anchorPlacement){case"top-bottom":break;case"center-bottom":a+=e.offsetHeight/2;break;case"bottom-bottom":a+=e.offsetHeight;break;case"top-center":a+=i/2;break;case"bottom-center":a+=i/2+e.offsetHeight;break;case"center-center":a+=i/2+e.offsetHeight/2;break;case"top-top":a+=i;break;case"bottom-top":a+=e.offsetHeight+i;break;case"center-top":a+=e.offsetHeight/2+i}return o.anchorPlacement||o.offset||isNaN(t)||(n=t),a+n};t.default=i},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){for(var t=0,a=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),a+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:a,left:t}};t.default=a},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){return e=e||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(e,(function(e){return{node:e}}))};t.default=a}])},1262:(e,t,a)=>{"use strict";a.d(t,{Z:()=>i});var n=a(7294),r=a(2389);function i(e){let{children:t,fallback:a}=e;return(0,r.Z)()?n.createElement(n.Fragment,null,t?.()):a??null}},3168:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>o});var n=a(7294),r=a(2389),i=a(5166);function o(){const e=(0,r.Z)()&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",t=i?.[e];return n.createElement("div",{className:"section bg-light"},n.createElement("div",{className:"container"},n.createElement("div",{className:"row text-center"},n.createElement("div",{className:"col-12"},n.createElement("div",{className:"mb-5"},n.createElement("h2",{className:"h3 fw-bold"},t.common.coreFeatures),n.createElement("hr",{className:"divider my-4 mx-auto"}),n.createElement("p",{className:"lead text-muted"},t.common.coreFeaturesDesc))),t.feature.map(((e,t)=>n.createElement("div",{className:"col-md-4 col-6 px-4 px-md-3 cursor-pointer",key:t,"data-aos":"fade-up","data-aos-delay":t%3*100},n.createElement("div",{className:"feature-children p-4 mb-5 rounded-3 bg-white shadow-sm hover-box-up"},n.createElement("div",{className:"text-primary text-center mb-3"},n.createElement("div",{className:"features-icon"},n.createElement("i",{className:e.icon}))),n.createElement("h3",{className:"h5"},e.title),n.createElement("p",null,e.details))))))))}},9786:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>v});var n=a(7294),r=a(2389),i=a(5166);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},o.apply(this,arguments)}const l=e=>{let{title:t,titleId:a,...r}=e;return n.createElement("svg",o({xmlns:"http://www.w3.org/2000/svg",className:"rotate-315",width:"2rem",height:"2rem",fill:"currentColor",viewBox:"0 0 512 512","aria-labelledby":a},r),t?n.createElement("title",{id:a},t):null,n.createElement("path",{d:"M461.81 53.81a4.4 4.4 0 0 0-3.3-3.39c-54.38-13.3-180 34.09-248.13 102.17a294.9 294.9 0 0 0-33.09 39.08c-21-1.9-42-.3-59.88 7.5-50.49 22.2-65.18 80.18-69.28 105.07a9 9 0 0 0 9.8 10.4l81.07-8.9a180.29 180.29 0 0 0 1.1 18.3 18.15 18.15 0 0 0 5.3 11.09l31.39 31.39a18.15 18.15 0 0 0 11.1 5.3 179.91 179.91 0 0 0 18.19 1.1l-8.89 81a9 9 0 0 0 10.39 9.79c24.9-4 83-18.69 105.07-69.17 7.8-17.9 9.4-38.79 7.6-59.69a293.91 293.91 0 0 0 39.19-33.09c68.38-68 115.47-190.86 102.37-247.95ZM298.66 213.67a42.7 42.7 0 1 1 60.38 0 42.65 42.65 0 0 1-60.38 0Z",style:{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:32}}),n.createElement("path",{d:"M109.64 352a45.06 45.06 0 0 0-26.35 12.84C65.67 382.52 64 448 64 448s65.52-1.67 83.15-19.31A44.73 44.73 0 0 0 160 402.32",style:{color:"#ffcc43",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:32}}))};var c;function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},s.apply(this,arguments)}const d=e=>{let{title:t,titleId:a,...r}=e;return n.createElement("svg",s({width:200,height:200,viewBox:"0 0 200 200",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":a},r),t?n.createElement("title",{id:a},t):null,c||(c=n.createElement("path",{fill:"currentColor",d:"M142.5 33.8c14.6 9.5 30 17.8 38.6 30.9 8.7 13.1 10.7 30.9 8.5 48.3-2.3 17.4-8.9 34.4-20.1 47.1-11.2 12.8-27.1 21.4-43.6 24.5-16.4 3.2-33.3.8-48.6-4.8-15.2-5.7-28.8-14.6-38.2-26.5-9.5-11.9-14.9-26.7-18.1-42.5-3.1-15.8-4.1-32.5 1.3-47.2 5.3-14.6 17-27.3 31-37.1S83.6 9.9 98.8 11.8c15.1 1.9 29 12.5 43.7 22Z"})))};var m,u,f;function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},p.apply(this,arguments)}const h=e=>{let{title:t,titleId:a,...r}=e;return n.createElement("svg",p({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1440 320","aria-labelledby":a},r),t?n.createElement("title",{id:a},t):null,m||(m=n.createElement("path",{className:"opacity-20 translate-top-2",fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})),u||(u=n.createElement("path",{className:"opacity-30 translate-top-1",fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})),f||(f=n.createElement("path",{fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})))};function v(){const e=(0,r.Z)(),t=e&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",a=e&&0===location.pathname.indexOf("/zh-CN/")?"/zh-CN":"",o=i?.[t];return n.createElement("div",{className:"section bg-gradient-primary pb-9 pt-7 overflow-hidden"},n.createElement("div",{className:"overlay bg-gradient-primary opacity-90 z-index-n1"}),n.createElement("div",{className:"particle"},n.createElement("div",{className:"particle-move-up d-none d-block particle-move-up-1 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"2rem",height:"2rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-2 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1rem",height:"1rem"})),n.createElement("div",{className:"particle-move-up d-none d-sm-block particle-move-up-3 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1.5rem",height:"1.5rem"})),n.createElement("div",{className:"particle-move-up d-none d-xl-block particle-move-up-4 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1rem",height:"1rem"})),n.createElement("div",{className:"particle-move-up d-none d-sm-block particle-move-up-5 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1.2rem",height:"1.2rem"})),n.createElement("div",{className:"particle-move-up border-success text-light particle-move-up-6 z-index-n1 opacity-60"},n.createElement(l,{width:"2rem",height:"2rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-7 z-index-n1 text-light opacity-60"},n.createElement(l,{width:"1.5rem",height:"1.5rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-8 z-index-n1 text-light opacity-60"},n.createElement(l,{width:"1.2rem",height:"1.2rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-9 z-index-n1 text-light opacity-60"},n.createElement(l,{width:"2rem",height:"2rem"}))),n.createElement("figure",{className:"scribble scale-4 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"300"},n.createElement(d,{className:"text-secondary"})),n.createElement("figure",{className:"scribble scale-5 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"200"},n.createElement(d,{className:"text-secondary"})),n.createElement("figure",{className:"scribble scale-6 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"100"},n.createElement(d,{className:"text-secondary"})),n.createElement("figure",{className:"scribble scale-7 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right"},n.createElement(d,{className:"text-secondary"})),n.createElement("div",{className:"container-fluid px-7 pb-2"},n.createElement("div",{className:"row justify-content-center"},n.createElement("div",{className:"col-md-6 col-8 align-self-center pe-5","data-aos":"fade-right"},n.createElement("div",{className:"text-start mt-0"},n.createElement("div",{className:"mb-5 system_info pt-0"},n.createElement("div",{className:"project_title fw-bold text-white mb-3"},n.createElement("div",{className:"d-flex justify-content-center align-items-start"},n.createElement("div",{className:"animated-gradient-text_background animated-gradient-text_background-2",style:{"--content":'"SolidUI"',"--start-color":"#FFF","--end-color":"#00DFD8"}},n.createElement("span",{className:"animated-gradient-text_foreground animated-gradient-text_foreground-2"},"SolidUI")))),n.createElement("p",{className:"lead text-light text-center"},o.slogan.description)),n.createElement("div",{className:"d-flex justify-content-center align-items-start"},n.createElement("a",{className:"btn streampark-btn btn mt-30 ztop",href:"https://github.com/CloudOrc/SolidUI",target:"_blank"},n.createElement("i",{className:"lni-github-original"}),"\xa0GitHub"),n.createElement("a",{className:"btn streampark-btn btn-green mt-30 ml-3 ztop",href:`/SolidUI-Website${a}/docs/user-guide/quick-start`,style:{marginLeft:"10px"}},n.createElement("i",{className:"lni-play"}),"\xa0Get started")),n.createElement("div",{style:{marginTop:"20px"},className:"shields ztop d-flex justify-content-center align-items-start"},n.createElement("a",{target:"_blank",href:"https://www.apache.org/licenses/LICENSE-2.0.html"},n.createElement("img",{src:"https://img.shields.io/badge/license-Apache%202-blue.svg",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://github.com/CloudOrc/SolidUI"},n.createElement("img",{src:"https://img.shields.io/github/stars/CloudOrc/SolidUI.svg?sanitize=true",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://github.com/CloudOrc/SolidUI/fork"},n.createElement("img",{src:"https://img.shields.io/github/forks/CloudOrc/SolidUI.svg?sanitize=true",className:"wow fadeInUp"})),n.createElement("a",{href:""},n.createElement("img",{src:"https://img.shields.io/github/languages/count/CloudOrc/SolidUI",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://huggingface.co/spaces/CloudOrc/SolidUI"},n.createElement("img",{src:"https://img.shields.io/badge/%F0%9F%A4%97%20-Hugging%20Face%20Spaces-blue",className:"wow fadeInUp"})),n.createElement("a",{href:"https://www.producthunt.com/posts/solidui?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-solidui",target:"_blank"},n.createElement("img",{src:"https://img.shields.io/badge/producthunt-blue",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://discord.gg/NGRNu2mGeQ"},n.createElement("img",{src:"https://img.shields.io/badge/discord-blue",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://gitee.com/CloudOrc/SolidUI"},n.createElement("img",{src:"https://shields.io/badge/%E2%AD%90-Gitee-blue",alt:"gitee",className:"wow fadeInUp"}))))))),n.createElement("figure",{className:"waves-bottom-center text-light mb-n4 z-index-n1"},n.createElement(h,null)))}},2875:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>d});var n=a(7294),r=a(1262),i=a(9786),o=a(3168),l=a(5995),c=a(2711),s=a.n(c);function d(){return n.createElement(r.Z,{fallback:n.createElement("div",{id:"preloader"})},(()=>(s().init({offset:100,duration:700,easing:"ease-out-quad",once:!0}),window.addEventListener("load",s().refresh),n.createElement("div",{className:"home-wrap"},n.createElement(i.default,null),n.createElement(o.default,null),n.createElement(l.default,null)))))}},5995:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>C});var n,r,i,o,l,c,s,d,m,u,f,p,h,v,b,g,y,w,E,x,z,k,N,O,M,j=a(7294),H=(a(2389),a(4996));a(5166);function S(){return S=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},S.apply(this,arguments)}const _=e=>{let{title:t,titleId:a,...H}=e;return j.createElement("svg",S({"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 509.23 364.6","aria-labelledby":a},H),t?j.createElement("title",{id:a},t):null,n||(n=j.createElement("defs",null,j.createElement("linearGradient",{id:"a",x1:225,y1:279.58,x2:246.68,y2:279.58,gradientUnits:"userSpaceOnUse"},j.createElement("stop",{offset:0,stopColor:"#e5c6d6"}),j.createElement("stop",{offset:.42,stopColor:"#ead4d0"}),j.createElement("stop",{offset:1,stopColor:"#f0e9cb"})),j.createElement("linearGradient",{id:"d",x1:196.9,y1:214.27,x2:270.4,y2:214.27,xlinkHref:"#a"}),j.createElement("linearGradient",{id:"b",x1:235.47,y1:403.52,x2:245.47,y2:302.39,gradientUnits:"userSpaceOnUse"},j.createElement("stop",{offset:0,stopColor:"#010101",stopOpacity:0}),j.createElement("stop",{offset:.95,stopColor:"#010101"})),j.createElement("linearGradient",{id:"e",x1:236.71,y1:341.09,x2:236.71,y2:400.36,xlinkHref:"#b"}),j.createElement("linearGradient",{id:"c",x1:224.9,y1:346.73,x2:252.31,y2:206.71,gradientUnits:"userSpaceOnUse"},j.createElement("stop",{offset:0,stopColor:"#fff",stopOpacity:0}),j.createElement("stop",{offset:.95,stopColor:"#fff"})),j.createElement("linearGradient",{id:"f",x1:210.88,y1:311.27,x2:250.61,y2:311.27,xlinkHref:"#b"}),j.createElement("linearGradient",{id:"g",x1:223.84,y1:324.62,x2:258.66,y2:324.62,xlinkHref:"#c"}),j.createElement("linearGradient",{id:"h",x1:170.56,y1:395.25,x2:224.36,y2:395.25,xlinkHref:"#a"}),j.createElement("linearGradient",{id:"i",x1:259.78,y1:395.21,x2:306.81,y2:395.21,xlinkHref:"#a"}))),j.createElement("path",{d:"M47.72 209.34c5.86-11.1 15.44-21.13 15.81-33.68.26-9.18-4.56-17.6-8.09-26.09-18-43.23.64-98.39 41.13-121.9 22.1-12.83 48.29-16.49 73.8-17.93a500.35 500.35 0 0 1 86.79 2.63c16.88 2 34.55 5.23 47.61 16.1 20.47 17 23.36 46.63 31.14 72.09 13.67 44.72 47.42 82.87 90.13 101.9 7.73 3.44 15.92 6.4 22.17 12.1 13.71 12.48 13.85 34.94 5.4 51.44s-23.52 28.43-38.17 39.83l-45.46 35.45c-9.2 7.17-18.62 14.47-29.65 18.26-36.75 12.64-86.6-2.22-124.75-3.91-24.63-1.1-50.74 1.34-74.81-5.08-53.28-14.23-124.33-81.88-93.05-141.21z",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),j.createElement("rect",{x:271.83,y:187.67,width:136.11,height:83.47,rx:10.6,transform:"rotate(-180 338.605 204.39)",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),j.createElement("rect",{x:71.79,y:227.5,width:105.11,height:65.32,rx:8.24,transform:"rotate(-180 123.06 235.14)",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),j.createElement("path",{d:"M482.81 165.57h-160a26.46 26.46 0 0 1-26.43-26.42V26.53A26.46 26.46 0 0 1 322.81.1h160a26.46 26.46 0 0 1 26.42 26.43v112.62a26.45 26.45 0 0 1-26.42 26.42zm-160-161.52a22.5 22.5 0 0 0-22.48 22.48v112.62a22.5 22.5 0 0 0 22.48 22.47h160a22.5 22.5 0 0 0 22.47-22.47V26.53a22.5 22.5 0 0 0-22.47-22.48zM200.05 73.42h-64.9a11.9 11.9 0 0 1-11.89-11.89V15.86a11.9 11.9 0 0 1 11.89-11.9h64.9a11.9 11.9 0 0 1 11.89 11.9v45.67a11.9 11.9 0 0 1-11.89 11.89zm-64.9-65.46a8 8 0 0 0-7.94 7.94v45.67a8 8 0 0 0 7.94 7.94h64.9a8 8 0 0 0 7.94-7.94V15.86a8 8 0 0 0-7.94-7.9z",fill:"#4b39ef",opacity:.63,style:{isolation:"isolate"}}),r||(r=j.createElement("path",{d:"M225.82 292.41a6.15 6.15 0 0 0 1 3.21 4.57 4.57 0 0 0 2.14 1.39c3.82 1.35 8-.21 11.75-1.76a10.11 10.11 0 0 0 4.36-2.77 9.44 9.44 0 0 0 1.47-5.29 79.24 79.24 0 0 0-.93-18.07 9.62 9.62 0 0 0-1.53-4.39c-1.85-2.45-5.33-2.78-8.4-2.9-7.73-.29-10-1.28-10.44 6.82a147.34 147.34 0 0 0 .58 23.76z",transform:"translate(-2.56 -50.04)",fill:"url(#a)"})),i||(i=j.createElement("path",{d:"M203.56 234.62a41 41 0 0 0 7.62 11.63 32.35 32.35 0 0 0 49.6-3.51c4.8-6.69 6.86-14.94 8.3-23.05 1.25-7.1 2.1-14.49.25-21.46-2.43-9.11-9.4-16.62-17.8-20.88s-18.1-5.5-27.5-4.83c-5.88.43-11.82 1.62-16.93 4.54-10.1 5.74-10.56 13.7-10.1 24.08.55 11.38 1.83 22.99 6.56 33.48z",transform:"translate(-2.56 -50.04)",fill:"url(#d)"})),o||(o=j.createElement("path",{d:"M222.9 97.08c-2.78-3-6.07-6.06-10.17-6.55s-8.78 2.9-8 7c-6.35-3.05-13.79-5.56-20.29-2.85-5.46 2.26-9 8-9.76 13.82s1 11.82 3.76 17a28.37 28.37 0 0 0 6.13 8.1c5.86 5.16 14 6.6 21.78 7.51 13.2 1.54 26.84 2.1 39.49-2 3.82-1.23 8.59-2.67 11.37.23 2.07 2.15 2.69 6.41 5.68 6.4 2.42 0 3.52-3 3.75-5.43a44.83 44.83 0 0 0-1.72-17.12c-2.91-9.63-9.84-17-20.39-16.92-9.77.12-14.88-1.81-21.63-9.19z",fill:"#e08142"})),l||(l=j.createElement("rect",{x:199.58,y:149.95,width:25.75,height:17.78,rx:7.23,fill:"none",stroke:"#fff",strokeMiterlimit:10,strokeWidth:3.95})),c||(c=j.createElement("rect",{x:234.6,y:149.95,width:25.75,height:17.78,rx:7.23,fill:"none",stroke:"#fff",strokeMiterlimit:10,strokeWidth:3.95})),s||(s=j.createElement("path",{fill:"#fff",d:"M223.07 156.99h14.35v2.13h-14.35zm-33.49-2.22h11.67v3.33h-11.67zm69.27 1.3h12.97v2.22h-12.97z"})),d||(d=j.createElement("path",{d:"M197.07 185.74a40.73 40.73 0 0 0 .66 9.62c1.62 7 7 12.79 13.38 16.08a51.41 51.41 0 0 1 5.55 2.92c1.82 1.25 3.33 2.93 5.16 4.18a14.17 14.17 0 0 0 14.94.45c1.39-.83 2.77-1.95 4.39-1.87 1.24 0 2.32.81 3.49 1.21 2.67.91 5.59-.08 8.15-1.27s4.93-2.61 6-5.05c.71-1.58.74-3.37 1.08-5.07.86-4.36 3.67-8.06 5.4-12.16 3.6-8.49 2.4-18.16 1.14-27.29l-4.16 6.89c-1.4 2.32-3 4.79-5.54 5.71-3.35 1.19-6.91-.75-10.15-2.24a42.21 42.21 0 0 0-32.68-.85c-2.16.86-4.45 1.92-6.72 1.38-2.7-.64-6.65-7.74-8.78-7.12-2.6.78-1.29 12.3-1.31 14.48z",fill:"#e08142"})),m||(m=j.createElement("path",{d:"M223.3 233.22c27.08-3.86 55.85 9.87 69.89 33.35 4.68 7.84 7.82 16.57 13 24.1 5.47 8 13 14.29 19.29 21.63a87.06 87.06 0 0 1 12.65 19.59c3 6.44 5.13 14.48 1.1 20.35-3.7 5.4-11 6.7-17.55 7.19-13 1-26.11.67-39.17.34l-128.32-3.17c-5.72-.14-11.58-.31-16.89-2.44s-10-6.69-10.68-12.37c-1-8.32 6.45-14.84 12-21.13 16.13-18.36 19.74-45.07 35.28-63.93a63.48 63.48 0 0 1 47.54-22.77",fill:"#4b39ef"})),u||(u=j.createElement("path",{d:"M225.86 283.26c27.08-3.86 55.85 9.87 69.89 33.35 4.68 7.84 7.82 16.57 13 24.1 5.47 8 13 14.29 19.29 21.63a87.06 87.06 0 0 1 12.65 19.59c3 6.44 5.13 14.48 1.1 20.35-3.7 5.4-11 6.7-17.55 7.19-13 1-26.11.67-39.17.34l-128.32-3.17c-5.72-.14-11.58-.31-16.89-2.44s-10-6.69-10.68-12.37c-1-8.32 6.45-14.84 12-21.13 16.13-18.36 19.74-45.07 35.28-63.93A63.48 63.48 0 0 1 224 284",transform:"translate(-2.56 -50.04)",fill:"url(#b)"})),f||(f=j.createElement("path",{fill:"#4b39ef",d:"M178.65 350.18h116.13v7.78H178.65z"})),p||(p=j.createElement("path",{fill:"url(#e)",d:"M178.65 350.18h116.13v7.78H178.65z"})),h||(h=j.createElement("rect",{x:146.6,y:221.64,width:182.66,height:110.39,rx:20.61,fill:"#4b39ef"})),v||(v=j.createElement("rect",{x:146.6,y:224.97,width:182.66,height:110.39,rx:20.61,fill:"url(#c)"})),b||(b=j.createElement("path",{opacity:.26,fill:"url(#f)",d:"m210.88 330.71 19.44-39.43h17.79l2.5 39.99-39.73-.56z"})),g||(g=j.createElement("path",{fill:"#4b39ef",d:"M257 357.96h-34.83l8.15-66.68h17.79l8.89 66.68z"})),y||(y=j.createElement("path",{fill:"url(#g)",d:"M258.66 357.96h-34.82l8.15-66.68h17.78l8.89 66.68z"})),w||(w=j.createElement("rect",{x:298.33,width:208.93,height:161.51,rx:24.45,fill:"#fff"})),j.createElement("path",{d:"M124.69 200.25H18.23A18.26 18.26 0 0 1 0 182.01V107.1a18.26 18.26 0 0 1 18.23-18.24h106.46a18.26 18.26 0 0 1 18.23 18.24v74.91a18.26 18.26 0 0 1-18.23 18.24zM18.23 92.81A14.31 14.31 0 0 0 3.94 107.1v74.91a14.31 14.31 0 0 0 14.29 14.29h106.46a14.31 14.31 0 0 0 14.29-14.29V107.1a14.31 14.31 0 0 0-14.29-14.29z",fill:"#4b39ef",opacity:.63,style:{isolation:"isolate"}}),E||(E=j.createElement("rect",{x:1.97,y:88.16,width:138.98,height:107.44,rx:16.26,fill:"#fff"})),x||(x=j.createElement("rect",{x:124.96,y:4.14,width:84.73,height:65.5,rx:9.91,fill:"#fff"})),z||(z=j.createElement("path",{d:"m135.76 37.58 21.38-11v3.18l-18 9v.1l18 9v3.19l-21.38-11zm24.36 15.38 12.86-33.42h3.13l-12.9 33.42zm40.26-12.76-21.36 11v-3.24l18.15-9v-.15l-18.15-9v-3.24l21.36 11z",fill:"#4b39ef"})),k||(k=j.createElement("path",{d:"M212.62 385.73c-4.58-.92-9.3-.08-14 .06-4.48.13-9-.4-13.43 0s-9.07 2-11.93 5.41a11.85 11.85 0 0 0-2.72 7.93 6.21 6.21 0 0 0 .8 3.08c1.22 1.95 3.76 2.54 6 2.87a4.06 4.06 0 0 0 1.39 0c1.65-.36 2.23-2.48 3.66-3.36a5.64 5.64 0 0 1 3.13-.54q17.58.36 35.17-.14a4.63 4.63 0 0 0 2.33-.48c3.2-2-.5-6.48-1.65-8.62a12.66 12.66 0 0 0-8.75-6.21z",transform:"translate(-2.56 -50.04)",fill:"url(#h)"})),N||(N=j.createElement("path",{d:"M261.4 391.74c-1.61 2.21-2.49 5.72-.32 7.38 1.95 1.5 4.81.26 6.63-1.39s3.48-3.79 5.9-4.26c.36 2.1.84 4.4 2.56 5.65 2.61 1.9 6.21.26 9.43.29 2.9 0 6.21 1.37 8.45-.48 1.16-1 2.48-2.77 3.68-1.85a2.39 2.39 0 0 1 .69 1.23 34.38 34.38 0 0 0 4.8 9.45c1.46.57 2.56-1.41 2.84-3a47.44 47.44 0 0 0 .51-13.14c-.24-2.44-.76-5-2.5-6.76-2.27-2.27-5.86-2.37-9.07-2.32l-12.88.19c-7.66.15-15.95 2.49-20.72 9.01z",transform:"translate(-2.56 -50.04)",fill:"url(#i)"})),j.createElement("path",{d:"M251.99 261.53a12.77 12.77 0 1 1-12.79-12.79 8.57 8.57 0 0 1 2 .2 12.61 12.61 0 0 0 10.74 12.12 1.83 1.83 0 0 1 .05.47z",fill:"#4b39ef",opacity:.59,style:{isolation:"isolate"}}),O||(O=j.createElement("path",{d:"M324.96 21.4h53.4v3.92h-53.4zm0 7.58h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.59h44.82v3.88h-44.82zm14.39 7.58h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.58h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-76.45 10.25h53.4v3.92h-53.4zm0 7.58h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.58h44.82v3.88h-44.82zm14.39 7.59h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.58h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-76.45 10.26h53.4v3.92h-53.4zm0 7.57h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.58h44.82v3.88h-44.82zm14.39 7.58h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.6h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-382.9-27.97H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.94h29.12v2.52H29.52zm9.35 4.92h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.93h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17zm-49.66 6.66H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.93h29.12v2.52H29.52zm9.35 4.93h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.92h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17zm-49.66 6.67H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.92h29.12v2.52H29.52zm9.35 4.93h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.93h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17z",opacity:.52,fill:"#4b39ef"})),M||(M=j.createElement("path",{d:"M338.05 250.67c.32-1.71.66-3.42 1-5.13.18-1 .35-1.93.54-3 1.6.27 3.16.52 4.71.82a.8.8 0 0 0 1.05-.52c.7-1.36 1.48-2.68 2.3-4a.77.77 0 0 0-.07-1.12c-1-1.19-2-2.42-3.11-3.69l6.7-5.63c1 1.23 2.06 2.42 3.05 3.65a.84.84 0 0 0 1.22.28 33.56 33.56 0 0 1 4.14-1.51c.65-.19.8-.45.79-1.06v-4.65h8.74v4.67c0 .62.16.85.79 1a35.33 35.33 0 0 1 4.14 1.52.83.83 0 0 0 1.21-.3c1-1.21 2-2.39 3.05-3.64l6.69 5.62-3.43 4.11c.93 1.71 1.8 3.35 2.73 4.95.1.18.54.27.8.23 1.56-.24 3.12-.53 4.78-.82l1.52 8.6c-1.63.29-3.21.56-4.78.87-.26.05-.64.29-.68.5-.31 1.82-.56 3.65-.85 5.58l4.62 2.68-4.37 7.57-4.65-2.67c-1.5 1.2-2.95 2.34-4.38 3.53a.83.83 0 0 0-.13.74c.52 1.55 1.09 3.08 1.67 4.68l-8.21 3c-.51-1.39-1.06-2.75-1.49-4.15a1.19 1.19 0 0 0-1.5-1 31.73 31.73 0 0 1-4.25 0 .71.71 0 0 0-.87.58c-.52 1.5-1.08 3-1.66 4.56l-8.22-3 1.84-5.08-4.63-3.9-4.69 2.7-4.38-7.57c1.45-.84 2.81-1.64 4.19-2.41a.76.76 0 0 0 .43-1 44.39 44.39 0 0 1-.76-4.27c-.09-.7-.25-1-1-1.13-1.52-.17-3-.5-4.52-.77zm26.76-10.43a11.17 11.17 0 1 0 11 11.36 11.23 11.23 0 0 0-11-11.36zm48.72 35.72 1.91 6c-1.11.37-2.18.69-3.21 1.08a.91.91 0 0 0-.51.65c-.09 1.06-.06 2.12-.14 3.18a.7.7 0 0 0 .53.85c1 .37 2 .81 3.08 1.25-.8 2-1.56 3.85-2.35 5.79-1.09-.44-2.12-.89-3.17-1.26a.91.91 0 0 0-.8.18c-.84.89-1.63 1.84-2.51 2.85l1.79 3.42-5.52 2.94c-.55-1-1.05-2-1.6-3a.88.88 0 0 0-.66-.4c-1.27.15-2.54.38-3.85.58l-.83 3.77-6.1-1.31.79-3.77c-1.13-.74-2.21-1.47-3.32-2.15a.79.79 0 0 0-.7.12c-.9.66-1.77 1.36-2.71 2.09l-3.85-4.93c.92-.72 1.76-1.4 2.63-2.05a.67.67 0 0 0 .3-.94 27.5 27.5 0 0 1-1-2.95.68.68 0 0 0-.78-.62h-3.16v-6.3h3.94c.5-1.18 1-2.36 1.51-3.57.07-.18-.12-.55-.29-.72-.78-.76-1.61-1.47-2.47-2.25l4.18-4.65 2.88 2.57c1.22-.62 2.41-1.2 3.58-1.84.14-.08.2-.46.18-.68-.12-1.08-.29-2.16-.45-3.33l6.19-.86c.16 1.11.32 2.13.43 3.16.06.58.3.82.91.89a19.56 19.56 0 0 1 2.71.59.77.77 0 0 0 1.06-.39c.53-.93 1.12-1.81 1.74-2.79l5.29 3.32-2 3.27c.79 1.07 1.56 2.13 2.37 3.14a1 1 0 0 0 .77.12c1.06-.31 2.12-.66 3.21-1.05zm-16.8 16.75a8 8 0 1 0-8.12-7.84 8 8 0 0 0 8.12 7.87zm18.19-50.61 2.41-1.89 3.06 3.87c-.59.47-1.11 1-1.7 1.34s-.81.81-.41 1.46a2.94 2.94 0 0 1 .3.76c.52 1.58.52 1.58 2.22 1.65h1.21v4.89h-2.55c-.47 0-.7.11-.8.57a6.05 6.05 0 0 1-.36 1.09c-.62 1.55-.63 1.55.65 2.68l1 .87-3.28 3.69-2.3-2c-.9.47-1.8.91-2.67 1.41a.82.82 0 0 0-.25.65c.08.84.22 1.67.34 2.58l-4.87.71c-.13-.89-.23-1.73-.41-2.54a.93.93 0 0 0-.56-.6c-.9-.23-1.81-.38-2.82-.58l-1.63 2.6-4.19-2.59c.45-.74.86-1.45 1.31-2.13a.63.63 0 0 0-.08-1 8.61 8.61 0 0 1-.95-1.13c-.77-1.07-.76-1.07-2.05-.65-.51.18-1 .34-1.66.54l-1.55-4.67c.81-.27 1.56-.55 2.34-.77a.72.72 0 0 0 .61-.87 13.67 13.67 0 0 1 .08-2.12.69.69 0 0 0-.53-.85c-.77-.27-1.52-.59-2.33-.92l1.82-4.58c.84.33 1.62.67 2.42.93a.87.87 0 0 0 .75-.16c.66-.69 1.26-1.43 1.93-2.2l-1.42-2.7 4.33-2.34 1.48 2.69 3.36-.5.64-3 4.82 1c-.17.84-.32 1.63-.5 2.42a.73.73 0 0 0 .43 1c.79.38 1.54.89 2.36 1.39zm-14 9.24a6.28 6.28 0 1 0 6.39-6.26 6.22 6.22 0 0 0-6.38 6.26z",opacity:.61,fill:"#4b39ef"})))};function C(){return j.createElement("div",{className:"section py-6 py-md-7 bg-white"},j.createElement("div",{className:"container"},j.createElement("div",{className:"row mb-5 mt-5 mb-lg-7"},j.createElement("div",{className:"col-6 align-self-center"},j.createElement("div",{className:"px-5 px-md-7 mb-5 my-lg-0","data-aos":"fade-up","data-aos-delay":"100"},j.createElement(_,{className:"img-fluid"}))),j.createElement("div",{className:"col-6 "},j.createElement("div",{className:"mb-5 my-lg-0","data-aos":"fade-up","data-aos-delay":"200"},j.createElement("img",{src:(0,H.Z)("/home/ai2d.png"),alt:""}))))))}},5166:e=>{"use strict";e.exports=JSON.parse('{"zh-CN":{"common":{"getStart":"\u5feb\u901f\u5f00\u59cb","architecture":"\u7cfb\u7edf\u67b6\u6784","learnMore":"\u4e86\u89e3\u66f4\u591a","coreFeatures":"\u6838\u5fc3\u7279\u6027","coreFeaturesDesc":"\u8ba9\u60a8\u7684\u9879\u76ee\u66f4\u8f7b\u677e\u7684\u6838\u5fc3\u7279\u6027","honor":"\u6211\u4eec\u7684\u8363\u8a89","ourUsers":"Our Users","readMore":"\u9605\u8bfb\u66f4\u591a","download":"\u4e0b\u8f7d","releaseDate":"\u53d1\u5e03\u65e5\u671f","newFeatures":"\u65b0\u7279\u6027","enhancement":"\u589e\u5f3a\u70b9","bugFixs":"\u95ee\u9898\u4fee\u590d","changeLog":"\u8be6\u7ec6\u53d8\u66f4"},"slogan":{"key":"AI\u751f\u6210\u56fe\u5f62\u6a21\u578b","description":"\u4e00\u53e5\u8bdd\u751f\u6210\u4efb\u4f55\u56fe\u5f62"},"feature":[{"title":"AI\u751f\u62102D\u56fe\u5f62","icon":"lni-bar-chart","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd2D\u56fe\u5f62"},{"title":"AI\u751f\u62103D\u573a\u666f","icon":"lni-dropbox","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd3D\u573a\u666f"},{"title":"\u591a\u79cd\u6570\u636e\u6e90","icon":"lni-database","details":"\u6570\u636e\u6e90\u63d2\u4ef6\u4e0e\u63d0\u793a\u8bcd\u7ed3\u5408"},{"title":"\u4e09\u65b9\u63d2\u4ef6\u673a\u5668\u4eba","icon":"lni-game","details":"\u4e3a\u4e86\u63d0\u4f9b\u66f4\u597d\u670d\u52a1\uff0c\u652f\u6301\u63d2\u4ef6\u673a\u5668\u4eba\uff0c\u4f8b\u5982Huggingface space"},{"title":"\u53ef\u89c6\u5316\u6a21\u578b","icon":"lni-eye","details":"\u4e3a\u4e86\u66f4\u597d\u751f\u6210\u53ef\u89c6\u5316\u56fe\u5f62\uff0c\u81ea\u7814\u53ef\u89c6\u5316\u6a21\u578b"},{"title":"\u5bb9\u5668\u5316\u90e8\u7f72","icon":"lni-soundcloud","details":"\u4e3a\u4e86\u5feb\u901f\u4f7f\u7528\uff0c\u652f\u6301\u5bb9\u5668\u5316\u90e8\u7f72"}],"honor":{"description":"\u6211\u4eec\u83b7\u5f97\u4e86\u4e9b\u6b8a\u8363\uff0c\u8fd9\u4e9b\u8363\u8a89\u5c5e\u4e8e\u6240\u6709\u4e3a SolidUI \u505a\u51fa\u8d21\u732e\u7684\u4eba\uff0c\u611f\u8c22\u60a8\u7684\u4ed8\u51fa\uff01"}},"en":{"common":{"getStart":"Quick Start","architecture":"System Architecture","description":"Description","learnMore":"Learn More","coreFeatures":"Core Features","coreFeaturesDesc":"Modern features that will make your project easier.","honor":"Our Honor","ourUsers":"Our Users","readMore":"Read More","download":"Download","releaseDate":"Release Date","newFeatures":"New Features","enhancement":"Enhancement point","bugFixs":"Bug Fix","changeLog":"Changelog"},"slogan":{"key":"AI-generated Graphic Models","description":"one sentence generates any graph"},"feature":[{"title":"AI generated 2D graphics","icon":"lni-bar-chart","details":"Generate various 2D graphics based on the visualization model"},{"title":"AI generated 3D scene","icon":"lni-dropbox","details":"Generate various 3D scenes based on the visualization model"},{"title":"Multiple data sources","icon":"lni-database","details":"Data source plugin combined with prompt words"},{"title":"Three-party plug-in robot","icon":"lni-game","details":"In order to provide better service, support plug-in robots, such as Huggingface space"},{"title":"Visualization Model","icon":"lni-eye","details":"In order to better generate visualization graphics, self-developed visualization model"},{"title":"Containerized Deployment","icon":"lni-soundcloud","details":"For quick use, support containerized deployment"}],"honor":{"description":"We have received some precious honors, which belong to everyone who contributes to SolidUI, Thanks"}}}')}}]); \ No newline at end of file diff --git a/assets/js/f36b3ff0.04e26127.js b/assets/js/f36b3ff0.04e26127.js new file mode 100644 index 00000000..d98009fb --- /dev/null +++ b/assets/js/f36b3ff0.04e26127.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5282],{3905:(e,n,t)=>{t.d(n,{Zo:()=>u,kt:()=>g});var i=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);n&&(i=i.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,i)}return t}function a(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function c(e,n){if(null==e)return{};var t,i,o=function(e,n){if(null==e)return{};var t,i,o={},r=Object.keys(e);for(i=0;i<r.length;i++)t=r[i],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)t=r[i],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var l=i.createContext({}),s=function(e){var n=i.useContext(l),t=n;return e&&(t="function"==typeof e?e(n):a(a({},n),e)),t},u=function(e){var n=s(e.components);return i.createElement(l.Provider,{value:n},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var n=e.children;return i.createElement(i.Fragment,{},n)}},p=i.forwardRef((function(e,n){var t=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=s(t),p=o,g=d["".concat(l,".").concat(p)]||d[p]||m[p]||r;return t?i.createElement(g,a(a({ref:n},u),{},{components:t})):i.createElement(g,a({ref:n},u))}));function g(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var r=t.length,a=new Array(r);a[0]=p;var c={};for(var l in n)hasOwnProperty.call(n,l)&&(c[l]=n[l]);c.originalType=e,c[d]="string"==typeof e?e:o,a[1]=c;for(var s=2;s<r;s++)a[s]=t[s];return i.createElement.apply(null,a)}return i.createElement.apply(null,t)}p.displayName="MDXCreateElement"},495:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>a,default:()=>m,frontMatter:()=>r,metadata:()=>c,toc:()=>s});var i=t(7462),o=(t(7294),t(3905));const r={id:"community-operation",title:"Community Operation",sidebar_position:1},a=void 0,c={unversionedId:"operational/community-operation/community-operation",id:"operational/community-operation/community-operation",title:"Community Operation",description:"Community Co-building Cooperation",source:"@site/docs/operational/community-operation/README.md",sourceDirName:"operational/community-operation",slug:"/operational/community-operation/",permalink:"/SolidUI-Website/docs/operational/community-operation/",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/operational/community-operation/README.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"community-operation",title:"Community Operation",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Kubernetes Deployment",permalink:"/SolidUI-Website/docs/deployment/deployment-kubernetes"},next:{title:"Server Architecture",permalink:"/SolidUI-Website/docs/design/server-architecture/"}},l={},s=[{value:"Community Co-building Cooperation",id:"community-co-building-cooperation",level:2},{value:"Open Source Community Co-building Terms",id:"open-source-community-co-building-terms",level:2},{value:"Share Valuable Content",id:"share-valuable-content",level:2},{value:"Organize Online or Offline Events",id:"organize-online-or-offline-events",level:2},{value:"Interaction and Communication",id:"interaction-and-communication",level:2},{value:"Cooperation and Co-creation",id:"cooperation-and-co-creation",level:2},{value:"Trial Environment and Resource Sharing",id:"trial-environment-and-resource-sharing",level:2},{value:"Prioritize Resolving Co-building Issues",id:"prioritize-resolving-co-building-issues",level:2},{value:"Adhere to the Code of Conduct",id:"adhere-to-the-code-of-conduct",level:2},{value:"Chinese document writing standards",id:"chinese-document-writing-standards",level:2}],u={toc:s},d="wrapper";function m(e){let{components:n,...t}=e;return(0,o.kt)(d,(0,i.Z)({},u,t,{components:n,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"community-co-building-cooperation"},"Community Co-building Cooperation"),(0,o.kt)("h2",{id:"open-source-community-co-building-terms"},"Open Source Community Co-building Terms"),(0,o.kt)("p",null,"These terms aim to provide a friendly, relaxed, and mutually beneficial environment for all members participating in community co-building."),(0,o.kt)("h2",{id:"share-valuable-content"},"Share Valuable Content"),(0,o.kt)("p",null,"Share valuable technical articles, tutorials, case studies, etc., in your community, allowing members to understand and learn related technologies.\nRegularly publish community news and progress, keeping members informed about the latest developments in the co-building community."),(0,o.kt)("h2",{id:"organize-online-or-offline-events"},"Organize Online or Offline Events"),(0,o.kt)("p",null,"Organize online or offline Meetups, workshops, technical salons, and other activities, inviting members to participate.\nEngage in technical exchanges and discussions during events to enhance understanding and collaboration among members."),(0,o.kt)("h2",{id:"interaction-and-communication"},"Interaction and Communication"),(0,o.kt)("p",null,"Encourage members to interact and communicate within the community, asking questions, answering questions, and sharing experiences.\nSet up dedicated discussion areas within the community, making it easy for members to discuss co-building topics and technical issues."),(0,o.kt)("h2",{id:"cooperation-and-co-creation"},"Cooperation and Co-creation"),(0,o.kt)("p",null,"Collaborate with other communities to jointly organize events, share resources, and exchange technical experiences.\nEncourage members to participate in co-building projects, jointly creating open source software and technical solutions."),(0,o.kt)("h2",{id:"trial-environment-and-resource-sharing"},"Trial Environment and Resource Sharing"),(0,o.kt)("p",null,"When trying out new features and environments, prioritize notifying co-building community members and invite them to test and provide feedback together.\nShare valuable resources within the co-building community, enabling other members to better understand and learn related technologies."),(0,o.kt)("h2",{id:"prioritize-resolving-co-building-issues"},"Prioritize Resolving Co-building Issues"),(0,o.kt)("p",null,"When a co-building community member raises an issue, prioritize addressing and resolving it.\nActively communicate with co-building community members during the issue resolution process to ensure the issue is properly handled."),(0,o.kt)("h2",{id:"adhere-to-the-code-of-conduct"},"Adhere to the Code of Conduct"),(0,o.kt)("p",null,"Respect others, actively participate in community building, and maintain a positive community atmosphere.\nAbide by the community's code of conduct, abstaining from participating in or condoning any form of discrimination, harassment, or improper behavior.\nWe hope that these terms provide clear guidance for community co-building, allowing everyone to jointly operate the community effectively. Thank you for your support and participation!"),(0,o.kt)("h2",{id:"chinese-document-writing-standards"},"Chinese document writing standards"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://github.com/ruanyf/document-style-guide"},"Ruan YiFeng document-style-guide")))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fea061e2.e0898e6c.js b/assets/js/fea061e2.e0898e6c.js new file mode 100644 index 00000000..d8977d15 --- /dev/null +++ b/assets/js/fea061e2.e0898e6c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3370],{3905:(e,t,o)=>{o.d(t,{Zo:()=>m,kt:()=>h});var i=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,i)}return o}function a(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?r(Object(o),!0).forEach((function(t){n(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):r(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function s(e,t){if(null==e)return{};var o,i,n=function(e,t){if(null==e)return{};var o,i,n={},r=Object.keys(e);for(i=0;i<r.length;i++)o=r[i],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)o=r[i],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var l=i.createContext({}),c=function(e){var t=i.useContext(l),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},m=function(e){var t=c(e.components);return i.createElement(l.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},p=i.forwardRef((function(e,t){var o=e.components,n=e.mdxType,r=e.originalType,l=e.parentName,m=s(e,["components","mdxType","originalType","parentName"]),d=c(o),p=n,h=d["".concat(l,".").concat(p)]||d[p]||u[p]||r;return o?i.createElement(h,a(a({ref:t},m),{},{components:o})):i.createElement(h,a({ref:t},m))}));function h(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=o.length,a=new Array(r);a[0]=p;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:n,a[1]=s;for(var c=2;c<r;c++)a[c]=o[c];return i.createElement.apply(null,a)}return i.createElement.apply(null,o)}p.displayName="MDXCreateElement"},5033:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var i=o(7462),n=(o(7294),o(3905));const r={id:"development-commit",title:"Development Commit",sidebar_position:1},a="SolidUI Commit Message",s={unversionedId:"development/development-commit",id:"development/development-commit",title:"Development Commit",description:"https://linkis.apache.org/zh-CN/docs/latest/development/development-specification/commit-message",source:"@site/docs/development/development-commit.md",sourceDirName:"development",slug:"/development/development-commit",permalink:"/SolidUI-Website/docs/development/development-commit",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/docs/development/development-commit.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"development-commit",title:"Development Commit",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Quick start",permalink:"/SolidUI-Website/docs/user-guide/quick-start"},next:{title:"Docker Build",permalink:"/SolidUI-Website/docs/development/development-docker"}},l={},c=[{value:"1. Introduction",id:"1-introduction",level:2},{value:"2. Commit Message RIP",id:"2-commit-message-rip",level:2},{value:"2.1 Clarify Changes",id:"21-clarify-changes",level:3},{value:"2.2 Associate with Relevant Pull Requests or Issues",id:"22-associate-with-relevant-pull-requests-or-issues",level:3},{value:"2.3 Unified Format",id:"23-unified-format",level:3},{value:"Header",id:"header",level:4},{value:"Body",id:"body",level:4},{value:"Footer",id:"footer",level:4},{value:"Example",id:"example",level:4},{value:"3. Reference Documents",id:"3-reference-documents",level:2}],m={toc:c},d="wrapper";function u(e){let{components:t,...o}=e;return(0,n.kt)(d,(0,i.Z)({},m,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"solidui-commit-message"},"SolidUI Commit Message"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},(0,n.kt)("a",{parentName:"p",href:"https://linkis.apache.org/zh-CN/docs/latest/development/development-specification/commit-message"},"https://linkis.apache.org/zh-CN/docs/latest/development/development-specification/commit-message"))),(0,n.kt)("h2",{id:"1-introduction"},"1. Introduction"),(0,n.kt)("p",null," A good commit message can help other developers (or future developers) quickly understand the context of related changes, and also help project managers determine whether the commit is suitable for inclusion in a release. However, after reviewing the commit logs of many open-source projects, we found an interesting problem: some developers have good code quality, but their commit messages are messy. When other contributors or learners view the code, they cannot intuitively understand the purpose of the changes before and after the commit. As Peter Hutterer said: Re-establishing the context of a piece of code is wasteful. We can't avoid it completely, so our efforts should go to reducing it as much as possible. Commit messages can do exactly that and as a result, a commit message shows whether a developer is a good collaborator. Therefore, SolidUI has established this convention in combination with other communities and official Apache documentation."),(0,n.kt)("h2",{id:"2-commit-message-rip"},"2. Commit Message RIP"),(0,n.kt)("h3",{id:"21-clarify-changes"},"2.1 Clarify Changes"),(0,n.kt)("p",null,"Commit messages should clearly state the problems being addressed (bug fixes, feature enhancements, etc.) to help users and developers better track issues and clarify the optimization process during version iterations."),(0,n.kt)("h3",{id:"22-associate-with-relevant-pull-requests-or-issues"},"2.2 Associate with Relevant Pull Requests or Issues"),(0,n.kt)("p",null,"When our changes are large, it's best to associate the commit message with related Issues or Pull Requests on GitHub. This way, our developers can quickly understand the context of the code changes through the associated information when reviewing the code. If the current commit is for a specific issue, it can be closed in the Footer section."),(0,n.kt)("h3",{id:"23-unified-format"},"2.3 Unified Format"),(0,n.kt)("p",null,"Formatted commit messages can help us provide more historical information, facilitate quick browsing, and generate Change Logs directly from commits."),(0,n.kt)("p",null,"Commit messages should include three parts: Header, Body, and Footer. The Header is required, while the Body and Footer are optional."),(0,n.kt)("h4",{id:"header"},"Header"),(0,n.kt)("p",null,"The Header section consists of a single line and includes three fields: type (required), scope (optional), and subject (required)."),(0,n.kt)("p",null,"[DS-ISSUE number][type]"," subject"),(0,n.kt)("p",null,"(1) Type is used to indicate the category of the commit, and only the following seven identifiers are allowed:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"feat: New feature"),(0,n.kt)("li",{parentName:"ul"},"fix: Bug fix"),(0,n.kt)("li",{parentName:"ul"},"docs: Documentation"),(0,n.kt)("li",{parentName:"ul"},"style: Formatting changes (that do not affect code execution)"),(0,n.kt)("li",{parentName:"ul"},"refactor: Refactoring (code changes that neither add features nor fix bugs)"),(0,n.kt)("li",{parentName:"ul"},"test: Adding tests"),(0,n.kt)("li",{parentName:"ul"},"chore: Changes to the build process or auxiliary tools")),(0,n.kt)("p",null,"If the type is 'feat' or 'fix', the commit will definitely appear in the Change Log. For other cases (docs, chore, style, refactor, test), it is recommended not to include them."),(0,n.kt)("p",null,"(2) Scope"),(0,n.kt)("p",null,"Scope is used to indicate the affected range of the commit, such as server, remote, etc. If there is no more suitable scope, you can use an asterisk (*)."),(0,n.kt)("p",null,"(3) Subject"),(0,n.kt)("p",null,"Subject is a brief description of the purpose of the commit, not exceeding 50 characters."),(0,n.kt)("h4",{id:"body"},"Body"),(0,n.kt)("p",null,"The Body section is a detailed description of the commit, which can be divided into multiple lines. Line breaks will occur every 72 characters to avoid automatic line breaks affecting aesthetics."),(0,n.kt)("p",null,"The Body section should pay attention to the following points:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"Use the verb-object structure and the present tense, e.g., use 'change' instead of 'changed' or 'changes'")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"Do not capitalize the first letter")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"Do not end the sentence with a period (.)"))),(0,n.kt)("h4",{id:"footer"},"Footer"),(0,n.kt)("p",null,"Footer is only applicable in two situations:"),(0,n.kt)("p",null,"(1) Incompatible Changes"),(0,n.kt)("p",null,"If the current code is incompatible with the previous version, the Footer section should start with BREAKING CHANGE, followed by a description of the changes, the reasons for the changes, and the migration methods."),(0,n.kt)("p",null,"(2) Closing Issues"),(0,n.kt)("p",null,"If the current commit is for a specific issue, it can be closed in the Footer section. Multiple issues can be closed at once."),(0,n.kt)("h4",{id:"example"},"Example"),(0,n.kt)("p",null,"[SolidUI-001][docs-en]"," add commit message"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"commit message RIP"),(0,n.kt)("li",{parentName:"ul"},"build some conventions"),(0,n.kt)("li",{parentName:"ul"},"help the commit messages become clean and tidy"),(0,n.kt)("li",{parentName:"ul"},"help developers and release managers better track issues"),(0,n.kt)("li",{parentName:"ul"},"and clarify the optimization in the version iteration")),(0,n.kt)("p",null,"This closes #001"),(0,n.kt)("h2",{id:"3-reference-documents"},"3. Reference Documents"),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://cwiki.apache.org/confluence/display/GEODE/Commit+Message+Format"},"Commit Message Format")),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"http://who-t.blogspot.com/2009/12/on-commit-messages.html"},"On Commit Messages")),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://mp.weixin.qq.com/s/LKM4IXAY-7dKhTzGu5-oug"},"RocketMQ Community Operation Convention")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fed3a01c.ff3f3d33.js b/assets/js/fed3a01c.ff3f3d33.js new file mode 100644 index 00000000..89e87f2f --- /dev/null +++ b/assets/js/fed3a01c.ff3f3d33.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[221],{4469:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]); \ No newline at end of file diff --git a/assets/js/main.cb1f28af.js b/assets/js/main.cb1f28af.js new file mode 100644 index 00000000..3886f1b4 --- /dev/null +++ b/assets/js/main.cb1f28af.js @@ -0,0 +1,2 @@ +/*! For license information please see main.cb1f28af.js.LICENSE.txt */ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7294),a=n(7462),o=n(8356),i=n.n(o),s=n(6887);const l={"017a0f29":[()=>n.e(1649).then(n.t.bind(n,2919,19)),"~blog/default/solid-ui-website-blog-page-2-fd8.json",2919],"01a85c17":[()=>Promise.all([n.e(532),n.e(4013)]).then(n.bind(n,1223)),"@theme/BlogTagsListPage",1223],"035672d3":[()=>Promise.all([n.e(532),n.e(4921)]).then(n.bind(n,7805)),"@site/src/pages/team/index.jsx",7805],"08fabd1b":[()=>n.e(7445).then(n.t.bind(n,6571,19)),"~blog/default/solid-ui-website-blog-tags-stable-diffusion-page-2-9a1-list.json",6571],"0e384e19":[()=>n.e(9671).then(n.bind(n,9881)),"@site/docs/intro.md",9881],"0e49e91b":[()=>n.e(9094).then(n.bind(n,9786)),"@site/src/pages/home/hero.jsx",9786],"0e71e333":[()=>n.e(1856).then(n.bind(n,3673)),"@site/docs/design/server-architecture/README.md",3673],"0f2150f8":[()=>n.e(2558).then(n.t.bind(n,9454,19)),"~blog/default/solid-ui-website-blog-tags-ai-5d9-list.json",9454],"0fceeaee":[()=>n.e(2718).then(n.bind(n,831)),"@site/community/contribution_guide/become_committer.md",831],"1246422e":[()=>n.e(4762).then(n.t.bind(n,3769,19)),"/home/runner/work/SolidUI-Website/SolidUI-Website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],"13afd6dd":[()=>n.e(1346).then(n.t.bind(n,8768,19)),"~blog/default/solid-ui-website-blog-tags-ai-5d9.json",8768],"14bbe142":[()=>n.e(7962).then(n.bind(n,6194)),"@site/docs/development/develop-contributing.md",6194],17896441:[()=>Promise.all([n.e(532),n.e(8105),n.e(7918)]).then(n.bind(n,8945)),"@theme/DocItem",8945],"181d6f49":[()=>n.e(4798).then(n.bind(n,3168)),"@site/src/pages/home/feature.jsx",3168],"18574ea0":[()=>n.e(3362).then(n.bind(n,6856)),"@site/blog/2023-09-05-0.2.0-Release.md",6856],"1978304a":[()=>n.e(2455).then(n.bind(n,5870)),"@site/docs/development/server-compilation.md",5870],"1a4e3797":[()=>Promise.all([n.e(532),n.e(7920)]).then(n.bind(n,1473)),"@theme/SearchPage",1473],"1be78505":[()=>Promise.all([n.e(532),n.e(9514)]).then(n.bind(n,9963)),"@theme/DocPage",9963],"1df93b7f":[()=>Promise.all([n.e(532),n.e(3237)]).then(n.bind(n,9754)),"@site/src/pages/index.tsx",9754],"210a63df":[()=>n.e(3378).then(n.t.bind(n,6115,19)),"~blog/default/solid-ui-website-blog-tags-tags-f96.json",6115],"2208a986":[()=>n.e(3047).then(n.bind(n,7933)),"@site/docs/design/metadata/README.md",7933],"248e03f5":[()=>Promise.all([n.e(532),n.e(8932)]).then(n.bind(n,3808)),"@site/src/pages/user/index.js",3808],"271ff943":[()=>Promise.all([n.e(532),n.e(4827)]).then(n.bind(n,5995)),"@site/src/pages/home/performance.jsx",5995],"306a8c6c":[()=>n.e(7616).then(n.t.bind(n,9479,19)),"~docs/community/version-current-metadata-prop-751.json",9479],33058117:[()=>n.e(5024).then(n.t.bind(n,455,19)),"~blog/default/solid-ui-website-blog-tags-stable-diffusion-000.json",455],"37a2ef67":[()=>n.e(2074).then(n.t.bind(n,3040,19)),"~blog/default/solid-ui-website-blog-tags-solid-ui-page-2-6e6.json",3040],"43f8f43d":[()=>n.e(7558).then(n.bind(n,9404)),"@site/docs/development/docker-images.md",9404],"4687a2fe":[()=>n.e(4656).then(n.bind(n,1271)),"@site/blog/2023-09-05-Official-Website-Introduction.md?truncated=true",1271],"4d9f66ec":[()=>n.e(2908).then(n.bind(n,2133)),"@site/blog/2023-07-01-function-explanation-0.1.0.md?truncated=true",2133],"5434e1ce":[()=>n.e(8939).then(n.bind(n,8243)),"@site/docs/user-guide/quickstart.md",8243],"5836cbff":[()=>n.e(3288).then(n.t.bind(n,926,19)),"~blog/default/solid-ui-website-blog-tags-aigc-afe.json",926],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"6655eab5":[()=>n.e(2153).then(n.bind(n,6227)),"@site/blog/2023-07-02-snakemq-communication-source-code-analysis.md",6227],"6875c492":[()=>Promise.all([n.e(532),n.e(8105),n.e(6048),n.e(8610)]).then(n.bind(n,1714)),"@theme/BlogTagsPostsPage",1714],"6cd1964f":[()=>n.e(5516).then(n.t.bind(n,7176,19)),"~blog/default/solid-ui-website-blog-tags-solid-ui-aef.json",7176],"6d852631":[()=>n.e(8040).then(n.t.bind(n,7592,19)),"~blog/default/solid-ui-website-blog-tags-solid-ui-aef-list.json",7592],"7ba7942d":[()=>n.e(9615).then(n.bind(n,6877)),"@site/blog/2023-07-03-independent-deployment-communication-analysis.md",6877],"7f90e5b7":[()=>n.e(4391).then(n.bind(n,6561)),"@site/docs/deployment/deployment-standalone.md",6561],"814f3328":[()=>n.e(2535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"82bafcbe":[()=>n.e(240).then(n.bind(n,1848)),"@site/blog/2023-09-05-0.2.0-introduction.md?truncated=true",1848],"8ba85c45":[()=>n.e(289).then(n.t.bind(n,2481,19)),"/home/runner/work/SolidUI-Website/SolidUI-Website/.docusaurus/docusaurus-plugin-content-docs/community/plugin-route-context-module-100.json",2481],"8d1dd453":[()=>n.e(1671).then(n.t.bind(n,5986,19)),"~blog/default/solid-ui-website-blog-481.json",5986],"90b38822":[()=>n.e(5279).then(n.bind(n,7769)),"@site/community/submit_guide/document.md",7769],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9e4087bc":[()=>n.e(3608).then(n.bind(n,3169)),"@theme/BlogArchivePage",3169],a185487b:[()=>n.e(2541).then(n.bind(n,8267)),"@site/docs/test/test-case/README.md",8267],a212e31b:[()=>n.e(5842).then(n.t.bind(n,3729,19)),"~blog/default/solid-ui-website-blog-archive-541.json",3729],a38ac2fb:[()=>n.e(789).then(n.bind(n,7532)),"@site/blog/2023-07-02-snakemq-communication-source-code-analysis.md?truncated=true",7532],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(8105),n.e(6048),n.e(3089)]).then(n.bind(n,46)),"@theme/BlogListPage",46],ac0ab662:[()=>n.e(530).then(n.bind(n,8234)),"@site/community/submit_guide/submit-code.md",8234],ac717c78:[()=>n.e(8688).then(n.bind(n,9206)),"@site/blog/2023-09-05-0.2.0-introduction.md",9206],aea76b71:[()=>n.e(1637).then(n.t.bind(n,6531,19)),"~blog/default/solid-ui-website-blog-tags-stable-diffusion-page-2-9a1.json",6531],afbbc345:[()=>n.e(9084).then(n.bind(n,8440)),"@site/blog/2023-09-05-0.2.0-Release.md?truncated=true",8440],b086f4ef:[()=>n.e(627).then(n.bind(n,2946)),"@site/docs/development/project-process.md",2946],b1bdda4d:[()=>n.e(3884).then(n.t.bind(n,5745,19)),"/home/runner/work/SolidUI-Website/SolidUI-Website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],b5f0312c:[()=>n.e(5722).then(n.bind(n,4809)),"@site/docs/deployment/deplpyment-kubernetes.md",4809],b6f5f78e:[()=>n.e(4069).then(n.bind(n,904)),"@site/docs/development/frontend-document.md",904],b774a57d:[()=>n.e(1301).then(n.t.bind(n,8341,19)),"~blog/default/solid-ui-website-blog-tags-solid-ui-page-2-6e6-list.json",8341],c0b1c6d1:[()=>n.e(8807).then(n.bind(n,4824)),"@site/docs/faq/faq/faq.md",4824],c247501b:[()=>n.e(527).then(n.bind(n,3446)),"@site/docs/development/publishing-process.md",3446],c5a490c3:[()=>n.e(8445).then(n.bind(n,8599)),"@site/docs/deployment/deployment-docker.md",8599],c7491b26:[()=>n.e(5412).then(n.bind(n,3179)),"@site/blog/2023-07-03-independent-deployment-communication-analysis.md?truncated=true",3179],ccc49370:[()=>Promise.all([n.e(532),n.e(8105),n.e(6048),n.e(6103)]).then(n.bind(n,5203)),"@theme/BlogPostPage",5203],cd4de7b0:[()=>n.e(5933).then(n.bind(n,9507)),"@site/docs/deployment/deployment-web.md",9507],d97b9c6c:[()=>n.e(6160).then(n.bind(n,2446)),"@site/docs/design/front-end-architecture/README.md",2446],deb5dccc:[()=>n.e(5876).then(n.t.bind(n,4151,19)),"~blog/default/solid-ui-website-blog-tags-aigc-afe-list.json",4151],e02071e6:[()=>n.e(2957).then(n.t.bind(n,30,19)),"~blog/default/solid-ui-website-blog-tags-stable-diffusion-000-list.json",30],eaf8f7fb:[()=>n.e(9885).then(n.t.bind(n,2776,19)),"/home/runner/work/SolidUI-Website/SolidUI-Website/.docusaurus/@easyops-cn/docusaurus-search-local/default/plugin-route-context-module-100.json",2776],ed523c22:[()=>n.e(8352).then(n.bind(n,9662)),"@site/blog/2023-07-01-function-explanation-0.1.0.md",9662],eec08420:[()=>n.e(730).then(n.bind(n,5973)),"@site/blog/2023-09-05-Official-Website-Introduction.md",5973],f106860d:[()=>Promise.all([n.e(532),n.e(6393)]).then(n.bind(n,2875)),"@site/src/pages/home/index.jsx",2875],f36b3ff0:[()=>n.e(5282).then(n.bind(n,495)),"@site/docs/operational/community-operation/README.md",495],fea061e2:[()=>n.e(3370).then(n.bind(n,5033)),"@site/docs/development/development-commit.md",5033],fed3a01c:[()=>n.e(221).then(n.t.bind(n,4469,19)),"/home/runner/work/SolidUI-Website/SolidUI-Website/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469]};function u(e){let{error:t,retry:n,pastDelay:a}=e;return t?r.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},r.createElement("p",null,String(t)),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):a?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var c=n(9670),d=n(226);function f(e,t){if("*"===e)return i()({loading:u,loader:()=>n.e(4972).then(n.bind(n,4972)),modules:["@theme/NotFound"],webpack:()=>[4972],render(e,t){const n=e.default;return r.createElement(d.z,{value:{plugin:{name:"native",id:"default"}}},r.createElement(n,t))}});const o=s[`${e}-${t}`],f={},p=[],m=[],h=(0,c.Z)(o);return Object.entries(h).forEach((e=>{let[t,n]=e;const r=l[n];r&&(f[t]=r[0],p.push(r[1]),m.push(r[2]))})),i().Map({loading:u,loader:f,modules:p,webpack:()=>m,render(t,n){const i=JSON.parse(JSON.stringify(o));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let o=i;const s=n.split(".");s.slice(0,-1).forEach((e=>{o=o[e]})),o[s[s.length-1]]=a}));const s=i.__comp;delete i.__comp;const l=i.__context;return delete i.__context,r.createElement(d.z,{value:l},r.createElement(s,(0,a.Z)({},i,n)))}})}const p=[{path:"/SolidUI-Website/blog",component:f("/SolidUI-Website/blog","c7f"),exact:!0},{path:"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0",component:f("/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","1b6"),exact:!0},{path:"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis",component:f("/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","415"),exact:!0},{path:"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis",component:f("/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","150"),exact:!0},{path:"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction",component:f("/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","053"),exact:!0},{path:"/SolidUI-Website/blog/2023/09/05/0.2.0-Release",component:f("/SolidUI-Website/blog/2023/09/05/0.2.0-Release","c10"),exact:!0},{path:"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction",component:f("/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","776"),exact:!0},{path:"/SolidUI-Website/blog/archive",component:f("/SolidUI-Website/blog/archive","d30"),exact:!0},{path:"/SolidUI-Website/blog/page/2",component:f("/SolidUI-Website/blog/page/2","d64"),exact:!0},{path:"/SolidUI-Website/blog/tags",component:f("/SolidUI-Website/blog/tags","0a5"),exact:!0},{path:"/SolidUI-Website/blog/tags/ai",component:f("/SolidUI-Website/blog/tags/ai","872"),exact:!0},{path:"/SolidUI-Website/blog/tags/aigc",component:f("/SolidUI-Website/blog/tags/aigc","cf5"),exact:!0},{path:"/SolidUI-Website/blog/tags/solid-ui",component:f("/SolidUI-Website/blog/tags/solid-ui","742"),exact:!0},{path:"/SolidUI-Website/blog/tags/solid-ui/page/2",component:f("/SolidUI-Website/blog/tags/solid-ui/page/2","277"),exact:!0},{path:"/SolidUI-Website/blog/tags/stable-diffusion",component:f("/SolidUI-Website/blog/tags/stable-diffusion","20e"),exact:!0},{path:"/SolidUI-Website/blog/tags/stable-diffusion/page/2",component:f("/SolidUI-Website/blog/tags/stable-diffusion/page/2","fd7"),exact:!0},{path:"/SolidUI-Website/home/",component:f("/SolidUI-Website/home/","65b"),exact:!0},{path:"/SolidUI-Website/home/feature",component:f("/SolidUI-Website/home/feature","c9a"),exact:!0},{path:"/SolidUI-Website/home/hero",component:f("/SolidUI-Website/home/hero","482"),exact:!0},{path:"/SolidUI-Website/home/performance",component:f("/SolidUI-Website/home/performance","048"),exact:!0},{path:"/SolidUI-Website/search",component:f("/SolidUI-Website/search","d4b"),exact:!0},{path:"/SolidUI-Website/team/",component:f("/SolidUI-Website/team/","0b1"),exact:!0},{path:"/SolidUI-Website/user/",component:f("/SolidUI-Website/user/","ab5"),exact:!0},{path:"/SolidUI-Website/community",component:f("/SolidUI-Website/community","6be"),routes:[{path:"/SolidUI-Website/community/contribution_guide/become_committer",component:f("/SolidUI-Website/community/contribution_guide/become_committer","4d5"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/community/submit_guide/document",component:f("/SolidUI-Website/community/submit_guide/document","98a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/community/submit_guide/submit_code",component:f("/SolidUI-Website/community/submit_guide/submit_code","5d4"),exact:!0,sidebar:"tutorialSidebar"}]},{path:"/SolidUI-Website/docs",component:f("/SolidUI-Website/docs","8e8"),routes:[{path:"/SolidUI-Website/docs/deployment/deployment-docker",component:f("/SolidUI-Website/docs/deployment/deployment-docker","9a1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/deployment/deployment-kubernetes",component:f("/SolidUI-Website/docs/deployment/deployment-kubernetes","6a2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/deployment/deployment-standalone",component:f("/SolidUI-Website/docs/deployment/deployment-standalone","c74"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/deployment/deployment-web",component:f("/SolidUI-Website/docs/deployment/deployment-web","334"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/design/front-end-architecture/",component:f("/SolidUI-Website/docs/design/front-end-architecture/","74f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/design/metadata/",component:f("/SolidUI-Website/docs/design/metadata/","37a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/design/server-architecture/",component:f("/SolidUI-Website/docs/design/server-architecture/","39a"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/development/develop-contributing",component:f("/SolidUI-Website/docs/development/develop-contributing","897"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/development/development-commit",component:f("/SolidUI-Website/docs/development/development-commit","2b6"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/development/development-construction",component:f("/SolidUI-Website/docs/development/development-construction","0f0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/development/development-docker",component:f("/SolidUI-Website/docs/development/development-docker","f3e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/development/development-front",component:f("/SolidUI-Website/docs/development/development-front","b41"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/development/development-release",component:f("/SolidUI-Website/docs/development/development-release","a34"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/development/development-server",component:f("/SolidUI-Website/docs/development/development-server","f26"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/faq/faq/",component:f("/SolidUI-Website/docs/faq/faq/","a1d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/intro",component:f("/SolidUI-Website/docs/intro","330"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/operational/community-operation/",component:f("/SolidUI-Website/docs/operational/community-operation/","937"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/test/test-case/",component:f("/SolidUI-Website/docs/test/test-case/","5a4"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/docs/user-guide/quick-start",component:f("/SolidUI-Website/docs/user-guide/quick-start","1a3"),exact:!0,sidebar:"tutorialSidebar"}]},{path:"/SolidUI-Website/",component:f("/SolidUI-Website/","d6a"),exact:!0},{path:"*",component:f("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>o});var r=n(7294);const a=r.createContext(!1);function o(e){let{children:t}=e;const[n,o]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{o(!0)}),[]),r.createElement(a.Provider,{value:n},t)}},9383:(e,t,n)=>{"use strict";var r=n(7294),a=n(3935),o=n(3727),i=n(405),s=n(412);const l=[n(2497),n(7021),n(8320),n(2295)];var u=n(723),c=n(6550),d=n(8790);function f(e){let{children:t}=e;return r.createElement(r.Fragment,null,t)}var p=n(7462),m=n(5742),h=n(2263),g=n(4996),b=n(6668),v=n(1944),y=n(4711),w=n(9727),k=n(3320),E=n(197);function S(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,h.Z)(),n=(0,y.l)();return r.createElement(m.Z,null,Object.entries(t).map((e=>{let[t,{htmlLang:a}]=e;return r.createElement("link",{key:t,rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:a})})),r.createElement("link",{rel:"alternate",href:n.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function x(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.Z)(),a=function(){const{siteConfig:{url:e}}=(0,h.Z)(),{pathname:t}=(0,c.TH)();return e+(0,g.Z)(t)}(),o=t?`${n}${t}`:a;return r.createElement(m.Z,null,r.createElement("meta",{property:"og:url",content:o}),r.createElement("link",{rel:"canonical",href:o}))}function _(){const{i18n:{currentLocale:e}}=(0,h.Z)(),{metadata:t,image:n}=(0,b.L)();return r.createElement(r.Fragment,null,r.createElement(m.Z,null,r.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),r.createElement("body",{className:w.h})),n&&r.createElement(v.d,{image:n}),r.createElement(x,null),r.createElement(S,null),r.createElement(E.Z,{tag:k.HX,locale:e}),r.createElement(m.Z,null,t.map(((e,t)=>r.createElement("meta",(0,p.Z)({key:t},e))))))}const C=new Map;function T(e){if(C.has(e.pathname))return{...e,pathname:C.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return C.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return C.set(e.pathname,t),{...e,pathname:t}}var I=n(8934),L=n(8940);function A(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const a=l.map((t=>{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const P=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,r.useLayoutEffect)((()=>{a!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:a}),A("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class N extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.Z.canUseDOM?A("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=A("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return r.createElement(P,{previousLocation:this.previousLocation,location:t},r.createElement(c.AW,{location:t,render:()=>e}))}}const R=N,U="__docusaurus-base-url-issue-banner-container",D="__docusaurus-base-url-issue-banner",M="__docusaurus-base-url-issue-banner-suggestion-container",F="__DOCUSAURUS_INSERT_BASEURL_BANNER";function B(e){return`\nwindow['${F}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${F}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${U}');\n if (!bannerContainer) {\n return;\n }\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="${D}" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${M}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n var suggestionContainer = document.getElementById('${M}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function z(){const{siteConfig:{baseUrl:e}}=(0,h.Z)();return(0,r.useLayoutEffect)((()=>{window[F]=!1}),[]),r.createElement(r.Fragment,null,!s.Z.canUseDOM&&r.createElement(m.Z,null,r.createElement("script",null,B(e))),r.createElement("div",{id:U}))}function $(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,h.Z)(),{pathname:n}=(0,c.TH)();return t&&n===e?r.createElement(z,null):null}function j(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,h.Z)(),i=(0,g.Z)(e),{htmlLang:s,direction:l}=o[a];return r.createElement(m.Z,null,r.createElement("html",{lang:s,dir:l}),r.createElement("title",null,t),r.createElement("meta",{property:"og:title",content:t}),r.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&r.createElement("meta",{name:"robots",content:"noindex, nofollow"}),e&&r.createElement("link",{rel:"icon",href:i}))}var W=n(4763);function H(){const e=(0,d.H)(u.Z),t=(0,c.TH)();return r.createElement(W.Z,null,r.createElement(L.M,null,r.createElement(I.t,null,r.createElement(f,null,r.createElement(j,null),r.createElement(_,null),r.createElement($,null),r.createElement(R,{location:T(t)},e)))))}var Z=n(6887);const Q=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var V=n(9670);const q=new Set,G=new Set,Y=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,K={prefetch(e){if(!(e=>!Y()&&!G.has(e)&&!q.has(e))(e))return!1;q.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(Z).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,V.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!Y()&&!G.has(e))(e)&&(G.add(e),O(e))},X=Object.freeze(K);if(s.Z.canUseDOM){window.docusaurus=X;const e=a.hydrate;O(window.location.pathname).then((()=>{e(r.createElement(i.B6,null,r.createElement(o.VK,null,r.createElement(H,null))),document.getElementById("__docusaurus"))}))}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>c,M:()=>d});var r=n(7294),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/SolidUI-Website/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/SolidUI-Website/docs","mainDocId":"intro","docs":[{"id":"deployment/deployment-docker","path":"/SolidUI-Website/docs/deployment/deployment-docker","sidebar":"tutorialSidebar"},{"id":"deployment/deployment-kubernetes","path":"/SolidUI-Website/docs/deployment/deployment-kubernetes","sidebar":"tutorialSidebar"},{"id":"deployment/deployment-standalone","path":"/SolidUI-Website/docs/deployment/deployment-standalone","sidebar":"tutorialSidebar"},{"id":"deployment/deployment-web","path":"/SolidUI-Website/docs/deployment/deployment-web","sidebar":"tutorialSidebar"},{"id":"design/front-end-architecture/front-end-architecture","path":"/SolidUI-Website/docs/design/front-end-architecture/","sidebar":"tutorialSidebar"},{"id":"design/metadata/metadata","path":"/SolidUI-Website/docs/design/metadata/","sidebar":"tutorialSidebar"},{"id":"design/server-architecture/server-architecture","path":"/SolidUI-Website/docs/design/server-architecture/","sidebar":"tutorialSidebar"},{"id":"development/develop-contributing","path":"/SolidUI-Website/docs/development/develop-contributing","sidebar":"tutorialSidebar"},{"id":"development/development-commit","path":"/SolidUI-Website/docs/development/development-commit","sidebar":"tutorialSidebar"},{"id":"development/development-construction","path":"/SolidUI-Website/docs/development/development-construction","sidebar":"tutorialSidebar"},{"id":"development/development-docker","path":"/SolidUI-Website/docs/development/development-docker","sidebar":"tutorialSidebar"},{"id":"development/development-front","path":"/SolidUI-Website/docs/development/development-front","sidebar":"tutorialSidebar"},{"id":"development/development-release","path":"/SolidUI-Website/docs/development/development-release","sidebar":"tutorialSidebar"},{"id":"development/development-server","path":"/SolidUI-Website/docs/development/development-server","sidebar":"tutorialSidebar"},{"id":"faq/faq/faq","path":"/SolidUI-Website/docs/faq/faq/","sidebar":"tutorialSidebar"},{"id":"intro","path":"/SolidUI-Website/docs/intro","sidebar":"tutorialSidebar"},{"id":"operational/community-operation/community-operation","path":"/SolidUI-Website/docs/operational/community-operation/","sidebar":"tutorialSidebar"},{"id":"test/test-case/test-case","path":"/SolidUI-Website/docs/test/test-case/","sidebar":"tutorialSidebar"},{"id":"user-guide/quick-start","path":"/SolidUI-Website/docs/user-guide/quick-start","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/SolidUI-Website/docs/intro","label":"intro"}}}}],"breadcrumbs":true},"community":{"path":"/SolidUI-Website/community","versions":[{"name":"current","label":"Next","isLast":true,"path":"/SolidUI-Website/community","mainDocId":"contribution_guide/become_committer","docs":[{"id":"contribution_guide/become_committer","path":"/SolidUI-Website/community/contribution_guide/become_committer","sidebar":"tutorialSidebar"},{"id":"submit_guide/document","path":"/SolidUI-Website/community/submit_guide/document","sidebar":"tutorialSidebar"},{"id":"submit_guide/submit_code","path":"/SolidUI-Website/community/submit_guide/submit_code","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/SolidUI-Website/community/contribution_guide/become_committer","label":"contribution_guide/become_committer"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en","zh-CN"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"},"zh-CN":{"label":"\u7b80\u4f53\u4e2d\u6587","direction":"ltr","htmlLang":"zh-CN","calendar":"gregory","path":"zh-CN"}}}');var s=n(7529);const l=JSON.parse('{"docusaurusVersion":"2.4.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.4.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"2.4.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.4.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.4.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.4.1"},"docusaurus-plugin-less":{"type":"package","name":"docusaurus-plugin-less","version":"2.0.2"},"@easyops-cn/docusaurus-search-local":{"type":"package","name":"@easyops-cn/docusaurus-search-local","version":"0.33.6"}}}'),u={siteConfig:a.default,siteMetadata:l,globalData:o,i18n:i,codeTranslations:s},c=r.createContext(u);function d(e){let{children:t}=e;return r.createElement(c.Provider,{value:u},t)}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(412),o=n(5742),i=n(8780),s=n(179);function l(e){let{error:t,tryAgain:n}=e;return r.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"}},r.createElement("h1",{style:{fontSize:"3rem"}},"This page crashed"),r.createElement("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"}},"Try again"),r.createElement(u,{error:t}))}function u(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{style:{whiteSpace:"pre-wrap"}},n)}function c(e){let{error:t,tryAgain:n}=e;return r.createElement(f,{fallback:()=>r.createElement(l,{error:t,tryAgain:n})},r.createElement(o.Z,null,r.createElement("title",null,"Page Error")),r.createElement(s.Z,null,r.createElement(l,{error:t,tryAgain:n})))}const d=e=>r.createElement(c,e);class f extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??d)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(405);function o(e){return r.createElement(a.ql,e)}},9960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7462),a=n(7294),o=n(3727),i=n(8780),s=n(2263),l=n(3919),u=n(412);const c=a.createContext({collectLink:()=>{}});var d=n(4996);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:b=!0,...v}=e;const{siteConfig:{trailingSlash:y,baseUrl:w}}=(0,s.Z)(),{withBaseUrl:k}=(0,d.C)(),E=(0,a.useContext)(c),S=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>S.current));const x=f||p;const _=(0,l.Z)(x),C=x?.replace("pathname://","");let T=void 0!==C?(I=C,b&&(e=>e.startsWith("/"))(I)?k(I):I):void 0;var I;T&&_&&(T=(0,i.applyTrailingSlash)(T,{trailingSlash:y,baseUrl:w}));const L=(0,a.useRef)(!1),A=n?o.OL:o.rU,P=u.Z.canUseIntersectionObserver,O=(0,a.useRef)(),N=()=>{L.current||null==T||(window.docusaurus.preload(T),L.current=!0)};(0,a.useEffect)((()=>(!P&&_&&null!=T&&window.docusaurus.prefetch(T),()=>{P&&O.current&&O.current.disconnect()})),[O,T,P,_]);const R=T?.startsWith("#")??!1,U=!T||!_||R;return U||g||E.collectLink(T),U?a.createElement("a",(0,r.Z)({ref:S,href:T},x&&!_&&{target:"_blank",rel:"noopener noreferrer"},v)):a.createElement(A,(0,r.Z)({},v,{onMouseEnter:N,onTouchStart:N,innerRef:e=>{S.current=e,P&&e&&_&&(O.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(O.current.unobserve(e),O.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),O.current.observe(e))},to:T},n&&{isActive:h,activeClassName:m}))}const p=a.forwardRef(f)},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l,I:()=>s});var r=n(7294);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var o=n(7529);function i(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return o[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return a(i({message:n,id:r}),t)}function l(e){let{children:t,id:n,values:o}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const s=i({message:t,id:n});return r.createElement(r.Fragment,null,a(s,o))}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>s});var r=n(7294),a=n(2263),o=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const s=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+s:s}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const s=a?`${a}.${o}`:o;r(i)?e(i,s):t[s]=i}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>o});var r=n(7294);const a=r.createContext(null);function o(e){let{children:t,value:n}=e;const o=r.useContext(a),i=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:o,value:n})),[o,n]);return r.createElement(a.Provider,{value:i},t)}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>h,gA:()=>f,_r:()=>c,Jo:()=>g,zh:()=>d,yW:()=>m,gB:()=>p});var r=n(6550),a=n(2263),o=n(9935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){const n=function(e,t){const n=s(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const u={},c=()=>i("docusaurus-plugin-content-docs")??u,d=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function f(e){void 0===e&&(e={});const t=c(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function p(e){return d(e).versions}function m(e){const t=d(e);return s(t)}function h(e){const t=d(e),{pathname:n}=(0,r.TH)();return l(t,n)}function g(e){const t=d(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=s(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},7021:(e,t,n)=>{"use strict";n.r(t);var r=n(7410),a=n(412),o=n(6809);const i=e=>{if(a.Z.canUseDOM){const{themeConfig:{prism:t={}}}=o.default,{additionalLanguages:r=[]}=t;window.Prism=e,r.forEach((e=>{n(8956)(`./prism-${e}`)})),delete window.Prism}};i(r.Z)},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294);const a={iconExternalLink:"iconExternalLink_nPIU"};function o(e){let{width:t=13.5,height:n=13.5}=e;return r.createElement("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:a.iconExternalLink},r.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},179:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Ot});var r=n(7294),a=n(6010),o=n(4763),i=n(1944),s=n(7462),l=n(6550),u=n(5999),c=n(5936);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,c.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const m=(0,u.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??m,{containerRef:n,onClick:a}=p();return r.createElement("div",{ref:n,role:"region","aria-label":m},r.createElement("a",(0,s.Z)({},e,{href:`#${d}`,onClick:a}),t))}var g=n(5281),b=n(9727);const v={skipToContent:"skipToContent_fXgn"};function y(){return r.createElement(h,{className:v.skipToContent})}var w=n(6668),k=n(9689);function E(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:o=1.2,className:i,...l}=e;return r.createElement("svg",(0,s.Z)({viewBox:"0 0 15 15",width:t,height:n},l),r.createElement("g",{stroke:a,strokeWidth:o},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const S={closeButton:"closeButton_CVFx"};function x(e){return r.createElement("button",(0,s.Z)({type:"button","aria-label":(0,u.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,a.Z)("clean-btn close",S.closeButton,e.className)}),r.createElement(E,{width:14,height:14,strokeWidth:3.1}))}const _={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return r.createElement("div",(0,s.Z)({},e,{className:(0,a.Z)(_.content,e.className),dangerouslySetInnerHTML:{__html:n}}))}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function I(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:a,textColor:o,isCloseable:i}=e;return r.createElement("div",{className:T.announcementBar,style:{backgroundColor:a,color:o},role:"banner"},i&&r.createElement("div",{className:T.announcementBarPlaceholder}),r.createElement(C,{className:T.announcementBarContent}),i&&r.createElement(x,{onClick:n,className:T.announcementBarClose}))}var L=n(2961),A=n(2466);var P=n(902),O=n(3102);const N=r.createContext(null);function R(e){let{children:t}=e;const n=function(){const e=(0,L.e)(),t=(0,O.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,P.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return r.createElement(N.Provider,{value:n},t)}function U(e){if(e.component){const t=e.component;return r.createElement(t,e.props)}}function D(){const e=(0,r.useContext)(N);if(!e)throw new P.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,O.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:U(o)})),[a,o,t])}function M(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e;const{shown:i}=D();return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},o)))}var F=n(2949),B=n(2389);function z(e){return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function $(e){return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const j={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function W(e){let{className:t,buttonClassName:n,value:o,onChange:i}=e;const s=(0,B.Z)(),l=(0,u.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===o?(0,u.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,u.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,a.Z)(j.toggle,t)},r.createElement("button",{className:(0,a.Z)("clean-btn",j.toggleButton,!s&&j.toggleButtonDisabled,n),type:"button",onClick:()=>i("dark"===o?"light":"dark"),disabled:!s,title:l,"aria-label":l,"aria-live":"polite"},r.createElement(z,{className:(0,a.Z)(j.toggleIcon,j.lightToggleIcon)}),r.createElement($,{className:(0,a.Z)(j.toggleIcon,j.darkToggleIcon)})))}const H=r.memo(W),Z={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function Q(e){let{className:t}=e;const n=(0,w.L)().navbar.style,a=(0,w.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:i}=(0,F.I)();return a?null:r.createElement(H,{className:t,buttonClassName:"dark"===n?Z.darkNavbarColorModeToggle:void 0,value:o,onChange:i})}var V=n(1327);function q(){return r.createElement(V.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function G(){const e=(0,L.e)();return r.createElement("button",{type:"button","aria-label":(0,u.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle()},r.createElement(E,{color:"var(--ifm-color-emphasis-600)"}))}function Y(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(q,null),r.createElement(Q,{className:"margin-right--md"}),r.createElement(G,null))}var K=n(9960),X=n(4996),J=n(3919);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:a,href:o,label:i,html:l,isDropdownLink:u,prependBaseUrlToHref:c,...d}=e;const f=(0,X.Z)(a),p=(0,X.Z)(t),m=(0,X.Z)(o,{forcePrependBaseUrl:!0}),h=i&&o&&!(0,J.Z)(o),g=l?{dangerouslySetInnerHTML:{__html:l}}:{children:r.createElement(r.Fragment,null,i,h&&r.createElement(te.Z,u&&{width:12,height:12}))};return o?r.createElement(K.Z,(0,s.Z)({href:c?m:o},d,g)):r.createElement(K.Z,(0,s.Z)({to:f,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},d,g))}function re(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=r.createElement(ne,(0,s.Z)({className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},o));return n?r.createElement("li",null,i):i}function ae(e){let{className:t,isDropdownItem:n,...o}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(ne,(0,s.Z)({className:(0,a.Z)("menu__link",t)},o)))}function oe(e){let{mobile:t=!1,position:n,...a}=e;const o=t?ae:re;return r.createElement(o,(0,s.Z)({},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var ie=n(6043),se=n(8596),le=n(2263);function ue(e,t){return e.some((e=>function(e,t){return!!(0,se.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function ce(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const u=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{u.current&&!u.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[u]),r.createElement("div",{ref:u,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c})},r.createElement(ne,(0,s.Z)({"aria-haspopup":"true","aria-expanded":c,role:"button",href:l.to?void 0:"#",className:(0,a.Z)("navbar__link",o)},l,{onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))}}),l.children??l.label),r.createElement("ul",{className:"dropdown__menu"},t.map(((e,t)=>r.createElement(Ze,(0,s.Z)({isDropdownItem:!0,activeClassName:"dropdown__link--active"},e,{key:t}))))))}function de(e){let{items:t,className:n,position:o,onClick:i,...u}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,le.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:f,toggleCollapsed:p,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&m(!d)}),[c,d,m]),r.createElement("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":f})},r.createElement(ne,(0,s.Z)({role:"button",className:(0,a.Z)("menu__link menu__link--sublist menu__link--sublist-caret",n)},u,{onClick:e=>{e.preventDefault(),p()}}),u.children??u.label),r.createElement(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:f},t.map(((e,t)=>r.createElement(Ze,(0,s.Z)({mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active"},e,{key:t}))))))}function fe(e){let{mobile:t=!1,...n}=e;const a=t?de:ce;return r.createElement(a,n)}var pe=n(4711);function me(e){let{width:t=20,height:n=20,...a}=e;return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0},a),r.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const he="iconLanguage_nlXk";var ge=n(1029),be=n(412),ve=n(373),ye=n(143),we=n(22),ke=n(8202),Ee=n(3926),Se=n(1073),xe=n(2539),_e=n(726);const Ce='<svg width="20" height="20" viewBox="0 0 20 20"><path d="M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linejoin="round"></path></svg>',Te='<svg width="20" height="20" viewBox="0 0 20 20"><path d="M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg>',Ie='<svg width="20" height="20" viewBox="0 0 20 20"><path d="M17 5H3h14zm0 5H3h14zm0 5H3h14z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linejoin="round"></path></svg>',Le='<svg width="20" height="20" viewBox="0 0 20 20"><g stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><path d="M18 3v4c0 2-2 4-4 4H2"></path><path d="M8 17l-6-6 6-6"></path></g></svg>',Ae='<svg width="40" height="40" viewBox="0 0 20 20" fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><path d="M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"></path></svg>',Pe='<svg viewBox="0 0 24 54"><g stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><path d="M8 6v42M20 27H8.3"></path></g></svg>',Oe='<svg viewBox="0 0 24 54"><g stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><path d="M8 6v21M20 27H8.3"></path></g></svg>',Ne={searchBar:"searchBar_RVTs",dropdownMenu:"dropdownMenu_qbY6",searchBarLeft:"searchBarLeft_MXDe",suggestion:"suggestion_fB_2",cursor:"cursor_eG29",hitTree:"hitTree_kk6K",hitIcon:"hitIcon_a7Zy",hitPath:"hitPath_ieM4",noResultsIcon:"noResultsIcon_EBY5",hitFooter:"hitFooter_E9YW",hitWrapper:"hitWrapper_sAK8",hitTitle:"hitTitle_vyVt",hitAction:"hitAction_NqkB",hideAction:"hideAction_vcyE",noResults:"noResults_l6Q3",searchBarContainer:"searchBarContainer_NW3z",searchBarLoadingRing:"searchBarLoadingRing_YnHq",searchClearButton:"searchClearButton_qk4g",searchIndexLoading:"searchIndexLoading_EJ1f",searchHintContainer:"searchHintContainer_Pkmr",searchHint:"searchHint_iIMx",focused:"focused_OWtg",input:"input_FOTf",hint:"hint_URu1",suggestions:"suggestions_X8XU",dataset:"dataset_QiCy",empty:"empty_eITn"};function Re(e){let{document:t,type:n,page:r,metadata:a,tokens:o,isInterOfTree:i,isLastOfTree:s}=e;const l=0===n,u=1===n,c=[];i?c.push(Pe):s&&c.push(Oe);const d=c.map((e=>`<span class="${Ne.hitTree}">${e}</span>`)),f=`<span class="${Ne.hitIcon}">${l?Ce:u?Te:Ie}</span>`,p=[`<span class="${Ne.hitTitle}">${(0,_e.o)(t.t,(0,Se.m)(a,"t"),o)}</span>`];if(!i&&!s&&ge.H6){const e=r?(r.b??[]).concat(r.t).concat(t.s&&t.s!==r.t?t.s:[]):t.b;p.push(`<span class="${Ne.hitPath}">${(0,Ee.e)(e??[])}</span>`)}else l||p.push(`<span class="${Ne.hitPath}">${(0,xe.C)(r.t||(t.u.startsWith("/docs/api-reference/")?"API Reference":""),o)}</span>`);const m=`<span class="${Ne.hitAction}">${Le}</span>`;return[...d,f,`<span class="${Ne.hitWrapper}">`,...p,"</span>",m].join("")}function Ue(){return`<span class="${Ne.noResults}"><span class="${Ne.noResultsIcon}">${Ae}</span><span>${(0,u.I)({id:"theme.SearchBar.noResultsText",message:"No results"})}</span></span>`}var De=n(311);async function Me(){const e=await Promise.all([n.e(8443),n.e(5525)]).then(n.t.bind(n,8443,23)),t=e.default;return t.noConflict?t.noConflict():e.noConflict&&e.noConflict(),t}const Fe="_highlight";const Be=function(e){let{handleSearchBarToggle:t}=e;const{siteConfig:{baseUrl:n}}=(0,le.Z)(),o=(0,ye.gA)();let i=n;try{const{preferredVersion:e}=(0,ve.J)(o?.pluginId??ge.gQ);e&&!e.isLast&&(i=e.path+"/")}catch(U){if(ge.l9&&!(U instanceof P.i6))throw U}const s=(0,l.k6)(),c=(0,l.TH)(),d=(0,r.useRef)(null),f=(0,r.useRef)(new Map),p=(0,r.useRef)(!1),[m,h]=(0,r.useState)(!1),[g,b]=(0,r.useState)(!1),[v,y]=(0,r.useState)(""),w=(0,r.useRef)(null),k=(0,r.useRef)(""),[E,S]=(0,r.useState)("");(0,r.useEffect)((()=>{if(!Array.isArray(ge.Kc))return;let e="";if(c.pathname.startsWith(i)){const t=c.pathname.substring(i.length),n=ge.Kc.find((e=>t===e||t.startsWith(`${e}/`)));n&&(e=n)}k.current!==e&&(f.current.delete(e),k.current=e),S(e)}),[c.pathname,i]);const x=!!ge.hG&&Array.isArray(ge.Kc)&&""===E,_=(0,r.useCallback)((async()=>{if(x||f.current.get(E))return;f.current.set(E,"loading"),w.current?.autocomplete.destroy(),h(!0);const[{wrappedIndexes:e,zhDictionary:t},r]=await Promise.all([(0,we.w)(i,E),Me()]);if(w.current=r(d.current,{hint:!1,autoselect:!0,openOnFocus:!0,cssClasses:{root:(0,a.Z)(Ne.searchBar,{[Ne.searchBarLeft]:"left"===ge.pu}),noPrefix:!0,dropdownMenu:Ne.dropdownMenu,input:Ne.input,hint:Ne.hint,suggestions:Ne.suggestions,suggestion:Ne.suggestion,cursor:Ne.cursor,dataset:Ne.dataset,empty:Ne.empty}},[{source:(0,ke.v)(e,t,ge.qo),templates:{suggestion:Re,empty:Ue,footer:e=>{let{query:t,isEmpty:r}=e;if(r)return;const a=document.createElement("a"),o=new URLSearchParams;if(o.set("q",t),Array.isArray(ge.Kc)&&o.set("ctx",E),i!==n){if(!i.startsWith(n))throw new Error(`Version url '${i}' does not start with base url '${n}', this is a bug of \`@easyops-cn/docusaurus-search-local\`, please report it.`);o.set("version",i.substring(n.length))}const l=`${n}search?${o.toString()}`;a.href=l,a.textContent=(0,u.I)({id:"theme.SearchBar.seeAll",message:"See all results"}),a.addEventListener("click",(e=>{e.ctrlKey||e.metaKey||(e.preventDefault(),w.current?.autocomplete.close(),s.push(l))}));const c=document.createElement("div");return c.className=Ne.hitFooter,c.appendChild(a),c}}}]).on("autocomplete:selected",(function(e,t){let{document:{u:n,h:r},tokens:a}=t;d.current?.blur();let o=n;if(ge.vc&&a.length>0){const e=new URLSearchParams;for(const t of a)e.append(Fe,t);o+=`?${e.toString()}`}r&&(o+=r),s.push(o)})).on("autocomplete:closed",(()=>{d.current?.blur()})),f.current.set(E,"done"),h(!1),p.current){const e=d.current;e.value&&w.current?.autocomplete.open(),e.focus()}}),[x,E,i,n,s]);(0,r.useEffect)((()=>{if(!ge.vc)return;const e=be.Z.canUseDOM?new URLSearchParams(c.search).getAll(Fe):[];setTimeout((()=>{const t=document.querySelector("article");if(!t)return;const n=new ge.vc(t);n.unmark(),0!==e.length&&n.mark(e),y(e.join(" ")),w.current?.autocomplete.setVal(e.join(" "))}))}),[c.search,c.pathname]);const[C,T]=(0,r.useState)(!1),I=(0,r.useCallback)((()=>{p.current=!0,_(),T(!0),t?.(!0)}),[t,_]),L=(0,r.useCallback)((()=>{T(!1),t?.(!1)}),[t]),A=(0,r.useCallback)((()=>{_()}),[_]),O=(0,r.useCallback)((e=>{y(e.target.value),e.target.value&&b(!0)}),[]),N=!!be.Z.canUseDOM&&/mac/i.test(navigator.userAgentData?.platform??navigator.platform);(0,r.useEffect)((()=>{if(!ge.AY)return;const e=e=>{!(N?e.metaKey:e.ctrlKey)||"k"!==e.key&&"K"!==e.key||(e.preventDefault(),d.current?.focus(),I())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}),[N,I]);const R=(0,r.useCallback)((()=>{const e=new URLSearchParams(c.search);e.delete(Fe);const t=e.toString(),n=c.pathname+(""!=t?`?${t}`:"")+c.hash;n!=c.pathname+c.search+c.hash&&s.push(n),y(""),w.current?.autocomplete.setVal("")}),[c.pathname,c.search,c.hash,s]);return r.createElement("div",{className:(0,a.Z)("navbar__search",Ne.searchBarContainer,{[Ne.searchIndexLoading]:m&&g,[Ne.focused]:C}),hidden:x},r.createElement("input",{placeholder:(0,u.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),"aria-label":"Search",className:"navbar__search-input",onMouseEnter:A,onFocus:I,onBlur:L,onChange:O,ref:d,value:v}),r.createElement(De.Z,{className:Ne.searchBarLoadingRing}),ge.AY&&ge.t_&&(""!==v?r.createElement("button",{className:Ne.searchClearButton,onClick:R},"\u2715"):be.Z.canUseDOM&&r.createElement("div",{className:Ne.searchHintContainer},r.createElement("kbd",{className:Ne.searchHint},N?"\u2318":"ctrl"),r.createElement("kbd",{className:Ne.searchHint},"K"))))},ze={searchBox:"searchBox_ZlJk"};function $e(e){let{children:t,className:n}=e;return r.createElement("div",{className:(0,a.Z)(n,ze.searchBox)},t)}var je=n(2802);const We=e=>e.docs.find((t=>t.id===e.mainDocId));const He={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,...o}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,le.Z)(),f=(0,pe.l)(),{search:p,hash:m}=(0,l.TH)(),h=[...n,...c.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${m}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...a],g=t?(0,u.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return r.createElement(fe,(0,s.Z)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(me,{className:he}),g),items:h}))},search:function(e){let{mobile:t,className:n}=e;return t?null:r.createElement($e,{className:n},r.createElement(Be,null))},dropdown:fe,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:i=!1}=e;const s=i?"li":"div";return r.createElement(s,{className:(0,a.Z)({navbar__item:!o&&!i,"menu__list-item":o},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,ye.Iw)(a),l=(0,je.vY)(t,a);return null===l?null:r.createElement(oe,(0,s.Z)({exact:!0},o,{isActive:()=>i?.path===l.path||!!i?.sidebar&&i.sidebar===l.sidebar,label:n??l.id,to:l.path}))},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,ye.Iw)(a),l=(0,je.oz)(t,a).link;if(!l)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return r.createElement(oe,(0,s.Z)({exact:!0},o,{isActive:()=>i?.sidebar===t,label:n??l.label,to:l.path}))},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...o}=e;const i=(0,je.lO)(a)[0],l=t??i.label,u=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return r.createElement(oe,(0,s.Z)({},o,{label:l,to:u}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:o,dropdownItemsAfter:i,...c}=e;const{search:d,hash:f}=(0,l.TH)(),p=(0,ye.Iw)(n),m=(0,ye.gB)(n),{savePreferredVersionName:h}=(0,ve.J)(n),g=[...o,...m.map((e=>{const t=p.alternateDocVersions[e.name]??We(e);return{label:e.label,to:`${t.path}${d}${f}`,isActive:()=>e===p.activeVersion,onClick:()=>h(e.name)}})),...i],b=(0,je.lO)(n)[0],v=t&&g.length>1?(0,u.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,y=t&&g.length>1?void 0:We(b).path;return g.length<=1?r.createElement(oe,(0,s.Z)({},c,{mobile:t,label:v,to:y,isActive:a?()=>!1:void 0})):r.createElement(fe,(0,s.Z)({},c,{mobile:t,label:v,to:y,items:g,isActive:a?()=>!1:void 0}))}};function Ze(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=He[a];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return r.createElement(o,n)}function Qe(){const e=(0,L.e)(),t=(0,w.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map(((t,n)=>r.createElement(Ze,(0,s.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function Ve(e){return r.createElement("button",(0,s.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(u.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function qe(){const e=0===(0,w.L)().navbar.items.length,t=D();return r.createElement(r.Fragment,null,!e&&r.createElement(Ve,{onClick:()=>t.hide()}),t.content)}function Ge(){const e=(0,L.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?r.createElement(M,{header:r.createElement(Y,null),primaryMenu:r.createElement(Qe,null),secondaryMenu:r.createElement(qe,null)}):null}const Ye={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ke(e){return r.createElement("div",(0,s.Z)({role:"presentation"},e,{className:(0,a.Z)("navbar-sidebar__backdrop",e.className)}))}function Xe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,L.e)(),{navbarRef:s,isNavbarVisible:l}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,A.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i<o.current)return void n(!0);if(a.current)return void(a.current=!1);const s=r?.scrollY,l=document.documentElement.scrollHeight-o.current,u=window.innerHeight;s&&i>=s?n(!1):i+u<l&&n(!0)})),(0,c.S)((t=>{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return r.createElement("nav",{ref:s,"aria-label":(0,u.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[Ye.navbarHideable,!l&&Ye.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown})},t,r.createElement(Ke,{onClick:i.toggle}),r.createElement(Ge,null))}var Je=n(8780);const et={errorBoundaryError:"errorBoundaryError_a6uf"};function tt(e){return r.createElement("button",(0,s.Z)({type:"button"},e),r.createElement(u.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error"},"Try again"))}function nt(e){let{error:t}=e;const n=(0,Je.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{className:et.errorBoundaryError},n)}class rt extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const at="right";function ot(e){let{width:t=30,height:n=30,className:a,...o}=e;return r.createElement("svg",(0,s.Z)({className:a,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true"},o),r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function it(){const{toggle:e,shown:t}=(0,L.e)();return r.createElement("button",{onClick:e,"aria-label":(0,u.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button"},r.createElement(ot,null))}const st={colorModeToggle:"colorModeToggle_DEke"};function lt(e){let{items:t}=e;return r.createElement(r.Fragment,null,t.map(((e,t)=>r.createElement(rt,{key:t,onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t})},r.createElement(Ze,e)))))}function ut(e){let{left:t,right:n}=e;return r.createElement("div",{className:"navbar__inner"},r.createElement("div",{className:"navbar__items"},t),r.createElement("div",{className:"navbar__items navbar__items--right"},n))}function ct(){const e=(0,L.e)(),t=(0,w.L)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??at)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return r.createElement(ut,{left:r.createElement(r.Fragment,null,!e.disabled&&r.createElement(it,null),r.createElement(q,null),r.createElement(lt,{items:n})),right:r.createElement(r.Fragment,null,r.createElement(lt,{items:a}),r.createElement(Q,{className:st.colorModeToggle}),!o&&r.createElement($e,null,r.createElement(Be,null)))})}function dt(){return r.createElement(Xe,null,r.createElement(ct,null))}function ft(e){let{item:t}=e;const{to:n,href:a,label:o,prependBaseUrlToHref:i,...l}=t,u=(0,X.Z)(n),c=(0,X.Z)(a,{forcePrependBaseUrl:!0});return r.createElement(K.Z,(0,s.Z)({className:"footer__link-item"},a?{href:i?c:a}:{to:u},l),o,a&&!(0,J.Z)(a)&&r.createElement(te.Z,null))}function pt(e){let{item:t}=e;return t.html?r.createElement("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement("li",{key:t.href??t.to,className:"footer__item"},r.createElement(ft,{item:t}))}function mt(e){let{column:t}=e;return r.createElement("div",{className:"col footer__col"},r.createElement("div",{className:"footer__title"},t.title),r.createElement("ul",{className:"footer__items clean-list"},t.items.map(((e,t)=>r.createElement(pt,{key:t,item:e})))))}function ht(e){let{columns:t}=e;return r.createElement("div",{className:"row footer__links"},t.map(((e,t)=>r.createElement(mt,{key:t,column:e}))))}function gt(){return r.createElement("span",{className:"footer__link-separator"},"\xb7")}function bt(e){let{item:t}=e;return t.html?r.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement(ft,{item:t})}function vt(e){let{links:t}=e;return r.createElement("div",{className:"footer__links text--center"},r.createElement("div",{className:"footer__links"},t.map(((e,n)=>r.createElement(r.Fragment,{key:n},r.createElement(bt,{item:e}),t.length!==n+1&&r.createElement(gt,null))))))}function yt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?r.createElement(ht,{columns:t}):r.createElement(vt,{links:t})}var wt=n(941);const kt={footerLogoLink:"footerLogoLink_BH7S"};function Et(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),o={light:n(t.src),dark:n(t.srcDark??t.src)};return r.createElement(wt.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:o,width:t.width,height:t.height,style:t.style})}function St(e){let{logo:t}=e;return t.href?r.createElement(K.Z,{href:t.href,className:kt.footerLogoLink,target:t.target},r.createElement(Et,{logo:t})):r.createElement(Et,{logo:t})}function xt(e){let{copyright:t}=e;return r.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function _t(e){let{style:t,links:n,logo:o,copyright:i}=e;return r.createElement("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t})},r.createElement("div",{className:"container container-fluid"},n,(o||i)&&r.createElement("div",{className:"footer__bottom text--center"},o&&r.createElement("div",{className:"margin-bottom--sm"},o),i)))}function Ct(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:a,style:o}=e;return r.createElement(_t,{style:o,links:n&&n.length>0&&r.createElement(yt,{links:n}),logo:a&&r.createElement(St,{logo:a}),copyright:t&&r.createElement(xt,{copyright:t})})}const Tt=r.memo(Ct),It=(0,P.Qc)([F.S,k.pl,A.OC,ve.L5,i.VC,function(e){let{children:t}=e;return r.createElement(O.n2,null,r.createElement(L.M,null,r.createElement(R,null,t)))}]);function Lt(e){let{children:t}=e;return r.createElement(It,null,t)}function At(e){let{error:t,tryAgain:n}=e;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(u.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("div",{className:"margin-vert--lg"},r.createElement(tt,{onClick:n,className:"button button--primary shadow--lw"})),r.createElement("hr",null),r.createElement("div",{className:"margin-vert--md"},r.createElement(nt,{error:t})))))}const Pt={mainWrapper:"mainWrapper_z2l0"};function Ot(e){const{children:t,noFooter:n,wrapperClassName:s,title:l,description:u}=e;return(0,b.t)(),r.createElement(Lt,null,r.createElement(i.d,{title:l,description:u}),r.createElement(y,null),r.createElement(I,null),r.createElement(dt,null),r.createElement("div",{id:d,className:(0,a.Z)(g.k.wrapper.main,Pt.mainWrapper,s)},r.createElement(o.Z,{fallback:e=>r.createElement(At,e)},t)),!n&&r.createElement(Tt,null))}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r=n(7462),a=n(7294),o=n(9960),i=n(4996),s=n(2263),l=n(6668),u=n(941);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,i.Z)(t.src),dark:(0,i.Z)(t.srcDark||t.src)},s=a.createElement(u.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?a.createElement("div",{className:r},s):s}function d(e){const{siteConfig:{title:t}}=(0,s.Z)(),{navbar:{title:n,logo:u}}=(0,l.L)(),{imageClassName:d,titleClassName:f,...p}=e,m=(0,i.Z)(u?.href||"/"),h=n?"":t,g=u?.alt??h;return a.createElement(o.Z,(0,r.Z)({to:m},p,u?.target&&{target:u.target}),u&&a.createElement(c,{logo:u,alt:g,imageClassName:d}),null!=n&&a.createElement("b",{className:f},n))}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(5742);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return r.createElement(a.Z,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),o&&r.createElement("meta",{name:"docusaurus_tag",content:o}),i&&r.createElement("meta",{name:"docsearch:language",content:i}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),o&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:o}))}},941:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(7462),a=n(7294),o=n(6010),i=n(2389),s=n(2949);const l={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function u(e){const t=(0,i.Z)(),{colorMode:n}=(0,s.I)(),{sources:u,className:c,alt:d,...f}=e,p=t?"dark"===n?["dark"]:["light"]:["light","dark"];return a.createElement(a.Fragment,null,p.map((e=>a.createElement("img",(0,r.Z)({key:e,src:u[e],alt:d,className:(0,o.Z)(l.themedImage,l[`themedImage--${e}`],c)},f)))))}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>l,z:()=>g});var r=n(7462),a=n(7294),o=n(412),i=n(1442);const s="ease-in-out";function l(e){let{initialState:t}=e;const[n,r]=(0,a.useState)(t??!1),o=(0,a.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:o}}const u={display:"none",overflow:"hidden",height:"0px"},c={display:"block",overflow:"visible",height:"auto"};function d(e,t){const n=t?u:c;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:r}=e;const o=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){const t=e.scrollHeight,n=r?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${r?.easing??s}`,height:`${t}px`}}function l(){const t=a();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return d(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function p(e){if(!o.Z.canUseDOM)return e?u:c}function m(e){let{as:t="div",collapsed:n,children:r,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:l}=e;const u=(0,a.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:o}),a.createElement(t,{ref:u,style:l?void 0:p(n),onTransitionEnd:e=>{"height"===e.propertyName&&(d(u.current,n),i?.(n))},className:s},r)}function h(e){let{collapsed:t,...n}=e;const[o,i]=(0,a.useState)(!t),[s,l]=(0,a.useState)(t);return(0,a.useLayoutEffect)((()=>{t||i(!0)}),[t]),(0,a.useLayoutEffect)((()=>{o&&l(t)}),[o,t]),o?a.createElement(m,(0,r.Z)({},n,{collapsed:s})):null}function g(e){let{lazy:t,...n}=e;const r=t?h:m;return a.createElement(r,n)}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>m,pl:()=>p});var r=n(7294),a=n(2389),o=n(12),i=n(902),s=n(6668);const l=(0,o.WA)("docusaurus.announcement.dismiss"),u=(0,o.WA)("docusaurus.announcement.id"),c=()=>"true"===l.get(),d=e=>l.set(String(e)),f=r.createContext(null);function p(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&c()));(0,r.useEffect)((()=>{o(c())}),[]);const i=(0,r.useCallback)((()=>{d(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&d(!1),!r&&c()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return r.createElement(f.Provider,{value:n},t)}function m(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>g,S:()=>h});var r=n(7294),a=n(412),o=n(902),i=n(12),s=n(6668);const l=r.createContext(void 0),u="theme",c=(0,i.WA)(u),d={light:"light",dark:"dark"},f=e=>e===d.dark?d.dark:d.light,p=e=>a.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),m=e=>{c.set(f(e))};function h(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[a,o]=(0,r.useState)(p(e));(0,r.useEffect)((()=>{t&&c.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&m(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?d.dark:d.light:e),c.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=c.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===d.dark},setLightTheme(){i(d.light)},setDarkTheme(){i(d.dark)}})),[a,i])}();return r.createElement(l.Provider,{value:n},t)}function g(){const e=(0,r.useContext)(l);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>g});var r=n(7294),a=n(143),o=n(9935),i=n(6668),s=n(2802),l=n(902),u=n(12);const c=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,u.WA)(c(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.WA)(c(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.WA)(c(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const p=r.createContext(null);function m(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,s]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function h(e){let{children:t}=e;const n=m();return r.createElement(p.Provider,{value:n},t)}function g(e){let{children:t}=e;return s.cE?r.createElement(h,null,t):r.createElement(r.Fragment,null,t)}function b(){const e=(0,r.useContext)(p);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=b(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,b:()=>s});var r=n(7294),a=n(902);const o=Symbol("EmptyContext"),i=r.createContext(o);function s(e){let{children:t,name:n,items:a}=e;const o=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return r.createElement(i.Provider,{value:o},t)}function l(){const e=(0,r.useContext)(i);if(e===o)throw new a.i6("DocsSidebarProvider");return e}},2961:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>p});var r=n(7294),a=n(3102),o=n(7524),i=n(6550),s=(n(1688),n(902));function l(e){!function(e){const t=(0,i.k6)(),n=(0,s.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(6668);const c=r.createContext(void 0);function d(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,u.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[i,s]=(0,r.useState)(!1);l((()=>{if(i)return s(!1),!1}));const c=(0,r.useCallback)((()=>{s((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&s(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function f(e){let{children:t}=e;const n=d();return r.createElement(c.Provider,{value:n},t)}function p(){const e=r.useContext(c);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>l,n2:()=>i});var r=n(7294),a=n(902);const o=r.createContext(null);function i(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return r.createElement(o.Provider,{value:n},t)}function s(){const e=(0,r.useContext)(o);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function l(e){let{component:t,props:n}=e;const i=(0,r.useContext)(o);if(!i)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,s]=i,l=(0,a.Ql)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(7294);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>u});var r=n(7294),a=n(412);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(){return a.Z.canUseDOM?window.innerWidth>i?o.desktop:o.mobile:o.ssr}const l=!1;function u(){const[e,t]=(0,r.useState)((()=>l?"ssr":s()));return(0,r.useEffect)((()=>{function e(){t(s())}const n=l?window.setTimeout(e,1e3):void 0;return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(n)}}),[]),e}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},1442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},2802:(e,t,n)=>{"use strict";n.d(t,{Wl:()=>f,_F:()=>h,cE:()=>d,hI:()=>k,lO:()=>v,vY:()=>w,oz:()=>y,s1:()=>b});var r=n(7294),a=n(6550),o=n(8790),i=n(143),s=n(373),l=n(1116);function u(e){return Array.from(new Set(e))}var c=n(8596);const d=!!i._r;function f(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=f(t);if(e)return e}}}const p=(e,t)=>void 0!==e&&(0,c.Mg)(e,t),m=(e,t)=>e.some((e=>h(e,t)));function h(e,t){return"link"===e.type?p(e.href,t):"category"===e.type&&(p(e.href,t)||m(e.items,t))}function g(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,c.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,c.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function b(){const e=(0,l.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?g({sidebarItems:e.items,pathname:t}):null}function v(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,s.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>u([t,n,a].filter(Boolean))),[t,n,a])}function y(e,t){const n=v(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function w(e,t){const n=v(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${u(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function k(e){let{route:t,versionMetadata:n}=e;const r=(0,a.TH)(),i=t.routes,s=i.find((e=>(0,a.LX)(r.pathname,e)));if(!s)return null;const l=s.sidebar,u=l?n.docsSidebars[l]:void 0;return{docElement:(0,o.H)(i),sidebarName:l,sidebarItems:u}}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>c,VC:()=>p});var r=n(7294),a=n(6010),o=n(5742),i=n(226);function s(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(4996),u=n(2263);function c(e){let{title:t,description:n,keywords:a,image:i,children:s}=e;const c=function(e){const{siteConfig:t}=(0,u.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,l.C)(),f=i?d(i,{absolute:!0}):void 0;return r.createElement(o.Z,null,t&&r.createElement("title",null,c),t&&r.createElement("meta",{property:"og:title",content:c}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),a&&r.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),f&&r.createElement("meta",{property:"og:image",content:f}),f&&r.createElement("meta",{name:"twitter:image",content:f}),s)}const d=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(d),s=(0,a.Z)(i,t);return r.createElement(d.Provider,{value:s},r.createElement(o.Z,null,r.createElement("html",{className:s})),n)}function p(e){let{children:t}=e;const n=s(),o=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${n.plugin.id}`;return r.createElement(f,{className:(0,a.Z)(o,i)},t)}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>i,Qc:()=>u,Ql:()=>l,i6:()=>s,zX:()=>o});var r=n(7294);const a=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect;function o(e){const t=(0,r.useRef)(e);return a((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,r.useRef)();return a((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function l(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return r.createElement(r.Fragment,null,e.reduceRight(((e,t)=>r.createElement(t,null,e)),n))}}},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>s});var r=n(7294),a=n(723),o=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>l,RF:()=>d});var r=n(7294),a=n(412),o=n(2389),i=n(902);const s=r.createContext(void 0);function l(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return r.createElement(s.Provider,{value:n},t)}function u(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const c=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),a=(0,r.useRef)(c()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=c();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&a<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor(.85*(a-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>a});n(2263);const r="default";function a(e,t){return`docs-${e}-${t}`}},12:(e,t,n)=>{"use strict";n.d(t,{WA:()=>l});n(7294),n(1688);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const s={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function l(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?s:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>o});var r=n(2263),a=n(6550);function o(){const{siteConfig:{baseUrl:e,url:t},i18n:{defaultLocale:n,currentLocale:o}}=(0,r.Z)(),{pathname:i}=(0,a.TH)(),s=o===n?e:e.replace(`/${o}/`,"/"),l=i.replace(e,"");return{createUrl:function(e){let{locale:r,fullyQualified:a}=e;return`${a?t:""}${function(e){return e===n?`${s}`:`${s}${e}/`}(r)}${l}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),a=n(6550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){return(0,r.Z)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},311:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(7294),a=n(6010);const o={loadingRing:"loadingRing_RJI3","loading-ring":"loading-ring_FB5o"};function i(e){let{className:t}=e;return r.createElement("div",{className:(0,a.Z)(o.loadingRing,t)},r.createElement("div",null),r.createElement("div",null),r.createElement("div",null),r.createElement("div",null))}},22:(e,t,n)=>{"use strict";n.d(t,{w:()=>s});var r=n(1336),a=n.n(r),o=n(1029);const i=new Map;function s(e,t){const n=`${e}${t}`;let r=i.get(n);return r||(r=async function(e,t){{const n=`${e}${o.J.replace("{dir}",t?`-${t.replace(/\//g,"-")}`:"")}`;if(new URL(n,location.origin).origin!==location.origin)throw new Error("Unexpected version url");const r=await(await fetch(n)).json(),i=r.map(((e,t)=>{let{documents:n,index:r}=e;return{type:t,documents:n,index:a().Index.load(r)}})),s=r.reduce(((e,t)=>{for(const n of t.index.invertedIndex)/\p{Unified_Ideograph}/u.test(n[0][0])&&e.add(n[0]);return e}),new Set);return{wrappedIndexes:i,zhDictionary:Array.from(s)}}return{wrappedIndexes:[],zhDictionary:[]}}(e,t),i.set(n,r)),r}},8202:(e,t,n)=>{"use strict";n.d(t,{v:()=>l});var r=n(1336),a=n.n(r);var o=n(1029);function i(e){return s(e).concat(s(e.filter((e=>{const t=e[e.length-1];return!t.trailing&&t.maybeTyping})),!0))}function s(e,t){return e.map((e=>({tokens:e.map((e=>e.value)),term:e.map((e=>({value:e.value,presence:a().Query.presence.REQUIRED,wildcard:(t?e.trailing||e.maybeTyping:e.trailing)?a().Query.wildcard.TRAILING:a().Query.wildcard.NONE})))})))}function l(e,t,n){return function(r,s){const l=function(e,t){if(1===t.length&&["ja","jp","th"].includes(t[0]))return a()[t[0]].tokenizer(e).map((e=>e.toString()));let n=/[^-\s]+/g;return t.includes("zh")&&(n=/\w+|\p{Unified_Ideograph}+/gu),e.toLowerCase().match(n)||[]}(r,o.dK);if(0===l.length)return void s([]);const u=function(e,t){const n=function(e,t){const n=[];return function e(r,a){if(0===r.length)return void n.push(a);const o=r[0];if(/\p{Unified_Ideograph}/u.test(o)){const n=function(e,t){const n=[];return function e(r,a){let o=0,i=!1;for(const s of t)if(r.substr(0,s.length)===s){const t={missed:a.missed,term:a.term.concat({value:s})};r.length>s.length?e(r.substr(s.length),t):n.push(t),i=!0}else for(let t=s.length-1;t>o;t-=1){const l=s.substr(0,t);if(r.substr(0,t)===l){o=t;const s={missed:a.missed,term:a.term.concat({value:l,trailing:!0})};r.length>t?e(r.substr(t),s):n.push(s),i=!0;break}}i||(r.length>0?e(r.substr(1),{missed:a.missed+1,term:a.term}):a.term.length>0&&n.push(a))}(e,{missed:0,term:[]}),n.sort(((e,t)=>{const n=e.missed>0?1:0,r=t.missed>0?1:0;return n!==r?n-r:e.term.length-t.term.length})).map((e=>e.term))}(o,t);for(const t of n){const n=a.concat(...t);e(r.slice(1),n)}}else{const t=a.concat({value:o});e(r.slice(1),t)}}(e,[]),n}(e,t);if(0===n.length)return[{tokens:e,term:e.map((e=>({value:e,presence:a().Query.presence.REQUIRED,wildcard:a().Query.wildcard.LEADING|a().Query.wildcard.TRAILING})))}];for(const a of n)a[a.length-1].maybeTyping=!0;const r=[];for(const i of o.dK)if("en"===i)o._k||r.unshift(a().stopWordFilter);else{const e=a()[i];e.stopWordFilter&&r.unshift(e.stopWordFilter)}let s;if(r.length>0){const e=e=>r.reduce(((e,t)=>e.filter((e=>t(e.value)))),e);s=[];const t=[];for(const r of n){const n=e(r);s.push(n),n.length<r.length&&n.length>0&&t.push(n)}n.push(...t)}else s=n.slice();const l=[];for(const a of s)if(a.length>2)for(let e=a.length-1;e>=0;e-=1)l.push(a.slice(0,e).concat(a.slice(e+1)));return i(n).concat(i(l))}(l,t),c=[];e:for(const{term:t,tokens:a}of u)for(const{documents:r,index:o,type:i}of e)if(c.push(...o.query((e=>{for(const n of t)e.term(n.value,{wildcard:n.wildcard,presence:n.presence})})).slice(0,n).filter((e=>!c.some((t=>t.document.i.toString()===e.ref)))).slice(0,n-c.length).map((t=>{const n=r.find((e=>e.i.toString()===t.ref));return{document:n,type:i,page:0!==i&&e[0].documents.find((e=>e.i===n.p)),metadata:t.matchData.metadata,tokens:a,score:t.score}}))),c.length>=n)break e;!function(e){e.forEach(((e,t)=>{e.index=t})),e.sort(((t,n)=>{let r=t.type>0&&t.page?e.findIndex((e=>e.document===t.page)):t.index,a=n.type>0&&n.page?e.findIndex((e=>e.document===n.page)):n.index;return-1===r&&(r=t.index),-1===a&&(a=n.index),r===a?0===t.type?-1:0===n.type?1:t.index-n.index:r-a}))}(c),function(e){e.forEach(((t,n)=>{n>0&&t.page&&e.some((e=>e.document===t.page))&&(n<e.length-1&&e[n+1].page===t.page?t.isInterOfTree=!0:t.isLastOfTree=!0)}))}(c),s(c)}}},3926:(e,t,n)=>{"use strict";function r(e){return e.join(" \u203a ")}n.d(t,{e:()=>r})},1690:(e,t,n)=>{"use strict";function r(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}n.d(t,{X:()=>r})},1073:(e,t,n)=>{"use strict";function r(e,t){const n=[];for(const r of Object.values(e))r[t]&&n.push(...r[t].position);return n.sort(((e,t)=>e[0]-t[0]||t[1]-e[1]))}n.d(t,{m:()=>r})},2539:(e,t,n)=>{"use strict";n.d(t,{C:()=>a});var r=n(1690);function a(e,t,n){const o=[];for(const i of t){const n=e.toLowerCase().indexOf(i);if(n>=0){n>0&&o.push(a(e.substr(0,n),t)),o.push(`<mark>${(0,r.X)(e.substr(n,i.length))}</mark>`);const s=n+i.length;s<e.length&&o.push(a(e.substr(s),t));break}}return 0===o.length?n?`<mark>${(0,r.X)(e)}</mark>`:(0,r.X)(e):o.join("")}},726:(e,t,n)=>{"use strict";n.d(t,{o:()=>l});var r=n(1690),a=n(2539);const o=/\w+|\p{Unified_Ideograph}/u;function i(e){const t=[];let n=0,r=e;for(;r.length>0;){const a=r.match(o);if(!a){t.push(r);break}a.index>0&&t.push(r.substring(0,a.index)),t.push(a[0]),n+=a.index+a[0].length,r=e.substring(n)}return t}var s=n(1029);function l(e,t,n,o){void 0===o&&(o=s.Hk);const{chunkIndex:l,chunks:u}=function(e,t,n){const o=[];let s=0,l=0,u=-1;for(;s<t.length;){const[c,d]=t[s];if(s+=1,!(c<l)){if(c>l){const t=i(e.substring(l,c)).map((e=>({html:(0,r.X)(e),textLength:e.length})));for(const e of t)o.push(e)}-1===u&&(u=o.length),l=c+d,o.push({html:(0,a.C)(e.substring(c,l),n,!0),textLength:d})}}if(l<e.length){const t=i(e.substring(l)).map((e=>({html:(0,r.X)(e),textLength:e.length})));for(const e of t)o.push(e)}return{chunkIndex:u,chunks:o}}(e,t,n),c=u.slice(0,l),d=u[l],f=[d.html],p=u.slice(l+1);let m=d.textLength,h=0,g=0,b=!1,v=!1;for(;m<o;)if((h<=g||0===p.length)&&c.length>0){const e=c.pop();m+e.textLength<=o?(f.unshift(e.html),h+=e.textLength,m+=e.textLength):(b=!0,c.length=0)}else{if(!(p.length>0))break;{const e=p.shift();m+e.textLength<=o?(f.push(e.html),g+=e.textLength,m+=e.textLength):(v=!0,p.length=0)}}return(b||c.length>0)&&f.unshift("\u2026"),(v||p.length>0)&&f.push("\u2026"),f.join("")}},1029:(e,t,n)=>{"use strict";n.d(t,{vc:()=>s,gQ:()=>h,H6:()=>d,hG:()=>v,l9:()=>g,dK:()=>o,_k:()=>i,pu:()=>m,AY:()=>f,t_:()=>p,Kc:()=>b,J:()=>l,Hk:()=>c,qo:()=>u});var r=n(1336),a=n.n(r);n(892)(a()),n(1728).w(a()),n(4182)(a());const o=["zh","en"],i=!1,s=null,l="search-index{dir}.json?_=d11e2dc9",u=8,c=50,d=!0,f=!0,p=!1,m="right",h=void 0,g=!0,b=null,v=!0},1728:(e,t,n)=>{"use strict";function r(e){const t=new RegExp("^[^"+e+"]+","u"),n=new RegExp("[^"+e+"]+$","u");return function(e){return e.update((function(e){return e.replace(t,"").replace(n,"")}))}}function a(e,t){e.trimmerSupport.generateTrimmer=r,e.zh=function(){this.pipeline.reset(),this.pipeline.add(e.zh.trimmer,e.zh.stopWordFilter),t&&(this.tokenizer=t)},t&&(e.zh.tokenizer=t),e.zh.wordCharacters="\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uFA0E\\uFA0F\\uFA11\\uFA13\\uFA14\\uFA1F\\uFA21\\uFA23\\uFA24\\uFA27-\\uFA29\\u{20000}-\\u{2A6DD}\\u{2A700}-\\u{2B734}\\u{2B740}-\\u{2B81D}\\u{2B820}-\\u{2CEA1}\\u{2CEB0}-\\u{2EBE0}\\u{30000}-\\u{3134A}",e.zh.trimmer=e.trimmerSupport.generateTrimmer(e.zh.wordCharacters),e.Pipeline.registerFunction(e.zh.trimmer,"trimmer-zh"),e.zh.stopWordFilter=e.generateStopWordFilter("\u7684 \u4e00 \u4e0d \u5728 \u4eba \u6709 \u662f \u4e3a \u4ee5 \u4e8e \u4e0a \u4ed6 \u800c \u540e \u4e4b \u6765 \u53ca \u4e86 \u56e0 \u4e0b \u53ef \u5230 \u7531 \u8fd9 \u4e0e \u4e5f \u6b64 \u4f46 \u5e76 \u4e2a \u5176 \u5df2 \u65e0 \u5c0f \u6211 \u4eec \u8d77 \u6700 \u518d \u4eca \u53bb \u597d \u53ea \u53c8 \u6216 \u5f88 \u4ea6 \u67d0 \u628a \u90a3 \u4f60 \u4e43 \u5b83 \u5427 \u88ab \u6bd4 \u522b \u8d81 \u5f53 \u4ece \u5230 \u5f97 \u6253 \u51e1 \u513f \u5c14 \u8be5 \u5404 \u7ed9 \u8ddf \u548c \u4f55 \u8fd8 \u5373 \u51e0 \u65e2 \u770b \u636e \u8ddd \u9760 \u5566 \u4e86 \u53e6 \u4e48 \u6bcf \u4eec \u561b \u62ff \u54ea \u90a3 \u60a8 \u51ed \u4e14 \u5374 \u8ba9 \u4ecd \u5565 \u5982 \u82e5 \u4f7f \u8c01 \u867d \u968f \u540c \u6240 \u5979 \u54c7 \u55e1 \u5f80 \u54ea \u4e9b \u5411 \u6cbf \u54df \u7528 \u4e8e \u54b1 \u5219 \u600e \u66fe \u81f3 \u81f4 \u7740 \u8bf8 \u81ea".split(" ")),e.Pipeline.registerFunction(e.zh.stopWordFilter,"stopWordFilter-zh")}n.d(t,{w:()=>a})},6010:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=r(e[t]))&&(a&&(a+=" "),a+=n);else for(t in e)e[t]&&(a&&(a+=" "),a+=t);return a}n.d(t,{Z:()=>a});const a=function(){for(var e,t,n=0,a="";n<arguments.length;)(e=arguments[n++])&&(t=r(e))&&(a&&(a+=" "),a+=t);return a}},9318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>C,ob:()=>p,PP:()=>I,Ep:()=>f});var r=n(7462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r<a;n+=1,r+=1)e[n]=e[r];e.pop()}const i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],s=e&&a(e),l=t&&a(t),u=s||l;if(e&&a(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var c=i[i.length-1];n="."===c||".."===c||""===c}else n=!1;for(var d=0,f=i.length;f>=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var s=n(8776);function l(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var h=!("undefined"==typeof window||!window.document||!window.document.createElement);function g(e,t){t(window.confirm(e))}var b="popstate",v="hashchange";function y(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),h||(0,s.Z)(!1);var t,n=window.history,a=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,o=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,u=i.forceRefresh,w=void 0!==u&&u,k=i.getUserConfirmation,E=void 0===k?g:k,S=i.keyLength,x=void 0===S?6:S,_=e.basename?d(l(e.basename)):"";function C(e){var t=e||{},n=t.key,r=t.state,a=window.location,o=a.pathname+a.search+a.hash;return _&&(o=c(o,_)),p(o,r,n)}function T(){return Math.random().toString(36).substr(2,x)}var I=m();function L(e){(0,r.Z)($,e),$.length=n.length,I.notifyListeners($.location,$.action)}function A(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||N(C(e.state))}function P(){N(C(y()))}var O=!1;function N(e){if(O)O=!1,L();else{I.confirmTransitionTo(e,"POP",E,(function(t){t?L({action:"POP",location:e}):function(e){var t=$.location,n=U.indexOf(t.key);-1===n&&(n=0);var r=U.indexOf(e.key);-1===r&&(r=0);var a=n-r;a&&(O=!0,M(a))}(e)}))}}var R=C(y()),U=[R.key];function D(e){return _+f(e)}function M(e){n.go(e)}var F=0;function B(e){1===(F+=e)&&1===e?(window.addEventListener(b,A),o&&window.addEventListener(v,P)):0===F&&(window.removeEventListener(b,A),o&&window.removeEventListener(v,P))}var z=!1;var $={length:n.length,action:"POP",location:R,createHref:D,push:function(e,t){var r="PUSH",o=p(e,t,T(),$.location);I.confirmTransitionTo(o,r,E,(function(e){if(e){var t=D(o),i=o.key,s=o.state;if(a)if(n.pushState({key:i,state:s},null,t),w)window.location.href=t;else{var l=U.indexOf($.location.key),u=U.slice(0,l+1);u.push(o.key),U=u,L({action:r,location:o})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",o=p(e,t,T(),$.location);I.confirmTransitionTo(o,r,E,(function(e){if(e){var t=D(o),i=o.key,s=o.state;if(a)if(n.replaceState({key:i,state:s},null,t),w)window.location.replace(t);else{var l=U.indexOf($.location.key);-1!==l&&(U[l]=o.key),L({action:r,location:o})}else window.location.replace(t)}}))},go:M,goBack:function(){M(-1)},goForward:function(){M(1)},block:function(e){void 0===e&&(e=!1);var t=I.setPrompt(e);return z||(B(1),z=!0),function(){return z&&(z=!1,B(-1)),t()}},listen:function(e){var t=I.appendListener(e);return B(1),function(){B(-1),t()}}};return $}var k="hashchange",E={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+u(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:u,decodePath:l},slash:{encodePath:l,decodePath:l}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function x(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function _(e){window.location.replace(S(window.location.href)+"#"+e)}function C(e){void 0===e&&(e={}),h||(0,s.Z)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),a=n.getUserConfirmation,o=void 0===a?g:a,i=n.hashType,u=void 0===i?"slash":i,b=e.basename?d(l(e.basename)):"",v=E[u],y=v.encodePath,w=v.decodePath;function C(){var e=w(x());return b&&(e=c(e,b)),p(e)}var T=m();function I(e){(0,r.Z)(z,e),z.length=t.length,T.notifyListeners(z.location,z.action)}var L=!1,A=null;function P(){var e,t,n=x(),r=y(n);if(n!==r)_(r);else{var a=C(),i=z.location;if(!L&&(t=a,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(A===f(a))return;A=null,function(e){if(L)L=!1,I();else{var t="POP";T.confirmTransitionTo(e,t,o,(function(n){n?I({action:t,location:e}):function(e){var t=z.location,n=U.lastIndexOf(f(t));-1===n&&(n=0);var r=U.lastIndexOf(f(e));-1===r&&(r=0);var a=n-r;a&&(L=!0,D(a))}(e)}))}}(a)}}var O=x(),N=y(O);O!==N&&_(N);var R=C(),U=[f(R)];function D(e){t.go(e)}var M=0;function F(e){1===(M+=e)&&1===e?window.addEventListener(k,P):0===M&&window.removeEventListener(k,P)}var B=!1;var z={length:t.length,action:"POP",location:R,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+y(b+f(e))},push:function(e,t){var n="PUSH",r=p(e,void 0,void 0,z.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=f(r),a=y(b+t);if(x()!==a){A=t,function(e){window.location.hash=e}(a);var o=U.lastIndexOf(f(z.location)),i=U.slice(0,o+1);i.push(t),U=i,I({action:n,location:r})}else I()}}))},replace:function(e,t){var n="REPLACE",r=p(e,void 0,void 0,z.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=f(r),a=y(b+t);x()!==a&&(A=t,_(a));var o=U.indexOf(f(z.location));-1!==o&&(U[o]=t),I({action:n,location:r})}}))},go:D,goBack:function(){D(-1)},goForward:function(){D(1)},block:function(e){void 0===e&&(e=!1);var t=T.setPrompt(e);return B||(F(1),B=!0),function(){return B&&(B=!1,F(-1)),t()}},listen:function(e){var t=T.appendListener(e);return F(1),function(){F(-1),t()}}};return z}function T(e,t,n){return Math.min(Math.max(e,t),n)}function I(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,a=t.initialEntries,o=void 0===a?["/"]:a,i=t.initialIndex,s=void 0===i?0:i,l=t.keyLength,u=void 0===l?6:l,c=m();function d(e){(0,r.Z)(w,e),w.length=w.entries.length,c.notifyListeners(w.location,w.action)}function h(){return Math.random().toString(36).substr(2,u)}var g=T(s,0,o.length-1),b=o.map((function(e){return p(e,void 0,"string"==typeof e?h():e.key||h())})),v=f;function y(e){var t=T(w.index+e,0,w.entries.length-1),r=w.entries[t];c.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var w={length:b.length,action:"POP",location:b[g],index:g,entries:b,createHref:v,push:function(e,t){var r="PUSH",a=p(e,t,h(),w.location);c.confirmTransitionTo(a,r,n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,h(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),c.setPrompt(e)},listen:function(e){return c.appendListener(e)}};return w}},8679:(e,t,n)=>{"use strict";var r=n(9864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(m){var a=p(n);a&&a!==m&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var s=l(t),h=l(n),g=0;g<i.length;++g){var b=i[g];if(!(o[b]||r&&r[b]||h&&h[b]||s&&s[b])){var v=f(n,b);try{u(t,b,v)}catch(y){}}}}return t}},1143:e=>{"use strict";e.exports=function(e,t,n,r,a,o,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,s],c=0;(l=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},4182:function(e,t,n){var r,a;r=function(){return function(e){e.multiLanguage=function(){for(var t=Array.prototype.slice.call(arguments),n=t.join("-"),r="",a=[],o=[],i=0;i<t.length;++i)"en"==t[i]?(r+="\\w",a.unshift(e.stopWordFilter),a.push(e.stemmer),o.push(e.stemmer)):(r+=e[t[i]].wordCharacters,e[t[i]].stopWordFilter&&a.unshift(e[t[i]].stopWordFilter),e[t[i]].stemmer&&(a.push(e[t[i]].stemmer),o.push(e[t[i]].stemmer)));var s=e.trimmerSupport.generateTrimmer(r);return e.Pipeline.registerFunction(s,"lunr-multi-trimmer-"+n),a.unshift(s),function(){this.pipeline.reset(),this.pipeline.add.apply(this.pipeline,a),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add.apply(this.searchPipeline,o))}}}},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},892:function(e,t,n){var r,a;void 0===(a="function"==typeof(r=function(){return function(e){e.stemmerSupport={Among:function(e,t,n,r){if(this.toCharArray=function(e){for(var t=e.length,n=new Array(t),r=0;r<t;r++)n[r]=e.charCodeAt(r);return n},!e&&""!=e||!t&&0!=t||!n)throw"Bad Among initialisation: s:"+e+", substring_i: "+t+", result: "+n;this.s_size=e.length,this.s=this.toCharArray(e),this.substring_i=t,this.result=n,this.method=r},SnowballProgram:function(){var e;return{bra:0,ket:0,limit:0,cursor:0,limit_backward:0,setCurrent:function(t){e=t,this.cursor=0,this.limit=t.length,this.limit_backward=0,this.bra=this.cursor,this.ket=this.limit},getCurrent:function(){var t=e;return e=null,t},in_grouping:function(t,n,r){if(this.cursor<this.limit){var a=e.charCodeAt(this.cursor);if(a<=r&&a>=n&&t[(a-=n)>>3]&1<<(7&a))return this.cursor++,!0}return!1},in_grouping_b:function(t,n,r){if(this.cursor>this.limit_backward){var a=e.charCodeAt(this.cursor-1);if(a<=r&&a>=n&&t[(a-=n)>>3]&1<<(7&a))return this.cursor--,!0}return!1},out_grouping:function(t,n,r){if(this.cursor<this.limit){var a=e.charCodeAt(this.cursor);if(a>r||a<n)return this.cursor++,!0;if(!(t[(a-=n)>>3]&1<<(7&a)))return this.cursor++,!0}return!1},out_grouping_b:function(t,n,r){if(this.cursor>this.limit_backward){var a=e.charCodeAt(this.cursor-1);if(a>r||a<n)return this.cursor--,!0;if(!(t[(a-=n)>>3]&1<<(7&a)))return this.cursor--,!0}return!1},eq_s:function(t,n){if(this.limit-this.cursor<t)return!1;for(var r=0;r<t;r++)if(e.charCodeAt(this.cursor+r)!=n.charCodeAt(r))return!1;return this.cursor+=t,!0},eq_s_b:function(t,n){if(this.cursor-this.limit_backward<t)return!1;for(var r=0;r<t;r++)if(e.charCodeAt(this.cursor-t+r)!=n.charCodeAt(r))return!1;return this.cursor-=t,!0},find_among:function(t,n){for(var r=0,a=n,o=this.cursor,i=this.limit,s=0,l=0,u=!1;;){for(var c=r+(a-r>>1),d=0,f=s<l?s:l,p=t[c],m=f;m<p.s_size;m++){if(o+f==i){d=-1;break}if(d=e.charCodeAt(o+f)-p.s[m])break;f++}if(d<0?(a=c,l=f):(r=c,s=f),a-r<=1){if(r>0||a==r||u)break;u=!0}}for(;;){if(s>=(p=t[r]).s_size){if(this.cursor=o+p.s_size,!p.method)return p.result;var h=p.method();if(this.cursor=o+p.s_size,h)return p.result}if((r=p.substring_i)<0)return 0}},find_among_b:function(t,n){for(var r=0,a=n,o=this.cursor,i=this.limit_backward,s=0,l=0,u=!1;;){for(var c=r+(a-r>>1),d=0,f=s<l?s:l,p=(m=t[c]).s_size-1-f;p>=0;p--){if(o-f==i){d=-1;break}if(d=e.charCodeAt(o-1-f)-m.s[p])break;f++}if(d<0?(a=c,l=f):(r=c,s=f),a-r<=1){if(r>0||a==r||u)break;u=!0}}for(;;){var m;if(s>=(m=t[r]).s_size){if(this.cursor=o-m.s_size,!m.method)return m.result;var h=m.method();if(this.cursor=o-m.s_size,h)return m.result}if((r=m.substring_i)<0)return 0}},replace_s:function(t,n,r){var a=r.length-(n-t),o=e.substring(0,t),i=e.substring(n);return e=o+r+i,this.limit+=a,this.cursor>=n?this.cursor+=a:this.cursor>t&&(this.cursor=t),a},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>e.length)throw"faulty slice operation"},slice_from:function(e){this.slice_check(),this.replace_s(this.bra,this.ket,e)},slice_del:function(){this.slice_from("")},insert:function(e,t,n){var r=this.replace_s(e,t,n);e<=this.bra&&(this.bra+=r),e<=this.ket&&(this.ket+=r)},slice_to:function(){return this.slice_check(),e.substring(this.bra,this.ket)},eq_v_b:function(e){return this.eq_s_b(e.length,e)}}}},e.trimmerSupport={generateTrimmer:function(e){var t=new RegExp("^[^"+e+"]+"),n=new RegExp("[^"+e+"]+$");return function(e){return"function"==typeof e.update?e.update((function(e){return e.replace(t,"").replace(n,"")})):e.replace(t,"").replace(n,"")}}}}})?r.call(t,n,t,e):r)||(e.exports=a)},1336:(e,t,n)=>{var r,a;!function(){var o,i,s,l,u,c,d,f,p,m,h,g,b,v,y,w,k,E,S,x,_,C,T,I,L,A,P,O,N,R,U=function(e){var t=new U.Builder;return t.pipeline.add(U.trimmer,U.stopWordFilter,U.stemmer),t.searchPipeline.add(U.stemmer),e.call(t,t),t.build()};U.version="2.3.9",U.utils={},U.utils.warn=(o=this,function(e){o.console&&console.warn&&console.warn(e)}),U.utils.asString=function(e){return null==e?"":e.toString()},U.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r<n.length;r++){var a=n[r],o=e[a];if(Array.isArray(o))t[a]=o.slice();else{if("string"!=typeof o&&"number"!=typeof o&&"boolean"!=typeof o)throw new TypeError("clone is not deep and does not support nested objects");t[a]=o}}return t},U.FieldRef=function(e,t,n){this.docRef=e,this.fieldName=t,this._stringValue=n},U.FieldRef.joiner="/",U.FieldRef.fromString=function(e){var t=e.indexOf(U.FieldRef.joiner);if(-1===t)throw"malformed field ref string";var n=e.slice(0,t),r=e.slice(t+1);return new U.FieldRef(r,n,e)},U.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+U.FieldRef.joiner+this.docRef),this._stringValue},U.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},U.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},U.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},U.Set.prototype.contains=function(e){return!!this.elements[e]},U.Set.prototype.intersect=function(e){var t,n,r,a=[];if(e===U.Set.complete)return this;if(e===U.Set.empty)return e;this.length<e.length?(t=this,n=e):(t=e,n=this),r=Object.keys(t.elements);for(var o=0;o<r.length;o++){var i=r[o];i in n.elements&&a.push(i)}return new U.Set(a)},U.Set.prototype.union=function(e){return e===U.Set.complete?U.Set.complete:e===U.Set.empty?this:new U.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},U.idf=function(e,t){var n=0;for(var r in e)"_index"!=r&&(n+=Object.keys(e[r]).length);var a=(t-n+.5)/(n+.5);return Math.log(1+Math.abs(a))},U.Token=function(e,t){this.str=e||"",this.metadata=t||{}},U.Token.prototype.toString=function(){return this.str},U.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},U.Token.prototype.clone=function(e){return e=e||function(e){return e},new U.Token(e(this.str,this.metadata),this.metadata)},U.tokenizer=function(e,t){if(null==e||null==e)return[];if(Array.isArray(e))return e.map((function(e){return new U.Token(U.utils.asString(e).toLowerCase(),U.utils.clone(t))}));for(var n=e.toString().toLowerCase(),r=n.length,a=[],o=0,i=0;o<=r;o++){var s=o-i;if(n.charAt(o).match(U.tokenizer.separator)||o==r){if(s>0){var l=U.utils.clone(t)||{};l.position=[i,s],l.index=a.length,a.push(new U.Token(n.slice(i,o),l))}i=o+1}}return a},U.tokenizer.separator=/[\s\-]+/,U.Pipeline=function(){this._stack=[]},U.Pipeline.registeredFunctions=Object.create(null),U.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&U.utils.warn("Overwriting existing registered function: "+t),e.label=t,U.Pipeline.registeredFunctions[e.label]=e},U.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||U.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},U.Pipeline.load=function(e){var t=new U.Pipeline;return e.forEach((function(e){var n=U.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},U.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){U.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},U.Pipeline.prototype.after=function(e,t){U.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},U.Pipeline.prototype.before=function(e,t){U.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},U.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},U.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n<t;n++){for(var r=this._stack[n],a=[],o=0;o<e.length;o++){var i=r(e[o],o,e);if(null!=i&&""!==i)if(Array.isArray(i))for(var s=0;s<i.length;s++)a.push(i[s]);else a.push(i)}e=a}return e},U.Pipeline.prototype.runString=function(e,t){var n=new U.Token(e,t);return this.run([n]).map((function(e){return e.toString()}))},U.Pipeline.prototype.reset=function(){this._stack=[]},U.Pipeline.prototype.toJSON=function(){return this._stack.map((function(e){return U.Pipeline.warnIfFunctionNotRegistered(e),e.label}))},U.Vector=function(e){this._magnitude=0,this.elements=e||[]},U.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,n=this.elements.length/2,r=n-t,a=Math.floor(r/2),o=this.elements[2*a];r>1&&(o<e&&(t=a),o>e&&(n=a),o!=e);)r=n-t,a=t+Math.floor(r/2),o=this.elements[2*a];return o==e||o>e?2*a:o<e?2*(a+1):void 0},U.Vector.prototype.insert=function(e,t){this.upsert(e,t,(function(){throw"duplicate index"}))},U.Vector.prototype.upsert=function(e,t,n){this._magnitude=0;var r=this.positionForIndex(e);this.elements[r]==e?this.elements[r+1]=n(this.elements[r+1],t):this.elements.splice(r,0,e,t)},U.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,n=1;n<t;n+=2){var r=this.elements[n];e+=r*r}return this._magnitude=Math.sqrt(e)},U.Vector.prototype.dot=function(e){for(var t=0,n=this.elements,r=e.elements,a=n.length,o=r.length,i=0,s=0,l=0,u=0;l<a&&u<o;)(i=n[l])<(s=r[u])?l+=2:i>s?u+=2:i==s&&(t+=n[l+1]*r[u+1],l+=2,u+=2);return t},U.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},U.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t<this.elements.length;t+=2,n++)e[n]=this.elements[t];return e},U.Vector.prototype.toJSON=function(){return this.elements},U.stemmer=(i={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},s={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},d="^("+(u="[^aeiou][^aeiouy]*")+")?"+(c=(l="[aeiouy]")+"[aeiou]*")+u+"("+c+")?$",f="^("+u+")?"+c+u+c+u,p="^("+u+")?"+l,m=new RegExp("^("+u+")?"+c+u),h=new RegExp(f),g=new RegExp(d),b=new RegExp(p),v=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,w=/^(.+?)eed$/,k=/^(.+?)(ed|ing)$/,E=/.$/,S=/(at|bl|iz)$/,x=new RegExp("([^aeiouylsz])\\1$"),_=new RegExp("^"+u+l+"[^aeiouwxy]$"),C=/^(.+?[^aeiou])y$/,T=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,I=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,L=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,A=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,O=/ll$/,N=new RegExp("^"+u+l+"[^aeiouwxy]$"),R=function(e){var t,n,r,a,o,l,u;if(e.length<3)return e;if("y"==(r=e.substr(0,1))&&(e=r.toUpperCase()+e.substr(1)),o=y,(a=v).test(e)?e=e.replace(a,"$1$2"):o.test(e)&&(e=e.replace(o,"$1$2")),o=k,(a=w).test(e)){var c=a.exec(e);(a=m).test(c[1])&&(a=E,e=e.replace(a,""))}else o.test(e)&&(t=(c=o.exec(e))[1],(o=b).test(t)&&(l=x,u=_,(o=S).test(e=t)?e+="e":l.test(e)?(a=E,e=e.replace(a,"")):u.test(e)&&(e+="e")));return(a=C).test(e)&&(e=(t=(c=a.exec(e))[1])+"i"),(a=T).test(e)&&(t=(c=a.exec(e))[1],n=c[2],(a=m).test(t)&&(e=t+i[n])),(a=I).test(e)&&(t=(c=a.exec(e))[1],n=c[2],(a=m).test(t)&&(e=t+s[n])),o=A,(a=L).test(e)?(t=(c=a.exec(e))[1],(a=h).test(t)&&(e=t)):o.test(e)&&(t=(c=o.exec(e))[1]+c[2],(o=h).test(t)&&(e=t)),(a=P).test(e)&&(t=(c=a.exec(e))[1],o=g,l=N,((a=h).test(t)||o.test(t)&&!l.test(t))&&(e=t)),o=h,(a=O).test(e)&&o.test(e)&&(a=E,e=e.replace(a,"")),"y"==r&&(e=r.toLowerCase()+e.substr(1)),e},function(e){return e.update(R)}),U.Pipeline.registerFunction(U.stemmer,"stemmer"),U.generateStopWordFilter=function(e){var t=e.reduce((function(e,t){return e[t]=t,e}),{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},U.stopWordFilter=U.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),U.Pipeline.registerFunction(U.stopWordFilter,"stopWordFilter"),U.trimmer=function(e){return e.update((function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")}))},U.Pipeline.registerFunction(U.trimmer,"trimmer"),U.TokenSet=function(){this.final=!1,this.edges={},this.id=U.TokenSet._nextId,U.TokenSet._nextId+=1},U.TokenSet._nextId=1,U.TokenSet.fromArray=function(e){for(var t=new U.TokenSet.Builder,n=0,r=e.length;n<r;n++)t.insert(e[n]);return t.finish(),t.root},U.TokenSet.fromClause=function(e){return"editDistance"in e?U.TokenSet.fromFuzzyString(e.term,e.editDistance):U.TokenSet.fromString(e.term)},U.TokenSet.fromFuzzyString=function(e,t){for(var n=new U.TokenSet,r=[{node:n,editsRemaining:t,str:e}];r.length;){var a=r.pop();if(a.str.length>0){var o,i=a.str.charAt(0);i in a.node.edges?o=a.node.edges[i]:(o=new U.TokenSet,a.node.edges[i]=o),1==a.str.length&&(o.final=!0),r.push({node:o,editsRemaining:a.editsRemaining,str:a.str.slice(1)})}if(0!=a.editsRemaining){if("*"in a.node.edges)var s=a.node.edges["*"];else{s=new U.TokenSet;a.node.edges["*"]=s}if(0==a.str.length&&(s.final=!0),r.push({node:s,editsRemaining:a.editsRemaining-1,str:a.str}),a.str.length>1&&r.push({node:a.node,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)}),1==a.str.length&&(a.node.final=!0),a.str.length>=1){if("*"in a.node.edges)var l=a.node.edges["*"];else{l=new U.TokenSet;a.node.edges["*"]=l}1==a.str.length&&(l.final=!0),r.push({node:l,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)})}if(a.str.length>1){var u,c=a.str.charAt(0),d=a.str.charAt(1);d in a.node.edges?u=a.node.edges[d]:(u=new U.TokenSet,a.node.edges[d]=u),1==a.str.length&&(u.final=!0),r.push({node:u,editsRemaining:a.editsRemaining-1,str:c+a.str.slice(2)})}}}return n},U.TokenSet.fromString=function(e){for(var t=new U.TokenSet,n=t,r=0,a=e.length;r<a;r++){var o=e[r],i=r==a-1;if("*"==o)t.edges[o]=t,t.final=i;else{var s=new U.TokenSet;s.final=i,t.edges[o]=s,t=s}}return n},U.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var n=t.pop(),r=Object.keys(n.node.edges),a=r.length;n.node.final&&(n.prefix.charAt(0),e.push(n.prefix));for(var o=0;o<a;o++){var i=r[o];t.push({prefix:n.prefix.concat(i),node:n.node.edges[i]})}}return e},U.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),n=t.length,r=0;r<n;r++){var a=t[r];e=e+a+this.edges[a].id}return e},U.TokenSet.prototype.intersect=function(e){for(var t=new U.TokenSet,n=void 0,r=[{qNode:e,output:t,node:this}];r.length;){n=r.pop();for(var a=Object.keys(n.qNode.edges),o=a.length,i=Object.keys(n.node.edges),s=i.length,l=0;l<o;l++)for(var u=a[l],c=0;c<s;c++){var d=i[c];if(d==u||"*"==u){var f=n.node.edges[d],p=n.qNode.edges[u],m=f.final&&p.final,h=void 0;d in n.output.edges?(h=n.output.edges[d]).final=h.final||m:((h=new U.TokenSet).final=m,n.output.edges[d]=h),r.push({qNode:p,output:h,node:f})}}}return t},U.TokenSet.Builder=function(){this.previousWord="",this.root=new U.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},U.TokenSet.Builder.prototype.insert=function(e){var t,n=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var r=0;r<e.length&&r<this.previousWord.length&&e[r]==this.previousWord[r];r++)n++;this.minimize(n),t=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(r=n;r<e.length;r++){var a=new U.TokenSet,o=e[r];t.edges[o]=a,this.uncheckedNodes.push({parent:t,char:o,child:a}),t=a}t.final=!0,this.previousWord=e},U.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},U.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;t>=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}},U.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},U.Index.prototype.search=function(e){return this.query((function(t){new U.QueryParser(e,t).parse()}))},U.Index.prototype.query=function(e){for(var t=new U.Query(this.fields),n=Object.create(null),r=Object.create(null),a=Object.create(null),o=Object.create(null),i=Object.create(null),s=0;s<this.fields.length;s++)r[this.fields[s]]=new U.Vector;e.call(t,t);for(s=0;s<t.clauses.length;s++){var l=t.clauses[s],u=null,c=U.Set.empty;u=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<u.length;d++){var f=u[d];l.term=f;var p=U.TokenSet.fromClause(l),m=this.tokenSet.intersect(p).toArray();if(0===m.length&&l.presence===U.Query.presence.REQUIRED){for(var h=0;h<l.fields.length;h++){o[P=l.fields[h]]=U.Set.empty}break}for(var g=0;g<m.length;g++){var b=m[g],v=this.invertedIndex[b],y=v._index;for(h=0;h<l.fields.length;h++){var w=v[P=l.fields[h]],k=Object.keys(w),E=b+"/"+P,S=new U.Set(k);if(l.presence==U.Query.presence.REQUIRED&&(c=c.union(S),void 0===o[P]&&(o[P]=U.Set.complete)),l.presence!=U.Query.presence.PROHIBITED){if(r[P].upsert(y,l.boost,(function(e,t){return e+t})),!a[E]){for(var x=0;x<k.length;x++){var _,C=k[x],T=new U.FieldRef(C,P),I=w[C];void 0===(_=n[T])?n[T]=new U.MatchData(b,P,I):_.add(b,P,I)}a[E]=!0}}else void 0===i[P]&&(i[P]=U.Set.empty),i[P]=i[P].union(S)}}}if(l.presence===U.Query.presence.REQUIRED)for(h=0;h<l.fields.length;h++){o[P=l.fields[h]]=o[P].intersect(c)}}var L=U.Set.complete,A=U.Set.empty;for(s=0;s<this.fields.length;s++){var P;o[P=this.fields[s]]&&(L=L.intersect(o[P])),i[P]&&(A=A.union(i[P]))}var O=Object.keys(n),N=[],R=Object.create(null);if(t.isNegated()){O=Object.keys(this.fieldVectors);for(s=0;s<O.length;s++){T=O[s];var D=U.FieldRef.fromString(T);n[T]=new U.MatchData}}for(s=0;s<O.length;s++){var M=(D=U.FieldRef.fromString(O[s])).docRef;if(L.contains(M)&&!A.contains(M)){var F,B=this.fieldVectors[D],z=r[D.fieldName].similarity(B);if(void 0!==(F=R[M]))F.score+=z,F.matchData.combine(n[D]);else{var $={ref:M,score:z,matchData:n[D]};R[M]=$,N.push($)}}}return N.sort((function(e,t){return t.score-e.score}))},U.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map((function(e){return[e,this.invertedIndex[e]]}),this),t=Object.keys(this.fieldVectors).map((function(e){return[e,this.fieldVectors[e].toJSON()]}),this);return{version:U.version,fields:this.fields,fieldVectors:t,invertedIndex:e,pipeline:this.pipeline.toJSON()}},U.Index.load=function(e){var t={},n={},r=e.fieldVectors,a=Object.create(null),o=e.invertedIndex,i=new U.TokenSet.Builder,s=U.Pipeline.load(e.pipeline);e.version!=U.version&&U.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+U.version+"' does not match serialized index '"+e.version+"'");for(var l=0;l<r.length;l++){var u=(d=r[l])[0],c=d[1];n[u]=new U.Vector(c)}for(l=0;l<o.length;l++){var d,f=(d=o[l])[0],p=d[1];i.insert(f),a[f]=p}return i.finish(),t.fields=e.fields,t.fieldVectors=n,t.invertedIndex=a,t.tokenSet=i.root,t.pipeline=s,new U.Index(t)},U.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=U.tokenizer,this.pipeline=new U.Pipeline,this.searchPipeline=new U.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},U.Builder.prototype.ref=function(e){this._ref=e},U.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},U.Builder.prototype.b=function(e){this._b=e<0?0:e>1?1:e},U.Builder.prototype.k1=function(e){this._k1=e},U.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var a=0;a<r.length;a++){var o=r[a],i=this._fields[o].extractor,s=i?i(e):e[o],l=this.tokenizer(s,{fields:[o]}),u=this.pipeline.run(l),c=new U.FieldRef(n,o),d=Object.create(null);this.fieldTermFrequencies[c]=d,this.fieldLengths[c]=0,this.fieldLengths[c]+=u.length;for(var f=0;f<u.length;f++){var p=u[f];if(null==d[p]&&(d[p]=0),d[p]+=1,null==this.invertedIndex[p]){var m=Object.create(null);m._index=this.termIndex,this.termIndex+=1;for(var h=0;h<r.length;h++)m[r[h]]=Object.create(null);this.invertedIndex[p]=m}null==this.invertedIndex[p][o][n]&&(this.invertedIndex[p][o][n]=Object.create(null));for(var g=0;g<this.metadataWhitelist.length;g++){var b=this.metadataWhitelist[g],v=p.metadata[b];null==this.invertedIndex[p][o][n][b]&&(this.invertedIndex[p][o][n][b]=[]),this.invertedIndex[p][o][n][b].push(v)}}}},U.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),t=e.length,n={},r={},a=0;a<t;a++){var o=U.FieldRef.fromString(e[a]),i=o.fieldName;r[i]||(r[i]=0),r[i]+=1,n[i]||(n[i]=0),n[i]+=this.fieldLengths[o]}var s=Object.keys(this._fields);for(a=0;a<s.length;a++){var l=s[a];n[l]=n[l]/r[l]}this.averageFieldLength=n},U.Builder.prototype.createFieldVectors=function(){for(var e={},t=Object.keys(this.fieldTermFrequencies),n=t.length,r=Object.create(null),a=0;a<n;a++){for(var o=U.FieldRef.fromString(t[a]),i=o.fieldName,s=this.fieldLengths[o],l=new U.Vector,u=this.fieldTermFrequencies[o],c=Object.keys(u),d=c.length,f=this._fields[i].boost||1,p=this._documents[o.docRef].boost||1,m=0;m<d;m++){var h,g,b,v=c[m],y=u[v],w=this.invertedIndex[v]._index;void 0===r[v]?(h=U.idf(this.invertedIndex[v],this.documentCount),r[v]=h):h=r[v],g=h*((this._k1+1)*y)/(this._k1*(1-this._b+this._b*(s/this.averageFieldLength[i]))+y),g*=f,g*=p,b=Math.round(1e3*g)/1e3,l.insert(w,b)}e[o]=l}this.fieldVectors=e},U.Builder.prototype.createTokenSet=function(){this.tokenSet=U.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},U.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new U.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},U.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},U.MatchData=function(e,t,n){for(var r=Object.create(null),a=Object.keys(n||{}),o=0;o<a.length;o++){var i=a[o];r[i]=n[i].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=r)},U.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),n=0;n<t.length;n++){var r=t[n],a=Object.keys(e.metadata[r]);null==this.metadata[r]&&(this.metadata[r]=Object.create(null));for(var o=0;o<a.length;o++){var i=a[o],s=Object.keys(e.metadata[r][i]);null==this.metadata[r][i]&&(this.metadata[r][i]=Object.create(null));for(var l=0;l<s.length;l++){var u=s[l];null==this.metadata[r][i][u]?this.metadata[r][i][u]=e.metadata[r][i][u]:this.metadata[r][i][u]=this.metadata[r][i][u].concat(e.metadata[r][i][u])}}}},U.MatchData.prototype.add=function(e,t,n){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=n);if(t in this.metadata[e])for(var r=Object.keys(n),a=0;a<r.length;a++){var o=r[a];o in this.metadata[e][t]?this.metadata[e][t][o]=this.metadata[e][t][o].concat(n[o]):this.metadata[e][t][o]=n[o]}else this.metadata[e][t]=n},U.Query=function(e){this.clauses=[],this.allFields=e},U.Query.wildcard=new String("*"),U.Query.wildcard.NONE=0,U.Query.wildcard.LEADING=1,U.Query.wildcard.TRAILING=2,U.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},U.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=U.Query.wildcard.NONE),e.wildcard&U.Query.wildcard.LEADING&&e.term.charAt(0)!=U.Query.wildcard&&(e.term="*"+e.term),e.wildcard&U.Query.wildcard.TRAILING&&e.term.slice(-1)!=U.Query.wildcard&&(e.term=e.term+"*"),"presence"in e||(e.presence=U.Query.presence.OPTIONAL),this.clauses.push(e),this},U.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=U.Query.presence.PROHIBITED)return!1;return!0},U.Query.prototype.term=function(e,t){if(Array.isArray(e))return e.forEach((function(e){this.term(e,U.utils.clone(t))}),this),this;var n=t||{};return n.term=e.toString(),this.clause(n),this},U.QueryParseError=function(e,t,n){this.name="QueryParseError",this.message=e,this.start=t,this.end=n},U.QueryParseError.prototype=new Error,U.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},U.QueryLexer.prototype.run=function(){for(var e=U.QueryLexer.lexText;e;)e=e(this)},U.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,n=this.pos,r=0;r<this.escapeCharPositions.length;r++)n=this.escapeCharPositions[r],e.push(this.str.slice(t,n)),t=n+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},U.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},U.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},U.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return U.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},U.QueryLexer.prototype.width=function(){return this.pos-this.start},U.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},U.QueryLexer.prototype.backup=function(){this.pos-=1},U.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=U.QueryLexer.EOS&&this.backup()},U.QueryLexer.prototype.more=function(){return this.pos<this.length},U.QueryLexer.EOS="EOS",U.QueryLexer.FIELD="FIELD",U.QueryLexer.TERM="TERM",U.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",U.QueryLexer.BOOST="BOOST",U.QueryLexer.PRESENCE="PRESENCE",U.QueryLexer.lexField=function(e){return e.backup(),e.emit(U.QueryLexer.FIELD),e.ignore(),U.QueryLexer.lexText},U.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(U.QueryLexer.TERM)),e.ignore(),e.more())return U.QueryLexer.lexText},U.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(U.QueryLexer.EDIT_DISTANCE),U.QueryLexer.lexText},U.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(U.QueryLexer.BOOST),U.QueryLexer.lexText},U.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(U.QueryLexer.TERM)},U.QueryLexer.termSeparator=U.tokenizer.separator,U.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==U.QueryLexer.EOS)return U.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return U.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(U.QueryLexer.TERM),U.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(U.QueryLexer.TERM),U.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(U.QueryLexer.PRESENCE),U.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(U.QueryLexer.PRESENCE),U.QueryLexer.lexText;if(t.match(U.QueryLexer.termSeparator))return U.QueryLexer.lexTerm}else e.escapeCharacter()}},U.QueryParser=function(e,t){this.lexer=new U.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},U.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=U.QueryParser.parseClause;e;)e=e(this);return this.query},U.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},U.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},U.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},U.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case U.QueryLexer.PRESENCE:return U.QueryParser.parsePresence;case U.QueryLexer.FIELD:return U.QueryParser.parseField;case U.QueryLexer.TERM:return U.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new U.QueryParseError(n,t.start,t.end)}},U.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=U.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=U.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new U.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new U.QueryParseError(n,t.start,t.end)}switch(r.type){case U.QueryLexer.FIELD:return U.QueryParser.parseField;case U.QueryLexer.TERM:return U.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new U.QueryParseError(n,r.start,r.end)}}},U.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new U.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var a=e.peekLexeme();if(null==a){r="expecting term, found nothing";throw new U.QueryParseError(r,t.start,t.end)}if(a.type===U.QueryLexer.TERM)return U.QueryParser.parseTerm;r="expecting term, found '"+a.type+"'";throw new U.QueryParseError(r,a.start,a.end)}},U.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case U.QueryLexer.TERM:return e.nextClause(),U.QueryParser.parseTerm;case U.QueryLexer.FIELD:return e.nextClause(),U.QueryParser.parseField;case U.QueryLexer.EDIT_DISTANCE:return U.QueryParser.parseEditDistance;case U.QueryLexer.BOOST:return U.QueryParser.parseBoost;case U.QueryLexer.PRESENCE:return e.nextClause(),U.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new U.QueryParseError(r,n.start,n.end)}else e.nextClause()}},U.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new U.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var a=e.peekLexeme();if(null!=a)switch(a.type){case U.QueryLexer.TERM:return e.nextClause(),U.QueryParser.parseTerm;case U.QueryLexer.FIELD:return e.nextClause(),U.QueryParser.parseField;case U.QueryLexer.EDIT_DISTANCE:return U.QueryParser.parseEditDistance;case U.QueryLexer.BOOST:return U.QueryParser.parseBoost;case U.QueryLexer.PRESENCE:return e.nextClause(),U.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+a.type+"'";throw new U.QueryParseError(r,a.start,a.end)}else e.nextClause()}},U.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new U.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var a=e.peekLexeme();if(null!=a)switch(a.type){case U.QueryLexer.TERM:return e.nextClause(),U.QueryParser.parseTerm;case U.QueryLexer.FIELD:return e.nextClause(),U.QueryParser.parseField;case U.QueryLexer.EDIT_DISTANCE:return U.QueryParser.parseEditDistance;case U.QueryLexer.BOOST:return U.QueryParser.parseBoost;case U.QueryLexer.PRESENCE:return e.nextClause(),U.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+a.type+"'";throw new U.QueryParseError(r,a.start,a.end)}else e.nextClause()}},void 0===(a="function"==typeof(r=function(){return U})?r.call(t,n,t,e):r)||(e.exports=a)}()},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function a(e,t,n){return e<t?t:e>n?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(u,i(e,c,d)),1===e?(l(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){l(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),s=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function u(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},7418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,a){for(var o,i,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l<arguments.length;l++){for(var u in o=Object(arguments[l]))n.call(o,u)&&(s[u]=o[u]);if(t){i=t(o);for(var c=0;c<i.length;c++)r.call(o,i[c])&&(s[i[c]]=o[i[c]])}}return s}},7410:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var a,o;switch(n=n||{},r.util.type(t)){case"Object":if(o=r.util.objId(t),n[o])return n[o];for(var i in a={},n[o]=a,t)t.hasOwnProperty(i)&&(a[i]=e(t[i],n));return a;case"Array":return o=r.util.objId(t),n[o]?n[o]:(a=[],n[o]=a,t.forEach((function(t,r){a[r]=e(t,n)})),a);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var a=e.classList;if(a.contains(t))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var a in t)n[a]=t[a];return n},insertBefore:function(e,t,n,a){var o=(a=a||r.languages)[e],i={};for(var s in o)if(o.hasOwnProperty(s)){if(s==t)for(var l in n)n.hasOwnProperty(l)&&(i[l]=n[l]);n.hasOwnProperty(s)||(i[s]=o[s])}var u=a[e];return a[e]=i,r.languages.DFS(r.languages,(function(t,n){n===u&&t!=e&&(this[t]=i)})),i},DFS:function e(t,n,a,o){o=o||{};var i=r.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],a||s);var l=t[s],u=r.util.type(l);"Object"!==u||o[i(l)]?"Array"!==u||o[i(l)]||(o[i(l)]=!0,e(l,n,s,o)):(o[i(l)]=!0,e(l,n,null,o))}}},plugins:{},highlight:function(e,t,n){var o={code:e,grammar:t,language:n};return r.hooks.run("before-tokenize",o),o.tokens=r.tokenize(o.code,o.grammar),r.hooks.run("after-tokenize",o),a.stringify(r.util.encode(o.tokens),o.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var a=new s;return l(a,a.head,e),i(e,a,t,a.head,0),function(e){var t=[],n=e.head.next;for(;n!==e.tail;)t.push(n.value),n=n.next;return t}(a)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var a,o=0;a=n[o++];)a(t)}},Token:a};function a(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function o(e,t,n,r){e.lastIndex=t;var a=e.exec(n);if(a&&r&&a[1]){var o=a[1].length;a.index+=o,a[0]=a[0].slice(o)}return a}function i(e,t,n,s,c,d){for(var f in n)if(n.hasOwnProperty(f)&&n[f]){var p=n[f];p=Array.isArray(p)?p:[p];for(var m=0;m<p.length;++m){if(d&&d.cause==f+","+m)return;var h=p[m],g=h.inside,b=!!h.lookbehind,v=!!h.greedy,y=h.alias;if(v&&!h.pattern.global){var w=h.pattern.toString().match(/[imsuy]*$/)[0];h.pattern=RegExp(h.pattern.source,w+"g")}for(var k=h.pattern||h,E=s.next,S=c;E!==t.tail&&!(d&&S>=d.reach);S+=E.value.length,E=E.next){var x=E.value;if(t.length>e.length)return;if(!(x instanceof a)){var _,C=1;if(v){if(!(_=o(k,S,e,b))||_.index>=e.length)break;var T=_.index,I=_.index+_[0].length,L=S;for(L+=E.value.length;T>=L;)L+=(E=E.next).value.length;if(S=L-=E.value.length,E.value instanceof a)continue;for(var A=E;A!==t.tail&&(L<I||"string"==typeof A.value);A=A.next)C++,L+=A.value.length;C--,x=e.slice(S,L),_.index-=S}else if(!(_=o(k,0,x,b)))continue;T=_.index;var P=_[0],O=x.slice(0,T),N=x.slice(T+P.length),R=S+x.length;d&&R>d.reach&&(d.reach=R);var U=E.prev;if(O&&(U=l(t,U,O),S+=O.length),u(t,U,C),E=l(t,U,new a(f,g?r.tokenize(P,g):P,y,P)),N&&l(t,E,N),C>1){var D={cause:f+","+m,reach:R};i(e,t,n,E.prev,S,D),d&&D.reach>d.reach&&(d.reach=D.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function u(e,t,n){for(var r=t.next,a=0;a<n&&r!==e.tail;a++)r=r.next;t.next=r,r.prev=t,e.length-=a}return a.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var a="";return t.forEach((function(t){a+=e(t,n)})),a}var o={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(o.classes,i):o.classes.push(i)),r.hooks.run("wrap",o);var s="";for(var l in o.attributes)s+=" "+l+'="'+(o.attributes[l]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+s+">"+o.content+"</"+o.tag+">"},r}(),a=r;r.default=r,a.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.languages.markup.doctype.inside["internal-subset"].inside=a.languages.markup,a.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:a.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i;var r={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},a.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(a.languages.markup.tag,"addAttribute",{value:function(e,t){a.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:a.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.xml=a.languages.extend("markup",{}),a.languages.ssml=a.languages.xml,a.languages.atom=a.languages.xml,a.languages.rss=a.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i<a.length;i++)o[a[i]]=e.languages.bash[a[i]];e.languages.shell=e.languages.bash}(a),a.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.c=a.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),a.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),a.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},a.languages.c.string],char:a.languages.c.char,comment:a.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:a.languages.c}}}}),a.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete a.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(a),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(a),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(a),a.languages.javascript=a.languages.extend("clike",{"class-name":[a.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:a.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),a.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),a.languages.markup&&(a.languages.markup.tag.addInlined("script","javascript"),a.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),a.languages.js=a.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(a),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(a),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var a=t[n];if("code"===a.type){var o=a.content[1],i=a.content[3];if(o&&i&&"code-language"===o.type&&"code-block"===i.type&&"string"==typeof o.content){var s=o.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),l="language-"+(s=(/[a-z][\w-]*/i.exec(s)||[""])[0].toLowerCase());i.alias?"string"==typeof i.alias?i.alias=[i.alias,l]:i.alias.push(l):i.alias=[l]}}else e(a.content)}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,a=t.classes.length;r<a;r++){var o=t.classes[r],u=/language-(.+)/.exec(o);if(u){n=u[1];break}}var c,d=e.languages[n];if(d)t.content=e.highlight((c=t.content,c.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;if("#"===(t=t.toLowerCase())[0])return n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),l(n);var r=s[t];return r||e}))),d,n);else if(n&&"none"!==n&&e.plugins.autoloader){var f="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random());t.attributes.id=f,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(f);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))}))}}}));var i=RegExp(e.languages.markup.tag.pattern.source,"gi"),s={amp:"&",lt:"<",gt:">",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(a),a.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:a.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},a.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var a=[];if(d(["definition-mutation","punctuation"])&&"("===c(1).content){n+=2;var o=f(/^\($/,/^\)$/);if(-1===o)continue;for(;n<o;n++){var i=c(0);"variable"===i.type&&(p(i,"variable-input"),a.push(i.content))}n=o+1}if(d(["punctuation","property-query"])&&"{"===c(0).content&&(n++,p(c(0),"property-mutation"),a.length>0)){var s=f(/^\{$/,/^\}$/);if(-1===s)continue;for(var l=n;l<s;l++){var u=t[l];"variable"===u.type&&a.indexOf(u.content)>=0&&p(u,"variable-input")}}}}function c(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=c(n+t);if(!r||r.type!==e[n])return!1}return!0}function f(e,r){for(var a=1,o=n;o<t.length;o++){var i=t[o],s=i.content;if("punctuation"===i.type&&"string"==typeof s)if(e.test(s))a++;else if(r.test(s)&&0===--a)return o}return-1}function p(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),a.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function l(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function u(t){var n={};n["interpolation-punctuation"]=a;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,l(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function c(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,c={},d=l(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=s(i++,r)););return c[n]=a,n})).join(""),n,r),f=Object.keys(c);return i=0,function e(t){for(var n=0;n<t.length;n++){if(i>=f.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=f[i],o="string"==typeof r?r:r.content,s=o.indexOf(a);if(-1!==s){++i;var l=o.substring(0,s),d=u(c[a]),p=o.substring(s+a.length),m=[];if(l&&m.push(l),m.push(d),p){var h=[p];e(h),m.push.apply(m,h)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(m)),n+=m.length-1):r.content=m}}else{var g=r.content;Array.isArray(g)?e(g):e([g])}}}(d),new e.Token(r,d,"language-"+r,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function f(e){return"string"==typeof e?e:Array.isArray(e)?e.map(f).join(""):f(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,a=n.length;r<a;r++){var o=n[r];if("string"!=typeof o){var i=o.content;if(Array.isArray(i))if("template-string"===o.type){var s=i[1];if(3===i.length&&"string"!=typeof s&&"embedded-code"===s.type){var l=f(s),u=s.alias,d=Array.isArray(u)?u[0]:u,p=e.languages[d];if(!p)continue;i[1]=c(l,p,d)}}else t(i);else"string"!=typeof i&&t([i])}}}(t.tokens)}))}(a),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(a),function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var a=n[r],o=e.languages.javascript[a];"RegExp"===e.util.type(o)&&(o=e.languages.javascript[a]={pattern:o});var i=o.inside||{};o.inside=i,i["maybe-class-name"]=/^[A-Z][\s\S]*/}}(a),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function o(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return a})),RegExp(e,t)}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},s=function(t){for(var n=[],r=0;r<t.length;r++){var a=t[r],o=!1;if("string"!=typeof a&&("tag"===a.type&&a.content[0]&&"tag"===a.content[0].type?"</"===a.content[0].content[0].content?n.length>0&&n[n.length-1].tagName===i(a.content[0].content[1])&&n.pop():"/>"===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&n.length>0&&0===n[n.length-1].openedBraces){var l=i(a);r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(l+=i(t[r+1]),t.splice(r+1,1)),r>0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(l=i(t[r-1])+l,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",l,null,l)}a.content&&"string"!=typeof a.content&&s(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||s(e.tokens)}))}(a),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(a),a.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},a.languages.go=a.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),a.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete a.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,s=i.length;-1!==n.code.indexOf(a=t(r,s));)++s;return i[s]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(s){for(var l=0;l<s.length&&!(a>=o.length);l++){var u=s[l];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),m=f.indexOf(p);if(m>-1){++a;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(m+p.length),v=[];h&&v.push.apply(v,i([h])),v.push(g),b&&v.push.apply(v,i([b])),"string"==typeof u?s.splice.apply(s,[l,1].concat(v)):u.content=v}}else u.content&&i(u.content)}return s}(n.tokens)}}}})}(a),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(a),a.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},a.languages.webmanifest=a.languages.json,a.languages.less=a.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),a.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),a.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},a.languages.objectivec=a.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete a.languages.objectivec["class-name"],a.languages.objc=a.languages.objectivec,a.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},a.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},a.languages.python["string-interpolation"].inside.interpolation.inside.rest=a.languages.python,a.languages.py=a.languages.python,a.languages.reason=a.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),a.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete a.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(a),a.languages.scss=a.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),a.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),a.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),a.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),a.languages.scss.atrule.inside.rest=a.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(a),a.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const o=a},2503:()=>{!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:r.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+n+/[A-Z]\w*\b/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+n+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+n+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism)},6862:()=>{!function(e){var t=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/};t.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:t},boolean:t.boolean,variable:t.variable}}(Prism)},2886:()=>{Prism.languages.scala=Prism.languages.extend("java",{"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/<-|=>|\b(?:abstract|case|catch|class|def|derives|do|else|enum|extends|extension|final|finally|for|forSome|given|if|implicit|import|infix|inline|lazy|match|new|null|object|opaque|open|override|package|private|protected|return|sealed|self|super|this|throw|trait|transparent|try|type|using|val|var|while|with|yield)\b/,number:/\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i,builtin:/\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\b/,symbol:/'[^\d\s\\]\w*/}),Prism.languages.insertBefore("scala","triple-quoted-string",{"string-interpolation":{pattern:/\b[a-z]\w*(?:"""(?:[^$]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*?"""|"(?:[^$"\r\n]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*")/i,greedy:!0,inside:{id:{pattern:/^\w+/,greedy:!0,alias:"function"},escape:{pattern:/\\\$"|\$[$"]/,greedy:!0,alias:"symbol"},interpolation:{pattern:/\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,greedy:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:Prism.languages.scala}}},string:/[\s\S]+/}}}),delete Prism.languages.scala["class-name"],delete Prism.languages.scala.function,delete Prism.languages.scala.constant},3358:()=>{!function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Prism)},8956:(e,t,n)=>{var r={"./prism-java":2503,"./prism-powershell":6862,"./prism-scala":2886,"./prism-yaml":3358};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=8956},2703:(e,t,n)=>{"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),a=n(7418),o=n(3840);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!r)throw Error(i(227));var s=new Set,l={};function u(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(l[e]=t,e=0;e<t.length;e++)s.add(t[e])}var d=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),f=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p=Object.prototype.hasOwnProperty,m={},h={};function g(e,t,n,r,a,o,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){b[e]=new g(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];b[t]=new g(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){b[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){b[e]=new g(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){b[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){b[e]=new g(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){b[e]=new g(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){b[e]=new g(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){b[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)}));var v=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function w(e,t,n,r){var a=b.hasOwnProperty(t)?b[t]:null;(null!==a?0===a.type:!r&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!p.call(h,e)||!p.call(m,e)&&(f.test(e)?h[e]=!0:(m[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(v,y);b[t]=new g(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(v,y);b[t]=new g(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(v,y);b[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){b[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)})),b.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){b[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)}));var k=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,E=60103,S=60106,x=60107,_=60108,C=60114,T=60109,I=60110,L=60112,A=60113,P=60120,O=60115,N=60116,R=60121,U=60128,D=60129,M=60130,F=60131;if("function"==typeof Symbol&&Symbol.for){var B=Symbol.for;E=B("react.element"),S=B("react.portal"),x=B("react.fragment"),_=B("react.strict_mode"),C=B("react.profiler"),T=B("react.provider"),I=B("react.context"),L=B("react.forward_ref"),A=B("react.suspense"),P=B("react.suspense_list"),O=B("react.memo"),N=B("react.lazy"),R=B("react.block"),B("react.scope"),U=B("react.opaque.id"),D=B("react.debug_trace_mode"),M=B("react.offscreen"),F=B("react.legacy_hidden")}var z,$="function"==typeof Symbol&&Symbol.iterator;function j(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=$&&e[$]||e["@@iterator"])?e:null}function W(e){if(void 0===z)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);z=t&&t[1]||""}return"\n"+z+e}var H=!1;function Z(e,t){if(!e||H)return"";H=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(l){var r=l}Reflect.construct(e,[],t)}else{try{t.call()}catch(l){r=l}e.call(t.prototype)}else{try{throw Error()}catch(l){r=l}e()}}catch(l){if(l&&r&&"string"==typeof l.stack){for(var a=l.stack.split("\n"),o=r.stack.split("\n"),i=a.length-1,s=o.length-1;1<=i&&0<=s&&a[i]!==o[s];)s--;for(;1<=i&&0<=s;i--,s--)if(a[i]!==o[s]){if(1!==i||1!==s)do{if(i--,0>--s||a[i]!==o[s])return"\n"+a[i].replace(" at new "," at ")}while(1<=i&&0<=s);break}}}finally{H=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?W(e):""}function Q(e){switch(e.tag){case 5:return W(e.type);case 16:return W("Lazy");case 13:return W("Suspense");case 19:return W("SuspenseList");case 0:case 2:case 15:return e=Z(e.type,!1);case 11:return e=Z(e.type.render,!1);case 22:return e=Z(e.type._render,!1);case 1:return e=Z(e.type,!0);default:return""}}function V(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case x:return"Fragment";case S:return"Portal";case C:return"Profiler";case _:return"StrictMode";case A:return"Suspense";case P:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case I:return(e.displayName||"Context")+".Consumer";case T:return(e._context.displayName||"Context")+".Provider";case L:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case O:return V(e.type);case R:return V(e._render);case N:t=e._payload,e=e._init;try{return V(e(t))}catch(n){}}return null}function q(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function G(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Y(e){e._valueTracker||(e._valueTracker=function(e){var t=G(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var a=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function K(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=G(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function X(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function J(e,t){var n=t.checked;return a({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ee(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=q(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&w(e,"checked",t,!1)}function ne(e,t){te(e,t);var n=q(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ae(e,t.type,n):t.hasOwnProperty("defaultValue")&&ae(e,t.type,q(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function re(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ae(e,t,n){"number"===t&&X(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function oe(e,t){return e=a({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function ie(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+q(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function se(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function le(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(i(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(i(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:q(n)}}function ue(e,t){var n=q(t.value),r=q(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ce(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var de={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function fe(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function pe(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?fe(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var me,he,ge=(he=function(e,t){if(e.namespaceURI!==de.svg||"innerHTML"in e)e.innerHTML=t;else{for((me=me||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=me.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return he(e,t)}))}:he);function be(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var ve={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ye=["Webkit","ms","Moz","O"];function we(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||ve.hasOwnProperty(e)&&ve[e]?(""+t).trim():t+"px"}function ke(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=we(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(ve).forEach((function(e){ye.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ve[t]=ve[e]}))}));var Ee=a({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Se(e,t){if(t){if(Ee[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(i(62))}}function xe(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function _e(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Ce=null,Te=null,Ie=null;function Le(e){if(e=na(e)){if("function"!=typeof Ce)throw Error(i(280));var t=e.stateNode;t&&(t=aa(t),Ce(e.stateNode,e.type,t))}}function Ae(e){Te?Ie?Ie.push(e):Ie=[e]:Te=e}function Pe(){if(Te){var e=Te,t=Ie;if(Ie=Te=null,Le(e),t)for(e=0;e<t.length;e++)Le(t[e])}}function Oe(e,t){return e(t)}function Ne(e,t,n,r,a){return e(t,n,r,a)}function Re(){}var Ue=Oe,De=!1,Me=!1;function Fe(){null===Te&&null===Ie||(Re(),Pe())}function Be(e,t){var n=e.stateNode;if(null===n)return null;var r=aa(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(i(231,t,typeof n));return n}var ze=!1;if(d)try{var $e={};Object.defineProperty($e,"passive",{get:function(){ze=!0}}),window.addEventListener("test",$e,$e),window.removeEventListener("test",$e,$e)}catch(he){ze=!1}function je(e,t,n,r,a,o,i,s,l){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(c){this.onError(c)}}var We=!1,He=null,Ze=!1,Qe=null,Ve={onError:function(e){We=!0,He=e}};function qe(e,t,n,r,a,o,i,s,l){We=!1,He=null,je.apply(Ve,arguments)}function Ge(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Ye(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Ke(e){if(Ge(e)!==e)throw Error(i(188))}function Xe(e){if(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ge(e)))throw Error(i(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var o=a.alternate;if(null===o){if(null!==(r=a.return)){n=r;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return Ke(a),e;if(o===r)return Ke(a),t;o=o.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=o;else{for(var s=!1,l=a.child;l;){if(l===n){s=!0,n=a,r=o;break}if(l===r){s=!0,r=a,n=o;break}l=l.sibling}if(!s){for(l=o.child;l;){if(l===n){s=!0,n=o,r=a;break}if(l===r){s=!0,r=o,n=a;break}l=l.sibling}if(!s)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(3!==n.tag)throw Error(i(188));return n.stateNode.current===n?e:t}(e),!e)return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function Je(e,t){for(var n=e.alternate;null!==t;){if(t===e||t===n)return!0;t=t.return}return!1}var et,tt,nt,rt,at=!1,ot=[],it=null,st=null,lt=null,ut=new Map,ct=new Map,dt=[],ft="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function pt(e,t,n,r,a){return{blockedOn:e,domEventName:t,eventSystemFlags:16|n,nativeEvent:a,targetContainers:[r]}}function mt(e,t){switch(e){case"focusin":case"focusout":it=null;break;case"dragenter":case"dragleave":st=null;break;case"mouseover":case"mouseout":lt=null;break;case"pointerover":case"pointerout":ut.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ct.delete(t.pointerId)}}function ht(e,t,n,r,a,o){return null===e||e.nativeEvent!==o?(e=pt(t,n,r,a,o),null!==t&&(null!==(t=na(t))&&tt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function gt(e){var t=ta(e.target);if(null!==t){var n=Ge(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Ye(n)))return e.blockedOn=t,void rt(e.lanePriority,(function(){o.unstable_runWithPriority(e.priority,(function(){nt(n)}))}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function bt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Xt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=na(n))&&tt(t),e.blockedOn=n,!1;t.shift()}return!0}function vt(e,t,n){bt(e)&&n.delete(t)}function yt(){for(at=!1;0<ot.length;){var e=ot[0];if(null!==e.blockedOn){null!==(e=na(e.blockedOn))&&et(e);break}for(var t=e.targetContainers;0<t.length;){var n=Xt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n){e.blockedOn=n;break}t.shift()}null===e.blockedOn&&ot.shift()}null!==it&&bt(it)&&(it=null),null!==st&&bt(st)&&(st=null),null!==lt&&bt(lt)&&(lt=null),ut.forEach(vt),ct.forEach(vt)}function wt(e,t){e.blockedOn===t&&(e.blockedOn=null,at||(at=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,yt)))}function kt(e){function t(t){return wt(t,e)}if(0<ot.length){wt(ot[0],e);for(var n=1;n<ot.length;n++){var r=ot[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==it&&wt(it,e),null!==st&&wt(st,e),null!==lt&&wt(lt,e),ut.forEach(t),ct.forEach(t),n=0;n<dt.length;n++)(r=dt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<dt.length&&null===(n=dt[0]).blockedOn;)gt(n),null===n.blockedOn&&dt.shift()}function Et(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var St={animationend:Et("Animation","AnimationEnd"),animationiteration:Et("Animation","AnimationIteration"),animationstart:Et("Animation","AnimationStart"),transitionend:Et("Transition","TransitionEnd")},xt={},_t={};function Ct(e){if(xt[e])return xt[e];if(!St[e])return e;var t,n=St[e];for(t in n)if(n.hasOwnProperty(t)&&t in _t)return xt[e]=n[t];return e}d&&(_t=document.createElement("div").style,"AnimationEvent"in window||(delete St.animationend.animation,delete St.animationiteration.animation,delete St.animationstart.animation),"TransitionEvent"in window||delete St.transitionend.transition);var Tt=Ct("animationend"),It=Ct("animationiteration"),Lt=Ct("animationstart"),At=Ct("transitionend"),Pt=new Map,Ot=new Map,Nt=["abort","abort",Tt,"animationEnd",It,"animationIteration",Lt,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",At,"transitionEnd","waiting","waiting"];function Rt(e,t){for(var n=0;n<e.length;n+=2){var r=e[n],a=e[n+1];a="on"+(a[0].toUpperCase()+a.slice(1)),Ot.set(r,t),Pt.set(r,a),u(a,[r])}}(0,o.unstable_now)();var Ut=8;function Dt(e){if(0!=(1&e))return Ut=15,1;if(0!=(2&e))return Ut=14,2;if(0!=(4&e))return Ut=13,4;var t=24&e;return 0!==t?(Ut=12,t):0!=(32&e)?(Ut=11,32):0!==(t=192&e)?(Ut=10,t):0!=(256&e)?(Ut=9,256):0!==(t=3584&e)?(Ut=8,t):0!=(4096&e)?(Ut=7,4096):0!==(t=4186112&e)?(Ut=6,t):0!==(t=62914560&e)?(Ut=5,t):67108864&e?(Ut=4,67108864):0!=(134217728&e)?(Ut=3,134217728):0!==(t=805306368&e)?(Ut=2,t):0!=(1073741824&e)?(Ut=1,1073741824):(Ut=8,e)}function Mt(e,t){var n=e.pendingLanes;if(0===n)return Ut=0;var r=0,a=0,o=e.expiredLanes,i=e.suspendedLanes,s=e.pingedLanes;if(0!==o)r=o,a=Ut=15;else if(0!==(o=134217727&n)){var l=o&~i;0!==l?(r=Dt(l),a=Ut):0!==(s&=o)&&(r=Dt(s),a=Ut)}else 0!==(o=n&~i)?(r=Dt(o),a=Ut):0!==s&&(r=Dt(s),a=Ut);if(0===r)return 0;if(r=n&((0>(r=31-Wt(r))?0:1<<r)<<1)-1,0!==t&&t!==r&&0==(t&i)){if(Dt(t),a<=Ut)return t;Ut=a}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-Wt(t)),r|=e[n],t&=~a;return r}function Ft(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function Bt(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=zt(24&~t))?Bt(10,t):e;case 10:return 0===(e=zt(192&~t))?Bt(8,t):e;case 8:return 0===(e=zt(3584&~t))&&(0===(e=zt(4186112&~t))&&(e=512)),e;case 2:return 0===(t=zt(805306368&~t))&&(t=268435456),t}throw Error(i(358,e))}function zt(e){return e&-e}function $t(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function jt(e,t,n){e.pendingLanes|=t;var r=t-1;e.suspendedLanes&=r,e.pingedLanes&=r,(e=e.eventTimes)[t=31-Wt(t)]=n}var Wt=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Ht(e)/Zt|0)|0},Ht=Math.log,Zt=Math.LN2;var Qt=o.unstable_UserBlockingPriority,Vt=o.unstable_runWithPriority,qt=!0;function Gt(e,t,n,r){De||Re();var a=Kt,o=De;De=!0;try{Ne(a,e,t,n,r)}finally{(De=o)||Fe()}}function Yt(e,t,n,r){Vt(Qt,Kt.bind(null,e,t,n,r))}function Kt(e,t,n,r){var a;if(qt)if((a=0==(4&t))&&0<ot.length&&-1<ft.indexOf(e))e=pt(null,e,t,n,r),ot.push(e);else{var o=Xt(e,t,n,r);if(null===o)a&&mt(e,r);else{if(a){if(-1<ft.indexOf(e))return e=pt(o,e,t,n,r),void ot.push(e);if(function(e,t,n,r,a){switch(t){case"focusin":return it=ht(it,e,t,n,r,a),!0;case"dragenter":return st=ht(st,e,t,n,r,a),!0;case"mouseover":return lt=ht(lt,e,t,n,r,a),!0;case"pointerover":var o=a.pointerId;return ut.set(o,ht(ut.get(o)||null,e,t,n,r,a)),!0;case"gotpointercapture":return o=a.pointerId,ct.set(o,ht(ct.get(o)||null,e,t,n,r,a)),!0}return!1}(o,e,t,n,r))return;mt(e,r)}Rr(e,t,r,null,n)}}}function Xt(e,t,n,r){var a=_e(r);if(null!==(a=ta(a))){var o=Ge(a);if(null===o)a=null;else{var i=o.tag;if(13===i){if(null!==(a=Ye(o)))return a;a=null}else if(3===i){if(o.stateNode.hydrate)return 3===o.tag?o.stateNode.containerInfo:null;a=null}else o!==a&&(a=null)}}return Rr(e,t,r,a,n),null}var Jt=null,en=null,tn=null;function nn(){if(tn)return tn;var e,t,n=en,r=n.length,a="value"in Jt?Jt.value:Jt.textContent,o=a.length;for(e=0;e<r&&n[e]===a[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===a[o-t];t++);return tn=a.slice(e,1<t?1-t:void 0)}function rn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function an(){return!0}function on(){return!1}function sn(e){function t(t,n,r,a,o){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(a):a[i]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?an:on,this.isPropagationStopped=on,this}return a(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=an)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=an)},persist:function(){},isPersistent:an}),t}var ln,un,cn,dn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},fn=sn(dn),pn=a({},dn,{view:0,detail:0}),mn=sn(pn),hn=a({},pn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Tn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==cn&&(cn&&"mousemove"===e.type?(ln=e.screenX-cn.screenX,un=e.screenY-cn.screenY):un=ln=0,cn=e),ln)},movementY:function(e){return"movementY"in e?e.movementY:un}}),gn=sn(hn),bn=sn(a({},hn,{dataTransfer:0})),vn=sn(a({},pn,{relatedTarget:0})),yn=sn(a({},dn,{animationName:0,elapsedTime:0,pseudoElement:0})),wn=a({},dn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),kn=sn(wn),En=sn(a({},dn,{data:0})),Sn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},xn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},_n={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Cn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=_n[e])&&!!t[e]}function Tn(){return Cn}var In=a({},pn,{key:function(e){if(e.key){var t=Sn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=rn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?xn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Tn,charCode:function(e){return"keypress"===e.type?rn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?rn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),Ln=sn(In),An=sn(a({},hn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Pn=sn(a({},pn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Tn})),On=sn(a({},dn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Nn=a({},hn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Rn=sn(Nn),Un=[9,13,27,32],Dn=d&&"CompositionEvent"in window,Mn=null;d&&"documentMode"in document&&(Mn=document.documentMode);var Fn=d&&"TextEvent"in window&&!Mn,Bn=d&&(!Dn||Mn&&8<Mn&&11>=Mn),zn=String.fromCharCode(32),$n=!1;function jn(e,t){switch(e){case"keyup":return-1!==Un.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Wn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Hn=!1;var Zn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Qn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Zn[e.type]:"textarea"===t}function Vn(e,t,n,r){Ae(r),0<(t=Dr(t,"onChange")).length&&(n=new fn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var qn=null,Gn=null;function Yn(e){Ir(e,0)}function Kn(e){if(K(ra(e)))return e}function Xn(e,t){if("change"===e)return t}var Jn=!1;if(d){var er;if(d){var tr="oninput"in document;if(!tr){var nr=document.createElement("div");nr.setAttribute("oninput","return;"),tr="function"==typeof nr.oninput}er=tr}else er=!1;Jn=er&&(!document.documentMode||9<document.documentMode)}function rr(){qn&&(qn.detachEvent("onpropertychange",ar),Gn=qn=null)}function ar(e){if("value"===e.propertyName&&Kn(Gn)){var t=[];if(Vn(t,Gn,e,_e(e)),e=Yn,De)e(t);else{De=!0;try{Oe(e,t)}finally{De=!1,Fe()}}}}function or(e,t,n){"focusin"===e?(rr(),Gn=n,(qn=t).attachEvent("onpropertychange",ar)):"focusout"===e&&rr()}function ir(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Kn(Gn)}function sr(e,t){if("click"===e)return Kn(t)}function lr(e,t){if("input"===e||"change"===e)return Kn(t)}var ur="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},cr=Object.prototype.hasOwnProperty;function dr(e,t){if(ur(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!cr.call(t,n[r])||!ur(e[n[r]],t[n[r]]))return!1;return!0}function fr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function pr(e,t){var n,r=fr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=fr(r)}}function mr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?mr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function hr(){for(var e=window,t=X();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=X((e=t.contentWindow).document)}return t}function gr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var br=d&&"documentMode"in document&&11>=document.documentMode,vr=null,yr=null,wr=null,kr=!1;function Er(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;kr||null==vr||vr!==X(r)||("selectionStart"in(r=vr)&&gr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},wr&&dr(wr,r)||(wr=r,0<(r=Dr(yr,"onSelect")).length&&(t=new fn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=vr)))}Rt("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),Rt("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),Rt(Nt,2);for(var Sr="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),xr=0;xr<Sr.length;xr++)Ot.set(Sr[xr],0);c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),u("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),u("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),u("onBeforeInput",["compositionend","keypress","textInput","paste"]),u("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),u("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),u("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var _r="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Cr=new Set("cancel close invalid load scroll toggle".split(" ").concat(_r));function Tr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,o,s,l,u){if(qe.apply(this,arguments),We){if(!We)throw Error(i(198));var c=He;We=!1,He=null,Ze||(Ze=!0,Qe=c)}}(r,t,void 0,e),e.currentTarget=null}function Ir(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var i=r.length-1;0<=i;i--){var s=r[i],l=s.instance,u=s.currentTarget;if(s=s.listener,l!==o&&a.isPropagationStopped())break e;Tr(a,s,u),o=l}else for(i=0;i<r.length;i++){if(l=(s=r[i]).instance,u=s.currentTarget,s=s.listener,l!==o&&a.isPropagationStopped())break e;Tr(a,s,u),o=l}}}if(Ze)throw e=Qe,Ze=!1,Qe=null,e}function Lr(e,t){var n=oa(t),r=e+"__bubble";n.has(r)||(Nr(t,e,2,!1),n.add(r))}var Ar="_reactListening"+Math.random().toString(36).slice(2);function Pr(e){e[Ar]||(e[Ar]=!0,s.forEach((function(t){Cr.has(t)||Or(t,!1,e,null),Or(t,!0,e,null)})))}function Or(e,t,n,r){var a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,o=n;if("selectionchange"===e&&9!==n.nodeType&&(o=n.ownerDocument),null!==r&&!t&&Cr.has(e)){if("scroll"!==e)return;a|=2,o=r}var i=oa(o),s=e+"__"+(t?"capture":"bubble");i.has(s)||(t&&(a|=4),Nr(o,e,a,t),i.add(s))}function Nr(e,t,n,r){var a=Ot.get(t);switch(void 0===a?2:a){case 0:a=Gt;break;case 1:a=Yt;break;default:a=Kt}n=a.bind(null,t,n,e),a=void 0,!ze||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function Rr(e,t,n,r,a){var o=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var s=r.stateNode.containerInfo;if(s===a||8===s.nodeType&&s.parentNode===a)break;if(4===i)for(i=r.return;null!==i;){var l=i.tag;if((3===l||4===l)&&((l=i.stateNode.containerInfo)===a||8===l.nodeType&&l.parentNode===a))return;i=i.return}for(;null!==s;){if(null===(i=ta(s)))return;if(5===(l=i.tag)||6===l){r=o=i;continue e}s=s.parentNode}}r=r.return}!function(e,t,n){if(Me)return e(t,n);Me=!0;try{return Ue(e,t,n)}finally{Me=!1,Fe()}}((function(){var r=o,a=_e(n),i=[];e:{var s=Pt.get(e);if(void 0!==s){var l=fn,u=e;switch(e){case"keypress":if(0===rn(n))break e;case"keydown":case"keyup":l=Ln;break;case"focusin":u="focus",l=vn;break;case"focusout":u="blur",l=vn;break;case"beforeblur":case"afterblur":l=vn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=gn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=bn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=Pn;break;case Tt:case It:case Lt:l=yn;break;case At:l=On;break;case"scroll":l=mn;break;case"wheel":l=Rn;break;case"copy":case"cut":case"paste":l=kn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=An}var c=0!=(4&t),d=!c&&"scroll"===e,f=c?null!==s?s+"Capture":null:s;c=[];for(var p,m=r;null!==m;){var h=(p=m).stateNode;if(5===p.tag&&null!==h&&(p=h,null!==f&&(null!=(h=Be(m,f))&&c.push(Ur(m,h,p)))),d)break;m=m.return}0<c.length&&(s=new l(s,u,null,n,a),i.push({event:s,listeners:c}))}}if(0==(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||0!=(16&t)||!(u=n.relatedTarget||n.fromElement)||!ta(u)&&!u[Jr])&&(l||s)&&(s=a.window===a?a:(s=a.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=r,null!==(u=(u=n.relatedTarget||n.toElement)?ta(u):null)&&(u!==(d=Ge(u))||5!==u.tag&&6!==u.tag)&&(u=null)):(l=null,u=r),l!==u)){if(c=gn,h="onMouseLeave",f="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(c=An,h="onPointerLeave",f="onPointerEnter",m="pointer"),d=null==l?s:ra(l),p=null==u?s:ra(u),(s=new c(h,m+"leave",l,n,a)).target=d,s.relatedTarget=p,h=null,ta(a)===r&&((c=new c(f,m+"enter",u,n,a)).target=p,c.relatedTarget=d,h=c),d=h,l&&u)e:{for(f=u,m=0,p=c=l;p;p=Mr(p))m++;for(p=0,h=f;h;h=Mr(h))p++;for(;0<m-p;)c=Mr(c),m--;for(;0<p-m;)f=Mr(f),p--;for(;m--;){if(c===f||null!==f&&c===f.alternate)break e;c=Mr(c),f=Mr(f)}c=null}else c=null;null!==l&&Fr(i,s,l,c,!1),null!==u&&null!==d&&Fr(i,d,u,c,!0)}if("select"===(l=(s=r?ra(r):window).nodeName&&s.nodeName.toLowerCase())||"input"===l&&"file"===s.type)var g=Xn;else if(Qn(s))if(Jn)g=lr;else{g=ir;var b=or}else(l=s.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(g=sr);switch(g&&(g=g(e,r))?Vn(i,g,n,a):(b&&b(e,s,r),"focusout"===e&&(b=s._wrapperState)&&b.controlled&&"number"===s.type&&ae(s,"number",s.value)),b=r?ra(r):window,e){case"focusin":(Qn(b)||"true"===b.contentEditable)&&(vr=b,yr=r,wr=null);break;case"focusout":wr=yr=vr=null;break;case"mousedown":kr=!0;break;case"contextmenu":case"mouseup":case"dragend":kr=!1,Er(i,n,a);break;case"selectionchange":if(br)break;case"keydown":case"keyup":Er(i,n,a)}var v;if(Dn)e:{switch(e){case"compositionstart":var y="onCompositionStart";break e;case"compositionend":y="onCompositionEnd";break e;case"compositionupdate":y="onCompositionUpdate";break e}y=void 0}else Hn?jn(e,n)&&(y="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(y="onCompositionStart");y&&(Bn&&"ko"!==n.locale&&(Hn||"onCompositionStart"!==y?"onCompositionEnd"===y&&Hn&&(v=nn()):(en="value"in(Jt=a)?Jt.value:Jt.textContent,Hn=!0)),0<(b=Dr(r,y)).length&&(y=new En(y,e,null,n,a),i.push({event:y,listeners:b}),v?y.data=v:null!==(v=Wn(n))&&(y.data=v))),(v=Fn?function(e,t){switch(e){case"compositionend":return Wn(t);case"keypress":return 32!==t.which?null:($n=!0,zn);case"textInput":return(e=t.data)===zn&&$n?null:e;default:return null}}(e,n):function(e,t){if(Hn)return"compositionend"===e||!Dn&&jn(e,t)?(e=nn(),tn=en=Jt=null,Hn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Bn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Dr(r,"onBeforeInput")).length&&(a=new En("onBeforeInput","beforeinput",null,n,a),i.push({event:a,listeners:r}),a.data=v))}Ir(i,t)}))}function Ur(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Dr(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,o=a.stateNode;5===a.tag&&null!==o&&(a=o,null!=(o=Be(e,n))&&r.unshift(Ur(e,o,a)),null!=(o=Be(e,t))&&r.push(Ur(e,o,a))),e=e.return}return r}function Mr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Fr(e,t,n,r,a){for(var o=t._reactName,i=[];null!==n&&n!==r;){var s=n,l=s.alternate,u=s.stateNode;if(null!==l&&l===r)break;5===s.tag&&null!==u&&(s=u,a?null!=(l=Be(n,o))&&i.unshift(Ur(n,l,s)):a||null!=(l=Be(n,o))&&i.push(Ur(n,l,s))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}function Br(){}var zr=null,$r=null;function jr(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function Wr(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var Hr="function"==typeof setTimeout?setTimeout:void 0,Zr="function"==typeof clearTimeout?clearTimeout:void 0;function Qr(e){1===e.nodeType?e.textContent="":9===e.nodeType&&(null!=(e=e.body)&&(e.textContent=""))}function Vr(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function qr(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var Gr=0;var Yr=Math.random().toString(36).slice(2),Kr="__reactFiber$"+Yr,Xr="__reactProps$"+Yr,Jr="__reactContainer$"+Yr,ea="__reactEvents$"+Yr;function ta(e){var t=e[Kr];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Jr]||n[Kr]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=qr(e);null!==e;){if(n=e[Kr])return n;e=qr(e)}return t}n=(e=n).parentNode}return null}function na(e){return!(e=e[Kr]||e[Jr])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function ra(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function aa(e){return e[Xr]||null}function oa(e){var t=e[ea];return void 0===t&&(t=e[ea]=new Set),t}var ia=[],sa=-1;function la(e){return{current:e}}function ua(e){0>sa||(e.current=ia[sa],ia[sa]=null,sa--)}function ca(e,t){sa++,ia[sa]=e.current,e.current=t}var da={},fa=la(da),pa=la(!1),ma=da;function ha(e,t){var n=e.type.contextTypes;if(!n)return da;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,o={};for(a in n)o[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function ga(e){return null!=(e=e.childContextTypes)}function ba(){ua(pa),ua(fa)}function va(e,t,n){if(fa.current!==da)throw Error(i(168));ca(fa,t),ca(pa,n)}function ya(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in e))throw Error(i(108,V(t)||"Unknown",o));return a({},n,r)}function wa(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||da,ma=fa.current,ca(fa,e),ca(pa,pa.current),!0}function ka(e,t,n){var r=e.stateNode;if(!r)throw Error(i(169));n?(e=ya(e,t,ma),r.__reactInternalMemoizedMergedChildContext=e,ua(pa),ua(fa),ca(fa,e)):ua(pa),ca(pa,n)}var Ea=null,Sa=null,xa=o.unstable_runWithPriority,_a=o.unstable_scheduleCallback,Ca=o.unstable_cancelCallback,Ta=o.unstable_shouldYield,Ia=o.unstable_requestPaint,La=o.unstable_now,Aa=o.unstable_getCurrentPriorityLevel,Pa=o.unstable_ImmediatePriority,Oa=o.unstable_UserBlockingPriority,Na=o.unstable_NormalPriority,Ra=o.unstable_LowPriority,Ua=o.unstable_IdlePriority,Da={},Ma=void 0!==Ia?Ia:function(){},Fa=null,Ba=null,za=!1,$a=La(),ja=1e4>$a?La:function(){return La()-$a};function Wa(){switch(Aa()){case Pa:return 99;case Oa:return 98;case Na:return 97;case Ra:return 96;case Ua:return 95;default:throw Error(i(332))}}function Ha(e){switch(e){case 99:return Pa;case 98:return Oa;case 97:return Na;case 96:return Ra;case 95:return Ua;default:throw Error(i(332))}}function Za(e,t){return e=Ha(e),xa(e,t)}function Qa(e,t,n){return e=Ha(e),_a(e,t,n)}function Va(){if(null!==Ba){var e=Ba;Ba=null,Ca(e)}qa()}function qa(){if(!za&&null!==Fa){za=!0;var e=0;try{var t=Fa;Za(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),Fa=null}catch(n){throw null!==Fa&&(Fa=Fa.slice(e+1)),_a(Pa,Va),n}finally{za=!1}}}var Ga=k.ReactCurrentBatchConfig;function Ya(e,t){if(e&&e.defaultProps){for(var n in t=a({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var Ka=la(null),Xa=null,Ja=null,eo=null;function to(){eo=Ja=Xa=null}function no(e){var t=Ka.current;ua(Ka),e.type._context._currentValue=t}function ro(e,t){for(;null!==e;){var n=e.alternate;if((e.childLanes&t)===t){if(null===n||(n.childLanes&t)===t)break;n.childLanes|=t}else e.childLanes|=t,null!==n&&(n.childLanes|=t);e=e.return}}function ao(e,t){Xa=e,eo=Ja=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(Di=!0),e.firstContext=null)}function oo(e,t){if(eo!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(eo=e,t=1073741823),t={context:e,observedBits:t,next:null},null===Ja){if(null===Xa)throw Error(i(308));Ja=t,Xa.dependencies={lanes:0,firstContext:t,responders:null}}else Ja=Ja.next=t;return e._currentValue}var io=!1;function so(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function lo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function uo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function co(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function fo(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?a=o=i:o=o.next=i,n=n.next}while(null!==n);null===o?a=o=t:o=o.next=t}else a=o=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function po(e,t,n,r){var o=e.updateQueue;io=!1;var i=o.firstBaseUpdate,s=o.lastBaseUpdate,l=o.shared.pending;if(null!==l){o.shared.pending=null;var u=l,c=u.next;u.next=null,null===s?i=c:s.next=c,s=u;var d=e.alternate;if(null!==d){var f=(d=d.updateQueue).lastBaseUpdate;f!==s&&(null===f?d.firstBaseUpdate=c:f.next=c,d.lastBaseUpdate=u)}}if(null!==i){for(f=o.baseState,s=0,d=c=u=null;;){l=i.lane;var p=i.eventTime;if((r&l)===l){null!==d&&(d=d.next={eventTime:p,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var m=e,h=i;switch(l=t,p=n,h.tag){case 1:if("function"==typeof(m=h.payload)){f=m.call(p,f,l);break e}f=m;break e;case 3:m.flags=-4097&m.flags|64;case 0:if(null==(l="function"==typeof(m=h.payload)?m.call(p,f,l):m))break e;f=a({},f,l);break e;case 2:io=!0}}null!==i.callback&&(e.flags|=32,null===(l=o.effects)?o.effects=[i]:l.push(i))}else p={eventTime:p,lane:l,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===d?(c=d=p,u=f):d=d.next=p,s|=l;if(null===(i=i.next)){if(null===(l=o.shared.pending))break;i=l.next,l.next=null,o.lastBaseUpdate=l,o.shared.pending=null}}null===d&&(u=f),o.baseState=u,o.firstBaseUpdate=c,o.lastBaseUpdate=d,$s|=s,e.lanes=s,e.memoizedState=f}}function mo(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!=typeof a)throw Error(i(191,a));a.call(r)}}}var ho=(new r.Component).refs;function go(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:a({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var bo={isMounted:function(e){return!!(e=e._reactInternals)&&Ge(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=fl(),a=pl(e),o=uo(r,a);o.payload=t,null!=n&&(o.callback=n),co(e,o),ml(e,a,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=fl(),a=pl(e),o=uo(r,a);o.tag=1,o.payload=t,null!=n&&(o.callback=n),co(e,o),ml(e,a,r)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=fl(),r=pl(e),a=uo(n,r);a.tag=2,null!=t&&(a.callback=t),co(e,a),ml(e,r,n)}};function vo(e,t,n,r,a,o,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,i):!t.prototype||!t.prototype.isPureReactComponent||(!dr(n,r)||!dr(a,o))}function yo(e,t,n){var r=!1,a=da,o=t.contextType;return"object"==typeof o&&null!==o?o=oo(o):(a=ga(t)?ma:fa.current,o=(r=null!=(r=t.contextTypes))?ha(e,a):da),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=bo,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=o),t}function wo(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&bo.enqueueReplaceState(t,t.state,null)}function ko(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs=ho,so(e);var o=t.contextType;"object"==typeof o&&null!==o?a.context=oo(o):(o=ga(t)?ma:fa.current,a.context=ha(e,o)),po(e,n,a,r),a.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&(go(e,t,o,n),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&bo.enqueueReplaceState(a,a.state,null),po(e,n,a,r),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4)}var Eo=Array.isArray;function So(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(i(309));var r=n.stateNode}if(!r)throw Error(i(147,e));var a=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===a?t.ref:(t=function(e){var t=r.refs;t===ho&&(t=r.refs={}),null===e?delete t[a]:t[a]=e},t._stringRef=a,t)}if("string"!=typeof e)throw Error(i(284));if(!n._owner)throw Error(i(290,e))}return e}function xo(e,t){if("textarea"!==e.type)throw Error(i(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t))}function _o(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.flags=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Ql(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags=2,n):r:(t.flags=2,n):n}function s(t){return e&&null===t.alternate&&(t.flags=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Yl(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function u(e,t,n,r){return null!==t&&t.elementType===n.type?((r=a(t,n.props)).ref=So(e,t,n),r.return=e,r):((r=Vl(n.type,n.key,n.props,null,e.mode,r)).ref=So(e,t,n),r.return=e,r)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Kl(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function d(e,t,n,r,o){return null===t||7!==t.tag?((t=ql(n,e.mode,r,o)).return=e,t):((t=a(t,n)).return=e,t)}function f(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=Yl(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case E:return(n=Vl(t.type,t.key,t.props,null,e.mode,n)).ref=So(e,null,t),n.return=e,n;case S:return(t=Kl(t,e.mode,n)).return=e,t}if(Eo(t)||j(t))return(t=ql(t,e.mode,n,null)).return=e,t;xo(e,t)}return null}function p(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==a?null:l(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case E:return n.key===a?n.type===x?d(e,t,n.props.children,r,a):u(e,t,n,r):null;case S:return n.key===a?c(e,t,n,r):null}if(Eo(n)||j(n))return null!==a?null:d(e,t,n,r,null);xo(e,n)}return null}function m(e,t,n,r,a){if("string"==typeof r||"number"==typeof r)return l(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case E:return e=e.get(null===r.key?n:r.key)||null,r.type===x?d(t,e,r.props.children,a,r.key):u(t,e,r,a);case S:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a)}if(Eo(r)||j(r))return d(t,e=e.get(n)||null,r,a,null);xo(t,r)}return null}function h(a,i,s,l){for(var u=null,c=null,d=i,h=i=0,g=null;null!==d&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var b=p(a,d,s[h],l);if(null===b){null===d&&(d=g);break}e&&d&&null===b.alternate&&t(a,d),i=o(b,i,h),null===c?u=b:c.sibling=b,c=b,d=g}if(h===s.length)return n(a,d),u;if(null===d){for(;h<s.length;h++)null!==(d=f(a,s[h],l))&&(i=o(d,i,h),null===c?u=d:c.sibling=d,c=d);return u}for(d=r(a,d);h<s.length;h++)null!==(g=m(d,a,h,s[h],l))&&(e&&null!==g.alternate&&d.delete(null===g.key?h:g.key),i=o(g,i,h),null===c?u=g:c.sibling=g,c=g);return e&&d.forEach((function(e){return t(a,e)})),u}function g(a,s,l,u){var c=j(l);if("function"!=typeof c)throw Error(i(150));if(null==(l=c.call(l)))throw Error(i(151));for(var d=c=null,h=s,g=s=0,b=null,v=l.next();null!==h&&!v.done;g++,v=l.next()){h.index>g?(b=h,h=null):b=h.sibling;var y=p(a,h,v.value,u);if(null===y){null===h&&(h=b);break}e&&h&&null===y.alternate&&t(a,h),s=o(y,s,g),null===d?c=y:d.sibling=y,d=y,h=b}if(v.done)return n(a,h),c;if(null===h){for(;!v.done;g++,v=l.next())null!==(v=f(a,v.value,u))&&(s=o(v,s,g),null===d?c=v:d.sibling=v,d=v);return c}for(h=r(a,h);!v.done;g++,v=l.next())null!==(v=m(h,a,g,v.value,u))&&(e&&null!==v.alternate&&h.delete(null===v.key?g:v.key),s=o(v,s,g),null===d?c=v:d.sibling=v,d=v);return e&&h.forEach((function(e){return t(a,e)})),c}return function(e,r,o,l){var u="object"==typeof o&&null!==o&&o.type===x&&null===o.key;u&&(o=o.props.children);var c="object"==typeof o&&null!==o;if(c)switch(o.$$typeof){case E:e:{for(c=o.key,u=r;null!==u;){if(u.key===c){if(7===u.tag){if(o.type===x){n(e,u.sibling),(r=a(u,o.props.children)).return=e,e=r;break e}}else if(u.elementType===o.type){n(e,u.sibling),(r=a(u,o.props)).ref=So(e,u,o),r.return=e,e=r;break e}n(e,u);break}t(e,u),u=u.sibling}o.type===x?((r=ql(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=Vl(o.type,o.key,o.props,null,e.mode,l)).ref=So(e,r,o),l.return=e,e=l)}return s(e);case S:e:{for(u=o.key;null!==r;){if(r.key===u){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=a(r,o.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Kl(o,e.mode,l)).return=e,e=r}return s(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=a(r,o)).return=e,e=r):(n(e,r),(r=Yl(o,e.mode,l)).return=e,e=r),s(e);if(Eo(o))return h(e,r,o,l);if(j(o))return g(e,r,o,l);if(c&&xo(e,o),void 0===o&&!u)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(i(152,V(e.type)||"Component"))}return n(e,r)}}var Co=_o(!0),To=_o(!1),Io={},Lo=la(Io),Ao=la(Io),Po=la(Io);function Oo(e){if(e===Io)throw Error(i(174));return e}function No(e,t){switch(ca(Po,t),ca(Ao,e),ca(Lo,Io),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:pe(null,"");break;default:t=pe(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ua(Lo),ca(Lo,t)}function Ro(){ua(Lo),ua(Ao),ua(Po)}function Uo(e){Oo(Po.current);var t=Oo(Lo.current),n=pe(t,e.type);t!==n&&(ca(Ao,e),ca(Lo,n))}function Do(e){Ao.current===e&&(ua(Lo),ua(Ao))}var Mo=la(0);function Fo(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Bo=null,zo=null,$o=!1;function jo(e,t){var n=Hl(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Wo(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function Ho(e){if($o){var t=zo;if(t){var n=t;if(!Wo(e,t)){if(!(t=Vr(n.nextSibling))||!Wo(e,t))return e.flags=-1025&e.flags|2,$o=!1,void(Bo=e);jo(Bo,n)}Bo=e,zo=Vr(t.firstChild)}else e.flags=-1025&e.flags|2,$o=!1,Bo=e}}function Zo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Bo=e}function Qo(e){if(e!==Bo)return!1;if(!$o)return Zo(e),$o=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!Wr(t,e.memoizedProps))for(t=zo;t;)jo(e,t),t=Vr(t.nextSibling);if(Zo(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){zo=Vr(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}zo=null}}else zo=Bo?Vr(e.stateNode.nextSibling):null;return!0}function Vo(){zo=Bo=null,$o=!1}var qo=[];function Go(){for(var e=0;e<qo.length;e++)qo[e]._workInProgressVersionPrimary=null;qo.length=0}var Yo=k.ReactCurrentDispatcher,Ko=k.ReactCurrentBatchConfig,Xo=0,Jo=null,ei=null,ti=null,ni=!1,ri=!1;function ai(){throw Error(i(321))}function oi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ur(e[n],t[n]))return!1;return!0}function ii(e,t,n,r,a,o){if(Xo=o,Jo=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Yo.current=null===e||null===e.memoizedState?Oi:Ni,e=n(r,a),ri){o=0;do{if(ri=!1,!(25>o))throw Error(i(301));o+=1,ti=ei=null,t.updateQueue=null,Yo.current=Ri,e=n(r,a)}while(ri)}if(Yo.current=Pi,t=null!==ei&&null!==ei.next,Xo=0,ti=ei=Jo=null,ni=!1,t)throw Error(i(300));return e}function si(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ti?Jo.memoizedState=ti=e:ti=ti.next=e,ti}function li(){if(null===ei){var e=Jo.alternate;e=null!==e?e.memoizedState:null}else e=ei.next;var t=null===ti?Jo.memoizedState:ti.next;if(null!==t)ti=t,ei=e;else{if(null===e)throw Error(i(310));e={memoizedState:(ei=e).memoizedState,baseState:ei.baseState,baseQueue:ei.baseQueue,queue:ei.queue,next:null},null===ti?Jo.memoizedState=ti=e:ti=ti.next=e}return ti}function ui(e,t){return"function"==typeof t?t(e):t}function ci(e){var t=li(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=ei,a=r.baseQueue,o=n.pending;if(null!==o){if(null!==a){var s=a.next;a.next=o.next,o.next=s}r.baseQueue=a=o,n.pending=null}if(null!==a){a=a.next,r=r.baseState;var l=s=o=null,u=a;do{var c=u.lane;if((Xo&c)===c)null!==l&&(l=l.next={lane:0,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null}),r=u.eagerReducer===e?u.eagerState:e(r,u.action);else{var d={lane:c,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null};null===l?(s=l=d,o=r):l=l.next=d,Jo.lanes|=c,$s|=c}u=u.next}while(null!==u&&u!==a);null===l?o=r:l.next=s,ur(r,t.memoizedState)||(Di=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=l,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function di(e){var t=li(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(null!==a){n.pending=null;var s=a=a.next;do{o=e(o,s.action),s=s.next}while(s!==a);ur(o,t.memoizedState)||(Di=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function fi(e,t,n){var r=t._getVersion;r=r(t._source);var a=t._workInProgressVersionPrimary;if(null!==a?e=a===r:(e=e.mutableReadLanes,(e=(Xo&e)===e)&&(t._workInProgressVersionPrimary=r,qo.push(t))),e)return n(t._source);throw qo.push(t),Error(i(350))}function pi(e,t,n,r){var a=Ns;if(null===a)throw Error(i(349));var o=t._getVersion,s=o(t._source),l=Yo.current,u=l.useState((function(){return fi(a,t,n)})),c=u[1],d=u[0];u=ti;var f=e.memoizedState,p=f.refs,m=p.getSnapshot,h=f.source;f=f.subscribe;var g=Jo;return e.memoizedState={refs:p,source:t,subscribe:r},l.useEffect((function(){p.getSnapshot=n,p.setSnapshot=c;var e=o(t._source);if(!ur(s,e)){e=n(t._source),ur(d,e)||(c(e),e=pl(g),a.mutableReadLanes|=e&a.pendingLanes),e=a.mutableReadLanes,a.entangledLanes|=e;for(var r=a.entanglements,i=e;0<i;){var l=31-Wt(i),u=1<<l;r[l]|=e,i&=~u}}}),[n,t,r]),l.useEffect((function(){return r(t._source,(function(){var e=p.getSnapshot,n=p.setSnapshot;try{n(e(t._source));var r=pl(g);a.mutableReadLanes|=r&a.pendingLanes}catch(o){n((function(){throw o}))}}))}),[t,r]),ur(m,n)&&ur(h,t)&&ur(f,r)||((e={pending:null,dispatch:null,lastRenderedReducer:ui,lastRenderedState:d}).dispatch=c=Ai.bind(null,Jo,e),u.queue=e,u.baseQueue=null,d=fi(a,t,n),u.memoizedState=u.baseState=d),d}function mi(e,t,n){return pi(li(),e,t,n)}function hi(e){var t=si();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:ui,lastRenderedState:e}).dispatch=Ai.bind(null,Jo,e),[t.memoizedState,e]}function gi(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=Jo.updateQueue)?(t={lastEffect:null},Jo.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function bi(e){return e={current:e},si().memoizedState=e}function vi(){return li().memoizedState}function yi(e,t,n,r){var a=si();Jo.flags|=e,a.memoizedState=gi(1|t,n,void 0,void 0===r?null:r)}function wi(e,t,n,r){var a=li();r=void 0===r?null:r;var o=void 0;if(null!==ei){var i=ei.memoizedState;if(o=i.destroy,null!==r&&oi(r,i.deps))return void gi(t,n,o,r)}Jo.flags|=e,a.memoizedState=gi(1|t,n,o,r)}function ki(e,t){return yi(516,4,e,t)}function Ei(e,t){return wi(516,4,e,t)}function Si(e,t){return wi(4,2,e,t)}function xi(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function _i(e,t,n){return n=null!=n?n.concat([e]):null,wi(4,2,xi.bind(null,t,e),n)}function Ci(){}function Ti(e,t){var n=li();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&oi(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ii(e,t){var n=li();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&oi(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Li(e,t){var n=Wa();Za(98>n?98:n,(function(){e(!0)})),Za(97<n?97:n,(function(){var n=Ko.transition;Ko.transition=1;try{e(!1),t()}finally{Ko.transition=n}}))}function Ai(e,t,n){var r=fl(),a=pl(e),o={lane:a,action:n,eagerReducer:null,eagerState:null,next:null},i=t.pending;if(null===i?o.next=o:(o.next=i.next,i.next=o),t.pending=o,i=e.alternate,e===Jo||null!==i&&i===Jo)ri=ni=!0;else{if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var s=t.lastRenderedState,l=i(s,n);if(o.eagerReducer=i,o.eagerState=l,ur(l,s))return}catch(u){}ml(e,a,r)}}var Pi={readContext:oo,useCallback:ai,useContext:ai,useEffect:ai,useImperativeHandle:ai,useLayoutEffect:ai,useMemo:ai,useReducer:ai,useRef:ai,useState:ai,useDebugValue:ai,useDeferredValue:ai,useTransition:ai,useMutableSource:ai,useOpaqueIdentifier:ai,unstable_isNewReconciler:!1},Oi={readContext:oo,useCallback:function(e,t){return si().memoizedState=[e,void 0===t?null:t],e},useContext:oo,useEffect:ki,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,yi(4,2,xi.bind(null,t,e),n)},useLayoutEffect:function(e,t){return yi(4,2,e,t)},useMemo:function(e,t){var n=si();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=si();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Ai.bind(null,Jo,e),[r.memoizedState,e]},useRef:bi,useState:hi,useDebugValue:Ci,useDeferredValue:function(e){var t=hi(e),n=t[0],r=t[1];return ki((function(){var t=Ko.transition;Ko.transition=1;try{r(e)}finally{Ko.transition=t}}),[e]),n},useTransition:function(){var e=hi(!1),t=e[0];return bi(e=Li.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,n){var r=si();return r.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:n},pi(r,e,t,n)},useOpaqueIdentifier:function(){if($o){var e=!1,t=function(e){return{$$typeof:U,toString:e,valueOf:e}}((function(){throw e||(e=!0,n("r:"+(Gr++).toString(36))),Error(i(355))})),n=hi(t)[1];return 0==(2&Jo.mode)&&(Jo.flags|=516,gi(5,(function(){n("r:"+(Gr++).toString(36))}),void 0,null)),t}return hi(t="r:"+(Gr++).toString(36)),t},unstable_isNewReconciler:!1},Ni={readContext:oo,useCallback:Ti,useContext:oo,useEffect:Ei,useImperativeHandle:_i,useLayoutEffect:Si,useMemo:Ii,useReducer:ci,useRef:vi,useState:function(){return ci(ui)},useDebugValue:Ci,useDeferredValue:function(e){var t=ci(ui),n=t[0],r=t[1];return Ei((function(){var t=Ko.transition;Ko.transition=1;try{r(e)}finally{Ko.transition=t}}),[e]),n},useTransition:function(){var e=ci(ui)[0];return[vi().current,e]},useMutableSource:mi,useOpaqueIdentifier:function(){return ci(ui)[0]},unstable_isNewReconciler:!1},Ri={readContext:oo,useCallback:Ti,useContext:oo,useEffect:Ei,useImperativeHandle:_i,useLayoutEffect:Si,useMemo:Ii,useReducer:di,useRef:vi,useState:function(){return di(ui)},useDebugValue:Ci,useDeferredValue:function(e){var t=di(ui),n=t[0],r=t[1];return Ei((function(){var t=Ko.transition;Ko.transition=1;try{r(e)}finally{Ko.transition=t}}),[e]),n},useTransition:function(){var e=di(ui)[0];return[vi().current,e]},useMutableSource:mi,useOpaqueIdentifier:function(){return di(ui)[0]},unstable_isNewReconciler:!1},Ui=k.ReactCurrentOwner,Di=!1;function Mi(e,t,n,r){t.child=null===e?To(t,null,n,r):Co(t,e.child,n,r)}function Fi(e,t,n,r,a){n=n.render;var o=t.ref;return ao(t,a),r=ii(e,t,n,r,o,a),null===e||Di?(t.flags|=1,Mi(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~a,os(e,t,a))}function Bi(e,t,n,r,a,o){if(null===e){var i=n.type;return"function"!=typeof i||Zl(i)||void 0!==i.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Vl(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,zi(e,t,i,r,a,o))}return i=e.child,0==(a&o)&&(a=i.memoizedProps,(n=null!==(n=n.compare)?n:dr)(a,r)&&e.ref===t.ref)?os(e,t,o):(t.flags|=1,(e=Ql(i,r)).ref=t.ref,e.return=t,t.child=e)}function zi(e,t,n,r,a,o){if(null!==e&&dr(e.memoizedProps,r)&&e.ref===t.ref){if(Di=!1,0==(o&a))return t.lanes=e.lanes,os(e,t,o);0!=(16384&e.flags)&&(Di=!0)}return Wi(e,t,n,r,o)}function $i(e,t,n){var r=t.pendingProps,a=r.children,o=null!==e?e.memoizedState:null;if("hidden"===r.mode||"unstable-defer-without-hiding"===r.mode)if(0==(4&t.mode))t.memoizedState={baseLanes:0},El(t,n);else{if(0==(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},El(t,e),null;t.memoizedState={baseLanes:0},El(t,null!==o?o.baseLanes:n)}else null!==o?(r=o.baseLanes|n,t.memoizedState=null):r=n,El(t,r);return Mi(e,t,a,n),t.child}function ji(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=128)}function Wi(e,t,n,r,a){var o=ga(n)?ma:fa.current;return o=ha(t,o),ao(t,a),n=ii(e,t,n,r,o,a),null===e||Di?(t.flags|=1,Mi(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~a,os(e,t,a))}function Hi(e,t,n,r,a){if(ga(n)){var o=!0;wa(t)}else o=!1;if(ao(t,a),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),yo(t,n,r),ko(t,n,r,a),r=!0;else if(null===e){var i=t.stateNode,s=t.memoizedProps;i.props=s;var l=i.context,u=n.contextType;"object"==typeof u&&null!==u?u=oo(u):u=ha(t,u=ga(n)?ma:fa.current);var c=n.getDerivedStateFromProps,d="function"==typeof c||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==r||l!==u)&&wo(t,i,r,u),io=!1;var f=t.memoizedState;i.state=f,po(t,r,i,a),l=t.memoizedState,s!==r||f!==l||pa.current||io?("function"==typeof c&&(go(t,n,c,r),l=t.memoizedState),(s=io||vo(t,n,s,r,f,l,u))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4)):("function"==typeof i.componentDidMount&&(t.flags|=4),t.memoizedProps=r,t.memoizedState=l),i.props=r,i.state=l,i.context=u,r=s):("function"==typeof i.componentDidMount&&(t.flags|=4),r=!1)}else{i=t.stateNode,lo(e,t),s=t.memoizedProps,u=t.type===t.elementType?s:Ya(t.type,s),i.props=u,d=t.pendingProps,f=i.context,"object"==typeof(l=n.contextType)&&null!==l?l=oo(l):l=ha(t,l=ga(n)?ma:fa.current);var p=n.getDerivedStateFromProps;(c="function"==typeof p||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==d||f!==l)&&wo(t,i,r,l),io=!1,f=t.memoizedState,i.state=f,po(t,r,i,a);var m=t.memoizedState;s!==d||f!==m||pa.current||io?("function"==typeof p&&(go(t,n,p,r),m=t.memoizedState),(u=io||vo(t,n,u,r,f,m,l))?(c||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,m,l),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,m,l)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=256)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=256),t.memoizedProps=r,t.memoizedState=m),i.props=r,i.state=m,i.context=l,r=u):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=256),r=!1)}return Zi(e,t,n,r,o,a)}function Zi(e,t,n,r,a,o){ji(e,t);var i=0!=(64&t.flags);if(!r&&!i)return a&&ka(t,n,!1),os(e,t,o);r=t.stateNode,Ui.current=t;var s=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=Co(t,e.child,null,o),t.child=Co(t,null,s,o)):Mi(e,t,s,o),t.memoizedState=r.state,a&&ka(t,n,!0),t.child}function Qi(e){var t=e.stateNode;t.pendingContext?va(0,t.pendingContext,t.pendingContext!==t.context):t.context&&va(0,t.context,!1),No(e,t.containerInfo)}var Vi,qi,Gi,Yi,Ki={dehydrated:null,retryLane:0};function Xi(e,t,n){var r,a=t.pendingProps,o=Mo.current,i=!1;return(r=0!=(64&t.flags))||(r=(null===e||null!==e.memoizedState)&&0!=(2&o)),r?(i=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===a.fallback||!0===a.unstable_avoidThisFallback||(o|=1),ca(Mo,1&o),null===e?(void 0!==a.fallback&&Ho(t),e=a.children,o=a.fallback,i?(e=Ji(t,e,o,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Ki,e):"number"==typeof a.unstable_expectedLoadTime?(e=Ji(t,e,o,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Ki,t.lanes=33554432,e):((n=Gl({mode:"visible",children:e},t.mode,n,null)).return=t,t.child=n)):(e.memoizedState,i?(a=ts(e,t,a.children,a.fallback,n),i=t.child,o=e.child.memoizedState,i.memoizedState=null===o?{baseLanes:n}:{baseLanes:o.baseLanes|n},i.childLanes=e.childLanes&~n,t.memoizedState=Ki,a):(n=es(e,t,a.children,n),t.memoizedState=null,n))}function Ji(e,t,n,r){var a=e.mode,o=e.child;return t={mode:"hidden",children:t},0==(2&a)&&null!==o?(o.childLanes=0,o.pendingProps=t):o=Gl(t,a,0,null),n=ql(n,a,r,null),o.return=e,n.return=e,o.sibling=n,e.child=o,n}function es(e,t,n,r){var a=e.child;return e=a.sibling,n=Ql(a,{mode:"visible",children:n}),0==(2&t.mode)&&(n.lanes=r),n.return=t,n.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=n}function ts(e,t,n,r,a){var o=t.mode,i=e.child;e=i.sibling;var s={mode:"hidden",children:n};return 0==(2&o)&&t.child!==i?((n=t.child).childLanes=0,n.pendingProps=s,null!==(i=n.lastEffect)?(t.firstEffect=n.firstEffect,t.lastEffect=i,i.nextEffect=null):t.firstEffect=t.lastEffect=null):n=Ql(i,s),null!==e?r=Ql(e,r):(r=ql(r,o,a,null)).flags|=2,r.return=t,n.return=t,n.sibling=r,t.child=n,r}function ns(e,t){e.lanes|=t;var n=e.alternate;null!==n&&(n.lanes|=t),ro(e.return,t)}function rs(e,t,n,r,a,o){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a,lastEffect:o}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=a,i.lastEffect=o)}function as(e,t,n){var r=t.pendingProps,a=r.revealOrder,o=r.tail;if(Mi(e,t,r.children,n),0!=(2&(r=Mo.current)))r=1&r|2,t.flags|=64;else{if(null!==e&&0!=(64&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&ns(e,n);else if(19===e.tag)ns(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(ca(Mo,r),0==(2&t.mode))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===Fo(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),rs(t,!1,a,n,o,t.lastEffect);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===Fo(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}rs(t,!0,n,null,o,t.lastEffect);break;case"together":rs(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function os(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),$s|=t.lanes,0!=(n&t.childLanes)){if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(n=Ql(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Ql(e,e.pendingProps)).return=t;n.sibling=null}return t.child}return null}function is(e,t){if(!$o)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ss(e,t,n){var r=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:case 17:return ga(t.type)&&ba(),null;case 3:return Ro(),ua(pa),ua(fa),Go(),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(Qo(t)?t.flags|=4:r.hydrate||(t.flags|=256)),qi(t),null;case 5:Do(t);var o=Oo(Po.current);if(n=t.type,null!==e&&null!=t.stateNode)Gi(e,t,n,r,o),e.ref!==t.ref&&(t.flags|=128);else{if(!r){if(null===t.stateNode)throw Error(i(166));return null}if(e=Oo(Lo.current),Qo(t)){r=t.stateNode,n=t.type;var s=t.memoizedProps;switch(r[Kr]=t,r[Xr]=s,n){case"dialog":Lr("cancel",r),Lr("close",r);break;case"iframe":case"object":case"embed":Lr("load",r);break;case"video":case"audio":for(e=0;e<_r.length;e++)Lr(_r[e],r);break;case"source":Lr("error",r);break;case"img":case"image":case"link":Lr("error",r),Lr("load",r);break;case"details":Lr("toggle",r);break;case"input":ee(r,s),Lr("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!s.multiple},Lr("invalid",r);break;case"textarea":le(r,s),Lr("invalid",r)}for(var u in Se(n,s),e=null,s)s.hasOwnProperty(u)&&(o=s[u],"children"===u?"string"==typeof o?r.textContent!==o&&(e=["children",o]):"number"==typeof o&&r.textContent!==""+o&&(e=["children",""+o]):l.hasOwnProperty(u)&&null!=o&&"onScroll"===u&&Lr("scroll",r));switch(n){case"input":Y(r),re(r,s,!0);break;case"textarea":Y(r),ce(r);break;case"select":case"option":break;default:"function"==typeof s.onClick&&(r.onclick=Br)}r=e,t.updateQueue=r,null!==r&&(t.flags|=4)}else{switch(u=9===o.nodeType?o:o.ownerDocument,e===de.html&&(e=fe(n)),e===de.html?"script"===n?((e=u.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=u.createElement(n,{is:r.is}):(e=u.createElement(n),"select"===n&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,n),e[Kr]=t,e[Xr]=r,Vi(e,t,!1,!1),t.stateNode=e,u=xe(n,r),n){case"dialog":Lr("cancel",e),Lr("close",e),o=r;break;case"iframe":case"object":case"embed":Lr("load",e),o=r;break;case"video":case"audio":for(o=0;o<_r.length;o++)Lr(_r[o],e);o=r;break;case"source":Lr("error",e),o=r;break;case"img":case"image":case"link":Lr("error",e),Lr("load",e),o=r;break;case"details":Lr("toggle",e),o=r;break;case"input":ee(e,r),o=J(e,r),Lr("invalid",e);break;case"option":o=oe(e,r);break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=a({},r,{value:void 0}),Lr("invalid",e);break;case"textarea":le(e,r),o=se(e,r),Lr("invalid",e);break;default:o=r}Se(n,o);var c=o;for(s in c)if(c.hasOwnProperty(s)){var d=c[s];"style"===s?ke(e,d):"dangerouslySetInnerHTML"===s?null!=(d=d?d.__html:void 0)&&ge(e,d):"children"===s?"string"==typeof d?("textarea"!==n||""!==d)&&be(e,d):"number"==typeof d&&be(e,""+d):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(l.hasOwnProperty(s)?null!=d&&"onScroll"===s&&Lr("scroll",e):null!=d&&w(e,s,d,u))}switch(n){case"input":Y(e),re(e,r,!1);break;case"textarea":Y(e),ce(e);break;case"option":null!=r.value&&e.setAttribute("value",""+q(r.value));break;case"select":e.multiple=!!r.multiple,null!=(s=r.value)?ie(e,!!r.multiple,s,!1):null!=r.defaultValue&&ie(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=Br)}jr(n,r)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)Yi(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(i(166));n=Oo(Po.current),Oo(Lo.current),Qo(t)?(r=t.stateNode,n=t.memoizedProps,r[Kr]=t,r.nodeValue!==n&&(t.flags|=4)):((r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[Kr]=t,t.stateNode=r)}return null;case 13:return ua(Mo),r=t.memoizedState,0!=(64&t.flags)?(t.lanes=n,t):(r=null!==r,n=!1,null===e?void 0!==t.memoizedProps.fallback&&Qo(t):n=null!==e.memoizedState,r&&!n&&0!=(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&Mo.current)?0===Fs&&(Fs=3):(0!==Fs&&3!==Fs||(Fs=4),null===Ns||0==(134217727&$s)&&0==(134217727&js)||vl(Ns,Us))),(r||n)&&(t.flags|=4),null);case 4:return Ro(),qi(t),null===e&&Pr(t.stateNode.containerInfo),null;case 10:return no(t),null;case 19:if(ua(Mo),null===(r=t.memoizedState))return null;if(s=0!=(64&t.flags),null===(u=r.rendering))if(s)is(r,!1);else{if(0!==Fs||null!==e&&0!=(64&e.flags))for(e=t.child;null!==e;){if(null!==(u=Fo(e))){for(t.flags|=64,is(r,!1),null!==(s=u.updateQueue)&&(t.updateQueue=s,t.flags|=4),null===r.lastEffect&&(t.firstEffect=null),t.lastEffect=r.lastEffect,r=n,n=t.child;null!==n;)e=r,(s=n).flags&=2,s.nextEffect=null,s.firstEffect=null,s.lastEffect=null,null===(u=s.alternate)?(s.childLanes=0,s.lanes=e,s.child=null,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=u.childLanes,s.lanes=u.lanes,s.child=u.child,s.memoizedProps=u.memoizedProps,s.memoizedState=u.memoizedState,s.updateQueue=u.updateQueue,s.type=u.type,e=u.dependencies,s.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return ca(Mo,1&Mo.current|2),t.child}e=e.sibling}null!==r.tail&&ja()>Qs&&(t.flags|=64,s=!0,is(r,!1),t.lanes=33554432)}else{if(!s)if(null!==(e=Fo(u))){if(t.flags|=64,s=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),is(r,!0),null===r.tail&&"hidden"===r.tailMode&&!u.alternate&&!$o)return null!==(t=t.lastEffect=r.lastEffect)&&(t.nextEffect=null),null}else 2*ja()-r.renderingStartTime>Qs&&1073741824!==n&&(t.flags|=64,s=!0,is(r,!1),t.lanes=33554432);r.isBackwards?(u.sibling=t.child,t.child=u):(null!==(n=r.last)?n.sibling=u:t.child=u,r.last=u)}return null!==r.tail?(n=r.tail,r.rendering=n,r.tail=n.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=ja(),n.sibling=null,t=Mo.current,ca(Mo,s?1&t|2:1&t),n):null;case 23:case 24:return Sl(),null!==e&&null!==e.memoizedState!=(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==r.mode&&(t.flags|=4),null}throw Error(i(156,t.tag))}function ls(e){switch(e.tag){case 1:ga(e.type)&&ba();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(Ro(),ua(pa),ua(fa),Go(),0!=(64&(t=e.flags)))throw Error(i(285));return e.flags=-4097&t|64,e;case 5:return Do(e),null;case 13:return ua(Mo),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return ua(Mo),null;case 4:return Ro(),null;case 10:return no(e),null;case 23:case 24:return Sl(),null;default:return null}}function us(e,t){try{var n="",r=t;do{n+=Q(r),r=r.return}while(r);var a=n}catch(o){a="\nError generating stack: "+o.message+"\n"+o.stack}return{value:e,source:t,stack:a}}function cs(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}Vi=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},qi=function(){},Gi=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Oo(Lo.current);var i,s=null;switch(n){case"input":o=J(e,o),r=J(e,r),s=[];break;case"option":o=oe(e,o),r=oe(e,r),s=[];break;case"select":o=a({},o,{value:void 0}),r=a({},r,{value:void 0}),s=[];break;case"textarea":o=se(e,o),r=se(e,r),s=[];break;default:"function"!=typeof o.onClick&&"function"==typeof r.onClick&&(e.onclick=Br)}for(d in Se(n,r),n=null,o)if(!r.hasOwnProperty(d)&&o.hasOwnProperty(d)&&null!=o[d])if("style"===d){var u=o[d];for(i in u)u.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else"dangerouslySetInnerHTML"!==d&&"children"!==d&&"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&"autoFocus"!==d&&(l.hasOwnProperty(d)?s||(s=[]):(s=s||[]).push(d,null));for(d in r){var c=r[d];if(u=null!=o?o[d]:void 0,r.hasOwnProperty(d)&&c!==u&&(null!=c||null!=u))if("style"===d)if(u){for(i in u)!u.hasOwnProperty(i)||c&&c.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in c)c.hasOwnProperty(i)&&u[i]!==c[i]&&(n||(n={}),n[i]=c[i])}else n||(s||(s=[]),s.push(d,n)),n=c;else"dangerouslySetInnerHTML"===d?(c=c?c.__html:void 0,u=u?u.__html:void 0,null!=c&&u!==c&&(s=s||[]).push(d,c)):"children"===d?"string"!=typeof c&&"number"!=typeof c||(s=s||[]).push(d,""+c):"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&(l.hasOwnProperty(d)?(null!=c&&"onScroll"===d&&Lr("scroll",e),s||u===c||(s=[])):"object"==typeof c&&null!==c&&c.$$typeof===U?c.toString():(s=s||[]).push(d,c))}n&&(s=s||[]).push("style",n);var d=s;(t.updateQueue=d)&&(t.flags|=4)}},Yi=function(e,t,n,r){n!==r&&(t.flags|=4)};var ds="function"==typeof WeakMap?WeakMap:Map;function fs(e,t,n){(n=uo(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ys||(Ys=!0,Ks=r),cs(0,t)},n}function ps(e,t,n){(n=uo(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var a=t.value;n.payload=function(){return cs(0,t),r(a)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===Xs?Xs=new Set([this]):Xs.add(this),cs(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}var ms="function"==typeof WeakSet?WeakSet:Set;function hs(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(n){zl(e,n)}else t.current=null}function gs(e,t){switch(t.tag){case 0:case 11:case 15:case 22:case 5:case 6:case 4:case 17:return;case 1:if(256&t.flags&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:Ya(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&Qr(t.stateNode.containerInfo))}throw Error(i(163))}function bs(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3==(3&e.tag)){var r=e.create;e.destroy=r()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var a=e;r=a.next,0!=(4&(a=a.tag))&&0!=(1&a)&&(Ml(n,e),Dl(n,e)),e=r}while(e!==t)}return;case 1:return e=n.stateNode,4&n.flags&&(null===t?e.componentDidMount():(r=n.elementType===n.type?t.memoizedProps:Ya(n.type,t.memoizedProps),e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=n.updateQueue)&&mo(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:case 1:e=n.child.stateNode}mo(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.flags&&jr(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:case 19:case 17:case 20:case 21:case 23:case 24:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&kt(n)))))}throw Error(i(163))}function vs(e,t){for(var n=e;;){if(5===n.tag){var r=n.stateNode;if(t)"function"==typeof(r=r.style).setProperty?r.setProperty("display","none","important"):r.display="none";else{r=n.stateNode;var a=n.memoizedProps.style;a=null!=a&&a.hasOwnProperty("display")?a.display:null,r.style.display=we("display",a)}}else if(6===n.tag)n.stateNode.nodeValue=t?"":n.memoizedProps;else if((23!==n.tag&&24!==n.tag||null===n.memoizedState||n===e)&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function ys(e,t){if(Sa&&"function"==typeof Sa.onCommitFiberUnmount)try{Sa.onCommitFiberUnmount(Ea,t)}catch(o){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var n=e=e.next;do{var r=n,a=r.destroy;if(r=r.tag,void 0!==a)if(0!=(4&r))Ml(t,n);else{r=t;try{a()}catch(o){zl(r,o)}}n=n.next}while(n!==e)}break;case 1:if(hs(t),"function"==typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(o){zl(t,o)}break;case 5:hs(t);break;case 4:_s(e,t)}}function ws(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function ks(e){return 5===e.tag||3===e.tag||4===e.tag}function Es(e){e:{for(var t=e.return;null!==t;){if(ks(t))break e;t=t.return}throw Error(i(160))}var n=t;switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(i(161))}16&n.flags&&(be(t,""),n.flags&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||ks(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.flags)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.flags)){n=n.stateNode;break e}}r?Ss(e,n,t):xs(e,n,t)}function Ss(e,t,n){var r=e.tag,a=5===r||6===r;if(a)e=a?e.stateNode:e.stateNode.instance,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Br));else if(4!==r&&null!==(e=e.child))for(Ss(e,t,n),e=e.sibling;null!==e;)Ss(e,t,n),e=e.sibling}function xs(e,t,n){var r=e.tag,a=5===r||6===r;if(a)e=a?e.stateNode:e.stateNode.instance,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(xs(e,t,n),e=e.sibling;null!==e;)xs(e,t,n),e=e.sibling}function _s(e,t){for(var n,r,a=t,o=!1;;){if(!o){o=a.return;e:for(;;){if(null===o)throw Error(i(160));switch(n=o.stateNode,o.tag){case 5:r=!1;break e;case 3:case 4:n=n.containerInfo,r=!0;break e}o=o.return}o=!0}if(5===a.tag||6===a.tag){e:for(var s=e,l=a,u=l;;)if(ys(s,u),null!==u.child&&4!==u.tag)u.child.return=u,u=u.child;else{if(u===l)break e;for(;null===u.sibling;){if(null===u.return||u.return===l)break e;u=u.return}u.sibling.return=u.return,u=u.sibling}r?(s=n,l=a.stateNode,8===s.nodeType?s.parentNode.removeChild(l):s.removeChild(l)):n.removeChild(a.stateNode)}else if(4===a.tag){if(null!==a.child){n=a.stateNode.containerInfo,r=!0,a.child.return=a,a=a.child;continue}}else if(ys(e,a),null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break;for(;null===a.sibling;){if(null===a.return||a.return===t)return;4===(a=a.return).tag&&(o=!1)}a.sibling.return=a.return,a=a.sibling}}function Cs(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var r=n=n.next;do{3==(3&r.tag)&&(e=r.destroy,r.destroy=void 0,void 0!==e&&e()),r=r.next}while(r!==n)}return;case 1:case 12:case 17:return;case 5:if(null!=(n=t.stateNode)){r=t.memoizedProps;var a=null!==e?e.memoizedProps:r;e=t.type;var o=t.updateQueue;if(t.updateQueue=null,null!==o){for(n[Xr]=r,"input"===e&&"radio"===r.type&&null!=r.name&&te(n,r),xe(e,a),t=xe(e,r),a=0;a<o.length;a+=2){var s=o[a],l=o[a+1];"style"===s?ke(n,l):"dangerouslySetInnerHTML"===s?ge(n,l):"children"===s?be(n,l):w(n,s,l,t)}switch(e){case"input":ne(n,r);break;case"textarea":ue(n,r);break;case"select":e=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!r.multiple,null!=(o=r.value)?ie(n,!!r.multiple,o,!1):e!==!!r.multiple&&(null!=r.defaultValue?ie(n,!!r.multiple,r.defaultValue,!0):ie(n,!!r.multiple,r.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(i(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((n=t.stateNode).hydrate&&(n.hydrate=!1,kt(n.containerInfo)));case 13:return null!==t.memoizedState&&(Zs=ja(),vs(t.child,!0)),void Ts(t);case 19:return void Ts(t);case 23:case 24:return void vs(t,null!==t.memoizedState)}throw Error(i(163))}function Ts(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new ms),t.forEach((function(t){var r=jl.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function Is(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(t=t.memoizedState)&&null===t.dehydrated)}var Ls=Math.ceil,As=k.ReactCurrentDispatcher,Ps=k.ReactCurrentOwner,Os=0,Ns=null,Rs=null,Us=0,Ds=0,Ms=la(0),Fs=0,Bs=null,zs=0,$s=0,js=0,Ws=0,Hs=null,Zs=0,Qs=1/0;function Vs(){Qs=ja()+500}var qs,Gs=null,Ys=!1,Ks=null,Xs=null,Js=!1,el=null,tl=90,nl=[],rl=[],al=null,ol=0,il=null,sl=-1,ll=0,ul=0,cl=null,dl=!1;function fl(){return 0!=(48&Os)?ja():-1!==sl?sl:sl=ja()}function pl(e){if(0==(2&(e=e.mode)))return 1;if(0==(4&e))return 99===Wa()?1:2;if(0===ll&&(ll=zs),0!==Ga.transition){0!==ul&&(ul=null!==Hs?Hs.pendingLanes:0),e=ll;var t=4186112&~ul;return 0===(t&=-t)&&(0===(t=(e=4186112&~e)&-e)&&(t=8192)),t}return e=Wa(),0!=(4&Os)&&98===e?e=Bt(12,ll):e=Bt(e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),ll),e}function ml(e,t,n){if(50<ol)throw ol=0,il=null,Error(i(185));if(null===(e=hl(e,t)))return null;jt(e,t,n),e===Ns&&(js|=t,4===Fs&&vl(e,Us));var r=Wa();1===t?0!=(8&Os)&&0==(48&Os)?yl(e):(gl(e,n),0===Os&&(Vs(),Va())):(0==(4&Os)||98!==r&&99!==r||(null===al?al=new Set([e]):al.add(e)),gl(e,n)),Hs=e}function hl(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}function gl(e,t){for(var n=e.callbackNode,r=e.suspendedLanes,a=e.pingedLanes,o=e.expirationTimes,s=e.pendingLanes;0<s;){var l=31-Wt(s),u=1<<l,c=o[l];if(-1===c){if(0==(u&r)||0!=(u&a)){c=t,Dt(u);var d=Ut;o[l]=10<=d?c+250:6<=d?c+5e3:-1}}else c<=t&&(e.expiredLanes|=u);s&=~u}if(r=Mt(e,e===Ns?Us:0),t=Ut,0===r)null!==n&&(n!==Da&&Ca(n),e.callbackNode=null,e.callbackPriority=0);else{if(null!==n){if(e.callbackPriority===t)return;n!==Da&&Ca(n)}15===t?(n=yl.bind(null,e),null===Fa?(Fa=[n],Ba=_a(Pa,qa)):Fa.push(n),n=Da):14===t?n=Qa(99,yl.bind(null,e)):(n=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(i(358,e))}}(t),n=Qa(n,bl.bind(null,e))),e.callbackPriority=t,e.callbackNode=n}}function bl(e){if(sl=-1,ul=ll=0,0!=(48&Os))throw Error(i(327));var t=e.callbackNode;if(Ul()&&e.callbackNode!==t)return null;var n=Mt(e,e===Ns?Us:0);if(0===n)return null;var r=n,a=Os;Os|=16;var o=Cl();for(Ns===e&&Us===r||(Vs(),xl(e,r));;)try{Ll();break}catch(l){_l(e,l)}if(to(),As.current=o,Os=a,null!==Rs?r=0:(Ns=null,Us=0,r=Fs),0!=(zs&js))xl(e,0);else if(0!==r){if(2===r&&(Os|=64,e.hydrate&&(e.hydrate=!1,Qr(e.containerInfo)),0!==(n=Ft(e))&&(r=Tl(e,n))),1===r)throw t=Bs,xl(e,0),vl(e,n),gl(e,ja()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=n,r){case 0:case 1:throw Error(i(345));case 2:case 5:Ol(e);break;case 3:if(vl(e,n),(62914560&n)===n&&10<(r=Zs+500-ja())){if(0!==Mt(e,0))break;if(((a=e.suspendedLanes)&n)!==n){fl(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=Hr(Ol.bind(null,e),r);break}Ol(e);break;case 4:if(vl(e,n),(4186112&n)===n)break;for(r=e.eventTimes,a=-1;0<n;){var s=31-Wt(n);o=1<<s,(s=r[s])>a&&(a=s),n&=~o}if(n=a,10<(n=(120>(n=ja()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Ls(n/1960))-n)){e.timeoutHandle=Hr(Ol.bind(null,e),n);break}Ol(e);break;default:throw Error(i(329))}}return gl(e,ja()),e.callbackNode===t?bl.bind(null,e):null}function vl(e,t){for(t&=~Ws,t&=~js,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Wt(t),r=1<<n;e[n]=-1,t&=~r}}function yl(e){if(0!=(48&Os))throw Error(i(327));if(Ul(),e===Ns&&0!=(e.expiredLanes&Us)){var t=Us,n=Tl(e,t);0!=(zs&js)&&(n=Tl(e,t=Mt(e,t)))}else n=Tl(e,t=Mt(e,0));if(0!==e.tag&&2===n&&(Os|=64,e.hydrate&&(e.hydrate=!1,Qr(e.containerInfo)),0!==(t=Ft(e))&&(n=Tl(e,t))),1===n)throw n=Bs,xl(e,0),vl(e,t),gl(e,ja()),n;return e.finishedWork=e.current.alternate,e.finishedLanes=t,Ol(e),gl(e,ja()),null}function wl(e,t){var n=Os;Os|=1;try{return e(t)}finally{0===(Os=n)&&(Vs(),Va())}}function kl(e,t){var n=Os;Os&=-2,Os|=8;try{return e(t)}finally{0===(Os=n)&&(Vs(),Va())}}function El(e,t){ca(Ms,Ds),Ds|=t,zs|=t}function Sl(){Ds=Ms.current,ua(Ms)}function xl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,Zr(n)),null!==Rs)for(n=Rs.return;null!==n;){var r=n;switch(r.tag){case 1:null!=(r=r.type.childContextTypes)&&ba();break;case 3:Ro(),ua(pa),ua(fa),Go();break;case 5:Do(r);break;case 4:Ro();break;case 13:case 19:ua(Mo);break;case 10:no(r);break;case 23:case 24:Sl()}n=n.return}Ns=e,Rs=Ql(e.current,null),Us=Ds=zs=t,Fs=0,Bs=null,Ws=js=$s=0}function _l(e,t){for(;;){var n=Rs;try{if(to(),Yo.current=Pi,ni){for(var r=Jo.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}ni=!1}if(Xo=0,ti=ei=Jo=null,ri=!1,Ps.current=null,null===n||null===n.return){Fs=1,Bs=t,Rs=null;break}e:{var o=e,i=n.return,s=n,l=t;if(t=Us,s.flags|=2048,s.firstEffect=s.lastEffect=null,null!==l&&"object"==typeof l&&"function"==typeof l.then){var u=l;if(0==(2&s.mode)){var c=s.alternate;c?(s.updateQueue=c.updateQueue,s.memoizedState=c.memoizedState,s.lanes=c.lanes):(s.updateQueue=null,s.memoizedState=null)}var d=0!=(1&Mo.current),f=i;do{var p;if(p=13===f.tag){var m=f.memoizedState;if(null!==m)p=null!==m.dehydrated;else{var h=f.memoizedProps;p=void 0!==h.fallback&&(!0!==h.unstable_avoidThisFallback||!d)}}if(p){var g=f.updateQueue;if(null===g){var b=new Set;b.add(u),f.updateQueue=b}else g.add(u);if(0==(2&f.mode)){if(f.flags|=64,s.flags|=16384,s.flags&=-2981,1===s.tag)if(null===s.alternate)s.tag=17;else{var v=uo(-1,1);v.tag=2,co(s,v)}s.lanes|=1;break e}l=void 0,s=t;var y=o.pingCache;if(null===y?(y=o.pingCache=new ds,l=new Set,y.set(u,l)):void 0===(l=y.get(u))&&(l=new Set,y.set(u,l)),!l.has(s)){l.add(s);var w=$l.bind(null,o,u,s);u.then(w,w)}f.flags|=4096,f.lanes=t;break e}f=f.return}while(null!==f);l=Error((V(s.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==Fs&&(Fs=2),l=us(l,s),f=i;do{switch(f.tag){case 3:o=l,f.flags|=4096,t&=-t,f.lanes|=t,fo(f,fs(0,o,t));break e;case 1:o=l;var k=f.type,E=f.stateNode;if(0==(64&f.flags)&&("function"==typeof k.getDerivedStateFromError||null!==E&&"function"==typeof E.componentDidCatch&&(null===Xs||!Xs.has(E)))){f.flags|=4096,t&=-t,f.lanes|=t,fo(f,ps(f,o,t));break e}}f=f.return}while(null!==f)}Pl(n)}catch(S){t=S,Rs===n&&null!==n&&(Rs=n=n.return);continue}break}}function Cl(){var e=As.current;return As.current=Pi,null===e?Pi:e}function Tl(e,t){var n=Os;Os|=16;var r=Cl();for(Ns===e&&Us===t||xl(e,t);;)try{Il();break}catch(a){_l(e,a)}if(to(),Os=n,As.current=r,null!==Rs)throw Error(i(261));return Ns=null,Us=0,Fs}function Il(){for(;null!==Rs;)Al(Rs)}function Ll(){for(;null!==Rs&&!Ta();)Al(Rs)}function Al(e){var t=qs(e.alternate,e,Ds);e.memoizedProps=e.pendingProps,null===t?Pl(e):Rs=t,Ps.current=null}function Pl(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(2048&t.flags)){if(null!==(n=ss(n,t,Ds)))return void(Rs=n);if(24!==(n=t).tag&&23!==n.tag||null===n.memoizedState||0!=(1073741824&Ds)||0==(4&n.mode)){for(var r=0,a=n.child;null!==a;)r|=a.lanes|a.childLanes,a=a.sibling;n.childLanes=r}null!==e&&0==(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}else{if(null!==(n=ls(t)))return n.flags&=2047,void(Rs=n);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}if(null!==(t=t.sibling))return void(Rs=t);Rs=t=e}while(null!==t);0===Fs&&(Fs=5)}function Ol(e){var t=Wa();return Za(99,Nl.bind(null,e,t)),null}function Nl(e,t){do{Ul()}while(null!==el);if(0!=(48&Os))throw Error(i(327));var n=e.finishedWork;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(i(177));e.callbackNode=null;var r=n.lanes|n.childLanes,a=r,o=e.pendingLanes&~a;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=a,e.mutableReadLanes&=a,e.entangledLanes&=a,a=e.entanglements;for(var s=e.eventTimes,l=e.expirationTimes;0<o;){var u=31-Wt(o),c=1<<u;a[u]=0,s[u]=-1,l[u]=-1,o&=~c}if(null!==al&&0==(24&r)&&al.has(e)&&al.delete(e),e===Ns&&(Rs=Ns=null,Us=0),1<n.flags?null!==n.lastEffect?(n.lastEffect.nextEffect=n,r=n.firstEffect):r=n:r=n.firstEffect,null!==r){if(a=Os,Os|=32,Ps.current=null,zr=qt,gr(s=hr())){if("selectionStart"in s)l={start:s.selectionStart,end:s.selectionEnd};else e:if(l=(l=s.ownerDocument)&&l.defaultView||window,(c=l.getSelection&&l.getSelection())&&0!==c.rangeCount){l=c.anchorNode,o=c.anchorOffset,u=c.focusNode,c=c.focusOffset;try{l.nodeType,u.nodeType}catch(C){l=null;break e}var d=0,f=-1,p=-1,m=0,h=0,g=s,b=null;t:for(;;){for(var v;g!==l||0!==o&&3!==g.nodeType||(f=d+o),g!==u||0!==c&&3!==g.nodeType||(p=d+c),3===g.nodeType&&(d+=g.nodeValue.length),null!==(v=g.firstChild);)b=g,g=v;for(;;){if(g===s)break t;if(b===l&&++m===o&&(f=d),b===u&&++h===c&&(p=d),null!==(v=g.nextSibling))break;b=(g=b).parentNode}g=v}l=-1===f||-1===p?null:{start:f,end:p}}else l=null;l=l||{start:0,end:0}}else l=null;$r={focusedElem:s,selectionRange:l},qt=!1,cl=null,dl=!1,Gs=r;do{try{Rl()}catch(C){if(null===Gs)throw Error(i(330));zl(Gs,C),Gs=Gs.nextEffect}}while(null!==Gs);cl=null,Gs=r;do{try{for(s=e;null!==Gs;){var y=Gs.flags;if(16&y&&be(Gs.stateNode,""),128&y){var w=Gs.alternate;if(null!==w){var k=w.ref;null!==k&&("function"==typeof k?k(null):k.current=null)}}switch(1038&y){case 2:Es(Gs),Gs.flags&=-3;break;case 6:Es(Gs),Gs.flags&=-3,Cs(Gs.alternate,Gs);break;case 1024:Gs.flags&=-1025;break;case 1028:Gs.flags&=-1025,Cs(Gs.alternate,Gs);break;case 4:Cs(Gs.alternate,Gs);break;case 8:_s(s,l=Gs);var E=l.alternate;ws(l),null!==E&&ws(E)}Gs=Gs.nextEffect}}catch(C){if(null===Gs)throw Error(i(330));zl(Gs,C),Gs=Gs.nextEffect}}while(null!==Gs);if(k=$r,w=hr(),y=k.focusedElem,s=k.selectionRange,w!==y&&y&&y.ownerDocument&&mr(y.ownerDocument.documentElement,y)){null!==s&&gr(y)&&(w=s.start,void 0===(k=s.end)&&(k=w),"selectionStart"in y?(y.selectionStart=w,y.selectionEnd=Math.min(k,y.value.length)):(k=(w=y.ownerDocument||document)&&w.defaultView||window).getSelection&&(k=k.getSelection(),l=y.textContent.length,E=Math.min(s.start,l),s=void 0===s.end?E:Math.min(s.end,l),!k.extend&&E>s&&(l=s,s=E,E=l),l=pr(y,E),o=pr(y,s),l&&o&&(1!==k.rangeCount||k.anchorNode!==l.node||k.anchorOffset!==l.offset||k.focusNode!==o.node||k.focusOffset!==o.offset)&&((w=w.createRange()).setStart(l.node,l.offset),k.removeAllRanges(),E>s?(k.addRange(w),k.extend(o.node,o.offset)):(w.setEnd(o.node,o.offset),k.addRange(w))))),w=[];for(k=y;k=k.parentNode;)1===k.nodeType&&w.push({element:k,left:k.scrollLeft,top:k.scrollTop});for("function"==typeof y.focus&&y.focus(),y=0;y<w.length;y++)(k=w[y]).element.scrollLeft=k.left,k.element.scrollTop=k.top}qt=!!zr,$r=zr=null,e.current=n,Gs=r;do{try{for(y=e;null!==Gs;){var S=Gs.flags;if(36&S&&bs(y,Gs.alternate,Gs),128&S){w=void 0;var x=Gs.ref;if(null!==x){var _=Gs.stateNode;Gs.tag,w=_,"function"==typeof x?x(w):x.current=w}}Gs=Gs.nextEffect}}catch(C){if(null===Gs)throw Error(i(330));zl(Gs,C),Gs=Gs.nextEffect}}while(null!==Gs);Gs=null,Ma(),Os=a}else e.current=n;if(Js)Js=!1,el=e,tl=t;else for(Gs=r;null!==Gs;)t=Gs.nextEffect,Gs.nextEffect=null,8&Gs.flags&&((S=Gs).sibling=null,S.stateNode=null),Gs=t;if(0===(r=e.pendingLanes)&&(Xs=null),1===r?e===il?ol++:(ol=0,il=e):ol=0,n=n.stateNode,Sa&&"function"==typeof Sa.onCommitFiberRoot)try{Sa.onCommitFiberRoot(Ea,n,void 0,64==(64&n.current.flags))}catch(C){}if(gl(e,ja()),Ys)throw Ys=!1,e=Ks,Ks=null,e;return 0!=(8&Os)||Va(),null}function Rl(){for(;null!==Gs;){var e=Gs.alternate;dl||null===cl||(0!=(8&Gs.flags)?Je(Gs,cl)&&(dl=!0):13===Gs.tag&&Is(e,Gs)&&Je(Gs,cl)&&(dl=!0));var t=Gs.flags;0!=(256&t)&&gs(e,Gs),0==(512&t)||Js||(Js=!0,Qa(97,(function(){return Ul(),null}))),Gs=Gs.nextEffect}}function Ul(){if(90!==tl){var e=97<tl?97:tl;return tl=90,Za(e,Fl)}return!1}function Dl(e,t){nl.push(t,e),Js||(Js=!0,Qa(97,(function(){return Ul(),null})))}function Ml(e,t){rl.push(t,e),Js||(Js=!0,Qa(97,(function(){return Ul(),null})))}function Fl(){if(null===el)return!1;var e=el;if(el=null,0!=(48&Os))throw Error(i(331));var t=Os;Os|=32;var n=rl;rl=[];for(var r=0;r<n.length;r+=2){var a=n[r],o=n[r+1],s=a.destroy;if(a.destroy=void 0,"function"==typeof s)try{s()}catch(u){if(null===o)throw Error(i(330));zl(o,u)}}for(n=nl,nl=[],r=0;r<n.length;r+=2){a=n[r],o=n[r+1];try{var l=a.create;a.destroy=l()}catch(u){if(null===o)throw Error(i(330));zl(o,u)}}for(l=e.current.firstEffect;null!==l;)e=l.nextEffect,l.nextEffect=null,8&l.flags&&(l.sibling=null,l.stateNode=null),l=e;return Os=t,Va(),!0}function Bl(e,t,n){co(e,t=fs(0,t=us(n,t),1)),t=fl(),null!==(e=hl(e,1))&&(jt(e,1,t),gl(e,t))}function zl(e,t){if(3===e.tag)Bl(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){Bl(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Xs||!Xs.has(r))){var a=ps(n,e=us(t,e),1);if(co(n,a),a=fl(),null!==(n=hl(n,1)))jt(n,1,a),gl(n,a);else if("function"==typeof r.componentDidCatch&&(null===Xs||!Xs.has(r)))try{r.componentDidCatch(t,e)}catch(o){}break}}n=n.return}}function $l(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=fl(),e.pingedLanes|=e.suspendedLanes&n,Ns===e&&(Us&n)===n&&(4===Fs||3===Fs&&(62914560&Us)===Us&&500>ja()-Zs?xl(e,0):Ws|=n),gl(e,t)}function jl(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(0==(2&(t=e.mode))?t=1:0==(4&t)?t=99===Wa()?1:2:(0===ll&&(ll=zs),0===(t=zt(62914560&~ll))&&(t=4194304))),n=fl(),null!==(e=hl(e,t))&&(jt(e,t,n),gl(e,n))}function Wl(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function Hl(e,t,n,r){return new Wl(e,t,n,r)}function Zl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Ql(e,t){var n=e.alternate;return null===n?((n=Hl(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Vl(e,t,n,r,a,o){var s=2;if(r=e,"function"==typeof e)Zl(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case x:return ql(n.children,a,o,t);case D:s=8,a|=16;break;case _:s=8,a|=1;break;case C:return(e=Hl(12,n,t,8|a)).elementType=C,e.type=C,e.lanes=o,e;case A:return(e=Hl(13,n,t,a)).type=A,e.elementType=A,e.lanes=o,e;case P:return(e=Hl(19,n,t,a)).elementType=P,e.lanes=o,e;case M:return Gl(n,a,o,t);case F:return(e=Hl(24,n,t,a)).elementType=F,e.lanes=o,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case T:s=10;break e;case I:s=9;break e;case L:s=11;break e;case O:s=14;break e;case N:s=16,r=null;break e;case R:s=22;break e}throw Error(i(130,null==e?e:typeof e,""))}return(t=Hl(s,n,t,a)).elementType=e,t.type=r,t.lanes=o,t}function ql(e,t,n,r){return(e=Hl(7,e,r,t)).lanes=n,e}function Gl(e,t,n,r){return(e=Hl(23,e,r,t)).elementType=M,e.lanes=n,e}function Yl(e,t,n){return(e=Hl(6,e,null,t)).lanes=n,e}function Kl(e,t,n){return(t=Hl(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Xl(e,t,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=$t(0),this.expirationTimes=$t(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=$t(0),this.mutableSourceEagerHydrationData=null}function Jl(e,t,n,r){var a=t.current,o=fl(),s=pl(a);e:if(n){t:{if(Ge(n=n._reactInternals)!==n||1!==n.tag)throw Error(i(170));var l=n;do{switch(l.tag){case 3:l=l.stateNode.context;break t;case 1:if(ga(l.type)){l=l.stateNode.__reactInternalMemoizedMergedChildContext;break t}}l=l.return}while(null!==l);throw Error(i(171))}if(1===n.tag){var u=n.type;if(ga(u)){n=ya(n,u,l);break e}}n=l}else n=da;return null===t.context?t.context=n:t.pendingContext=n,(t=uo(o,s)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),co(a,t),ml(a,s,o),s}function eu(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function tu(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function nu(e,t){tu(e,t),(e=e.alternate)&&tu(e,t)}function ru(e,t,n){var r=null!=n&&null!=n.hydrationOptions&&n.hydrationOptions.mutableSources||null;if(n=new Xl(e,t,null!=n&&!0===n.hydrate),t=Hl(3,null,null,2===t?7:1===t?3:0),n.current=t,t.stateNode=n,so(t),e[Jr]=n.current,Pr(8===e.nodeType?e.parentNode:e),r)for(e=0;e<r.length;e++){var a=(t=r[e])._getVersion;a=a(t._source),null==n.mutableSourceEagerHydrationData?n.mutableSourceEagerHydrationData=[t,a]:n.mutableSourceEagerHydrationData.push(t,a)}this._internalRoot=n}function au(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function ou(e,t,n,r,a){var o=n._reactRootContainer;if(o){var i=o._internalRoot;if("function"==typeof a){var s=a;a=function(){var e=eu(i);s.call(e)}}Jl(t,i,e,a)}else{if(o=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new ru(e,0,t?{hydrate:!0}:void 0)}(n,r),i=o._internalRoot,"function"==typeof a){var l=a;a=function(){var e=eu(i);l.call(e)}}kl((function(){Jl(t,i,e,a)}))}return eu(i)}function iu(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!au(t))throw Error(i(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:S,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)}qs=function(e,t,n){var r=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||pa.current)Di=!0;else{if(0==(n&r)){switch(Di=!1,t.tag){case 3:Qi(t),Vo();break;case 5:Uo(t);break;case 1:ga(t.type)&&wa(t);break;case 4:No(t,t.stateNode.containerInfo);break;case 10:r=t.memoizedProps.value;var a=t.type._context;ca(Ka,a._currentValue),a._currentValue=r;break;case 13:if(null!==t.memoizedState)return 0!=(n&t.child.childLanes)?Xi(e,t,n):(ca(Mo,1&Mo.current),null!==(t=os(e,t,n))?t.sibling:null);ca(Mo,1&Mo.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(64&e.flags)){if(r)return as(e,t,n);t.flags|=64}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),ca(Mo,Mo.current),r)break;return null;case 23:case 24:return t.lanes=0,$i(e,t,n)}return os(e,t,n)}Di=0!=(16384&e.flags)}else Di=!1;switch(t.lanes=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=ha(t,fa.current),ao(t,n),a=ii(null,t,r,e,a,n),t.flags|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,ga(r)){var o=!0;wa(t)}else o=!1;t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,so(t);var s=r.getDerivedStateFromProps;"function"==typeof s&&go(t,r,s,e),a.updater=bo,t.stateNode=a,a._reactInternals=t,ko(t,r,e,n),t=Zi(null,t,r,!0,o,n)}else t.tag=0,Mi(null,t,a,n),t=t.child;return t;case 16:a=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=(o=a._init)(a._payload),t.type=a,o=t.tag=function(e){if("function"==typeof e)return Zl(e)?1:0;if(null!=e){if((e=e.$$typeof)===L)return 11;if(e===O)return 14}return 2}(a),e=Ya(a,e),o){case 0:t=Wi(null,t,a,e,n);break e;case 1:t=Hi(null,t,a,e,n);break e;case 11:t=Fi(null,t,a,e,n);break e;case 14:t=Bi(null,t,a,Ya(a.type,e),r,n);break e}throw Error(i(306,a,""))}return t;case 0:return r=t.type,a=t.pendingProps,Wi(e,t,r,a=t.elementType===r?a:Ya(r,a),n);case 1:return r=t.type,a=t.pendingProps,Hi(e,t,r,a=t.elementType===r?a:Ya(r,a),n);case 3:if(Qi(t),r=t.updateQueue,null===e||null===r)throw Error(i(282));if(r=t.pendingProps,a=null!==(a=t.memoizedState)?a.element:null,lo(e,t),po(t,r,null,n),(r=t.memoizedState.element)===a)Vo(),t=os(e,t,n);else{if((o=(a=t.stateNode).hydrate)&&(zo=Vr(t.stateNode.containerInfo.firstChild),Bo=t,o=$o=!0),o){if(null!=(e=a.mutableSourceEagerHydrationData))for(a=0;a<e.length;a+=2)(o=e[a])._workInProgressVersionPrimary=e[a+1],qo.push(o);for(n=To(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|1024,n=n.sibling}else Mi(e,t,r,n),Vo();t=t.child}return t;case 5:return Uo(t),null===e&&Ho(t),r=t.type,a=t.pendingProps,o=null!==e?e.memoizedProps:null,s=a.children,Wr(r,a)?s=null:null!==o&&Wr(r,o)&&(t.flags|=16),ji(e,t),Mi(e,t,s,n),t.child;case 6:return null===e&&Ho(t),null;case 13:return Xi(e,t,n);case 4:return No(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Co(t,null,r,n):Mi(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,Fi(e,t,r,a=t.elementType===r?a:Ya(r,a),n);case 7:return Mi(e,t,t.pendingProps,n),t.child;case 8:case 12:return Mi(e,t,t.pendingProps.children,n),t.child;case 10:e:{r=t.type._context,a=t.pendingProps,s=t.memoizedProps,o=a.value;var l=t.type._context;if(ca(Ka,l._currentValue),l._currentValue=o,null!==s)if(l=s.value,0===(o=ur(l,o)?0:0|("function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,o):1073741823))){if(s.children===a.children&&!pa.current){t=os(e,t,n);break e}}else for(null!==(l=t.child)&&(l.return=t);null!==l;){var u=l.dependencies;if(null!==u){s=l.child;for(var c=u.firstContext;null!==c;){if(c.context===r&&0!=(c.observedBits&o)){1===l.tag&&((c=uo(-1,n&-n)).tag=2,co(l,c)),l.lanes|=n,null!==(c=l.alternate)&&(c.lanes|=n),ro(l.return,n),u.lanes|=n;break}c=c.next}}else s=10===l.tag&&l.type===t.type?null:l.child;if(null!==s)s.return=l;else for(s=l;null!==s;){if(s===t){s=null;break}if(null!==(l=s.sibling)){l.return=s.return,s=l;break}s=s.return}l=s}Mi(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=(o=t.pendingProps).children,ao(t,n),r=r(a=oo(a,o.unstable_observedBits)),t.flags|=1,Mi(e,t,r,n),t.child;case 14:return o=Ya(a=t.type,t.pendingProps),Bi(e,t,a,o=Ya(a.type,o),r,n);case 15:return zi(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Ya(r,a),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,ga(r)?(e=!0,wa(t)):e=!1,ao(t,n),yo(t,r,a),ko(t,r,a,n),Zi(null,t,r,!0,e,n);case 19:return as(e,t,n);case 23:case 24:return $i(e,t,n)}throw Error(i(156,t.tag))},ru.prototype.render=function(e){Jl(e,this._internalRoot,null,null)},ru.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;Jl(null,e,null,(function(){t[Jr]=null}))},et=function(e){13===e.tag&&(ml(e,4,fl()),nu(e,4))},tt=function(e){13===e.tag&&(ml(e,67108864,fl()),nu(e,67108864))},nt=function(e){if(13===e.tag){var t=fl(),n=pl(e);ml(e,n,t),nu(e,n)}},rt=function(e,t){return t()},Ce=function(e,t,n){switch(t){case"input":if(ne(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=aa(r);if(!a)throw Error(i(90));K(r),ne(r,a)}}}break;case"textarea":ue(e,n);break;case"select":null!=(t=n.value)&&ie(e,!!n.multiple,t,!1)}},Oe=wl,Ne=function(e,t,n,r,a){var o=Os;Os|=4;try{return Za(98,e.bind(null,t,n,r,a))}finally{0===(Os=o)&&(Vs(),Va())}},Re=function(){0==(49&Os)&&(function(){if(null!==al){var e=al;al=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,gl(e,ja())}))}Va()}(),Ul())},Ue=function(e,t){var n=Os;Os|=2;try{return e(t)}finally{0===(Os=n)&&(Vs(),Va())}};var su={Events:[na,ra,aa,Ae,Pe,Ul,{current:!1}]},lu={findFiberByHostInstance:ta,bundleType:0,version:"17.0.2",rendererPackageName:"react-dom"},uu={bundleType:lu.bundleType,version:lu.version,rendererPackageName:lu.rendererPackageName,rendererConfig:lu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:k.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Xe(e))?null:e.stateNode},findFiberByHostInstance:lu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var cu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!cu.isDisabled&&cu.supportsFiber)try{Ea=cu.inject(uu),Sa=cu}catch(he){}}t.hydrate=function(e,t,n){if(!au(t))throw Error(i(200));return ou(null,e,t,!0,n)}},3935:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(4448)},9590:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var s,l,u,c;if(Array.isArray(e)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(!o(e[l],i[l]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!i.has(l.value[0]))return!1;for(c=e.entries();!(l=c.next()).done;)if(!o(l.value[1],i.get(l.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!i.has(l.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(e[l]!==i[l])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((s=(u=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(l=s;0!=l--;)if(!Object.prototype.hasOwnProperty.call(i,u[l]))return!1;if(t&&e instanceof Element)return!1;for(l=s;0!=l--;)if(("_owner"!==u[l]&&"__v"!==u[l]&&"__o"!==u[l]||!e.$$typeof)&&!o(e[u[l]],i[u[l]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return o(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},405:(e,t,n)=>{"use strict";n.d(t,{B6:()=>Z,ql:()=>J});var r=n(7294),a=n(5697),o=n.n(a),i=n(9590),s=n.n(i),l=n(1143),u=n.n(l),c=n(6774),d=n.n(c);function f(){return f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f.apply(this,arguments)}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,m(e,t)}function m(e,t){return m=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},m(e,t)}function h(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t.indexOf(n=o[r])>=0||(a[n]=e[n]);return a}var g={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},b={rel:["amphtml","canonical","alternate"]},v={type:["application/ld+json"]},y={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(g).map((function(e){return g[e]})),k={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},E=Object.keys(k).reduce((function(e,t){return e[k[t]]=t,e}),{}),S=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},x=function(e){var t=S(e,g.TITLE),n=S(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=S(e,"defaultTitle");return t||r||void 0},_=function(e){return S(e,"onChangeClientState")||function(){}},C=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return f({},e,t)}),{})},T=function(e,t){return t.filter((function(e){return void 0!==e[g.BASE]})).map((function(e){return e[g.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),a=0;a<r.length;a+=1){var o=r[a].toLowerCase();if(-1!==e.indexOf(o)&&n[o])return t.concat(n)}return t}),[])},I=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var a={};n.filter((function(e){for(var n,o=Object.keys(e),i=0;i<o.length;i+=1){var s=o[i],l=s.toLowerCase();-1===t.indexOf(l)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===l&&"stylesheet"===e[l].toLowerCase()||(n=l),-1===t.indexOf(s)||"innerHTML"!==s&&"cssText"!==s&&"itemprop"!==s||(n=s)}if(!n||!e[n])return!1;var u=e[n].toLowerCase();return r[n]||(r[n]={}),a[n]||(a[n]={}),!r[n][u]&&(a[n][u]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var o=Object.keys(a),i=0;i<o.length;i+=1){var s=o[i],l=f({},r[s],a[s]);r[s]=l}return e}),[]).reverse()},L=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},A=function(e){return Array.isArray(e)?e.join(""):e},P=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},O=function(e,t){var n;return f({},e,((n={})[t]=void 0,n))},N=[g.NOSCRIPT,g.SCRIPT,g.STYLE],R=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},U=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},D=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[k[n]||n]=e[n],t}),t)},M=function(e,t){return t.map((function(t,n){var a,o=((a={key:n})["data-rh"]=!0,a);return Object.keys(t).forEach((function(e){var n=k[e]||e;"innerHTML"===n||"cssText"===n?o.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:o[n]=t[e]})),r.createElement(e,o)}))},F=function(e,t,n){switch(e){case g.TITLE:return{toComponent:function(){return n=t.titleAttributes,(a={key:e=t.title})["data-rh"]=!0,o=D(n,a),[r.createElement(g.TITLE,o,e)];var e,n,a,o},toString:function(){return function(e,t,n,r){var a=U(n),o=A(t);return a?"<"+e+' data-rh="true" '+a+">"+R(o,r)+"</"+e+">":"<"+e+' data-rh="true">'+R(o,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return D(t)},toString:function(){return U(t)}};default:return{toComponent:function(){return M(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var a=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var a=void 0===r[t]?t:t+'="'+R(r[t],n)+'"';return e?e+" "+a:a}),""),o=r.innerHTML||r.cssText||"",i=-1===N.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(i?"/>":">"+o+"</"+e+">")}),"")}(e,t,n)}}}},B=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,a=e.htmlAttributes,o=e.noscriptTags,i=e.styleTags,s=e.title,l=void 0===s?"":s,u=e.titleAttributes,c=e.linkTags,d=e.metaTags,f=e.scriptTags,p={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var m=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,a=P(e.metaTags,y),o=P(t,b),i=P(n,v);return{priorityMethods:{toComponent:function(){return[].concat(M(g.META,a.priority),M(g.LINK,o.priority),M(g.SCRIPT,i.priority))},toString:function(){return F(g.META,a.priority,r)+" "+F(g.LINK,o.priority,r)+" "+F(g.SCRIPT,i.priority,r)}},metaTags:a.default,linkTags:o.default,scriptTags:i.default}}(e);p=m.priorityMethods,c=m.linkTags,d=m.metaTags,f=m.scriptTags}return{priority:p,base:F(g.BASE,t,r),bodyAttributes:F("bodyAttributes",n,r),htmlAttributes:F("htmlAttributes",a,r),link:F(g.LINK,c,r),meta:F(g.META,d,r),noscript:F(g.NOSCRIPT,o,r),script:F(g.SCRIPT,f,r),style:F(g.STYLE,i,r),title:F(g.TITLE,{title:l,titleAttributes:u},r)}},z=[],$=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?z:n.instances},add:function(e){(n.canUseDOM?z:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?z:n.instances).indexOf(e);(n.canUseDOM?z:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=B({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},j=r.createContext({}),W=o().shape({setHelmet:o().func,helmetInstances:o().shape({get:o().func,add:o().func,remove:o().func})}),H="undefined"!=typeof document,Z=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new $(r.props.context,t.canUseDOM),r}return p(t,e),t.prototype.render=function(){return r.createElement(j.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);Z.canUseDOM=H,Z.propTypes={context:o().shape({helmet:o().shape()}),children:o().node.isRequired},Z.defaultProps={context:{}},Z.displayName="HelmetProvider";var Q=function(e,t){var n,r=document.head||document.querySelector(g.HEAD),a=r.querySelectorAll(e+"[data-rh]"),o=[].slice.call(a),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&("innerHTML"===a?r.innerHTML=t.innerHTML:"cssText"===a?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(a,void 0===t[a]?"":t[a]));r.setAttribute("data-rh","true"),o.some((function(e,t){return n=t,r.isEqualNode(e)}))?o.splice(n,1):i.push(r)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:o,newTags:i}},V=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),a=r?r.split(","):[],o=[].concat(a),i=Object.keys(t),s=0;s<i.length;s+=1){var l=i[s],u=t[l]||"";n.getAttribute(l)!==u&&n.setAttribute(l,u),-1===a.indexOf(l)&&a.push(l);var c=o.indexOf(l);-1!==c&&o.splice(c,1)}for(var d=o.length-1;d>=0;d-=1)n.removeAttribute(o[d]);a.length===o.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},q=function(e,t){var n=e.baseTag,r=e.htmlAttributes,a=e.linkTags,o=e.metaTags,i=e.noscriptTags,s=e.onChangeClientState,l=e.scriptTags,u=e.styleTags,c=e.title,d=e.titleAttributes;V(g.BODY,e.bodyAttributes),V(g.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=A(e)),V(g.TITLE,t)}(c,d);var f={baseTag:Q(g.BASE,n),linkTags:Q(g.LINK,a),metaTags:Q(g.META,o),noscriptTags:Q(g.NOSCRIPT,i),scriptTags:Q(g.SCRIPT,l),styleTags:Q(g.STYLE,u)},p={},m={};Object.keys(f).forEach((function(e){var t=f[e],n=t.newTags,r=t.oldTags;n.length&&(p[e]=n),r.length&&(m[e]=f[e].oldTags)})),t&&t(),s(e,p,m)},G=null,Y=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,a=null,o=(e=n.helmetInstances.get().map((function(e){var t=f({},e.props);return delete t.context,t})),{baseTag:T(["href"],e),bodyAttributes:C("bodyAttributes",e),defer:S(e,"defer"),encode:S(e,"encodeSpecialCharacters"),htmlAttributes:C("htmlAttributes",e),linkTags:I(g.LINK,["rel","href"],e),metaTags:I(g.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:I(g.NOSCRIPT,["innerHTML"],e),onChangeClientState:_(e),scriptTags:I(g.SCRIPT,["src","innerHTML"],e),styleTags:I(g.STYLE,["cssText"],e),title:x(e),titleAttributes:C("titleAttributes",e),prioritizeSeoTags:L(e,"prioritizeSeoTags")});Z.canUseDOM?(t=o,G&&cancelAnimationFrame(G),t.defer?G=requestAnimationFrame((function(){q(t,(function(){G=null}))})):(q(t),G=null)):B&&(a=B(o)),r(a)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);Y.propTypes={context:W.isRequired},Y.displayName="HelmetDispatcher";var K=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!s()(O(this.props,"helmetData"),O(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case g.SCRIPT:case g.NOSCRIPT:return{innerHTML:t};case g.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return f({},r,((t={})[n.type]=[].concat(r[n.type]||[],[f({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,a=e.newProps,o=e.newChildProps,i=e.nestedChildren;switch(r.type){case g.TITLE:return f({},a,((t={})[r.type]=i,t.titleAttributes=f({},o),t));case g.BODY:return f({},a,{bodyAttributes:f({},o)});case g.HTML:return f({},a,{htmlAttributes:f({},o)});default:return f({},a,((n={})[r.type]=f({},o),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=f({},t);return Object.keys(e).forEach((function(t){var r;n=f({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return u()(w.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),u()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,a={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,o=r.children,i=h(r,K),s=Object.keys(i).reduce((function(e,t){return e[E[t]||t]=i[t],e}),{}),l=e.type;switch("symbol"==typeof l?l=l.toString():n.warnOnInvalidChildren(e,o),l){case g.FRAGMENT:t=n.mapChildrenToProps(o,t);break;case g.LINK:case g.META:case g.NOSCRIPT:case g.SCRIPT:case g.STYLE:a=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:s,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:s,nestedChildren:o})}}})),this.mapArrayTypeChildrenToProps(a,t)},n.render=function(){var e=this.props,t=e.children,n=h(e,X),a=f({},n),o=n.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!o||o instanceof $||(o=new $(o.context,o.instances)),o?r.createElement(Y,f({},a,{context:o.value,helmetData:void 0})):r.createElement(j.Consumer,null,(function(e){return r.createElement(Y,f({},a,{context:e}))}))},t}(r.Component);J.propTypes={base:o().object,bodyAttributes:o().object,children:o().oneOfType([o().arrayOf(o().node),o().node]),defaultTitle:o().string,defer:o().bool,encodeSpecialCharacters:o().bool,htmlAttributes:o().object,link:o().arrayOf(o().object),meta:o().arrayOf(o().object),noscript:o().arrayOf(o().object),onChangeClientState:o().func,script:o().arrayOf(o().object),style:o().arrayOf(o().object),title:o().string,titleAttributes:o().object,titleTemplate:o().string,prioritizeSeoTags:o().bool,helmetData:o().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},9921:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,o=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,c=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,m=n?Symbol.for("react.suspense_list"):60120,h=n?Symbol.for("react.memo"):60115,g=n?Symbol.for("react.lazy"):60116,b=n?Symbol.for("react.block"):60121,v=n?Symbol.for("react.fundamental"):60117,y=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case c:case d:case o:case s:case i:case p:return e;default:switch(e=e&&e.$$typeof){case u:case f:case g:case h:case l:return e;default:return t}}case a:return t}}}function E(e){return k(e)===d}t.AsyncMode=c,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=l,t.Element=r,t.ForwardRef=f,t.Fragment=o,t.Lazy=g,t.Memo=h,t.Portal=a,t.Profiler=s,t.StrictMode=i,t.Suspense=p,t.isAsyncMode=function(e){return E(e)||k(e)===c},t.isConcurrentMode=E,t.isContextConsumer=function(e){return k(e)===u},t.isContextProvider=function(e){return k(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return k(e)===f},t.isFragment=function(e){return k(e)===o},t.isLazy=function(e){return k(e)===g},t.isMemo=function(e){return k(e)===h},t.isPortal=function(e){return k(e)===a},t.isProfiler=function(e){return k(e)===s},t.isStrictMode=function(e){return k(e)===i},t.isSuspense=function(e){return k(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===d||e===s||e===i||e===p||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===h||e.$$typeof===l||e.$$typeof===u||e.$$typeof===f||e.$$typeof===v||e.$$typeof===y||e.$$typeof===w||e.$$typeof===b)},t.typeOf=k},9864:(e,t,n)=>{"use strict";e.exports=n(9921)},8356:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}var s=n(7294),l=n(5697),u=[],c=[];function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function f(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(r){var a=d(e[r]);a.loading?t.loading=!0:(t.loaded[r]=a.loaded,t.error=a.error),n.push(a.promise),a.promise.then((function(e){t.loaded[r]=e})).catch((function(e){t.error=e}))}))}catch(r){t.error=r}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function p(e,t){return s.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function m(e,t){var d,f;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var m=i({loader:null,loading:null,delay:200,timeout:null,render:p,webpack:null,modules:null},t),h=null;function g(){return h||(h=e(m.loader)),h.promise}return u.push(g),"function"==typeof m.webpack&&c.push((function(){if((0,m.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return g()})),f=d=function(t){function n(n){var r;return o(a(a(r=t.call(this,n)||this)),"retry",(function(){r.setState({error:null,loading:!0,timedOut:!1}),h=e(m.loader),r._loadModule()})),g(),r.state={error:h.error,pastDelay:!1,timedOut:!1,loading:h.loading,loaded:h.loaded},r}r(n,t),n.preload=function(){return g()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context.loadable&&Array.isArray(m.modules)&&m.modules.forEach((function(t){e.context.loadable.report(t)})),h.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof m.delay&&(0===m.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),m.delay)),"number"==typeof m.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),m.timeout));var n=function(){t({error:h.error,loaded:h.loaded,loading:h.loading}),e._clearTimeouts()};h.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?s.createElement(m.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?m.render(this.state.loaded,this.props):null},n}(s.Component),o(d,"contextTypes",{loadable:l.shape({report:l.func.isRequired})}),f}function h(e){return m(d,e)}h.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return m(f,e)};var g=function(e){function t(){return e.apply(this,arguments)||this}r(t,e);var n=t.prototype;return n.getChildContext=function(){return{loadable:{report:this.props.report}}},n.render=function(){return s.Children.only(this.props.children)},t}(s.Component);function b(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return b(e)}))}o(g,"propTypes",{report:l.func.isRequired}),o(g,"childContextTypes",{loadable:l.shape({report:l.func.isRequired}).isRequired}),h.Capture=g,h.preloadAll=function(){return new Promise((function(e,t){b(u).then(e,t)}))},h.preloadReady=function(){return new Promise((function(e,t){b(c).then(e,e)}))},e.exports=h},8790:(e,t,n)=>{"use strict";n.d(t,{H:()=>s,f:()=>i});var r=n(6550),a=n(7462),o=n(7294);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var a=e.path?(0,r.LX)(t,e):n.length?n[n.length-1].match:r.F0.computeRootMatch(t);return a&&(n.push({route:e,match:a}),e.routes&&i(e.routes,t,n)),a})),n}function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?o.createElement(r.rs,n,e.map((function(e,n){return o.createElement(r.AW,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,a.Z)({},n,{},t,{route:e})):o.createElement(e.component,(0,a.Z)({},n,t,{route:e}))}})}))):null}},3727:(e,t,n)=>{"use strict";n.d(t,{OL:()=>y,VK:()=>c,rU:()=>g});var r=n(6550),a=n(5068),o=n(7294),i=n(9318),s=n(7462),l=n(3366),u=n(8776),c=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.lX)(t.props),t}return(0,a.Z)(t,e),t.prototype.render=function(){return o.createElement(r.F0,{history:this.history,children:this.props.children})},t}(o.Component);o.Component;var d=function(e,t){return"function"==typeof e?e(t):e},f=function(e,t){return"string"==typeof e?(0,i.ob)(e,null,null,t):e},p=function(e){return e},m=o.forwardRef;void 0===m&&(m=p);var h=m((function(e,t){var n=e.innerRef,r=e.navigate,a=e.onClick,i=(0,l.Z)(e,["innerRef","navigate","onClick"]),u=i.target,c=(0,s.Z)({},i,{onClick:function(e){try{a&&a(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||u&&"_self"!==u||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return c.ref=p!==m&&t||n,o.createElement("a",c)}));var g=m((function(e,t){var n=e.component,a=void 0===n?h:n,c=e.replace,g=e.to,b=e.innerRef,v=(0,l.Z)(e,["component","replace","to","innerRef"]);return o.createElement(r.s6.Consumer,null,(function(e){e||(0,u.Z)(!1);var n=e.history,r=f(d(g,e.location),e.location),l=r?n.createHref(r):"",h=(0,s.Z)({},v,{href:l,navigate:function(){var t=d(g,e.location),r=(0,i.Ep)(e.location)===(0,i.Ep)(f(t));(c||r?n.replace:n.push)(t)}});return p!==m?h.ref=t||b:h.innerRef=b,o.createElement(a,h)}))})),b=function(e){return e},v=o.forwardRef;void 0===v&&(v=b);var y=v((function(e,t){var n=e["aria-current"],a=void 0===n?"page":n,i=e.activeClassName,c=void 0===i?"active":i,p=e.activeStyle,m=e.className,h=e.exact,y=e.isActive,w=e.location,k=e.sensitive,E=e.strict,S=e.style,x=e.to,_=e.innerRef,C=(0,l.Z)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return o.createElement(r.s6.Consumer,null,(function(e){e||(0,u.Z)(!1);var n=w||e.location,i=f(d(x,n),n),l=i.pathname,T=l&&l.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),I=T?(0,r.LX)(n.pathname,{path:T,exact:h,sensitive:k,strict:E}):null,L=!!(y?y(I,n):I),A="function"==typeof m?m(L):m,P="function"==typeof S?S(L):S;L&&(A=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(A,c),P=(0,s.Z)({},P,p));var O=(0,s.Z)({"aria-current":L&&a||null,className:A,style:P,to:i},C);return b!==v?O.ref=t||_:O.innerRef=_,o.createElement(g,O)}))}))},6550:(e,t,n)=>{"use strict";n.d(t,{AW:()=>x,F0:()=>y,LX:()=>S,TH:()=>N,k6:()=>O,rs:()=>A,s6:()=>v});var r=n(5068),a=n(7294),o=n(5697),i=n.n(o),s=n(9318),l=n(8776),u=n(7462),c=n(9658),d=n.n(c),f=(n(9864),n(3366)),p=(n(8679),1073741823),m="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var h=a.createContext||function(e,t){var n,o,s="__create-react-context-"+function(){var e="__global_unique_id__";return m[e]=(m[e]||0)+1}()+"__",l=function(e){function n(){for(var t,n,r,a=arguments.length,o=new Array(a),i=0;i<a;i++)o[i]=arguments[i];return(t=e.call.apply(e,[this].concat(o))||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}(0,r.Z)(n,e);var a=n.prototype;return a.getChildContext=function(){var e;return(e={})[s]=this.emitter,e},a.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,a=e.value;((o=r)===(i=a)?0!==o||1/o==1/i:o!=o&&i!=i)?n=0:(n="function"==typeof t?t(r,a):p,0!==(n|=0)&&this.emitter.set(e.value,n))}var o,i},a.render=function(){return this.props.children},n}(a.Component);l.childContextTypes=((n={})[s]=i().object.isRequired,n);var u=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}(0,r.Z)(n,t);var a=n.prototype;return a.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?p:t},a.componentDidMount=function(){this.context[s]&&this.context[s].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?p:e},a.componentWillUnmount=function(){this.context[s]&&this.context[s].off(this.onUpdate)},a.getValue=function(){return this.context[s]?this.context[s].get():e},a.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(a.Component);return u.contextTypes=((o={})[s]=i().object,o),{Provider:l,Consumer:u}},g=function(e){var t=h();return t.displayName=e,t},b=g("Router-History"),v=g("Router"),y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,r.Z)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return a.createElement(v.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},a.createElement(b.Provider,{children:this.props.children||null,value:this.props.history}))},t}(a.Component);a.Component;a.Component;var w={},k=1e4,E=0;function S(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,a=n.exact,o=void 0!==a&&a,i=n.strict,s=void 0!==i&&i,l=n.sensitive,u=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=w[n]||(w[n]={});if(r[e])return r[e];var a=[],o={regexp:d()(e,a,t),keys:a};return E<k&&(r[e]=o,E++),o}(n,{end:o,strict:s,sensitive:u}),a=r.regexp,i=r.keys,l=a.exec(e);if(!l)return null;var c=l[0],f=l.slice(1),p=e===c;return o&&!p?null:{path:n,url:"/"===n&&""===c?"/":c,isExact:p,params:i.reduce((function(e,t,n){return e[t.name]=f[n],e}),{})}}),null)}var x=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(v.Consumer,null,(function(t){t||(0,l.Z)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?S(n.pathname,e.props):t.match,o=(0,u.Z)({},t,{location:n,match:r}),i=e.props,s=i.children,c=i.component,d=i.render;return Array.isArray(s)&&function(e){return 0===a.Children.count(e)}(s)&&(s=null),a.createElement(v.Provider,{value:o},o.match?s?"function"==typeof s?s(o):s:c?a.createElement(c,o):d?d(o):null:"function"==typeof s?s(o):null)}))},t}(a.Component);function _(e){return"/"===e.charAt(0)?e:"/"+e}function C(e,t){if(!e)return t;var n=_(e);return 0!==t.pathname.indexOf(n)?t:(0,u.Z)({},t,{pathname:t.pathname.substr(n.length)})}function T(e){return"string"==typeof e?e:(0,s.Ep)(e)}function I(e){return function(){(0,l.Z)(!1)}}function L(){}a.Component;var A=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(v.Consumer,null,(function(t){t||(0,l.Z)(!1);var n,r,o=e.props.location||t.location;return a.Children.forEach(e.props.children,(function(e){if(null==r&&a.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?S(o.pathname,(0,u.Z)({},e.props,{path:i})):t.match}})),r?a.cloneElement(n,{location:o,computedMatch:r}):null}))},t}(a.Component);var P=a.useContext;function O(){return P(b)}function N(){return P(v).location}},9658:(e,t,n)=>{var r=n(5826);e.exports=p,e.exports.parse=o,e.exports.compile=function(e,t){return s(o(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=f;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,s="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],f=n[1],p=n.index;if(s+=e.slice(i,p),i=p+d.length,f)s+=f[1];else{var m=e[i],h=n[2],g=n[3],b=n[4],v=n[5],y=n[6],w=n[7];s&&(r.push(s),s="");var k=null!=h&&null!=m&&m!==h,E="+"===y||"*"===y,S="?"===y||"*"===y,x=n[2]||c,_=b||v;r.push({name:g||o++,prefix:h||"",delimiter:x,optional:S,repeat:E,partial:k,asterisk:!!w,pattern:_?u(_):w?".*":"[^"+l(x)+"]+?"})}}return i<e.length&&(s+=e.substr(i)),s&&r.push(s),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function s(e,t){for(var n=new Array(e.length),a=0;a<e.length;a++)"object"==typeof e[a]&&(n[a]=new RegExp("^(?:"+e[a].pattern+")$",d(t)));return function(t,a){for(var o="",s=t||{},l=(a||{}).pretty?i:encodeURIComponent,u=0;u<e.length;u++){var c=e[u];if("string"!=typeof c){var d,f=s[c.name];if(null==f){if(c.optional){c.partial&&(o+=c.prefix);continue}throw new TypeError('Expected "'+c.name+'" to be defined')}if(r(f)){if(!c.repeat)throw new TypeError('Expected "'+c.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length){if(c.optional)continue;throw new TypeError('Expected "'+c.name+'" to not be empty')}for(var p=0;p<f.length;p++){if(d=l(f[p]),!n[u].test(d))throw new TypeError('Expected all "'+c.name+'" to match "'+c.pattern+'", but received `'+JSON.stringify(d)+"`");o+=(0===p?c.prefix:c.delimiter)+d}}else{if(d=c.asterisk?encodeURI(f).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):l(f),!n[u].test(d))throw new TypeError('Expected "'+c.name+'" to match "'+c.pattern+'", but received "'+d+'"');o+=c.prefix+d}}else o+=c}return o}}function l(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function u(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function c(e,t){return e.keys=t,e}function d(e){return e&&e.sensitive?"":"i"}function f(e,t,n){r(t)||(n=t||n,t=[]);for(var a=(n=n||{}).strict,o=!1!==n.end,i="",s=0;s<e.length;s++){var u=e[s];if("string"==typeof u)i+=l(u);else{var f=l(u.prefix),p="(?:"+u.pattern+")";t.push(u),u.repeat&&(p+="(?:"+f+p+")*"),i+=p=u.optional?u.partial?f+"("+p+")?":"(?:"+f+"("+p+"))?":f+"("+p+")"}}var m=l(n.delimiter||"/"),h=i.slice(-m.length)===m;return a||(i=(h?i.slice(0,-m.length):i)+"(?:"+m+"(?=$))?"),i+=o?"$":a&&h?"":"(?="+m+"|$)",c(new RegExp("^"+i,d(n)),t)}function p(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return c(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],a=0;a<e.length;a++)r.push(p(e[a],t,n).source);return c(new RegExp("(?:"+r.join("|")+")",d(n)),t)}(e,t,n):function(e,t,n){return f(o(e,n),t,n)}(e,t,n)}},2408:(e,t,n)=>{"use strict";var r=n(7418),a=60103,o=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var i=60109,s=60110,l=60112;t.Suspense=60113;var u=60115,c=60116;if("function"==typeof Symbol&&Symbol.for){var d=Symbol.for;a=d("react.element"),o=d("react.portal"),t.Fragment=d("react.fragment"),t.StrictMode=d("react.strict_mode"),t.Profiler=d("react.profiler"),i=d("react.provider"),s=d("react.context"),l=d("react.forward_ref"),t.Suspense=d("react.suspense"),u=d("react.memo"),c=d("react.lazy")}var f="function"==typeof Symbol&&Symbol.iterator;function p(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h={};function g(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}function b(){}function v(e,t,n){this.props=e,this.context=t,this.refs=h,this.updater=n||m}g.prototype.isReactComponent={},g.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(p(85));this.updater.enqueueSetState(this,e,t,"setState")},g.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=g.prototype;var y=v.prototype=new b;y.constructor=v,r(y,g.prototype),y.isPureReactComponent=!0;var w={current:null},k=Object.prototype.hasOwnProperty,E={key:!0,ref:!0,__self:!0,__source:!0};function S(e,t,n){var r,o={},i=null,s=null;if(null!=t)for(r in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)k.call(t,r)&&!E.hasOwnProperty(r)&&(o[r]=t[r]);var l=arguments.length-2;if(1===l)o.children=n;else if(1<l){for(var u=Array(l),c=0;c<l;c++)u[c]=arguments[c+2];o.children=u}if(e&&e.defaultProps)for(r in l=e.defaultProps)void 0===o[r]&&(o[r]=l[r]);return{$$typeof:a,type:e,key:i,ref:s,props:o,_owner:w.current}}function x(e){return"object"==typeof e&&null!==e&&e.$$typeof===a}var _=/\/+/g;function C(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function T(e,t,n,r,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l=!1;if(null===e)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case a:case o:l=!0}}if(l)return i=i(l=e),e=""===r?"."+C(l,0):r,Array.isArray(i)?(n="",null!=e&&(n=e.replace(_,"$&/")+"/"),T(i,t,n,"",(function(e){return e}))):null!=i&&(x(i)&&(i=function(e,t){return{$$typeof:a,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,n+(!i.key||l&&l.key===i.key?"":(""+i.key).replace(_,"$&/")+"/")+e)),t.push(i)),1;if(l=0,r=""===r?".":r+":",Array.isArray(e))for(var u=0;u<e.length;u++){var c=r+C(s=e[u],u);l+=T(s,t,n,c,i)}else if(c=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(e),"function"==typeof c)for(e=c.call(e),u=0;!(s=e.next()).done;)l+=T(s=s.value,t,n,c=r+C(s,u++),i);else if("object"===s)throw t=""+e,Error(p(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return l}function I(e,t,n){if(null==e)return e;var r=[],a=0;return T(e,r,"","",(function(e){return t.call(n,e,a++)})),r}function L(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var A={current:null};function P(){var e=A.current;if(null===e)throw Error(p(321));return e}var O={ReactCurrentDispatcher:A,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:w,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:I,forEach:function(e,t,n){I(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return I(e,(function(){t++})),t},toArray:function(e){return I(e,(function(e){return e}))||[]},only:function(e){if(!x(e))throw Error(p(143));return e}},t.Component=g,t.PureComponent=v,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=O,t.cloneElement=function(e,t,n){if(null==e)throw Error(p(267,e));var o=r({},e.props),i=e.key,s=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,l=w.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var u=e.type.defaultProps;for(c in t)k.call(t,c)&&!E.hasOwnProperty(c)&&(o[c]=void 0===t[c]&&void 0!==u?u[c]:t[c])}var c=arguments.length-2;if(1===c)o.children=n;else if(1<c){u=Array(c);for(var d=0;d<c;d++)u[d]=arguments[d+2];o.children=u}return{$$typeof:a,type:e.type,key:i,ref:s,props:o,_owner:l}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:s,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:i,_context:e},e.Consumer=e},t.createElement=S,t.createFactory=function(e){var t=S.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=x,t.lazy=function(e){return{$$typeof:c,_payload:{_status:-1,_result:e},_init:L}},t.memo=function(e,t){return{$$typeof:u,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return P().useCallback(e,t)},t.useContext=function(e,t){return P().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return P().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return P().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return P().useLayoutEffect(e,t)},t.useMemo=function(e,t){return P().useMemo(e,t)},t.useReducer=function(e,t,n){return P().useReducer(e,t,n)},t.useRef=function(e){return P().useRef(e)},t.useState=function(e){return P().useState(e)},t.version="17.0.2"},7294:(e,t,n)=>{"use strict";e.exports=n(2408)},53:(e,t)=>{"use strict";var n,r,a,o;if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var u=null,c=null,d=function(){if(null!==u)try{var e=t.unstable_now();u(!0,e),u=null}catch(n){throw setTimeout(d,0),n}};n=function(e){null!==u?setTimeout(n,0,e):(u=e,setTimeout(d,0))},r=function(e,t){c=setTimeout(e,t)},a=function(){clearTimeout(c)},t.unstable_shouldYield=function(){return!1},o=t.unstable_forceFrameRate=function(){}}else{var f=window.setTimeout,p=window.clearTimeout;if("undefined"!=typeof console){var m=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof m&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var h=!1,g=null,b=-1,v=5,y=0;t.unstable_shouldYield=function(){return t.unstable_now()>=y},o=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):v=0<e?Math.floor(1e3/e):5};var w=new MessageChannel,k=w.port2;w.port1.onmessage=function(){if(null!==g){var e=t.unstable_now();y=e+v;try{g(!0,e)?k.postMessage(null):(h=!1,g=null)}catch(n){throw k.postMessage(null),n}}else h=!1},n=function(e){g=e,h||(h=!0,k.postMessage(null))},r=function(e,n){b=f((function(){e(t.unstable_now())}),n)},a=function(){p(b),b=-1}}function E(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,a=e[r];if(!(void 0!==a&&0<_(a,t)))break e;e[r]=t,e[n]=a,n=r}}function S(e){return void 0===(e=e[0])?null:e}function x(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length;r<a;){var o=2*(r+1)-1,i=e[o],s=o+1,l=e[s];if(void 0!==i&&0>_(i,n))void 0!==l&&0>_(l,i)?(e[r]=l,e[s]=n,r=s):(e[r]=i,e[o]=n,r=o);else{if(!(void 0!==l&&0>_(l,n)))break e;e[r]=l,e[s]=n,r=s}}}return t}return null}function _(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var C=[],T=[],I=1,L=null,A=3,P=!1,O=!1,N=!1;function R(e){for(var t=S(T);null!==t;){if(null===t.callback)x(T);else{if(!(t.startTime<=e))break;x(T),t.sortIndex=t.expirationTime,E(C,t)}t=S(T)}}function U(e){if(N=!1,R(e),!O)if(null!==S(C))O=!0,n(D);else{var t=S(T);null!==t&&r(U,t.startTime-e)}}function D(e,n){O=!1,N&&(N=!1,a()),P=!0;var o=A;try{for(R(n),L=S(C);null!==L&&(!(L.expirationTime>n)||e&&!t.unstable_shouldYield());){var i=L.callback;if("function"==typeof i){L.callback=null,A=L.priorityLevel;var s=i(L.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?L.callback=s:L===S(C)&&x(C),R(n)}else x(C);L=S(C)}if(null!==L)var l=!0;else{var u=S(T);null!==u&&r(U,u.startTime-n),l=!1}return l}finally{L=null,A=o,P=!1}}var M=o;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){O||P||(O=!0,n(D))},t.unstable_getCurrentPriorityLevel=function(){return A},t.unstable_getFirstCallbackNode=function(){return S(C)},t.unstable_next=function(e){switch(A){case 1:case 2:case 3:var t=3;break;default:t=A}var n=A;A=t;try{return e()}finally{A=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=M,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=A;A=e;try{return t()}finally{A=n}},t.unstable_scheduleCallback=function(e,o,i){var s=t.unstable_now();switch("object"==typeof i&&null!==i?i="number"==typeof(i=i.delay)&&0<i?s+i:s:i=s,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:I++,callback:o,priorityLevel:e,startTime:i,expirationTime:l=i+l,sortIndex:-1},i>s?(e.sortIndex=i,E(T,e),null===S(C)&&e===S(T)&&(N?a():N=!0,r(U,i-s))):(e.sortIndex=l,E(C,e),O||P||(O=!0,n(D))),e},t.unstable_wrapCallback=function(e){var t=A;return function(){var n=A;A=t;try{return e.apply(this,arguments)}finally{A=n}}}},3840:(e,t,n)=>{"use strict";e.exports=n(53)},6774:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l<o.length;l++){var u=o[l];if(!s(u))return!1;var c=e[u],d=t[u];if(!1===(a=n?n.call(r,c,d,u):void 0)||void 0===a&&c!==d)return!1}return!0}},3250:(e,t,n)=>{"use strict";var r=n(7294);var a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=r.useState,i=r.useEffect,s=r.useLayoutEffect,l=r.useDebugValue;function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!a(e,n)}catch(r){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=o({inst:{value:n,getSnapshot:t}}),a=r[0].inst,c=r[1];return s((function(){a.value=n,a.getSnapshot=t,u(a)&&c({inst:a})}),[e,n,t]),i((function(){return u(a)&&c({inst:a}),e((function(){u(a)&&c({inst:a})}))}),[e]),l(n),n};void 0!==r.useSyncExternalStore&&r.useSyncExternalStore},1688:(e,t,n)=>{"use strict";n(3250)},6809:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"SolidUI",tagline:"AI-generated Graphic Models.",url:"https://cloudorc.github.io",baseUrl:"/SolidUI-Website/",organizationName:"CloudOrc",projectName:"SolidUI-Website",deploymentBranch:"main",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",favicon:"image/favicon.ico",i18n:{defaultLocale:"en",locales:["en","zh-CN"],localeConfigs:{en:{label:"English",direction:"ltr"},"zh-CN":{label:"\u7b80\u4f53\u4e2d\u6587",direction:"ltr"}},path:"i18n"},themes:[["/home/runner/work/SolidUI-Website/SolidUI-Website/node_modules/@easyops-cn/docusaurus-search-local/dist/server/server/index.js",{hashed:!0,indexDocs:!0,indexPages:!0,highlightSearchTermsOnTargetPage:!1,explicitSearchResultPath:!0,searchBarPosition:"right",searchBarShortcutHint:!1,language:["zh","en"],hideSearchBarWithNoSearchContext:!0}]],presets:[["@docusaurus/preset-classic",{docs:{sidebarPath:"/home/runner/work/SolidUI-Website/SolidUI-Website/sidebars.js",sidebarCollapsible:!0,editLocalizedFiles:!0,sidebarCollapsed:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev"},blog:{path:"blog",postsPerPage:3,blogSidebarCount:"ALL",feedOptions:{type:"all"},editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev"},theme:{customCss:"/home/runner/work/SolidUI-Website/SolidUI-Website/src/css/custom.css"}}]],themeConfig:{colorMode:{defaultMode:"light",disableSwitch:!0,respectPrefersColorScheme:!1},navbar:{title:"SolidUI",logo:{alt:"SolidUI Logo",src:"image/logo.png"},items:[{to:"/docs/intro",label:"Document",position:"left",activeBaseRegex:"/docs"},{position:"left",label:"Download",items:[{label:"Releases",to:"https://github.com/CloudOrc/SolidUI/releases"}]},{label:"Community",position:"left",items:[{label:"Code of conduct",to:"https://www.apache.org/foundation/policies/conduct"},{label:"Become A Committer",to:"/community/contribution_guide/become_committer"},{label:"Documentation Notice",to:"/community/submit_guide/document"},{label:"Submit Code",to:"/community/submit_guide/submit_code"}]},{to:"/team",label:"Team",position:"left",activeBaseRegex:"/team"},{label:"Users",position:"left",items:[{label:"Our Users",to:"https://github.com/CloudOrc/SolidUI/issues/1"}]},{to:"/blog",label:"Blog",position:"left",activeBaseRegex:"/blog"},{label:"ASF",position:"left",items:[{label:"Foundation",to:"https://www.apache.org/"},{label:"License",to:"https://www.apache.org/licenses/"},{label:"Events",to:"https://www.apache.org/events/current-event"},{label:"Security",to:"https://www.apache.org/security/"},{label:"Sponsorship",to:"https://www.apache.org/foundation/sponsorship.html"},{label:"Privacy",to:"https://www.apache.org/foundation/policies/privacy.html"},{label:"Thanks",to:"https://www.apache.org/foundation/thanks.html"}]},{href:"https://github.com/CloudOrc/SolidUI",label:"GitHub",position:"left"},{type:"localeDropdown",position:"right",dropdownItemsBefore:[],dropdownItemsAfter:[]}],hideOnScroll:!1},footer:{style:"dark",links:[{items:[{html:'\n <div class="footer-left-box">\n <div class="flex align-center footer-system">\n <span class=\'system-title\'>About SolidUI</span>\n </div>\n <p>AI-generated visualization prototyping and editing platform, support 2D, 3D models, combined with LLM(Large Language Model) for quick editing.</p>\n </div>\n '}],title:null},{title:"Resource",items:[{label:"Document",href:"/docs/intro"},{label:"Releases",href:"https://github.com/CloudOrc/SolidUI/releases"}]},{title:"Community",items:[{label:"GitHub",href:"https://github.com/CloudOrc/SolidUI"},{label:"Issue Tracker",href:"https://github.com/CloudOrc/SolidUI/issues"},{label:"Pull Requests",href:"https://github.com/CloudOrc/SolidUI/pulls"}]},{title:"Follow",items:[{html:'\n <div class="subscribe-box">\n\x3c!-- <div class="d-flex align-items-center" style="margin-bottom: 30px;padding-top: 11px">--\x3e\n\x3c!-- <div class="subscribe-input flex-fill">--\x3e\n\x3c!-- <input class="form-control" id="email_address" maxLength="60" type="text" name="email_address" placeholder="Subscribe with us">--\x3e\n\x3c!-- </div>--\x3e\n\x3c!-- <div class="subscribe-submit-inner">--\x3e\n\x3c!-- <a class="btn btn-white m-0" type="submit" href="mailto:dev-subscribe@streampark.apache.org">--\x3e\n\x3c!-- <span><i class="fa fa-paper-plane text-white"></i></span>--\x3e\n\x3c!-- </a>--\x3e\n\x3c!-- </div>--\x3e\n\x3c!-- </div>--\x3e\n <ul class="icon-bottom">\n <li>\n <a href="javascript:void(0)">\n <i class="fa fa-wechat"></i>\n <div class="wechat-dropdown"><img src="/image/join_wechat.png" alt="weChat"></div>\n </a>\n </li>\n <li><a href="https://twitter.com/dlimeng192048"><i class="fa fa-twitter"></i></a></li>\n <li><a href="https://join.slack.com/t/solidui/shared_invite/zt-1r83iino0-SZD38aHAIw2KBA~DSpZndA"><i class="fa fa-slack"></i></a></li>\n <li><a href="https://www.youtube.com/@dlimeng"><i class="fa fa-youtube"></i></a></li>\n </ul>\n </div>\n '}]}],copyright:'\n <div style="text-align: left;margin-top:30px">\n <div class="d-flex align-items-center">\n \n <div>\n <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 25px;">\n AI-generated Graphic Models.\n </p>\n </div>\n </div>\n\n <div style="border-top: 1px solid #525252;min-height: 60px;line-height: 25px;text-align: left;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;">\n <span>\n Copyright \xa9 2022-2023 The Apache Software Foundation. SolidUI.\n </span>\n </div>\n </div>'},prism:{theme:{plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:["powershell","java","scala","yaml"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},plugins:["docusaurus-plugin-less",["@docusaurus/plugin-content-docs",{id:"community",path:"community",routeBasePath:"community",sidebarPath:"/home/runner/work/SolidUI-Website/SolidUI-Website/sidebars.js"}]],baseUrlIssueBanner:!0,onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{mermaid:!1}}},7462:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,{Z:()=>r})},5068:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{Z:()=>a})},3366:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}n.d(t,{Z:()=>r})},8776:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=!0,a="Invariant failed";function o(e,t){if(!e){if(r)throw new Error(a);var n="function"==typeof t?t():t,o=n?"".concat(a,": ").concat(n):a;throw new Error(o)}}},7529:e=>{"use strict";e.exports={}},6887:e=>{"use strict";e.exports=JSON.parse('{"/SolidUI-Website/blog-c7f":{"__comp":"a6aa9e1f","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","items":[{"content":"afbbc345"},{"content":"82bafcbe"},{"content":"4687a2fe"}],"metadata":"8d1dd453"},"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0-1b6":{"__comp":"ccc49370","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","content":"ed523c22"},"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis-415":{"__comp":"ccc49370","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","content":"6655eab5"},"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis-150":{"__comp":"ccc49370","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","content":"7ba7942d"},"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction-053":{"__comp":"ccc49370","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","content":"ac717c78"},"/SolidUI-Website/blog/2023/09/05/0.2.0-Release-c10":{"__comp":"ccc49370","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","content":"18574ea0"},"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction-776":{"__comp":"ccc49370","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","content":"eec08420"},"/SolidUI-Website/blog/archive-d30":{"__comp":"9e4087bc","__context":{"plugin":"fed3a01c"},"archive":"a212e31b"},"/SolidUI-Website/blog/page/2-d64":{"__comp":"a6aa9e1f","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","items":[{"content":"c7491b26"},{"content":"a38ac2fb"},{"content":"4d9f66ec"}],"metadata":"017a0f29"},"/SolidUI-Website/blog/tags-0a5":{"__comp":"01a85c17","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","tags":"210a63df"},"/SolidUI-Website/blog/tags/ai-872":{"__comp":"6875c492","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","items":[{"content":"afbbc345"},{"content":"82bafcbe"},{"content":"4687a2fe"}],"tag":"13afd6dd","listMetadata":"0f2150f8"},"/SolidUI-Website/blog/tags/aigc-cf5":{"__comp":"6875c492","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","items":[{"content":"c7491b26"},{"content":"a38ac2fb"},{"content":"4d9f66ec"}],"tag":"5836cbff","listMetadata":"deb5dccc"},"/SolidUI-Website/blog/tags/solid-ui-742":{"__comp":"6875c492","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","items":[{"content":"afbbc345"},{"content":"82bafcbe"},{"content":"4687a2fe"}],"tag":"6cd1964f","listMetadata":"6d852631"},"/SolidUI-Website/blog/tags/solid-ui/page/2-277":{"__comp":"6875c492","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","items":[{"content":"c7491b26"},{"content":"a38ac2fb"},{"content":"4d9f66ec"}],"tag":"37a2ef67","listMetadata":"b774a57d"},"/SolidUI-Website/blog/tags/stable-diffusion-20e":{"__comp":"6875c492","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","items":[{"content":"afbbc345"},{"content":"82bafcbe"},{"content":"4687a2fe"}],"tag":"33058117","listMetadata":"e02071e6"},"/SolidUI-Website/blog/tags/stable-diffusion/page/2-fd7":{"__comp":"6875c492","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","items":[{"content":"c7491b26"},{"content":"a38ac2fb"},{"content":"4d9f66ec"}],"tag":"aea76b71","listMetadata":"08fabd1b"},"/SolidUI-Website/home/-65b":{"__comp":"f106860d","__context":{"plugin":"b1bdda4d"},"config":"5e9f5e1a"},"/SolidUI-Website/home/feature-c9a":{"__comp":"181d6f49","__context":{"plugin":"b1bdda4d"},"config":"5e9f5e1a"},"/SolidUI-Website/home/hero-482":{"__comp":"0e49e91b","__context":{"plugin":"b1bdda4d"},"config":"5e9f5e1a"},"/SolidUI-Website/home/performance-048":{"__comp":"271ff943","__context":{"plugin":"b1bdda4d"},"config":"5e9f5e1a"},"/SolidUI-Website/search-d4b":{"__comp":"1a4e3797","__context":{"plugin":"eaf8f7fb"}},"/SolidUI-Website/team/-0b1":{"__comp":"035672d3","__context":{"plugin":"b1bdda4d"},"config":"5e9f5e1a"},"/SolidUI-Website/user/-ab5":{"__comp":"248e03f5","__context":{"plugin":"b1bdda4d"},"config":"5e9f5e1a"},"/SolidUI-Website/community-6be":{"__comp":"1be78505","__context":{"plugin":"8ba85c45"},"versionMetadata":"306a8c6c"},"/SolidUI-Website/community/contribution_guide/become_committer-4d5":{"__comp":"17896441","content":"0fceeaee"},"/SolidUI-Website/community/submit_guide/document-98a":{"__comp":"17896441","content":"90b38822"},"/SolidUI-Website/community/submit_guide/submit_code-5d4":{"__comp":"17896441","content":"ac0ab662"},"/SolidUI-Website/docs-8e8":{"__comp":"1be78505","__context":{"plugin":"1246422e"},"versionMetadata":"935f2afb"},"/SolidUI-Website/docs/deployment/deployment-docker-9a1":{"__comp":"17896441","content":"c5a490c3"},"/SolidUI-Website/docs/deployment/deployment-kubernetes-6a2":{"__comp":"17896441","content":"b5f0312c"},"/SolidUI-Website/docs/deployment/deployment-standalone-c74":{"__comp":"17896441","content":"7f90e5b7"},"/SolidUI-Website/docs/deployment/deployment-web-334":{"__comp":"17896441","content":"cd4de7b0"},"/SolidUI-Website/docs/design/front-end-architecture/-74f":{"__comp":"17896441","content":"d97b9c6c"},"/SolidUI-Website/docs/design/metadata/-37a":{"__comp":"17896441","content":"2208a986"},"/SolidUI-Website/docs/design/server-architecture/-39a":{"__comp":"17896441","content":"0e71e333"},"/SolidUI-Website/docs/development/develop-contributing-897":{"__comp":"17896441","content":"14bbe142"},"/SolidUI-Website/docs/development/development-commit-2b6":{"__comp":"17896441","content":"fea061e2"},"/SolidUI-Website/docs/development/development-construction-0f0":{"__comp":"17896441","content":"b086f4ef"},"/SolidUI-Website/docs/development/development-docker-f3e":{"__comp":"17896441","content":"43f8f43d"},"/SolidUI-Website/docs/development/development-front-b41":{"__comp":"17896441","content":"b6f5f78e"},"/SolidUI-Website/docs/development/development-release-a34":{"__comp":"17896441","content":"c247501b"},"/SolidUI-Website/docs/development/development-server-f26":{"__comp":"17896441","content":"1978304a"},"/SolidUI-Website/docs/faq/faq/-a1d":{"__comp":"17896441","content":"c0b1c6d1"},"/SolidUI-Website/docs/intro-330":{"__comp":"17896441","content":"0e384e19"},"/SolidUI-Website/docs/operational/community-operation/-937":{"__comp":"17896441","content":"f36b3ff0"},"/SolidUI-Website/docs/test/test-case/-5a4":{"__comp":"17896441","content":"a185487b"},"/SolidUI-Website/docs/user-guide/quick-start-1a3":{"__comp":"17896441","content":"5434e1ce"},"/SolidUI-Website/-d6a":{"__comp":"1df93b7f","__context":{"plugin":"b1bdda4d"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[532],(()=>{return t=9383,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/assets/js/main.cb1f28af.js.LICENSE.txt b/assets/js/main.cb1f28af.js.LICENSE.txt new file mode 100644 index 00000000..91600de3 --- /dev/null +++ b/assets/js/main.cb1f28af.js.LICENSE.txt @@ -0,0 +1,134 @@ +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ + +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */ + +/*! + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + */ + +/*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * @license React + * use-sync-external-store-shim.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * Prism: Lightweight, robust, elegant syntax highlighting + * + * @license MIT <https://opensource.org/licenses/MIT> + * @author Lea Verou <https://lea.verou.me> + * @namespace + * @public + */ + +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ + +/** @license React v0.20.2 + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v17.0.2 + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v17.0.2 + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ diff --git a/assets/js/runtime~main.b3492865.js b/assets/js/runtime~main.b3492865.js new file mode 100644 index 00000000..2c56488a --- /dev/null +++ b/assets/js/runtime~main.b3492865.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,f,a,c,b,t={},r={};function d(e){var f=r[e];if(void 0!==f)return f.exports;var a=r[e]={exports:{}};return t[e].call(a.exports,a,a.exports,d),a.exports}d.m=t,e=[],d.O=(f,a,c,b)=>{if(!a){var t=1/0;for(i=0;i<e.length;i++){a=e[i][0],c=e[i][1],b=e[i][2];for(var r=!0,o=0;o<a.length;o++)(!1&b||t>=b)&&Object.keys(d.O).every((e=>d.O[e](a[o])))?a.splice(o--,1):(r=!1,b<t&&(t=b));if(r){e.splice(i--,1);var n=c();void 0!==n&&(f=n)}}return f}b=b||0;for(var i=e.length;i>0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[a,c,b]},d.n=e=>{var f=e&&e.__esModule?()=>e.default:()=>e;return d.d(f,{a:f}),f},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,d.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var b=Object.create(null);d.r(b);var t={};f=f||[null,a({}),a([]),a(a)];for(var r=2&c&&e;"object"==typeof r&&!~f.indexOf(r);r=a(r))Object.getOwnPropertyNames(r).forEach((f=>t[f]=()=>e[f]));return t.default=()=>e,d.d(b,t),b},d.d=(e,f)=>{for(var a in f)d.o(f,a)&&!d.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:f[a]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce(((f,a)=>(d.f[a](e,f),f)),[])),d.u=e=>"assets/js/"+({53:"935f2afb",221:"fed3a01c",240:"82bafcbe",289:"8ba85c45",527:"c247501b",530:"ac0ab662",627:"b086f4ef",730:"eec08420",789:"a38ac2fb",1301:"b774a57d",1346:"13afd6dd",1637:"aea76b71",1649:"017a0f29",1671:"8d1dd453",1856:"0e71e333",2074:"37a2ef67",2153:"6655eab5",2455:"1978304a",2535:"814f3328",2541:"a185487b",2558:"0f2150f8",2718:"0fceeaee",2908:"4d9f66ec",2957:"e02071e6",3047:"2208a986",3089:"a6aa9e1f",3237:"1df93b7f",3288:"5836cbff",3362:"18574ea0",3370:"fea061e2",3378:"210a63df",3608:"9e4087bc",3884:"b1bdda4d",4013:"01a85c17",4069:"b6f5f78e",4391:"7f90e5b7",4656:"4687a2fe",4762:"1246422e",4798:"181d6f49",4827:"271ff943",4921:"035672d3",5024:"33058117",5279:"90b38822",5282:"f36b3ff0",5412:"c7491b26",5516:"6cd1964f",5722:"b5f0312c",5842:"a212e31b",5876:"deb5dccc",5933:"cd4de7b0",6103:"ccc49370",6160:"d97b9c6c",6393:"f106860d",7445:"08fabd1b",7558:"43f8f43d",7616:"306a8c6c",7918:"17896441",7920:"1a4e3797",7962:"14bbe142",8040:"6d852631",8352:"ed523c22",8445:"c5a490c3",8610:"6875c492",8688:"ac717c78",8807:"c0b1c6d1",8932:"248e03f5",8939:"5434e1ce",9084:"afbbc345",9094:"0e49e91b",9514:"1be78505",9615:"7ba7942d",9671:"0e384e19",9885:"eaf8f7fb"}[e]||e)+"."+{53:"211d4c68",221:"ff3f3d33",240:"3deb2fab",289:"30750ed2",527:"d51606fa",530:"231d6284",627:"8d635984",730:"70323149",789:"2d1ab942",1301:"01db1e2b",1346:"30f0ab4d",1637:"7aa02f3b",1649:"e31b5d68",1671:"5cbf74c6",1856:"15f89def",2074:"79d0a77f",2153:"1fb02fab",2455:"407cca21",2535:"8ba824e7",2541:"72009056",2558:"eedf965f",2718:"03ef1456",2908:"93de30bd",2957:"74d1e504",3047:"e691e62c",3089:"0aa25372",3237:"4d2c7381",3288:"919ac171",3362:"0ec79375",3370:"e0898e6c",3378:"f435c7a7",3608:"1ed3f564",3884:"a5244e41",4013:"8d6d587b",4069:"5f7f00f1",4391:"3234bd11",4656:"1b586b92",4762:"4f0c67cf",4798:"e9b7a6ab",4827:"2b9c3cf0",4921:"8d3669e5",4972:"b4472444",5024:"afac1719",5279:"880ada58",5282:"04e26127",5412:"98416a17",5516:"c10a9ed2",5525:"05fdfb4c",5722:"b8cbb87b",5842:"f2a26684",5876:"01082583",5933:"972285f0",6048:"fb29faea",6103:"f58d2f47",6160:"c115855a",6393:"3af43ed8",7445:"d2f216db",7558:"d2a005c1",7616:"f6fb1444",7918:"c64734ea",7920:"e0a8916d",7962:"07571804",8040:"c5037e2d",8105:"a89b396d",8352:"747ac207",8443:"1a8dd629",8445:"7bcdf5a4",8610:"d0767faf",8688:"dc7b292e",8807:"d446ab76",8932:"fd64b2c4",8939:"81600a2d",9084:"b07c0976",9094:"d53acb7c",9514:"7eb9c513",9615:"cd6a9e56",9671:"588bce10",9885:"612b701f"}[e]+".js",d.miniCssF=e=>{},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),c={},b="solidui-website:",d.l=(e,f,a,t)=>{if(c[e])c[e].push(f);else{var r,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==b+a){r=u;break}}r||(o=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,d.nc&&r.setAttribute("nonce",d.nc),r.setAttribute("data-webpack",b+a),r.src=e),c[e]=[f];var l=(f,a)=>{r.onerror=r.onload=null,clearTimeout(s);var b=c[e];if(delete c[e],r.parentNode&&r.parentNode.removeChild(r),b&&b.forEach((e=>e(a))),f)return f(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=l.bind(null,r.onerror),r.onload=l.bind(null,r.onload),o&&document.head.appendChild(r)}},d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.p="/SolidUI-Website/",d.gca=function(e){return e={17896441:"7918",33058117:"5024","935f2afb":"53",fed3a01c:"221","82bafcbe":"240","8ba85c45":"289",c247501b:"527",ac0ab662:"530",b086f4ef:"627",eec08420:"730",a38ac2fb:"789",b774a57d:"1301","13afd6dd":"1346",aea76b71:"1637","017a0f29":"1649","8d1dd453":"1671","0e71e333":"1856","37a2ef67":"2074","6655eab5":"2153","1978304a":"2455","814f3328":"2535",a185487b:"2541","0f2150f8":"2558","0fceeaee":"2718","4d9f66ec":"2908",e02071e6:"2957","2208a986":"3047",a6aa9e1f:"3089","1df93b7f":"3237","5836cbff":"3288","18574ea0":"3362",fea061e2:"3370","210a63df":"3378","9e4087bc":"3608",b1bdda4d:"3884","01a85c17":"4013",b6f5f78e:"4069","7f90e5b7":"4391","4687a2fe":"4656","1246422e":"4762","181d6f49":"4798","271ff943":"4827","035672d3":"4921","90b38822":"5279",f36b3ff0:"5282",c7491b26:"5412","6cd1964f":"5516",b5f0312c:"5722",a212e31b:"5842",deb5dccc:"5876",cd4de7b0:"5933",ccc49370:"6103",d97b9c6c:"6160",f106860d:"6393","08fabd1b":"7445","43f8f43d":"7558","306a8c6c":"7616","1a4e3797":"7920","14bbe142":"7962","6d852631":"8040",ed523c22:"8352",c5a490c3:"8445","6875c492":"8610",ac717c78:"8688",c0b1c6d1:"8807","248e03f5":"8932","5434e1ce":"8939",afbbc345:"9084","0e49e91b":"9094","1be78505":"9514","7ba7942d":"9615","0e384e19":"9671",eaf8f7fb:"9885"}[e]||e,d.p+d.u(e)},(()=>{var e={1303:0,532:0};d.f.j=(f,a)=>{var c=d.o(e,f)?e[f]:void 0;if(0!==c)if(c)a.push(c[2]);else if(/^(1303|532)$/.test(f))e[f]=0;else{var b=new Promise(((a,b)=>c=e[f]=[a,b]));a.push(c[2]=b);var t=d.p+d.u(f),r=new Error;d.l(t,(a=>{if(d.o(e,f)&&(0!==(c=e[f])&&(e[f]=void 0),c)){var b=a&&("load"===a.type?"missing":a.type),t=a&&a.target&&a.target.src;r.message="Loading chunk "+f+" failed.\n("+b+": "+t+")",r.name="ChunkLoadError",r.type=b,r.request=t,c[1](r)}}),"chunk-"+f,f)}},d.O.j=f=>0===e[f];var f=(f,a)=>{var c,b,t=a[0],r=a[1],o=a[2],n=0;if(t.some((f=>0!==e[f]))){for(c in r)d.o(r,c)&&(d.m[c]=r[c]);if(o)var i=o(d)}for(f&&f(a);n<t.length;n++)b=t[n],d.o(e,b)&&e[b]&&e[b][0](),e[b]=0;return d.O(i)},a=self.webpackChunksolidui_website=self.webpackChunksolidui_website||[];a.forEach(f.bind(null,0)),a.push=f.bind(null,a.push.bind(a))})()})(); \ No newline at end of file diff --git a/blog/2023/07/01/function-explanation-0.1.0/index.html b/blog/2023/07/01/function-explanation-0.1.0/index.html new file mode 100644 index 00000000..baf5e6f4 --- /dev/null +++ b/blog/2023/07/01/function-explanation-0.1.0/index.html @@ -0,0 +1,68 @@ +<!doctype html> +<html lang="en" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default"> +<head> +<meta charset="UTF-8"> +<meta name="generator" content="Docusaurus v2.4.1"> +<title data-rh="true">SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解 | SolidUI + + + + + + +
+

SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解

· 6 min read

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

https://github.com/CloudOrc/SolidUI

项目名字含义

SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。

登录页含义

登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。 +在这里插入图片描述

产品思维

“少就是多”

少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。

0.1.0 版本内涵

这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。

功能列表

下面介绍下整个第一个版本功能列表。

数据源管理

  • 显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。
  • 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* +成功添加MySQL数据源,并在数据源列表中显示。
  • 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。
  • 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。
  • 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。
  • 数据源过期:可以将选中的数据源设置为过期状态。 +在这里插入图片描述

项目管理

  • 添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。
  • 查询项目列表:通过输入项目名称,可以查询并输出项目列表。
  • 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。
  • 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。
  • 项目预览

设计页面

  • 场景,增加,修改,删除,重命名。
  • 页,增加,修改,删除,重命名。
  • 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。
  • 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。
  • 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。
  • 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。
  • 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。
  • 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。
  • 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。

在这里插入图片描述

+ + + + \ No newline at end of file diff --git a/blog/2023/07/02/snakemq-communication-source-code-analysis/index.html b/blog/2023/07/02/snakemq-communication-source-code-analysis/index.html new file mode 100644 index 00000000..f16a2807 --- /dev/null +++ b/blog/2023/07/02/snakemq-communication-source-code-analysis/index.html @@ -0,0 +1,67 @@ + + + + + +SolidUI社区-Snakemq通信源码分析 | SolidUI + + + + + + +
+

SolidUI社区-Snakemq通信源码分析

· 7 min read

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

Snakemq介绍

SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。

SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。

Snakemq作用

  • 轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。
  • 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。
  • 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。
  • 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。
  • 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。
  • 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。
  • 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。

SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq

Snakemq 测试代码

Snakemq client.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("client", "", packeter)


connector = ("server", 8765)


link.add_connector(connector)


def on_connect(connector_id):


logger.info(f"Connected to: {connector_id}")


link.on_connect.add(on_connect)


def on_disconnect(connector_id):


logger.info(f"已断开: {connector_id}")


link.on_disconnect.add(on_disconnect)



def on_recv(conn, ident, message):


logger.info(f"client接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)


message = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)


messaging.send_message("server", message)


while True:


link.loop()


time.sleep(0.1)


Snakemq server.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("server", "", packeter)


link.add_listener(("0.0.0.0", 8765))


def on_recv(conn, ident, message):


logger.info(f"server接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)



message = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)


messaging.send_message("client", message)


# Main loop


while True:


link.loop()


time.sleep(0.1)


Dockerfile

FROM python:3.8
WORKDIR /opt/snaketmq-test

RUN pip install snakemq
RUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"
COPY . .

CMD ["python", "server.py"]

Dockerfile build & run

docker build -t snaketmq-test . 

docker network create mynet

docker run -d --name server --network mynet  snaketmq-test

docker run --network mynet  snaketmq-test python client.py

Snakemq通信

注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener(("0.0.0.0", 8765)) 这行代码

  • server: 表示SnakeMQ的服务器实例。

  • link: server中的link属性,表示网络连接管理器。

  • add_listener: 向link中添加一个监听器。

  • ("0.0.0.0", 8765): 监听的地址和端口。"0.0.0.0"表示监听所有网卡地址,"8765"表示监听8765端口。 +client connector = ("server", 8765) link.add_connector(connector) 这行代码

  • connector = ("server", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址"server"和端口8765。

  • link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。

  • 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。

结语

本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
+ + + + \ No newline at end of file diff --git a/blog/2023/07/03/independent-deployment-communication-analysis/index.html b/blog/2023/07/03/independent-deployment-communication-analysis/index.html new file mode 100644 index 00000000..961b64b5 --- /dev/null +++ b/blog/2023/07/03/independent-deployment-communication-analysis/index.html @@ -0,0 +1,66 @@ + + + + + +SolidUI社区-独立部署和Docker通信分析 | SolidUI + + + + + + +
+

SolidUI社区-独立部署和Docker通信分析

· 4 min read

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
+ + + + \ No newline at end of file diff --git a/blog/2023/09/05/0.2.0-Release/index.html b/blog/2023/09/05/0.2.0-Release/index.html new file mode 100644 index 00000000..11051d4f --- /dev/null +++ b/blog/2023/09/05/0.2.0-Release/index.html @@ -0,0 +1,65 @@ + + + + + +Version Update | SolidUI 0.2.0 Release | SolidUI + + + + + + +
+

Version Update | SolidUI 0.2.0 Release

· 4 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Release Notes

Features

  • Design features, scene and page optimization
  • Project Preview
  • Design features, preview page
  • Support for GPT-like model proxy
  • Support for ChatGLM-like model proxy
  • Support Hugging Face Spaces plugin, provide trial function
  • Support for the ESLint code check tool
  • Design page delete graphic optimization
  • Login page, logout optimization
  • Support for chat window interaction
  • Support for the official website, internationalization
  • Support for the official website, UI optimization
  • Support for the official website, overview optimization
  • Support for the official website, Blog optimization
  • Support for the official website, all documents optimization
  • Support for the official website, framework migration

Deployment

  • Independent deployment related scripts
  • docker-compose

Documentation

  • All co-builders list
  • ESLint & Prettier code specifications
  • SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation
  • SolidUI community - Snakemq communication source code analysis
  • Centos7.9 offline deployment of ChatGLM-6B
  • SolidUI community - Independent deployment and Docker communication analysis
  • SolidUI community - Introduction to the official website
  • SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps
  • SolidUI community - FAQ problem-solving process
  • SolidUI community - General Prompt technique
  • SolidUI community - Prompt design
  • SolidUI community - Building a character based on Prompts
  • SolidUI community - AI model proxy
  • SolidUI community - Chain of Thought (CoT) in Prompts
  • SolidUI community - Prompt self-consistency
  • SolidUI community - Discord
  • SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction

Detailed Guide

Contributors

The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)

  • dlimeng
  • nutsjian
  • jacktao007
  • 15100399015
  • ziyu211
  • limingoo
  • hgfdsa101

How to Become a Contributor

Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12

Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;

Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

+ + + + \ No newline at end of file diff --git a/blog/2023/09/05/0.2.0-introduction/index.html b/blog/2023/09/05/0.2.0-introduction/index.html new file mode 100644 index 00000000..31ae2f50 --- /dev/null +++ b/blog/2023/09/05/0.2.0-introduction/index.html @@ -0,0 +1,66 @@ + + + + + +SolidUI generates any graphics in one sentence, v0.2.0 function introduction | SolidUI + + + + + + +
+

SolidUI generates any graphics in one sentence, v0.2.0 function introduction

· 5 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\] Generate a bar chart

Image description

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

Image description

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

Image description

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

Image description

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

Image description

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

Image description

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

Image description

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

Image description

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

Image description

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

Image description

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model. +

Image description

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

Image description

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

Image description

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;
+ + + + \ No newline at end of file diff --git a/blog/2023/09/05/Official-Website-Introduction/index.html b/blog/2023/09/05/Official-Website-Introduction/index.html new file mode 100644 index 00000000..7686fd64 --- /dev/null +++ b/blog/2023/09/05/Official-Website-Introduction/index.html @@ -0,0 +1,67 @@ + + + + + +SolidUI Community - Official Website Introduction | SolidUI + + + + + + +
+

SolidUI Community - Official Website Introduction

· 5 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI. +Official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click "Issues".
  3. Click the "New issue" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click "Submit new issue". +Submit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click "Pull requests", then click "New pull request".
  6. Click "compare across forks" and choose your fork and your "dev" branch.
  7. Confirm your changes, then click "Create pull request".
  8. Provide a title and description for your PR on the opened page, then click "Create pull request".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

+ + + + \ No newline at end of file diff --git a/blog/archive/index.html b/blog/archive/index.html new file mode 100644 index 00000000..ca0dc796 --- /dev/null +++ b/blog/archive/index.html @@ -0,0 +1,65 @@ + + + + + +Archive | SolidUI + + + + + + + + + + + \ No newline at end of file diff --git a/blog/atom.xml b/blog/atom.xml new file mode 100644 index 00000000..efb13cc8 --- /dev/null +++ b/blog/atom.xml @@ -0,0 +1,85 @@ + + + https://cloudorc.github.io/SolidUI-Website/blog + SolidUI Blog + 2023-09-05T00:00:00.000Z + https://github.com/jpmonette/feed + + SolidUI Blog + https://cloudorc.github.io/SolidUI-Website/image/favicon.ico + + <![CDATA[Version Update | SolidUI 0.2.0 Release]]> + https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/0.2.0-Release + + 2023-09-05T00:00:00.000Z + + Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Release Notes

Features

  • Design features, scene and page optimization
  • Project Preview
  • Design features, preview page
  • Support for GPT-like model proxy
  • Support for ChatGLM-like model proxy
  • Support Hugging Face Spaces plugin, provide trial function
  • Support for the ESLint code check tool
  • Design page delete graphic optimization
  • Login page, logout optimization
  • Support for chat window interaction
  • Support for the official website, internationalization
  • Support for the official website, UI optimization
  • Support for the official website, overview optimization
  • Support for the official website, Blog optimization
  • Support for the official website, all documents optimization
  • Support for the official website, framework migration

Deployment

  • Independent deployment related scripts
  • docker-compose

Documentation

  • All co-builders list
  • ESLint & Prettier code specifications
  • SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation
  • SolidUI community - Snakemq communication source code analysis
  • Centos7.9 offline deployment of ChatGLM-6B
  • SolidUI community - Independent deployment and Docker communication analysis
  • SolidUI community - Introduction to the official website
  • SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps
  • SolidUI community - FAQ problem-solving process
  • SolidUI community - General Prompt technique
  • SolidUI community - Prompt design
  • SolidUI community - Building a character based on Prompts
  • SolidUI community - AI model proxy
  • SolidUI community - Chain of Thought (CoT) in Prompts
  • SolidUI community - Prompt self-consistency
  • SolidUI community - Discord
  • SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction

Detailed Guide

Contributors

The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)

  • dlimeng
  • nutsjian
  • jacktao007
  • 15100399015
  • ziyu211
  • limingoo
  • hgfdsa101

How to Become a Contributor

Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12

Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;

Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

]]>
+ + + +
+ + <![CDATA[SolidUI generates any graphics in one sentence, v0.2.0 function introduction]]> + https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/0.2.0-introduction + + 2023-09-05T00:00:00.000Z + + Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\] Generate a bar chart

Image description

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

Image description

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

Image description

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

Image description

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

Image description

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

Image description

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

Image description

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

Image description

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

Image description

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

Image description

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model. +

Image description

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

Image description

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

Image description

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;
]]>
+ + + +
+ + <![CDATA[SolidUI Community - Official Website Introduction]]> + https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction + + 2023-09-05T00:00:00.000Z + + Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI. +Official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click "Issues".
  3. Click the "New issue" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click "Submit new issue". +Submit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click "Pull requests", then click "New pull request".
  6. Click "compare across forks" and choose your fork and your "dev" branch.
  7. Confirm your changes, then click "Create pull request".
  8. Provide a title and description for your PR on the opened page, then click "Create pull request".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

]]>
+ + + +
+ + <![CDATA[SolidUI社区-独立部署和Docker通信分析]]> + https://cloudorc.github.io/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis + + 2023-07-03T00:00:00.000Z + + 背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
]]>
+ + + +
+ + <![CDATA[SolidUI社区-Snakemq通信源码分析]]> + https://cloudorc.github.io/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis + + 2023-07-02T00:00:00.000Z + + 背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

Snakemq介绍

SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。

SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。

Snakemq作用

  • 轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。
  • 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。
  • 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。
  • 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。
  • 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。
  • 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。
  • 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。

SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq

Snakemq 测试代码

Snakemq client.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("client", "", packeter)


connector = ("server", 8765)


link.add_connector(connector)


def on_connect(connector_id):


logger.info(f"Connected to: {connector_id}")


link.on_connect.add(on_connect)


def on_disconnect(connector_id):


logger.info(f"已断开: {connector_id}")


link.on_disconnect.add(on_disconnect)



def on_recv(conn, ident, message):


logger.info(f"client接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)


message = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)


messaging.send_message("server", message)


while True:


link.loop()


time.sleep(0.1)


Snakemq server.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("server", "", packeter)


link.add_listener(("0.0.0.0", 8765))


def on_recv(conn, ident, message):


logger.info(f"server接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)



message = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)


messaging.send_message("client", message)


# Main loop


while True:


link.loop()


time.sleep(0.1)


Dockerfile

FROM python:3.8
WORKDIR /opt/snaketmq-test

RUN pip install snakemq
RUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"
COPY . .

CMD ["python", "server.py"]

Dockerfile build & run

docker build -t snaketmq-test . 

docker network create mynet

docker run -d --name server --network mynet  snaketmq-test

docker run --network mynet  snaketmq-test python client.py

Snakemq通信

注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener(("0.0.0.0", 8765)) 这行代码

  • server: 表示SnakeMQ的服务器实例。

  • link: server中的link属性,表示网络连接管理器。

  • add_listener: 向link中添加一个监听器。

  • ("0.0.0.0", 8765): 监听的地址和端口。"0.0.0.0"表示监听所有网卡地址,"8765"表示监听8765端口。 +client connector = ("server", 8765) link.add_connector(connector) 这行代码

  • connector = ("server", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址"server"和端口8765。

  • link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。

  • 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。

结语

本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
]]>
+ + + +
+ + <![CDATA[SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解]]> + https://cloudorc.github.io/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0 + + 2023-07-01T00:00:00.000Z + + 背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

https://github.com/CloudOrc/SolidUI

项目名字含义

SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。

登录页含义

登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。 +在这里插入图片描述

产品思维

“少就是多”

少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。

0.1.0 版本内涵

这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。

功能列表

下面介绍下整个第一个版本功能列表。

数据源管理

  • 显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。
  • 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* +成功添加MySQL数据源,并在数据源列表中显示。
  • 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。
  • 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。
  • 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。
  • 数据源过期:可以将选中的数据源设置为过期状态。 +在这里插入图片描述

项目管理

  • 添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。
  • 查询项目列表:通过输入项目名称,可以查询并输出项目列表。
  • 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。
  • 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。
  • 项目预览

设计页面

  • 场景,增加,修改,删除,重命名。
  • 页,增加,修改,删除,重命名。
  • 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。
  • 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。
  • 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。
  • 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。
  • 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。
  • 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。
  • 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。

在这里插入图片描述

]]>
+ + + +
+
\ No newline at end of file diff --git a/blog/author.png b/blog/author.png new file mode 100644 index 00000000..6d074a85 Binary files /dev/null and b/blog/author.png differ diff --git a/blog/dashboard.png b/blog/dashboard.png new file mode 100644 index 00000000..8754a5c8 Binary files /dev/null and b/blog/dashboard.png differ diff --git a/blog/datasource.png b/blog/datasource.png new file mode 100644 index 00000000..29af4ba9 Binary files /dev/null and b/blog/datasource.png differ diff --git a/blog/dependency.png b/blog/dependency.png new file mode 100644 index 00000000..ef350410 Binary files /dev/null and b/blog/dependency.png differ diff --git a/blog/desgin.png b/blog/desgin.png new file mode 100644 index 00000000..7b1fbfad Binary files /dev/null and b/blog/desgin.png differ diff --git a/blog/detail.png b/blog/detail.png new file mode 100644 index 00000000..8cd9022f Binary files /dev/null and b/blog/detail.png differ diff --git a/blog/doris.png b/blog/doris.png new file mode 100644 index 00000000..7812764b Binary files /dev/null and b/blog/doris.png differ diff --git a/blog/feed.json b/blog/feed.json new file mode 100644 index 00000000..1bb876e7 --- /dev/null +++ b/blog/feed.json @@ -0,0 +1,86 @@ +{ + "version": "https://jsonfeed.org/version/1", + "title": "SolidUI Blog", + "home_page_url": "https://cloudorc.github.io/SolidUI-Website/blog", + "description": "SolidUI Blog", + "items": [ + { + "id": "https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/0.2.0-Release", + "content_html": "

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Release Notes

Features

  • Design features, scene and page optimization
  • Project Preview
  • Design features, preview page
  • Support for GPT-like model proxy
  • Support for ChatGLM-like model proxy
  • Support Hugging Face Spaces plugin, provide trial function
  • Support for the ESLint code check tool
  • Design page delete graphic optimization
  • Login page, logout optimization
  • Support for chat window interaction
  • Support for the official website, internationalization
  • Support for the official website, UI optimization
  • Support for the official website, overview optimization
  • Support for the official website, Blog optimization
  • Support for the official website, all documents optimization
  • Support for the official website, framework migration

Deployment

  • Independent deployment related scripts
  • docker-compose

Documentation

  • All co-builders list
  • ESLint & Prettier code specifications
  • SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation
  • SolidUI community - Snakemq communication source code analysis
  • Centos7.9 offline deployment of ChatGLM-6B
  • SolidUI community - Independent deployment and Docker communication analysis
  • SolidUI community - Introduction to the official website
  • SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps
  • SolidUI community - FAQ problem-solving process
  • SolidUI community - General Prompt technique
  • SolidUI community - Prompt design
  • SolidUI community - Building a character based on Prompts
  • SolidUI community - AI model proxy
  • SolidUI community - Chain of Thought (CoT) in Prompts
  • SolidUI community - Prompt self-consistency
  • SolidUI community - Discord
  • SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction

Detailed Guide

Contributors

The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)

  • dlimeng
  • nutsjian
  • jacktao007
  • 15100399015
  • ziyu211
  • limingoo
  • hgfdsa101

How to Become a Contributor

Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12

Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;

Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

", + "url": "https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/0.2.0-Release", + "title": "Version Update | SolidUI 0.2.0 Release", + "summary": "Background", + "date_modified": "2023-09-05T00:00:00.000Z", + "tags": [ + "SolidUI", + "AI", + "stable-diffusion" + ] + }, + { + "id": "https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/0.2.0-introduction", + "content_html": "

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\\[{\"x\":\"A\",\"y\":5},{\"x\":\"B\",\"y\":8},{\"x\":\"C\",\"y\":12},{\"x\":\"D\",\"y\":6},{\"x\":\"E\",\"y\":15},{\"x\":\"F\",\"y\":10}\\] Generate a bar chart

\"Image

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

\"Image

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

\"Image

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

\"Image

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

\"Image

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

\"Image

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

\"Image

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

\"Image

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

\"Image

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

\"Image

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from \"https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj\" and use the trimesh library to load and display this model.\n

\"Image

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

\"Image

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

\"Image

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;
", + "url": "https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/0.2.0-introduction", + "title": "SolidUI generates any graphics in one sentence, v0.2.0 function introduction", + "summary": "Background", + "date_modified": "2023-09-05T00:00:00.000Z", + "tags": [ + "SolidUI", + "AI", + "stable-diffusion" + ] + }, + { + "id": "https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction", + "content_html": "

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI.\nOfficial website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click \"Issues\".
  3. Click the \"New issue\" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click \"Submit new issue\".\nSubmit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the \"Fork\" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a \"dev\" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click \"Pull requests\", then click \"New pull request\".
  6. Click \"compare across forks\" and choose your fork and your \"dev\" branch.
  7. Confirm your changes, then click \"Create pull request\".
  8. Provide a title and description for your PR on the opened page, then click \"Create pull request\".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

", + "url": "https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction", + "title": "SolidUI Community - Official Website Introduction", + "summary": "Background", + "date_modified": "2023-09-05T00:00:00.000Z", + "tags": [ + "SolidUI", + "AI", + "stable-diffusion" + ] + }, + { + "id": "https://cloudorc.github.io/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis", + "content_html": "

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等;\n其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
", + "url": "https://cloudorc.github.io/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis", + "title": "SolidUI社区-独立部署和Docker通信分析", + "summary": "背景", + "date_modified": "2023-07-03T00:00:00.000Z", + "tags": [ + "SolidUI", + "AIGC", + "stable-diffusion" + ] + }, + { + "id": "https://cloudorc.github.io/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis", + "content_html": "

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

Snakemq介绍

SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。

SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。

Snakemq作用

  • 轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。
  • 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。
  • 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。
  • 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。
  • 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。
  • 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。
  • 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。

SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq

Snakemq 测试代码

Snakemq client.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format=\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging(\"client\", \"\", packeter)


connector = (\"server\", 8765)


link.add_connector(connector)


def on_connect(connector_id):


logger.info(f\"Connected to: {connector_id}\")


link.on_connect.add(on_connect)


def on_disconnect(connector_id):


logger.info(f\"已断开: {connector_id}\")


link.on_disconnect.add(on_disconnect)



def on_recv(conn, ident, message):


logger.info(f\"client接收到: {message.data}, 来自: {ident}\")


messaging.on_message_recv.add(on_recv)


message = snakemq.message.Message(json.dumps({\"type\": \"status\", \"value\": \"ready\"}).encode(\"utf-8\"), ttl=600)


messaging.send_message(\"server\", message)


while True:


link.loop()


time.sleep(0.1)


Snakemq server.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format=\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging(\"server\", \"\", packeter)


link.add_listener((\"0.0.0.0\", 8765))


def on_recv(conn, ident, message):


logger.info(f\"server接收到: {message.data}, 来自: {ident}\")


messaging.on_message_recv.add(on_recv)



message = snakemq.message.Message(json.dumps( {\"type\": \"execute\", \"value\": \"abc\"}).encode(\"utf-8\"), ttl=600)


messaging.send_message(\"client\", message)


# Main loop


while True:


link.loop()


time.sleep(0.1)


Dockerfile

FROM python:3.8
WORKDIR /opt/snaketmq-test

RUN pip install snakemq
RUN python -c \"import snakemq; print(snakemq.__file__); print(dir(snakemq))\"
COPY . .

CMD [\"python\", \"server.py\"]

Dockerfile build & run

docker build -t snaketmq-test . 

docker network create mynet

docker run -d --name server --network mynet  snaketmq-test

docker run --network mynet  snaketmq-test python client.py

Snakemq通信

注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener((\"0.0.0.0\", 8765)) 这行代码

  • server: 表示SnakeMQ的服务器实例。

  • link: server中的link属性,表示网络连接管理器。

  • add_listener: 向link中添加一个监听器。

  • (\"0.0.0.0\", 8765): 监听的地址和端口。\"0.0.0.0\"表示监听所有网卡地址,\"8765\"表示监听8765端口。\nclient connector = (\"server\", 8765) link.add_connector(connector) 这行代码

  • connector = (\"server\", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址\"server\"和端口8765。

  • link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。

  • 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。

结语

本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等;\n其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
", + "url": "https://cloudorc.github.io/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis", + "title": "SolidUI社区-Snakemq通信源码分析", + "summary": "背景", + "date_modified": "2023-07-02T00:00:00.000Z", + "tags": [ + "SolidUI", + "AIGC", + "stable-diffusion" + ] + }, + { + "id": "https://cloudorc.github.io/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0", + "content_html": "

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

https://github.com/CloudOrc/SolidUI

项目名字含义

SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。

登录页含义

登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。\n\"在这里插入图片描述\"

产品思维

“少就是多”

少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。

0.1.0 版本内涵

这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。

功能列表

下面介绍下整个第一个版本功能列表。

数据源管理

  • 显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。
  • 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以*\n成功添加MySQL数据源,并在数据源列表中显示。
  • 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。
  • 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。
  • 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。
  • 数据源过期:可以将选中的数据源设置为过期状态。\n\"在这里插入图片描述\"

项目管理

  • 添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。
  • 查询项目列表:通过输入项目名称,可以查询并输出项目列表。
  • 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。
  • 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。
  • 项目预览

设计页面

  • 场景,增加,修改,删除,重命名。
  • 页,增加,修改,删除,重命名。
  • 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。
  • 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。
  • 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。
  • 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。
  • 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。
  • 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。
  • 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。

\"在这里插入图片描述\"

", + "url": "https://cloudorc.github.io/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0", + "title": "SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解", + "summary": "背景", + "date_modified": "2023-07-01T00:00:00.000Z", + "tags": [ + "SolidUI", + "AIGC", + "stable-diffusion" + ] + } + ] +} \ No newline at end of file diff --git a/blog/flinksql.png b/blog/flinksql.png new file mode 100644 index 00000000..36e8dc7a Binary files /dev/null and b/blog/flinksql.png differ diff --git a/blog/flow.png b/blog/flow.png new file mode 100644 index 00000000..aa2171b3 Binary files /dev/null and b/blog/flow.png differ diff --git a/blog/home.png b/blog/home.png new file mode 100644 index 00000000..1e2149e6 Binary files /dev/null and b/blog/home.png differ diff --git a/blog/index.html b/blog/index.html new file mode 100644 index 00000000..25548f55 --- /dev/null +++ b/blog/index.html @@ -0,0 +1,68 @@ + + + + + +Blog | SolidUI + + + + + + +
+

· 4 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Release Notes

Features

  • Design features, scene and page optimization
  • Project Preview
  • Design features, preview page
  • Support for GPT-like model proxy
  • Support for ChatGLM-like model proxy
  • Support Hugging Face Spaces plugin, provide trial function
  • Support for the ESLint code check tool
  • Design page delete graphic optimization
  • Login page, logout optimization
  • Support for chat window interaction
  • Support for the official website, internationalization
  • Support for the official website, UI optimization
  • Support for the official website, overview optimization
  • Support for the official website, Blog optimization
  • Support for the official website, all documents optimization
  • Support for the official website, framework migration

Deployment

  • Independent deployment related scripts
  • docker-compose

Documentation

  • All co-builders list
  • ESLint & Prettier code specifications
  • SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation
  • SolidUI community - Snakemq communication source code analysis
  • Centos7.9 offline deployment of ChatGLM-6B
  • SolidUI community - Independent deployment and Docker communication analysis
  • SolidUI community - Introduction to the official website
  • SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps
  • SolidUI community - FAQ problem-solving process
  • SolidUI community - General Prompt technique
  • SolidUI community - Prompt design
  • SolidUI community - Building a character based on Prompts
  • SolidUI community - AI model proxy
  • SolidUI community - Chain of Thought (CoT) in Prompts
  • SolidUI community - Prompt self-consistency
  • SolidUI community - Discord
  • SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction

Detailed Guide

Contributors

The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)

  • dlimeng
  • nutsjian
  • jacktao007
  • 15100399015
  • ziyu211
  • limingoo
  • hgfdsa101

How to Become a Contributor

Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12

Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;

Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 5 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\] Generate a bar chart

Image description

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

Image description

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

Image description

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

Image description

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

Image description

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

Image description

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

Image description

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

Image description

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

Image description

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

Image description

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model. +

Image description

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

Image description

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

Image description

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 5 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI. +Official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click "Issues".
  3. Click the "New issue" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click "Submit new issue". +Submit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click "Pull requests", then click "New pull request".
  6. Click "compare across forks" and choose your fork and your "dev" branch.
  7. Confirm your changes, then click "Create pull request".
  8. Provide a title and description for your PR on the opened page, then click "Create pull request".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

+ + + + \ No newline at end of file diff --git a/blog/k8s.png b/blog/k8s.png new file mode 100644 index 00000000..f1d8cc4f Binary files /dev/null and b/blog/k8s.png differ diff --git a/blog/page/2/index.html b/blog/page/2/index.html new file mode 100644 index 00000000..f0ee2f3b --- /dev/null +++ b/blog/page/2/index.html @@ -0,0 +1,71 @@ + + + + + +Blog | SolidUI + + + + + + +
+

· 4 min read

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

· 7 min read

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

Snakemq介绍

SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。

SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。

Snakemq作用

  • 轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。
  • 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。
  • 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。
  • 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。
  • 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。
  • 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。
  • 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。

SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq

Snakemq 测试代码

Snakemq client.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("client", "", packeter)


connector = ("server", 8765)


link.add_connector(connector)


def on_connect(connector_id):


logger.info(f"Connected to: {connector_id}")


link.on_connect.add(on_connect)


def on_disconnect(connector_id):


logger.info(f"已断开: {connector_id}")


link.on_disconnect.add(on_disconnect)



def on_recv(conn, ident, message):


logger.info(f"client接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)


message = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)


messaging.send_message("server", message)


while True:


link.loop()


time.sleep(0.1)


Snakemq server.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("server", "", packeter)


link.add_listener(("0.0.0.0", 8765))


def on_recv(conn, ident, message):


logger.info(f"server接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)



message = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)


messaging.send_message("client", message)


# Main loop


while True:


link.loop()


time.sleep(0.1)


Dockerfile

FROM python:3.8
WORKDIR /opt/snaketmq-test

RUN pip install snakemq
RUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"
COPY . .

CMD ["python", "server.py"]

Dockerfile build & run

docker build -t snaketmq-test . 

docker network create mynet

docker run -d --name server --network mynet  snaketmq-test

docker run --network mynet  snaketmq-test python client.py

Snakemq通信

注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener(("0.0.0.0", 8765)) 这行代码

  • server: 表示SnakeMQ的服务器实例。

  • link: server中的link属性,表示网络连接管理器。

  • add_listener: 向link中添加一个监听器。

  • ("0.0.0.0", 8765): 监听的地址和端口。"0.0.0.0"表示监听所有网卡地址,"8765"表示监听8765端口。 +client connector = ("server", 8765) link.add_connector(connector) 这行代码

  • connector = ("server", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址"server"和端口8765。

  • link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。

  • 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。

结语

本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

· 6 min read

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

https://github.com/CloudOrc/SolidUI

项目名字含义

SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。

登录页含义

登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。 +在这里插入图片描述

产品思维

“少就是多”

少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。

0.1.0 版本内涵

这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。

功能列表

下面介绍下整个第一个版本功能列表。

数据源管理

  • 显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。
  • 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* +成功添加MySQL数据源,并在数据源列表中显示。
  • 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。
  • 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。
  • 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。
  • 数据源过期:可以将选中的数据源设置为过期状态。 +在这里插入图片描述

项目管理

  • 添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。
  • 查询项目列表:通过输入项目名称,可以查询并输出项目列表。
  • 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。
  • 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。
  • 项目预览

设计页面

  • 场景,增加,修改,删除,重命名。
  • 页,增加,修改,删除,重命名。
  • 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。
  • 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。
  • 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。
  • 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。
  • 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。
  • 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。
  • 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。

在这里插入图片描述

+ + + + \ No newline at end of file diff --git a/blog/pod.png b/blog/pod.png new file mode 100644 index 00000000..a3ff1dc8 Binary files /dev/null and b/blog/pod.png differ diff --git a/blog/rss.xml b/blog/rss.xml new file mode 100644 index 00000000..7bc38941 --- /dev/null +++ b/blog/rss.xml @@ -0,0 +1,87 @@ + + + + SolidUI Blog + https://cloudorc.github.io/SolidUI-Website/blog + SolidUI Blog + Tue, 05 Sep 2023 00:00:00 GMT + https://validator.w3.org/feed/docs/rss2.html + https://github.com/jpmonette/feed + en + + <![CDATA[Version Update | SolidUI 0.2.0 Release]]> + https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/0.2.0-Release + https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/0.2.0-Release + Tue, 05 Sep 2023 00:00:00 GMT + + Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Release Notes

Features

  • Design features, scene and page optimization
  • Project Preview
  • Design features, preview page
  • Support for GPT-like model proxy
  • Support for ChatGLM-like model proxy
  • Support Hugging Face Spaces plugin, provide trial function
  • Support for the ESLint code check tool
  • Design page delete graphic optimization
  • Login page, logout optimization
  • Support for chat window interaction
  • Support for the official website, internationalization
  • Support for the official website, UI optimization
  • Support for the official website, overview optimization
  • Support for the official website, Blog optimization
  • Support for the official website, all documents optimization
  • Support for the official website, framework migration

Deployment

  • Independent deployment related scripts
  • docker-compose

Documentation

  • All co-builders list
  • ESLint & Prettier code specifications
  • SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation
  • SolidUI community - Snakemq communication source code analysis
  • Centos7.9 offline deployment of ChatGLM-6B
  • SolidUI community - Independent deployment and Docker communication analysis
  • SolidUI community - Introduction to the official website
  • SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps
  • SolidUI community - FAQ problem-solving process
  • SolidUI community - General Prompt technique
  • SolidUI community - Prompt design
  • SolidUI community - Building a character based on Prompts
  • SolidUI community - AI model proxy
  • SolidUI community - Chain of Thought (CoT) in Prompts
  • SolidUI community - Prompt self-consistency
  • SolidUI community - Discord
  • SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction

Detailed Guide

Contributors

The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)

  • dlimeng
  • nutsjian
  • jacktao007
  • 15100399015
  • ziyu211
  • limingoo
  • hgfdsa101

How to Become a Contributor

Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12

Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;

Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

]]>
+ SolidUI + AI + stable-diffusion +
+ + <![CDATA[SolidUI generates any graphics in one sentence, v0.2.0 function introduction]]> + https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/0.2.0-introduction + https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/0.2.0-introduction + Tue, 05 Sep 2023 00:00:00 GMT + + Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\] Generate a bar chart

Image description

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

Image description

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

Image description

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

Image description

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

Image description

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

Image description

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

Image description

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

Image description

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

Image description

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

Image description

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model. +

Image description

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

Image description

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

Image description

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;
]]>
+ SolidUI + AI + stable-diffusion +
+ + <![CDATA[SolidUI Community - Official Website Introduction]]> + https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction + https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction + Tue, 05 Sep 2023 00:00:00 GMT + + Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI. +Official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click "Issues".
  3. Click the "New issue" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click "Submit new issue". +Submit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click "Pull requests", then click "New pull request".
  6. Click "compare across forks" and choose your fork and your "dev" branch.
  7. Confirm your changes, then click "Create pull request".
  8. Provide a title and description for your PR on the opened page, then click "Create pull request".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

]]>
+ SolidUI + AI + stable-diffusion +
+ + <![CDATA[SolidUI社区-独立部署和Docker通信分析]]> + https://cloudorc.github.io/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis + https://cloudorc.github.io/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis + Mon, 03 Jul 2023 00:00:00 GMT + + 背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
]]>
+ SolidUI + AIGC + stable-diffusion +
+ + <![CDATA[SolidUI社区-Snakemq通信源码分析]]> + https://cloudorc.github.io/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis + https://cloudorc.github.io/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis + Sun, 02 Jul 2023 00:00:00 GMT + + 背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

Snakemq介绍

SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。

SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。

Snakemq作用

  • 轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。
  • 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。
  • 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。
  • 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。
  • 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。
  • 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。
  • 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。

SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq

Snakemq 测试代码

Snakemq client.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("client", "", packeter)


connector = ("server", 8765)


link.add_connector(connector)


def on_connect(connector_id):


logger.info(f"Connected to: {connector_id}")


link.on_connect.add(on_connect)


def on_disconnect(connector_id):


logger.info(f"已断开: {connector_id}")


link.on_disconnect.add(on_disconnect)



def on_recv(conn, ident, message):


logger.info(f"client接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)


message = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)


messaging.send_message("server", message)


while True:


link.loop()


time.sleep(0.1)


Snakemq server.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("server", "", packeter)


link.add_listener(("0.0.0.0", 8765))


def on_recv(conn, ident, message):


logger.info(f"server接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)



message = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)


messaging.send_message("client", message)


# Main loop


while True:


link.loop()


time.sleep(0.1)


Dockerfile

FROM python:3.8
WORKDIR /opt/snaketmq-test

RUN pip install snakemq
RUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"
COPY . .

CMD ["python", "server.py"]

Dockerfile build & run

docker build -t snaketmq-test . 

docker network create mynet

docker run -d --name server --network mynet  snaketmq-test

docker run --network mynet  snaketmq-test python client.py

Snakemq通信

注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener(("0.0.0.0", 8765)) 这行代码

  • server: 表示SnakeMQ的服务器实例。

  • link: server中的link属性,表示网络连接管理器。

  • add_listener: 向link中添加一个监听器。

  • ("0.0.0.0", 8765): 监听的地址和端口。"0.0.0.0"表示监听所有网卡地址,"8765"表示监听8765端口。 +client connector = ("server", 8765) link.add_connector(connector) 这行代码

  • connector = ("server", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址"server"和端口8765。

  • link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。

  • 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。

结语

本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
]]>
+ SolidUI + AIGC + stable-diffusion +
+ + <![CDATA[SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解]]> + https://cloudorc.github.io/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0 + https://cloudorc.github.io/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0 + Sat, 01 Jul 2023 00:00:00 GMT + + 背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

https://github.com/CloudOrc/SolidUI

项目名字含义

SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。

登录页含义

登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。 +在这里插入图片描述

产品思维

“少就是多”

少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。

0.1.0 版本内涵

这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。

功能列表

下面介绍下整个第一个版本功能列表。

数据源管理

  • 显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。
  • 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* +成功添加MySQL数据源,并在数据源列表中显示。
  • 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。
  • 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。
  • 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。
  • 数据源过期:可以将选中的数据源设置为过期状态。 +在这里插入图片描述

项目管理

  • 添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。
  • 查询项目列表:通过输入项目名称,可以查询并输出项目列表。
  • 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。
  • 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。
  • 项目预览

设计页面

  • 场景,增加,修改,删除,重命名。
  • 页,增加,修改,删除,重命名。
  • 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。
  • 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。
  • 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。
  • 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。
  • 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。
  • 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。
  • 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。

在这里插入图片描述

]]>
+ SolidUI + AIGC + stable-diffusion +
+
+
\ No newline at end of file diff --git a/blog/sqlverify.png b/blog/sqlverify.png new file mode 100644 index 00000000..45aa0762 Binary files /dev/null and b/blog/sqlverify.png differ diff --git a/blog/start.png b/blog/start.png new file mode 100644 index 00000000..cabe8ce1 Binary files /dev/null and b/blog/start.png differ diff --git a/blog/tags/ai/index.html b/blog/tags/ai/index.html new file mode 100644 index 00000000..5ca2606c --- /dev/null +++ b/blog/tags/ai/index.html @@ -0,0 +1,68 @@ + + + + + +3 posts tagged with "AI" | SolidUI + + + + + + +
+

3 posts tagged with "AI"

View All Tags

· 4 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Release Notes

Features

  • Design features, scene and page optimization
  • Project Preview
  • Design features, preview page
  • Support for GPT-like model proxy
  • Support for ChatGLM-like model proxy
  • Support Hugging Face Spaces plugin, provide trial function
  • Support for the ESLint code check tool
  • Design page delete graphic optimization
  • Login page, logout optimization
  • Support for chat window interaction
  • Support for the official website, internationalization
  • Support for the official website, UI optimization
  • Support for the official website, overview optimization
  • Support for the official website, Blog optimization
  • Support for the official website, all documents optimization
  • Support for the official website, framework migration

Deployment

  • Independent deployment related scripts
  • docker-compose

Documentation

  • All co-builders list
  • ESLint & Prettier code specifications
  • SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation
  • SolidUI community - Snakemq communication source code analysis
  • Centos7.9 offline deployment of ChatGLM-6B
  • SolidUI community - Independent deployment and Docker communication analysis
  • SolidUI community - Introduction to the official website
  • SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps
  • SolidUI community - FAQ problem-solving process
  • SolidUI community - General Prompt technique
  • SolidUI community - Prompt design
  • SolidUI community - Building a character based on Prompts
  • SolidUI community - AI model proxy
  • SolidUI community - Chain of Thought (CoT) in Prompts
  • SolidUI community - Prompt self-consistency
  • SolidUI community - Discord
  • SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction

Detailed Guide

Contributors

The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)

  • dlimeng
  • nutsjian
  • jacktao007
  • 15100399015
  • ziyu211
  • limingoo
  • hgfdsa101

How to Become a Contributor

Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12

Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;

Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 5 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\] Generate a bar chart

Image description

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

Image description

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

Image description

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

Image description

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

Image description

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

Image description

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

Image description

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

Image description

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

Image description

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

Image description

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model. +

Image description

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

Image description

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

Image description

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 5 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI. +Official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click "Issues".
  3. Click the "New issue" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click "Submit new issue". +Submit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click "Pull requests", then click "New pull request".
  6. Click "compare across forks" and choose your fork and your "dev" branch.
  7. Confirm your changes, then click "Create pull request".
  8. Provide a title and description for your PR on the opened page, then click "Create pull request".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

+ + + + \ No newline at end of file diff --git a/blog/tags/aigc/index.html b/blog/tags/aigc/index.html new file mode 100644 index 00000000..25d4ff5b --- /dev/null +++ b/blog/tags/aigc/index.html @@ -0,0 +1,71 @@ + + + + + +3 posts tagged with "AIGC" | SolidUI + + + + + + +
+

3 posts tagged with "AIGC"

View All Tags

· 4 min read

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

· 7 min read

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

Snakemq介绍

SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。

SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。

Snakemq作用

  • 轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。
  • 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。
  • 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。
  • 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。
  • 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。
  • 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。
  • 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。

SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq

Snakemq 测试代码

Snakemq client.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("client", "", packeter)


connector = ("server", 8765)


link.add_connector(connector)


def on_connect(connector_id):


logger.info(f"Connected to: {connector_id}")


link.on_connect.add(on_connect)


def on_disconnect(connector_id):


logger.info(f"已断开: {connector_id}")


link.on_disconnect.add(on_disconnect)



def on_recv(conn, ident, message):


logger.info(f"client接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)


message = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)


messaging.send_message("server", message)


while True:


link.loop()


time.sleep(0.1)


Snakemq server.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("server", "", packeter)


link.add_listener(("0.0.0.0", 8765))


def on_recv(conn, ident, message):


logger.info(f"server接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)



message = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)


messaging.send_message("client", message)


# Main loop


while True:


link.loop()


time.sleep(0.1)


Dockerfile

FROM python:3.8
WORKDIR /opt/snaketmq-test

RUN pip install snakemq
RUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"
COPY . .

CMD ["python", "server.py"]

Dockerfile build & run

docker build -t snaketmq-test . 

docker network create mynet

docker run -d --name server --network mynet  snaketmq-test

docker run --network mynet  snaketmq-test python client.py

Snakemq通信

注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener(("0.0.0.0", 8765)) 这行代码

  • server: 表示SnakeMQ的服务器实例。

  • link: server中的link属性,表示网络连接管理器。

  • add_listener: 向link中添加一个监听器。

  • ("0.0.0.0", 8765): 监听的地址和端口。"0.0.0.0"表示监听所有网卡地址,"8765"表示监听8765端口。 +client connector = ("server", 8765) link.add_connector(connector) 这行代码

  • connector = ("server", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址"server"和端口8765。

  • link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。

  • 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。

结语

本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

· 6 min read

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

https://github.com/CloudOrc/SolidUI

项目名字含义

SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。

登录页含义

登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。 +在这里插入图片描述

产品思维

“少就是多”

少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。

0.1.0 版本内涵

这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。

功能列表

下面介绍下整个第一个版本功能列表。

数据源管理

  • 显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。
  • 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* +成功添加MySQL数据源,并在数据源列表中显示。
  • 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。
  • 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。
  • 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。
  • 数据源过期:可以将选中的数据源设置为过期状态。 +在这里插入图片描述

项目管理

  • 添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。
  • 查询项目列表:通过输入项目名称,可以查询并输出项目列表。
  • 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。
  • 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。
  • 项目预览

设计页面

  • 场景,增加,修改,删除,重命名。
  • 页,增加,修改,删除,重命名。
  • 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。
  • 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。
  • 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。
  • 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。
  • 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。
  • 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。
  • 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。

在这里插入图片描述

+ + + + \ No newline at end of file diff --git a/blog/tags/index.html b/blog/tags/index.html new file mode 100644 index 00000000..b72c53aa --- /dev/null +++ b/blog/tags/index.html @@ -0,0 +1,65 @@ + + + + + +Tags | SolidUI + + + + + + + + + + + \ No newline at end of file diff --git a/blog/tags/solid-ui/index.html b/blog/tags/solid-ui/index.html new file mode 100644 index 00000000..883070b5 --- /dev/null +++ b/blog/tags/solid-ui/index.html @@ -0,0 +1,68 @@ + + + + + +6 posts tagged with "SolidUI" | SolidUI + + + + + + +
+

6 posts tagged with "SolidUI"

View All Tags

· 4 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Release Notes

Features

  • Design features, scene and page optimization
  • Project Preview
  • Design features, preview page
  • Support for GPT-like model proxy
  • Support for ChatGLM-like model proxy
  • Support Hugging Face Spaces plugin, provide trial function
  • Support for the ESLint code check tool
  • Design page delete graphic optimization
  • Login page, logout optimization
  • Support for chat window interaction
  • Support for the official website, internationalization
  • Support for the official website, UI optimization
  • Support for the official website, overview optimization
  • Support for the official website, Blog optimization
  • Support for the official website, all documents optimization
  • Support for the official website, framework migration

Deployment

  • Independent deployment related scripts
  • docker-compose

Documentation

  • All co-builders list
  • ESLint & Prettier code specifications
  • SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation
  • SolidUI community - Snakemq communication source code analysis
  • Centos7.9 offline deployment of ChatGLM-6B
  • SolidUI community - Independent deployment and Docker communication analysis
  • SolidUI community - Introduction to the official website
  • SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps
  • SolidUI community - FAQ problem-solving process
  • SolidUI community - General Prompt technique
  • SolidUI community - Prompt design
  • SolidUI community - Building a character based on Prompts
  • SolidUI community - AI model proxy
  • SolidUI community - Chain of Thought (CoT) in Prompts
  • SolidUI community - Prompt self-consistency
  • SolidUI community - Discord
  • SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction

Detailed Guide

Contributors

The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)

  • dlimeng
  • nutsjian
  • jacktao007
  • 15100399015
  • ziyu211
  • limingoo
  • hgfdsa101

How to Become a Contributor

Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12

Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;

Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 5 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\] Generate a bar chart

Image description

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

Image description

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

Image description

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

Image description

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

Image description

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

Image description

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

Image description

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

Image description

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

Image description

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

Image description

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model. +

Image description

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

Image description

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

Image description

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 5 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI. +Official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click "Issues".
  3. Click the "New issue" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click "Submit new issue". +Submit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click "Pull requests", then click "New pull request".
  6. Click "compare across forks" and choose your fork and your "dev" branch.
  7. Confirm your changes, then click "Create pull request".
  8. Provide a title and description for your PR on the opened page, then click "Create pull request".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

+ + + + \ No newline at end of file diff --git a/blog/tags/solid-ui/page/2/index.html b/blog/tags/solid-ui/page/2/index.html new file mode 100644 index 00000000..a81e804d --- /dev/null +++ b/blog/tags/solid-ui/page/2/index.html @@ -0,0 +1,71 @@ + + + + + +6 posts tagged with "SolidUI" | SolidUI + + + + + + +
+

6 posts tagged with "SolidUI"

View All Tags

· 4 min read

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

· 7 min read

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

Snakemq介绍

SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。

SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。

Snakemq作用

  • 轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。
  • 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。
  • 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。
  • 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。
  • 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。
  • 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。
  • 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。

SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq

Snakemq 测试代码

Snakemq client.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("client", "", packeter)


connector = ("server", 8765)


link.add_connector(connector)


def on_connect(connector_id):


logger.info(f"Connected to: {connector_id}")


link.on_connect.add(on_connect)


def on_disconnect(connector_id):


logger.info(f"已断开: {connector_id}")


link.on_disconnect.add(on_disconnect)



def on_recv(conn, ident, message):


logger.info(f"client接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)


message = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)


messaging.send_message("server", message)


while True:


link.loop()


time.sleep(0.1)


Snakemq server.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("server", "", packeter)


link.add_listener(("0.0.0.0", 8765))


def on_recv(conn, ident, message):


logger.info(f"server接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)



message = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)


messaging.send_message("client", message)


# Main loop


while True:


link.loop()


time.sleep(0.1)


Dockerfile

FROM python:3.8
WORKDIR /opt/snaketmq-test

RUN pip install snakemq
RUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"
COPY . .

CMD ["python", "server.py"]

Dockerfile build & run

docker build -t snaketmq-test . 

docker network create mynet

docker run -d --name server --network mynet  snaketmq-test

docker run --network mynet  snaketmq-test python client.py

Snakemq通信

注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener(("0.0.0.0", 8765)) 这行代码

  • server: 表示SnakeMQ的服务器实例。

  • link: server中的link属性,表示网络连接管理器。

  • add_listener: 向link中添加一个监听器。

  • ("0.0.0.0", 8765): 监听的地址和端口。"0.0.0.0"表示监听所有网卡地址,"8765"表示监听8765端口。 +client connector = ("server", 8765) link.add_connector(connector) 这行代码

  • connector = ("server", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址"server"和端口8765。

  • link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。

  • 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。

结语

本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

· 6 min read

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

https://github.com/CloudOrc/SolidUI

项目名字含义

SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。

登录页含义

登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。 +在这里插入图片描述

产品思维

“少就是多”

少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。

0.1.0 版本内涵

这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。

功能列表

下面介绍下整个第一个版本功能列表。

数据源管理

  • 显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。
  • 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* +成功添加MySQL数据源,并在数据源列表中显示。
  • 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。
  • 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。
  • 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。
  • 数据源过期:可以将选中的数据源设置为过期状态。 +在这里插入图片描述

项目管理

  • 添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。
  • 查询项目列表:通过输入项目名称,可以查询并输出项目列表。
  • 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。
  • 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。
  • 项目预览

设计页面

  • 场景,增加,修改,删除,重命名。
  • 页,增加,修改,删除,重命名。
  • 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。
  • 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。
  • 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。
  • 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。
  • 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。
  • 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。
  • 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。

在这里插入图片描述

+ + + + \ No newline at end of file diff --git a/blog/tags/stable-diffusion/index.html b/blog/tags/stable-diffusion/index.html new file mode 100644 index 00000000..953c7960 --- /dev/null +++ b/blog/tags/stable-diffusion/index.html @@ -0,0 +1,68 @@ + + + + + +6 posts tagged with "stable-diffusion" | SolidUI + + + + + + +
+

6 posts tagged with "stable-diffusion"

View All Tags

· 4 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Release Notes

Features

  • Design features, scene and page optimization
  • Project Preview
  • Design features, preview page
  • Support for GPT-like model proxy
  • Support for ChatGLM-like model proxy
  • Support Hugging Face Spaces plugin, provide trial function
  • Support for the ESLint code check tool
  • Design page delete graphic optimization
  • Login page, logout optimization
  • Support for chat window interaction
  • Support for the official website, internationalization
  • Support for the official website, UI optimization
  • Support for the official website, overview optimization
  • Support for the official website, Blog optimization
  • Support for the official website, all documents optimization
  • Support for the official website, framework migration

Deployment

  • Independent deployment related scripts
  • docker-compose

Documentation

  • All co-builders list
  • ESLint & Prettier code specifications
  • SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation
  • SolidUI community - Snakemq communication source code analysis
  • Centos7.9 offline deployment of ChatGLM-6B
  • SolidUI community - Independent deployment and Docker communication analysis
  • SolidUI community - Introduction to the official website
  • SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps
  • SolidUI community - FAQ problem-solving process
  • SolidUI community - General Prompt technique
  • SolidUI community - Prompt design
  • SolidUI community - Building a character based on Prompts
  • SolidUI community - AI model proxy
  • SolidUI community - Chain of Thought (CoT) in Prompts
  • SolidUI community - Prompt self-consistency
  • SolidUI community - Discord
  • SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction

Detailed Guide

Contributors

The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)

  • dlimeng
  • nutsjian
  • jacktao007
  • 15100399015
  • ziyu211
  • limingoo
  • hgfdsa101

How to Become a Contributor

Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12

Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;

Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 5 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\] Generate a bar chart

Image description

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

Image description

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

Image description

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

Image description

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

Image description

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

Image description

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

Image description

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

Image description

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

Image description

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

Image description

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model. +

Image description

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

Image description

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

Image description

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 5 min read

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI. +Official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click "Issues".
  3. Click the "New issue" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click "Submit new issue". +Submit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click "Pull requests", then click "New pull request".
  6. Click "compare across forks" and choose your fork and your "dev" branch.
  7. Confirm your changes, then click "Create pull request".
  8. Provide a title and description for your PR on the opened page, then click "Create pull request".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

+ + + + \ No newline at end of file diff --git a/blog/tags/stable-diffusion/page/2/index.html b/blog/tags/stable-diffusion/page/2/index.html new file mode 100644 index 00000000..93818279 --- /dev/null +++ b/blog/tags/stable-diffusion/page/2/index.html @@ -0,0 +1,71 @@ + + + + + +6 posts tagged with "stable-diffusion" | SolidUI + + + + + + +
+

6 posts tagged with "stable-diffusion"

View All Tags

· 4 min read

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

· 7 min read

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

Snakemq介绍

SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。

SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。

Snakemq作用

  • 轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。
  • 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。
  • 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。
  • 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。
  • 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。
  • 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。
  • 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。

SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq

Snakemq 测试代码

Snakemq client.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("client", "", packeter)


connector = ("server", 8765)


link.add_connector(connector)


def on_connect(connector_id):


logger.info(f"Connected to: {connector_id}")


link.on_connect.add(on_connect)


def on_disconnect(connector_id):


logger.info(f"已断开: {connector_id}")


link.on_disconnect.add(on_disconnect)



def on_recv(conn, ident, message):


logger.info(f"client接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)


message = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)


messaging.send_message("server", message)


while True:


link.loop()


time.sleep(0.1)


Snakemq server.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("server", "", packeter)


link.add_listener(("0.0.0.0", 8765))


def on_recv(conn, ident, message):


logger.info(f"server接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)



message = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)


messaging.send_message("client", message)


# Main loop


while True:


link.loop()


time.sleep(0.1)


Dockerfile

FROM python:3.8
WORKDIR /opt/snaketmq-test

RUN pip install snakemq
RUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"
COPY . .

CMD ["python", "server.py"]

Dockerfile build & run

docker build -t snaketmq-test . 

docker network create mynet

docker run -d --name server --network mynet  snaketmq-test

docker run --network mynet  snaketmq-test python client.py

Snakemq通信

注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener(("0.0.0.0", 8765)) 这行代码

  • server: 表示SnakeMQ的服务器实例。

  • link: server中的link属性,表示网络连接管理器。

  • add_listener: 向link中添加一个监听器。

  • ("0.0.0.0", 8765): 监听的地址和端口。"0.0.0.0"表示监听所有网卡地址,"8765"表示监听8765端口。 +client connector = ("server", 8765) link.add_connector(connector) 这行代码

  • connector = ("server", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址"server"和端口8765。

  • link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。

  • 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。

结语

本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

· 6 min read

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

https://github.com/CloudOrc/SolidUI

项目名字含义

SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。

登录页含义

登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。 +在这里插入图片描述

产品思维

“少就是多”

少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。

0.1.0 版本内涵

这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。

功能列表

下面介绍下整个第一个版本功能列表。

数据源管理

  • 显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。
  • 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* +成功添加MySQL数据源,并在数据源列表中显示。
  • 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。
  • 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。
  • 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。
  • 数据源过期:可以将选中的数据源设置为过期状态。 +在这里插入图片描述

项目管理

  • 添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。
  • 查询项目列表:通过输入项目名称,可以查询并输出项目列表。
  • 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。
  • 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。
  • 项目预览

设计页面

  • 场景,增加,修改,删除,重命名。
  • 页,增加,修改,删除,重命名。
  • 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。
  • 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。
  • 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。
  • 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。
  • 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。
  • 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。
  • 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。

在这里插入图片描述

+ + + + \ No newline at end of file diff --git a/community/contribution_guide/become_committer/index.html b/community/contribution_guide/become_committer/index.html new file mode 100644 index 00000000..0bc5cbed --- /dev/null +++ b/community/contribution_guide/become_committer/index.html @@ -0,0 +1,65 @@ + + + + + +Become committer | SolidUI + + + + + + +
+

How to participate in project contribution

Many thanks for contributing to the SolidUI project! Before contributing, please read the following guidelines carefully.

1. Contribution category

1.1 Bug feedback and fixes

We recommend that whether it is bug feedback or repair, first create an Issue to describe the status of the bug in detail, so that the community can find and review the problem and code through the Issue record. Bug feedback Issues usually need to include full information describing the bug and reproducible scenarios, so that the community can quickly locate the cause of the bug and fix it. Open Issues with #bug tags are those that need to be fixed.

1.2 Function communication, implementation, refactoring

In the communication process, describing in detail the details, mechanism and usage scenarios of the new function (or refactoring) can promote its better and faster implementation (including test cases and codes, and CI/CD related work). If you plan to implement a major function (or refactoring), please be sure to communicate with the core development team via Issue or other means, so that everyone can promote it in the most efficient way. Open Issues containing #feature tags are all new features that need to be implemented, and open Issues containing #enhancement tags are all functions that need to be improved and refactored.

1.3 Issue Answers

Helping to answer usage questions in Issues is a very valuable way to contribute to the SolidUI community; there are always new users in the community, and you can show your expertise while helping new users.

1.4 Documentation improvements

The SolidUI documentation is located at SolidUI-Website, and the completion of the documentation is also crucial to the development of SolidUI.

1.5 Others

Including participating in and helping to organize community exchanges, community operation activities, etc., and other activities that can help SolidUI projects and communities.

2. Contribution process

2.1 Branch structure

The SolidUI source code may generate some temporary branches, but two are only the following three branches that are really meaningful:

  • release-*: Stable release version;
  • dev: The daily development branch, which is also the target branch for everyone to contribute code. If you want to contribute code, please create a new branch based on the dev branch. When the version is released, a new release branch will be created based on dev;

2.1.1 Concept

2.1.2 Synchronize the latest code from the Upstream warehouse branch to your own Fork warehouse

  • step1 Enter the user project page, select the branch to be updated
  • step2 Click Fetch upstream under the code download button, select Fetch and merge (if the branch of your own Fork warehouse is accidentally polluted, you can delete the branch, and then synchronize the new branch of the Upstream warehouse to your own Fork warehouse, see the guide [Synchronize Upstream Branch the latest code from the warehouse to your own Fork warehouse](#213-Synchronize the new branch of the Upstream warehouse to your own Fork warehouse))

2.1.3 Synchronize the new branch of the Upstream warehouse to your own Fork warehouse

Scenario: There is a new branch in the Upstream repository, but the forked repository does not have this branch (you can choose to delete it and re-fork, but the changes that have not been merged to the original repository will be lost)

  • step1 Open the Git command line tool (such as Git Bash), clone your own Fork warehouse to the local
git clone https://github.com/{your_github_username}/SolidUI.git
  • step2 enter the local warehouse directory
cd SolidUI
  • step3 Add Upstream warehouse as remote warehouse
git remote add upstream https://github.com/CloudOrc/SolidUI.git
  • step4 Get the branch information of the Upstream warehouse
git fetch upstream
  • step5 Synchronize the new branch of the Upstream warehouse to the local
git checkout -b {new_branch_name} upstream/{new_branch_name}
  • step6 Push the new branch to your own Fork repository
git push --set-upstream origin {new_branch_name}

2.1.4 A pr process

  • step1 Confirm the base branch of the current development (usually the current version in progress, such as the version 0.2.0 currently under development in the community, then the branch is dev, if you are not sure, you can ask in the community group or @related in the issue classmate)

  • step2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse branch, refer to the guide [2.1.2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse]

  • step3 Based on the development branch, pull the new fix/feature branch (do not directly modify the original branch, if the subsequent pr is merged in squash mode, the submitted commit records will be merged into one)

git checkout -b dev-fix dev
git push origin dev-fix:dev-fix
  • step4 for development
  • step5 Submit pr (if it is in progress and the development has not been completely completed, please add the WIP logo to the pr title, such as [WIP] Dev 0.2.0 Add junit test code for [solidui-common]; associate the corresponding issue etc.)
  • step6 waiting to be merged
  • step7 delete the fix/future branch (you can do it on the github page)
git branch -d dev-fix
git push

2.2 Development Guidelines

The front-end and back-end codes of SolidUI share the same code base, but are separated in development. Before starting development, please fork a copy of the SolidUI project to your own Github Repositories, and develop based on the SolidUI code base in your own Github Repositories.

We recommend cloning the dev branch and naming it dev-fix for development. At the same time, create a new dev-fix branch in your warehouse and modify it directly on the original branch. If the subsequent pr is merged in squash mode, the submitted commit records will be merged into one

# pull branch
git clone https://github.com/{githubid}/SolidUI.git --branch dev
#Generate local dev-fix branch according to dev
git checkout -b dev-fix dev
#Push the local dev-fix branch to your own warehouse
git push origin dev-fix dev-fix

2.3 Issue submission guidelines

  • If you don't know how to initiate a PR to an open source project, please refer to About issues
  • The name of the issue, which should briefly describe your problem or suggestion in one sentence; for the international promotion of the project, please write the issue in English, or bilingual Chinese and English
  • For each Issue, please bring at least a label. Reference: issue #63

2.4 Pull Request (PR) submission guidelines

  • If you don't know how to initiate a PR to an open source project, please refer to [About pull requests](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull -requests)

  • Whether it's a bug fix or a new feature development, please submit a PR to the dev branch

  • PR and commit name follow the principle of <type>(<scope>): <subject>, for details, please refer to Commit message and Change log writing guide

  • If a PR includes new features, documentation updates should be included in this PR

  • If the PR is not ready to be merged, prefix the name with [WIP] (WIP = work-in-progress)

  • All commits to dev-* branches need to be reviewed at least once before they can be merged

2.5 Review Criteria

Before contributing code, find out what kind of commits are welcome in Review. Simply put, if a commit brings as much gain as possible with as few side effects or risks as possible, the more likely it will be merged and the faster it will be reviewed. Commits with high risk and low value are almost impossible to be merged, and may be rejected for Review.

2.5.1 Gains

  • Fix the main cause of the bug
  • Add or fix a feature or bug that was requested by a large number of users
  • simple and effective
  • Easy to test, with test cases
  • Reduce complexity and code size
  • Issues identified for improvement discussed by the community

2.5.2 Side Effects and Risks

  • only fix the surface of the bug
  • Introducing new features with high complexity
  • Adding complexity to meet niche needs
  • Changes to stable existing APIs or semantics
  • Cause other functions not to work properly
  • Add a lot of dependencies
  • Feel free to change dependency versions
  • Commit a lot of code or changes at once

2.5.3 Reviewer Notes

  • Please write comments in a constructive tone
  • If the submitter needs to make changes, please clearly state all the changes that need to be made to complete this Pull Request
  • If a PR is found to have brought new problems after merging, Reviewer needs to contact the PR author and communicate to solve the problem; if the PR author cannot be contacted, Reviewer needs to restore the PR

3. Advanced contribution

3.1 About Committers (Collaborators)

3.1.1 How to become a Committer

If you have submitted a valuable PR to SolidUI and it has been merged, or have contributed continuously for more than half a year, and have led at least one version release, you can find a PMC of the SolidUI project through the official WeChat group, if he is willing to nominate you as a committer , and are willing to state your contribution to all PMCs and Committers for you, then a vote will be launched; PMC and other Committers will vote together to decide whether to allow you to join, if you get enough votes, you will become a Committer of the SolidUI project .

3.1.2 Committer's rights

  • You can join the official developer WeChat group to participate in discussions and formulate SolidUI development plans
  • Can manage Issues, including closing and adding tags
  • Can create and manage project branches, except dev branch
  • Ability to review PRs submitted to the dev branch
  • Can apply to become a Committee member

3.2 About the Committee

3.2.1 How to become a Committee member

If you are a Committer of the SolidUI project, and all the content you contributed has been recognized by other Committee members, you can apply to become a member of the SolidUI Committee, and other Committee members will vote together to decide whether to allow you to join. If all votes pass, you will Become a SolidUI Committee member.

3.2.2 Rights of Committee members

  • Ability to merge PRs submitted by other Committers and contributors to the dev branch
  • Participate in determining the roadmap and development direction of the SolidUI project
  • Can participate in new version releases
+ + + + \ No newline at end of file diff --git a/community/submit_guide/document/index.html b/community/submit_guide/document/index.html new file mode 100644 index 00000000..4d07c2ea --- /dev/null +++ b/community/submit_guide/document/index.html @@ -0,0 +1,67 @@ + + + + + +Documentation Notice | SolidUI + + + + + + +
+

Documentation Notice

Good documentation is critical for any type of software. Any contribution that can improve the SolidUI documentation is welcome.

Get the document project

Documentation for the SolidUI project is maintained in a separate git repository.

First you need to fork the document project into your own github repository, and then clone the document to your local computer.

git clone git@github.com:<your-github-user-name>/SolidUI-Website.git

Preview and generate static files

This website is compiled using node, using Docusaurus framework components

  1. Download and install nodejs (version>12.5.0)
  2. Clone the code to the local git clone git@github.com:CloudOrc/SolidUI-Website.git
  3. Run npm install to install the required dependent libraries.
  4. Run npm run start in the root directory, you can visit http://localhost:3000 to view the English mode preview of the site
  5. Run npm run start-zh in the root directory, you can visit http://localhost:3000 to view the Chinese mode preview of the site
  6. To generate static website resource files, run npm run build. The static resources of the build are in the build directory.

Directory structure

|-- community
|-- docs // The next version of the document that will be released soon
|-- download
|-- faq // Q&A
|-- i18n
| `-- zh-CN //Internationalized Chinese
| |-- code.json
| |-- docusaurus-plugin-content-docs
| |-- docusaurus-plugin-content-docs-community
| |-- docusaurus-plugin-content-docs-download
| |-- docusaurus-plugin-content-docs-faq
| `-- docusaurus-theme-classic
|-- resource // Original project files for architecture/timing diagram/flow chart, etc.
|-- src
| |-- components
| |-- css
| |-- js
| |-- pages
| | |-- home
| | |-- index.jsx
| | |-- team
| | |-- user
| | `-- versions
| |-- styles
|-- static // Picture static resource
| |-- doc // document picture
| |-- user // users picture
| |-- home // homepage picture
| |-- img // common picture
|-- docusaurus.config.js

Specification

Directory naming convention

Use all lowercase, separated by underscores. If there is a plural structure, use plural nomenclature, and do not use plural abbreviations

Positive example: scripts / styles / components / images / utils / layouts / demo_styles / demo-scripts / img / doc

Counter example: script / style / demoStyles / imgs / docs

Vue and the naming convention of static resource files

All lowercase, separated by a dash

Positive example: render-dom.js / signup.css / index.html / company-logo.png

Counter example: renderDom.js / UserManagement.html

Resource Path

Image resources are unified under static/{module name}

css and other style files are placed in the src/css directory

Page content modification

Except for the homepage, team, user, Docs>All Version module page, all other pages can be directly jumped to the corresponding github resource modification page through the'Edit this page' button at the bottom

Home page modification

Visit the page https://cloudorc.github.io/SolidUI-Website/ +Located in src/pages/home

├─home
│ languages.json // Home page Chinese and English configuration
│ index.less // homepage style

Team page modification

Visit the page https://cloudorc.github.io/SolidUI-Website/team +Located in src/pages/team

├─team
│ languages.json
│ index.js
│ index.less

User list page modification

Visit the page https://github.com/CloudOrc/SolidUI/issues/1

+ + + + \ No newline at end of file diff --git a/community/submit_guide/submit_code/index.html b/community/submit_guide/submit_code/index.html new file mode 100644 index 00000000..fdf97ca9 --- /dev/null +++ b/community/submit_guide/submit_code/index.html @@ -0,0 +1,65 @@ + + + + + +Submit Code | SolidUI + + + + + + +
+

Submit Code

  • First from the remote repository https://github.com/CloudOrc/SolidUI.git fork a copy of the code into your own repository

  • There are currently three branches in the remote repository:

    • dev daily development branch

      Every day dev development branch, newly submitted code can pull request to this branch.

    • 1.0.0-release release version branch

      The release version branch, there will be 2.0...and other version branches in the future.

  • Clone your repository to your local

    git clone git@github.com:CloudOrc/SolidUI.git
  • Add remote repository address, named upstream

    git remote add upstream git@github.com:CloudOrc/SolidUI.git
  • View repository

    git remote -v

    At this time, there will be two repositories: origin (your own repository) and upstream (remote repository)

  • Get/Update remote repository code

    git fetch upstream
  • Synchronize remote repository code to local repository

    git checkout origin/dev
    git merge --no-ff upstream/dev
  • After modifying the code locally, submit it to your own repository:

    git commit -m 'commit content'
    git push
  • Submit changes to the remote repository

  • On the github page, click "New pull request".

  • Select the modified local branch and the branch you want to merge with the past, click "Create pull request".

  • Then the community Committers will do CodeReview, and then he will discuss some details (including design, implementation, performance, etc.) with you. When everyone on the team is satisfied with this modification, the commit will be merged into the dev branch

  • Finally, congratulations, you have become an official contributor to SolidUI !

+ + + + \ No newline at end of file diff --git a/doc/image/020/image03.png b/doc/image/020/image03.png new file mode 100644 index 00000000..bd5cf0ed Binary files /dev/null and b/doc/image/020/image03.png differ diff --git a/doc/image/020/image1.png b/doc/image/020/image1.png new file mode 100644 index 00000000..92514014 Binary files /dev/null and b/doc/image/020/image1.png differ diff --git a/doc/image/020/image2.png b/doc/image/020/image2.png new file mode 100644 index 00000000..f4335e56 Binary files /dev/null and b/doc/image/020/image2.png differ diff --git a/doc/image/020/images04.png b/doc/image/020/images04.png new file mode 100644 index 00000000..4f8974b5 Binary files /dev/null and b/doc/image/020/images04.png differ diff --git a/doc/image/020/images05.png b/doc/image/020/images05.png new file mode 100644 index 00000000..393f4c62 Binary files /dev/null and b/doc/image/020/images05.png differ diff --git a/doc/image/020/images06.png b/doc/image/020/images06.png new file mode 100644 index 00000000..3164290d Binary files /dev/null and b/doc/image/020/images06.png differ diff --git a/doc/image/020/images07.png b/doc/image/020/images07.png new file mode 100644 index 00000000..182cda25 Binary files /dev/null and b/doc/image/020/images07.png differ diff --git a/doc/image/020/images08.png b/doc/image/020/images08.png new file mode 100644 index 00000000..13c68ef0 Binary files /dev/null and b/doc/image/020/images08.png differ diff --git a/doc/image/020/images09.png b/doc/image/020/images09.png new file mode 100644 index 00000000..4b3aaa9b Binary files /dev/null and b/doc/image/020/images09.png differ diff --git a/doc/image/020/images10.png b/doc/image/020/images10.png new file mode 100644 index 00000000..3f2ef678 Binary files /dev/null and b/doc/image/020/images10.png differ diff --git a/doc/image/020/images11.jpeg b/doc/image/020/images11.jpeg new file mode 100644 index 00000000..bbaa2433 Binary files /dev/null and b/doc/image/020/images11.jpeg differ diff --git a/doc/image/020/images12.png b/doc/image/020/images12.png new file mode 100644 index 00000000..b93e30a0 Binary files /dev/null and b/doc/image/020/images12.png differ diff --git a/doc/image/020/images13.png b/doc/image/020/images13.png new file mode 100644 index 00000000..6eb9404a Binary files /dev/null and b/doc/image/020/images13.png differ diff --git a/doc/image/designpage.png b/doc/image/designpage.png new file mode 100644 index 00000000..0fdfed93 Binary files /dev/null and b/doc/image/designpage.png differ diff --git a/doc/image/front-end-architecture/SolidUI_Front-end_Architecture_Design.png b/doc/image/front-end-architecture/SolidUI_Front-end_Architecture_Design.png new file mode 100644 index 00000000..9aef15c8 Binary files /dev/null and b/doc/image/front-end-architecture/SolidUI_Front-end_Architecture_Design.png differ diff --git a/doc/image/front-end-architecture/SolidUI_Front-end_Overview.png b/doc/image/front-end-architecture/SolidUI_Front-end_Overview.png new file mode 100644 index 00000000..1088558b Binary files /dev/null and b/doc/image/front-end-architecture/SolidUI_Front-end_Overview.png differ diff --git a/doc/image/front-end-architecture/SolidUI_SolidEditor_DesignAndPreview.png b/doc/image/front-end-architecture/SolidUI_SolidEditor_DesignAndPreview.png new file mode 100644 index 00000000..0a066d12 Binary files /dev/null and b/doc/image/front-end-architecture/SolidUI_SolidEditor_DesignAndPreview.png differ diff --git a/doc/image/front-end-architecture/SolidUI_SolidView_JSONSchema_Configuration_Design.png b/doc/image/front-end-architecture/SolidUI_SolidView_JSONSchema_Configuration_Design.png new file mode 100644 index 00000000..a3e50d2e Binary files /dev/null and b/doc/image/front-end-architecture/SolidUI_SolidView_JSONSchema_Configuration_Design.png differ diff --git "a/doc/image/front-end-architecture/SolidUI\344\271\213SolidEditor\347\274\226\350\276\221\345\222\214\351\242\204\350\247\210.png" "b/doc/image/front-end-architecture/SolidUI\344\271\213SolidEditor\347\274\226\350\276\221\345\222\214\351\242\204\350\247\210.png" new file mode 100644 index 00000000..0a066d12 Binary files /dev/null and "b/doc/image/front-end-architecture/SolidUI\344\271\213SolidEditor\347\274\226\350\276\221\345\222\214\351\242\204\350\247\210.png" differ diff --git "a/doc/image/front-end-architecture/SolidUI\344\271\213SolidView\345\217\212\351\205\215\347\275\256\351\241\271\350\256\276\350\256\241.png" "b/doc/image/front-end-architecture/SolidUI\344\271\213SolidView\345\217\212\351\205\215\347\275\256\351\241\271\350\256\276\350\256\241.png" new file mode 100644 index 00000000..a3e50d2e Binary files /dev/null and "b/doc/image/front-end-architecture/SolidUI\344\271\213SolidView\345\217\212\351\205\215\347\275\256\351\241\271\350\256\276\350\256\241.png" differ diff --git "a/doc/image/front-end-architecture/SolidUI\345\211\215\347\253\257UI\347\273\223\346\236\204.png" "b/doc/image/front-end-architecture/SolidUI\345\211\215\347\253\257UI\347\273\223\346\236\204.png" new file mode 100644 index 00000000..1088558b Binary files /dev/null and "b/doc/image/front-end-architecture/SolidUI\345\211\215\347\253\257UI\347\273\223\346\236\204.png" differ diff --git "a/doc/image/front-end-architecture/SolidUI\345\211\215\347\253\257\346\200\273\350\247\210\346\236\266\346\236\204.png" "b/doc/image/front-end-architecture/SolidUI\345\211\215\347\253\257\346\200\273\350\247\210\346\236\266\346\236\204.png" new file mode 100644 index 00000000..9aef15c8 Binary files /dev/null and "b/doc/image/front-end-architecture/SolidUI\345\211\215\347\253\257\346\200\273\350\247\210\346\236\266\346\236\204.png" differ diff --git a/doc/image/soliduiv0.1.0structure.jpg b/doc/image/soliduiv0.1.0structure.jpg new file mode 100644 index 00000000..05e73fa9 Binary files /dev/null and b/doc/image/soliduiv0.1.0structure.jpg differ diff --git a/doc/image_en/.keep b/doc/image_en/.keep new file mode 100644 index 00000000..e69de29b diff --git a/docs/deployment/deployment-docker/index.html b/docs/deployment/deployment-docker/index.html new file mode 100644 index 00000000..d8cfd829 --- /dev/null +++ b/docs/deployment/deployment-docker/index.html @@ -0,0 +1,66 @@ + + + + + +Docker-Compose Deployment | SolidUI + + + + + + +
+

SolidUI Docker-Compose deployment

1. Environment preparation

Docker 1.13.1+ +Docker Compose 1.11.0+

This method needs to install docker-compose first, there are already a lot of information on the installation of docker-compose on the Internet, please install it yourself

2.1 Download deployment package or source code

Download at https://github.com/CloudOrc/SolidUI/releases

Please download the source package solidui-x.x.x-bin.tar.gz

2.2 Pull the image and start the service

# Enter the server (take Centos7 as an example)
tar -zxvf solidui-x.x.x-bin.tar.gz

cd solidui-x.x.x-bin/docker/

docker-compose up -d

2.3 Modify the database table information, modify the table solidui_model_type, token and baseurl fields (supported after version 0.2.0)

token is the model API token

baseurl is the base address of the model API, for example: https://api.openai.com (this is the address of openai abroad), https://api.chatanywhere.com.cn (the address of openai's domestic agent), http://ip: port (chatGLM address)

# Enter the mysql created by Docker-Compose
mysql -h ip -u root -p
use solidui;
update solidui_model_type set token = '' , baseurl='' where id = 'id';

2.4 Accessing Services

Access link http://localhost:8099

Default username and password: admin/adm

+ + + + \ No newline at end of file diff --git a/docs/deployment/deployment-kubernetes/index.html b/docs/deployment/deployment-kubernetes/index.html new file mode 100644 index 00000000..a93e7664 --- /dev/null +++ b/docs/deployment/deployment-kubernetes/index.html @@ -0,0 +1,65 @@ + + + + + +Kubernetes Deployment | SolidUI + + + + + + +
+

SolidUI Kubernetes deployment

1. Environment preparation

Software Environment

Docker 1.13.1+ Kubernetes 1.19.0+ Helm 3.4.x+ ingress 1.3.0+

Operating System

Centos 7+, Ubuntu 20.04

Hardware Environment

CPU 8core+,Memory 16G+

In this way, you need to install the Helm first. There are a lot of information on the installation website of the Helm, please install it by yourself.

2.1 Download source code

Download the source code of https://github.com/CloudOrc/SolidUI for items in the github.

2.2 Start the service with Helm

# Enter the server (take Centos7 as an example)

cd SolidUI/deploy/kubernetes/helm-solidui

helm install solidui ./

2.3 View the service status and ingress port

//View pod status
kubectl get pods -n solidui
//View the ingress port
kubectl get svc -A |grep ingress-nginx-controller
//If you do not use ingress access, you can access it through the port-forward forwarding port
kubectl port-forward svc/solidui-web 80:8099 --address 0.0.0.0 -n solidui

2.4 Accessing Services

Access link http://ingress-ip-address:ingress-port

Default username and password: admin/admin

+ + + + \ No newline at end of file diff --git a/docs/deployment/deployment-standalone/index.html b/docs/deployment/deployment-standalone/index.html new file mode 100644 index 00000000..c17033ef --- /dev/null +++ b/docs/deployment/deployment-standalone/index.html @@ -0,0 +1,65 @@ + + + + + +Deployed Standalone | SolidUI + + + + + + +
+

SolidUI is deployed separately

1. First-time installation preparations

1.1 Linux server

Hardware Requirements

Install one SolidUI microservice with at least 512M memory. The default jvm -Xmx memory size of each microservice is 512M (if the memory is not enough, you can try to reduce it to 256/128M, and you can also increase it if the memory is enough).

1.2 JDK preparation

Java version requirements: jdk1.8.0_201 or above

1.3 Database preparation

Mysql5.7 or above

2. Configuration modification

2.1 Installation package preparation

  • Method 1: Download the address from the official website: https://github.com/CloudOrc/SolidUI/releases, and download the corresponding installation package (overall installation package).
  • Method 2: Compile the project installation package by yourself according to the SolidUI back-end compilation and front-end compilation.

After uploading the installation package solidui-x.x.x-bin.tar.gz, decompress the installation package

 tar -zxvf solidui-x.x.x-bin.tar.gz

The directory structure after decompression is as follows:

drwxr-xr-x 2 root root 4096 Jun 10 20:31 docker
drwxr-xr-x 6 root root 4096 Jun 11 17:57 entrance-server
-rw-r--r-- 1 root root 27711 Jun 4 21:47 LICENSE
drwxr-xr-x 3 root root 4096 Jun 11 18:03 licenses
-rw-r--r-- 1 root root 24875 Jun 4 19:29 NOTICE
drwxr-xr-x 4 root root 4096 Jun 11 18:26 solidui-web

3. The server follows and starts

3.1 Preparations

# Initialize database ddl and dml paths
solidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql

# Enter the mysql database
mysql -h192.168.xx.xx -P3306 -uroot -p

# create database
CREATE DATABASE solidui DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

# Modify the database connection information, modify the table solidui_model_type, token and baseurl fields (supported after version 0.2.0)
token is the model API token
baseurl is the base address of the model API, for example: https://api.openai.com (this is the address of openai abroad), https://api.chatanywhere.com.cn (the address of the domestic agent of openai)

solidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql
INSERT INTO `solidui_model_type` (`id`, `name`, `type_name`, `prompt`, `token`, `baseurl`)
VALUES
(1,'gpt-3.5-turbo','gpt',NULL,NULL,NULL),
(2,'gpt-4','gpt',NULL,NULL,NULL),
(3,'chatglm_lite','chatglm',NULL,NULL,NULL);

# Execute the database initialization script

source solidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql

3.2 Configuration modification

cd solidui-x.x.x-bin/entrance-server/conf
# Modify database connection information
vi application.yaml
datasource:
url: jdbc:mysql://localhost:3306/solidui?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: root

# 0.2.0 version adds python service configuration
vi solidui-x.x.x-bin/soliduimodelui/.env
# Modify database connection information
DB_HOST=localhost
DB_PORT=3306
DB_NAME=solidui
DB_USER=root
DB_PASS=SolidUI@123

3.3 Server start

cd solidui-x.x.x-bin/entrance-server
# start the service
sh bin/start.sh
# Out of service
sh bin/stop.sh

# 0.2.0 version adds python service
cd solidui-x.x.x-bin
pip install -e .
modelui

4. Front-end deployment

4.1 Preparations

Refer to Frontend Deployment

4.2 Startup

Visit the default link http://localhost:8099

Default username and password: admin/admin

+ + + + \ No newline at end of file diff --git a/docs/deployment/deployment-web/index.html b/docs/deployment/deployment-web/index.html new file mode 100644 index 00000000..b84c704a --- /dev/null +++ b/docs/deployment/deployment-web/index.html @@ -0,0 +1,67 @@ + + + + + +Front-End Deployment | SolidUI + + + + + + +
+

SolidUI front-end deployment

1 Preparations

  • Method 1: Download the address from the official website: https://github.com/CloudOrc/SolidUI/releases, and download the corresponding installation package (overall installation package).
  • Method 2: Compile the project installation package according to SolidUI.
tar -zxvf solidui-x.x.x-bin.tar.gz
# front-end directory
cd solidui-x.x.x/solidui-web

2 deployment

Divided into two deployment methods, automated deployment and manual deployment

2.1.1 Modify configuration config.sh

# solidui service address
solidui_url="http://127.0.0.1:12345"
# models backend address
solidui_url_models="http://127.0.0.1:5110"
# kernel backend address
solidui_url_kernel="http://127.0.0.1:5010"
#It can be configured as the ip of the installation machine or use the default value
solidui_ipaddr=127.0.0.1
# Port to access the management console
solidui_port=8099

#### 2.1.2 Execute the deployment script
```shell script
# nginx needs sudo permission to install
sudo sh install.sh

After installation, the nginx configuration file of solidui is in /etc/nginx/conf.d/solidui.conf by default +The log files of nginx are in /var/log/nginx/access.log and /var/log/nginx/error.log +An example of the generated solidui nginx configuration file is as follows:

server {
listen 8099;
server_name localhost;

location / {
root /opt/solidui/solidui-web/dist; # Static file directory
index index.html index.html;
}

location /solidui {
proxy_pass $solidui_url; # The address of the backend SolidUI
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x_real_ipP $remote_addr;
proxy_set_header remote_addr $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_connect_timeout 4s;
proxy_read_timeout 600s;
proxy_send_timeout 12s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}

location /solidui/models {
proxy_pass $solidui_url_models; # modelui backend address
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x_real_ipP $remote_addr;
proxy_set_header remote_addr $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_connect_timeout 4s;
proxy_read_timeout 600s;
proxy_send_timeout 12s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}

location /solidui/kernel {
proxy_pass $solidui_url_kernel; # modelui kernel backend address
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x_real_ipP $remote_addr;
proxy_set_header remote_addr $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_connect_timeout 4s;
proxy_read_timeout 600s;
proxy_send_timeout 12s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}

2.2 Manual deployment

2.2.1 Install Nginx

If you have already installed nginx, you can skip it

sudo yum install nginx -y

2.2.2 Modify configuration file

sudo vi /etc/nginx/conf.d/solidui.conf

Add the following:

server {
listen 8080;# access port
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /opt/solidui/solidui-web/dist; # The directory where the front-end package is decompressed
index index.html index.html;
}

location /solidui {
proxy_pass http://127.0.0.1:12345; # solidui service address
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x_real_ipP $remote_addr;
proxy_set_header remote_addr $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_connect_timeout 4s;
proxy_read_timeout 600s;
proxy_send_timeout 12s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}

location /solidui/models {
proxy_pass http://127.0.0.1:5110; # modelui backend address
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x_real_ipP $remote_addr;
proxy_set_header remote_addr $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_connect_timeout 4s;
proxy_read_timeout 600s;
proxy_send_timeout 12s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}

location /solidui/kernel {
proxy_pass http://127.0.0.1:5010; # modelui kernel backend address
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x_real_ipP $remote_addr;
proxy_set_header remote_addr $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_connect_timeout 4s;
proxy_read_timeout 600s;
proxy_send_timeout 12s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}

2.2.3 Resource deployment

Suppose the product path after the front-end npm run build is: /opt/solidui/solidui-web/dist

2.2.4 Start service

sudo systemctl restart nginx

3 login

Browser access http://solidui_ipaddr:solidui_port where solidui_port is the port configured in config.sh, solidui_ipaddr is the IP of the installation machine, and the default account password is: admin/admin

4 Notes

If you need to modify the port or static resource directory, etc., please modify the /etc/nginx/conf.d/solidui.conf file and execute the sudo nginx -s reload command

Caution
  • Check whether nginx starts normally: check whether the nginx process exists ps -ef |grep nginx
  • Check if the configuration of nginx is correct sudo nginx -T
  • If the port is occupied, you can modify the service port /etc/nginx/conf.d/solidui.conflisten port value started by nginx, save and restart

5 Frequently Asked Questions

5.1 Interface timeout

sudo vi /etc/nginx/conf.d/solidui.conf

Change interface timeout

proxy_read_timeout 600s
+ + + + \ No newline at end of file diff --git a/docs/design/front-end-architecture/index.html b/docs/design/front-end-architecture/index.html new file mode 100644 index 00000000..7eb85788 --- /dev/null +++ b/docs/design/front-end-architecture/index.html @@ -0,0 +1,65 @@ + + + + + +Frontend Design | SolidUI + + + + + + +
+

Frontend Design

1. SolidUI Module

  1. The designer is divided into five areas. includes Layer/Page, SolidView List, SolidEditor, Configuration, SolidView Select List.

  2. Layer/Page:The Layer is mainly to configure the scene, and the Page is to configure and design its own components.

  3. SolidView List:It is convenient to select the components to be configured, and perform management operations such as deleting and locking the components.

  4. SolidEditor:As a highly cohesive component, it can subscribe and publish events externally through EventBus. Inside the component, RulerGuides, InfiniteView, Moveable, Selecto, and Viewport are used to complete the interaction and operation logic of the entire editing area.

  5. Configuration:Configure the WYSIWYG style, data source, event interaction, etc. for the selected SolidView.

  6. SolidView Select List:Provides a button area at the top for selecting and placing individual components.

2. 总览架构

3. SolidEditor & Preview(WISYWI)

  1. SolidEditor integrates RulerGuides (rulers, auxiliary lines), InfiniteView (infinite scrolling view in the editing area), Viewport (visible area), Moveable (basic capabilities such as drag and drop, size, rounded corners, alignment, and marking lines), Selecto (multiple selection, combination).

  2. SolidView is a reusable base class component. We hope to display various SolidViews through a well-designed JSONSchema and its specific JSON content, that is, SolidView should only be bound to the JSONSchema data model and injected into EventBus to complete Interaction between different SolidViews. But when we are editing the design, we need to wrap SolidView to achieve the design capabilities in the designer mode. So we need to wrap SolidView in edit mode to get a ProxyView.

  3. When we preview the designed page, our SolidShowEngine will load the designed JSONSchema specific data model to complete the final rendering.

4. SolidView & JSONSchema & Configuration

  1. Design JSONSchema to define what a SolidView component should look like, and different SolidView components may extend JSONSchema. The advantage of this is that we abstract SolidView into a JSON description document, which can focus on JSONSchema, and discuss the feasibility of each modification for JSONSchema.

  2. On the basis of JSONSchema, plan the configuration capabilities of the Configuration module. Including UI display, component development required by UI, etc.

  3. Interaction process: select a component -> modify the configuration item -> send a modification event -> SolidEditor receives the subscribed event message -> find the target SolidView -> find the corresponding JSONSchem -> verify and save the modification -> SolidView for this configuration modify in response.

+ + + + \ No newline at end of file diff --git a/docs/design/metadata/index.html b/docs/design/metadata/index.html new file mode 100644 index 00000000..c9c4460d --- /dev/null +++ b/docs/design/metadata/index.html @@ -0,0 +1,65 @@ + + + + + +Metadata | SolidUI + + + + + + +
+

Metadata

Metadata

solidui_datasource (Data Source Management)

  • id: Unique identifier of the data source.
  • datasource_name: Name of the data source.
  • datasource_desc: Description of the data source.
  • datasource_type_id: ID of the data source type.
  • create_identify: Creation identifier.
  • parameter: Parameters.
  • create_time: Creation time.
  • create_user: User who created the source.
  • labels: Labels.
  • expire: Expiration indicator.

solidui_datasource_type (Data Source Type)

  • id: Unique identifier of the data source type.
  • name: Type name.
  • description: Type description.
  • option: Options.
  • classifier: Classifier.
  • icon: Icon.
  • layers: Layers.

solidui_datasource_type_key (Data Source Type Setting)

  • id: Unique identifier of the data source type key.
  • data_source_type_id: Data source type ID.
  • key: Key.
  • name: Name.
  • name_en: Name in English.
  • default_value: Default value.
  • value_type: Value type.
  • scope: Scope.
  • require: Whether it is required.
  • description: Description.
  • description_en: Description in English.
  • value_regex: Value regular expression.
  • update_time: Update time.
  • create_time: Creation time.

solidui_job_element (Job Element)

  • id: Unique identifier of the job element.
  • project_id: Project ID.
  • name: Name.
  • data: Data.
  • data_type: Data type.
  • create_time: Creation time.
  • update_time: Update time.

solidui_job_element_page (Job Element Page)

  • id: Unique identifier of the job element page.
  • job_page_id: Job page ID.
  • job_element_id: Job element ID.
  • position: Position.
  • create_time: Creation time.
  • update_time: Update time.

solidui_job_page (Job Page)

  • id: Unique identifier of the job page.
  • project_id: Project ID.
  • name: Name.
  • parent_id: Parent ID.
  • layout: Layout.
  • orders: Order.
  • create_time: Creation time.
  • update_time: Update time.

solidui_project (Project Management)

  • id: Unique identifier of the project.
  • user_name: Username.
  • project_name: Project name.
  • image: Project image.
  • description: Description.
  • create_time: Creation time.
  • update_time: Update time.
  • status: Project status.

solidui_user (User Management)

  • id: Unique identifier of the user.
  • user_name: Username.
  • user_password: User password.
  • create_time: Creation time.
  • update_time: Update time.
  • queue: Queue.

solidui_model_type (Model Type Setting)

  • id: Unique identifier of the model type.
  • name: Name.
  • code: output code type
  • type_name: Type name.
  • prompt: Prompt.
  • token: Token.
  • baseurl: Base URL.

E-R

metadata

  • The data source (solidui_datasource) has a data source type (solidui_datasource_type), linked via the datasource_type_id field.
  • The data source type (solidui_datasource_type) has one or more data source type keys (solidui_datasource_type_key), linked via the id field.
  • The job element (solidui_job_element) exists within a project (solidui_project), linked via the project_id field.
  • The job element page (solidui_job_element_page) is linked to a job element (solidui_job_element) and a job page (solidui_job_page), respectively via the job_element_id and job_page_id fields.
  • The job page (solidui_job_page) exists within a project (solidui_project), linked via the project_id field.
  • The project (solidui_project) is created by a user (solidui_user), linked via the user_name field.

This diagram does not include all tables and fields, it only contains some of the main associations.

+ + + + \ No newline at end of file diff --git a/docs/design/server-architecture/index.html b/docs/design/server-architecture/index.html new file mode 100644 index 00000000..b2dae103 --- /dev/null +++ b/docs/design/server-architecture/index.html @@ -0,0 +1,65 @@ + + + + + +Server Architecture | SolidUI + + + + + + +
+

Server Architecture

1. Architecture Overview

soliduiv0.1.0

Entrance: API interface layer, mainly responsible for the request of the front-end UI layer, the service uniformly provides RESTful api to provide request services to the outside

2. Module function

  • solidui-bom: BOM (Bill of Materials) is usually used to manage dependency versions in a project to ensure that all modules use the same version of dependencies.

  • Solidui-common: This module contains common code and tools used throughout the project.

  • Solidui-dao: DAO (Data Access Object) module contains all the codes to interact with the database.

  • solidui-datasource-plugin: This module provides a way to extend the data source, so that data can be obtained from many different types of data sources.

  • solidui-dist: The build and distribution of this module project.

  • Solidui-entrance: This module is the main entry point of the project and contains the code to start and initialize the application.

  • Solidui-service: This module contains business logic code.

  • Solidui-spi: The SPI (Service Provider Interface) module provides a way to extend the functionality of the project.

  • solidui-web: This module contains the front-end code for displaying user interface, chat interface.

  • soliduimodelui: module model proxy layer, used to upgrade the data model conversion of the UI layer.

3. Source code explanation

3.1 solidui-bom

This is a Maven project object model (POM) file, which is an XML-based project configuration file used to describe information about building a project, such as project dependencies, build plugins, project properties, etc.

This POM file defines a project named solidui-bom whose parent project is solidui.

In this POM file, there are three main parts:

  • Properties: Defines the version numbers of various dependent libraries. This is a common way to manage versions of all dependent libraries in a project, defining and updating all dependent versions in one place.

  • Parent: Defines the parent project of this project. In Maven, you can inherit some common configurations, such as dependency management, plug-in management, etc., by defining a parent project.

  • Dependency Management: This section defines the project's dependent libraries and their versions. All dependencies defined here can be used directly in submodules without specifying a version number. If a dependency in a submodule conflicts with a dependency here, the version defined here will take precedence.

According to this POM file, you can know which libraries this project depends on and the versions of these libraries. In addition, if you need to add a new dependency library, or update the version of an existing dependency library, you can also do it in this file.

3.2 solidui-common

Constants: This class defines some global constants that may be used throughout the project. For example, the key name of the HTTP header, the encryption key, etc.

DateConstants: This class defines formatted string constants for datetimes.

ByteTimeUtils: This class currently looks empty, it may be a utility class for handling bytes and time.

DESUtil: This class provides encryption and decryption methods based on the DES algorithm for secure data transmission.

EncryptionUtils: This class provides a method to calculate the MD5 value of a string.

JSONUtils: This class provides a series of JSON processing methods, including serialization of objects to JSON, deserialization of JSON to objects, conversion of JSON to List or Map, etc.

LoginUtils: This class provides some methods for handling login users, such as setting login users, removing login users and getting login users.

Utils: This class provides some common utility methods, such as creating a thread factory with a custom thread name and daemon state, and creating a default scheduled task executor.

3.3 solidui-dao

This module is called solidui-dao, and mainly includes configuration and object models related to the data access layer.

SpringConnectionFactory: This configuration class is mainly used to configure MyBatisPlus related settings, such as paging plug-ins, transaction managers, SqlSessionFactory, etc.

DataSource, DataSourceType, DataSourceTypeKey, JobElement, JobElementPage, JobPage, ModelType, Project, User: These classes are entity classes that represent the data structure of each table in the database.

DataSourceMapper, DataSourceParamKeyMapper, DataSourceTypeMapper, JobElementMapper, JobElementPageMapper, JobPageMapper, ModelTypeMapper, ProjectMapper, UserMapper: These interfaces are Mapper interfaces of MyBatis, which are used to define CRUD operations for corresponding tables.

PageListingResult: This is a wrapper class for wrapping the results of paging queries.

DaoConfiguration: This is a Spring configuration class used to start Spring Boot's automatic configuration and scan the Mapper interface.

Through this module, you can easily operate the database. For example, you can query a user given a username and password through the queryUserByNamePassword method of UserMapper. All Mapper interfaces inherit from the BaseMapper interface of MyBatisPlus, so they all have basic CRUD operations.

3.4 solidui-datasource-plugin

This module is called solidui-datasource-plugin and contains configuration and object models related to datasource plugins.

DorisClient: This class inherits from BaseJdbcClient and implements specific methods for interacting with the Doris database, including obtaining all databases, obtaining all tables of the database, and executing query statements and obtaining results.

DorisClientFactory: This class inherits from BaseJdbcClientFactory and implements the factory method for creating DorisClient.

DorisConnectionFactory: This class implements the ConnectionFactory interface and provides a method for creating a connection to the Doris database.

MysqlClient: This class inherits from BaseJdbcClient and implements specific methods for interacting with the MySQL database, including obtaining all databases, obtaining all tables of the database, and executing query statements and obtaining results.

MysqlClientFactory: This class inherits from BaseJdbcClientFactory and implements the factory method for creating MysqlClient.

MysqlConnectionFactory: This class implements the ConnectionFactory interface and provides methods for creating connections to MySQL databases.

JdbcClientManager: This class is used to load the configured ConnectionFactory.

ConnectDTO: This class is a simple data transfer object that contains the information needed to connect to the database, such as hostname, port, username, password, database name, and additional parameters.

Other interfaces such as JdbcClient, JdbcClientFactory, ConnectionFactory, etc. define some common methods, and specific implementation classes such as DorisClient, DorisClientFactory, DorisConnectionFactory, etc. provide the specific implementation of these methods.

In addition, the pom.xml file of this module configures the solidui-datasource-all submodule, which depends on two modules, solidui-datasource-mysql and solidui-datasource-doris, which define how to communicate with MySQL and Doris Database interaction.

3.5 solidui-dist

This module is called solidui-dist, and it is mainly responsible for the release and deployment of the project.

docker-compose.yml: This is a Docker Compose configuration file for defining and running multi-container Docker applications. In this file, several services are defined: solidui-entrance, solidui-web, mysql and soliduimodelui. These services will be run as containers by Docker.

release-docs: This folder may contain release documents such as LICENSE and NOTICE.

assembly.xml: This is the configuration file for the Maven Assembly plugin, which defines how to create the project's release package. In this file, it is defined which files and folders need to be included.

The role of this module is mainly to define how to package the project and how to deploy the project. With Docker Compose, it is very convenient to deploy and run this project on any machine with Docker installed. Through the Maven Assembly plug-in, it is very convenient to create the release package of the project, which contains all the files needed to run the project.

3.6 solidui-entrance

This module is named solidui-entrance. As the entry point of the application, it provides multiple controllers (Controller) for processing user requests.

BaseController: Provides some common methods for returning results, including successful results and error results.

DataSourceController: Provides a series of APIs related to data sources, such as obtaining all data source types, obtaining parameter keys according to types, querying databases according to data source names and types, etc.

JobController: Provides some job-related APIs, such as saving pages, updating jobs, querying jobs by project ID, etc.

JobPageController: Provides some APIs related to job pages, such as creating job pages, updating job pages, querying job pages by project ID, etc.

LoginController: Provides login and logout APIs.

MetadataQueryController: Provides some APIs related to metadata query, such as querying database by data source name, querying table by data source name, querying by SQL, etc.

ModelController: Provides an API to get a list of models.

ProjectController: Provides some project-related APIs, such as creating projects, updating projects, querying projects by project name, deleting projects, etc.

Each Controller depends on the corresponding Service, and the corresponding business logic is defined in the Service. For example, DataSourceController depends on DataSourceService, which defines business logic such as how to query all data source types and how to obtain parameter keys according to types.

In addition, some Service implementation classes are provided, such as DataSourceServiceImpl, DataSourceTypeServiceImpl, JobPageServiceImpl, JobServiceImpl, MetadataQueryServiceImpl, ModelServiceImpl, ProjectServiceImpl, and UserServiceImpl. These classes implement the corresponding Service interface and provide specific business logic.

In general, this module mainly processes user requests, executes corresponding business logic, and returns results.

3.7 solidui-service

Contains some service layer code.

3.8 solidui-spi

ConnectDTO: This is a simple data transfer object that contains the information needed to connect to the database.

ConstantsSPI: This class defines some constants that may be used in SPI (Service Provider Interface).

3.9 solidui-web

This is a front-end project based on React and Ant Design. The main contents of the project include:

  • The main application entry index.tsx, used to initialize and render the entire application.
  • App component, which is the main component of the application, is used to define routes and render corresponding components.
  • routes defines all the routes of the application, including home page, login page, project list page, data source list page, dashboard page and preview page, etc.
  • The DefaultLayout component defines the main layout of the application, including the header, sidebar, and main content area.
  • Two components ProjectList and DataSourceList are used to display project list and data source list respectively.
  • The Dashboard component is used to display dashboards and display data visualization results.
  • The Login component is used to handle user login logic.
  • The Home component defines the home page content of the application.
  • Two custom Hooks useProject and useDataSource are used to handle business logic related to projects and data sources.
  • ModelManager class, used to manage the state of the application.
  • ViewFactory class, used to create views.
  • The SolidView class defines an abstract view base class, and all view components need to inherit from this base class.

In addition, the project also includes some auxiliary modules, such as ApiService is used to encapsulate API requests, theme is used to define theme styles, solidui-entrance and solidui-web are the main components of the backend and frontend respectively Modules, api and service define some API interfaces and services, and components contains some public components.

The project uses some third-party libraries, such as axios for processing HTTP requests, lodash-es for providing some useful utility functions, antd is a UI component library based on React, echarts for data Visualization, react-router-dom for handling routing, react-window for optimizing rendering performance of long lists, etc.

The construction tool of the project is webpack, which uses babel to translate JavaScript code, eslint and prettier for code specification and formatting, and jest for unit testing. In addition, the project also uses husky and lint-staged to automatically check and fix code issues before committing code.

3.10 soliduimodelui

This is a backend project based on Flask and MySQL, which is mainly used to process requests from the frontend and perform corresponding operations. The main functional modules include:

  • kernel_manager: This module is mainly responsible for managing and operating the Python kernel, and processing code execution requests from the front end. The kernel manager implements communication with the Python kernel, receives and processes the output of the kernel, and handles various states of the kernel. In addition, it also provides a message queue for receiving and sending kernel messages.

  • kernel_program: This module is mainly responsible for starting and managing the subprocesses of the Python kernel. It starts the Python kernel through a subprocess, and then communicates with the kernel through the SnakeMQ message queue.

  • utils: This module provides some useful utility functions, such as sending JSON messages, initializing SnakeMQ message queues, etc.

  • webapp: This is a Flask-based web application that provides a series of APIs for front-end calls, such as executing code, obtaining execution results, and managing the Python kernel. This application uses CORS middleware to handle cross-origin requests.

  • web_utils: This module provides some common utility functions in Web applications, such as formatting response data, querying databases, etc.

  • .env: This is an environment variable configuration file, which contains configuration information such as database connection information and application port number.

The operation process of the project is roughly as follows:

  1. Start the Flask web application and provide an API interface for front-end calls;
  2. The front end initiates a request, such as executing code, etc.;
  3. The web application receives the request and calls the kernel manager to perform corresponding operations;
  4. The kernel manager communicates with the Python kernel through the SnakeMQ message queue, executes the code and obtains the result;
  5. The web application returns the execution result to the front end.

In addition, the project also provides some auxiliary functions, such as log output, error handling, etc.

+ + + + \ No newline at end of file diff --git a/docs/development/develop-contributing/index.html b/docs/development/develop-contributing/index.html new file mode 100644 index 00000000..2ed363c1 --- /dev/null +++ b/docs/development/develop-contributing/index.html @@ -0,0 +1,65 @@ + + + + + +Development Contribution | SolidUI + + + + + + +
+

How to participate in project contribution

Many thanks for contributing to the SolidUI project! Before contributing, please read the following guidelines carefully.

1. Contribution category

1.1 Bug feedback and fixes

We recommend that whether it is bug feedback or repair, first create an Issue to describe the status of the bug in detail, so that the community can find and review the problem and code through the Issue record. Bug feedback Issues usually need to include full information describing the bug and reproducible scenarios, so that the community can quickly locate the cause of the bug and fix it. Open Issues with #bug tags are those that need to be fixed.

1.2 Function communication, implementation, refactoring

In the communication process, describing in detail the details, mechanism and usage scenarios of the new function (or refactoring) can promote its better and faster implementation (including test cases and codes, and CI/CD related work). If you plan to implement a major function (or refactoring), please be sure to communicate with the core development team via Issue or other means, so that everyone can promote it in the most efficient way. Open Issues containing #feature tags are all new features that need to be implemented, and open Issues containing #enhancement tags are all functions that need to be improved and refactored.

1.3 Issue Answers

Helping to answer usage questions in Issues is a very valuable way to contribute to the SolidUI community; there are always new users in the community, and you can show your expertise while helping new users.

1.4 Documentation improvements

The SolidUI documentation is located at SolidUI-Website, and the completion of the documentation is also crucial to the development of SolidUI.

1.5 Others

Including participating in and helping to organize community exchanges, community operation activities, etc., and other activities that can help SolidUI projects and communities.

2. Contribution process

2.1 Branch structure

The SolidUI source code may generate some temporary branches, but two are only the following three branches that are really meaningful:

  • release-*: Stable release version;
  • dev: The daily development branch, which is also the target branch for everyone to contribute code. If you want to contribute code, please create a new branch based on the dev branch. When the version is released, a new release branch will be created based on dev;

2.1.1 Concept

2.1.2 Synchronize the latest code from the Upstream warehouse branch to your own Fork warehouse

  • step1 Enter the user project page, select the branch to be updated
  • step2 Click Fetch upstream under the code download button, select Fetch and merge (if the branch of your own Fork warehouse is accidentally polluted, you can delete the branch, and then synchronize the new branch of the Upstream warehouse to your own Fork warehouse, see the guide [Synchronize Upstream Branch the latest code from the warehouse to your own Fork warehouse](#213-Synchronize the new branch of the Upstream warehouse to your own Fork warehouse))

2.1.3 Synchronize the new branch of the Upstream warehouse to your own Fork warehouse

Scenario: There is a new branch in the Upstream repository, but the forked repository does not have this branch (you can choose to delete it and re-fork, but the changes that have not been merged to the original repository will be lost)

  • step1 Open the Git command line tool (such as Git Bash), clone your own Fork warehouse to the local
git clone https://github.com/{your_github_username}/SolidUI.git
  • step2 enter the local warehouse directory
cd SolidUI
  • step3 Add Upstream warehouse as remote warehouse
git remote add upstream https://github.com/CloudOrc/SolidUI.git
  • step4 Get the branch information of the Upstream warehouse
git fetch upstream
  • step5 Synchronize the new branch of the Upstream warehouse to the local
git checkout -b {new_branch_name} upstream/{new_branch_name}
  • step6 Push the new branch to your own Fork repository
git push --set-upstream origin {new_branch_name}

2.1.4 A pr process

  • step1 Confirm the base branch of the current development (usually the current version in progress, such as the version 0.2.0 currently under development in the community, then the branch is dev, if you are not sure, you can ask in the community group or @related in the issue classmate)

  • step2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse branch, refer to the guide [2.1.2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse]

  • step3 Based on the development branch, pull the new fix/feature branch (do not directly modify the original branch, if the subsequent pr is merged in squash mode, the submitted commit records will be merged into one)

git checkout -b dev-fix dev
git push origin dev-fix:dev-fix
  • step4 for development
  • step5 Submit pr (if it is in progress and the development has not been completely completed, please add the WIP logo to the pr title, such as [WIP] Dev 0.2.0 Add junit test code for [solidui-common]; associate the corresponding issue etc.)
  • step6 waiting to be merged
  • step7 delete the fix/future branch (you can do it on the github page)
git branch -d dev-fix
git push

2.2 Development Guidelines

The front-end and back-end codes of SolidUI share the same code base, but are separated in development. Before starting development, please fork a copy of the SolidUI project to your own Github Repositories, and develop based on the SolidUI code base in your own Github Repositories.

We recommend cloning the dev branch and naming it dev-fix for development. At the same time, create a new dev-fix branch in your warehouse and modify it directly on the original branch. If the subsequent pr is merged in squash mode, the submitted commit records will be merged into one

# pull branch
git clone https://github.com/{githubid}/SolidUI.git --branch dev
#Generate local dev-fix branch according to dev
git checkout -b dev-fix dev
#Push the local dev-fix branch to your own warehouse
git push origin dev-fix dev-fix

2.3 Issue submission guidelines

  • If you don't know how to initiate a PR to an open source project, please refer to About issues
  • The name of the issue, which should briefly describe your problem or suggestion in one sentence; for the international promotion of the project, please write the issue in English, or bilingual Chinese and English
  • For each Issue, please bring at least a label. Reference: issue #63

2.4 Pull Request (PR) submission guidelines

  • If you don't know how to initiate a PR to an open source project, please refer to [About pull requests](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull -requests)

  • Whether it's a bug fix or a new feature development, please submit a PR to the dev branch

  • PR and commit name follow the principle of <type>(<scope>): <subject>, for details, please refer to Commit message and Change log writing guide

  • If a PR includes new features, documentation updates should be included in this PR

  • If the PR is not ready to be merged, prefix the name with [WIP] (WIP = work-in-progress)

  • All commits to dev-* branches need to be reviewed at least once before they can be merged

2.5 Review Criteria

Before contributing code, find out what kind of commits are welcome in Review. Simply put, if a commit brings as much gain as possible with as few side effects or risks as possible, the more likely it will be merged and the faster it will be reviewed. Commits with high risk and low value are almost impossible to be merged, and may be rejected for Review.

2.5.1 Gains

  • Fix the main cause of the bug
  • Add or fix a feature or bug that was requested by a large number of users
  • simple and effective
  • Easy to test, with test cases
  • Reduce complexity and code size
  • Issues identified for improvement discussed by the community

2.5.2 Side Effects and Risks

  • only fix the surface of the bug
  • Introducing new features with high complexity
  • Adding complexity to meet niche needs
  • Changes to stable existing APIs or semantics
  • Cause other functions not to work properly
  • Add a lot of dependencies
  • Feel free to change dependency versions
  • Commit a lot of code or changes at once

2.5.3 Reviewer Notes

  • Please write comments in a constructive tone
  • If the submitter needs to make changes, please clearly state all the changes that need to be made to complete this Pull Request
  • If a PR is found to have brought new problems after merging, Reviewer needs to contact the PR author and communicate to solve the problem; if the PR author cannot be contacted, Reviewer needs to restore the PR

3. Advanced contribution

3.1 About Committers (Collaborators)

3.1.1 How to become a Committer

If you have submitted a valuable PR to SolidUI and it has been merged, or have contributed continuously for more than half a year, and have led at least one version release, you can find a PMC of the SolidUI project through the official WeChat group, if he is willing to nominate you as a committer , and are willing to state your contribution to all PMCs and Committers for you, then a vote will be launched; PMC and other Committers will vote together to decide whether to allow you to join, if you get enough votes, you will become a Committer of the SolidUI project .

3.1.2 Committer's rights

  • You can join the official developer WeChat group to participate in discussions and formulate SolidUI development plans
  • Can manage Issues, including closing and adding tags
  • Can create and manage project branches, except dev branch
  • Ability to review PRs submitted to the dev branch
  • Can apply to become a Committee member

3.2 About the Committee

3.2.1 How to become a Committee member

If you are a Committer of the SolidUI project, and all the content you contributed has been recognized by other Committee members, you can apply to become a member of the SolidUI Committee, and other Committee members will vote together to decide whether to allow you to join. If all votes pass, you will Become a SolidUI Committee member.

3.2.2 Rights of Committee members

  • Ability to merge PRs submitted by other Committers and contributors to the dev branch
  • Participate in determining the roadmap and development direction of the SolidUI project
  • Can participate in new version releases
+ + + + \ No newline at end of file diff --git a/docs/development/development-commit/index.html b/docs/development/development-commit/index.html new file mode 100644 index 00000000..c4f235d3 --- /dev/null +++ b/docs/development/development-commit/index.html @@ -0,0 +1,65 @@ + + + + + +Development Commit | SolidUI + + + + + + +
+

SolidUI Commit Message

https://linkis.apache.org/zh-CN/docs/latest/development/development-specification/commit-message

1. Introduction

A good commit message can help other developers (or future developers) quickly understand the context of related changes, and also help project managers determine whether the commit is suitable for inclusion in a release. However, after reviewing the commit logs of many open-source projects, we found an interesting problem: some developers have good code quality, but their commit messages are messy. When other contributors or learners view the code, they cannot intuitively understand the purpose of the changes before and after the commit. As Peter Hutterer said: Re-establishing the context of a piece of code is wasteful. We can't avoid it completely, so our efforts should go to reducing it as much as possible. Commit messages can do exactly that and as a result, a commit message shows whether a developer is a good collaborator. Therefore, SolidUI has established this convention in combination with other communities and official Apache documentation.

2. Commit Message RIP

2.1 Clarify Changes

Commit messages should clearly state the problems being addressed (bug fixes, feature enhancements, etc.) to help users and developers better track issues and clarify the optimization process during version iterations.

2.2 Associate with Relevant Pull Requests or Issues

When our changes are large, it's best to associate the commit message with related Issues or Pull Requests on GitHub. This way, our developers can quickly understand the context of the code changes through the associated information when reviewing the code. If the current commit is for a specific issue, it can be closed in the Footer section.

2.3 Unified Format

Formatted commit messages can help us provide more historical information, facilitate quick browsing, and generate Change Logs directly from commits.

Commit messages should include three parts: Header, Body, and Footer. The Header is required, while the Body and Footer are optional.

The Header section consists of a single line and includes three fields: type (required), scope (optional), and subject (required).

[DS-ISSUE number][type] subject

(1) Type is used to indicate the category of the commit, and only the following seven identifiers are allowed:

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation
  • style: Formatting changes (that do not affect code execution)
  • refactor: Refactoring (code changes that neither add features nor fix bugs)
  • test: Adding tests
  • chore: Changes to the build process or auxiliary tools

If the type is 'feat' or 'fix', the commit will definitely appear in the Change Log. For other cases (docs, chore, style, refactor, test), it is recommended not to include them.

(2) Scope

Scope is used to indicate the affected range of the commit, such as server, remote, etc. If there is no more suitable scope, you can use an asterisk (*).

(3) Subject

Subject is a brief description of the purpose of the commit, not exceeding 50 characters.

Body

The Body section is a detailed description of the commit, which can be divided into multiple lines. Line breaks will occur every 72 characters to avoid automatic line breaks affecting aesthetics.

The Body section should pay attention to the following points:

  • Use the verb-object structure and the present tense, e.g., use 'change' instead of 'changed' or 'changes'

  • Do not capitalize the first letter

  • Do not end the sentence with a period (.)

Footer is only applicable in two situations:

(1) Incompatible Changes

If the current code is incompatible with the previous version, the Footer section should start with BREAKING CHANGE, followed by a description of the changes, the reasons for the changes, and the migration methods.

(2) Closing Issues

If the current commit is for a specific issue, it can be closed in the Footer section. Multiple issues can be closed at once.

Example

[SolidUI-001][docs-en] add commit message

  • commit message RIP
  • build some conventions
  • help the commit messages become clean and tidy
  • help developers and release managers better track issues
  • and clarify the optimization in the version iteration

This closes #001

3. Reference Documents

Commit Message Format

On Commit Messages

RocketMQ Community Operation Convention

+ + + + \ No newline at end of file diff --git a/docs/development/development-construction/index.html b/docs/development/development-construction/index.html new file mode 100644 index 00000000..f50b6cf0 --- /dev/null +++ b/docs/development/development-construction/index.html @@ -0,0 +1,65 @@ + + + + + +Co-Construction Process | SolidUI + + + + + + +
+

SolidUI project co-construction process

Process list

  1. Create issues -- Contributors (lead version)
  2. Submit PR -- Contributor (lead version)
  3. code review -- PMC member
  4. PR merge -- PMC member
  5. PR commit to the master branch -- Contributor (master version)
  6. Submit relevant documents to SolidUI-Website (installation and deployment documents, user usage documents, architecture design documents) Submit PR -- Contributor (lead version)
  7. SolidUI-Website code review -- PMC member
  8. SolidUI-Website PR merge -- PMC member
  9. SolidUI-Website PR commit to the master branch -- Contributor (lead version)
  10. Package & Install deployment tests based on the master branch -- Contributors (lead version)/testers
  11. Invite community users for private testing -- operators /PMC members
  12. Prepare to Release Notes -- Contributor (lead version)
  13. Official release -- Contributor (lead release)
  14. Prepare advertorials -- Contributors (lead version)
  15. Release publicity on the public account -- operator /PMC member
  16. MeetUp promotional version features -- operator /PMC member
+ + + + \ No newline at end of file diff --git a/docs/development/development-docker/index.html b/docs/development/development-docker/index.html new file mode 100644 index 00000000..fb470119 --- /dev/null +++ b/docs/development/development-docker/index.html @@ -0,0 +1,65 @@ + + + + + +Docker Build | SolidUI + + + + + + +
+

Docker Build for SolidUI

1. Prerequisites

Docker 1.13.1+

  • Method 1: Download the address from the official website: https://github.com/CloudOrc/SolidUI/releases, and download the corresponding installation package (overall installation package).
  • Method 2: Compile the project installation package according to SolidUI.

2. Image building

2.1 Building server-side image build-entrance-server

tar -zxvf solidui-x.x.x-bin.tar.gz
cd solidui-x.x.x-bin/entrance-server
docker build -f ./docker/Dockerfile -t solidui-entrance:x.x.x .

2.2 Server-side image build-soliduimodelui (after version 0.2.0)

tar -zxvf solidui-x.x.x-bin.tar.gz
cd solidui-x.x.x-bin
# update .env
vi soliduimodelui/.env
SNAKEMQ_LISTENER=0.0.0.0
SNAKEMQ_CONNECTOR=soliduimodelui
docker build -f ./soliduimodelui/docker/Dockerfile -t soliduimodelui:x.x.x .

2.3 Building front-end image


tar -zxvf solidui-x.x.x-bin.tar.gz
cd solidui-x.x.x-bin/solidui-web
docker build -f ./docker/Dockerfile -t solidui-web:x.x.x .

+ + + + \ No newline at end of file diff --git a/docs/development/development-front/index.html b/docs/development/development-front/index.html new file mode 100644 index 00000000..82980aec --- /dev/null +++ b/docs/development/development-front/index.html @@ -0,0 +1,65 @@ + + + + + +Front-End Compilation | SolidUI + + + + + + +
+

SolidUI front-end compilation

1. Preconditions

1.1 Install Node.js

This step is only required for the first use, if you already have a node environment, you can skip it

Download Node.js locally and install it. Download address: http://nodejs.cn/download/ (It is recommended to use node v16 version)

1.2 Source code acquisition

2. Compile

2.1 Install npm dependencies

Execute the following command on the terminal command line:

#Enter the project WEB root directory
cd solidui-x.x.x/solidui-web
#Install the dependencies required by the project
npm install --legacy-peer-deps

This step is only required for the first use.

2.2. Package project

Execute the following command on the terminal command line:

npm run build

After the above command is executed successfully, the installation package dist of the front-end management console will be generated. You can directly put this folder into your static server, or refer to the installation documentation to use scripts for deployment and installation.

+ + + + \ No newline at end of file diff --git a/docs/development/development-release/index.html b/docs/development/development-release/index.html new file mode 100644 index 00000000..7a69c804 --- /dev/null +++ b/docs/development/development-release/index.html @@ -0,0 +1,65 @@ + + + + + +Project Release Process | SolidUI + + + + + + +
+

Project Release Process

SolidUI project release process

Authorization

Now it is the PMC member who initiates the release process and has the release rights.

Materials pack

branch

Pull the new branch from the release branch as the release branch. If you want to release ${release_version}, pull the new branch release-${release_version}-${condition_version} from the release branch, All operations thereafter occur on the release-${release_version}-${condition_version} branch.

Create a release-${release_version}-rcx branch based on the development branch to be released

If the currently developed source branch is dev-0.1.0, and you need to release version 0.1.0, create a branch: release-0.1.0-rc1

tag

git tag -a release-0.1.0-rc1 -m "release 0.1.0-rc1"
git push origin release-0.1.0-rc1

clone the corresponding release branches locally

#-b release-0.1.0-rc1 Specifies the clone branch -c(config) specifies the configuration core to use. Lf =false turns off the newline conversion
Git clone - release - 0.1.0 from b - rc1 - c core. Autocrlf = false git@github.com: CloudOrc/SolidUI git

The version number is confirmed

Verify material package

It is best to verify the prepared materials on both Windows and UNIx-like systems to avoid system compatibility issues such as line breaks

Initiate a vote

Community voting phase

When an issue initiates a vote, the PMC needs to check whether the version is correct according to the document before voting. At least 3 +1 PMC member votes can be counted before the voting is closed.

Close the voting thread

If the required number of votes has been reached and you need to reply to the voting email before collecting the results, the voting thread is closed.

Cancel the vote (if necessary)

If there are some serious problems that need to be repaired and re-released, the voting needs to be cancelled. The release manager needs to start a new issue of voting cancellation and explain it.

Announce the results of the vote

issue the results

Official release

GitHub version created

To create the page https://github.com/CloudOrc/SolidUI/releases/new based on previous SolidUI 0.1.0 from - rc1 branch created called 0.1.0 from the tag, Fill in the title SolidUI release-0.1.0 and write release notes for that version

check

Merge ${release_version}-RC branch to master branch (if not merged)

+ + + + \ No newline at end of file diff --git a/docs/development/development-server/index.html b/docs/development/development-server/index.html new file mode 100644 index 00000000..413e0d27 --- /dev/null +++ b/docs/development/development-server/index.html @@ -0,0 +1,65 @@ + + + + + +Server-side Compilation | SolidUI + + + + + + +
+

SolidUI Server-side Compilation

1. Prerequisites

1.1 Environmental requirements

Compilation environment requirements: Must be JDK8 or above, both Oracle/Sun and OpenJDK are supported.

Install Maven environment yourself, version 3.5.4 or above is recommended. Or you can directly use the maven-wrapper in the source code.

1.2 Get the source code

2. Server-side compilation

cd solidui-x.x.x-src  

# Compile
mvn clean -N install
mvn clean install -Dmaven.test.skip=true

3. Full compilation (server side and front end)

cd solidui-x.x.x-src  

# Compile
mvn clean -N install
mvn clean install -Dmaven.test.skip=true -Prelease
+ + + + \ No newline at end of file diff --git a/docs/faq/faq/index.html b/docs/faq/faq/index.html new file mode 100644 index 00000000..39a6fbce --- /dev/null +++ b/docs/faq/faq/index.html @@ -0,0 +1,67 @@ + + + + + +FAQ | SolidUI + + + + + + +
+

Frequently Asked Questions

Question answering process

First of all, users should refer to the official account and SolidUI official website for relevant information. These two platforms may already contain the answers or related solutions that users need. This step can effectively save the user's time and reduce the work pressure of the development team. +Community official website: https://cloudorc.github.io/SolidUI-Website/

However, if this step does not meet the user's needs, we enter the second stage: let the user submit an issue. At this stage, users can clearly describe the problems or requirements they encounter, and submit them to the project's issue tracking system. This not only helps the development team better understand the problem, but also serves as a reference for other users who encounter the same problem. +Issue address: https://github.com/CloudOrc/SolidUI/issues

epilogue

Overall, this Q&A process is an approach aimed at increasing efficiency and transparency. Not only does it help users find answers, but it also helps project teams better manage and track issues. Users can solve problems by themselves through official accounts and official website information; and through issue submission, users and the development team can communicate better and jointly promote the progress of the project.

+ + + + \ No newline at end of file diff --git a/docs/intro/index.html b/docs/intro/index.html new file mode 100644 index 00000000..b5f8f575 --- /dev/null +++ b/docs/intro/index.html @@ -0,0 +1,65 @@ + + + + + +What is SolidUI | SolidUI + + + + + + +
+

Introduce

AI-generated Graphic Models.

Core Features

  • Minimalist process, concise design
  • Various 2D legends
  • Various 3D legends
  • Various 3D scenes
  • Support multiple data sources
  • Support Huggingface space
  • Support plug-in robot
  • Support SolidUI-Model
  • Support Large Language Model
  • Containerized deployment

QuickStart

quick-start

What's this?

With the rise of language models for generating images from text, SolidUI wants to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, so as to quickly construct 3D data presentation scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of Vincent diagram. By building a self-developed Wensheng graph language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graph generation.

Self-developed Wensheng graph language model

SolidUI's Vincent graph language model is a deep learning model that can convert natural language descriptions input by users into specific graphical representations. This model is trained on a large amount of text and graphics data, and learns the mapping relationship from text to graphics. To achieve this goal, SolidUI's self-developed Vincent graph language model has the following characteristics:

  • Combining NLP and computer graphics to realize the process from text description to graphic generation
  • Can handle various types of graphics, such as 2D, 3D and scenes, etc.
  • The model training process involves a large amount of text and graphics data to ensure the quality and accuracy of the generated graphics

RLHF process

SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to optimize the performance of the Vincent graph language model. The process leverages human feedback to guide the model's learning process, enabling the model to better meet user needs. The main steps of the RLHF process include:

  • Collect Feedback: Users rate the generated graphs, providing feedback on the quality and accuracy of the graphs.
  • Updating the model: Based on the feedback collected, the model is updated using reinforcement learning algorithms to improve the quality and accuracy of the generated graphics.
  • Iterative optimization: The process of collecting feedback and updating the model is repeated until the model performance reaches a satisfactory level.

Through this process, SolidUI's Vincent graph language model is able to continuously learn and improve from user feedback, producing graphics of higher quality and accuracy.

Version 0.1.0

Document

For a complete list of documentation for SolidUI v0.1.0, see SolidUI-Website

Contribute

We welcome and look forward to more contributors participating in building SolidUI, whether it is code, documentation, or other forms of contribution that can help the community.

Contact US

  • For any questions and suggestions about SolidUI, you can submit an issue for tracking, processing and experience sharing
  • twitter
  • youtube
  • bilibili (in Chinese)
  • discord

Who is using SolidUI

We created an issue [Who is Using SolidUI] for user feedback and documentation of who is using SolidUI.

Contributors

Thanks to everyone who contributed PR~ 🎉🎉🎉

Thanks And Support

We are very grateful for your support and recognition of our project and development work. In open source software development, we deeply know that user and community feedback and support are crucial. Our project has provided a README and Issue system to facilitate user deployment and problem solving, while also helping to increase project activity. We will prioritize issues raised in the issues.

If you are interested in the community, welcome to participate (code, documentation, use), welcome to participate in any form.

If you feel that the SolidUI project is valuable to you and are willing to support our development work, please give the project a little star or sponsor us.

+ + + + \ No newline at end of file diff --git a/docs/operational/community-operation/index.html b/docs/operational/community-operation/index.html new file mode 100644 index 00000000..aff47a97 --- /dev/null +++ b/docs/operational/community-operation/index.html @@ -0,0 +1,73 @@ + + + + + +Community Operation | SolidUI + + + + + + +
+

Community Operation

Community Co-building Cooperation

Open Source Community Co-building Terms

These terms aim to provide a friendly, relaxed, and mutually beneficial environment for all members participating in community co-building.

Share Valuable Content

Share valuable technical articles, tutorials, case studies, etc., in your community, allowing members to understand and learn related technologies. +Regularly publish community news and progress, keeping members informed about the latest developments in the co-building community.

Organize Online or Offline Events

Organize online or offline Meetups, workshops, technical salons, and other activities, inviting members to participate. +Engage in technical exchanges and discussions during events to enhance understanding and collaboration among members.

Interaction and Communication

Encourage members to interact and communicate within the community, asking questions, answering questions, and sharing experiences. +Set up dedicated discussion areas within the community, making it easy for members to discuss co-building topics and technical issues.

Cooperation and Co-creation

Collaborate with other communities to jointly organize events, share resources, and exchange technical experiences. +Encourage members to participate in co-building projects, jointly creating open source software and technical solutions.

Trial Environment and Resource Sharing

When trying out new features and environments, prioritize notifying co-building community members and invite them to test and provide feedback together. +Share valuable resources within the co-building community, enabling other members to better understand and learn related technologies.

Prioritize Resolving Co-building Issues

When a co-building community member raises an issue, prioritize addressing and resolving it. +Actively communicate with co-building community members during the issue resolution process to ensure the issue is properly handled.

Adhere to the Code of Conduct

Respect others, actively participate in community building, and maintain a positive community atmosphere. +Abide by the community's code of conduct, abstaining from participating in or condoning any form of discrimination, harassment, or improper behavior. +We hope that these terms provide clear guidance for community co-building, allowing everyone to jointly operate the community effectively. Thank you for your support and participation!

Chinese document writing standards

Ruan YiFeng document-style-guide

+ + + + \ No newline at end of file diff --git a/docs/test/test-case/index.html b/docs/test/test-case/index.html new file mode 100644 index 00000000..e0e26f20 --- /dev/null +++ b/docs/test/test-case/index.html @@ -0,0 +1,65 @@ + + + + + +Test Case | SolidUI + + + + + + +
+

Modules

Log in

Test ScenarioInputExpected Output
Correct username and passwordCorrect username and passwordSuccessful login
Incorrect username and passwordIncorrect username and passwordLogin fails with error message
Empty username and passwordEmpty username and passwordLogin fails with error message

Data Source Management

Test ScenarioInputExpected Output
Display dataNoneDisplay all data sources, including serial number, data source name, data source type, user, description information and operation buttons
Add MySQL data sourceData source name, data source driver, URL, user name, password, remarksAfter adding successfully, you can see the new MySQL data source in the data source list
Add Doris data sourceData source name, data source driver, URL, user name, password, remarksAfter adding successfully, you can see the new Doris data source in the data source list
Edit data sourceThe name of the data source to be edited, the new data source driver, URL, user name, password, noteAfter editing successfully, you can see the edited data source information in the data source list
Delete a data source in a single lineThe name of the data source to be deletedAfter the deletion is successful, the data source will no longer be displayed in the data source list
Add data source, the name is emptyEmpty stringFailed to add, and an error message is prompted
Add MySQL data source, URL/user/password is emptyData source name, data source driver, URL, empty string, password, remarkFailed to add, and an error message is displayed
Add Doris data source, URL/user/password is emptyData source name, data source driver, URL, empty string, password, noteFailed to add, and an error message is displayed
Edit data source, the name/URL/user/password is emptyThe name/URL/user/password that does not exist is emptyEditing fails and an error message is prompted
Data Source ExpiredSingle Row Select Data Source ExpiredSuccess

Project Management

Test ScenarioInputExpected Output
Add projectProject name, project description, project URLAfter adding successfully, you can see the new project information in the project list
Query Item ListItem NameOutput Item List
Edit project nameProject nameAfter editing successfully, you can see the edited project information in the project list
Delete ItemThe name of the item to be deletedAfter successful deletion, the item will no longer appear in the item list
Add item with empty nameEmpty stringFailed to add with an error message
Add an item, the description is emptyEmpty stringAfter adding successfully, you can see the new item information in the item list, but the description information is empty
Edit item, name does not existEmpty stringEditing fails with error message

Design

IDTest ScenarioInputExpected Output
1Create sceneScene name: "Test scene 1"The new scene is created successfully, and "Test scene 1" is displayed in the scene list
2Create PageScenario: "Test Scenario 1", Page Name: "Test Page 1"The new page is created successfully, and "Test Page 1" is displayed in the page list under scenario "Test Scenario 1"
3Add column chart legendScene: "Test scene 1", Page: "Test page 1", Legend name: "Column chart 1"The legend is created successfully, and "Column chart" is displayed in "Test page 1" 1"
4Open the data selection sliding windowScene: "Test Scene 1", Page: "Test Page 1", Legend: "Column Chart 1"The data selection sliding window opens successfully, showing the data source type, data source and SQL input box
5Select data source typeData source type: "Database"The data source type is selected successfully, and the data source options related to the database are displayed
6Select data sourceData source: "MySQL database 1"The data source is selected successfully, you can enter the SQL query statement
7Enter the SQL query statementSQL: "SELECT category, value FROM sample_data"The SQL query statement is entered successfully, and bar chart 1 shows the data returned by the SQL query
8Save PageScene: "Test Scene 1", Page: "Test Page 1"Page saved successfully, including legend and associated data settings
9Preview ScenarioScenario: "Test Scenario 1"The preview is successful, you can preview in the order of the scene and page
10Edit scene nameOriginal scene name: "Test scene 1", New scene name: "Test scene 1-Modify"The scene name is modified successfully, and "Test scene 1-Modify" is displayed in the scene list
11Delete sceneScene name: "Test scene 1-Modify"The scene is deleted successfully, and "Test scene 1-Modify" is no longer displayed in the scene list
12Edit Page NameScenario: "Test Scenario 1", Original Page Name: "Test Page 1", New Page Name: "Test Page 1-Modify"The page name is modified successfully. "Test Page 1-Modified" is displayed in the page list
13Delete PageScenario: "Test Scenario 1", Page Name: "Test Page 1-Modify"The page is deleted successfully, and "Test Page 1-Modify" is no longer displayed in the page list under the scenario "Test Scenario 1"
14Edit Legend NameScene: "Test Scene 1", Page: "Test Page 1", Original Legend Name: "Column Chart 1", New Legend Name: "Column Chart 1-Modify"Legend Name Modification Success, "Column Chart 1-Modified" is displayed in "Test Page 1"
15Delete LegendScene: "Test Scene 1", Page: "Test Page 1", Legend Name: "Column Chart 1-Modify"The legend is deleted successfully, and "Column Chart" is no longer displayed in "Test Page 1" Figure 1 - Modification"
16Edit SQL query statementScenario: "Test Scenario 1", Page: "Test Page 1", Legend: "Column Chart 1", New SQL: "SELECT category, value * 2 AS double_value FROM sample_data"SQL The query statement is modified successfully, and column chart 1 shows the data returned by the new SQL query
17Undo Legend EditingScene: "Test Scene 1", Page: "Test Page 1", Legend: "Column Chart 1"Undo is successful, and the legend returns to the state before editing

ModelUI

IDTest ScenarioInputExpected Output
1Open test pageScene: "test scene 1", Page: "test page 1"Display the test page
2Open ModelUI sliderScene: "test scene 1", Page: "test page 1", select a model from the dropdown boxDisplay the ModelUI window on the right side of the page, showing the selected model
3Draw a 2D graphIn the ModelUI session panel, input the equation "3x^2 + 4x - 5 = 0" to draw the graphDraw the graph of the equation "3x^2 + 4x - 5 = 0" on the coordinate plane
+ + + + \ No newline at end of file diff --git a/docs/user-guide/quick-start/index.html b/docs/user-guide/quick-start/index.html new file mode 100644 index 00000000..093bb065 --- /dev/null +++ b/docs/user-guide/quick-start/index.html @@ -0,0 +1,65 @@ + + + + + +Quick start | SolidUI + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/home/ai2d.png b/home/ai2d.png new file mode 100644 index 00000000..f7a7c9e9 Binary files /dev/null and b/home/ai2d.png differ diff --git a/home/banner-mask.png b/home/banner-mask.png new file mode 100644 index 00000000..6675981c Binary files /dev/null and b/home/banner-mask.png differ diff --git a/home/banner.png b/home/banner.png new file mode 100644 index 00000000..cbf654ee Binary files /dev/null and b/home/banner.png differ diff --git a/home/bg-fotter.png b/home/bg-fotter.png new file mode 100644 index 00000000..e2a7bf36 Binary files /dev/null and b/home/bg-fotter.png differ diff --git a/home/bg-mask.png b/home/bg-mask.png new file mode 100644 index 00000000..df4505bf Binary files /dev/null and b/home/bg-mask.png differ diff --git a/home/block.svg b/home/block.svg new file mode 100644 index 00000000..64c6c4cf --- /dev/null +++ b/home/block.svg @@ -0,0 +1,3 @@ + + + diff --git a/home/code.svg b/home/code.svg new file mode 100644 index 00000000..b462c76e --- /dev/null +++ b/home/code.svg @@ -0,0 +1,438 @@ + + + + +03 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/home/coding.svg b/home/coding.svg new file mode 100644 index 00000000..d47a82fc --- /dev/null +++ b/home/coding.svg @@ -0,0 +1 @@ + diff --git a/home/dashboard.png b/home/dashboard.png new file mode 100644 index 00000000..325352bf Binary files /dev/null and b/home/dashboard.png differ diff --git a/home/dashboard.svg b/home/dashboard.svg new file mode 100644 index 00000000..8de0449f --- /dev/null +++ b/home/dashboard.svg @@ -0,0 +1,3 @@ + + + diff --git a/home/dot.png b/home/dot.png new file mode 100644 index 00000000..62f818b1 Binary files /dev/null and b/home/dot.png differ diff --git a/home/feature/index.html b/home/feature/index.html new file mode 100644 index 00000000..df2f51d8 --- /dev/null +++ b/home/feature/index.html @@ -0,0 +1,18 @@ + + + + + +SolidUI + + + + + + +
+

Core Features


Modern features that will make your project easier.

AI generated 2D graphics

Generate various 2D graphics based on the visualization model

AI generated 3D scene

Generate various 3D scenes based on the visualization model

Multiple data sources

Data source plugin combined with prompt words

Three-party plug-in robot

In order to provide better service, support plug-in robots, such as Huggingface space

Visualization Model

In order to better generate visualization graphics, self-developed visualization model

Containerized Deployment

For quick use, support containerized deployment

+ + + + \ No newline at end of file diff --git a/home/gitee.png b/home/gitee.png new file mode 100644 index 00000000..8ce8f45f Binary files /dev/null and b/home/gitee.png differ diff --git a/home/half-circle.png b/home/half-circle.png new file mode 100644 index 00000000..b61a849b Binary files /dev/null and b/home/half-circle.png differ diff --git a/home/hero/index.html b/home/hero/index.html new file mode 100644 index 00000000..3542faae --- /dev/null +++ b/home/hero/index.html @@ -0,0 +1,18 @@ + + + + + +SolidUI + + + + + + +
+
SolidUI

one sentence generates any graph

gitee
+ + + + \ No newline at end of file diff --git a/home/icon.svg b/home/icon.svg new file mode 100644 index 00000000..91d54ddf --- /dev/null +++ b/home/icon.svg @@ -0,0 +1 @@ + diff --git a/home/index.html b/home/index.html new file mode 100644 index 00000000..fc807cca --- /dev/null +++ b/home/index.html @@ -0,0 +1,18 @@ + + + + + +SolidUI + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/home/mymen-bg.png b/home/mymen-bg.png new file mode 100644 index 00000000..b4c5c17e Binary files /dev/null and b/home/mymen-bg.png differ diff --git a/home/performance/index.html b/home/performance/index.html new file mode 100644 index 00000000..c3fcf66d --- /dev/null +++ b/home/performance/index.html @@ -0,0 +1,18 @@ + + + + + +SolidUI + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/home/rocket.svg b/home/rocket.svg new file mode 100644 index 00000000..97c5d728 --- /dev/null +++ b/home/rocket.svg @@ -0,0 +1 @@ + diff --git a/home/startup.svg b/home/startup.svg new file mode 100644 index 00000000..45f4f3a4 --- /dev/null +++ b/home/startup.svg @@ -0,0 +1 @@ + diff --git a/home/streampark-banner.png b/home/streampark-banner.png new file mode 100644 index 00000000..023b0310 Binary files /dev/null and b/home/streampark-banner.png differ diff --git a/home/wave.svg b/home/wave.svg new file mode 100644 index 00000000..f8710c6e --- /dev/null +++ b/home/wave.svg @@ -0,0 +1,8 @@ + + + + + diff --git a/image/apache-incubator.svg b/image/apache-incubator.svg new file mode 100644 index 00000000..1b4c3643 --- /dev/null +++ b/image/apache-incubator.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/image/dashboard-preview.png b/image/dashboard-preview.png new file mode 100644 index 00000000..db80556c Binary files /dev/null and b/image/dashboard-preview.png differ diff --git a/image/dashboard.png b/image/dashboard.png new file mode 100644 index 00000000..3eef7cc8 Binary files /dev/null and b/image/dashboard.png differ diff --git a/image/favicon.ico b/image/favicon.ico new file mode 100644 index 00000000..ee376e01 Binary files /dev/null and b/image/favicon.ico differ diff --git a/image/join_wechat.png b/image/join_wechat.png new file mode 100644 index 00000000..6e77a208 Binary files /dev/null and b/image/join_wechat.png differ diff --git a/image/logo.png b/image/logo.png new file mode 100644 index 00000000..d79a5748 Binary files /dev/null and b/image/logo.png differ diff --git a/image/metadata.png b/image/metadata.png new file mode 100644 index 00000000..c417ad3c Binary files /dev/null and b/image/metadata.png differ diff --git a/image/sqlide.png b/image/sqlide.png new file mode 100644 index 00000000..f2cab295 Binary files /dev/null and b/image/sqlide.png differ diff --git a/image/users.png b/image/users.png new file mode 100644 index 00000000..09ed960d Binary files /dev/null and b/image/users.png differ diff --git a/image/wx_qr.png b/image/wx_qr.png new file mode 100644 index 00000000..4bfe2732 Binary files /dev/null and b/image/wx_qr.png differ diff --git a/index.html b/index.html new file mode 100644 index 00000000..e34aeb8e --- /dev/null +++ b/index.html @@ -0,0 +1,65 @@ + + + + + +SolidUI | SolidUI + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/search-index.json b/search-index.json new file mode 100644 index 00000000..8b44e60f --- /dev/null +++ b/search-index.json @@ -0,0 +1 @@ +[{"documents":[{"i":1,"t":"SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","b":["Blog"]},{"i":21,"t":"SolidUI社区-Snakemq通信源码分析","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","b":["Blog"]},{"i":38,"t":"SolidUI社区-独立部署和Docker通信分析","u":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","b":["Blog"]},{"i":54,"t":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","b":["Blog"]},{"i":86,"t":"Version Update | SolidUI 0.2.0 Release","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","b":["Blog"]},{"i":103,"t":"SolidUI Community - Official Website Introduction","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","b":["Blog"]},{"i":121,"t":"","u":"/SolidUI-Website/blog/archive","b":["Blog"]},{"i":122,"t":"","u":"/SolidUI-Website/blog/page/2","b":["Blog"]},{"i":175,"t":"SolidUI","u":"/SolidUI-Website/home/","b":[]},{"i":176,"t":"SolidUI","u":"/SolidUI-Website/home/feature","b":[]},{"i":177,"t":"SolidUI","u":"/SolidUI-Website/home/hero","b":[]},{"i":178,"t":"SolidUI","u":"/SolidUI-Website/home/performance","b":[]},{"i":179,"t":"SolidUI","u":"/SolidUI-Website/team/","b":[]},{"i":180,"t":"SolidUI","u":"/SolidUI-Website/user/","b":[]},{"i":181,"t":"How to participate in project contribution","u":"/SolidUI-Website/community/contribution_guide/become_committer","b":[]},{"i":183,"t":"Documentation Notice","u":"/SolidUI-Website/community/submit_guide/document","b":[]},{"i":185,"t":"Submit Code","u":"/SolidUI-Website/community/submit_guide/submit_code","b":[]},{"i":187,"t":"SolidUI Docker-Compose deployment","u":"/SolidUI-Website/docs/deployment/deployment-docker","b":["Document","Deployment"]},{"i":200,"t":"SolidUI Kubernetes deployment","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","b":["Document","Deployment"]},{"i":218,"t":"SolidUI is deployed separately","u":"/SolidUI-Website/docs/deployment/deployment-standalone","b":["Document","Deployment"]},{"i":241,"t":"SolidUI front-end deployment","u":"/SolidUI-Website/docs/deployment/deployment-web","b":["Document","Deployment"]},{"i":257,"t":"Frontend Design","u":"/SolidUI-Website/docs/design/front-end-architecture/","b":["Document","Design"]},{"i":265,"t":"Metadata","u":"/SolidUI-Website/docs/design/metadata/","b":["Document","Design"]},{"i":269,"t":"Server Architecture","u":"/SolidUI-Website/docs/design/server-architecture/","b":["Document","Design"]},{"i":295,"t":"How to participate in project contribution","u":"/SolidUI-Website/docs/development/develop-contributing","b":["Document","Development Framework"]},{"i":324,"t":"SolidUI Commit Message","u":"/SolidUI-Website/docs/development/development-commit","b":["Document","Development Framework"]},{"i":337,"t":"SolidUI project co-construction process","u":"/SolidUI-Website/docs/development/development-construction","b":["Document","Development Framework"]},{"i":340,"t":"Docker Build for SolidUI","u":"/SolidUI-Website/docs/development/development-docker","b":["Document","Development Framework"]},{"i":350,"t":"SolidUI front-end compilation","u":"/SolidUI-Website/docs/development/development-front","b":["Document","Development Framework"]},{"i":361,"t":"Project Release Process","u":"/SolidUI-Website/docs/development/development-release","b":["Document","Development Framework"]},{"i":389,"t":"SolidUI Server-side Compilation","u":"/SolidUI-Website/docs/development/development-server","b":["Document","Development Framework"]},{"i":399,"t":"Frequently Asked Questions","u":"/SolidUI-Website/docs/faq/faq/","b":["Document","Frequently Asked Questions"]},{"i":404,"t":"Introduce","u":"/SolidUI-Website/docs/intro","b":["Document"]},{"i":428,"t":"Community Operation","u":"/SolidUI-Website/docs/operational/community-operation/","b":["Document","Operational"]},{"i":448,"t":"Modules","u":"/SolidUI-Website/docs/test/test-case/","b":["Document","Test"]},{"i":459,"t":"Quick start","u":"/SolidUI-Website/docs/user-guide/quick-start","b":["Document","User guide"]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[0,0.239,1,1.412,2,1.412,3,1.412,4,1.412,5,1.412,6,1.412,7,1.412,8,1.731,9,1.412,10,1.412,11,1.412]],["t/21",[0,0.397,12,1.973,13,2.347,14,1.973,15,2.347,16,1.973]],["t/38",[0,0.363,12,1.802,14,1.802,16,1.802,17,2.144,18,2.144,19,1.577]],["t/54",[0,0.288,8,1.252,20,1.703,21,1.703,22,1.703,23,1.703,24,1.703,25,1.431,26,1.703,27,1.431]],["t/86",[0,0.363,8,2.419,25,1.802,28,2.144,29,2.144,30,1.802]],["t/103",[0,0.439,27,2.179,31,2.179,32,2.592,33,2.592]],["t/121",[]],["t/122",[]],["t/175",[0,0.754]],["t/176",[0,0.754]],["t/177",[0,0.754]],["t/178",[0,0.754]],["t/179",[0,0.754]],["t/180",[0,0.754]],["t/181",[34,2.754,35,2.153,36,2.754]],["t/183",[37,3.774,38,3.774]],["t/185",[39,3.774,40,3.774]],["t/187",[0,0.49,19,2.129,41,2.894,42,1.902]],["t/200",[0,0.555,42,2.153,43,3.276]],["t/218",[0,0.555,42,2.153,44,3.276]],["t/241",[0,0.49,42,1.902,45,2.433,46,2.433]],["t/257",[47,3.774,48,3.774]],["t/265",[49,4.451]],["t/269",[50,3.173,51,3.774]],["t/295",[34,2.754,35,2.153,36,2.754]],["t/324",[0,0.555,52,3.276,53,3.276]],["t/337",[0,0.439,35,1.703,54,2.592,55,2.592,56,2.179]],["t/340",[0,0.555,19,2.41,57,3.276]],["t/350",[0,0.49,45,2.433,46,2.433,58,2.433]],["t/361",[30,2.754,35,2.153,56,2.754]],["t/389",[0,0.49,50,2.433,58,2.433,59,2.894]],["t/399",[60,3.276,61,3.276,62,3.276]],["t/404",[63,4.451]],["t/428",[31,3.173,64,3.774]],["t/448",[65,4.451]],["t/459",[66,3.774,67,3.774]]],"invertedIndex":[["0",{"_index":8,"t":{"1":{"position":[[26,1],[30,1]]},"54":{"position":[[53,1]]},"86":{"position":[[25,1],[29,1]]}}}],["1",{"_index":9,"t":{"1":{"position":[[28,1]]}}}],["2",{"_index":25,"t":{"54":{"position":[[51,1]]},"86":{"position":[[27,1]]}}}],["ai",{"_index":1,"t":{"1":{"position":[[8,2]]}}}],["architectur",{"_index":51,"t":{"269":{"position":[[7,12]]}}}],["ask",{"_index":61,"t":{"399":{"position":[[11,5]]}}}],["build",{"_index":57,"t":{"340":{"position":[[7,5]]}}}],["co",{"_index":54,"t":{"337":{"position":[[16,2]]}}}],["code",{"_index":40,"t":{"185":{"position":[[7,4]]}}}],["commit",{"_index":52,"t":{"324":{"position":[[8,6]]}}}],["commun",{"_index":31,"t":{"103":{"position":[[8,9]]},"428":{"position":[[0,9]]}}}],["compil",{"_index":58,"t":{"350":{"position":[[18,11]]},"389":{"position":[[20,11]]}}}],["compos",{"_index":41,"t":{"187":{"position":[[15,7]]}}}],["construct",{"_index":55,"t":{"337":{"position":[[19,12]]}}}],["contribut",{"_index":36,"t":{"181":{"position":[[30,12]]},"295":{"position":[[30,12]]}}}],["deploy",{"_index":42,"t":{"187":{"position":[[23,10]]},"200":{"position":[[19,10]]},"218":{"position":[[11,8]]},"241":{"position":[[18,10]]}}}],["design",{"_index":48,"t":{"257":{"position":[[9,6]]}}}],["docker",{"_index":19,"t":{"38":{"position":[[15,6]]},"187":{"position":[[8,6]]},"340":{"position":[[0,6]]}}}],["document",{"_index":37,"t":{"183":{"position":[[0,13]]}}}],["end",{"_index":46,"t":{"241":{"position":[[14,3]]},"350":{"position":[[14,3]]}}}],["frequent",{"_index":60,"t":{"399":{"position":[[0,10]]}}}],["front",{"_index":45,"t":{"241":{"position":[[8,5]]},"350":{"position":[[8,5]]}}}],["frontend",{"_index":47,"t":{"257":{"position":[[0,8]]}}}],["function",{"_index":26,"t":{"54":{"position":[[55,8]]}}}],["gener",{"_index":20,"t":{"54":{"position":[[8,9]]}}}],["graphic",{"_index":21,"t":{"54":{"position":[[22,8]]}}}],["introduc",{"_index":63,"t":{"404":{"position":[[0,9]]}}}],["introduct",{"_index":27,"t":{"54":{"position":[[64,12]]},"103":{"position":[[37,12]]}}}],["kubernet",{"_index":43,"t":{"200":{"position":[[8,10]]}}}],["messag",{"_index":53,"t":{"324":{"position":[[15,7]]}}}],["metadata",{"_index":49,"t":{"265":{"position":[[0,8]]}}}],["modul",{"_index":65,"t":{"448":{"position":[[0,7]]}}}],["notic",{"_index":38,"t":{"183":{"position":[[14,6]]}}}],["offici",{"_index":32,"t":{"103":{"position":[[20,8]]}}}],["on",{"_index":22,"t":{"54":{"position":[[34,3]]}}}],["oper",{"_index":64,"t":{"428":{"position":[[10,9]]}}}],["particip",{"_index":34,"t":{"181":{"position":[[7,11]]},"295":{"position":[[7,11]]}}}],["process",{"_index":56,"t":{"337":{"position":[[32,7]]},"361":{"position":[[16,7]]}}}],["project",{"_index":35,"t":{"181":{"position":[[22,7]]},"295":{"position":[[22,7]]},"337":{"position":[[8,7]]},"361":{"position":[[0,7]]}}}],["question",{"_index":62,"t":{"399":{"position":[[17,9]]}}}],["quick",{"_index":66,"t":{"459":{"position":[[0,5]]}}}],["releas",{"_index":30,"t":{"86":{"position":[[31,7]]},"361":{"position":[[8,7]]}}}],["sentenc",{"_index":23,"t":{"54":{"position":[[38,8]]}}}],["separ",{"_index":44,"t":{"218":{"position":[[20,10]]}}}],["server",{"_index":50,"t":{"269":{"position":[[0,6]]},"389":{"position":[[8,6]]}}}],["side",{"_index":59,"t":{"389":{"position":[[15,4]]}}}],["snakemq",{"_index":13,"t":{"21":{"position":[[10,7]]}}}],["solidui",{"_index":0,"t":{"1":{"position":[[0,7]]},"21":{"position":[[0,7]]},"38":{"position":[[0,7]]},"54":{"position":[[0,7]]},"86":{"position":[[17,7]]},"103":{"position":[[0,7]]},"175":{"position":[[0,7]]},"176":{"position":[[0,7]]},"177":{"position":[[0,7]]},"178":{"position":[[0,7]]},"179":{"position":[[0,7]]},"180":{"position":[[0,7]]},"187":{"position":[[0,7]]},"200":{"position":[[0,7]]},"218":{"position":[[0,7]]},"241":{"position":[[0,7]]},"324":{"position":[[0,7]]},"337":{"position":[[0,7]]},"340":{"position":[[17,7]]},"350":{"position":[[0,7]]},"389":{"position":[[0,7]]}}}],["start",{"_index":67,"t":{"459":{"position":[[6,5]]}}}],["submit",{"_index":39,"t":{"185":{"position":[[0,6]]}}}],["updat",{"_index":29,"t":{"86":{"position":[[8,6]]}}}],["v0",{"_index":24,"t":{"54":{"position":[[48,2]]}}}],["version",{"_index":28,"t":{"86":{"position":[[0,7]]}}}],["websit",{"_index":33,"t":{"103":{"position":[[29,7]]}}}],["分析",{"_index":16,"t":{"21":{"position":[[21,2]]},"38":{"position":[[23,2]]}}}],["功能",{"_index":10,"t":{"1":{"position":[[32,2]]}}}],["可视化",{"_index":3,"t":{"1":{"position":[[12,3]]}}}],["开创性",{"_index":4,"t":{"1":{"position":[[16,3]]}}}],["开源",{"_index":5,"t":{"1":{"position":[[19,2]]}}}],["源码",{"_index":15,"t":{"21":{"position":[[19,2]]}}}],["版本",{"_index":7,"t":{"1":{"position":[[24,2]]}}}],["独立",{"_index":17,"t":{"38":{"position":[[10,2]]}}}],["生成",{"_index":2,"t":{"1":{"position":[[10,2]]}}}],["社区",{"_index":12,"t":{"21":{"position":[[7,2]]},"38":{"position":[[7,2]]}}}],["讲解",{"_index":11,"t":{"1":{"position":[[34,2]]}}}],["通信",{"_index":14,"t":{"21":{"position":[[17,2]]},"38":{"position":[[21,2]]}}}],["部署",{"_index":18,"t":{"38":{"position":[[12,2]]}}}],["项目",{"_index":6,"t":{"1":{"position":[[21,2]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":3,"t":"背景","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#背景","p":1},{"i":5,"t":"项目名字含义","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#项目名字含义","p":1},{"i":7,"t":"登录页含义","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#登录页含义","p":1},{"i":9,"t":"产品思维","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#产品思维","p":1},{"i":11,"t":"0.1.0 版本内涵","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#010-版本内涵","p":1},{"i":13,"t":"功能列表","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#功能列表","p":1},{"i":15,"t":"数据源管理","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#数据源管理","p":1},{"i":17,"t":"项目管理","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#项目管理","p":1},{"i":19,"t":"设计页面","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#设计页面","p":1},{"i":23,"t":"背景","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#背景","p":21},{"i":25,"t":"Snakemq介绍","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#snakemq介绍","p":21},{"i":27,"t":"Snakemq作用","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#snakemq作用","p":21},{"i":28,"t":"","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"","p":21},{"i":30,"t":"Snakemq 测试代码","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#snakemq-测试代码","p":21},{"i":32,"t":"Snakemq通信","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#snakemq通信","p":21},{"i":34,"t":"结语","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#结语","p":21},{"i":36,"t":"如果成为贡献者","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#如果成为贡献者","p":21},{"i":40,"t":"背景","u":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","h":"#背景","p":38},{"i":42,"t":"独立部署通信","u":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","h":"#独立部署通信","p":38},{"i":44,"t":"例如","u":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","h":"#例如","p":38},{"i":46,"t":"Docker 部署通信","u":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","h":"#docker-部署通信","p":38},{"i":48,"t":"例如","u":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","h":"#例如-1","p":38},{"i":50,"t":"结语","u":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","h":"#结语","p":38},{"i":52,"t":"如果成为贡献者","u":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","h":"#如果成为贡献者","p":38},{"i":56,"t":"Background","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#background","p":54},{"i":58,"t":"Chat Window","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#chat-window","p":54},{"i":60,"t":"Prompt Words","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#prompt-words","p":54},{"i":62,"t":"Chat Window Generation","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#chat-window-generation","p":54},{"i":63,"t":"Input data format for bar chart","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#input-data-format-for-bar-chart","p":54},{"i":65,"t":"Surface Graph","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#surface-graph","p":54},{"i":67,"t":"Scatter Plot","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#scatter-plot","p":54},{"i":69,"t":"Spiral Line","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#spiral-line","p":54},{"i":71,"t":"Pie Chart","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#pie-chart","p":54},{"i":73,"t":"Bunny Modeling","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#bunny-modeling","p":54},{"i":75,"t":"Map","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#map","p":54},{"i":77,"t":"Design Page","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#design-page","p":54},{"i":78,"t":"Page Layout","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#page-layout","p":54},{"i":80,"t":"Preview","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#preview","p":54},{"i":82,"t":"Future Plans of SolidUI Community","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#future-plans-of-solidui-community","p":54},{"i":84,"t":"How to Become a Contributor","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#how-to-become-a-contributor","p":54},{"i":88,"t":"Background","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","h":"#background","p":86},{"i":90,"t":"Release Notes","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","h":"#release-notes","p":86},{"i":91,"t":"Features","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","h":"#features","p":86},{"i":93,"t":"Deployment","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","h":"#deployment","p":86},{"i":95,"t":"Documentation","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","h":"#documentation","p":86},{"i":97,"t":"Detailed Guide","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","h":"#detailed-guide","p":86},{"i":99,"t":"Contributors","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","h":"#contributors","p":86},{"i":101,"t":"How to Become a Contributor","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","h":"#how-to-become-a-contributor","p":86},{"i":105,"t":"Background","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"#background","p":103},{"i":107,"t":"Introduction","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"#introduction","p":103},{"i":109,"t":"How to Contribute","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"#how-to-contribute","p":103},{"i":111,"t":"Example","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"#example","p":103},{"i":113,"t":"Conclusion","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"#conclusion","p":103},{"i":115,"t":"SolidUI-Website Contributors","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"#solidui-website-contributors","p":103},{"i":117,"t":"Acknowledgments","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"#acknowledgments","p":103},{"i":119,"t":"How to Become a Contributor","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"#how-to-become-a-contributor","p":103},{"i":123,"t":"SolidUI社区-独立部署和Docker通信分析","u":"/SolidUI-Website/blog/page/2","h":"","p":122},{"i":125,"t":"背景","u":"/SolidUI-Website/blog/page/2","h":"#背景","p":122},{"i":127,"t":"独立部署通信","u":"/SolidUI-Website/blog/page/2","h":"#独立部署通信","p":122},{"i":129,"t":"例如","u":"/SolidUI-Website/blog/page/2","h":"#例如","p":122},{"i":131,"t":"Docker 部署通信","u":"/SolidUI-Website/blog/page/2","h":"#docker-部署通信","p":122},{"i":133,"t":"例如","u":"/SolidUI-Website/blog/page/2","h":"#例如-1","p":122},{"i":135,"t":"结语","u":"/SolidUI-Website/blog/page/2","h":"#结语","p":122},{"i":137,"t":"如果成为贡献者","u":"/SolidUI-Website/blog/page/2","h":"#如果成为贡献者","p":122},{"i":139,"t":"SolidUI社区-Snakemq通信源码分析","u":"/SolidUI-Website/blog/page/2","h":"","p":122},{"i":141,"t":"背景","u":"/SolidUI-Website/blog/page/2","h":"#背景","p":122},{"i":143,"t":"Snakemq介绍","u":"/SolidUI-Website/blog/page/2","h":"#snakemq介绍","p":122},{"i":145,"t":"Snakemq作用","u":"/SolidUI-Website/blog/page/2","h":"#snakemq作用","p":122},{"i":147,"t":"Snakemq 测试代码","u":"/SolidUI-Website/blog/page/2","h":"#snakemq-测试代码","p":122},{"i":149,"t":"Snakemq通信","u":"/SolidUI-Website/blog/page/2","h":"#snakemq通信","p":122},{"i":151,"t":"结语","u":"/SolidUI-Website/blog/page/2","h":"#结语","p":122},{"i":153,"t":"如果成为贡献者","u":"/SolidUI-Website/blog/page/2","h":"#如果成为贡献者","p":122},{"i":155,"t":"SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解","u":"/SolidUI-Website/blog/page/2","h":"","p":122},{"i":157,"t":"背景","u":"/SolidUI-Website/blog/page/2","h":"#背景","p":122},{"i":159,"t":"项目名字含义","u":"/SolidUI-Website/blog/page/2","h":"#项目名字含义","p":122},{"i":161,"t":"登录页含义","u":"/SolidUI-Website/blog/page/2","h":"#登录页含义","p":122},{"i":163,"t":"产品思维","u":"/SolidUI-Website/blog/page/2","h":"#产品思维","p":122},{"i":165,"t":"0.1.0 版本内涵","u":"/SolidUI-Website/blog/page/2","h":"#010-版本内涵","p":122},{"i":167,"t":"功能列表","u":"/SolidUI-Website/blog/page/2","h":"#功能列表","p":122},{"i":169,"t":"数据源管理","u":"/SolidUI-Website/blog/page/2","h":"#数据源管理","p":122},{"i":171,"t":"项目管理","u":"/SolidUI-Website/blog/page/2","h":"#项目管理","p":122},{"i":173,"t":"设计页面","u":"/SolidUI-Website/blog/page/2","h":"#设计页面","p":122},{"i":188,"t":"1. Environment preparation","u":"/SolidUI-Website/docs/deployment/deployment-docker","h":"#1-environment-preparation","p":187},{"i":190,"t":"2. Start docker-compose (recommended)","u":"/SolidUI-Website/docs/deployment/deployment-docker","h":"#2-start-docker-compose-recommended","p":187},{"i":192,"t":"2.1 Download deployment package or source code","u":"/SolidUI-Website/docs/deployment/deployment-docker","h":"#21-download-deployment-package-or-source-code","p":187},{"i":194,"t":"2.2 Pull the image and start the service","u":"/SolidUI-Website/docs/deployment/deployment-docker","h":"#22-pull-the-image-and-start-the-service","p":187},{"i":196,"t":"2.3 Modify the database table information, modify the table solidui_model_type, token and baseurl fields (supported after version 0.2.0)","u":"/SolidUI-Website/docs/deployment/deployment-docker","h":"#23-modify-the-database-table-information-modify-the-table-solidui_model_type-token-and-baseurl-fields-supported-after-version-020","p":187},{"i":198,"t":"2.4 Accessing Services","u":"/SolidUI-Website/docs/deployment/deployment-docker","h":"#24-accessing-services","p":187},{"i":201,"t":"1. Environment preparation","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#1-environment-preparation","p":200},{"i":202,"t":"Software Environment","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#software-environment","p":200},{"i":204,"t":"Operating System","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#operating-system","p":200},{"i":206,"t":"Hardware Environment","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#hardware-environment","p":200},{"i":208,"t":"2.Start Helme (recommended)","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#2start-helme-recommended","p":200},{"i":210,"t":"2.1 Download source code","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#21-download-source-code","p":200},{"i":212,"t":"2.2 Start the service with Helm","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#22-start-the-service-with-helm","p":200},{"i":214,"t":"2.3 View the service status and ingress port","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#23-view-the-service-status-and-ingress-port","p":200},{"i":216,"t":"2.4 Accessing Services","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#24-accessing-services","p":200},{"i":219,"t":"1. First-time installation preparations","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#1-first-time-installation-preparations","p":218},{"i":220,"t":"1.1 Linux server","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#11-linux-server","p":218},{"i":222,"t":"1.2 JDK preparation","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#12-jdk-preparation","p":218},{"i":224,"t":"1.3 Database preparation","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#13-database-preparation","p":218},{"i":226,"t":"2. Configuration modification","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#2-configuration-modification","p":218},{"i":227,"t":"2.1 Installation package preparation","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#21-installation-package-preparation","p":218},{"i":229,"t":"3. The server follows and starts","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#3-the-server-follows-and-starts","p":218},{"i":230,"t":"3.1 Preparations","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#31-preparations","p":218},{"i":232,"t":"3.2 Configuration modification","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#32-configuration-modification","p":218},{"i":234,"t":"3.3 Server start","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#33-server-start","p":218},{"i":236,"t":"4. Front-end deployment","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#4-front-end-deployment","p":218},{"i":237,"t":"4.1 Preparations","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#41-preparations","p":218},{"i":239,"t":"4.2 Startup","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#42-startup","p":218},{"i":242,"t":"1 Preparations","u":"/SolidUI-Website/docs/deployment/deployment-web","h":"#1-preparations","p":241},{"i":244,"t":"2 deployment","u":"/SolidUI-Website/docs/deployment/deployment-web","h":"#2-deployment","p":241},{"i":246,"t":"2.1 Automated deployment (recommended)","u":"/SolidUI-Website/docs/deployment/deployment-web","h":"#21-automated-deployment-recommended","p":241},{"i":248,"t":"2.2 Manual deployment","u":"/SolidUI-Website/docs/deployment/deployment-web","h":"#22-manual-deployment","p":241},{"i":250,"t":"3 login","u":"/SolidUI-Website/docs/deployment/deployment-web","h":"#3-login","p":241},{"i":252,"t":"4 Notes","u":"/SolidUI-Website/docs/deployment/deployment-web","h":"#4-notes","p":241},{"i":254,"t":"5 Frequently Asked Questions","u":"/SolidUI-Website/docs/deployment/deployment-web","h":"#5-frequently-asked-questions","p":241},{"i":255,"t":"5.1 Interface timeout","u":"/SolidUI-Website/docs/deployment/deployment-web","h":"#51-interface-timeout","p":241},{"i":258,"t":"1. SolidUI Module","u":"/SolidUI-Website/docs/design/front-end-architecture/","h":"#1-solidui-module","p":257},{"i":260,"t":"2. 总览架构","u":"/SolidUI-Website/docs/design/front-end-architecture/","h":"#2-总览架构","p":257},{"i":261,"t":"3. SolidEditor & Preview(WISYWI)","u":"/SolidUI-Website/docs/design/front-end-architecture/","h":"#3-solideditor--previewwisywi","p":257},{"i":263,"t":"4. SolidView & JSONSchema & Configuration","u":"/SolidUI-Website/docs/design/front-end-architecture/","h":"#4-solidview--jsonschema--configuration","p":257},{"i":267,"t":"E-R","u":"/SolidUI-Website/docs/design/metadata/","h":"#e-r","p":265},{"i":270,"t":"1. Architecture Overview","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#1-architecture-overview","p":269},{"i":272,"t":"2. Module function","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#2-module-function","p":269},{"i":274,"t":"3. Source code explanation","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#3-source-code-explanation","p":269},{"i":275,"t":"3.1 solidui-bom","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#31-solidui-bom","p":269},{"i":277,"t":"3.2 solidui-common","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#32-solidui-common","p":269},{"i":279,"t":"3.3 solidui-dao","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#33-solidui-dao","p":269},{"i":281,"t":"3.4 solidui-datasource-plugin","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#34-solidui-datasource-plugin","p":269},{"i":283,"t":"3.5 solidui-dist","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#35-solidui-dist","p":269},{"i":285,"t":"3.6 solidui-entrance","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#36-solidui-entrance","p":269},{"i":287,"t":"3.7 solidui-service","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#37-solidui-service","p":269},{"i":289,"t":"3.8 solidui-spi","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#38-solidui-spi","p":269},{"i":291,"t":"3.9 solidui-web","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#39-solidui-web","p":269},{"i":293,"t":"3.10 soliduimodelui","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#310-soliduimodelui","p":269},{"i":297,"t":"1. Contribution category","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#1-contribution-category","p":295},{"i":298,"t":"1.1 Bug feedback and fixes","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#11-bug-feedback-and-fixes","p":295},{"i":300,"t":"1.2 Function communication, implementation, refactoring","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#12-function-communication-implementation-refactoring","p":295},{"i":302,"t":"1.3 Issue Answers","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#13-issue-answers","p":295},{"i":304,"t":"1.4 Documentation improvements","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#14-documentation-improvements","p":295},{"i":306,"t":"1.5 Others","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#15-others","p":295},{"i":308,"t":"2. Contribution process","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#2-contribution-process","p":295},{"i":309,"t":"2.1 Branch structure","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#21-branch-structure","p":295},{"i":311,"t":"2.2 Development Guidelines","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#22-development-guidelines","p":295},{"i":313,"t":"2.3 Issue submission guidelines","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#23-issue-submission-guidelines","p":295},{"i":315,"t":"2.4 Pull Request (PR) submission guidelines","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#24-pull-request-pr-submission-guidelines","p":295},{"i":317,"t":"2.5 Review Criteria","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#25-review-criteria","p":295},{"i":319,"t":"3. Advanced contribution","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#3-advanced-contribution","p":295},{"i":320,"t":"3.1 About Committers (Collaborators)","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#31-about-committers-collaborators","p":295},{"i":322,"t":"3.2 About the Committee","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#32-about-the-committee","p":295},{"i":326,"t":"1. Introduction","u":"/SolidUI-Website/docs/development/development-commit","h":"#1-introduction","p":324},{"i":328,"t":"2. Commit Message RIP","u":"/SolidUI-Website/docs/development/development-commit","h":"#2-commit-message-rip","p":324},{"i":329,"t":"2.1 Clarify Changes","u":"/SolidUI-Website/docs/development/development-commit","h":"#21-clarify-changes","p":324},{"i":331,"t":"2.2 Associate with Relevant Pull Requests or Issues","u":"/SolidUI-Website/docs/development/development-commit","h":"#22-associate-with-relevant-pull-requests-or-issues","p":324},{"i":333,"t":"2.3 Unified Format","u":"/SolidUI-Website/docs/development/development-commit","h":"#23-unified-format","p":324},{"i":335,"t":"3. Reference Documents","u":"/SolidUI-Website/docs/development/development-commit","h":"#3-reference-documents","p":324},{"i":338,"t":"Process list","u":"/SolidUI-Website/docs/development/development-construction","h":"#process-list","p":337},{"i":341,"t":"1. Prerequisites","u":"/SolidUI-Website/docs/development/development-docker","h":"#1-prerequisites","p":340},{"i":343,"t":"2. Image building","u":"/SolidUI-Website/docs/development/development-docker","h":"#2-image-building","p":340},{"i":344,"t":"2.1 Building server-side image build-entrance-server","u":"/SolidUI-Website/docs/development/development-docker","h":"#21-building-server-side-image-build-entrance-server","p":340},{"i":346,"t":"2.2 Server-side image build-soliduimodelui (after version 0.2.0)","u":"/SolidUI-Website/docs/development/development-docker","h":"#22-server-side-image-build-soliduimodelui-after-version-020","p":340},{"i":348,"t":"2.3 Building front-end image","u":"/SolidUI-Website/docs/development/development-docker","h":"#23-building-front-end-image","p":340},{"i":351,"t":"1. Preconditions","u":"/SolidUI-Website/docs/development/development-front","h":"#1-preconditions","p":350},{"i":352,"t":"1.1 Install Node.js","u":"/SolidUI-Website/docs/development/development-front","h":"#11-install-nodejs","p":350},{"i":354,"t":"1.2 Source code acquisition","u":"/SolidUI-Website/docs/development/development-front","h":"#12-source-code-acquisition","p":350},{"i":356,"t":"2. Compile","u":"/SolidUI-Website/docs/development/development-front","h":"#2-compile","p":350},{"i":357,"t":"2.1 Install npm dependencies","u":"/SolidUI-Website/docs/development/development-front","h":"#21-install-npm-dependencies","p":350},{"i":359,"t":"2.2. Package project","u":"/SolidUI-Website/docs/development/development-front","h":"#22-package-project","p":350},{"i":362,"t":"SolidUI project release process","u":"/SolidUI-Website/docs/development/development-release","h":"#solidui-project-release-process","p":361},{"i":363,"t":"Authorization","u":"/SolidUI-Website/docs/development/development-release","h":"#authorization","p":361},{"i":365,"t":"Materials pack","u":"/SolidUI-Website/docs/development/development-release","h":"#materials-pack","p":361},{"i":366,"t":"branch","u":"/SolidUI-Website/docs/development/development-release","h":"#branch","p":361},{"i":368,"t":"Create a release-${release_version}-rcx branch based on the development branch to be released","u":"/SolidUI-Website/docs/development/development-release","h":"#create-a-release-release_version-rcx-branch-based-on-the-development-branch-to-be-released","p":361},{"i":370,"t":"tag","u":"/SolidUI-Website/docs/development/development-release","h":"#tag","p":361},{"i":372,"t":"clone the corresponding release branches locally","u":"/SolidUI-Website/docs/development/development-release","h":"#clone-the-corresponding-release-branches-locally","p":361},{"i":374,"t":"The version number is confirmed","u":"/SolidUI-Website/docs/development/development-release","h":"#the-version-number-is-confirmed","p":361},{"i":375,"t":"Verify material package","u":"/SolidUI-Website/docs/development/development-release","h":"#verify-material-package","p":361},{"i":377,"t":"Initiate a vote","u":"/SolidUI-Website/docs/development/development-release","h":"#initiate-a-vote","p":361},{"i":378,"t":"Community voting phase","u":"/SolidUI-Website/docs/development/development-release","h":"#community-voting-phase","p":361},{"i":380,"t":"Close the voting thread","u":"/SolidUI-Website/docs/development/development-release","h":"#close-the-voting-thread","p":361},{"i":382,"t":"Cancel the vote (if necessary)","u":"/SolidUI-Website/docs/development/development-release","h":"#cancel-the-vote-if-necessary","p":361},{"i":384,"t":"Announce the results of the vote","u":"/SolidUI-Website/docs/development/development-release","h":"#announce-the-results-of-the-vote","p":361},{"i":386,"t":"Official release","u":"/SolidUI-Website/docs/development/development-release","h":"#official-release","p":361},{"i":387,"t":"GitHub version created","u":"/SolidUI-Website/docs/development/development-release","h":"#github-version-created","p":361},{"i":390,"t":"1. Prerequisites","u":"/SolidUI-Website/docs/development/development-server","h":"#1-prerequisites","p":389},{"i":391,"t":"1.1 Environmental requirements","u":"/SolidUI-Website/docs/development/development-server","h":"#11-environmental-requirements","p":389},{"i":393,"t":"1.2 Get the source code","u":"/SolidUI-Website/docs/development/development-server","h":"#12-get-the-source-code","p":389},{"i":395,"t":"2. Server-side compilation","u":"/SolidUI-Website/docs/development/development-server","h":"#2-server-side-compilation","p":389},{"i":397,"t":"3. Full compilation (server side and front end)","u":"/SolidUI-Website/docs/development/development-server","h":"#3-full-compilation-server-side-and-front-end","p":389},{"i":400,"t":"Question answering process","u":"/SolidUI-Website/docs/faq/faq/","h":"#question-answering-process","p":399},{"i":402,"t":"epilogue","u":"/SolidUI-Website/docs/faq/faq/","h":"#epilogue","p":399},{"i":406,"t":"Core Features","u":"/SolidUI-Website/docs/intro","h":"#core-features","p":404},{"i":408,"t":"QuickStart","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":410,"t":"What's this?","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":412,"t":"Self-developed Wensheng graph language model","u":"/SolidUI-Website/docs/intro","h":"#self-developed-wensheng-graph-language-model","p":404},{"i":414,"t":"RLHF process","u":"/SolidUI-Website/docs/intro","h":"#rlhf-process","p":404},{"i":416,"t":"Document","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":418,"t":"Contribute","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":420,"t":"Contact US","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":422,"t":"Who is using SolidUI","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":424,"t":"Contributors","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":426,"t":"Thanks And Support","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":429,"t":"Community Co-building Cooperation","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#community-co-building-cooperation","p":428},{"i":430,"t":"Open Source Community Co-building Terms","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#open-source-community-co-building-terms","p":428},{"i":432,"t":"Share Valuable Content","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#share-valuable-content","p":428},{"i":434,"t":"Organize Online or Offline Events","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#organize-online-or-offline-events","p":428},{"i":436,"t":"Interaction and Communication","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#interaction-and-communication","p":428},{"i":438,"t":"Cooperation and Co-creation","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#cooperation-and-co-creation","p":428},{"i":440,"t":"Trial Environment and Resource Sharing","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#trial-environment-and-resource-sharing","p":428},{"i":442,"t":"Prioritize Resolving Co-building Issues","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#prioritize-resolving-co-building-issues","p":428},{"i":444,"t":"Adhere to the Code of Conduct","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#adhere-to-the-code-of-conduct","p":428},{"i":446,"t":"Chinese document writing standards","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#chinese-document-writing-standards","p":428},{"i":449,"t":"Log in","u":"/SolidUI-Website/docs/test/test-case/","h":"#log-in","p":448},{"i":451,"t":"Data Source Management","u":"/SolidUI-Website/docs/test/test-case/","h":"#data-source-management","p":448},{"i":453,"t":"Project Management","u":"/SolidUI-Website/docs/test/test-case/","h":"#project-management","p":448},{"i":455,"t":"Design","u":"/SolidUI-Website/docs/test/test-case/","h":"#design","p":448},{"i":457,"t":"ModelUI","u":"/SolidUI-Website/docs/test/test-case/","h":"#modelui","p":448},{"i":460,"t":"Start","u":"/SolidUI-Website/docs/user-guide/quick-start","h":"#start","p":459},{"i":462,"t":"Accessing Services","u":"/SolidUI-Website/docs/user-guide/quick-start","h":"#accessing-services","p":459}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/3",[0,4.88]],["t/5",[1,4.203,2,4.544,3,3.948]],["t/7",[3,3.948,4,4.544,5,4.544]],["t/9",[6,5.245,7,5.245]],["t/11",[8,4.334,9,1.378,10,3.317,11,3.586]],["t/13",[12,4.852,13,5.245]],["t/15",[14,5.245,15,5.245]],["t/17",[16,6.202]],["t/19",[17,5.245,18,5.245]],["t/23",[0,4.88]],["t/25",[19,3.683,20,5.245]],["t/27",[19,3.683,21,5.245]],["t/28",[]],["t/30",[19,3.683,22,5.245]],["t/32",[19,3.683,23,3.813]],["t/34",[24,5.388]],["t/36",[25,3.948,26,3.948,27,3.948]],["t/40",[0,4.88]],["t/42",[23,3.304,28,4.203,29,3.745]],["t/44",[30,5.388]],["t/46",[23,3.304,29,3.745,31,3.948]],["t/48",[30,5.388]],["t/50",[24,5.388]],["t/52",[25,3.948,26,3.948,27,3.948]],["t/56",[32,5.736]],["t/58",[33,5.245,34,5.245]],["t/60",[35,5.843,36,5.843]],["t/62",[33,4.544,34,4.544,37,5.062]],["t/63",[38,3.995,39,3.586,40,3.586,41,3.995,42,3.586]],["t/65",[43,5.843,44,5.245]],["t/67",[45,5.843,46,5.843]],["t/69",[47,5.843,48,5.843]],["t/71",[42,5.245,49,5.843]],["t/73",[50,5.843,51,4.852]],["t/75",[52,6.909]],["t/77",[53,5.245,54,5.245]],["t/78",[54,5.245,55,5.843]],["t/80",[56,6.202]],["t/82",[57,4.466,58,4.466,59,2.219,60,3.154]],["t/84",[61,4.852,62,4.127]],["t/88",[32,5.736]],["t/90",[63,4.323,64,5.245]],["t/91",[65,6.202]],["t/93",[66,4.88]],["t/95",[67,5.111]],["t/97",[68,5.843,69,5.843]],["t/99",[62,4.88]],["t/101",[61,4.852,62,4.127]],["t/105",[32,5.736]],["t/107",[70,6.202]],["t/109",[71,5.111]],["t/111",[72,6.909]],["t/113",[73,6.909]],["t/115",[59,2.515,62,3.576,74,5.062]],["t/117",[75,6.909]],["t/119",[61,4.852,62,4.127]],["t/123",[23,2.153,28,2.739,29,2.441,31,2.573,59,1.639,76,2.962,77,2.962]],["t/125",[0,4.88]],["t/127",[23,3.304,28,4.203,29,3.745]],["t/129",[30,5.388]],["t/131",[23,3.304,29,3.745,31,3.948]],["t/133",[30,5.388]],["t/135",[24,5.388]],["t/137",[25,3.948,26,3.948,27,3.948]],["t/139",[19,2.278,23,2.358,59,1.795,76,3.244,77,3.244,78,3.614]],["t/141",[0,4.88]],["t/143",[19,3.683,20,5.245]],["t/145",[19,3.683,21,5.245]],["t/147",[19,3.683,22,5.245]],["t/149",[19,3.683,23,3.813]],["t/151",[24,5.388]],["t/153",[25,3.948,26,3.948,27,3.948]],["t/155",[1,1.799,8,2.678,9,0.747,10,1.799,12,1.799,59,1.077,79,2.167,80,2.167,81,2.167,82,2.167,83,2.167,84,2.167]],["t/157",[0,4.88]],["t/159",[1,4.203,2,4.544,3,3.948]],["t/161",[3,3.948,4,4.544,5,4.544]],["t/163",[6,5.245,7,5.245]],["t/165",[8,4.334,9,1.378,10,3.317,11,3.586]],["t/167",[12,4.852,13,5.245]],["t/169",[14,5.245,15,5.245]],["t/171",[16,6.202]],["t/173",[17,5.245,18,5.245]],["t/188",[9,1.746,85,3.745,86,3.191]],["t/190",[31,3.116,87,1.301,88,2.707,89,3.995,90,3.317]],["t/192",[9,1.138,66,2.33,87,1.074,91,2.962,92,2.573,93,2.236,94,2.33]],["t/194",[87,1.771,88,2.449,95,3.001,96,2.673,97,2.449]],["t/196",[8,2.007,51,1.285,59,0.769,87,0.883,98,0.624,99,2.713,100,1.389,101,2.713,102,1.547,103,1.547,104,1.547,105,1.547,106,1.547,107,1.547,108,1.389,109,1.145]],["t/198",[87,1.454,97,3.026,110,2.725,111,3.708]],["t/201",[9,1.746,85,3.745,86,3.191]],["t/202",[85,4.323,112,5.843]],["t/204",[113,5.843,114,5.843]],["t/206",[85,4.323,115,5.843]],["t/208",[87,1.454,88,3.026,90,3.708,116,4.009]],["t/210",[9,1.378,87,1.301,91,3.586,93,2.707,94,2.822]],["t/212",[87,1.907,88,2.707,97,2.707,116,3.586]],["t/214",[87,1.074,97,2.236,98,1.331,117,3.299,118,3.299,119,3.299,120,3.299]],["t/216",[87,1.454,97,3.026,110,2.725,111,3.708]],["t/219",[9,1.378,86,2.518,121,3.995,122,3.995,123,3.116]],["t/220",[9,2.19,124,4.466,125,3.026]],["t/222",[9,1.54,86,2.815,87,1.454,126,4.466]],["t/224",[9,1.54,86,2.815,98,1.801,100,4.009]],["t/226",[87,1.648,127,4.203,128,4.544]],["t/227",[9,1.378,86,2.518,87,1.301,92,3.116,123,3.116]],["t/229",[88,3.026,98,1.801,125,3.026,129,4.466]],["t/230",[9,1.746,86,3.191,98,2.042]],["t/232",[87,1.454,98,1.801,127,3.708,128,4.009]],["t/234",[88,3.026,98,2.561,125,3.026]],["t/236",[66,3.154,110,2.725,130,3.708,131,3.708]],["t/237",[9,1.746,86,3.191,110,3.089]],["t/239",[87,1.648,110,3.089,132,5.062]],["t/242",[9,2.015,86,3.683]],["t/244",[66,4.127,87,1.902]],["t/246",[9,1.378,66,2.822,87,1.301,90,3.317,133,3.995]],["t/248",[66,3.154,87,2.067,134,4.466]],["t/250",[98,2.357,135,5.843]],["t/252",[64,5.245,110,3.566]],["t/254",[136,3.304,137,4.466,138,4.466,139,4.009]],["t/255",[9,1.54,136,3.304,140,4.466,141,4.466]],["t/258",[9,1.746,59,2.515,142,4.544]],["t/260",[87,1.648,143,5.062,144,5.062]],["t/261",[56,4.009,98,1.801,145,4.466,146,4.466]],["t/263",[110,2.725,127,3.708,147,4.466,148,4.466]],["t/267",[149,5.843,150,5.843]],["t/270",[9,1.746,151,5.062,152,5.062]],["t/272",[87,1.648,142,4.544,153,4.544]],["t/274",[93,3.026,94,3.154,98,1.801,154,4.466]],["t/275",[9,1.54,59,2.219,98,1.801,155,4.466]],["t/277",[59,2.219,87,1.454,98,1.801,156,4.466]],["t/279",[59,2.219,98,2.561,157,4.466]],["t/281",[59,1.985,98,1.611,110,2.438,158,3.995,159,3.995]],["t/283",[59,2.219,98,1.801,136,3.304,160,4.466]],["t/285",[59,2.219,98,1.801,161,4.466,162,4.009]],["t/287",[59,2.219,97,3.026,98,1.801,163,4.466]],["t/289",[59,2.219,98,1.801,164,4.466,165,4.466]],["t/291",[59,2.219,98,1.801,166,4.466,167,4.466]],["t/293",[98,2.042,168,5.062,169,4.544]],["t/297",[9,1.746,71,3.745,170,5.062]],["t/298",[9,2.021,171,3.995,172,3.995,173,3.995]],["t/300",[9,1.246,60,2.552,87,1.177,153,3.244,174,3.614,175,3.614]],["t/302",[9,1.54,98,1.801,176,3.483,177,4.009]],["t/304",[9,1.54,67,3.304,110,2.725,178,4.466]],["t/306",[9,1.746,136,3.745,179,5.062]],["t/308",[71,3.745,87,1.648,180,3.745]],["t/309",[9,1.54,87,1.454,181,3.483,182,4.466]],["t/311",[87,2.067,183,3.708,184,3.708]],["t/313",[87,1.301,98,1.611,176,3.116,184,3.317,185,3.586]],["t/315",[87,1.074,95,2.739,110,2.013,184,2.739,185,2.962,186,2.962,187,3.299]],["t/317",[87,1.454,136,3.304,188,4.466,189,4.466]],["t/319",[71,3.745,98,2.042,190,5.062]],["t/320",[9,1.54,98,1.801,191,4.466,192,4.466]],["t/322",[87,1.648,98,2.042,193,5.062]],["t/326",[9,2.015,70,5.245]],["t/328",[87,1.454,194,4.466,195,4.466,196,4.466]],["t/329",[9,1.54,87,1.454,197,4.466,198,4.466]],["t/331",[87,1.652,95,2.739,176,2.573,186,2.962,199,3.299,200,3.299]],["t/333",[40,4.009,87,1.454,98,1.801,201,4.466]],["t/335",[67,3.745,98,2.042,202,5.062]],["t/338",[180,4.323,203,5.843]],["t/341",[9,2.015,204,5.245]],["t/343",[87,1.648,96,3.745,205,3.431]],["t/344",[9,0.969,87,0.915,96,2.079,125,3.032,162,2.522,205,3.032,206,2.192]],["t/346",[8,2.961,87,1.653,96,1.81,109,1.81,125,1.658,169,2.197,205,1.658,206,1.908]],["t/348",[87,1.177,96,2.673,98,1.458,130,3.001,131,3.001,205,2.449]],["t/351",[9,2.015,207,5.843]],["t/352",[9,2.021,123,3.116,208,3.995,209,3.995]],["t/354",[9,1.378,87,1.301,93,2.707,94,2.822,210,3.995]],["t/356",[87,1.902,211,4.852]],["t/357",[9,1.378,87,1.301,123,3.116,212,3.995,213,3.995]],["t/359",[87,2.067,92,3.483,214,3.708]],["t/362",[59,2.219,63,3.304,180,3.304,214,3.708]],["t/363",[215,6.909]],["t/365",[216,5.245,217,5.843]],["t/366",[181,5.388]],["t/368",[63,3.757,109,1.81,181,3.122,183,2.032,218,2.197,219,2.447,220,2.447,221,2.447]],["t/370",[222,6.909]],["t/372",[63,2.955,181,3.116,223,3.995,224,3.995,225,3.995]],["t/374",[109,3.745,226,5.062,227,5.062]],["t/375",[92,3.948,216,4.544,228,5.062]],["t/377",[229,5.843,230,4.323]],["t/378",[60,3.576,230,3.745,231,5.062]],["t/380",[230,3.745,232,5.062,233,5.062]],["t/382",[230,3.745,234,5.062,235,5.062]],["t/384",[230,3.745,236,5.062,237,5.062]],["t/386",[63,4.323,238,5.843]],["t/387",[109,3.745,218,4.544,239,5.062]],["t/390",[9,2.015,204,5.245]],["t/391",[9,2.19,240,4.466,241,4.466]],["t/393",[9,1.54,87,1.454,93,3.026,94,3.154]],["t/395",[87,1.454,125,3.026,206,3.483,211,3.708]],["t/397",[98,1.331,125,2.236,130,2.739,131,2.739,206,2.573,211,2.739,242,3.299]],["t/400",[139,4.544,177,4.544,180,3.745]],["t/402",[243,6.909]],["t/406",[65,5.245,244,5.843]],["t/408",[245,6.909]],["t/410",[246,6.909]],["t/412",[44,3.244,51,3.001,183,3.001,247,3.614,248,3.614,249,3.614]],["t/414",[180,4.323,250,5.843]],["t/416",[67,5.111]],["t/418",[71,5.111]],["t/420",[251,6.909]],["t/422",[59,2.903,252,5.843]],["t/424",[62,4.88]],["t/426",[108,5.245,253,5.843]],["t/429",[60,3.154,205,3.026,254,3.483,255,4.009]],["t/430",[60,2.552,93,2.449,205,2.449,254,2.819,256,3.614,257,3.614]],["t/432",[258,4.544,259,5.062,260,5.062]],["t/434",[261,4.466,262,4.466,263,4.466,264,4.466]],["t/436",[60,4.127,265,5.843]],["t/438",[254,3.948,255,4.544,266,5.062]],["t/440",[85,3.304,258,4.009,267,4.466,268,4.466]],["t/442",[176,3.116,205,2.707,254,3.116,269,3.995,270,3.995]],["t/444",[94,3.576,271,5.062,272,5.062]],["t/446",[67,3.304,273,4.466,274,4.466,275,4.466]],["t/449",[276,6.909]],["t/451",[39,4.544,93,3.431,277,4.544]],["t/453",[214,4.852,277,5.245]],["t/455",[53,6.202]],["t/457",[278,6.909]],["t/460",[88,4.682]],["t/462",[97,3.96,111,4.852]]],"invertedIndex":[["0",{"_index":8,"t":{"11":{"position":[[0,1],[4,1]]},"155":{"position":[[26,1],[30,1]]},"165":{"position":[[0,1],[4,1]]},"196":{"position":[[130,1],[134,1]]},"346":{"position":[[58,1],[62,1]]}}}],["1",{"_index":9,"t":{"11":{"position":[[2,1]]},"155":{"position":[[28,1]]},"165":{"position":[[2,1]]},"188":{"position":[[0,1]]},"192":{"position":[[2,1]]},"201":{"position":[[0,1]]},"210":{"position":[[2,1]]},"219":{"position":[[0,1]]},"220":{"position":[[0,1],[2,1]]},"222":{"position":[[0,1]]},"224":{"position":[[0,1]]},"227":{"position":[[2,1]]},"230":{"position":[[2,1]]},"237":{"position":[[2,1]]},"242":{"position":[[0,1]]},"246":{"position":[[2,1]]},"255":{"position":[[2,1]]},"258":{"position":[[0,1]]},"270":{"position":[[0,1]]},"275":{"position":[[2,1]]},"297":{"position":[[0,1]]},"298":{"position":[[0,1],[2,1]]},"300":{"position":[[0,1]]},"302":{"position":[[0,1]]},"304":{"position":[[0,1]]},"306":{"position":[[0,1]]},"309":{"position":[[2,1]]},"320":{"position":[[2,1]]},"326":{"position":[[0,1]]},"329":{"position":[[2,1]]},"341":{"position":[[0,1]]},"344":{"position":[[2,1]]},"351":{"position":[[0,1]]},"352":{"position":[[0,1],[2,1]]},"354":{"position":[[0,1]]},"357":{"position":[[2,1]]},"390":{"position":[[0,1]]},"391":{"position":[[0,1],[2,1]]},"393":{"position":[[0,1]]}}}],["10",{"_index":168,"t":{"293":{"position":[[2,2]]}}}],["2",{"_index":87,"t":{"190":{"position":[[0,1]]},"192":{"position":[[0,1]]},"194":{"position":[[0,1],[2,1]]},"196":{"position":[[0,1],[132,1]]},"198":{"position":[[0,1]]},"208":{"position":[[0,1]]},"210":{"position":[[0,1]]},"212":{"position":[[0,1],[2,1]]},"214":{"position":[[0,1]]},"216":{"position":[[0,1]]},"222":{"position":[[2,1]]},"226":{"position":[[0,1]]},"227":{"position":[[0,1]]},"232":{"position":[[2,1]]},"239":{"position":[[2,1]]},"244":{"position":[[0,1]]},"246":{"position":[[0,1]]},"248":{"position":[[0,1],[2,1]]},"260":{"position":[[0,1]]},"272":{"position":[[0,1]]},"277":{"position":[[2,1]]},"300":{"position":[[2,1]]},"308":{"position":[[0,1]]},"309":{"position":[[0,1]]},"311":{"position":[[0,1],[2,1]]},"313":{"position":[[0,1]]},"315":{"position":[[0,1]]},"317":{"position":[[0,1]]},"322":{"position":[[2,1]]},"328":{"position":[[0,1]]},"329":{"position":[[0,1]]},"331":{"position":[[0,1],[2,1]]},"333":{"position":[[0,1]]},"343":{"position":[[0,1]]},"344":{"position":[[0,1]]},"346":{"position":[[0,1],[2,1],[60,1]]},"348":{"position":[[0,1]]},"354":{"position":[[2,1]]},"356":{"position":[[0,1]]},"357":{"position":[[0,1]]},"359":{"position":[[0,1],[2,1]]},"393":{"position":[[2,1]]},"395":{"position":[[0,1]]}}}],["3",{"_index":98,"t":{"196":{"position":[[2,1]]},"214":{"position":[[2,1]]},"224":{"position":[[2,1]]},"229":{"position":[[0,1]]},"230":{"position":[[0,1]]},"232":{"position":[[0,1]]},"234":{"position":[[0,1],[2,1]]},"250":{"position":[[0,1]]},"261":{"position":[[0,1]]},"274":{"position":[[0,1]]},"275":{"position":[[0,1]]},"277":{"position":[[0,1]]},"279":{"position":[[0,1],[2,1]]},"281":{"position":[[0,1]]},"283":{"position":[[0,1]]},"285":{"position":[[0,1]]},"287":{"position":[[0,1]]},"289":{"position":[[0,1]]},"291":{"position":[[0,1]]},"293":{"position":[[0,1]]},"302":{"position":[[2,1]]},"313":{"position":[[2,1]]},"319":{"position":[[0,1]]},"320":{"position":[[0,1]]},"322":{"position":[[0,1]]},"333":{"position":[[2,1]]},"335":{"position":[[0,1]]},"348":{"position":[[2,1]]},"397":{"position":[[0,1]]}}}],["4",{"_index":110,"t":{"198":{"position":[[2,1]]},"216":{"position":[[2,1]]},"236":{"position":[[0,1]]},"237":{"position":[[0,1]]},"239":{"position":[[0,1]]},"252":{"position":[[0,1]]},"263":{"position":[[0,1]]},"281":{"position":[[2,1]]},"304":{"position":[[2,1]]},"315":{"position":[[2,1]]}}}],["5",{"_index":136,"t":{"254":{"position":[[0,1]]},"255":{"position":[[0,1]]},"283":{"position":[[2,1]]},"306":{"position":[[2,1]]},"317":{"position":[[2,1]]}}}],["6",{"_index":161,"t":{"285":{"position":[[2,1]]}}}],["7",{"_index":163,"t":{"287":{"position":[[2,1]]}}}],["8",{"_index":164,"t":{"289":{"position":[[2,1]]}}}],["9",{"_index":166,"t":{"291":{"position":[[2,1]]}}}],["access",{"_index":111,"t":{"198":{"position":[[4,9]]},"216":{"position":[[4,9]]},"462":{"position":[[0,9]]}}}],["acknowledg",{"_index":75,"t":{"117":{"position":[[0,15]]}}}],["acquisit",{"_index":210,"t":{"354":{"position":[[16,11]]}}}],["adher",{"_index":271,"t":{"444":{"position":[[0,6]]}}}],["advanc",{"_index":190,"t":{"319":{"position":[[3,8]]}}}],["ai",{"_index":79,"t":{"155":{"position":[[8,2]]}}}],["announc",{"_index":236,"t":{"384":{"position":[[0,8]]}}}],["answer",{"_index":177,"t":{"302":{"position":[[10,7]]},"400":{"position":[[9,9]]}}}],["architectur",{"_index":151,"t":{"270":{"position":[[3,12]]}}}],["ask",{"_index":138,"t":{"254":{"position":[[13,5]]}}}],["associ",{"_index":199,"t":{"331":{"position":[[4,9]]}}}],["author",{"_index":215,"t":{"363":{"position":[[0,13]]}}}],["autom",{"_index":133,"t":{"246":{"position":[[4,9]]}}}],["background",{"_index":32,"t":{"56":{"position":[[0,10]]},"88":{"position":[[0,10]]},"105":{"position":[[0,10]]}}}],["bar",{"_index":41,"t":{"63":{"position":[[22,3]]}}}],["base",{"_index":221,"t":{"368":{"position":[[47,5]]}}}],["baseurl",{"_index":106,"t":{"196":{"position":[[90,7]]}}}],["becom",{"_index":61,"t":{"84":{"position":[[7,6]]},"101":{"position":[[7,6]]},"119":{"position":[[7,6]]}}}],["bom",{"_index":155,"t":{"275":{"position":[[12,3]]}}}],["branch",{"_index":181,"t":{"309":{"position":[[4,6]]},"366":{"position":[[0,6]]},"368":{"position":[[40,6],[72,6]]},"372":{"position":[[32,8]]}}}],["bug",{"_index":171,"t":{"298":{"position":[[4,3]]}}}],["build",{"_index":205,"t":{"343":{"position":[[9,8]]},"344":{"position":[[4,8],[31,5]]},"346":{"position":[[22,5]]},"348":{"position":[[4,8]]},"429":{"position":[[13,8]]},"430":{"position":[[25,8]]},"442":{"position":[[24,8]]}}}],["bunni",{"_index":50,"t":{"73":{"position":[[0,5]]}}}],["cancel",{"_index":234,"t":{"382":{"position":[[0,6]]}}}],["categori",{"_index":170,"t":{"297":{"position":[[16,8]]}}}],["chang",{"_index":198,"t":{"329":{"position":[[12,7]]}}}],["chart",{"_index":42,"t":{"63":{"position":[[26,5]]},"71":{"position":[[4,5]]}}}],["chat",{"_index":33,"t":{"58":{"position":[[0,4]]},"62":{"position":[[0,4]]}}}],["chines",{"_index":273,"t":{"446":{"position":[[0,7]]}}}],["clarifi",{"_index":197,"t":{"329":{"position":[[4,7]]}}}],["clone",{"_index":223,"t":{"372":{"position":[[0,5]]}}}],["close",{"_index":232,"t":{"380":{"position":[[0,5]]}}}],["co",{"_index":254,"t":{"429":{"position":[[10,2]]},"430":{"position":[[22,2]]},"438":{"position":[[16,2]]},"442":{"position":[[21,2]]}}}],["code",{"_index":94,"t":{"192":{"position":[[42,4]]},"210":{"position":[[20,4]]},"274":{"position":[[10,4]]},"354":{"position":[[11,4]]},"393":{"position":[[19,4]]},"444":{"position":[[14,4]]}}}],["collabor",{"_index":192,"t":{"320":{"position":[[22,13]]}}}],["commit",{"_index":194,"t":{"328":{"position":[[3,6]]}}}],["committ",{"_index":191,"t":{"320":{"position":[[10,10]]}}}],["committe",{"_index":193,"t":{"322":{"position":[[14,9]]}}}],["common",{"_index":156,"t":{"277":{"position":[[12,6]]}}}],["commun",{"_index":60,"t":{"82":{"position":[[24,9]]},"300":{"position":[[13,13]]},"378":{"position":[[0,9]]},"429":{"position":[[0,9]]},"430":{"position":[[12,9]]},"436":{"position":[[16,13]]}}}],["compil",{"_index":211,"t":{"356":{"position":[[3,7]]},"395":{"position":[[15,11]]},"397":{"position":[[8,11]]}}}],["compos",{"_index":89,"t":{"190":{"position":[[16,7]]}}}],["conclus",{"_index":73,"t":{"113":{"position":[[0,10]]}}}],["conduct",{"_index":272,"t":{"444":{"position":[[22,7]]}}}],["configur",{"_index":127,"t":{"226":{"position":[[3,13]]},"232":{"position":[[4,13]]},"263":{"position":[[28,13]]}}}],["confirm",{"_index":227,"t":{"374":{"position":[[22,9]]}}}],["contact",{"_index":251,"t":{"420":{"position":[[0,7]]}}}],["content",{"_index":260,"t":{"432":{"position":[[15,7]]}}}],["contribut",{"_index":71,"t":{"109":{"position":[[7,10]]},"297":{"position":[[3,12]]},"308":{"position":[[3,12]]},"319":{"position":[[12,12]]},"418":{"position":[[0,10]]}}}],["contributor",{"_index":62,"t":{"84":{"position":[[16,11]]},"99":{"position":[[0,12]]},"101":{"position":[[16,11]]},"115":{"position":[[16,12]]},"119":{"position":[[16,11]]},"424":{"position":[[0,12]]}}}],["cooper",{"_index":255,"t":{"429":{"position":[[22,11]]},"438":{"position":[[0,11]]}}}],["core",{"_index":244,"t":{"406":{"position":[[0,4]]}}}],["correspond",{"_index":224,"t":{"372":{"position":[[10,13]]}}}],["creat",{"_index":218,"t":{"368":{"position":[[0,6]]},"387":{"position":[[15,7]]}}}],["creation",{"_index":266,"t":{"438":{"position":[[19,8]]}}}],["criteria",{"_index":189,"t":{"317":{"position":[[11,8]]}}}],["dao",{"_index":157,"t":{"279":{"position":[[12,3]]}}}],["data",{"_index":39,"t":{"63":{"position":[[6,4]]},"451":{"position":[[0,4]]}}}],["databas",{"_index":100,"t":{"196":{"position":[[15,8]]},"224":{"position":[[4,8]]}}}],["datasourc",{"_index":158,"t":{"281":{"position":[[12,10]]}}}],["depend",{"_index":213,"t":{"357":{"position":[[16,12]]}}}],["deploy",{"_index":66,"t":{"93":{"position":[[0,10]]},"192":{"position":[[13,10]]},"236":{"position":[[13,10]]},"244":{"position":[[2,10]]},"246":{"position":[[14,10]]},"248":{"position":[[11,10]]}}}],["design",{"_index":53,"t":{"77":{"position":[[0,6]]},"455":{"position":[[0,6]]}}}],["detail",{"_index":68,"t":{"97":{"position":[[0,8]]}}}],["develop",{"_index":183,"t":{"311":{"position":[[4,11]]},"368":{"position":[[60,11]]},"412":{"position":[[5,9]]}}}],["dist",{"_index":160,"t":{"283":{"position":[[12,4]]}}}],["docker",{"_index":31,"t":{"46":{"position":[[0,6]]},"123":{"position":[[15,6]]},"131":{"position":[[0,6]]},"190":{"position":[[9,6]]}}}],["document",{"_index":67,"t":{"95":{"position":[[0,13]]},"304":{"position":[[4,13]]},"335":{"position":[[13,9]]},"416":{"position":[[0,8]]},"446":{"position":[[8,8]]}}}],["download",{"_index":91,"t":{"192":{"position":[[4,8]]},"210":{"position":[[4,8]]}}}],["e",{"_index":149,"t":{"267":{"position":[[0,1]]}}}],["end",{"_index":131,"t":{"236":{"position":[[9,3]]},"348":{"position":[[19,3]]},"397":{"position":[[43,3]]}}}],["entranc",{"_index":162,"t":{"285":{"position":[[12,8]]},"344":{"position":[[37,8]]}}}],["environ",{"_index":85,"t":{"188":{"position":[[3,11]]},"201":{"position":[[3,11]]},"202":{"position":[[9,11]]},"206":{"position":[[9,11]]},"440":{"position":[[6,11]]}}}],["environment",{"_index":240,"t":{"391":{"position":[[4,13]]}}}],["epilogu",{"_index":243,"t":{"402":{"position":[[0,8]]}}}],["event",{"_index":264,"t":{"434":{"position":[[27,6]]}}}],["exampl",{"_index":72,"t":{"111":{"position":[[0,7]]}}}],["explan",{"_index":154,"t":{"274":{"position":[[15,11]]}}}],["featur",{"_index":65,"t":{"91":{"position":[[0,8]]},"406":{"position":[[5,8]]}}}],["feedback",{"_index":172,"t":{"298":{"position":[[8,8]]}}}],["field",{"_index":107,"t":{"196":{"position":[[98,6]]}}}],["first",{"_index":121,"t":{"219":{"position":[[3,5]]}}}],["fix",{"_index":173,"t":{"298":{"position":[[21,5]]}}}],["follow",{"_index":129,"t":{"229":{"position":[[14,7]]}}}],["format",{"_index":40,"t":{"63":{"position":[[11,6]]},"333":{"position":[[12,6]]}}}],["frequent",{"_index":137,"t":{"254":{"position":[[2,10]]}}}],["front",{"_index":130,"t":{"236":{"position":[[3,5]]},"348":{"position":[[13,5]]},"397":{"position":[[37,5]]}}}],["full",{"_index":242,"t":{"397":{"position":[[3,4]]}}}],["function",{"_index":153,"t":{"272":{"position":[[10,8]]},"300":{"position":[[4,8]]}}}],["futur",{"_index":57,"t":{"82":{"position":[[0,6]]}}}],["gener",{"_index":37,"t":{"62":{"position":[[12,10]]}}}],["github",{"_index":239,"t":{"387":{"position":[[0,6]]}}}],["graph",{"_index":44,"t":{"65":{"position":[[8,5]]},"412":{"position":[[24,5]]}}}],["guid",{"_index":69,"t":{"97":{"position":[[9,5]]}}}],["guidelin",{"_index":184,"t":{"311":{"position":[[16,10]]},"313":{"position":[[21,10]]},"315":{"position":[[33,10]]}}}],["hardwar",{"_index":115,"t":{"206":{"position":[[0,8]]}}}],["helm",{"_index":116,"t":{"208":{"position":[[8,5]]},"212":{"position":[[27,4]]}}}],["imag",{"_index":96,"t":{"194":{"position":[[13,5]]},"343":{"position":[[3,5]]},"344":{"position":[[25,5]]},"346":{"position":[[16,5]]},"348":{"position":[[23,5]]}}}],["implement",{"_index":174,"t":{"300":{"position":[[28,14]]}}}],["improv",{"_index":178,"t":{"304":{"position":[[18,12]]}}}],["inform",{"_index":102,"t":{"196":{"position":[[30,11]]}}}],["ingress",{"_index":119,"t":{"214":{"position":[[32,7]]}}}],["initi",{"_index":229,"t":{"377":{"position":[[0,8]]}}}],["input",{"_index":38,"t":{"63":{"position":[[0,5]]}}}],["instal",{"_index":123,"t":{"219":{"position":[[14,12]]},"227":{"position":[[4,12]]},"352":{"position":[[4,7]]},"357":{"position":[[4,7]]}}}],["interact",{"_index":265,"t":{"436":{"position":[[0,11]]}}}],["interfac",{"_index":140,"t":{"255":{"position":[[4,9]]}}}],["introduct",{"_index":70,"t":{"107":{"position":[[0,12]]},"326":{"position":[[3,12]]}}}],["issu",{"_index":176,"t":{"302":{"position":[[4,5]]},"313":{"position":[[4,5]]},"331":{"position":[[45,6]]},"442":{"position":[[33,6]]}}}],["jdk",{"_index":126,"t":{"222":{"position":[[4,3]]}}}],["js",{"_index":209,"t":{"352":{"position":[[17,2]]}}}],["jsonschema",{"_index":148,"t":{"263":{"position":[[15,10]]}}}],["languag",{"_index":249,"t":{"412":{"position":[[30,8]]}}}],["layout",{"_index":55,"t":{"78":{"position":[[5,6]]}}}],["line",{"_index":48,"t":{"69":{"position":[[7,4]]}}}],["linux",{"_index":124,"t":{"220":{"position":[[4,5]]}}}],["list",{"_index":203,"t":{"338":{"position":[[8,4]]}}}],["local",{"_index":225,"t":{"372":{"position":[[41,7]]}}}],["log",{"_index":276,"t":{"449":{"position":[[0,3]]}}}],["login",{"_index":135,"t":{"250":{"position":[[2,5]]}}}],["manag",{"_index":277,"t":{"451":{"position":[[12,10]]},"453":{"position":[[8,10]]}}}],["manual",{"_index":134,"t":{"248":{"position":[[4,6]]}}}],["map",{"_index":52,"t":{"75":{"position":[[0,3]]}}}],["materi",{"_index":216,"t":{"365":{"position":[[0,9]]},"375":{"position":[[7,8]]}}}],["messag",{"_index":195,"t":{"328":{"position":[[10,7]]}}}],["model",{"_index":51,"t":{"73":{"position":[[6,8]]},"196":{"position":[[68,5]]},"412":{"position":[[39,5]]}}}],["modelui",{"_index":278,"t":{"457":{"position":[[0,7]]}}}],["modif",{"_index":128,"t":{"226":{"position":[[17,12]]},"232":{"position":[[18,12]]}}}],["modifi",{"_index":99,"t":{"196":{"position":[[4,6],[43,6]]}}}],["modul",{"_index":142,"t":{"258":{"position":[[11,6]]},"272":{"position":[[3,6]]}}}],["necessari",{"_index":235,"t":{"382":{"position":[[20,9]]}}}],["node",{"_index":208,"t":{"352":{"position":[[12,4]]}}}],["note",{"_index":64,"t":{"90":{"position":[[8,5]]},"252":{"position":[[2,5]]}}}],["npm",{"_index":212,"t":{"357":{"position":[[12,3]]}}}],["number",{"_index":226,"t":{"374":{"position":[[12,6]]}}}],["offici",{"_index":238,"t":{"386":{"position":[[0,8]]}}}],["offlin",{"_index":263,"t":{"434":{"position":[[19,7]]}}}],["onlin",{"_index":262,"t":{"434":{"position":[[9,6]]}}}],["open",{"_index":256,"t":{"430":{"position":[[0,4]]}}}],["oper",{"_index":113,"t":{"204":{"position":[[0,9]]}}}],["organ",{"_index":261,"t":{"434":{"position":[[0,8]]}}}],["other",{"_index":179,"t":{"306":{"position":[[4,6]]}}}],["overview",{"_index":152,"t":{"270":{"position":[[16,8]]}}}],["pack",{"_index":217,"t":{"365":{"position":[[10,4]]}}}],["packag",{"_index":92,"t":{"192":{"position":[[24,7]]},"227":{"position":[[17,7]]},"359":{"position":[[5,7]]},"375":{"position":[[16,7]]}}}],["page",{"_index":54,"t":{"77":{"position":[[7,4]]},"78":{"position":[[0,4]]}}}],["phase",{"_index":231,"t":{"378":{"position":[[17,5]]}}}],["pie",{"_index":49,"t":{"71":{"position":[[0,3]]}}}],["plan",{"_index":58,"t":{"82":{"position":[[7,5]]}}}],["plot",{"_index":46,"t":{"67":{"position":[[8,4]]}}}],["plugin",{"_index":159,"t":{"281":{"position":[[23,6]]}}}],["port",{"_index":120,"t":{"214":{"position":[[40,4]]}}}],["pr",{"_index":187,"t":{"315":{"position":[[18,2]]}}}],["precondit",{"_index":207,"t":{"351":{"position":[[3,13]]}}}],["prepar",{"_index":86,"t":{"188":{"position":[[15,11]]},"201":{"position":[[15,11]]},"219":{"position":[[27,12]]},"222":{"position":[[8,11]]},"224":{"position":[[13,11]]},"227":{"position":[[25,11]]},"230":{"position":[[4,12]]},"237":{"position":[[4,12]]},"242":{"position":[[2,12]]}}}],["prerequisit",{"_index":204,"t":{"341":{"position":[[3,13]]},"390":{"position":[[3,13]]}}}],["preview",{"_index":56,"t":{"80":{"position":[[0,7]]},"261":{"position":[[17,7]]}}}],["priorit",{"_index":269,"t":{"442":{"position":[[0,10]]}}}],["process",{"_index":180,"t":{"308":{"position":[[16,7]]},"338":{"position":[[0,7]]},"362":{"position":[[24,7]]},"400":{"position":[[19,7]]},"414":{"position":[[5,7]]}}}],["project",{"_index":214,"t":{"359":{"position":[[13,7]]},"362":{"position":[[8,7]]},"453":{"position":[[0,7]]}}}],["prompt",{"_index":35,"t":{"60":{"position":[[0,6]]}}}],["pull",{"_index":95,"t":{"194":{"position":[[4,4]]},"315":{"position":[[4,4]]},"331":{"position":[[28,4]]}}}],["question",{"_index":139,"t":{"254":{"position":[[19,9]]},"400":{"position":[[0,8]]}}}],["quickstart",{"_index":245,"t":{"408":{"position":[[0,10]]}}}],["r",{"_index":150,"t":{"267":{"position":[[2,1]]}}}],["rcx",{"_index":220,"t":{"368":{"position":[[36,3]]}}}],["recommend",{"_index":90,"t":{"190":{"position":[[25,11]]},"208":{"position":[[15,11]]},"246":{"position":[[26,11]]}}}],["refactor",{"_index":175,"t":{"300":{"position":[[44,11]]}}}],["refer",{"_index":202,"t":{"335":{"position":[[3,9]]}}}],["releas",{"_index":63,"t":{"90":{"position":[[0,7]]},"362":{"position":[[16,7]]},"368":{"position":[[9,7],[19,7],[85,8]]},"372":{"position":[[24,7]]},"386":{"position":[[9,7]]}}}],["release_vers",{"_index":219,"t":{"368":{"position":[[19,15]]}}}],["relev",{"_index":200,"t":{"331":{"position":[[19,8]]}}}],["request",{"_index":186,"t":{"315":{"position":[[9,7]]},"331":{"position":[[33,8]]}}}],["requir",{"_index":241,"t":{"391":{"position":[[18,12]]}}}],["resolv",{"_index":270,"t":{"442":{"position":[[11,9]]}}}],["resourc",{"_index":268,"t":{"440":{"position":[[22,8]]}}}],["result",{"_index":237,"t":{"384":{"position":[[13,7]]}}}],["review",{"_index":188,"t":{"317":{"position":[[4,6]]}}}],["rip",{"_index":196,"t":{"328":{"position":[[18,3]]}}}],["rlhf",{"_index":250,"t":{"414":{"position":[[0,4]]}}}],["s",{"_index":246,"t":{"410":{"position":[[5,1]]}}}],["scatter",{"_index":45,"t":{"67":{"position":[[0,7]]}}}],["self",{"_index":247,"t":{"412":{"position":[[0,4]]}}}],["server",{"_index":125,"t":{"220":{"position":[[10,6]]},"229":{"position":[[7,6]]},"234":{"position":[[4,6]]},"344":{"position":[[13,6],[46,6]]},"346":{"position":[[4,6]]},"395":{"position":[[3,6]]},"397":{"position":[[21,6]]}}}],["servic",{"_index":97,"t":{"194":{"position":[[33,7]]},"198":{"position":[[14,8]]},"212":{"position":[[14,7]]},"214":{"position":[[13,7]]},"216":{"position":[[14,8]]},"287":{"position":[[12,7]]},"462":{"position":[[10,8]]}}}],["share",{"_index":258,"t":{"432":{"position":[[0,5]]},"440":{"position":[[31,7]]}}}],["side",{"_index":206,"t":{"344":{"position":[[20,4]]},"346":{"position":[[11,4]]},"395":{"position":[[10,4]]},"397":{"position":[[28,4]]}}}],["snakemq",{"_index":19,"t":{"25":{"position":[[0,7]]},"27":{"position":[[0,7]]},"30":{"position":[[0,7]]},"32":{"position":[[0,7]]},"139":{"position":[[10,7]]},"143":{"position":[[0,7]]},"145":{"position":[[0,7]]},"147":{"position":[[0,7]]},"149":{"position":[[0,7]]}}}],["softwar",{"_index":112,"t":{"202":{"position":[[0,8]]}}}],["solideditor",{"_index":145,"t":{"261":{"position":[[3,11]]}}}],["solidui",{"_index":59,"t":{"82":{"position":[[16,7]]},"115":{"position":[[0,7]]},"123":{"position":[[0,7]]},"139":{"position":[[0,7]]},"155":{"position":[[0,7]]},"196":{"position":[[60,7]]},"258":{"position":[[3,7]]},"275":{"position":[[4,7]]},"277":{"position":[[4,7]]},"279":{"position":[[4,7]]},"281":{"position":[[4,7]]},"283":{"position":[[4,7]]},"285":{"position":[[4,7]]},"287":{"position":[[4,7]]},"289":{"position":[[4,7]]},"291":{"position":[[4,7]]},"362":{"position":[[0,7]]},"422":{"position":[[13,7]]}}}],["solidui_model_typ",{"_index":103,"t":{"196":{"position":[[60,18]]}}}],["soliduimodelui",{"_index":169,"t":{"293":{"position":[[5,14]]},"346":{"position":[[28,14]]}}}],["solidview",{"_index":147,"t":{"263":{"position":[[3,9]]}}}],["sourc",{"_index":93,"t":{"192":{"position":[[35,6]]},"210":{"position":[[13,6]]},"274":{"position":[[3,6]]},"354":{"position":[[4,6]]},"393":{"position":[[12,6]]},"430":{"position":[[5,6]]},"451":{"position":[[5,6]]}}}],["spi",{"_index":165,"t":{"289":{"position":[[12,3]]}}}],["spiral",{"_index":47,"t":{"69":{"position":[[0,6]]}}}],["standard",{"_index":275,"t":{"446":{"position":[[25,9]]}}}],["start",{"_index":88,"t":{"190":{"position":[[3,5]]},"194":{"position":[[23,5]]},"208":{"position":[[2,5]]},"212":{"position":[[4,5]]},"229":{"position":[[26,6]]},"234":{"position":[[11,5]]},"460":{"position":[[0,5]]}}}],["startup",{"_index":132,"t":{"239":{"position":[[4,7]]}}}],["statu",{"_index":118,"t":{"214":{"position":[[21,6]]}}}],["structur",{"_index":182,"t":{"309":{"position":[[11,9]]}}}],["submiss",{"_index":185,"t":{"313":{"position":[[10,10]]},"315":{"position":[[22,10]]}}}],["support",{"_index":108,"t":{"196":{"position":[[106,9]]},"426":{"position":[[11,7]]}}}],["surfac",{"_index":43,"t":{"65":{"position":[[0,7]]}}}],["system",{"_index":114,"t":{"204":{"position":[[10,6]]}}}],["tabl",{"_index":101,"t":{"196":{"position":[[24,5],[54,5]]}}}],["tag",{"_index":222,"t":{"370":{"position":[[0,3]]}}}],["term",{"_index":257,"t":{"430":{"position":[[34,5]]}}}],["thank",{"_index":253,"t":{"426":{"position":[[0,6]]}}}],["thread",{"_index":233,"t":{"380":{"position":[[17,6]]}}}],["time",{"_index":122,"t":{"219":{"position":[[9,4]]}}}],["timeout",{"_index":141,"t":{"255":{"position":[[14,7]]}}}],["token",{"_index":105,"t":{"196":{"position":[[80,5]]}}}],["trial",{"_index":267,"t":{"440":{"position":[[0,5]]}}}],["type",{"_index":104,"t":{"196":{"position":[[74,4]]}}}],["unifi",{"_index":201,"t":{"333":{"position":[[4,7]]}}}],["us",{"_index":252,"t":{"422":{"position":[[7,5]]}}}],["valuabl",{"_index":259,"t":{"432":{"position":[[6,8]]}}}],["verifi",{"_index":228,"t":{"375":{"position":[[0,6]]}}}],["version",{"_index":109,"t":{"196":{"position":[[122,7]]},"346":{"position":[[50,7]]},"368":{"position":[[27,7]]},"374":{"position":[[4,7]]},"387":{"position":[[7,7]]}}}],["view",{"_index":117,"t":{"214":{"position":[[4,4]]}}}],["vote",{"_index":230,"t":{"377":{"position":[[11,4]]},"378":{"position":[[10,6]]},"380":{"position":[[10,6]]},"382":{"position":[[11,4]]},"384":{"position":[[28,4]]}}}],["web",{"_index":167,"t":{"291":{"position":[[12,3]]}}}],["websit",{"_index":74,"t":{"115":{"position":[[8,7]]}}}],["wensheng",{"_index":248,"t":{"412":{"position":[[15,8]]}}}],["window",{"_index":34,"t":{"58":{"position":[[5,6]]},"62":{"position":[[5,6]]}}}],["wisywi",{"_index":146,"t":{"261":{"position":[[25,6]]}}}],["word",{"_index":36,"t":{"60":{"position":[[7,5]]}}}],["write",{"_index":274,"t":{"446":{"position":[[17,7]]}}}],["产品",{"_index":6,"t":{"9":{"position":[[0,2]]},"163":{"position":[[0,2]]}}}],["介绍",{"_index":20,"t":{"25":{"position":[[7,2]]},"143":{"position":[[7,2]]}}}],["作用",{"_index":21,"t":{"27":{"position":[[7,2]]},"145":{"position":[[7,2]]}}}],["例如",{"_index":30,"t":{"44":{"position":[[0,2]]},"48":{"position":[[0,2]]},"129":{"position":[[0,2]]},"133":{"position":[[0,2]]}}}],["内涵",{"_index":11,"t":{"11":{"position":[[8,2]]},"165":{"position":[[8,2]]}}}],["分析",{"_index":77,"t":{"123":{"position":[[23,2]]},"139":{"position":[[21,2]]}}}],["列表",{"_index":13,"t":{"13":{"position":[[2,2]]},"167":{"position":[[2,2]]}}}],["功能",{"_index":12,"t":{"13":{"position":[[0,2]]},"155":{"position":[[32,2]]},"167":{"position":[[0,2]]}}}],["可视化",{"_index":81,"t":{"155":{"position":[[12,3]]}}}],["名字",{"_index":2,"t":{"5":{"position":[[2,2]]},"159":{"position":[[2,2]]}}}],["含义",{"_index":3,"t":{"5":{"position":[[4,2]]},"7":{"position":[[3,2]]},"159":{"position":[[4,2]]},"161":{"position":[[3,2]]}}}],["如果",{"_index":25,"t":{"36":{"position":[[0,2]]},"52":{"position":[[0,2]]},"137":{"position":[[0,2]]},"153":{"position":[[0,2]]}}}],["开创性",{"_index":82,"t":{"155":{"position":[[16,3]]}}}],["开源",{"_index":83,"t":{"155":{"position":[[19,2]]}}}],["思维",{"_index":7,"t":{"9":{"position":[[2,2]]},"163":{"position":[[2,2]]}}}],["总览",{"_index":143,"t":{"260":{"position":[[3,2]]}}}],["成为",{"_index":26,"t":{"36":{"position":[[2,2]]},"52":{"position":[[2,2]]},"137":{"position":[[2,2]]},"153":{"position":[[2,2]]}}}],["数据源",{"_index":14,"t":{"15":{"position":[[0,3]]},"169":{"position":[[0,3]]}}}],["架构",{"_index":144,"t":{"260":{"position":[[5,2]]}}}],["测试代码",{"_index":22,"t":{"30":{"position":[[8,4]]},"147":{"position":[[8,4]]}}}],["源码",{"_index":78,"t":{"139":{"position":[[19,2]]}}}],["版本",{"_index":10,"t":{"11":{"position":[[6,2]]},"155":{"position":[[24,2]]},"165":{"position":[[6,2]]}}}],["独立",{"_index":28,"t":{"42":{"position":[[0,2]]},"123":{"position":[[10,2]]},"127":{"position":[[0,2]]}}}],["生成",{"_index":80,"t":{"155":{"position":[[10,2]]}}}],["登录",{"_index":4,"t":{"7":{"position":[[0,2]]},"161":{"position":[[0,2]]}}}],["社区",{"_index":76,"t":{"123":{"position":[[7,2]]},"139":{"position":[[7,2]]}}}],["管理",{"_index":15,"t":{"15":{"position":[[3,2]]},"169":{"position":[[3,2]]}}}],["结语",{"_index":24,"t":{"34":{"position":[[0,2]]},"50":{"position":[[0,2]]},"135":{"position":[[0,2]]},"151":{"position":[[0,2]]}}}],["背景",{"_index":0,"t":{"3":{"position":[[0,2]]},"23":{"position":[[0,2]]},"40":{"position":[[0,2]]},"125":{"position":[[0,2]]},"141":{"position":[[0,2]]},"157":{"position":[[0,2]]}}}],["讲解",{"_index":84,"t":{"155":{"position":[[34,2]]}}}],["设计",{"_index":17,"t":{"19":{"position":[[0,2]]},"173":{"position":[[0,2]]}}}],["贡献者",{"_index":27,"t":{"36":{"position":[[4,3]]},"52":{"position":[[4,3]]},"137":{"position":[[4,3]]},"153":{"position":[[4,3]]}}}],["通信",{"_index":23,"t":{"32":{"position":[[7,2]]},"42":{"position":[[4,2]]},"46":{"position":[[9,2]]},"123":{"position":[[21,2]]},"127":{"position":[[4,2]]},"131":{"position":[[9,2]]},"139":{"position":[[17,2]]},"149":{"position":[[7,2]]}}}],["部署",{"_index":29,"t":{"42":{"position":[[2,2]]},"46":{"position":[[7,2]]},"123":{"position":[[12,2]]},"127":{"position":[[2,2]]},"131":{"position":[[7,2]]}}}],["页",{"_index":5,"t":{"7":{"position":[[2,1]]},"161":{"position":[[2,1]]}}}],["页面",{"_index":18,"t":{"19":{"position":[[2,2]]},"173":{"position":[[2,2]]}}}],["项目",{"_index":1,"t":{"5":{"position":[[0,2]]},"155":{"position":[[21,2]]},"159":{"position":[[0,2]]}}}],["项目管理",{"_index":16,"t":{"17":{"position":[[0,4]]},"171":{"position":[[0,4]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":2,"t":"背景​ 随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 https://github.com/CloudOrc/SolidUI","s":"SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"","p":1},{"i":4,"t":"随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 https://github.com/CloudOrc/SolidUI","s":"背景","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#背景","p":1},{"i":6,"t":"SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。","s":"项目名字含义","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#项目名字含义","p":1},{"i":8,"t":"登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。","s":"登录页含义","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#登录页含义","p":1},{"i":10,"t":"“少就是多” 少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。","s":"产品思维","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#产品思维","p":1},{"i":12,"t":"这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。","s":"0.1.0 版本内涵","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#010-版本内涵","p":1},{"i":14,"t":"下面介绍下整个第一个版本功能列表。","s":"功能列表","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#功能列表","p":1},{"i":16,"t":"显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* 成功添加MySQL数据源,并在数据源列表中显示。 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。 数据源过期:可以将选中的数据源设置为过期状态。","s":"数据源管理","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#数据源管理","p":1},{"i":18,"t":"添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。 查询项目列表:通过输入项目名称,可以查询并输出项目列表。 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。 项目预览","s":"项目管理","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#项目管理","p":1},{"i":20,"t":"场景,增加,修改,删除,重命名。 页,增加,修改,删除,重命名。 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。","s":"设计页面","u":"/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0","h":"#设计页面","p":1},{"i":22,"t":"背景​ 随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 项目地址: https://github.com/CloudOrc/SolidUI 项目镜像地址: https://gitee.com/CloudOrc/SolidUI","s":"SolidUI社区-Snakemq通信源码分析","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"","p":21},{"i":24,"t":"随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 项目地址: https://github.com/CloudOrc/SolidUI 项目镜像地址: https://gitee.com/CloudOrc/SolidUI","s":"背景","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#背景","p":21},{"i":26,"t":"SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。 SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。","s":"Snakemq介绍","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#snakemq介绍","p":21},{"i":29,"t":"轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。 SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq","s":"SolidUI社区-Snakemq通信源码分析","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"","p":21},{"i":31,"t":"Snakemq client.py import snakemq.link import snakemq.packeter import snakemq.messaging import snakemq.rpc import time import json import logging logging.basicConfig(format=\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\") logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) console_handler = logging.StreamHandler() console_handler.setLevel(logging.INFO) logger.addHandler(console_handler) logger.setLevel(logging.INFO) fh = logging.FileHandler('app.log') logger.addHandler(fh) link = snakemq.link.Link() packeter = snakemq.packeter.Packeter(link) messaging = snakemq.messaging.Messaging(\"client\", \"\", packeter) connector = (\"server\", 8765) link.add_connector(connector) def on_connect(connector_id): logger.info(f\"Connected to: {connector_id}\") link.on_connect.add(on_connect) def on_disconnect(connector_id): logger.info(f\"已断开: {connector_id}\") link.on_disconnect.add(on_disconnect) def on_recv(conn, ident, message): logger.info(f\"client接收到: {message.data}, 来自: {ident}\") messaging.on_message_recv.add(on_recv) message = snakemq.message.Message(json.dumps({\"type\": \"status\", \"value\": \"ready\"}).encode(\"utf-8\"), ttl=600) messaging.send_message(\"server\", message) while True: link.loop() time.sleep(0.1) Snakemq server.py import snakemq.link import snakemq.packeter import snakemq.messaging import snakemq.rpc import time import json import logging logging.basicConfig(format=\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\") logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) console_handler = logging.StreamHandler() console_handler.setLevel(logging.INFO) logger.addHandler(console_handler) logger.setLevel(logging.INFO) fh = logging.FileHandler('app.log') logger.addHandler(fh) link = snakemq.link.Link() packeter = snakemq.packeter.Packeter(link) messaging = snakemq.messaging.Messaging(\"server\", \"\", packeter) link.add_listener((\"0.0.0.0\", 8765)) def on_recv(conn, ident, message): logger.info(f\"server接收到: {message.data}, 来自: {ident}\") messaging.on_message_recv.add(on_recv) message = snakemq.message.Message(json.dumps( {\"type\": \"execute\", \"value\": \"abc\"}).encode(\"utf-8\"), ttl=600) messaging.send_message(\"client\", message) # Main loop while True: link.loop() time.sleep(0.1) Dockerfile FROM python:3.8 WORKDIR /opt/snaketmq-test RUN pip install snakemq RUN python -c \"import snakemq; print(snakemq.__file__); print(dir(snakemq))\" COPY . . CMD [\"python\", \"server.py\"] Dockerfile build & run docker build -t snaketmq-test . docker network create mynet docker run -d --name server --network mynet snaketmq-test docker run --network mynet snaketmq-test python client.py","s":"Snakemq 测试代码","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#snakemq-测试代码","p":21},{"i":33,"t":"注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener((\"0.0.0.0\", 8765)) 这行代码 server: 表示SnakeMQ的服务器实例。 link: server中的link属性,表示网络连接管理器。 add_listener: 向link中添加一个监听器。 (\"0.0.0.0\", 8765): 监听的地址和端口。\"0.0.0.0\"表示监听所有网卡地址,\"8765\"表示监听8765端口。 client connector = (\"server\", 8765) link.add_connector(connector) 这行代码 connector = (\"server\", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址\"server\"和端口8765。 link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。","s":"Snakemq通信","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#snakemq通信","p":21},{"i":35,"t":"本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。","s":"结语","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#结语","p":21},{"i":37,"t":"官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; 其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;","s":"如果成为贡献者","u":"/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#如果成为贡献者","p":21},{"i":39,"t":"背景​ 随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 项目地址: https://github.com/CloudOrc/SolidUI 项目镜像地址: https://gitee.com/CloudOrc/SolidUI","s":"SolidUI社区-独立部署和Docker通信分析","u":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","h":"","p":38},{"i":41,"t":"随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 项目地址: https://github.com/CloudOrc/SolidUI 项目镜像地址: https://gitee.com/CloudOrc/SolidUI","s":"背景","u":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","h":"#背景","p":38},{"i":43,"t":"单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。 单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。","s":"独立部署通信","u":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","h":"#独立部署通信","p":38},{"i":45,"t":"如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。 设置 Snakemq 通信 soliduimodelui/.env SNAKEMQ_LISTENER server 监听器 ,设置内网ip soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip","s":"例如","u":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","h":"#例如","p":38},{"i":47,"t":"容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。","s":"Docker 部署通信","u":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","h":"#docker-部署通信","p":38},{"i":49,"t":"数据库连接 在docker-compose.yml 中,设置了Mysql数据库名称为mysql 所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost soliduimodelui/.env DB_HOST mysql 替换 localhost soliduimodelui/.env Snakemq 通信 soliduimodelui/.env SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0 soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui","s":"例如","u":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","h":"#例如-1","p":38},{"i":51,"t":"本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。","s":"结语","u":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","h":"#结语","p":38},{"i":53,"t":"官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; 其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;","s":"如果成为贡献者","u":"/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysis","h":"#如果成为贡献者","p":38},{"i":55,"t":"Background​ With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation. Project URL: https://github.com/CloudOrc/SolidUI Project mirror URL: https://gitee.com/CloudOrc/SolidUI Community official website: https://cloudorc.github.io/SolidUI-Website/ Join the group: https://discord.gg/NGRNu2mGeQ","s":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"","p":54},{"i":57,"t":"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation. Project URL: https://github.com/CloudOrc/SolidUI Project mirror URL: https://gitee.com/CloudOrc/SolidUI Community official website: https://cloudorc.github.io/SolidUI-Website/ Join the group: https://discord.gg/NGRNu2mGeQ","s":"Background","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#background","p":54},{"i":59,"t":"One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.","s":"Chat Window","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#chat-window","p":54},{"i":61,"t":"The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account. The input data can be manually input or automatically generated, combined with text prompt words.","s":"Prompt Words","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#prompt-words","p":54},{"i":64,"t":"\\[{\"x\":\"A\",\"y\":5},{\"x\":\"B\",\"y\":8},{\"x\":\"C\",\"y\":12},{\"x\":\"D\",\"y\":6},{\"x\":\"E\",\"y\":15},{\"x\":\"F\",\"y\":10}\\] Generate a bar chart","s":"Input data format for bar chart","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#input-data-format-for-bar-chart","p":54},{"i":66,"t":"Prompt 1 Generate a simple 3D surface graph. Prompt 2 Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph. Prompt 3 Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph. Prompt 4 Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.","s":"Surface Graph","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#surface-graph","p":54},{"i":68,"t":"Prompt 1 Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution. Prompt 2 A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values. Prompt 3 A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.","s":"Scatter Plot","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#scatter-plot","p":54},{"i":70,"t":"Prompt 1 Draw a spiral line in a 3D graph.","s":"Spiral Line","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#spiral-line","p":54},{"i":72,"t":"Prompt 1 A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.","s":"Pie Chart","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#pie-chart","p":54},{"i":74,"t":"Prompt 1 Download the Stanford Bunny model from \"https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj\" and use the trimesh library to load and display this model. https://faculty.cc.gatech.edu/~turk/bunny/bunny.html","s":"Bunny Modeling","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#bunny-modeling","p":54},{"i":76,"t":"Prompt 1 Create a map, download link","s":"Map","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#map","p":54},{"i":79,"t":"Manage the layout of generated graphics, divided by scenes and pages.","s":"Page Layout","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#page-layout","p":54},{"i":81,"t":"Click on the project preview or Design Page -> Scene -> Page preview","s":"Preview","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#preview","p":54},{"i":83,"t":"For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics. This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas. Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.","s":"Future Plans of SolidUI Community","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#future-plans-of-solidui-community","p":54},{"i":85,"t":"Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54 Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12 Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10 Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.; Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;","s":"How to Become a Contributor","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-introduction","h":"#how-to-become-a-contributor","p":54},{"i":87,"t":"Background​ With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation. Project URL: https://github.com/CloudOrc/SolidUI Project mirror URL: https://gitee.com/CloudOrc/SolidUI Community official website: https://cloudorc.github.io/SolidUI-Website/ Join the group: https://discord.gg/NGRNu2mGeQ","s":"Version Update | SolidUI 0.2.0 Release","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","h":"","p":86},{"i":89,"t":"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation. Project URL: https://github.com/CloudOrc/SolidUI Project mirror URL: https://gitee.com/CloudOrc/SolidUI Community official website: https://cloudorc.github.io/SolidUI-Website/ Join the group: https://discord.gg/NGRNu2mGeQ","s":"Background","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","h":"#background","p":86},{"i":92,"t":"Design features, scene and page optimization Project Preview Design features, preview page Support for GPT-like model proxy Support for ChatGLM-like model proxy Support Hugging Face Spaces plugin, provide trial function Support for the ESLint code check tool Design page delete graphic optimization Login page, logout optimization Support for chat window interaction Support for the official website, internationalization Support for the official website, UI optimization Support for the official website, overview optimization Support for the official website, Blog optimization Support for the official website, all documents optimization Support for the official website, framework migration","s":"Features","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","h":"#features","p":86},{"i":94,"t":"Independent deployment related scripts docker-compose","s":"Deployment","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","h":"#deployment","p":86},{"i":96,"t":"All co-builders list ESLint & Prettier code specifications SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation SolidUI community - Snakemq communication source code analysis Centos7.9 offline deployment of ChatGLM-6B SolidUI community - Independent deployment and Docker communication analysis SolidUI community - Introduction to the official website SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps SolidUI community - FAQ problem-solving process SolidUI community - General Prompt technique SolidUI community - Prompt design SolidUI community - Building a character based on Prompts SolidUI community - AI model proxy SolidUI community - Chain of Thought (CoT) in Prompts SolidUI community - Prompt self-consistency SolidUI community - Discord SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction","s":"Documentation","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","h":"#documentation","p":86},{"i":98,"t":"This version overview: https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1 Demo environment: http://www.solidui.top/ Quick Start: https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/ Tutorial: https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s Welcome users to fill in: https://github.com/CloudOrc/SolidUI/issues/1 Join the group: https://discord.gg/NGRNu2mGeQ","s":"Detailed Guide","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","h":"#detailed-guide","p":86},{"i":100,"t":"The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order) dlimeng nutsjian jacktao007 15100399015 ziyu211 limingoo hgfdsa101","s":"Contributors","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","h":"#contributors","p":86},{"i":102,"t":"Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54 Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12 Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10 Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.; Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;","s":"How to Become a Contributor","u":"/SolidUI-Website/blog/2023/09/05/0.2.0-Release","h":"#how-to-become-a-contributor","p":86},{"i":104,"t":"Background​ With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation. Project link: https://github.com/CloudOrc/SolidUI Project mirror link: https://gitee.com/CloudOrc/SolidUI Community official website: https://cloudorc.github.io/SolidUI-Website/ Official website project address:https://github.com/CloudOrc/SolidUI-Website","s":"SolidUI Community - Official Website Introduction","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"","p":103},{"i":106,"t":"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation. Project link: https://github.com/CloudOrc/SolidUI Project mirror link: https://gitee.com/CloudOrc/SolidUI Community official website: https://cloudorc.github.io/SolidUI-Website/ Official website project address:https://github.com/CloudOrc/SolidUI-Website","s":"Background","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"#background","p":103},{"i":108,"t":"The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections: Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases. Download: Users can download the latest version of SolidUI here. Releases: The release records of SolidUI can be found here, where users can view all version release and update information. Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help. Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members. Become A Committer: A page for developers to submit code or become project contributors. Documentation Notice: Notices or updates about SolidUI's documentation. Submit Code: A page for submitting code where users can submit their own code for the SolidUI project. Team: Page introducing the SolidUI team members. Users: A page showcasing SolidUI users or customers, thanking partners for their participation. Our Users: A page likely introducing SolidUI's user groups. Blog: The SolidUI blog, where users can read the latest articles about SolidUI. Official website: https://cloudorc.github.io/SolidUI-Website/ Official website project address:https://github.com/CloudOrc/SolidUI-Website","s":"Introduction","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"#introduction","p":103},{"i":110,"t":"Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.","s":"How to Contribute","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"#how-to-contribute","p":103},{"i":112,"t":"For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization. Submit an Issue First, visit the main page of the SolidUI-Website project. In the top menu bar of the project, click \"Issues\". Click the \"New issue\" button in the upper right corner. Enter the title and description of your Issue on the page that appears. When you're done, click \"Submit new issue\". Submit a Pull Request Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps: On the main page of the SolidUI-Website project, click the \"Fork\" button in the upper right corner. In your forked version, select or create the branch you want to modify. In this case, you should select or create a \"dev\" branch. Make the required changes on your branch. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project. Click \"Pull requests\", then click \"New pull request\". Click \"compare across forks\" and choose your fork and your \"dev\" branch. Confirm your changes, then click \"Create pull request\". Provide a title and description for your PR on the opened page, then click \"Create pull request\".","s":"Example","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"#example","p":103},{"i":114,"t":"Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project. We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing. Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project. Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.","s":"Conclusion","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"#conclusion","p":103},{"i":116,"t":"The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order): dlimeng 15100399015 limingoo","s":"SolidUI-Website Contributors","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"#solidui-website-contributors","p":103},{"i":118,"t":"Thanks to the streampark-website for providing framework support.","s":"Acknowledgments","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"#acknowledgments","p":103},{"i":120,"t":"Here are some ways to contribute to the SolidUI community. Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54 Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12 Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10 Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc. Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.","s":"How to Become a Contributor","u":"/SolidUI-Website/blog/2023/09/05/Official-Website-Introduction","h":"#how-to-become-a-contributor","p":103},{"i":124,"t":"July 3, 2023 · 4 min read","s":"SolidUI社区-独立部署和Docker通信分析","u":"/SolidUI-Website/blog/page/2","h":"","p":122},{"i":126,"t":"随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 项目地址: https://github.com/CloudOrc/SolidUI 项目镜像地址: https://gitee.com/CloudOrc/SolidUI","s":"背景","u":"/SolidUI-Website/blog/page/2","h":"#背景","p":122},{"i":128,"t":"单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。 单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。","s":"独立部署通信","u":"/SolidUI-Website/blog/page/2","h":"#独立部署通信","p":122},{"i":130,"t":"如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。 设置 Snakemq 通信 soliduimodelui/.env SNAKEMQ_LISTENER server 监听器 ,设置内网ip soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip","s":"例如","u":"/SolidUI-Website/blog/page/2","h":"#例如","p":122},{"i":132,"t":"容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。","s":"Docker 部署通信","u":"/SolidUI-Website/blog/page/2","h":"#docker-部署通信","p":122},{"i":134,"t":"数据库连接 在docker-compose.yml 中,设置了Mysql数据库名称为mysql 所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost soliduimodelui/.env DB_HOST mysql 替换 localhost soliduimodelui/.env Snakemq 通信 soliduimodelui/.env SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0 soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui","s":"例如","u":"/SolidUI-Website/blog/page/2","h":"#例如-1","p":122},{"i":136,"t":"本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。","s":"结语","u":"/SolidUI-Website/blog/page/2","h":"#结语","p":122},{"i":138,"t":"官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; 其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;","s":"如果成为贡献者","u":"/SolidUI-Website/blog/page/2","h":"#如果成为贡献者","p":122},{"i":140,"t":"July 2, 2023 · 7 min read","s":"SolidUI社区-Snakemq通信源码分析","u":"/SolidUI-Website/blog/page/2","h":"","p":122},{"i":142,"t":"随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 项目地址: https://github.com/CloudOrc/SolidUI 项目镜像地址: https://gitee.com/CloudOrc/SolidUI","s":"背景","u":"/SolidUI-Website/blog/page/2","h":"#背景","p":122},{"i":144,"t":"SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。 SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。","s":"Snakemq介绍","u":"/SolidUI-Website/blog/page/2","h":"#snakemq介绍","p":122},{"i":146,"t":"轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。 SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq","s":"","u":"/SolidUI-Website/blog/page/2","h":"","p":122},{"i":148,"t":"Snakemq client.py import snakemq.link import snakemq.packeter import snakemq.messaging import snakemq.rpc import time import json import logging logging.basicConfig(format=\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\") logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) console_handler = logging.StreamHandler() console_handler.setLevel(logging.INFO) logger.addHandler(console_handler) logger.setLevel(logging.INFO) fh = logging.FileHandler('app.log') logger.addHandler(fh) link = snakemq.link.Link() packeter = snakemq.packeter.Packeter(link) messaging = snakemq.messaging.Messaging(\"client\", \"\", packeter) connector = (\"server\", 8765) link.add_connector(connector) def on_connect(connector_id): logger.info(f\"Connected to: {connector_id}\") link.on_connect.add(on_connect) def on_disconnect(connector_id): logger.info(f\"已断开: {connector_id}\") link.on_disconnect.add(on_disconnect) def on_recv(conn, ident, message): logger.info(f\"client接收到: {message.data}, 来自: {ident}\") messaging.on_message_recv.add(on_recv) message = snakemq.message.Message(json.dumps({\"type\": \"status\", \"value\": \"ready\"}).encode(\"utf-8\"), ttl=600) messaging.send_message(\"server\", message) while True: link.loop() time.sleep(0.1) Snakemq server.py import snakemq.link import snakemq.packeter import snakemq.messaging import snakemq.rpc import time import json import logging logging.basicConfig(format=\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\") logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) console_handler = logging.StreamHandler() console_handler.setLevel(logging.INFO) logger.addHandler(console_handler) logger.setLevel(logging.INFO) fh = logging.FileHandler('app.log') logger.addHandler(fh) link = snakemq.link.Link() packeter = snakemq.packeter.Packeter(link) messaging = snakemq.messaging.Messaging(\"server\", \"\", packeter) link.add_listener((\"0.0.0.0\", 8765)) def on_recv(conn, ident, message): logger.info(f\"server接收到: {message.data}, 来自: {ident}\") messaging.on_message_recv.add(on_recv) message = snakemq.message.Message(json.dumps( {\"type\": \"execute\", \"value\": \"abc\"}).encode(\"utf-8\"), ttl=600) messaging.send_message(\"client\", message) # Main loop while True: link.loop() time.sleep(0.1) Dockerfile FROM python:3.8 WORKDIR /opt/snaketmq-test RUN pip install snakemq RUN python -c \"import snakemq; print(snakemq.__file__); print(dir(snakemq))\" COPY . . CMD [\"python\", \"server.py\"] Dockerfile build & run docker build -t snaketmq-test . docker network create mynet docker run -d --name server --network mynet snaketmq-test docker run --network mynet snaketmq-test python client.py","s":"Snakemq 测试代码","u":"/SolidUI-Website/blog/page/2","h":"#snakemq-测试代码","p":122},{"i":150,"t":"注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener((\"0.0.0.0\", 8765)) 这行代码 server: 表示SnakeMQ的服务器实例。 link: server中的link属性,表示网络连接管理器。 add_listener: 向link中添加一个监听器。 (\"0.0.0.0\", 8765): 监听的地址和端口。\"0.0.0.0\"表示监听所有网卡地址,\"8765\"表示监听8765端口。 client connector = (\"server\", 8765) link.add_connector(connector) 这行代码 connector = (\"server\", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址\"server\"和端口8765。 link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。","s":"Snakemq通信","u":"/SolidUI-Website/blog/page/2","h":"#snakemq通信","p":122},{"i":152,"t":"本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。","s":"结语","u":"/SolidUI-Website/blog/page/2","h":"#结语","p":122},{"i":154,"t":"官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; 其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;","s":"如果成为贡献者","u":"/SolidUI-Website/blog/page/2","h":"#如果成为贡献者","p":122},{"i":156,"t":"July 1, 2023 · 6 min read","s":"SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解","u":"/SolidUI-Website/blog/page/2","h":"","p":122},{"i":158,"t":"随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 https://github.com/CloudOrc/SolidUI","s":"背景","u":"/SolidUI-Website/blog/page/2","h":"#背景","p":122},{"i":160,"t":"SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。","s":"项目名字含义","u":"/SolidUI-Website/blog/page/2","h":"#项目名字含义","p":122},{"i":162,"t":"登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。","s":"登录页含义","u":"/SolidUI-Website/blog/page/2","h":"#登录页含义","p":122},{"i":164,"t":"“少就是多” 少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。","s":"产品思维","u":"/SolidUI-Website/blog/page/2","h":"#产品思维","p":122},{"i":166,"t":"这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。","s":"0.1.0 版本内涵","u":"/SolidUI-Website/blog/page/2","h":"#010-版本内涵","p":122},{"i":168,"t":"下面介绍下整个第一个版本功能列表。","s":"功能列表","u":"/SolidUI-Website/blog/page/2","h":"#功能列表","p":122},{"i":170,"t":"显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* 成功添加MySQL数据源,并在数据源列表中显示。 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。 数据源过期:可以将选中的数据源设置为过期状态。","s":"数据源管理","u":"/SolidUI-Website/blog/page/2","h":"#数据源管理","p":122},{"i":172,"t":"添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。 查询项目列表:通过输入项目名称,可以查询并输出项目列表。 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。 项目预览","s":"项目管理","u":"/SolidUI-Website/blog/page/2","h":"#项目管理","p":122},{"i":174,"t":"场景,增加,修改,删除,重命名。 页,增加,修改,删除,重命名。 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。","s":"设计页面","u":"/SolidUI-Website/blog/page/2","h":"#设计页面","p":122},{"i":182,"t":"Contribution Guide Become committer On this page How to participate in project contribution Many thanks for contributing to the SolidUI project! Before contributing, please read the following guidelines carefully. 1. Contribution category​ 1.1 Bug feedback and fixes​ We recommend that whether it is bug feedback or repair, first create an Issue to describe the status of the bug in detail, so that the community can find and review the problem and code through the Issue record. Bug feedback Issues usually need to include full information describing the bug and reproducible scenarios, so that the community can quickly locate the cause of the bug and fix it. Open Issues with #bug tags are those that need to be fixed. 1.2 Function communication, implementation, refactoring​ In the communication process, describing in detail the details, mechanism and usage scenarios of the new function (or refactoring) can promote its better and faster implementation (including test cases and codes, and CI/CD related work). If you plan to implement a major function (or refactoring), please be sure to communicate with the core development team via Issue or other means, so that everyone can promote it in the most efficient way. Open Issues containing #feature tags are all new features that need to be implemented, and open Issues containing #enhancement tags are all functions that need to be improved and refactored. 1.3 Issue Answers​ Helping to answer usage questions in Issues is a very valuable way to contribute to the SolidUI community; there are always new users in the community, and you can show your expertise while helping new users. 1.4 Documentation improvements​ The SolidUI documentation is located at SolidUI-Website, and the completion of the documentation is also crucial to the development of SolidUI. 1.5 Others​ Including participating in and helping to organize community exchanges, community operation activities, etc., and other activities that can help SolidUI projects and communities. 2. Contribution process​ 2.1 Branch structure​ The SolidUI source code may generate some temporary branches, but two are only the following three branches that are really meaningful: release-*: Stable release version; dev: The daily development branch, which is also the target branch for everyone to contribute code. If you want to contribute code, please create a new branch based on the dev branch. When the version is released, a new release branch will be created based on dev; 2.1.1 Concept​ Upstream warehouse: https://github.com/CloudOrc/SolidUI The SolidUI warehouse is called Upstream warehouse in the text Fork warehouse: Fork from https://github.com/CloudOrc/SolidUI to your own personal warehouse, called Fork warehouse 2.1.2 Synchronize the latest code from the Upstream warehouse branch to your own Fork warehouse​ step1 Enter the user project page, select the branch to be updated step2 Click Fetch upstream under the code download button, select Fetch and merge (if the branch of your own Fork warehouse is accidentally polluted, you can delete the branch, and then synchronize the new branch of the Upstream warehouse to your own Fork warehouse, see the guide [Synchronize Upstream Branch the latest code from the warehouse to your own Fork warehouse](#213-Synchronize the new branch of the Upstream warehouse to your own Fork warehouse)) 2.1.3 Synchronize the new branch of the Upstream warehouse to your own Fork warehouse​ Scenario: There is a new branch in the Upstream repository, but the forked repository does not have this branch (you can choose to delete it and re-fork, but the changes that have not been merged to the original repository will be lost) step1 Open the Git command line tool (such as Git Bash), clone your own Fork warehouse to the local git clone https://github.com/{your_github_username}/SolidUI.git step2 enter the local warehouse directory cd SolidUI step3 Add Upstream warehouse as remote warehouse git remote add upstream https://github.com/CloudOrc/SolidUI.git step4 Get the branch information of the Upstream warehouse git fetch upstream step5 Synchronize the new branch of the Upstream warehouse to the local git checkout -b {new_branch_name} upstream/{new_branch_name} step6 Push the new branch to your own Fork repository git push --set-upstream origin {new_branch_name} 2.1.4 A pr process​ step1 Confirm the base branch of the current development (usually the current version in progress, such as the version 0.2.0 currently under development in the community, then the branch is dev, if you are not sure, you can ask in the community group or @related in the issue classmate) step2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse branch, refer to the guide [2.1.2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse] step3 Based on the development branch, pull the new fix/feature branch (do not directly modify the original branch, if the subsequent pr is merged in squash mode, the submitted commit records will be merged into one) git checkout -b dev-fix dev git push origin dev-fix:dev-fix step4 for development step5 Submit pr (if it is in progress and the development has not been completely completed, please add the WIP logo to the pr title, such as [WIP] Dev 0.2.0 Add junit test code for [solidui-common]; associate the corresponding issue etc.) step6 waiting to be merged step7 delete the fix/future branch (you can do it on the github page) git branch -d dev-fix git push 2.2 Development Guidelines​ The front-end and back-end codes of SolidUI share the same code base, but are separated in development. Before starting development, please fork a copy of the SolidUI project to your own Github Repositories, and develop based on the SolidUI code base in your own Github Repositories. We recommend cloning the dev branch and naming it dev-fix for development. At the same time, create a new dev-fix branch in your warehouse and modify it directly on the original branch. If the subsequent pr is merged in squash mode, the submitted commit records will be merged into one # pull branch git clone https://github.com/{githubid}/SolidUI.git --branch dev #Generate local dev-fix branch according to dev git checkout -b dev-fix dev #Push the local dev-fix branch to your own warehouse git push origin dev-fix dev-fix 2.3 Issue submission guidelines​ If you don't know how to initiate a PR to an open source project, please refer to About issues The name of the issue, which should briefly describe your problem or suggestion in one sentence; for the international promotion of the project, please write the issue in English, or bilingual Chinese and English For each Issue, please bring at least a label. Reference: issue #63 2.4 Pull Request (PR) submission guidelines​ If you don't know how to initiate a PR to an open source project, please refer to [About pull requests](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull -requests) Whether it's a bug fix or a new feature development, please submit a PR to the dev branch PR and commit name follow the principle of (): , for details, please refer to Commit message and Change log writing guide If a PR includes new features, documentation updates should be included in this PR If the PR is not ready to be merged, prefix the name with [WIP] (WIP = work-in-progress) All commits to dev-* branches need to be reviewed at least once before they can be merged 2.5 Review Criteria​ Before contributing code, find out what kind of commits are welcome in Review. Simply put, if a commit brings as much gain as possible with as few side effects or risks as possible, the more likely it will be merged and the faster it will be reviewed. Commits with high risk and low value are almost impossible to be merged, and may be rejected for Review. 2.5.1 Gains​ Fix the main cause of the bug Add or fix a feature or bug that was requested by a large number of users simple and effective Easy to test, with test cases Reduce complexity and code size Issues identified for improvement discussed by the community 2.5.2 Side Effects and Risks​ only fix the surface of the bug Introducing new features with high complexity Adding complexity to meet niche needs Changes to stable existing APIs or semantics Cause other functions not to work properly Add a lot of dependencies Feel free to change dependency versions Commit a lot of code or changes at once 2.5.3 Reviewer Notes​ Please write comments in a constructive tone If the submitter needs to make changes, please clearly state all the changes that need to be made to complete this Pull Request If a PR is found to have brought new problems after merging, Reviewer needs to contact the PR author and communicate to solve the problem; if the PR author cannot be contacted, Reviewer needs to restore the PR 3. Advanced contribution​ 3.1 About Committers (Collaborators)​ 3.1.1 How to become a Committer​ If you have submitted a valuable PR to SolidUI and it has been merged, or have contributed continuously for more than half a year, and have led at least one version release, you can find a PMC of the SolidUI project through the official WeChat group, if he is willing to nominate you as a committer , and are willing to state your contribution to all PMCs and Committers for you, then a vote will be launched; PMC and other Committers will vote together to decide whether to allow you to join, if you get enough votes, you will become a Committer of the SolidUI project . 3.1.2 Committer's rights​ You can join the official developer WeChat group to participate in discussions and formulate SolidUI development plans Can manage Issues, including closing and adding tags Can create and manage project branches, except dev branch Ability to review PRs submitted to the dev branch Can apply to become a Committee member 3.2 About the Committee​ 3.2.1 How to become a Committee member​ If you are a Committer of the SolidUI project, and all the content you contributed has been recognized by other Committee members, you can apply to become a member of the SolidUI Committee, and other Committee members will vote together to decide whether to allow you to join. If all votes pass, you will Become a SolidUI Committee member. 3.2.2 Rights of Committee members​ Ability to merge PRs submitted by other Committers and contributors to the dev branch Participate in determining the roadmap and development direction of the SolidUI project Can participate in new version releases Next Documentation Notice 1. Contribution category 1.1 Bug feedback and fixes 1.2 Function communication, implementation, refactoring 1.3 Issue Answers 1.4 Documentation improvements 1.5 Others 2. Contribution process 2.1 Branch structure 2.2 Development Guidelines 2.3 Issue submission guidelines 2.4 Pull Request (PR) submission guidelines 2.5 Review Criteria 3. Advanced contribution 3.1 About Committers (Collaborators) 3.2 About the Committee","s":"How to participate in project contribution","u":"/SolidUI-Website/community/contribution_guide/become_committer","h":"","p":181},{"i":184,"t":"Submit Guide Documentation Notice On this page Documentation Notice Good documentation is critical for any type of software. Any contribution that can improve the SolidUI documentation is welcome. Get the document project​ Documentation for the SolidUI project is maintained in a separate git repository. First you need to fork the document project into your own github repository, and then clone the document to your local computer. git clone git@github.com:/SolidUI-Website.git Preview and generate static files​ This website is compiled using node, using Docusaurus framework components Download and install nodejs (version>12.5.0) Clone the code to the local git clone git@github.com:CloudOrc/SolidUI-Website.git Run npm install to install the required dependent libraries. Run npm run start in the root directory, you can visit http://localhost:3000 to view the English mode preview of the site Run npm run start-zh in the root directory, you can visit http://localhost:3000 to view the Chinese mode preview of the site To generate static website resource files, run npm run build. The static resources of the build are in the build directory. Directory structure​ |-- community |-- docs // The next version of the document that will be released soon |-- download |-- faq // Q&A |-- i18n | `-- zh-CN //Internationalized Chinese | |-- code.json | |-- docusaurus-plugin-content-docs | |-- docusaurus-plugin-content-docs-community | |-- docusaurus-plugin-content-docs-download | |-- docusaurus-plugin-content-docs-faq | `-- docusaurus-theme-classic |-- resource // Original project files for architecture/timing diagram/flow chart, etc. |-- src | |-- components | |-- css | |-- js | |-- pages | | |-- home | | |-- index.jsx | | |-- team | | |-- user | | `-- versions | |-- styles |-- static // Picture static resource | |-- doc // document picture | |-- user // users picture | |-- home // homepage picture | |-- img // common picture |-- docusaurus.config.js Specification​ Directory naming convention​ Use all lowercase, separated by underscores. If there is a plural structure, use plural nomenclature, and do not use plural abbreviations Positive example: scripts / styles / components / images / utils / layouts / demo_styles / demo-scripts / img / doc Counter example: script / style / demoStyles / imgs / docs Vue and the naming convention of static resource files​ All lowercase, separated by a dash Positive example: render-dom.js / signup.css / index.html / company-logo.png Counter example: renderDom.js / UserManagement.html Resource Path​ Image resources are unified under static/{module name} css and other style files are placed in the src/css directory Page content modification​ Except for the homepage, team, user, Docs>All Version module page, all other pages can be directly jumped to the corresponding github resource modification page through the'Edit this page' button at the bottom Home page modification​ Visit the page https://cloudorc.github.io/SolidUI-Website/ Located in src/pages/home ├─home │ languages.json // Home page Chinese and English configuration │ index.less // homepage style Team page modification​ Visit the page https://cloudorc.github.io/SolidUI-Website/team Located in src/pages/team ├─team │ languages.json │ index.js │ index.less User list page modification​ Visit the page https://github.com/CloudOrc/SolidUI/issues/1 Previous Become committer Next Submit Code Get the document project Preview and generate static files Directory structure Specification Directory naming convention Vue and the naming convention of static resource files Resource Path Page content modification Home page modification Team page modification User list page modification","s":"Documentation Notice","u":"/SolidUI-Website/community/submit_guide/document","h":"","p":183},{"i":186,"t":"Submit Guide Submit Code Submit Code First from the remote repository https://github.com/CloudOrc/SolidUI.git fork a copy of the code into your own repository There are currently three branches in the remote repository: dev daily development branch Every day dev development branch, newly submitted code can pull request to this branch. 1.0.0-release release version branch The release version branch, there will be 2.0...and other version branches in the future. Clone your repository to your local git clone git@github.com:CloudOrc/SolidUI.git Add remote repository address, named upstream git remote add upstream git@github.com:CloudOrc/SolidUI.git View repository git remote -v At this time, there will be two repositories: origin (your own repository) and upstream (remote repository) Get/Update remote repository code git fetch upstream Synchronize remote repository code to local repository git checkout origin/dev git merge --no-ff upstream/dev After modifying the code locally, submit it to your own repository: git commit -m 'commit content' git push Submit changes to the remote repository On the github page, click \"New pull request\". Select the modified local branch and the branch you want to merge with the past, click \"Create pull request\". Then the community Committers will do CodeReview, and then he will discuss some details (including design, implementation, performance, etc.) with you. When everyone on the team is satisfied with this modification, the commit will be merged into the dev branch Finally, congratulations, you have become an official contributor to SolidUI ! Previous Documentation Notice","s":"Submit Code","u":"/SolidUI-Website/community/submit_guide/submit_code","h":"","p":185},{"i":189,"t":"Docker 1.13.1+ Docker Compose 1.11.0+","s":"1. Environment preparation","u":"/SolidUI-Website/docs/deployment/deployment-docker","h":"#1-environment-preparation","p":187},{"i":191,"t":"This method needs to install docker-compose first, there are already a lot of information on the installation of docker-compose on the Internet, please install it yourself","s":"2. Start docker-compose (recommended)","u":"/SolidUI-Website/docs/deployment/deployment-docker","h":"#2-start-docker-compose-recommended","p":187},{"i":193,"t":"Download at https://github.com/CloudOrc/SolidUI/releases Please download the source package solidui-x.x.x-bin.tar.gz","s":"2.1 Download deployment package or source code","u":"/SolidUI-Website/docs/deployment/deployment-docker","h":"#21-download-deployment-package-or-source-code","p":187},{"i":195,"t":"# Enter the server (take Centos7 as an example) tar -zxvf solidui-x.x.x-bin.tar.gz cd solidui-x.x.x-bin/docker/ docker-compose up -d","s":"2.2 Pull the image and start the service","u":"/SolidUI-Website/docs/deployment/deployment-docker","h":"#22-pull-the-image-and-start-the-service","p":187},{"i":197,"t":"token is the model API token baseurl is the base address of the model API, for example: https://api.openai.com (this is the address of openai abroad), https://api.chatanywhere.com.cn (the address of openai's domestic agent), http://ip: port (chatGLM address) # Enter the mysql created by Docker-Compose mysql -h ip -u root -p use solidui; update solidui_model_type set token = '' , baseurl='' where id = 'id';","s":"2.3 Modify the database table information, modify the table solidui_model_type, token and baseurl fields (supported after version 0.2.0)","u":"/SolidUI-Website/docs/deployment/deployment-docker","h":"#23-modify-the-database-table-information-modify-the-table-solidui_model_type-token-and-baseurl-fields-supported-after-version-020","p":187},{"i":199,"t":"Access link http://localhost:8099 Default username and password: admin/adm","s":"2.4 Accessing Services","u":"/SolidUI-Website/docs/deployment/deployment-docker","h":"#24-accessing-services","p":187},{"i":203,"t":"Docker 1.13.1+ Kubernetes 1.19.0+ Helm 3.4.x+ ingress 1.3.0+","s":"Software Environment","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#software-environment","p":200},{"i":205,"t":"Centos 7+, Ubuntu 20.04","s":"Operating System","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#operating-system","p":200},{"i":207,"t":"CPU 8core+,Memory 16G+","s":"Hardware Environment","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#hardware-environment","p":200},{"i":209,"t":"In this way, you need to install the Helm first. There are a lot of information on the installation website of the Helm, please install it by yourself.","s":"2.Start Helme (recommended)","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#2start-helme-recommended","p":200},{"i":211,"t":"Download the source code of https://github.com/CloudOrc/SolidUI for items in the github.","s":"2.1 Download source code","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#21-download-source-code","p":200},{"i":213,"t":"# Enter the server (take Centos7 as an example) cd SolidUI/deploy/kubernetes/helm-solidui helm install solidui ./","s":"2.2 Start the service with Helm","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#22-start-the-service-with-helm","p":200},{"i":215,"t":"//View pod status kubectl get pods -n solidui //View the ingress port kubectl get svc -A |grep ingress-nginx-controller //If you do not use ingress access, you can access it through the port-forward forwarding port kubectl port-forward svc/solidui-web 80:8099 --address 0.0.0.0 -n solidui","s":"2.3 View the service status and ingress port","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#23-view-the-service-status-and-ingress-port","p":200},{"i":217,"t":"Access link http://ingress-ip-address:ingress-port Default username and password: admin/admin","s":"2.4 Accessing Services","u":"/SolidUI-Website/docs/deployment/deployment-kubernetes","h":"#24-accessing-services","p":200},{"i":221,"t":"Hardware Requirements​ Install one SolidUI microservice with at least 512M memory. The default jvm -Xmx memory size of each microservice is 512M (if the memory is not enough, you can try to reduce it to 256/128M, and you can also increase it if the memory is enough).","s":"1.1 Linux server","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#11-linux-server","p":218},{"i":223,"t":"Java version requirements: jdk1.8.0_201 or above","s":"1.2 JDK preparation","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#12-jdk-preparation","p":218},{"i":225,"t":"Mysql5.7 or above","s":"1.3 Database preparation","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#13-database-preparation","p":218},{"i":228,"t":"Method 1: Download the address from the official website: https://github.com/CloudOrc/SolidUI/releases, and download the corresponding installation package (overall installation package). Method 2: Compile the project installation package by yourself according to the SolidUI back-end compilation and front-end compilation. After uploading the installation package solidui-x.x.x-bin.tar.gz, decompress the installation package tar -zxvf solidui-x.x.x-bin.tar.gz The directory structure after decompression is as follows: drwxr-xr-x 2 root root 4096 Jun 10 20:31 docker drwxr-xr-x 6 root root 4096 Jun 11 17:57 entrance-server -rw-r--r-- 1 root root 27711 Jun 4 21:47 LICENSE drwxr-xr-x 3 root root 4096 Jun 11 18:03 licenses -rw-r--r-- 1 root root 24875 Jun 4 19:29 NOTICE drwxr-xr-x 4 root root 4096 Jun 11 18:26 solidui-web","s":"2.1 Installation package preparation","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#21-installation-package-preparation","p":218},{"i":231,"t":"# Initialize database ddl and dml paths solidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql # Enter the mysql database mysql -h192.168.xx.xx -P3306 -uroot -p # create database CREATE DATABASE solidui DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; # Modify the database connection information, modify the table solidui_model_type, token and baseurl fields (supported after version 0.2.0) token is the model API token baseurl is the base address of the model API, for example: https://api.openai.com (this is the address of openai abroad), https://api.chatanywhere.com.cn (the address of the domestic agent of openai) solidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql INSERT INTO `solidui_model_type` (`id`, `name`, `type_name`, `prompt`, `token`, `baseurl`) VALUES (1,'gpt-3.5-turbo','gpt',NULL,NULL,NULL), (2,'gpt-4','gpt',NULL,NULL,NULL), (3,'chatglm_lite','chatglm',NULL,NULL,NULL); # Execute the database initialization script source solidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql","s":"3.1 Preparations","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#31-preparations","p":218},{"i":233,"t":"cd solidui-x.x.x-bin/entrance-server/conf # Modify database connection information vi application.yaml datasource: url: jdbc:mysql://localhost:3306/solidui?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: root password: root # 0.2.0 version adds python service configuration vi solidui-x.x.x-bin/soliduimodelui/.env # Modify database connection information DB_HOST=localhost DB_PORT=3306 DB_NAME=solidui DB_USER=root DB_PASS=SolidUI@123","s":"3.2 Configuration modification","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#32-configuration-modification","p":218},{"i":235,"t":"cd solidui-x.x.x-bin/entrance-server # start the service sh bin/start.sh # Out of service sh bin/stop.sh # 0.2.0 version adds python service cd solidui-x.x.x-bin pip install -e . modelui","s":"3.3 Server start","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#33-server-start","p":218},{"i":238,"t":"Refer to Frontend Deployment","s":"4.1 Preparations","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#41-preparations","p":218},{"i":240,"t":"Visit the default link http://localhost:8099 Default username and password: admin/admin","s":"4.2 Startup","u":"/SolidUI-Website/docs/deployment/deployment-standalone","h":"#42-startup","p":218},{"i":243,"t":"Method 1: Download the address from the official website: https://github.com/CloudOrc/SolidUI/releases, and download the corresponding installation package (overall installation package). Method 2: Compile the project installation package according to SolidUI. tar -zxvf solidui-x.x.x-bin.tar.gz # front-end directory cd solidui-x.x.x/solidui-web","s":"1 Preparations","u":"/SolidUI-Website/docs/deployment/deployment-web","h":"#1-preparations","p":241},{"i":245,"t":"Divided into two deployment methods, automated deployment and manual deployment","s":"2 deployment","u":"/SolidUI-Website/docs/deployment/deployment-web","h":"#2-deployment","p":241},{"i":247,"t":"2.1.1 Modify configuration config.sh​ # solidui service address solidui_url=\"http://127.0.0.1:12345\" # models backend address solidui_url_models=\"http://127.0.0.1:5110\" # kernel backend address solidui_url_kernel=\"http://127.0.0.1:5010\" #It can be configured as the ip of the installation machine or use the default value solidui_ipaddr=127.0.0.1 # Port to access the management console solidui_port=8099 #### 2.1.2 Execute the deployment script ```shell script # nginx needs sudo permission to install sudo sh install.sh After installation, the nginx configuration file of solidui is in /etc/nginx/conf.d/solidui.conf by default The log files of nginx are in /var/log/nginx/access.log and /var/log/nginx/error.log An example of the generated solidui nginx configuration file is as follows: server { listen 8099; server_name localhost; location / { root /opt/solidui/solidui-web/dist; # Static file directory index index.html index.html; } location /solidui { proxy_pass $solidui_url; # The address of the backend SolidUI proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header x_real_ipP $remote_addr; proxy_set_header remote_addr $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_connect_timeout 4s; proxy_read_timeout 600s; proxy_send_timeout 12s; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } location /solidui/models { proxy_pass $solidui_url_models; # modelui backend address proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header x_real_ipP $remote_addr; proxy_set_header remote_addr $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_connect_timeout 4s; proxy_read_timeout 600s; proxy_send_timeout 12s; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } location /solidui/kernel { proxy_pass $solidui_url_kernel; # modelui kernel backend address proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header x_real_ipP $remote_addr; proxy_set_header remote_addr $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_connect_timeout 4s; proxy_read_timeout 600s; proxy_send_timeout 12s; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }","s":"2.1 Automated deployment (recommended)","u":"/SolidUI-Website/docs/deployment/deployment-web","h":"#21-automated-deployment-recommended","p":241},{"i":249,"t":"2.2.1 Install Nginx​ If you have already installed nginx, you can skip it sudo yum install nginx -y 2.2.2 Modify configuration file​ sudo vi /etc/nginx/conf.d/solidui.conf Add the following: server { listen 8080;# access port server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /opt/solidui/solidui-web/dist; # The directory where the front-end package is decompressed index index.html index.html; } location /solidui { proxy_pass http://127.0.0.1:12345; # solidui service address proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header x_real_ipP $remote_addr; proxy_set_header remote_addr $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_connect_timeout 4s; proxy_read_timeout 600s; proxy_send_timeout 12s; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } location /solidui/models { proxy_pass http://127.0.0.1:5110; # modelui backend address proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header x_real_ipP $remote_addr; proxy_set_header remote_addr $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_connect_timeout 4s; proxy_read_timeout 600s; proxy_send_timeout 12s; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } location /solidui/kernel { proxy_pass http://127.0.0.1:5010; # modelui kernel backend address proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header x_real_ipP $remote_addr; proxy_set_header remote_addr $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_connect_timeout 4s; proxy_read_timeout 600s; proxy_send_timeout 12s; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } 2.2.3 Resource deployment​ Suppose the product path after the front-end npm run build is: /opt/solidui/solidui-web/dist 2.2.4 Start service​ sudo systemctl restart nginx","s":"2.2 Manual deployment","u":"/SolidUI-Website/docs/deployment/deployment-web","h":"#22-manual-deployment","p":241},{"i":251,"t":"Browser access http://solidui_ipaddr:solidui_port where solidui_port is the port configured in config.sh, solidui_ipaddr is the IP of the installation machine, and the default account password is: admin/admin","s":"3 login","u":"/SolidUI-Website/docs/deployment/deployment-web","h":"#3-login","p":241},{"i":253,"t":"If you need to modify the port or static resource directory, etc., please modify the /etc/nginx/conf.d/solidui.conf file and execute the sudo nginx -s reload command Caution Check whether nginx starts normally: check whether the nginx process exists ps -ef |grep nginx Check if the configuration of nginx is correct sudo nginx -T If the port is occupied, you can modify the service port /etc/nginx/conf.d/solidui.conflisten port value started by nginx, save and restart","s":"4 Notes","u":"/SolidUI-Website/docs/deployment/deployment-web","h":"#4-notes","p":241},{"i":256,"t":"sudo vi /etc/nginx/conf.d/solidui.conf Change interface timeout proxy_read_timeout 600s","s":"5.1 Interface timeout","u":"/SolidUI-Website/docs/deployment/deployment-web","h":"#51-interface-timeout","p":241},{"i":259,"t":"The designer is divided into five areas. includes Layer/Page, SolidView List, SolidEditor, Configuration, SolidView Select List. Layer/Page:The Layer is mainly to configure the scene, and the Page is to configure and design its own components. SolidView List:It is convenient to select the components to be configured, and perform management operations such as deleting and locking the components. SolidEditor:As a highly cohesive component, it can subscribe and publish events externally through EventBus. Inside the component, RulerGuides, InfiniteView, Moveable, Selecto, and Viewport are used to complete the interaction and operation logic of the entire editing area. Configuration:Configure the WYSIWYG style, data source, event interaction, etc. for the selected SolidView. SolidView Select List:Provides a button area at the top for selecting and placing individual components.","s":"1. SolidUI Module","u":"/SolidUI-Website/docs/design/front-end-architecture/","h":"#1-solidui-module","p":257},{"i":262,"t":"SolidEditor integrates RulerGuides (rulers, auxiliary lines), InfiniteView (infinite scrolling view in the editing area), Viewport (visible area), Moveable (basic capabilities such as drag and drop, size, rounded corners, alignment, and marking lines), Selecto (multiple selection, combination). SolidView is a reusable base class component. We hope to display various SolidViews through a well-designed JSONSchema and its specific JSON content, that is, SolidView should only be bound to the JSONSchema data model and injected into EventBus to complete Interaction between different SolidViews. But when we are editing the design, we need to wrap SolidView to achieve the design capabilities in the designer mode. So we need to wrap SolidView in edit mode to get a ProxyView. When we preview the designed page, our SolidShowEngine will load the designed JSONSchema specific data model to complete the final rendering.","s":"3. SolidEditor & Preview(WISYWI)","u":"/SolidUI-Website/docs/design/front-end-architecture/","h":"#3-solideditor--previewwisywi","p":257},{"i":264,"t":"Design JSONSchema to define what a SolidView component should look like, and different SolidView components may extend JSONSchema. The advantage of this is that we abstract SolidView into a JSON description document, which can focus on JSONSchema, and discuss the feasibility of each modification for JSONSchema. On the basis of JSONSchema, plan the configuration capabilities of the Configuration module. Including UI display, component development required by UI, etc. Interaction process: select a component -> modify the configuration item -> send a modification event -> SolidEditor receives the subscribed event message -> find the target SolidView -> find the corresponding JSONSchem -> verify and save the modification -> SolidView for this configuration modify in response.","s":"4. SolidView & JSONSchema & Configuration","u":"/SolidUI-Website/docs/design/front-end-architecture/","h":"#4-solidview--jsonschema--configuration","p":257},{"i":266,"t":"solidui_datasource (Data Source Management) id: Unique identifier of the data source. datasource_name: Name of the data source. datasource_desc: Description of the data source. datasource_type_id: ID of the data source type. create_identify: Creation identifier. parameter: Parameters. create_time: Creation time. create_user: User who created the source. labels: Labels. expire: Expiration indicator. solidui_datasource_type (Data Source Type) id: Unique identifier of the data source type. name: Type name. description: Type description. option: Options. classifier: Classifier. icon: Icon. layers: Layers. solidui_datasource_type_key (Data Source Type Setting) id: Unique identifier of the data source type key. data_source_type_id: Data source type ID. key: Key. name: Name. name_en: Name in English. default_value: Default value. value_type: Value type. scope: Scope. require: Whether it is required. description: Description. description_en: Description in English. value_regex: Value regular expression. update_time: Update time. create_time: Creation time. solidui_job_element (Job Element) id: Unique identifier of the job element. project_id: Project ID. name: Name. data: Data. data_type: Data type. create_time: Creation time. update_time: Update time. solidui_job_element_page (Job Element Page) id: Unique identifier of the job element page. job_page_id: Job page ID. job_element_id: Job element ID. position: Position. create_time: Creation time. update_time: Update time. solidui_job_page (Job Page) id: Unique identifier of the job page. project_id: Project ID. name: Name. parent_id: Parent ID. layout: Layout. orders: Order. create_time: Creation time. update_time: Update time. solidui_project (Project Management) id: Unique identifier of the project. user_name: Username. project_name: Project name. image: Project image. description: Description. create_time: Creation time. update_time: Update time. status: Project status. solidui_user (User Management) id: Unique identifier of the user. user_name: Username. user_password: User password. create_time: Creation time. update_time: Update time. queue: Queue. solidui_model_type (Model Type Setting) id: Unique identifier of the model type. name: Name. code: output code type type_name: Type name. prompt: Prompt. token: Token. baseurl: Base URL.","s":"Metadata","u":"/SolidUI-Website/docs/design/metadata/","h":"#metadata","p":265},{"i":268,"t":"The data source (solidui_datasource) has a data source type (solidui_datasource_type), linked via the datasource_type_id field. The data source type (solidui_datasource_type) has one or more data source type keys (solidui_datasource_type_key), linked via the id field. The job element (solidui_job_element) exists within a project (solidui_project), linked via the project_id field. The job element page (solidui_job_element_page) is linked to a job element (solidui_job_element) and a job page (solidui_job_page), respectively via the job_element_id and job_page_id fields. The job page (solidui_job_page) exists within a project (solidui_project), linked via the project_id field. The project (solidui_project) is created by a user (solidui_user), linked via the user_name field. This diagram does not include all tables and fields, it only contains some of the main associations.","s":"E-R","u":"/SolidUI-Website/docs/design/metadata/","h":"#e-r","p":265},{"i":271,"t":"Entrance: API interface layer, mainly responsible for the request of the front-end UI layer, the service uniformly provides RESTful api to provide request services to the outside","s":"1. Architecture Overview","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#1-architecture-overview","p":269},{"i":273,"t":"solidui-bom: BOM (Bill of Materials) is usually used to manage dependency versions in a project to ensure that all modules use the same version of dependencies. Solidui-common: This module contains common code and tools used throughout the project. Solidui-dao: DAO (Data Access Object) module contains all the codes to interact with the database. solidui-datasource-plugin: This module provides a way to extend the data source, so that data can be obtained from many different types of data sources. solidui-dist: The build and distribution of this module project. Solidui-entrance: This module is the main entry point of the project and contains the code to start and initialize the application. Solidui-service: This module contains business logic code. Solidui-spi: The SPI (Service Provider Interface) module provides a way to extend the functionality of the project. solidui-web: This module contains the front-end code for displaying user interface, chat interface. soliduimodelui: module model proxy layer, used to upgrade the data model conversion of the UI layer.","s":"2. Module function","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#2-module-function","p":269},{"i":276,"t":"This is a Maven project object model (POM) file, which is an XML-based project configuration file used to describe information about building a project, such as project dependencies, build plugins, project properties, etc. This POM file defines a project named solidui-bom whose parent project is solidui. In this POM file, there are three main parts: Properties: Defines the version numbers of various dependent libraries. This is a common way to manage versions of all dependent libraries in a project, defining and updating all dependent versions in one place. Parent: Defines the parent project of this project. In Maven, you can inherit some common configurations, such as dependency management, plug-in management, etc., by defining a parent project. Dependency Management: This section defines the project's dependent libraries and their versions. All dependencies defined here can be used directly in submodules without specifying a version number. If a dependency in a submodule conflicts with a dependency here, the version defined here will take precedence. According to this POM file, you can know which libraries this project depends on and the versions of these libraries. In addition, if you need to add a new dependency library, or update the version of an existing dependency library, you can also do it in this file.","s":"3.1 solidui-bom","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#31-solidui-bom","p":269},{"i":278,"t":"Constants: This class defines some global constants that may be used throughout the project. For example, the key name of the HTTP header, the encryption key, etc. DateConstants: This class defines formatted string constants for datetimes. ByteTimeUtils: This class currently looks empty, it may be a utility class for handling bytes and time. DESUtil: This class provides encryption and decryption methods based on the DES algorithm for secure data transmission. EncryptionUtils: This class provides a method to calculate the MD5 value of a string. JSONUtils: This class provides a series of JSON processing methods, including serialization of objects to JSON, deserialization of JSON to objects, conversion of JSON to List or Map, etc. LoginUtils: This class provides some methods for handling login users, such as setting login users, removing login users and getting login users. Utils: This class provides some common utility methods, such as creating a thread factory with a custom thread name and daemon state, and creating a default scheduled task executor.","s":"3.2 solidui-common","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#32-solidui-common","p":269},{"i":280,"t":"This module is called solidui-dao, and mainly includes configuration and object models related to the data access layer. SpringConnectionFactory: This configuration class is mainly used to configure MyBatisPlus related settings, such as paging plug-ins, transaction managers, SqlSessionFactory, etc. DataSource, DataSourceType, DataSourceTypeKey, JobElement, JobElementPage, JobPage, ModelType, Project, User: These classes are entity classes that represent the data structure of each table in the database. DataSourceMapper, DataSourceParamKeyMapper, DataSourceTypeMapper, JobElementMapper, JobElementPageMapper, JobPageMapper, ModelTypeMapper, ProjectMapper, UserMapper: These interfaces are Mapper interfaces of MyBatis, which are used to define CRUD operations for corresponding tables. PageListingResult: This is a wrapper class for wrapping the results of paging queries. DaoConfiguration: This is a Spring configuration class used to start Spring Boot's automatic configuration and scan the Mapper interface. Through this module, you can easily operate the database. For example, you can query a user given a username and password through the queryUserByNamePassword method of UserMapper. All Mapper interfaces inherit from the BaseMapper interface of MyBatisPlus, so they all have basic CRUD operations.","s":"3.3 solidui-dao","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#33-solidui-dao","p":269},{"i":282,"t":"This module is called solidui-datasource-plugin and contains configuration and object models related to datasource plugins. DorisClient: This class inherits from BaseJdbcClient and implements specific methods for interacting with the Doris database, including obtaining all databases, obtaining all tables of the database, and executing query statements and obtaining results. DorisClientFactory: This class inherits from BaseJdbcClientFactory and implements the factory method for creating DorisClient. DorisConnectionFactory: This class implements the ConnectionFactory interface and provides a method for creating a connection to the Doris database. MysqlClient: This class inherits from BaseJdbcClient and implements specific methods for interacting with the MySQL database, including obtaining all databases, obtaining all tables of the database, and executing query statements and obtaining results. MysqlClientFactory: This class inherits from BaseJdbcClientFactory and implements the factory method for creating MysqlClient. MysqlConnectionFactory: This class implements the ConnectionFactory interface and provides methods for creating connections to MySQL databases. JdbcClientManager: This class is used to load the configured ConnectionFactory. ConnectDTO: This class is a simple data transfer object that contains the information needed to connect to the database, such as hostname, port, username, password, database name, and additional parameters. Other interfaces such as JdbcClient, JdbcClientFactory, ConnectionFactory, etc. define some common methods, and specific implementation classes such as DorisClient, DorisClientFactory, DorisConnectionFactory, etc. provide the specific implementation of these methods. In addition, the pom.xml file of this module configures the solidui-datasource-all submodule, which depends on two modules, solidui-datasource-mysql and solidui-datasource-doris, which define how to communicate with MySQL and Doris Database interaction.","s":"3.4 solidui-datasource-plugin","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#34-solidui-datasource-plugin","p":269},{"i":284,"t":"This module is called solidui-dist, and it is mainly responsible for the release and deployment of the project. docker-compose.yml: This is a Docker Compose configuration file for defining and running multi-container Docker applications. In this file, several services are defined: solidui-entrance, solidui-web, mysql and soliduimodelui. These services will be run as containers by Docker. release-docs: This folder may contain release documents such as LICENSE and NOTICE. assembly.xml: This is the configuration file for the Maven Assembly plugin, which defines how to create the project's release package. In this file, it is defined which files and folders need to be included. The role of this module is mainly to define how to package the project and how to deploy the project. With Docker Compose, it is very convenient to deploy and run this project on any machine with Docker installed. Through the Maven Assembly plug-in, it is very convenient to create the release package of the project, which contains all the files needed to run the project.","s":"3.5 solidui-dist","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#35-solidui-dist","p":269},{"i":286,"t":"This module is named solidui-entrance. As the entry point of the application, it provides multiple controllers (Controller) for processing user requests. BaseController: Provides some common methods for returning results, including successful results and error results. DataSourceController: Provides a series of APIs related to data sources, such as obtaining all data source types, obtaining parameter keys according to types, querying databases according to data source names and types, etc. JobController: Provides some job-related APIs, such as saving pages, updating jobs, querying jobs by project ID, etc. JobPageController: Provides some APIs related to job pages, such as creating job pages, updating job pages, querying job pages by project ID, etc. LoginController: Provides login and logout APIs. MetadataQueryController: Provides some APIs related to metadata query, such as querying database by data source name, querying table by data source name, querying by SQL, etc. ModelController: Provides an API to get a list of models. ProjectController: Provides some project-related APIs, such as creating projects, updating projects, querying projects by project name, deleting projects, etc. Each Controller depends on the corresponding Service, and the corresponding business logic is defined in the Service. For example, DataSourceController depends on DataSourceService, which defines business logic such as how to query all data source types and how to obtain parameter keys according to types. In addition, some Service implementation classes are provided, such as DataSourceServiceImpl, DataSourceTypeServiceImpl, JobPageServiceImpl, JobServiceImpl, MetadataQueryServiceImpl, ModelServiceImpl, ProjectServiceImpl, and UserServiceImpl. These classes implement the corresponding Service interface and provide specific business logic. In general, this module mainly processes user requests, executes corresponding business logic, and returns results.","s":"3.6 solidui-entrance","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#36-solidui-entrance","p":269},{"i":288,"t":"Contains some service layer code.","s":"3.7 solidui-service","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#37-solidui-service","p":269},{"i":290,"t":"ConnectDTO: This is a simple data transfer object that contains the information needed to connect to the database. ConstantsSPI: This class defines some constants that may be used in SPI (Service Provider Interface).","s":"3.8 solidui-spi","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#38-solidui-spi","p":269},{"i":292,"t":"This is a front-end project based on React and Ant Design. The main contents of the project include: The main application entry index.tsx, used to initialize and render the entire application. App component, which is the main component of the application, is used to define routes and render corresponding components. routes defines all the routes of the application, including home page, login page, project list page, data source list page, dashboard page and preview page, etc. The DefaultLayout component defines the main layout of the application, including the header, sidebar, and main content area. Two components ProjectList and DataSourceList are used to display project list and data source list respectively. The Dashboard component is used to display dashboards and display data visualization results. The Login component is used to handle user login logic. The Home component defines the home page content of the application. Two custom Hooks useProject and useDataSource are used to handle business logic related to projects and data sources. ModelManager class, used to manage the state of the application. ViewFactory class, used to create views. The SolidView class defines an abstract view base class, and all view components need to inherit from this base class. In addition, the project also includes some auxiliary modules, such as ApiService is used to encapsulate API requests, theme is used to define theme styles, solidui-entrance and solidui-web are the main components of the backend and frontend respectively Modules, api and service define some API interfaces and services, and components contains some public components. The project uses some third-party libraries, such as axios for processing HTTP requests, lodash-es for providing some useful utility functions, antd is a UI component library based on React, echarts for data Visualization, react-router-dom for handling routing, react-window for optimizing rendering performance of long lists, etc. The construction tool of the project is webpack, which uses babel to translate JavaScript code, eslint and prettier for code specification and formatting, and jest for unit testing. In addition, the project also uses husky and lint-staged to automatically check and fix code issues before committing code.","s":"3.9 solidui-web","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#39-solidui-web","p":269},{"i":294,"t":"This is a backend project based on Flask and MySQL, which is mainly used to process requests from the frontend and perform corresponding operations. The main functional modules include: kernel_manager: This module is mainly responsible for managing and operating the Python kernel, and processing code execution requests from the front end. The kernel manager implements communication with the Python kernel, receives and processes the output of the kernel, and handles various states of the kernel. In addition, it also provides a message queue for receiving and sending kernel messages. kernel_program: This module is mainly responsible for starting and managing the subprocesses of the Python kernel. It starts the Python kernel through a subprocess, and then communicates with the kernel through the SnakeMQ message queue. utils: This module provides some useful utility functions, such as sending JSON messages, initializing SnakeMQ message queues, etc. webapp: This is a Flask-based web application that provides a series of APIs for front-end calls, such as executing code, obtaining execution results, and managing the Python kernel. This application uses CORS middleware to handle cross-origin requests. web_utils: This module provides some common utility functions in Web applications, such as formatting response data, querying databases, etc. .env: This is an environment variable configuration file, which contains configuration information such as database connection information and application port number. The operation process of the project is roughly as follows: Start the Flask web application and provide an API interface for front-end calls; The front end initiates a request, such as executing code, etc.; The web application receives the request and calls the kernel manager to perform corresponding operations; The kernel manager communicates with the Python kernel through the SnakeMQ message queue, executes the code and obtains the result; The web application returns the execution result to the front end. In addition, the project also provides some auxiliary functions, such as log output, error handling, etc.","s":"3.10 soliduimodelui","u":"/SolidUI-Website/docs/design/server-architecture/","h":"#310-soliduimodelui","p":269},{"i":296,"t":"Many thanks for contributing to the SolidUI project! Before contributing, please read the following guidelines carefully.","s":"How to participate in project contribution","u":"/SolidUI-Website/docs/development/develop-contributing","h":"","p":295},{"i":299,"t":"We recommend that whether it is bug feedback or repair, first create an Issue to describe the status of the bug in detail, so that the community can find and review the problem and code through the Issue record. Bug feedback Issues usually need to include full information describing the bug and reproducible scenarios, so that the community can quickly locate the cause of the bug and fix it. Open Issues with #bug tags are those that need to be fixed.","s":"1.1 Bug feedback and fixes","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#11-bug-feedback-and-fixes","p":295},{"i":301,"t":"In the communication process, describing in detail the details, mechanism and usage scenarios of the new function (or refactoring) can promote its better and faster implementation (including test cases and codes, and CI/CD related work). If you plan to implement a major function (or refactoring), please be sure to communicate with the core development team via Issue or other means, so that everyone can promote it in the most efficient way. Open Issues containing #feature tags are all new features that need to be implemented, and open Issues containing #enhancement tags are all functions that need to be improved and refactored.","s":"1.2 Function communication, implementation, refactoring","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#12-function-communication-implementation-refactoring","p":295},{"i":303,"t":"Helping to answer usage questions in Issues is a very valuable way to contribute to the SolidUI community; there are always new users in the community, and you can show your expertise while helping new users.","s":"1.3 Issue Answers","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#13-issue-answers","p":295},{"i":305,"t":"The SolidUI documentation is located at SolidUI-Website, and the completion of the documentation is also crucial to the development of SolidUI.","s":"1.4 Documentation improvements","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#14-documentation-improvements","p":295},{"i":307,"t":"Including participating in and helping to organize community exchanges, community operation activities, etc., and other activities that can help SolidUI projects and communities.","s":"1.5 Others","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#15-others","p":295},{"i":310,"t":"The SolidUI source code may generate some temporary branches, but two are only the following three branches that are really meaningful: release-*: Stable release version; dev: The daily development branch, which is also the target branch for everyone to contribute code. If you want to contribute code, please create a new branch based on the dev branch. When the version is released, a new release branch will be created based on dev; 2.1.1 Concept​ Upstream warehouse: https://github.com/CloudOrc/SolidUI The SolidUI warehouse is called Upstream warehouse in the text Fork warehouse: Fork from https://github.com/CloudOrc/SolidUI to your own personal warehouse, called Fork warehouse 2.1.2 Synchronize the latest code from the Upstream warehouse branch to your own Fork warehouse​ step1 Enter the user project page, select the branch to be updated step2 Click Fetch upstream under the code download button, select Fetch and merge (if the branch of your own Fork warehouse is accidentally polluted, you can delete the branch, and then synchronize the new branch of the Upstream warehouse to your own Fork warehouse, see the guide [Synchronize Upstream Branch the latest code from the warehouse to your own Fork warehouse](#213-Synchronize the new branch of the Upstream warehouse to your own Fork warehouse)) 2.1.3 Synchronize the new branch of the Upstream warehouse to your own Fork warehouse​ Scenario: There is a new branch in the Upstream repository, but the forked repository does not have this branch (you can choose to delete it and re-fork, but the changes that have not been merged to the original repository will be lost) step1 Open the Git command line tool (such as Git Bash), clone your own Fork warehouse to the local git clone https://github.com/{your_github_username}/SolidUI.git step2 enter the local warehouse directory cd SolidUI step3 Add Upstream warehouse as remote warehouse git remote add upstream https://github.com/CloudOrc/SolidUI.git step4 Get the branch information of the Upstream warehouse git fetch upstream step5 Synchronize the new branch of the Upstream warehouse to the local git checkout -b {new_branch_name} upstream/{new_branch_name} step6 Push the new branch to your own Fork repository git push --set-upstream origin {new_branch_name} 2.1.4 A pr process​ step1 Confirm the base branch of the current development (usually the current version in progress, such as the version 0.2.0 currently under development in the community, then the branch is dev, if you are not sure, you can ask in the community group or @related in the issue classmate) step2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse branch, refer to the guide [2.1.2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse] step3 Based on the development branch, pull the new fix/feature branch (do not directly modify the original branch, if the subsequent pr is merged in squash mode, the submitted commit records will be merged into one) git checkout -b dev-fix dev git push origin dev-fix:dev-fix step4 for development step5 Submit pr (if it is in progress and the development has not been completely completed, please add the WIP logo to the pr title, such as [WIP] Dev 0.2.0 Add junit test code for [solidui-common]; associate the corresponding issue etc.) step6 waiting to be merged step7 delete the fix/future branch (you can do it on the github page) git branch -d dev-fix git push","s":"2.1 Branch structure","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#21-branch-structure","p":295},{"i":312,"t":"The front-end and back-end codes of SolidUI share the same code base, but are separated in development. Before starting development, please fork a copy of the SolidUI project to your own Github Repositories, and develop based on the SolidUI code base in your own Github Repositories. We recommend cloning the dev branch and naming it dev-fix for development. At the same time, create a new dev-fix branch in your warehouse and modify it directly on the original branch. If the subsequent pr is merged in squash mode, the submitted commit records will be merged into one # pull branch git clone https://github.com/{githubid}/SolidUI.git --branch dev #Generate local dev-fix branch according to dev git checkout -b dev-fix dev #Push the local dev-fix branch to your own warehouse git push origin dev-fix dev-fix","s":"2.2 Development Guidelines","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#22-development-guidelines","p":295},{"i":314,"t":"If you don't know how to initiate a PR to an open source project, please refer to About issues The name of the issue, which should briefly describe your problem or suggestion in one sentence; for the international promotion of the project, please write the issue in English, or bilingual Chinese and English For each Issue, please bring at least a label. Reference: issue #63","s":"2.3 Issue submission guidelines","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#23-issue-submission-guidelines","p":295},{"i":316,"t":"If you don't know how to initiate a PR to an open source project, please refer to [About pull requests](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull -requests) Whether it's a bug fix or a new feature development, please submit a PR to the dev branch PR and commit name follow the principle of (): , for details, please refer to Commit message and Change log writing guide If a PR includes new features, documentation updates should be included in this PR If the PR is not ready to be merged, prefix the name with [WIP] (WIP = work-in-progress) All commits to dev-* branches need to be reviewed at least once before they can be merged","s":"2.4 Pull Request (PR) submission guidelines","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#24-pull-request-pr-submission-guidelines","p":295},{"i":318,"t":"Before contributing code, find out what kind of commits are welcome in Review. Simply put, if a commit brings as much gain as possible with as few side effects or risks as possible, the more likely it will be merged and the faster it will be reviewed. Commits with high risk and low value are almost impossible to be merged, and may be rejected for Review. 2.5.1 Gains​ Fix the main cause of the bug Add or fix a feature or bug that was requested by a large number of users simple and effective Easy to test, with test cases Reduce complexity and code size Issues identified for improvement discussed by the community 2.5.2 Side Effects and Risks​ only fix the surface of the bug Introducing new features with high complexity Adding complexity to meet niche needs Changes to stable existing APIs or semantics Cause other functions not to work properly Add a lot of dependencies Feel free to change dependency versions Commit a lot of code or changes at once 2.5.3 Reviewer Notes​ Please write comments in a constructive tone If the submitter needs to make changes, please clearly state all the changes that need to be made to complete this Pull Request If a PR is found to have brought new problems after merging, Reviewer needs to contact the PR author and communicate to solve the problem; if the PR author cannot be contacted, Reviewer needs to restore the PR","s":"2.5 Review Criteria","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#25-review-criteria","p":295},{"i":321,"t":"3.1.1 How to become a Committer​ If you have submitted a valuable PR to SolidUI and it has been merged, or have contributed continuously for more than half a year, and have led at least one version release, you can find a PMC of the SolidUI project through the official WeChat group, if he is willing to nominate you as a committer , and are willing to state your contribution to all PMCs and Committers for you, then a vote will be launched; PMC and other Committers will vote together to decide whether to allow you to join, if you get enough votes, you will become a Committer of the SolidUI project . 3.1.2 Committer's rights​ You can join the official developer WeChat group to participate in discussions and formulate SolidUI development plans Can manage Issues, including closing and adding tags Can create and manage project branches, except dev branch Ability to review PRs submitted to the dev branch Can apply to become a Committee member","s":"3.1 About Committers (Collaborators)","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#31-about-committers-collaborators","p":295},{"i":323,"t":"3.2.1 How to become a Committee member​ If you are a Committer of the SolidUI project, and all the content you contributed has been recognized by other Committee members, you can apply to become a member of the SolidUI Committee, and other Committee members will vote together to decide whether to allow you to join. If all votes pass, you will Become a SolidUI Committee member. 3.2.2 Rights of Committee members​ Ability to merge PRs submitted by other Committers and contributors to the dev branch Participate in determining the roadmap and development direction of the SolidUI project Can participate in new version releases","s":"3.2 About the Committee","u":"/SolidUI-Website/docs/development/develop-contributing","h":"#32-about-the-committee","p":295},{"i":325,"t":"https://linkis.apache.org/zh-CN/docs/latest/development/development-specification/commit-message","s":"SolidUI Commit Message","u":"/SolidUI-Website/docs/development/development-commit","h":"","p":324},{"i":327,"t":"A good commit message can help other developers (or future developers) quickly understand the context of related changes, and also help project managers determine whether the commit is suitable for inclusion in a release. However, after reviewing the commit logs of many open-source projects, we found an interesting problem: some developers have good code quality, but their commit messages are messy. When other contributors or learners view the code, they cannot intuitively understand the purpose of the changes before and after the commit. As Peter Hutterer said: Re-establishing the context of a piece of code is wasteful. We can't avoid it completely, so our efforts should go to reducing it as much as possible. Commit messages can do exactly that and as a result, a commit message shows whether a developer is a good collaborator. Therefore, SolidUI has established this convention in combination with other communities and official Apache documentation.","s":"1. Introduction","u":"/SolidUI-Website/docs/development/development-commit","h":"#1-introduction","p":324},{"i":330,"t":"Commit messages should clearly state the problems being addressed (bug fixes, feature enhancements, etc.) to help users and developers better track issues and clarify the optimization process during version iterations.","s":"2.1 Clarify Changes","u":"/SolidUI-Website/docs/development/development-commit","h":"#21-clarify-changes","p":324},{"i":332,"t":"When our changes are large, it's best to associate the commit message with related Issues or Pull Requests on GitHub. This way, our developers can quickly understand the context of the code changes through the associated information when reviewing the code. If the current commit is for a specific issue, it can be closed in the Footer section.","s":"2.2 Associate with Relevant Pull Requests or Issues","u":"/SolidUI-Website/docs/development/development-commit","h":"#22-associate-with-relevant-pull-requests-or-issues","p":324},{"i":334,"t":"Formatted commit messages can help us provide more historical information, facilitate quick browsing, and generate Change Logs directly from commits. Commit messages should include three parts: Header, Body, and Footer. The Header is required, while the Body and Footer are optional. Header​ The Header section consists of a single line and includes three fields: type (required), scope (optional), and subject (required). [DS-ISSUE number][type] subject (1) Type is used to indicate the category of the commit, and only the following seven identifiers are allowed: feat: New feature fix: Bug fix docs: Documentation style: Formatting changes (that do not affect code execution) refactor: Refactoring (code changes that neither add features nor fix bugs) test: Adding tests chore: Changes to the build process or auxiliary tools If the type is 'feat' or 'fix', the commit will definitely appear in the Change Log. For other cases (docs, chore, style, refactor, test), it is recommended not to include them. (2) Scope Scope is used to indicate the affected range of the commit, such as server, remote, etc. If there is no more suitable scope, you can use an asterisk (*). (3) Subject Subject is a brief description of the purpose of the commit, not exceeding 50 characters. Body​ The Body section is a detailed description of the commit, which can be divided into multiple lines. Line breaks will occur every 72 characters to avoid automatic line breaks affecting aesthetics. The Body section should pay attention to the following points: Use the verb-object structure and the present tense, e.g., use 'change' instead of 'changed' or 'changes' Do not capitalize the first letter Do not end the sentence with a period (.) Footer​ Footer is only applicable in two situations: (1) Incompatible Changes If the current code is incompatible with the previous version, the Footer section should start with BREAKING CHANGE, followed by a description of the changes, the reasons for the changes, and the migration methods. (2) Closing Issues If the current commit is for a specific issue, it can be closed in the Footer section. Multiple issues can be closed at once. Example​ [SolidUI-001][docs-en] add commit message commit message RIP build some conventions help the commit messages become clean and tidy help developers and release managers better track issues and clarify the optimization in the version iteration This closes #001","s":"2.3 Unified Format","u":"/SolidUI-Website/docs/development/development-commit","h":"#23-unified-format","p":324},{"i":336,"t":"Commit Message Format On Commit Messages RocketMQ Community Operation Convention","s":"3. Reference Documents","u":"/SolidUI-Website/docs/development/development-commit","h":"#3-reference-documents","p":324},{"i":339,"t":"Create issues -- Contributors (lead version) Submit PR -- Contributor (lead version) code review -- PMC member PR merge -- PMC member PR commit to the master branch -- Contributor (master version) Submit relevant documents to SolidUI-Website (installation and deployment documents, user usage documents, architecture design documents) Submit PR -- Contributor (lead version) SolidUI-Website code review -- PMC member SolidUI-Website PR merge -- PMC member SolidUI-Website PR commit to the master branch -- Contributor (lead version) Package & Install deployment tests based on the master branch -- Contributors (lead version)/testers Invite community users for private testing -- operators /PMC members Prepare to Release Notes -- Contributor (lead version) Official release -- Contributor (lead release) Prepare advertorials -- Contributors (lead version) Release publicity on the public account -- operator /PMC member MeetUp promotional version features -- operator /PMC member","s":"Process list","u":"/SolidUI-Website/docs/development/development-construction","h":"#process-list","p":337},{"i":342,"t":"Docker 1.13.1+ Method 1: Download the address from the official website: https://github.com/CloudOrc/SolidUI/releases, and download the corresponding installation package (overall installation package). Method 2: Compile the project installation package according to SolidUI.","s":"1. Prerequisites","u":"/SolidUI-Website/docs/development/development-docker","h":"#1-prerequisites","p":340},{"i":345,"t":"tar -zxvf solidui-x.x.x-bin.tar.gz cd solidui-x.x.x-bin/entrance-server docker build -f ./docker/Dockerfile -t solidui-entrance:x.x.x .","s":"2.1 Building server-side image build-entrance-server","u":"/SolidUI-Website/docs/development/development-docker","h":"#21-building-server-side-image-build-entrance-server","p":340},{"i":347,"t":"tar -zxvf solidui-x.x.x-bin.tar.gz cd solidui-x.x.x-bin # update .env vi soliduimodelui/.env SNAKEMQ_LISTENER=0.0.0.0 SNAKEMQ_CONNECTOR=soliduimodelui docker build -f ./soliduimodelui/docker/Dockerfile -t soliduimodelui:x.x.x .","s":"2.2 Server-side image build-soliduimodelui (after version 0.2.0)","u":"/SolidUI-Website/docs/development/development-docker","h":"#22-server-side-image-build-soliduimodelui-after-version-020","p":340},{"i":349,"t":"tar -zxvf solidui-x.x.x-bin.tar.gz cd solidui-x.x.x-bin/solidui-web docker build -f ./docker/Dockerfile -t solidui-web:x.x.x .","s":"2.3 Building front-end image","u":"/SolidUI-Website/docs/development/development-docker","h":"#23-building-front-end-image","p":340},{"i":353,"t":"This step is only required for the first use, if you already have a node environment, you can skip it Download Node.js locally and install it. Download address: http://nodejs.cn/download/ (It is recommended to use node v16 version)","s":"1.1 Install Node.js","u":"/SolidUI-Website/docs/development/development-front","h":"#11-install-nodejs","p":350},{"i":355,"t":"Method 1: Obtain the source code of the project from the github repository https://github.com/CloudOrc/SolidUI. Method 2: Download and download the source package of the required version from https://github.com/CloudOrc/SolidUI/releases.","s":"1.2 Source code acquisition","u":"/SolidUI-Website/docs/development/development-front","h":"#12-source-code-acquisition","p":350},{"i":358,"t":"Execute the following command on the terminal command line: #Enter the project WEB root directory cd solidui-x.x.x/solidui-web #Install the dependencies required by the project npm install --legacy-peer-deps This step is only required for the first use.","s":"2.1 Install npm dependencies","u":"/SolidUI-Website/docs/development/development-front","h":"#21-install-npm-dependencies","p":350},{"i":360,"t":"Execute the following command on the terminal command line: npm run build After the above command is executed successfully, the installation package dist of the front-end management console will be generated. You can directly put this folder into your static server, or refer to the installation documentation to use scripts for deployment and installation.","s":"2.2. Package project","u":"/SolidUI-Website/docs/development/development-front","h":"#22-package-project","p":350},{"i":364,"t":"Now it is the PMC member who initiates the release process and has the release rights.","s":"Authorization","u":"/SolidUI-Website/docs/development/development-release","h":"#authorization","p":361},{"i":367,"t":"Pull the new branch from the release branch as the release branch. If you want to release ${release_version}, pull the new branch release-${release_version}-${condition_version} from the release branch, All operations thereafter occur on the release-${release_version}-${condition_version} branch.","s":"branch","u":"/SolidUI-Website/docs/development/development-release","h":"#branch","p":361},{"i":369,"t":"If the currently developed source branch is dev-0.1.0, and you need to release version 0.1.0, create a branch: release-0.1.0-rc1","s":"Create a release-${release_version}-rcx branch based on the development branch to be released","u":"/SolidUI-Website/docs/development/development-release","h":"#create-a-release-release_version-rcx-branch-based-on-the-development-branch-to-be-released","p":361},{"i":371,"t":"git tag -a release-0.1.0-rc1 -m \"release 0.1.0-rc1\" git push origin release-0.1.0-rc1","s":"tag","u":"/SolidUI-Website/docs/development/development-release","h":"#tag","p":361},{"i":373,"t":"#-b release-0.1.0-rc1 Specifies the clone branch -c(config) specifies the configuration core to use. Lf =false turns off the newline conversion Git clone - release - 0.1.0 from b - rc1 - c core. Autocrlf = false git@github.com: CloudOrc/SolidUI git","s":"clone the corresponding release branches locally","u":"/SolidUI-Website/docs/development/development-release","h":"#clone-the-corresponding-release-branches-locally","p":361},{"i":376,"t":"It is best to verify the prepared materials on both Windows and UNIx-like systems to avoid system compatibility issues such as line breaks","s":"Verify material package","u":"/SolidUI-Website/docs/development/development-release","h":"#verify-material-package","p":361},{"i":379,"t":"When an issue initiates a vote, the PMC needs to check whether the version is correct according to the document before voting. At least 3 +1 PMC member votes can be counted before the voting is closed.","s":"Community voting phase","u":"/SolidUI-Website/docs/development/development-release","h":"#community-voting-phase","p":361},{"i":381,"t":"If the required number of votes has been reached and you need to reply to the voting email before collecting the results, the voting thread is closed.","s":"Close the voting thread","u":"/SolidUI-Website/docs/development/development-release","h":"#close-the-voting-thread","p":361},{"i":383,"t":"If there are some serious problems that need to be repaired and re-released, the voting needs to be cancelled. The release manager needs to start a new issue of voting cancellation and explain it.","s":"Cancel the vote (if necessary)","u":"/SolidUI-Website/docs/development/development-release","h":"#cancel-the-vote-if-necessary","p":361},{"i":385,"t":"issue the results","s":"Announce the results of the vote","u":"/SolidUI-Website/docs/development/development-release","h":"#announce-the-results-of-the-vote","p":361},{"i":388,"t":"To create the page https://github.com/CloudOrc/SolidUI/releases/new based on previous SolidUI 0.1.0 from - rc1 branch created called 0.1.0 from the tag, Fill in the title SolidUI release-0.1.0 and write release notes for that version check Merge ${release_version}-RC branch to master branch (if not merged)","s":"GitHub version created","u":"/SolidUI-Website/docs/development/development-release","h":"#github-version-created","p":361},{"i":392,"t":"Compilation environment requirements: Must be JDK8 or above, both Oracle/Sun and OpenJDK are supported. Install Maven environment yourself, version 3.5.4 or above is recommended. Or you can directly use the maven-wrapper in the source code.","s":"1.1 Environmental requirements","u":"/SolidUI-Website/docs/development/development-server","h":"#11-environmental-requirements","p":389},{"i":394,"t":"Method 1: Obtain the source code of the project from the github repository https://github.com/CloudOrc/SolidUI. Method 2: Download and download the source package of the required version from https://github.com/CloudOrc/SolidUI/releases.","s":"1.2 Get the source code","u":"/SolidUI-Website/docs/development/development-server","h":"#12-get-the-source-code","p":389},{"i":396,"t":"cd solidui-x.x.x-src # Compile mvn clean -N install mvn clean install -Dmaven.test.skip=true","s":"2. Server-side compilation","u":"/SolidUI-Website/docs/development/development-server","h":"#2-server-side-compilation","p":389},{"i":398,"t":"cd solidui-x.x.x-src # Compile mvn clean -N install mvn clean install -Dmaven.test.skip=true -Prelease","s":"3. Full compilation (server side and front end)","u":"/SolidUI-Website/docs/development/development-server","h":"#3-full-compilation-server-side-and-front-end","p":389},{"i":401,"t":"First of all, users should refer to the official account and SolidUI official website for relevant information. These two platforms may already contain the answers or related solutions that users need. This step can effectively save the user's time and reduce the work pressure of the development team. Community official website: https://cloudorc.github.io/SolidUI-Website/ However, if this step does not meet the user's needs, we enter the second stage: let the user submit an issue. At this stage, users can clearly describe the problems or requirements they encounter, and submit them to the project's issue tracking system. This not only helps the development team better understand the problem, but also serves as a reference for other users who encounter the same problem. Issue address: https://github.com/CloudOrc/SolidUI/issues","s":"Question answering process","u":"/SolidUI-Website/docs/faq/faq/","h":"#question-answering-process","p":399},{"i":403,"t":"Overall, this Q&A process is an approach aimed at increasing efficiency and transparency. Not only does it help users find answers, but it also helps project teams better manage and track issues. Users can solve problems by themselves through official accounts and official website information; and through issue submission, users and the development team can communicate better and jointly promote the progress of the project.","s":"epilogue","u":"/SolidUI-Website/docs/faq/faq/","h":"#epilogue","p":399},{"i":405,"t":"AI-generated Graphic Models.","s":"Introduce","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":407,"t":"Minimalist process, concise design Various 2D legends Various 3D legends Various 3D scenes Support multiple data sources Support Huggingface space Support plug-in robot Support SolidUI-Model Support Large Language Model Containerized deployment","s":"Core Features","u":"/SolidUI-Website/docs/intro","h":"#core-features","p":404},{"i":409,"t":"quick-start","s":"QuickStart","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":411,"t":"With the rise of language models for generating images from text, SolidUI wants to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, so as to quickly construct 3D data presentation scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of Vincent diagram. By building a self-developed Wensheng graph language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graph generation.","s":"What's this?","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":413,"t":"SolidUI's Vincent graph language model is a deep learning model that can convert natural language descriptions input by users into specific graphical representations. This model is trained on a large amount of text and graphics data, and learns the mapping relationship from text to graphics. To achieve this goal, SolidUI's self-developed Vincent graph language model has the following characteristics: Combining NLP and computer graphics to realize the process from text description to graphic generation Can handle various types of graphics, such as 2D, 3D and scenes, etc. The model training process involves a large amount of text and graphics data to ensure the quality and accuracy of the generated graphics","s":"Self-developed Wensheng graph language model","u":"/SolidUI-Website/docs/intro","h":"#self-developed-wensheng-graph-language-model","p":404},{"i":415,"t":"SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to optimize the performance of the Vincent graph language model. The process leverages human feedback to guide the model's learning process, enabling the model to better meet user needs. The main steps of the RLHF process include: Collect Feedback: Users rate the generated graphs, providing feedback on the quality and accuracy of the graphs. Updating the model: Based on the feedback collected, the model is updated using reinforcement learning algorithms to improve the quality and accuracy of the generated graphics. Iterative optimization: The process of collecting feedback and updating the model is repeated until the model performance reaches a satisfactory level. Through this process, SolidUI's Vincent graph language model is able to continuously learn and improve from user feedback, producing graphics of higher quality and accuracy.","s":"RLHF process","u":"/SolidUI-Website/docs/intro","h":"#rlhf-process","p":404},{"i":417,"t":"For a complete list of documentation for SolidUI v0.1.0, see SolidUI-Website","s":"Document","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":419,"t":"We welcome and look forward to more contributors participating in building SolidUI, whether it is code, documentation, or other forms of contribution that can help the community.","s":"Contribute","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":421,"t":"For any questions and suggestions about SolidUI, you can submit an issue for tracking, processing and experience sharing twitter youtube bilibili (in Chinese) discord","s":"Contact US","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":423,"t":"We created an issue [Who is Using SolidUI] for user feedback and documentation of who is using SolidUI.","s":"Who is using SolidUI","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":425,"t":"Thanks to everyone who contributed PR~ 🎉🎉🎉","s":"Contributors","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":427,"t":"We are very grateful for your support and recognition of our project and development work. In open source software development, we deeply know that user and community feedback and support are crucial. Our project has provided a README and Issue system to facilitate user deployment and problem solving, while also helping to increase project activity. We will prioritize issues raised in the issues. If you are interested in the community, welcome to participate (code, documentation, use), welcome to participate in any form. If you feel that the SolidUI project is valuable to you and are willing to support our development work, please give the project a little star or sponsor us.","s":"Thanks And Support","u":"/SolidUI-Website/docs/intro","h":"","p":404},{"i":431,"t":"These terms aim to provide a friendly, relaxed, and mutually beneficial environment for all members participating in community co-building.","s":"Open Source Community Co-building Terms","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#open-source-community-co-building-terms","p":428},{"i":433,"t":"Share valuable technical articles, tutorials, case studies, etc., in your community, allowing members to understand and learn related technologies. Regularly publish community news and progress, keeping members informed about the latest developments in the co-building community.","s":"Share Valuable Content","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#share-valuable-content","p":428},{"i":435,"t":"Organize online or offline Meetups, workshops, technical salons, and other activities, inviting members to participate. Engage in technical exchanges and discussions during events to enhance understanding and collaboration among members.","s":"Organize Online or Offline Events","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#organize-online-or-offline-events","p":428},{"i":437,"t":"Encourage members to interact and communicate within the community, asking questions, answering questions, and sharing experiences. Set up dedicated discussion areas within the community, making it easy for members to discuss co-building topics and technical issues.","s":"Interaction and Communication","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#interaction-and-communication","p":428},{"i":439,"t":"Collaborate with other communities to jointly organize events, share resources, and exchange technical experiences. Encourage members to participate in co-building projects, jointly creating open source software and technical solutions.","s":"Cooperation and Co-creation","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#cooperation-and-co-creation","p":428},{"i":441,"t":"When trying out new features and environments, prioritize notifying co-building community members and invite them to test and provide feedback together. Share valuable resources within the co-building community, enabling other members to better understand and learn related technologies.","s":"Trial Environment and Resource Sharing","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#trial-environment-and-resource-sharing","p":428},{"i":443,"t":"When a co-building community member raises an issue, prioritize addressing and resolving it. Actively communicate with co-building community members during the issue resolution process to ensure the issue is properly handled.","s":"Prioritize Resolving Co-building Issues","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#prioritize-resolving-co-building-issues","p":428},{"i":445,"t":"Respect others, actively participate in community building, and maintain a positive community atmosphere. Abide by the community's code of conduct, abstaining from participating in or condoning any form of discrimination, harassment, or improper behavior. We hope that these terms provide clear guidance for community co-building, allowing everyone to jointly operate the community effectively. Thank you for your support and participation!","s":"Adhere to the Code of Conduct","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#adhere-to-the-code-of-conduct","p":428},{"i":447,"t":"Ruan YiFeng document-style-guide","s":"Chinese document writing standards","u":"/SolidUI-Website/docs/operational/community-operation/","h":"#chinese-document-writing-standards","p":428},{"i":450,"t":"Test Scenario Input Expected Output Correct username and password Correct username and password Successful login Incorrect username and password Incorrect username and password Login fails with error message Empty username and password Empty username and password Login fails with error message","s":"Log in","u":"/SolidUI-Website/docs/test/test-case/","h":"#log-in","p":448},{"i":452,"t":"Test Scenario Input Expected Output Display data None Display all data sources, including serial number, data source name, data source type, user, description information and operation buttons Add MySQL data source Data source name, data source driver, URL, user name, password, remarks After adding successfully, you can see the new MySQL data source in the data source list Add Doris data source Data source name, data source driver, URL, user name, password, remarks After adding successfully, you can see the new Doris data source in the data source list Edit data source The name of the data source to be edited, the new data source driver, URL, user name, password, note After editing successfully, you can see the edited data source information in the data source list Delete a data source in a single line The name of the data source to be deleted After the deletion is successful, the data source will no longer be displayed in the data source list Add data source, the name is empty Empty string Failed to add, and an error message is prompted Add MySQL data source, URL/user/password is empty Data source name, data source driver, URL, empty string, password, remark Failed to add, and an error message is displayed Add Doris data source, URL/user/password is empty Data source name, data source driver, URL, empty string, password, note Failed to add, and an error message is displayed Edit data source, the name/URL/user/password is empty The name/URL/user/password that does not exist is empty Editing fails and an error message is prompted Data Source Expired Single Row Select Data Source Expired Success","s":"Data Source Management","u":"/SolidUI-Website/docs/test/test-case/","h":"#data-source-management","p":448},{"i":454,"t":"Test Scenario Input Expected Output Add project Project name, project description, project URL After adding successfully, you can see the new project information in the project list Query Item List Item Name Output Item List Edit project name Project name After editing successfully, you can see the edited project information in the project list Delete Item The name of the item to be deleted After successful deletion, the item will no longer appear in the item list Add item with empty name Empty string Failed to add with an error message Add an item, the description is empty Empty string After adding successfully, you can see the new item information in the item list, but the description information is empty Edit item, name does not exist Empty string Editing fails with error message","s":"Project Management","u":"/SolidUI-Website/docs/test/test-case/","h":"#project-management","p":448},{"i":456,"t":"ID Test Scenario Input Expected Output 1 Create scene Scene name: \"Test scene 1\" The new scene is created successfully, and \"Test scene 1\" is displayed in the scene list 2 Create Page Scenario: \"Test Scenario 1\", Page Name: \"Test Page 1\" The new page is created successfully, and \"Test Page 1\" is displayed in the page list under scenario \"Test Scenario 1\" 3 Add column chart legend Scene: \"Test scene 1\", Page: \"Test page 1\", Legend name: \"Column chart 1\" The legend is created successfully, and \"Column chart\" is displayed in \"Test page 1\" 1\" 4 Open the data selection sliding window Scene: \"Test Scene 1\", Page: \"Test Page 1\", Legend: \"Column Chart 1\" The data selection sliding window opens successfully, showing the data source type, data source and SQL input box 5 Select data source type Data source type: \"Database\" The data source type is selected successfully, and the data source options related to the database are displayed 6 Select data source Data source: \"MySQL database 1\" The data source is selected successfully, you can enter the SQL query statement 7 Enter the SQL query statement SQL: \"SELECT category, value FROM sample_data\" The SQL query statement is entered successfully, and bar chart 1 shows the data returned by the SQL query 8 Save Page Scene: \"Test Scene 1\", Page: \"Test Page 1\" Page saved successfully, including legend and associated data settings 9 Preview Scenario Scenario: \"Test Scenario 1\" The preview is successful, you can preview in the order of the scene and page 10 Edit scene name Original scene name: \"Test scene 1\", New scene name: \"Test scene 1-Modify\" The scene name is modified successfully, and \"Test scene 1-Modify\" is displayed in the scene list 11 Delete scene Scene name: \"Test scene 1-Modify\" The scene is deleted successfully, and \"Test scene 1-Modify\" is no longer displayed in the scene list 12 Edit Page Name Scenario: \"Test Scenario 1\", Original Page Name: \"Test Page 1\", New Page Name: \"Test Page 1-Modify\" The page name is modified successfully. \"Test Page 1-Modified\" is displayed in the page list 13 Delete Page Scenario: \"Test Scenario 1\", Page Name: \"Test Page 1-Modify\" The page is deleted successfully, and \"Test Page 1-Modify\" is no longer displayed in the page list under the scenario \"Test Scenario 1\" 14 Edit Legend Name Scene: \"Test Scene 1\", Page: \"Test Page 1\", Original Legend Name: \"Column Chart 1\", New Legend Name: \"Column Chart 1-Modify\" Legend Name Modification Success, \"Column Chart 1-Modified\" is displayed in \"Test Page 1\" 15 Delete Legend Scene: \"Test Scene 1\", Page: \"Test Page 1\", Legend Name: \"Column Chart 1-Modify\" The legend is deleted successfully, and \"Column Chart\" is no longer displayed in \"Test Page 1\" Figure 1 - Modification\" 16 Edit SQL query statement Scenario: \"Test Scenario 1\", Page: \"Test Page 1\", Legend: \"Column Chart 1\", New SQL: \"SELECT category, value * 2 AS double_value FROM sample_data\" SQL The query statement is modified successfully, and column chart 1 shows the data returned by the new SQL query 17 Undo Legend Editing Scene: \"Test Scene 1\", Page: \"Test Page 1\", Legend: \"Column Chart 1\" Undo is successful, and the legend returns to the state before editing","s":"Design","u":"/SolidUI-Website/docs/test/test-case/","h":"#design","p":448},{"i":458,"t":"ID Test Scenario Input Expected Output 1 Open test page Scene: \"test scene 1\", Page: \"test page 1\" Display the test page 2 Open ModelUI slider Scene: \"test scene 1\", Page: \"test page 1\", select a model from the dropdown box Display the ModelUI window on the right side of the page, showing the selected model 3 Draw a 2D graph In the ModelUI session panel, input the equation \"3x^2 + 4x - 5 = 0\" to draw the graph Draw the graph of the equation \"3x^2 + 4x - 5 = 0\" on the coordinate plane","s":"ModelUI","u":"/SolidUI-Website/docs/test/test-case/","h":"#modelui","p":448},{"i":461,"t":"For quick experience Want to start with Standalone Want to start with Docker Want to start with DemoEnvironment","s":"Start","u":"/SolidUI-Website/docs/user-guide/quick-start","h":"#start","p":459},{"i":463,"t":"Default username and password: admin/admin","s":"Accessing Services","u":"/SolidUI-Website/docs/user-guide/quick-start","h":"#accessing-services","p":459}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/2",[0,3.637,1,3.09,2,4.247,3,3.574,4,3.09,5,3.984,6,3.764,7,3.09,8,1.149,9,3.09,10,3.09,11,3.09,12,4.247,13,4.247,14,3.984,15,3.09,16,2.738,17,2.479,18,2.32,19,3.061,20,3.984,21,3.09,22,3.09,23,3.09,24,2.738,25,3.09,26,2.738,27,3.09,28,2.738,29,3.09,30,2.6,31,3.09,32,2.899,33,2.479,34,3.09,35,3.09,36,3.09,37,3.764,38,4.247,39,4.247,40,4.247,41,2.899,42,2.102,43,3.09,44,3.09,45,2.479,46,2.479,47,2.32,48,2.479,49,2.227,50,3.09,51,2.6,52,2.899,53,3.09,54,1.378,55,1.567,56,1.59,57,1.689]],["t/4",[1,3.107,2,4.263,3,3.587,4,3.107,5,4,6,3.778,7,3.107,8,1.152,9,3.107,10,3.107,11,3.107,12,4.263,13,4.263,14,4,15,3.107,16,2.754,17,2.492,18,2.333,19,3.072,20,4,21,3.107,22,3.107,23,3.107,24,2.754,25,3.107,26,2.754,27,3.107,28,2.754,29,3.107,30,2.614,31,3.107,32,2.915,33,2.492,34,3.107,35,3.107,36,3.107,37,3.778,38,4.263,39,4.263,40,4.263,41,2.915,42,2.113,43,3.107,44,3.107,45,2.492,46,2.492,47,2.333,48,2.492,49,2.239,50,3.107,51,2.614,52,2.915,53,3.107,54,1.386,55,1.575,56,1.599,57,1.698]],["t/6",[3,3.919,8,1.025,58,6.673,59,6.205,60,6.673,61,6.673,62,5.015,63,7.916,64,6.673,65,6.673,66,6.673]],["t/8",[0,5.062,3,3.618,42,2.925,52,4.034,59,5.913,67,6.161,68,5.342,69,6.161,70,5.062,71,6.161,72,6.161,73,6.161,74,7.543,75,5.342,76,6.161,77,6.161,78,6.161,79,6.161,80,6.161,81,5.342,82,6.161]],["t/10",[75,4.79,81,4.79,83,7.047,84,6.11,85,6.728,86,5.524,87,5.524,88,5.524,89,7.047,90,5.524,91,5.524,92,5.524,93,5.524,94,5.524,95,7.047,96,5.524,97,5.524,98,5.524,99,7.047,100,5.524,101,5.524,102,5.524,103,6.11,104,5.524,105,5.524,106,4.79,107,3.513,108,5.524,109,4.79,110,5.524]],["t/12",[3,3.29,14,3.668,111,4.857,112,6.164,113,7.109,114,4.857,115,5.601,116,7.109,117,6.771,118,5.601,119,5.601,120,5.601,121,7.109,122,5.601,123,5.601,124,4.051,125,5.601,126,5.601,127,5.601,128,4.391,129,4.857,130,5.601,131,5.601,132,5.601,133,4.857,134,4.603,135,4.857,136,5.601,137,4.051,138,5.601]],["t/14",[41,4.599,112,6.09,114,6.09,139,7.024,140,7.024,141,6.09,142,4.744]],["t/16",[17,2.116,24,2.338,30,2.22,42,1.795,51,2.22,103,3.278,106,3.278,142,4.715,143,5.8,144,3.278,145,7.915,146,3.78,147,5.8,148,3.278,149,4.268,150,3.78,151,5.049,152,3.28,153,5.002,154,6.381,155,3.748,156,6.381,157,6.381,158,6.381,159,4.706,160,5.002,161,3.659,162,4.721,163,5.002,164,2.963,165,3.78,166,5.002,167,3.278,168,2.734,169,3.278,170,5.445,171,3.78,172,2.069,173,3.78]],["t/18",[28,5.642,42,3.014,51,2.768,142,5.417,143,4.977,149,4.977,151,4.592,153,5.629,155,2.768,159,4.886,160,4.977,161,3.763,163,5.629,164,3.694,166,5.629,167,4.086,168,3.408,169,4.086,174,7.683,175,4.713,176,5.505,177,4.713,178,4.713,179,4.086]],["t/20",[17,1.968,20,4.92,24,4.173,68,6.231,107,2.236,141,3.048,143,4.798,145,6.908,148,5.85,151,3.735,152,2.118,153,4.798,159,2.236,160,5.288,161,1.842,163,2.756,164,4.048,166,4.048,172,1.924,176,5.85,179,4.478,180,5.164,181,5.164,182,5.164,183,7.187,184,5.164,185,3.515,186,4.478,187,3.515,188,3.515,189,6.121,190,7.514,191,6.121,192,6.121,193,5.543,194,3.515,195,4.478,196,3.515,197,2.542,198,3.515,199,3.515,200,1.282,201,6.121,202,3.515,203,3.515,204,3.515,205,3.048,206,3.515,207,5.164,208,5.164,209,3.515,210,3.515,211,3.515,212,2.542,213,3.515,214,3.515,215,3.515]],["t/22",[0,3.447,1,2.929,2,4.092,3,3.443,4,2.929,5,3.839,6,3.626,7,2.929,8,1.182,9,2.929,10,2.929,11,2.929,12,4.092,13,4.092,14,3.839,15,2.929,16,2.595,17,2.349,18,2.199,19,2.949,20,3.839,21,2.929,22,2.929,23,2.929,24,2.595,25,2.929,26,2.595,27,2.929,28,4.18,29,2.929,30,2.464,31,2.929,32,2.747,33,2.349,34,2.929,35,2.929,36,2.929,37,3.626,38,4.092,39,4.092,40,4.092,41,2.747,42,1.992,43,2.929,44,2.929,45,2.349,46,2.349,47,2.199,48,2.349,49,2.11,50,2.929,51,2.464,52,2.747,53,2.929,54,1.825,55,1.485,56,2.106,57,2.237,216,3.959,217,3.289,218,2.668]],["t/24",[1,2.944,2,4.107,3,3.456,4,2.944,5,3.853,6,3.64,7,2.944,8,1.184,9,2.944,10,2.944,11,2.944,12,4.107,13,4.107,14,3.853,15,2.944,16,2.609,17,2.361,18,2.21,19,2.96,20,3.853,21,2.944,22,2.944,23,2.944,24,2.609,25,2.944,26,2.609,27,2.944,28,4.192,29,2.944,30,2.477,31,2.944,32,2.762,33,2.361,34,2.944,35,2.944,36,2.944,37,3.64,38,4.107,39,4.107,40,4.107,41,2.762,42,2.002,43,2.944,44,2.944,45,2.361,46,2.361,47,2.21,48,2.361,49,2.122,50,2.944,51,2.477,52,2.762,53,2.944,54,1.832,55,1.493,56,2.113,57,2.245,216,3.974,217,3.306,218,2.682]],["t/26",[6,3.097,8,0.769,26,3.097,37,3.097,161,2.624,197,3.621,205,4.341,212,3.621,219,3.701,220,4.341,221,4.341,222,5.732,223,4.341,224,4.341,225,6.611,226,5.007,227,3.495,228,5.007,229,3.925,230,5.007,231,4.341,232,4.341,233,3.184,234,4.341,235,3.621,236,3.621,237,4.051,238,3.925,239,3.925,240,3.925,241,2.57,242,3.621,243,3.184,244,6.611,245,4.341,246,5.007,247,5.007,248,4.341,249,5.007,250,5.007,251,3.925,252,5.007,253,3.925,254,5.007,255,3.184,256,3.925,257,3.925]],["t/29",[5,3.565,6,3.947,8,0.58,28,2.338,30,2.22,32,2.475,37,3.368,85,3.278,107,2.404,124,5.049,133,3.278,137,4.615,159,4.058,161,2.853,219,3.909,220,3.278,221,6.053,222,3.278,223,3.278,224,3.278,227,4.873,231,3.278,232,3.278,233,2.404,234,3.278,237,2.069,255,2.404,258,3.78,259,3.78,260,3.78,261,5.445,262,3.278,263,3.78,264,2.963,265,3.78,266,3.78,267,7.399,268,5.445,269,5.445,270,3.78,271,3.78,272,5.445,273,2.963,274,3.78,275,3.78,276,3.78,277,3.78,278,5.445,279,4.721,280,3.278,281,3.78,282,3.78,283,3.78,284,3.78,285,3.78,286,2.963,287,3.78,288,3.78,289,3.78,290,5.445,291,3.78,292,3.78,293,3.78,294,3.78,295,3.78,296,5.445,297,3.278,298,3.493,299,2.404,300,2.963,301,2.338,302,3.106]],["t/31",[200,1.013,219,4.437,227,3.016,240,3.811,241,2.911,303,4.321,304,7.294,305,4.852,306,6.483,307,4.896,308,2.777,309,3.016,310,3.247,311,5.313,312,2.777,313,2.087,314,2.777,315,3.397,316,2.777,317,2.445,318,2.777,319,7.165,320,2.777,321,2.777,322,5.303,323,6.483,324,5.303,325,4.598,326,5.303,327,2.777,328,4.321,329,4.321,330,2.777,331,2.408,332,3.959,333,2.408,334,1.405,335,2.903,336,4.321,337,3.646,338,3.016,339,4.321,340,3.016,341,3.387,342,3.646,343,3.646,344,1.62,345,4.321,346,5.303,347,2.777,348,4.321,349,2.777,350,1.271,351,2.777,352,2.777,353,2.777,354,1.631,355,1.27,356,1.718,357,1.405,358,2.777,359,2.566,360,2.858,361,2.777,362,2.282,363,2.777,364,2.177,365,2.282,366,3.646,367,2.777,368,2.264,369,1.405,370,1.061,371,1.061,372,1.62,373,1.002,374,2.282,375,0.867,376,1.62,377,1.405,378,4.321,379,2.365,380,3.811,381,1.497,382,0.769,383,1.331,384,2.777,385,1.62,386,1.094,387,1.62,388,1.331,389,1.62,390,1.249,391,2.265,392,1.061,393,3.646,394,0.728,395,3.161,396,1.061]],["t/33",[26,3.461,30,2.71,59,4.907,84,2.623,111,2.623,135,2.623,144,2.623,149,3.617,151,4.046,161,3.281,172,1.656,186,4.851,216,4.228,219,4.136,235,2.188,237,1.656,240,2.371,241,3.646,245,2.623,248,2.623,305,4.838,332,5.448,333,6.406,334,4.851,335,3.689,368,3.505,369,4.001,370,3.022,395,2.623,397,3.025,398,3.025,399,2.623,400,4.001,401,2.371,402,2.584,403,2.188,404,2.371,405,2.623,406,5.595,407,4.386,408,5.595,409,3.025,410,3.025,411,3.025,412,3.025,413,2.371,414,5.595,415,5.427,416,2.371,417,4.615,418,3.025,419,4.615,420,3.025,421,6.26,422,3.025,423,3.025,424,5.792,425,3.025,426,3.025,427,3.025,428,3.025,429,3.025,430,3.025,431,3.025,432,3.025,433,3.025,434,3.025]],["t/35",[8,1.101,42,2.697,172,3.926,212,4.108,216,3.837,219,3.181,236,4.108,237,3.109,238,4.453,242,4.108,243,3.613,251,4.453,253,4.453,255,3.613,256,4.453,257,4.453,402,3.181,435,4.453,436,5.681,437,6.219,438,4.926,439,5.681,440,5.681,441,5.681,442,5.681,443,5.681,444,4.926,445,4.926,446,3.613,447,4.926,448,4.926]],["t/37",[8,1.029,16,3.164,17,1.943,42,1.647,54,1.892,55,2.15,56,2.182,57,2.318,107,2.207,124,4.848,128,2.72,137,2.509,142,2.343,161,2.681,168,2.509,197,2.509,229,4.009,255,2.207,264,2.72,273,2.72,286,2.72,407,4.009,435,2.72,449,3.008,450,6.198,451,6.485,452,3.008,453,3.008,454,3.008,455,3.008,456,2.72,457,4.435,458,6.882,459,4.435,460,3.008,461,3.008,462,3.008,463,1.818,464,3.008,465,3.008,466,3.008,467,3.008,468,2.038,469,2.607,470,3.008,471,3.008,472,3.008,473,3.008,474,3.008,475,3.008,476,4.435,477,3.008,478,3.008,479,1.982,480,2.207,481,3.008,482,3.008,483,3.008,484,3.008,485,2.343,486,3.008,487,3.008,488,3.008,489,3.008,490,3.008,491,3.008,492,3.008,493,3.008,494,2.272,495,4.435,496,3.008,497,3.008,498,3.008,499,4.435,500,3.008,501,3.008,502,3.008,503,3.008,504,3.008,505,3.008,506,3.008,507,3.008,508,3.008,509,3.008]],["t/39",[0,3.447,1,2.929,2,4.092,3,3.443,4,2.929,5,3.839,6,3.626,7,2.929,8,1.182,9,2.929,10,2.929,11,2.929,12,4.092,13,4.092,14,3.839,15,2.929,16,2.595,17,2.349,18,2.199,19,2.949,20,3.839,21,2.929,22,2.929,23,2.929,24,2.595,25,2.929,26,2.595,27,2.929,28,4.18,29,2.929,30,2.464,31,2.929,32,2.747,33,2.349,34,2.929,35,2.929,36,2.929,37,3.626,38,4.092,39,4.092,40,4.092,41,2.747,42,1.992,43,2.929,44,2.929,45,2.349,46,2.349,47,2.199,48,2.349,49,2.11,50,2.929,51,2.464,52,2.747,53,2.929,54,1.825,55,1.485,56,2.106,57,2.237,216,3.959,217,3.289,218,2.668]],["t/41",[1,2.944,2,4.107,3,3.456,4,2.944,5,3.853,6,3.64,7,2.944,8,1.184,9,2.944,10,2.944,11,2.944,12,4.107,13,4.107,14,3.853,15,2.944,16,2.609,17,2.361,18,2.21,19,2.96,20,3.853,21,2.944,22,2.944,23,2.944,24,2.609,25,2.944,26,2.609,27,2.944,28,4.192,29,2.944,30,2.477,31,2.944,32,2.762,33,2.361,34,2.944,35,2.944,36,2.944,37,3.64,38,4.107,39,4.107,40,4.107,41,2.762,42,2.002,43,2.944,44,2.944,45,2.361,46,2.361,47,2.21,48,2.361,49,2.122,50,2.944,51,2.477,52,2.762,53,2.944,54,1.832,55,1.493,56,2.113,57,2.245,216,3.974,217,3.306,218,2.682]],["t/43",[159,3.587,172,3.087,235,4.079,236,4.079,237,3.087,239,4.422,242,4.079,243,3.587,300,4.422,401,4.422,402,4.387,403,4.079,404,5.597,416,4.422,485,4.823,510,7.141,511,5.641,512,6.191,513,5.641,514,5.641,515,5.641,516,5.641,517,5.641,518,5.641,519,5.641,520,5.641,521,5.641,522,4.891,523,4.891]],["t/45",[109,4.424,159,3.245,172,4.34,200,1.86,219,4.182,233,4.257,235,3.69,237,2.793,239,4,241,3.436,242,3.69,243,3.245,300,4,332,3.562,368,2.858,370,3.341,401,5.856,402,4.731,403,3.69,404,5.247,413,4,416,4,424,4,512,6.477,522,4.424,523,4.424,524,5.103,525,4.424,526,5.03,527,4.193,528,4.193]],["t/47",[42,3.375,51,4.175,107,3.562,117,6.164,147,5.573,161,2.936,172,3.066,236,4.051,237,4.496,243,3.562,262,4.857,279,4.857,280,4.857,399,4.857,400,7.122,405,4.857,415,4.857,438,6.164,485,3.783,529,5.601,530,5.601,531,5.601,532,5.601,533,5.601,534,5.601]],["t/49",[8,0.755,129,4.262,147,3.853,152,4.707,155,2.887,161,3.422,172,4.014,195,5.662,219,4.106,233,5.173,237,2.69,241,3.352,332,3.431,368,3.336,370,3.219,391,2.576,402,2.752,413,3.853,424,5.119,446,4.153,526,5.873,527,4.039,528,4.039,535,3.555,536,4.541,537,3.126,538,3.431,539,4.541,540,3.555,541,6.53,542,4.541,543,4.541,544,4.039]],["t/51",[8,0.911,42,2.816,172,4.034,212,4.291,237,3.247,238,4.651,243,3.773,251,4.651,253,4.651,255,3.773,256,4.651,257,4.651,391,3.109,402,3.322,437,5.144,444,5.144,445,5.144,446,3.773,447,5.144,448,5.144,456,4.651,485,4.978,545,5.933,546,5.933,547,5.933,548,5.933]],["t/53",[8,1.029,16,3.164,17,1.943,42,1.647,54,1.892,55,2.15,56,2.182,57,2.318,107,2.207,124,4.848,128,2.72,137,2.509,142,2.343,161,2.681,168,2.509,197,2.509,229,4.009,255,2.207,264,2.72,273,2.72,286,2.72,407,4.009,435,2.72,449,3.008,450,6.198,451,6.485,452,3.008,453,3.008,454,3.008,455,3.008,456,2.72,457,4.435,458,6.882,459,4.435,460,3.008,461,3.008,462,3.008,463,1.818,464,3.008,465,3.008,466,3.008,467,3.008,468,2.038,469,2.607,470,3.008,471,3.008,472,3.008,473,3.008,474,3.008,475,3.008,476,4.435,477,3.008,478,3.008,479,1.982,480,2.207,481,3.008,482,3.008,483,3.008,484,3.008,485,2.343,486,3.008,487,3.008,488,3.008,489,3.008,490,3.008,491,3.008,492,3.008,493,3.008,494,2.272,495,4.435,496,3.008,497,3.008,498,3.008,499,4.435,500,3.008,501,3.008,502,3.008,503,3.008,504,3.008,505,3.008,506,3.008,507,3.008,508,3.008,509,3.008]],["t/55",[8,1.206,18,2.1,19,2.855,33,2.243,45,2.243,46,2.243,47,2.1,48,2.243,49,2.016,54,2.232,55,2.009,56,2.039,57,2.515,155,3.333,218,2.548,350,1.834,390,2.552,549,3.702,550,3.011,551,4.191,552,2.507,553,3.281,554,2.797,555,4.559,556,3.962,557,2.057,558,3.011,559,2.624,560,2.624,561,2.478,562,1.628,563,3.333,564,3.474,565,2.478,566,2.478,567,3.141,568,3.141,569,2.898,570,2.266,571,2.548,572,2.898,573,3.071,574,2.797,575,4.109,576,4.449,577,2.414,578,1.655,579,2.353,580,3.141,581,1.483,582,1.867,583,2.645,584,2.706,585,2.898,586,2.797,587,3.011,588,3.292,589,3.292]],["t/57",[8,1.208,18,2.11,19,2.865,33,2.255,45,2.255,46,2.255,47,2.11,48,2.255,49,2.026,54,2.237,55,2.016,56,2.046,57,2.521,155,3.345,218,2.561,350,1.843,390,2.561,550,3.026,551,4.203,552,2.516,553,3.288,554,2.811,555,4.569,556,3.976,557,2.067,558,3.026,559,2.637,560,2.637,561,2.491,562,1.636,563,3.345,564,3.492,565,2.491,566,2.491,567,3.157,568,3.157,569,2.912,570,2.272,571,2.561,572,2.912,573,3.08,574,2.811,575,4.118,576,4.465,577,2.426,578,1.663,579,2.365,580,3.157,581,1.49,582,1.877,583,2.654,584,2.72,585,2.912,586,2.811,587,3.026,588,3.309,589,3.309]],["t/59",[8,0.885,299,3.665,335,3.154,373,3.564,552,3.777,553,2.637,566,3.564,575,3.303,590,4.022,591,3.773,592,6.86,593,3.892,594,6.428,595,4.735,596,6.428,597,3.892,598,6.428,599,2.685,600,6.428,601,4.331,602,4.996,603,4.517,604,4.022,605,4.996,606,4.735,607,3.773]],["t/61",[8,0.968,350,2.886,553,2.886,555,4.01,571,4.01,608,5.826,609,5.394,610,9.189,611,4.129,612,5.826,613,4.943,614,5.181,615,5.75,616,6.306,617,5.468]],["t/64",[341,4.72,360,4.72,383,4.948,396,3.943,480,3.83,494,3.943,553,2.756,597,4.067,618,4.723,619,7.649,620,4.72,621,4.948,622,5.221,623,6.022,624,5.221,625,5.221]],["t/66",[19,3.663,200,2.45,315,3.05,356,2.568,375,2.223,394,1.867,553,3.075,578,1.715,597,4.919,604,2.898,607,4.4,609,4.769,618,4.105,619,6.648,626,3.003,627,7.084,628,6.398,629,3.874,630,4.632,631,4.152,632,3.412,633,6.719,634,7.496,635,6.492,636,5.377,637,5.046,638,4.152,639,2.501,640,3.701,641,2.719,642,3.12,643,4.632,644,3.6,645,2.804,646,6.492,647,3.003,648,4.632]],["t/68",[19,3.645,200,1.749,315,2.514,356,2.968,375,2.569,394,2.157,553,3.316,609,4.745,618,2.569,619,4.16,621,3.942,624,4.16,629,2.277,631,4.798,632,6.359,633,4.798,636,7.15,639,2.89,642,3.605,649,8.082,650,8.082,651,6.426,652,5.352,653,5.352,654,6.426,655,6.426,656,4.647,657,3.598,658,5.352,659,4.16,660,4.16,661,2.686,662,5.352,663,5.352,664,5.352,665,4.432,666,4.798,667,5.352,668,5.352]],["t/70",[19,3.533,200,2.561,609,4.599,628,5.506,669,7.024,670,7.835,671,4.903]],["t/72",[200,2,383,4.508,396,3.593,607,3.593,609,3.593,620,4.301,622,4.757,625,4.757,636,5.069,639,3.305,642,4.123,656,3.968,665,5.069,672,6.12,673,5.487,674,6.12,675,6.12,676,6.12,677,7.826,678,6.12,679,6.12,680,6.12,681,6.12,682,7.826,683,6.12,684,6.12,685,6.12,686,6.12,687,6.12,688,4.508,689,4.757,690,6.12,691,4.301,692,3.003,693,6.12,694,6.12,695,6.12]],["t/74",[54,2.274,200,2.131,350,2.676,552,3.226,575,3.351,578,2.415,607,3.828,609,3.828,696,3.522,697,8.147,698,9.306,699,8.147,700,6.522,701,6.522,702,6.522,703,6.522,704,5.069,705,5.401,706,6.522,707,6.522,708,6.522,709,6.522,710,5.069]],["t/76",[200,2.583,305,4.64,394,3.185,609,4.64,637,6.144,696,4.268]],["t/79",[553,3.214,563,4.125,575,4.026,711,4.026,712,6.09,713,5.771,714,3.605]],["t/81",[563,4.089,570,2.393,714,4.166,715,5.721,716,6.362,717,4.703]],["t/83",[8,1.158,299,2.863,356,2.784,552,3.098,555,2.863,560,2.948,566,2.784,569,3.255,575,2.58,579,2.644,581,3.016,592,3.903,601,3.383,602,3.903,644,3.903,691,3.529,718,4.501,719,6.155,720,4.824,721,5.057,722,2.784,723,6.155,724,3.153,725,3.903,726,4.296,727,4.159,728,2.868,729,5.022,730,4.501,731,5.022,732,5.022,733,3.383,734,5.022,735,4.501,736,4.159,737,5.022,738,3.699,739,3.903,740,5.022,741,3.699,742,2.863,743,4.501,744,5.022,745,5.022,746,3.699,747,5.022,748,5.022,749,5.022,750,3.903,751,3.903,752,3.699,753,3.903,754,3.383]],["t/85",[8,1.029,54,1.892,55,2.15,56,2.182,57,2.318,382,1.647,463,1.818,468,2.038,469,2.607,479,1.982,480,2.207,494,2.272,557,2.625,562,1.41,565,2.146,581,2.999,582,1.617,599,3.124,611,2.272,613,2.72,626,2.509,661,1.943,692,1.899,724,2.731,733,2.607,755,3.458,756,4.392,757,3.206,758,3.206,759,2.509,760,2.09,761,3.568,762,3.206,763,3.008,764,2.799,765,3.206,766,3.206,767,2.184,768,3.47,769,2.72,770,2.72,771,4.435,772,2.607,773,2.851,774,3.206,775,2.864,776,2.509,777,3.47,778,2.146,779,3.253,780,2.851,781,1.899,782,1.989,783,1.588,784,2.509,785,2.851,786,1.989,787,2.851,788,2.607,789,2.509,790,2.343,791,3.206,792,2.72,793,3.206,794,3.47,795,2.146,796,2.851,797,4.241,798,2.509,799,2.607,800,2.146,801,2.851,802,2.509,803,2.09,804,2.851,805,2.343,806,3.206,807,1.745,808,2.607,809,2.607]],["t/87",[8,1.206,18,2.1,19,2.855,33,2.243,45,2.243,46,2.243,47,2.1,48,2.243,49,2.016,54,2.232,55,2.009,56,2.039,57,2.515,155,3.333,218,2.548,350,1.834,390,2.552,549,3.702,550,3.011,551,4.191,552,2.507,553,3.281,554,2.797,555,4.559,556,3.962,557,2.057,558,3.011,559,2.624,560,2.624,561,2.478,562,1.628,563,3.333,564,3.474,565,2.478,566,2.478,567,3.141,568,3.141,569,2.898,570,2.266,571,2.548,572,2.898,573,3.071,574,2.797,575,4.109,576,4.449,577,2.414,578,1.655,579,2.353,580,3.141,581,1.483,582,1.867,583,2.645,584,2.706,585,2.898,586,2.797,587,3.011,588,3.292,589,3.292]],["t/89",[8,1.208,18,2.11,19,2.865,33,2.255,45,2.255,46,2.255,47,2.11,48,2.255,49,2.026,54,2.237,55,2.016,56,2.046,57,2.521,155,3.345,218,2.561,350,1.843,390,2.561,550,3.026,551,4.203,552,2.516,553,3.288,554,2.811,555,4.569,556,3.976,557,2.067,558,3.026,559,2.637,560,2.637,561,2.491,562,1.636,563,3.345,564,3.492,565,2.491,566,2.491,567,3.157,568,3.157,569,2.912,570,2.272,571,2.561,572,2.912,573,3.08,574,2.811,575,4.118,576,4.465,577,2.426,578,1.663,579,2.365,580,3.157,581,1.49,582,1.877,583,2.654,584,2.72,585,2.912,586,2.811,587,3.026,588,3.309,589,3.309]],["t/92",[62,3.327,552,2.688,561,2.738,563,2.6,570,1.522,575,2.537,577,2.667,582,3.779,583,3.779,593,5.925,595,3.637,602,3.838,603,3.47,604,3.09,714,3.843,716,4.77,717,4.696,725,3.838,743,4.427,755,2.142,759,6.007,767,1.89,776,3.202,807,2.227,810,3.87,811,4.427,812,4.77,813,4.938,814,4.427,815,3.47,816,4.938,817,4.09,818,3.202,819,3.637,820,4.427,821,4.09,822,4.427,823,4.427,824,4.427]],["t/94",[391,3.713,535,5.124,781,3.878,786,4.061,825,7.086,826,5.822]],["t/96",[8,1.339,134,4.429,200,1.359,219,2.087,315,1.954,331,3.232,368,2.703,390,1.676,391,1.954,552,1.647,553,2.897,560,2.441,573,1.737,575,2.137,581,3.251,582,1.737,583,1.737,587,2.801,591,2.441,595,3.063,605,3.232,606,3.063,609,4.818,629,1.77,641,2.441,657,2.087,717,2.518,767,2.703,778,2.306,782,2.137,783,2.897,786,3.089,802,2.696,803,2.246,810,2.371,812,2.922,817,3.444,825,3.728,827,2.696,828,4.158,829,3.728,830,1.619,831,4.158,832,4.158,833,6.012,834,3.444,835,3.728,836,3.728,837,4.158,838,6.012,839,4.158,840,4.158,841,4.158,842,3.728,843,3.063,844,4.158,845,3.728,846,4.158,847,3.444,848,4.158,849,4.158,850,4.158,851,3.444,852,3.728,853,3.444]],["t/98",[8,1.191,54,2.59,55,2.572,56,2.61,57,2.773,200,1.76,368,2.754,392,3.16,479,1.87,494,3.16,583,2.249,584,3.26,585,3.49,586,3.369,587,3.627,588,3.966,589,3.966,629,2.291,692,3.531,728,3.007,787,3.966,822,4.826,830,2.096,854,2.952,855,3.627,856,3.966,857,4.826,858,3.627,859,7.197,860,4.459,861,5.301,862,3.49,863,3.369,864,4.826,865,5.384,866,4.826,867,5.384,868,3.627,869,4.826]],["t/100",[8,1.142,368,2.571,562,2.447,581,2.753,629,2.859,785,4.948,853,5.564,854,2.756,870,4.948,871,5.564,872,5.634,873,4.355,874,3.628,875,6.022,876,5.221,877,6.022,878,6.718,879,6.718,880,6.022,881,6.718,882,6.022,883,6.718]],["t/102",[8,1.029,54,1.892,55,2.15,56,2.182,57,2.318,382,1.647,463,1.818,468,2.038,469,2.607,479,1.982,480,2.207,494,2.272,557,2.625,562,1.41,565,2.146,581,2.999,582,1.617,599,3.124,611,2.272,613,2.72,626,2.509,661,1.943,692,1.899,724,2.731,733,2.607,755,3.458,756,4.392,757,3.206,758,3.206,759,2.509,760,2.09,761,3.568,762,3.206,763,3.008,764,2.799,765,3.206,766,3.206,767,2.184,768,3.47,769,2.72,770,2.72,771,4.435,772,2.607,773,2.851,774,3.206,775,2.864,776,2.509,777,3.47,778,2.146,779,3.253,780,2.851,781,1.899,782,1.989,783,1.588,784,2.509,785,2.851,786,1.989,787,2.851,788,2.607,789,2.509,790,2.343,791,3.206,792,2.72,793,3.206,794,3.47,795,2.146,796,2.851,797,4.241,798,2.509,799,2.607,800,2.146,801,2.851,802,2.509,803,2.09,804,2.851,805,2.343,806,3.206,807,1.745,808,2.607,809,2.607]],["t/104",[8,1.232,18,2.049,19,2.805,33,2.189,45,2.189,46,2.189,47,2.049,48,2.189,49,1.966,54,2.208,55,2.301,56,2.335,57,2.705,218,2.486,305,3.652,350,1.789,390,2.507,549,3.612,550,2.938,551,4.135,552,2.464,553,2.552,554,2.729,555,4.509,556,3.893,557,2.007,558,2.938,559,3.652,560,3.652,561,2.418,562,1.589,563,3.275,565,2.418,566,2.418,567,3.064,568,3.064,569,2.827,570,2.437,571,2.486,572,2.827,573,3.03,574,2.729,575,4.063,577,2.355,578,1.615,579,2.296,580,3.064,581,1.447,582,2.599,583,3.304,584,2.64,779,2.486,884,3.909,885,3.389,886,2.827,887,2.14]],["t/106",[8,1.233,18,2.059,19,2.815,33,2.199,45,2.199,46,2.199,47,2.059,48,2.199,49,1.976,54,2.212,55,2.307,56,2.342,57,2.711,218,2.498,305,3.665,350,1.798,390,2.516,550,2.952,551,4.146,552,2.472,553,2.561,554,2.742,555,4.519,556,3.907,557,2.016,558,2.952,559,3.665,560,3.665,561,2.43,562,1.596,563,3.287,565,2.43,566,2.43,567,3.079,568,3.079,569,2.841,570,2.442,571,2.498,572,2.841,573,3.038,574,2.742,575,4.072,577,2.366,578,1.622,579,2.307,580,3.079,581,1.454,582,2.608,583,3.311,584,2.653,779,2.498,884,3.928,885,3.406,886,2.841,887,2.15]],["t/108",[8,1.316,54,1.458,55,1.657,56,1.107,57,1.786,315,2.967,379,1.687,468,1.811,557,1.583,562,1.253,570,1.946,578,1.273,581,2.339,582,2.638,583,3.335,584,2.082,586,2.152,688,2.533,696,2.82,713,2.533,714,3.673,724,2.105,727,2.848,728,3.843,755,3.058,760,3.41,761,2.75,764,3.46,767,3.055,781,1.687,786,1.767,789,2.23,790,2.082,800,1.907,805,3.162,807,1.551,823,4.682,830,2.033,854,2.591,858,2.317,863,3.268,872,2.152,873,2.23,887,1.687,888,3.439,889,2.152,890,2.848,891,2.507,892,4.651,893,3.083,894,2.673,895,2.317,896,2.317,897,2.317,898,3.083,899,2.848,900,2.019,901,4.06,902,2.533,903,2.673,904,2.317,905,3.439,906,4.682,907,3.083,908,2.82,909,2.417,910,3.67,911,3.519,912,4.06,913,3.439,914,2.848,915,3.439,916,2.152,917,3.083]],["t/110",[463,4.128,479,2.564,565,4.094,570,2.275,582,3.084,583,3.084,657,3.705,764,4.311,887,3.622,918,7.383,919,4.334,920,3.887]],["t/112",[8,0.919,55,1.197,373,3.702,394,2.977,463,1.772,479,2.741,570,2.431,579,2.948,582,1.576,583,3.086,593,2.284,624,2.932,714,3.631,715,6.613,722,3.104,755,1.636,756,1.986,764,4.055,782,1.938,790,2.284,807,1.701,821,3.124,830,2.179,860,3.124,901,2.932,919,3.286,920,4.154,921,3.124,922,2.779,923,2.779,924,2.475,925,3.124,926,3.773,927,3.072,928,3.934,929,5.599,930,3.934,931,5.019,932,2.284,933,4.352,934,3.124,935,2.779,936,3.773,937,5.172,938,4.852,939,2.215,940,5.315,941,4.124,942,4.336,943,2.779,944,3.286,945,2.651,946,2.151,947,2.037,948,2.284,949,2.361,950,2.932,951,3.773,952,3.124,953,3.124]],["t/114",[8,1.185,18,1.991,19,1.911,55,1.933,134,3.121,315,1.991,394,2.456,463,4.045,479,2.711,551,2.416,552,2.413,553,1.738,560,2.487,570,2.199,571,2.416,578,2.256,581,1.406,582,2.546,583,2.546,593,2.565,720,2.977,722,2.349,724,3.145,728,1.77,742,2.416,755,2.643,756,3.209,761,2.231,764,4.057,767,1.622,775,2.126,809,2.854,810,2.416,861,3.121,862,2.747,868,2.854,912,3.293,919,2.487,920,3.758,927,1.95,938,2.487,940,2.854,941,3.121,942,4.582,944,2.487,948,2.565,949,2.651,954,2.977,955,3.293,956,5.047,957,2.977,958,4.237,959,4.237,960,4.106,961,3.798,962,2.977,963,4.237,964,4.237,965,2.854,966,4.237,967,4.237,968,2.177,969,2.487,970,2.651,971,3.509,972,3.293,973,2.977]],["t/116",[8,1.158,562,2.503,581,2.792,582,2.871,583,3.515,785,5.062,854,2.819,870,5.062,871,5.692,872,5.692,873,4.455,874,3.711,875,6.161,876,5.342,877,6.161,880,6.161,882,6.161,974,6.872]],["t/118",[583,3.302,593,4.786,725,6.144,807,3.564,873,5.124,975,7.904]],["t/120",[8,1.094,54,1.882,55,2.139,56,2.171,57,2.306,382,1.633,390,1.546,463,1.803,468,2.02,469,2.585,479,1.969,480,2.188,494,2.253,557,2.609,562,1.398,581,3.043,582,1.603,599,2.817,611,2.253,613,2.696,626,2.488,661,1.926,692,1.883,724,2.717,733,2.585,755,3.446,756,4.65,757,3.178,758,3.178,759,2.488,760,2.072,761,2.985,762,3.178,763,2.983,764,1.883,765,3.178,766,3.178,767,2.17,770,2.696,771,4.407,772,2.585,773,2.826,774,4.696,775,2.845,776,2.488,778,2.128,779,3.232,780,2.826,781,1.883,782,1.972,783,1.574,784,2.488,785,4.176,786,1.972,787,2.826,788,2.585,789,2.488,790,2.323,791,3.178,792,2.696,795,2.128,796,2.826,797,4.219,798,2.488,799,2.585,800,2.128,801,2.826,802,2.488,803,2.072,804,2.826,805,2.323,806,3.178,807,1.73,808,2.585,809,2.585,901,2.983,976,2.488,977,3.837,978,3.837]],["t/124",[375,3.794,645,4.786,916,4.946,979,6.546,980,6.546,981,6.546]],["t/126",[1,2.944,2,4.107,3,3.456,4,2.944,5,3.853,6,3.64,7,2.944,8,1.184,9,2.944,10,2.944,11,2.944,12,4.107,13,4.107,14,3.853,15,2.944,16,2.609,17,2.361,18,2.21,19,2.96,20,3.853,21,2.944,22,2.944,23,2.944,24,2.609,25,2.944,26,2.609,27,2.944,28,4.192,29,2.944,30,2.477,31,2.944,32,2.762,33,2.361,34,2.944,35,2.944,36,2.944,37,3.64,38,4.107,39,4.107,40,4.107,41,2.762,42,2.002,43,2.944,44,2.944,45,2.361,46,2.361,47,2.21,48,2.361,49,2.122,50,2.944,51,2.477,52,2.762,53,2.944,54,1.832,55,1.493,56,2.113,57,2.245,216,3.974,217,3.306,218,2.682]],["t/128",[159,3.587,172,3.087,235,4.079,236,4.079,237,3.087,239,4.422,242,4.079,243,3.587,300,4.422,401,4.422,402,4.387,403,4.079,404,5.597,416,4.422,485,4.823,510,7.141,511,5.641,512,6.191,513,5.641,514,5.641,515,5.641,516,5.641,517,5.641,518,5.641,519,5.641,520,5.641,521,5.641,522,4.891,523,4.891]],["t/130",[109,4.424,159,3.245,172,4.34,200,1.86,219,4.182,233,4.257,235,3.69,237,2.793,239,4,241,3.436,242,3.69,243,3.245,300,4,332,3.562,368,2.858,370,3.341,401,5.856,402,4.731,403,3.69,404,5.247,413,4,416,4,424,4,512,6.477,522,4.424,523,4.424,524,5.103,525,4.424,526,5.03,527,4.193,528,4.193]],["t/132",[42,3.375,51,4.175,107,3.562,117,6.164,147,5.573,161,2.936,172,3.066,236,4.051,237,4.496,243,3.562,262,4.857,279,4.857,280,4.857,399,4.857,400,7.122,405,4.857,415,4.857,438,6.164,485,3.783,529,5.601,530,5.601,531,5.601,532,5.601,533,5.601,534,5.601]],["t/134",[8,0.755,129,4.262,147,3.853,152,4.707,155,2.887,161,3.422,172,4.014,195,5.662,219,4.106,233,5.173,237,2.69,241,3.352,332,3.431,368,3.336,370,3.219,391,2.576,402,2.752,413,3.853,424,5.119,446,4.153,526,5.873,527,4.039,528,4.039,535,3.555,536,4.541,537,3.126,538,3.431,539,4.541,540,3.555,541,6.53,542,4.541,543,4.541,544,4.039]],["t/136",[8,0.911,42,2.816,172,4.034,212,4.291,237,3.247,238,4.651,243,3.773,251,4.651,253,4.651,255,3.773,256,4.651,257,4.651,391,3.109,402,3.322,437,5.144,444,5.144,445,5.144,446,3.773,447,5.144,448,5.144,456,4.651,485,4.978,545,5.933,546,5.933,547,5.933,548,5.933]],["t/138",[8,1.029,16,3.164,17,1.943,42,1.647,54,1.892,55,2.15,56,2.182,57,2.318,107,2.207,124,4.848,128,2.72,137,2.509,142,2.343,161,2.681,168,2.509,197,2.509,229,4.009,255,2.207,264,2.72,273,2.72,286,2.72,407,4.009,435,2.72,449,3.008,450,6.198,451,6.485,452,3.008,453,3.008,454,3.008,455,3.008,456,2.72,457,4.435,458,6.882,459,4.435,460,3.008,461,3.008,462,3.008,463,1.818,464,3.008,465,3.008,466,3.008,467,3.008,468,2.038,469,2.607,470,3.008,471,3.008,472,3.008,473,3.008,474,3.008,475,3.008,476,4.435,477,3.008,478,3.008,479,1.982,480,2.207,481,3.008,482,3.008,483,3.008,484,3.008,485,2.343,486,3.008,487,3.008,488,3.008,489,3.008,490,3.008,491,3.008,492,3.008,493,3.008,494,2.272,495,4.435,496,3.008,497,3.008,498,3.008,499,4.435,500,3.008,501,3.008,502,3.008,503,3.008,504,3.008,505,3.008,506,3.008,507,3.008,508,3.008,509,3.008]],["t/140",[629,3.364,916,4.946,979,6.546,980,6.546,981,6.546,982,6.144]],["t/142",[1,2.944,2,4.107,3,3.456,4,2.944,5,3.853,6,3.64,7,2.944,8,1.184,9,2.944,10,2.944,11,2.944,12,4.107,13,4.107,14,3.853,15,2.944,16,2.609,17,2.361,18,2.21,19,2.96,20,3.853,21,2.944,22,2.944,23,2.944,24,2.609,25,2.944,26,2.609,27,2.944,28,4.192,29,2.944,30,2.477,31,2.944,32,2.762,33,2.361,34,2.944,35,2.944,36,2.944,37,3.64,38,4.107,39,4.107,40,4.107,41,2.762,42,2.002,43,2.944,44,2.944,45,2.361,46,2.361,47,2.21,48,2.361,49,2.122,50,2.944,51,2.477,52,2.762,53,2.944,54,1.832,55,1.493,56,2.113,57,2.245,216,3.974,217,3.306,218,2.682]],["t/144",[6,3.097,8,0.769,26,3.097,37,3.097,161,2.624,197,3.621,205,4.341,212,3.621,219,3.701,220,4.341,221,4.341,222,5.732,223,4.341,224,4.341,225,6.611,226,5.007,227,3.495,228,5.007,229,3.925,230,5.007,231,4.341,232,4.341,233,3.184,234,4.341,235,3.621,236,3.621,237,4.051,238,3.925,239,3.925,240,3.925,241,2.57,242,3.621,243,3.184,244,6.611,245,4.341,246,5.007,247,5.007,248,4.341,249,5.007,250,5.007,251,3.925,252,5.007,253,3.925,254,5.007,255,3.184,256,3.925,257,3.925]],["t/146",[5,3.565,6,3.947,8,0.58,28,2.338,30,2.22,32,2.475,37,3.368,85,3.278,107,2.404,124,5.049,133,3.278,137,4.615,159,4.058,161,2.853,219,3.909,220,3.278,221,6.053,222,3.278,223,3.278,224,3.278,227,4.873,231,3.278,232,3.278,233,2.404,234,3.278,237,2.069,255,2.404,258,3.78,259,3.78,260,3.78,261,5.445,262,3.278,263,3.78,264,2.963,265,3.78,266,3.78,267,7.399,268,5.445,269,5.445,270,3.78,271,3.78,272,5.445,273,2.963,274,3.78,275,3.78,276,3.78,277,3.78,278,5.445,279,4.721,280,3.278,281,3.78,282,3.78,283,3.78,284,3.78,285,3.78,286,2.963,287,3.78,288,3.78,289,3.78,290,5.445,291,3.78,292,3.78,293,3.78,294,3.78,295,3.78,296,5.445,297,3.278,298,3.493,299,2.404,300,2.963,301,2.338,302,3.106]],["t/148",[200,1.013,219,4.437,227,3.016,240,3.811,241,2.911,303,4.321,304,7.294,305,4.852,306,6.483,307,4.896,308,2.777,309,3.016,310,3.247,311,5.313,312,2.777,313,2.087,314,2.777,315,3.397,316,2.777,317,2.445,318,2.777,319,7.165,320,2.777,321,2.777,322,5.303,323,6.483,324,5.303,325,4.598,326,5.303,327,2.777,328,4.321,329,4.321,330,2.777,331,2.408,332,3.959,333,2.408,334,1.405,335,2.903,336,4.321,337,3.646,338,3.016,339,4.321,340,3.016,341,3.387,342,3.646,343,3.646,344,1.62,345,4.321,346,5.303,347,2.777,348,4.321,349,2.777,350,1.271,351,2.777,352,2.777,353,2.777,354,1.631,355,1.27,356,1.718,357,1.405,358,2.777,359,2.566,360,2.858,361,2.777,362,2.282,363,2.777,364,2.177,365,2.282,366,3.646,367,2.777,368,2.264,369,1.405,370,1.061,371,1.061,372,1.62,373,1.002,374,2.282,375,0.867,376,1.62,377,1.405,378,4.321,379,2.365,380,3.811,381,1.497,382,0.769,383,1.331,384,2.777,385,1.62,386,1.094,387,1.62,388,1.331,389,1.62,390,1.249,391,2.265,392,1.061,393,3.646,394,0.728,395,3.161,396,1.061]],["t/150",[26,3.461,30,2.71,59,4.907,84,2.623,111,2.623,135,2.623,144,2.623,149,3.617,151,4.046,161,3.281,172,1.656,186,4.851,216,4.228,219,4.136,235,2.188,237,1.656,240,2.371,241,3.646,245,2.623,248,2.623,305,4.838,332,5.448,333,6.406,334,4.851,335,3.689,368,3.505,369,4.001,370,3.022,395,2.623,397,3.025,398,3.025,399,2.623,400,4.001,401,2.371,402,2.584,403,2.188,404,2.371,405,2.623,406,5.595,407,4.386,408,5.595,409,3.025,410,3.025,411,3.025,412,3.025,413,2.371,414,5.595,415,5.427,416,2.371,417,4.615,418,3.025,419,4.615,420,3.025,421,6.26,422,3.025,423,3.025,424,5.792,425,3.025,426,3.025,427,3.025,428,3.025,429,3.025,430,3.025,431,3.025,432,3.025,433,3.025,434,3.025]],["t/152",[8,1.101,42,2.697,172,3.926,212,4.108,216,3.837,219,3.181,236,4.108,237,3.109,238,4.453,242,4.108,243,3.613,251,4.453,253,4.453,255,3.613,256,4.453,257,4.453,402,3.181,435,4.453,436,5.681,437,6.219,438,4.926,439,5.681,440,5.681,441,5.681,442,5.681,443,5.681,444,4.926,445,4.926,446,3.613,447,4.926,448,4.926]],["t/154",[8,1.029,16,3.164,17,1.943,42,1.647,54,1.892,55,2.15,56,2.182,57,2.318,107,2.207,124,4.848,128,2.72,137,2.509,142,2.343,161,2.681,168,2.509,197,2.509,229,4.009,255,2.207,264,2.72,273,2.72,286,2.72,407,4.009,435,2.72,449,3.008,450,6.198,451,6.485,452,3.008,453,3.008,454,3.008,455,3.008,456,2.72,457,4.435,458,6.882,459,4.435,460,3.008,461,3.008,462,3.008,463,1.818,464,3.008,465,3.008,466,3.008,467,3.008,468,2.038,469,2.607,470,3.008,471,3.008,472,3.008,473,3.008,474,3.008,475,3.008,476,4.435,477,3.008,478,3.008,479,1.982,480,2.207,481,3.008,482,3.008,483,3.008,484,3.008,485,2.343,486,3.008,487,3.008,488,3.008,489,3.008,490,3.008,491,3.008,492,3.008,493,3.008,494,2.272,495,4.435,496,3.008,497,3.008,498,3.008,499,4.435,500,3.008,501,3.008,502,3.008,503,3.008,504,3.008,505,3.008,506,3.008,507,3.008,508,3.008,509,3.008]],["t/156",[200,2.583,621,5.822,916,4.946,979,6.546,980,6.546,981,6.546]],["t/158",[1,3.107,2,4.263,3,3.587,4,3.107,5,4,6,3.778,7,3.107,8,1.152,9,3.107,10,3.107,11,3.107,12,4.263,13,4.263,14,4,15,3.107,16,2.754,17,2.492,18,2.333,19,3.072,20,4,21,3.107,22,3.107,23,3.107,24,2.754,25,3.107,26,2.754,27,3.107,28,2.754,29,3.107,30,2.614,31,3.107,32,2.915,33,2.492,34,3.107,35,3.107,36,3.107,37,3.778,38,4.263,39,4.263,40,4.263,41,2.915,42,2.113,43,3.107,44,3.107,45,2.492,46,2.492,47,2.333,48,2.492,49,2.239,50,3.107,51,2.614,52,2.915,53,3.107,54,1.386,55,1.575,56,1.599,57,1.698]],["t/160",[3,3.919,8,1.025,58,6.673,59,6.205,60,6.673,61,6.673,62,5.015,63,7.916,64,6.673,65,6.673,66,6.673]],["t/162",[0,5.062,3,3.618,42,2.925,52,4.034,59,5.913,67,6.161,68,5.342,69,6.161,70,5.062,71,6.161,72,6.161,73,6.161,74,7.543,75,5.342,76,6.161,77,6.161,78,6.161,79,6.161,80,6.161,81,5.342,82,6.161]],["t/164",[75,4.79,81,4.79,83,7.047,84,6.11,85,6.728,86,5.524,87,5.524,88,5.524,89,7.047,90,5.524,91,5.524,92,5.524,93,5.524,94,5.524,95,7.047,96,5.524,97,5.524,98,5.524,99,7.047,100,5.524,101,5.524,102,5.524,103,6.11,104,5.524,105,5.524,106,4.79,107,3.513,108,5.524,109,4.79,110,5.524]],["t/166",[3,3.29,14,3.668,111,4.857,112,6.164,113,7.109,114,4.857,115,5.601,116,7.109,117,6.771,118,5.601,119,5.601,120,5.601,121,7.109,122,5.601,123,5.601,124,4.051,125,5.601,126,5.601,127,5.601,128,4.391,129,4.857,130,5.601,131,5.601,132,5.601,133,4.857,134,4.603,135,4.857,136,5.601,137,4.051,138,5.601]],["t/168",[41,4.599,112,6.09,114,6.09,139,7.024,140,7.024,141,6.09,142,4.744]],["t/170",[17,2.116,24,2.338,30,2.22,42,1.795,51,2.22,103,3.278,106,3.278,142,4.715,143,5.8,144,3.278,145,7.915,146,3.78,147,5.8,148,3.278,149,4.268,150,3.78,151,5.049,152,3.28,153,5.002,154,6.381,155,3.748,156,6.381,157,6.381,158,6.381,159,4.706,160,5.002,161,3.659,162,4.721,163,5.002,164,2.963,165,3.78,166,5.002,167,3.278,168,2.734,169,3.278,170,5.445,171,3.78,172,2.069,173,3.78]],["t/172",[28,5.642,42,3.014,51,2.768,142,5.417,143,4.977,149,4.977,151,4.592,153,5.629,155,2.768,159,4.886,160,4.977,161,3.763,163,5.629,164,3.694,166,5.629,167,4.086,168,3.408,169,4.086,174,7.683,175,4.713,176,5.505,177,4.713,178,4.713,179,4.086]],["t/174",[17,1.968,20,4.92,24,4.173,68,6.231,107,2.236,141,3.048,143,4.798,145,6.908,148,5.85,151,3.735,152,2.118,153,4.798,159,2.236,160,5.288,161,1.842,163,2.756,164,4.048,166,4.048,172,1.924,176,5.85,179,4.478,180,5.164,181,5.164,182,5.164,183,7.187,184,5.164,185,3.515,186,4.478,187,3.515,188,3.515,189,6.121,190,7.514,191,6.121,192,6.121,193,5.543,194,3.515,195,4.478,196,3.515,197,2.542,198,3.515,199,3.515,200,1.282,201,6.121,202,3.515,203,3.515,204,3.515,205,3.048,206,3.515,207,5.164,208,5.164,209,3.515,210,3.515,211,3.515,212,2.542,213,3.515,214,3.515,215,3.515]],["t/182",[8,0.951,49,1.04,54,0.873,55,1.467,56,1.007,57,0.625,70,0.505,200,2.347,299,0.391,307,0.361,309,0.429,311,0.429,315,0.606,317,1.57,335,1.535,354,0.361,355,0.482,356,0.38,357,0.533,368,0.883,373,0.38,375,2.704,379,1.132,388,0.505,392,0.758,394,1.104,396,0.403,463,2.989,468,0.68,479,2.252,553,0.53,555,0.391,557,1.062,559,0.403,561,0.38,562,1.139,565,0.38,566,0.38,570,1.563,573,0.964,577,1.689,581,1.811,582,0.539,583,0.287,585,1.185,586,1.144,590,1.444,597,2.108,599,0.539,606,0.505,608,0.568,611,1.607,620,1.284,626,0.445,627,0.568,629,3.244,639,0.371,640,0.391,642,0.462,645,1.658,656,0.445,657,1.748,661,0.648,671,0.429,689,0.533,692,0.337,696,0.371,711,0.663,714,0.841,715,0.505,720,0.482,721,0.951,722,0.38,724,2.399,726,0.429,728,0.964,733,0.462,736,0.568,738,0.505,742,1.315,750,0.533,753,1.003,754,0.87,755,1.357,756,3.053,760,0.697,761,1.442,764,1.708,767,2.219,769,0.482,770,0.482,772,0.462,775,2.545,779,0.391,781,0.633,782,1.607,783,0.75,788,0.87,790,0.782,797,0.808,798,1.185,799,0.462,800,0.38,802,0.445,803,1.246,804,0.951,805,2.108,808,1.231,809,0.462,810,1.985,818,1.185,830,1.355,854,1.283,855,1.554,862,0.445,863,1.444,868,0.462,870,0.951,872,0.429,873,0.445,874,0.987,886,1.775,891,0.619,892,1.699,895,0.87,896,1.231,897,1.554,900,0.403,902,1.346,903,0.533,908,1.88,909,3.249,910,0.482,911,0.462,912,0.533,916,0.429,919,4.058,920,4.366,922,0.505,923,0.951,924,1.933,927,2.984,928,0.482,930,0.907,932,0.782,933,0.533,935,0.505,937,2.381,938,2.044,939,1.354,940,3.796,941,0.505,942,2.044,944,0.758,945,0.482,946,0.736,948,1.397,949,1.957,952,0.568,953,0.568,954,0.482,962,0.482,965,3.272,968,0.939,969,3.095,970,1.957,973,1.284,976,0.837,983,0.533,984,3.121,985,0.615,986,1.069,987,3.981,988,0.907,989,0.568,990,1.621,991,2.998,992,1.003,993,0.615,994,0.615,995,1.144,996,1.514,997,0.615,998,2.268,999,0.615,1000,1.069,1001,0.568,1002,0.697,1003,1.284,1004,0.615,1005,1.069,1006,0.568,1007,0.568,1008,0.615,1009,0.907,1010,0.568,1011,0.758,1012,0.533,1013,1.699,1014,0.907,1015,0.505,1016,0.615,1017,0.568,1018,0.533,1019,0.533,1020,0.951,1021,0.615,1022,0.445,1023,0.615,1024,0.615,1025,1.069,1026,0.568,1027,0.568,1028,0.615,1029,4.93,1030,5.948,1031,0.87,1032,0.615,1033,3.151,1034,1.638,1035,1.638,1036,1.514,1037,1.003,1038,0.615,1039,0.615,1040,0.505,1041,0.615,1042,0.615,1043,3.906,1044,0.505,1045,0.615,1046,1.621,1047,1.924,1048,0.615,1049,0.403,1050,0.429,1051,1.157,1052,0.907,1053,1.157,1054,1.157,1055,1.42,1056,1.638,1057,1.157,1058,2.304,1059,1.231,1060,1.346,1061,0.568,1062,0.615,1063,0.837,1064,1.069,1065,1.069,1066,0.951,1067,2.215,1068,1.911,1069,0.615,1070,0.429,1071,0.505,1072,0.615,1073,0.615,1074,0.415,1075,0.758,1076,0.568,1077,1.003,1078,0.568,1079,0.615,1080,0.445,1081,2.068,1082,1.069,1083,0.951,1084,0.808,1085,0.615,1086,0.615,1087,1.346,1088,0.615,1089,0.615,1090,0.533,1091,1.346,1092,0.533,1093,0.568,1094,0.615,1095,1.003,1096,1.291,1097,0.615,1098,0.615,1099,0.568,1100,0.568,1101,1.157,1102,0.615,1103,1.069,1104,1.638,1105,1.157,1106,0.615,1107,0.615,1108,0.615,1109,0.462,1110,0.505,1111,1.638,1112,0.533,1113,0.907,1114,0.615,1115,0.462,1116,0.615,1117,0.568,1118,1.003,1119,0.837,1120,0.568,1121,0.615,1122,0.615,1123,0.615,1124,0.615,1125,0.533,1126,0.837,1127,0.615,1128,0.615,1129,1.157,1130,1.157,1131,0.615,1132,1.291,1133,0.615,1134,0.615,1135,0.615,1136,1.346,1137,1.157,1138,1.069,1139,0.615,1140,1.924,1141,0.615,1142,1.003,1143,1.069,1144,0.907,1145,0.568,1146,0.615,1147,0.482,1148,0.568,1149,1.069,1150,1.069,1151,3.396,1152,0.615,1153,0.505,1154,0.615,1155,0.615,1156,0.615]],["t/184",[8,0.844,54,1.457,55,2.056,56,1.249,57,1.581,70,1.25,200,0.555,297,1.319,309,1.062,310,2.613,317,2.577,354,0.894,368,0.65,380,4.307,382,1.651,386,3.711,390,1.563,446,1.674,479,0.59,480,0.968,551,1.674,553,1.591,554,1.837,570,1.609,574,1.062,578,1.933,581,0.974,583,2.387,584,1.777,591,1.723,597,1.028,599,0.709,625,1.319,639,0.917,641,1.723,647,1.903,660,1.319,661,0.852,692,1.44,696,2.095,704,1.319,710,2.282,712,1.319,714,3.933,716,3.247,722,0.941,725,1.319,728,2.56,755,3.158,756,0.894,764,1.44,767,1.484,778,1.628,779,3.258,784,2.515,795,2.562,796,1.25,805,1.028,815,3.247,821,1.406,826,2.857,830,1.799,845,2.632,854,0.696,857,2.632,862,4.399,863,1.062,868,1.144,895,1.978,904,1.978,909,1.193,910,2.063,911,4.129,922,2.857,923,2.162,924,0.75,925,4.324,928,1.193,940,1.144,947,0.917,949,1.837,956,1.406,957,4.954,960,1.144,970,1.062,1013,1.25,1020,2.857,1037,1.319,1043,4.129,1046,3.247,1047,2.063,1050,4.056,1063,1.1,1066,2.162,1070,1.062,1078,3.212,1119,1.1,1148,1.406,1156,2.632,1157,1.522,1158,1.697,1159,1.406,1160,5.274,1161,1.144,1162,1.522,1163,6.129,1164,3.592,1165,2.936,1166,2.936,1167,2.632,1168,1.697,1169,1.697,1170,1.25,1171,1.522,1172,1.697,1173,1.522,1174,1.406,1175,1.697,1176,3.827,1177,4.621,1178,4.68,1179,5.494,1180,4.058,1181,1.697,1182,4.209,1183,5.221,1184,3.879,1185,3.879,1186,1.319,1187,3.592,1188,2.936,1189,1.697,1190,3.879,1191,1.697,1192,1.697,1193,2.431,1194,1.319,1195,1.697,1196,2.936,1197,1.697,1198,2.936,1199,1.697,1200,1.522,1201,1.697,1202,1.697,1203,1.697,1204,1.697,1205,1.697,1206,2.431,1207,1.697,1208,1.406,1209,5.274,1210,1.697,1211,1.697,1212,0.917,1213,2.936,1214,1.319]],["t/186",[8,0.928,54,0.882,55,2.14,56,1.929,57,2.049,200,1.033,309,1.977,317,1.425,335,2.401,368,2.293,388,2.327,394,1.273,468,1.664,562,1.151,566,1.752,581,1.048,582,1.32,599,1.32,629,1.345,644,2.456,714,1.454,715,3.605,717,1.913,720,2.22,722,1.752,724,1.972,755,1.37,760,1.706,764,3.787,767,3.081,779,1.801,805,1.913,830,2.332,854,2.458,863,1.977,866,2.833,872,1.977,886,2.049,887,1.55,897,2.129,904,2.129,909,2.22,910,2.22,911,2.129,919,4.284,920,4.595,927,1.454,937,3.749,938,3.517,940,2.129,942,1.855,944,1.855,945,2.22,946,2.79,949,5.784,969,3.517,970,3.063,1009,2.22,1022,2.049,1026,2.617,1029,6.044,1033,2.617,1036,2.617,1043,6.157,1046,3.439,1047,4.74,1052,6.002,1055,2.456,1058,2.327,1059,2.129,1067,3.235,1209,2.456,1214,2.456,1215,3.16,1216,3.16,1217,3.16,1218,2.833,1219,3.16,1220,3.16,1221,2.327,1222,3.16,1223,3.16]],["t/189",[200,3.121,368,2.947,391,4.232,535,4.992,1224,5.985,1225,6.377]],["t/191",[382,3.965,391,4.088,535,5.641,722,4.027,775,3.645,891,3.486,924,3.211,1118,5.645,1226,4.141,1227,5.645,1228,7.263,1229,5.645]],["t/193",[8,1.186,54,1.995,55,2.267,56,2.301,57,2.444,618,4.441,696,4.654,775,3.587,783,2.932,854,2.932,1230,4.327,1231,4.327,1232,4.815,1233,4.815]],["t/195",[8,1.147,241,3.114,391,3.917,396,3.973,535,4.388,618,4.732,795,3.753,834,5.606,932,4.098,1002,3.655,1231,5.047,1232,5.616,1233,4.56,1234,5.606,1235,4.756,1236,6.067]],["t/197",[8,1.007,54,2.291,56,2.355,152,3.95,299,4.982,315,2.592,340,4.577,354,2.905,391,2.592,394,2.223,402,3.671,535,3.577,552,3.25,578,2.042,592,4.288,595,4.063,640,3.145,647,3.577,657,2.769,760,2.979,795,3.059,887,4.287,932,3.34,1170,4.063,1237,6.796,1238,6.058,1239,7.356,1240,4.945,1241,4.945,1242,4.945,1243,3.34,1244,5.517,1245,5.517,1246,4.945,1247,4.569]],["t/199",[54,2.131,305,4.482,446,4.353,889,4.777,1049,4.482,1248,5.934,1249,4.622,1250,4.482,1251,5.623,1252,7.635]],["t/203",[200,3.156,368,3.33,375,4.176,391,3.412,618,3.486,645,4.397,1224,5.645,1253,6.511,1254,6.511,1255,6.015,1256,6.015]],["t/205",[982,6.198,1257,7.975,1258,7.975,1259,7.149,1260,7.975]],["t/207",[1261,8.046,1262,8.046,1263,7.213,1264,8.046]],["t/209",[382,4.006,583,3.11,722,4.128,775,3.736,891,3.573,924,3.291,976,4.826,1118,5.786,1229,5.786,1255,7.313]],["t/211",[8,1.051,54,2.131,55,2.844,56,2.458,57,2.611,696,4.123,767,2.922,783,3.132,1265,6.323]],["t/213",[8,1.291,241,3.397,382,3.142,786,3.793,795,4.094,834,6.114,932,4.47,1002,3.987,1234,6.114,1253,6.618,1255,7.277]],["t/215",[8,1.184,301,3.371,355,4.272,368,3.471,578,2.251,661,3.051,752,6.335,887,2.982,889,4.876,904,5.249,1243,5.492,1248,4.725,1256,7.123,1266,7.792,1267,8.6,1268,6.454,1269,7.792,1270,5.449,1271,4.477,1272,5.449,1273,6.079]],["t/217",[54,2.078,305,4.37,402,3.736,887,3.652,889,4.658,1049,4.37,1243,4.507,1249,4.507,1250,4.37,1251,6.504,1256,7.313]],["t/221",[8,0.932,382,2.88,590,4.235,642,4.56,656,4.388,947,3.655,1110,4.985,1145,6.904,1249,4.098,1263,8.452,1274,6.768,1275,8.337,1276,8.337,1277,6.768,1278,6.768,1279,6.067,1280,6.768,1281,6.768,1282,5.606]],["t/223",[298,6.377,360,5.411,368,2.947,830,2.997,947,4.158,1283,7.7,1284,7.7,1285,7.7,1286,5.985]],["t/225",[982,6.311,1286,6.311,1287,8.119]],["t/228",[8,1.078,54,1.036,55,1.177,56,1.195,57,1.269,200,2.16,241,1.707,301,2.057,375,1.781,382,3.334,391,1.743,494,2.178,537,2.115,570,1.143,582,1.55,583,1.55,618,4.367,621,2.733,629,2.353,639,2.003,645,4.002,647,6.062,696,2.986,741,2.733,854,1.522,874,2.003,887,1.82,910,2.607,1020,2.733,1050,2.322,1074,2.246,1075,3.246,1076,3.073,1080,2.405,1161,4.453,1225,5.474,1226,3.152,1229,2.884,1230,4.744,1231,3.348,1232,4.453,1233,3.725,1235,2.607,1254,3.326,1259,3.326,1288,3.71,1289,4.957,1290,7.326,1291,7.326,1292,7.326,1293,8.215,1294,3.71,1295,3.326,1296,3.71,1297,5.529,1298,6.567,1299,3.71,1300,3.71,1301,3.71,1302,4.957,1303,5.529,1304,3.71,1305,3.71,1306,3.71,1307,3.71]],["t/231",[8,1.196,54,1.429,56,1.648,152,4.578,193,5.82,200,1.095,241,2.859,299,3.965,317,2.308,338,2.096,340,2.096,354,3.271,356,1.857,368,1.959,371,1.966,375,2.457,394,2.063,537,3.542,552,2.754,553,1.374,592,2.603,593,2.028,595,3.77,597,2.028,609,1.966,618,4.17,629,2.178,640,1.909,645,2.028,657,1.681,783,1.374,795,1.857,811,6.235,826,2.467,830,1.304,847,2.774,887,3.048,891,1.607,932,2.028,946,2.918,1001,2.774,1084,3.203,1170,2.467,1206,2.774,1231,3.761,1237,5.761,1238,5.145,1239,5.569,1240,3.002,1241,3.002,1242,3.002,1246,3.002,1247,4.239,1249,3.099,1308,4.944,1309,3.349,1310,3.349,1311,4.365,1312,6.212,1313,3.349,1314,3.349,1315,5.118,1316,3.349,1317,3.349,1318,5.118,1319,3.349,1320,3.349,1321,2.467,1322,2.774,1323,3.349,1324,3.002,1325,3.349,1326,8.688,1327,3.349,1328,3.349]],["t/233",[8,1.196,152,2.609,155,2.544,227,3.023,233,2.755,241,2.223,317,2.179,335,2.371,338,4.184,359,4.002,360,3.395,365,3.559,368,2.559,446,3.812,526,3.255,537,2.755,538,3.023,539,4.002,540,3.132,542,4.002,543,7.194,544,3.559,618,4.312,629,2.056,647,4.971,728,2.018,830,1.881,891,3.209,946,3.812,1002,2.609,1049,2.836,1153,3.559,1212,2.609,1231,4.048,1243,2.925,1250,2.836,1308,4.184,1311,3.395,1329,5.197,1330,4.832,1331,6.686,1332,4.832,1333,4.331,1334,4.832,1335,4.832,1336,4.832,1337,4.832,1338,4.832,1339,2.755,1340,4.832,1341,4.832,1342,4.832,1343,4.832,1344,4.832]],["t/235",[8,1.087,227,3.883,241,2.855,335,3.044,368,3.022,381,5.139,382,2.641,537,3.538,618,4.63,622,4.823,629,2.641,692,3.874,769,4.36,830,2.415,1002,4.264,1231,5.534,1339,4.951,1345,7.57,1346,6.205,1347,4.823]],["t/238",[611,4.766,786,4.172,1348,6.725]],["t/240",[54,2.113,305,4.444,446,4.316,925,6.27,1049,4.444,1248,5.884,1249,5.4,1250,4.444,1251,6.569]],["t/243",[8,1.275,54,1.63,55,1.853,56,1.881,57,1.998,200,1.909,301,3.239,382,3.591,570,1.8,582,2.44,583,2.44,618,4.556,629,2.486,639,3.154,696,4.101,741,4.302,854,2.396,887,2.866,1002,3.154,1050,3.655,1074,3.536,1075,3.429,1080,3.787,1161,3.935,1226,4.329,1230,5.109,1231,3.536,1232,5.116,1233,3.935,1235,4.104]],["t/245",[616,6.963,713,5.721,786,4.924,1022,5.035,1226,4.428,1349,7.767]],["t/247",[8,1.136,54,1.86,155,2.94,200,2.471,241,1.304,301,0.904,302,3.749,311,3.185,317,0.735,325,1.267,335,1.844,338,3.494,356,0.904,362,2.769,364,2.642,368,2.432,370,0.957,371,0.957,377,1.267,382,1.912,386,2.721,396,0.957,402,2.255,403,4.78,446,0.929,480,2.143,525,3.493,544,4.113,552,1.779,553,0.668,578,0.603,599,0.681,618,3.539,629,1.6,640,4.873,647,1.837,710,3.956,711,0.837,714,0.75,752,4.113,786,0.837,795,0.904,800,0.904,812,6.658,826,2.087,830,1.463,874,0.88,887,2.74,889,1.773,895,3.429,916,2.352,924,0.72,946,0.929,1050,1.02,1052,5.181,1153,2.769,1160,1.267,1180,2.922,1186,1.267,1212,2.427,1243,1.716,1248,2.202,1249,1.716,1271,4.681,1311,1.991,1339,0.929,1345,3.114,1347,2.202,1350,2.833,1351,1.461,1352,3.956,1353,2.833,1354,1.461,1355,2.833,1356,1.461,1357,1.35,1358,1.461,1359,1.461,1360,1.461,1361,1.629,1362,2.202,1363,1.629,1364,2.54,1365,1.909,1366,1.461,1367,1.2,1368,3.37,1369,7.662,1370,6.296,1371,5.006,1372,6.61,1373,3.37,1374,3.37,1375,3.37,1376,3.37,1377,3.37,1378,5.517,1379,3.37,1380,3.114,1381,3.37,1382,5.517,1383,3.37,1384,1.461,1385,1.461,1386,1.461,1387,1.461,1388,1.461,1389,2.54,1390,1.461]],["t/249",[8,0.944,54,1.915,200,2.328,241,1.38,301,1.663,302,2.209,311,2.474,317,0.785,335,2.306,338,3.626,362,2.912,364,2.778,368,2.218,370,1.022,373,0.965,375,0.835,377,2.331,380,1.223,382,1.682,386,1.054,390,0.701,396,1.022,402,1.984,403,4.898,446,0.992,480,2.254,525,3.073,544,4.573,552,0.689,599,0.727,618,3.626,619,1.353,629,2.919,640,4.952,645,1.054,647,1.945,692,0.854,710,4.12,714,0.801,752,4.268,786,0.894,800,0.965,812,6.722,830,1.539,874,0.94,887,1.939,889,2.474,895,3.571,898,1.56,916,2.474,946,0.992,957,1.223,1050,1.089,1052,5.309,1074,1.816,1075,1.761,1153,2.912,1164,1.353,1180,3.073,1206,1.441,1212,0.94,1227,1.353,1230,1.054,1243,1.054,1271,4.573,1289,1.56,1298,1.56,1311,2.108,1329,1.353,1339,1.71,1347,2.331,1351,1.56,1352,2.331,1354,1.56,1356,1.56,1362,3.073,1364,1.56,1365,1.172,1366,1.56,1367,2.209,1368,3.544,1369,7.786,1370,6.397,1371,5.195,1372,6.773,1373,3.544,1374,3.544,1375,3.544,1376,3.544,1377,3.544,1378,5.682,1379,3.544,1380,3.274,1381,3.544,1382,5.682,1383,3.544,1384,1.56,1385,1.56,1386,1.56,1387,1.56,1388,1.56,1389,2.689,1390,1.56,1391,1.353,1392,1.74,1393,1.74,1394,1.74,1395,1.74,1396,1.74,1397,1.74,1398,1.74,1399,1.56]],["t/251",[8,1.291,54,1.861,382,2.837,402,3.346,614,4.911,889,4.172,1186,5.182,1212,3.601,1243,5.433,1249,4.037,1250,3.914,1251,6.084,1345,5.522,1357,5.522,1358,7.404,1359,7.404,1360,7.404,1400,6.668]],["t/253",[8,0.983,315,2.499,356,2.95,371,3.123,386,3.221,392,3.123,396,4.191,573,2.222,599,3.366,654,4.769,692,3.503,742,4.07,775,2.67,776,5.224,924,2.352,946,4.594,957,3.738,1044,3.919,1050,3.329,1115,3.584,1160,4.135,1212,2.873,1243,5.214,1270,4.769,1271,7.165,1311,5.662,1339,3.033,1362,5.549,1399,4.769,1401,5.32,1402,5.32,1403,5.32,1404,5.32,1405,4.406,1406,5.32,1407,5.32,1408,3.919]],["t/256",[8,1,362,5.35,396,4.263,599,3.034,812,5.104,916,4.545,942,4.263,1271,5.35,1311,6.114,1329,5.645,1362,5.645,1378,7.207,1380,6.015,1409,4.545]],["t/259",[350,1.92,562,1.705,563,2.464,578,1.733,599,1.955,604,4.092,661,2.349,673,4.195,691,5.297,711,2.405,713,3.447,714,3.469,717,3.959,778,4.525,780,3.447,783,1.92,784,5.767,807,2.11,818,3.034,860,3.876,900,3.839,928,3.289,944,5.04,948,2.834,960,3.153,968,2.405,1182,3.447,1208,3.876,1212,4.804,1221,3.447,1410,5.297,1411,6.674,1412,5.416,1413,3.289,1414,4.195,1415,4.68,1416,4.68,1417,4.68,1418,4.195,1419,5.083,1420,4.68,1421,4.195,1422,4.68,1423,4.195,1424,4.195,1425,4.195,1426,4.195,1427,4.195,1428,3.638,1429,4.195,1430,4.68,1431,4.68]],["t/262",[310,3.088,350,2.644,552,2.552,571,2.614,601,3.088,604,2.869,607,2.691,641,3.784,642,3.088,644,3.563,657,2.301,660,3.563,661,2.301,666,4.109,671,4.033,691,4.529,705,3.797,714,2.109,716,3.221,717,5.351,730,4.109,779,2.614,784,2.972,843,3.377,885,3.563,890,3.797,904,3.088,924,2.85,931,4.109,944,2.691,948,3.902,960,5.022,968,2.355,971,3.797,1066,4.747,1411,6.869,1412,3.797,1421,4.109,1423,4.109,1424,4.109,1425,4.109,1426,4.109,1427,4.109,1432,4.584,1433,3.563,1434,4.584,1435,4.584,1436,4.584,1437,5.778,1438,4.584,1439,4.584,1440,4.584,1441,4.584,1442,4.584,1443,4.584,1444,3.088,1445,4.584,1446,6.682,1447,4.584,1448,4.584,1449,3.797,1450,5.778,1451,4.584,1452,4.584]],["t/264",[62,4.697,307,2.704,310,3.461,364,3.61,468,2.704,562,1.871,573,2.146,579,2.704,591,3.015,599,2.146,604,3.214,607,3.015,639,2.774,656,3.33,717,3.11,721,3.784,723,4.605,724,2.07,751,3.993,755,2.228,784,5.504,896,4.697,944,3.015,946,3.975,947,2.774,1027,4.254,1209,6.152,1212,4.585,1265,4.254,1408,3.784,1411,6.899,1412,4.254,1418,4.605,1419,5.42,1437,4.605,1446,7.957,1449,4.254,1453,3.214,1454,4.605,1455,5.137,1456,4.605,1457,5.137,1458,5.137,1459,4.605,1460,5.137,1461,4.605,1462,3.993]],["t/266",[8,0.983,155,1.006,309,5.755,317,3.966,340,5.642,350,3.393,354,4.711,355,2.284,356,3.381,394,2.979,540,3.953,552,1.679,554,2.034,570,2.346,579,3.759,609,1.908,640,1.853,657,0.959,689,2.526,711,2.179,712,2.526,714,3.151,728,2.983,742,1.09,760,4.216,767,1.244,783,3.203,876,2.526,923,2.394,947,1.755,1049,1.908,1090,2.526,1092,2.526,1112,5.918,1193,2.692,1237,2.692,1238,1.583,1247,1.583,1249,1.968,1250,1.908,1324,1.713,1410,2.284,1463,1.713,1464,7.14,1465,1.911,1466,1.911,1467,1.911,1468,1.713,1469,1.911,1470,6.847,1471,2.692,1472,6.505,1473,1.911,1474,2.914,1475,1.713,1476,1.713,1477,2.692,1478,3.25,1479,3.25,1480,1.713,1481,3.888,1482,1.911,1483,1.911,1484,1.911,1485,1.911,1486,1.911,1487,1.911,1488,1.911,1489,1.911,1490,1.911,1491,6.098,1492,1.713,1493,6.609,1494,6.138,1495,2.914,1496,1.911,1497,1.713,1498,1.713,1499,1.713,1500,1.713,1501,1.911,1502,2.914,1503,1.713,1504,2.914,1505,1.911,1506,1.713,1507,1.911,1508,2.914,1509,1.288]],["t/268",[8,1.304,305,4.845,317,1.694,340,5.164,350,3.024,354,4.499,373,2.083,394,1.514,540,5.106,562,1.368,570,2.705,590,2.351,688,2.767,714,3.932,728,2.782,754,2.531,783,3.024,1007,6.835,1011,2.205,1071,2.767,1115,3.76,1174,3.111,1321,2.767,1322,7.077,1463,3.368,1468,3.368,1476,5.003,1480,3.368,1481,4.338,1492,5.003,1493,7.765,1494,7.66,1495,5.003,1497,3.368,1498,3.368,1499,3.368,1500,5.003,1503,5.969,1504,3.368,1506,3.368,1510,4.622]],["t/271",[62,4.739,299,4.866,537,4.01,807,3.849,938,5.01,1074,4.259,1075,4.129,1339,4.866,1409,4.402,1410,5.998,1413,4.943,1462,5.468,1511,7.034,1512,7.034,1513,7.034]],["t/273",[8,1.257,62,2.713,233,2.296,301,2.233,350,3.325,354,2.12,373,2.233,390,1.623,537,2.296,538,2.52,540,2.611,552,2.326,561,2.233,570,2.497,577,2.175,578,2.822,591,5.447,602,3.13,604,2.52,607,2.364,632,2.966,655,3.61,692,1.976,711,2.069,728,1.682,739,3.13,767,3.102,783,2.41,807,3.127,812,2.83,815,2.83,830,2.287,889,2.52,899,3.335,976,3.808,983,3.13,992,3.13,1011,4.757,1070,3.676,1074,2.438,1075,2.364,1077,3.13,1084,2.52,1119,3.808,1308,2.52,1339,3.349,1367,2.966,1382,3.335,1409,4.339,1410,4.128,1428,3.13,1449,3.335,1454,5.266,1514,5.266,1515,4.027,1516,3.335,1517,3.61,1518,5.266,1519,2.713,1520,2.83,1521,3.335,1522,5.266,1523,3.335]],["t/276",[8,0.775,315,1.787,317,1.716,335,1.867,373,2.11,386,5.02,390,2.27,552,1.507,566,2.11,570,2.927,578,2.086,590,2.381,599,2.354,601,2.563,657,1.91,704,6.669,711,3.811,760,3.042,815,2.674,830,3.43,871,3.151,891,1.826,894,2.957,901,5.215,924,1.682,927,1.751,968,2.895,976,2.467,990,2.674,1063,2.467,1070,3.525,1080,2.467,1083,2.802,1109,3.795,1115,2.563,1119,6.157,1208,3.151,1212,3.042,1234,3.151,1453,5.513,1502,6.649,1514,3.411,1519,2.563,1524,4.666,1525,6.649,1526,3.151,1527,5.634,1528,3.805,1529,3.411,1530,2.957,1531,2.957,1532,5.05,1533,3.411,1534,3.805,1535,3.805,1536,2.802]],["t/278",[54,1.155,309,2.59,310,5.201,313,2.788,317,2.702,350,1.698,356,2.295,394,2.415,562,1.508,570,1.275,573,1.729,578,1.532,599,2.503,637,3.217,640,2.36,657,2.077,659,3.217,728,3.225,751,3.217,771,3.217,778,2.295,795,2.295,807,3.695,819,5.687,842,3.71,914,3.428,968,3.079,1059,2.788,1070,2.59,1126,2.683,1194,5.475,1226,4.671,1249,2.506,1370,3.049,1444,6.194,1453,3.75,1481,4.657,1517,3.71,1519,4.037,1523,3.428,1537,6.314,1538,4.139,1539,5.992,1540,4.139,1541,4.963,1542,4.139,1543,4.139,1544,3.217,1545,4.414,1546,4.139,1547,4.139,1548,4.139,1549,4.139,1550,3.71,1551,4.139,1552,4.139,1553,4.139,1554,4.139,1555,4.139,1556,4.139,1557,3.71,1558,4.139,1559,4.139,1560,4.139,1561,5.372,1562,3.71,1563,4.139,1564,4.139,1565,4.139]],["t/280",[8,0.562,315,1.918,350,2.434,540,2.647,552,1.617,562,1.487,570,1.258,578,2.587,591,3.483,599,1.705,617,3.173,639,2.205,640,2.327,656,2.647,661,2.978,665,3.381,692,2.003,711,2.098,714,2.73,728,2.478,781,2.911,795,2.264,889,2.555,890,3.381,900,4.102,968,2.098,1020,3.007,1031,2.75,1049,2.396,1212,4.4,1226,2.327,1250,2.396,1308,3.712,1321,4.37,1409,5.099,1410,2.869,1413,4.169,1444,5.49,1450,3.66,1453,2.555,1518,3.66,1519,2.75,1530,3.173,1531,3.173,1566,4.082,1567,5.933,1568,4.082,1569,4.082,1570,4.082,1571,4.082,1572,4.082,1573,4.082,1574,4.082,1575,4.082,1576,4.082,1577,4.082,1578,4.082,1579,4.082,1580,4.082,1581,4.082,1582,4.082,1583,4.082,1584,4.082,1585,4.082,1586,5.933,1587,6.988,1588,4.082,1589,5.933,1590,4.082,1591,3.66,1592,2.647,1593,4.169,1594,4.082,1595,5.933,1596,4.082,1597,4.082,1598,4.082,1599,4.082,1600,4.082,1601,4.082]],["t/282",[8,0.948,152,3.72,162,5.354,317,1.482,338,3.843,350,1.349,371,2.962,386,1.99,394,2.776,540,4.818,552,1.302,562,1.838,578,1.217,581,1.091,591,3.605,599,2.108,604,3.843,626,2.131,641,4.044,705,2.723,781,1.613,807,2.769,815,3.546,886,5.463,891,1.578,924,1.453,968,3.155,1011,2.962,1022,2.131,1031,2.215,1049,1.93,1070,2.057,1119,2.131,1212,3.316,1226,4.804,1243,1.99,1250,1.93,1308,5.615,1321,3.717,1409,3.843,1444,5.822,1453,3.158,1471,2.723,1519,3.4,1520,5.511,1525,2.947,1526,2.723,1530,5.354,1532,2.947,1536,3.717,1562,4.524,1592,3.271,1593,3.546,1602,6.141,1603,5.046,1604,4.524,1605,5.046,1606,5.046,1607,5.046,1608,6.889,1609,5.046,1610,3.288,1611,3.288,1612,3.288,1613,2.947,1614,2.947,1615,3.288,1616,3.288,1617,3.288]],["t/284",[8,1.001,152,2.366,233,2.498,301,2.43,315,2.059,380,5.569,382,1.865,386,5.272,391,4.091,394,2.516,535,4.715,536,3.629,537,2.498,538,2.742,562,1.596,570,2.761,591,3.665,661,2.199,755,1.9,772,4.206,786,3.737,815,3.079,854,3.437,862,2.841,893,3.928,910,3.079,924,2.76,968,2.252,1011,4.653,1031,2.952,1212,3.371,1230,4.403,1302,3.928,1339,3.559,1357,3.629,1367,3.228,1413,4.387,1414,5.596,1453,5.242,1462,3.406,1524,5.171,1526,3.629,1531,3.406,1618,4.382,1619,5.596,1620,7.272,1621,4.382]],["t/286",[8,0.41,193,2.196,299,4.492,317,3.202,340,2.927,350,3.091,354,3.739,371,1.75,394,1.885,537,1.699,538,1.865,552,1.18,553,1.223,562,1.086,570,2.514,573,1.954,591,2.745,599,2.967,632,2.196,639,3.53,641,1.75,656,1.933,659,2.317,714,3.268,728,1.954,739,5.081,760,3.117,778,1.653,781,3.484,783,3.091,795,1.653,807,3.946,818,1.933,819,2.196,820,2.672,843,2.196,886,3.032,938,2.745,950,3.635,968,4.048,1070,1.865,1080,3.742,1119,3.032,1226,1.699,1272,5.174,1308,2.927,1321,2.196,1339,3.727,1365,2.008,1408,2.196,1409,1.865,1413,2.095,1428,5.081,1444,3.151,1453,2.927,1471,3.874,1481,3.635,1493,6.525,1520,4.056,1521,2.469,1536,2.196,1592,4.238,1593,5.895,1622,2.981,1623,2.196,1624,4.677,1625,2.981,1626,2.981,1627,2.981,1628,2.981,1629,2.981,1630,2.981,1631,2.981,1632,2.981,1633,2.981,1634,2.981,1635,2.981,1636,2.981,1637,2.981,1638,2.981,1639,2.981,1640,2.981]],["t/288",[767,3.079,1011,4.723,1339,4.587,1410,5.654]],["t/290",[338,4.437,350,2.909,578,2.625,626,4.597,807,3.197,891,3.403,924,3.135,1011,4.162,1308,4.437,1339,4.042,1409,4.437,1444,4.777,1453,4.437,1519,4.777,1522,6.356,1537,6.356,1613,6.356,1614,6.356,1641,7.09]],["t/292",[8,0.571,54,0.715,62,1.726,299,2.977,301,1.421,313,1.726,331,1.992,350,2.703,373,3.909,379,1.257,394,1.033,479,0.89,537,1.461,538,4.644,560,2.434,561,1.421,562,2.185,565,1.421,570,2.46,573,1.071,577,1.384,578,3.263,591,2.434,599,1.732,603,1.801,607,3.065,613,1.801,617,1.992,639,1.384,641,1.504,657,3.011,660,4.058,688,3.054,691,1.801,704,3.223,711,1.317,712,1.992,714,3.415,716,1.801,717,1.552,728,1.071,739,1.992,759,1.661,767,2.296,776,1.661,778,3.654,779,2.977,781,1.257,783,2.142,784,5.633,807,1.156,817,2.122,819,3.846,829,2.297,904,3.518,914,2.122,924,1.133,938,2.434,939,1.504,968,2.13,987,1.604,1011,1.504,1022,2.688,1067,1.384,1074,1.552,1075,1.504,1084,1.604,1126,1.661,1171,3.717,1179,4.681,1180,1.992,1182,1.888,1194,1.992,1200,2.297,1221,1.888,1339,2.364,1348,2.122,1352,1.992,1370,1.888,1409,1.604,1411,1.992,1428,3.223,1429,2.297,1433,1.992,1444,4.439,1453,4.644,1456,2.297,1521,2.122,1530,1.992,1536,3.054,1545,3.846,1592,1.661,1642,6,1643,2.563,1644,2.563,1645,6,1646,5.222,1647,2.563,1648,2.563,1649,2.563,1650,2.563,1651,2.563,1652,2.563,1653,2.563,1654,2.563,1655,2.563,1656,2.563,1657,2.563,1658,2.563,1659,2.563,1660,2.563,1661,2.563,1662,2.563,1663,2.563,1664,2.563,1665,2.563,1666,2.563,1667,2.563,1668,2.563,1669,2.563,1670,2.563,1671,2.563,1672,2.563,1673,2.563,1674,2.563,1675,2.297]],["t/294",[152,1.495,219,2.76,227,4.568,299,2.515,301,4.048,302,6.69,307,3.843,310,1.865,311,1.733,313,1.865,338,1.733,350,1.136,364,3.1,371,4.285,373,1.535,386,1.676,526,1.865,538,4.792,562,1.009,570,1.695,573,2.621,577,3.388,578,2.036,581,1.825,591,4.022,599,2.621,601,1.865,639,2.382,657,2.214,659,2.152,661,2.76,692,2.698,711,3.935,767,2.401,807,3.292,858,1.865,874,1.495,886,1.795,891,2.117,900,3.682,938,4.022,950,2.152,968,3.751,970,1.733,1011,1.625,1031,3.705,1070,1.733,1074,4.148,1075,4.022,1084,2.761,1109,1.865,1126,1.795,1194,4.876,1212,2.382,1221,3.25,1243,1.676,1308,2.761,1348,2.293,1352,2.152,1365,1.865,1409,1.733,1413,3.865,1433,2.152,1459,4.93,1462,4.275,1508,5.623,1509,2.972,1520,3.1,1536,3.25,1545,4.051,1592,3.565,1593,1.946,1676,5.5,1677,2.769,1678,2.769,1679,2.769,1680,4.412,1681,2.769,1682,2.769,1683,2.769,1684,2.769,1685,2.769,1686,2.769,1687,2.769]],["t/296",[8,1.033,570,2.313,756,4.672,775,3.767,873,4.866,874,4.054,916,4.697,939,4.406,983,5.834,984,6.729,985,6.729]],["t/299",[49,3.439,355,4.131,394,2.369,479,3.111,559,3.451,562,2.142,581,2.53,661,2.951,722,3.26,742,3.352,767,2.25,782,3.021,803,3.175,855,3.961,891,2.822,895,3.961,896,3.961,897,3.961,902,4.33,924,3.372,965,6.407,987,4.772,988,4.131,989,4.869,990,5.359,991,3.811,992,4.57,993,5.27,994,5.27,995,3.679,996,4.869,997,5.27]],["t/301",[379,2.642,479,2.816,562,1.961,573,2.249,577,4.378,581,2.388,721,3.966,724,2.17,726,3.369,767,2.061,775,2.702,781,2.642,782,3.698,788,3.627,790,3.26,810,4.103,855,4.848,886,5.256,897,4.848,911,3.627,924,3.182,927,3.312,973,5.057,976,3.49,990,3.783,995,3.369,998,6.714,999,4.826,1000,4.459,1001,4.459,1002,2.907,1003,3.783,1004,4.826,1005,4.459,1006,4.459,1007,4.459,1008,4.826,1009,3.783,1010,4.459,1011,4.225,1012,4.185,1013,3.966]],["t/303",[8,0.968,479,2.443,557,3.928,581,2.832,728,3.566,736,5.826,756,3.704,772,4.739,788,4.739,798,4.56,799,4.739,927,3.928,976,4.56,1014,4.943,1015,5.181,1016,6.306]],["t/305",[8,1.31,583,3.189,724,3.077,755,3.887,895,5.143,948,4.622,1017,6.323]],["t/307",[8,1.008,557,4.023,562,2.667,570,2.256,581,3.102,599,3.059,761,3.855,797,5.471,900,4.298,1018,5.691,1019,5.691]],["t/310",[8,0.917,54,1.342,55,1.873,56,1.548,57,1.387,70,1.326,200,1.929,317,1.828,335,2.359,368,1.84,375,0.864,379,0.883,394,1.244,396,1.057,463,2.258,479,1.073,553,0.738,555,1.026,561,0.998,566,0.998,570,0.555,573,0.752,581,1.024,586,1.126,590,1.126,599,0.752,611,1.057,620,2.17,629,2.962,639,0.972,640,1.026,645,1.09,657,2.413,671,1.126,696,0.972,714,1.421,715,1.326,720,1.265,724,2.379,728,0.752,756,1.626,760,0.972,764,1.515,767,2.664,775,1.55,781,0.883,782,0.925,783,0.738,810,1.026,818,2.629,830,1.871,854,1.972,863,1.932,874,0.972,891,0.864,892,3.541,902,1.326,919,4.238,920,4.957,927,3.518,928,1.265,932,1.869,933,1.399,935,1.326,937,1.126,940,5.475,942,1.057,944,1.812,945,1.265,946,1.026,948,1.869,949,3.008,952,1.491,953,1.491,968,2.083,969,3.176,970,3.008,987,3.694,992,1.399,995,1.126,1002,0.972,1005,1.491,1009,1.265,1021,1.613,1022,1.167,1023,1.613,1024,1.613,1025,1.491,1026,1.491,1027,1.491,1028,1.613,1029,7.024,1030,7.576,1031,2.08,1032,1.613,1033,5.518,1034,3.635,1035,3.635,1036,3.358,1037,2.4,1038,1.613,1039,1.613,1040,1.326,1041,1.613,1042,1.613,1043,5.271,1044,1.326,1045,1.613,1046,2.17,1047,2.849,1048,1.613,1049,1.057,1050,1.126,1051,2.768,1052,2.17,1053,2.768,1054,2.768,1055,2.4,1056,3.635,1057,2.768,1058,3.541,1059,2.731,1060,2.274,1061,1.491,1062,1.613,1063,1.167,1064,1.491,1065,1.491,1066,1.326,1067,0.972,1068,2.557,1069,1.613,1070,1.126,1071,1.326,1072,1.613,1073,1.613]],["t/312",[8,1.091,54,1.223,55,2.307,56,1.411,309,2.742,317,1.976,388,3.228,394,1.766,463,2.059,553,1.798,570,1.35,590,2.742,620,3.079,657,3.65,692,2.15,724,3.194,764,2.15,767,2.783,775,2.199,800,2.43,902,3.228,919,5.616,920,4.718,927,2.016,937,2.742,939,2.572,940,2.952,946,2.498,949,3.907,969,3.665,970,3.907,987,5.607,988,3.079,1030,5.171,1043,5.339,1046,4.387,1047,4.387,1055,3.406,1058,4.598,1063,2.841,1064,3.629,1065,3.629,1066,3.228,1067,2.366,1074,2.653,1075,3.665,1076,3.629,1077,4.852,1078,3.629,1079,3.928,1080,2.841]],["t/314",[317,2.798,392,3.643,463,2.915,479,3.278,570,2.433,590,3.883,606,4.571,611,4.635,656,4.023,689,4.823,753,4.823,775,4.358,782,3.188,783,2.546,803,3.351,809,4.18,922,4.571,923,5.815,973,4.36,990,4.36,1082,5.139,1083,4.571,1084,3.883,1085,5.563,1086,5.563,1087,4.571,1088,5.563,1089,5.563]],["t/316",[54,1.349,55,2.121,56,1.556,307,2.544,311,3.023,315,2.27,317,3.015,354,2.544,357,3.755,392,2.836,463,4.221,479,1.678,562,2.436,570,1.489,608,4.002,611,3.925,724,1.947,742,2.755,755,2.095,760,2.609,764,2.371,775,3.848,782,2.483,783,1.982,810,3.812,862,3.132,863,3.023,874,2.609,897,3.255,919,3.925,920,3.52,924,2.136,927,3.077,937,4.798,938,4.501,939,2.836,942,2.836,965,3.255,969,3.925,987,3.023,991,3.132,1003,3.395,1060,3.559,1067,4.14,1068,5.538,1082,4.002,1083,3.559,1084,3.023,1087,3.559,1090,3.755,1091,3.559,1092,3.755,1093,4.002,1094,4.331,1095,3.755]],["t/318",[200,1.137,299,1.984,335,2.585,356,1.929,373,1.929,375,1.67,379,2.585,463,3.333,468,1.832,479,1.209,565,1.929,577,1.879,581,1.748,597,3.85,626,2.256,627,2.882,629,3.019,642,2.344,728,1.453,738,2.563,753,2.704,754,2.344,756,1.832,767,2.434,769,2.445,770,2.445,775,2.644,790,2.107,802,2.256,803,2.845,808,4.284,810,3.004,830,1.354,868,2.344,870,3.881,896,2.344,903,2.704,912,2.704,924,3.369,927,2.425,937,2.177,938,3.093,939,2.042,941,2.563,942,4.474,948,2.107,954,2.445,962,2.445,965,4.284,969,3.733,987,3.979,991,5.199,996,4.364,1000,2.882,1003,2.445,1013,2.563,1025,2.882,1067,3.831,1087,2.563,1095,2.704,1097,3.119,1098,3.119,1099,2.882,1100,2.882,1101,4.723,1102,3.119,1103,4.364,1104,5.701,1105,4.723,1106,3.119,1107,3.119,1108,3.119,1109,2.344,1110,2.563,1111,5.701,1112,2.704,1113,2.445,1114,3.119,1115,2.344,1116,3.119,1117,2.882,1118,4.095,1119,3.416,1120,2.882,1121,3.119,1122,3.119,1123,3.119,1124,3.119,1125,2.704,1126,2.256,1127,3.119,1128,3.119,1129,4.723,1130,4.723,1131,3.119]],["t/321",[8,1.106,200,2.416,315,2.121,375,3.06,394,1.819,463,2.996,468,2.377,479,1.568,562,1.645,570,2.278,582,2.664,585,4.134,586,3.99,590,2.825,629,1.921,661,2.266,711,3.276,721,3.325,724,2.57,733,3.042,742,2.574,754,3.042,756,3.357,761,2.377,764,3.128,805,4.476,830,1.757,854,1.852,855,3.042,896,3.042,908,2.438,909,6.179,919,3.743,920,3.892,930,3.173,969,2.65,991,2.927,1014,3.173,1113,3.173,1126,2.927,1133,4.047,1134,4.047,1135,4.047,1136,5.445,1137,5.716,1138,5.281,1139,4.047,1140,5.195,1141,4.047,1142,3.509,1143,3.739,1144,3.173,1145,3.739,1146,4.047,1147,3.173,1148,3.739,1149,3.739,1150,3.739,1151,3.739]],["t/323",[8,1.194,200,1.77,375,3.468,463,2.545,570,2.227,585,3.512,629,3.46,724,2.183,742,3.088,750,4.21,756,2.852,761,3.804,764,2.657,779,3.088,805,4.923,830,2.108,854,2.222,872,3.389,908,5.02,909,5.078,919,3.18,920,2.852,927,2.492,930,3.806,969,3.18,1140,5.078,1142,4.21,1143,4.486,1144,3.806,1149,4.486,1150,4.486,1151,7.699,1152,4.856,1153,3.99,1154,4.856,1155,4.856]],["t/325",[54,2.078,307,3.919,641,4.37,724,3.559,862,4.826,892,5.483,1067,4.02,1167,6.673,1170,5.483,1688,7.444,1689,6.673,1690,7.444]],["t/327",[8,0.644,307,4.297,311,2.929,392,2.747,557,3.009,559,2.747,570,2.015,571,2.668,581,1.553,582,1.955,711,2.405,720,3.289,724,3.289,742,3.728,750,3.638,755,2.03,767,2.885,773,3.447,781,2.296,782,2.405,783,1.92,803,2.527,854,1.92,870,3.447,872,2.929,903,3.638,904,3.153,935,3.447,939,2.747,942,3.839,948,2.834,983,3.638,991,3.034,1015,3.447,1067,4.931,1091,3.447,1100,3.876,1110,3.447,1157,6.757,1187,3.638,1592,3.034,1689,4.195,1691,4.595,1692,5.862,1693,4.68,1694,4.195,1695,3.876,1696,4.68,1697,4.68,1698,4.68,1699,4.195,1700,4.68,1701,4.68,1702,6.54,1703,4.68,1704,4.68,1705,3.876,1706,4.68,1707,4.68,1708,4.68,1709,4.68]],["t/330",[307,3.591,479,2.369,557,3.138,573,2.849,599,2.849,724,2.748,726,4.268,728,2.849,759,4.421,803,3.683,810,3.888,830,2.655,887,3.346,965,4.595,987,4.268,1012,5.301,1067,3.683,1125,5.301,1126,4.421,1710,6.82,1711,5.023,1712,6.114,1713,5.648,1714,5.648]],["t/332",[55,2.054,307,3.409,315,3.042,479,2.817,559,3.801,641,3.801,661,3.25,724,2.609,767,3.104,781,3.177,891,3.107,894,5.032,937,4.052,938,3.801,942,4.761,962,4.55,976,4.198,991,4.198,1059,4.362,1067,4.38,1071,5.974,1147,4.55,1691,4.55,1692,5.804,1715,5.804,1716,5.804]],["t/334",[8,0.346,200,1.333,241,1.156,307,3.434,311,2.553,313,2.749,335,2.002,354,3.122,371,1.475,375,1.206,379,2.527,390,1.644,479,2.265,538,1.572,553,1.031,557,2.37,561,1.393,562,1.876,566,2.262,573,1.05,578,2.414,579,2.712,599,1.05,605,1.953,606,1.85,617,1.953,622,1.953,629,1.736,632,1.85,638,2.252,641,1.475,671,3.711,692,1.233,711,1.291,713,1.85,718,2.252,722,1.393,724,1.012,726,1.572,754,2.749,755,1.09,759,1.629,767,1.972,773,1.85,790,1.521,795,1.393,805,1.521,807,1.133,810,2.326,824,2.252,830,1.588,843,3.005,847,3.379,852,2.252,854,1.031,861,1.85,862,3.34,874,2.782,891,1.206,894,5.069,897,1.693,927,1.156,934,2.081,942,4.989,947,2.782,965,2.749,968,1.291,986,2.081,987,3.711,988,1.765,998,4.266,1020,1.85,1022,1.629,1052,1.765,1059,2.749,1063,1.629,1067,4.59,1075,1.475,1090,1.953,1092,4.609,1093,4.911,1095,1.953,1109,1.693,1112,1.953,1113,1.765,1144,1.765,1147,4.167,1182,3.005,1187,1.953,1214,1.953,1226,1.432,1322,2.081,1370,4.368,1433,1.953,1475,3.657,1477,3.379,1519,1.693,1529,2.252,1699,2.252,1705,2.081,1711,1.85,1712,2.252,1714,2.081,1716,6.263,1717,2.512,1718,2.252,1719,2.512,1720,6.522,1721,2.512,1722,2.512,1723,4.08,1724,5.151,1725,4.08,1726,2.512,1727,2.512,1728,2.512,1729,2.512,1730,2.512,1731,4.618,1732,2.252,1733,2.512,1734,2.512,1735,2.512,1736,2.512,1737,2.512,1738,2.252,1739,2.512,1740,2.512,1741,2.512,1742,2.512,1743,2.512,1744,2.512,1745,4.08,1746,2.512,1747,4.08,1748,2.512,1749,2.081,1750,2.512]],["t/336",[307,4.743,313,5.187,581,2.555,900,4.52,1067,4.864,1187,5.985,1751,7.7]],["t/339",[8,1.051,379,2.892,382,2.508,394,1.63,463,3.981,479,1.405,581,1.342,582,1.69,583,3.191,613,4.141,614,2.98,657,2.03,717,2.449,728,2.462,755,3.312,764,3.411,767,2.256,786,3.028,788,2.725,810,2.306,830,3.558,854,3.134,872,5.721,900,4.081,908,4.724,920,3.66,954,2.843,969,3.46,973,2.843,991,3.821,1067,3.183,1136,6.444,1173,3.626,1230,2.449,1752,8.965,1753,6.847,1754,3.626,1755,4.045,1756,3.35,1757,4.045,1758,5.283,1759,4.045,1760,3.626]],["t/342",[8,1.116,54,1.807,55,2.054,56,2.085,57,2.214,200,2.894,382,3.769,391,3.042,570,1.995,582,2.705,583,2.705,629,2.755,639,3.496,696,4.38,741,4.769,854,2.656,887,3.177,1080,4.198,1161,4.362,1224,5.032,1226,4.624,1230,5.362]],["t/345",[8,1.231,241,3.045,341,4.651,374,4.875,390,2.667,391,3.863,392,3.885,537,4.687,618,4.862,1002,3.574,1231,4.978,1232,5.539,1233,4.459,1235,4.651]],["t/347",[8,1.063,219,3.877,233,5.145,332,3.753,341,4.214,368,3.454,370,3.521,374,4.417,390,2.417,391,3.629,392,3.521,526,5.204,527,4.417,528,4.417,618,4.778,760,3.239,1002,3.239,1231,4.677,1232,5.204,1233,4.04,1235,4.214,1329,4.661]],["t/349",[8,1.288,301,4.559,341,4.651,374,4.875,390,2.667,391,3.863,392,3.885,618,4.862,1002,3.574,1231,4.978,1232,5.539,1233,4.459,1235,4.651]],["t/353",[54,1.904,297,5.301,382,2.902,578,3.101,696,4.895,722,3.782,830,2.655,858,4.595,887,3.346,943,5.023,947,3.683,988,4.792,1047,4.792,1162,8.126,1170,5.023,1178,6.114,1227,5.301,1391,5.301,1761,6.82]],["t/355",[8,1.137,54,2.306,55,2.847,56,2.659,57,2.825,200,2.179,570,2.055,629,2.837,696,4.46,767,2.552,783,3.388,830,2.595,854,2.735,947,3.601,949,4.172,1226,4.709,1230,4.037,1520,4.685]],["t/358",[8,1.116,301,4.497,371,3.801,382,3.451,570,2.499,578,2.397,618,4.25,647,4.198,671,4.052,722,3.59,874,3.496,932,3.92,943,4.769,947,4.38,1002,3.496,1044,5.974,1050,4.052,1119,4.198,1164,5.032,1762,5.804,1763,6.475,1764,6.475,1765,6.475]],["t/360",[241,2.937,325,4.961,371,4.718,380,4.485,382,3.744,390,2.572,553,2.618,578,2.363,611,3.747,671,3.994,711,3.279,755,2.768,786,3.279,826,4.701,874,3.447,1044,6.48,1063,4.138,1074,3.864,1075,3.747,1099,5.286,1160,4.961,1164,4.961,1230,3.864,1286,4.961,1367,4.701,1619,5.721,1762,5.721,1766,4.961]],["t/364",[573,3.245,854,3.714,908,4.194,930,5.458,1084,4.86,1136,5.721,1767,7.767]],["t/367",[830,3.689,854,4.12,900,3.694,920,5.097,927,3.665,937,4.984,945,4.422,1732,5.641,1768,7.835,1769,7.966,1770,7.966,1771,6.293]],["t/369",[200,2.993,368,3.801,394,2.813,724,2.813,783,2.863,830,2.717,854,3.485,856,5.141,919,4.097,920,4.472,924,3.086,1059,4.702]],["t/371",[200,2.993,368,3.801,854,3.757,855,4.702,856,6.745,970,4.367,1043,5.723,1058,5.141,1218,6.257]],["t/373",[8,0.848,55,1.955,56,1.984,57,2.108,200,2.569,368,3.489,383,5.79,578,2.282,620,5.524,854,3.225,856,5.79,920,3.245,1006,6.51,1043,5.831,1046,5.524,1186,4.79,1212,3.328,1333,7.047,1523,5.104,1533,7.047,1772,6.163,1773,6.163,1774,6.163,1775,6.163]],["t/376",[479,2.543,603,5.145,671,4.582,899,6.064,921,6.064,968,3.762,1461,6.564,1705,6.064,1715,6.564,1731,6.564,1758,6.564,1776,7.322,1777,7.242,1778,7.322]],["t/379",[200,2.263,375,3.324,479,2.406,742,3.948,755,3.003,776,4.49,830,2.696,908,3.74,924,3.062,939,4.963,1080,4.49,1084,4.334,1136,6.227,1140,6.678,1147,4.867,1405,5.736,1779,6.926]],["t/381",[612,6.114,924,3.264,939,4.334,947,3.987,1109,4.974,1140,6.592,1147,5.188,1561,6.618,1592,4.786,1780,6.618,1781,7.383,1782,7.383]],["t/383",[479,2.483,692,3.506,711,3.672,803,3.859,854,3.535,924,4.091,927,3.289,935,5.264,989,5.919,1140,6.056,1783,7.147,1784,8.618,1785,7.147]],["t/385",[479,2.846,1592,5.312]],["t/388",[8,1.169,54,1.652,55,1.878,56,1.906,57,2.024,200,2.775,368,3.646,394,3.087,657,2.97,714,2.723,776,3.837,830,2.981,854,3.684,855,3.987,856,4.359,869,5.305,920,4.471,927,2.723,933,4.6,954,4.159,969,4.496,1031,3.987,1087,4.359,1214,4.6,1753,5.305,1768,5.305,1786,5.918]],["t/392",[375,3.224,382,2.859,578,2.487,593,4.067,597,4.067,645,4.067,767,2.571,783,2.756,830,2.615,858,5.59,921,5.564,947,3.628,988,4.72,1063,4.355,1161,4.526,1229,5.221,1286,6.45,1524,6.872,1591,6.022,1787,6.718,1788,6.718,1789,6.718,1790,6.718]],["t/394",[8,1.137,54,2.306,55,2.847,56,2.659,57,2.825,200,2.179,570,2.055,629,2.837,696,4.46,767,2.552,783,3.388,830,2.595,854,2.735,947,3.601,949,4.172,1226,4.709,1230,4.037,1520,4.685]],["t/396",[8,0.984,365,5.264,379,3.506,382,3.667,618,4.441,1002,3.859,1161,4.815,1176,5.919,1268,5.919,1391,5.555,1749,7.137,1791,7.725,1792,6.407]],["t/398",[8,0.976,365,5.222,379,3.479,382,3.65,618,4.425,1002,3.829,1161,4.777,1176,5.872,1268,5.872,1391,5.511,1749,7.103,1791,7.688,1792,6.356,1793,7.09]],["t/401",[8,1.04,54,1.832,55,2.082,56,1.515,57,2.245,309,2.944,315,3.551,479,2.841,557,2.165,570,1.45,581,1.561,582,3.158,583,3.158,584,2.849,611,3.853,614,3.465,722,2.609,724,2.645,726,2.944,727,3.896,728,3.82,738,3.465,764,3.22,781,2.308,798,3.05,803,4.082,808,3.169,887,2.308,891,2.258,911,4.422,924,2.902,932,2.849,943,4.834,947,2.541,961,4.217,990,3.306,1003,3.306,1011,2.762,1022,3.05,1077,3.657,1110,3.465,1125,3.657,1227,3.657,1408,3.465,1675,5.884,1691,3.306,1711,3.465,1754,4.217,1777,3.896,1794,4.217,1795,4.705,1796,4.705,1797,6.564]],["t/403",[479,2.695,556,3.778,557,3.57,570,2.391,573,2.522,581,2.003,582,3.241,583,2.522,614,4.447,661,3.894,711,3.102,724,2.433,726,4.855,728,3.581,741,4.447,763,4.693,796,4.447,798,3.914,802,3.914,803,3.261,891,2.898,896,4.068,911,5.227,972,4.693,973,4.243,1010,5.001,1060,4.447,1081,5.412,1282,5.001,1711,4.447,1798,6.038,1799,6.038]],["t/405",[134,5.927,552,3.186,553,3.301,575,4.134]],["t/407",[8,0.885,18,3.02,19,3.641,350,2.637,551,3.665,552,3.197,563,3.384,573,2.685,593,5.775,601,5.946,717,3.892,783,2.637,786,3.303,814,5.762,843,4.735,962,4.517,1531,4.996,1800,6.428,1801,6.428,1802,7.237,1803,6.428,1804,6.428,1805,6.428]],["t/409",[692,4.02,861,6.035]],["t/411",[8,1.106,18,2.485,19,3.623,33,2.654,45,2.654,46,2.654,47,2.485,48,2.654,49,2.385,350,2.17,390,2.866,550,3.563,551,4.58,552,2.816,553,2.917,554,3.309,555,4.054,556,3.309,557,2.434,558,3.563,559,4.174,560,4.174,561,2.933,562,1.926,563,3.744,565,2.933,569,3.429,570,1.63,571,3.015,572,3.429,573,3.356,574,3.309,575,2.717,576,4.997,577,2.856,578,1.958,579,2.784,628,4.997,724,2.131,779,3.015,851,4.38,1174,4.38,1738,4.741,1806,4.38,1807,5.289]],["t/413",[8,0.931,18,2.307,19,2.215,33,2.465,47,3.177,315,3.177,350,2.774,354,2.586,551,4.409,552,3.46,553,2.774,555,4.75,563,2.586,571,2.8,572,3.184,573,2.825,574,3.073,575,4.843,576,3.451,579,3.56,599,2.052,601,3.309,615,3.309,628,4.752,637,3.817,641,2.883,724,1.979,728,2.052,735,4.403,851,4.068,874,2.652,885,3.817,962,4.752,968,2.523,1516,4.068,1545,3.617,1695,4.068,1806,5.6,1808,4.911,1809,4.911,1810,6.762,1811,6.762,1812,4.911,1813,4.911,1814,4.911,1815,4.911,1816,4.403]],["t/415",[8,0.871,45,3.178,46,3.178,47,3.757,48,3.178,49,4.064,315,2.975,373,2.478,551,3.61,552,3.646,553,2.597,562,1.628,573,3.662,575,3.253,578,2.344,612,6.089,628,5.619,657,2.243,661,2.243,726,2.797,728,3.071,733,3.011,738,3.292,759,4.105,760,3.97,807,2.016,863,2.797,924,1.976,943,3.292,1013,4.663,1221,4.663,1550,4.007,1695,6.089,1714,3.702,1780,4.007,1806,5.244,1816,6.591,1817,4.47,1818,4.007,1819,4.47,1820,4.47,1821,4.47,1822,4.47,1823,4.47,1824,4.47,1825,4.47]],["t/417",[8,1.234,200,2.495,368,2.922,583,3.189,755,3.311,778,4.233,853,6.323,948,4.622,1040,5.623]],["t/419",[8,1.008,390,2.951,557,3.369,581,2.429,742,4.174,751,5.691,752,5.393,754,4.933,755,3.175,756,3.855,761,3.855,767,2.802,792,5.145,868,4.933,872,4.582]],["t/421",[8,1.016,479,2.564,573,3.084,587,4.974,764,3.622,789,4.786,799,4.974,800,4.094,809,4.974,864,6.618,922,5.438,1711,5.438,1826,7.383,1827,7.383]],["t/423",[8,1.24,49,3.472,394,3.103,479,2.675,578,3.335,728,3.217,755,3.339]],["t/425",[463,3.78,756,4.236,873,5.217,1009,5.654]],["t/427",[8,0.737,49,2.413,479,2.808,557,2.463,570,2.774,578,1.981,581,2.378,593,4.894,724,3.257,728,2.995,755,2.321,761,3.774,767,2.048,772,3.605,775,2.686,782,2.75,783,2.196,786,2.75,792,3.761,793,4.432,797,3.349,802,3.47,803,2.89,807,2.413,868,4.829,1003,5.037,1014,3.761,1017,4.432,1083,3.942,1120,4.432,1138,4.432,1159,4.432,1282,4.432,1694,4.798,1718,4.798,1777,4.432,1828,5.352,1829,5.352,1830,5.352,1831,5.352,1832,4.432,1833,4.798,1834,5.352,1835,5.352,1836,5.352]],["t/431",[390,3,556,4.658,581,2.47,761,3.919,807,3.357,827,4.826,858,5.015,907,6.673,908,4.02,1837,6.673,1838,7.444,1839,7.444,1840,7.444]],["t/433",[47,3.109,390,2.667,581,2.967,599,2.765,724,2.667,746,4.875,780,4.875,781,3.247,787,4.875,790,4.007,800,3.67,801,4.875,827,4.291,891,3.176,892,4.875,908,4.44,917,5.933,927,3.045,1014,4.651,1060,4.875,1144,4.651,1691,4.651,1841,6.618,1842,6.618,1843,6.618]],["t/435",[468,3.675,746,6.257,761,3.675,797,4.367,836,6.257,908,4.587,1012,5.425,1018,5.425,1019,5.425,1091,5.141,1419,5.425,1691,4.905,1713,5.781,1756,5.781,1760,6.257,1844,6.98,1845,6.98,1846,6.98,1847,6.98]],["t/437",[390,2.667,468,4.329,479,2.299,581,2.967,604,4.141,640,3.773,691,4.651,746,4.875,770,4.651,789,4.291,798,4.291,799,5.539,800,3.67,827,4.291,908,4.44,941,4.875,1061,5.481,1236,5.933,1510,6.809,1848,5.933,1849,6.618,1850,6.618]],["t/439",[390,2.77,394,2.77,570,2.118,581,2.28,746,6.198,761,3.618,782,3.531,783,2.819,789,4.455,800,3.811,827,4.455,908,3.711,957,4.829,972,6.541,1018,5.342,1019,5.342,1091,5.062,1159,5.692,1419,5.342,1794,6.161,1848,6.161]],["t/441",[47,3.064,49,2.941,379,3.2,390,3.283,581,2.703,726,4.081,769,4.583,781,3.2,800,3.616,801,4.804,807,2.941,810,3.718,827,5.282,858,4.394,908,4.399,927,3.001,957,4.583,1014,4.583,1142,5.069,1279,5.846,1510,5.401,1691,4.583,1756,5.401,1818,5.846,1832,5.401,1851,6.522]],["t/443",[390,3.391,479,3.159,573,2.871,581,3.017,797,4.3,827,5.455,887,3.372,908,4.544,1117,5.692,1516,5.692,1545,5.062,1713,5.692,1832,5.692,1833,6.161,1852,6.872,1853,6.872]],["t/445",[315,2.856,390,3.14,581,3.111,593,3.68,688,4.477,719,5.449,761,4.528,767,2.326,792,4.272,797,3.804,804,4.477,807,2.741,808,4.095,827,3.941,873,3.941,900,3.568,906,5.449,956,5.035,971,5.035,972,4.725,1009,4.272,1144,4.272,1193,5.035,1837,5.449,1854,6.079,1855,6.079,1856,6.079,1857,6.079,1858,6.079,1859,6.079,1860,6.079,1861,6.079,1862,6.079]],["t/447",[755,3.458,863,4.99,1182,5.874,1863,7.975,1864,7.975]],["t/450",[307,4.232,379,3.131,615,4.3,819,6.48,995,3.994,1049,5.704,1250,5.704,1365,5.414,1405,6.656,1509,4.3,1544,6.247,1623,4.701,1865,4.701,1866,8.037,1867,6.656]],["t/452",[152,3.019,155,4.349,162,4.346,307,3.35,317,4.02,335,3.935,350,4.101,354,1.495,379,1.393,562,1.034,579,1.495,605,3.498,607,4.072,609,2.642,615,1.913,671,1.777,728,3.351,778,3.528,783,4.091,818,3.625,891,2.16,900,1.667,927,2.573,928,1.995,944,1.667,954,3.163,955,2.207,960,4.972,995,1.777,1040,4.118,1109,1.913,1113,3.163,1115,1.913,1250,4.849,1365,4.286,1474,4.034,1509,1.913,1541,4.631,1544,6.235,1557,2.545,1623,3.315,1766,4.346,1865,2.091,1867,5.269,1868,2.839,1869,6.936,1870,5.591,1871,2.839]],["t/454",[155,2.377,307,3.357,317,4.076,335,3.941,379,2.215,570,2.932,579,3.892,615,3.042,778,4.876,818,4.793,891,3.855,927,2.934,934,3.739,955,3.509,960,5.708,995,2.825,1040,5.445,1113,4.481,1115,3.042,1265,8.046,1365,4.296,1509,4.296,1541,6.123,1544,6.835,1593,3.173,1623,3.325,1766,5.746,1865,3.325,1867,5.281]],["t/456",[152,0.87,193,5.08,200,3.188,317,3.711,335,0.791,340,1.009,350,3.277,354,2.348,356,2.067,360,1.133,375,0.774,379,4.626,394,2.037,480,0.919,494,0.946,562,0.587,563,4.867,597,0.976,603,1.972,607,4.049,615,1.891,621,1.187,623,1.445,624,1.253,625,5.853,629,1.194,640,0.919,645,0.976,714,4.367,716,2.62,778,3.077,781,0.791,782,1.442,783,2.719,818,3.598,835,1.445,876,1.253,927,2.745,932,2.257,939,0.946,944,3.711,946,4.389,950,2.898,955,2.898,960,3.739,970,2.333,982,1.253,986,2.325,995,4.999,1015,2.746,1037,2.182,1071,1.187,1126,1.045,1209,2.182,1224,1.253,1225,1.335,1295,1.445,1308,2.333,1408,2.067,1477,1.335,1509,1.086,1593,4.192,1604,4.532,1623,2.746,1766,5.984,1802,7.161,1865,1.187,1872,7.343,1873,2.807,1874,1.445,1875,2.807,1876,2.807,1877,1.612,1878,1.612,1879,1.612,1880,1.612,1881,1.612,1882,2.807]],["t/458",[18,2.346,200,2.872,340,3.125,368,2.618,375,2.397,379,4.559,552,2.708,563,4.417,597,4.141,603,3.509,607,4.015,615,4.608,628,5.481,629,3.32,651,4.476,669,6.993,714,4.276,782,3.514,930,3.509,944,4.015,995,3.125,1015,3.678,1103,4.136,1347,6.063,1509,3.364,1865,3.678,1874,4.476,1883,4.993,1884,4.993,1885,4.993,1886,4.993,1887,6.839,1888,6.839,1889,6.839,1890,4.993]],["t/461",[391,3.556,692,4.652,789,4.908,861,5.576,945,6.662,1891,7.57,1892,7.57]],["t/463",[1049,4.681,1249,4.828,1250,4.681,1251,6.771]]],"invertedIndex":[["0",{"_index":368,"t":{"31":{"position":[[1230,1],[1897,1],[1899,1],[1901,1],[1903,1],[2241,1]]},"33":{"position":[[87,1],[89,1],[91,1],[93,1],[197,1],[199,1],[201,1],[203,1],[224,1],[226,1],[228,1],[230,1]]},"45":{"position":[[54,1],[56,1]]},"49":{"position":[[249,1],[251,1],[253,1],[255,1]]},"96":{"position":[[95,1],[99,1],[926,1]]},"98":{"position":[[80,1],[84,1]]},"100":{"position":[[28,1]]},"130":{"position":[[54,1],[56,1]]},"134":{"position":[[249,1],[251,1],[253,1],[255,1]]},"148":{"position":[[1230,1],[1897,1],[1899,1],[1901,1],[1903,1],[2241,1]]},"150":{"position":[[87,1],[89,1],[91,1],[93,1],[197,1],[199,1],[201,1],[203,1],[224,1],[226,1],[228,1],[230,1]]},"182":{"position":[[4473,1],[4477,1],[5309,1],[5313,1]]},"184":{"position":[[655,1]]},"186":{"position":[[339,1],[341,1],[418,1]]},"189":{"position":[[35,1]]},"203":{"position":[[31,1],[58,1]]},"215":{"position":[[270,1],[272,1],[274,1],[276,1]]},"223":{"position":[[34,1]]},"231":{"position":[[408,1],[412,1]]},"233":{"position":[[270,1],[274,1]]},"235":{"position":[[107,1],[111,1]]},"247":{"position":[[88,1],[90,1],[157,1],[159,1],[225,1],[227,1],[341,1],[343,1]]},"249":{"position":[[497,1],[499,1],[979,1],[981,1],[1460,1],[1462,1]]},"310":{"position":[[2417,1],[2421,1],[3253,1],[3257,1]]},"347":{"position":[[110,1],[112,1],[114,1],[116,1]]},"369":{"position":[[48,1],[52,1],[87,1],[91,1],[119,1],[123,1]]},"371":{"position":[[19,1],[23,1],[41,1],[45,1],[76,1],[80,1]]},"373":{"position":[[12,1],[16,1],[166,1],[170,1]]},"388":{"position":[[94,1],[98,1],[133,1],[137,1],[187,1],[191,1]]},"417":{"position":[[54,1]]},"458":{"position":[[393,1],[462,1]]}}}],["001",{"_index":1747,"t":{"334":{"position":[[2177,3],[2423,3]]}}}],["03",{"_index":1304,"t":{"228":{"position":[[713,2]]}}}],["04",{"_index":1260,"t":{"205":{"position":[[21,2]]}}}],["0_201",{"_index":1284,"t":{"223":{"position":[[34,5]]}}}],["1",{"_index":200,"t":{"20":{"position":[[202,1]]},"31":{"position":[[1232,1],[2243,1]]},"45":{"position":[[58,1]]},"66":{"position":[[7,1],[170,1],[345,1]]},"68":{"position":[[7,1]]},"70":{"position":[[7,1]]},"72":{"position":[[7,1]]},"74":{"position":[[7,1]]},"76":{"position":[[7,1]]},"96":{"position":[[97,1]]},"98":{"position":[[346,1]]},"130":{"position":[[58,1]]},"148":{"position":[[1232,1],[2243,1]]},"156":{"position":[[5,1]]},"174":{"position":[[202,1]]},"182":{"position":[[214,1],[240,1],[242,1],[722,1],[1414,1],[1642,1],[1818,1],[2036,1],[2494,1],[2496,1],[2744,1],[3368,1],[4336,1],[4765,1],[7899,1],[8929,1],[8967,1],[8969,1],[9572,1],[9944,1],[10595,1],[10620,1],[10622,1],[10647,1],[10703,1],[10721,1],[10752,1],[10789,1],[10958,1]]},"184":{"position":[[3390,1]]},"186":{"position":[[337,1]]},"189":{"position":[[7,1],[12,1],[30,1]]},"203":{"position":[[7,1],[12,1],[26,1],[54,1]]},"228":{"position":[[7,1],[637,1],[736,1]]},"231":{"position":[[810,1]]},"243":{"position":[[7,1]]},"247":{"position":[[2,1],[4,1],[92,1],[161,1],[229,1],[345,1],[412,1],[1257,1],[1259,1],[1736,1],[1738,1],[2222,1],[2224,1]]},"249":{"position":[[4,1],[501,1],[771,1],[773,1],[983,1],[1252,1],[1254,1],[1464,1],[1740,1],[1742,1]]},"310":{"position":[[438,1],[440,1],[688,1],[1312,1],[2280,1],[2709,1]]},"318":{"position":[[361,1]]},"321":{"position":[[2,1],[4,1],[607,1]]},"323":{"position":[[4,1]]},"334":{"position":[[456,1],[1775,1]]},"342":{"position":[[7,1],[12,1],[22,1]]},"355":{"position":[[7,1]]},"369":{"position":[[50,1],[89,1],[121,1]]},"371":{"position":[[21,1],[43,1],[78,1]]},"373":{"position":[[14,1],[168,1]]},"379":{"position":[[139,1]]},"388":{"position":[[96,1],[135,1],[189,1]]},"394":{"position":[[7,1]]},"417":{"position":[[52,1]]},"456":{"position":[[39,1],[78,1],[136,1],[209,1],[235,1],[291,1],[354,1],[402,1],[423,1],[454,1],[539,1],[542,1],[605,1],[626,1],[652,1],[987,1],[1212,1],[1286,1],[1307,1],[1425,1],[1558,1],[1590,1],[1657,1],[1738,1],[1799,1],[1893,1],[1928,1],[1958,1],[2019,1],[2101,1],[2127,1],[2186,1],[2270,1],[2312,1],[2333,1],[2373,1],[2408,1],[2466,1],[2505,1],[2544,1],[2565,1],[2596,1],[2698,1],[2708,1],[2779,1],[2800,1],[2826,1],[2968,1],[3057,1],[3078,1],[3104,1]]},"458":{"position":[[39,1],[75,1],[96,1],[162,1],[183,1]]}}}],["10",{"_index":494,"t":{"37":{"position":[[324,2]]},"53":{"position":[[324,2]]},"64":{"position":[[97,2]]},"85":{"position":[[912,2]]},"98":{"position":[[273,3]]},"102":{"position":[[912,2]]},"120":{"position":[[992,2]]},"138":{"position":[[324,2]]},"154":{"position":[[324,2]]},"228":{"position":[[553,2]]},"456":{"position":[[1506,2]]}}}],["100",{"_index":631,"t":{"66":{"position":[[111,3]]},"68":{"position":[[71,3]]}}}],["11",{"_index":1225,"t":{"189":{"position":[[32,2]]},"228":{"position":[[601,2],[707,2],[805,2]]},"456":{"position":[[1698,2]]}}}],["12",{"_index":480,"t":{"37":{"position":[[214,2]]},"53":{"position":[[214,2]]},"64":{"position":[[47,2]]},"85":{"position":[[616,2]]},"102":{"position":[[616,2]]},"120":{"position":[[684,2]]},"138":{"position":[[214,2]]},"154":{"position":[[214,2]]},"184":{"position":[[650,2]]},"247":{"position":[[1332,3],[1811,3],[2297,3]]},"249":{"position":[[846,3],[1327,3],[1815,3]]},"456":{"position":[[1850,2]]}}}],["123",{"_index":1344,"t":{"233":{"position":[[476,3]]}}}],["12345",{"_index":1351,"t":{"247":{"position":[[94,5]]},"249":{"position":[[503,5]]}}}],["127",{"_index":525,"t":{"45":{"position":[[50,3]]},"130":{"position":[[50,3]]},"247":{"position":[[84,3],[153,3],[221,3],[337,3]]},"249":{"position":[[493,3],[975,3],[1456,3]]}}}],["128m",{"_index":1281,"t":{"221":{"position":[[207,4]]}}}],["13",{"_index":1224,"t":{"189":{"position":[[9,2]]},"203":{"position":[[9,2]]},"342":{"position":[[9,2]]},"456":{"position":[[2061,2]]}}}],["130",{"_index":684,"t":{"72":{"position":[[151,3]]}}}],["14",{"_index":1877,"t":{"456":{"position":[[2273,2]]}}}],["140",{"_index":694,"t":{"72":{"position":[[317,3]]}}}],["15",{"_index":623,"t":{"64":{"position":[[80,2]]},"456":{"position":[[2508,2]]}}}],["15100399015",{"_index":880,"t":{"100":{"position":[[255,11]]},"116":{"position":[[267,11]]}}}],["16",{"_index":1879,"t":{"456":{"position":[[2726,2]]}}}],["168",{"_index":1314,"t":{"231":{"position":[[146,3]]}}}],["16g",{"_index":1264,"t":{"207":{"position":[[18,3]]}}}],["17",{"_index":1295,"t":{"228":{"position":[[604,2]]},"456":{"position":[[3015,2]]}}}],["18",{"_index":1303,"t":{"228":{"position":[[710,2],[808,2]]}}}],["19",{"_index":1254,"t":{"203":{"position":[[28,2]]},"228":{"position":[[760,2]]}}}],["2",{"_index":629,"t":{"66":{"position":[[52,1],[160,1],[166,1],[172,1],[335,1],[341,1],[347,1]]},"68":{"position":[[145,1]]},"96":{"position":[[924,1]]},"98":{"position":[[82,1]]},"100":{"position":[[26,1]]},"140":{"position":[[5,1]]},"182":{"position":[[724,1],[2009,1],[2034,1],[2492,1],[2742,1],[2746,1],[3366,1],[4334,1],[4475,1],[4763,1],[4767,1],[5311,1],[5525,1],[5527,1],[6363,1],[6772,1],[7517,1],[7895,1],[8156,1],[8160,1],[8496,1],[9574,1],[9917,1],[9942,1],[10322,1],[10324,1],[10649,1],[10763,1],[10787,1],[10808,1],[10810,1],[10835,1],[10867,1],[10911,1],[10995,1]]},"186":{"position":[[416,1]]},"228":{"position":[[195,1],[532,1]]},"231":{"position":[[410,1],[852,1]]},"233":{"position":[[272,1]]},"235":{"position":[[109,1]]},"243":{"position":[[195,1]]},"247":{"position":[[0,1],[410,1],[414,1]]},"249":{"position":[[0,1],[2,1],[100,1],[102,1],[104,1],[1992,1],[1994,1],[2112,1],[2114,1]]},"310":{"position":[[436,1],[686,1],[690,1],[1310,1],[2278,1],[2419,1],[2707,1],[2711,1],[3255,1]]},"318":{"position":[[357,1],[618,1],[622,1],[958,1]]},"321":{"position":[[609,1]]},"323":{"position":[[2,1],[382,1],[384,1]]},"334":{"position":[[1008,1],[2015,1]]},"342":{"position":[[210,1]]},"355":{"position":[[119,1]]},"394":{"position":[[119,1]]},"456":{"position":[[170,1],[2865,1]]},"458":{"position":[[121,1],[380,1],[449,1]]}}}],["20",{"_index":1259,"t":{"205":{"position":[[18,2]]},"228":{"position":[[556,2]]}}}],["200",{"_index":667,"t":{"68":{"position":[[414,3]]}}}],["201",{"_index":1285,"t":{"223":{"position":[[36,3]]}}}],["2023",{"_index":980,"t":{"124":{"position":[[8,4]]},"140":{"position":[[8,4]]},"156":{"position":[[8,4]]}}}],["21",{"_index":1300,"t":{"228":{"position":[[661,2]]}}}],["210",{"_index":686,"t":{"72":{"position":[[161,3]]}}}],["213",{"_index":1041,"t":{"182":{"position":[[3280,3]]},"310":{"position":[[1224,3]]}}}],["215",{"_index":683,"t":{"72":{"position":[[146,3]]}}}],["245",{"_index":685,"t":{"72":{"position":[[156,3]]}}}],["24875",{"_index":1305,"t":{"228":{"position":[[748,5]]}}}],["256",{"_index":1280,"t":{"221":{"position":[[203,3]]}}}],["26",{"_index":1307,"t":{"228":{"position":[[811,2]]}}}],["27711",{"_index":1299,"t":{"228":{"position":[[649,5]]}}}],["29",{"_index":1306,"t":{"228":{"position":[[763,2]]}}}],["2d",{"_index":18,"t":{"2":{"position":[[48,2]]},"4":{"position":[[44,2]]},"22":{"position":[[48,2]]},"24":{"position":[[44,2]]},"39":{"position":[[48,2]]},"41":{"position":[[44,2]]},"55":{"position":[[151,2]]},"57":{"position":[[139,2]]},"87":{"position":[[151,2]]},"89":{"position":[[139,2]]},"104":{"position":[[176,2]]},"106":{"position":[[164,2]]},"114":{"position":[[351,2]]},"126":{"position":[[44,2]]},"142":{"position":[[44,2]]},"158":{"position":[[44,2]]},"407":{"position":[[43,2]]},"411":{"position":[[165,2]]},"413":{"position":[[553,2]]},"458":{"position":[[318,2]]}}}],["3",{"_index":375,"t":{"31":{"position":[[2269,1]]},"66":{"position":[[234,1]]},"68":{"position":[[375,1]]},"124":{"position":[[5,1]]},"148":{"position":[[2269,1]]},"182":{"position":[[1416,1],[3370,1],[6365,1],[8500,1],[8901,1],[8927,1],[8965,1],[9570,1],[9915,1],[9940,1],[10320,1],[10705,1],[10837,1],[10931,1],[10956,1],[10993,1]]},"203":{"position":[[39,1],[56,1]]},"228":{"position":[[686,1]]},"231":{"position":[[817,1],[886,1]]},"249":{"position":[[1996,1]]},"310":{"position":[[1314,1]]},"318":{"position":[[962,1]]},"321":{"position":[[0,1],[605,1]]},"323":{"position":[[0,1],[380,1]]},"334":{"position":[[1172,1]]},"379":{"position":[[136,1]]},"392":{"position":[[148,1]]},"456":{"position":[[357,1]]},"458":{"position":[[309,1]]}}}],["300",{"_index":687,"t":{"72":{"position":[[166,3]]}}}],["3000",{"_index":1165,"t":{"184":{"position":[[873,4],[998,4]]}}}],["31",{"_index":1294,"t":{"228":{"position":[[559,2]]}}}],["3306",{"_index":1331,"t":{"233":{"position":[[143,4],[426,4]]}}}],["3d",{"_index":19,"t":{"2":{"position":[[51,2],[54,2]]},"4":{"position":[[47,2],[50,2]]},"22":{"position":[[51,2],[54,2]]},"24":{"position":[[47,2],[50,2]]},"39":{"position":[[51,2],[54,2]]},"41":{"position":[[47,2],[50,2]]},"55":{"position":[[155,2],[163,2]]},"57":{"position":[[143,2],[151,2]]},"66":{"position":[[27,2],[65,2],[245,2],[498,2]]},"68":{"position":[[20,2],[149,2],[379,2]]},"70":{"position":[[33,2]]},"87":{"position":[[155,2],[163,2]]},"89":{"position":[[143,2],[151,2]]},"104":{"position":[[180,2],[188,2]]},"106":{"position":[[168,2],[176,2]]},"114":{"position":[[355,2]]},"126":{"position":[[47,2],[50,2]]},"142":{"position":[[47,2],[50,2]]},"158":{"position":[[47,2],[50,2]]},"407":{"position":[[62,2],[81,2]]},"411":{"position":[[169,2],[177,2],[215,2]]},"413":{"position":[[557,2]]}}}],["3x",{"_index":1888,"t":{"458":{"position":[[377,2],[446,2]]}}}],["4",{"_index":645,"t":{"66":{"position":[[460,1]]},"124":{"position":[[15,1]]},"182":{"position":[[1644,1],[4338,1],[6774,1],[10723,1],[10869,1]]},"203":{"position":[[41,1]]},"228":{"position":[[659,1],[758,1],[784,1]]},"231":{"position":[[859,1]]},"249":{"position":[[2116,1]]},"310":{"position":[[2282,1]]},"392":{"position":[[152,1]]},"456":{"position":[[545,1]]}}}],["4096",{"_index":1292,"t":{"228":{"position":[[544,4],[592,4],[698,4],[796,4]]}}}],["47",{"_index":1301,"t":{"228":{"position":[[664,2]]}}}],["4s",{"_index":1379,"t":{"247":{"position":[[1284,2],[1763,2],[2249,2]]},"249":{"position":[[798,2],[1279,2],[1767,2]]}}}],["4x",{"_index":1889,"t":{"458":{"position":[[384,2],[453,2]]}}}],["5",{"_index":597,"t":{"59":{"position":[[107,1]]},"64":{"position":[[15,1]]},"66":{"position":[[128,1],[133,1],[289,1],[294,1]]},"182":{"position":[[1820,1],[7519,1],[7897,1],[8158,1],[8498,1],[10754,1],[10913,1]]},"184":{"position":[[653,1]]},"231":{"position":[[819,1]]},"318":{"position":[[359,1],[620,1],[960,1]]},"392":{"position":[[150,1]]},"456":{"position":[[769,1]]},"458":{"position":[[389,1],[458,1]]}}}],["50",{"_index":1730,"t":{"334":{"position":[[1258,2]]}}}],["500",{"_index":1385,"t":{"247":{"position":[[2392,3]]},"249":{"position":[[1910,3]]}}}],["5010",{"_index":1356,"t":{"247":{"position":[[231,4]]},"249":{"position":[[1466,4]]}}}],["502",{"_index":1386,"t":{"247":{"position":[[2396,3]]},"249":{"position":[[1914,3]]}}}],["503",{"_index":1387,"t":{"247":{"position":[[2400,3]]},"249":{"position":[[1918,3]]}}}],["504",{"_index":1388,"t":{"247":{"position":[[2404,3]]},"249":{"position":[[1922,3]]}}}],["50x",{"_index":1389,"t":{"247":{"position":[[2409,3],[2431,3]]},"249":{"position":[[1927,3],[1949,3]]}}}],["5110",{"_index":1354,"t":{"247":{"position":[[163,4]]},"249":{"position":[[985,4]]}}}],["512m",{"_index":1276,"t":{"221":{"position":[[70,4],[140,4]]}}}],["54",{"_index":469,"t":{"37":{"position":[[120,2]]},"53":{"position":[[120,2]]},"85":{"position":[[383,2]]},"102":{"position":[[383,2]]},"120":{"position":[[454,2]]},"138":{"position":[[120,2]]},"154":{"position":[[120,2]]}}}],["57",{"_index":1296,"t":{"228":{"position":[[607,2]]}}}],["6",{"_index":621,"t":{"64":{"position":[[64,1]]},"68":{"position":[[433,1]]},"156":{"position":[[15,1]]},"228":{"position":[[580,1]]},"456":{"position":[[937,1]]}}}],["600",{"_index":362,"t":{"31":{"position":[[1148,3],[2147,3]]},"148":{"position":[[1148,3],[2147,3]]},"247":{"position":[[1307,4],[1786,4],[2272,4]]},"249":{"position":[[821,4],[1302,4],[1790,4]]},"256":{"position":[[83,4]]}}}],["63",{"_index":1089,"t":{"182":{"position":[[6769,2]]},"314":{"position":[[373,2]]}}}],["6b",{"_index":837,"t":{"96":{"position":[[256,2]]}}}],["7",{"_index":982,"t":{"140":{"position":[[15,1]]},"205":{"position":[[7,1]]},"225":{"position":[[7,1]]},"456":{"position":[[1070,1]]}}}],["72",{"_index":1733,"t":{"334":{"position":[[1408,2]]}}}],["8",{"_index":360,"t":{"31":{"position":[[1139,1],[2138,1],[2271,1]]},"64":{"position":[[31,1]]},"148":{"position":[[1139,1],[2138,1],[2271,1]]},"223":{"position":[[32,1]]},"233":{"position":[[207,1]]},"456":{"position":[[1255,1]]}}}],["80",{"_index":1273,"t":{"215":{"position":[[252,2]]}}}],["8080",{"_index":1393,"t":{"249":{"position":[[207,4]]}}}],["8099",{"_index":1248,"t":{"199":{"position":[[29,4]]},"215":{"position":[[255,4]]},"240":{"position":[[40,4]]},"247":{"position":[[400,4],[807,4]]}}}],["8765",{"_index":333,"t":{"31":{"position":[[665,4],[1907,4]]},"33":{"position":[[97,4],[207,4],[244,4],[253,4],[291,4],[355,4],[408,4]]},"148":{"position":[[665,4],[1907,4]]},"150":{"position":[[97,4],[207,4],[244,4],[253,4],[291,4],[355,4],[408,4]]}}}],["8core",{"_index":1262,"t":{"207":{"position":[[4,5]]}}}],["9",{"_index":835,"t":{"96":{"position":[[224,1]]},"456":{"position":[[1381,1]]}}}],["__file__",{"_index":385,"t":{"31":{"position":[[2369,8]]},"148":{"position":[[2369,8]]}}}],["__name__",{"_index":321,"t":{"31":{"position":[[264,8],[1499,8]]},"148":{"position":[[264,8],[1499,8]]}}}],["abbrevi",{"_index":1192,"t":{"184":{"position":[[2153,13]]}}}],["abc",{"_index":372,"t":{"31":{"position":[[2119,3]]},"148":{"position":[[2119,3]]}}}],["abid",{"_index":1855,"t":{"445":{"position":[[106,5]]}}}],["abil",{"_index":1149,"t":{"182":{"position":[[9826,7],[10355,7]]},"321":{"position":[[861,7]]},"323":{"position":[[415,7]]}}}],["abov",{"_index":1286,"t":{"223":{"position":[[43,5]]},"225":{"position":[[12,5]]},"360":{"position":[[84,5]]},"392":{"position":[[54,5],[157,5]]}}}],["abroad",{"_index":1240,"t":{"197":{"position":[[142,6]]},"231":{"position":[[557,6]]}}}],["abstain",{"_index":1856,"t":{"445":{"position":[[148,10]]}}}],["abstract",{"_index":1456,"t":{"264":{"position":[[164,8]]},"292":{"position":[[1195,8]]}}}],["access",{"_index":889,"t":{"108":{"position":[[58,6]]},"199":{"position":[[0,6]]},"215":{"position":[[148,6],[164,6]]},"217":{"position":[[0,6]]},"247":{"position":[[357,6],[675,6]]},"249":{"position":[[214,6],[267,6],[298,6]]},"251":{"position":[[8,6]]},"273":{"position":[[272,6]]},"280":{"position":[[107,6]]}}}],["access_log",{"_index":1396,"t":{"249":{"position":[[267,10]]}}}],["accident",{"_index":1038,"t":{"182":{"position":[[3033,12]]},"310":{"position":[[977,12]]}}}],["accord",{"_index":1080,"t":{"182":{"position":[[6233,9]]},"228":{"position":[[251,9]]},"243":{"position":[[239,9]]},"276":{"position":[[1069,9]]},"286":{"position":[[409,9],[448,9],[1490,9]]},"312":{"position":[[680,9]]},"342":{"position":[[254,9]]},"379":{"position":[[86,9]]}}}],["account",{"_index":614,"t":{"61":{"position":[[101,7]]},"251":{"position":[[176,7]]},"339":{"position":[[889,7]]},"401":{"position":[[49,7]]},"403":{"position":[[252,8]]}}}],["accuraci",{"_index":1816,"t":{"413":{"position":[[680,8]]},"415":{"position":[[390,8],[555,8],[907,8]]}}}],["achiev",{"_index":885,"t":{"104":{"position":[[384,7]]},"106":{"position":[[372,7]]},"262":{"position":[[661,7]]},"413":{"position":[[296,7]]}}}],["activ",{"_index":797,"t":{"85":{"position":[[930,8],[1038,8],[1072,10]]},"102":{"position":[[930,8],[1038,8],[1072,10]]},"120":{"position":[[1010,8],[1117,8],[1151,10]]},"182":{"position":[[1922,10],[1950,10]]},"307":{"position":[[92,10],[120,10]]},"427":{"position":[[342,8]]},"435":{"position":[[75,10]]},"443":{"position":[[93,8]]},"445":{"position":[[16,8]]}}}],["ad",{"_index":1113,"t":{"182":{"position":[[8264,6],[9756,6]]},"318":{"position":[[726,6]]},"321":{"position":[[791,6]]},"334":{"position":[[761,6]]},"452":{"position":[[293,6],[476,6]]},"454":{"position":[[101,6],[600,6]]}}}],["add",{"_index":335,"t":{"31":{"position":[[676,3],[792,3],[896,3],[1031,3],[1882,3],[2030,3]]},"33":{"position":[[72,3],[166,3],[302,3],[419,3],[473,3]]},"59":{"position":[[155,3]]},"148":{"position":[[676,3],[792,3],[896,3],[1031,3],[1882,3],[2030,3]]},"150":{"position":[[72,3],[166,3],[302,3],[419,3],[473,3]]},"182":{"position":[[3913,3],[3967,3],[5257,3],[5315,3],[7938,3],[8390,3]]},"186":{"position":[[546,3],[603,3]]},"233":{"position":[[284,4]]},"235":{"position":[[121,4]]},"247":{"position":[[1217,3],[1696,3],[2182,3]]},"249":{"position":[[172,3],[731,3],[1212,3],[1700,3]]},"276":{"position":[[1215,3]]},"310":{"position":[[1857,3],[1911,3],[3201,3],[3259,3]]},"318":{"position":[[400,3],[852,3]]},"334":{"position":[[728,3],[2191,3]]},"452":{"position":[[193,3],[376,3],[958,3],[1016,3],[1054,3],[1188,3],[1227,3],[1359,3]]},"454":{"position":[[36,3],[469,3],[517,3],[543,3]]},"456":{"position":[[359,3]]}}}],["add_connector",{"_index":334,"t":{"31":{"position":[[676,13]]},"33":{"position":[[302,13],[419,13],[473,13]]},"148":{"position":[[676,13]]},"150":{"position":[[302,13],[419,13],[473,13]]}}}],["add_listen",{"_index":369,"t":{"31":{"position":[[1882,12]]},"33":{"position":[[72,12],[166,12]]},"148":{"position":[[1882,12]]},"150":{"position":[[72,12],[166,12]]}}}],["addhandl",{"_index":328,"t":{"31":{"position":[[392,10],[493,10],[1627,10],[1728,10]]},"148":{"position":[[392,10],[493,10],[1627,10],[1728,10]]}}}],["addit",{"_index":1536,"t":{"276":{"position":[[1190,8]]},"282":{"position":[[1441,10],[1735,8]]},"286":{"position":[[1513,8]]},"292":{"position":[[1286,8],[2169,8]]},"294":{"position":[[503,8],[2039,8]]}}}],["addr",{"_index":403,"t":{"33":{"position":[[27,4]]},"43":{"position":[[55,4]]},"45":{"position":[[11,4]]},"128":{"position":[[55,4]]},"130":{"position":[[11,4]]},"150":{"position":[[27,4]]},"247":{"position":[[1086,4],[1128,4],[1158,4],[1171,4],[1565,4],[1607,4],[1637,4],[1650,4],[2051,4],[2093,4],[2123,4],[2136,4]]},"249":{"position":[[600,4],[642,4],[672,4],[685,4],[1081,4],[1123,4],[1153,4],[1166,4],[1569,4],[1611,4],[1641,4],[1654,4]]}}}],["address",{"_index":887,"t":{"104":{"position":[[814,7]]},"106":{"position":[[802,7]]},"108":{"position":[[1460,7]]},"110":{"position":[[38,7]]},"186":{"position":[[568,7]]},"197":{"position":[[49,7],[124,7],[188,7],[250,7]]},"215":{"position":[[262,7]]},"217":{"position":[[30,7]]},"228":{"position":[[23,7]]},"231":{"position":[[464,7],[539,7],[603,7]]},"243":{"position":[[23,7]]},"247":{"position":[[56,7],[118,7],[186,7],[991,7],[1493,7],[1979,7]]},"249":{"position":[[528,7],[1009,7],[1497,7]]},"330":{"position":[[56,9]]},"342":{"position":[[38,7]]},"353":{"position":[[152,7]]},"401":{"position":[[786,7]]},"443":{"position":[[64,10]]}}}],["adm",{"_index":1252,"t":{"199":{"position":[[71,3]]}}}],["admin",{"_index":1251,"t":{"199":{"position":[[65,5]]},"217":{"position":[[82,5],[88,5]]},"240":{"position":[[76,5],[82,5]]},"251":{"position":[[197,5],[203,5]]},"463":{"position":[[31,5],[37,5]]}}}],["advanc",{"_index":1132,"t":{"182":{"position":[[8904,8],[10934,8]]}}}],["advantag",{"_index":1455,"t":{"264":{"position":[[135,9]]}}}],["advertori",{"_index":1759,"t":{"339":{"position":[[813,12]]}}}],["aesthet",{"_index":1734,"t":{"334":{"position":[[1463,10]]}}}],["affect",{"_index":1724,"t":{"334":{"position":[[656,6],[1047,8],[1453,9]]}}}],["agent",{"_index":592,"t":{"59":{"position":[[52,5],[133,5],[216,5]]},"83":{"position":[[205,5]]},"197":{"position":[[217,5]]},"231":{"position":[[627,5]]}}}],["ai",{"_index":134,"t":{"12":{"position":[[72,2]]},"96":{"position":[[67,2],[724,2]]},"114":{"position":[[277,2]]},"166":{"position":[[72,2]]},"405":{"position":[[0,2]]}}}],["aim",{"_index":556,"t":{"55":{"position":[[86,4],[283,4]]},"57":{"position":[[74,4],[271,4]]},"87":{"position":[[86,4],[283,4]]},"89":{"position":[[74,4],[271,4]]},"104":{"position":[[86,4],[308,4]]},"106":{"position":[[74,4],[296,4]]},"403":{"position":[[41,5]]},"411":{"position":[[282,4]]},"431":{"position":[[12,3]]}}}],["algorithm",{"_index":1550,"t":{"278":{"position":[[424,9]]},"415":{"position":[[517,10]]}}}],["align",{"_index":1441,"t":{"262":{"position":[[222,9]]}}}],["allow",{"_index":1144,"t":{"182":{"position":[[9473,5],[10238,5]]},"321":{"position":[[508,5]]},"323":{"position":[[298,5]]},"334":{"position":[[557,7]]},"433":{"position":[[85,8]]},"445":{"position":[[331,8]]}}}],["alreadi",{"_index":1227,"t":{"191":{"position":[[61,7]]},"249":{"position":[[33,7]]},"353":{"position":[[53,7]]},"401":{"position":[[136,7]]}}}],["alway",{"_index":736,"t":{"83":{"position":[[411,6]]},"182":{"position":[[1550,6]]},"303":{"position":[[117,6]]}}}],["amount",{"_index":1811,"t":{"413":{"position":[[200,6],[621,6]]}}}],["amqp",{"_index":271,"t":{"29":{"position":[[87,4]]},"146":{"position":[[87,4]]}}}],["analysi",{"_index":833,"t":{"96":{"position":[[207,8],[327,8]]}}}],["angl",{"_index":693,"t":{"72":{"position":[[308,5]]}}}],["answer",{"_index":798,"t":{"85":{"position":[[939,6]]},"102":{"position":[[939,6]]},"120":{"position":[[1019,6]]},"182":{"position":[[1424,7],[1444,6],[10713,7]]},"303":{"position":[[11,6]]},"401":{"position":[[156,7]]},"403":{"position":[[123,7]]},"437":{"position":[[86,9]]}}}],["ant",{"_index":1643,"t":{"292":{"position":[[47,3]]}}}],["antd",{"_index":1663,"t":{"292":{"position":[[1796,4]]}}}],["apach",{"_index":1689,"t":{"325":{"position":[[15,6]]},"327":{"position":[[942,6]]}}}],["api",{"_index":299,"t":{"29":{"position":[[324,3]]},"59":{"position":[[87,4]]},"83":{"position":[[211,4]]},"146":{"position":[[324,3]]},"182":{"position":[[8329,4]]},"197":{"position":[[19,3],[70,3],[96,3],[159,3]]},"231":{"position":[[434,3],[485,3],[511,3],[574,3]]},"271":{"position":[[10,3],[132,3]]},"286":{"position":[[313,4],[536,4],[646,4],[803,4],[848,4],[1014,3],[1092,4]]},"292":{"position":[[1388,3],[1547,3],[1575,3]]},"294":{"position":[[1031,4],[1630,3]]},"318":{"position":[[791,4]]}}}],["apiservic",{"_index":1656,"t":{"292":{"position":[[1354,10]]}}}],["app",{"_index":331,"t":{"31":{"position":[[476,3],[1711,3]]},"96":{"position":[[514,4]]},"148":{"position":[[476,3],[1711,3]]},"292":{"position":[[193,3]]}}}],["appear",{"_index":934,"t":{"112":{"position":[[389,7]]},"334":{"position":[[888,6]]},"454":{"position":[[445,6]]}}}],["appl",{"_index":841,"t":{"96":{"position":[[478,5]]}}}],["appli",{"_index":1150,"t":{"182":{"position":[[9880,5],[10119,5]]},"321":{"position":[[915,5]]},"323":{"position":[[179,5]]}}}],["applic",{"_index":538,"t":{"49":{"position":[[67,11]]},"134":{"position":[[67,11]]},"233":{"position":[[86,11]]},"273":{"position":[[685,11]]},"284":{"position":[[224,12]]},"286":{"position":[[65,11]]},"292":{"position":[[110,11],[180,11],[243,11],[355,11],[540,11],[927,11],[1110,11]]},"294":{"position":[[993,11],[1147,11],[1282,12],[1498,11],[1603,11],[1738,11],[1977,11]]},"334":{"position":[[1744,10]]}}}],["approach",{"_index":1798,"t":{"403":{"position":[[32,8]]}}}],["appropri",{"_index":967,"t":{"114":{"position":[[702,11]]}}}],["architectur",{"_index":1173,"t":{"184":{"position":[[1617,12]]},"339":{"position":[[304,12]]}}}],["area",{"_index":691,"t":{"72":{"position":[[289,4]]},"83":{"position":[[503,5]]},"259":{"position":[[34,5],[667,4],[821,4]]},"262":{"position":[[115,4],[140,4]]},"292":{"position":[[601,4]]},"437":{"position":[[160,5]]}}}],["articl",{"_index":917,"t":{"108":{"position":[[1349,8]]},"433":{"position":[[25,8]]}}}],["artifici",{"_index":731,"t":{"83":{"position":[[244,10]]}}}],["asctim",{"_index":314,"t":{"31":{"position":[[176,7],[1411,7]]},"148":{"position":[[176,7],[1411,7]]}}}],["asia",{"_index":1337,"t":{"233":{"position":[[224,4]]}}}],["ask",{"_index":1061,"t":{"182":{"position":[[4578,3]]},"310":{"position":[[2522,3]]},"437":{"position":[[68,6]]}}}],["assembl",{"_index":1620,"t":{"284":{"position":[[475,8],[534,8],[915,8]]}}}],["assist",{"_index":978,"t":{"120":{"position":[[925,9]]}}}],["associ",{"_index":1071,"t":{"182":{"position":[[5357,9]]},"268":{"position":[[869,12]]},"310":{"position":[[3301,9]]},"332":{"position":[[41,9],[210,10]]},"456":{"position":[[1356,10]]}}}],["asterisk",{"_index":1727,"t":{"334":{"position":[[1157,8]]}}}],["atmospher",{"_index":1854,"t":{"445":{"position":[[94,10]]}}}],["attach",{"_index":664,"t":{"68":{"position":[[300,8]]}}}],["attent",{"_index":1736,"t":{"334":{"position":[[1503,9]]}}}],["author",{"_index":1130,"t":{"182":{"position":[[8785,6],[8840,6]]},"318":{"position":[[1247,6],[1302,6]]}}}],["autocrlf",{"_index":1775,"t":{"373":{"position":[[195,8]]}}}],["autom",{"_index":1349,"t":{"245":{"position":[[37,9]]}}}],["automat",{"_index":617,"t":{"61":{"position":[[150,13]]},"280":{"position":[[961,9]]},"292":{"position":[[2226,13]]},"334":{"position":[[1431,9]]}}}],["auxiliari",{"_index":1433,"t":{"262":{"position":[[44,9]]},"292":{"position":[[1327,9]]},"294":{"position":[[2080,9]]},"334":{"position":[[813,9]]}}}],["avoid",{"_index":1705,"t":{"327":{"position":[[638,5]]},"334":{"position":[[1425,5]]},"376":{"position":[[85,5]]}}}],["axio",{"_index":1660,"t":{"292":{"position":[[1705,5]]}}}],["b",{"_index":620,"t":{"64":{"position":[[24,1]]},"72":{"position":[[201,1]]},"182":{"position":[[4184,1],[5089,1],[6264,1]]},"310":{"position":[[2128,1],[3033,1]]},"312":{"position":[[711,1]]},"373":{"position":[[2,1],[177,1]]}}}],["babel",{"_index":1668,"t":{"292":{"position":[[2044,5]]}}}],["back",{"_index":1076,"t":{"182":{"position":[[5571,4]]},"228":{"position":[[276,4]]},"312":{"position":[[18,4]]}}}],["backend",{"_index":1352,"t":{"247":{"position":[[110,7],[178,7],[1006,7],[1485,7],[1971,7]]},"249":{"position":[[1001,7],[1489,7]]},"292":{"position":[[1504,7]]},"294":{"position":[[10,7]]}}}],["background",{"_index":549,"t":{"55":{"position":[[0,10]]},"87":{"position":[[0,10]]},"104":{"position":[[0,10]]}}}],["bar",{"_index":624,"t":{"64":{"position":[[114,3]]},"68":{"position":[[293,3]]},"112":{"position":[[234,3]]},"456":{"position":[[1202,3]]}}}],["base",{"_index":657,"t":{"68":{"position":[[211,5],[476,5]]},"96":{"position":[[687,5]]},"110":{"position":[[0,5]]},"182":{"position":[[2386,5],[2478,5],[4372,4],[4864,5],[5617,4],[5773,5],[5799,4]]},"197":{"position":[[44,4]]},"231":{"position":[[459,4]]},"262":{"position":[[320,4]]},"266":{"position":[[2310,4]]},"276":{"position":[[65,5]]},"278":{"position":[[407,5]]},"292":{"position":[[28,5],[1209,4],[1271,4],[1827,5]]},"294":{"position":[[26,5],[983,5]]},"310":{"position":[[330,5],[422,5],[2316,4],[2808,5]]},"312":{"position":[[64,4],[220,5],[246,4]]},"339":{"position":[[568,5]]},"388":{"position":[[68,5]]},"415":{"position":[[434,5]]}}}],["basecontrol",{"_index":1622,"t":{"286":{"position":[[154,14]]}}}],["basejdbccli",{"_index":1603,"t":{"282":{"position":[[162,14],[691,14]]}}}],["basejdbcclientfactori",{"_index":1606,"t":{"282":{"position":[[422,21],[951,21]]}}}],["basemapp",{"_index":1601,"t":{"280":{"position":[[1235,10]]}}}],["baseurl",{"_index":1238,"t":{"197":{"position":[[29,7],[382,7]]},"231":{"position":[[368,7],[444,7],[792,7]]},"266":{"position":[[2301,7]]}}}],["bash",{"_index":1045,"t":{"182":{"position":[[3740,4]]},"310":{"position":[[1684,4]]}}}],["basi",{"_index":1458,"t":{"264":{"position":[[320,5]]}}}],["basic",{"_index":890,"t":{"108":{"position":[[65,5]]},"262":{"position":[[157,5]]},"280":{"position":[[1289,5]]}}}],["basicconfig",{"_index":312,"t":{"31":{"position":[[153,11],[1388,11]]},"148":{"position":[[153,11],[1388,11]]}}}],["be",{"_index":1710,"t":{"330":{"position":[[50,5]]}}}],["becom",{"_index":805,"t":{"85":{"position":[[1084,6]]},"102":{"position":[[1084,6]]},"108":{"position":[[824,6],[884,6]]},"120":{"position":[[1163,6]]},"182":{"position":[[19,6],[8978,6],[9526,6],[9889,6],[9953,6],[10128,6],[10285,6]]},"184":{"position":[[3401,6]]},"186":{"position":[[1553,6]]},"321":{"position":[[13,6],[561,6],[924,6]]},"323":{"position":[[13,6],[188,6],[345,6]]},"334":{"position":[[2277,6]]}}}],["befor",{"_index":939,"t":{"112":{"position":[[464,6]]},"182":{"position":[[145,6],[5657,6],[7491,6],[7538,6]]},"292":{"position":[[2266,6]]},"296":{"position":[[53,6]]},"312":{"position":[[104,6]]},"316":{"position":[[674,6]]},"318":{"position":[[0,6]]},"327":{"position":[[516,6]]},"379":{"position":[[112,6],[173,6]]},"381":{"position":[[91,6]]},"456":{"position":[[3163,6]]}}}],["behavior",{"_index":1861,"t":{"445":{"position":[[246,8]]}}}],["benefici",{"_index":1840,"t":{"431":{"position":[[61,10]]}}}],["best",{"_index":1715,"t":{"332":{"position":[[33,4]]},"376":{"position":[[6,4]]}}}],["better",{"_index":726,"t":{"83":{"position":[[142,6],[219,6]]},"182":{"position":[[926,6]]},"301":{"position":[[147,6]]},"330":{"position":[[135,6]]},"334":{"position":[[2336,6]]},"401":{"position":[[670,6]]},"403":{"position":[[164,6],[372,6]]},"415":{"position":[[233,6]]},"441":{"position":[[238,6]]}}}],["between",{"_index":666,"t":{"68":{"position":[[341,7]]},"262":{"position":[[566,7]]}}}],["bi",{"_index":123,"t":{"12":{"position":[[42,2]]},"166":{"position":[[42,2]]}}}],["bilibili",{"_index":1827,"t":{"421":{"position":[[137,8]]}}}],["bilingu",{"_index":1088,"t":{"182":{"position":[[6674,9]]},"314":{"position":[[278,9]]}}}],["bill",{"_index":1515,"t":{"273":{"position":[[18,4]]}}}],["bin",{"_index":1231,"t":{"193":{"position":[[106,3]]},"195":{"position":[[72,3],[100,3]]},"228":{"position":[[379,3],[451,3]]},"231":{"position":[[54,3],[658,3],[996,3]]},"233":{"position":[[17,3],[335,3]]},"235":{"position":[[17,3],[60,3],[93,3],[158,3]]},"243":{"position":[[285,3]]},"345":{"position":[[24,3],[52,3]]},"347":{"position":[[24,3],[52,3]]},"349":{"position":[[24,3],[52,3]]}}}],["blog",{"_index":823,"t":{"92":{"position":[[562,4]]},"108":{"position":[[1293,4],[1311,4]]}}}],["blue",{"_index":680,"t":{"72":{"position":[[95,4]]}}}],["bodi",{"_index":1720,"t":{"334":{"position":[[202,4],[254,4],[1273,4],[1283,4],[1479,4]]}}}],["bom",{"_index":1514,"t":{"273":{"position":[[8,3],[13,3]]},"276":{"position":[[269,3]]}}}],["boot",{"_index":1596,"t":{"280":{"position":[[954,4]]}}}],["both",{"_index":921,"t":{"112":{"position":[[33,4]]},"376":{"position":[[47,4]]},"392":{"position":[[61,4]]}}}],["bottom",{"_index":1211,"t":{"184":{"position":[[2924,6]]}}}],["bound",{"_index":1447,"t":{"262":{"position":[[480,5]]}}}],["boundari",{"_index":740,"t":{"83":{"position":[[466,10]]}}}],["box",{"_index":1874,"t":{"456":{"position":[[765,3]]},"458":{"position":[[220,3]]}}}],["branch",{"_index":920,"t":{"110":{"position":[[131,6]]},"112":{"position":[[558,6],[731,6],[808,6],[850,6],[1115,6]]},"114":{"position":[[726,6],[750,6],[811,6]]},"182":{"position":[[2038,6],[2108,8],[2155,8],[2254,6],[2287,6],[2379,6],[2403,6],[2455,6],[2804,6],[2885,6],[2996,6],[3075,6],[3112,6],[3209,6],[3304,6],[3392,6],[3478,6],[3558,6],[4034,6],[4124,6],[4191,6],[4218,6],[4250,6],[4321,6],[4377,6],[4534,6],[4701,6],[4735,6],[4823,6],[4889,6],[4922,6],[4966,6],[5452,6],[5498,6],[5866,6],[5951,6],[6015,6],[6130,6],[6191,6],[6226,6],[6302,6],[7104,6],[7448,8],[9798,8],[9819,6],[9869,6],[10434,6],[10791,6]]},"186":{"position":[[185,8],[242,6],[275,6],[329,6],[367,6],[394,6],[440,8],[1173,6],[1188,6],[1511,6]]},"310":{"position":[[52,8],[99,8],[198,6],[231,6],[323,6],[347,6],[399,6],[748,6],[829,6],[940,6],[1019,6],[1056,6],[1153,6],[1248,6],[1336,6],[1422,6],[1502,6],[1978,6],[2068,6],[2135,6],[2162,6],[2194,6],[2265,6],[2321,6],[2478,6],[2645,6],[2679,6],[2767,6],[2833,6],[2866,6],[2910,6],[3396,6],[3442,6]]},"312":{"position":[[313,6],[398,6],[462,6],[577,6],[638,6],[673,6],[749,6]]},"316":{"position":[[287,6],[631,8]]},"321":{"position":[[833,8],[854,6],[904,6]]},"323":{"position":[[494,6]]},"339":{"position":[[158,6],[496,6],[588,6]]},"367":{"position":[[13,6],[37,6],[59,6],[123,6],[195,6],[290,6]]},"369":{"position":[[34,6],[103,6]]},"373":{"position":[[42,6]]},"388":{"position":[[111,6],[268,6],[285,6]]}}}],["break",{"_index":1731,"t":{"334":{"position":[[1384,6],[1446,6],[1899,8]]},"376":{"position":[[132,6]]}}}],["brief",{"_index":1728,"t":{"334":{"position":[[1196,5]]}}}],["briefli",{"_index":1085,"t":{"182":{"position":[[6527,7]]},"314":{"position":[[131,7]]}}}],["bring",{"_index":753,"t":{"83":{"position":[[693,8]]},"182":{"position":[[6727,5],[7641,6]]},"314":{"position":[[331,5]]},"318":{"position":[[103,6]]}}}],["brought",{"_index":1128,"t":{"182":{"position":[[8716,7]]},"318":{"position":[[1178,7]]}}}],["brows",{"_index":1719,"t":{"334":{"position":[[92,8]]}}}],["browser",{"_index":1400,"t":{"251":{"position":[[0,7]]}}}],["bug",{"_index":965,"t":{"114":{"position":[[550,4]]},"182":{"position":[[244,3],[300,3],[376,3],[480,3],[556,3],[646,3],[680,3],[7036,3],[7934,3],[7962,3],[8214,3],[10624,3]]},"299":{"position":[[32,3],[108,3],[212,3],[288,3],[378,3],[412,3]]},"316":{"position":[[219,3]]},"318":{"position":[[396,3],[424,3],[676,3]]},"330":{"position":[[67,3]]},"334":{"position":[[589,3],[749,4]]}}}],["build",{"_index":390,"t":{"31":{"position":[[2449,5],[2468,5]]},"55":{"position":[[114,5],[417,8]]},"57":{"position":[[102,5],[405,8]]},"87":{"position":[[114,5],[417,8]]},"89":{"position":[[102,5],[405,8]]},"96":{"position":[[666,8]]},"104":{"position":[[114,5],[422,8]]},"106":{"position":[[102,5],[410,8]]},"120":{"position":[[376,8]]},"148":{"position":[[2449,5],[2468,5]]},"184":{"position":[[1103,5],[1138,5],[1155,5]]},"249":{"position":[[2072,5]]},"273":{"position":[[519,5]]},"276":{"position":[[133,8],[183,5]]},"334":{"position":[[796,5],[2229,5]]},"345":{"position":[[79,5]]},"347":{"position":[[158,5]]},"349":{"position":[[75,5]]},"360":{"position":[[68,5]]},"411":{"position":[[103,5],[402,8]]},"419":{"position":[[66,8]]},"431":{"position":[[130,8]]},"433":{"position":[[260,8]]},"437":{"position":[[229,8]]},"439":{"position":[[155,8]]},"441":{"position":[[71,8],[192,8]]},"443":{"position":[[10,8],[122,8]]},"445":{"position":[[50,8],[321,8]]}}}],["builder",{"_index":828,"t":{"96":{"position":[[7,8]]}}}],["bunni",{"_index":698,"t":{"74":{"position":[[31,5],[101,5],[208,5],[214,5]]}}}],["busi",{"_index":739,"t":{"83":{"position":[[457,8]]},"273":{"position":[[736,8]]},"286":{"position":[[1279,8],[1399,8],[1833,8],[1928,8]]},"292":{"position":[[1005,8]]}}}],["button",{"_index":928,"t":{"112":{"position":[[292,6],[652,6]]},"182":{"position":[[2957,6]]},"184":{"position":[[2910,6]]},"259":{"position":[[814,6]]},"310":{"position":[[901,6]]},"452":{"position":[[185,7]]}}}],["byte",{"_index":1546,"t":{"278":{"position":[[328,5]]}}}],["bytetimeutil",{"_index":1543,"t":{"278":{"position":[[240,13]]}}}],["c",{"_index":383,"t":{"31":{"position":[[2336,1]]},"64":{"position":[[40,1]]},"72":{"position":[[206,1]]},"148":{"position":[[2336,1]]},"373":{"position":[[50,1],[187,1]]}}}],["calcul",{"_index":1554,"t":{"278":{"position":[[513,9]]}}}],["call",{"_index":1031,"t":{"182":{"position":[[2588,6],[2720,6]]},"280":{"position":[[15,6]]},"282":{"position":[[15,6]]},"284":{"position":[[15,6]]},"294":{"position":[[1050,5],[1658,5],[1775,5]]},"310":{"position":[[532,6],[664,6]]},"388":{"position":[[126,6]]}}}],["cancel",{"_index":1784,"t":{"383":{"position":[[100,9],[168,12]]}}}],["capabl",{"_index":1437,"t":{"262":{"position":[[163,12],[680,12]]},"264":{"position":[[364,12]]}}}],["capit",{"_index":1742,"t":{"334":{"position":[[1651,10]]}}}],["carefulli",{"_index":985,"t":{"182":{"position":[[203,9]]},"296":{"position":[[111,9]]}}}],["case",{"_index":790,"t":{"85":{"position":[[786,4]]},"102":{"position":[[786,4]]},"108":{"position":[[363,5]]},"112":{"position":[[766,4]]},"120":{"position":[[854,4]]},"182":{"position":[[975,5],[8057,5]]},"301":{"position":[[196,5]]},"318":{"position":[[519,5]]},"334":{"position":[[924,5]]},"433":{"position":[[46,4]]}}}],["categori",{"_index":986,"t":{"182":{"position":[[230,8],[10611,8]]},"334":{"position":[[488,8]]},"456":{"position":[[1115,8],[2847,8]]}}}],["caus",{"_index":996,"t":{"182":{"position":[[633,5],[7921,5],[8347,5]]},"299":{"position":[[365,5]]},"318":{"position":[[383,5],[809,5]]}}}],["caution",{"_index":1402,"t":{"253":{"position":[[166,7]]}}}],["cc",{"_index":707,"t":{"74":{"position":[[188,2]]}}}],["cd",{"_index":1002,"t":{"182":{"position":[[999,2],[3896,2]]},"195":{"position":[[83,2]]},"213":{"position":[[48,2]]},"233":{"position":[[0,2]]},"235":{"position":[[0,2],[141,2]]},"243":{"position":[[318,2]]},"301":{"position":[[220,2]]},"310":{"position":[[1840,2]]},"345":{"position":[[35,2]]},"347":{"position":[[35,2]]},"349":{"position":[[35,2]]},"358":{"position":[[98,2]]},"396":{"position":[[0,2]]},"398":{"position":[[0,2]]}}}],["cento",{"_index":1257,"t":{"205":{"position":[[0,6]]}}}],["centos7",{"_index":834,"t":{"96":{"position":[[216,7]]},"195":{"position":[[25,7]]},"213":{"position":[[25,7]]}}}],["chain",{"_index":848,"t":{"96":{"position":[[759,5]]}}}],["challeng",{"_index":747,"t":{"83":{"position":[[567,10]]}}}],["chang",{"_index":942,"t":{"112":{"position":[[542,7],[834,7],[886,7],[1136,7]]},"114":{"position":[[634,7],[795,7],[840,7],[895,7]]},"182":{"position":[[3615,7],[7230,6],[8302,7],[8429,6],[8480,7],[8594,7],[8632,7]]},"186":{"position":[[1068,7]]},"256":{"position":[[39,6]]},"310":{"position":[[1559,7]]},"316":{"position":[[413,6]]},"318":{"position":[[764,7],[891,6],[942,7],[1056,7],[1094,7]]},"327":{"position":[[113,7],[508,7]]},"332":{"position":[[9,7],[190,7]]},"334":{"position":[[115,6],[635,7],[707,7],[781,7],[902,6],[1602,6],[1622,7],[1635,7],[1791,7],[1908,6],[1949,7],[1978,7]]}}}],["charact",{"_index":847,"t":{"96":{"position":[[677,9]]},"231":{"position":[[223,9]]},"334":{"position":[[1261,10],[1411,10]]}}}],["characterencod",{"_index":1335,"t":{"233":{"position":[[185,17]]}}}],["characterist",{"_index":1814,"t":{"413":{"position":[[387,15]]}}}],["charset",{"_index":1394,"t":{"249":{"position":[[250,7]]}}}],["chart",{"_index":625,"t":{"64":{"position":[[118,5]]},"72":{"position":[[15,5]]},"184":{"position":[[1650,5]]},"456":{"position":[[370,5],[448,5],[505,5],[646,5],[1206,5],[2367,5],[2402,5],[2460,5],[2590,5],[2654,5],[2820,5],[2962,5],[3098,5]]}}}],["chat",{"_index":602,"t":{"59":{"position":[[179,4]]},"83":{"position":[[124,4]]},"92":{"position":[[343,4]]},"273":{"position":[[957,4]]}}}],["chatanywher",{"_index":1241,"t":{"197":{"position":[[163,12]]},"231":{"position":[[578,12]]}}}],["chatglm",{"_index":595,"t":{"59":{"position":[[93,7]]},"92":{"position":[[136,7]]},"96":{"position":[[248,7]]},"197":{"position":[[242,7]]},"231":{"position":[[889,7],[904,7]]}}}],["chatglm_lit",{"_index":1327,"t":{"231":{"position":[[889,12]]}}}],["chatgpt",{"_index":844,"t":{"96":{"position":[[506,7]]}}}],["check",{"_index":776,"t":{"85":{"position":[[545,5]]},"92":{"position":[[248,5]]},"102":{"position":[[545,5]]},"120":{"position":[[611,5]]},"253":{"position":[[174,5],[211,5],[269,5]]},"292":{"position":[[2240,5]]},"379":{"position":[[49,5]]},"388":{"position":[[234,5]]}}}],["checkout",{"_index":1055,"t":{"182":{"position":[[4174,8],[5079,8],[6254,8]]},"186":{"position":[[902,8]]},"310":{"position":[[2118,8],[3023,8]]},"312":{"position":[[701,8]]}}}],["chines",{"_index":922,"t":{"112":{"position":[[38,7]]},"182":{"position":[[6684,7]]},"184":{"position":[[1015,7],[1348,7],[3077,7]]},"314":{"position":[[288,7]]},"421":{"position":[[150,7]]}}}],["choos",{"_index":952,"t":{"112":{"position":[[1083,6]]},"182":{"position":[[3574,6]]},"310":{"position":[[1518,6]]}}}],["chore",{"_index":1725,"t":{"334":{"position":[[774,5],[937,5]]}}}],["ci",{"_index":1001,"t":{"182":{"position":[[996,2]]},"231":{"position":[[271,2]]},"301":{"position":[[217,2]]}}}],["clarifi",{"_index":1712,"t":{"330":{"position":[[159,7]]},"334":{"position":[[2360,7]]}}}],["class",{"_index":1444,"t":{"262":{"position":[[325,5]]},"278":{"position":[[16,5],[184,5],[260,5],[309,5],[358,5],[486,5],[566,5],[755,5],[896,5]]},"280":{"position":[[165,5],[416,7],[435,7],[828,5],[927,5]]},"282":{"position":[[142,5],[402,5],[533,5],[671,5],[931,5],[1062,5],[1201,5],[1274,5],[1600,7]]},"286":{"position":[[1551,7],[1758,7]]},"290":{"position":[[134,5]]},"292":{"position":[[1071,5],[1135,5],[1178,5],[1214,5],[1276,5]]}}}],["classic",{"_index":1172,"t":{"184":{"position":[[1566,7]]}}}],["classifi",{"_index":1478,"t":{"266":{"position":[[557,10],[569,10]]}}}],["classmat",{"_index":1062,"t":{"182":{"position":[[4630,9]]},"310":{"position":[[2574,9]]}}}],["clean",{"_index":1749,"t":{"334":{"position":[[2284,5]]},"396":{"position":[[35,5],[56,5]]},"398":{"position":[[35,5],[56,5]]}}}],["clear",{"_index":719,"t":{"83":{"position":[[46,5],[636,5]]},"445":{"position":[[289,5]]}}}],["clearli",{"_index":1125,"t":{"182":{"position":[[8610,7]]},"318":{"position":[[1072,7]]},"330":{"position":[[23,7]]},"401":{"position":[[511,7]]}}}],["click",{"_index":715,"t":{"81":{"position":[[0,5]]},"112":{"position":[[254,5],[270,5],[416,5],[635,5],[996,5],[1024,5],[1050,5],[1150,5],[1248,5]]},"182":{"position":[[2912,5]]},"186":{"position":[[1121,5],[1228,5]]},"310":{"position":[[856,5]]}}}],["client",{"_index":240,"t":{"26":{"position":[[107,6]]},"31":{"position":[[8,6],[619,6],[964,6],[2176,6],[2627,6]]},"33":{"position":[[261,6]]},"144":{"position":[[107,6]]},"148":{"position":[[8,6],[619,6],[964,6],[2176,6],[2627,6]]},"150":{"position":[[261,6]]}}}],["clone",{"_index":1046,"t":{"182":{"position":[[3747,5],[3794,5],[5850,7],[6141,5]]},"184":{"position":[[391,5],[438,5],[658,5],[690,5]]},"186":{"position":[[464,5],[504,5]]},"310":{"position":[[1691,5],[1738,5]]},"312":{"position":[[297,7],[588,5]]},"373":{"position":[[36,5],[148,5]]}}}],["close",{"_index":1147,"t":{"182":{"position":[[9744,7]]},"321":{"position":[[779,7]]},"332":{"position":[[315,6]]},"334":{"position":[[2018,7],[2090,6],[2143,6],[2415,6]]},"379":{"position":[[194,6]]},"381":{"position":[[143,6]]}}}],["cloudorc",{"_index":57,"t":{"2":{"position":[[232,8]]},"4":{"position":[[228,8]]},"22":{"position":[[238,8],[281,8]]},"24":{"position":[[234,8],[277,8]]},"37":{"position":[[91,8],[190,8],[300,8]]},"39":{"position":[[238,8],[281,8]]},"41":{"position":[[234,8],[277,8]]},"53":{"position":[[91,8],[190,8],[300,8]]},"55":{"position":[[655,8],[710,8],[763,8]]},"57":{"position":[[643,8],[698,8],[751,8]]},"85":{"position":[[354,8],[592,8],[888,8]]},"87":{"position":[[655,8],[710,8],[763,8]]},"89":{"position":[[643,8],[698,8],[751,8]]},"98":{"position":[[42,8],[153,8],[322,8]]},"102":{"position":[[354,8],[592,8],[888,8]]},"104":{"position":[[644,8],[700,8],[753,8],[841,8]]},"106":{"position":[[632,8],[688,8],[741,8],[829,8]]},"108":{"position":[[1399,8],[1487,8]]},"120":{"position":[[425,8],[660,8],[968,8]]},"126":{"position":[[234,8],[277,8]]},"138":{"position":[[91,8],[190,8],[300,8]]},"142":{"position":[[234,8],[277,8]]},"154":{"position":[[91,8],[190,8],[300,8]]},"158":{"position":[[228,8]]},"182":{"position":[[2546,8],[2671,8],[3999,8]]},"184":{"position":[[711,8],[2978,8],[3189,8],[3366,8]]},"186":{"position":[[89,8],[525,8],[631,8]]},"193":{"position":[[31,8]]},"211":{"position":[[47,8]]},"228":{"position":[[77,8]]},"243":{"position":[[77,8]]},"310":{"position":[[490,8],[615,8],[1943,8]]},"342":{"position":[[92,8]]},"355":{"position":[[94,8],[211,8]]},"373":{"position":[[228,8]]},"388":{"position":[[38,8]]},"394":{"position":[[94,8],[211,8]]},"401":{"position":[[339,8],[814,8]]}}}],["cmd",{"_index":389,"t":{"31":{"position":[[2410,3]]},"148":{"position":[[2410,3]]}}}],["cn",{"_index":1170,"t":{"184":{"position":[[1325,2]]},"197":{"position":[[180,2]]},"231":{"position":[[595,2]]},"325":{"position":[[29,2]]},"353":{"position":[[175,2]]}}}],["co",{"_index":827,"t":{"96":{"position":[[4,2]]},"431":{"position":[[127,2]]},"433":{"position":[[257,2]]},"437":{"position":[[226,2]]},"439":{"position":[[152,2]]},"441":{"position":[[68,2],[189,2]]},"443":{"position":[[7,2],[119,2]]},"445":{"position":[[318,2]]}}}],["code",{"_index":767,"t":{"85":{"position":[[386,4],[532,4]]},"92":{"position":[[243,4]]},"96":{"position":[[39,4],[136,4],[202,4]]},"102":{"position":[[386,4],[532,4]]},"108":{"position":[[686,4],[715,4],[876,4],[992,4],[1020,4],[1058,4]]},"114":{"position":[[629,4]]},"120":{"position":[[468,4],[598,4]]},"182":{"position":[[449,4],[985,5],[2075,4],[2321,4],[2353,4],[2771,4],[2943,4],[3227,4],[4670,4],[4792,4],[5330,4],[5580,5],[5612,4],[5794,4],[7558,4],[8085,4],[8472,4]]},"184":{"position":[[668,4],[1362,4],[3430,4]]},"186":{"position":[[20,4],[32,4],[129,4],[299,4],[819,4],[873,4],[973,4]]},"211":{"position":[[20,4]]},"266":{"position":[[2226,4],[2239,4]]},"273":{"position":[[205,4],[311,5],[652,4],[751,4],[921,4]]},"288":{"position":[[28,4]]},"292":{"position":[[2074,4],[2104,4],[2254,4],[2284,4]]},"294":{"position":[[297,4],[1075,4],[1718,4],[1940,4]]},"299":{"position":[[181,4]]},"301":{"position":[[206,5]]},"310":{"position":[[19,4],[265,4],[297,4],[715,4],[887,4],[1171,4],[2614,4],[2736,4],[3274,4]]},"312":{"position":[[27,5],[59,4],[241,4]]},"318":{"position":[[20,4],[547,4],[934,4]]},"327":{"position":[[352,4],[448,4],[611,4]]},"332":{"position":[[185,4],[252,4]]},"334":{"position":[[663,4],[702,4],[1814,4]]},"339":{"position":[[85,4],[391,4]]},"355":{"position":[[28,4]]},"392":{"position":[[235,4]]},"394":{"position":[[28,4]]},"419":{"position":[[98,4]]},"427":{"position":[[464,4]]},"445":{"position":[[131,4]]}}}],["codereview",{"_index":1220,"t":{"186":{"position":[[1295,10]]}}}],["cohes",{"_index":1417,"t":{"259":{"position":[[422,8]]}}}],["collabor",{"_index":1091,"t":{"182":{"position":[[6955,13],[8949,13],[10978,13]]},"316":{"position":[[138,13]]},"327":{"position":[[826,12]]},"435":{"position":[[209,13]]},"439":{"position":[[0,11]]}}}],["collat",{"_index":1319,"t":{"231":{"position":[[250,7]]}}}],["collect",{"_index":612,"t":{"61":{"position":[[52,10]]},"381":{"position":[[98,10]]},"415":{"position":[[301,7],[456,9],[630,10]]}}}],["color",{"_index":636,"t":{"66":{"position":[[194,5],[367,5]]},"68":{"position":[[202,5],[237,6],[287,5],[349,6]]},"72":{"position":[[44,6]]}}}],["colormap",{"_index":663,"t":{"68":{"position":[[271,8]]}}}],["column",{"_index":1872,"t":{"456":{"position":[[363,6],[441,6],[498,6],[639,6],[2360,6],[2395,6],[2453,6],[2583,6],[2647,6],[2813,6],[2955,6],[3091,6]]}}}],["com",{"_index":56,"t":{"2":{"position":[[228,3]]},"4":{"position":[[224,3]]},"22":{"position":[[234,3],[277,3]]},"24":{"position":[[230,3],[273,3]]},"37":{"position":[[87,3],[186,3],[296,3]]},"39":{"position":[[234,3],[277,3]]},"41":{"position":[[230,3],[273,3]]},"53":{"position":[[87,3],[186,3],[296,3]]},"55":{"position":[[651,3],[706,3]]},"57":{"position":[[639,3],[694,3]]},"85":{"position":[[350,3],[588,3],[884,3]]},"87":{"position":[[651,3],[706,3]]},"89":{"position":[[639,3],[694,3]]},"98":{"position":[[38,3],[247,3],[318,3]]},"102":{"position":[[350,3],[588,3],[884,3]]},"104":{"position":[[640,3],[696,3],[837,3]]},"106":{"position":[[628,3],[684,3],[825,3]]},"108":{"position":[[1483,3]]},"120":{"position":[[421,3],[656,3],[964,3]]},"126":{"position":[[230,3],[273,3]]},"138":{"position":[[87,3],[186,3],[296,3]]},"142":{"position":[[230,3],[273,3]]},"154":{"position":[[87,3],[186,3],[296,3]]},"158":{"position":[[224,3]]},"182":{"position":[[2542,3],[2667,3],[3815,3],[3995,3],[6162,3],[6941,3]]},"184":{"position":[[455,3],[707,3],[3362,3]]},"186":{"position":[[85,3],[521,3],[627,3]]},"193":{"position":[[27,3]]},"197":{"position":[[107,3],[176,3]]},"211":{"position":[[43,3]]},"228":{"position":[[73,3]]},"231":{"position":[[522,3],[591,3]]},"243":{"position":[[73,3]]},"310":{"position":[[486,3],[611,3],[1759,3],[1939,3]]},"312":{"position":[[609,3]]},"316":{"position":[[124,3]]},"342":{"position":[[88,3]]},"355":{"position":[[90,3],[207,3]]},"373":{"position":[[223,3]]},"388":{"position":[[34,3]]},"394":{"position":[[90,3],[207,3]]},"401":{"position":[[810,3]]}}}],["comb",{"_index":977,"t":{"120":{"position":[[482,6]]}}}],["combin",{"_index":571,"t":{"55":{"position":[[291,7]]},"57":{"position":[[279,7]]},"61":{"position":[[175,8]]},"87":{"position":[[291,7]]},"89":{"position":[[279,7]]},"104":{"position":[[316,7]]},"106":{"position":[[304,7]]},"114":{"position":[[373,8]]},"262":{"position":[[282,11]]},"327":{"position":[[894,11]]},"411":{"position":[[290,7]]},"413":{"position":[[404,9]]}}}],["command",{"_index":1044,"t":{"182":{"position":[[3709,7]]},"253":{"position":[[158,7]]},"310":{"position":[[1653,7]]},"358":{"position":[[22,7],[46,7]]},"360":{"position":[[22,7],[46,7],[90,7]]}}}],["comment",{"_index":1122,"t":{"182":{"position":[[8531,8]]},"318":{"position":[[993,8]]}}}],["commit",{"_index":1067,"t":{"182":{"position":[[5035,6],[6084,6],[7118,6],[7211,6],[7431,7],[7586,7],[7634,6],[7790,7],[8456,6]]},"186":{"position":[[1025,6],[1036,6],[1476,6]]},"292":{"position":[[2273,10]]},"310":{"position":[[2979,6]]},"312":{"position":[[531,6]]},"316":{"position":[[301,6],[394,6],[614,7]]},"318":{"position":[[48,7],[96,6],[252,7],[918,6]]},"325":{"position":[[82,6]]},"327":{"position":[[7,6],[175,6],[251,6],[376,6],[537,6],[720,6],[775,6]]},"330":{"position":[[0,6]]},"332":{"position":[[55,6],[273,6]]},"334":{"position":[[10,6],[141,7],[150,6],[504,6],[865,6],[1069,6],[1236,6],[1329,6],[2048,6],[2195,6],[2210,6],[2261,6]]},"336":{"position":[[0,6],[25,6]]},"339":{"position":[[137,6],[475,6]]}}}],["committ",{"_index":909,"t":{"108":{"position":[[833,9]]},"182":{"position":[[26,9],[8937,10],[8987,9],[9287,9],[9358,10],[9422,10],[9535,9],[9576,9],[9993,9],[10395,10],[10966,10]]},"184":{"position":[[3408,9]]},"186":{"position":[[1276,10]]},"321":{"position":[[22,9],[322,9],[393,10],[457,10],[570,9],[611,9]]},"323":{"position":[[53,9],[455,10]]}}}],["committe",{"_index":1151,"t":{"182":{"position":[[9898,9],[9929,9],[9962,9],[10092,9],[10159,9],[10180,9],[10302,9],[10336,9],[11007,9]]},"321":{"position":[[933,9]]},"323":{"position":[[22,9],[152,9],[219,9],[240,9],[362,9],[396,9]]}}}],["common",{"_index":1070,"t":{"182":{"position":[[5348,6]]},"184":{"position":[[1945,6]]},"273":{"position":[[169,6],[198,6]]},"276":{"position":[[434,6],[647,6]]},"278":{"position":[[916,6]]},"282":{"position":[[1556,6]]},"286":{"position":[[184,6]]},"294":{"position":[[1250,6]]},"310":{"position":[[3292,6]]}}}],["commun",{"_index":581,"t":{"55":{"position":[[727,9]]},"57":{"position":[[715,9]]},"83":{"position":[[32,9],[77,9],[176,9],[289,9],[591,9],[683,9]]},"85":{"position":[[149,9],[291,9],[462,9],[915,9],[963,9],[1062,9],[1091,9],[1118,9],[1173,9]]},"87":{"position":[[727,9]]},"89":{"position":[[715,9]]},"96":{"position":[[161,9],[181,13],[267,9],[313,13],[344,9],[401,9],[462,9],[527,9],[575,9],[620,9],[654,9],[712,9],[747,9],[801,9],[845,9]]},"100":{"position":[[94,9],[122,9]]},"102":{"position":[[149,9],[291,9],[462,9],[915,9],[963,9],[1062,9],[1091,9],[1118,9],[1173,9]]},"104":{"position":[[717,9]]},"106":{"position":[[705,9]]},"108":{"position":[[560,9],[583,9],[747,9],[805,9]]},"114":{"position":[[33,9]]},"116":{"position":[[121,9],[146,9]]},"120":{"position":[[48,9],[231,9],[366,9],[535,9],[995,9],[1043,9],[1141,9],[1172,9],[1198,9],[1253,9]]},"182":{"position":[[403,9],[600,9],[735,13],[786,13],[1095,11],[1529,9],[1574,9],[1881,9],[1902,9],[1996,11],[4514,9],[4589,9],[8146,9],[8796,11],[10660,13]]},"184":{"position":[[1197,9],[1446,9]]},"186":{"position":[[1266,9]]},"282":{"position":[[1931,11]]},"294":{"position":[[371,13],[763,12],[1856,12]]},"299":{"position":[[135,9],[332,9]]},"301":{"position":[[7,13],[316,11]]},"303":{"position":[[96,9],[141,9]]},"307":{"position":[[51,9],[72,9],[166,11]]},"310":{"position":[[2458,9],[2533,9]]},"318":{"position":[[608,9],[1258,11]]},"327":{"position":[[917,11]]},"336":{"position":[[50,9]]},"339":{"position":[[641,9]]},"401":{"position":[[303,9]]},"403":{"position":[[360,11]]},"419":{"position":[[168,9]]},"427":{"position":[[157,9],[429,9]]},"431":{"position":[[117,9]]},"433":{"position":[[74,9],[166,9],[269,9]]},"437":{"position":[[34,11],[57,9],[177,9]]},"439":{"position":[[23,11]]},"441":{"position":[[80,9],[201,9]]},"443":{"position":[[19,9],[102,11],[131,9]]},"445":{"position":[[40,9],[84,9],[119,9],[308,9],[372,9]]}}}],["compani",{"_index":1202,"t":{"184":{"position":[[2493,7]]}}}],["compar",{"_index":951,"t":{"112":{"position":[[1057,7]]}}}],["compat",{"_index":1778,"t":{"376":{"position":[[98,13]]}}}],["compil",{"_index":1161,"t":{"184":{"position":[[554,8]]},"228":{"position":[[198,7],[285,11],[311,11]]},"243":{"position":[[198,7]]},"342":{"position":[[213,7]]},"392":{"position":[[0,11]]},"396":{"position":[[23,7]]},"398":{"position":[[23,7]]}}}],["complet",{"_index":948,"t":{"112":{"position":[[872,9]]},"114":{"position":[[825,10]]},"182":{"position":[[1739,10],[5228,10],[5239,9],[8664,8]]},"259":{"position":[[600,8]]},"262":{"position":[[545,8],[889,8]]},"305":{"position":[[65,10]]},"310":{"position":[[3172,10],[3183,9]]},"318":{"position":[[1126,8]]},"327":{"position":[[647,10]]},"417":{"position":[[6,8]]}}}],["complex",{"_index":1111,"t":{"182":{"position":[[8070,10],[8253,10],[8271,10]]},"318":{"position":[[532,10],[715,10],[733,10]]}}}],["compon",{"_index":784,"t":{"85":{"position":[[688,10]]},"102":{"position":[[688,10]]},"120":{"position":[[756,10]]},"184":{"position":[[602,10],[1676,10],[2204,10]]},"259":{"position":[[232,10],[290,10],[386,10],[431,9],[518,9],[874,10]]},"262":{"position":[[331,9]]},"264":{"position":[[45,9],[97,10],[428,9],[501,9]]},"292":{"position":[[197,9],[226,9],[306,10],[499,9],[611,10],[735,9],[825,9],[880,9],[1234,10],[1486,10],[1608,10],[1640,10],[1809,9]]}}}],["compos",{"_index":535,"t":{"49":{"position":[[14,7]]},"94":{"position":[[46,7]]},"134":{"position":[[14,7]]},"189":{"position":[[22,7]]},"191":{"position":[[36,7],[120,7]]},"195":{"position":[[119,7]]},"197":{"position":[[295,7]]},"284":{"position":[[119,7],[149,7],[797,7]]}}}],["comput",{"_index":574,"t":{"55":{"position":[[338,8]]},"57":{"position":[[326,8]]},"87":{"position":[[338,8]]},"89":{"position":[[326,8]]},"104":{"position":[[363,8]]},"106":{"position":[[351,8]]},"184":{"position":[[424,8]]},"411":{"position":[[337,8]]},"413":{"position":[[422,8]]}}}],["concept",{"_index":1028,"t":{"182":{"position":[[2498,7]]},"310":{"position":[[442,7]]}}}],["concis",{"_index":1801,"t":{"407":{"position":[[20,7]]}}}],["condit",{"_index":1770,"t":{"367":{"position":[[159,9],[271,9]]}}}],["condition_vers",{"_index":1769,"t":{"367":{"position":[[159,17],[271,17]]}}}],["condon",{"_index":1857,"t":{"445":{"position":[[184,9]]}}}],["conduct",{"_index":906,"t":{"108":{"position":[[694,7],[723,7]]},"445":{"position":[[139,7]]}}}],["conf",{"_index":1311,"t":{"231":{"position":[[74,4],[678,4],[1016,4]]},"233":{"position":[[37,4]]},"247":{"position":[[599,4],[614,4]]},"249":{"position":[[152,4],[167,4]]},"253":{"position":[[96,4],[111,4],[398,4]]},"256":{"position":[[19,4],[34,4]]}}}],["config",{"_index":1186,"t":{"184":{"position":[[1975,6]]},"247":{"position":[[27,6]]},"251":{"position":[[95,6]]},"373":{"position":[[52,6]]}}}],["configur",{"_index":1212,"t":{"184":{"position":[[3097,13]]},"233":{"position":[[304,13]]},"247":{"position":[[13,13],[248,10],[552,13],[757,13]]},"249":{"position":[[113,13]]},"251":{"position":[[81,10]]},"253":{"position":[[282,13]]},"259":{"position":[[91,13],[163,9],[203,9],[307,10],[673,13],[687,9]]},"264":{"position":[[350,13],[384,13],[525,13],[749,13]]},"276":{"position":[[79,13],[654,14]]},"280":{"position":[[55,13],[151,13],[189,9],[913,13],[971,13]]},"282":{"position":[[61,13],[1227,10],[1777,10]]},"284":{"position":[[157,13],[501,13]]},"294":{"position":[[1393,13],[1428,13]]},"373":{"position":[[74,13]]}}}],["confirm",{"_index":953,"t":{"112":{"position":[[1123,7]]},"182":{"position":[[4360,7]]},"310":{"position":[[2304,7]]}}}],["conflict",{"_index":1534,"t":{"276":{"position":[[988,9]]}}}],["conflisten",{"_index":1407,"t":{"253":{"position":[[413,10]]}}}],["congratul",{"_index":1223,"t":{"186":{"position":[[1527,15]]}}}],["conn",{"_index":347,"t":{"31":{"position":[[927,4],[1926,4]]},"148":{"position":[[927,4],[1926,4]]}}}],["connect",{"_index":338,"t":{"31":{"position":[[708,7],[745,9],[784,7],[799,7]]},"148":{"position":[[708,7],[745,9],[784,7],[799,7]]},"231":{"position":[[297,10]]},"233":{"position":[[60,10],[377,10]]},"247":{"position":[[1268,7],[1394,10],[1747,7],[1873,10],[2233,7],[2359,10]]},"249":{"position":[[782,7],[908,10],[1263,7],[1389,10],[1751,7],[1877,10]]},"282":{"position":[[619,10],[1145,11],[1353,7]]},"290":{"position":[[90,7]]},"294":{"position":[[1471,10]]}}}],["connectdto",{"_index":1613,"t":{"282":{"position":[[1257,10]]},"290":{"position":[[0,10]]}}}],["connectionfactori",{"_index":1608,"t":{"282":{"position":[[554,17],[1083,17],[1238,17],[1520,17]]}}}],["connector",{"_index":332,"t":{"31":{"position":[[642,9],[680,9],[690,9],[716,9],[760,9],[826,9],[861,9]]},"33":{"position":[[268,9],[306,9],[316,9],[332,9],[369,9],[423,9],[433,9],[477,9],[493,9]]},"45":{"position":[[163,9]]},"49":{"position":[[285,9]]},"130":{"position":[[163,9]]},"134":{"position":[[285,9]]},"148":{"position":[[642,9],[680,9],[690,9],[716,9],[760,9],[826,9],[861,9]]},"150":{"position":[[268,9],[306,9],[316,9],[332,9],[369,9],[423,9],[433,9],[477,9],[493,9]]},"347":{"position":[[126,9]]}}}],["connector_id",{"_index":339,"t":{"31":{"position":[[716,12],[760,12],[826,12],[861,12]]},"148":{"position":[[716,12],[760,12],[826,12],[861,12]]}}}],["consist",{"_index":852,"t":{"96":{"position":[[825,11]]},"334":{"position":[[311,8]]}}}],["consol",{"_index":325,"t":{"31":{"position":[[304,7],[346,7],[403,7],[1539,7],[1581,7],[1638,7]]},"148":{"position":[[304,7],[346,7],[403,7],[1539,7],[1581,7],[1638,7]]},"247":{"position":[[379,7]]},"360":{"position":[[182,7]]}}}],["console_handl",{"_index":324,"t":{"31":{"position":[[304,15],[346,15],[403,15],[1539,15],[1581,15],[1638,15]]},"148":{"position":[[304,15],[346,15],[403,15],[1539,15],[1581,15],[1638,15]]}}}],["constant",{"_index":1537,"t":{"278":{"position":[[0,9],[42,9],[215,9]]},"290":{"position":[[153,9]]}}}],["constantsspi",{"_index":1641,"t":{"290":{"position":[[115,12]]}}}],["construct",{"_index":565,"t":{"55":{"position":[[184,12]]},"57":{"position":[[172,12]]},"85":{"position":[[301,12]]},"87":{"position":[[184,12]]},"89":{"position":[[172,12]]},"102":{"position":[[301,12]]},"104":{"position":[[212,12]]},"106":{"position":[[200,12]]},"110":{"position":[[87,12]]},"182":{"position":[[8545,12]]},"292":{"position":[[1988,12]]},"318":{"position":[[1007,12]]},"411":{"position":[[205,9]]}}}],["contact",{"_index":1129,"t":{"182":{"position":[[8770,7],[8857,9]]},"318":{"position":[[1232,7],[1319,9]]}}}],["contain",{"_index":1011,"t":{"182":{"position":[[1235,10],[1326,10]]},"268":{"position":[[843,8]]},"273":{"position":[[189,8],[294,8],[639,8],[727,8],[898,8]]},"282":{"position":[[52,8],[1318,8]]},"284":{"position":[[207,9],[369,10],[421,7],[1007,8]]},"288":{"position":[[0,8]]},"290":{"position":[[55,8]]},"292":{"position":[[1619,8]]},"294":{"position":[[1419,8]]},"301":{"position":[[456,10],[547,10]]},"401":{"position":[[144,7]]}}}],["container",{"_index":1805,"t":{"407":{"position":[[220,13]]}}}],["content",{"_index":779,"t":{"85":{"position":[[619,7],[649,7]]},"102":{"position":[[619,7],[649,7]]},"104":{"position":[[159,7]]},"106":{"position":[[147,7]]},"120":{"position":[[687,7],[717,7]]},"182":{"position":[[10039,7]]},"184":{"position":[[1396,7],[1433,7],[1480,7],[1526,7],[2699,7],[3630,7]]},"186":{"position":[[1043,7]]},"262":{"position":[[437,7]]},"292":{"position":[[68,8],[593,7],[912,7]]},"323":{"position":[[99,7]]},"411":{"position":[[148,7]]}}}],["context",{"_index":1692,"t":{"327":{"position":[[94,7],[589,7]]},"332":{"position":[[170,7]]}}}],["continu",{"_index":733,"t":{"83":{"position":[[304,8]]},"85":{"position":[[93,12]]},"102":{"position":[[93,12]]},"120":{"position":[[173,11]]},"182":{"position":[[9089,12]]},"321":{"position":[[124,12]]},"415":{"position":[[815,12]]}}}],["contribut",{"_index":756,"t":{"85":{"position":[[18,12],[159,13],[191,12],[391,12],[514,10],[627,12]]},"102":{"position":[[18,12],[159,13],[191,12],[391,12],[514,10],[627,12]]},"112":{"position":[[18,13]]},"114":{"position":[[483,10],[989,10]]},"120":{"position":[[22,10],[59,10],[213,10],[245,12],[457,10],[587,10],[695,12],[907,10]]},"182":{"position":[[0,12],[79,12],[108,12],[152,12],[217,12],[1503,10],[2012,12],[2310,10],[2342,10],[7545,12],[8913,12],[9077,11],[9329,12],[10051,11],[10598,12],[10766,12],[10943,12]]},"184":{"position":[[129,12]]},"296":{"position":[[16,12],[60,12]]},"303":{"position":[[70,10]]},"310":{"position":[[254,10],[286,10]]},"318":{"position":[[7,12]]},"321":{"position":[[112,11],[364,12]]},"323":{"position":[[111,11]]},"419":{"position":[[137,12]]},"425":{"position":[[23,11]]}}}],["contributor",{"_index":872,"t":{"100":{"position":[[64,12],[132,12],[189,12]]},"108":{"position":[[899,12]]},"116":{"position":[[93,12],[156,12],[213,12]]},"182":{"position":[[10410,12]]},"186":{"position":[[1572,11]]},"323":{"position":[[470,12]]},"327":{"position":[[414,12]]},"339":{"position":[[17,12],[58,11],[168,11],[348,11],[506,11],[598,12],[731,11],[778,11],[829,12]]},"419":{"position":[[36,12]]}}}],["control",{"_index":1272,"t":{"215":{"position":[[109,10]]},"286":{"position":[[99,11],[112,10],[1208,10]]}}}],["conveni",{"_index":1414,"t":{"259":{"position":[[265,10]]},"284":{"position":[[817,10],[944,10]]}}}],["convent",{"_index":1187,"t":{"184":{"position":[[2017,10],[2361,10],[3545,10],[3575,10]]},"327":{"position":[[880,10]]},"334":{"position":[[2240,11]]},"336":{"position":[[70,10]]}}}],["convers",{"_index":1523,"t":{"273":{"position":[[1046,10]]},"278":{"position":[[698,10]]},"373":{"position":[[133,10]]}}}],["convert",{"_index":735,"t":{"83":{"position":[[349,7]]},"413":{"position":[[73,7]]}}}],["coordin",{"_index":651,"t":{"68":{"position":[[55,11],[446,11]]},"458":{"position":[[472,10]]}}}],["copi",{"_index":388,"t":{"31":{"position":[[2401,4]]},"148":{"position":[[2401,4]]},"182":{"position":[[5700,4]]},"186":{"position":[[117,4]]},"312":{"position":[[147,4]]}}}],["cor",{"_index":1682,"t":{"294":{"position":[[1164,4]]}}}],["coral",{"_index":678,"t":{"72":{"position":[[78,5]]}}}],["core",{"_index":1006,"t":{"182":{"position":[[1116,4]]},"301":{"position":[[337,4]]},"373":{"position":[[88,4],[189,4]]}}}],["corner",{"_index":931,"t":{"112":{"position":[[318,6],[678,6]]},"262":{"position":[[213,7]]}}}],["correct",{"_index":1405,"t":{"253":{"position":[[308,7]]},"379":{"position":[[78,7]]},"450":{"position":[[36,7],[66,7]]}}}],["correspond",{"_index":639,"t":{"66":{"position":[[310,13]]},"68":{"position":[[326,14]]},"72":{"position":[[275,13]]},"182":{"position":[[5371,13]]},"184":{"position":[[2834,13]]},"228":{"position":[[121,13]]},"243":{"position":[[121,13]]},"264":{"position":[[667,13]]},"280":{"position":[[769,13]]},"286":{"position":[[1234,13],[1265,13],[1780,13],[1914,13]]},"292":{"position":[[292,13]]},"294":{"position":[[123,13],[1811,13]]},"310":{"position":[[3315,13]]},"342":{"position":[[136,13]]}}}],["cot",{"_index":850,"t":{"96":{"position":[[777,3]]}}}],["count",{"_index":1779,"t":{"379":{"position":[[165,7]]}}}],["counter",{"_index":1196,"t":{"184":{"position":[[2283,7],[2510,7]]}}}],["cpu",{"_index":1261,"t":{"207":{"position":[[0,3]]}}}],["creat",{"_index":394,"t":{"31":{"position":[[2508,6]]},"66":{"position":[[236,6]]},"68":{"position":[[174,7]]},"76":{"position":[[9,6]]},"112":{"position":[[720,6],[793,6],[1157,6],[1255,6]]},"114":{"position":[[682,6],[857,6]]},"148":{"position":[[2508,6]]},"182":{"position":[[330,6],[2366,6],[2470,7],[5930,6],[9772,6]]},"186":{"position":[[1235,6]]},"197":{"position":[[277,7]]},"231":{"position":[[175,6],[191,6]]},"266":{"position":[[225,6],[286,6],[314,6],[336,7],[1037,6],[1211,6],[1434,6],[1644,6],[1870,6],[2065,6]]},"268":{"position":[[716,7]]},"278":{"position":[[948,8],[1022,8]]},"282":{"position":[[482,8],[608,8],[1011,8],[1136,8]]},"284":{"position":[[572,6],[958,6]]},"286":{"position":[[681,8],[1106,8]]},"292":{"position":[[1150,6]]},"299":{"position":[[62,6]]},"310":{"position":[[310,6],[414,7]]},"312":{"position":[[377,6]]},"321":{"position":[[807,6]]},"339":{"position":[[0,6]]},"369":{"position":[[94,6]]},"388":{"position":[[3,6],[118,7]]},"423":{"position":[[3,7]]},"439":{"position":[[182,8]]},"456":{"position":[[41,6],[98,7],[172,6],[254,7],[471,7]]}}}],["create_identifi",{"_index":1469,"t":{"266":{"position":[[225,15]]}}}],["create_tim",{"_index":1472,"t":{"266":{"position":[[286,11],[1037,11],[1211,11],[1434,11],[1644,11],[1870,11],[2065,11]]}}}],["create_us",{"_index":1473,"t":{"266":{"position":[[314,11]]}}}],["creation",{"_index":1470,"t":{"266":{"position":[[242,8],[299,8],[1050,8],[1224,8],[1447,8],[1657,8],[1883,8],[2078,8]]}}}],["criteria",{"_index":1096,"t":{"182":{"position":[[7528,8],[10922,8]]}}}],["critic",{"_index":1158,"t":{"184":{"position":[[90,8]]}}}],["cross",{"_index":1684,"t":{"294":{"position":[[1190,5]]}}}],["crucial",{"_index":1017,"t":{"182":{"position":[[1779,7]]},"305":{"position":[[105,7]]},"427":{"position":[[192,7]]}}}],["crud",{"_index":1589,"t":{"280":{"position":[[749,4],[1295,4]]}}}],["css",{"_index":1177,"t":{"184":{"position":[[1693,3],[2474,3],[2632,3],[2680,3]]}}}],["current",{"_index":1059,"t":{"182":{"position":[[4391,7],[4424,7],[4479,9]]},"186":{"position":[[169,9]]},"278":{"position":[[266,9]]},"310":{"position":[[2335,7],[2368,7],[2423,9]]},"332":{"position":[[265,7]]},"334":{"position":[[1806,7],[2040,7]]},"369":{"position":[[7,9]]}}}],["custom",{"_index":914,"t":{"108":{"position":[[1179,9]]},"278":{"position":[[981,6]]},"292":{"position":[[944,6]]}}}],["d",{"_index":396,"t":{"31":{"position":[[2533,1]]},"64":{"position":[[57,1]]},"72":{"position":[[211,1]]},"148":{"position":[[2533,1]]},"182":{"position":[[5506,1]]},"195":{"position":[[131,1]]},"247":{"position":[[604,1]]},"249":{"position":[[157,1]]},"253":{"position":[[101,1],[403,1]]},"256":{"position":[[24,1]]},"310":{"position":[[3450,1]]}}}],["d55nvfw1kyi",{"_index":867,"t":{"98":{"position":[[259,11]]}}}],["daemon",{"_index":1563,"t":{"278":{"position":[[1004,6]]}}}],["daili",{"_index":1026,"t":{"182":{"position":[[2236,5]]},"186":{"position":[[224,5]]},"310":{"position":[[180,5]]}}}],["dao",{"_index":1518,"t":{"273":{"position":[[257,3],[262,3]]},"280":{"position":[[30,3]]}}}],["daoconfigur",{"_index":1594,"t":{"280":{"position":[[878,16]]}}}],["dash",{"_index":1199,"t":{"184":{"position":[[2428,4]]}}}],["dashboard",{"_index":1646,"t":{"292":{"position":[[443,9],[725,9],[764,10]]}}}],["data",{"_index":350,"t":{"31":{"position":[[984,4],[1983,4]]},"55":{"position":[[218,4]]},"57":{"position":[[206,4]]},"61":{"position":[[120,4]]},"74":{"position":[[89,4]]},"87":{"position":[[218,4]]},"89":{"position":[[206,4]]},"104":{"position":[[243,4]]},"106":{"position":[[231,4]]},"148":{"position":[[984,4],[1983,4]]},"259":{"position":[[716,4]]},"262":{"position":[[504,4],[875,4]]},"266":{"position":[[20,4],[73,4],[115,4],[164,4],[207,4],[427,4],[474,4],[638,4],[693,4],[715,4],[736,4],[1177,4],[1183,4],[1189,4],[1200,4]]},"268":{"position":[[4,4],[43,4],[132,4],[191,4]]},"273":{"position":[[267,4],[416,4],[437,4],[487,4],[1035,4]]},"278":{"position":[[445,4]]},"280":{"position":[[102,4],[462,4]]},"282":{"position":[[1292,4]]},"286":{"position":[[329,4],[365,4],[461,4],[909,4],[945,4],[1439,4]]},"290":{"position":[[29,4]]},"292":{"position":[[420,4],[690,4],[787,4],[1044,4],[1855,4]]},"294":{"position":[[1324,4]]},"407":{"position":[[108,4]]},"411":{"position":[[218,4]]},"413":{"position":[[228,4],[649,4]]},"452":{"position":[[44,4],[66,4],[105,4],[123,4],[203,4],[215,4],[233,4],[340,4],[359,4],[386,4],[398,4],[416,4],[523,4],[542,4],[564,4],[592,4],[626,4],[728,4],[759,4],[785,4],[830,4],[894,4],[941,4],[962,4],[1064,4],[1104,4],[1122,4],[1237,4],[1277,4],[1295,4],[1403,4],[1555,4],[1593,4]]},"456":{"position":[[556,4],[659,4],[721,4],[739,4],[778,4],[795,4],[828,4],[879,4],[946,4],[958,4],[994,4],[1143,4],[1224,4],[1367,4],[2895,4],[2980,4]]}}}],["data_source_type_id",{"_index":1482,"t":{"266":{"position":[[715,19]]}}}],["data_typ",{"_index":1496,"t":{"266":{"position":[[1189,9]]}}}],["databas",{"_index":1308,"t":{"231":{"position":[[13,8],[125,8],[182,8],[198,8],[288,8],[944,8]]},"233":{"position":[[51,8],[368,8]]},"273":{"position":[[338,8]]},"280":{"position":[[498,8],[1064,8]]},"282":{"position":[[240,8],[274,9],[313,8],[643,8],[769,8],[803,9],[842,8],[1166,9],[1368,8],[1422,8],[1964,8]]},"286":{"position":[[438,9],[897,8]]},"290":{"position":[[105,8]]},"294":{"position":[[1339,9],[1462,8]]},"456":{"position":[[814,8],[914,8],[978,8]]}}}],["datasourc",{"_index":540,"t":{"49":{"position":[[86,10]]},"134":{"position":[[86,10]]},"233":{"position":[[103,10]]},"266":{"position":[[8,10],[86,10],[128,10],[177,10],[410,10],[617,10]]},"268":{"position":[[25,10],[69,10],[102,10],[158,10],[222,10]]},"273":{"position":[[356,10]]},"280":{"position":[[300,10]]},"282":{"position":[[30,10],[104,10],[1800,10],[1864,10],[1893,10]]}}}],["datasource_desc",{"_index":1466,"t":{"266":{"position":[[128,15]]}}}],["datasource_nam",{"_index":1465,"t":{"266":{"position":[[86,15]]}}}],["datasource_type_id",{"_index":1468,"t":{"266":{"position":[[177,18]]},"268":{"position":[[102,18]]}}}],["datasourcecontrol",{"_index":1624,"t":{"286":{"position":[[270,20],[1334,20]]}}}],["datasourcelist",{"_index":1650,"t":{"292":{"position":[[638,14]]}}}],["datasourcemapp",{"_index":1578,"t":{"280":{"position":[[508,16]]}}}],["datasourceparamkeymapp",{"_index":1579,"t":{"280":{"position":[[526,24]]}}}],["datasourceservic",{"_index":1632,"t":{"286":{"position":[[1366,17]]}}}],["datasourceserviceimpl",{"_index":1633,"t":{"286":{"position":[[1581,21]]}}}],["datasourcetyp",{"_index":1571,"t":{"280":{"position":[[312,14]]}}}],["datasourcetypekey",{"_index":1572,"t":{"280":{"position":[[328,17]]}}}],["datasourcetypemapp",{"_index":1580,"t":{"280":{"position":[[552,20]]}}}],["datasourcetypeserviceimpl",{"_index":1634,"t":{"286":{"position":[[1604,25]]}}}],["dateconst",{"_index":1540,"t":{"278":{"position":[[164,13]]}}}],["datetim",{"_index":1542,"t":{"278":{"position":[[229,9]]}}}],["day",{"_index":1215,"t":{"186":{"position":[[255,3]]}}}],["db",{"_index":543,"t":{"49":{"position":[[140,2]]},"134":{"position":[[140,2]]},"233":{"position":[[400,2],[418,2],[431,2],[447,2],[460,2]]}}}],["db_host",{"_index":542,"t":{"49":{"position":[[140,7]]},"134":{"position":[[140,7]]},"233":{"position":[[400,7]]}}}],["db_name",{"_index":1341,"t":{"233":{"position":[[431,7]]}}}],["db_pass",{"_index":1343,"t":{"233":{"position":[[460,7]]}}}],["db_port",{"_index":1340,"t":{"233":{"position":[[418,7]]}}}],["db_user",{"_index":1342,"t":{"233":{"position":[[447,7]]}}}],["ddl",{"_index":1309,"t":{"231":{"position":[[22,3]]}}}],["de",{"_index":1549,"t":{"278":{"position":[[420,3]]}}}],["decid",{"_index":1143,"t":{"182":{"position":[[9455,6],[10220,6]]},"321":{"position":[[490,6]]},"323":{"position":[[280,6]]}}}],["decompress",{"_index":1289,"t":{"228":{"position":[[391,10],[492,13]]},"249":{"position":[[411,12]]}}}],["decrypt",{"_index":1548,"t":{"278":{"position":[[388,10]]}}}],["dedic",{"_index":1849,"t":{"437":{"position":[[139,9]]}}}],["deep",{"_index":1808,"t":{"413":{"position":[[44,4]]}}}],["deepli",{"_index":1830,"t":{"427":{"position":[[131,6]]}}}],["def",{"_index":336,"t":{"31":{"position":[[701,3],[808,3],[915,3],[1914,3]]},"148":{"position":[[701,3],[808,3],[915,3],[1914,3]]}}}],["default",{"_index":1249,"t":{"199":{"position":[[34,7]]},"217":{"position":[[51,7]]},"221":{"position":[[87,7]]},"231":{"position":[[215,7],[242,7]]},"240":{"position":[[10,7],[45,7]]},"247":{"position":[[308,7],[622,7]]},"251":{"position":[[168,7]]},"266":{"position":[[805,7],[820,7]]},"278":{"position":[[1033,7]]},"463":{"position":[[0,7]]}}}],["default_valu",{"_index":1484,"t":{"266":{"position":[[805,13]]}}}],["defaultlayout",{"_index":1647,"t":{"292":{"position":[[485,13]]}}}],["defici",{"_index":758,"t":{"85":{"position":[[44,12]]},"102":{"position":[[44,12]]},"120":{"position":[[106,12]]}}}],["defin",{"_index":1453,"t":{"264":{"position":[[21,6]]},"276":{"position":[[237,7],[364,7],[505,8],[572,7],[730,8],[793,7],[872,7],[1034,7]]},"278":{"position":[[22,7],[190,7]]},"280":{"position":[[742,6]]},"282":{"position":[[1544,6],[1917,6]]},"284":{"position":[[180,8],[273,7],[557,7],[630,7],[720,6]]},"286":{"position":[[1297,7],[1391,7]]},"290":{"position":[[140,7]]},"292":{"position":[[267,6],[325,7],[509,7],[890,7],[1184,7],[1419,6],[1563,6]]}}}],["definit",{"_index":1726,"t":{"334":{"position":[[877,10]]}}}],["degre",{"_index":695,"t":{"72":{"position":[[321,7]]}}}],["delet",{"_index":818,"t":{"92":{"position":[[271,6]]},"182":{"position":[[3064,6],[3584,6],[5430,6]]},"259":{"position":[[361,8]]},"286":{"position":[[1179,8]]},"310":{"position":[[1008,6],[1528,6],[3374,6]]},"452":{"position":[[776,6],[848,7],[866,8]]},"454":{"position":[[347,6],[386,7],[411,8]]},"456":{"position":[[1701,6],[1761,7],[2064,6],[2149,7],[2511,6],[2620,7]]}}}],["demo",{"_index":857,"t":{"98":{"position":[[90,4]]},"184":{"position":[[2244,4],[2258,4]]}}}],["demo_styl",{"_index":1195,"t":{"184":{"position":[[2244,11]]}}}],["demoenviron",{"_index":1892,"t":{"461":{"position":[[96,15]]}}}],["demonstr",{"_index":568,"t":{"55":{"position":[[223,13]]},"57":{"position":[[211,13]]},"87":{"position":[[223,13]]},"89":{"position":[[211,13]]},"104":{"position":[[248,13]]},"106":{"position":[[236,13]]}}}],["demostyl",{"_index":1197,"t":{"184":{"position":[[2317,10]]}}}],["dep",{"_index":1765,"t":{"358":{"position":[[203,4]]}}}],["depend",{"_index":1119,"t":{"182":{"position":[[8403,12],[8436,10]]},"184":{"position":[[780,9]]},"273":{"position":[[63,10],[147,12]]},"276":{"position":[[169,12],[403,9],[471,9],[531,9],[678,10],[757,10],[815,9],[859,12],[962,10],[1005,10],[1139,7],[1225,10],[1282,10]]},"282":{"position":[[1832,7]]},"286":{"position":[[1219,7],[1355,7]]},"318":{"position":[[865,12],[898,10]]},"358":{"position":[[140,12]]}}}],["deploy",{"_index":786,"t":{"85":{"position":[[746,10]]},"94":{"position":[[12,10]]},"96":{"position":[[234,10],[291,10]]},"102":{"position":[[746,10]]},"108":{"position":[[331,10]]},"120":{"position":[[814,10]]},"213":{"position":[[59,6]]},"238":{"position":[[18,10]]},"245":{"position":[[17,10],[47,10],[69,10]]},"247":{"position":[[428,10]]},"249":{"position":[[2007,10]]},"284":{"position":[[85,10],[765,6],[831,6]]},"339":{"position":[[260,10],[551,10]]},"360":{"position":[[329,10]]},"407":{"position":[[234,10]]},"427":{"position":[[271,10]]}}}],["desc",{"_index":1467,"t":{"266":{"position":[[139,4]]}}}],["describ",{"_index":990,"t":{"182":{"position":[[349,8],[541,10],[809,10],[6535,8]]},"276":{"position":[[106,8]]},"299":{"position":[[81,8],[273,10]]},"301":{"position":[[30,10]]},"314":{"position":[[139,8]]},"401":{"position":[[519,8]]}}}],["descript",{"_index":579,"t":{"55":{"position":[[587,11]]},"57":{"position":[[575,11]]},"83":{"position":[[362,12]]},"87":{"position":[[587,11]]},"89":{"position":[[575,11]]},"104":{"position":[[576,11]]},"106":{"position":[[564,11]]},"112":{"position":[[346,11],[1199,11]]},"264":{"position":[[195,11]]},"266":{"position":[[145,11],[509,11],[527,11],[906,11],[919,11],[932,11],[948,11],[1844,11],[1857,11]]},"334":{"position":[[1202,11],[1310,11],[1930,11]]},"411":{"position":[[562,11]]},"413":{"position":[[98,12],[473,11]]},"452":{"position":[[147,11]]},"454":{"position":[[70,11],[560,11],[684,11]]}}}],["description_en",{"_index":1486,"t":{"266":{"position":[[932,14]]}}}],["deseri",{"_index":1558,"t":{"278":{"position":[[662,15]]}}}],["design",{"_index":717,"t":{"81":{"position":[[32,6]]},"92":{"position":[[0,6],[61,6],[259,6]]},"96":{"position":[[639,6]]},"186":{"position":[[1356,6]]},"259":{"position":[[4,8],[217,6]]},"262":{"position":[[395,8],[624,6],[673,6],[700,8],[797,8],[846,8]]},"264":{"position":[[0,6]]},"292":{"position":[[51,6]]},"339":{"position":[[317,6]]},"407":{"position":[[28,6]]}}}],["desutil",{"_index":1547,"t":{"278":{"position":[[344,7]]}}}],["detail",{"_index":897,"t":{"108":{"position":[[244,8]]},"182":{"position":[[383,6],[823,6],[834,7],[7186,7]]},"186":{"position":[[1337,7]]},"299":{"position":[[115,6]]},"301":{"position":[[44,6],[55,7]]},"316":{"position":[[369,7]]},"334":{"position":[[1301,8]]}}}],["determin",{"_index":750,"t":{"83":{"position":[[618,13]]},"182":{"position":[[10456,11]]},"323":{"position":[[516,11]]},"327":{"position":[[153,9]]}}}],["dev",{"_index":919,"t":{"110":{"position":[[127,3]]},"112":{"position":[[803,3],[1110,3]]},"114":{"position":[[746,3]]},"182":{"position":[[2227,3],[2399,3],[2487,3],[4544,3],[5091,3],[5099,3],[5119,3],[5127,3],[5305,3],[5508,3],[5862,3],[5887,3],[5943,3],[6198,3],[6218,3],[6246,3],[6266,3],[6274,3],[6294,3],[6347,3],[6355,3],[7100,3],[7442,3],[9815,3],[9865,3],[10430,3]]},"186":{"position":[[220,3],[259,3],[918,3],[949,3],[1507,3]]},"310":{"position":[[171,3],[343,3],[431,3],[2488,3],[3035,3],[3043,3],[3063,3],[3071,3],[3249,3],[3452,3]]},"312":{"position":[[309,3],[334,3],[390,3],[645,3],[665,3],[693,3],[713,3],[721,3],[741,3],[794,3],[802,3]]},"316":{"position":[[283,3],[625,3]]},"321":{"position":[[850,3],[900,3]]},"323":{"position":[[490,3]]},"369":{"position":[[44,3]]}}}],["develop",{"_index":724,"t":{"83":{"position":[[105,11],[191,7],[747,11]]},"85":{"position":[[205,10],[997,10],[1183,11]]},"102":{"position":[[205,10],[997,10],[1183,11]]},"108":{"position":[[318,11],[855,10]]},"114":{"position":[[462,11],[714,11],[969,9],[1074,11]]},"120":{"position":[[280,10],[1077,10],[1263,11]]},"182":{"position":[[1121,11],[1794,11],[2242,11],[4399,11],[4495,11],[4877,11],[5145,11],[5203,11],[5529,11],[5644,11],[5673,11],[5765,7],[5899,11],[7061,11],[9622,9],[9697,11],[10484,11],[10812,11]]},"186":{"position":[[230,11],[263,11]]},"264":{"position":[[438,11]]},"301":{"position":[[342,11]]},"305":{"position":[[120,11]]},"310":{"position":[[186,11],[2343,11],[2439,11],[2821,11],[3089,11],[3147,11]]},"312":{"position":[[91,11],[120,11],[212,7],[346,11]]},"316":{"position":[[244,11]]},"321":{"position":[[657,9],[732,11]]},"323":{"position":[[544,11]]},"325":{"position":[[44,11],[56,11]]},"327":{"position":[[37,10],[59,10],[331,10],[806,9]]},"330":{"position":[[124,10]]},"332":{"position":[[132,10]]},"334":{"position":[[2304,10]]},"369":{"position":[[17,9]]},"401":{"position":[[285,11],[653,11]]},"403":{"position":[[339,11]]},"411":{"position":[[418,9]]},"413":{"position":[[330,9]]},"427":{"position":[[73,11],[115,11],[614,11]]},"433":{"position":[[237,12]]}}}],["diagram",{"_index":1174,"t":{"184":{"position":[[1637,7]]},"268":{"position":[[787,7]]},"411":{"position":[[390,7]]}}}],["differ",{"_index":1449,"t":{"262":{"position":[[574,9]]},"264":{"position":[[77,9]]},"273":{"position":[[468,9]]}}}],["difficulti",{"_index":745,"t":{"83":{"position":[[541,12]]}}}],["dimension",{"_index":567,"t":{"55":{"position":[[206,11]]},"57":{"position":[[194,11]]},"87":{"position":[[206,11]]},"89":{"position":[[194,11]]},"104":{"position":[[231,11]]},"106":{"position":[[219,11]]}}}],["dir",{"_index":387,"t":{"31":{"position":[[2386,3]]},"148":{"position":[[2386,3]]}}}],["direct",{"_index":1155,"t":{"182":{"position":[[10496,9]]},"323":{"position":[[556,9]]}}}],["directli",{"_index":1063,"t":{"182":{"position":[[4937,8],[5990,8]]},"184":{"position":[[2811,8]]},"276":{"position":[[897,8]]},"310":{"position":[[2881,8]]},"312":{"position":[[437,8]]},"334":{"position":[[127,8]]},"360":{"position":[[217,8]]},"392":{"position":[[190,8]]}}}],["directori",{"_index":1050,"t":{"182":{"position":[[3886,9]]},"184":{"position":[[831,9],[956,9],[1161,9],[1172,9],[2000,9],[2684,9],[3494,9],[3528,9]]},"228":{"position":[[466,9]]},"243":{"position":[[308,9]]},"247":{"position":[[899,9]]},"249":{"position":[[370,9]]},"253":{"position":[[50,9]]},"310":{"position":[[1830,9]]},"358":{"position":[[88,9]]}}}],["disconnect",{"_index":343,"t":{"31":{"position":[[815,10],[885,10],[903,10]]},"148":{"position":[[815,10],[885,10],[903,10]]}}}],["discord",{"_index":587,"t":{"55":{"position":[[823,7]]},"57":{"position":[[811,7]]},"87":{"position":[[823,7]]},"89":{"position":[[811,7]]},"96":{"position":[[857,7]]},"98":{"position":[[372,7]]},"421":{"position":[[159,7]]}}}],["discov",{"_index":757,"t":{"85":{"position":[[32,11]]},"102":{"position":[[32,11]]},"120":{"position":[[97,8]]}}}],["discrimin",{"_index":1858,"t":{"445":{"position":[[206,14]]}}}],["discuss",{"_index":468,"t":{"37":{"position":[[108,11]]},"53":{"position":[[108,11]]},"85":{"position":[[371,11]]},"102":{"position":[[371,11]]},"108":{"position":[[640,11]]},"120":{"position":[[442,11]]},"138":{"position":[[108,11]]},"154":{"position":[[108,11]]},"182":{"position":[[8129,9],[9663,11]]},"186":{"position":[[1324,7]]},"264":{"position":[[252,7]]},"318":{"position":[[591,9]]},"321":{"position":[[698,11]]},"435":{"position":[[154,11]]},"437":{"position":[[149,10],[218,7]]}}}],["display",{"_index":607,"t":{"59":{"position":[[274,7]]},"66":{"position":[[208,7],[434,7],[475,7]]},"72":{"position":[[258,9]]},"74":{"position":[[152,7]]},"262":{"position":[[353,7]]},"264":{"position":[[419,7]]},"273":{"position":[[930,10]]},"292":{"position":[[665,7],[756,7],[779,7]]},"452":{"position":[[36,7],[54,7],[924,9],[1217,9],[1388,9]]},"456":{"position":[[142,9],[297,9],[515,9],[927,9],[1670,9],[1822,9],[2034,9],[2209,9],[2481,9],[2674,9]]},"458":{"position":[[99,7],[224,7]]}}}],["dist",{"_index":1367,"t":{"247":{"position":[[879,4]]},"249":{"position":[[358,4],[2107,4]]},"273":{"position":[[509,4]]},"284":{"position":[[30,4]]},"360":{"position":[[149,4]]}}}],["distribut",{"_index":655,"t":{"68":{"position":[[124,12],[505,12]]},"273":{"position":[[529,12]]}}}],["divid",{"_index":713,"t":{"79":{"position":[[41,7]]},"108":{"position":[[132,7]]},"245":{"position":[[0,7]]},"259":{"position":[[16,7]]},"334":{"position":[[1350,7]]}}}],["divis",{"_index":831,"t":{"96":{"position":[[116,8]]}}}],["dlimeng",{"_index":877,"t":{"100":{"position":[[227,7]]},"116":{"position":[[259,7]]}}}],["dmaven",{"_index":1792,"t":{"396":{"position":[[71,6]]},"398":{"position":[[71,6]]}}}],["dml",{"_index":1310,"t":{"231":{"position":[[30,3]]}}}],["doc",{"_index":862,"t":{"98":{"position":[[188,4]]},"114":{"position":[[29,3]]},"182":{"position":[[6929,4]]},"184":{"position":[[1211,4],[1404,4],[1441,4],[1488,4],[1534,4],[1849,3],[2279,3],[2337,4],[2758,4]]},"284":{"position":[[399,4]]},"316":{"position":[[112,4]]},"325":{"position":[[32,4]]},"334":{"position":[[597,4],[931,4],[2182,4]]}}}],["docker",{"_index":391,"t":{"31":{"position":[[2461,6],[2493,6],[2521,6],[2579,6]]},"49":{"position":[[7,6]]},"51":{"position":[[13,6]]},"94":{"position":[[39,6]]},"96":{"position":[[306,6]]},"134":{"position":[[7,6]]},"136":{"position":[[13,6]]},"148":{"position":[[2461,6],[2493,6],[2521,6],[2579,6]]},"189":{"position":[[0,6],[15,6]]},"191":{"position":[[29,6],[113,6]]},"195":{"position":[[104,6],[112,6]]},"197":{"position":[[288,6]]},"203":{"position":[[0,6]]},"228":{"position":[[562,6]]},"284":{"position":[[112,6],[142,6],[217,6],[383,6],[790,6],[879,6]]},"342":{"position":[[0,6]]},"345":{"position":[[72,6],[90,6]]},"347":{"position":[[151,6],[184,6]]},"349":{"position":[[68,6],[86,6]]},"461":{"position":[[70,6]]}}}],["dockerfil",{"_index":374,"t":{"31":{"position":[[2246,10],[2438,10]]},"148":{"position":[[2246,10],[2438,10]]},"345":{"position":[[97,10]]},"347":{"position":[[191,10]]},"349":{"position":[[93,10]]}}}],["document",{"_index":755,"t":{"85":{"position":[[9,8],[60,9],[82,9],[115,9],[182,8]]},"92":{"position":[[618,9]]},"102":{"position":[[9,8],[60,9],[82,9],[115,9],[182,8]]},"108":{"position":[[163,8],[197,13],[913,13],[970,13]]},"112":{"position":[[4,13]]},"114":{"position":[[43,13],[97,13]]},"120":{"position":[[82,13],[126,13],[154,13],[196,13],[265,13]]},"182":{"position":[[1646,13],[1686,13],[1757,13],[7286,13],[10574,13],[10725,13]]},"184":{"position":[[13,13],[47,13],[73,13],[171,13],[205,8],[223,13],[332,8],[401,8],[1243,8],[1856,8],[3443,8]]},"186":{"position":[[1606,13]]},"264":{"position":[[207,8]]},"284":{"position":[[437,9]]},"305":{"position":[[12,13],[83,13]]},"316":{"position":[[469,13]]},"327":{"position":[[949,13]]},"334":{"position":[[603,13]]},"339":{"position":[[213,9],[271,9],[293,9],[324,9]]},"360":{"position":[[296,13]]},"379":{"position":[[103,8]]},"417":{"position":[[23,13]]},"419":{"position":[[104,13]]},"423":{"position":[[65,13]]},"427":{"position":[[470,13]]},"447":{"position":[[12,8]]}}}],["docusauru",{"_index":1163,"t":{"184":{"position":[[581,10],[1378,10],[1415,10],[1462,10],[1508,10],[1549,10],[1964,10]]}}}],["dom",{"_index":1200,"t":{"184":{"position":[[2458,3]]},"292":{"position":[[1888,3]]}}}],["domest",{"_index":1242,"t":{"197":{"position":[[208,8]]},"231":{"position":[[618,8]]}}}],["don",{"_index":1082,"t":{"182":{"position":[[6403,3],[6824,3]]},"314":{"position":[[7,3]]},"316":{"position":[[7,3]]}}}],["done",{"_index":936,"t":{"112":{"position":[[410,4]]}}}],["dori",{"_index":162,"t":{"16":{"position":[[115,5],[159,5]]},"170":{"position":[[115,5],[159,5]]},"282":{"position":[[234,5],[637,5],[1904,5],[1958,5]]},"452":{"position":[[380,5],[517,5],[1231,5]]}}}],["doriscli",{"_index":1602,"t":{"282":{"position":[[124,11],[491,11],[1616,11]]}}}],["dorisclientfactori",{"_index":1605,"t":{"282":{"position":[[377,18],[1629,18]]}}}],["dorisconnectionfactori",{"_index":1607,"t":{"282":{"position":[[504,22],[1649,22]]}}}],["doubl",{"_index":1881,"t":{"456":{"position":[[2870,6]]}}}],["double_valu",{"_index":1880,"t":{"456":{"position":[[2870,12]]}}}],["download",{"_index":696,"t":{"74":{"position":[[9,8]]},"76":{"position":[[23,8]]},"108":{"position":[[370,8],[390,8]]},"182":{"position":[[2948,8]]},"184":{"position":[[613,8],[1283,8],[1493,8]]},"193":{"position":[[0,8],[64,8]]},"211":{"position":[[0,8]]},"228":{"position":[[10,8],[108,8]]},"243":{"position":[[10,8],[108,8]]},"310":{"position":[[892,8]]},"342":{"position":[[25,8],[123,8]]},"353":{"position":[[102,8],[143,8],[178,8]]},"355":{"position":[[122,8],[135,8]]},"394":{"position":[[122,8],[135,8]]}}}],["drag",{"_index":1438,"t":{"262":{"position":[[184,4]]}}}],["draw",{"_index":669,"t":{"70":{"position":[[9,4]]},"458":{"position":[[311,4],[399,4],[414,4]]}}}],["driver",{"_index":1869,"t":{"452":{"position":[[245,6],[428,6],[638,6],[1134,6],[1307,6]]}}}],["drop",{"_index":1439,"t":{"262":{"position":[[193,4]]}}}],["dropdown",{"_index":1884,"t":{"458":{"position":[[211,8]]}}}],["drwxr",{"_index":1290,"t":{"228":{"position":[[521,5],[569,5],[675,5],[773,5]]}}}],["ds",{"_index":1721,"t":{"334":{"position":[[424,2]]}}}],["dump",{"_index":353,"t":{"31":{"position":[[1083,5],[2082,5]]},"148":{"position":[[1083,5],[2082,5]]}}}],["dure",{"_index":1713,"t":{"330":{"position":[[192,6]]},"435":{"position":[[166,6]]},"443":{"position":[[149,6]]}}}],["dynam",{"_index":600,"t":{"59":{"position":[[143,11]]}}}],["e",{"_index":622,"t":{"64":{"position":[[73,1]]},"72":{"position":[[216,1]]},"235":{"position":[[175,1]]},"334":{"position":[[1591,1]]}}}],["each",{"_index":656,"t":{"68":{"position":[[189,4],[461,4]]},"72":{"position":[[242,4]]},"182":{"position":[[6708,4]]},"221":{"position":[[119,4]]},"264":{"position":[[279,4]]},"280":{"position":[[480,4]]},"286":{"position":[[1203,4]]},"314":{"position":[[312,4]]}}}],["easi",{"_index":770,"t":{"85":{"position":[[435,4]]},"102":{"position":[[435,4]]},"120":{"position":[[508,4]]},"182":{"position":[[8033,4]]},"318":{"position":[[495,4]]},"437":{"position":[[198,4]]}}}],["easili",{"_index":1598,"t":{"280":{"position":[[1045,6]]}}}],["echart",{"_index":1664,"t":{"292":{"position":[[1843,7]]}}}],["edit",{"_index":960,"t":{"114":{"position":[[320,7],[426,7]]},"184":{"position":[[2894,4]]},"259":{"position":[[659,7]]},"262":{"position":[[107,7],[612,7],[747,4]]},"452":{"position":[[559,4],[610,6],[683,7],[721,6],[1398,4],[1508,7]]},"454":{"position":[[225,4],[262,7],[300,6],[717,4],[761,7]]},"456":{"position":[[1509,4],[1853,4],[2276,4],[2729,4],[3030,7],[3170,7]]}}}],["edu",{"_index":699,"t":{"74":{"position":[[75,3],[198,3]]}}}],["ef",{"_index":1404,"t":{"253":{"position":[[254,2]]}}}],["effect",{"_index":808,"t":{"85":{"position":[[1147,9]]},"102":{"position":[[1147,9]]},"120":{"position":[[1227,9]]},"182":{"position":[[7690,7],[8023,9],[8167,7]]},"318":{"position":[[152,7],[485,9],[629,7]]},"401":{"position":[[216,11]]},"445":{"position":[[382,11]]}}}],["effici",{"_index":1010,"t":{"182":{"position":[[1208,9]]},"301":{"position":[[429,9]]},"403":{"position":[[61,10]]}}}],["effort",{"_index":1706,"t":{"327":{"position":[[666,7]]}}}],["element",{"_index":1494,"t":{"266":{"position":[[1077,7],[1090,7],[1132,7],[1277,7],[1295,7],[1342,7],[1386,7],[1402,7]]},"268":{"position":[[277,7],[298,7],[391,7],[417,7],[450,7],[471,7],[540,7]]}}}],["email",{"_index":1782,"t":{"381":{"position":[[85,5]]}}}],["empti",{"_index":1544,"t":{"278":{"position":[[282,5]]},"450":{"position":[[208,5],[236,5]]},"452":{"position":[[987,5],[993,5],[1098,5],[1147,5],[1271,5],[1320,5],[1446,5],[1502,5]]},"454":{"position":[[483,5],[494,5],[575,5],[581,5],[711,5],[748,5]]}}}],["en",{"_index":1090,"t":{"182":{"position":[[6945,2]]},"266":{"position":[[784,2],[944,2]]},"316":{"position":[[128,2]]},"334":{"position":[[2187,2]]}}}],["enabl",{"_index":1818,"t":{"415":{"position":[[211,8]]},"441":{"position":[[212,8]]}}}],["encapsul",{"_index":1657,"t":{"292":{"position":[[1376,11]]}}}],["encod",{"_index":358,"t":{"31":{"position":[[1127,6],[2126,6]]},"148":{"position":[[1127,6],[2126,6]]}}}],["encount",{"_index":1797,"t":{"401":{"position":[[562,9],[752,9]]}}}],["encourag",{"_index":1848,"t":{"437":{"position":[[0,9]]},"439":{"position":[[116,9]]}}}],["encrypt",{"_index":1539,"t":{"278":{"position":[[143,10],[373,10]]}}}],["encryptionutil",{"_index":1553,"t":{"278":{"position":[[464,15]]}}}],["end",{"_index":1075,"t":{"182":{"position":[[5563,3],[5576,3]]},"228":{"position":[[281,3],[307,3]]},"243":{"position":[[304,3]]},"249":{"position":[[396,3],[2060,3]]},"271":{"position":[[79,3]]},"273":{"position":[[917,3]]},"292":{"position":[[16,3]]},"294":{"position":[[336,3],[1046,3],[1654,3],[1675,3],[2031,3]]},"312":{"position":[[10,3],[23,3]]},"334":{"position":[[1686,3]]},"360":{"position":[[167,3]]}}}],["engag",{"_index":1847,"t":{"435":{"position":[[120,6]]}}}],["english",{"_index":923,"t":{"112":{"position":[[50,7]]},"182":{"position":[[6662,7],[6696,7]]},"184":{"position":[[890,7],[3089,7]]},"266":{"position":[[796,7],[963,7]]},"314":{"position":[[266,7],[300,7]]}}}],["enhanc",{"_index":1012,"t":{"182":{"position":[[1338,11]]},"301":{"position":[[559,11]]},"330":{"position":[[86,12]]},"435":{"position":[[183,7]]}}}],["enough",{"_index":1145,"t":{"182":{"position":[[9503,6]]},"221":{"position":[[167,6],[259,6]]},"321":{"position":[[538,6]]}}}],["ensur",{"_index":1516,"t":{"273":{"position":[[99,6]]},"413":{"position":[[657,6]]},"443":{"position":[[188,6]]}}}],["enter",{"_index":932,"t":{"112":{"position":[[326,5]]},"182":{"position":[[2845,5],[3860,5]]},"195":{"position":[[2,5]]},"197":{"position":[[261,5]]},"213":{"position":[[2,5]]},"231":{"position":[[109,5]]},"310":{"position":[[789,5],[1804,5]]},"358":{"position":[[61,5]]},"401":{"position":[[432,5]]},"456":{"position":[[1040,5],[1072,5],[1176,7]]}}}],["entir",{"_index":1429,"t":{"259":{"position":[[652,6]]},"292":{"position":[[173,6]]}}}],["entiti",{"_index":1577,"t":{"280":{"position":[[428,6]]}}}],["entranc",{"_index":537,"t":{"49":{"position":[[58,8]]},"134":{"position":[[58,8]]},"228":{"position":[[610,8]]},"231":{"position":[[58,8],[662,8],[1000,8]]},"233":{"position":[[21,8]]},"235":{"position":[[21,8]]},"271":{"position":[[0,8]]},"273":{"position":[[574,8]]},"284":{"position":[[290,8]]},"286":{"position":[[29,8]]},"292":{"position":[[1448,8]]},"345":{"position":[[56,8],[119,8]]}}}],["entri",{"_index":1521,"t":{"273":{"position":[[608,5]]},"286":{"position":[[46,5]]},"292":{"position":[[122,5]]}}}],["env",{"_index":526,"t":{"45":{"position":[[95,3],[151,3]]},"49":{"position":[[136,3],[183,3],[214,3],[273,3]]},"130":{"position":[[95,3],[151,3]]},"134":{"position":[[136,3],[183,3],[214,3],[273,3]]},"233":{"position":[[355,3]]},"294":{"position":[[1356,3]]},"347":{"position":[[66,3],[89,3]]}}}],["environ",{"_index":858,"t":{"98":{"position":[[95,11]]},"108":{"position":[[771,11]]},"294":{"position":[[1372,11]]},"353":{"position":[[73,11]]},"392":{"position":[[12,11],[118,11]]},"431":{"position":[[72,11]]},"441":{"position":[[33,12]]}}}],["equat",{"_index":1887,"t":{"458":{"position":[[367,8],[436,8]]}}}],["error",{"_index":1365,"t":{"247":{"position":[[705,5],[2381,5]]},"249":{"position":[[1899,5]]},"286":{"position":[[255,5]]},"294":{"position":[[2121,5]]},"450":{"position":[[194,5],[281,5]]},"452":{"position":[[1028,5],[1200,5],[1371,5],[1529,5]]},"454":{"position":[[529,5],[780,5]]}}}],["error_pag",{"_index":1384,"t":{"247":{"position":[[2381,10]]},"249":{"position":[[1899,10]]}}}],["es",{"_index":1662,"t":{"292":{"position":[[1748,2]]}}}],["eslint",{"_index":817,"t":{"92":{"position":[[236,6]]},"96":{"position":[[21,6]]},"292":{"position":[[2080,6]]}}}],["establish",{"_index":1702,"t":{"327":{"position":[[572,12],[863,11]]}}}],["etc",{"_index":599,"t":{"59":{"position":[[116,3]]},"85":{"position":[[126,3],[801,3],[1024,3],[1196,3]]},"102":{"position":[[126,3],[801,3],[1024,3],[1196,3]]},"120":{"position":[[870,3],[1104,3],[1276,3]]},"182":{"position":[[1934,3],[5391,3]]},"184":{"position":[[1657,3]]},"186":{"position":[[1393,3]]},"247":{"position":[[589,3]]},"249":{"position":[[142,3]]},"253":{"position":[[61,3],[86,3],[388,3]]},"256":{"position":[[9,3]]},"259":{"position":[[748,3]]},"264":{"position":[[466,3]]},"276":{"position":[[218,3],[721,3]]},"278":{"position":[[159,3],[733,3]]},"280":{"position":[[295,3]]},"282":{"position":[[1539,3],[1673,3]]},"286":{"position":[[490,3],[608,3],[755,3],[980,3],[1198,3]]},"292":{"position":[[476,3],[1979,3]]},"294":{"position":[[954,3],[1350,3],[1724,3],[2137,3]]},"307":{"position":[[104,3]]},"310":{"position":[[3335,3]]},"330":{"position":[[100,3]]},"334":{"position":[[1101,3]]},"413":{"position":[[572,3]]},"433":{"position":[[60,3]]}}}],["event",{"_index":1419,"t":{"259":{"position":[[471,6],[729,5]]},"264":{"position":[[567,5],[612,5]]},"435":{"position":[[173,6]]},"439":{"position":[[55,6]]}}}],["eventbu",{"_index":1421,"t":{"259":{"position":[[497,8]]},"262":{"position":[[533,8]]}}}],["everyon",{"_index":1009,"t":{"182":{"position":[[1172,8],[2298,8]]},"186":{"position":[[1414,8]]},"301":{"position":[[393,8]]},"310":{"position":[[242,8]]},"425":{"position":[[10,8]]},"445":{"position":[[340,8]]}}}],["exactli",{"_index":1708,"t":{"327":{"position":[[743,7]]}}}],["exampl",{"_index":795,"t":{"85":{"position":[[860,7]]},"102":{"position":[[860,7]]},"120":{"position":[[940,7]]},"184":{"position":[[2176,7],[2291,7],[2442,7],[2518,7]]},"195":{"position":[[39,7]]},"197":{"position":[[79,7]]},"213":{"position":[[39,7]]},"231":{"position":[[494,7]]},"247":{"position":[[718,7]]},"278":{"position":[[97,7]]},"280":{"position":[[1078,7]]},"286":{"position":[[1325,7]]},"334":{"position":[[2159,7]]}}}],["exceed",{"_index":1729,"t":{"334":{"position":[[1248,9]]}}}],["except",{"_index":1148,"t":{"182":{"position":[[9808,6]]},"184":{"position":[[2721,6]]},"321":{"position":[[843,6]]}}}],["exchang",{"_index":1019,"t":{"182":{"position":[[1891,9]]},"307":{"position":[[61,9]]},"435":{"position":[[140,9]]},"439":{"position":[[84,8]]}}}],["execut",{"_index":371,"t":{"31":{"position":[[2099,7]]},"148":{"position":[[2099,7]]},"231":{"position":[[932,7]]},"247":{"position":[[416,7]]},"253":{"position":[[125,7]]},"282":{"position":[[327,9],[856,9]]},"286":{"position":[[1905,8]]},"294":{"position":[[302,9],[1065,9],[1091,9],[1708,9],[1927,8],[2001,9]]},"334":{"position":[[668,9]]},"358":{"position":[[0,7]]},"360":{"position":[[0,7],[101,8]]}}}],["executor",{"_index":1565,"t":{"278":{"position":[[1056,8]]}}}],["exist",{"_index":1115,"t":{"182":{"position":[[8320,8]]},"253":{"position":[[243,6]]},"268":{"position":[[307,6],[607,6]]},"276":{"position":[[1273,8]]},"318":{"position":[[782,8]]},"452":{"position":[[1493,5]]},"454":{"position":[[742,5]]}}}],["expect",{"_index":1865,"t":{"450":{"position":[[20,8]]},"452":{"position":[[20,8]]},"454":{"position":[[20,8]]},"456":{"position":[[23,8]]},"458":{"position":[[23,8]]}}}],["experi",{"_index":789,"t":{"85":{"position":[[774,10]]},"102":{"position":[[774,10]]},"108":{"position":[[659,11]]},"120":{"position":[[842,10]]},"421":{"position":[[102,10]]},"437":{"position":[[119,11]]},"439":{"position":[[103,11]]},"461":{"position":[[10,10]]}}}],["expertis",{"_index":1016,"t":{"182":{"position":[[1607,9]]},"303":{"position":[[174,9]]}}}],["expir",{"_index":1474,"t":{"266":{"position":[[372,6],[380,10]]},"452":{"position":[[1567,7],[1605,7]]}}}],["explain",{"_index":1785,"t":{"383":{"position":[[185,7]]}}}],["explan",{"_index":832,"t":{"96":{"position":[[141,11]]}}}],["express",{"_index":1490,"t":{"266":{"position":[[999,10]]}}}],["extend",{"_index":1454,"t":{"264":{"position":[[112,6]]},"273":{"position":[[405,6],[832,6]]}}}],["extern",{"_index":1420,"t":{"259":{"position":[[478,10]]}}}],["f",{"_index":341,"t":{"31":{"position":[[743,1],[853,1],[962,1],[1961,1]]},"64":{"position":[[90,1]]},"148":{"position":[[743,1],[853,1],[962,1],[1961,1]]},"345":{"position":[[86,1]]},"347":{"position":[[165,1]]},"349":{"position":[[82,1]]}}}],["face",{"_index":743,"t":{"83":{"position":[[527,6]]},"92":{"position":[[177,4]]}}}],["facilit",{"_index":1718,"t":{"334":{"position":[[75,10]]},"427":{"position":[[255,10]]}}}],["factori",{"_index":1562,"t":{"278":{"position":[[966,7]]},"282":{"position":[[463,7],[992,7]]}}}],["faculti",{"_index":706,"t":{"74":{"position":[[180,7]]}}}],["fail",{"_index":1867,"t":{"450":{"position":[[183,5],[270,5]]},"452":{"position":[[1006,6],[1178,6],[1349,6],[1516,5]]},"454":{"position":[[507,6],[769,5]]}}}],["fals",{"_index":1333,"t":{"233":{"position":[[163,5]]},"373":{"position":[[105,5],[206,5]]}}}],["familiar",{"_index":762,"t":{"85":{"position":[[220,11]]},"102":{"position":[[220,11]]},"120":{"position":[[295,11]]}}}],["faq",{"_index":845,"t":{"96":{"position":[[539,3]]},"184":{"position":[[1296,3],[1539,3]]}}}],["faster",{"_index":1000,"t":{"182":{"position":[[937,6],[7762,6]]},"301":{"position":[[158,6]]},"318":{"position":[[224,6]]}}}],["feasibl",{"_index":1457,"t":{"264":{"position":[[264,11]]}}}],["feat",{"_index":1723,"t":{"334":{"position":[[566,4],[845,4]]}}}],["featur",{"_index":810,"t":{"92":{"position":[[7,8],[68,8]]},"96":{"position":[[928,7]]},"114":{"position":[[570,7]]},"182":{"position":[[1247,7],[1272,8],[4914,7],[7053,7],[7276,8],[7951,7],[8234,8]]},"301":{"position":[[468,7],[493,8]]},"310":{"position":[[2858,7]]},"316":{"position":[[236,7],[459,8]]},"318":{"position":[[413,7],[696,8]]},"330":{"position":[[78,7]]},"334":{"position":[[576,7],[732,8]]},"339":{"position":[[948,8]]},"441":{"position":[[20,8]]}}}],["feedback",{"_index":49,"t":{"2":{"position":[[184,8]]},"4":{"position":[[180,8]]},"22":{"position":[[184,8]]},"24":{"position":[[180,8]]},"39":{"position":[[184,8]]},"41":{"position":[[180,8]]},"55":{"position":[[536,8]]},"57":{"position":[[524,8]]},"87":{"position":[[536,8]]},"89":{"position":[[524,8]]},"104":{"position":[[523,8]]},"106":{"position":[[511,8]]},"126":{"position":[[180,8]]},"142":{"position":[[180,8]]},"158":{"position":[[180,8]]},"182":{"position":[[248,8],[304,8],[484,8],[10628,8]]},"299":{"position":[[36,8],[216,8]]},"411":{"position":[[511,8]]},"415":{"position":[[52,8],[163,8],[309,8],[362,8],[447,8],[641,8],[856,8]]},"423":{"position":[[52,8]]},"427":{"position":[[167,8]]},"441":{"position":[[134,8]]}}}],["feel",{"_index":1120,"t":{"182":{"position":[[8416,4]]},"318":{"position":[[878,4]]},"427":{"position":[[534,4]]}}}],["fetch",{"_index":1036,"t":{"182":{"position":[[2918,5],[2972,5],[4083,5]]},"186":{"position":[[828,5]]},"310":{"position":[[862,5],[916,5],[2027,5]]}}}],["few",{"_index":1102,"t":{"182":{"position":[[7681,3]]},"318":{"position":[[143,3]]}}}],["ff",{"_index":1217,"t":{"186":{"position":[[937,2]]}}}],["fh",{"_index":329,"t":{"31":{"position":[[450,2],[504,2],[1685,2],[1739,2]]},"148":{"position":[[450,2],[504,2],[1685,2],[1739,2]]}}}],["field",{"_index":1322,"t":{"231":{"position":[[376,6]]},"268":{"position":[[121,5],[262,5],[376,5],[567,6],[676,5],[775,5],[827,6]]},"334":{"position":[[356,6]]}}}],["figur",{"_index":1878,"t":{"456":{"position":[[2701,6]]}}}],["file",{"_index":386,"t":{"31":{"position":[[2371,4]]},"148":{"position":[[2371,4]]},"184":{"position":[[531,5],[1084,5],[1607,5],[2391,5],[2652,5],[3488,5],[3605,5]]},"247":{"position":[[566,4],[638,5],[771,4],[894,4]]},"249":{"position":[[127,4]]},"253":{"position":[[116,4]]},"276":{"position":[[43,4],[93,4],[232,4],[318,4],[1091,4],[1329,4]]},"282":{"position":[[1757,4]]},"284":{"position":[[171,4],[246,4],[515,4],[618,4],[644,5],[1024,5]]},"294":{"position":[[1407,4]]}}}],["filehandl",{"_index":330,"t":{"31":{"position":[[463,11],[1698,11]]},"148":{"position":[[463,11],[1698,11]]}}}],["fill",{"_index":869,"t":{"98":{"position":[[294,4]]},"388":{"position":[[153,4]]}}}],["final",{"_index":644,"t":{"66":{"position":[[426,7]]},"83":{"position":[[276,7]]},"186":{"position":[[1518,7]]},"262":{"position":[[902,5]]}}}],["find",{"_index":896,"t":{"108":{"position":[[239,4]]},"182":{"position":[[417,4],[7564,4],[9180,4]]},"264":{"position":[[629,4],[658,4]]},"299":{"position":[[149,4]]},"318":{"position":[[26,4]]},"321":{"position":[[215,4]]},"403":{"position":[[118,4]]}}}],["firm",{"_index":749,"t":{"83":{"position":[[613,4]]}}}],["first",{"_index":722,"t":{"83":{"position":[[66,5]]},"112":{"position":[[159,5],[510,5]]},"114":{"position":[[676,5]]},"182":{"position":[[324,5]]},"184":{"position":[[305,5]]},"186":{"position":[[37,5]]},"191":{"position":[[44,5]]},"209":{"position":[[42,5]]},"299":{"position":[[56,5]]},"334":{"position":[[1666,5]]},"353":{"position":[[35,5]]},"358":{"position":[[243,5]]},"401":{"position":[[0,5]]}}}],["five",{"_index":673,"t":{"72":{"position":[[39,4]]},"259":{"position":[[29,4]]}}}],["fix",{"_index":987,"t":{"182":{"position":[[261,5],[654,3],[715,5],[4910,3],[5095,3],[5123,3],[5131,3],[5441,3],[5512,3],[5891,3],[5947,3],[6222,3],[6270,3],[6298,3],[6351,3],[6359,3],[7040,3],[7908,3],[7945,3],[8191,3],[10641,5]]},"292":{"position":[[2250,3]]},"299":{"position":[[386,3],[447,5]]},"310":{"position":[[2854,3],[3039,3],[3067,3],[3075,3],[3385,3],[3456,3]]},"312":{"position":[[338,3],[394,3],[669,3],[717,3],[745,3],[798,3],[806,3]]},"316":{"position":[[223,3]]},"318":{"position":[[370,3],[407,3],[653,3]]},"330":{"position":[[71,5]]},"334":{"position":[[584,3],[593,3],[745,3],[855,3]]}}}],["flask",{"_index":1676,"t":{"294":{"position":[[35,5],[977,5],[1593,5]]}}}],["flow",{"_index":1175,"t":{"184":{"position":[[1645,4]]}}}],["focu",{"_index":723,"t":{"83":{"position":[[92,5],[482,5]]},"264":{"position":[[227,5]]}}}],["folder",{"_index":1619,"t":{"284":{"position":[[410,6],[654,7]]},"360":{"position":[[235,6]]}}}],["follow",{"_index":874,"t":{"100":{"position":[[179,9]]},"116":{"position":[[203,9]]},"182":{"position":[[182,9],[2139,9],[7130,6]]},"228":{"position":[[512,7]]},"247":{"position":[[782,7]]},"249":{"position":[[180,9]]},"294":{"position":[[1574,7]]},"296":{"position":[[90,9]]},"310":{"position":[[83,9]]},"316":{"position":[[313,6]]},"334":{"position":[[525,9],[1520,9],[1916,8]]},"358":{"position":[[12,9]]},"360":{"position":[[12,9]]},"413":{"position":[[377,9]]}}}],["footer",{"_index":1716,"t":{"332":{"position":[[329,6]]},"334":{"position":[[212,6],[263,6],[1721,6],[1729,6],[1866,6],[2104,6]]}}}],["fork",{"_index":940,"t":{"112":{"position":[[516,4],[646,4],[694,6],[1072,5],[1095,4]]},"114":{"position":[[766,6]]},"182":{"position":[[2626,4],[2642,4],[2727,4],[2823,4],[3015,4],[3157,4],[3263,4],[3349,4],[3437,4],[3521,6],[3601,4],[3762,4],[4269,4],[4720,4],[4842,4],[5693,4]]},"184":{"position":[[323,4]]},"186":{"position":[[110,4]]},"310":{"position":[[570,4],[586,4],[671,4],[767,4],[959,4],[1101,4],[1207,4],[1293,4],[1381,4],[1465,6],[1545,4],[1706,4],[2213,4],[2664,4],[2786,4]]},"312":{"position":[[140,4]]}}}],["form",{"_index":792,"t":{"85":{"position":[[814,4]]},"102":{"position":[[814,4]]},"120":{"position":[[879,4]]},"419":{"position":[[128,5]]},"427":{"position":[[521,4]]},"445":{"position":[[198,4]]}}}],["format",{"_index":313,"t":{"31":{"position":[[165,6],[1400,6]]},"148":{"position":[[165,6],[1400,6]]},"278":{"position":[[198,9]]},"292":{"position":[[2127,10]]},"294":{"position":[[1304,10]]},"334":{"position":[[0,9],[624,10]]},"336":{"position":[[15,6]]}}}],["formul",{"_index":1146,"t":{"182":{"position":[[9679,9]]},"321":{"position":[[714,9]]}}}],["forward",{"_index":752,"t":{"83":{"position":[[660,7]]},"215":{"position":[[191,7],[199,10],[228,7]]},"247":{"position":[[1196,9],[1223,9],[1675,9],[1702,9],[2161,9],[2188,9]]},"249":{"position":[[710,9],[737,9],[1191,9],[1218,9],[1679,9],[1706,9]]},"419":{"position":[[20,7]]}}}],["found",{"_index":903,"t":{"108":{"position":[[483,5]]},"182":{"position":[[8702,5]]},"318":{"position":[[1164,5]]},"327":{"position":[[296,5]]}}}],["framework",{"_index":725,"t":{"83":{"position":[[129,9]]},"92":{"position":[[675,9]]},"118":{"position":[[47,9]]},"184":{"position":[[592,9]]}}}],["free",{"_index":1121,"t":{"182":{"position":[[8421,4]]},"318":{"position":[[883,4]]}}}],["friendli",{"_index":1838,"t":{"431":{"position":[[29,8]]}}}],["front",{"_index":1074,"t":{"182":{"position":[[5557,5]]},"228":{"position":[[301,5]]},"243":{"position":[[298,5]]},"249":{"position":[[390,5],[2054,5]]},"271":{"position":[[73,5]]},"273":{"position":[[911,5]]},"292":{"position":[[10,5]]},"294":{"position":[[330,5],[1040,5],[1648,5],[1669,5],[2025,5]]},"312":{"position":[[4,5]]},"360":{"position":[[161,5]]}}}],["frontend",{"_index":1348,"t":{"238":{"position":[[9,8]]},"292":{"position":[[1516,8]]},"294":{"position":[[102,8]]}}}],["full",{"_index":993,"t":{"182":{"position":[[524,4]]},"299":{"position":[[256,4]]}}}],["function",{"_index":577,"t":{"55":{"position":[[371,8]]},"57":{"position":[[359,8]]},"87":{"position":[[371,8]]},"89":{"position":[[359,8]]},"92":{"position":[[211,8]]},"104":{"position":[[408,9]]},"106":{"position":[[396,9]]},"182":{"position":[[726,8],[884,8],[1050,8],[1363,9],[8359,9],[10651,8]]},"273":{"position":[[843,13]]},"292":{"position":[[1785,9]]},"294":{"position":[[158,10],[875,9],[1265,9],[2090,9]]},"301":{"position":[[105,8],[271,8],[584,9]]},"318":{"position":[[821,9]]},"411":{"position":[[370,8]]}}}],["futur",{"_index":720,"t":{"83":{"position":[[52,6],[740,6]]},"114":{"position":[[90,6]]},"182":{"position":[[5445,6]]},"186":{"position":[[456,6]]},"310":{"position":[[3389,6]]},"327":{"position":[[52,6]]}}}],["g",{"_index":1740,"t":{"334":{"position":[[1593,1]]}}}],["gain",{"_index":1101,"t":{"182":{"position":[[7656,4],[7901,5]]},"318":{"position":[[118,4],[363,5]]}}}],["gatech",{"_index":708,"t":{"74":{"position":[[191,6]]}}}],["gener",{"_index":553,"t":{"55":{"position":[[49,10],[383,10],[453,10],[611,10]]},"57":{"position":[[37,10],[371,10],[441,10],[599,10]]},"59":{"position":[[223,10]]},"61":{"position":[[164,9]]},"64":{"position":[[103,8]]},"66":{"position":[[9,8],[54,8],[462,8]]},"68":{"position":[[9,8],[91,9],[399,9]]},"79":{"position":[[21,9]]},"87":{"position":[[49,10],[383,10],[453,10],[611,10]]},"89":{"position":[[37,10],[371,10],[441,10],[599,10]]},"96":{"position":[[70,9],[587,7],[875,8]]},"104":{"position":[[49,10],[599,10]]},"106":{"position":[[37,10],[587,10]]},"114":{"position":[[280,9]]},"182":{"position":[[2084,8],[6203,8]]},"184":{"position":[[515,8],[1051,8],[3472,8]]},"231":{"position":[[263,7]]},"247":{"position":[[733,9]]},"286":{"position":[[1852,7]]},"310":{"position":[[28,8]]},"312":{"position":[[650,8]]},"334":{"position":[[106,8]]},"360":{"position":[[198,9]]},"405":{"position":[[3,9]]},"411":{"position":[[37,10],[583,10]]},"413":{"position":[[496,10],[696,9]]},"415":{"position":[[334,9],[571,9]]}}}],["get",{"_index":1560,"t":{"278":{"position":[[863,7]]}}}],["getlogg",{"_index":320,"t":{"31":{"position":[[254,9],[1489,9]]},"148":{"position":[[254,9],[1489,9]]}}}],["gg",{"_index":588,"t":{"55":{"position":[[831,2]]},"57":{"position":[[819,2]]},"87":{"position":[[831,2]]},"89":{"position":[[819,2]]},"98":{"position":[[380,2]]}}}],["git",{"_index":1043,"t":{"182":{"position":[[3705,3],[3736,3],[3790,3],[3850,3],[3956,3],[4016,3],[4079,3],[4170,3],[4285,3],[5075,3],[5103,3],[5494,3],[5516,3],[6137,3],[6185,3],[6250,3],[6331,3]]},"184":{"position":[[289,3],[434,3],[444,3],[499,3],[686,3],[696,3],[736,3]]},"186":{"position":[[106,3],[500,3],[510,3],[542,3],[592,3],[616,3],[648,3],[668,3],[824,3],[898,3],[922,3],[1021,3],[1052,3]]},"310":{"position":[[1649,3],[1680,3],[1734,3],[1794,3],[1900,3],[1960,3],[2023,3],[2114,3],[2229,3],[3019,3],[3047,3],[3438,3],[3460,3]]},"312":{"position":[[584,3],[632,3],[697,3],[778,3]]},"371":{"position":[[0,3],[52,3]]},"373":{"position":[[144,3],[212,3],[245,3]]}}}],["gite",{"_index":218,"t":{"22":{"position":[[271,5]]},"24":{"position":[[267,5]]},"39":{"position":[[271,5]]},"41":{"position":[[267,5]]},"55":{"position":[[700,5]]},"57":{"position":[[688,5]]},"87":{"position":[[700,5]]},"89":{"position":[[688,5]]},"104":{"position":[[690,5]]},"106":{"position":[[678,5]]},"126":{"position":[[267,5]]},"142":{"position":[[267,5]]}}}],["github",{"_index":55,"t":{"2":{"position":[[221,6]]},"4":{"position":[[217,6]]},"22":{"position":[[227,6]]},"24":{"position":[[223,6]]},"37":{"position":[[80,6],[179,6],[289,6]]},"39":{"position":[[227,6]]},"41":{"position":[[223,6]]},"53":{"position":[[80,6],[179,6],[289,6]]},"55":{"position":[[644,6],[772,6]]},"57":{"position":[[632,6],[760,6]]},"85":{"position":[[343,6],[581,6],[877,6]]},"87":{"position":[[644,6],[772,6]]},"89":{"position":[[632,6],[760,6]]},"98":{"position":[[31,6],[162,6],[311,6]]},"102":{"position":[[343,6],[581,6],[877,6]]},"104":{"position":[[633,6],[762,6],[830,6]]},"106":{"position":[[621,6],[750,6],[818,6]]},"108":{"position":[[1408,6],[1476,6]]},"112":{"position":[[921,6]]},"114":{"position":[[255,6],[1044,6]]},"120":{"position":[[414,6],[649,6],[957,6]]},"126":{"position":[[223,6]]},"138":{"position":[[80,6],[179,6],[289,6]]},"142":{"position":[[223,6]]},"154":{"position":[[80,6],[179,6],[289,6]]},"158":{"position":[[217,6]]},"182":{"position":[[2535,6],[2660,6],[3808,6],[3825,6],[3988,6],[5481,6],[5740,6],[5816,6],[6155,6],[6934,6],[6948,6]]},"184":{"position":[[363,6],[448,6],[465,6],[700,6],[2848,6],[2987,6],[3198,6],[3355,6]]},"186":{"position":[[78,6],[514,6],[620,6],[1108,6]]},"193":{"position":[[20,6]]},"211":{"position":[[36,6],[81,6]]},"228":{"position":[[66,6]]},"243":{"position":[[66,6]]},"310":{"position":[[479,6],[604,6],[1752,6],[1769,6],[1932,6],[3425,6]]},"312":{"position":[[187,6],[263,6],[602,6]]},"316":{"position":[[117,6],[131,6]]},"332":{"position":[[110,6]]},"342":{"position":[[81,6]]},"355":{"position":[[57,6],[83,6],[200,6]]},"373":{"position":[[216,6]]},"388":{"position":[[27,6]]},"394":{"position":[[57,6],[83,6],[200,6]]},"401":{"position":[[348,6],[803,6]]}}}],["githubid",{"_index":1079,"t":{"182":{"position":[[6167,8]]},"312":{"position":[[614,8]]}}}],["give",{"_index":1834,"t":{"427":{"position":[[639,4]]}}}],["given",{"_index":1599,"t":{"280":{"position":[[1108,5]]}}}],["global",{"_index":1538,"t":{"278":{"position":[[35,6]]}}}],["go",{"_index":1707,"t":{"327":{"position":[[681,2]]}}}],["goal",{"_index":1813,"t":{"413":{"position":[[309,4]]}}}],["gold",{"_index":674,"t":{"72":{"position":[[52,4]]}}}],["good",{"_index":1157,"t":{"184":{"position":[[68,4]]},"327":{"position":[[2,4],[347,4],[821,4]]}}}],["gpt",{"_index":811,"t":{"92":{"position":[[103,3]]},"231":{"position":[[813,3],[829,3],[855,3],[863,3]]}}}],["gpt3",{"_index":596,"t":{"59":{"position":[[102,4]]}}}],["gpt4",{"_index":598,"t":{"59":{"position":[[110,4]]}}}],["graph",{"_index":628,"t":{"66":{"position":[[38,5],[76,5],[220,5],[256,5],[359,5],[446,5],[509,5]]},"70":{"position":[[36,5]]},"411":{"position":[[437,5],[577,5]]},"413":{"position":[[18,5],[348,5]]},"415":{"position":[[113,5],[344,6],[406,6],[783,5]]},"458":{"position":[[321,5],[408,5],[423,5]]}}}],["graphic",{"_index":575,"t":{"55":{"position":[[347,8],[394,8],[464,8],[602,8]]},"57":{"position":[[335,8],[382,8],[452,8],[590,8]]},"59":{"position":[[238,8]]},"74":{"position":[[57,8]]},"79":{"position":[[31,8]]},"83":{"position":[[380,8]]},"87":{"position":[[347,8],[394,8],[464,8],[602,8]]},"89":{"position":[[335,8],[382,8],[452,8],[590,8]]},"92":{"position":[[278,7]]},"96":{"position":[[888,8]]},"104":{"position":[[372,8],[400,7],[447,7],[591,7]]},"106":{"position":[[360,8],[388,7],[435,7],[579,7]]},"405":{"position":[[13,7]]},"411":{"position":[[346,8]]},"413":{"position":[[140,9],[219,8],[283,8],[431,8],[488,7],[535,8],[640,8],[706,8]]},"415":{"position":[[581,8],[876,8]]}}}],["grate",{"_index":1828,"t":{"427":{"position":[[12,8]]}}}],["green",{"_index":676,"t":{"72":{"position":[[65,5]]}}}],["grep",{"_index":1270,"t":{"215":{"position":[[90,4]]},"253":{"position":[[258,4]]}}}],["grid",{"_index":630,"t":{"66":{"position":[[103,4]]}}}],["group",{"_index":586,"t":{"55":{"position":[[808,5]]},"57":{"position":[[796,5]]},"87":{"position":[[808,5]]},"89":{"position":[[796,5]]},"98":{"position":[[357,5]]},"108":{"position":[[1285,6]]},"182":{"position":[[4599,5],[9242,5],[9639,5]]},"310":{"position":[[2543,5]]},"321":{"position":[[277,5],[674,5]]}}}],["guid",{"_index":863,"t":{"98":{"position":[[198,5]]},"108":{"position":[[265,6],[310,6]]},"182":{"position":[[13,5],[3181,5],[4756,5],[7249,5]]},"184":{"position":[[7,5]]},"186":{"position":[[7,5]]},"310":{"position":[[1125,5],[2700,5]]},"316":{"position":[[432,5]]},"415":{"position":[[175,5]]},"447":{"position":[[27,5]]}}}],["guidanc",{"_index":1862,"t":{"445":{"position":[[295,8]]}}}],["guidelin",{"_index":984,"t":{"182":{"position":[[192,10],[5541,10],[6384,10],[6805,10],[10824,10],[10856,10],[10900,10]]},"296":{"position":[[100,10]]}}}],["gz",{"_index":1233,"t":{"193":{"position":[[114,2]]},"195":{"position":[[80,2]]},"228":{"position":[[387,2],[459,2]]},"243":{"position":[[293,2]]},"345":{"position":[[32,2]]},"347":{"position":[[32,2]]},"349":{"position":[[32,2]]}}}],["h",{"_index":1244,"t":{"197":{"position":[[310,1]]}}}],["h192",{"_index":1313,"t":{"231":{"position":[[141,4]]}}}],["half",{"_index":1133,"t":{"182":{"position":[[9116,4]]},"321":{"position":[[151,4]]}}}],["handl",{"_index":1545,"t":{"278":{"position":[[319,8],[787,8]]},"292":{"position":[[846,6],[998,6],[1896,8]]},"294":{"position":[[462,7],[1183,6],[2127,8]]},"413":{"position":[[511,6]]},"443":{"position":[[217,7]]}}}],["handler",{"_index":326,"t":{"31":{"position":[[312,7],[354,7],[411,7],[1547,7],[1589,7],[1646,7]]},"148":{"position":[[312,7],[354,7],[411,7],[1547,7],[1589,7],[1646,7]]}}}],["harass",{"_index":1859,"t":{"445":{"position":[[222,10]]}}}],["hardwar",{"_index":1274,"t":{"221":{"position":[[0,8]]}}}],["header",{"_index":1370,"t":{"247":{"position":[[1032,6],[1061,6],[1102,6],[1144,6],[1187,6],[1347,6],[1387,6],[1511,6],[1540,6],[1581,6],[1623,6],[1666,6],[1826,6],[1866,6],[1997,6],[2026,6],[2067,6],[2109,6],[2152,6],[2312,6],[2352,6]]},"249":{"position":[[546,6],[575,6],[616,6],[658,6],[701,6],[861,6],[901,6],[1027,6],[1056,6],[1097,6],[1139,6],[1182,6],[1342,6],[1382,6],[1515,6],[1544,6],[1585,6],[1627,6],[1670,6],[1830,6],[1870,6]]},"278":{"position":[[131,6]]},"292":{"position":[[567,6]]},"334":{"position":[[194,6],[224,6],[284,6],[296,6]]}}}],["helm",{"_index":1255,"t":{"203":{"position":[[34,4]]},"209":{"position":[[37,4],[115,4]]},"213":{"position":[[77,4],[90,4]]}}}],["help",{"_index":557,"t":{"55":{"position":[[94,4]]},"57":{"position":[[82,4]]},"85":{"position":[[992,4],[1113,4]]},"87":{"position":[[94,4]]},"89":{"position":[[82,4]]},"102":{"position":[[992,4],[1113,4]]},"104":{"position":[[94,4]]},"106":{"position":[[82,4]]},"108":{"position":[[680,4]]},"120":{"position":[[1072,4],[1193,4]]},"182":{"position":[[1433,7],[1623,7],[1861,7],[1970,4]]},"303":{"position":[[0,7],[190,7]]},"307":{"position":[[31,7],[140,4]]},"327":{"position":[[26,4],[131,4]]},"330":{"position":[[109,4]]},"334":{"position":[[30,4],[2252,4],[2299,4]]},"401":{"position":[[643,5]]},"403":{"position":[[107,4],[144,5]]},"411":{"position":[[83,4]]},"419":{"position":[[159,4]]},"427":{"position":[[314,7]]}}}],["helper",{"_index":794,"t":{"85":{"position":[[848,6]]},"102":{"position":[[848,6]]}}}],["here",{"_index":901,"t":{"108":{"position":[[429,4],[489,4]]},"112":{"position":[[566,4]]},"120":{"position":[[0,4]]},"276":{"position":[[880,4],[1016,4],[1042,4]]}}}],["hgfdsa101",{"_index":883,"t":{"100":{"position":[[284,9]]}}}],["high",{"_index":1105,"t":{"182":{"position":[[7803,4],[8248,4]]},"318":{"position":[[265,4],[710,4]]}}}],["higher",{"_index":1825,"t":{"415":{"position":[[888,6]]}}}],["highli",{"_index":1416,"t":{"259":{"position":[[415,6]]}}}],["histor",{"_index":1717,"t":{"334":{"position":[[51,10]]}}}],["home",{"_index":1179,"t":{"184":{"position":[[1726,4],[1907,4],[2931,4],[3035,4],[3042,4],[3067,4],[3651,4]]},"292":{"position":[[378,4],[875,4],[902,4]]}}}],["homepag",{"_index":1184,"t":{"184":{"position":[[1915,8],[2736,8],[3127,8]]}}}],["hook",{"_index":1651,"t":{"292":{"position":[[951,5]]}}}],["hope",{"_index":971,"t":{"114":{"position":[[979,6]]},"262":{"position":[[345,4]]},"445":{"position":[[259,4]]}}}],["host",{"_index":544,"t":{"49":{"position":[[143,4]]},"134":{"position":[[143,4]]},"233":{"position":[[403,4]]},"247":{"position":[[1039,4],[1045,4],[1518,4],[1524,4],[2004,4],[2010,4]]},"249":{"position":[[293,4],[553,4],[559,4],[1034,4],[1040,4],[1522,4],[1528,4]]}}}],["hostnam",{"_index":1615,"t":{"282":{"position":[[1386,8]]}}}],["hot",{"_index":662,"t":{"68":{"position":[[267,3]]}}}],["html",{"_index":710,"t":{"74":{"position":[[220,4]]},"184":{"position":[[2486,4],[2557,4]]},"247":{"position":[[921,4],[932,4],[2413,4],[2435,4],[2464,4]]},"249":{"position":[[436,4],[447,4],[1931,4],[1953,4],[1982,4]]}}}],["http",{"_index":54,"t":{"2":{"position":[[213,5]]},"4":{"position":[[209,5]]},"22":{"position":[[219,5],[263,5]]},"24":{"position":[[215,5],[259,5]]},"37":{"position":[[72,5],[171,5],[281,5]]},"39":{"position":[[219,5],[263,5]]},"41":{"position":[[215,5],[259,5]]},"53":{"position":[[72,5],[171,5],[281,5]]},"55":{"position":[[636,5],[692,5],[755,5],[815,5]]},"57":{"position":[[624,5],[680,5],[743,5],[803,5]]},"74":{"position":[[49,5],[172,5]]},"85":{"position":[[335,5],[573,5],[869,5]]},"87":{"position":[[636,5],[692,5],[755,5],[815,5]]},"89":{"position":[[624,5],[680,5],[743,5],[803,5]]},"98":{"position":[[23,5],[108,4],[145,5],[227,5],[303,5],[364,5]]},"102":{"position":[[335,5],[573,5],[869,5]]},"104":{"position":[[625,5],[682,5],[745,5],[822,5]]},"106":{"position":[[613,5],[670,5],[733,5],[810,5]]},"108":{"position":[[1391,5],[1468,5]]},"120":{"position":[[406,5],[641,5],[949,5]]},"126":{"position":[[215,5],[259,5]]},"138":{"position":[[72,5],[171,5],[281,5]]},"142":{"position":[[215,5],[259,5]]},"154":{"position":[[72,5],[171,5],[281,5]]},"158":{"position":[[209,5]]},"182":{"position":[[2527,5],[2652,5],[3800,5],[3980,5],[6147,5],[6921,5]]},"184":{"position":[[856,4],[981,4],[2970,5],[3181,5],[3347,5]]},"186":{"position":[[70,5]]},"193":{"position":[[12,5]]},"197":{"position":[[88,5],[151,5],[225,4]]},"199":{"position":[[12,4]]},"211":{"position":[[28,5]]},"217":{"position":[[12,4]]},"228":{"position":[[58,5]]},"231":{"position":[[503,5],[566,5]]},"240":{"position":[[23,4]]},"243":{"position":[[58,5]]},"247":{"position":[[77,4],[146,4],[214,4],[1244,4],[1363,4],[1723,4],[1842,4],[2209,4],[2328,4]]},"249":{"position":[[486,4],[758,4],[877,4],[968,4],[1239,4],[1358,4],[1449,4],[1727,4],[1846,4]]},"251":{"position":[[15,4]]},"278":{"position":[[126,4]]},"292":{"position":[[1726,4]]},"310":{"position":[[471,5],[596,5],[1744,5],[1924,5]]},"312":{"position":[[594,5]]},"316":{"position":[[104,5]]},"325":{"position":[[0,5]]},"342":{"position":[[73,5]]},"353":{"position":[[161,4]]},"355":{"position":[[75,5],[192,5]]},"388":{"position":[[19,5]]},"394":{"position":[[75,5],[192,5]]},"401":{"position":[[331,5],[795,5]]}}}],["http_upgrad",{"_index":1383,"t":{"247":{"position":[[1363,12],[1842,12],[2328,12]]},"249":{"position":[[877,12],[1358,12],[1846,12]]}}}],["hub",{"_index":888,"t":{"108":{"position":[[41,3]]}}}],["hug",{"_index":813,"t":{"92":{"position":[[169,7]]}}}],["huggingfac",{"_index":1803,"t":{"407":{"position":[[129,11]]}}}],["human",{"_index":48,"t":{"2":{"position":[[178,5]]},"4":{"position":[[174,5]]},"22":{"position":[[178,5]]},"24":{"position":[[174,5]]},"39":{"position":[[178,5]]},"41":{"position":[[174,5]]},"55":{"position":[[530,5]]},"57":{"position":[[518,5]]},"87":{"position":[[530,5]]},"89":{"position":[[518,5]]},"104":{"position":[[517,5]]},"106":{"position":[[505,5]]},"126":{"position":[[174,5]]},"142":{"position":[[174,5]]},"158":{"position":[[174,5]]},"411":{"position":[[505,5]]},"415":{"position":[[46,5],[157,5]]}}}],["huski",{"_index":1673,"t":{"292":{"position":[[2201,5]]}}}],["hutter",{"_index":1701,"t":{"327":{"position":[[554,8]]}}}],["i18n",{"_index":1169,"t":{"184":{"position":[[1311,4]]}}}],["icon",{"_index":1479,"t":{"266":{"position":[[581,4],[587,4]]}}}],["id",{"_index":340,"t":{"31":{"position":[[726,2],[770,2],[836,2],[871,2]]},"148":{"position":[[726,2],[770,2],[836,2],[871,2]]},"197":{"position":[[399,2],[405,2]]},"231":{"position":[[746,2]]},"266":{"position":[[44,2],[193,2],[197,2],[445,2],[664,2],[732,2],[753,2],[1099,2],[1149,2],[1161,2],[1309,2],[1365,2],[1378,2],[1394,2],[1410,2],[1516,2],[1563,2],[1575,2],[1598,2],[1609,2],[1735,2],[1979,2],[2173,2]]},"268":{"position":[[118,2],[259,2],[373,2],[548,2],[564,2],[673,2]]},"286":{"position":[[604,2],[751,2]]},"456":{"position":[[0,2]]},"458":{"position":[[0,2]]}}}],["ident",{"_index":348,"t":{"31":{"position":[[933,5],[996,5],[1932,5],[1995,5]]},"148":{"position":[[933,5],[996,5],[1932,5],[1995,5]]}}}],["identifi",{"_index":1112,"t":{"182":{"position":[[8102,10]]},"266":{"position":[[55,10],[232,8],[251,10],[456,10],[675,10],[1110,10],[1320,10],[1527,10],[1746,10],[1990,10],[2184,10]]},"318":{"position":[[564,10]]},"334":{"position":[[541,11]]}}}],["imag",{"_index":554,"t":{"55":{"position":[[60,6]]},"57":{"position":[[48,6]]},"87":{"position":[[60,6]]},"89":{"position":[[48,6]]},"104":{"position":[[60,6]]},"106":{"position":[[48,6]]},"184":{"position":[[2217,6],[2577,5]]},"266":{"position":[[1822,5],[1837,5]]},"411":{"position":[[48,6]]}}}],["img",{"_index":1185,"t":{"184":{"position":[[1938,3],[2273,3],[2330,4]]}}}],["implement",{"_index":886,"t":{"104":{"position":[[544,9]]},"106":{"position":[[532,9]]},"182":{"position":[[750,14],[944,14],[1032,9],[1297,11],[10675,14]]},"186":{"position":[[1364,14]]},"282":{"position":[[181,10],[448,10],[539,10],[710,10],[977,10],[1068,10],[1585,14],[1699,14]]},"286":{"position":[[1536,14],[1766,9]]},"294":{"position":[[360,10]]},"301":{"position":[[165,14],[253,9],[518,11]]}}}],["import",{"_index":304,"t":{"31":{"position":[[18,6],[38,6],[62,6],[87,6],[106,6],[118,6],[130,6],[1253,6],[1273,6],[1297,6],[1322,6],[1341,6],[1353,6],[1365,6],[2339,6]]},"148":{"position":[[18,6],[38,6],[62,6],[87,6],[106,6],[118,6],[130,6],[1253,6],[1273,6],[1297,6],[1322,6],[1341,6],[1353,6],[1365,6],[2339,6]]}}}],["imposs",{"_index":1107,"t":{"182":{"position":[[7838,10]]},"318":{"position":[[300,10]]}}}],["improp",{"_index":1860,"t":{"445":{"position":[[237,8]]}}}],["improv",{"_index":1013,"t":{"182":{"position":[[1389,8],[1660,12],[8117,11],[10739,12]]},"184":{"position":[[151,7]]},"301":{"position":[[610,8]]},"318":{"position":[[579,11]]},"415":{"position":[[531,7],[838,7]]}}}],["in",{"_index":1568,"t":{"280":{"position":[[249,3]]}}}],["includ",{"_index":562,"t":{"55":{"position":[[141,9]]},"57":{"position":[[129,9]]},"85":{"position":[[700,9]]},"87":{"position":[[141,9]]},"89":{"position":[[129,9]]},"100":{"position":[[146,9]]},"102":{"position":[[700,9]]},"104":{"position":[[167,8]]},"106":{"position":[[155,8]]},"108":{"position":[[295,9]]},"116":{"position":[[170,9]]},"120":{"position":[[768,9]]},"182":{"position":[[516,7],[960,9],[1830,9],[7263,8],[7318,8],[9734,9]]},"186":{"position":[[1346,9]]},"259":{"position":[[41,8]]},"264":{"position":[[406,9]]},"268":{"position":[[804,7]]},"278":{"position":[[618,9]]},"280":{"position":[[46,8]]},"282":{"position":[[250,9],[779,9]]},"284":{"position":[[673,8]]},"286":{"position":[[222,9]]},"292":{"position":[[92,7],[368,9],[553,9],[1313,8]]},"294":{"position":[[177,7]]},"299":{"position":[[248,7]]},"301":{"position":[[181,9]]},"307":{"position":[[0,9]]},"316":{"position":[[446,8],[501,8]]},"321":{"position":[[769,9]]},"334":{"position":[[173,7],[341,8],[993,7]]},"411":{"position":[[156,8]]},"415":{"position":[[292,7]]},"452":{"position":[[80,9]]},"456":{"position":[[1335,9]]}}}],["inclus",{"_index":1693,"t":{"327":{"position":[[198,9]]}}}],["incompat",{"_index":1745,"t":{"334":{"position":[[1778,12],[1822,12]]}}}],["incorrect",{"_index":1866,"t":{"450":{"position":[[113,9],[145,9]]}}}],["increas",{"_index":1282,"t":{"221":{"position":[[230,8]]},"403":{"position":[[50,10]]},"427":{"position":[[325,8]]}}}],["independ",{"_index":825,"t":{"94":{"position":[[0,11]]},"96":{"position":[[279,11]]}}}],["index",{"_index":1180,"t":{"184":{"position":[[1739,5],[2480,5],[3113,5],[3281,5],[3292,5]]},"247":{"position":[[909,5],[915,5],[926,5]]},"249":{"position":[[424,5],[430,5],[441,5]]},"292":{"position":[[128,5]]}}}],["indic",{"_index":1475,"t":{"266":{"position":[[391,9]]},"334":{"position":[[475,8],[1034,8]]}}}],["individu",{"_index":1431,"t":{"259":{"position":[[863,10]]}}}],["infinit",{"_index":1434,"t":{"262":{"position":[[76,8]]}}}],["infiniteview",{"_index":1424,"t":{"259":{"position":[[542,12]]},"262":{"position":[[62,12]]}}}],["info",{"_index":323,"t":{"31":{"position":[[298,4],[379,4],[444,4],[738,4],[848,4],[957,4],[1533,4],[1614,4],[1679,4],[1956,4]]},"148":{"position":[[298,4],[379,4],[444,4],[738,4],[848,4],[957,4],[1533,4],[1614,4],[1679,4],[1956,4]]}}}],["inform",{"_index":891,"t":{"108":{"position":[[71,11],[547,11]]},"182":{"position":[[529,11],[4041,11]]},"191":{"position":[[78,11]]},"209":{"position":[[68,11]]},"231":{"position":[[308,11]]},"233":{"position":[[71,11],[388,11]]},"276":{"position":[[115,11]]},"282":{"position":[[1331,11]]},"290":{"position":[[68,11]]},"294":{"position":[[1442,11],[1482,11]]},"299":{"position":[[261,11]]},"310":{"position":[[1985,11]]},"332":{"position":[[221,11]]},"334":{"position":[[62,11]]},"401":{"position":[[99,11]]},"403":{"position":[[282,11]]},"433":{"position":[[211,8]]},"452":{"position":[[159,11],[740,11]]},"454":{"position":[[150,11],[315,11],[646,11],[696,11]]}}}],["ingress",{"_index":1256,"t":{"203":{"position":[[46,7]]},"215":{"position":[[57,7],[95,7],[140,7]]},"217":{"position":[[19,7],[38,7]]}}}],["inherit",{"_index":1530,"t":{"276":{"position":[[634,7]]},"280":{"position":[[1218,7]]},"282":{"position":[[148,8],[408,8],[677,8],[937,8]]},"292":{"position":[[1253,7]]}}}],["initi",{"_index":1084,"t":{"182":{"position":[[6421,8],[6842,8]]},"231":{"position":[[2,10],[953,14]]},"273":{"position":[[670,10]]},"292":{"position":[[147,10]]},"294":{"position":[[917,12],[1679,9]]},"314":{"position":[[25,8]]},"316":{"position":[[25,8]]},"364":{"position":[[29,9]]},"379":{"position":[[14,9]]}}}],["inject",{"_index":1448,"t":{"262":{"position":[[519,8]]}}}],["innov",{"_index":569,"t":{"55":{"position":[[259,10]]},"57":{"position":[[247,10]]},"83":{"position":[[707,10]]},"87":{"position":[[259,10]]},"89":{"position":[[247,10]]},"104":{"position":[[284,10]]},"106":{"position":[[272,10]]},"411":{"position":[[258,10]]}}}],["input",{"_index":615,"t":{"61":{"position":[[114,5],[141,5]]},"413":{"position":[[111,5]]},"450":{"position":[[14,5]]},"452":{"position":[[14,5]]},"454":{"position":[[14,5]]},"456":{"position":[[17,5],[759,5]]},"458":{"position":[[17,5],[357,5]]}}}],["insert",{"_index":1323,"t":{"231":{"position":[[711,6]]}}}],["insid",{"_index":1422,"t":{"259":{"position":[[507,6]]}}}],["instal",{"_index":382,"t":{"31":{"position":[[2308,7]]},"85":{"position":[[729,12]]},"102":{"position":[[729,12]]},"120":{"position":[[797,12]]},"148":{"position":[[2308,7]]},"184":{"position":[[626,7],[748,7],[759,7]]},"191":{"position":[[21,7],[97,12],[152,7]]},"209":{"position":[[25,7],[87,12],[128,7]]},"213":{"position":[[95,7]]},"221":{"position":[[23,7]]},"228":{"position":[[135,12],[165,12],[218,12],[344,12],[406,12]]},"235":{"position":[[166,7]]},"243":{"position":[[135,12],[165,12],[218,12]]},"247":{"position":[[276,12],[495,7],[511,7],[528,12]]},"249":{"position":[[6,7],[41,9],[83,7]]},"251":{"position":[[138,12]]},"284":{"position":[[886,9]]},"339":{"position":[[243,12],[543,7]]},"342":{"position":[[150,12],[180,12],[233,12]]},"353":{"position":[[131,7]]},"358":{"position":[[128,7],[181,7]]},"360":{"position":[[128,12],[283,12],[344,12]]},"392":{"position":[[104,7]]},"396":{"position":[[44,7],[62,7]]},"398":{"position":[[44,7],[62,7]]}}}],["instead",{"_index":1741,"t":{"334":{"position":[[1610,7]]}}}],["integr",{"_index":730,"t":{"83":{"position":[[226,9]]},"262":{"position":[[12,10]]}}}],["intellig",{"_index":732,"t":{"83":{"position":[[255,12]]}}}],["interact",{"_index":604,"t":{"59":{"position":[[191,9]]},"66":{"position":[[486,11]]},"92":{"position":[[355,11]]},"259":{"position":[[613,11],[735,11]]},"262":{"position":[[554,11]]},"264":{"position":[[471,11]]},"273":{"position":[[320,8]]},"282":{"position":[[213,11],[742,11],[1973,11]]},"437":{"position":[[21,8]]}}}],["interest",{"_index":1694,"t":{"327":{"position":[[305,11]]},"427":{"position":[[411,10]]}}}],["interfac",{"_index":1409,"t":{"256":{"position":[[46,9]]},"271":{"position":[[14,9]]},"273":{"position":[[796,9],[946,9],[962,9]]},"280":{"position":[[679,10],[701,10],[1005,9],[1207,10],[1246,9]]},"282":{"position":[[572,9],[1101,9],[1470,10]]},"286":{"position":[[1802,9]]},"290":{"position":[[205,9]]},"292":{"position":[[1579,10]]},"294":{"position":[[1634,9]]}}}],["intern",{"_index":1086,"t":{"182":{"position":[[6596,13]]},"314":{"position":[[200,13]]}}}],["internation",{"_index":821,"t":{"92":{"position":[[401,20]]},"112":{"position":[[121,20]]},"184":{"position":[[1330,17]]}}}],["internet",{"_index":1228,"t":{"191":{"position":[[135,8]]}}}],["introduc",{"_index":912,"t":{"108":{"position":[[1099,11],[1258,11]]},"114":{"position":[[179,10]]},"182":{"position":[[8218,11]]},"318":{"position":[[680,11]]}}}],["introduct",{"_index":838,"t":{"96":{"position":[[356,12],[936,12]]}}}],["intuit",{"_index":1698,"t":{"327":{"position":[[466,11]]}}}],["invit",{"_index":1756,"t":{"339":{"position":[[634,6]]},"435":{"position":[[87,8]]},"441":{"position":[[102,6]]}}}],["involv",{"_index":1815,"t":{"413":{"position":[[604,8]]}}}],["io",{"_index":584,"t":{"55":{"position":[[779,2]]},"57":{"position":[[767,2]]},"87":{"position":[[779,2]]},"89":{"position":[[767,2]]},"98":{"position":[[169,2]]},"104":{"position":[[769,2]]},"106":{"position":[[757,2]]},"108":{"position":[[1415,2]]},"184":{"position":[[2994,2],[3205,2]]},"401":{"position":[[355,2]]}}}],["ip",{"_index":402,"t":{"33":{"position":[[24,2],[38,2]]},"35":{"position":[[42,2]]},"43":{"position":[[52,2],[64,2],[74,2]]},"45":{"position":[[8,2],[20,2],[30,2],[132,2],[183,2],[191,2]]},"49":{"position":[[305,2]]},"51":{"position":[[32,2]]},"128":{"position":[[52,2],[64,2],[74,2]]},"130":{"position":[[8,2],[20,2],[30,2],[132,2],[183,2],[191,2]]},"134":{"position":[[305,2]]},"136":{"position":[[32,2]]},"150":{"position":[[24,2],[38,2]]},"152":{"position":[[42,2]]},"197":{"position":[[232,2],[312,2]]},"217":{"position":[[27,2]]},"247":{"position":[[266,2],[1075,2],[1554,2],[2040,2]]},"249":{"position":[[589,2],[1070,2],[1558,2]]},"251":{"position":[[128,2]]}}}],["ipaddr",{"_index":1359,"t":{"247":{"position":[[330,6]]},"251":{"position":[[30,6],[114,6]]}}}],["ipp",{"_index":1374,"t":{"247":{"position":[[1116,3],[1595,3],[2081,3]]},"249":{"position":[[630,3],[1111,3],[1599,3]]}}}],["issu",{"_index":479,"t":{"37":{"position":[[207,6],[317,6]]},"53":{"position":[[207,6],[317,6]]},"85":{"position":[[609,6],[905,6]]},"98":{"position":[[339,6]]},"102":{"position":[[609,6],[905,6]]},"110":{"position":[[62,6]]},"112":{"position":[[153,5],[261,6],[285,5],[366,5],[434,5]]},"114":{"position":[[237,6],[508,6],[524,6],[1026,6]]},"120":{"position":[[677,6],[985,6]]},"138":{"position":[[207,6],[317,6]]},"154":{"position":[[207,6],[317,6]]},"182":{"position":[[340,5],[466,5],[493,6],[667,6],[1142,5],[1228,6],[1319,6],[1418,5],[1470,6],[4624,5],[5385,5],[6367,5],[6484,6],[6507,5],[6653,5],[6713,5],[6762,5],[6974,6],[8095,6],[9726,6],[10707,5],[10839,5]]},"184":{"position":[[3383,6]]},"292":{"position":[[2259,6]]},"299":{"position":[[72,5],[198,5],[225,6],[399,6]]},"301":{"position":[[363,5],[449,6],[540,6]]},"303":{"position":[[37,6]]},"310":{"position":[[2568,5],[3329,5]]},"314":{"position":[[88,6],[111,5],[257,5],[317,5],[366,5]]},"316":{"position":[[157,6]]},"318":{"position":[[557,6]]},"321":{"position":[[761,6]]},"330":{"position":[[148,6]]},"332":{"position":[[83,6],[298,5]]},"334":{"position":[[427,5],[2026,6],[2073,5],[2129,6],[2349,6]]},"339":{"position":[[7,6]]},"376":{"position":[[112,6]]},"379":{"position":[[8,5]]},"383":{"position":[[152,5]]},"385":{"position":[[0,5]]},"401":{"position":[[479,5],[606,5],[780,5],[831,6]]},"403":{"position":[[188,6],[307,5]]},"421":{"position":[[67,5]]},"423":{"position":[[14,5]]},"427":{"position":[[239,5],[371,6],[392,6]]},"437":{"position":[[259,6]]},"443":{"position":[[46,5],[160,5],[199,5]]}}}],["item",{"_index":1265,"t":{"211":{"position":[[68,5]]},"264":{"position":[[539,4]]},"454":{"position":[[188,4],[198,4],[215,4],[354,4],[375,4],[425,4],[459,4],[473,4],[550,4],[641,4],[665,4],[722,4]]}}}],["iter",{"_index":1714,"t":{"330":{"position":[[207,10]]},"334":{"position":[[2400,9]]},"415":{"position":[[591,9]]}}}],["jacktao007",{"_index":879,"t":{"100":{"position":[[244,10]]}}}],["java",{"_index":298,"t":{"29":{"position":[[279,4]]},"146":{"position":[[279,4]]},"223":{"position":[[0,4]]}}}],["javascript",{"_index":1670,"t":{"292":{"position":[[2063,10]]}}}],["jdbc",{"_index":1330,"t":{"233":{"position":[[120,4]]}}}],["jdbcclient",{"_index":1616,"t":{"282":{"position":[[1489,10]]}}}],["jdbcclientfactori",{"_index":1617,"t":{"282":{"position":[[1501,17]]}}}],["jdbcclientmanag",{"_index":1612,"t":{"282":{"position":[[1177,17]]}}}],["jdk1",{"_index":1283,"t":{"223":{"position":[[27,4]]}}}],["jdk8",{"_index":1787,"t":{"392":{"position":[[46,4]]}}}],["jest",{"_index":1671,"t":{"292":{"position":[[2143,4]]}}}],["job",{"_index":1493,"t":{"266":{"position":[[1073,3],[1086,3],[1128,3],[1273,3],[1291,3],[1338,3],[1356,3],[1369,3],[1382,3],[1398,3],[1496,3],[1506,3],[1545,3]]},"268":{"position":[[273,3],[294,3],[387,3],[413,3],[446,3],[467,3],[486,3],[504,3],[536,3],[555,3],[579,3],[597,3]]},"286":{"position":[[524,3],[573,4],[588,4],[662,3],[690,3],[710,3],[730,3]]}}}],["job_element_id",{"_index":1499,"t":{"266":{"position":[[1382,14]]},"268":{"position":[[536,14]]}}}],["job_page_id",{"_index":1498,"t":{"266":{"position":[[1356,11]]},"268":{"position":[[555,11]]}}}],["jobcontrol",{"_index":1625,"t":{"286":{"position":[[495,13]]}}}],["jobel",{"_index":1573,"t":{"280":{"position":[[347,10]]}}}],["jobelementmapp",{"_index":1581,"t":{"280":{"position":[[574,16]]}}}],["jobelementpag",{"_index":1574,"t":{"280":{"position":[[359,14]]}}}],["jobelementpagemapp",{"_index":1582,"t":{"280":{"position":[[592,20]]}}}],["jobpag",{"_index":1575,"t":{"280":{"position":[[375,7]]}}}],["jobpagecontrol",{"_index":1626,"t":{"286":{"position":[[613,17]]}}}],["jobpagemapp",{"_index":1583,"t":{"280":{"position":[[614,13]]}}}],["jobpageserviceimpl",{"_index":1635,"t":{"286":{"position":[[1631,18]]}}}],["jobserviceimpl",{"_index":1636,"t":{"286":{"position":[[1651,14]]}}}],["join",{"_index":585,"t":{"55":{"position":[[799,4]]},"57":{"position":[[787,4]]},"87":{"position":[[799,4]]},"89":{"position":[[787,4]]},"98":{"position":[[348,4]]},"182":{"position":[[9486,4],[9604,4],[10251,4]]},"321":{"position":[[521,4],[639,4]]},"323":{"position":[[311,4]]}}}],["joint",{"_index":918,"t":{"110":{"position":[[81,5]]}}}],["jointli",{"_index":972,"t":{"114":{"position":[[1054,7]]},"403":{"position":[[383,7]]},"439":{"position":[[38,7],[174,7]]},"445":{"position":[[352,7]]}}}],["js",{"_index":1178,"t":{"184":{"position":[[1703,2],[1982,2],[2462,2],[2537,2],[3287,2]]},"353":{"position":[[116,2]]}}}],["json",{"_index":310,"t":{"31":{"position":[[125,4],[1078,4],[1360,4],[2077,4]]},"148":{"position":[[125,4],[1078,4],[1360,4],[2077,4]]},"184":{"position":[[1367,4],[3059,4],[3274,4]]},"262":{"position":[[432,4]]},"264":{"position":[[190,4]]},"278":{"position":[[593,4],[656,4],[681,4],[712,4]]},"294":{"position":[[902,4]]}}}],["jsonschem",{"_index":1460,"t":{"264":{"position":[[681,9]]}}}],["jsonschema",{"_index":1446,"t":{"262":{"position":[[404,10],[493,10],[855,10]]},"264":{"position":[[7,10],[119,10],[236,10],[301,10],[329,10]]}}}],["jsonutil",{"_index":1556,"t":{"278":{"position":[[550,9]]}}}],["jsx",{"_index":1181,"t":{"184":{"position":[[1745,3]]}}}],["juli",{"_index":979,"t":{"124":{"position":[[0,4]]},"140":{"position":[[0,4]]},"156":{"position":[[0,4]]}}}],["jump",{"_index":1210,"t":{"184":{"position":[[2820,6]]}}}],["jun",{"_index":1293,"t":{"228":{"position":[[549,3],[597,3],[655,3],[703,3],[754,3],[801,3]]}}}],["junit",{"_index":1069,"t":{"182":{"position":[[5319,5]]},"310":{"position":[[3263,5]]}}}],["jvm",{"_index":1277,"t":{"221":{"position":[[95,3]]}}}],["keep",{"_index":1843,"t":{"433":{"position":[[195,7]]}}}],["kernel",{"_index":302,"t":{"29":{"position":[[335,6]]},"146":{"position":[[335,6]]},"247":{"position":[[171,6],[206,6],[1913,6],[1946,6],[1964,6]]},"249":{"position":[[1429,6],[1482,6]]},"294":{"position":[[186,6],[274,6],[345,6],[401,6],[450,6],[492,6],[572,6],[589,6],[696,6],[725,6],[785,6],[1134,6],[1785,6],[1841,6],[1885,6]]}}}],["kernel_manag",{"_index":1677,"t":{"294":{"position":[[186,14]]}}}],["kernel_program",{"_index":1678,"t":{"294":{"position":[[589,14]]}}}],["key",{"_index":1481,"t":{"266":{"position":[[633,3],[710,3],[757,3],[762,3]]},"268":{"position":[[208,4],[238,3]]},"278":{"position":[[110,3],[154,3]]},"286":{"position":[[404,4],[1485,4]]}}}],["kind",{"_index":1097,"t":{"182":{"position":[[7578,4]]},"318":{"position":[[40,4]]}}}],["know",{"_index":1083,"t":{"182":{"position":[[6409,4],[6830,4]]},"276":{"position":[[1105,4]]},"314":{"position":[[13,4]]},"316":{"position":[[13,4]]},"427":{"position":[[138,4]]}}}],["koi8",{"_index":1395,"t":{"249":{"position":[[258,4]]}}}],["kubectl",{"_index":1267,"t":{"215":{"position":[[18,7],[70,7],[215,7]]}}}],["kubernet",{"_index":1253,"t":{"203":{"position":[[15,10]]},"213":{"position":[[66,10]]}}}],["label",{"_index":689,"t":{"72":{"position":[[184,7]]},"182":{"position":[[6744,5]]},"266":{"position":[[356,6],[364,6]]},"314":{"position":[[348,5]]}}}],["languag",{"_index":551,"t":{"55":{"position":[[29,8],[307,8],[434,8]]},"57":{"position":[[17,8],[295,8],[422,8]]},"87":{"position":[[29,8],[307,8],[434,8]]},"89":{"position":[[17,8],[295,8],[422,8]]},"104":{"position":[[29,8],[332,8],[455,8]]},"106":{"position":[[17,8],[320,8],[443,8]]},"114":{"position":[[395,8]]},"184":{"position":[[3049,9],[3264,9]]},"407":{"position":[[205,8]]},"411":{"position":[[17,8],[306,8],[443,8]]},"413":{"position":[[24,8],[89,8],[354,8]]},"415":{"position":[[119,8],[789,8]]}}}],["larg",{"_index":962,"t":{"114":{"position":[[389,5]]},"182":{"position":[[7990,5]]},"318":{"position":[[452,5]]},"332":{"position":[[21,5]]},"407":{"position":[[199,5]]},"413":{"position":[[194,5],[615,5]]}}}],["latest",{"_index":892,"t":{"108":{"position":[[87,6],[403,6],[1342,6]]},"182":{"position":[[2764,6],[3220,6],[4663,6],[4785,6]]},"310":{"position":[[708,6],[1164,6],[2607,6],[2729,6]]},"325":{"position":[[37,6]]},"433":{"position":[[230,6]]}}}],["launch",{"_index":1141,"t":{"182":{"position":[[9398,8]]},"321":{"position":[[433,8]]}}}],["layer",{"_index":1410,"t":{"259":{"position":[[50,5],[129,5],[144,5]]},"266":{"position":[[593,6],[601,6]]},"271":{"position":[[24,5],[86,5]]},"273":{"position":[[1008,5],[1067,5]]},"280":{"position":[[114,5]]},"288":{"position":[[22,5]]}}}],["layout",{"_index":712,"t":{"79":{"position":[[11,6]]},"184":{"position":[[2234,7]]},"266":{"position":[[1613,6],[1621,6]]},"292":{"position":[[526,6]]}}}],["lead",{"_index":1752,"t":{"339":{"position":[[31,4],[71,4],[361,4],[519,4],[612,4],[744,4],[791,4],[843,4]]}}}],["learn",{"_index":47,"t":{"2":{"position":[[169,8]]},"4":{"position":[[165,8]]},"22":{"position":[[169,8]]},"24":{"position":[[165,8]]},"39":{"position":[[169,8]]},"41":{"position":[[165,8]]},"55":{"position":[[521,8]]},"57":{"position":[[509,8]]},"87":{"position":[[521,8]]},"89":{"position":[[509,8]]},"104":{"position":[[508,8]]},"106":{"position":[[496,8]]},"126":{"position":[[165,8]]},"142":{"position":[[165,8]]},"158":{"position":[[165,8]]},"411":{"position":[[496,8]]},"413":{"position":[[49,8],[238,6]]},"415":{"position":[[37,8],[193,8],[508,8],[828,5]]},"433":{"position":[[120,5]]},"441":{"position":[[260,5]]}}}],["learner",{"_index":1697,"t":{"327":{"position":[[430,8]]}}}],["led",{"_index":1135,"t":{"182":{"position":[[9138,3]]},"321":{"position":[[173,3]]}}}],["legaci",{"_index":1763,"t":{"358":{"position":[[191,6]]}}}],["legend",{"_index":1802,"t":{"407":{"position":[[46,7],[65,7]]},"456":{"position":[[376,6],[427,6],[461,6],[630,6],[1345,6],[2281,6],[2346,6],[2381,6],[2418,6],[2518,6],[2569,6],[2610,6],[2804,6],[3023,6],[3082,6],[3135,6]]}}}],["less",{"_index":1213,"t":{"184":{"position":[[3119,4],[3298,4]]}}}],["letter",{"_index":1743,"t":{"334":{"position":[[1672,6]]}}}],["level",{"_index":1823,"t":{"415":{"position":[[736,5]]}}}],["levelnam",{"_index":316,"t":{"31":{"position":[[189,9],[1424,9]]},"148":{"position":[[189,9],[1424,9]]}}}],["leverag",{"_index":1817,"t":{"415":{"position":[[147,9]]}}}],["lf",{"_index":1772,"t":{"373":{"position":[[101,2]]}}}],["librari",{"_index":704,"t":{"74":{"position":[[132,7]]},"184":{"position":[[790,9]]},"276":{"position":[[413,9],[481,9],[825,9],[1116,9],[1176,9],[1236,7],[1293,7]]},"292":{"position":[[1686,9],[1819,7]]}}}],["licens",{"_index":1302,"t":{"228":{"position":[[667,7],[716,8]]},"284":{"position":[[455,7]]}}}],["light",{"_index":677,"t":{"72":{"position":[[72,5],[85,5]]}}}],["limingoo",{"_index":882,"t":{"100":{"position":[[275,8]]},"116":{"position":[[279,8]]}}}],["limit",{"_index":785,"t":{"85":{"position":[[718,7]]},"100":{"position":[[164,7]]},"102":{"position":[[718,7]]},"116":{"position":[[188,7]]},"120":{"position":[[786,7],[891,7]]}}}],["line",{"_index":671,"t":{"70":{"position":[[23,4]]},"182":{"position":[[3717,4]]},"262":{"position":[[54,5],[245,5]]},"310":{"position":[[1661,4]]},"334":{"position":[[332,4],[1372,5],[1379,4],[1441,4]]},"358":{"position":[[54,4]]},"360":{"position":[[54,4]]},"376":{"position":[[127,4]]},"452":{"position":[[809,4]]}}}],["lineno",{"_index":318,"t":{"31":{"position":[[213,6],[1448,6]]},"148":{"position":[[213,6],[1448,6]]}}}],["link",{"_index":305,"t":{"31":{"position":[[33,4],[508,4],[523,4],[528,4],[572,4],[671,4],[776,4],[877,4],[1207,4],[1268,4],[1743,4],[1758,4],[1763,4],[1807,4],[1877,4],[2218,4]]},"33":{"position":[[67,4],[134,4],[148,4],[181,4],[297,4],[414,4],[447,4]]},"76":{"position":[[32,4]]},"104":{"position":[[619,4],[676,4]]},"106":{"position":[[607,4],[664,4]]},"148":{"position":[[33,4],[508,4],[523,4],[528,4],[572,4],[671,4],[776,4],[877,4],[1207,4],[1268,4],[1743,4],[1758,4],[1763,4],[1807,4],[1877,4],[2218,4]]},"150":{"position":[[67,4],[134,4],[148,4],[181,4],[297,4],[414,4],[447,4]]},"199":{"position":[[7,4]]},"217":{"position":[[7,4]]},"240":{"position":[[18,4]]},"268":{"position":[[87,6],[244,6],[350,6],[434,6],[650,6],[750,6]]}}}],["linki",{"_index":1688,"t":{"325":{"position":[[8,6]]}}}],["lint",{"_index":1674,"t":{"292":{"position":[[2211,4]]}}}],["list",{"_index":778,"t":{"85":{"position":[[567,4]]},"96":{"position":[[16,4]]},"102":{"position":[[567,4]]},"120":{"position":[[635,4]]},"184":{"position":[[3308,4],[3702,4]]},"259":{"position":[[72,4],[123,4],[254,4],[798,4]]},"278":{"position":[[720,4]]},"286":{"position":[[1027,4]]},"292":{"position":[[409,4],[432,4],[681,4],[702,4],[1972,5]]},"417":{"position":[[15,4]]},"452":{"position":[[371,4],[554,4],[771,4],[953,4]]},"454":{"position":[[177,4],[193,4],[220,4],[342,4],[464,4],[670,4]]},"456":{"position":[[165,4],[319,4],[1693,4],[1845,4],[2056,4],[2231,4]]}}}],["listen",{"_index":370,"t":{"31":{"position":[[1886,8]]},"33":{"position":[[76,8],[170,8]]},"45":{"position":[[107,8]]},"49":{"position":[[226,8]]},"130":{"position":[[107,8]]},"134":{"position":[[226,8]]},"148":{"position":[[1886,8]]},"150":{"position":[[76,8],[170,8]]},"247":{"position":[[800,6]]},"249":{"position":[[200,6]]},"347":{"position":[[101,8]]}}}],["lite",{"_index":1328,"t":{"231":{"position":[[897,4]]}}}],["littl",{"_index":793,"t":{"85":{"position":[[841,6]]},"102":{"position":[[841,6]]},"427":{"position":[[658,6]]}}}],["llm",{"_index":963,"t":{"114":{"position":[[411,3]]}}}],["load",{"_index":705,"t":{"74":{"position":[[143,4]]},"262":{"position":[[837,4]]},"282":{"position":[[1218,4]]}}}],["local",{"_index":1047,"t":{"182":{"position":[[3784,5],[3870,5],[4164,5],[6212,5],[6288,5]]},"184":{"position":[[418,5],[680,5]]},"186":{"position":[[494,5],[881,5],[978,7],[1167,5]]},"310":{"position":[[1728,5],[1814,5],[2108,5]]},"312":{"position":[[659,5],[735,5]]},"353":{"position":[[119,7]]}}}],["localhost",{"_index":446,"t":{"35":{"position":[[69,9]]},"49":{"position":[[110,9],[157,9]]},"51":{"position":[[45,9]]},"134":{"position":[[110,9],[157,9]]},"136":{"position":[[45,9]]},"152":{"position":[[69,9]]},"184":{"position":[[863,9],[988,9]]},"199":{"position":[[19,9]]},"233":{"position":[[133,9],[408,9]]},"240":{"position":[[30,9]]},"247":{"position":[[825,9]]},"249":{"position":[[238,9]]}}}],["locat",{"_index":895,"t":{"108":{"position":[[214,7]]},"182":{"position":[[622,6],[1703,7]]},"184":{"position":[[3014,7],[3229,7]]},"247":{"position":[[836,8],[940,8],[1416,8],[1895,8],[2419,8]]},"249":{"position":[[315,8],[455,8],[930,8],[1411,8],[1937,8]]},"299":{"position":[[354,6]]},"305":{"position":[[29,7]]}}}],["lock",{"_index":1415,"t":{"259":{"position":[[374,7]]}}}],["lodash",{"_index":1661,"t":{"292":{"position":[[1741,6]]}}}],["log",{"_index":311,"t":{"31":{"position":[[137,7],[145,7],[246,7],[290,7],[322,7],[371,7],[436,7],[455,7],[480,3],[1372,7],[1380,7],[1481,7],[1525,7],[1557,7],[1606,7],[1671,7],[1690,7],[1715,3]]},"148":{"position":[[137,7],[145,7],[246,7],[290,7],[322,7],[371,7],[436,7],[455,7],[480,3],[1372,7],[1380,7],[1481,7],[1525,7],[1557,7],[1606,7],[1671,7],[1690,7],[1715,3]]},"182":{"position":[[7237,3]]},"247":{"position":[[634,3],[665,3],[682,3],[695,3],[711,3]]},"249":{"position":[[274,3],[283,3],[305,3]]},"294":{"position":[[2109,3]]},"316":{"position":[[420,3]]},"327":{"position":[[258,4]]},"334":{"position":[[122,4],[909,3]]}}}],["logger",{"_index":319,"t":{"31":{"position":[[237,6],[274,6],[385,6],[420,6],[486,6],[731,6],[841,6],[950,6],[1472,6],[1509,6],[1620,6],[1655,6],[1721,6],[1949,6]]},"148":{"position":[[237,6],[274,6],[385,6],[420,6],[486,6],[731,6],[841,6],[950,6],[1472,6],[1509,6],[1620,6],[1655,6],[1721,6],[1949,6]]}}}],["logic",{"_index":1428,"t":{"259":{"position":[[639,5]]},"273":{"position":[[745,5]]},"286":{"position":[[1288,5],[1408,5],[1842,5],[1937,5]]},"292":{"position":[[864,5],[1014,5]]}}}],["login",{"_index":819,"t":{"92":{"position":[[299,5]]},"278":{"position":[[796,5],[825,5],[847,5],[871,5]]},"286":{"position":[[786,5]]},"292":{"position":[[389,5],[819,5],[858,5]]},"450":{"position":[[107,5],[177,5],[264,5]]}}}],["logincontrol",{"_index":1627,"t":{"286":{"position":[[760,15]]}}}],["loginutil",{"_index":1559,"t":{"278":{"position":[[738,10]]}}}],["logo",{"_index":70,"t":{"8":{"position":[[7,4]]},"162":{"position":[[7,4]]},"182":{"position":[[5269,4]]},"184":{"position":[[2501,4]]},"310":{"position":[[3213,4]]}}}],["logout",{"_index":820,"t":{"92":{"position":[[311,6]]},"286":{"position":[[796,6]]}}}],["long",{"_index":1666,"t":{"292":{"position":[[1967,4]]}}}],["longer",{"_index":955,"t":{"114":{"position":[[71,6]]},"452":{"position":[[914,6]]},"454":{"position":[[438,6]]},"456":{"position":[[1815,6],[2202,6],[2667,6]]}}}],["look",{"_index":751,"t":{"83":{"position":[[655,4]]},"264":{"position":[[62,4]]},"278":{"position":[[276,5]]},"419":{"position":[[15,4]]}}}],["loop",{"_index":366,"t":{"31":{"position":[[1212,4],[2201,4],[2223,4]]},"148":{"position":[[1212,4],[2201,4],[2223,4]]}}}],["lost",{"_index":1042,"t":{"182":{"position":[[3684,4]]},"310":{"position":[[1628,4]]}}}],["lot",{"_index":1118,"t":{"182":{"position":[[8396,3],[8465,3]]},"191":{"position":[[71,3]]},"209":{"position":[[61,3]]},"318":{"position":[[858,3],[927,3]]}}}],["low",{"_index":1106,"t":{"182":{"position":[[7817,3]]},"318":{"position":[[279,3]]}}}],["lowercas",{"_index":1188,"t":{"184":{"position":[[2037,9],[2402,9]]}}}],["m",{"_index":1218,"t":{"186":{"position":[[1033,1]]},"371":{"position":[[30,1]]}}}],["machin",{"_index":1357,"t":{"247":{"position":[[289,7]]},"251":{"position":[[151,7]]},"284":{"position":[[866,7]]}}}],["made",{"_index":1127,"t":{"182":{"position":[[8656,4]]},"318":{"position":[[1118,4]]}}}],["main",{"_index":373,"t":{"31":{"position":[[2196,4]]},"59":{"position":[[17,4]]},"112":{"position":[[176,4],[593,4],[954,4]]},"148":{"position":[[2196,4]]},"182":{"position":[[7916,4]]},"249":{"position":[[309,4]]},"268":{"position":[[864,4]]},"273":{"position":[[603,4]]},"276":{"position":[[340,4]]},"292":{"position":[[63,4],[105,4],[221,4],[521,4],[588,4],[1481,4]]},"294":{"position":[[153,4]]},"318":{"position":[[378,4]]},"415":{"position":[[261,4]]}}}],["mainli",{"_index":1413,"t":{"259":{"position":[[153,6]]},"271":{"position":[[31,6]]},"280":{"position":[[39,6],[174,6]]},"284":{"position":[[46,6],[710,6]]},"286":{"position":[[1873,6]]},"294":{"position":[[61,6],[217,6],[620,6]]}}}],["maintain",{"_index":956,"t":{"114":{"position":[[78,10],[129,10]]},"184":{"position":[[264,10]]},"445":{"position":[[64,8]]}}}],["major",{"_index":1004,"t":{"182":{"position":[[1044,5]]},"301":{"position":[[265,5]]}}}],["make",{"_index":941,"t":{"112":{"position":[[537,4],[816,4]]},"114":{"position":[[790,4]]},"182":{"position":[[8589,4]]},"318":{"position":[[1051,4]]},"437":{"position":[[188,6]]}}}],["manag",{"_index":711,"t":{"79":{"position":[[0,6]]},"182":{"position":[[9719,6],[9783,6]]},"247":{"position":[[368,10]]},"259":{"position":[[331,10]]},"266":{"position":[[32,10],[1723,10],[1967,10]]},"273":{"position":[[56,6]]},"276":{"position":[[448,6],[689,10],[709,10],[768,10]]},"280":{"position":[[266,8]]},"292":{"position":[[1086,6]]},"294":{"position":[[193,7],[240,8],[352,7],[656,8],[1114,8],[1792,7],[1848,7]]},"321":{"position":[[754,6],[818,6]]},"327":{"position":[[144,8]]},"334":{"position":[[2327,8]]},"360":{"position":[[171,10]]},"383":{"position":[[123,7]]},"403":{"position":[[171,6]]}}}],["mani",{"_index":983,"t":{"182":{"position":[[92,4]]},"273":{"position":[[463,4]]},"296":{"position":[[0,4]]},"327":{"position":[[266,4]]}}}],["manual",{"_index":616,"t":{"61":{"position":[[132,8]]},"245":{"position":[[62,6]]}}}],["map",{"_index":637,"t":{"66":{"position":[[200,3],[373,3]]},"76":{"position":[[18,3]]},"278":{"position":[[728,3]]},"413":{"position":[[249,7]]}}}],["mapper",{"_index":1587,"t":{"280":{"position":[[694,6],[998,6],[1200,6]]}}}],["margin",{"_index":643,"t":{"66":{"position":[[417,7]]}}}],["mark",{"_index":1442,"t":{"262":{"position":[[237,7]]}}}],["market",{"_index":744,"t":{"83":{"position":[[534,6]]}}}],["master",{"_index":1753,"t":{"339":{"position":[[151,6],[181,6],[489,6],[581,6]]},"388":{"position":[[278,6]]}}}],["materi",{"_index":899,"t":{"108":{"position":[[284,9]]},"273":{"position":[[26,9]]},"376":{"position":[[34,9]]}}}],["maven",{"_index":1524,"t":{"276":{"position":[[10,5],[619,5]]},"284":{"position":[[528,5],[909,5]]},"392":{"position":[[112,5],[207,5]]}}}],["md5",{"_index":1555,"t":{"278":{"position":[[527,3]]}}}],["mdfisher",{"_index":700,"t":{"74":{"position":[[80,8]]}}}],["mean",{"_index":1008,"t":{"182":{"position":[[1157,5]]},"301":{"position":[[378,5]]}}}],["meaning",{"_index":1024,"t":{"182":{"position":[[2180,10]]},"310":{"position":[[124,10]]}}}],["mechan",{"_index":999,"t":{"182":{"position":[[843,9]]},"301":{"position":[[64,9]]}}}],["meet",{"_index":738,"t":{"83":{"position":[[439,7]]},"182":{"position":[[8285,4]]},"318":{"position":[[747,4]]},"401":{"position":[[406,4]]},"415":{"position":[[240,4]]}}}],["meetup",{"_index":1760,"t":{"339":{"position":[[921,6]]},"435":{"position":[[27,7]]}}}],["member",{"_index":908,"t":{"108":{"position":[[815,7],[1128,7]]},"182":{"position":[[9908,6],[9972,6],[10102,7],[10137,6],[10190,7],[10312,6],[10346,7]]},"321":{"position":[[943,6]]},"323":{"position":[[32,6],[162,7],[197,6],[250,7],[372,6],[406,7]]},"339":{"position":[[104,6],[127,6],[410,6],[449,6],[695,7],[914,6],[974,6]]},"364":{"position":[[18,6]]},"379":{"position":[[145,6]]},"431":{"position":[[92,7]]},"433":{"position":[[94,7],[203,7]]},"435":{"position":[[96,7],[229,7]]},"437":{"position":[[10,7],[207,7]]},"439":{"position":[[126,7]]},"441":{"position":[[90,7],[227,7]]},"443":{"position":[[29,6],[141,7]]}}}],["memori",{"_index":1263,"t":{"207":{"position":[[11,6]]},"221":{"position":[[75,6],[104,6],[153,6],[249,6]]}}}],["menu",{"_index":926,"t":{"112":{"position":[[229,4]]}}}],["merg",{"_index":969,"t":{"114":{"position":[[884,5]]},"182":{"position":[[2982,5],[3642,6],[4998,6],[5058,6],[5417,6],[6047,6],[6107,6],[7367,6],[7510,6],[7747,6],[7855,6],[8743,7],[9061,6],[10366,5]]},"186":{"position":[[926,5],[1207,5],[1491,6]]},"310":{"position":[[926,5],[1586,6],[2942,6],[3002,6],[3361,6]]},"312":{"position":[[494,6],[554,6]]},"316":{"position":[[550,6],[693,6]]},"318":{"position":[[209,6],[317,6],[1205,7]]},"321":{"position":[[96,6]]},"323":{"position":[[426,5]]},"339":{"position":[[114,5],[436,5]]},"388":{"position":[[240,5],[300,6]]}}}],["mesh",{"_index":701,"t":{"74":{"position":[[94,6]]}}}],["messag",{"_index":307,"t":{"31":{"position":[[77,9],[225,7],[578,9],[598,9],[608,9],[940,7],[976,7],[1005,9],[1018,7],[1044,7],[1062,7],[1070,7],[1153,9],[1168,7],[1186,7],[1312,9],[1460,7],[1813,9],[1833,9],[1843,9],[1939,7],[1975,7],[2004,9],[2017,7],[2043,7],[2061,7],[2069,7],[2152,9],[2167,7],[2185,7]]},"148":{"position":[[77,9],[225,7],[578,9],[598,9],[608,9],[940,7],[976,7],[1005,9],[1018,7],[1044,7],[1062,7],[1070,7],[1153,9],[1168,7],[1186,7],[1312,9],[1460,7],[1813,9],[1833,9],[1843,9],[1939,7],[1975,7],[2004,9],[2017,7],[2043,7],[2061,7],[2069,7],[2152,9],[2167,7],[2185,7]]},"182":{"position":[[7218,7]]},"264":{"position":[[618,7]]},"294":{"position":[[532,7],[579,8],[812,7],[907,8],[938,7],[1912,7]]},"316":{"position":[[401,7]]},"325":{"position":[[89,7]]},"327":{"position":[[14,7],[383,8],[727,8],[782,7]]},"330":{"position":[[7,8]]},"332":{"position":[[62,7]]},"334":{"position":[[17,8],[157,8],[2202,7],[2217,7],[2268,8]]},"336":{"position":[[7,7],[32,8]]},"450":{"position":[[200,7],[287,7]]},"452":{"position":[[1034,7],[1206,7],[1377,7],[1535,7]]},"454":{"position":[[535,7],[786,7]]}}}],["messi",{"_index":1696,"t":{"327":{"position":[[396,5]]}}}],["metadata",{"_index":1629,"t":{"286":{"position":[[864,8]]}}}],["metadataquerycontrol",{"_index":1628,"t":{"286":{"position":[[809,23]]}}}],["metadataqueryserviceimpl",{"_index":1637,"t":{"286":{"position":[[1667,24]]}}}],["method",{"_index":1226,"t":{"191":{"position":[[5,6]]},"228":{"position":[[0,6],[188,6]]},"243":{"position":[[0,6],[188,6]]},"245":{"position":[[28,7]]},"278":{"position":[[399,7],[503,6],[609,7],[775,7],[931,7]]},"280":{"position":[[1174,6]]},"282":{"position":[[201,7],[471,6],[597,6],[730,7],[1000,6],[1124,7],[1563,7],[1723,7]]},"286":{"position":[[191,7]]},"334":{"position":[[2005,7]]},"342":{"position":[[15,6],[203,6]]},"355":{"position":[[0,6],[112,6]]},"394":{"position":[[0,6],[112,6]]}}}],["microservic",{"_index":1275,"t":{"221":{"position":[[43,12],[124,12]]}}}],["middlewar",{"_index":1683,"t":{"294":{"position":[[1169,10]]}}}],["migrat",{"_index":824,"t":{"92":{"position":[[685,9]]},"334":{"position":[[1995,9]]}}}],["min",{"_index":981,"t":{"124":{"position":[[17,3]]},"140":{"position":[[17,3]]},"156":{"position":[[17,3]]}}}],["minimalist",{"_index":1800,"t":{"407":{"position":[[0,10]]}}}],["mirror",{"_index":580,"t":{"55":{"position":[[680,6]]},"57":{"position":[[668,6]]},"87":{"position":[[680,6]]},"89":{"position":[[668,6]]},"104":{"position":[[669,6]]},"106":{"position":[[657,6]]}}}],["mode",{"_index":1066,"t":{"182":{"position":[[5015,4],[6064,4]]},"184":{"position":[[898,4],[1023,4]]},"262":{"position":[[709,4],[752,4]]},"310":{"position":[[2959,4]]},"312":{"position":[[511,4]]}}}],["model",{"_index":552,"t":{"55":{"position":[[38,6],[443,5]]},"57":{"position":[[26,6],[431,5]]},"59":{"position":[[46,5],[81,5],[127,5],[167,6],[210,5]]},"74":{"position":[[37,5],[165,5]]},"83":{"position":[[199,5],[268,6],[339,6]]},"87":{"position":[[38,6],[443,5]]},"89":{"position":[[26,6],[431,5]]},"92":{"position":[[112,5],[149,5]]},"96":{"position":[[727,5]]},"104":{"position":[[38,6],[464,5]]},"106":{"position":[[26,6],[452,5]]},"114":{"position":[[358,6],[404,5]]},"197":{"position":[[13,5],[64,5],[354,5]]},"231":{"position":[[346,5],[428,5],[479,5],[732,5]]},"247":{"position":[[103,6],[138,6],[1434,6],[1467,6]]},"249":{"position":[[948,6]]},"262":{"position":[[509,5],[880,5]]},"266":{"position":[[2141,5],[2153,5],[2202,5]]},"273":{"position":[[996,5],[1040,5]]},"276":{"position":[[31,5]]},"280":{"position":[[80,6]]},"282":{"position":[[86,6]]},"286":{"position":[[1035,6]]},"405":{"position":[[21,6]]},"407":{"position":[[185,5],[214,5]]},"411":{"position":[[26,6],[452,5]]},"413":{"position":[[33,5],[58,5],[172,5],[363,5],[581,5]]},"415":{"position":[[128,5],[185,5],[224,5],[427,5],[471,5],[667,5],[695,5],[798,5]]},"458":{"position":[[196,5],[303,5]]}}}],["modelcontrol",{"_index":1630,"t":{"286":{"position":[[985,15]]}}}],["modelmanag",{"_index":1654,"t":{"292":{"position":[[1058,12]]}}}],["modelserviceimpl",{"_index":1638,"t":{"286":{"position":[[1693,16]]}}}],["modeltyp",{"_index":1576,"t":{"280":{"position":[[384,9]]}}}],["modeltypemapp",{"_index":1584,"t":{"280":{"position":[[629,15]]}}}],["modelui",{"_index":1347,"t":{"235":{"position":[[179,7]]},"247":{"position":[[1477,7],[1956,7]]},"249":{"position":[[993,7],[1474,7]]},"458":{"position":[[128,7],[236,7],[334,7]]}}}],["modif",{"_index":1209,"t":{"184":{"position":[[2707,12],[2864,12],[2941,12],[3152,12],[3318,12],[3638,12],[3661,12],[3684,12],[3712,12]]},"186":{"position":[[1458,12]]},"264":{"position":[[284,12],[554,12],[714,12]]},"456":{"position":[[2430,12],[2712,12]]}}}],["modifi",{"_index":946,"t":{"112":{"position":[[750,6]]},"182":{"position":[[4946,6],[5980,6]]},"186":{"position":[[959,9],[1158,8]]},"231":{"position":[[277,6],[321,6]]},"233":{"position":[[44,6],[361,6]]},"247":{"position":[[6,6]]},"249":{"position":[[106,6]]},"253":{"position":[[15,6],[74,6],[363,6]]},"264":{"position":[[514,6],[763,6]]},"310":{"position":[[2890,6]]},"312":{"position":[[427,6]]},"456":{"position":[[1592,6],[1618,8],[1659,6],[1740,6],[1801,6],[1960,6],[1985,8],[2021,8],[2129,6],[2188,6],[2410,6],[2468,8],[2598,6],[2928,8]]}}}],["modul",{"_index":591,"t":{"59":{"position":[[22,7]]},"96":{"position":[[109,6]]},"184":{"position":[[2619,6],[2775,6]]},"264":{"position":[[398,6]]},"273":{"position":[[115,7],[182,6],[287,6],[380,6],[550,6],[589,6],[720,6],[807,6],[891,6],[989,6]]},"280":{"position":[[5,6],[1029,6]]},"282":{"position":[[5,6],[1770,6],[1847,7]]},"284":{"position":[[5,6],[700,6]]},"286":{"position":[[5,6],[1866,6]]},"292":{"position":[[1337,7],[1538,7]]},"294":{"position":[[169,7],[207,6],[610,6],[839,6],[1229,6]]}}}],["mongodb",{"_index":283,"t":{"29":{"position":[[167,7]]},"146":{"position":[[167,7]]}}}],["more",{"_index":754,"t":{"83":{"position":[[702,4]]},"182":{"position":[[7724,4],[9106,4]]},"268":{"position":[[186,4]]},"318":{"position":[[186,4]]},"321":{"position":[[141,4]]},"334":{"position":[[46,4],[1121,4]]},"419":{"position":[[31,4]]}}}],["moveabl",{"_index":1425,"t":{"259":{"position":[[556,8]]},"262":{"position":[[147,8]]}}}],["mq",{"_index":223,"t":{"26":{"position":[[19,2]]},"29":{"position":[[95,2]]},"144":{"position":[[19,2]]},"146":{"position":[[95,2]]}}}],["much",{"_index":1100,"t":{"182":{"position":[[7651,4]]},"318":{"position":[[113,4]]},"327":{"position":[[702,4]]}}}],["multi",{"_index":1618,"t":{"284":{"position":[[201,5]]}}}],["multipl",{"_index":843,"t":{"96":{"position":[[497,8]]},"262":{"position":[[262,8]]},"286":{"position":[[90,8]]},"334":{"position":[[1363,8],[2120,8]]},"407":{"position":[[99,8]]}}}],["mutual",{"_index":907,"t":{"108":{"position":[[786,6]]},"431":{"position":[[52,8]]}}}],["mvn",{"_index":1791,"t":{"396":{"position":[[31,3],[52,3]]},"398":{"position":[[31,3],[52,3]]}}}],["mybati",{"_index":1588,"t":{"280":{"position":[[715,7]]}}}],["mybatisplu",{"_index":1567,"t":{"280":{"position":[[199,11],[1259,11]]}}}],["mynet",{"_index":395,"t":{"31":{"position":[[2515,5],[2559,5],[2600,5]]},"33":{"position":[[50,5]]},"148":{"position":[[2515,5],[2559,5],[2600,5]]},"150":{"position":[[50,5]]}}}],["mysql",{"_index":152,"t":{"16":{"position":[[46,5],[92,5]]},"20":{"position":[[194,5]]},"49":{"position":[[31,5],[42,5],[101,5],[148,5]]},"134":{"position":[[31,5],[42,5],[101,5],[148,5]]},"170":{"position":[[46,5],[92,5]]},"174":{"position":[[194,5]]},"197":{"position":[[271,5],[303,5]]},"231":{"position":[[83,5],[97,5],[119,5],[134,5],[687,5],[701,5],[1025,5],[1039,5]]},"233":{"position":[[125,5]]},"282":{"position":[[763,5],[1160,5],[1875,5],[1948,5]]},"284":{"position":[[313,5]]},"294":{"position":[[45,5]]},"452":{"position":[[197,5],[334,5],[1058,5]]},"456":{"position":[[972,5]]}}}],["mysql5",{"_index":1287,"t":{"225":{"position":[[0,6]]}}}],["mysqlclient",{"_index":1609,"t":{"282":{"position":[[653,11],[1020,11]]}}}],["mysqlclientfactori",{"_index":1610,"t":{"282":{"position":[[906,18]]}}}],["mysqlconnectionfactori",{"_index":1611,"t":{"282":{"position":[[1033,22]]}}}],["n",{"_index":1268,"t":{"215":{"position":[[36,1],[279,1]]},"396":{"position":[[42,1]]},"398":{"position":[[42,1]]}}}],["name",{"_index":317,"t":{"31":{"position":[[204,4],[266,4],[1439,4],[1501,4],[2537,4]]},"148":{"position":[[204,4],[266,4],[1439,4],[1501,4],[2537,4]]},"182":{"position":[[4198,4],[4225,4],[4328,4],[5877,6],[6495,4],[7125,4],[7386,4]]},"184":{"position":[[477,4],[2010,6],[2354,6],[2626,4],[3538,6],[3568,6]]},"186":{"position":[[577,5]]},"231":{"position":[[752,4],[765,4]]},"233":{"position":[[434,4]]},"247":{"position":[[820,4]]},"249":{"position":[[233,4]]},"266":{"position":[[97,4],[103,4],[492,4],[503,4],[767,4],[773,4],[779,4],[788,4],[1165,4],[1171,4],[1579,4],[1585,4],[1778,4],[1802,4],[1816,4],[2019,4],[2214,4],[2220,4],[2254,4],[2265,4]]},"268":{"position":[[770,4]]},"276":{"position":[[255,5]]},"278":{"position":[[114,4],[995,4]]},"282":{"position":[[1431,4]]},"286":{"position":[[15,5],[473,5],[921,4],[957,4],[1173,4]]},"310":{"position":[[2142,4],[2169,4],[2272,4]]},"312":{"position":[[324,6]]},"314":{"position":[[99,4]]},"316":{"position":[[308,4],[569,4]]},"452":{"position":[[117,4],[227,4],[263,4],[410,4],[446,4],[580,4],[656,4],[818,4],[979,4],[1116,4],[1289,4],[1420,4],[1456,4]]},"454":{"position":[[56,4],[203,4],[238,4],[251,4],[363,4],[489,4],[728,4]]},"456":{"position":[[60,4],[218,4],[434,4],[1520,4],[1540,4],[1572,4],[1610,4],[1720,4],[1863,4],[1911,4],[1941,4],[1977,4],[2110,4],[2288,4],[2353,4],[2388,4],[2425,4],[2576,4]]}}}],["name_en",{"_index":1483,"t":{"266":{"position":[[779,7]]}}}],["natur",{"_index":572,"t":{"55":{"position":[[299,7]]},"57":{"position":[[287,7]]},"87":{"position":[[299,7]]},"89":{"position":[[287,7]]},"104":{"position":[[324,7]]},"106":{"position":[[312,7]]},"411":{"position":[[298,7]]},"413":{"position":[[81,7]]}}}],["need",{"_index":924,"t":{"112":{"position":[[67,4],[502,4]]},"182":{"position":[[508,4],[704,4],[1286,4],[1378,4],[7457,4],[8296,5],[8580,5],[8645,4],[8761,5],[8877,5]]},"184":{"position":[[315,4]]},"191":{"position":[[12,5]]},"209":{"position":[[17,4]]},"247":{"position":[[470,5]]},"253":{"position":[[7,4]]},"262":{"position":[[635,4],[721,4]]},"276":{"position":[[1207,4]]},"282":{"position":[[1343,6]]},"284":{"position":[[662,4],[1030,6]]},"290":{"position":[[80,6]]},"292":{"position":[[1245,4]]},"299":{"position":[[240,4],[436,4]]},"301":{"position":[[507,4],[599,4]]},"316":{"position":[[640,4]]},"318":{"position":[[758,5],[1042,5],[1107,4],[1223,5],[1339,5]]},"369":{"position":[[63,4]]},"379":{"position":[[40,5]]},"381":{"position":[[57,4]]},"383":{"position":[[40,4],[88,5],[131,5]]},"401":{"position":[[196,4],[422,5]]},"415":{"position":[[250,5]]}}}],["network",{"_index":393,"t":{"31":{"position":[[2500,7],[2551,7],[2592,7]]},"148":{"position":[[2500,7],[2551,7],[2592,7]]}}}],["new",{"_index":927,"t":{"112":{"position":[[281,3],[430,3],[1031,3]]},"114":{"position":[[566,3]]},"182":{"position":[[880,3],[1268,3],[1557,3],[1631,3],[2375,3],[2443,3],[3108,3],[3300,3],[3388,3],[3474,3],[4120,3],[4187,3],[4214,3],[4246,3],[4317,3],[4906,3],[5939,3],[7049,3],[7272,3],[8230,3],[8724,3],[10548,3]]},"186":{"position":[[1128,3]]},"276":{"position":[[1221,3]]},"301":{"position":[[101,3],[489,3]]},"303":{"position":[[124,3],[198,3]]},"310":{"position":[[319,3],[387,3],[1052,3],[1244,3],[1332,3],[1418,3],[2064,3],[2131,3],[2158,3],[2190,3],[2261,3],[2850,3]]},"312":{"position":[[386,3]]},"316":{"position":[[232,3],[455,3]]},"318":{"position":[[692,3],[1186,3]]},"323":{"position":[[608,3]]},"334":{"position":[[572,3]]},"367":{"position":[[9,3],[119,3]]},"383":{"position":[[148,3]]},"388":{"position":[[64,3]]},"433":{"position":[[176,4]]},"441":{"position":[[16,3]]},"452":{"position":[[330,3],[513,3],[622,3]]},"454":{"position":[[138,3],[637,3]]},"456":{"position":[[85,3],[242,3],[1562,3],[1932,3],[2377,3],[2830,3],[3001,3]]}}}],["new_branch_nam",{"_index":1056,"t":{"182":{"position":[[4187,15],[4214,15],[4317,15]]},"310":{"position":[[2131,15],[2158,15],[2261,15]]}}}],["newbi",{"_index":777,"t":{"85":{"position":[[555,6]]},"102":{"position":[[555,6]]}}}],["newcom",{"_index":774,"t":{"85":{"position":[[501,9]]},"102":{"position":[[501,9]]},"120":{"position":[[574,9],[621,8]]}}}],["newli",{"_index":1216,"t":{"186":{"position":[[283,5]]}}}],["newlin",{"_index":1774,"t":{"373":{"position":[[125,7]]}}}],["next",{"_index":1156,"t":{"182":{"position":[[10569,4]]},"184":{"position":[[1223,4],[3418,4]]}}}],["nginx",{"_index":1271,"t":{"215":{"position":[[103,5]]},"247":{"position":[[464,5],[546,5],[593,5],[647,5],[669,5],[699,5],[751,5],[2458,5]]},"249":{"position":[[14,5],[51,5],[91,5],[146,5],[287,5],[1976,5],[2156,5]]},"253":{"position":[[90,5],[142,5],[188,5],[229,5],[263,5],[299,5],[321,5],[392,5],[446,5]]},"256":{"position":[[13,5]]}}}],["ngrnu2mgeq",{"_index":589,"t":{"55":{"position":[[834,10]]},"57":{"position":[[822,10]]},"87":{"position":[[834,10]]},"89":{"position":[[822,10]]},"98":{"position":[[383,10]]}}}],["nich",{"_index":1114,"t":{"182":{"position":[[8290,5]]},"318":{"position":[[752,5]]}}}],["nlp",{"_index":33,"t":{"2":{"position":[[100,3]]},"4":{"position":[[96,3]]},"22":{"position":[[100,3]]},"24":{"position":[[96,3]]},"39":{"position":[[100,3]]},"41":{"position":[[96,3]]},"55":{"position":[[328,3]]},"57":{"position":[[316,3]]},"87":{"position":[[328,3]]},"89":{"position":[[316,3]]},"104":{"position":[[353,3]]},"106":{"position":[[341,3]]},"126":{"position":[[96,3]]},"142":{"position":[[96,3]]},"158":{"position":[[96,3]]},"411":{"position":[[327,3]]},"413":{"position":[[414,3]]}}}],["node",{"_index":1162,"t":{"184":{"position":[[569,4]]},"353":{"position":[[68,4],[111,4],[214,4]]}}}],["nodej",{"_index":297,"t":{"29":{"position":[[272,6]]},"146":{"position":[[272,6]]},"184":{"position":[[634,6]]},"353":{"position":[[168,6]]}}}],["nomenclatur",{"_index":1191,"t":{"184":{"position":[[2117,12]]}}}],["nomin",{"_index":1139,"t":{"182":{"position":[[9269,8]]},"321":{"position":[[304,8]]}}}],["none",{"_index":1868,"t":{"452":{"position":[[49,4]]}}}],["normal",{"_index":654,"t":{"68":{"position":[[117,6],[498,6]]},"253":{"position":[[201,8]]}}}],["note",{"_index":954,"t":{"114":{"position":[[7,4]]},"182":{"position":[[8511,5]]},"318":{"position":[[973,5]]},"339":{"position":[[722,5]]},"388":{"position":[[211,5]]},"452":{"position":[[672,4],[1344,4]]}}}],["notic",{"_index":910,"t":{"108":{"position":[[927,6],[935,7]]},"182":{"position":[[10588,6]]},"184":{"position":[[27,6],[61,6]]},"186":{"position":[[1620,6]]},"228":{"position":[[766,6]]},"284":{"position":[[467,6]]}}}],["notifi",{"_index":1851,"t":{"441":{"position":[[58,9]]}}}],["now",{"_index":1767,"t":{"364":{"position":[[0,3]]}}}],["npm",{"_index":1164,"t":{"184":{"position":[[744,3],[805,3],[927,3],[1095,3]]},"249":{"position":[[2064,3]]},"358":{"position":[[177,3]]},"360":{"position":[[60,3]]}}}],["null",{"_index":1326,"t":{"231":{"position":[[834,4],[839,4],[844,4],[868,4],[873,4],[878,4],[913,4],[918,4],[923,4]]}}}],["number",{"_index":1109,"t":{"182":{"position":[[7996,6]]},"276":{"position":[[384,7],[949,6]]},"294":{"position":[[1515,6]]},"318":{"position":[[458,6]]},"334":{"position":[[433,6]]},"381":{"position":[[16,6]]},"452":{"position":[[97,6]]}}}],["nutsjian",{"_index":878,"t":{"100":{"position":[[235,8]]}}}],["obj",{"_index":702,"t":{"74":{"position":[[107,3]]}}}],["object",{"_index":1519,"t":{"273":{"position":[[279,6]]},"276":{"position":[[24,6]]},"278":{"position":[[645,7],[689,7]]},"280":{"position":[[73,6]]},"282":{"position":[[79,6],[1306,6]]},"290":{"position":[[43,6]]},"334":{"position":[[1551,6]]}}}],["obtain",{"_index":1520,"t":{"273":{"position":[[449,8]]},"282":{"position":[[260,9],[285,9],[358,9],[789,9],[814,9],[887,9]]},"286":{"position":[[351,9],[384,9],[1468,6]]},"294":{"position":[[1081,9],[1949,7]]},"355":{"position":[[10,6]]},"394":{"position":[[10,6]]}}}],["occupi",{"_index":1406,"t":{"253":{"position":[[345,8]]}}}],["occur",{"_index":1732,"t":{"334":{"position":[[1396,5]]},"367":{"position":[[229,5]]}}}],["offici",{"_index":582,"t":{"55":{"position":[[737,8]]},"57":{"position":[[725,8]]},"85":{"position":[[0,8]]},"87":{"position":[[737,8]]},"89":{"position":[[725,8]]},"92":{"position":[[383,8],[438,8],[488,8],[544,8],[596,8],[657,8]]},"96":{"position":[[376,8]]},"102":{"position":[[0,8]]},"104":{"position":[[727,8],[789,8]]},"106":{"position":[[715,8],[777,8]]},"108":{"position":[[12,8],[1373,8],[1435,8]]},"110":{"position":[[13,8]]},"112":{"position":[[95,8]]},"114":{"position":[[147,8],[202,8]]},"116":{"position":[[35,8]]},"120":{"position":[[73,8]]},"182":{"position":[[9226,8],[9613,8]]},"186":{"position":[[1563,8]]},"228":{"position":[[40,8]]},"243":{"position":[[40,8]]},"321":{"position":[[261,8],[648,8]]},"327":{"position":[[933,8]]},"339":{"position":[[758,8]]},"342":{"position":[[55,8]]},"401":{"position":[[40,8],[69,8],[313,8]]},"403":{"position":[[243,8],[265,8]]}}}],["offlin",{"_index":836,"t":{"96":{"position":[[226,7]]},"435":{"position":[[19,7]]}}}],["on",{"_index":590,"t":{"59":{"position":[[0,3]]},"182":{"position":[[5070,3],[6119,3],[6574,3],[9151,3]]},"221":{"position":[[31,3]]},"268":{"position":[[179,3]]},"276":{"position":[[553,3]]},"310":{"position":[[3014,3]]},"312":{"position":[[566,3]]},"314":{"position":[[178,3]]},"321":{"position":[[186,3]]}}}],["on_connect",{"_index":337,"t":{"31":{"position":[[705,10],[781,10],[796,10]]},"148":{"position":[[705,10],[781,10],[796,10]]}}}],["on_disconnect",{"_index":342,"t":{"31":{"position":[[812,13],[882,13],[900,13]]},"148":{"position":[[812,13],[882,13],[900,13]]}}}],["on_message_recv",{"_index":352,"t":{"31":{"position":[[1015,15],[2014,15]]},"148":{"position":[[1015,15],[2014,15]]}}}],["on_recv",{"_index":345,"t":{"31":{"position":[[919,7],[1035,7],[1918,7],[2034,7]]},"148":{"position":[[919,7],[1035,7],[1918,7],[2034,7]]}}}],["onc",{"_index":1095,"t":{"182":{"position":[[7486,4],[8491,4]]},"316":{"position":[[669,4]]},"318":{"position":[[953,4]]},"334":{"position":[[2153,4]]}}}],["onlin",{"_index":1844,"t":{"435":{"position":[[9,6]]}}}],["open",{"_index":782,"t":{"85":{"position":[[676,4]]},"96":{"position":[[450,4]]},"102":{"position":[[676,4]]},"112":{"position":[[1230,6]]},"120":{"position":[[744,4]]},"182":{"position":[[662,4],[1223,4],[1314,4],[3696,4],[6441,4],[6862,4]]},"299":{"position":[[394,4]]},"301":{"position":[[444,4],[535,4]]},"310":{"position":[[1640,4]]},"314":{"position":[[45,4]]},"316":{"position":[[45,4]]},"327":{"position":[[271,4]]},"427":{"position":[[94,4]]},"439":{"position":[[191,4]]},"456":{"position":[[547,4],[689,5]]},"458":{"position":[[41,4],[123,4]]}}}],["openai",{"_index":1239,"t":{"197":{"position":[[100,6],[135,6],[199,6]]},"231":{"position":[[515,6],[550,6],[636,6]]}}}],["openjdk",{"_index":1790,"t":{"392":{"position":[[81,7]]}}}],["oper",{"_index":900,"t":{"108":{"position":[[343,9]]},"182":{"position":[[1912,9]]},"259":{"position":[[342,10],[629,9]]},"280":{"position":[[754,10],[1052,7],[1300,10]]},"294":{"position":[[137,10],[253,9],[1527,9],[1825,10]]},"307":{"position":[[82,9]]},"336":{"position":[[60,9]]},"339":{"position":[[680,9],[900,8],[960,8]]},"367":{"position":[[207,10]]},"445":{"position":[[360,7]]},"452":{"position":[[175,9]]}}}],["opt",{"_index":377,"t":{"31":{"position":[[2282,3]]},"148":{"position":[[2282,3]]},"247":{"position":[[855,3]]},"249":{"position":[[334,3],[2083,3]]}}}],["optim",{"_index":759,"t":{"85":{"position":[[71,10]]},"92":{"position":[[32,12],[286,12],[318,12],[459,12],[515,12],[567,12],[628,12]]},"102":{"position":[[71,10]]},"120":{"position":[[141,8]]},"292":{"position":[[1931,10]]},"330":{"position":[[171,12]]},"334":{"position":[[2372,12]]},"415":{"position":[[73,8],[601,12]]}}}],["option",{"_index":1477,"t":{"266":{"position":[[540,6],[548,7]]},"334":{"position":[[274,8],[388,8]]},"456":{"position":[[891,7]]}}}],["oracl",{"_index":1788,"t":{"392":{"position":[[66,6]]}}}],["order",{"_index":876,"t":{"100":{"position":[[220,5]]},"116":{"position":[[251,5]]},"266":{"position":[[1629,6],[1637,5]]},"456":{"position":[[1478,5]]}}}],["org",{"_index":1690,"t":{"325":{"position":[[22,3]]}}}],["organ",{"_index":1018,"t":{"182":{"position":[[1872,8]]},"307":{"position":[[42,8]]},"435":{"position":[[0,8]]},"439":{"position":[[46,8]]}}}],["origin",{"_index":970,"t":{"114":{"position":[[912,8]]},"182":{"position":[[3656,8],[4309,6],[4957,8],[5112,6],[6006,8],[6340,6]]},"184":{"position":[[1590,8]]},"186":{"position":[[728,6],[911,6]]},"294":{"position":[[1196,6]]},"310":{"position":[[1600,8],[2253,6],[2901,8],[3056,6]]},"312":{"position":[[453,8],[787,6]]},"371":{"position":[[61,6]]},"456":{"position":[[1525,8],[1897,8],[2337,8]]}}}],["other",{"_index":804,"t":{"85":{"position":[[1030,6]]},"102":{"position":[[1030,6]]},"120":{"position":[[1109,6]]},"182":{"position":[[1822,6],[10756,6]]},"445":{"position":[[8,6]]}}}],["out",{"_index":769,"t":{"85":{"position":[[420,3]]},"102":{"position":[[420,3]]},"182":{"position":[[7569,3]]},"235":{"position":[[75,3]]},"318":{"position":[[31,3]]},"441":{"position":[[12,3]]}}}],["output",{"_index":1509,"t":{"266":{"position":[[2232,6]]},"294":{"position":[[436,6],[2113,6]]},"450":{"position":[[29,6]]},"452":{"position":[[29,6]]},"454":{"position":[[29,6],[208,6]]},"456":{"position":[[32,6]]},"458":{"position":[[32,6]]}}}],["outsid",{"_index":1513,"t":{"271":{"position":[[171,7]]}}}],["overal",{"_index":741,"t":{"83":{"position":[[510,7]]},"228":{"position":[[157,7]]},"243":{"position":[[157,7]]},"342":{"position":[[172,7]]},"403":{"position":[[0,7]]}}}],["overview",{"_index":822,"t":{"92":{"position":[[506,8]]},"98":{"position":[[13,8]]}}}],["p",{"_index":1246,"t":{"197":{"position":[[324,1]]},"231":{"position":[[171,1]]}}}],["p3306",{"_index":1316,"t":{"231":{"position":[[157,5]]}}}],["packag",{"_index":1230,"t":{"193":{"position":[[84,7]]},"228":{"position":[[148,7],[178,7],[231,7],[357,7],[419,7]]},"243":{"position":[[148,7],[178,7],[231,7]]},"249":{"position":[[400,7]]},"284":{"position":[[601,7],[734,7],[977,7]]},"339":{"position":[[533,7]]},"342":{"position":[[163,7],[193,7],[246,7]]},"355":{"position":[[155,7]]},"360":{"position":[[141,7]]},"394":{"position":[[155,7]]}}}],["packet",{"_index":306,"t":{"31":{"position":[[53,8],[535,8],[554,8],[563,8],[632,8],[1288,8],[1770,8],[1789,8],[1798,8],[1867,8]]},"148":{"position":[[53,8],[535,8],[554,8],[563,8],[632,8],[1288,8],[1770,8],[1789,8],[1798,8],[1867,8]]}}}],["page",{"_index":714,"t":{"79":{"position":[[63,5]]},"81":{"position":[[39,4],[56,4]]},"92":{"position":[[27,4],[86,4],[266,4],[305,4]]},"108":{"position":[[593,4],[846,4],[1000,4],[1094,4],[1146,4],[1246,4]]},"112":{"position":[[181,4],[379,4],[598,4],[959,4],[1237,4]]},"182":{"position":[[44,4],[2868,4],[5488,4]]},"184":{"position":[[42,4],[1712,5],[2694,4],[2782,4],[2798,5],[2877,4],[2904,4],[2936,4],[2965,4],[3029,5],[3072,4],[3147,4],[3176,4],[3244,5],[3313,4],[3342,4],[3625,4],[3656,4],[3679,4],[3707,4]]},"186":{"position":[[1115,4]]},"247":{"position":[[2387,4]]},"249":{"position":[[1905,4]]},"259":{"position":[[56,4],[135,4],[192,4]]},"262":{"position":[[806,4]]},"266":{"position":[[1285,4],[1303,4],[1350,4],[1360,4],[1373,4],[1500,4],[1510,4],[1549,4]]},"268":{"position":[[399,4],[425,4],[490,4],[508,4],[559,4],[583,4],[601,4]]},"280":{"position":[[237,6],[862,6]]},"286":{"position":[[557,5],[666,5],[694,5],[714,5],[734,5]]},"292":{"position":[[383,4],[395,4],[414,4],[437,4],[453,4],[470,4],[907,4]]},"310":{"position":[[812,4],[3432,4]]},"388":{"position":[[14,4]]},"456":{"position":[[179,4],[213,4],[230,4],[246,4],[286,4],[314,4],[406,4],[418,4],[534,4],[609,4],[621,4],[1262,4],[1290,4],[1302,4],[1310,4],[1501,4],[1858,4],[1906,4],[1923,4],[1936,4],[1953,4],[1972,4],[2014,4],[2051,4],[2071,4],[2105,4],[2122,4],[2141,4],[2181,4],[2226,4],[2316,4],[2328,4],[2500,4],[2548,4],[2560,4],[2693,4],[2783,4],[2795,4],[3061,4],[3073,4]]},"458":{"position":[[51,4],[79,4],[91,4],[116,4],[166,4],[178,4],[276,4]]}}}],["pagelistingresult",{"_index":1590,"t":{"280":{"position":[[791,17]]}}}],["panel",{"_index":1886,"t":{"458":{"position":[[350,5]]}}}],["paramet",{"_index":1471,"t":{"266":{"position":[[263,9],[274,10]]},"282":{"position":[[1452,10]]},"286":{"position":[[394,9],[1475,9]]}}}],["parent",{"_index":1502,"t":{"266":{"position":[[1591,6],[1602,6]]},"276":{"position":[[279,6],[564,6],[584,6],[741,6]]}}}],["parent_id",{"_index":1501,"t":{"266":{"position":[[1591,9]]}}}],["part",{"_index":1529,"t":{"276":{"position":[[345,5]]},"334":{"position":[[187,5]]}}}],["parti",{"_index":1659,"t":{"292":{"position":[[1680,5]]}}}],["particip",{"_index":761,"t":{"85":{"position":[[134,11],[276,11],[1047,11]]},"102":{"position":[[134,11],[276,11],[1047,11]]},"108":{"position":[[625,11],[1218,13]]},"114":{"position":[[435,13]]},"120":{"position":[[351,11],[1126,11]]},"182":{"position":[[56,11],[1840,13],[9648,11],[10441,11],[10533,11]]},"307":{"position":[[10,13]]},"321":{"position":[[683,11]]},"323":{"position":[[501,11],[593,11]]},"419":{"position":[[49,13]]},"427":{"position":[[451,11],[502,11]]},"431":{"position":[[100,13]]},"435":{"position":[[107,11]]},"439":{"position":[[137,11]]},"445":{"position":[[25,11],[164,13],[426,13]]}}}],["particular",{"_index":875,"t":{"100":{"position":[[209,10]]},"116":{"position":[[240,10]]}}}],["partner",{"_index":915,"t":{"108":{"position":[[1199,8]]}}}],["pass",{"_index":1153,"t":{"182":{"position":[[10270,4]]},"233":{"position":[[463,4]]},"247":{"position":[[966,4],[1449,4],[1928,4]]},"249":{"position":[[481,4],[963,4],[1444,4]]},"323":{"position":[[330,4]]}}}],["password",{"_index":1250,"t":{"199":{"position":[[55,8]]},"217":{"position":[[72,8]]},"233":{"position":[[253,8]]},"240":{"position":[[66,8]]},"251":{"position":[[184,8]]},"266":{"position":[[2040,8],[2055,8]]},"280":{"position":[[1129,8]]},"282":{"position":[[1412,8]]},"450":{"position":[[57,8],[87,8],[136,8],[168,8],[227,8],[255,8]]},"452":{"position":[[269,8],[452,8],[662,8],[1086,8],[1161,8],[1259,8],[1334,8],[1434,8],[1470,8]]},"463":{"position":[[21,8]]}}}],["past",{"_index":1219,"t":{"186":{"position":[[1222,4]]}}}],["path",{"_index":1206,"t":{"184":{"position":[[2571,4],[3620,4]]},"231":{"position":[[34,5]]},"249":{"position":[[2039,4]]}}}],["pay",{"_index":1735,"t":{"334":{"position":[[1499,3]]}}}],["peer",{"_index":1764,"t":{"358":{"position":[[198,4]]}}}],["peopl",{"_index":558,"t":{"55":{"position":[[99,6]]},"57":{"position":[[87,6]]},"87":{"position":[[99,6]]},"89":{"position":[[87,6]]},"104":{"position":[[99,6]]},"106":{"position":[[87,6]]},"411":{"position":[[88,6]]}}}],["percentag",{"_index":690,"t":{"72":{"position":[[228,10]]}}}],["perform",{"_index":1221,"t":{"186":{"position":[[1380,11]]},"259":{"position":[[323,7]]},"292":{"position":[[1952,11]]},"294":{"position":[[115,7],[1803,7]]},"415":{"position":[[86,11],[701,11]]}}}],["period",{"_index":1744,"t":{"334":{"position":[[1710,6]]}}}],["permiss",{"_index":1363,"t":{"247":{"position":[[481,10]]}}}],["person",{"_index":1032,"t":{"182":{"position":[[2700,8]]},"310":{"position":[[644,8]]}}}],["perspect",{"_index":840,"t":{"96":{"position":[[431,11]]}}}],["peter",{"_index":1700,"t":{"327":{"position":[[548,5]]}}}],["pictur",{"_index":1183,"t":{"184":{"position":[[1819,7],[1865,7],[1893,7],[1924,7],[1952,7]]}}}],["pie",{"_index":672,"t":{"72":{"position":[[11,3]]}}}],["piec",{"_index":1703,"t":{"327":{"position":[[602,5]]}}}],["pip",{"_index":381,"t":{"31":{"position":[[2304,3]]},"148":{"position":[[2304,3]]},"235":{"position":[[162,3]]}}}],["place",{"_index":1208,"t":{"184":{"position":[[2662,6]]},"259":{"position":[[855,7]]},"276":{"position":[[557,5]]}}}],["plan",{"_index":721,"t":{"83":{"position":[[59,5],[642,8]]},"182":{"position":[[1024,4],[9709,5]]},"264":{"position":[[341,4]]},"301":{"position":[[245,4]]},"321":{"position":[[744,5]]}}}],["plane",{"_index":1890,"t":{"458":{"position":[[483,5]]}}}],["platform",{"_index":961,"t":{"114":{"position":[[328,8]]},"401":{"position":[[122,9]]}}}],["pleas",{"_index":775,"t":{"85":{"position":[[538,6],[820,6]]},"102":{"position":[[538,6],[820,6]]},"114":{"position":[[0,6]]},"120":{"position":[[604,6],[900,6]]},"182":{"position":[[166,6],[1077,6],[2359,6],[5250,6],[5686,6],[6462,6],[6636,6],[6720,6],[6883,6],[7074,6],[7195,6],[8518,6],[8603,6]]},"191":{"position":[[145,6]]},"193":{"position":[[57,6]]},"209":{"position":[[121,6]]},"253":{"position":[[67,6]]},"296":{"position":[[74,6]]},"301":{"position":[[298,6]]},"310":{"position":[[303,6],[3194,6]]},"312":{"position":[[133,6]]},"314":{"position":[[66,6],[240,6],[324,6]]},"316":{"position":[[66,6],[257,6],[378,6]]},"318":{"position":[[980,6],[1065,6]]},"427":{"position":[[632,6]]}}}],["plot",{"_index":650,"t":{"68":{"position":[[31,4],[160,4],[390,4]]}}}],["plug",{"_index":1531,"t":{"276":{"position":[[701,4]]},"280":{"position":[[244,4]]},"284":{"position":[[924,4]]},"407":{"position":[[155,4]]}}}],["plugin",{"_index":815,"t":{"92":{"position":[[189,6]]},"184":{"position":[[1389,6],[1426,6],[1473,6],[1519,6]]},"273":{"position":[[367,6]]},"276":{"position":[[189,7]]},"282":{"position":[[41,6],[115,7]]},"284":{"position":[[543,6]]}}}],["plural",{"_index":1190,"t":{"184":{"position":[[2088,6],[2110,6],[2146,6]]}}}],["pmc",{"_index":1136,"t":{"182":{"position":[[9187,3],[9349,4],[9408,3]]},"321":{"position":[[222,3],[384,4],[443,3]]},"339":{"position":[[100,3],[123,3],[406,3],[445,3],[691,3],[910,3],[970,3]]},"364":{"position":[[14,3]]},"379":{"position":[[36,3],[141,3]]}}}],["png",{"_index":1203,"t":{"184":{"position":[[2506,3]]}}}],["pod",{"_index":1266,"t":{"215":{"position":[[7,3],[30,4]]}}}],["point",{"_index":632,"t":{"66":{"position":[[115,6]]},"68":{"position":[[75,6],[194,5],[418,6],[466,5]]},"273":{"position":[[614,5]]},"286":{"position":[[52,5]]},"334":{"position":[[1530,6]]}}}],["pollut",{"_index":1039,"t":{"182":{"position":[[3046,8]]},"310":{"position":[[990,8]]}}}],["pom",{"_index":1525,"t":{"276":{"position":[[38,3],[228,3],[314,3],[1087,3]]},"282":{"position":[[1749,3]]}}}],["port",{"_index":1243,"t":{"197":{"position":[[236,4]]},"215":{"position":[[65,4],[186,4],[210,4],[223,4]]},"217":{"position":[[46,4]]},"233":{"position":[[421,4]]},"247":{"position":[[349,4],[395,4]]},"249":{"position":[[221,4]]},"251":{"position":[[45,4],[64,4],[76,4]]},"253":{"position":[[26,4],[337,4],[382,4],[424,4]]},"282":{"position":[[1396,4]]},"294":{"position":[[1510,4]]}}}],["portion",{"_index":682,"t":{"72":{"position":[[133,8],[247,7]]}}}],["posit",{"_index":1193,"t":{"184":{"position":[[2167,8],[2433,8]]},"266":{"position":[[1414,8],[1424,8]]},"445":{"position":[[75,8]]}}}],["possibl",{"_index":870,"t":{"100":{"position":[[43,8]]},"116":{"position":[[72,8]]},"182":{"position":[[7664,8],[7710,8]]},"318":{"position":[[126,8],[172,8]]},"327":{"position":[[710,8]]}}}],["pr",{"_index":463,"t":{"37":{"position":[[53,2]]},"53":{"position":[[53,2]]},"85":{"position":[[262,3]]},"102":{"position":[[262,3]]},"110":{"position":[[73,3],[106,3]]},"112":{"position":[[1220,2]]},"114":{"position":[[248,3],[519,3],[597,3],[661,2],[866,2],[1037,3]]},"120":{"position":[[337,3]]},"138":{"position":[[53,2]]},"154":{"position":[[53,2]]},"182":{"position":[[4342,2],[4992,2],[5170,2],[5281,2],[6041,2],[6432,2],[6790,2],[6853,2],[7090,2],[7111,2],[7260,2],[7335,2],[7345,2],[8696,2],[8782,2],[8837,2],[8898,2],[9031,2],[9844,3],[10372,3],[10885,2]]},"310":{"position":[[2286,2],[2936,2],[3114,2],[3225,2]]},"312":{"position":[[488,2]]},"314":{"position":[[36,2]]},"316":{"position":[[36,2],[273,2],[294,2],[443,2],[518,2],[528,2]]},"318":{"position":[[1158,2],[1244,2],[1299,2],[1360,2]]},"321":{"position":[[66,2],[879,3]]},"323":{"position":[[432,3]]},"339":{"position":[[52,2],[111,2],[134,2],[342,2],[433,2],[472,2]]},"425":{"position":[[35,2]]}}}],["practic",{"_index":791,"t":{"85":{"position":[[791,8]]},"102":{"position":[[791,8]]},"120":{"position":[[859,9]]}}}],["preced",{"_index":1535,"t":{"276":{"position":[[1057,10]]}}}],["prefix",{"_index":1094,"t":{"182":{"position":[[7375,6]]},"316":{"position":[[558,6]]}}}],["preleas",{"_index":1793,"t":{"398":{"position":[[94,8]]}}}],["prepar",{"_index":1758,"t":{"339":{"position":[[703,7],[805,7]]},"376":{"position":[[25,8]]}}}],["present",{"_index":1738,"t":{"334":{"position":[[1576,7]]},"411":{"position":[[223,12]]}}}],["pressur",{"_index":1795,"t":{"401":{"position":[[269,8]]}}}],["prettier",{"_index":829,"t":{"96":{"position":[[30,8]]},"292":{"position":[[2091,8]]}}}],["preview",{"_index":716,"t":{"81":{"position":[[21,7],[61,7]]},"92":{"position":[[53,7],[78,7]]},"184":{"position":[[503,7],[903,7],[1028,7],[3460,7]]},"262":{"position":[[785,7]]},"292":{"position":[[462,7]]},"456":{"position":[[1383,7],[1432,7],[1463,7]]}}}],["previou",{"_index":1214,"t":{"184":{"position":[[3392,8]]},"186":{"position":[[1597,8]]},"334":{"position":[[1844,8]]},"388":{"position":[[77,8]]}}}],["principl",{"_index":608,"t":{"61":{"position":[[4,9]]},"182":{"position":[[7141,9]]},"316":{"position":[[324,9]]}}}],["print",{"_index":384,"t":{"31":{"position":[[2355,5],[2380,5]]},"148":{"position":[[2355,5],[2380,5]]}}}],["priorit",{"_index":1832,"t":{"427":{"position":[[360,10]]},"441":{"position":[[47,10]]},"443":{"position":[[53,10]]}}}],["privat",{"_index":1757,"t":{"339":{"position":[[661,7]]}}}],["problem",{"_index":803,"t":{"85":{"position":[[1014,8]]},"96":{"position":[[543,7]]},"102":{"position":[[1014,8]]},"120":{"position":[[1094,8]]},"182":{"position":[[437,7],[6549,7],[8728,8],[8821,7]]},"299":{"position":[[169,7]]},"314":{"position":[[153,7]]},"318":{"position":[[1190,8],[1283,7]]},"327":{"position":[[317,7]]},"330":{"position":[[41,8]]},"383":{"position":[[26,8]]},"401":{"position":[[532,8],[692,7],[771,7]]},"403":{"position":[[212,8]]},"427":{"position":[[286,7]]}}}],["process",{"_index":573,"t":{"55":{"position":[[316,10],[546,7],[569,7]]},"57":{"position":[[304,10],[534,7],[557,7]]},"87":{"position":[[316,10],[546,7],[569,7]]},"89":{"position":[[304,10],[534,7],[557,7]]},"96":{"position":[[559,7]]},"104":{"position":[[341,10],[533,7],[558,7]]},"106":{"position":[[329,10],[521,7],[546,7]]},"182":{"position":[[800,7],[2025,7],[4345,7],[10779,7]]},"253":{"position":[[235,7]]},"264":{"position":[[483,7]]},"278":{"position":[[598,10]]},"286":{"position":[[128,10],[1880,9]]},"292":{"position":[[1715,10]]},"294":{"position":[[76,7],[286,10],[422,9],[1537,7]]},"301":{"position":[[21,7]]},"310":{"position":[[2289,7]]},"330":{"position":[[184,7]]},"334":{"position":[[802,7]]},"364":{"position":[[51,7]]},"403":{"position":[[18,7]]},"407":{"position":[[11,7]]},"411":{"position":[[315,10],[521,7],[544,7]]},"413":{"position":[[455,7],[596,7]]},"415":{"position":[[62,7],[139,7],[202,7],[284,7],[619,7],[756,7]]},"421":{"position":[[87,10]]},"443":{"position":[[177,7]]}}}],["produc",{"_index":1824,"t":{"415":{"position":[[866,9]]}}}],["product",{"_index":898,"t":{"108":{"position":[[253,7]]},"249":{"position":[[2031,7]]}}}],["program",{"_index":1679,"t":{"294":{"position":[[596,7]]}}}],["progress",{"_index":1060,"t":{"182":{"position":[[4443,8],[5186,8],[7417,8]]},"310":{"position":[[2387,8],[3130,8]]},"316":{"position":[[600,8]]},"403":{"position":[[403,8]]},"433":{"position":[[185,8]]}}}],["project",{"_index":570,"t":{"55":{"position":[[270,7],[623,7],[672,7]]},"57":{"position":[[258,7],[611,7],[660,7]]},"81":{"position":[[13,7]]},"87":{"position":[[270,7],[623,7],[672,7]]},"89":{"position":[[258,7],[611,7],[660,7]]},"92":{"position":[[45,7]]},"104":{"position":[[295,7],[611,7],[661,7],[806,7]]},"106":{"position":[[283,7],[599,7],[649,7],[794,7]]},"108":{"position":[[891,7],[1079,7],[1452,7]]},"110":{"position":[[30,7]]},"112":{"position":[[209,7],[245,7],[525,7],[626,7],[987,7]]},"114":{"position":[[57,7],[164,7],[921,7]]},"182":{"position":[[71,7],[136,7],[1983,8],[2860,7],[5720,7],[6453,7],[6627,7],[6874,7],[9206,7],[9560,7],[9790,7],[10018,7],[10521,7]]},"184":{"position":[[214,7],[253,7],[341,7],[1599,7],[3452,7]]},"228":{"position":[[210,7]]},"243":{"position":[[210,7]]},"266":{"position":[[1141,7],[1153,7],[1555,7],[1567,7],[1706,7],[1715,7],[1764,7],[1794,7],[1808,7],[1829,7],[1932,7]]},"268":{"position":[[323,7],[340,7],[365,7],[623,7],[640,7],[665,7],[687,7],[704,7]]},"273":{"position":[[88,7],[240,7],[557,7],[627,7],[864,7]]},"276":{"position":[[16,7],[71,7],[144,7],[161,7],[198,7],[247,7],[286,7],[496,7],[591,7],[607,7],[748,7],[805,7],[1131,7]]},"278":{"position":[[84,7]]},"280":{"position":[[395,7]]},"284":{"position":[[103,7],[583,7],[746,7],[776,7],[851,7],[992,7],[1048,7]]},"286":{"position":[[596,7],[743,7],[1076,7],[1115,8],[1134,8],[1153,8],[1165,7],[1188,8]]},"292":{"position":[[20,7],[84,7],[401,7],[673,7],[1031,8],[1300,7],[1656,7],[2013,7],[2183,7]]},"294":{"position":[[18,7],[1552,7],[2053,7]]},"296":{"position":[[44,7]]},"307":{"position":[[153,8]]},"310":{"position":[[804,7]]},"312":{"position":[[167,7]]},"314":{"position":[[57,7],[231,7]]},"316":{"position":[[57,7]]},"321":{"position":[[241,7],[595,7],[825,7]]},"323":{"position":[[78,7],[581,7]]},"327":{"position":[[136,7],[283,8]]},"342":{"position":[[225,7]]},"355":{"position":[[40,7]]},"358":{"position":[[71,7],[169,7]]},"394":{"position":[[40,7]]},"401":{"position":[[596,7]]},"403":{"position":[[150,7],[419,7]]},"411":{"position":[[269,7]]},"427":{"position":[[61,7],[205,7],[334,7],[556,7],[648,7]]},"439":{"position":[[164,8]]},"454":{"position":[[40,7],[48,7],[62,7],[83,7],[142,7],[169,7],[230,7],[243,7],[307,7],[334,7]]}}}],["project_id",{"_index":1495,"t":{"266":{"position":[[1141,10],[1555,10]]},"268":{"position":[[365,10],[665,10]]}}}],["project_nam",{"_index":1505,"t":{"266":{"position":[[1794,12]]}}}],["projectcontrol",{"_index":1631,"t":{"286":{"position":[[1043,17]]}}}],["projectlist",{"_index":1649,"t":{"292":{"position":[[622,11]]}}}],["projectmapp",{"_index":1585,"t":{"280":{"position":[[646,13]]}}}],["projectserviceimpl",{"_index":1639,"t":{"286":{"position":[[1711,18]]}}}],["promot",{"_index":973,"t":{"114":{"position":[[1062,7]]},"182":{"position":[[914,7],[1185,7],[6610,9]]},"301":{"position":[[135,7],[406,7]]},"314":{"position":[[214,9]]},"339":{"position":[[928,11]]},"403":{"position":[[391,7]]}}}],["prompt",{"_index":609,"t":{"61":{"position":[[17,6],[66,6],[194,6]]},"66":{"position":[[0,6],[45,6],[227,6],[453,6]]},"68":{"position":[[0,6],[138,6],[368,6]]},"70":{"position":[[0,6]]},"72":{"position":[[0,6]]},"74":{"position":[[0,6]]},"76":{"position":[[0,6]]},"96":{"position":[[595,6],[632,6],[696,7],[785,7],[813,6]]},"231":{"position":[[773,6]]},"266":{"position":[[2271,6],[2279,6]]},"452":{"position":[[1045,8],[1546,8]]}}}],["properli",{"_index":1117,"t":{"182":{"position":[[8381,8]]},"318":{"position":[[843,8]]},"443":{"position":[[208,8]]}}}],["properti",{"_index":1527,"t":{"276":{"position":[[206,10],[352,10]]}}}],["propos",{"_index":966,"t":{"114":{"position":[[558,7]]}}}],["prototyp",{"_index":959,"t":{"114":{"position":[[304,11]]}}}],["provid",{"_index":807,"t":{"85":{"position":[[1139,7]]},"92":{"position":[[197,7]]},"102":{"position":[[1139,7]]},"108":{"position":[[758,9]]},"112":{"position":[[1179,7]]},"118":{"position":[[37,9]]},"120":{"position":[[1219,7]]},"259":{"position":[[803,8]]},"271":{"position":[[115,8],[139,7]]},"273":{"position":[[387,8],[787,8],[814,8]]},"278":{"position":[[364,8],[492,8],[572,8],[761,8],[902,8]]},"282":{"position":[[586,8],[1115,8],[1678,7]]},"286":{"position":[[81,8],[170,8],[292,8],[510,8],[632,8],[777,8],[834,8],[1002,8],[1062,8],[1563,8],[1816,7]]},"290":{"position":[[196,8]]},"292":{"position":[[1755,9]]},"294":{"position":[[521,8],[846,8],[1010,8],[1236,8],[1619,7],[2066,8]]},"334":{"position":[[38,7]]},"415":{"position":[[352,9]]},"427":{"position":[[217,8]]},"431":{"position":[[19,7]]},"441":{"position":[[126,7]]},"445":{"position":[[281,7]]}}}],["proxi",{"_index":812,"t":{"92":{"position":[[118,5],[155,5]]},"96":{"position":[[733,5]]},"247":{"position":[[960,5],[1022,5],[1051,5],[1092,5],[1134,5],[1177,5],[1211,5],[1238,5],[1262,5],[1288,5],[1313,5],[1337,5],[1377,5],[1443,5],[1501,5],[1530,5],[1571,5],[1613,5],[1656,5],[1690,5],[1717,5],[1741,5],[1767,5],[1792,5],[1816,5],[1856,5],[1922,5],[1987,5],[2016,5],[2057,5],[2099,5],[2142,5],[2176,5],[2203,5],[2227,5],[2253,5],[2278,5],[2302,5],[2342,5]]},"249":{"position":[[475,5],[536,5],[565,5],[606,5],[648,5],[691,5],[725,5],[752,5],[776,5],[802,5],[827,5],[851,5],[891,5],[957,5],[1017,5],[1046,5],[1087,5],[1129,5],[1172,5],[1206,5],[1233,5],[1257,5],[1283,5],[1308,5],[1332,5],[1372,5],[1438,5],[1505,5],[1534,5],[1575,5],[1617,5],[1660,5],[1694,5],[1721,5],[1745,5],[1771,5],[1796,5],[1820,5],[1860,5]]},"256":{"position":[[64,5]]},"273":{"position":[[1002,5]]}}}],["proxy_add_x_forwarded_for",{"_index":1375,"t":{"247":{"position":[[1211,25],[1690,25],[2176,25]]},"249":{"position":[[725,25],[1206,25],[1694,25]]}}}],["proxy_connect_timeout",{"_index":1377,"t":{"247":{"position":[[1262,21],[1741,21],[2227,21]]},"249":{"position":[[776,21],[1257,21],[1745,21]]}}}],["proxy_http_vers",{"_index":1376,"t":{"247":{"position":[[1238,18],[1717,18],[2203,18]]},"249":{"position":[[752,18],[1233,18],[1721,18]]}}}],["proxy_pass",{"_index":1368,"t":{"247":{"position":[[960,10],[1443,10],[1922,10]]},"249":{"position":[[475,10],[957,10],[1438,10]]}}}],["proxy_read_timeout",{"_index":1380,"t":{"247":{"position":[[1288,18],[1767,18],[2253,18]]},"249":{"position":[[802,18],[1283,18],[1771,18]]},"256":{"position":[[64,18]]}}}],["proxy_send_timeout",{"_index":1381,"t":{"247":{"position":[[1313,18],[1792,18],[2278,18]]},"249":{"position":[[827,18],[1308,18],[1796,18]]}}}],["proxy_set_head",{"_index":1369,"t":{"247":{"position":[[1022,16],[1051,16],[1092,16],[1134,16],[1177,16],[1337,16],[1377,16],[1501,16],[1530,16],[1571,16],[1613,16],[1656,16],[1816,16],[1856,16],[1987,16],[2016,16],[2057,16],[2099,16],[2142,16],[2302,16],[2342,16]]},"249":{"position":[[536,16],[565,16],[606,16],[648,16],[691,16],[851,16],[891,16],[1017,16],[1046,16],[1087,16],[1129,16],[1172,16],[1332,16],[1372,16],[1505,16],[1534,16],[1575,16],[1617,16],[1660,16],[1820,16],[1860,16]]}}}],["proxyview",{"_index":1451,"t":{"262":{"position":[[766,9]]}}}],["ps",{"_index":1403,"t":{"253":{"position":[[250,2]]}}}],["public",{"_index":613,"t":{"61":{"position":[[94,6]]},"85":{"position":[[1128,9]]},"102":{"position":[[1128,9]]},"120":{"position":[[1208,9]]},"292":{"position":[[1633,6]]},"339":{"position":[[865,9],[882,6]]}}}],["publish",{"_index":780,"t":{"85":{"position":[[641,7]]},"102":{"position":[[641,7]]},"120":{"position":[[709,7]]},"259":{"position":[[463,7]]},"433":{"position":[[158,7]]}}}],["pull",{"_index":937,"t":{"112":{"position":[[451,4],[484,4],[1003,4],[1035,4],[1164,4],[1262,4]]},"182":{"position":[[4897,4],[6125,4],[6776,4],[6906,4],[6985,4],[7005,4],[8678,4],[10871,4]]},"186":{"position":[[308,4],[1132,4],[1242,4]]},"310":{"position":[[2841,4]]},"312":{"position":[[572,4]]},"316":{"position":[[89,4],[168,4],[188,4]]},"318":{"position":[[1140,4]]},"332":{"position":[[93,4]]},"367":{"position":[[0,4],[110,4]]}}}],["purpl",{"_index":681,"t":{"72":{"position":[[101,6]]}}}],["purpos",{"_index":1699,"t":{"327":{"position":[[493,7]]},"334":{"position":[[1221,7]]}}}],["push",{"_index":1058,"t":{"182":{"position":[[4237,4],[4289,4],[5107,4],[5520,4],[6279,4],[6335,4]]},"186":{"position":[[1056,4]]},"310":{"position":[[2181,4],[2233,4],[3051,4],[3464,4]]},"312":{"position":[[726,4],[782,4]]},"371":{"position":[[56,4]]}}}],["put",{"_index":1099,"t":{"182":{"position":[[7624,3]]},"318":{"position":[[86,3]]},"360":{"position":[[226,3]]}}}],["py",{"_index":303,"t":{"31":{"position":[[15,2],[1250,2],[2433,2],[2634,2]]},"148":{"position":[[15,2],[1250,2],[2433,2],[2634,2]]}}}],["python",{"_index":227,"t":{"26":{"position":[[30,6]]},"29":{"position":[[21,6],[47,6],[192,6],[257,6]]},"31":{"position":[[2262,6],[2328,6],[2416,6],[2620,6]]},"144":{"position":[[30,6]]},"146":{"position":[[21,6],[47,6],[192,6],[257,6]]},"148":{"position":[[2262,6],[2328,6],[2416,6],[2620,6]]},"233":{"position":[[289,6]]},"235":{"position":[[126,6]]},"294":{"position":[[267,6],[394,6],[689,6],[718,6],[1127,6],[1878,6]]}}}],["q",{"_index":796,"t":{"85":{"position":[[925,1]]},"102":{"position":[[925,1]]},"120":{"position":[[1005,1]]},"184":{"position":[[1303,1]]},"403":{"position":[[14,1]]}}}],["qualiti",{"_index":1695,"t":{"327":{"position":[[357,7]]},"413":{"position":[[668,7]]},"415":{"position":[[378,7],[543,7],[895,7]]}}}],["queri",{"_index":1593,"t":{"280":{"position":[[869,7],[1095,5]]},"282":{"position":[[337,5],[866,5]]},"286":{"position":[[429,8],[579,8],[721,8],[873,5],[888,8],[927,8],[963,8],[1144,8],[1429,5]]},"294":{"position":[[1330,8]]},"454":{"position":[[182,5]]},"456":{"position":[[1054,5],[1086,5],[1157,5],[1249,5],[2738,5],[2909,5],[3009,5]]}}}],["queryuserbynamepassword",{"_index":1600,"t":{"280":{"position":[[1150,23]]}}}],["question",{"_index":799,"t":{"85":{"position":[[946,9]]},"102":{"position":[[946,9]]},"120":{"position":[[1026,9]]},"182":{"position":[[1457,9]]},"303":{"position":[[24,9]]},"421":{"position":[[8,9]]},"437":{"position":[[75,9],[96,9]]}}}],["queue",{"_index":1508,"t":{"266":{"position":[[2119,5],[2126,5]]},"294":{"position":[[540,5],[820,5],[946,6],[1920,5]]}}}],["quick",{"_index":861,"t":{"98":{"position":[[132,5],[204,5]]},"114":{"position":[[420,5]]},"334":{"position":[[86,5]]},"409":{"position":[[0,5]]},"461":{"position":[[4,5]]}}}],["quickli",{"_index":559,"t":{"55":{"position":[[106,7]]},"57":{"position":[[94,7]]},"87":{"position":[[106,7]]},"89":{"position":[[94,7]]},"104":{"position":[[106,7],[204,7]]},"106":{"position":[[94,7],[192,7]]},"182":{"position":[[614,7]]},"299":{"position":[[346,7]]},"327":{"position":[[71,7]]},"332":{"position":[[147,7]]},"411":{"position":[[95,7],[197,7]]}}}],["r",{"_index":1298,"t":{"228":{"position":[[630,1],[633,1],[729,1],[732,1]]},"249":{"position":[[263,1]]}}}],["rais",{"_index":1833,"t":{"427":{"position":[[378,6]]},"443":{"position":[[36,6]]}}}],["random",{"_index":658,"t":{"68":{"position":[[222,6]]}}}],["randomli",{"_index":652,"t":{"68":{"position":[[82,8]]}}}],["rang",{"_index":638,"t":{"66":{"position":[[277,5]]},"334":{"position":[[1056,5]]}}}],["rank",{"_index":974,"t":{"116":{"position":[[227,6]]}}}],["rapid",{"_index":564,"t":{"55":{"position":[[178,5]]},"57":{"position":[[166,5]]},"87":{"position":[[178,5]]},"89":{"position":[[166,5]]}}}],["rate",{"_index":1819,"t":{"415":{"position":[[325,4]]}}}],["rc",{"_index":1786,"t":{"388":{"position":[[265,2]]}}}],["rc1",{"_index":856,"t":{"98":{"position":[[86,3]]},"369":{"position":[[125,3]]},"371":{"position":[[25,3],[47,3],[82,3]]},"373":{"position":[[18,3],[181,3]]},"388":{"position":[[107,3]]}}}],["re",{"_index":935,"t":{"112":{"position":[[407,2]]},"182":{"position":[[3598,2]]},"310":{"position":[[1542,2]]},"327":{"position":[[569,2]]},"383":{"position":[[64,2]]}}}],["reach",{"_index":1780,"t":{"381":{"position":[[41,7]]},"415":{"position":[[713,7]]}}}],["react",{"_index":1642,"t":{"292":{"position":[[37,5],[1836,5],[1875,5],[1914,5]]}}}],["read",{"_index":916,"t":{"108":{"position":[[1333,4]]},"124":{"position":[[21,4]]},"140":{"position":[[21,4]]},"156":{"position":[[21,4]]},"182":{"position":[[173,4]]},"247":{"position":[[1294,4],[1773,4],[2259,4]]},"249":{"position":[[808,4],[1289,4],[1777,4]]},"256":{"position":[[70,4]]},"296":{"position":[[81,4]]}}}],["readi",{"_index":357,"t":{"31":{"position":[[1118,5]]},"148":{"position":[[1118,5]]},"182":{"position":[[7355,5]]},"316":{"position":[[538,5]]}}}],["readm",{"_index":1831,"t":{"427":{"position":[[228,6]]}}}],["real",{"_index":1371,"t":{"247":{"position":[[1070,4],[1111,4],[1549,4],[1590,4],[2035,4],[2076,4]]},"249":{"position":[[584,4],[625,4],[1065,4],[1106,4],[1553,4],[1594,4]]}}}],["realiz",{"_index":576,"t":{"55":{"position":[[359,7],[557,7]]},"57":{"position":[[347,7],[545,7]]},"87":{"position":[[359,7],[557,7]]},"89":{"position":[[347,7],[545,7]]},"411":{"position":[[358,7],[532,7]]},"413":{"position":[[443,7]]}}}],["realli",{"_index":1023,"t":{"182":{"position":[[2173,6]]},"310":{"position":[[117,6]]}}}],["reason",{"_index":1746,"t":{"334":{"position":[[1962,7]]}}}],["receiv",{"_index":1459,"t":{"264":{"position":[[588,8]]},"294":{"position":[[409,8],[550,9],[1750,8]]}}}],["recogn",{"_index":1152,"t":{"182":{"position":[[10072,10]]},"323":{"position":[[132,10]]}}}],["recognit",{"_index":1829,"t":{"427":{"position":[[42,11]]}}}],["recommend",{"_index":988,"t":{"182":{"position":[[271,9],[5840,9]]},"299":{"position":[[3,9]]},"312":{"position":[[287,9]]},"334":{"position":[[974,11]]},"353":{"position":[[195,11]]},"392":{"position":[[166,11]]}}}],["record",{"_index":902,"t":{"108":{"position":[[457,7]]},"182":{"position":[[472,6],[5042,7],[6091,7]]},"299":{"position":[[204,6]]},"310":{"position":[[2986,7]]},"312":{"position":[[538,7]]}}}],["recv",{"_index":346,"t":{"31":{"position":[[922,4],[1026,4],[1038,4],[1921,4],[2025,4],[2037,4]]},"148":{"position":[[922,4],[1026,4],[1038,4],[1921,4],[2025,4],[2037,4]]}}}],["redi",{"_index":282,"t":{"29":{"position":[[161,5]]},"146":{"position":[[161,5]]}}}],["reduc",{"_index":1110,"t":{"182":{"position":[[8063,6]]},"221":{"position":[[190,6]]},"318":{"position":[[525,6]]},"327":{"position":[[687,8]]},"401":{"position":[[253,6]]}}}],["refactor",{"_index":998,"t":{"182":{"position":[[766,11],[897,11],[1063,11],[1402,10],[10691,11]]},"301":{"position":[[118,11],[284,11],[623,10]]},"334":{"position":[[679,8],[689,11],[951,8]]}}}],["refer",{"_index":611,"t":{"61":{"position":[[33,8]]},"85":{"position":[[315,9]]},"102":{"position":[[315,9]]},"120":{"position":[[386,9]]},"182":{"position":[[4743,5],[6469,5],[6751,9],[6890,5],[7202,5]]},"238":{"position":[[0,5]]},"310":{"position":[[2687,5]]},"314":{"position":[[73,5],[355,9]]},"316":{"position":[[73,5],[385,5]]},"360":{"position":[[270,5]]},"401":{"position":[[27,5],[722,9]]}}}],["regex",{"_index":1488,"t":{"266":{"position":[[978,5]]}}}],["regular",{"_index":1489,"t":{"266":{"position":[[991,7]]}}}],["regularli",{"_index":1842,"t":{"433":{"position":[[148,9]]}}}],["reinforc",{"_index":46,"t":{"2":{"position":[[155,13]]},"4":{"position":[[151,13]]},"22":{"position":[[155,13]]},"24":{"position":[[151,13]]},"39":{"position":[[155,13]]},"41":{"position":[[151,13]]},"55":{"position":[[507,13]]},"57":{"position":[[495,13]]},"87":{"position":[[507,13]]},"89":{"position":[[495,13]]},"104":{"position":[[494,13]]},"106":{"position":[[482,13]]},"126":{"position":[[151,13]]},"142":{"position":[[151,13]]},"158":{"position":[[151,13]]},"411":{"position":[[482,13]]},"415":{"position":[[23,13],[494,13]]}}}],["reject",{"_index":1108,"t":{"182":{"position":[[7874,8]]},"318":{"position":[[336,8]]}}}],["relat",{"_index":781,"t":{"85":{"position":[[657,7]]},"94":{"position":[[23,7]]},"102":{"position":[[657,7]]},"108":{"position":[[276,7]]},"120":{"position":[[725,7]]},"182":{"position":[[1002,7],[4609,7]]},"280":{"position":[[87,7],[211,7]]},"282":{"position":[[93,7]]},"286":{"position":[[318,7],[528,7],[651,7],[853,7],[1084,7]]},"292":{"position":[[1020,7]]},"301":{"position":[[223,7]]},"310":{"position":[[2553,7]]},"327":{"position":[[105,7]]},"332":{"position":[[75,7]]},"401":{"position":[[167,7]]},"433":{"position":[[126,7]]},"441":{"position":[[266,7]]},"456":{"position":[[899,7]]}}}],["relationship",{"_index":1812,"t":{"413":{"position":[[257,12]]}}}],["relax",{"_index":1839,"t":{"431":{"position":[[39,7]]}}}],["releas",{"_index":854,"t":{"98":{"position":[[59,8],[72,7]]},"100":{"position":[[4,7]]},"108":{"position":[[435,8],[449,7],[528,7]]},"116":{"position":[[4,7]]},"182":{"position":[[2192,7],[2210,7],[2431,8],[2447,7],[9163,7],[10560,8]]},"184":{"position":[[1265,8]]},"186":{"position":[[343,7],[351,7],[378,7]]},"193":{"position":[[48,8]]},"228":{"position":[[94,8]]},"243":{"position":[[94,8]]},"284":{"position":[[73,7],[391,7],[429,7],[593,7],[969,7]]},"310":{"position":[[136,7],[154,7],[375,8],[391,7]]},"321":{"position":[[198,7]]},"323":{"position":[[620,8]]},"327":{"position":[[213,7]]},"334":{"position":[[2319,7]]},"339":{"position":[[714,7],[767,7],[796,7],[857,7]]},"342":{"position":[[109,8]]},"355":{"position":[[228,8]]},"364":{"position":[[43,7],[71,7]]},"367":{"position":[[29,7],[51,7],[82,7],[92,7],[130,7],[140,7],[187,7],[242,7],[252,7]]},"369":{"position":[[71,7],[111,7]]},"371":{"position":[[11,7],[33,7],[68,7]]},"373":{"position":[[4,7],[156,7]]},"383":{"position":[[67,8],[115,7]]},"388":{"position":[[55,8],[179,7],[203,7],[248,7]]},"394":{"position":[[228,8]]}}}],["release_vers",{"_index":1768,"t":{"367":{"position":[[92,15],[140,15],[252,15]]},"388":{"position":[[248,15]]}}}],["relev",{"_index":1754,"t":{"339":{"position":[[204,8]]},"401":{"position":[[90,8]]}}}],["reload",{"_index":1401,"t":{"253":{"position":[[151,6]]}}}],["remark",{"_index":1870,"t":{"452":{"position":[[279,7],[462,7],[1171,6]]}}}],["remot",{"_index":1052,"t":{"182":{"position":[[3939,6],[3960,6]]},"186":{"position":[[52,6],[201,6],[550,6],[596,6],[672,6],[771,6],[801,6],[855,6],[1083,6]]},"247":{"position":[[1079,6],[1121,6],[1151,6],[1164,6],[1558,6],[1600,6],[1630,6],[1643,6],[2044,6],[2086,6],[2116,6],[2129,6]]},"249":{"position":[[593,6],[635,6],[665,6],[678,6],[1074,6],[1116,6],[1146,6],[1159,6],[1562,6],[1604,6],[1634,6],[1647,6]]},"310":{"position":[[1883,6],[1904,6]]},"334":{"position":[[1093,6]]}}}],["remote_addr",{"_index":1372,"t":{"247":{"position":[[1079,11],[1121,11],[1151,11],[1164,11],[1558,11],[1600,11],[1630,11],[1643,11],[2044,11],[2086,11],[2116,11],[2129,11]]},"249":{"position":[[593,11],[635,11],[665,11],[678,11],[1074,11],[1116,11],[1146,11],[1159,11],[1562,11],[1604,11],[1634,11],[1647,11]]}}}],["remov",{"_index":842,"t":{"96":{"position":[[486,7]]},"278":{"position":[[838,8]]}}}],["render",{"_index":660,"t":{"68":{"position":[[248,8]]},"184":{"position":[[2451,6]]},"262":{"position":[[908,9]]},"292":{"position":[[162,6],[285,6],[1942,9]]}}}],["renderdom",{"_index":1204,"t":{"184":{"position":[[2527,9]]}}}],["repair",{"_index":989,"t":{"182":{"position":[[316,6]]},"299":{"position":[[48,6]]},"383":{"position":[[51,8]]}}}],["repeat",{"_index":1820,"t":{"415":{"position":[[676,8]]}}}],["repli",{"_index":1781,"t":{"381":{"position":[[65,5]]}}}],["report",{"_index":964,"t":{"114":{"position":[[543,6]]}}}],["repositori",{"_index":949,"t":{"112":{"position":[[928,10]]},"114":{"position":[[773,10]]},"182":{"position":[[3501,10],[3528,10],[3665,10],[4274,10],[5747,12],[5823,12]]},"184":{"position":[[293,10],[370,10]]},"186":{"position":[[59,10],[148,10],[208,10],[475,10],[557,10],[657,10],[714,12],[745,10],[778,10],[808,10],[862,10],[887,10],[1009,10],[1090,10]]},"310":{"position":[[1445,10],[1472,10],[1609,10],[2218,10]]},"312":{"position":[[194,12],[270,12]]},"355":{"position":[[64,10]]},"394":{"position":[[64,10]]}}}],["repres",{"_index":665,"t":{"68":{"position":[[312,9]]},"72":{"position":[[24,11]]},"280":{"position":[[448,9]]}}}],["represent",{"_index":1809,"t":{"413":{"position":[[150,15]]}}}],["reproduc",{"_index":994,"t":{"182":{"position":[[564,12]]},"299":{"position":[[296,12]]}}}],["request",{"_index":938,"t":{"112":{"position":[[456,7],[489,7],[1008,8],[1040,7],[1169,7],[1267,7]]},"114":{"position":[[870,10]]},"182":{"position":[[6781,7],[6911,8],[6990,8],[7011,8],[7975,9],[8683,7],[10876,7]]},"186":{"position":[[313,7],[1137,7],[1247,7]]},"271":{"position":[[58,7],[147,7]]},"286":{"position":[[144,8],[1895,8]]},"292":{"position":[[1392,8],[1731,8]]},"294":{"position":[[84,8],[312,8],[1203,8],[1691,7],[1763,7]]},"316":{"position":[[94,8],[173,8],[194,8]]},"318":{"position":[[437,9],[1145,7]]},"332":{"position":[[98,8]]}}}],["requir",{"_index":947,"t":{"112":{"position":[[825,8]]},"184":{"position":[[771,8]]},"221":{"position":[[9,12]]},"223":{"position":[[13,12]]},"264":{"position":[[450,8]]},"266":{"position":[[873,7],[896,8]]},"334":{"position":[[234,8],[370,8],[412,8]]},"353":{"position":[[18,8]]},"355":{"position":[[170,8]]},"358":{"position":[[153,8],[226,8]]},"381":{"position":[[7,8]]},"392":{"position":[[24,12]]},"394":{"position":[[170,8]]},"401":{"position":[[544,12]]}}}],["research",{"_index":734,"t":{"83":{"position":[[316,8]]}}}],["resolut",{"_index":1853,"t":{"443":{"position":[[166,10]]}}}],["resolv",{"_index":1852,"t":{"443":{"position":[[79,9]]}}}],["resourc",{"_index":957,"t":{"114":{"position":[[111,9]]},"184":{"position":[[1075,8],[1121,9],[1578,8],[1834,8],[2382,8],[2562,8],[2583,9],[2855,8],[3596,8],[3611,8]]},"249":{"position":[[1998,8]]},"253":{"position":[[41,8]]},"439":{"position":[[69,9]]},"441":{"position":[[168,9]]}}}],["respect",{"_index":688,"t":{"72":{"position":[[170,12]]},"108":{"position":[[793,7]]},"268":{"position":[[515,12]]},"292":{"position":[[707,12],[1525,12]]},"445":{"position":[[0,7]]}}}],["respons",{"_index":1462,"t":{"264":{"position":[[773,8]]},"271":{"position":[[38,11]]},"284":{"position":[[53,11]]},"294":{"position":[[224,11],[627,11],[1315,8]]}}}],["rest",{"_index":1512,"t":{"271":{"position":[[124,7]]}}}],["restart",{"_index":1399,"t":{"249":{"position":[[2148,7]]},"253":{"position":[[462,7]]}}}],["restor",{"_index":1131,"t":{"182":{"position":[[8886,7]]},"318":{"position":[[1348,7]]}}}],["result",{"_index":1592,"t":{"280":{"position":[[851,7]]},"282":{"position":[[368,7],[897,7]]},"286":{"position":[[213,7],[243,7],[261,7],[1956,7]]},"292":{"position":[[806,7]]},"294":{"position":[[1101,7],[1961,6],[2011,6]]},"327":{"position":[[765,6]]},"381":{"position":[[113,7]]},"385":{"position":[[10,7]]}}}],["return",{"_index":950,"t":{"112":{"position":[[940,6]]},"286":{"position":[[203,9],[1948,7]]},"294":{"position":[[1989,7]]},"456":{"position":[[1229,8],[2985,8],[3142,7]]}}}],["reusabl",{"_index":1443,"t":{"262":{"position":[[311,8]]}}}],["review",{"_index":991,"t":{"182":{"position":[[426,6],[7468,8],[7521,6],[7609,6],[7780,8],[7887,6],[8502,8],[8752,8],[8868,8],[9837,6],[10915,6]]},"299":{"position":[[158,6]]},"316":{"position":[[651,8]]},"318":{"position":[[71,6],[242,8],[349,6],[964,8],[1214,8],[1330,8]]},"321":{"position":[[872,6]]},"327":{"position":[[237,9]]},"332":{"position":[[238,9]]},"339":{"position":[[90,6],[396,6]]}}}],["right",{"_index":930,"t":{"112":{"position":[[312,5],[672,5]]},"182":{"position":[[9588,6],[10326,6]]},"321":{"position":[[623,6]]},"323":{"position":[[386,6]]},"364":{"position":[[79,6]]},"458":{"position":[[258,5]]}}}],["rip",{"_index":1748,"t":{"334":{"position":[[2225,3]]}}}],["rise",{"_index":550,"t":{"55":{"position":[[21,4]]},"57":{"position":[[9,4]]},"87":{"position":[[21,4]]},"89":{"position":[[9,4]]},"104":{"position":[[21,4]]},"106":{"position":[[9,4]]},"411":{"position":[[9,4]]}}}],["risk",{"_index":1104,"t":{"182":{"position":[[7701,5],[7808,4],[8179,5]]},"318":{"position":[[163,5],[270,4],[641,5]]}}}],["rlhf",{"_index":45,"t":{"2":{"position":[[149,4]]},"4":{"position":[[145,4]]},"22":{"position":[[149,4]]},"24":{"position":[[145,4]]},"39":{"position":[[149,4]]},"41":{"position":[[145,4]]},"55":{"position":[[501,4]]},"57":{"position":[[489,4]]},"87":{"position":[[501,4]]},"89":{"position":[[489,4]]},"104":{"position":[[488,4]]},"106":{"position":[[476,4]]},"126":{"position":[[145,4]]},"142":{"position":[[145,4]]},"158":{"position":[[145,4]]},"411":{"position":[[476,4]]},"415":{"position":[[17,4],[279,4]]}}}],["roadmap",{"_index":1154,"t":{"182":{"position":[[10472,7]]},"323":{"position":[[532,7]]}}}],["robot",{"_index":1804,"t":{"407":{"position":[[163,5]]}}}],["rocketmq",{"_index":1751,"t":{"336":{"position":[[41,8]]}}}],["role",{"_index":1621,"t":{"284":{"position":[[687,4]]}}}],["root",{"_index":647,"t":{"66":{"position":[[575,4]]},"184":{"position":[[826,4],[951,4]]},"197":{"position":[[318,4]]},"228":{"position":[[534,4],[539,4],[582,4],[587,4],[639,4],[644,4],[688,4],[693,4],[738,4],[743,4],[786,4],[791,4]]},"233":{"position":[[248,4],[263,4],[455,4]]},"247":{"position":[[849,4],[2442,4]]},"249":{"position":[[328,4],[1960,4]]},"358":{"position":[[83,4]]}}}],["roughli",{"_index":1687,"t":{"294":{"position":[[1563,7]]}}}],["round",{"_index":1440,"t":{"262":{"position":[[205,7]]}}}],["rout",{"_index":1645,"t":{"292":{"position":[[274,6],[318,6],[341,6],[1905,7]]}}}],["router",{"_index":1665,"t":{"292":{"position":[[1881,6]]}}}],["row",{"_index":1871,"t":{"452":{"position":[[1582,3]]}}}],["rpc",{"_index":308,"t":{"31":{"position":[[102,3],[1337,3]]},"148":{"position":[[102,3],[1337,3]]}}}],["ruan",{"_index":1863,"t":{"447":{"position":[[0,4]]}}}],["ruler",{"_index":1432,"t":{"262":{"position":[[36,6]]}}}],["rulerguid",{"_index":1423,"t":{"259":{"position":[[529,11]]},"262":{"position":[[23,11]]}}}],["run",{"_index":380,"t":{"31":{"position":[[2300,3],[2324,3],[2457,3],[2528,3],[2586,3]]},"148":{"position":[[2300,3],[2324,3],[2457,3],[2528,3],[2586,3]]},"184":{"position":[[740,3],[801,3],[809,3],[923,3],[931,3],[1091,3],[1099,3]]},"249":{"position":[[2068,3]]},"284":{"position":[[193,7],[362,3],[842,3],[1040,3]]},"360":{"position":[[64,3]]}}}],["rw",{"_index":1297,"t":{"228":{"position":[[627,2],[726,2]]}}}],["s",{"_index":315,"t":{"31":{"position":[[184,1],[199,1],[209,1],[220,1],[233,1],[1419,1],[1434,1],[1444,1],[1455,1],[1468,1]]},"66":{"position":[[365,1],[602,1]]},"68":{"position":[[200,1]]},"96":{"position":[[484,1]]},"108":{"position":[[195,1],[968,1],[1278,1]]},"114":{"position":[[460,1]]},"148":{"position":[[184,1],[199,1],[209,1],[220,1],[233,1],[1419,1],[1434,1],[1444,1],[1455,1],[1468,1]]},"182":{"position":[[7032,1],[9586,1]]},"197":{"position":[[206,1]]},"253":{"position":[[149,1]]},"276":{"position":[[813,1]]},"280":{"position":[[959,1]]},"284":{"position":[[591,1]]},"316":{"position":[[215,1]]},"321":{"position":[[621,1]]},"332":{"position":[[31,1]]},"401":{"position":[[242,1],[420,1],[604,1]]},"413":{"position":[[8,1],[323,1]]},"415":{"position":[[191,1],[773,1]]},"445":{"position":[[129,1]]}}}],["salon",{"_index":1846,"t":{"435":{"position":[[57,6]]}}}],["same",{"_index":1077,"t":{"182":{"position":[[5607,4],[5919,4]]},"273":{"position":[[131,4]]},"312":{"position":[[54,4],[366,4]]},"401":{"position":[[766,4]]}}}],["sampl",{"_index":1876,"t":{"456":{"position":[[1136,6],[2888,6]]}}}],["sample_data",{"_index":1875,"t":{"456":{"position":[[1136,11],[2888,11]]}}}],["satisfactori",{"_index":1822,"t":{"415":{"position":[[723,12]]}}}],["satisfi",{"_index":1222,"t":{"186":{"position":[[1438,9]]}}}],["save",{"_index":1408,"t":{"253":{"position":[[453,4]]},"264":{"position":[[705,4]]},"286":{"position":[[550,6]]},"401":{"position":[[228,4]]},"456":{"position":[[1257,4],[1315,5]]}}}],["scan",{"_index":1597,"t":{"280":{"position":[[989,4]]}}}],["scatter",{"_index":649,"t":{"68":{"position":[[23,7],[152,7],[382,7]]}}}],["scenario",{"_index":995,"t":{"182":{"position":[[577,9],[863,9],[3453,8]]},"299":{"position":[[309,9]]},"301":{"position":[[84,9]]},"310":{"position":[[1397,8]]},"450":{"position":[[5,8]]},"452":{"position":[[5,8]]},"454":{"position":[[5,8]]},"456":{"position":[[8,8],[184,8],[200,8],[330,8],[345,8],[1391,8],[1400,8],[1416,8],[1868,8],[1884,8],[2076,8],[2092,8],[2246,8],[2261,8],[2754,8],[2770,8]]},"458":{"position":[[8,8]]}}}],["scene",{"_index":563,"t":{"55":{"position":[[166,6],[237,6]]},"57":{"position":[[154,6],[225,6]]},"79":{"position":[[52,6]]},"81":{"position":[[47,5]]},"87":{"position":[[166,6],[237,6]]},"89":{"position":[[154,6],[225,6]]},"92":{"position":[[17,5]]},"104":{"position":[[191,6],[262,6]]},"106":{"position":[[179,6],[250,6]]},"259":{"position":[[177,5]]},"407":{"position":[[84,6]]},"411":{"position":[[180,6],[236,6]]},"413":{"position":[[564,6]]},"456":{"position":[[48,5],[54,5],[72,5],[89,5],[130,5],[159,5],[383,5],[396,5],[586,5],[599,5],[1267,5],[1280,5],[1491,5],[1514,5],[1534,5],[1552,5],[1566,5],[1584,5],[1604,5],[1651,5],[1687,5],[1708,5],[1714,5],[1732,5],[1752,5],[1793,5],[1839,5],[2293,5],[2306,5],[2525,5],[2538,5],[3038,5],[3051,5]]},"458":{"position":[[56,5],[69,5],[143,5],[156,5]]}}}],["schedul",{"_index":1564,"t":{"278":{"position":[[1041,9]]}}}],["scope",{"_index":1092,"t":{"182":{"position":[[7162,5]]},"266":{"position":[[859,5],[866,5]]},"316":{"position":[[345,5]]},"334":{"position":[[381,5],[1011,5],[1017,5],[1135,5]]}}}],["script",{"_index":826,"t":{"94":{"position":[[31,7]]},"184":{"position":[[2185,7],[2263,7],[2300,6]]},"231":{"position":[[968,6]]},"247":{"position":[[439,6],[455,6]]},"360":{"position":[[317,7]]}}}],["scroll",{"_index":1435,"t":{"262":{"position":[[85,9]]}}}],["sdk",{"_index":296,"t":{"29":{"position":[[264,3],[287,3]]},"146":{"position":[[264,3],[287,3]]}}}],["second",{"_index":1796,"t":{"401":{"position":[[442,6]]}}}],["secondli",{"_index":729,"t":{"83":{"position":[[162,8]]}}}],["section",{"_index":894,"t":{"108":{"position":[[153,8]]},"276":{"position":[[785,7]]},"332":{"position":[[336,7]]},"334":{"position":[[303,7],[1288,7],[1484,7],[1873,7],[2111,7]]}}}],["secur",{"_index":1551,"t":{"278":{"position":[[438,6]]}}}],["see",{"_index":1040,"t":{"182":{"position":[[3173,3]]},"310":{"position":[[1117,3]]},"417":{"position":[[57,3]]},"452":{"position":[[322,3],[505,3],[713,3]]},"454":{"position":[[130,3],[292,3],[629,3]]}}}],["seek",{"_index":905,"t":{"108":{"position":[[675,4]]}}}],["select",{"_index":944,"t":{"112":{"position":[[710,6],[783,6]]},"114":{"position":[[692,6]]},"182":{"position":[[2874,6],[2965,6]]},"186":{"position":[[1147,6]]},"259":{"position":[[116,6],[279,6],[761,8],[791,6],[841,9]]},"262":{"position":[[271,9]]},"264":{"position":[[492,6]]},"310":{"position":[[818,6],[909,6]]},"452":{"position":[[1586,6]]},"456":{"position":[[561,9],[664,9],[771,6],[848,8],[939,6],[1009,8],[1108,6],[2840,6]]},"458":{"position":[[187,6],[294,8]]}}}],["selecto",{"_index":1426,"t":{"259":{"position":[[566,7]]},"262":{"position":[[253,7]]}}}],["self",{"_index":851,"t":{"96":{"position":[[820,4]]},"411":{"position":[[413,4]]},"413":{"position":[[325,4]]}}}],["semant",{"_index":1116,"t":{"182":{"position":[[8337,9]]},"318":{"position":[[799,9]]}}}],["send",{"_index":364,"t":{"31":{"position":[[1163,4],[2162,4]]},"148":{"position":[[1163,4],[2162,4]]},"247":{"position":[[1319,4],[1798,4],[2284,4]]},"249":{"position":[[833,4],[1314,4],[1802,4]]},"264":{"position":[[547,4]]},"294":{"position":[[564,7],[894,7]]}}}],["send_messag",{"_index":363,"t":{"31":{"position":[[1163,12],[2162,12]]},"148":{"position":[[1163,12],[2162,12]]}}}],["sentenc",{"_index":606,"t":{"59":{"position":[[261,8]]},"96":{"position":[[911,8]]},"182":{"position":[[6578,8]]},"314":{"position":[[182,8]]},"334":{"position":[[1694,8]]}}}],["separ",{"_index":1078,"t":{"182":{"position":[[5631,9]]},"184":{"position":[[280,8],[2048,9],[2413,9]]},"312":{"position":[[78,9]]}}}],["seri",{"_index":659,"t":{"68":{"position":[[229,6]]},"278":{"position":[[583,6]]},"286":{"position":[[303,6]]},"294":{"position":[[1021,6]]}}}],["serial",{"_index":1557,"t":{"278":{"position":[[628,13]]},"452":{"position":[[90,6]]}}}],["seriou",{"_index":1783,"t":{"383":{"position":[[18,7]]}}}],["serv",{"_index":727,"t":{"83":{"position":[[149,5]]},"108":{"position":[[29,6]]},"401":{"position":[[710,6]]}}}],["server",{"_index":241,"t":{"26":{"position":[[115,6]]},"31":{"position":[[656,6],[1177,6],[1243,6],[1854,6],[1963,6],[2426,6],[2542,6]]},"33":{"position":[[60,6],[109,6],[140,6],[282,6],[346,6],[398,6]]},"45":{"position":[[116,6],[174,6]]},"49":{"position":[[235,6],[296,6]]},"130":{"position":[[116,6],[174,6]]},"134":{"position":[[235,6],[296,6]]},"144":{"position":[[115,6]]},"148":{"position":[[656,6],[1177,6],[1243,6],[1854,6],[1963,6],[2426,6],[2542,6]]},"150":{"position":[[60,6],[109,6],[140,6],[282,6],[346,6],[398,6]]},"195":{"position":[[12,6]]},"213":{"position":[[12,6]]},"228":{"position":[[619,6]]},"231":{"position":[[67,6],[671,6],[1009,6]]},"233":{"position":[[30,6]]},"235":{"position":[[30,6]]},"247":{"position":[[791,6],[813,6]]},"249":{"position":[[191,6],[226,6]]},"334":{"position":[[1085,6]]},"345":{"position":[[65,6]]},"360":{"position":[[259,6]]}}}],["server_nam",{"_index":1366,"t":{"247":{"position":[[813,11]]},"249":{"position":[[226,11]]}}}],["servertimezon",{"_index":1336,"t":{"233":{"position":[[209,14]]}}}],["servic",{"_index":1339,"t":{"233":{"position":[[296,7]]},"235":{"position":[[49,7],[82,7],[133,7]]},"247":{"position":[[48,7]]},"249":{"position":[[520,7],[2124,7]]},"253":{"position":[[374,7]]},"271":{"position":[[97,7],[155,8]]},"273":{"position":[[706,7],[779,7]]},"284":{"position":[[260,8],[345,8]]},"286":{"position":[[1248,7],[1312,7],[1528,7],[1794,7]]},"288":{"position":[[14,7]]},"290":{"position":[[188,7]]},"292":{"position":[[1555,7],[1594,8]]}}}],["session",{"_index":1885,"t":{"458":{"position":[[342,7]]}}}],["set",{"_index":640,"t":{"66":{"position":[[351,3],[395,3]]},"182":{"position":[[4296,3]]},"197":{"position":[[365,3]]},"231":{"position":[[233,3]]},"247":{"position":[[1028,3],[1057,3],[1098,3],[1140,3],[1183,3],[1343,3],[1383,3],[1507,3],[1536,3],[1577,3],[1619,3],[1662,3],[1822,3],[1862,3],[1993,3],[2022,3],[2063,3],[2105,3],[2148,3],[2308,3],[2348,3]]},"249":{"position":[[542,3],[571,3],[612,3],[654,3],[697,3],[857,3],[897,3],[1023,3],[1052,3],[1093,3],[1135,3],[1178,3],[1338,3],[1378,3],[1511,3],[1540,3],[1581,3],[1623,3],[1666,3],[1826,3],[1866,3]]},"266":{"position":[[655,7],[2164,7]]},"278":{"position":[[817,7]]},"280":{"position":[[219,8]]},"310":{"position":[[2240,3]]},"437":{"position":[[132,3]]},"456":{"position":[[1372,8]]}}}],["setlevel",{"_index":322,"t":{"31":{"position":[[281,8],[362,8],[427,8],[1516,8],[1597,8],[1662,8]]},"148":{"position":[[281,8],[362,8],[427,8],[1516,8],[1597,8],[1662,8]]}}}],["seven",{"_index":1722,"t":{"334":{"position":[[535,5]]}}}],["sever",{"_index":893,"t":{"108":{"position":[[145,7]]},"284":{"position":[[252,7]]}}}],["sh",{"_index":1345,"t":{"235":{"position":[[57,2],[70,2],[90,2],[102,2]]},"247":{"position":[[34,2],[508,2],[519,2]]},"251":{"position":[[102,2]]}}}],["shanghai",{"_index":1338,"t":{"233":{"position":[[229,8]]}}}],["share",{"_index":800,"t":{"85":{"position":[[974,5]]},"102":{"position":[[974,5]]},"108":{"position":[[653,5]]},"120":{"position":[[1054,5]]},"182":{"position":[[5597,5]]},"247":{"position":[[2452,5]]},"249":{"position":[[1970,5]]},"312":{"position":[[44,5]]},"421":{"position":[[113,7]]},"433":{"position":[[0,5]]},"437":{"position":[[111,7]]},"439":{"position":[[63,5]]},"441":{"position":[[153,5]]}}}],["shell",{"_index":1361,"t":{"247":{"position":[[449,5]]}}}],["show",{"_index":1015,"t":{"182":{"position":[[1597,4]]},"303":{"position":[[164,4]]},"327":{"position":[[790,5]]},"456":{"position":[[709,7],[1214,5],[2970,5]]},"458":{"position":[[282,7]]}}}],["showcas",{"_index":913,"t":{"108":{"position":[[1151,10]]}}}],["shown",{"_index":748,"t":{"83":{"position":[[605,5]]}}}],["side",{"_index":1103,"t":{"182":{"position":[[7685,4],[8162,4]]},"318":{"position":[[147,4],[624,4]]},"458":{"position":[[264,4]]}}}],["sidebar",{"_index":1648,"t":{"292":{"position":[[575,7]]}}}],["signup",{"_index":1201,"t":{"184":{"position":[[2467,6]]}}}],["simpl",{"_index":626,"t":{"66":{"position":[[20,6]]},"85":{"position":[[424,6]]},"102":{"position":[[424,6]]},"120":{"position":[[497,6]]},"182":{"position":[[8012,6]]},"282":{"position":[[1285,6]]},"290":{"position":[[22,6]]},"318":{"position":[[474,6]]}}}],["simpli",{"_index":1098,"t":{"182":{"position":[[7617,6]]},"318":{"position":[[79,6]]}}}],["sine",{"_index":634,"t":{"66":{"position":[[149,4],[324,4],[556,4]]}}}],["singl",{"_index":605,"t":{"59":{"position":[[254,6]]},"96":{"position":[[904,6]]},"334":{"position":[[325,6]]},"452":{"position":[[802,6],[1575,6]]}}}],["site",{"_index":1166,"t":{"184":{"position":[[918,4],[1043,4]]}}}],["situat",{"_index":718,"t":{"83":{"position":[[9,9]]},"334":{"position":[[1762,10]]}}}],["size",{"_index":642,"t":{"66":{"position":[[408,4]]},"68":{"position":[[428,4]]},"72":{"position":[[120,5]]},"182":{"position":[[8090,4]]},"221":{"position":[[111,4]]},"262":{"position":[[199,4]]},"318":{"position":[[552,4]]}}}],["ski",{"_index":679,"t":{"72":{"position":[[91,3]]}}}],["skip",{"_index":1391,"t":{"249":{"position":[[66,4]]},"353":{"position":[[94,4]]},"396":{"position":[[83,4]]},"398":{"position":[[83,4]]}}}],["sleep",{"_index":367,"t":{"31":{"position":[[1224,5],[2235,5]]},"148":{"position":[[1224,5],[2235,5]]}}}],["slide",{"_index":1873,"t":{"456":{"position":[[571,7],[674,7]]}}}],["slider",{"_index":1883,"t":{"458":{"position":[[136,6]]}}}],["snakemq",{"_index":219,"t":{"26":{"position":[[0,7],[85,7]]},"29":{"position":[[11,7],[71,7],[183,7],[346,7]]},"31":{"position":[[0,7],[25,7],[45,7],[69,7],[94,7],[515,7],[546,7],[590,7],[1054,7],[1235,7],[1260,7],[1280,7],[1304,7],[1329,7],[1750,7],[1781,7],[1825,7],[2053,7],[2316,7],[2346,7],[2361,7],[2390,7]]},"33":{"position":[[3,7],[119,7],[384,7],[459,7],[549,7],[578,7],[595,7]]},"35":{"position":[[4,7]]},"45":{"position":[[68,7],[99,7],[155,7]]},"49":{"position":[[187,7],[218,7],[277,7]]},"96":{"position":[[173,7]]},"130":{"position":[[68,7],[99,7],[155,7]]},"134":{"position":[[187,7],[218,7],[277,7]]},"144":{"position":[[0,7],[85,7]]},"146":{"position":[[11,7],[71,7],[183,7],[346,7]]},"148":{"position":[[0,7],[25,7],[45,7],[69,7],[94,7],[515,7],[546,7],[590,7],[1054,7],[1235,7],[1260,7],[1280,7],[1304,7],[1329,7],[1750,7],[1781,7],[1825,7],[2053,7],[2316,7],[2346,7],[2361,7],[2390,7]]},"150":{"position":[[3,7],[119,7],[384,7],[459,7],[549,7],[578,7],[595,7]]},"152":{"position":[[4,7]]},"294":{"position":[[804,7],[930,7],[1904,7]]},"347":{"position":[[93,7],[118,7]]}}}],["snakemq_connector",{"_index":528,"t":{"45":{"position":[[155,17]]},"49":{"position":[[277,17]]},"130":{"position":[[155,17]]},"134":{"position":[[277,17]]},"347":{"position":[[118,17]]}}}],["snakemq_listen",{"_index":527,"t":{"45":{"position":[[99,16]]},"49":{"position":[[218,16]]},"130":{"position":[[99,16]]},"134":{"position":[[218,16]]},"347":{"position":[[93,16]]}}}],["snaketmq",{"_index":378,"t":{"31":{"position":[[2286,8],[2477,8],[2565,8],[2606,8]]},"148":{"position":[[2286,8],[2477,8],[2565,8],[2606,8]]}}}],["softwar",{"_index":1159,"t":{"184":{"position":[[115,8]]},"427":{"position":[[106,8]]},"439":{"position":[[203,8]]}}}],["solid",{"_index":58,"t":{"6":{"position":[[8,5]]},"160":{"position":[[8,5]]}}}],["solideditor",{"_index":1412,"t":{"259":{"position":[[78,11],[398,11]]},"262":{"position":[[0,11]]},"264":{"position":[[576,11]]}}}],["solidshowengin",{"_index":1452,"t":{"262":{"position":[[816,15]]}}}],["solidui",{"_index":8,"t":{"2":{"position":[[20,7],[73,7],[138,7],[241,7]]},"4":{"position":[[16,7],[69,7],[134,7],[237,7]]},"6":{"position":[[0,7]]},"22":{"position":[[20,7],[73,7],[138,7],[247,7],[290,7]]},"24":{"position":[[16,7],[69,7],[134,7],[243,7],[286,7]]},"26":{"position":[[52,7]]},"29":{"position":[[292,7]]},"35":{"position":[[18,7],[92,7]]},"37":{"position":[[100,7],[199,7],[224,7],[309,7]]},"39":{"position":[[20,7],[73,7],[138,7],[247,7],[290,7]]},"41":{"position":[[16,7],[69,7],[134,7],[243,7],[286,7]]},"49":{"position":[[50,7]]},"51":{"position":[[68,7]]},"53":{"position":[[100,7],[199,7],[224,7],[309,7]]},"55":{"position":[[78,7],[245,7],[484,7],[664,7],[719,7],[782,7]]},"57":{"position":[[66,7],[233,7],[472,7],[652,7],[707,7],[770,7]]},"59":{"position":[[33,7]]},"61":{"position":[[86,7]]},"83":{"position":[[24,7],[403,7],[583,7],[675,7]]},"85":{"position":[[363,7],[601,7],[668,7],[897,7]]},"87":{"position":[[78,7],[245,7],[484,7],[664,7],[719,7],[782,7]]},"89":{"position":[[66,7],[233,7],[472,7],[652,7],[707,7],[770,7]]},"96":{"position":[[59,7],[153,7],[259,7],[336,7],[393,7],[519,7],[567,7],[612,7],[646,7],[704,7],[739,7],[793,7],[837,7],[865,7]]},"98":{"position":[[51,7],[119,7],[172,7],[331,7]]},"100":{"position":[[15,7],[86,7]]},"102":{"position":[[363,7],[601,7],[668,7],[897,7]]},"104":{"position":[[78,7],[270,7],[471,7],[653,7],[709,7],[772,7],[850,7]]},"106":{"position":[[66,7],[258,7],[459,7],[641,7],[697,7],[760,7],[838,7]]},"108":{"position":[[4,7],[108,7],[187,7],[421,7],[468,7],[601,7],[739,7],[960,7],[1071,7],[1115,7],[1162,7],[1270,7],[1303,7],[1364,7],[1418,7],[1496,7]]},"112":{"position":[[193,7],[610,7],[971,7]]},"114":{"position":[[21,7],[194,7],[263,7],[452,7],[956,7],[1089,7]]},"116":{"position":[[19,7],[113,7]]},"120":{"position":[[40,7],[434,7],[669,7],[736,7],[977,7]]},"126":{"position":[[16,7],[69,7],[134,7],[243,7],[286,7]]},"134":{"position":[[50,7]]},"136":{"position":[[68,7]]},"138":{"position":[[100,7],[199,7],[224,7],[309,7]]},"142":{"position":[[16,7],[69,7],[134,7],[243,7],[286,7]]},"144":{"position":[[52,7]]},"146":{"position":[[292,7]]},"152":{"position":[[18,7],[92,7]]},"154":{"position":[[100,7],[199,7],[224,7],[309,7]]},"158":{"position":[[16,7],[69,7],[134,7],[237,7]]},"160":{"position":[[0,7]]},"182":{"position":[[128,7],[1521,7],[1678,7],[1714,7],[1809,7],[1975,7],[2060,7],[2555,7],[2567,7],[2680,7],[3842,7],[3899,7],[4008,7],[5340,7],[5589,7],[5712,7],[5786,7],[6177,7],[9037,7],[9198,7],[9552,7],[9689,7],[10010,7],[10151,7],[10294,7],[10513,7]]},"184":{"position":[[163,7],[245,7],[483,7],[720,7],[2997,7],[3208,7],[3375,7]]},"186":{"position":[[98,7],[534,7],[640,7],[1587,7]]},"193":{"position":[[40,7],[92,7]]},"195":{"position":[[58,7],[86,7]]},"197":{"position":[[330,7],[346,7]]},"211":{"position":[[56,7]]},"213":{"position":[[51,7],[82,7],[103,7]]},"215":{"position":[[38,7],[240,7],[281,7]]},"221":{"position":[[35,7]]},"228":{"position":[[86,7],[268,7],[365,7],[437,7],[814,7]]},"231":{"position":[[40,7],[89,7],[207,7],[338,7],[644,7],[693,7],[724,7],[982,7],[1031,7]]},"233":{"position":[[3,7],[148,7],[321,7],[439,7],[468,7]]},"235":{"position":[[3,7],[144,7]]},"243":{"position":[[86,7],[252,7],[271,7],[321,7],[335,7]]},"247":{"position":[[40,7],[64,7],[126,7],[194,7],[322,7],[387,7],[574,7],[606,7],[743,7],[859,7],[867,7],[950,7],[972,7],[1014,7],[1426,7],[1455,7],[1905,7],[1934,7]]},"249":{"position":[[159,7],[338,7],[346,7],[465,7],[512,7],[940,7],[1421,7],[2087,7],[2095,7]]},"251":{"position":[[22,7],[37,7],[56,7],[106,7]]},"253":{"position":[[103,7],[405,7]]},"256":{"position":[[26,7]]},"266":{"position":[[0,7],[402,7],[609,7],[1065,7],[1265,7],[1488,7],[1698,7],[1948,7],[2133,7]]},"268":{"position":[[17,7],[61,7],[150,7],[214,7],[286,7],[332,7],[405,7],[459,7],[496,7],[589,7],[632,7],[696,7],[735,7]]},"273":{"position":[[0,7],[161,7],[249,7],[348,7],[501,7],[566,7],[698,7],[757,7],[873,7]]},"276":{"position":[[261,7],[297,7]]},"280":{"position":[[22,7]]},"282":{"position":[[22,7],[1792,7],[1856,7],[1885,7]]},"284":{"position":[[22,7],[282,7],[300,7]]},"286":{"position":[[21,7]]},"292":{"position":[[1440,7],[1461,7]]},"296":{"position":[[36,7]]},"303":{"position":[[88,7]]},"305":{"position":[[4,7],[40,7],[135,7]]},"307":{"position":[[145,7]]},"310":{"position":[[4,7],[499,7],[511,7],[624,7],[1786,7],[1843,7],[1952,7],[3284,7]]},"312":{"position":[[36,7],[159,7],[233,7],[624,7]]},"321":{"position":[[72,7],[233,7],[587,7],[724,7]]},"323":{"position":[[70,7],[211,7],[354,7],[573,7]]},"327":{"position":[[851,7]]},"334":{"position":[[2169,7]]},"339":{"position":[[226,7],[375,7],[417,7],[456,7]]},"342":{"position":[[101,7],[267,7]]},"345":{"position":[[10,7],[38,7],[111,7]]},"347":{"position":[[10,7],[38,7]]},"349":{"position":[[10,7],[38,7],[56,7],[107,7]]},"355":{"position":[[103,7],[220,7]]},"358":{"position":[[101,7],[115,7]]},"373":{"position":[[237,7]]},"388":{"position":[[47,7],[86,7],[171,7]]},"394":{"position":[[103,7],[220,7]]},"396":{"position":[[3,7]]},"398":{"position":[[3,7]]},"401":{"position":[[61,7],[358,7],[823,7]]},"407":{"position":[[177,7]]},"411":{"position":[[66,7],[244,7],[459,7]]},"413":{"position":[[0,7],[315,7]]},"415":{"position":[[0,7],[765,7]]},"417":{"position":[[41,7],[61,7]]},"419":{"position":[[75,7]]},"421":{"position":[[40,7]]},"423":{"position":[[34,7],[95,7]]},"427":{"position":[[548,7]]}}}],["solidui_datasourc",{"_index":1463,"t":{"266":{"position":[[0,18]]},"268":{"position":[[17,18]]}}}],["solidui_datasource_typ",{"_index":1476,"t":{"266":{"position":[[402,23]]},"268":{"position":[[61,23],[150,23]]}}}],["solidui_datasource_type_key",{"_index":1480,"t":{"266":{"position":[[609,27]]},"268":{"position":[[214,27]]}}}],["solidui_ipaddr",{"_index":1358,"t":{"247":{"position":[[322,14]]},"251":{"position":[[22,14],[106,14]]}}}],["solidui_job_el",{"_index":1492,"t":{"266":{"position":[[1065,19]]},"268":{"position":[[286,19],[459,19]]}}}],["solidui_job_element_pag",{"_index":1497,"t":{"266":{"position":[[1265,24]]},"268":{"position":[[405,24]]}}}],["solidui_job_pag",{"_index":1500,"t":{"266":{"position":[[1488,16]]},"268":{"position":[[496,16],[589,16]]}}}],["solidui_model_typ",{"_index":1247,"t":{"197":{"position":[[346,18]]},"231":{"position":[[338,18],[724,18]]},"266":{"position":[[2133,18]]}}}],["solidui_mysql",{"_index":1312,"t":{"231":{"position":[[89,13],[693,13],[1031,13]]}}}],["solidui_port",{"_index":1360,"t":{"247":{"position":[[387,12]]},"251":{"position":[[37,12],[56,12]]}}}],["solidui_project",{"_index":1503,"t":{"266":{"position":[[1698,15]]},"268":{"position":[[332,15],[632,15],[696,15]]}}}],["solidui_url",{"_index":1350,"t":{"247":{"position":[[64,11],[972,11]]}}}],["solidui_url_kernel",{"_index":1355,"t":{"247":{"position":[[194,18],[1934,18]]}}}],["solidui_url_model",{"_index":1353,"t":{"247":{"position":[[126,18],[1455,18]]}}}],["solidui_us",{"_index":1506,"t":{"266":{"position":[[1948,12]]},"268":{"position":[[735,12]]}}}],["soliduimodelui",{"_index":233,"t":{"26":{"position":[[67,14]]},"29":{"position":[[302,14]]},"45":{"position":[[79,14],[135,14]]},"49":{"position":[[120,14],[167,14],[198,14],[257,14],[311,14]]},"130":{"position":[[79,14],[135,14]]},"134":{"position":[[120,14],[167,14],[198,14],[257,14],[311,14]]},"144":{"position":[[67,14]]},"146":{"position":[[302,14]]},"233":{"position":[[339,14]]},"273":{"position":[[973,14]]},"284":{"position":[[323,14]]},"347":{"position":[[73,14],[136,14],[169,14],[205,14]]}}}],["solidview",{"_index":1411,"t":{"259":{"position":[[62,9],[106,9],[244,9],[770,9],[781,9]]},"262":{"position":[[296,9],[369,10],[455,9],[584,10],[648,9],[734,9]]},"264":{"position":[[35,9],[87,9],[173,9],[645,9],[730,9]]},"292":{"position":[[1168,9]]}}}],["solut",{"_index":1794,"t":{"401":{"position":[[175,9]]},"439":{"position":[[226,9]]}}}],["solv",{"_index":802,"t":{"85":{"position":[[1008,5]]},"96":{"position":[[551,7]]},"102":{"position":[[1008,5]]},"120":{"position":[[1088,5]]},"182":{"position":[[8811,5]]},"318":{"position":[[1273,5]]},"403":{"position":[[206,5]]},"427":{"position":[[294,7]]}}}],["soon",{"_index":1168,"t":{"184":{"position":[[1274,4]]}}}],["sort",{"_index":768,"t":{"85":{"position":[[413,6]]},"102":{"position":[[413,6]]}}}],["sourc",{"_index":783,"t":{"85":{"position":[[681,6]]},"96":{"position":[[129,6],[195,6],[455,6]]},"102":{"position":[[681,6]]},"120":{"position":[[749,6]]},"182":{"position":[[2068,6],[6446,6],[6867,6]]},"193":{"position":[[77,6]]},"211":{"position":[[13,6]]},"231":{"position":[[975,6]]},"259":{"position":[[721,6]]},"266":{"position":[[25,6],[78,6],[120,6],[169,6],[212,6],[348,6],[432,6],[479,6],[643,6],[698,6],[720,6],[741,6]]},"268":{"position":[[9,6],[48,6],[137,6],[196,6]]},"273":{"position":[[421,6],[492,7]]},"286":{"position":[[334,7],[370,6],[466,6],[914,6],[950,6],[1444,6]]},"292":{"position":[[425,6],[695,6],[1049,7]]},"310":{"position":[[12,6]]},"314":{"position":[[50,6]]},"316":{"position":[[50,6]]},"327":{"position":[[276,6]]},"355":{"position":[[21,6],[148,6]]},"369":{"position":[[27,6]]},"392":{"position":[[228,6]]},"394":{"position":[[21,6],[148,6]]},"407":{"position":[[113,7]]},"427":{"position":[[99,6]]},"439":{"position":[[196,6]]},"452":{"position":[[71,7],[110,6],[128,6],[208,6],[220,6],[238,6],[345,6],[364,6],[391,6],[403,6],[421,6],[528,6],[547,6],[569,6],[597,6],[631,6],[733,6],[764,6],[790,6],[835,6],[899,6],[946,6],[967,6],[1069,6],[1109,6],[1127,6],[1242,6],[1282,6],[1300,6],[1408,6],[1560,6],[1598,6]]},"456":{"position":[[726,6],[744,6],[783,6],[800,6],[833,6],[884,6],[951,6],[963,6],[999,6]]}}}],["space",{"_index":814,"t":{"92":{"position":[[182,6]]},"407":{"position":[[141,5]]}}}],["specif",{"_index":641,"t":{"66":{"position":[[399,8]]},"96":{"position":[[44,14]]},"184":{"position":[[1985,13],[3514,13]]},"262":{"position":[[423,8],[866,8]]},"282":{"position":[[192,8],[721,8],[1576,8],[1690,8]]},"286":{"position":[[1824,8]]},"292":{"position":[[2109,13]]},"325":{"position":[[68,13]]},"332":{"position":[[289,8]]},"334":{"position":[[2064,8]]},"413":{"position":[[131,8]]}}}],["specifi",{"_index":1533,"t":{"276":{"position":[[928,10]]},"373":{"position":[[22,9],[60,9]]}}}],["spi",{"_index":1522,"t":{"273":{"position":[[765,3],[774,3]]},"290":{"position":[[183,3]]}}}],["spiral",{"_index":670,"t":{"70":{"position":[[16,6]]}}}],["sponsor",{"_index":1836,"t":{"427":{"position":[[673,7]]}}}],["spring",{"_index":1595,"t":{"280":{"position":[[906,6],[947,6]]}}}],["springconnectionfactori",{"_index":1566,"t":{"280":{"position":[[121,23]]}}}],["sql",{"_index":193,"t":{"20":{"position":[[125,3],[212,3],[223,3],[233,3]]},"174":{"position":[[125,3],[212,3],[223,3],[233,3]]},"231":{"position":[[79,3],[103,3],[683,3],[707,3],[1021,3],[1045,3]]},"286":{"position":[[975,3]]},"456":{"position":[[755,3],[1050,3],[1082,3],[1102,3],[1153,3],[1245,3],[2734,3],[2834,3],[2901,3],[3005,3]]}}}],["sqlsessionfactori",{"_index":1570,"t":{"280":{"position":[[276,17]]}}}],["squar",{"_index":646,"t":{"66":{"position":[[568,6],[604,7]]}}}],["squash",{"_index":1065,"t":{"182":{"position":[[5008,6],[6057,6]]},"310":{"position":[[2952,6]]},"312":{"position":[[504,6]]}}}],["src",{"_index":1176,"t":{"184":{"position":[[1666,3],[2676,3],[3025,3],[3240,3]]},"396":{"position":[[17,3]]},"398":{"position":[[17,3]]}}}],["stabl",{"_index":1025,"t":{"182":{"position":[[2203,6],[8313,6]]},"310":{"position":[[147,6]]},"318":{"position":[[775,6]]}}}],["stage",{"_index":1675,"t":{"292":{"position":[[2216,6]]},"401":{"position":[[449,5],[494,5]]}}}],["standalon",{"_index":1891,"t":{"461":{"position":[[40,10]]}}}],["standard",{"_index":653,"t":{"68":{"position":[[108,8]]}}}],["stanford",{"_index":697,"t":{"74":{"position":[[22,8],[66,8]]}}}],["star",{"_index":1835,"t":{"427":{"position":[[665,4]]}}}],["start",{"_index":692,"t":{"72":{"position":[[299,8]]},"85":{"position":[[443,5]]},"98":{"position":[[138,5],[210,5]]},"102":{"position":[[443,5]]},"120":{"position":[[516,5]]},"182":{"position":[[5664,8]]},"184":{"position":[[813,5],[935,5]]},"235":{"position":[[39,5],[64,5]]},"249":{"position":[[2118,5]]},"253":{"position":[[194,6],[435,7]]},"273":{"position":[[660,5]]},"280":{"position":[[941,5]]},"294":{"position":[[643,8],[707,6],[1583,5]]},"312":{"position":[[111,8]]},"334":{"position":[[1888,5]]},"383":{"position":[[140,5]]},"409":{"position":[[6,5]]},"461":{"position":[[29,5],[59,5],[85,5]]}}}],["state",{"_index":1126,"t":{"182":{"position":[[8618,5],[9318,5]]},"278":{"position":[[1011,5]]},"292":{"position":[[1097,5]]},"294":{"position":[[478,6]]},"318":{"position":[[1080,5]]},"321":{"position":[[353,5]]},"330":{"position":[[31,5]]},"456":{"position":[[3157,5]]}}}],["statement",{"_index":1604,"t":{"282":{"position":[[343,10],[872,10]]},"456":{"position":[[1060,9],[1092,9],[1163,9],[2744,9],[2915,9]]}}}],["static",{"_index":1160,"t":{"184":{"position":[[524,6],[1060,6],[1114,6],[1809,6],[1827,6],[2375,6],[2611,6],[3481,6],[3589,6]]},"247":{"position":[[887,6]]},"253":{"position":[[34,6]]},"360":{"position":[[252,6]]}}}],["statu",{"_index":355,"t":{"31":{"position":[[1099,6]]},"148":{"position":[[1099,6]]},"182":{"position":[[362,6]]},"215":{"position":[[11,6]]},"266":{"position":[[1924,6],[1940,6]]},"299":{"position":[[94,6]]}}}],["step",{"_index":943,"t":{"112":{"position":[[579,5]]},"353":{"position":[[5,4]]},"358":{"position":[[213,4]]},"401":{"position":[[207,4],[392,4]]},"415":{"position":[[266,5]]}}}],["step1",{"_index":1034,"t":{"182":{"position":[[2839,5],[3690,5],[4354,5]]},"310":{"position":[[783,5],[1634,5],[2298,5]]}}}],["step2",{"_index":1035,"t":{"182":{"position":[[2906,5],[3854,5],[4641,5]]},"310":{"position":[[850,5],[1798,5],[2585,5]]}}}],["step3",{"_index":1051,"t":{"182":{"position":[[3907,5],[4858,5]]},"310":{"position":[[1851,5],[2802,5]]}}}],["step4",{"_index":1053,"t":{"182":{"position":[[4020,5],[5135,5]]},"310":{"position":[[1964,5],[3079,5]]}}}],["step5",{"_index":1054,"t":{"182":{"position":[[4098,5],[5157,5]]},"310":{"position":[[2042,5],[3101,5]]}}}],["step6",{"_index":1057,"t":{"182":{"position":[[4231,5],[5397,5]]},"310":{"position":[[2175,5],[3341,5]]}}}],["step7",{"_index":1073,"t":{"182":{"position":[[5424,5]]},"310":{"position":[[3368,5]]}}}],["stomp",{"_index":270,"t":{"29":{"position":[[81,5]]},"146":{"position":[[81,5]]}}}],["stop",{"_index":1346,"t":{"235":{"position":[[97,4]]}}}],["strategi",{"_index":766,"t":{"85":{"position":[[325,8]]},"102":{"position":[[325,8]]},"120":{"position":[[396,8]]}}}],["streamhandl",{"_index":327,"t":{"31":{"position":[[330,13],[1565,13]]},"148":{"position":[[330,13],[1565,13]]}}}],["streampark",{"_index":975,"t":{"118":{"position":[[14,10]]}}}],["string",{"_index":1541,"t":{"278":{"position":[[208,6],[542,6]]},"452":{"position":[[999,6],[1153,6],[1326,6]]},"454":{"position":[[500,6],[587,6],[754,6]]}}}],["structur",{"_index":1020,"t":{"182":{"position":[[2045,9],[10798,9]]},"184":{"position":[[1182,9],[2095,9],[3504,9]]},"228":{"position":[[476,9]]},"280":{"position":[[467,9]]},"334":{"position":[[1558,9]]}}}],["studi",{"_index":1841,"t":{"433":{"position":[[51,7]]}}}],["style",{"_index":1182,"t":{"184":{"position":[[1798,6],[2195,6],[2249,6],[2309,5],[2646,5],[3136,5]]},"259":{"position":[[709,5]]},"292":{"position":[[1432,6]]},"334":{"position":[[617,5],[944,5]]},"447":{"position":[[21,5]]}}}],["subject",{"_index":1093,"t":{"182":{"position":[[7172,7]]},"316":{"position":[[355,7]]},"334":{"position":[[403,7],[447,7],[1175,7],[1183,7]]}}}],["submiss",{"_index":1081,"t":{"182":{"position":[[6373,10],[6794,10],[10845,10],[10889,10]]},"403":{"position":[[313,10]]}}}],["submit",{"_index":764,"t":{"85":{"position":[[255,6],[827,6]]},"102":{"position":[[255,6],[827,6]]},"108":{"position":[[869,6],[985,6],[1009,10],[1041,6]]},"110":{"position":[[55,6],[110,9]]},"112":{"position":[[78,9],[143,6],[423,6],[442,6],[471,10],[898,9]]},"114":{"position":[[230,6],[497,10],[613,6],[648,10],[1019,6]]},"120":{"position":[[330,6]]},"182":{"position":[[5025,9],[5163,6],[6074,9],[7081,6],[9010,9],[9848,9],[10376,9]]},"184":{"position":[[0,6],[3423,6]]},"186":{"position":[[0,6],[13,6],[25,6],[289,9],[987,6],[1061,6]]},"310":{"position":[[2969,9],[3107,6]]},"312":{"position":[[521,9]]},"316":{"position":[[264,6]]},"321":{"position":[[45,9],[883,9]]},"323":{"position":[[436,9]]},"339":{"position":[[45,6],[197,6],[335,6]]},"401":{"position":[[469,6],[577,6]]},"421":{"position":[[57,6]]}}}],["submitt",{"_index":1124,"t":{"182":{"position":[[8570,9]]},"318":{"position":[[1032,9]]}}}],["submodul",{"_index":1532,"t":{"276":{"position":[[909,10],[978,9]]},"282":{"position":[[1815,9]]}}}],["subprocess",{"_index":1680,"t":{"294":{"position":[[669,12],[742,10]]}}}],["subscrib",{"_index":1418,"t":{"259":{"position":[[449,9]]},"264":{"position":[[601,10]]}}}],["subsequ",{"_index":1064,"t":{"182":{"position":[[4981,10],[6030,10]]},"310":{"position":[[2925,10]]},"312":{"position":[[477,10]]}}}],["success",{"_index":1623,"t":{"286":{"position":[[232,10]]},"450":{"position":[[96,10]]},"452":{"position":[[878,10],[1613,7]]},"454":{"position":[[400,10]]},"456":{"position":[[1443,10],[2443,7],[3115,10]]}}}],["successfulli",{"_index":1766,"t":{"360":{"position":[[110,12]]},"452":{"position":[[300,12],[483,12],[691,12]]},"454":{"position":[[108,12],[270,12],[607,12]]},"456":{"position":[[106,12],[262,12],[479,12],[695,12],[857,12],[1018,12],[1184,12],[1321,12],[1627,12],[1769,12],[1994,12],[2157,12],[2628,12],[2937,12]]}}}],["such",{"_index":968,"t":{"114":{"position":[[734,4]]},"182":{"position":[[3728,4],[4453,4],[5291,4]]},"259":{"position":[[353,4]]},"262":{"position":[[176,4]]},"276":{"position":[[153,4],[670,4]]},"278":{"position":[[809,4],[940,4]]},"280":{"position":[[229,4]]},"282":{"position":[[1378,4],[1481,4],[1608,4]]},"284":{"position":[[447,4]]},"286":{"position":[[343,4],[542,4],[673,4],[880,4],[1098,4],[1414,4],[1573,4]]},"292":{"position":[[1346,4],[1697,4]]},"294":{"position":[[886,4],[1057,4],[1296,4],[1454,4],[1700,4],[2101,4]]},"310":{"position":[[1672,4],[2397,4],[3235,4]]},"334":{"position":[[1077,4]]},"376":{"position":[[119,4]]},"413":{"position":[[545,4]]}}}],["sudo",{"_index":1362,"t":{"247":{"position":[[476,4],[503,4]]},"249":{"position":[[74,4],[133,4],[2133,4]]},"253":{"position":[[137,4],[316,4]]},"256":{"position":[[0,4]]}}}],["suggest",{"_index":809,"t":{"85":{"position":[[1157,11]]},"102":{"position":[[1157,11]]},"114":{"position":[[578,11]]},"120":{"position":[[1237,11]]},"182":{"position":[[6560,10]]},"314":{"position":[[164,10]]},"421":{"position":[[22,11]]}}}],["suitabl",{"_index":773,"t":{"85":{"position":[[488,8]]},"102":{"position":[[488,8]]},"120":{"position":[[561,8]]},"327":{"position":[[185,8]]},"334":{"position":[[1126,8]]}}}],["sum",{"_index":648,"t":{"66":{"position":[[587,3]]}}}],["sun",{"_index":1789,"t":{"392":{"position":[[73,3]]}}}],["support",{"_index":593,"t":{"59":{"position":[[59,8]]},"92":{"position":[[91,7],[124,7],[161,7],[220,7],[331,7],[367,7],[422,7],[472,7],[528,7],[580,7],[641,7]]},"112":{"position":[[112,8]]},"114":{"position":[[342,8]]},"118":{"position":[[57,7]]},"231":{"position":[[384,9]]},"392":{"position":[[93,9]]},"407":{"position":[[91,7],[121,7],[147,7],[169,7],[191,7]]},"427":{"position":[[30,7],[180,7],[602,7]]},"445":{"position":[[414,7]]}}}],["suppos",{"_index":1397,"t":{"249":{"position":[[2019,7]]}}}],["sure",{"_index":1005,"t":{"182":{"position":[[1087,4],[4564,4]]},"301":{"position":[[308,4]]},"310":{"position":[[2508,4]]}}}],["surfac",{"_index":627,"t":{"66":{"position":[[30,7],[68,7],[248,7],[501,7],[541,7]]},"182":{"position":[[8199,7]]},"318":{"position":[[661,7]]}}}],["svc",{"_index":1269,"t":{"215":{"position":[[82,3],[236,3]]}}}],["synchron",{"_index":1033,"t":{"182":{"position":[[2748,11],[3092,11],[3188,11],[3284,11],[3372,11],[4104,11],[4647,11],[4769,11]]},"186":{"position":[[843,11]]},"310":{"position":[[692,11],[1036,11],[1132,11],[1228,11],[1316,11],[2048,11],[2591,11],[2713,11]]}}}],["system",{"_index":1777,"t":{"376":{"position":[[74,7],[91,6]]},"401":{"position":[[621,6]]},"427":{"position":[[245,6]]}}}],["systemctl",{"_index":1398,"t":{"249":{"position":[[2138,9]]}}}],["t",{"_index":392,"t":{"31":{"position":[[2475,1]]},"98":{"position":[[271,1]]},"148":{"position":[[2475,1]]},"182":{"position":[[6407,1],[6828,1]]},"253":{"position":[[328,1]]},"314":{"position":[[11,1]]},"316":{"position":[[11,1]]},"327":{"position":[[636,1]]},"345":{"position":[[109,1]]},"347":{"position":[[203,1]]},"349":{"position":[[105,1]]}}}],["tabl",{"_index":1321,"t":{"231":{"position":[[332,5]]},"268":{"position":[[816,6]]},"280":{"position":[[485,5],[783,6]]},"282":{"position":[[299,6],[828,6]]},"286":{"position":[[936,5]]}}}],["tag",{"_index":855,"t":{"98":{"position":[[68,3]]},"182":{"position":[[684,4],[1255,4],[1350,4],[9763,4]]},"299":{"position":[[416,4]]},"301":{"position":[[476,4],[571,4]]},"321":{"position":[[798,4]]},"371":{"position":[[4,3]]},"388":{"position":[[148,3]]}}}],["take",{"_index":1234,"t":{"195":{"position":[[20,4]]},"213":{"position":[[20,4]]},"276":{"position":[[1052,4]]}}}],["tar",{"_index":1232,"t":{"193":{"position":[[110,3]]},"195":{"position":[[48,3],[76,3]]},"228":{"position":[[383,3],[427,3],[455,3]]},"243":{"position":[[261,3],[289,3]]},"345":{"position":[[0,3],[28,3]]},"347":{"position":[[0,3],[28,3]]},"349":{"position":[[0,3],[28,3]]}}}],["target",{"_index":1027,"t":{"182":{"position":[[2280,6]]},"264":{"position":[[638,6]]},"310":{"position":[[224,6]]}}}],["task",{"_index":771,"t":{"85":{"position":[[449,5],[562,4]]},"102":{"position":[[449,5],[562,4]]},"120":{"position":[[522,5],[630,4]]},"278":{"position":[[1051,4]]}}}],["team",{"_index":911,"t":{"108":{"position":[[1088,4],[1123,4]]},"182":{"position":[[1133,4]]},"184":{"position":[[1757,4],[2746,4],[3142,4],[3224,4],[3250,4],[3257,4],[3674,4]]},"186":{"position":[[1430,4]]},"301":{"position":[[354,4]]},"401":{"position":[[297,4],[665,4]]},"403":{"position":[[158,5],[351,4]]}}}],["technic",{"_index":746,"t":{"83":{"position":[[557,9]]},"433":{"position":[[15,9]]},"435":{"position":[[47,9],[130,9]]},"437":{"position":[[249,9]]},"439":{"position":[[93,9],[216,9]]}}}],["techniqu",{"_index":846,"t":{"96":{"position":[[602,9]]}}}],["technolog",{"_index":801,"t":{"85":{"position":[[980,10]]},"102":{"position":[[980,10]]},"120":{"position":[[1060,10]]},"433":{"position":[[134,12]]},"441":{"position":[[274,12]]}}}],["temporari",{"_index":1021,"t":{"182":{"position":[[2098,9]]},"310":{"position":[[42,9]]}}}],["tens",{"_index":1739,"t":{"334":{"position":[[1584,5]]}}}],["term",{"_index":1837,"t":{"431":{"position":[[6,5]]},"445":{"position":[[275,5]]}}}],["termin",{"_index":1762,"t":{"358":{"position":[[37,8]]},"360":{"position":[[37,8]]}}}],["test",{"_index":379,"t":{"31":{"position":[[2295,4],[2486,4],[2574,4],[2615,4]]},"108":{"position":[[358,4]]},"148":{"position":[[2295,4],[2486,4],[2574,4],[2615,4]]},"182":{"position":[[970,4],[5325,4],[8041,4],[8052,4]]},"292":{"position":[[2157,7]]},"301":{"position":[[191,4]]},"310":{"position":[[3269,4]]},"318":{"position":[[503,4],[514,4]]},"334":{"position":[[755,4],[768,5],[961,4]]},"339":{"position":[[562,5],[669,7]]},"396":{"position":[[78,4]]},"398":{"position":[[78,4]]},"441":{"position":[[117,4]]},"450":{"position":[[0,4]]},"452":{"position":[[0,4]]},"454":{"position":[[0,4]]},"456":{"position":[[3,4],[67,4],[125,4],[195,4],[225,4],[281,4],[340,4],[391,4],[413,4],[529,4],[594,4],[616,4],[1275,4],[1297,4],[1411,4],[1547,4],[1579,4],[1646,4],[1727,4],[1788,4],[1879,4],[1918,4],[1948,4],[2009,4],[2087,4],[2117,4],[2176,4],[2256,4],[2301,4],[2323,4],[2495,4],[2533,4],[2555,4],[2688,4],[2765,4],[2790,4],[3046,4],[3068,4]]},"458":{"position":[[3,4],[46,4],[64,4],[86,4],[111,4],[151,4],[173,4]]}}}],["tester",{"_index":1755,"t":{"339":{"position":[[626,7]]}}}],["text",{"_index":555,"t":{"55":{"position":[[72,4],[408,4],[478,4],[582,4]]},"57":{"position":[[60,4],[396,4],[466,4],[570,4]]},"61":{"position":[[189,4]]},"83":{"position":[[357,4]]},"87":{"position":[[72,4],[408,4],[478,4],[582,4]]},"89":{"position":[[60,4],[396,4],[466,4],[570,4]]},"104":{"position":[[72,4],[392,4],[439,4],[571,4]]},"106":{"position":[[60,4],[380,4],[427,4],[559,4]]},"182":{"position":[[2621,4]]},"310":{"position":[[565,4]]},"411":{"position":[[60,4],[557,4]]},"413":{"position":[[210,4],[275,4],[468,4],[631,4]]}}}],["thank",{"_index":873,"t":{"100":{"position":[[108,5]]},"108":{"position":[[1190,8]]},"116":{"position":[[132,6]]},"118":{"position":[[0,6]]},"182":{"position":[[97,6]]},"296":{"position":[[5,6]]},"425":{"position":[[0,6]]},"445":{"position":[[395,5]]}}}],["theme",{"_index":1171,"t":{"184":{"position":[[1560,5]]},"292":{"position":[[1402,5],[1426,5]]}}}],["themselv",{"_index":763,"t":{"85":{"position":[[232,10]]},"102":{"position":[[232,10]]},"120":{"position":[[307,10]]},"403":{"position":[[224,10]]}}}],["thereaft",{"_index":1771,"t":{"367":{"position":[[218,10]]}}}],["therefor",{"_index":1709,"t":{"327":{"position":[[840,9]]}}}],["think",{"_index":839,"t":{"96":{"position":[[413,8]]}}}],["third",{"_index":1658,"t":{"292":{"position":[[1674,5]]}}}],["those",{"_index":997,"t":{"182":{"position":[[693,5]]},"299":{"position":[[425,5]]}}}],["thought",{"_index":849,"t":{"96":{"position":[[768,7]]}}}],["thread",{"_index":1561,"t":{"278":{"position":[[959,6],[988,6]]},"381":{"position":[[133,6]]}}}],["three",{"_index":566,"t":{"55":{"position":[[200,5]]},"57":{"position":[[188,5]]},"59":{"position":[[11,5]]},"83":{"position":[[497,5]]},"87":{"position":[[200,5]]},"89":{"position":[[188,5]]},"104":{"position":[[225,5]]},"106":{"position":[[213,5]]},"182":{"position":[[2149,5]]},"186":{"position":[[179,5]]},"276":{"position":[[334,5]]},"310":{"position":[[93,5]]},"334":{"position":[[181,5],[350,5]]}}}],["through",{"_index":661,"t":{"68":{"position":[[257,7]]},"85":{"position":[[174,7]]},"102":{"position":[[174,7]]},"120":{"position":[[489,7]]},"182":{"position":[[454,7],[9214,7]]},"184":{"position":[[2882,7]]},"215":{"position":[[174,7]]},"259":{"position":[[489,7]]},"262":{"position":[[380,7]]},"280":{"position":[[1016,7],[1138,7]]},"284":{"position":[[897,7]]},"294":{"position":[[732,7],[792,7],[1892,7]]},"299":{"position":[[186,7]]},"321":{"position":[[249,7]]},"332":{"position":[[198,7]]},"403":{"position":[[235,7],[299,7]]},"415":{"position":[[743,7]]}}}],["throughout",{"_index":1517,"t":{"273":{"position":[[225,10]]},"278":{"position":[[69,10]]}}}],["thu",{"_index":884,"t":{"104":{"position":[[199,4]]},"106":{"position":[[187,4]]}}}],["tidi",{"_index":1750,"t":{"334":{"position":[[2294,4]]}}}],["time",{"_index":309,"t":{"31":{"position":[[113,4],[1219,4],[1348,4],[2230,4]]},"148":{"position":[[113,4],[1219,4],[1348,4],[2230,4]]},"182":{"position":[[5924,4]]},"184":{"position":[[1630,6]]},"186":{"position":[[690,4]]},"266":{"position":[[293,4],[308,4],[1018,4],[1031,4],[1044,4],[1059,4],[1218,4],[1233,4],[1246,4],[1259,4],[1441,4],[1456,4],[1469,4],[1482,4],[1651,4],[1666,4],[1679,4],[1692,4],[1877,4],[1892,4],[1905,4],[1918,4],[2072,4],[2087,4],[2100,4],[2113,4]]},"278":{"position":[[338,4]]},"312":{"position":[[371,4]]},"401":{"position":[[244,4]]}}}],["timeout",{"_index":1378,"t":{"247":{"position":[[1276,7],[1299,7],[1324,7],[1755,7],[1778,7],[1803,7],[2241,7],[2264,7],[2289,7]]},"249":{"position":[[790,7],[813,7],[838,7],[1271,7],[1294,7],[1319,7],[1759,7],[1782,7],[1807,7]]},"256":{"position":[[56,7],[75,7]]}}}],["titl",{"_index":933,"t":{"112":{"position":[[336,5],[1189,5]]},"182":{"position":[[5284,5]]},"310":{"position":[[3228,5]]},"388":{"position":[[165,5]]}}}],["togeth",{"_index":1142,"t":{"182":{"position":[[9443,8],[10208,8]]},"321":{"position":[[478,8]]},"323":{"position":[[268,8]]},"441":{"position":[[143,8]]}}}],["token",{"_index":1237,"t":{"197":{"position":[[0,5],[23,5],[369,5]]},"231":{"position":[[358,5],[415,5],[438,5],[783,5]]},"266":{"position":[[2287,5],[2294,5]]}}}],["tone",{"_index":1123,"t":{"182":{"position":[[8558,4]]},"318":{"position":[[1020,4]]}}}],["tool",{"_index":561,"t":{"55":{"position":[[134,5]]},"57":{"position":[[122,5]]},"87":{"position":[[134,5]]},"89":{"position":[[122,5]]},"92":{"position":[[254,4]]},"104":{"position":[[134,5]]},"106":{"position":[[122,5]]},"182":{"position":[[3722,4]]},"273":{"position":[[214,5]]},"292":{"position":[[2001,4]]},"310":{"position":[[1666,4]]},"334":{"position":[[823,5]]},"411":{"position":[[123,5]]}}}],["top",{"_index":860,"t":{"98":{"position":[[127,3]]},"112":{"position":[[225,3]]},"259":{"position":[[833,3]]}}}],["topic",{"_index":1850,"t":{"437":{"position":[[238,6]]}}}],["track",{"_index":1711,"t":{"330":{"position":[[142,5]]},"334":{"position":[[2343,5]]},"401":{"position":[[612,8]]},"403":{"position":[[182,5]]},"421":{"position":[[77,8]]}}}],["train",{"_index":1810,"t":{"413":{"position":[[181,7],[587,8]]}}}],["transact",{"_index":1569,"t":{"280":{"position":[[254,11]]}}}],["transfer",{"_index":1614,"t":{"282":{"position":[[1297,8]]},"290":{"position":[[34,8]]}}}],["translat",{"_index":1669,"t":{"292":{"position":[[2053,9]]}}}],["transmiss",{"_index":1552,"t":{"278":{"position":[[450,12]]}}}],["transpar",{"_index":1799,"t":{"403":{"position":[[76,12]]}}}],["tri",{"_index":1279,"t":{"221":{"position":[[183,3]]},"441":{"position":[[5,6]]}}}],["trial",{"_index":816,"t":{"92":{"position":[[205,5]]}}}],["trimesh",{"_index":703,"t":{"74":{"position":[[124,7]]}}}],["trivari",{"_index":668,"t":{"68":{"position":[[487,10]]}}}],["true",{"_index":365,"t":{"31":{"position":[[1201,4],[2212,4]]},"148":{"position":[[1201,4],[2212,4]]},"233":{"position":[[180,4]]},"396":{"position":[[88,4]]},"398":{"position":[[88,4]]}}}],["truli",{"_index":765,"t":{"85":{"position":[[270,5]]},"102":{"position":[[270,5]]},"120":{"position":[[345,5]]}}}],["tsx",{"_index":1644,"t":{"292":{"position":[[134,3]]}}}],["ttl",{"_index":361,"t":{"31":{"position":[[1144,3],[2143,3]]},"148":{"position":[[1144,3],[2143,3]]}}}],["turbo",{"_index":1325,"t":{"231":{"position":[[821,5]]}}}],["turk",{"_index":709,"t":{"74":{"position":[[203,4]]}}}],["turn",{"_index":1773,"t":{"373":{"position":[[111,5]]}}}],["tutori",{"_index":787,"t":{"85":{"position":[[757,9]]},"98":{"position":[[217,8]]},"102":{"position":[[757,9]]},"120":{"position":[[825,9]]},"433":{"position":[[35,9]]}}}],["twitter",{"_index":1826,"t":{"421":{"position":[[121,7]]}}}],["two",{"_index":1022,"t":{"182":{"position":[[2122,3]]},"186":{"position":[[710,3]]},"245":{"position":[[13,3]]},"282":{"position":[[1843,3]]},"292":{"position":[[607,3],[940,3]]},"310":{"position":[[66,3]]},"334":{"position":[[1758,3]]},"401":{"position":[[118,3]]}}}],["type",{"_index":354,"t":{"31":{"position":[[1091,4],[2091,4]]},"148":{"position":[[1091,4],[2091,4]]},"182":{"position":[[7155,4]]},"184":{"position":[[107,4]]},"197":{"position":[[360,4]]},"231":{"position":[[352,4],[738,4],[760,4]]},"266":{"position":[[188,4],[219,4],[421,4],[439,4],[486,4],[498,4],[522,4],[628,4],[650,4],[705,4],[727,4],[748,4],[841,4],[853,4],[1194,4],[1205,4],[2147,4],[2159,4],[2208,4],[2244,4],[2249,4],[2260,4]]},"268":{"position":[[55,4],[80,4],[113,4],[144,4],[169,4],[203,4],[233,4]]},"273":{"position":[[478,5]]},"286":{"position":[[377,5],[422,5],[483,5],[1451,5],[1503,5]]},"316":{"position":[[338,4]]},"334":{"position":[[364,4],[441,4],[459,4],[836,4]]},"413":{"position":[[526,5]]},"452":{"position":[[135,4]]},"456":{"position":[[733,4],[790,4],[807,4],[840,4]]}}}],["type_nam",{"_index":1324,"t":{"231":{"position":[[760,9]]},"266":{"position":[[2249,9]]}}}],["u",{"_index":1245,"t":{"197":{"position":[[316,1]]}}}],["ubuntu",{"_index":1258,"t":{"205":{"position":[[11,6]]}}}],["ui",{"_index":62,"t":{"6":{"position":[[20,2]]},"92":{"position":[[456,2]]},"160":{"position":[[20,2]]},"264":{"position":[[416,2],[462,2]]},"271":{"position":[[83,2]]},"273":{"position":[[1064,2]]},"292":{"position":[[1806,2]]}}}],["under",{"_index":1037,"t":{"182":{"position":[[2933,5],[4489,5]]},"184":{"position":[[2605,5]]},"310":{"position":[[877,5],[2433,5]]},"456":{"position":[[324,5],[2236,5]]}}}],["underscor",{"_index":1189,"t":{"184":{"position":[[2061,11]]}}}],["understand",{"_index":1691,"t":{"327":{"position":[[79,10],[478,10]]},"332":{"position":[[155,10]]},"401":{"position":[[677,10]]},"433":{"position":[[105,10]]},"435":{"position":[[191,13]]},"441":{"position":[[245,10]]}}}],["undo",{"_index":1882,"t":{"456":{"position":[[3018,4],[3107,4]]}}}],["unifi",{"_index":1207,"t":{"184":{"position":[[2597,7]]}}}],["uniformli",{"_index":1511,"t":{"271":{"position":[[105,9]]}}}],["uniqu",{"_index":1464,"t":{"266":{"position":[[48,6],[449,6],[668,6],[1103,6],[1313,6],[1520,6],[1739,6],[1983,6],[2177,6]]}}}],["unit",{"_index":1672,"t":{"292":{"position":[[2152,4]]}}}],["unix",{"_index":1776,"t":{"376":{"position":[[64,4]]}}}],["until",{"_index":1821,"t":{"415":{"position":[[685,5]]}}}],["up",{"_index":1236,"t":{"195":{"position":[[127,2]]},"437":{"position":[[136,2]]}}}],["updat",{"_index":760,"t":{"85":{"position":[[106,8]]},"102":{"position":[[106,8]]},"108":{"position":[[94,7],[540,6],[946,7]]},"120":{"position":[[185,6]]},"182":{"position":[[2898,7],[7300,7]]},"186":{"position":[[794,6]]},"197":{"position":[[339,6]]},"266":{"position":[[1011,6],[1024,6],[1239,6],[1252,6],[1462,6],[1475,6],[1672,6],[1685,6],[1898,6],[1911,6],[2093,6],[2106,6]]},"276":{"position":[[518,8],[1248,6]]},"286":{"position":[[564,8],[701,8],[1125,8]]},"310":{"position":[[842,7]]},"316":{"position":[[483,7]]},"347":{"position":[[58,6]]},"415":{"position":[[414,8],[480,7],[654,8]]}}}],["update_tim",{"_index":1491,"t":{"266":{"position":[[1011,11],[1239,11],[1462,11],[1672,11],[1898,11],[2093,11]]}}}],["upgrad",{"_index":1382,"t":{"247":{"position":[[1354,7],[1368,7],[1405,7],[1833,7],[1847,7],[1884,7],[2319,7],[2333,7],[2370,7]]},"249":{"position":[[868,7],[882,7],[919,7],[1349,7],[1363,7],[1400,7],[1837,7],[1851,7],[1888,7]]},"273":{"position":[[1023,7]]}}}],["upload",{"_index":1288,"t":{"228":{"position":[[330,9]]}}}],["upper",{"_index":929,"t":{"112":{"position":[[306,5],[666,5]]}}}],["upstream",{"_index":1029,"t":{"182":{"position":[[2507,8],[2595,8],[2785,8],[2924,8],[3126,8],[3200,8],[3318,8],[3406,8],[3492,8],[3917,8],[3971,8],[4060,8],[4089,8],[4138,8],[4204,8],[4300,8],[4682,8],[4804,8]]},"186":{"position":[[583,8],[607,8],[761,8],[834,8],[940,8]]},"310":{"position":[[451,8],[539,8],[729,8],[868,8],[1070,8],[1144,8],[1262,8],[1350,8],[1436,8],[1861,8],[1915,8],[2004,8],[2033,8],[2082,8],[2148,8],[2244,8],[2626,8],[2748,8]]}}}],["url",{"_index":155,"t":{"16":{"position":[[69,3],[138,3],[203,3]]},"18":{"position":[[19,3]]},"49":{"position":[[97,3]]},"55":{"position":[[631,3],[687,3]]},"57":{"position":[[619,3],[675,3]]},"87":{"position":[[631,3],[687,3]]},"89":{"position":[[619,3],[675,3]]},"134":{"position":[[97,3]]},"170":{"position":[[69,3],[138,3],[203,3]]},"172":{"position":[[19,3]]},"233":{"position":[[115,3]]},"247":{"position":[[72,3],[134,3],[202,3],[980,3],[1463,3],[1942,3]]},"266":{"position":[[2315,3]]},"452":{"position":[[253,3],[436,3],[646,3],[1077,3],[1142,3],[1250,3],[1315,3],[1425,3],[1461,3]]},"454":{"position":[[91,3]]}}}],["uroot",{"_index":1317,"t":{"231":{"position":[[164,5]]}}}],["us",{"_index":578,"t":{"55":{"position":[[492,4]]},"57":{"position":[[480,4]]},"66":{"position":[[176,3]]},"74":{"position":[[116,3]]},"87":{"position":[[492,4]]},"89":{"position":[[480,4]]},"104":{"position":[[479,4]]},"106":{"position":[[467,4]]},"108":{"position":[[261,3]]},"114":{"position":[[535,4],[605,4]]},"184":{"position":[[563,5],[575,5],[2029,3],[2106,3],[2142,3]]},"197":{"position":[[326,3]]},"215":{"position":[[136,3]]},"247":{"position":[[300,3]]},"259":{"position":[[592,4]]},"273":{"position":[[48,4],[123,3],[220,4],[1015,4]]},"276":{"position":[[98,4],[892,4]]},"278":{"position":[[64,4]]},"280":{"position":[[181,4],[734,4],[933,4]]},"282":{"position":[[1210,4]]},"290":{"position":[[175,4]]},"292":{"position":[[139,4],[259,4],[657,4],[748,4],[838,4],[990,4],[1078,4],[1142,4],[1368,4],[1411,4],[1664,4],[1770,6],[2039,4],[2196,4]]},"294":{"position":[[68,4],[860,6],[1159,4]]},"334":{"position":[[467,4],[1026,4],[1150,3],[1538,3],[1597,3]]},"353":{"position":[[41,3],[210,3]]},"358":{"position":[[249,3]]},"360":{"position":[[313,3]]},"373":{"position":[[96,3]]},"392":{"position":[[199,3]]},"411":{"position":[[467,4]]},"415":{"position":[[8,4],[488,5]]},"423":{"position":[[28,5],[89,5]]},"427":{"position":[[485,3]]}}}],["usag",{"_index":788,"t":{"85":{"position":[[768,5]]},"102":{"position":[[768,5]]},"120":{"position":[[836,5]]},"182":{"position":[[857,5],[1451,5]]},"301":{"position":[[78,5]]},"303":{"position":[[18,5]]},"339":{"position":[[287,5]]}}}],["usedatasourc",{"_index":1653,"t":{"292":{"position":[[972,13]]}}}],["useproject",{"_index":1652,"t":{"292":{"position":[[957,10]]}}}],["user",{"_index":728,"t":{"83":{"position":[[155,5],[731,5]]},"98":{"position":[[193,4],[285,5]]},"108":{"position":[[49,5],[229,5],[305,4],[380,5],[501,5],[615,5],[1031,5],[1137,5],[1170,5],[1237,5],[1280,4],[1323,5]]},"114":{"position":[[948,4]]},"182":{"position":[[1561,5],[1635,5],[2855,4],[8006,5]]},"184":{"position":[[472,4],[1770,4],[1879,4],[1887,5],[2752,4],[3303,4],[3697,4]]},"233":{"position":[[450,4]]},"266":{"position":[[321,4],[327,4],[1773,4],[1956,4],[1962,4],[2008,4],[2014,4],[2035,4],[2050,4]]},"268":{"position":[[729,4],[743,4],[765,4]]},"273":{"position":[[941,4]]},"278":{"position":[[802,5],[831,5],[853,5],[877,5]]},"280":{"position":[[404,4],[1103,4]]},"286":{"position":[[139,4],[1890,4]]},"292":{"position":[[853,4]]},"303":{"position":[[128,5],[202,5]]},"310":{"position":[[799,4]]},"318":{"position":[[468,5]]},"330":{"position":[[114,5]]},"339":{"position":[[282,4],[651,5]]},"401":{"position":[[14,5],[190,5],[237,4],[415,4],[464,4],[501,5],[742,5]]},"403":{"position":[[112,5],[196,5],[325,5]]},"413":{"position":[[120,5]]},"415":{"position":[[245,4],[319,5],[851,4]]},"423":{"position":[[47,4]]},"427":{"position":[[148,4],[266,4]]},"452":{"position":[[141,4],[258,4],[441,4],[651,4],[1081,4],[1254,4],[1429,4],[1465,4]]}}}],["user_nam",{"_index":1504,"t":{"266":{"position":[[1773,9],[2014,9]]},"268":{"position":[[765,9]]}}}],["user_password",{"_index":1507,"t":{"266":{"position":[[2035,13]]}}}],["usermanag",{"_index":1205,"t":{"184":{"position":[[2542,14]]}}}],["usermapp",{"_index":1586,"t":{"280":{"position":[[661,10],[1184,10]]}}}],["usernam",{"_index":1049,"t":{"182":{"position":[[3832,8]]},"199":{"position":[[42,8]]},"217":{"position":[[59,8]]},"233":{"position":[[238,8]]},"240":{"position":[[53,8]]},"266":{"position":[[1784,8],[2025,8]]},"280":{"position":[[1116,8]]},"282":{"position":[[1402,8]]},"310":{"position":[[1776,8]]},"450":{"position":[[44,8],[74,8],[123,8],[155,8],[214,8],[242,8]]},"463":{"position":[[8,8]]}}}],["userserviceimpl",{"_index":1640,"t":{"286":{"position":[[1735,15]]}}}],["usessl",{"_index":1332,"t":{"233":{"position":[[156,6]]}}}],["useunicod",{"_index":1334,"t":{"233":{"position":[[169,10]]}}}],["usr",{"_index":1390,"t":{"247":{"position":[[2448,3]]},"249":{"position":[[1966,3]]}}}],["usual",{"_index":992,"t":{"182":{"position":[[500,7],[4412,7]]},"273":{"position":[[40,7]]},"299":{"position":[[232,7]]},"310":{"position":[[2356,7]]}}}],["utf",{"_index":359,"t":{"31":{"position":[[1135,3],[2134,3]]},"148":{"position":[[1135,3],[2134,3]]},"233":{"position":[[203,3]]}}}],["utf8",{"_index":1318,"t":{"231":{"position":[[237,4],[258,4]]}}}],["utf8_general_ci",{"_index":1320,"t":{"231":{"position":[[258,15]]}}}],["util",{"_index":1194,"t":{"184":{"position":[[2226,5]]},"278":{"position":[[301,7],[884,5],[923,7]]},"292":{"position":[[1777,7]]},"294":{"position":[[827,5],[867,7],[1217,5],[1257,7]]}}}],["v",{"_index":866,"t":{"98":{"position":[[257,1]]},"186":{"position":[[680,1]]}}}],["v0",{"_index":853,"t":{"96":{"position":[[921,2]]},"100":{"position":[[23,2]]},"417":{"position":[[49,2]]}}}],["v16",{"_index":1761,"t":{"353":{"position":[[219,3]]}}}],["valu",{"_index":356,"t":{"31":{"position":[[1109,5],[2110,5]]},"66":{"position":[[528,5]]},"68":{"position":[[360,6]]},"83":{"position":[[722,5]]},"148":{"position":[[1109,5],[2110,5]]},"182":{"position":[[7821,5]]},"231":{"position":[[802,6]]},"247":{"position":[[316,5]]},"253":{"position":[[429,5]]},"266":{"position":[[813,5],[828,5],[835,5],[847,5],[972,5],[985,5]]},"278":{"position":[[531,5]]},"318":{"position":[[283,5]]},"456":{"position":[[1125,5],[2857,5],[2877,5]]}}}],["valuabl",{"_index":1014,"t":{"182":{"position":[[1487,8],[9022,8]]},"303":{"position":[[54,8]]},"321":{"position":[[57,8]]},"427":{"position":[[567,8]]},"433":{"position":[[6,8]]},"441":{"position":[[159,8]]}}}],["value_regex",{"_index":1487,"t":{"266":{"position":[[972,11]]}}}],["value_typ",{"_index":1485,"t":{"266":{"position":[[835,10]]}}}],["var",{"_index":1364,"t":{"247":{"position":[[661,3],[691,3]]},"249":{"position":[[279,3]]}}}],["variabl",{"_index":1686,"t":{"294":{"position":[[1384,8]]}}}],["varieti",{"_index":594,"t":{"59":{"position":[[70,7]]}}}],["variou",{"_index":601,"t":{"59":{"position":[[159,7]]},"83":{"position":[[236,7]]},"262":{"position":[[361,7]]},"276":{"position":[[395,7]]},"294":{"position":[[470,7]]},"407":{"position":[[35,7],[54,7],[73,7]]},"413":{"position":[[518,7]]}}}],["ve",{"_index":958,"t":{"114":{"position":[[176,2]]}}}],["verb",{"_index":1737,"t":{"334":{"position":[[1546,4]]}}}],["veri",{"_index":772,"t":{"85":{"position":[[483,4]]},"102":{"position":[[483,4]]},"120":{"position":[[556,4]]},"182":{"position":[[1482,4]]},"284":{"position":[[812,4],[939,4]]},"303":{"position":[[49,4]]},"427":{"position":[[7,4]]}}}],["verifi",{"_index":1461,"t":{"264":{"position":[[694,6]]},"376":{"position":[[14,6]]}}}],["version",{"_index":830,"t":{"96":{"position":[[101,7]]},"98":{"position":[[5,7]]},"108":{"position":[[410,7],[520,7]]},"112":{"position":[[58,8],[701,7]]},"182":{"position":[[2218,7],[2420,7],[4432,7],[4465,7],[8447,8],[9155,7],[10552,7]]},"184":{"position":[[642,7],[1228,7],[1783,8],[2767,7]]},"186":{"position":[[359,7],[386,7],[432,7]]},"223":{"position":[[5,7]]},"231":{"position":[[400,7]]},"233":{"position":[[276,7]]},"235":{"position":[[113,7]]},"247":{"position":[[1249,7],[1728,7],[2214,7]]},"249":{"position":[[763,7],[1244,7],[1732,7]]},"273":{"position":[[74,8],[136,7]]},"276":{"position":[[376,7],[455,8],[541,8],[845,8],[941,7],[1026,7],[1158,8],[1259,7]]},"310":{"position":[[162,7],[364,7],[2376,7],[2409,7]]},"318":{"position":[[909,8]]},"321":{"position":[[190,7]]},"323":{"position":[[612,7]]},"330":{"position":[[199,7]]},"334":{"position":[[1853,7],[2392,7]]},"339":{"position":[[36,7],[76,7],[188,7],[366,7],[524,7],[617,7],[749,7],[848,7],[940,7]]},"353":{"position":[[223,7]]},"355":{"position":[[179,7]]},"367":{"position":[[100,7],[148,7],[169,7],[260,7],[281,7]]},"369":{"position":[[79,7]]},"379":{"position":[[67,7]]},"388":{"position":[[226,7],[256,7]]},"392":{"position":[[140,7]]},"394":{"position":[[179,7]]}}}],["vi",{"_index":1329,"t":{"233":{"position":[[83,2],[318,2]]},"249":{"position":[[138,2]]},"256":{"position":[[5,2]]},"347":{"position":[[70,2]]}}}],["via",{"_index":1007,"t":{"182":{"position":[[1138,3]]},"268":{"position":[[94,3],[251,3],[357,3],[528,3],[657,3],[757,3]]},"301":{"position":[[359,3]]}}}],["view",{"_index":904,"t":{"108":{"position":[[511,4]]},"184":{"position":[[881,4],[1006,4]]},"186":{"position":[[652,4]]},"215":{"position":[[2,4],[48,4]]},"262":{"position":[[95,4]]},"292":{"position":[[1157,5],[1204,4],[1229,4]]},"327":{"position":[[439,4]]}}}],["viewfactori",{"_index":1655,"t":{"292":{"position":[[1123,11]]}}}],["viewport",{"_index":1427,"t":{"259":{"position":[[579,8]]},"262":{"position":[[122,8]]}}}],["vincent",{"_index":1806,"t":{"411":{"position":[[382,7]]},"413":{"position":[[10,7],[340,7]]},"415":{"position":[[105,7],[775,7]]}}}],["viridi",{"_index":635,"t":{"66":{"position":[[185,7],[381,7]]}}}],["visibl",{"_index":1436,"t":{"262":{"position":[[132,7]]}}}],["visit",{"_index":925,"t":{"112":{"position":[[166,5]]},"184":{"position":[[850,5],[975,5],[2955,5],[3166,5],[3332,5]]},"240":{"position":[[0,5]]}}}],["visual",{"_index":560,"t":{"55":{"position":[[120,13]]},"57":{"position":[[108,13]]},"83":{"position":[[325,13]]},"87":{"position":[[120,13]]},"89":{"position":[[108,13]]},"96":{"position":[[80,13]]},"104":{"position":[[120,13],[145,13]]},"106":{"position":[[108,13],[133,13]]},"114":{"position":[[290,13]]},"292":{"position":[[792,13],[1860,13]]},"411":{"position":[[109,13],[134,13]]}}}],["volunt",{"_index":806,"t":{"85":{"position":[[1101,10]]},"102":{"position":[[1101,10]]},"120":{"position":[[1182,9]]}}}],["vote",{"_index":1140,"t":{"182":{"position":[[9385,4],[9438,4],[9510,5],[10203,4],[10264,5]]},"321":{"position":[[420,4],[473,4],[545,5]]},"323":{"position":[[263,4],[324,5]]},"379":{"position":[[26,4],[119,6],[152,5],[184,6]]},"381":{"position":[[26,5],[78,6],[126,6]]},"383":{"position":[[81,6],[161,6]]}}}],["vue",{"_index":1198,"t":{"184":{"position":[[2342,3],[3556,3]]}}}],["wait",{"_index":1072,"t":{"182":{"position":[[5403,7]]},"310":{"position":[[3347,7]]}}}],["want",{"_index":945,"t":{"112":{"position":[[742,4]]},"182":{"position":[[2334,4]]},"186":{"position":[[1199,4]]},"310":{"position":[[278,4]]},"367":{"position":[[74,4]]},"461":{"position":[[21,4],[51,4],[77,4]]}}}],["warehous",{"_index":1030,"t":{"182":{"position":[[2516,9],[2575,9],[2604,9],[2631,9],[2709,9],[2732,9],[2794,9],[2828,9],[3020,9],[3135,9],[3162,9],[3241,9],[3268,9],[3327,9],[3354,9],[3415,9],[3442,9],[3767,9],[3876,9],[3926,9],[3946,9],[4069,9],[4147,9],[4691,9],[4725,9],[4813,9],[4847,9],[5966,9],[6321,9]]},"310":{"position":[[460,9],[519,9],[548,9],[575,9],[653,9],[676,9],[738,9],[772,9],[964,9],[1079,9],[1106,9],[1185,9],[1212,9],[1271,9],[1298,9],[1359,9],[1386,9],[1711,9],[1820,9],[1870,9],[1890,9],[2013,9],[2091,9],[2635,9],[2669,9],[2757,9],[2791,9]]},"312":{"position":[[413,9],[768,9]]}}}],["wast",{"_index":1704,"t":{"327":{"position":[[619,8]]}}}],["watch",{"_index":865,"t":{"98":{"position":[[251,5]]}}}],["way",{"_index":976,"t":{"120":{"position":[[14,4]]},"182":{"position":[[1218,3],[1496,3]]},"209":{"position":[[8,3]]},"273":{"position":[[398,3],[825,3]]},"276":{"position":[[441,3]]},"301":{"position":[[439,3]]},"303":{"position":[[63,3]]},"332":{"position":[[123,3]]}}}],["web",{"_index":301,"t":{"29":{"position":[[330,3]]},"146":{"position":[[330,3]]},"215":{"position":[[248,3]]},"228":{"position":[[822,3]]},"243":{"position":[[343,3]]},"247":{"position":[[875,3]]},"249":{"position":[[354,3],[2103,3]]},"273":{"position":[[881,3]]},"284":{"position":[[308,3]]},"292":{"position":[[1469,3]]},"294":{"position":[[989,3],[1213,3],[1278,3],[1599,3],[1734,3],[1973,3]]},"349":{"position":[[64,3],[115,3]]},"358":{"position":[[79,3],[123,3]]}}}],["web_util",{"_index":1685,"t":{"294":{"position":[[1213,9]]}}}],["webapp",{"_index":1681,"t":{"294":{"position":[[959,6]]}}}],["webpack",{"_index":1667,"t":{"292":{"position":[[2024,7]]}}}],["websit",{"_index":583,"t":{"55":{"position":[[746,7],[790,7]]},"57":{"position":[[734,7],[778,7]]},"87":{"position":[[746,7],[790,7]]},"89":{"position":[[734,7],[778,7]]},"92":{"position":[[392,7],[447,7],[497,7],[553,7],[605,7],[666,7]]},"96":{"position":[[385,7]]},"98":{"position":[[180,7]]},"104":{"position":[[736,7],[780,7],[798,7],[858,7]]},"106":{"position":[[724,7],[768,7],[786,7],[846,7]]},"108":{"position":[[21,7],[121,7],[1382,7],[1426,7],[1444,7],[1504,7]]},"110":{"position":[[22,7]]},"112":{"position":[[104,7],[201,7],[618,7],[979,7]]},"114":{"position":[[156,7],[211,7]]},"116":{"position":[[27,7],[44,7]]},"118":{"position":[[25,7]]},"182":{"position":[[1722,7]]},"184":{"position":[[491,7],[543,7],[728,7],[1067,7],[3005,7],[3216,7]]},"209":{"position":[[100,7]]},"228":{"position":[[49,7]]},"243":{"position":[[49,7]]},"305":{"position":[[48,7]]},"339":{"position":[[234,7],[383,7],[425,7],[464,7]]},"342":{"position":[[64,7]]},"401":{"position":[[78,7],[322,7],[366,7]]},"403":{"position":[[274,7]]},"417":{"position":[[69,7]]}}}],["wechat",{"_index":1137,"t":{"182":{"position":[[9235,6],[9632,6]]},"321":{"position":[[270,6],[667,6]]}}}],["weekli",{"_index":737,"t":{"83":{"position":[[432,6]]}}}],["welcom",{"_index":868,"t":{"98":{"position":[[277,7]]},"114":{"position":[[1004,7]]},"182":{"position":[[7598,7]]},"184":{"position":[[188,7]]},"318":{"position":[[60,7]]},"419":{"position":[[3,7]]},"427":{"position":[[440,7],[491,7]]}}}],["well",{"_index":1445,"t":{"262":{"position":[[390,4]]}}}],["wensheng",{"_index":1807,"t":{"411":{"position":[[428,8]]}}}],["whether",{"_index":742,"t":{"83":{"position":[[519,7]]},"114":{"position":[[930,7]]},"182":{"position":[[286,7],[7021,7],[9462,7],[10227,7]]},"253":{"position":[[180,7],[217,7]]},"266":{"position":[[882,7]]},"299":{"position":[[18,7]]},"316":{"position":[[204,7]]},"321":{"position":[[497,7]]},"323":{"position":[[287,7]]},"327":{"position":[[163,7],[796,7]]},"379":{"position":[[55,7]]},"419":{"position":[[84,7]]}}}],["whose",{"_index":1528,"t":{"276":{"position":[[273,5]]}}}],["will",{"_index":1138,"t":{"182":{"position":[[9258,7],[9307,7]]},"321":{"position":[[293,7],[342,7]]},"427":{"position":[[591,7]]}}}],["window",{"_index":603,"t":{"59":{"position":[[184,6]]},"92":{"position":[[348,6]]},"292":{"position":[[1920,6]]},"376":{"position":[[52,7]]},"456":{"position":[[579,6],[682,6]]},"458":{"position":[[244,6]]}}}],["wip",{"_index":1068,"t":{"182":{"position":[[5265,3],[5300,3],[7397,3],[7403,3]]},"310":{"position":[[3209,3],[3244,3]]},"316":{"position":[[580,3],[586,3]]}}}],["within",{"_index":1510,"t":{"268":{"position":[[314,6],[614,6]]},"437":{"position":[[46,6],[166,6]]},"441":{"position":[[178,6]]}}}],["without",{"_index":871,"t":{"100":{"position":[[52,7]]},"116":{"position":[[81,7]]},"276":{"position":[[920,7]]}}}],["word",{"_index":610,"t":{"61":{"position":[[24,5],[73,5],[201,5]]}}}],["work",{"_index":1003,"t":{"182":{"position":[[1010,4],[7409,4],[8376,4]]},"301":{"position":[[231,4]]},"316":{"position":[[592,4]]},"318":{"position":[[838,4]]},"401":{"position":[[264,4]]},"427":{"position":[[85,4],[626,4]]}}}],["workdir",{"_index":376,"t":{"31":{"position":[[2273,7]]},"148":{"position":[[2273,7]]}}}],["workshop",{"_index":1845,"t":{"435":{"position":[[36,9]]}}}],["wrap",{"_index":1450,"t":{"262":{"position":[[643,4],[729,4]]},"280":{"position":[[838,8]]}}}],["wrapper",{"_index":1591,"t":{"280":{"position":[[820,7]]},"392":{"position":[[213,7]]}}}],["write",{"_index":1087,"t":{"182":{"position":[[6643,5],[7241,7],[8525,5]]},"314":{"position":[[247,5]]},"316":{"position":[[424,7]]},"318":{"position":[[987,5]]},"388":{"position":[[197,5]]}}}],["www",{"_index":859,"t":{"98":{"position":[[115,3],[235,3]]}}}],["wysiwyg",{"_index":1430,"t":{"259":{"position":[[701,7]]}}}],["x",{"_index":618,"t":{"64":{"position":[[4,1],[20,1],[36,1],[53,1],[69,1],[86,1]]},"66":{"position":[[89,1],[158,1],[269,1],[333,1],[594,1]]},"68":{"position":[[43,1]]},"193":{"position":[[100,1],[102,1],[104,1]]},"195":{"position":[[66,1],[68,1],[70,1],[94,1],[96,1],[98,1]]},"203":{"position":[[43,1]]},"228":{"position":[[373,1],[375,1],[377,1],[445,1],[447,1],[449,1],[530,1],[578,1],[684,1],[782,1]]},"231":{"position":[[48,1],[50,1],[52,1],[652,1],[654,1],[656,1],[990,1],[992,1],[994,1]]},"233":{"position":[[11,1],[13,1],[15,1],[329,1],[331,1],[333,1]]},"235":{"position":[[11,1],[13,1],[15,1],[152,1],[154,1],[156,1]]},"243":{"position":[[279,1],[281,1],[283,1],[329,1],[331,1],[333,1]]},"247":{"position":[[1068,1],[1109,1],[1194,1],[1221,1],[1547,1],[1588,1],[1673,1],[1700,1],[2033,1],[2074,1],[2159,1],[2186,1]]},"249":{"position":[[582,1],[623,1],[708,1],[735,1],[1063,1],[1104,1],[1189,1],[1216,1],[1551,1],[1592,1],[1677,1],[1704,1]]},"345":{"position":[[18,1],[20,1],[22,1],[46,1],[48,1],[50,1],[128,1],[130,1],[132,1]]},"347":{"position":[[18,1],[20,1],[22,1],[46,1],[48,1],[50,1],[220,1],[222,1],[224,1]]},"349":{"position":[[18,1],[20,1],[22,1],[46,1],[48,1],[50,1],[119,1],[121,1],[123,1]]},"358":{"position":[[109,1],[111,1],[113,1]]},"396":{"position":[[11,1],[13,1],[15,1]]},"398":{"position":[[11,1],[13,1],[15,1]]}}}],["x_real_ipp",{"_index":1373,"t":{"247":{"position":[[1109,10],[1588,10],[2074,10]]},"249":{"position":[[623,10],[1104,10],[1592,10]]}}}],["xml",{"_index":1526,"t":{"276":{"position":[[61,3]]},"282":{"position":[[1753,3]]},"284":{"position":[[484,3]]}}}],["xmx",{"_index":1278,"t":{"221":{"position":[[100,3]]}}}],["xr",{"_index":1291,"t":{"228":{"position":[[527,2],[575,2],[681,2],[779,2]]}}}],["xx",{"_index":1315,"t":{"231":{"position":[[150,2],[153,2]]}}}],["y",{"_index":619,"t":{"64":{"position":[[12,1],[28,1],[44,1],[61,1],[77,1],[94,1]]},"66":{"position":[[95,1],[164,1],[275,1],[339,1],[600,1]]},"68":{"position":[[46,1]]},"249":{"position":[[98,1]]}}}],["yaml",{"_index":539,"t":{"49":{"position":[[79,4]]},"134":{"position":[[79,4]]},"233":{"position":[[98,4]]}}}],["year",{"_index":1134,"t":{"182":{"position":[[9123,4]]},"321":{"position":[[158,4]]}}}],["yellow",{"_index":675,"t":{"72":{"position":[[58,6]]}}}],["yifeng",{"_index":1864,"t":{"447":{"position":[[5,6]]}}}],["yml",{"_index":536,"t":{"49":{"position":[[22,3]]},"134":{"position":[[22,3]]},"284":{"position":[[127,3]]}}}],["your_github_usernam",{"_index":1048,"t":{"182":{"position":[[3820,20]]},"310":{"position":[[1764,20]]}}}],["yourself",{"_index":1229,"t":{"191":{"position":[[163,8]]},"209":{"position":[[142,8]]},"228":{"position":[[242,8]]},"392":{"position":[[130,8]]}}}],["youtub",{"_index":864,"t":{"98":{"position":[[239,7]]},"421":{"position":[[129,7]]}}}],["yum",{"_index":1392,"t":{"249":{"position":[[79,3]]}}}],["z",{"_index":633,"t":{"66":{"position":[[140,1],[301,1],[526,1]]},"68":{"position":[[53,1]]}}}],["zh",{"_index":1167,"t":{"184":{"position":[[941,2],[1322,2]]},"325":{"position":[[26,2]]}}}],["ziyu211",{"_index":881,"t":{"100":{"position":[[267,7]]}}}],["zxvf",{"_index":1235,"t":{"195":{"position":[[53,4]]},"228":{"position":[[432,4]]},"243":{"position":[[266,4]]},"345":{"position":[[5,4]]},"347":{"position":[[5,4]]},"349":{"position":[[5,4]]}}}],["一一对应",{"_index":242,"t":{"26":{"position":[[123,4]]},"35":{"position":[[58,4]]},"43":{"position":[[84,4]]},"45":{"position":[[40,4]]},"128":{"position":[[84,4]]},"130":{"position":[[40,4]]},"144":{"position":[[123,4]]},"152":{"position":[[58,4]]}}}],["一个",{"_index":26,"t":{"2":{"position":[[82,2]]},"4":{"position":[[78,2]]},"22":{"position":[[82,2]]},"24":{"position":[[78,2]]},"26":{"position":[[8,2]]},"33":{"position":[[188,2],[365,2],[540,2]]},"39":{"position":[[82,2]]},"41":{"position":[[78,2]]},"126":{"position":[[78,2]]},"142":{"position":[[78,2]]},"144":{"position":[[8,2]]},"150":{"position":[[188,2],[365,2],[540,2]]},"158":{"position":[[78,2]]}}}],["一些",{"_index":121,"t":{"12":{"position":[[35,2],[45,2]]},"166":{"position":[[35,2],[45,2]]}}}],["一步",{"_index":428,"t":{"33":{"position":[[505,2]]},"150":{"position":[[505,2]]}}}],["三维",{"_index":23,"t":{"2":{"position":[[64,2]]},"4":{"position":[[60,2]]},"22":{"position":[[64,2]]},"24":{"position":[[60,2]]},"39":{"position":[[64,2]]},"41":{"position":[[60,2]]},"126":{"position":[[60,2]]},"142":{"position":[[60,2]]},"158":{"position":[[60,2]]}}}],["上万",{"_index":288,"t":{"29":{"position":[[210,2]]},"146":{"position":[[210,2]]}}}],["下面",{"_index":139,"t":{"14":{"position":[[0,2]]},"168":{"position":[[0,2]]}}}],["不再",{"_index":169,"t":{"16":{"position":[[274,2]]},"18":{"position":[[147,2]]},"170":{"position":[[274,2]]},"172":{"position":[[147,2]]}}}],["不同",{"_index":280,"t":{"29":{"position":[[154,2]]},"47":{"position":[[74,2]]},"132":{"position":[[74,2]]},"146":{"position":[[154,2]]}}}],["不断",{"_index":86,"t":{"10":{"position":[[15,2]]},"164":{"position":[[15,2]]}}}],["不是",{"_index":444,"t":{"35":{"position":[[63,2]]},"51":{"position":[[39,2]]},"136":{"position":[[39,2]]},"152":{"position":[[63,2]]}}}],["不足",{"_index":453,"t":{"37":{"position":[[12,2]]},"53":{"position":[[12,2]]},"138":{"position":[[12,2]]},"154":{"position":[[12,2]]}}}],["不难",{"_index":514,"t":{"43":{"position":[[13,2]]},"128":{"position":[[13,2]]}}}],["世界",{"_index":74,"t":{"8":{"position":[[23,2],[55,2]]},"162":{"position":[[23,2],[55,2]]}}}],["东西",{"_index":131,"t":{"12":{"position":[[64,2]]},"166":{"position":[[64,2]]}}}],["中",{"_index":161,"t":{"16":{"position":[[108,1],[175,1],[224,1],[284,1]]},"18":{"position":[[39,1],[101,1],[156,1]]},"20":{"position":[[66,1]]},"26":{"position":[[36,1]]},"29":{"position":[[55,1],[300,1]]},"33":{"position":[[146,1],[185,1],[521,1],[590,1]]},"37":{"position":[[135,1],[337,1]]},"47":{"position":[[42,1]]},"49":{"position":[[26,1],[84,1]]},"53":{"position":[[135,1],[337,1]]},"132":{"position":[[42,1]]},"134":{"position":[[26,1],[84,1]]},"138":{"position":[[135,1],[337,1]]},"144":{"position":[[36,1]]},"146":{"position":[[55,1],[300,1]]},"150":{"position":[[146,1],[185,1],[521,1],[590,1]]},"154":{"position":[[135,1],[337,1]]},"170":{"position":[[108,1],[175,1],[224,1],[284,1]]},"172":{"position":[[39,1],[101,1],[156,1]]},"174":{"position":[[66,1]]}}}],["为了",{"_index":443,"t":{"35":{"position":[[56,2]]},"152":{"position":[[56,2]]}}}],["为什么",{"_index":440,"t":{"35":{"position":[[45,3]]},"152":{"position":[[45,3]]}}}],["主流",{"_index":268,"t":{"29":{"position":[[64,2],[92,2]]},"146":{"position":[[64,2],[92,2]]}}}],["主要",{"_index":225,"t":{"26":{"position":[[25,2],[154,2]]},"144":{"position":[[25,2],[154,2]]}}}],["之后",{"_index":104,"t":{"10":{"position":[[72,2]]},"164":{"position":[[72,2]]}}}],["习惯",{"_index":138,"t":{"12":{"position":[[83,2]]},"166":{"position":[[83,2]]}}}],["交互",{"_index":64,"t":{"6":{"position":[[26,2]]},"160":{"position":[[26,2]]}}}],["人们",{"_index":11,"t":{"2":{"position":[[29,2]]},"4":{"position":[[25,2]]},"22":{"position":[[29,2]]},"24":{"position":[[25,2]]},"39":{"position":[[29,2]]},"41":{"position":[[25,2]]},"126":{"position":[[25,2]]},"142":{"position":[[25,2]]},"158":{"position":[[25,2]]}}}],["介绍",{"_index":140,"t":{"14":{"position":[[2,2]]},"168":{"position":[[2,2]]}}}],["从而",{"_index":21,"t":{"2":{"position":[[59,2]]},"4":{"position":[[55,2]]},"22":{"position":[[59,2]]},"24":{"position":[[55,2]]},"39":{"position":[[59,2]]},"41":{"position":[[55,2]]},"126":{"position":[[55,2]]},"142":{"position":[[55,2]]},"158":{"position":[[55,2]]}}}],["代理",{"_index":231,"t":{"26":{"position":[[62,2]]},"29":{"position":[[322,2]]},"144":{"position":[[62,2]]},"146":{"position":[[322,2]]}}}],["代码",{"_index":407,"t":{"33":{"position":[[106,2],[329,2],[531,2]]},"37":{"position":[[123,2],[156,2]]},"53":{"position":[[123,2],[156,2]]},"138":{"position":[[123,2],[156,2]]},"150":{"position":[[106,2],[329,2],[531,2]]},"154":{"position":[[123,2],[156,2]]}}}],["代表",{"_index":65,"t":{"6":{"position":[[29,2]]},"160":{"position":[[29,2]]}}}],["以便",{"_index":211,"t":{"20":{"position":[[286,2]]},"174":{"position":[[286,2]]}}}],["价值",{"_index":92,"t":{"10":{"position":[[30,2]]},"164":{"position":[[30,2]]}}}],["任何",{"_index":261,"t":{"29":{"position":[[31,2],[45,2]]},"146":{"position":[[31,2],[45,2]]}}}],["任务",{"_index":229,"t":{"26":{"position":[[41,2]]},"37":{"position":[[146,2],[166,2]]},"53":{"position":[[146,2],[166,2]]},"138":{"position":[[146,2],[166,2]]},"144":{"position":[[41,2]]},"154":{"position":[[146,2],[166,2]]}}}],["优化",{"_index":286,"t":{"29":{"position":[[201,2]]},"37":{"position":[[15,2]]},"53":{"position":[[15,2]]},"138":{"position":[[15,2]]},"146":{"position":[[201,2]]},"154":{"position":[[15,2]]}}}],["伙伴",{"_index":254,"t":{"26":{"position":[[169,2]]},"144":{"position":[[169,2]]}}}],["会",{"_index":135,"t":{"12":{"position":[[76,1]]},"33":{"position":[[32,1]]},"150":{"position":[[32,1]]},"166":{"position":[[76,1]]}}}],["传入",{"_index":426,"t":{"33":{"position":[[489,2]]},"150":{"position":[[489,2]]}}}],["但是",{"_index":248,"t":{"26":{"position":[[143,2]]},"33":{"position":[[57,2]]},"144":{"position":[[143,2]]},"150":{"position":[[57,2]]}}}],["作为",{"_index":113,"t":{"12":{"position":[[4,2],[14,2]]},"166":{"position":[[4,2],[14,2]]}}}],["作用",{"_index":431,"t":{"33":{"position":[[534,2]]},"150":{"position":[[534,2]]}}}],["使用",{"_index":137,"t":{"12":{"position":[[81,2]]},"29":{"position":[[6,2],[18,2],[58,2]]},"37":{"position":[[254,2]]},"53":{"position":[[254,2]]},"138":{"position":[[254,2]]},"146":{"position":[[6,2],[18,2],[58,2]]},"154":{"position":[[254,2]]},"166":{"position":[[81,2]]}}}],["例如",{"_index":493,"t":{"37":{"position":[[278,2]]},"53":{"position":[[278,2]]},"138":{"position":[[278,2]]},"154":{"position":[[278,2]]}}}],["依赖",{"_index":263,"t":{"29":{"position":[[35,2]]},"146":{"position":[[35,2]]}}}],["保存",{"_index":207,"t":{"20":{"position":[[262,2],[267,2]]},"174":{"position":[[262,2],[267,2]]}}}],["信息",{"_index":149,"t":{"16":{"position":[[35,2],[231,2]]},"18":{"position":[[47,2],[110,2]]},"33":{"position":[[512,2],[573,2]]},"150":{"position":[[512,2],[573,2]]},"170":{"position":[[35,2],[231,2]]},"172":{"position":[[47,2],[110,2]]}}}],["修改",{"_index":181,"t":{"20":{"position":[[6,2],[22,2]]},"174":{"position":[[6,2],[22,2]]}}}],["做",{"_index":128,"t":{"12":{"position":[[54,1]]},"37":{"position":[[155,1]]},"53":{"position":[[155,1]]},"138":{"position":[[155,1]]},"154":{"position":[[155,1]]},"166":{"position":[[54,1]]}}}],["元素",{"_index":90,"t":{"10":{"position":[[23,2]]},"164":{"position":[[23,2]]}}}],["元组",{"_index":417,"t":{"33":{"position":[[367,2],[544,2]]},"150":{"position":[[367,2],[544,2]]}}}],["入门",{"_index":473,"t":{"37":{"position":[[142,2]]},"53":{"position":[[142,2]]},"138":{"position":[[142,2]]},"154":{"position":[[142,2]]}}}],["公网",{"_index":517,"t":{"43":{"position":[[19,2]]},"128":{"position":[[19,2]]}}}],["共建",{"_index":253,"t":{"26":{"position":[[167,2]]},"35":{"position":[[90,2]]},"51":{"position":[[66,2]]},"136":{"position":[[66,2]]},"144":{"position":[[167,2]]},"152":{"position":[[90,2]]}}}],["关系",{"_index":110,"t":{"10":{"position":[[89,2]]},"164":{"position":[[89,2]]}}}],["关联",{"_index":209,"t":{"20":{"position":[[274,2]]},"174":{"position":[[274,2]]}}}],["兴起",{"_index":7,"t":{"2":{"position":[[17,2]]},"4":{"position":[[13,2]]},"22":{"position":[[17,2]]},"24":{"position":[[13,2]]},"39":{"position":[[17,2]]},"41":{"position":[[13,2]]},"126":{"position":[[13,2]]},"142":{"position":[[13,2]]},"158":{"position":[[13,2]]}}}],["其他",{"_index":501,"t":{"37":{"position":[[360,2]]},"53":{"position":[[360,2]]},"138":{"position":[[360,2]]},"154":{"position":[[360,2]]}}}],["其余",{"_index":93,"t":{"10":{"position":[[34,2]]},"164":{"position":[[34,2]]}}}],["其它",{"_index":533,"t":{"47":{"position":[[37,2]]},"132":{"position":[[37,2]]}}}],["具有",{"_index":118,"t":{"12":{"position":[[21,2]]},"166":{"position":[[21,2]]}}}],["内",{"_index":401,"t":{"33":{"position":[[20,1]]},"43":{"position":[[72,1]]},"45":{"position":[[28,1],[130,1],[189,1]]},"128":{"position":[[72,1]]},"130":{"position":[[28,1],[130,1],[189,1]]},"150":{"position":[[20,1]]}}}],["内容",{"_index":16,"t":{"2":{"position":[[44,2]]},"4":{"position":[[40,2]]},"22":{"position":[[44,2]]},"24":{"position":[[40,2]]},"37":{"position":[[217,2],[238,2]]},"39":{"position":[[44,2]]},"41":{"position":[[40,2]]},"53":{"position":[[217,2],[238,2]]},"126":{"position":[[40,2]]},"138":{"position":[[217,2],[238,2]]},"142":{"position":[[40,2]]},"154":{"position":[[217,2],[238,2]]},"158":{"position":[[40,2]]}}}],["内部",{"_index":236,"t":{"26":{"position":[[98,2]]},"35":{"position":[[26,2]]},"43":{"position":[[36,2]]},"47":{"position":[[60,2]]},"128":{"position":[[36,2]]},"132":{"position":[[60,2]]},"144":{"position":[[98,2]]},"152":{"position":[[26,2]]}}}],["几何",{"_index":61,"t":{"6":{"position":[[17,2]]},"160":{"position":[[17,2]]}}}],["几步",{"_index":108,"t":{"10":{"position":[[82,2]]},"164":{"position":[[82,2]]}}}],["分享",{"_index":497,"t":{"37":{"position":[[343,2]]},"53":{"position":[[343,2]]},"138":{"position":[[343,2]]},"154":{"position":[[343,2]]}}}],["分析",{"_index":547,"t":{"51":{"position":[[22,2]]},"136":{"position":[[22,2]]}}}],["列表",{"_index":142,"t":{"14":{"position":[[14,2]]},"16":{"position":[[106,2],[173,2],[222,2],[282,2]]},"18":{"position":[[37,2],[55,2],[76,2],[99,2],[154,2]]},"37":{"position":[[168,2]]},"53":{"position":[[168,2]]},"138":{"position":[[168,2]]},"154":{"position":[[168,2]]},"168":{"position":[[14,2]]},"170":{"position":[[106,2],[173,2],[222,2],[282,2]]},"172":{"position":[[37,2],[55,2],[76,2],[99,2],[154,2]]}}}],["创建",{"_index":186,"t":{"20":{"position":[[57,2],[321,2]]},"33":{"position":[[363,2],[507,2],[538,2]]},"150":{"position":[[363,2],[507,2],[538,2]]},"174":{"position":[[57,2],[321,2]]}}}],["创意",{"_index":82,"t":{"8":{"position":[[51,2]]},"162":{"position":[[51,2]]}}}],["创新",{"_index":27,"t":{"2":{"position":[[84,2]]},"4":{"position":[[80,2]]},"22":{"position":[[84,2]]},"24":{"position":[[80,2]]},"39":{"position":[[84,2]]},"41":{"position":[[80,2]]},"126":{"position":[[80,2]]},"142":{"position":[[80,2]]},"158":{"position":[[80,2]]}}}],["删掉",{"_index":97,"t":{"10":{"position":[[45,2]]},"164":{"position":[[45,2]]}}}],["删除",{"_index":166,"t":{"16":{"position":[[237,2],[248,2],[261,2]]},"18":{"position":[[114,2],[124,2],[136,2]]},"20":{"position":[[9,2],[25,2]]},"170":{"position":[[237,2],[248,2],[261,2]]},"172":{"position":[[114,2],[124,2],[136,2]]},"174":{"position":[[9,2],[25,2]]}}}],["利用",{"_index":44,"t":{"2":{"position":[[146,2]]},"4":{"position":[[142,2]]},"22":{"position":[[146,2]]},"24":{"position":[[142,2]]},"39":{"position":[[146,2]]},"41":{"position":[[142,2]]},"126":{"position":[[142,2]]},"142":{"position":[[142,2]]},"158":{"position":[[142,2]]}}}],["功能",{"_index":41,"t":{"2":{"position":[[120,2]]},"4":{"position":[[116,2]]},"14":{"position":[[12,2]]},"22":{"position":[[120,2]]},"24":{"position":[[116,2]]},"39":{"position":[[120,2]]},"41":{"position":[[116,2]]},"126":{"position":[[116,2]]},"142":{"position":[[116,2]]},"158":{"position":[[116,2]]},"168":{"position":[[12,2]]}}}],["助手",{"_index":492,"t":{"37":{"position":[[275,2]]},"53":{"position":[[275,2]]},"138":{"position":[[275,2]]},"154":{"position":[[275,2]]}}}],["包含",{"_index":419,"t":{"33":{"position":[[381,2],[547,2]]},"150":{"position":[[381,2],[547,2]]}}}],["包括",{"_index":17,"t":{"2":{"position":[[46,2]]},"4":{"position":[[42,2]]},"16":{"position":[[13,2]]},"20":{"position":[[269,2]]},"22":{"position":[[46,2]]},"24":{"position":[[42,2]]},"37":{"position":[[241,2]]},"39":{"position":[[46,2]]},"41":{"position":[[42,2]]},"53":{"position":[[241,2]]},"126":{"position":[[42,2]]},"138":{"position":[[241,2]]},"142":{"position":[[42,2]]},"154":{"position":[[241,2]]},"158":{"position":[[42,2]]},"170":{"position":[[13,2]]},"174":{"position":[[269,2]]}}}],["化",{"_index":279,"t":{"29":{"position":[[139,1],[152,1]]},"47":{"position":[[2,1]]},"132":{"position":[[2,1]]},"146":{"position":[[139,1],[152,1]]}}}],["协议",{"_index":269,"t":{"29":{"position":[[66,2],[97,2]]},"146":{"position":[[66,2],[97,2]]}}}],["单机",{"_index":287,"t":{"29":{"position":[[204,2]]},"146":{"position":[[204,2]]}}}],["单独",{"_index":510,"t":{"43":{"position":[[0,2],[31,2]]},"128":{"position":[[0,2],[31,2]]}}}],["单行",{"_index":165,"t":{"16":{"position":[[235,2]]},"170":{"position":[[235,2]]}}}],["即使",{"_index":105,"t":{"10":{"position":[[75,2]]},"164":{"position":[[75,2]]}}}],["参与",{"_index":457,"t":{"37":{"position":[[29,2],[58,2]]},"53":{"position":[[29,2],[58,2]]},"138":{"position":[[29,2],[58,2]]},"154":{"position":[[29,2],[58,2]]}}}],["参数",{"_index":427,"t":{"33":{"position":[[491,2]]},"150":{"position":[[491,2]]}}}],["参考",{"_index":466,"t":{"37":{"position":[[67,2]]},"53":{"position":[[67,2]]},"138":{"position":[[67,2]]},"154":{"position":[[67,2]]}}}],["发展",{"_index":507,"t":{"37":{"position":[[390,2]]},"53":{"position":[[390,2]]},"138":{"position":[[390,2]]},"154":{"position":[[390,2]]}}}],["发布",{"_index":273,"t":{"29":{"position":[[112,2]]},"37":{"position":[[222,2]]},"53":{"position":[[222,2]]},"138":{"position":[[222,2]]},"146":{"position":[[112,2]]},"154":{"position":[[222,2]]}}}],["发现",{"_index":452,"t":{"37":{"position":[[7,2]]},"53":{"position":[[7,2]]},"138":{"position":[[7,2]]},"154":{"position":[[7,2]]}}}],["只有",{"_index":515,"t":{"43":{"position":[[15,2]]},"128":{"position":[[15,2]]}}}],["可以",{"_index":159,"t":{"16":{"position":[[84,2],[153,2],[186,2],[257,2],[293,2]]},"18":{"position":[[24,2],[67,2],[86,2],[132,2]]},"20":{"position":[[208,2]]},"29":{"position":[[38,2],[206,2],[224,2]]},"43":{"position":[[23,2]]},"45":{"position":[[61,2]]},"128":{"position":[[23,2]]},"130":{"position":[[61,2]]},"146":{"position":[[38,2],[206,2],[224,2]]},"170":{"position":[[84,2],[153,2],[186,2],[257,2],[293,2]]},"172":{"position":[[24,2],[67,2],[86,2],[132,2]]},"174":{"position":[[208,2]]}}}],["可视化",{"_index":14,"t":{"2":{"position":[[35,3],[41,3]]},"4":{"position":[[31,3],[37,3]]},"12":{"position":[[25,3]]},"22":{"position":[[35,3],[41,3]]},"24":{"position":[[31,3],[37,3]]},"39":{"position":[[35,3],[41,3]]},"41":{"position":[[31,3],[37,3]]},"126":{"position":[[31,3],[37,3]]},"142":{"position":[[31,3],[37,3]]},"158":{"position":[[31,3],[37,3]]},"166":{"position":[[25,3]]}}}],["名",{"_index":178,"t":{"18":{"position":[[84,1]]},"172":{"position":[[84,1]]}}}],["名称",{"_index":147,"t":{"16":{"position":[[21,2],[60,2],[129,2],[194,2],[254,2]]},"47":{"position":[[71,2],[85,2]]},"49":{"position":[[39,2]]},"132":{"position":[[71,2],[85,2]]},"134":{"position":[[39,2]]},"170":{"position":[[21,2],[60,2],[129,2],[194,2],[254,2]]}}}],["后续",{"_index":212,"t":{"20":{"position":[[288,2]]},"26":{"position":[[165,2]]},"35":{"position":[[86,2]]},"51":{"position":[[62,2]]},"136":{"position":[[62,2]]},"144":{"position":[[165,2]]},"152":{"position":[[86,2]]},"174":{"position":[[288,2]]}}}],["吞吐量",{"_index":295,"t":{"29":{"position":[[242,3]]},"146":{"position":[[242,3]]}}}],["含义",{"_index":69,"t":{"8":{"position":[[4,2]]},"162":{"position":[[4,2]]}}}],["告诉",{"_index":548,"t":{"51":{"position":[[26,2]]},"136":{"position":[[26,2]]}}}],["命名",{"_index":185,"t":{"20":{"position":[[54,2]]},"174":{"position":[[54,2]]}}}],["响应",{"_index":277,"t":{"29":{"position":[[126,2]]},"146":{"position":[[126,2]]}}}],["回",{"_index":249,"t":{"26":{"position":[[146,1]]},"144":{"position":[[146,1]]}}}],["因为",{"_index":399,"t":{"33":{"position":[[16,2]]},"47":{"position":[[25,2]]},"132":{"position":[[25,2]]},"150":{"position":[[16,2]]}}}],["图",{"_index":40,"t":{"2":{"position":[[119,1],[132,1]]},"4":{"position":[[115,1],[128,1]]},"22":{"position":[[119,1],[132,1]]},"24":{"position":[[115,1],[128,1]]},"39":{"position":[[119,1],[132,1]]},"41":{"position":[[115,1],[128,1]]},"126":{"position":[[115,1],[128,1]]},"142":{"position":[[115,1],[128,1]]},"158":{"position":[[115,1],[128,1]]}}}],["图例",{"_index":183,"t":{"20":{"position":[[35,2],[48,2],[72,2],[93,2],[271,2]]},"174":{"position":[[35,2],[48,2],[72,2],[93,2],[271,2]]}}}],["图像",{"_index":4,"t":{"2":{"position":[[10,2]]},"4":{"position":[[6,2]]},"22":{"position":[[10,2]]},"24":{"position":[[6,2]]},"39":{"position":[[10,2]]},"41":{"position":[[6,2]]},"126":{"position":[[6,2]]},"142":{"position":[[6,2]]},"158":{"position":[[6,2]]}}}],["图形",{"_index":52,"t":{"2":{"position":[[204,2]]},"4":{"position":[[200,2]]},"8":{"position":[[42,2]]},"22":{"position":[[204,2]]},"24":{"position":[[200,2]]},"39":{"position":[[204,2]]},"41":{"position":[[200,2]]},"126":{"position":[[200,2]]},"142":{"position":[[200,2]]},"158":{"position":[[200,2]]},"162":{"position":[[42,2]]}}}],["图形学",{"_index":35,"t":{"2":{"position":[[108,3]]},"4":{"position":[[104,3]]},"22":{"position":[[108,3]]},"24":{"position":[[104,3]]},"39":{"position":[[108,3]]},"41":{"position":[[104,3]]},"126":{"position":[[104,3]]},"142":{"position":[[104,3]]},"158":{"position":[[104,3]]}}}],["图表",{"_index":215,"t":{"20":{"position":[[324,2]]},"174":{"position":[[324,2]]}}}],["在内",{"_index":210,"t":{"20":{"position":[[280,2]]},"174":{"position":[[280,2]]}}}],["地",{"_index":265,"t":{"29":{"position":[[43,1]]},"146":{"position":[[43,1]]}}}],["地址",{"_index":216,"t":{"22":{"position":[[215,2],[259,2]]},"24":{"position":[[211,2],[255,2]]},"33":{"position":[[217,2],[240,2],[395,2],[560,2]]},"35":{"position":[[38,2]]},"39":{"position":[[215,2],[259,2]]},"41":{"position":[[211,2],[255,2]]},"126":{"position":[[211,2],[255,2]]},"142":{"position":[[211,2],[255,2]]},"150":{"position":[[217,2],[240,2],[395,2],[560,2]]},"152":{"position":[[38,2]]}}}],["场景",{"_index":20,"t":{"2":{"position":[[56,2],[70,2]]},"4":{"position":[[52,2],[66,2]]},"20":{"position":[[0,2],[41,2],[88,2],[299,2],[306,2],[311,2]]},"22":{"position":[[56,2],[70,2]]},"24":{"position":[[52,2],[66,2]]},"39":{"position":[[56,2],[70,2]]},"41":{"position":[[52,2],[66,2]]},"126":{"position":[[52,2],[66,2]]},"142":{"position":[[52,2],[66,2]]},"158":{"position":[[52,2],[66,2]]},"174":{"position":[[0,2],[41,2],[88,2],[299,2],[306,2],[311,2]]}}}],["域名",{"_index":523,"t":{"43":{"position":[[79,2]]},"45":{"position":[[35,2]]},"128":{"position":[[79,2]]},"130":{"position":[[35,2]]}}}],["增加",{"_index":180,"t":{"20":{"position":[[3,2],[19,2]]},"174":{"position":[[3,2],[19,2]]}}}],["处理",{"_index":32,"t":{"2":{"position":[[97,2]]},"4":{"position":[[93,2]]},"22":{"position":[[97,2]]},"24":{"position":[[93,2]]},"29":{"position":[[208,2]]},"39":{"position":[[97,2]]},"41":{"position":[[93,2]]},"126":{"position":[[93,2]]},"142":{"position":[[93,2]]},"146":{"position":[[208,2]]},"158":{"position":[[93,2]]}}}],["备注",{"_index":158,"t":{"16":{"position":[[80,2],[149,2],[214,2]]},"170":{"position":[[80,2],[149,2],[214,2]]}}}],["外",{"_index":511,"t":{"43":{"position":[[6,1]]},"128":{"position":[[6,1]]}}}],["外部",{"_index":262,"t":{"29":{"position":[[33,2]]},"47":{"position":[[49,2]]},"132":{"position":[[49,2]]},"146":{"position":[[33,2]]}}}],["多",{"_index":85,"t":{"10":{"position":[[4,1],[10,1],[79,1]]},"29":{"position":[[247,1]]},"146":{"position":[[247,1]]},"164":{"position":[[4,1],[10,1],[79,1]]}}}],["多个",{"_index":404,"t":{"33":{"position":[[36,2]]},"43":{"position":[[47,2],[62,2]]},"45":{"position":[[3,2],[18,2]]},"128":{"position":[[47,2],[62,2]]},"130":{"position":[[3,2],[18,2]]},"150":{"position":[[36,2]]}}}],["多种",{"_index":272,"t":{"29":{"position":[[101,2],[129,2]]},"146":{"position":[[101,2],[129,2]]}}}],["多维",{"_index":66,"t":{"6":{"position":[[31,2]]},"160":{"position":[[31,2]]}}}],["大家",{"_index":437,"t":{"35":{"position":[[32,2],[84,2]]},"51":{"position":[[60,2]]},"136":{"position":[[60,2]]},"152":{"position":[[32,2],[84,2]]}}}],["如何",{"_index":461,"t":{"37":{"position":[[49,2]]},"53":{"position":[[49,2]]},"138":{"position":[[49,2]]},"154":{"position":[[49,2]]}}}],["如果",{"_index":239,"t":{"26":{"position":[[105,2]]},"43":{"position":[[44,2]]},"45":{"position":[[0,2]]},"128":{"position":[[44,2]]},"130":{"position":[[0,2]]},"144":{"position":[[105,2]]}}}],["安装",{"_index":484,"t":{"37":{"position":[[247,2]]},"53":{"position":[[247,2]]},"138":{"position":[[247,2]]},"154":{"position":[[247,2]]}}}],["官方",{"_index":449,"t":{"37":{"position":[[0,2]]},"53":{"position":[[0,2]]},"138":{"position":[[0,2]]},"154":{"position":[[0,2]]}}}],["实例",{"_index":409,"t":{"33":{"position":[[130,2]]},"150":{"position":[[130,2]]}}}],["实现",{"_index":37,"t":{"2":{"position":[[115,2],[196,2]]},"4":{"position":[[111,2],[192,2]]},"22":{"position":[[115,2],[196,2]]},"24":{"position":[[111,2],[192,2]]},"26":{"position":[[37,2]]},"29":{"position":[[78,2],[231,2]]},"39":{"position":[[115,2],[196,2]]},"41":{"position":[[111,2],[192,2]]},"126":{"position":[[111,2],[192,2]]},"142":{"position":[[111,2],[192,2]]},"144":{"position":[[37,2]]},"146":{"position":[[78,2],[231,2]]},"158":{"position":[[111,2],[192,2]]}}}],["实践",{"_index":488,"t":{"37":{"position":[[261,2]]},"53":{"position":[[261,2]]},"138":{"position":[[261,2]]},"154":{"position":[[261,2]]}}}],["客户端",{"_index":434,"t":{"33":{"position":[[603,3]]},"150":{"position":[[603,3]]}}}],["宣传",{"_index":506,"t":{"37":{"position":[[384,2]]},"53":{"position":[[384,2]]},"138":{"position":[[384,2]]},"154":{"position":[[384,2]]}}}],["容器",{"_index":400,"t":{"33":{"position":[[18,2],[44,2]]},"47":{"position":[[0,2],[16,2],[76,2],[83,2]]},"132":{"position":[[0,2],[16,2],[76,2],[83,2]]},"150":{"position":[[18,2],[44,2]]}}}],["容易",{"_index":264,"t":{"29":{"position":[[41,2]]},"37":{"position":[[140,2]]},"53":{"position":[[140,2]]},"138":{"position":[[140,2]]},"146":{"position":[[41,2]]},"154":{"position":[[140,2]]}}}],["密码",{"_index":157,"t":{"16":{"position":[[77,2],[146,2],[211,2]]},"170":{"position":[[77,2],[146,2],[211,2]]}}}],["对于",{"_index":101,"t":{"10":{"position":[[59,2]]},"164":{"position":[[59,2]]}}}],["对应",{"_index":188,"t":{"20":{"position":[[69,2]]},"174":{"position":[[69,2]]}}}],["对象",{"_index":421,"t":{"33":{"position":[[451,2],[469,2],[519,2],[588,2]]},"150":{"position":[[451,2],[469,2],[519,2],[588,2]]}}}],["将",{"_index":30,"t":{"2":{"position":[[92,1]]},"4":{"position":[[88,1]]},"16":{"position":[[295,1]]},"22":{"position":[[92,1]]},"24":{"position":[[88,1]]},"29":{"position":[[147,1]]},"33":{"position":[[503,1],[568,1]]},"39":{"position":[[92,1]]},"41":{"position":[[88,1]]},"126":{"position":[[88,1]]},"142":{"position":[[88,1]]},"146":{"position":[[147,1]]},"150":{"position":[[503,1],[568,1]]},"158":{"position":[[88,1]]},"170":{"position":[[295,1]]}}}],["少",{"_index":83,"t":{"10":{"position":[[1,1],[7,1]]},"164":{"position":[[1,1],[7,1]]}}}],["就",{"_index":243,"t":{"26":{"position":[[130,1]]},"35":{"position":[[78,1]]},"43":{"position":[[22,1]]},"45":{"position":[[60,1]]},"47":{"position":[[44,1]]},"51":{"position":[[54,1]]},"128":{"position":[[22,1]]},"130":{"position":[[60,1]]},"132":{"position":[[44,1]]},"136":{"position":[[54,1]]},"144":{"position":[[130,1]]},"152":{"position":[[78,1]]}}}],["就是",{"_index":84,"t":{"10":{"position":[[2,2],[8,2]]},"33":{"position":[[536,2]]},"150":{"position":[[536,2]]},"164":{"position":[[2,2],[8,2]]}}}],["属性",{"_index":410,"t":{"33":{"position":[[152,2]]},"150":{"position":[[152,2]]}}}],["工作",{"_index":275,"t":{"29":{"position":[[118,2]]},"146":{"position":[[118,2]]}}}],["工具",{"_index":15,"t":{"2":{"position":[[38,2]]},"4":{"position":[[34,2]]},"22":{"position":[[38,2]]},"24":{"position":[[34,2]]},"39":{"position":[[38,2]]},"41":{"position":[[34,2]]},"126":{"position":[[34,2]]},"142":{"position":[[34,2]]},"158":{"position":[[34,2]]}}}],["带",{"_index":530,"t":{"47":{"position":[[15,1]]},"132":{"position":[[15,1]]}}}],["帮",{"_index":10,"t":{"2":{"position":[[28,1]]},"4":{"position":[[24,1]]},"22":{"position":[[28,1]]},"24":{"position":[[24,1]]},"39":{"position":[[28,1]]},"41":{"position":[[24,1]]},"126":{"position":[[24,1]]},"142":{"position":[[24,1]]},"158":{"position":[[24,1]]}}}],["帮助",{"_index":499,"t":{"37":{"position":[[348,2],[380,2]]},"53":{"position":[[348,2],[380,2]]},"138":{"position":[[348,2],[380,2]]},"154":{"position":[[348,2],[380,2]]}}}],["常用",{"_index":102,"t":{"10":{"position":[[64,2]]},"164":{"position":[[64,2]]}}}],["并且",{"_index":168,"t":{"16":{"position":[[268,2]]},"18":{"position":[[142,2]]},"37":{"position":[[138,2]]},"53":{"position":[[138,2]]},"138":{"position":[[138,2]]},"154":{"position":[[138,2]]},"170":{"position":[[268,2]]},"172":{"position":[[142,2]]}}}],["序号",{"_index":146,"t":{"16":{"position":[[15,2]]},"170":{"position":[[15,2]]}}}],["应用",{"_index":116,"t":{"12":{"position":[[16,2],[55,2]]},"166":{"position":[[16,2],[55,2]]}}}],["应该",{"_index":423,"t":{"33":{"position":[[456,2]]},"150":{"position":[[456,2]]}}}],["建立",{"_index":433,"t":{"33":{"position":[[593,2]]},"150":{"position":[[593,2]]}}}],["建议",{"_index":509,"t":{"37":{"position":[[396,2]]},"53":{"position":[[396,2]]},"138":{"position":[[396,2]]},"154":{"position":[[396,2]]}}}],["建设",{"_index":465,"t":{"37":{"position":[[64,2]]},"53":{"position":[[64,2]]},"138":{"position":[[64,2]]},"154":{"position":[[64,2]]}}}],["开发者",{"_index":459,"t":{"37":{"position":[[44,3],[350,3]]},"53":{"position":[[44,3],[350,3]]},"138":{"position":[[44,3],[350,3]]},"154":{"position":[[44,3],[350,3]]}}}],["开放",{"_index":534,"t":{"47":{"position":[[54,2]]},"132":{"position":[[54,2]]}}}],["开源",{"_index":481,"t":{"37":{"position":[[231,2]]},"53":{"position":[[231,2]]},"138":{"position":[[231,2]]},"154":{"position":[[231,2]]}}}],["异步",{"_index":228,"t":{"26":{"position":[[39,2]]},"144":{"position":[[39,2]]}}}],["形式",{"_index":489,"t":{"37":{"position":[[265,2]]},"53":{"position":[[265,2]]},"138":{"position":[[265,2]]},"154":{"position":[[265,2]]}}}],["形状",{"_index":72,"t":{"8":{"position":[[16,2]]},"162":{"position":[[16,2]]}}}],["影响",{"_index":127,"t":{"12":{"position":[[50,2]]},"166":{"position":[[50,2]]}}}],["彻底改变",{"_index":136,"t":{"12":{"position":[[77,4]]},"166":{"position":[[77,4]]}}}],["很多",{"_index":130,"t":{"12":{"position":[[62,2]]},"166":{"position":[[62,2]]}}}],["得出",{"_index":79,"t":{"8":{"position":[[40,2]]},"162":{"position":[[40,2]]}}}],["志愿者",{"_index":505,"t":{"37":{"position":[[376,3]]},"53":{"position":[[376,3]]},"138":{"position":[[376,3]]},"154":{"position":[[376,3]]}}}],["快速",{"_index":12,"t":{"2":{"position":[[31,2],[61,2]]},"4":{"position":[[27,2],[57,2]]},"22":{"position":[[31,2],[61,2]]},"24":{"position":[[27,2],[57,2]]},"39":{"position":[[31,2],[61,2]]},"41":{"position":[[27,2],[57,2]]},"126":{"position":[[27,2],[57,2]]},"142":{"position":[[27,2],[57,2]]},"158":{"position":[[27,2],[57,2]]}}}],["思维",{"_index":126,"t":{"12":{"position":[[48,2]]},"166":{"position":[[48,2]]}}}],["思路",{"_index":257,"t":{"26":{"position":[[175,2]]},"35":{"position":[[101,2]]},"51":{"position":[[77,2]]},"136":{"position":[[77,2]]},"144":{"position":[[175,2]]},"152":{"position":[[101,2]]}}}],["想",{"_index":9,"t":{"2":{"position":[[27,1]]},"4":{"position":[[23,1]]},"22":{"position":[[27,1]]},"24":{"position":[[23,1]]},"39":{"position":[[27,1]]},"41":{"position":[[23,1]]},"126":{"position":[[23,1]]},"142":{"position":[[23,1]]},"158":{"position":[[23,1]]}}}],["意思",{"_index":81,"t":{"8":{"position":[[47,2]]},"10":{"position":[[12,2]]},"162":{"position":[[47,2]]},"164":{"position":[[12,2]]}}}],["成为",{"_index":504,"t":{"37":{"position":[[372,2]]},"53":{"position":[[372,2]]},"138":{"position":[[372,2]]},"154":{"position":[[372,2]]}}}],["成功",{"_index":160,"t":{"16":{"position":[[88,2],[155,2],[259,2]]},"18":{"position":[[26,2],[134,2]]},"20":{"position":[[59,2],[110,2],[155,2],[205,2]]},"170":{"position":[[88,2],[155,2],[259,2]]},"172":{"position":[[26,2],[134,2]]},"174":{"position":[[59,2],[110,2],[155,2],[205,2]]}}}],["我们",{"_index":470,"t":{"37":{"position":[[128,2]]},"53":{"position":[[128,2]]},"138":{"position":[[128,2]]},"154":{"position":[[128,2]]}}}],["或者",{"_index":522,"t":{"43":{"position":[[77,2]]},"45":{"position":[[33,2]]},"128":{"position":[[77,2]]},"130":{"position":[[33,2]]}}}],["所以",{"_index":129,"t":{"12":{"position":[[60,2]]},"49":{"position":[[48,2]]},"134":{"position":[[48,2]]},"166":{"position":[[60,2]]}}}],["所在",{"_index":187,"t":{"20":{"position":[[63,2]]},"174":{"position":[[63,2]]}}}],["所有",{"_index":144,"t":{"16":{"position":[[7,2]]},"33":{"position":[[236,2]]},"150":{"position":[[236,2]]},"170":{"position":[[7,2]]}}}],["打开",{"_index":189,"t":{"20":{"position":[[76,2],[97,2],[108,2]]},"174":{"position":[[76,2],[97,2],[108,2]]}}}],["执行",{"_index":202,"t":{"20":{"position":[[241,2]]},"174":{"position":[[241,2]]}}}],["扩展",{"_index":290,"t":{"29":{"position":[[219,2],[228,2]]},"146":{"position":[[219,2],[228,2]]}}}],["技术",{"_index":498,"t":{"37":{"position":[[345,2]]},"53":{"position":[[345,2]]},"138":{"position":[[345,2]]},"154":{"position":[[345,2]]}}}],["投稿",{"_index":491,"t":{"37":{"position":[[271,2]]},"53":{"position":[[271,2]]},"138":{"position":[[271,2]]},"154":{"position":[[271,2]]}}}],["报错",{"_index":247,"t":{"26":{"position":[[140,2]]},"144":{"position":[[140,2]]}}}],["持久",{"_index":278,"t":{"29":{"position":[[137,2],[150,2]]},"146":{"position":[[137,2],[150,2]]}}}],["持续",{"_index":454,"t":{"37":{"position":[[20,2]]},"53":{"position":[[20,2]]},"138":{"position":[[20,2]]},"154":{"position":[[20,2]]}}}],["指定",{"_index":184,"t":{"20":{"position":[[39,2],[86,2]]},"174":{"position":[[39,2],[86,2]]}}}],["按照",{"_index":213,"t":{"20":{"position":[[309,2]]},"174":{"position":[[309,2]]}}}],["按钮",{"_index":150,"t":{"16":{"position":[[40,2]]},"170":{"position":[[40,2]]}}}],["接收",{"_index":349,"t":{"31":{"position":[[970,2],[1969,2]]},"148":{"position":[[970,2],[1969,2]]}}}],["描述",{"_index":51,"t":{"2":{"position":[[201,2]]},"4":{"position":[[197,2]]},"16":{"position":[[33,2]]},"18":{"position":[[14,2]]},"22":{"position":[[201,2]]},"24":{"position":[[197,2]]},"39":{"position":[[201,2]]},"41":{"position":[[197,2]]},"47":{"position":[[11,2],[22,2]]},"126":{"position":[[197,2]]},"132":{"position":[[11,2],[22,2]]},"142":{"position":[[197,2]]},"158":{"position":[[197,2]]},"170":{"position":[[33,2]]},"172":{"position":[[14,2]]}}}],["提交",{"_index":462,"t":{"37":{"position":[[51,2]]},"53":{"position":[[51,2]]},"138":{"position":[[51,2]]},"154":{"position":[[51,2]]}}}],["提供",{"_index":255,"t":{"26":{"position":[[171,2]]},"29":{"position":[[269,2]]},"35":{"position":[[99,2]]},"37":{"position":[[392,2]]},"51":{"position":[[75,2]]},"53":{"position":[[392,2]]},"136":{"position":[[75,2]]},"138":{"position":[[392,2]]},"144":{"position":[[171,2]]},"146":{"position":[[269,2]]},"152":{"position":[[99,2]]},"154":{"position":[[392,2]]}}}],["提高",{"_index":293,"t":{"29":{"position":[[236,2]]},"146":{"position":[[236,2]]}}}],["操作",{"_index":103,"t":{"10":{"position":[[67,2],[84,2]]},"16":{"position":[[38,2]]},"164":{"position":[[67,2],[84,2]]},"170":{"position":[[38,2]]}}}],["支持",{"_index":267,"t":{"29":{"position":[[62,2],[110,2],[140,2],[145,2],[250,2]]},"146":{"position":[[62,2],[110,2],[140,2],[145,2],[250,2]]}}}],["攻略",{"_index":467,"t":{"37":{"position":[[69,2]]},"53":{"position":[[69,2]]},"138":{"position":[[69,2]]},"154":{"position":[[69,2]]}}}],["教程",{"_index":486,"t":{"37":{"position":[[251,2]]},"53":{"position":[[251,2]]},"138":{"position":[[251,2]]},"154":{"position":[[251,2]]}}}],["数据",{"_index":24,"t":{"2":{"position":[[66,2]]},"4":{"position":[[62,2]]},"16":{"position":[[2,2]]},"20":{"position":[[78,2],[99,2],[254,2],[276,2]]},"22":{"position":[[66,2]]},"24":{"position":[[62,2]]},"39":{"position":[[66,2]]},"41":{"position":[[62,2]]},"126":{"position":[[62,2]]},"142":{"position":[[62,2]]},"158":{"position":[[62,2]]},"170":{"position":[[2,2]]},"174":{"position":[[78,2],[99,2],[254,2],[276,2]]}}}],["数据库",{"_index":195,"t":{"20":{"position":[[150,3],[199,3]]},"49":{"position":[[0,3],[36,3]]},"134":{"position":[[0,3],[36,3]]},"174":{"position":[[150,3],[199,3]]}}}],["数据源",{"_index":145,"t":{"16":{"position":[[9,3],[18,3],[24,3],[51,3],[57,3],[63,3],[97,3],[103,3],[120,3],[126,3],[132,3],[164,3],[170,3],[182,3],[190,3],[197,3],[219,3],[239,3],[251,3],[264,3],[271,3],[279,3],[287,3],[299,3]]},"20":{"position":[[115,3],[121,3],[135,3],[143,3],[163,3],[171,3],[180,3],[189,3]]},"170":{"position":[[9,3],[18,3],[24,3],[51,3],[57,3],[63,3],[97,3],[103,3],[120,3],[126,3],[132,3],[164,3],[170,3],[182,3],[190,3],[197,3],[219,3],[239,3],[251,3],[264,3],[271,3],[279,3],[287,3],[299,3]]},"174":{"position":[[115,3],[121,3],[135,3],[143,3],[163,3],[171,3],[180,3],[189,3]]}}}],["数据管理",{"_index":122,"t":{"12":{"position":[[37,4]]},"166":{"position":[[37,4]]}}}],["整个",{"_index":141,"t":{"14":{"position":[[5,2]]},"20":{"position":[[304,2]]},"168":{"position":[[5,2]]},"174":{"position":[[304,2]]}}}],["整体",{"_index":294,"t":{"29":{"position":[[240,2]]},"146":{"position":[[240,2]]}}}],["文",{"_index":38,"t":{"2":{"position":[[117,1],[130,1]]},"4":{"position":[[113,1],[126,1]]},"22":{"position":[[117,1],[130,1]]},"24":{"position":[[113,1],[126,1]]},"39":{"position":[[117,1],[130,1]]},"41":{"position":[[113,1],[126,1]]},"126":{"position":[[113,1],[126,1]]},"142":{"position":[[113,1],[126,1]]},"158":{"position":[[113,1],[126,1]]}}}],["文本",{"_index":2,"t":{"2":{"position":[[6,2],[199,2]]},"4":{"position":[[2,2],[195,2]]},"22":{"position":[[6,2],[199,2]]},"24":{"position":[[2,2],[195,2]]},"39":{"position":[[6,2],[199,2]]},"41":{"position":[[2,2],[195,2]]},"126":{"position":[[2,2],[195,2]]},"142":{"position":[[2,2],[195,2]]},"158":{"position":[[2,2],[195,2]]}}}],["文档",{"_index":450,"t":{"37":{"position":[[2,2],[9,2],[17,2],[24,2],[38,2]]},"53":{"position":[[2,2],[9,2],[17,2],[24,2],[38,2]]},"138":{"position":[[2,2],[9,2],[17,2],[24,2],[38,2]]},"154":{"position":[[2,2],[9,2],[17,2],[24,2],[38,2]]}}}],["断开",{"_index":344,"t":{"31":{"position":[[856,2]]},"148":{"position":[[856,2]]}}}],["新人",{"_index":475,"t":{"37":{"position":[[153,2]]},"53":{"position":[[153,2]]},"138":{"position":[[153,2]]},"154":{"position":[[153,2]]}}}],["新增",{"_index":175,"t":{"18":{"position":[[42,2]]},"172":{"position":[[42,2]]}}}],["新手",{"_index":478,"t":{"37":{"position":[[164,2]]},"53":{"position":[[164,2]]},"138":{"position":[[164,2]]},"154":{"position":[[164,2]]}}}],["方式",{"_index":456,"t":{"37":{"position":[[27,2]]},"51":{"position":[[36,2]]},"53":{"position":[[27,2]]},"136":{"position":[[36,2]]},"138":{"position":[[27,2]]},"154":{"position":[[27,2]]}}}],["方案",{"_index":88,"t":{"10":{"position":[[19,2]]},"164":{"position":[[19,2]]}}}],["方法",{"_index":425,"t":{"33":{"position":[[486,2]]},"150":{"position":[[486,2]]}}}],["日志",{"_index":246,"t":{"26":{"position":[[137,2]]},"144":{"position":[[137,2]]}}}],["旧",{"_index":125,"t":{"12":{"position":[[47,1]]},"166":{"position":[[47,1]]}}}],["旨在",{"_index":29,"t":{"2":{"position":[[90,2]]},"4":{"position":[[86,2]]},"22":{"position":[[90,2]]},"24":{"position":[[86,2]]},"39":{"position":[[90,2]]},"41":{"position":[[86,2]]},"126":{"position":[[86,2]]},"142":{"position":[[86,2]]},"158":{"position":[[86,2]]}}}],["时候",{"_index":238,"t":{"26":{"position":[[102,2]]},"35":{"position":[[40,2]]},"51":{"position":[[34,2]]},"136":{"position":[[34,2]]},"144":{"position":[[102,2]]},"152":{"position":[[40,2]]}}}],["明白",{"_index":438,"t":{"35":{"position":[[34,2]]},"47":{"position":[[33,2],[45,2]]},"132":{"position":[[33,2],[45,2]]},"152":{"position":[[34,2]]}}}],["易于",{"_index":258,"t":{"29":{"position":[[4,2]]},"146":{"position":[[4,2]]}}}],["显示",{"_index":143,"t":{"16":{"position":[[0,2],[5,2],[109,2],[176,2],[276,2]]},"18":{"position":[[40,2],[149,2]]},"20":{"position":[[67,2],[113,2],[158,2]]},"170":{"position":[[0,2],[5,2],[109,2],[176,2],[276,2]]},"172":{"position":[[40,2],[149,2]]},"174":{"position":[[67,2],[113,2],[158,2]]}}}],["更好",{"_index":448,"t":{"35":{"position":[[88,2]]},"51":{"position":[[64,2]]},"136":{"position":[[64,2]]},"152":{"position":[[88,2]]}}}],["更新",{"_index":455,"t":{"37":{"position":[[22,2]]},"53":{"position":[[22,2]]},"138":{"position":[[22,2]]},"154":{"position":[[22,2]]}}}],["替换",{"_index":541,"t":{"49":{"position":[[107,2],[154,2]]},"134":{"position":[[107,2],[154,2]]}}}],["有效",{"_index":508,"t":{"37":{"position":[[394,2]]},"53":{"position":[[394,2]]},"138":{"position":[[394,2]]},"154":{"position":[[394,2]]}}}],["服务器",{"_index":408,"t":{"33":{"position":[[127,3],[391,3],[556,3]]},"150":{"position":[[127,3],[391,3],[556,3]]}}}],["本文",{"_index":251,"t":{"26":{"position":[[152,2]]},"35":{"position":[[0,2]]},"51":{"position":[[0,2]]},"136":{"position":[[0,2]]},"144":{"position":[[152,2]]},"152":{"position":[[0,2]]}}}],["来看",{"_index":430,"t":{"33":{"position":[[526,2]]},"150":{"position":[[526,2]]}}}],["来自",{"_index":351,"t":{"31":{"position":[[991,2],[1990,2]]},"148":{"position":[[991,2],[1990,2]]}}}],["构",{"_index":22,"t":{"2":{"position":[[63,1]]},"4":{"position":[[59,1]]},"22":{"position":[[63,1]]},"24":{"position":[[59,1]]},"39":{"position":[[63,1]]},"41":{"position":[[59,1]]},"126":{"position":[[59,1]]},"142":{"position":[[59,1]]},"158":{"position":[[59,1]]}}}],["构建",{"_index":13,"t":{"2":{"position":[[33,2],[125,2]]},"4":{"position":[[29,2],[121,2]]},"22":{"position":[[33,2],[125,2]]},"24":{"position":[[29,2],[121,2]]},"39":{"position":[[33,2],[125,2]]},"41":{"position":[[29,2],[121,2]]},"126":{"position":[[29,2],[121,2]]},"142":{"position":[[29,2],[121,2]]},"158":{"position":[[29,2],[121,2]]}}}],["查看",{"_index":164,"t":{"16":{"position":[[225,2]]},"18":{"position":[[102,2]]},"20":{"position":[[290,2],[318,2]]},"170":{"position":[[225,2]]},"172":{"position":[[102,2]]},"174":{"position":[[290,2],[318,2]]}}}],["查询",{"_index":176,"t":{"18":{"position":[[51,2],[69,2]]},"20":{"position":[[215,2],[226,2],[236,2],[249,2]]},"172":{"position":[[51,2],[69,2]]},"174":{"position":[[215,2],[226,2],[236,2],[249,2]]}}}],["查阅",{"_index":477,"t":{"37":{"position":[[162,2]]},"53":{"position":[[162,2]]},"138":{"position":[[162,2]]},"154":{"position":[[162,2]]}}}],["柱形图",{"_index":203,"t":{"20":{"position":[[244,3]]},"174":{"position":[[244,3]]}}}],["根据",{"_index":204,"t":{"20":{"position":[[247,2]]},"174":{"position":[[247,2]]}}}],["根本",{"_index":532,"t":{"47":{"position":[[30,2]]},"132":{"position":[[30,2]]}}}],["框架",{"_index":117,"t":{"12":{"position":[[18,2],[28,2],[57,2]]},"47":{"position":[[20,2],[40,2]]},"132":{"position":[[20,2],[40,2]]},"166":{"position":[[18,2],[28,2],[57,2]]}}}],["案例",{"_index":435,"t":{"35":{"position":[[12,2]]},"37":{"position":[[259,2]]},"53":{"position":[[259,2]]},"138":{"position":[[259,2]]},"152":{"position":[[12,2]]},"154":{"position":[[259,2]]}}}],["梳理",{"_index":471,"t":{"37":{"position":[[130,2]]},"53":{"position":[[130,2]]},"138":{"position":[[130,2]]},"154":{"position":[[130,2]]}}}],["模块",{"_index":232,"t":{"26":{"position":[[64,2]]},"29":{"position":[[316,2]]},"144":{"position":[[64,2]]},"146":{"position":[[316,2]]}}}],["模型",{"_index":6,"t":{"2":{"position":[[15,2],[135,2]]},"4":{"position":[[11,2],[131,2]]},"22":{"position":[[15,2],[135,2]]},"24":{"position":[[11,2],[131,2]]},"26":{"position":[[60,2]]},"29":{"position":[[105,2],[133,2],[320,2]]},"39":{"position":[[15,2],[135,2]]},"41":{"position":[[11,2],[131,2]]},"126":{"position":[[11,2],[131,2]]},"142":{"position":[[11,2],[131,2]]},"144":{"position":[[60,2]]},"146":{"position":[[105,2],[133,2],[320,2]]},"158":{"position":[[11,2],[131,2]]}}}],["正常",{"_index":518,"t":{"43":{"position":[[25,2]]},"128":{"position":[[25,2]]}}}],["每秒",{"_index":289,"t":{"29":{"position":[[214,2]]},"146":{"position":[[214,2]]}}}],["水平",{"_index":291,"t":{"29":{"position":[[226,2]]},"146":{"position":[[226,2]]}}}],["没有",{"_index":109,"t":{"10":{"position":[[87,2]]},"45":{"position":[[45,2]]},"130":{"position":[[45,2]]},"164":{"position":[[87,2]]}}}],["注意",{"_index":397,"t":{"33":{"position":[[0,2]]},"150":{"position":[[0,2]]}}}],["流程",{"_index":50,"t":{"2":{"position":[[194,2]]},"4":{"position":[[190,2]]},"22":{"position":[[194,2]]},"24":{"position":[[190,2]]},"39":{"position":[[194,2]]},"41":{"position":[[190,2]]},"126":{"position":[[190,2]]},"142":{"position":[[190,2]]},"158":{"position":[[190,2]]}}}],["测试代码",{"_index":398,"t":{"33":{"position":[[11,4]]},"150":{"position":[[11,4]]}}}],["消息",{"_index":221,"t":{"26":{"position":[[14,2]]},"29":{"position":[[103,2],[131,2],[148,2],[212,2]]},"144":{"position":[[14,2]]},"146":{"position":[[103,2],[131,2],[148,2],[212,2]]}}}],["消息传递",{"_index":230,"t":{"26":{"position":[[46,4]]},"144":{"position":[[46,4]]}}}],["涉及",{"_index":235,"t":{"26":{"position":[[95,2]]},"33":{"position":[[33,2]]},"43":{"position":[[60,2]]},"45":{"position":[[16,2]]},"128":{"position":[[60,2]]},"130":{"position":[[16,2]]},"144":{"position":[[95,2]]},"150":{"position":[[33,2]]}}}],["深层",{"_index":80,"t":{"8":{"position":[[45,2]]},"162":{"position":[[45,2]]}}}],["添加",{"_index":151,"t":{"16":{"position":[[44,2],[90,2],[113,2],[157,2]]},"18":{"position":[[0,2],[28,2]]},"20":{"position":[[33,2],[46,2]]},"33":{"position":[[186,2],[514,2],[575,2]]},"150":{"position":[[186,2],[514,2],[575,2]]},"170":{"position":[[44,2],[90,2],[113,2],[157,2]]},"172":{"position":[[0,2],[28,2]]},"174":{"position":[[33,2],[46,2]]}}}],["滑",{"_index":191,"t":{"20":{"position":[[82,1],[103,1],[106,1]]},"174":{"position":[[82,1],[103,1],[106,1]]}}}],["演示",{"_index":25,"t":{"2":{"position":[[68,2]]},"4":{"position":[[64,2]]},"22":{"position":[[68,2]]},"24":{"position":[[64,2]]},"39":{"position":[[68,2]]},"41":{"position":[[64,2]]},"126":{"position":[[64,2]]},"142":{"position":[[64,2]]},"158":{"position":[[64,2]]}}}],["然后",{"_index":432,"t":{"33":{"position":[[566,2]]},"150":{"position":[[566,2]]}}}],["熟悉",{"_index":460,"t":{"37":{"position":[[47,2]]},"53":{"position":[[47,2]]},"138":{"position":[[47,2]]},"154":{"position":[[47,2]]}}}],["版本",{"_index":112,"t":{"12":{"position":[[2,2],[9,2]]},"14":{"position":[[10,2]]},"166":{"position":[[2,2],[9,2]]},"168":{"position":[[10,2]]}}}],["特定",{"_index":199,"t":{"20":{"position":[[186,2]]},"174":{"position":[[186,2]]}}}],["状态",{"_index":173,"t":{"16":{"position":[[307,2]]},"170":{"position":[[307,2]]}}}],["独立",{"_index":546,"t":{"51":{"position":[[6,2]]},"136":{"position":[[6,2]]}}}],["生",{"_index":39,"t":{"2":{"position":[[118,1],[131,1]]},"4":{"position":[[114,1],[127,1]]},"22":{"position":[[118,1],[131,1]]},"24":{"position":[[114,1],[127,1]]},"39":{"position":[[118,1],[131,1]]},"41":{"position":[[114,1],[127,1]]},"126":{"position":[[114,1],[127,1]]},"142":{"position":[[114,1],[127,1]]},"158":{"position":[[114,1],[127,1]]}}}],["生成",{"_index":3,"t":{"2":{"position":[[8,2],[206,2]]},"4":{"position":[[4,2],[202,2]]},"6":{"position":[[33,2]]},"8":{"position":[[53,2]]},"12":{"position":[[74,2]]},"22":{"position":[[8,2],[206,2]]},"24":{"position":[[4,2],[202,2]]},"39":{"position":[[8,2],[206,2]]},"41":{"position":[[4,2],[202,2]]},"126":{"position":[[4,2],[202,2]]},"142":{"position":[[4,2],[202,2]]},"158":{"position":[[4,2],[202,2]]},"160":{"position":[[33,2]]},"162":{"position":[[53,2]]},"166":{"position":[[74,2]]}}}],["用于",{"_index":226,"t":{"26":{"position":[[27,2]]},"144":{"position":[[27,2]]}}}],["用到",{"_index":234,"t":{"26":{"position":[[83,2]]},"29":{"position":[[344,2]]},"144":{"position":[[83,2]]},"146":{"position":[[344,2]]}}}],["用户",{"_index":106,"t":{"10":{"position":[[77,2]]},"16":{"position":[[30,2]]},"164":{"position":[[77,2]]},"170":{"position":[[30,2]]}}}],["用户名",{"_index":156,"t":{"16":{"position":[[73,3],[142,3],[207,3]]},"170":{"position":[[73,3],[142,3],[207,3]]}}}],["界面",{"_index":98,"t":{"10":{"position":[[51,2]]},"164":{"position":[[51,2]]}}}],["留下",{"_index":91,"t":{"10":{"position":[[27,2]]},"164":{"position":[[27,2]]}}}],["登录",{"_index":67,"t":{"8":{"position":[[0,2]]},"162":{"position":[[0,2]]}}}],["的话",{"_index":524,"t":{"45":{"position":[[47,2]]},"130":{"position":[[47,2]]}}}],["监听",{"_index":414,"t":{"33":{"position":[[214,2],[234,2],[251,2]]},"150":{"position":[[214,2],[234,2],[251,2]]}}}],["监听器",{"_index":413,"t":{"33":{"position":[[190,3]]},"45":{"position":[[123,3]]},"49":{"position":[[242,3]]},"130":{"position":[[123,3]]},"134":{"position":[[242,3]]},"150":{"position":[[190,3]]}}}],["目的",{"_index":442,"t":{"35":{"position":[[53,2]]},"152":{"position":[[53,2]]}}}],["盲目",{"_index":445,"t":{"35":{"position":[[65,2]]},"51":{"position":[[41,2]]},"136":{"position":[[41,2]]},"152":{"position":[[65,2]]}}}],["直接",{"_index":96,"t":{"10":{"position":[[43,2]]},"164":{"position":[[43,2]]}}}],["相关",{"_index":197,"t":{"20":{"position":[[168,2]]},"26":{"position":[[157,2]]},"37":{"position":[[235,2]]},"53":{"position":[[235,2]]},"138":{"position":[[235,2]]},"144":{"position":[[157,2]]},"154":{"position":[[235,2]]},"174":{"position":[[168,2]]}}}],["相应",{"_index":516,"t":{"43":{"position":[[17,2]]},"128":{"position":[[17,2]]}}}],["相结合",{"_index":36,"t":{"2":{"position":[[111,3]]},"4":{"position":[[107,3]]},"22":{"position":[[111,3]]},"24":{"position":[[107,3]]},"39":{"position":[[111,3]]},"41":{"position":[[107,3]]},"126":{"position":[[107,3]]},"142":{"position":[[107,3]]},"158":{"position":[[107,3]]}}}],["真正",{"_index":464,"t":{"37":{"position":[[56,2]]},"53":{"position":[[56,2]]},"138":{"position":[[56,2]]},"154":{"position":[[56,2]]}}}],["眼睛",{"_index":77,"t":{"8":{"position":[[36,2]]},"162":{"position":[[36,2]]}}}],["眼镜",{"_index":71,"t":{"8":{"position":[[13,2]]},"162":{"position":[[13,2]]}}}],["研",{"_index":43,"t":{"2":{"position":[[128,1]]},"4":{"position":[[124,1]]},"22":{"position":[[128,1]]},"24":{"position":[[124,1]]},"39":{"position":[[128,1]]},"41":{"position":[[124,1]]},"126":{"position":[[124,1]]},"142":{"position":[[124,1]]},"158":{"position":[[124,1]]}}}],["社区",{"_index":458,"t":{"37":{"position":[[31,2],[61,2],[133,2],[327,2],[335,2],[374,2],[382,2],[388,2]]},"53":{"position":[[31,2],[61,2],[133,2],[327,2],[335,2],[374,2],[382,2],[388,2]]},"138":{"position":[[31,2],[61,2],[133,2],[327,2],[335,2],[374,2],[382,2],[388,2]]},"154":{"position":[[31,2],[61,2],[133,2],[327,2],[335,2],[374,2],[382,2],[388,2]]}}}],["社区活动",{"_index":503,"t":{"37":{"position":[[367,4]]},"53":{"position":[[367,4]]},"138":{"position":[[367,4]]},"154":{"position":[[367,4]]}}}],["积极",{"_index":496,"t":{"37":{"position":[[332,2]]},"53":{"position":[[332,2]]},"138":{"position":[[332,2]]},"154":{"position":[[332,2]]}}}],["积极参与",{"_index":502,"t":{"37":{"position":[[363,4]]},"53":{"position":[[363,4]]},"138":{"position":[[363,4]]},"154":{"position":[[363,4]]}}}],["窗",{"_index":192,"t":{"20":{"position":[[83,1],[104,1],[107,1]]},"174":{"position":[[83,1],[104,1],[107,1]]}}}],["立方",{"_index":60,"t":{"6":{"position":[[15,2]]},"160":{"position":[[15,2]]}}}],["端",{"_index":281,"t":{"29":{"position":[[158,1]]},"146":{"position":[[158,1]]}}}],["端口",{"_index":415,"t":{"33":{"position":[[220,2],[257,2],[406,2],[563,2]]},"47":{"position":[[56,2]]},"132":{"position":[[56,2]]},"150":{"position":[[220,2],[257,2],[406,2],[563,2]]}}}],["第一个",{"_index":114,"t":{"12":{"position":[[6,3]]},"14":{"position":[[7,3]]},"166":{"position":[[6,3]]},"168":{"position":[[7,3]]}}}],["等",{"_index":124,"t":{"12":{"position":[[44,1]]},"29":{"position":[[91,1],[128,1],[174,1],[283,1]]},"37":{"position":[[26,1],[263,1],[357,1],[398,1]]},"53":{"position":[[26,1],[263,1],[357,1],[398,1]]},"138":{"position":[[26,1],[263,1],[357,1],[398,1]]},"146":{"position":[[91,1],[128,1],[174,1],[283,1]]},"154":{"position":[[26,1],[263,1],[357,1],[398,1]]},"166":{"position":[[44,1]]}}}],["答疑",{"_index":495,"t":{"37":{"position":[[329,2],[340,2]]},"53":{"position":[[329,2],[340,2]]},"138":{"position":[[329,2],[340,2]]},"154":{"position":[[329,2],[340,2]]}}}],["简化",{"_index":529,"t":{"47":{"position":[[9,2]]},"132":{"position":[[9,2]]}}}],["简单",{"_index":472,"t":{"37":{"position":[[136,2]]},"53":{"position":[[136,2]]},"138":{"position":[[136,2]]},"154":{"position":[[136,2]]}}}],["管理",{"_index":531,"t":{"47":{"position":[[18,2]]},"132":{"position":[[18,2]]}}}],["管理器",{"_index":412,"t":{"33":{"position":[[161,3]]},"150":{"position":[[161,3]]}}}],["类型",{"_index":148,"t":{"16":{"position":[[27,2]]},"20":{"position":[[118,2],[138,2],[146,2],[166,2]]},"170":{"position":[[27,2]]},"174":{"position":[[118,2],[138,2],[146,2],[166,2]]}}}],["精简",{"_index":87,"t":{"10":{"position":[[17,2]]},"164":{"position":[[17,2]]}}}],["系统",{"_index":224,"t":{"26":{"position":[[22,2]]},"29":{"position":[[238,2]]},"144":{"position":[[22,2]]},"146":{"position":[[238,2]]}}}],["纯",{"_index":259,"t":{"29":{"position":[[20,1]]},"146":{"position":[[20,1]]}}}],["线条",{"_index":76,"t":{"8":{"position":[[31,2]]},"162":{"position":[[31,2]]}}}],["组件",{"_index":482,"t":{"37":{"position":[[233,2]]},"53":{"position":[[233,2]]},"138":{"position":[[233,2]]},"154":{"position":[[233,2]]}}}],["经验",{"_index":487,"t":{"37":{"position":[[256,2]]},"53":{"position":[[256,2]]},"138":{"position":[[256,2]]},"154":{"position":[[256,2]]}}}],["结果",{"_index":250,"t":{"26":{"position":[[149,2]]},"144":{"position":[[149,2]]}}}],["绘制",{"_index":206,"t":{"20":{"position":[[258,2]]},"174":{"position":[[258,2]]}}}],["综合",{"_index":429,"t":{"33":{"position":[[524,2]]},"150":{"position":[[524,2]]}}}],["编写",{"_index":260,"t":{"29":{"position":[[27,2]]},"146":{"position":[[27,2]]}}}],["编辑",{"_index":163,"t":{"16":{"position":[[180,2],[188,2],[227,2]]},"18":{"position":[[80,2],[88,2],[104,2]]},"20":{"position":[[293,2]]},"170":{"position":[[180,2],[188,2],[227,2]]},"172":{"position":[[80,2],[88,2],[104,2]]},"174":{"position":[[293,2]]}}}],["网",{"_index":512,"t":{"43":{"position":[[7,1],[73,1]]},"45":{"position":[[29,1],[131,1],[190,1]]},"128":{"position":[[7,1],[73,1]]},"130":{"position":[[29,1],[131,1],[190,1]]}}}],["网卡",{"_index":416,"t":{"33":{"position":[[238,2]]},"43":{"position":[[49,2]]},"45":{"position":[[5,2]]},"128":{"position":[[49,2]]},"130":{"position":[[5,2]]},"150":{"position":[[238,2]]}}}],["网段",{"_index":405,"t":{"33":{"position":[[48,2]]},"47":{"position":[[69,2]]},"132":{"position":[[69,2]]},"150":{"position":[[48,2]]}}}],["网络连接",{"_index":411,"t":{"33":{"position":[[157,4]]},"150":{"position":[[157,4]]}}}],["背景",{"_index":0,"t":{"2":{"position":[[0,2]]},"8":{"position":[[27,2]]},"22":{"position":[[0,2]]},"39":{"position":[[0,2]]},"162":{"position":[[27,2]]}}}],["能",{"_index":447,"t":{"35":{"position":[[79,1]]},"51":{"position":[[55,1]]},"136":{"position":[[55,1]]},"152":{"position":[[79,1]]}}}],["能力",{"_index":120,"t":{"12":{"position":[[30,2]]},"166":{"position":[[30,2]]}}}],["自然语言",{"_index":31,"t":{"2":{"position":[[93,4]]},"4":{"position":[[89,4]]},"22":{"position":[[93,4]]},"24":{"position":[[89,4]]},"39":{"position":[[93,4]]},"41":{"position":[[89,4]]},"126":{"position":[[89,4]]},"142":{"position":[[89,4]]},"158":{"position":[[89,4]]}}}],["虽然",{"_index":245,"t":{"26":{"position":[[135,2]]},"33":{"position":[[42,2]]},"144":{"position":[[135,2]]},"150":{"position":[[42,2]]}}}],["行",{"_index":406,"t":{"33":{"position":[[105,1],[328,1],[530,1]]},"150":{"position":[[105,1],[328,1],[530,1]]}}}],["表示",{"_index":59,"t":{"6":{"position":[[13,2],[22,2]]},"8":{"position":[[19,2],[49,2]]},"33":{"position":[[117,2],[155,2],[232,2],[249,2]]},"150":{"position":[[117,2],[155,2],[232,2],[249,2]]},"160":{"position":[[13,2],[22,2]]},"162":{"position":[[19,2],[49,2]]}}}],["要",{"_index":167,"t":{"16":{"position":[[247,1]]},"18":{"position":[[123,1]]},"170":{"position":[[247,1]]},"172":{"position":[[123,1]]}}}],["要么",{"_index":95,"t":{"10":{"position":[[41,2],[48,2]]},"164":{"position":[[41,2],[48,2]]}}}],["观察",{"_index":73,"t":{"8":{"position":[[21,2]]},"162":{"position":[[21,2]]}}}],["观看",{"_index":78,"t":{"8":{"position":[[38,2]]},"162":{"position":[[38,2]]}}}],["解决",{"_index":256,"t":{"26":{"position":[[173,2]]},"35":{"position":[[80,2]]},"51":{"position":[[56,2]]},"136":{"position":[[56,2]]},"144":{"position":[[173,2]]},"152":{"position":[[80,2]]}}}],["解决问题",{"_index":500,"t":{"37":{"position":[[353,4]]},"53":{"position":[[353,4]]},"138":{"position":[[353,4]]},"154":{"position":[[353,4]]}}}],["解释",{"_index":436,"t":{"35":{"position":[[16,2]]},"152":{"position":[[16,2]]}}}],["计算机",{"_index":34,"t":{"2":{"position":[[105,3]]},"4":{"position":[[101,3]]},"22":{"position":[[105,3]]},"24":{"position":[[101,3]]},"39":{"position":[[105,3]]},"41":{"position":[[101,3]]},"126":{"position":[[101,3]]},"142":{"position":[[101,3]]},"158":{"position":[[101,3]]}}}],["订阅",{"_index":274,"t":{"29":{"position":[[115,2]]},"146":{"position":[[115,2]]}}}],["讲",{"_index":252,"t":{"26":{"position":[[156,1]]},"144":{"position":[[156,1]]}}}],["讲解",{"_index":545,"t":{"51":{"position":[[4,2]]},"136":{"position":[[4,2]]}}}],["设想",{"_index":115,"t":{"12":{"position":[[12,2]]},"166":{"position":[[12,2]]}}}],["设置",{"_index":172,"t":{"16":{"position":[[302,2]]},"20":{"position":[[278,2]]},"33":{"position":[[46,2]]},"35":{"position":[[50,2],[67,2]]},"43":{"position":[[70,2]]},"45":{"position":[[26,2],[65,2],[128,2],[187,2]]},"47":{"position":[[67,2]]},"49":{"position":[[28,2],[247,2],[309,2]]},"51":{"position":[[30,2],[43,2]]},"128":{"position":[[70,2]]},"130":{"position":[[26,2],[65,2],[128,2],[187,2]]},"132":{"position":[[67,2]]},"134":{"position":[[28,2],[247,2],[309,2]]},"136":{"position":[[30,2],[43,2]]},"150":{"position":[[46,2]]},"152":{"position":[[50,2],[67,2]]},"170":{"position":[[302,2]]},"174":{"position":[[278,2]]}}}],["设计",{"_index":63,"t":{"6":{"position":[[24,2],[35,2]]},"160":{"position":[[24,2],[35,2]]}}}],["访问",{"_index":519,"t":{"43":{"position":[[27,2]]},"128":{"position":[[27,2]]}}}],["语句",{"_index":201,"t":{"20":{"position":[[217,2],[228,2],[238,2]]},"174":{"position":[[217,2],[228,2],[238,2]]}}}],["语言",{"_index":5,"t":{"2":{"position":[[13,2],[133,2]]},"4":{"position":[[9,2],[129,2]]},"22":{"position":[[13,2],[133,2]]},"24":{"position":[[9,2],[129,2]]},"29":{"position":[[248,2],[284,2]]},"39":{"position":[[13,2],[133,2]]},"41":{"position":[[9,2],[129,2]]},"126":{"position":[[9,2],[129,2]]},"142":{"position":[[9,2],[129,2]]},"146":{"position":[[248,2],[284,2]]},"158":{"position":[[9,2],[129,2]]}}}],["请",{"_index":476,"t":{"37":{"position":[[161,1],[270,1]]},"53":{"position":[[161,1],[270,1]]},"138":{"position":[[161,1],[270,1]]},"154":{"position":[[161,1],[270,1]]}}}],["请求",{"_index":276,"t":{"29":{"position":[[123,2]]},"146":{"position":[[123,2]]}}}],["调用",{"_index":420,"t":{"33":{"position":[[445,2]]},"150":{"position":[[445,2]]}}}],["贡献",{"_index":451,"t":{"37":{"position":[[4,2],[33,2],[40,2],[125,2],[158,2],[219,2]]},"53":{"position":[[4,2],[33,2],[40,2],[125,2],[158,2],[219,2]]},"138":{"position":[[4,2],[33,2],[40,2],[125,2],[158,2],[219,2]]},"154":{"position":[[4,2],[33,2],[40,2],[125,2],[158,2],[219,2]]}}}],["起来",{"_index":100,"t":{"10":{"position":[[56,2]]},"164":{"position":[[56,2]]}}}],["轻量级",{"_index":220,"t":{"26":{"position":[[10,3]]},"29":{"position":[[0,3]]},"144":{"position":[[10,3]]},"146":{"position":[[0,3]]}}}],["输入",{"_index":153,"t":{"16":{"position":[[55,2],[124,2],[245,2]]},"18":{"position":[[5,2],[60,2],[121,2]]},"20":{"position":[[210,2],[221,2],[231,2]]},"170":{"position":[[55,2],[124,2],[245,2]]},"172":{"position":[[5,2],[60,2],[121,2]]},"174":{"position":[[210,2],[221,2],[231,2]]}}}],["输入框",{"_index":194,"t":{"20":{"position":[[128,3]]},"174":{"position":[[128,3]]}}}],["输出",{"_index":177,"t":{"18":{"position":[[72,2]]},"172":{"position":[[72,2]]}}}],["过期",{"_index":170,"t":{"16":{"position":[[290,2],[305,2]]},"170":{"position":[[290,2],[305,2]]}}}],["过程",{"_index":53,"t":{"2":{"position":[[209,2]]},"4":{"position":[[205,2]]},"22":{"position":[[209,2]]},"24":{"position":[[205,2]]},"39":{"position":[[209,2]]},"41":{"position":[[205,2]]},"126":{"position":[[205,2]]},"142":{"position":[[205,2]]},"158":{"position":[[205,2]]}}}],["返回",{"_index":205,"t":{"20":{"position":[[251,2]]},"26":{"position":[[147,2]]},"144":{"position":[[147,2]]},"174":{"position":[[251,2]]}}}],["这个",{"_index":111,"t":{"12":{"position":[[0,2]]},"33":{"position":[[569,2]]},"150":{"position":[[569,2]]},"166":{"position":[[0,2]]}}}],["这块",{"_index":513,"t":{"43":{"position":[[11,2]]},"128":{"position":[[11,2]]}}}],["这样",{"_index":441,"t":{"35":{"position":[[48,2]]},"152":{"position":[[48,2]]}}}],["这里",{"_index":422,"t":{"33":{"position":[[454,2]]},"150":{"position":[[454,2]]}}}],["进程",{"_index":520,"t":{"43":{"position":[[38,2]]},"128":{"position":[[38,2]]}}}],["进行",{"_index":107,"t":{"10":{"position":[[80,2]]},"20":{"position":[[256,2]]},"29":{"position":[[198,2]]},"37":{"position":[[338,2]]},"47":{"position":[[87,2]]},"53":{"position":[[338,2]]},"132":{"position":[[87,2]]},"138":{"position":[[338,2]]},"146":{"position":[[198,2]]},"154":{"position":[[338,2]]},"164":{"position":[[80,2]]},"174":{"position":[[256,2]]}}}],["连接",{"_index":424,"t":{"33":{"position":[[467,2],[510,2],[517,2],[542,2],[571,2],[586,2],[606,2]]},"45":{"position":[[181,2]]},"49":{"position":[[3,2],[303,2]]},"130":{"position":[[181,2]]},"134":{"position":[[3,2],[303,2]]},"150":{"position":[[467,2],[510,2],[517,2],[542,2],[571,2],[586,2],[606,2]]}}}],["选",{"_index":196,"t":{"20":{"position":[[162,1]]},"174":{"position":[[162,1]]}}}],["选中",{"_index":171,"t":{"16":{"position":[[296,2]]},"170":{"position":[[296,2]]}}}],["选择",{"_index":190,"t":{"20":{"position":[[80,2],[101,2],[133,2],[141,2],[178,2],[184,2]]},"174":{"position":[[80,2],[101,2],[133,2],[141,2],[178,2],[184,2]]}}}],["选项",{"_index":198,"t":{"20":{"position":[[174,2]]},"174":{"position":[[174,2]]}}}],["通信",{"_index":237,"t":{"26":{"position":[[100,2],[128,2],[159,2]]},"29":{"position":[[342,2]]},"33":{"position":[[21,2]]},"35":{"position":[[28,2]]},"43":{"position":[[8,2]]},"45":{"position":[[76,2]]},"47":{"position":[[27,2],[51,2],[62,2],[78,2]]},"49":{"position":[[195,2]]},"51":{"position":[[20,2]]},"128":{"position":[[8,2]]},"130":{"position":[[76,2]]},"132":{"position":[[27,2],[51,2],[62,2],[78,2]]},"134":{"position":[[195,2]]},"136":{"position":[[20,2]]},"144":{"position":[[100,2],[128,2],[159,2]]},"146":{"position":[[342,2]]},"150":{"position":[[21,2]]},"152":{"position":[[28,2]]}}}],["通用",{"_index":119,"t":{"12":{"position":[[23,2]]},"166":{"position":[[23,2]]}}}],["通过",{"_index":42,"t":{"2":{"position":[[123,2]]},"4":{"position":[[119,2]]},"8":{"position":[[34,2]]},"16":{"position":[[243,2]]},"18":{"position":[[58,2],[119,2]]},"22":{"position":[[123,2]]},"24":{"position":[[119,2]]},"35":{"position":[[2,2]]},"37":{"position":[[36,2]]},"39":{"position":[[123,2]]},"41":{"position":[[119,2]]},"47":{"position":[[65,2],[81,2]]},"51":{"position":[[2,2]]},"53":{"position":[[36,2]]},"126":{"position":[[119,2]]},"132":{"position":[[65,2],[81,2]]},"136":{"position":[[2,2]]},"138":{"position":[[36,2]]},"142":{"position":[[119,2]]},"152":{"position":[[2,2]]},"154":{"position":[[36,2]]},"158":{"position":[[119,2]]},"162":{"position":[[34,2]]},"170":{"position":[[243,2]]},"172":{"position":[[58,2],[119,2]]}}}],["那些",{"_index":75,"t":{"8":{"position":[[29,2]]},"10":{"position":[[61,2]]},"162":{"position":[[29,2]]},"164":{"position":[[61,2]]}}}],["部署",{"_index":485,"t":{"37":{"position":[[249,2]]},"43":{"position":[[2,2],[33,2]]},"47":{"position":[[3,2]]},"51":{"position":[[8,2],[28,2]]},"53":{"position":[[249,2]]},"128":{"position":[[2,2],[33,2]]},"132":{"position":[[3,2]]},"136":{"position":[[8,2],[28,2]]},"138":{"position":[[249,2]]},"154":{"position":[[249,2]]}}}],["都",{"_index":132,"t":{"12":{"position":[[66,1]]},"166":{"position":[[66,1]]}}}],["配置",{"_index":439,"t":{"35":{"position":[[36,2]]},"152":{"position":[[36,2]]}}}],["里",{"_index":89,"t":{"10":{"position":[[21,1],[53,1]]},"164":{"position":[[21,1],[53,1]]}}}],["里面",{"_index":418,"t":{"33":{"position":[[379,2]]},"150":{"position":[[379,2]]}}}],["重命名",{"_index":182,"t":{"20":{"position":[[12,3],[28,3]]},"174":{"position":[[12,3],[28,3]]}}}],["重要",{"_index":94,"t":{"10":{"position":[[37,2]]},"164":{"position":[[37,2]]}}}],["针对",{"_index":285,"t":{"29":{"position":[[190,2]]},"146":{"position":[[190,2]]}}}],["镜像",{"_index":217,"t":{"22":{"position":[[257,2]]},"24":{"position":[[253,2]]},"39":{"position":[[257,2]]},"41":{"position":[[253,2]]},"126":{"position":[[253,2]]},"142":{"position":[[253,2]]}}}],["问题",{"_index":244,"t":{"26":{"position":[[132,2],[161,2]]},"144":{"position":[[132,2],[161,2]]}}}],["间通信",{"_index":521,"t":{"43":{"position":[[40,3]]},"128":{"position":[[40,3]]}}}],["队列",{"_index":222,"t":{"26":{"position":[[16,2],[43,2]]},"29":{"position":[[120,2]]},"144":{"position":[[16,2],[43,2]]},"146":{"position":[[120,2]]}}}],["限",{"_index":490,"t":{"37":{"position":[[268,1]]},"53":{"position":[[268,1]]},"138":{"position":[[268,1]]},"154":{"position":[[268,1]]}}}],["限于",{"_index":483,"t":{"37":{"position":[[245,2]]},"53":{"position":[[245,2]]},"138":{"position":[[245,2]]},"154":{"position":[[245,2]]}}}],["除了",{"_index":133,"t":{"12":{"position":[[69,2]]},"29":{"position":[[255,2]]},"146":{"position":[[255,2]]},"166":{"position":[[69,2]]}}}],["随着",{"_index":1,"t":{"2":{"position":[[4,2]]},"4":{"position":[[0,2]]},"22":{"position":[[4,2]]},"24":{"position":[[0,2]]},"39":{"position":[[4,2]]},"41":{"position":[[0,2]]},"126":{"position":[[0,2]]},"142":{"position":[[0,2]]},"158":{"position":[[0,2]]}}}],["隐藏",{"_index":99,"t":{"10":{"position":[[54,2],[70,2]]},"164":{"position":[[54,2],[70,2]]}}}],["集成",{"_index":266,"t":{"29":{"position":[[56,2]]},"146":{"position":[[56,2]]}}}],["集群",{"_index":292,"t":{"29":{"position":[[233,2]]},"146":{"position":[[233,2]]}}}],["需要",{"_index":300,"t":{"29":{"position":[[328,2]]},"43":{"position":[[68,2]]},"45":{"position":[[24,2]]},"128":{"position":[[68,2]]},"130":{"position":[[24,2]]},"146":{"position":[[328,2]]}}}],["非常适合",{"_index":474,"t":{"37":{"position":[[149,4]]},"53":{"position":[[149,4]]},"138":{"position":[[149,4]]},"154":{"position":[[149,4]]}}}],["页",{"_index":68,"t":{"8":{"position":[[2,1]]},"20":{"position":[[17,1],[44,1],[65,1],[91,1],[314,1]]},"162":{"position":[[2,1]]},"174":{"position":[[17,1],[44,1],[65,1],[91,1],[314,1]]}}}],["页面",{"_index":208,"t":{"20":{"position":[[264,2],[283,2]]},"174":{"position":[[264,2],[283,2]]}}}],["项目",{"_index":28,"t":{"2":{"position":[[87,2]]},"4":{"position":[[83,2]]},"18":{"position":[[2,2],[12,2],[17,2],[30,2],[35,2],[45,2],[53,2],[74,2],[82,2],[97,2],[108,2],[116,2],[139,2],[145,2],[152,2],[159,2]]},"22":{"position":[[87,2],[213,2],[255,2]]},"24":{"position":[[83,2],[209,2],[251,2]]},"29":{"position":[[53,2]]},"39":{"position":[[87,2],[213,2],[255,2]]},"41":{"position":[[83,2],[209,2],[251,2]]},"126":{"position":[[83,2],[209,2],[251,2]]},"142":{"position":[[83,2],[209,2],[251,2]]},"146":{"position":[[53,2]]},"158":{"position":[[83,2]]},"172":{"position":[[2,2],[12,2],[17,2],[30,2],[35,2],[45,2],[53,2],[74,2],[82,2],[97,2],[108,2],[116,2],[139,2],[145,2],[152,2],[159,2]]}}}],["项目名称",{"_index":174,"t":{"18":{"position":[[7,4],[62,4],[90,4],[127,4]]},"172":{"position":[[7,4],[62,4],[90,4],[127,4]]}}}],["顺序",{"_index":214,"t":{"20":{"position":[[316,2]]},"174":{"position":[[316,2]]}}}],["预览",{"_index":179,"t":{"18":{"position":[[161,2]]},"20":{"position":[[297,2],[302,2]]},"172":{"position":[[161,2]]},"174":{"position":[[297,2],[302,2]]}}}],["驱动",{"_index":154,"t":{"16":{"position":[[66,2],[135,2],[200,2]]},"170":{"position":[[66,2],[135,2],[200,2]]}}}],["高性能",{"_index":284,"t":{"29":{"position":[[177,3]]},"146":{"position":[[177,3]]}}}]],"pipeline":["stemmer"]}}] \ No newline at end of file diff --git a/search/index.html b/search/index.html new file mode 100644 index 00000000..59003f74 --- /dev/null +++ b/search/index.html @@ -0,0 +1,65 @@ + + + + + +Search the documentation + + + + + + +
+

Search the documentation

+ + + + \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 00000000..debf5366 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1 @@ +https://cloudorc.github.io/SolidUI-Website/blogweekly0.5https://cloudorc.github.io/SolidUI-Website/blog/2023/07/01/function-explanation-0.1.0weekly0.5https://cloudorc.github.io/SolidUI-Website/blog/2023/07/02/snakemq-communication-source-code-analysisweekly0.5https://cloudorc.github.io/SolidUI-Website/blog/2023/07/03/independent-deployment-communication-analysisweekly0.5https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/0.2.0-introductionweekly0.5https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/0.2.0-Releaseweekly0.5https://cloudorc.github.io/SolidUI-Website/blog/2023/09/05/Official-Website-Introductionweekly0.5https://cloudorc.github.io/SolidUI-Website/blog/archiveweekly0.5https://cloudorc.github.io/SolidUI-Website/blog/page/2weekly0.5https://cloudorc.github.io/SolidUI-Website/blog/tagsweekly0.5https://cloudorc.github.io/SolidUI-Website/blog/tags/aiweekly0.5https://cloudorc.github.io/SolidUI-Website/blog/tags/aigcweekly0.5https://cloudorc.github.io/SolidUI-Website/blog/tags/solid-uiweekly0.5https://cloudorc.github.io/SolidUI-Website/blog/tags/solid-ui/page/2weekly0.5https://cloudorc.github.io/SolidUI-Website/blog/tags/stable-diffusionweekly0.5https://cloudorc.github.io/SolidUI-Website/blog/tags/stable-diffusion/page/2weekly0.5https://cloudorc.github.io/SolidUI-Website/home/weekly0.5https://cloudorc.github.io/SolidUI-Website/home/featureweekly0.5https://cloudorc.github.io/SolidUI-Website/home/heroweekly0.5https://cloudorc.github.io/SolidUI-Website/home/performanceweekly0.5https://cloudorc.github.io/SolidUI-Website/searchweekly0.5https://cloudorc.github.io/SolidUI-Website/team/weekly0.5https://cloudorc.github.io/SolidUI-Website/user/weekly0.5https://cloudorc.github.io/SolidUI-Website/community/contribution_guide/become_committerweekly0.5https://cloudorc.github.io/SolidUI-Website/community/submit_guide/documentweekly0.5https://cloudorc.github.io/SolidUI-Website/community/submit_guide/submit_codeweekly0.5https://cloudorc.github.io/SolidUI-Website/docs/deployment/deployment-dockerweekly0.5https://cloudorc.github.io/SolidUI-Website/docs/deployment/deployment-kubernetesweekly0.5https://cloudorc.github.io/SolidUI-Website/docs/deployment/deployment-standaloneweekly0.5https://cloudorc.github.io/SolidUI-Website/docs/deployment/deployment-webweekly0.5https://cloudorc.github.io/SolidUI-Website/docs/design/front-end-architecture/weekly0.5https://cloudorc.github.io/SolidUI-Website/docs/design/metadata/weekly0.5https://cloudorc.github.io/SolidUI-Website/docs/design/server-architecture/weekly0.5https://cloudorc.github.io/SolidUI-Website/docs/development/develop-contributingweekly0.5https://cloudorc.github.io/SolidUI-Website/docs/development/development-commitweekly0.5https://cloudorc.github.io/SolidUI-Website/docs/development/development-constructionweekly0.5https://cloudorc.github.io/SolidUI-Website/docs/development/development-dockerweekly0.5https://cloudorc.github.io/SolidUI-Website/docs/development/development-frontweekly0.5https://cloudorc.github.io/SolidUI-Website/docs/development/development-releaseweekly0.5https://cloudorc.github.io/SolidUI-Website/docs/development/development-serverweekly0.5https://cloudorc.github.io/SolidUI-Website/docs/faq/faq/weekly0.5https://cloudorc.github.io/SolidUI-Website/docs/introweekly0.5https://cloudorc.github.io/SolidUI-Website/docs/operational/community-operation/weekly0.5https://cloudorc.github.io/SolidUI-Website/docs/test/test-case/weekly0.5https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-startweekly0.5https://cloudorc.github.io/SolidUI-Website/weekly0.5 \ No newline at end of file diff --git a/team/index.html b/team/index.html new file mode 100644 index 00000000..0a0e7d6d --- /dev/null +++ b/team/index.html @@ -0,0 +1,18 @@ + + + + + +SolidUI + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/user/atguigu.png b/user/atguigu.png new file mode 100644 index 00000000..3e04ab7b Binary files /dev/null and b/user/atguigu.png differ diff --git a/user/baidu.png b/user/baidu.png new file mode 100644 index 00000000..6bd79751 Binary files /dev/null and b/user/baidu.png differ diff --git a/user/banggood.png b/user/banggood.png new file mode 100644 index 00000000..8344e4c5 Binary files /dev/null and b/user/banggood.png differ diff --git a/user/belle.png b/user/belle.png new file mode 100644 index 00000000..6e590782 Binary files /dev/null and b/user/belle.png differ diff --git a/user/bondex.png b/user/bondex.png new file mode 100644 index 00000000..eb1b8f59 Binary files /dev/null and b/user/bondex.png differ diff --git a/user/china-unicon.png b/user/china-unicon.png new file mode 100644 index 00000000..03b2d911 Binary files /dev/null and b/user/china-unicon.png differ diff --git a/user/ctyun.png b/user/ctyun.png new file mode 100644 index 00000000..b8945681 Binary files /dev/null and b/user/ctyun.png differ diff --git a/user/deepway.png b/user/deepway.png new file mode 100644 index 00000000..67dd311c Binary files /dev/null and b/user/deepway.png differ diff --git a/user/doctorglasses.png b/user/doctorglasses.png new file mode 100644 index 00000000..6e2285d1 Binary files /dev/null and b/user/doctorglasses.png differ diff --git a/user/dtsclouds.png b/user/dtsclouds.png new file mode 100644 index 00000000..a37642fe Binary files /dev/null and b/user/dtsclouds.png differ diff --git a/user/dustess.png b/user/dustess.png new file mode 100644 index 00000000..97f4cd10 Binary files /dev/null and b/user/dustess.png differ diff --git a/user/fy-data.png b/user/fy-data.png new file mode 100644 index 00000000..80563787 Binary files /dev/null and b/user/fy-data.png differ diff --git a/user/gigacloud_technology.png b/user/gigacloud_technology.png new file mode 100644 index 00000000..1b917cbf Binary files /dev/null and b/user/gigacloud_technology.png differ diff --git a/user/haibo.png b/user/haibo.png new file mode 100644 index 00000000..678363e2 Binary files /dev/null and b/user/haibo.png differ diff --git a/user/hopson.png b/user/hopson.png new file mode 100644 index 00000000..8c91276d Binary files /dev/null and b/user/hopson.png differ diff --git a/user/index.html b/user/index.html new file mode 100644 index 00000000..dce8d236 --- /dev/null +++ b/user/index.html @@ -0,0 +1,18 @@ + + + + + +SolidUI + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/user/inmobi.png b/user/inmobi.png new file mode 100644 index 00000000..ea1ba608 Binary files /dev/null and b/user/inmobi.png differ diff --git a/user/itcast.png b/user/itcast.png new file mode 100644 index 00000000..b7812b8c Binary files /dev/null and b/user/itcast.png differ diff --git a/user/joyme.png b/user/joyme.png new file mode 100644 index 00000000..7e41285b Binary files /dev/null and b/user/joyme.png differ diff --git a/user/relx.png b/user/relx.png new file mode 100644 index 00000000..04e418df Binary files /dev/null and b/user/relx.png differ diff --git a/user/shunwang.png b/user/shunwang.png new file mode 100644 index 00000000..554a1812 Binary files /dev/null and b/user/shunwang.png differ diff --git a/user/sobot.png b/user/sobot.png new file mode 100644 index 00000000..3f08005b Binary files /dev/null and b/user/sobot.png differ diff --git a/user/tencent.png b/user/tencent.png new file mode 100644 index 00000000..26fdb929 Binary files /dev/null and b/user/tencent.png differ diff --git a/user/vphonor.png b/user/vphonor.png new file mode 100644 index 00000000..a351b6a3 Binary files /dev/null and b/user/vphonor.png differ diff --git a/user/yipage.png b/user/yipage.png new file mode 100644 index 00000000..754e8fb6 Binary files /dev/null and b/user/yipage.png differ diff --git a/user/yonghui.png b/user/yonghui.png new file mode 100644 index 00000000..a272fd27 Binary files /dev/null and b/user/yonghui.png differ diff --git a/user/yto.png b/user/yto.png new file mode 100644 index 00000000..0d46d140 Binary files /dev/null and b/user/yto.png differ diff --git a/user/yucun.png b/user/yucun.png new file mode 100644 index 00000000..fbb34382 Binary files /dev/null and b/user/yucun.png differ diff --git a/user/yunlizhi.png b/user/yunlizhi.png new file mode 100644 index 00000000..99dd2558 Binary files /dev/null and b/user/yunlizhi.png differ diff --git a/user/zehoo.png b/user/zehoo.png new file mode 100644 index 00000000..85e49039 Binary files /dev/null and b/user/zehoo.png differ diff --git a/user/ziroom.png b/user/ziroom.png new file mode 100644 index 00000000..4a45f5ad Binary files /dev/null and b/user/ziroom.png differ diff --git a/user/zoomlion.png b/user/zoomlion.png new file mode 100644 index 00000000..1d4f1f8d Binary files /dev/null and b/user/zoomlion.png differ diff --git a/zh-CN/.DS_Store b/zh-CN/.DS_Store new file mode 100644 index 00000000..a660f5dc Binary files /dev/null and b/zh-CN/.DS_Store differ diff --git a/zh-CN/.asf.yaml b/zh-CN/.asf.yaml new file mode 100644 index 00000000..6b4bb276 --- /dev/null +++ b/zh-CN/.asf.yaml @@ -0,0 +1,37 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +github: + description: "SolidUI" + homepage: https://cloudorc.github.io/SolidUI-Website/ + features: + issues: false + projects: false + wiki: false + labels: + - solidui + enabled_merge_buttons: + squash: true + merge: false + rebase: false + +publish: + whoami: main + +notifications: + issues: https://github.com/CloudOrc/SolidUI/issues + pullrequests: https://github.com/CloudOrc/SolidUI/pulls diff --git a/zh-CN/.nojekyll b/zh-CN/.nojekyll new file mode 100644 index 00000000..e69de29b diff --git a/zh-CN/404.html b/zh-CN/404.html new file mode 100644 index 00000000..d20b754b --- /dev/null +++ b/zh-CN/404.html @@ -0,0 +1,65 @@ + + + + + +找不到页面 | SolidUI + + + + + + +
+

找不到页面

我们找不到您要找的页面。

请联系原始链接来源网站的所有者,并告知他们链接已损坏。

+ + + + \ No newline at end of file diff --git a/zh-CN/CNAME b/zh-CN/CNAME new file mode 100644 index 00000000..e69de29b diff --git a/zh-CN/assets/css/styles.800b89d7.css b/zh-CN/assets/css/styles.800b89d7.css new file mode 100644 index 00000000..df1b0693 --- /dev/null +++ b/zh-CN/assets/css/styles.800b89d7.css @@ -0,0 +1 @@ +@charset "UTF-8";.col,.container{padding:0 var(--ifm-spacing-horizontal)}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}a,pre code{background-color:initial}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)}.custom-range:focus,a,body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}.flipInX,.flipInY,.flipOutX,.flipOutY{backface-visibility:visible!important}*,.loadingRing_RJI3 div,:after,:before{box-sizing:border-box}progress,sub,sup{vertical-align:initial}.animated-gradient-text_foreground,.text-bg,.video_btn i{-webkit-text-fill-color:#0000}.text-black,.text-black-50,.text-danger,.text-dark,.text-info,.text-light,.text-muted,.text-primary,.text-reset,.text-secondary,.text-success,.text-warning,.text-white,.text-white-50{--bs-text-opacity:1}.bg-black,.bg-danger,.bg-dark,.bg-light,.bg-primary,.bg-success,.bg-transparent,.bg-warning,.bg-white{--bs-bg-opacity:1}.g-0,.gy-0,.row{--bs-gutter-y:0}:root{--ifm-color-scheme:light;--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-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-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--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-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--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{-webkit-font-smoothing:antialiased;text-size-adjust:100%;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);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.margin-bottom--none,.margin-vert--none,.markdown>:last-child,.mb-0,.my-0{margin-bottom:0!important}.col,dd{margin-left:0}.row--no-gutters{margin-left:0;margin-right:0}.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;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none,.pb-0,.py-0{padding-bottom: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,.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,.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,.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%}.m-0,.margin--none{margin:0!important}.margin-top--none,.mt-0{margin-top:0!important}.margin-left--none,.ml-0,.ms-0,.mx-0{margin-left:0!important}.margin-right--none,.me-0,.mr-0,.mx-0{margin-right:0!important}.margin-vert--none,.my-0{margin-top:0!important}.margin-bottom--xs,.margin-vert--xs,.mb-1,.my-1{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs,.mt-1,.my-1{margin-top:.25rem!important}.margin-horiz--none,.mx-0{margin-left:0!important;margin-right:0!important}.margin-horiz--xs,.margin-left--xs,.ml-1,.ms-1,.mx-1{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs,.me-1,.mr-1,.mx-1{margin-right:.25rem!important}.m-1,.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm,.mb-2,.my-2{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm,.mt-2,.my-2{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm,.ml-2,.ms-2,.mx-2{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm,.me-2,.mr-2,.mx-2{margin-right:.5rem!important}.m-2,.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md,.mb-3,.my-3{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md,.mt-3,.my-3{margin-top:1rem!important}.margin-horiz--md,.margin-left--md,.ml-3,.ms-3,.mx-3{margin-left:1rem!important}.margin-horiz--md,.margin-right--md,.me-3,.mr-3,.mx-3{margin-right:1rem!important}.m-3,.margin--md{margin: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}.p-0,.padding--none{padding:0!important}.padding-top--none,.pt-0{padding-top:0!important}.padding-left--none,.pl-0,.ps-0,.px-0{padding-left:0!important}.padding-right--none,.pe-0,.pr-0,.px-0{padding-right:0!important}.padding-vert--none,.py-0{padding-top:0!important}.padding-bottom--xs,.padding-vert--xs,.pb-1,.py-1{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs,.pt-1,.py-1{padding-top:.25rem!important}.padding-horiz--none,.px-0{padding-left:0!important;padding-right:0!important}.padding-horiz--xs,.padding-left--xs,.pl-1,.ps-1,.px-1{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs,.pe-1,.pr-1,.px-1{padding-right:.25rem!important}.p-1,.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm,.pb-2,.py-2{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm,.pt-2,.py-2{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm,.pl-2,.ps-2,.px-2{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm,.pe-2,.pr-2,.px-2{padding-right:.5rem!important}.p-2,.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md,.pb-3,.py-3{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md,.pt-3,.py-3{padding-top:1rem!important}.padding-horiz--md,.padding-left--md,.pl-3,.ps-3,.px-3{padding-left:1rem!important}.padding-horiz--md,.padding-right--md,.pe-3,.pr-3,.px-3{padding-right:1rem!important}.p-3,.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);background-color:#ecf4fa!important;-ms-overflow-style:scrollbar;margin-bottom:1rem;margin-top:0;overflow:auto}.clean-btn,pre code{border:none;padding:0}pre code{font-size:100%;line-height:inherit}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace)}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;margin-bottom:.5rem;margin-top:0;color:#151e2e}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[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))}.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{margin-bottom:var(--ifm-leading)}.markdown li{word-wrap:break-word}.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 ul,ul ol,ul ul{margin:0}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{display:block;margin-bottom:var(--ifm-spacing-vertical);overflow:auto;border-collapse:collapse}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);text-decoration:none!important;transition-duration:.5s}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);margin:0 0 1rem}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);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}.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}.card,body{word-wrap:break-word}.clean-btn{background:none;color:inherit;cursor:pointer;font-family:inherit}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list,.list-inline,.list-unstyled{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)}.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after,.figure,.list-inline-item,.searchBarContainer_NW3z.searchIndexLoading_EJ1f .searchBarLoadingRing_YnHq,output{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-weight:var(--ifm-font-weight-bold);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}body,caption{text-align:left}.btn,.corner_button{-webkit-user-select:none}.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}.btn-block,.button--block,.form-control-file,.form-control-range{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)}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child),.button-group>.button:not(:first-child),.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child),.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.button-group>.button:not(:last-child),.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label:after,.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child),.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.subscribe-input input{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);overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child,.welcome_area.h-100vh{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);font-weight:var(--ifm-font-weight-bold);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);vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}.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;pointer-events:none;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,.form-group,address,dl,ol,ul{margin-bottom:1rem}dd,label{margin-bottom:.5rem}.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{max-width:var(--ifm-footer-logo-max-width)}.col,img,legend{max-width:100%}.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)}address,legend{line-height:inherit}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item,.input-group-text input[type=checkbox],.input-group-text input[type=radio],.list-group-horizontal>.list-group-item.active,dl,ol,ul{margin-top:0}.admonitionContent_S0QG>:last-child,.blockquote>:last-child,.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn,.card-subtitle,.card-text:last-child,.collapsibleContent_i85q>:last-child,.footer__items,.form-check-label,.searchResultItem_U687>h2,.section_heading p,.team .team-info ul{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,.title_f1Hy{font-size:3rem}.h3,.hero__subtitle,h3{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,.fa-rotate-90,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after,.rotate-90{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,.scribble svg{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;left:0;top: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)}.input-group-append,.input-group-prepend,.navbar>.container,.navbar>.container-fluid,.process-vertical .process-vertical-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;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}.media-body,.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)}#nprogress,.navbar__item.dropdown .navbar__link:not([href]),a.btn.disabled,a.close.disabled,fieldset:disabled a.btn{pointer-events:none}.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{-webkit-appearance:none;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,[data-aos^=slide][data-aos^=slide].aos-animate{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);font-size:var(--ifm-pagination-font-size)}.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)}.card-link:hover,.nav-link:focus,.nav-link:hover,.navbar-brand:focus,.navbar-brand:hover,.navbar-toggler:focus,.navbar-toggler:hover,.normal-page .normal-desc .link:hover,.pagination__link:hover,.sidebarItemLink_mo7H:hover,.team_page a,.user_page a,a.badge:focus,a.badge:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;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}.btn-link.focus,.btn-link:focus,.btn-link:hover,.content_knG7 a,.hitFooter_E9YW a,.normal-page .normal-desc .link,.suggestion_fB_2.cursor_eG29 mark{text-decoration:underline}.pagination-nav__link--next{grid-column:2/3;text-align:right}.btn,.content_knG7,.hitFooter_E9YW,.pills--block .pills__item,.team,.team .team-info{text-align:center}.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)}.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}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto;padding-left:0}.footer__item .footer-system,.footer__title{margin-bottom:35px;font-size:20px}.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}:root{--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#5494ff;--ifm-code-font-size:95%;--ifm-color-primary-dark:#1d68e1;--ifm-color-primary-darker:#1b62d4;--ifm-color-primary-darkest:#1751af;--ifm-color-primary-light:#4e89e8;--ifm-color-primary-lighter:#5a91ea;--ifm-color-primary-lightest:#80aaef;--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-color-secondary:#ebedf0;--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-success:#00a400;--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-info:#54c7ec;--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-warning:#ffba00;--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-danger:#fa383e;--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-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:#606770;--ifm-code-background:var(--ifm-color-emphasis-200);--ifm-code-color:var(--ifm-color-emphasis-900);--ifm-code-padding-horizontal:0.4rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-color-emphasis-100);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-container-width-xl:1200px;--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;--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-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-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}#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}html{font-feature-settings:"tnum";font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-variant:tabular-nums;-webkit-text-size-adjust:100%;font-family:sans-serif;line-height:1.15}.navbar{height:80px}.navbar__title{font-size:18px;font-weight:500}.navbar__link{color:#444950;font-family:Lato,Helvetica Neue,Arial,Helvetica,sans-serif;font-size:15px;font-weight:400;padding:15px}.navbar__link--active{color:var(--ifm-navbar-link-hover-color)!important}.navbar__items{margin-left:20px}.navbar__logo{height:60px}#__docusaurus-base-url-issue-banner-container,.collapse:not(.show),.docSidebarContainer_b6E3,.footer__link-item svg,.hideAction_vcyE>svg,.navbar__link svg,.sidebarLogo_isFc,.themedImage_ToTc,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j,template{display:none}code{border:none;margin:0 1px 0 3px}.codeBlockLines_1zSZ{min-width:unset!important}.copyButton_M3SB{padding:.2rem .4rem!important}.tabs__item{padding:.5rem 1rem}.markdown>p,.markdown>pre,.markdown>ul{font-weight:400;line-height:30px!important}.markdown>h2{border-bottom:1px solid #eaecef;font-size:1.65rem;padding-bottom:.3rem}.tabs{font-weight:500}.footer .container{font-weight:500;padding-bottom:20px!important;padding-top:80px!important}.footer__item:not(:first-child){margin-top:10px}.footer__item .footer-left-box{margin-top:-36px}.footer__item .footer-left-box p{color:#d5d8dd;font-size:16px;line-height:30px}.footer__item .footer-left-box p:hover{color:#fff}.footer__item .footer-system img{width:50px}.footer__item .footer-system .system-title{font-size:20px;font-weight:500}.footer__link-item,.footer__title{padding-left:60px}footer .footer__col:nth-child(2) .footer__item .footer__link-item,footer .footer__col:nth-child(2) .footer__title{padding-left:120px}.footer__title{color:#fff;font-family:Poppins,sans-serif!important;font-weight:500}.footer__link-item{color:#d5d8dd}.fa-inverse,.footer__link-item:hover,.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.footer__col:last-child .footer__title,:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.footerLogoLink_BH7S,footer .footerLogoLink{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.carousel-indicators .active,.footerLogoLink_BH7S:hover,.hash-link:focus,.toast.showing,:hover>.hash-link,footer .footerLogoLink:hover{opacity:1}footer .footer__logo{margin-right:40px;margin-top:0;max-width:inherit;padding:10px;width:380px}.carousel,.collapsing,.dropdown,.dropleft,.dropright,.dropup,.fa-ul>li,.navbar__search,footer .subscribe-box{position:relative}footer .subscribe-box ul{list-style:none;margin:0;padding:0}footer .subscribe-box ul li{color:#fff;display:inline-flex;margin-right:15px;padding-bottom:15px;transition:.3s ease-in-out}footer .subscribe-box ul li a{border:1px solid #8d95a6;border-radius:50%;color:#d5d8dd;font-size:16px;height:40px;line-height:40px;position:relative;text-align:center;transition:.3s ease-in-out;width:40px}footer .subscribe-box ul li a:hover{border-color:#fff;color:#fff}.blockquote-footer,.cursor_eG29 .hideAction_vcyE>svg,article,aside,figcaption,figure,footer,footer .subscribe-box ul li a:hover .wechat-dropdown,header,hgroup,main,nav,section{display:block}.subscribe-submit-inner{-moz-border-radius-topright:.25em;-moz-border-radius-bottomright:.25em;background:#08f;border-bottom-right-radius:.25em;border-top-right-radius:.25em;height:calc(1.5em + .75rem + 2px)}.subscribe-submit-inner:hover{background:#09f}.wechat-dropdown{background-color:#fff;border-radius:10px;box-shadow:0 6px 16px #ffffff1a;display:none;height:8.75rem;padding:.625rem;position:absolute;right:-3rem;top:3.5rem;transition:.25s ease-in-out;width:8.75rem;z-index:2}.wechat-dropdown:before{border:.5rem solid;border-color:#0000 #0000 #fff;content:"";display:block;position:absolute;right:3.625rem;top:-1rem}.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;z-index:calc(var(--ifm-z-index-fixed) + 1)}.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}.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] .themedImage--dark_i4oU,[data-theme=light] .themedImage--light_HNdA{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.searchBar_RVTs .dropdownMenu_qbY6{background:var(--search-local-modal-background,#f5f6f7);border-radius:6px;box-shadow:var(--search-local-modal-shadow,inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64);left:auto!important;margin-top:8px;padding:var(--search-local-spacing,12px);position:relative;right:0!important;width:var(--search-local-modal-width,560px)}html[data-theme=dark] .searchBar_RVTs .dropdownMenu_qbY6{background:var(--search-local-modal-background,var(--ifm-background-color));box-shadow:var(--search-local-modal-shadow,inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309)}.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2{align-items:center;background:var(--search-local-hit-background,#fff);border-radius:4px;box-shadow:var(--search-local-hit-shadow,0 1px 3px 0 #d4d9e1);color:var(--search-local-hit-color,#444950);cursor:pointer;display:flex;flex-direction:row;height:var(--search-local-hit-height,56px);padding:0 var(--search-local-spacing,12px);width:100%}.hitTree_kk6K,.input-group>.custom-file,.noResults_l6Q3{align-items:center;display:flex}html[data-theme=dark] .dropdownMenu_qbY6 .suggestion_fB_2{background:var(--search-local-hit-background,var(--ifm-color-emphasis-100));box-shadow:var(--search-local-hit-shadow,none);color:var(--search-local-hit-color,var(--ifm-font-color-base))}.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2:not(:last-child){margin-bottom:4px}.searchBar_RVTs .dropdownMenu_qbY6 .suggestion_fB_2.cursor_eG29{background-color:var(--search-local-highlight-color,var(--ifm-color-primary))}.hitFooter_E9YW a,.hitIcon_a7Zy,.hitPath_ieM4,.hitTree_kk6K,.noResultsIcon_EBY5{color:var(--search-local-muted-color,#969faf)}html[data-theme=dark] .hitIcon_a7Zy,html[data-theme=dark] .hitPath_ieM4,html[data-theme=dark] .hitTree_kk6K,html[data-theme=dark] .noResultsIcon_EBY5{color:var(--search-local-muted-color,var(--ifm-color-secondary-darkest))}.hitTree_kk6K>svg{height:var(--search-local-hit-height,56px);opacity:.5;width:24px}.hitIcon_a7Zy,.hitTree_kk6K>svg{stroke-width:var(--search-local-icon-stroke-width,1.4)}.hitAction_NqkB,.hitIcon_a7Zy{height:20px;width:20px}.hitWrapper_sAK8{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;margin:0 8px;overflow-x:hidden;width:80%}.hitWrapper_sAK8 mark{background:none;color:var(--search-local-highlight-color,var(--ifm-color-primary))}.hitTitle_vyVt{font-size:.9em}.hitPath_ieM4{font-size:.75em}.hitPath_ieM4,.hitTitle_vyVt{overflow-x:hidden;text-overflow:ellipsis;white-space:nowrap}.noResults_l6Q3{flex-direction:column;justify-content:center;padding:var(--search-local-spacing,12px) 0}.noResultsIcon_EBY5{margin-bottom:var(--search-local-spacing,12px)}.hitFooter_E9YW{font-size:.85em;margin-top:var(--search-local-spacing,12px)}.suggestion_fB_2.cursor_eG29,.suggestion_fB_2.cursor_eG29 .hitIcon_a7Zy,.suggestion_fB_2.cursor_eG29 .hitPath_ieM4,.suggestion_fB_2.cursor_eG29 .hitTree_kk6K,.suggestion_fB_2.cursor_eG29 mark{color:var(--search-local-hit-active-color,var(--ifm-color-white))!important}.searchBarContainer_NW3z{margin-left:16px}.searchBarContainer_NW3z .searchBarLoadingRing_YnHq{display:none;left:10px;position:absolute;top:6px}.searchBarContainer_NW3z .searchClearButton_qk4g{background:none;border:none;line-height:1rem;padding:0;position:absolute;right:.8rem;top:50%;transform:translateY(-50%)}.searchIndexLoading_EJ1f .navbar__search-input{background-image:none}.searchHintContainer_Pkmr{align-items:center;display:flex;gap:4px;height:100%;justify-content:center;pointer-events:none;position:absolute;right:10px;top:0}.searchHint_iIMx{background-color:var(--ifm-navbar-search-input-background-color);border:1px solid var(--ifm-color-emphasis-500);box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-500);color:var(--ifm-navbar-search-input-placeholder-color)}.loadingRing_RJI3{display:inline-block;height:20px;opacity:var(--search-local-loading-icon-opacity,.5);position:relative;width:20px}.loadingRing_RJI3 div{animation:1.2s cubic-bezier(.5,0,.5,1) infinite wa;border:2px solid var(--search-load-loading-icon-color,var(--ifm-navbar-search-input-color));border-color:var(--search-load-loading-icon-color,var(--ifm-navbar-search-input-color)) #0000 #0000 #0000;border-radius:50%;display:block;height:16px;margin:2px;position:absolute;width:16px}.loadingRing_RJI3 div:first-child{animation-delay:-.45s}.loadingRing_RJI3 div:nth-child(2){animation-delay:-.3s}.loadingRing_RJI3 div:nth-child(3){animation-delay:-.15s}.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}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}legend,pre{display:block}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_re4s{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.sidebarItemTitle_pO2u{font-size:var(--ifm-h3-font-size);font-weight:var(--ifm-font-weight-bold)}.container_mt6G,.sidebarItemList_Yudw{font-size:.9rem}.sidebarItem__DBe{margin-top:.7rem}.sidebarItemLink_mo7H{color:var(--ifm-font-color-base);display:block}.sidebarItemLinkActive_I1ZP{color:var(--ifm-color-primary)!important}.team_page,.user_page{margin-top:50px!important}.team_page .team_title{color:#0f1222;font-size:25px;font-weight:500;margin-top:50px}.team_page .team_desc{margin-bottom:40px}.team_page .team_indent{line-height:40px}.team_page .desc{color:#4a4a4a;font-size:1rem;margin-left:1.2rem}.team_page .character_list{grid-column-gap:15px;grid-row-gap:15px;display:grid;grid-template-columns:repeat(6,1fr);padding:20px 0 0}.team_page .character_list .character_item{background-color:#cddeea33;border:1px solid #cdddfacc;border-radius:2px;box-shadow:0 3px 5px #2f55d414;margin:40px 0 42px;min-width:0;padding:0 10px 5px}.team_page .character_list .character_item .character_avatar{background:#d8d8d8;border:5px solid #ffffff14;border-radius:50%;display:inline-block;height:120px;margin:-4rem auto -.5rem;width:120px}.team_page .character_list .character_item .character_name{color:#0f1222;font-size:15px;margin-top:20px}.team_page .character_list .character_item .character_id,.team_page .character_list .character_item .character_name{background-color:#fff;border:1px solid #cdddfa99;border-radius:18px;box-shadow:0 3px 5px #2f55d40d;font-weight:400;line-height:36px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team_page .character_list .character_item .character_id{color:#333;font-size:12px}.team_page .character_list .character_item .character_id .githubId{color:#666;margin-right:2px}.team_page .character_list .character_item .character_link{color:#0f1222a6;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team_user{width:20%!important}.team{background:#fff;padding:10px 0;position:relative}.hover-box-up:hover,.team:hover{transform:translateY(-10px)}.team .team-img img{border:2px solid #f5f5ff;border-radius:50%;display:inline-block;height:100px;width:100px}.team .team-info{margin-top:20px}.team .team-info ul li{display:inline-block;margin:0 10px}.team .team-info .team-name{display:inline-block;font-size:17px;font-weight:600;margin-bottom:10px}.team .team-info .team-leader{font-size:12px;font-weight:300;margin-bottom:7px}.team .team-info .team-leader .github-icon{height:20px;margin-right:5px;width:20px}.hover-box-down,.hover-box-up,.team.team-hover{transition:.3s ease-in-out}.team.team-hover:hover{background-color:#fff;box-shadow:0 1rem 2rem #0000000d}.bg-gray{background-color:#f5f9ff}.searchQueryInput_CFBF{background:var(--ifm-background-color);border:var(--ifm-global-border-width) solid var(--ifm-color-content-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-font-color-base);font-size:var(--ifm-font-size-base);margin-bottom:1rem;padding:.5rem;width:100%}.searchResultItem_U687{border-bottom:1px solid #dfe3e8;padding:1rem 0}.searchResultItemPath_uIbk{color:var(--ifm-color-content-secondary);font-size:.8rem;margin:.5rem 0 0}.searchResultItemSummary_oZHr{font-style:italic;margin:.5rem 0 0}.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}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.docMainContainer_gTbr,.docPage__5DB{display:flex;width:100%}.docPage__5DB{flex:1 0}.docsWrapper_BCFX{display:flex;flex:1 0 auto}.animated{animation-duration:1s;animation-fill-mode:both}.animated.hinge{animation-duration:2s}@keyframes a{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}.bounce{animation-name:a}@keyframes b{0%,50%,to{opacity:1}25%,75%{opacity:0}}.flash{animation-name:b}@keyframes c{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.pulse{animation-name:c}@keyframes d{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.shake{animation-name:d}@keyframes e{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}to{transform:rotate(0)}}.swing{animation-name:e;transform-origin:top center}.tada{animation-name:sa}@keyframes f{0%,to{transform:translateX(0)}15%{transform:translateX(-25%) rotate(-5deg)}30%{transform:translateX(20%) rotate(3deg)}45%{transform:translateX(-15%) rotate(-3deg)}60%{transform:translateX(10%) rotate(2deg)}75%{transform:translateX(-5%) rotate(-1deg)}}.wobble{animation-name:f}@keyframes g{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}.bounceIn{animation-name:g}@keyframes h{0%{opacity:0;transform:translateY(-2000px)}60%{opacity:1;transform:translateY(30px)}80%{transform:translateY(-10px)}to{transform:translateY(0)}}.bounceInDown{animation-name:h}@keyframes i{0%{opacity:0;transform:translateX(-2000px)}60%{opacity:1;transform:translateX(30px)}80%{transform:translateX(-10px)}to{transform:translateX(0)}}.bounceInLeft{animation-name:i}@keyframes j{0%{opacity:0;transform:translateX(2000px)}60%{opacity:1;transform:translateX(-30px)}80%{transform:translateX(10px)}to{transform:translateX(0)}}.bounceInRight{animation-name:j}@keyframes k{0%{opacity:0;transform:translateY(2000px)}60%{opacity:1;transform:translateY(-30px)}80%{transform:translateY(10px)}to{transform:translateY(0)}}.bounceInUp{animation-name:k}@keyframes l{0%{transform:scale(1)}25%{transform:scale(.95)}50%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(.3)}}.bounceOut{animation-name:l}@keyframes m{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(-20px)}to{opacity:0;transform:translateY(2000px)}}.bounceOutDown{animation-name:m}@keyframes n{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(20px)}to{opacity:0;transform:translateX(-2000px)}}.bounceOutLeft{animation-name:n}@keyframes o{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(-20px)}to{opacity:0;transform:translateX(2000px)}}.bounceOutRight{animation-name:o}@keyframes p{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(20px)}to{opacity:0;transform:translateY(-2000px)}}.bounceOutUp{animation-name:p}@keyframes q{0%{opacity:0}to{opacity:1}}.fadeIn{animation-name:q}@keyframes r{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.fadeInDown{animation-name:r}@keyframes s{0%{opacity:0;transform:translateY(-2000px)}to{opacity:1;transform:translateY(0)}}.fadeInDownBig{animation-name:s}@keyframes t{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.fadeInLeft{animation-name:t}@keyframes u{0%{opacity:0;transform:translateX(-2000px)}to{opacity:1;transform:translateX(0)}}.fadeInLeftBig{animation-name:u}@keyframes v{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.fadeInRight{animation-name:v}@keyframes w{0%{opacity:0;transform:translateX(2000px)}to{opacity:1;transform:translateX(0)}}.fadeInRightBig{animation-name:w}@keyframes x{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fadeInUp{animation-name:x}@keyframes y{0%{opacity:0;transform:translateY(2000px)}to{opacity:1;transform:translateY(0)}}.fadeInUpBig{animation-name:y}@keyframes z{0%{opacity:1}to{opacity:0}}.fadeOut{animation-name:z}@keyframes A{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(20px)}}.fadeOutDown{animation-name:A}@keyframes B{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(2000px)}}.fadeOutDownBig{animation-name:B}@keyframes C{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-20px)}}.fadeOutLeft{animation-name:C}@keyframes D{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-2000px)}}.fadeOutLeftBig{animation-name:D}@keyframes E{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(20px)}}.fadeOutRight{animation-name:E}@keyframes F{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(2000px)}}.fadeOutRightBig{animation-name:F}@keyframes G{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.fadeOutUp{animation-name:G}@keyframes H{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-2000px)}}.fadeOutUpBig{animation-name:H}@keyframes I{0%{animation-timing-function:ease-out;transform:perspective(400px) translateZ(0) rotateY(0) scale(1)}40%{animation-timing-function:ease-out;transform:perspective(400px) translateZ(150px) rotateY(170deg) scale(1)}50%{animation-timing-function:ease-in;transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1)}80%{animation-timing-function:ease-in;transform:perspective(400px) translateZ(0) rotateY(1turn) scale(.95)}to{animation-timing-function:ease-in;transform:perspective(400px) translateZ(0) rotateY(1turn) scale(1)}}.animated.flip{animation-name:I;backface-visibility:visible}@keyframes J{0%{opacity:0;transform:perspective(400px) rotateX(90deg)}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}to{opacity:1;transform:perspective(400px) rotateX(0)}}.flipInX{animation-name:J}@keyframes K{0%{opacity:0;transform:perspective(400px) rotateY(90deg)}40%{transform:perspective(400px) rotateY(-10deg)}70%{transform:perspective(400px) rotateY(10deg)}to{opacity:1;transform:perspective(400px) rotateY(0)}}.flipInY{animation-name:K}@keyframes L{0%{opacity:1;transform:perspective(400px) rotateX(0)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.flipOutX{animation-name:L}@keyframes M{0%{opacity:1;transform:perspective(400px) rotateY(0)}to{opacity:0;transform:perspective(400px) rotateY(90deg)}}.flipOutY{animation-name:M}@keyframes N{0%{opacity:0;transform:translateX(100%) skewX(-30deg)}60%{opacity:1;transform:translateX(-20%) skewX(30deg)}80%{opacity:1;transform:translateX(0) skewX(-15deg)}to{opacity:1;transform:translateX(0) skewX(0)}}.lightSpeedIn{animation-name:N;animation-timing-function:ease-out}@keyframes O{0%{opacity:1;transform:translateX(0) skewX(0)}to{opacity:0;transform:translateX(100%) skewX(-30deg)}}.lightSpeedOut{animation-name:O;animation-timing-function:ease-in}@keyframes P{0%{opacity:0;transform:rotate(-200deg);transform-origin:center center}to{opacity:1;transform:rotate(0);transform-origin:center center}}.rotateIn{animation-name:P}@keyframes Q{0%{opacity:0;transform:rotate(-90deg);transform-origin:left bottom}to{opacity:1;transform:rotate(0);transform-origin:left bottom}}.rotateInDownLeft{animation-name:Q}@keyframes R{0%{opacity:0;transform:rotate(90deg);transform-origin:right bottom}to{opacity:1;transform:rotate(0);transform-origin:right bottom}}.rotateInDownRight{animation-name:R}@keyframes S{0%{opacity:0;transform:rotate(90deg);transform-origin:left bottom}to{opacity:1;transform:rotate(0);transform-origin:left bottom}}.rotateInUpLeft{animation-name:S}@keyframes T{0%{opacity:0;transform:rotate(-90deg);transform-origin:right bottom}to{opacity:1;transform:rotate(0);transform-origin:right bottom}}.rotateInUpRight{animation-name:T}@keyframes U{0%{opacity:1;transform:rotate(0);transform-origin:center center}to{opacity:0;transform:rotate(200deg);transform-origin:center center}}.rotateOut{animation-name:U}@keyframes V{0%{opacity:1;transform:rotate(0);transform-origin:left bottom}to{opacity:0;transform:rotate(90deg);transform-origin:left bottom}}.rotateOutDownLeft{animation-name:V}@keyframes W{0%{opacity:1;transform:rotate(0);transform-origin:right bottom}to{opacity:0;transform:rotate(-90deg);transform-origin:right bottom}}.rotateOutDownRight{animation-name:W}@keyframes X{0%{opacity:1;transform:rotate(0);transform-origin:left bottom}to{opacity:0;transform:rotate(-90deg);transform-origin:left bottom}}.rotateOutUpLeft{animation-name:X}@keyframes Y{0%{opacity:1;transform:rotate(0);transform-origin:right bottom}to{opacity:0;transform:rotate(90deg);transform-origin:right bottom}}.rotateOutUpRight{animation-name:Y}@keyframes Z{0%{opacity:0;transform:translateY(-2000px)}to{transform:translateY(0)}}.slideInDown{animation-name:Z}@keyframes aa{0%{opacity:0;transform:translateX(-2000px)}to{transform:translateX(0)}}.slideInLeft{animation-name:aa}@keyframes ba{0%{opacity:0;transform:translateX(2000px)}to{transform:translateX(0)}}.slideInRight{animation-name:ba}@keyframes ca{0%{transform:translateX(0)}to{opacity:0;transform:translateX(-2000px)}}.slideOutLeft{animation-name:ca}@keyframes da{0%{transform:translateX(0)}to{opacity:0;transform:translateX(2000px)}}.slideOutRight{animation-name:da}@keyframes ea{0%{transform:translateY(0)}to{opacity:0;transform:translateY(-2000px)}}.slideOutUp{animation-name:ea}@keyframes fa{0%{animation-timing-function:ease-in-out;transform:rotate(0);transform-origin:top left}20%,60%{animation-timing-function:ease-in-out;transform:rotate(80deg);transform-origin:top left}40%{animation-timing-function:ease-in-out;transform:rotate(60deg);transform-origin:top left}80%{animation-timing-function:ease-in-out;opacity:1;transform:rotate(60deg) translateY(0);transform-origin:top left}to{opacity:0;transform:translateY(700px)}}.hinge{animation-name:fa}@keyframes ga{0%{opacity:0;transform:translateX(-100%) rotate(-120deg)}to{opacity:1;transform:translateX(0) rotate(0)}}.rollIn{animation-name:ga}@keyframes ha{0%{opacity:1;transform:translateX(0) rotate(0)}to{opacity:0;transform:translateX(100%) rotate(120deg)}}.rollOut{animation-name:ha}body{font-family:-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-weight:400;margin:0}.alert-link,dt,kbd kbd{font-weight:700}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative}.btn,img{vertical-align:middle}sub{bottom:-.25em}sup{top:-.5em}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}figure{margin:0 0 1rem}img{border-style:none;height:auto}.accordion>.card,.modal-open,.welcome_slider,svg{overflow:hidden}button,hr,input{overflow:visible}caption{caption-side:bottom;color:#6c757d;padding-bottom:.75rem;padding-top:.75rem}th{text-align:inherit}label{display:inline-block}.list-group-flush,button{border-radius:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}.admonitionHeading_tbUL code,button,select{text-transform:none}.btn:not(:disabled):not(.disabled),.cursor-pointer,[role=button],[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;font-size:1.5rem;margin-bottom:.5rem;padding:0;white-space:normal;width:100%}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{cursor:pointer;display:list-item}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.2;margin-bottom:.5rem}.table,hr{margin-bottom:1rem}.coverpage .h2,.coverpage h2,.h1,.process-vertical .process-vertical-item .process-vertical-icon .process-vertical-icon-bg i,h1{font-size:2rem}.h2,h2{font-size:1.75rem}.h4,h4{font-size:1.25rem}.h5,h5{font-size:1rem}.h6,h6{font-size:.95rem}.lead{font-size:1.25rem;font-weight:300}.btn,.btn-link,.dropdown-item,.form-control,.small,small{font-weight:400}.display-1{font-size:6rem}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-4{font-size:3.5rem}hr{box-sizing:initial;height:0;border:0;border-top:1px solid #0000001a;margin-top:1rem}.small,small{font-size:80%}kbd,pre{font-size:87.5%}.mark,mark{background-color:#fcf8e3;padding:.2em}.blockquote-footer:before{content:"\2014\00A0"}kbd{background-color:#212529;border-radius:.2rem;color:#fff;padding:.2rem .4rem}.table,pre{color:#212529}kbd kbd{font-size:100%;padding:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{padding-left:15px;padding-right:15px}.row{display:-ms-flexbox;display:-webkit-box;-ms-flex-wrap:wrap;margin-left:-15px;margin-right:-15px}.card>hr,.no-gutters{margin-left:0;margin-right:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.navbar-nav .nav-link,.no-gutters>.col,.no-gutters>[class*=col-]{padding-left:0;padding-right:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{padding-left:15px;padding-right:15px;position:relative;width:100%}.col{-ms-flex-preferred-size:0;-ms-flex-positive:1;-webkit-box-flex:1;flex-basis:0;flex-grow:1}.col-12,.row-cols-1>*{flex:0 0 100%;max-width:100%}.col-6,.row-cols-2>*{flex:0 0 50%;max-width:50%}.col-4,.row-cols-3>*{flex:0 0 33.333333%;max-width:33.333333%}.col-3,.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.col-2,.row-cols-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;max-width:100%}.col-1,.col-10,.col-11,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto{-webkit-box-flex:0}.col-1{flex:0 0 8.333333%;max-width:8.333333%}.col-5{flex:0 0 41.666667%;max-width:41.666667%}.col-7{flex:0 0 58.333333%;max-width:58.333333%}.col-8{flex:0 0 66.666667%;max-width:66.666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.333333%;max-width:83.333333%}.col-11{flex:0 0 91.666667%;max-width:91.666667%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.table{width:100%}.table td,.table th{border-top:1px solid #dee2e6;padding:.75rem;vertical-align:top}.table thead th{border-bottom:2px solid #dee2e6;vertical-align:bottom}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th,.table-dark.table-bordered,.table-responsive>.table-bordered{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:#0000000d}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075);color:#212529}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table .thead-dark th,.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.badge-dark,.table .thead-dark th,.table-dark{background-color:#343a40;color:#fff}.table .thead-light th{background-color:#e9ecef;border-color:#dee2e6;color:#495057}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:#ffffff0d}.table-dark.table-hover tbody tr:hover{background-color:hsla(0,0%,100%,.075);color:#fff}.table-responsive{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.form-control{background-clip:padding-box;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;color:#495057;display:block;font-size:1rem;height:calc(1.5em + .75rem + 2px);line-height:1.5;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}.form-control::-ms-expand{background-color:initial;border:0}.form-control:-moz-focusring{color:#0000;text-shadow:0 0 0 #495057}.form-control:focus{background-color:#fff;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40;color:#495057;outline:0}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;appearance:none}.custom-range,.custom-select{-webkit-appearance:none;width:100%}select.form-control:focus::-ms-value{background-color:#fff;color:#495057}.col-form-label{font-size:inherit;line-height:1.5;margin-bottom:0;padding-bottom:calc(.375rem + 1px);padding-top:calc(.375rem + 1px)}.col-form-label-lg{font-size:1.25rem;line-height:1.5;padding-bottom:calc(.5rem + 1px);padding-top:calc(.5rem + 1px)}.col-form-label-sm{font-size:.875rem;line-height:1.5;padding-bottom:calc(.25rem + 1px);padding-top:calc(.25rem + 1px)}.form-control-plaintext{background-color:initial;border:solid #0000;border-width:1px 0;color:#212529;display:block;font-size:1rem;line-height:1.5;margin-bottom:0;padding:.375rem 0;width:100%}.form-control-sm{border-radius:.2rem;font-size:.875rem;height:calc(1.5em + .5rem + 2px);line-height:1.5;padding:.25rem .5rem}.form-control-lg{border-radius:.3rem;font-size:1.25rem;height:calc(1.5em + 1rem + 2px);line-height:1.5;padding:.5rem 1rem}.img_ev3q,select.form-control[multiple],select.form-control[size],textarea.form-control{height:auto}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-left:-5px;margin-right:-5px}.form-row>.col,.form-row>[class*=col-]{padding-left:5px;padding-right:5px}.form-check{display:block;padding-left:1.25rem;position:relative}.form-check-input{margin-left:-1.25rem;margin-top:.3rem;position:absolute}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label,.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-inline{align-items:center;display:inline-flex;margin-right:.75rem;padding-left:0}.invalid-tooltip,.valid-tooltip{border-radius:.25rem;display:none;max-width:100%;padding:.25rem .5rem;z-index:5;line-height:1.5;top:100%;left:0;position:absolute}.form-check-inline .form-check-input{margin-left:0;margin-right:.3125rem;margin-top:0;position:static}.valid-feedback{color:#28a745;display:none;font-size:80%;margin-top:.25rem;width:100%}.valid-tooltip{background-color:#28a745e6;color:#fff;font-size:.875rem;margin-top:.1rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:#28a745;padding-right:calc(1.5em + .75rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem #28a74540}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.custom-select.is-valid,.was-validated .custom-select:valid{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2328a745' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff;border-color:#28a745;padding-right:calc(.75em + 2.3125rem)}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem #28a74540}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{background-color:#34ce57;border-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #28a74540}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem #28a74540}.invalid-feedback{color:#dc3545;display:none;font-size:80%;margin-top:.25rem;width:100%}.invalid-tooltip{background-color:#dc3545e6;color:#fff;font-size:.875rem;margin-top:.1rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:#dc3545;padding-right:calc(1.5em + .75rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat #fff;border-color:#dc3545;padding-right:calc(.75em + 2.3125rem)}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{background-color:#e4606d;border-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #dc354540}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem #dc354540}.form-inline{align-items:center;display:flex;flex-flow:row wrap}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.form-inline .form-check,.home_barisal img,input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.btn{background-color:initial;border:1px solid #0000;border-radius:.25rem;color:#212529;display:inline-block;font-size:1rem;line-height:1.5;padding:.375rem .75rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;user-select:none}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{box-shadow:0 0 0 .2rem #007bff40;outline:0}.btn.disabled,.btn:disabled{opacity:.65}.btn-outline-primary:hover,.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-primary,.btn-primary.disabled,.btn-primary:disabled,.custom-control-input:checked~.custom-control-label:before,.show>.btn-outline-primary.dropdown-toggle{background-color:#007bff;border-color:#007bff;color:#fff}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{background-color:#0069d9;border-color:#0062cc;color:#fff}.btn-primary.focus,.btn-primary:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #268fff80}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{background-color:#0062cc;border-color:#005cbf;color:#fff}.btn-outline-secondary:hover,.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-secondary,.btn-secondary.disabled,.btn-secondary:disabled,.show>.btn-outline-secondary.dropdown-toggle{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{background-color:#5a6268;border-color:#545b62;color:#fff}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #828a9180}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{background-color:#545b62;border-color:#4e555b;color:#fff}.btn-outline-success:hover,.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.btn-success,.btn-success.disabled,.btn-success:disabled,.show>.btn-outline-success.dropdown-toggle{background-color:#28a745;border-color:#28a745;color:#fff}.btn-success.focus,.btn-success:focus,.btn-success:hover{background-color:#218838;border-color:#1e7e34;color:#fff}.btn-success.focus,.btn-success:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #48b46180}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{background-color:#1e7e34;border-color:#1c7430;color:#fff}.btn-info,.btn-info.disabled,.btn-info:disabled,.btn-outline-info:hover,.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{background-color:#17a2b8;border-color:#17a2b8;color:#fff}.btn-info.focus,.btn-info:focus,.btn-info:hover{background-color:#138496;border-color:#117a8b;color:#fff}.btn-info.focus,.btn-info:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #3ab0c380}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{background-color:#117a8b;border-color:#10707f;color:#fff}.btn-outline-warning:hover,.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-warning,.btn-warning.disabled,.btn-warning:disabled,.show>.btn-outline-warning.dropdown-toggle{background-color:#ffc107;border-color:#ffc107;color:#212529}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{background-color:#e0a800;border-color:#d39e00;color:#212529}.btn-warning.focus,.btn-warning:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #deaa0c80}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{background-color:#d39e00;border-color:#c69500;color:#212529}.btn-danger,.btn-danger.disabled,.btn-danger:disabled,.btn-outline-danger:hover,.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{background-color:#dc3545;border-color:#dc3545;color:#fff}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{background-color:#c82333;border-color:#bd2130;color:#fff}.btn-danger.focus,.btn-danger:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #e1536180}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{background-color:#bd2130;border-color:#b21f2d;color:#fff}.btn-light,.btn-light.disabled,.btn-light:disabled,.btn-outline-light:hover,.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-light.focus,.btn-light:focus,.btn-light:hover{background-color:#e2e6ea;border-color:#dae0e5;color:#212529}.btn-light.focus,.btn-light:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #d8d9db80}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{background-color:#dae0e5;border-color:#d3d9df;color:#212529}.btn-dark,.btn-dark.disabled,.btn-dark:disabled,.btn-outline-dark:hover,.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{background-color:#343a40;border-color:#343a40;color:#fff}.btn-dark.focus,.btn-dark:focus,.btn-dark:hover{background-color:#23272b;border-color:#1d2124;color:#fff}.btn-dark.focus,.btn-dark:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #52585d80}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{background-color:#1d2124;border-color:#171a1d;color:#fff}.btn-outline-primary{border-color:#007bff;color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #007bff80}.btn-outline-primary.disabled,.btn-outline-primary:disabled{background-color:initial;color:#007bff}.btn-outline-secondary{border-color:#6c757d;color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #6c757d80}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{background-color:initial;color:#6c757d}.btn-outline-success{border-color:#28a745;color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #28a74580}.btn-outline-success.disabled,.btn-outline-success:disabled{background-color:initial;color:#28a745}.btn-outline-info{border-color:#17a2b8;color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #17a2b880}.btn-outline-info.disabled,.btn-outline-info:disabled{background-color:initial;color:#17a2b8}.btn-outline-warning{border-color:#ffc107;color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #ffc10780}.btn-outline-warning.disabled,.btn-outline-warning:disabled{background-color:initial;color:#ffc107}.btn-outline-danger{border-color:#dc3545;color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #dc354580}.btn-outline-danger.disabled,.btn-outline-danger:disabled{background-color:initial;color:#dc3545}.btn-outline-light{border-color:#f8f9fa;color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #f8f9fa80}.btn-outline-light.disabled,.btn-outline-light:disabled{background-color:initial;color:#f8f9fa}.btn-outline-dark{border-color:#343a40;color:#343a40}.dropdown-toggle:after,.dropup .dropdown-toggle:after{border-left:.3em solid #0000;border-right:.3em solid #0000;vertical-align:.255em;display:inline-block}.btn-outline-dark.focus,.btn-outline-dark:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem #343a4080}.btn-outline-dark.disabled,.btn-outline-dark:disabled{background-color:initial;color:#343a40}.btn-link{color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg,.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{border-radius:.3rem;font-size:1.25rem;line-height:1.5;padding:.5rem 1rem}.btn-group-sm>.btn,.btn-sm,.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{border-radius:.2rem;font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom,.btn-block+.btn-block{margin-top:.5rem}.fade{transition:opacity .15s linear}.fade:not(.show),.modal-backdrop.fade{opacity:0}.collapsing{height:0;overflow:hidden;transition:height .35s}.dropdown-toggle,.sr-only{white-space:nowrap}.dropdown-toggle:after{border-bottom:0;border-top:.3em solid;content:"";margin-left:.255em}.dropdown-toggle-split:after,.dropdown-toggle:empty:after,.dropleft .dropdown-toggle:empty:after,.dropright .dropdown-toggle-split:after,.dropright .dropdown-toggle:empty:after,.dropup .dropdown-toggle-split:after,.dropup .dropdown-toggle:empty:after,.ml-0{margin-left:0}.dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid #00000026;border-radius:.25rem;color:#212529;display:none;float:left;font-size:1rem;left:0;list-style:none;margin:.125rem 0 0;min-width:10rem;padding:.5rem 0;position:absolute;text-align:left;top:100%;z-index:1000}.dropdown-menu-left{left:0;right:auto}.dropdown-menu-right{left:auto;right:0}.dropup .dropdown-menu{bottom:100%;margin-bottom:.125rem;margin-top:0;top:auto}.dropup .dropdown-toggle:after{border-bottom:.3em solid;border-top:0;content:"";margin-left:.255em}.dropleft .dropdown-toggle:before,.dropright .dropdown-toggle:after{border-bottom:.3em solid #0000;border-top:.3em solid #0000;content:""}.dropright .dropdown-menu{left:100%;margin-left:.125rem;margin-top:0;right:auto;top:0}.dropright .dropdown-toggle:after{border-left:.3em solid;border-right:0;display:inline-block;margin-left:.255em;vertical-align:0}.dropleft .dropdown-menu{left:auto;margin-right:.125rem;margin-top:0;right:100%;top:0}.dropleft .dropdown-toggle:after{content:"";display:none;margin-left:.255em;vertical-align:.255em}.dropleft .dropdown-toggle:before{border-right:.3em solid;display:inline-block;margin-right:.255em;vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{bottom:auto;right:auto}.dropdown-divider{border-top:1px solid #e9ecef;height:0;margin:.5rem 0;overflow:hidden}.dropdown-item{background-color:initial;border:0;clear:both;color:#212529;display:block;padding:.25rem 1.5rem;text-align:inherit;white-space:nowrap;width:100%}.custom-control-input:disabled~.custom-control-label:before,.custom-control-input[disabled]~.custom-control-label:before,.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label,.input-group-text{background-color:#e9ecef}.dropdown-item:focus,.dropdown-item:hover{background-color:#f8f9fa;color:#16181b;text-decoration:none}.dropdown-item.active,.dropdown-item:active{background-color:#007bff;color:#fff;text-decoration:none}.dropdown-item.disabled,.dropdown-item:disabled{background-color:initial;color:#6c757d;pointer-events:none}.carousel-item-next,.carousel-item-prev,.carousel-item.active,.display_block,.dropdown-menu.show,.tab-content>.active,.tocCollapsibleContent_vkbj a{display:block}.dropdown-header{color:#6c757d;display:block;font-size:.875rem;margin-bottom:0;padding:.5rem 1.5rem;white-space:nowrap}.dropdown-item-text{color:#212529;display:block;padding:.25rem 1.5rem}.btn-group,.btn-group-vertical{display:inline-flex;position:relative;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{flex:1 1 auto;position:relative}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover,.footer,.z-index-1{z-index:1}.btn-toolbar{-ms-flex-pack:start;-webkit-box-pack:start;display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child),.input-group-append,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text,.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.dropdown-toggle-split{padding-left:.5625rem;padding-right:.5625rem}.corner_button:last-child,.dropleft .dropdown-toggle-split:before,.mr-0{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.btn-group-vertical{-ms-flex-align:start;-webkit-box-align:start;-ms-flex-pack:center;-webkit-box-pack:center;align-items:flex-start;flex-direction:column;justify-content:center}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-left-radius:0;border-bottom-right-radius:0}.accordion>.card:not(:first-of-type),.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child),.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.custom-select,.input-group-text{border:1px solid #ced4da;font-size:1rem;color:#495057;font-weight:400;line-height:1.5}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{clip:rect(0,0,0,0);pointer-events:none;position:absolute}.input-group{align-items:stretch;display:flex;flex-wrap:wrap;position:relative;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{flex:1 1 auto;margin-bottom:0;min-width:0;position:relative;width:1%}.input-group-append .btn:focus,.input-group-prepend .btn:focus,.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus,.z-index-3,.ztop{z-index:3}.input-group>.custom-file .custom-file-input:focus,.z-index-4{z-index:4}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-prepend{margin-right:-1px}.input-group-text{align-items:center;border-radius:.25rem;display:flex;margin-bottom:0;padding:.375rem .75rem;text-align:center;white-space:nowrap}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.custom-control{display:block;min-height:1.5rem;padding-left:1.5rem;position:relative;z-index:1}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{height:1.25rem;left:0;opacity:0;position:absolute;width:1rem;z-index:-1}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem #007bff40}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label:before{background-color:#b3d7ff;border-color:#b3d7ff;color:#fff}.custom-control-label{margin-bottom:0;position:relative;vertical-align:top}.custom-control-label:before{background-color:#fff;border:1px solid #adb5bd;pointer-events:none}.custom-file-input:focus~.custom-file-label,.custom-select:focus{border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.custom-control-label:after,.custom-control-label:before{content:"";display:block;height:1rem;left:-1.5rem;position:absolute;top:.25rem;width:1rem}.custom-control-label:after{background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label:before,.nav-pills .nav-link{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%23fff' d='m6.564.75-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{background-color:#007bff;border-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before,.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:#007bff80}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before,.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:#007bff80}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{border-radius:.5rem;left:-2.25rem;pointer-events:all;width:1.75rem}.custom-switch .custom-control-label:after{background-color:#adb5bd;border-radius:.5rem;height:calc(1rem - 4px);left:calc(-2.25rem + 2px);top:calc(.25rem + 2px);transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:calc(1rem - 4px)}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;transform:translateX(.75rem)}.custom-select{appearance:none;background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat #fff;border-radius:.25rem;display:inline-block;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;vertical-align:middle}.custom-select:focus{outline:0}.custom-select:focus::-ms-value{background-color:#fff;color:#495057}.custom-select[multiple],.custom-select[size]:not([size="1"]){background-image:none;height:auto;padding-right:.75rem}.custom-select:disabled{background-color:#e9ecef;color:#6c757d}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:#0000;text-shadow:0 0 0 #495057}.custom-select-sm{font-size:.875rem;height:calc(1.5em + .5rem + 2px);padding-bottom:.25rem;padding-left:.5rem;padding-top:.25rem}.custom-select-lg{font-size:1.25rem;height:calc(1.5em + 1rem + 2px);padding-bottom:.5rem;padding-left:1rem;padding-top:.5rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{height:calc(1.5em + .75rem + 2px);position:relative;width:100%}.custom-file-input{margin:0;opacity:0;z-index:2}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{background-color:#fff;border:1px solid #ced4da;border-radius:.25rem;font-weight:400;height:calc(1.5em + .75rem + 2px);left:0;z-index:1}.badge,.close{font-weight:700}.custom-file-label,.custom-file-label:after{color:#495057;line-height:1.5;padding:.375rem .75rem;position:absolute;right:0;top:0}.custom-file-label:after{background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0;bottom:0;content:"Browse";display:block;height:calc(1.5em + .75rem);z-index:3}.custom-range{appearance:none;background-color:initial;height:1.4rem;padding:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #007bff40}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #007bff40}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem #007bff40}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#007bff;border:0;border-radius:1rem;height:1rem;margin-top:-.25rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{background-color:#dee2e6;border-color:#0000;border-radius:1rem;color:#0000;cursor:pointer;height:.5rem;width:100%}.custom-range::-moz-range-thumb{appearance:none;background-color:#007bff;border:0;border-radius:1rem;height:1rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{background-color:#dee2e6;border-color:#0000;border-radius:1rem;color:#0000;cursor:pointer;height:.5rem;width:100%}.custom-range::-ms-thumb{appearance:none;background-color:#007bff;border:0;border-radius:1rem;height:1rem;margin-left:.2rem;margin-right:.2rem;margin-top:0;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{background-color:initial;border-color:#0000;border-width:.5rem;color:#0000;cursor:pointer;height:.5rem;width:100%}.custom-range::-ms-fill-lower,.custom-range::-ms-fill-upper{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.nav{display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.nav-link,.navbar{padding:.5rem 1rem}.nav-link{display:block}.nav-link.disabled{color:#6c757d;cursor:default;pointer-events:none}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid #0000;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{background-color:initial;border-color:#0000;color:#6c757d}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{background-color:#fff;border-color:#dee2e6 #dee2e6 #fff;color:#495057}.nav-tabs .dropdown-menu{border-top-left-radius:0;border-top-right-radius:0;margin-top:-1px}.badge-primary,.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background-color:#007bff;color:#fff}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;-ms-flex-positive:1;-webkit-box-flex:1;flex-basis:0;flex-grow:1;text-align:center}.badge:empty,.display_none,.hover-none .d-hover-block,.navbar-expand .navbar-toggler,.popover-header:empty,.tab-content>.tab-pane,.toast.hide{display:none}.navbar{position:sticky;top:0}.navbar,.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{-ms-flex-align:center;-webkit-box-align:center;-ms-flex-pack:justify;-webkit-box-pack:justify;align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between}.navbar-brand{display:inline-block;font-size:1.25rem;line-height:inherit;margin-right:1rem;padding-bottom:.3125rem;padding-top:.3125rem;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;list-style:none;margin-bottom:0;padding-left:0}.navbar-nav .dropdown-menu{float:none;position:static}.navbar-text{display:inline-block;padding-bottom:.5rem;padding-top:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;-ms-flex-positive:1;-webkit-box-flex:1;align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{background-color:initial;border:1px solid #0000;border-radius:.25rem;font-size:1.25rem;line-height:1;padding:.25rem .75rem}.navbar-toggler-icon{background:50%/100% 100% no-repeat;content:"";display:inline-block;height:1.5em;vertical-align:middle;width:1.5em}.navbar-expand{-ms-flex-pack:start;-webkit-box-pack:start;flex-flow:row nowrap;justify-content:flex-start}.list-group-horizontal,.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu,.scribble:not(.position-relative){position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-left:0;padding-right:0;flex-wrap:nowrap}.navbar-expand .navbar-collapse{-ms-flex-preferred-size:auto;display:flex!important;flex-basis:auto}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:#000000e6}.navbar-light .navbar-nav .nav-link,.navbar-light .navbar-text{color:#00000080}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:#000000b3}.navbar-light .navbar-nav .nav-link.disabled{color:#0000004d}.navbar-light .navbar-toggler{border-color:#0000001a;color:#00000080}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-nav .nav-link,.navbar-dark .navbar-text{color:#ffffff80}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:#ffffffbf}.navbar-dark .navbar-nav .nav-link.disabled{color:#ffffff40}.navbar-dark .navbar-toggler{border-color:#ffffff1a;color:#ffffff80}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.card{background-clip:initial;background-color:#fff;border:1px solid rgba(0,0,0,.125);border-radius:.25rem;display:flex;flex-direction:column;min-width:0;position:relative}.card-img,.card-img-top,.card>.list-group:first-child{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card>.list-group:last-child{border-bottom-left-radius:calc(.25rem - 1px);border-bottom-right-radius:calc(.25rem - 1px)}.card>.list-group{border-bottom:inherit;border-top:inherit}.card>.list-group:first-child{border-top-width:0}.card>.list-group:last-child{border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-footer,.card-header{background-color:#00000008;padding:.75rem 1.25rem}.card-columns .card,.card-title,.toast:not(:last-child){margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-link+.card-link{margin-left:1.25rem}.card-header{border-bottom:1px solid rgba(0,0,0,.125);margin-bottom:0}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{border-bottom:0;margin-bottom:-.75rem}.card-header-pills,.card-header-tabs{margin-left:-.625rem;margin-right:-.625rem}.card-img-overlay{border-radius:calc(.25rem - 1px);bottom:0;left:0;padding:1.25rem;position:absolute;right:0;top:0}.alert,.btn .badge,.list-group-item,.page-link{position:relative}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-deck .card,.card-group>.card,.mb-15{margin-bottom:15px}.accordion{overflow-anchor:none}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.pagination{border-radius:.25rem;display:flex;list-style:none;padding-left:0}.page-link{background-color:#fff;border:1px solid #dee2e6;color:#007bff;display:block;line-height:1.25;margin-left:-1px;padding:.5rem .75rem}.page-link:hover{background-color:#e9ecef;border-color:#dee2e6;color:#0056b3;text-decoration:none;z-index:2}.page-link:focus{box-shadow:0 0 0 .2rem #007bff40;outline:0;z-index:3}.page-item:first-child .page-link{border-bottom-left-radius:.25rem;border-top-left-radius:.25rem;margin-left:0}.page-item:last-child .page-link{border-bottom-right-radius:.25rem;border-top-right-radius:.25rem}.page-item.active .page-link{background-color:#007bff;border-color:#007bff;color:#fff;z-index:3}.page-item.disabled .page-link{background-color:#fff;border-color:#dee2e6;color:#6c757d;cursor:auto;pointer-events:none}.pagination-lg .page-link{font-size:1.25rem;line-height:1.5;padding:.75rem 1.5rem}.pagination-lg .page-item:first-child .page-link{border-bottom-left-radius:.3rem;border-top-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-bottom-right-radius:.3rem;border-top-right-radius:.3rem}.pagination-sm .page-link{font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.pagination-sm .page-item:first-child .page-link{border-bottom-left-radius:.2rem;border-top-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-bottom-right-radius:.2rem;border-top-right-radius:.2rem}.badge{border-radius:.25rem;display:inline-block;font-size:75%;line-height:1;padding:.25em .4em;text-align:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:initial;white-space:nowrap}.btn .badge{top:-1px}.badge-pill{border-radius:10rem;padding-left:.6em;padding-right:.6em}a.badge-primary:focus,a.badge-primary:hover{background-color:#0062cc;color:#fff}a.badge-primary.focus,a.badge-primary:focus{box-shadow:0 0 0 .2rem #007bff80;outline:0}.badge-secondary{background-color:#6c757d;color:#fff}a.badge-secondary:focus,a.badge-secondary:hover{background-color:#545b62;color:#fff}a.badge-secondary.focus,a.badge-secondary:focus{box-shadow:0 0 0 .2rem #6c757d80;outline:0}.badge-success{background-color:#28a745;color:#fff}a.badge-success:focus,a.badge-success:hover{background-color:#1e7e34;color:#fff}a.badge-success.focus,a.badge-success:focus{box-shadow:0 0 0 .2rem #28a74580;outline:0}.badge-info{background-color:#17a2b8;color:#fff}a.badge-info:focus,a.badge-info:hover{background-color:#117a8b;color:#fff}a.badge-info.focus,a.badge-info:focus{box-shadow:0 0 0 .2rem #17a2b880;outline:0}.badge-warning{background-color:#ffc107;color:#212529}a.badge-warning:focus,a.badge-warning:hover{background-color:#d39e00;color:#212529}a.badge-warning.focus,a.badge-warning:focus{box-shadow:0 0 0 .2rem #ffc10780;outline:0}.badge-danger{background-color:#dc3545;color:#fff}a.badge-danger:focus,a.badge-danger:hover{background-color:#bd2130;color:#fff}a.badge-danger.focus,a.badge-danger:focus{box-shadow:0 0 0 .2rem #dc354580;outline:0}.badge-light{background-color:#f8f9fa;color:#212529}a.badge-light:focus,a.badge-light:hover{background-color:#dae0e5;color:#212529}a.badge-light.focus,a.badge-light:focus{box-shadow:0 0 0 .2rem #f8f9fa80;outline:0}a.badge-dark:focus,a.badge-dark:hover{background-color:#1d2124;color:#fff}a.badge-dark.focus,a.badge-dark:focus{box-shadow:0 0 0 .2rem #343a4080;outline:0}.jumbotron{background-color:#e9ecef;border-radius:.3rem;margin-bottom:2rem;padding:2rem 1rem}.jumbotron-fluid{border-radius:0;padding-left:0;padding-right:0}.alert{border:1px solid #0000;border-radius:.25rem;margin-bottom:1rem;padding:.75rem 1.25rem}.alert-heading{color:inherit}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{color:inherit;padding:.75rem 1.25rem;position:absolute;right:0;top:0}.alert-primary{background-color:#cce5ff;border-color:#b8daff;color:#004085}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{background-color:#e2e3e5;border-color:#d6d8db;color:#383d41}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{background-color:#d1ecf1;border-color:#bee5eb;color:#0c5460}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{background-color:#fff3cd;border-color:#ffeeba;color:#856404}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{background-color:#fefefe;border-color:#fdfdfe;color:#818182}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{background-color:#d6d8d9;border-color:#c6c8ca;color:#1b1e21}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@keyframes ia{0%{background-position:1rem 0}to{background-position:0 0}}.progress{background-color:#e9ecef;border-radius:.25rem;font-size:.75rem;height:1rem;line-height:0}.progress,.progress-bar{display:flex;overflow:hidden}.progress-bar{-ms-flex-pack:center;-webkit-box-pack:center;background-color:#007bff;color:#fff;flex-direction:column;justify-content:center;text-align:center;transition:width .6s;white-space:nowrap}.progress-bar-striped{background-image:linear-gradient(45deg,#ffffff26 25%,#0000 0,#0000 50%,#ffffff26 0,#ffffff26 75%,#0000 0,#0000);background-size:1rem 1rem}.progress-bar-animated{animation:1s linear infinite ia}.media{align-items:flex-start;display:flex}.list-group{border-radius:.25rem;display:flex;flex-direction:column;margin-bottom:0;padding-left:0}.list-group-item-action{color:#495057;text-align:inherit;width:100%}.list-group-item-action:focus,.list-group-item-action:hover{background-color:#f8f9fa;color:#495057;text-decoration:none;z-index:1}.list-group-item-action:active{background-color:#e9ecef;color:#212529}.list-group-item{background-color:#fff;border:1px solid rgba(0,0,0,.125);display:block;padding:.75rem 1.25rem}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{background-color:#fff;color:#6c757d;pointer-events:none}.list-group-item.active{background-color:#007bff;border-color:#007bff;color:#fff;z-index:2}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{border-top-width:1px;margin-top:-1px}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{background-color:#b8daff;color:#004085}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{background-color:#9fcdff;color:#004085}.list-group-item-primary.list-group-item-action.active{background-color:#004085;border-color:#004085;color:#fff}.list-group-item-secondary{background-color:#d6d8db;color:#383d41}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{background-color:#c8cbcf;color:#383d41}.list-group-item-secondary.list-group-item-action.active{background-color:#383d41;border-color:#383d41;color:#fff}.list-group-item-success{background-color:#c3e6cb;color:#155724}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{background-color:#b1dfbb;color:#155724}.list-group-item-success.list-group-item-action.active{background-color:#155724;border-color:#155724;color:#fff}.list-group-item-info{background-color:#bee5eb;color:#0c5460}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{background-color:#abdde5;color:#0c5460}.list-group-item-info.list-group-item-action.active{background-color:#0c5460;border-color:#0c5460;color:#fff}.list-group-item-warning{background-color:#ffeeba;color:#856404}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{background-color:#ffe8a1;color:#856404}.list-group-item-warning.list-group-item-action.active{background-color:#856404;border-color:#856404;color:#fff}.list-group-item-danger{background-color:#f5c6cb;color:#721c24}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{background-color:#f1b0b7;color:#721c24}.list-group-item-danger.list-group-item-action.active{background-color:#721c24;border-color:#721c24;color:#fff}.list-group-item-light{background-color:#fdfdfe;color:#818182}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{background-color:#ececf6;color:#818182}.list-group-item-light.list-group-item-action.active{background-color:#818182;border-color:#818182;color:#fff}.list-group-item-dark{background-color:#c6c8ca;color:#1b1e21}.toast,.toast-header{background-color:#ffffffd9;background-clip:padding-box}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{background-color:#b9bbbe;color:#1b1e21}.list-group-item-dark.list-group-item-action.active{background-color:#1b1e21;border-color:#1b1e21;color:#fff}.close{color:#000;float:right;font-size:1.5rem;line-height:1;opacity:.5;text-shadow:0 1px 0 #fff}.popover,.tooltip{font-family:-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-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;word-break:normal;word-spacing:normal;text-transform:none;word-wrap:break-word;white-space:normal;text-decoration:none}.modal-title,.popover,.tooltip{line-height:1.5}.toast,.tooltip{opacity:0;font-size:.875rem}.popover,.text-hide,.tooltip{text-shadow:none}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{background-color:initial;border:0;padding:0}.toast{-ms-flex-preferred-size:350px;border:1px solid #0000001a;border-radius:.25rem;box-shadow:0 .25rem .75rem #0000001a;flex-basis:350px;max-width:350px}.toast.show{display:block;opacity:1}.toast-header{align-items:center;border-bottom:1px solid #0000000d;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px);color:#6c757d;display:flex;padding:.25rem .75rem}.toast-body{padding:.75rem}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{display:none;height:100%;left:0;outline:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:1050}.modal-dialog{margin:.5rem;pointer-events:none;position:relative;width:auto}.modal.fade .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}.modal.show .modal-dialog,.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{align-items:center;display:flex;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{content:"";display:block;height:calc(100vh - 1rem);height:min-content}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-pack:center;-webkit-box-pack:center;flex-direction:column;height:100%;justify-content:center}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before,.process-horizontal li:first-child:after{content:none}.modal-content{background-clip:padding-box;background-color:#fff;border:1px solid #0003;border-radius:.3rem;display:flex;flex-direction:column;outline:0;pointer-events:auto;position:relative;width:100%}.modal-backdrop{background-color:#000;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:1040}.modal-backdrop.show{opacity:.5}.modal-header{-ms-flex-align:start;-webkit-box-align:start;-ms-flex-pack:justify;-webkit-box-pack:justify;align-items:flex-start;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px);display:flex;justify-content:space-between;padding:1rem}.modal-header .close{margin:-1rem -1rem -1rem auto;padding:1rem}.modal-title{margin-bottom:0}.modal-body{flex:1 1 auto;padding:1rem;position:relative}.modal-footer{-ms-flex-align:center;-webkit-box-align:center;-ms-flex-pack:end;-webkit-box-pack:end;align-items:center;border-bottom-left-radius:calc(.3rem - 1px);border-bottom-right-radius:calc(.3rem - 1px);border-top:1px solid #dee2e6;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:.75rem}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}.tooltip{display:block;margin:0;position:absolute;text-align:left;text-align:start;z-index:1070}.tooltip.show{opacity:.9}.tooltip .arrow{display:block;height:.4rem;position:absolute;width:.8rem}.tooltip .arrow:before{border-color:#0000;border-style:solid;content:"";position:absolute}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-auto[x-placement^=top],.bs-tooltip-bottom,.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow,.fixed-bottom{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{border-top-color:#000;border-width:.4rem .4rem 0;top:0}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-auto[x-placement^=right],.bs-tooltip-left,.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{height:.8rem;left:0;width:.4rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{border-right-color:#000;border-width:.4rem .4rem .4rem 0;right:0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow,.fixed-top{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{border-bottom-color:#000;border-width:0 .4rem .4rem;bottom:0}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{height:.8rem;right:0;width:.4rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{border-left-color:#000;border-width:.4rem 0 .4rem .4rem;left:0}.tooltip-inner{background-color:#000;border-radius:.25rem;color:#fff;max-width:200px;padding:.25rem .5rem;text-align:center}.carousel-indicators li,.popover{background-clip:padding-box;background-color:#fff}.popover{border:1px solid #0003;border-radius:.3rem;font-size:.875rem;left:0;max-width:276px;text-align:left;text-align:start;top:0;z-index:1060}.popover,.popover .arrow{display:block;position:absolute}.popover .arrow{height:.5rem;margin:0 .3rem;width:1rem}.popover .arrow:after,.popover .arrow:before{border-color:#0000;border-style:solid;content:"";display:block;position:absolute}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{border-top-color:#00000040;border-width:.5rem .5rem 0;bottom:0}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{border-top-color:#fff;border-width:.5rem .5rem 0;bottom:1px}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{height:1rem;left:calc(-.5rem - 1px);margin:.3rem 0;width:.5rem}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{border-right-color:#00000040;border-width:.5rem .5rem .5rem 0;left:0}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{border-right-color:#fff;border-width:.5rem .5rem .5rem 0;left:1px}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{border-bottom-color:#00000040;border-width:0 .5rem .5rem;top:0}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{border-bottom-color:#fff;border-width:0 .5rem .5rem;top:1px}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{border-bottom:1px solid #f7f7f7;content:"";display:block;left:50%;margin-left:-.5rem;position:absolute;top:0;width:1rem}.bs-popover-auto[x-placement^=left],.bs-popover-left,.list-inline-item:not(:last-child){margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{height:1rem;margin:.3rem 0;right:calc(-.5rem - 1px);width:.5rem}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{border-left-color:#00000040;border-width:.5rem 0 .5rem .5rem;right:0}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{border-left-color:#fff;border-width:.5rem 0 .5rem .5rem;right:1px}.popover-header{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px);font-size:1rem;margin-bottom:0;padding:.5rem .75rem}.popover-body{color:#212529;padding:.5rem .75rem}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{overflow:hidden;position:relative;width:100%}.carousel-inner:after,.clearfix:after{clear:both;content:"";display:block}.carousel-item{backface-visibility:hidden;display:none;float:left;margin-right:-100%;position:relative;transition:transform .6s ease-in-out;width:100%}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transform:none;transition-property:opacity}.streampark-btn:before,[data-aos^=slide][data-aos^=slide]{transition-property:transform}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1;z-index:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0;transition:opacity 0s .6s;z-index:0}.carousel-control-next,.carousel-control-prev{-ms-flex-align:center;-webkit-box-align:center;-ms-flex-pack:center;-webkit-box-pack:center;align-items:center;bottom:0;color:#fff;display:flex;justify-content:center;opacity:.5;position:absolute;text-align:center;top:0;transition:opacity .15s;width:15%;z-index:1}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;opacity:.9;outline:0;text-decoration:none}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{background:50%/100% 100% no-repeat;display:inline-block;height:20px;width:20px}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='m5.25 0-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='m2.75 0-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{-ms-flex-pack:center;-webkit-box-pack:center;bottom:0;display:flex;justify-content:center;left:0;list-style:none;margin-left:15%;margin-right:15%;padding-left:0;position:absolute;right:0;z-index:15}.spinner-border,.spinner-grow{display:inline-block;vertical-align:text-bottom}.carousel-indicators li{-webkit-box-flex:0;border-bottom:10px solid #0000;border-top:10px solid #0000;box-sizing:initial;cursor:pointer;flex:0 1 auto;height:3px;margin-left:3px;margin-right:3px;opacity:.5;text-indent:-999px;transition:opacity .6s;width:30px}.carousel-caption{bottom:20px;color:#fff;left:15%;padding-bottom:20px;padding-top:20px;position:absolute;right:15%;text-align:center;z-index:10}@keyframes ja{to{transform:rotate(1turn)}}.spinner-border{animation:.75s linear infinite ja;border:.25em solid;border-radius:50%;border-right:.25em solid #0000;height:2rem;width:2rem}.spinner-border-sm{border-width:.2em;height:1rem;width:1rem}@keyframes ka{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{animation:.75s linear infinite ka;background-color:currentColor;border-radius:50%;height:2rem;opacity:0;width:2rem}.bg-primary,.corner_button.blue:hover{background-color:#007bff!important}.spinner-grow-sm{height:1rem;width:1rem}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.border-right{border-right:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-end-0,.border-right-0{border-right:0!important}.border-left-0,.border-start-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-pill{border-radius:50rem!important}.d-flex{display:-ms-flexbox!important;display:-webkit-box!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important}.embed-responsive{display:block;overflow:hidden;padding:0;position:relative;width:100%}.embed-responsive:before{content:"";display:block}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{border:0;bottom:0;height:100%;left:0;position:absolute;top:0;width:100%}.embed-responsive-21by9:before{padding-top:42.857143%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row,.flex-row-reverse{-webkit-box-orient:horizontal!important}.flex-column,.flex-column-reverse{-webkit-box-orient:vertical!important}.flex-wrap{-ms-flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important}.flex-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;-webkit-box-flex:0!important}.flex-grow-1{-ms-flex-positive:1!important;-webkit-box-flex:1!important}.flex-shrink-0{-ms-flex-negative:0!important}.flex-shrink-1{-ms-flex-negative:1!important}.justify-content-start{-ms-flex-pack:start!important;-webkit-box-pack:start!important}.justify-content-end{-ms-flex-pack:end!important;-webkit-box-pack:end!important}.justify-content-center{-ms-flex-pack:center!important;-webkit-box-pack:center!important}.justify-content-between{-ms-flex-pack:justify!important;-webkit-box-pack:justify!important}.justify-content-around{-ms-flex-pack:distribute!important}.align-items-start{-ms-flex-align:start!important;-webkit-box-align:start!important}.align-items-end{-ms-flex-align:end!important;-webkit-box-align:end!important}.align-items-center{-ms-flex-align:center!important;-webkit-box-align:center!important}.align-items-baseline{-ms-flex-align:baseline!important;-webkit-box-align:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;-webkit-box-align:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.float-left,.float-start{float:left!important}.float-end,.float-right{float:right!important}.user-select-all{-moz-user-select:all!important;-ms-user-select:all!important}.user-select-auto{-moz-user-select:auto!important;-ms-user-select:auto!important}.user-select-none{-moz-user-select:none!important;-ms-user-select:none!important}.fixed-bottom,.fixed-top{left:0;position:fixed;right:0;z-index:1030}@supports (position:sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem #00000026!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{-webkit-box-shadow:none!important}.me-4,.mr-4,.mx-4{margin-right:1.5rem!important}.ml-4,.ms-4,.mx-4{margin-left:1.5rem!important}.me-5,.mr-5,.mx-5{margin-right:3rem!important}.ml-5,.ms-5,.mx-5{margin-left:3rem!important}.pe-4,.pr-4,.px-4{padding-right:1.5rem!important}.pl-4,.ps-4,.px-4{padding-left:1.5rem!important}.pe-5,.pr-5,.px-5{padding-right:3rem!important}.pl-5,.ps-5,.px-5{padding-left:3rem!important}.me-n1,.mr-n1,.mx-n1{margin-right:-.25rem!important}.ml-n1,.ms-n1,.mx-n1{margin-left:-.25rem!important}.me-n2,.mr-n2,.mx-n2{margin-right:-.5rem!important}.ml-n2,.ms-n2,.mx-n2{margin-left:-.5rem!important}.me-n3,.mr-n3,.mx-n3{margin-right:-1rem!important}.ml-n3,.ms-n3,.mx-n3{margin-left:-1rem!important}.me-n4,.mr-n4,.mx-n4{margin-right:-1.5rem!important}.ml-n4,.ms-n4,.mx-n4{margin-left:-1.5rem!important}.me-n5,.mr-n5,.mx-n5{margin-right:-3rem!important}.ml-n5,.ms-n5,.mx-n5{margin-left:-3rem!important}.me-auto,.mr-auto,.mx-auto{margin-right:auto!important}.ml-auto,.ms-auto,.mx-auto{margin-left:auto!important}.stretched-link:after{background-color:#0000;bottom:0;content:"";left:0;pointer-events:auto;position:absolute;right:0;top:0;z-index:1}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left,.text-start{text-align:left!important}.text-end,.text-right{text-align:right!important}.corner_button,.text_center,.welcome_area_thumb{text-align:center}.font-weight-light,.fw-light{font-weight:300!important}.font-weight-lighter,.fw-lighter{font-weight:lighter!important}.font-weight-normal,.fw-normal{font-weight:400!important}.font-weight-bold,.fw-bold{font-weight:700!important}.font-weight-bolder,.fw-bolder{font-weight:bolder!important}.font-italic,.fst-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-hide{background-color:initial;border:0;color:#0000;font:0/0 a}.fa,[class*=" lni-"],[class^=lni-]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-break{overflow-wrap:break-word!important}@font-face{font-family:LineIcons;font-style:normal;font-weight:400;src:url(/SolidUI-Website/zh-CN/assets/fonts/LineIcons-y2l643-6ac9873828472f7a88703893f3de50c7.eot);src:url(/SolidUI-Website/zh-CN/assets/fonts/LineIcons-y2l643-6ac9873828472f7a88703893f3de50c7.eot#iefix) format("embedded-opentype"),url(/SolidUI-Website/zh-CN/assets/fonts/LineIcons-y2l643-fb16b8b0de9e73ca9b2d7bb18c4e7108.ttf) format("truetype"),url(/SolidUI-Website/zh-CN/assets/fonts/LineIcons-y2l643-c2f4b7610f34f5843a72d44f5c4ae9d2.woff) format("woff"),url(/SolidUI-Website/zh-CN/assets/images/LineIcons-y2l643-e76a21f07f1a3949a21170b145337735.svg#LineIcons) format("svg")}[class*=" lni-"],[class^=lni-]{speak:none;font-family:LineIcons!important;font-style:normal;font-variant:normal;font-weight:400;line-height:1;text-transform:none}.lni-add-file:before{content:"\e900"}.lni-empty-file:before{content:"\e916"}.lni-remove-file:before{content:"\e917"}.lni-files:before{content:"\ea6f"}.lni-display-alt:before{content:"\e901"}.lni-laptop-phone:before{content:"\e902"}.lni-laptop:before{content:"\e936"}.lni-mobile:before{content:"\e907"}.lni-tab:before{content:"\e922"}.lni-timer:before{content:"\e903"}.lni-headphone:before{content:"\e904"}.lni-rocket:before{content:"\e905"}.lni-package:before{content:"\e906"}.lni-popup:before{content:"\e909"}.lni-scroll-down:before{content:"\e90a"}.lni-pagination:before{content:"\e90b"}.lni-unlock:before{content:"\e90c"}.lni-lock:before{content:"\e946"}.lni-reload:before{content:"\e90d"}.lni-map-marker:before{content:"\e91e"}.lni-map:before{content:"\e90e"}.lni-game:before{content:"\e90f"}.lni-search:before{content:"\e910"}.lni-alarm:before{content:"\e911"}.lni-code:before{content:"\e91c"}.lni-website:before{content:"\e908"}.lni-code-alt:before{content:"\e912"}.lni-display:before{content:"\e913"}.lni-shortcode:before{content:"\e919"}.lni-headphone-alt:before{content:"\e915"}.lni-alarm-clock:before{content:"\e918"}.lni-bookmark-alt:before{content:"\e91a"}.lni-bookmark:before{content:"\e91b"}.lni-layout:before{content:"\e937"}.lni-keyboard:before{content:"\e91d"}.lni-grid-alt:before{content:"\e91f"}.lni-grid:before{content:"\e920"}.lni-mic:before{content:"\e921"}.lni-signal:before{content:"\e923"}.lni-download:before{content:"\e925"}.lni-upload:before{content:"\e926"}.lni-zip:before{content:"\e927"}.lni-rss-feed:before{content:"\e928"}.lni-warning:before{content:"\e929"}.lni-cloud-sync:before{content:"\e92a"}.lni-cloud-upload:before{content:"\e92b"}.lni-cloud-check:before{content:"\e92c"}.lni-cloud-download:before{content:"\e914"}.lni-cog:before{content:"\e92d"}.lni-dashboard:before{content:"\e92e"}.lni-folder:before{content:"\eaa0"}.lni-database:before{content:"\e92f"}.lni-harddrive:before{content:"\eaab"}.lni-control-panel:before{content:"\e930"}.lni-plug:before{content:"\e931"}.lni-menu:before{content:"\eab8"}.lni-power-switch:before{content:"\e932"}.lni-printer:before{content:"\e933"}.lni-save:before{content:"\eab9"}.lni-layers:before{content:"\e934"}.lni-link:before{content:"\e935"}.lni-share:before{content:"\eaba"}.lni-inbox:before{content:"\eabb"}.lni-unlink:before{content:"\e924"}.lni-microphone:before{content:"\e938"}.lni-magnet:before{content:"\e939"}.lni-mouse:before{content:"\e93a"}.lni-share-alt:before{content:"\e93b"}.lni-bluetooth:before{content:"\e93c"}.lni-crop:before{content:"\e93d"}.lni-cut:before{content:"\e93f"}.lni-protection:before{content:"\e940"}.lni-shield:before{content:"\eabc"}.lni-bolt-alt:before{content:"\e941"}.lni-bolt:before{content:"\e942"}.lni-infinite:before{content:"\e943"}.lni-hand:before{content:"\e944"}.lni-flag:before{content:"\e945"}.lni-zoom-out:before{content:"\e947"}.lni-zoom-in:before{content:"\e948"}.lni-pin-alt:before{content:"\e949"}.lni-pin:before{content:"\e9ba"}.lni-more-alt:before{content:"\e94a"}.lni-more:before{content:"\e958"}.lni-check-box:before{content:"\e94b"}.lni-check-mark-circle:before{content:"\e94c"}.lni-cross-circle:before{content:"\e94d"}.lni-circle-minus:before{content:"\e94e"}.lni-close:before{content:"\e951"}.lni-star-filled:before{content:"\e94f"}.lni-star:before{content:"\e950"}.lni-star-empty:before{content:"\e952"}.lni-star-half:before{content:"\e953"}.lni-question-circle:before{content:"\e954"}.lni-thumbs-down:before{content:"\e955"}.lni-thumbs-up:before{content:"\e956"}.lni-minus:before{content:"\e957"}.lni-plus:before{content:"\e959"}.lni-ban:before{content:"\e95a"}.lni-hourglass:before{content:"\eabd"}.lni-trash:before{content:"\e95b"}.lni-key:before{content:"\e95c"}.lni-pulse:before{content:"\e95d"}.lni-heart:before{content:"\e95e"}.lni-heart-filled:before{content:"\e93e"}.lni-help:before{content:"\e95f"}.lni-paint-roller:before{content:"\e960"}.lni-ux:before{content:"\e961"}.lni-radio-button:before{content:"\e962"}.lni-brush-alt:before{content:"\e963"}.lni-select:before{content:"\eabe"}.lni-slice:before{content:"\e964"}.lni-move:before{content:"\e965"}.lni-wheelchair:before{content:"\e966"}.lni-vector:before{content:"\e967"}.lni-ruler-pencil:before{content:"\e968"}.lni-ruler:before{content:"\e969"}.lni-brush:before{content:"\e96a"}.lni-eraser:before{content:"\e96b"}.lni-ruler-alt:before{content:"\e96c"}.lni-color-pallet:before{content:"\e96d"}.lni-paint-bucket:before{content:"\e96e"}.lni-bulb:before{content:"\e96f"}.lni-highlight-alt:before{content:"\e970"}.lni-highlight:before{content:"\e971"}.lni-handshake:before{content:"\e972"}.lni-briefcase:before{content:"\eabf"}.lni-funnel:before{content:"\eac0"}.lni-world:before{content:"\e973"}.lni-calculator:before{content:"\e974"}.lni-target-revenue:before{content:"\e975"}.lni-revenue:before{content:"\e976"}.lni-invention:before{content:"\e977"}.lni-network:before{content:"\e978"}.lni-credit-cards:before{content:"\e979"}.lni-pie-chart:before{content:"\e97a"}.lni-archive:before{content:"\e97b"}.lni-magnifier:before{content:"\e97c"}.lni-agenda:before{content:"\e97d"}.lni-tag:before{content:"\e97f"}.lni-target:before{content:"\e980"}.lni-stamp:before{content:"\e981"}.lni-clipboard:before{content:"\e982"}.lni-licencse:before{content:"\e983"}.lni-paperclip:before{content:"\e984"}.lni-stats-up:before{content:"\e97e"}.lni-stats-down:before{content:"\e985"}.lni-bar-chart:before{content:"\e986"}.lni-bullhorn:before{content:"\e987"}.lni-calendar:before{content:"\e988"}.lni-quotation:before{content:"\e989"}.lni-bus:before{content:"\e98a"}.lni-car-alt:before{content:"\e98b"}.lni-car:before{content:"\e98c"}.lni-train:before{content:"\e9a0"}.lni-train-alt:before{content:"\e991"}.lni-helicopter:before{content:"\e990"}.lni-ship:before{content:"\e992"}.lni-bridge:before{content:"\e993"}.lni-scooter:before{content:"\e98f"}.lni-plane:before{content:"\e994"}.lni-bi-cycle:before{content:"\e996"}.lni-postcard:before{content:"\e98d"}.lni-road:before{content:"\e98e"}.lni-envelope:before{content:"\e997"}.lni-reply:before{content:"\e998"}.lni-bubble:before{content:"\e995"}.lni-support:before{content:"\e999"}.lni-comment-reply:before{content:"\e99a"}.lni-pointer:before{content:"\e99b"}.lni-phone:before{content:"\e99c"}.lni-phone-handset:before{content:"\eac1"}.lni-comment-alt:before{content:"\e99e"}.lni-comment:before{content:"\e99f"}.lni-coffee-cup:before{content:"\e9a1"}.lni-home:before{content:"\e9a2"}.lni-gift:before{content:"\eac2"}.lni-thought:before{content:"\e9a3"}.lni-eye:before{content:"\eac3"}.lni-user:before{content:"\e9a4"}.lni-users:before{content:"\e9a5"}.lni-wallet:before{content:"\e9a6"}.lni-tshirt:before{content:"\e9a7"}.lni-medall-alt:before{content:"\e9a8"}.lni-medall:before{content:"\e9a9"}.lni-notepad:before{content:"\e9aa"}.lni-crown:before{content:"\e9ab"}.lni-ticket:before{content:"\e9ac"}.lni-ticket-alt:before{content:"\e9ad"}.lni-certificate:before{content:"\e9ae"}.lni-cup:before{content:"\e9af"}.lni-library:before{content:"\e9b0"}.lni-school-bench-alt:before{content:"\e9b1"}.lni-school-bench:before{content:"\e9b4"}.lni-microscope:before{content:"\e9b2"}.lni-school-compass:before{content:"\e9b3"}.lni-information:before{content:"\e9b5"}.lni-graduation:before{content:"\e9b6"}.lni-write:before{content:"\e9b7"}.lni-pencil-alt:before{content:"\e9b8"}.lni-pencil:before{content:"\e9b9"}.lni-blackboard:before{content:"\e9bb"}.lni-book:before{content:"\e9bc"}.lni-shuffle:before{content:"\e9bd"}.lni-gallery:before{content:"\eac4"}.lni-image:before{content:"\eac5"}.lni-volume-mute:before{content:"\e9be"}.lni-backward:before{content:"\e9bf"}.lni-forward:before{content:"\e9c0"}.lni-stop:before{content:"\e9c1"}.lni-play:before{content:"\e9c2"}.lni-pause:before{content:"\e9c3"}.lni-music:before{content:"\e9c4"}.lni-frame-expand:before{content:"\e9c5"}.lni-full-screen:before{content:"\eac6"}.lni-video:before{content:"\e9c6"}.lni-volume-high:before{content:"\e9c7"}.lni-volume-low:before{content:"\e9c8"}.lni-volume-medium:before{content:"\e9c9"}.lni-volume:before{content:"\e9ca"}.lni-camera:before{content:"\e9cb"}.lni-invest-monitor:before{content:"\e9cc"}.lni-grow:before{content:"\e9cd"}.lni-money-location:before{content:"\e9ce"}.lni-cloudnetwork:before{content:"\e9cf"}.lni-diamond:before{content:"\e9d0"}.lni-customer:before{content:"\e9d1"}.lni-domain:before{content:"\e9d2"}.lni-target-audience:before{content:"\e9d3"}.lni-seo:before{content:"\e9d4"}.lni-keyword-research:before{content:"\e9d5"}.lni-seo-monitoring:before{content:"\e9d6"}.lni-seo-consulting:before{content:"\e9d7"}.lni-money-protection:before{content:"\e9d8"}.lni-offer:before{content:"\e9d9"}.lni-delivery:before{content:"\e9da"}.lni-investment:before{content:"\e9db"}.lni-shopping-basket:before{content:"\e9dc"}.lni-coin:before{content:"\e9dd"}.lni-cart-full:before{content:"\e9de"}.lni-cart:before{content:"\e9df"}.lni-burger:before{content:"\e9e0"}.lni-restaurant:before{content:"\e9e1"}.lni-service:before{content:"\e9e2"}.lni-chef-hat:before{content:"\e9e3"}.lni-cake:before{content:"\e9e4"}.lni-pizza:before{content:"\e9e5"}.lni-teabag:before{content:"\e9e6"}.lni-dinner:before{content:"\e9e7"}.lni-taxi:before{content:"\e9e8"}.lni-caravan:before{content:"\e9e9"}.lni-pyramids:before{content:"\e9ea"}.lni-surfboard:before{content:"\e9eb"}.lni-travel:before{content:"\e9ec"}.lni-island:before{content:"\e9ed"}.lni-mashroom:before{content:"\e9ee"}.lni-sprout:before{content:"\e9ef"}.lni-tree:before{content:"\e9f0"}.lni-trees:before{content:"\e9f1"}.lni-flower:before{content:"\e9f2"}.lni-bug:before{content:"\e9f3"}.lni-leaf:before{content:"\e9f4"}.lni-fresh-juice:before{content:"\e9f5"}.lni-heart-monitor:before{content:"\e9f6"}.lni-dumbbell:before{content:"\e9f7"}.lni-skipping-rope:before{content:"\e9f8"}.lni-slim:before{content:"\e9f9"}.lni-weight:before{content:"\e9fa"}.lni-basketball:before{content:"\e9fb"}.lni-first-aid:before{content:"\e9fc"}.lni-ambulance:before{content:"\e9fd"}.lni-hospital:before{content:"\e9fe"}.lni-syringe:before{content:"\e9ff"}.lni-capsule:before{content:"\ea00"}.lni-stethoscope:before{content:"\ea01"}.lni-wheelbarrow:before{content:"\ea02"}.lni-shovel:before{content:"\ea03"}.lni-construction-hammer:before{content:"\ea04"}.lni-brick:before{content:"\ea05"}.lni-hammer:before{content:"\eac7"}.lni-helmet:before{content:"\ea06"}.lni-trowel:before{content:"\ea07"}.lni-construction:before{content:"\ea08"}.lni-apartment:before{content:"\ea09"}.lni-juice:before{content:"\ea0a"}.lni-spray:before{content:"\ea0b"}.lni-candy-cane:before{content:"\ea0c"}.lni-candy:before{content:"\ea0d"}.lni-fireworks:before{content:"\ea0e"}.lni-flags:before{content:"\ea0f"}.lni-baloon:before{content:"\ea10"}.lni-cloud:before{content:"\ea11"}.lni-night:before{content:"\ea12"}.lni-cloudy-sun:before{content:"\ea13"}.lni-rain:before{content:"\ea14"}.lni-thunder:before{content:"\ea15"}.lni-drop:before{content:"\ea16"}.lni-thunder-alt:before{content:"\ea18"}.lni-sun:before{content:"\ea17"}.lni-spell-check:before{content:"\ea1a"}.lni-text-format:before{content:"\ea1b"}.lni-text-format-remove:before{content:"\ea1c"}.lni-italic:before{content:"\ea1d"}.lni-line-dotted:before{content:"\ea1e"}.lni-text-align-center:before{content:"\ea19"}.lni-text-align-left:before{content:"\ea20"}.lni-text-align-right:before{content:"\ea21"}.lni-text-align-justify:before{content:"\ea22"}.lni-bold:before{content:"\ea23"}.lni-page-break:before{content:"\ea24"}.lni-strikethrough:before{content:"\ea25"}.lni-text-size:before{content:"\ea26"}.lni-line-dashed:before{content:"\ea27"}.lni-line-double:before{content:"\ea28"}.lni-direction-ltr:before{content:"\ea29"}.lni-direction-rtl:before{content:"\ea2a"}.lni-list:before{content:"\ea2b"}.lni-line-spacing:before{content:"\ea2f"}.lni-sort-alpha-asc:before{content:"\ea1f"}.lni-sort-amount-asc:before{content:"\ea2c"}.lni-indent-decrease:before{content:"\ea2d"}.lni-indent-increase:before{content:"\ea2e"}.lni-pilcrow:before{content:"\ea30"}.lni-underline:before{content:"\ea31"}.lni-dollar:before{content:"\ea32"}.lni-rupee:before{content:"\ea33"}.lni-pound:before{content:"\ea34"}.lni-yen:before{content:"\ea35"}.lni-euro:before{content:"\ea36"}.lni-emoji-happy:before{content:"\ea37"}.lni-emoji-tounge:before{content:"\ea38"}.lni-emoji-cool:before{content:"\ea39"}.lni-emoji-friendly:before{content:"\ea3a"}.lni-emoji-neutral:before{content:"\ea3b"}.lni-emoji-sad:before{content:"\ea3c"}.lni-emoji-smile:before{content:"\ea3d"}.lni-emoji-suspect:before{content:"\ea3e"}.lni-direction-alt:before{content:"\ea3f"}.lni-enter:before{content:"\ea40"}.lni-exit-down:before{content:"\ea41"}.lni-exit-up:before{content:"\ea5f"}.lni-exit:before{content:"\ea42"}.lni-chevron-up:before{content:"\ea43"}.lni-chevron-left:before{content:"\ea44"}.lni-chevron-down:before{content:"\ea45"}.lni-chevron-right:before{content:"\ea46"}.lni-arrow-down:before{content:"\ea47"}.lni-arrows-horizontal:before{content:"\ea48"}.lni-arrows-vertical:before{content:"\ea49"}.lni-direction:before{content:"\ea4a"}.lni-arrow-left:before{content:"\ea4b"}.lni-arrow-right:before{content:"\ea4c"}.lni-arrow-up:before{content:"\ea4d"}.lni-arrow-down-circle:before{content:"\ea4e"}.lni-anchor:before{content:"\ea4f"}.lni-arrow-left-circle:before{content:"\ea50"}.lni-arrow-right-circle:before{content:"\ea51"}.lni-arrow-up-circle:before{content:"\ea52"}.lni-angle-double-down:before{content:"\ea53"}.lni-angle-double-left:before{content:"\ea54"}.lni-angle-double-right:before{content:"\ea55"}.lni-angle-double-up:before{content:"\ea56"}.lni-arrow-top-left:before{content:"\ea57"}.lni-arrow-top-right:before{content:"\ea58"}.lni-chevron-down-circle:before{content:"\ea59"}.lni-chevron-left-circle:before{content:"\ea5a"}.lni-chevron-right-circle:before{content:"\ea5b"}.lni-chevron-up-circle:before{content:"\ea5c"}.lni-shift-left:before{content:"\ea5d"}.lni-shift-right:before{content:"\ea5e"}.lni-pointer-down:before{content:"\ea60"}.lni-pointer-right:before{content:"\ea62"}.lni-pointer-left:before{content:"\ea61"}.lni-pointer-up:before{content:"\ea63"}.lni-spinner-arrow:before{content:"\ea64"}.lni-spinner-solid:before{content:"\ea65"}.lni-spinner:before{content:"\ea66"}.lni-google:before{content:"\e99d"}.lni-producthunt:before{content:"\ea68"}.lni-paypal:before{content:"\eab3"}.lni-paypal-original:before{content:"\ea6c"}.lni-java:before{content:"\ea6d"}.lni-microsoft:before{content:"\ea6b"}.lni-windows:before{content:"\ea6e"}.lni-flickr:before{content:"\ea70"}.lni-drupal:before{content:"\ea9f"}.lni-drupal-original:before{content:"\ea71"}.lni-android:before{content:"\eab7"}.lni-android-original:before{content:"\ea72"}.lni-playstore:before{content:"\eab4"}.lni-git:before{content:"\ea9b"}.lni-github-original:before{content:"\ea73"}.lni-github:before{content:"\ea9c"}.lni-steam:before{content:"\ea75"}.lni-shopify:before{content:"\ea76"}.lni-snapchat:before{content:"\ea77"}.lni-soundcloud:before{content:"\eab5"}.lni-souncloud-original:before{content:"\ea78"}.lni-telegram:before{content:"\ea79"}.lni-twitch:before{content:"\ea7a"}.lni-vimeo:before{content:"\ea7c"}.lni-vk:before{content:"\ea7d"}.lni-wechat:before{content:"\ea7e"}.lni-whatsapp:before{content:"\ea7f"}.lni-yahoo:before{content:"\ea80"}.lni-youtube:before{content:"\ea81"}.lni-stackoverflow:before{content:"\ea82"}.lni-slideshare:before{content:"\ea84"}.lni-slack:before{content:"\ea85"}.lni-lineicons-alt:before{content:"\ea69"}.lni-lineicons:before{content:"\ea6a"}.lni-skype:before{content:"\ea86"}.lni-pinterest:before{content:"\ea87"}.lni-reddit:before{content:"\ea88"}.lni-line:before{content:"\ea89"}.lni-megento:before{content:"\ea8b"}.lni-blogger:before{content:"\ea8e"}.lni-bootstrap:before{content:"\ea8f"}.lni-dribbble:before{content:"\ea90"}.lni-dropbox:before{content:"\ea98"}.lni-dropbox-original:before{content:"\ea91"}.lni-envato:before{content:"\ea92"}.lni-500px:before{content:"\ea95"}.lni-twitter-original:before{content:"\ea7b"}.lni-twitter:before{content:"\ea97"}.lni-twitter-filled:before{content:"\eac8"}.lni-facebook-messenger:before{content:"\ea93"}.lni-facebook-original:before{content:"\ea94"}.lni-facebook-filled:before{content:"\ea99"}.lni-facebook:before{content:"\ea9a"}.lni-joomla:before{content:"\eac9"}.lni-firefox:before{content:"\ea9d"}.lni-amazon-original:before{content:"\ea74"}.lni-amazon:before{content:"\ea9e"}.lni-linkedin-original:before{content:"\ea8a"}.lni-linkedin:before{content:"\eaa1"}.lni-linkedin-filled:before{content:"\eaca"}.lni-bitbucket:before{content:"\eaa2"}.lni-quora:before{content:"\eaa3"}.lni-medium:before{content:"\eaa4"}.lni-instagram-original:before{content:"\ea8c"}.lni-instagram-filled:before{content:"\eaa6"}.lni-instagram:before{content:"\eaa7"}.lni-bitcoin:before{content:"\eaa8"}.lni-stripe:before{content:"\eaa9"}.lni-wordpress-filled:before{content:"\eaaa"}.lni-wordpress:before{content:"\ea96"}.lni-google-plus:before{content:"\eaac"}.lni-mastercard:before{content:"\eaae"}.lni-visa:before{content:"\eaaf"}.lni-amex:before{content:"\eacb"}.lni-apple:before{content:"\eab0"}.lni-behance:before{content:"\eab1"}.lni-behance-original:before{content:"\ea8d"}.lni-chrome:before{content:"\eab2"}.lni-spotify-original:before{content:"\ea83"}.lni-spotify:before{content:"\eab6"}.lni-html:before{content:"\eaad"}.lni-css:before{content:"\eaa5"}.lni-ycombinator:before{content:"\ea67"}.fs-6,.size-xs{font-size:1rem!important}.size-sm{font-size:1.55rem!important}.size-md{font-size:2.25rem!important}.size-fw{font-size:1.2857142857em;height:.8em;line-height:.8em;margin-top:-.2em!important;vertical-align:middle;width:1.2857142857em}.size-lg{font-size:3rem!important}@keyframes la{0%{transform:rotate(0)}to{transform:rotate(359deg)}}@keyframes ma{0%{opacity:1;transform:scale(1)}90%{opacity:0;transform:scale(1.5)}}@keyframes na{0%,90%{opacity:1}45%{opacity:0}}@keyframes oa{0%{opacity:1;transform:translateX(0)}75%{opacity:0;transform:translateX(-20px)}}@keyframes pa{0%{opacity:1;transform:translateX(0)}75%{opacity:0;transform:translateX(20px)}}@keyframes qa{0%{opacity:1;transform:translateY(0)}75%{opacity:0;transform:translateY(-20px)}}@keyframes ra{0%{opacity:1;transform:translateY(0)}75%{opacity:0;transform:translateY(20px)}}@keyframes sa{0%,to{transform:scaleX(1)}10%,20%{transform:scale3d(.95,.95,.95) rotate(-10deg)}30%,50%,70%,90%{transform:scaleX(1) rotate(10deg)}40%,60%,80%{transform:rotate(-10deg)}}.lni-spin-effect,.lni-spin-effect-hover:hover{animation:2s linear infinite la}.lni-tada-effect,.lni-tada-effect-hover:hover{animation:1.5s infinite sa}.lni-flashing-effect,.lni-flashing-effect-hover:hover{animation:1.5s linear infinite na}.lni-burst-effect,.lni-burst-effect-hover:hover{animation:1.5s linear infinite ma}.lni-fade-up-effect,.lni-fade-up-effect-hover:hover{animation:1.5s linear infinite qa}.lni-fade-down-effect,.lni-fade-down-effect-hover:hover{animation:1.5s linear infinite ra}.lni-fade-left-effect,.lni-fade-left-effect-hover:hover{animation:1.5s linear infinite oa}.lni-fade-right-effect,.lni-fade-right-effect-hover:hover{animation:1.5s linear infinite pa}.main-wrapper>.container>.row>main.col{overflow-x:auto}body{background:#fff;color:#4a4a4a;font-family:Poppins,sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji!important;line-height:26px;min-width:1200px;font-family:Poppins,sans-serif;font-size:1rem;overflow-x:hidden}.block{margin:0 auto;padding:0 20px;width:1200px}.reading-area{display:flex;min-height:600px;padding:60px 0}.reading-area .main-content{padding:30px;width:900px}.reading-area .side-bar{border-left:1px solid #eaecef;flex:1;padding:18px 0}.reading-area .side-bar .bar-item{color:#4a4a4a;display:block;padding:5px 18px}.reading-area .side-bar .bar-item.router-link-exact-active,.reading-area .side-bar .bar-item:hover{color:#2863f9}.breadcrumbs__link svg{top:5px}.blog-ctn{padding-bottom:80px;padding-top:60px}.blog-ctn .blog-title{font-size:24px}.blog-ctn .blog-info{align-items:center;color:#0f122273;display:flex;font-size:16px;padding:20px 0}.blog-ctn .blog-info .info-item{padding:0 10px 0 28px}.blog-ctn .blog-info .info-item.sperator{padding:0 10px}.corner_button{border-radius:27px;box-shadow:0 8px 14px #2f55d433;color:#fff;font-family:Lato,Arial,sans-serif;font-size:18px;font-weight:500;height:54px;margin-right:50px;outline:0;padding:14px 25px;text-transform:uppercase;transition:color .2s,background .2s,border .2s;user-select:none;white-space:nowrap}.coverpage,.welcome_text_area{font-family:CircularStd,-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}.corner_button .button_icon{height:28px;margin-right:8px;margin-top:-5px;vertical-align:middle;width:28px}.corner_button.blue_fill{background:#007bff;border:1px solid #007bff;color:#fff}.corner_button.white{background:#fff;border:1px solid #0f1222;color:#0f1222}.corner_button.blue{border:1px solid #007bff;color:#007bff}.corner_button.blue:hover{color:#fff}.footer__logo{margin-bottom:1rem;margin-top:2rem;max-width:12rem}.normal-page{padding-top:20px}.normal-page .normal-title{font-size:24px;line-height:34px}.normal-page .normal-desc{color:#0f1222;font-weight:400}.normal-page .normal-desc .link{color:#2863f9}.mt-15{margin-top:15px}.mt-30{margin-top:30px}.mt-50{margin-top:50px}.mb-30{margin-bottom:30px}.mb-50{margin-bottom:50px}.mb-100{margin-bottom:100px}.ml-15{margin-left:15px}.ml-30{margin-left:30px}.ml-50{margin-left:50px}.mr-15{margin-right:15px}.mr-30{margin-right:30px}.mr-50{margin-right:50px}.streampark_video{zIndex:998;background:#000000b3;height:100%;left:0;position:fixed;top:0;width:100%}.section_padding_20{padding-bottom:50px;padding-top:30px}.section_margin_100_80{margin-bottom:80px;margin-top:100px}.section_padding_80{padding-bottom:40px;padding-top:80px}.section_padding_100{padding-bottom:80px;padding-top:100px}.section_padding_130{padding-bottom:130px;padding-top:130px}.section_padding_130_0{padding-bottom:0;padding-top:130px}.section_padding_0_130{padding-bottom:130px;padding-top:0}.section_padding_130_80{padding-bottom:80px;padding-top:130px}.organize-your-sales-content,.section_heading{font-weight:500;margin-bottom:70px;position:relative;z-index:1}.organize-your-sales-content{font-size:1.25rem;margin-top:30px}.section_heading h6{background-color:#3f43fd;border-radius:6px;display:inline-block;font-weight:400;letter-spacing:1px;margin-bottom:1rem;padding:.5rem 1.5rem;text-transform:uppercase}.section_heading h3{font-size:2.2rem;font-weight:700;line-height:1.3;margin-bottom:1rem}.section_heading h3 span,.single_work_step:focus .step-icon i,.single_work_step:focus h5,.single_work_step:hover .step-icon i,.single_work_step:hover h5{color:#0d6efd}.section_heading .line{background:#2d2ed4;background:linear-gradient(90deg,#e24997,#2d2ed4);border-radius:6px;height:5px;margin:30px auto 0;width:300px}.background-shapes .box1,.background-shapes .box2,.background-shapes .box3{height:20px;background-color:initial;position:absolute;width:20px;z-index:10}.shortcode_area:nth-child(odd){background-color:#f5f5ff}.coverpage h1,.coverpage h2,.coverpage h3,.coverpage h4,.coverpage h5,.coverpage h6{color:#020710;font-weight:500;line-height:1.2;margin-bottom:.5rem;margin-top:0}.coverpage p{color:#3e4043;font-size:1rem;line-height:1.75}.coverpage p,.downpage p{margin-bottom:1rem;margin-top:0}.main{margin-top:90px}.sponsor-text{line-height:30px}.welcome_area{background-color:#fff;height:720px;margin-top:0;position:relative;width:100%;z-index:1}.welcome_area .welcome-border{border-top:2px dashed #ebebeb;position:relative;width:100%;z-index:1}.background-shapes .box1{animation:5s linear infinite wa;left:10%;top:20%}.background-shapes .box1,.background-shapes .box2{border:3px solid #3f43fd;border-radius:.35rem}.background-shapes .box2{animation:8s linear infinite wa;left:50%;top:75%}.background-shapes .box3{animation:9s linear infinite wa;border:3px solid #3f43fd;border-radius:.35rem;right:15%;top:30%}.background-shapes .dot1,.background-shapes .dot2,.background-shapes .dot3,.background-shapes .dot4{border-radius:50%;height:8px;width:8px;position:absolute}.background-shapes .dot1{background-color:#3f43fd;left:6%;top:77%}.background-shapes .dot1,.background-shapes .dot2{z-index:10}.background-shapes .dot2{background-color:#f4284a;right:4%;top:18%}.background-shapes .dot3{background-color:#f4284a;left:43%;top:90%;z-index:1}.background-shapes .dot4{background-color:#3f43fd;right:5%;top:91%;z-index:10}.background-shapes .heart1{animation:9s linear infinite wa;color:#f4284a;font-size:1.5rem;left:13%;position:absolute;top:51%;z-index:1}.background-shapes .heart2{animation:12s linear infinite wa;color:#f4284a;font-size:1.5rem;position:absolute;right:8%;top:55%;z-index:10}.background-shapes .circle1{bottom:10%;left:50%}.background-shapes .circle1,.background-shapes .circle2{animation:4s linear infinite wa;border:3px solid #f4284a;border-radius:50%;height:18px;position:absolute;width:18px;z-index:10}.background-shapes .circle2{left:52%;top:24%}.home_barisal{background-position:bottom!important;background-repeat:no-repeat!important;background-size:cover!important;height:100%;left:0;position:absolute;top:0;width:100%;z-index:-1}.shields img{margin-right:5px}.welcome_text_area h2{font-size:5.5rem;font-weight:bolder;line-height:6.5rem;margin-bottom:15px}.system_info h5,.welcome_text_area h5{color:#333;font-size:1.1rem;font-weight:500;line-height:2}.welcome_area_thumb{position:relative;z-index:1;padding-top:73px}.welcome_slider .owl-dots{-webkit-box-align:flex-end;-ms-flex-align:flex-end;-ms-grid-row-align:flex-end;align-items:flex-end;bottom:80px;display:flex;left:80px;position:absolute;width:100%;z-index:100}.hero-slides,.hero-slides .single-hero-slide,.section,.subscribe-form,.welcome_video_area,section{z-index:1;position:relative}.welcome_slider .owl-dot{color:#fff;font-size:20px;margin-right:15px}.welcome_slider .owl-dot.active{padding-right:30px;position:relative;z-index:1}.welcome_slider .owl-dot.active:after{bottom:7px;content:"";height:3px;position:absolute;right:0;width:25px}.subscribe-form{margin-top:50px;width:100%}.subscribe-form .form-control{background-color:#fff;border:none;border-radius:80px;font-size:13px;height:70px;padding-left:40px;width:100%}.subscribe-form .form-control,.subscribe-form .form-control:focus{box-shadow:0 6px 50px 8px #1583e926}.subscribe-form button{background-color:#f4284a;border:none;border-left:1px solid #ebebeb;border-radius:70px;color:#fff;font-size:16px;height:60px;outline:0;position:absolute;right:5px;top:5px;transition-duration:.5s;width:160px}.subscribe-form button:focus,.subscribe-form button:hover{background-color:#3f43fd;color:#fff}.hero-slides .single-hero-slide{height:850px;width:100%}.hero-slides .single-hero-slide h5{color:#ffffffb3}.hero-slides .owl-next,.hero-slides .owl-prev{border:2px solid #ffffffb3;border-radius:50%;color:#fff;font-size:16px;height:40px;left:50px;line-height:38px;margin-top:-20px;position:absolute;text-align:center;top:50%;transition-duration:.5s;width:40px;z-index:10}.hero-slides .owl-next:focus,.hero-slides .owl-next:hover,.hero-slides .owl-prev:focus,.hero-slides .owl-prev:hover{background-color:#070a57;border-color:#070a57}.hero-slides .owl-next{left:auto;right:50px}.welcome_area .welcome_text_area h2 span{color:#3f43fd}.welcome_area .welcome_text_area h2 span:first-child{color:#0c0b0a;font-family:800}.welcome_area .welcome_text_area .main_title{-webkit-text-fill-color:#0000;background:linear-gradient(100deg,#24e1fa,#5451ff 41.07%,#eb0099 76.05%);-webkit-background-clip:text;-webkit-box-decoration-break:clone;font-weight:600}hr{background-color:#eaeaea}.welcome_area .welcome_text_area .apache_incubating{background:#e4e5e9;border:1px solid #e4e5e9;border-radius:30px 30px 30px 0;color:#666;font-size:14px;font-weight:500;height:35px;left:5px;padding:5px 9px;position:relative;text-shadow:none;top:-70px}.circle-zoom{animation:8s linear infinite ta;background-color:#ffffff12;border-radius:50%;bottom:-350px;height:350px;left:-100px;position:absolute;width:350px;z-index:-10}@keyframes ta{0%{transform:scale(1)}to{background-color:#fff0;transform:scale(3.5)}}.circle-shape-animation .circle1{animation:12s linear infinite ua;background-color:#3f43fd;border-radius:50%;height:30px;left:16%;opacity:.15;position:absolute;top:19%;width:30px;z-index:-1}.video_btn,.video_btn .video-sonar{background-color:#fff;border-radius:50%;position:absolute}@keyframes ua{0%{transform:scale(1)}50%{transform:scale(1.5)}}.welcome_text_area{padding-top:70px}.video_btn{box-shadow:0 6px 50px 8px #1583e94d;display:inline-block;font-size:2rem;height:100px;left:90%;top:92%;transform:translate(-50%,-50%);width:100px;z-index:1}.features-icon,.icon_box{font-size:2.25rem;max-width:80px;text-align:center}.video_btn i{-webkit-background-clip:text;background-color:initial;background-image:linear-gradient(90deg,#e24997,#2d2ed4);font-size:3rem;line-height:100px;padding-left:28px}.video_btn .video-sonar{animation:2s linear infinite va;height:100%;left:0;top:0;width:100%;z-index:-10}.video_btn .video-sonar:before{background-color:#ffffffb3;border-radius:50%;content:"";height:160px;left:-30px;position:absolute;top:-30px;width:160px;z-index:-100}.video_btn .video-sonar:after{background-color:#fff;border-radius:50%;content:"";height:130px;left:-15px;position:absolute;top:-15px;width:130px;z-index:-50}@keyframes va{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.25)}}.using_benefits_area{overflow:hidden;position:relative;z-index:1}.showcode_area .benefit-top-thumbnail img,.using_benefits_area .benefit-top-thumbnail img{left:-2px;position:absolute;top:-2px;width:auto;z-index:-10}.showcode_area .benefit-bottom-thumbnail img,.using_benefits_area .benefit-bottom-thumbnail img{bottom:-2px;position:absolute;right:-2px;width:auto;z-index:-10}.honor_area,.showcode_area{background-color:#fff;overflow:hidden;position:relative;width:100%;z-index:1}.honor_area .honor_image{margin-bottom:60px;text-align:center;width:800px;z-index:-10}.feature-item{word-wrap:break-word;background-clip:initial;background-color:#fff;border:1px solid #eaecf3;border-radius:.5rem;cursor:pointer;display:flex;flex-direction:column;justify-content:center;margin-bottom:30px;min-width:0;padding:30px;position:relative;transition:.5s;z-index:2}.feature-item .single_benifits{min-height:185px}.feature-item:hover{box-shadow:0 1rem 3rem #1f2d3d21!important}.icon_box{background-color:#0d6efd;border-radius:50%;color:#fff;flex:0 0 80px;height:80px;margin-right:1.5rem;margin-top:2px;width:80px}.cour-function:first-child .icon_box{background:#31d1ab33}.cour-function:nth-child(2) .icon_box{background:#ff9f1c33}.cour-function:nth-child(3) .icon_box{background:#50b5ff33}.cour-function:nth-child(4) .icon_box{background:#59786233}.cour-function:nth-child(5) .icon_box{background:#03032d33}.cour-function:nth-child(6) .icon_box{background:#2872ff33}.features-icon i,.icon_box i{font-weight:700;line-height:80px}.cour-function:first-child .icon_box i{color:#31d1ab}.cour-function:nth-child(2) .icon_box i{color:#ff9f1c}.cour-function:nth-child(3) .icon_box i{color:#50b5ff}.cour-function:nth-child(4) .icon_box i{color:#597862}.cour-function:nth-child(5) .icon_box i{color:#03032d}.cour-function:nth-child(6) .icon_box i{color:#2872ff}.benifits_text h5{color:#020710;font-size:1.5rem}.benifits_text p{color:#6c7a87;font-size:.95rem;font-weight:600}.icon-gitee{height:18px;line-height:20px;margin-top:-2px;width:18px}.single_work_step{position:relative;text-align:center;z-index:1}.single_work_step:not(.single_work_step_last):before{color:#151e2e;content:"\ea46";font-family:LineIcons;font-size:3rem;height:70px;line-height:1;margin-left:-35px;margin-top:-35px;position:absolute;right:-50%;top:50%;transition-duration:.5s;width:70px;z-index:1}.single_work_step .step-icon{background-color:#fff;border-radius:50%;height:90px;margin:0 auto 30px;position:relative;transition-duration:.5s;width:90px;z-index:1}.single_work_step .step-icon i{color:#070a57;font-size:3rem;line-height:90px;transition-duration:.5s}.single_work_step p{font-weight:400;margin-bottom:0}.single_work_step h5,[data-aos][data-aos][data-aos-duration="500"],body[data-aos-duration="500"] [data-aos]{transition-duration:.5s}.streampark-btn:before,[data-aos][data-aos][data-aos-duration="300"],body[data-aos-duration="300"] [data-aos]{transition-duration:.3s}.single_work_step:focus:before,.single_work_step:hover:before{color:#0d6efd;right:-55%}.streampark-load{animation:1.5s linear infinite wa;background-color:initial;border:2px solid;border-color:#0000 #0000 #fff;border-radius:50%;height:50px;left:calc(50% - 25px);position:relative;top:calc(50% - 25px);width:50px;z-index:9}@keyframes wa{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.hide-navbar .navbar{border-bottom:1px solid #eaeaea}.mask-bg{background-color:#fff;background-image:url(/SolidUI-Website/zh-CN/assets/images/mymen-bg-9a67dc1b51a0c50891a3c4950b98c382.png);background-repeat:repeat-x;height:147px;width:3000px}.particles,.z-index-2{z-index:2}.footer.footer--dark{background-color:#1d253d}.feature-children{min-height:300px}.features-icon{background-color:#4c7cbb;border-radius:50%;color:#fff;flex:0 0 80px;height:80px;margin:2px auto;width:80px}.streampark-btn{border:2px solid #0000;border-radius:6px;color:#fff;display:inline-block;font-size:.875rem;font-weight:600;line-height:1;padding:1rem 1.5rem;position:relative;text-transform:uppercase;z-index:1}.streampark-btn.btn{background-color:#2872ff;border:0;color:#fff;height:45px;max-width:220px;position:relative}.streampark-btn:before{border:none;border-radius:6px;bottom:0;content:"";display:inline-block;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:51%;z-index:-1}.streampark-btn.btn-green:hover:before,.streampark-btn.btn-purple:hover:before,.streampark-btn.btn:hover:before{-webkit-transform:scaleX(1)}.streampark-btn.btn:before{background:#0d6efd}.streampark-btn.btn-green{background-color:#24a35a}.streampark-btn.btn-purple{background:linear-gradient(-45deg,#5e2ced,#a485fd)}.streampark-btn.btn:focus,.streampark-btn.btn:hover{background-color:#588af2;border:0;color:#fff}.streampark-btn.btn-green:before{background:green}.streampark-btn.btn-green:focus,.streampark-btn.btn-green:hover{background-color:green;border:0;color:#fff}.streampark-btn.btn-purple:before{background:#5e2ced}.streampark-btn.btn-purple:focus,.streampark-btn.btn-purple:hover{background:linear-gradient(-45deg,#5e2ced,#a485fd);border:none;color:#fff}.streampark-btn.btn-4{background-color:#2ecc71;box-shadow:0 2px 15px 3px #070a571a;color:#fff}.streampark-btn.btn-4:focus,.streampark-btn.btn-4:hover{background-color:#fff;color:#3f43fd}.home-wrap,.home-wrap .system_info{font-family:Poppins,sans-serif!important}.system_info .project_title{font-size:4.5875rem;font-weight:bolder;line-height:6.5rem;margin-bottom:15px}.tag{border-radius:30px 30px 30px 0}.text-bg{background-clip:text;-webkit-background-clip:text;background-image:linear-gradient(90deg,#007cf0,#00dfd8);padding-left:.5rem;padding-right:.5rem}.animated-gradient-text_background{display:block;position:relative;-webkit-user-select:none;user-select:none}.animated-gradient-text_background-1:before{animation:8s infinite ya}.animated-gradient-text_foreground-1{animation:8s infinite xa}.animated-gradient-text_background-2:before{animation:8s infinite Aa}.animated-gradient-text_foreground-2{animation:8s infinite za}.stop-hero-animation .animated-gradient-text_background,.stop-hero-animation .animated-gradient-text_background:before,.stop-hero-animation .animated-gradient-text_foreground{animation:none!important}.animated-gradient-text_foreground{background-clip:text;-webkit-background-clip:text;background-image:linear-gradient(90deg,var(--start-color),var(--end-color));padding-left:.5rem;padding-right:.5rem;position:relative;z-index:1}.animated-gradient-text_background:before{bottom:0;content:var(--content);display:block;left:0;padding-left:.5rem;padding-right:.5rem;position:absolute;top:0;width:100%;z-index:0}@keyframes xa{0%,16.667%,to{opacity:1}50%{opacity:0}}@keyframes ya{0%,16.667%,to{opacity:0}50%{opacity:1}}@keyframes za{0%,16.667%,66.667%,to{opacity:0}50%{opacity:1}}@keyframes Aa{0%,25%,58.333%,to{opacity:1}50%{opacity:0}}#preloader{background-color:#fff;bottom:0;height:100%;left:0;position:fixed;right:0;text-align:center;top:0;transition:opacity .3s;width:100%;z-index:999999}#preloader:after,#preloader:before{animation-duration:2s;animation-iteration-count:infinite;animation-name:Ba;animation-timing-function:linear;border:3px solid #040c61;border-radius:50%;content:"";display:block;height:80px;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:80px}#preloader:after{animation-delay:1s}@keyframes Ba{0%{height:0;opacity:0;width:0}10%{height:10px;opacity:1;width:10px}80%{height:60px;opacity:.1;width:60px}to{height:70px;opacity:0;width:70px}}.align-baseline{vertical-align:initial!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-75{opacity:.75!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none,[hidden]{display:none!important}.shadow{box-shadow:0 .3rem 1.8rem 0 #371a8633!important}.shadow-sm{box-shadow:0 .2rem 1.25rem 0 #371a861a!important}.shadow-lg{box-shadow:0 .4rem 2.2rem 0 #371a864d!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #e5e7eb!important}.border-0{border:0!important}.border-top{border-top:1px solid #e5e7eb!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #e5e7eb!important}.border-bottom{border-bottom:1px solid #e5e7eb!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #e5e7eb!important}.border-primary{--bs-border-opacity:1;border-color:rgba(91,43,224,var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(29,37,61,var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(24,121,88,var(--bs-border-opacity))!important}.border-1{--bs-border-width:1px}.border-2{--bs-border-width:2px}.border-3{--bs-border-width:3px}.border-4{--bs-border-width:4px}.border-5{--bs-border-width:5px}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-6{margin:4.5rem!important}.m-7{margin:6rem!important}.m-8{margin:9rem!important}.m-9{margin:12rem!important}.m-auto{margin:auto!important}.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-5{margin-left:3rem!important;margin-right:3rem!important}.mx-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-7{margin-left:6rem!important;margin-right:6rem!important}.mx-8{margin-left:9rem!important;margin-right:9rem!important}.mx-9{margin-left:12rem!important;margin-right:12rem!important}.mx-auto{margin-left:auto!important;margin-right:auto!important}.my-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-8{margin-bottom:9rem!important;margin-top:9rem!important}.my-9{margin-bottom:12rem!important;margin-top:12rem!important}.my-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-6{margin-top:4.5rem!important}.mt-7{margin-top:6rem!important}.mt-8{margin-top:9rem!important}.mt-9{margin-top:12rem!important}.mt-auto{margin-top:auto!important}.me-6{margin-right:4.5rem!important}.me-7{margin-right:6rem!important}.me-8{margin-right:9rem!important}.me-9{margin-right:12rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-6{margin-bottom:4.5rem!important}.mb-7{margin-bottom:6rem!important}.mb-8{margin-bottom:9rem!important}.mb-9{margin-bottom:12rem!important}.mb-auto{margin-bottom:auto!important}.ms-6{margin-left:4.5rem!important}.ms-7{margin-left:6rem!important}.ms-8{margin-left:9rem!important}.ms-9{margin-left:12rem!important}.m-n1{margin:-.25rem!important}.m-n2{margin:-.5rem!important}.m-n3{margin:-1rem!important}.m-n4{margin:-1.5rem!important}.m-n5{margin:-3rem!important}.m-n6{margin:-4.5rem!important}.m-n7{margin:-6rem!important}.m-n8{margin:-9rem!important}.m-n9{margin:-12rem!important}.mx-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-n7{margin-left:-6rem!important;margin-right:-6rem!important}.mx-n8{margin-left:-9rem!important;margin-right:-9rem!important}.mx-n9{margin-left:-12rem!important;margin-right:-12rem!important}.my-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.my-n8{margin-bottom:-9rem!important;margin-top:-9rem!important}.my-n9{margin-bottom:-12rem!important;margin-top:-12rem!important}.mt-n1{margin-top:-.25rem!important}.mt-n2{margin-top:-.5rem!important}.mt-n3{margin-top:-1rem!important}.mt-n4{margin-top:-1.5rem!important}.mt-n5{margin-top:-3rem!important}.mt-n6{margin-top:-4.5rem!important}.mt-n7{margin-top:-6rem!important}.mt-n8{margin-top:-9rem!important}.mt-n9{margin-top:-12rem!important}.me-n6{margin-right:-4.5rem!important}.me-n7{margin-right:-6rem!important}.me-n8{margin-right:-9rem!important}.me-n9{margin-right:-12rem!important}.mb-n1{margin-bottom:-.25rem!important}.mb-n2{margin-bottom:-.5rem!important}.mb-n3{margin-bottom:-1rem!important}.mb-n4{margin-bottom:-1.5rem!important}.mb-n5{margin-bottom:-3rem!important}.mb-n6{margin-bottom:-4.5rem!important}.mb-n7{margin-bottom:-6rem!important}.mb-n8{margin-bottom:-9rem!important}.mb-n9{margin-bottom:-12rem!important}.ms-n6{margin-left:-4.5rem!important}.ms-n7{margin-left:-6rem!important}.ms-n8{margin-left:-9rem!important}.ms-n9{margin-left:-12rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.p-6{padding:4.5rem!important}.p-7{padding:6rem!important}.p-8{padding:9rem!important}.p-9{padding:12rem!important}.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-5{padding-left:3rem!important;padding-right:3rem!important}.px-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-7{padding-left:6rem!important;padding-right:6rem!important}.px-8{padding-left:9rem!important;padding-right:9rem!important}.px-9{padding-left:12rem!important;padding-right:12rem!important}.py-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-7{padding-bottom:6rem!important;padding-top:6rem!important}.py-8{padding-bottom:9rem!important;padding-top:9rem!important}.py-9{padding-bottom:12rem!important;padding-top:12rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pt-6{padding-top:4.5rem!important}.pt-7{padding-top:6rem!important}.pt-8{padding-top:9rem!important}.pt-9{padding-top:12rem!important}.pe-6{padding-right:4.5rem!important}.pe-7{padding-right:6rem!important}.pe-8{padding-right:9rem!important}.pe-9{padding-right:12rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.pb-6{padding-bottom:4.5rem!important}.pb-7{padding-bottom:6rem!important}.pb-8{padding-bottom:9rem!important}.pb-9{padding-bottom:12rem!important}.ps-6{padding-left:4.5rem!important}.ps-7{padding-left:6rem!important}.ps-8{padding-left:9rem!important}.ps-9{padding-left:12rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.gap-6{gap:4.5rem!important}.gap-7{gap:6rem!important}.gap-8{gap:9rem!important}.gap-9{gap:12rem!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fst-normal{font-style:normal!important}.fw-semibold{font-weight:600!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.3!important}.lh-lg{line-height:2!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{color:rgba(91,43,224,var(--bs-text-opacity))!important}.text-secondary{color:rgba(29,37,61,var(--bs-text-opacity))!important}.text-success{color:rgba(24,121,88,var(--bs-text-opacity))!important}.text-info{color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{color:rgba(255,204,67,var(--bs-text-opacity))!important}.text-danger{color:rgba(220,53,69,var(--bs-text-opacity))!important}.text-light{color:rgba(249,250,251,var(--bs-text-opacity))!important}.text-dark{color:rgba(17,24,39,var(--bs-text-opacity))!important}.text-white{color:rgba(255,255,255,var(--bs-text-opacity))!important}.text-black{color:rgba(0,0,0,var(--bs-text-opacity))!important}.text-muted{color:#6b7280!important}.text-black-50{color:#00000080!important}.text-white-50{color:#ffffff80!important}.text-reset{color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{background-color:rgba(91,43,224,var(--bs-bg-opacity))!important}.bg-secondary-home{--bs-bg-opacity:1;background-color:rgba(29,37,61,var(--bs-bg-opacity))!important}.bg-success{background-color:rgba(24,121,88,var(--bs-bg-opacity))!important}.bg-warning{background-color:rgba(255,204,67,var(--bs-bg-opacity))!important}.bg-danger{background-color:rgba(220,53,69,var(--bs-bg-opacity))!important}.bg-light{background-color:rgba(249,250,251,var(--bs-bg-opacity))!important}.bg-dark{background-color:rgba(17,24,39,var(--bs-bg-opacity))!important}.bg-white{background-color:rgba(255,255,255,var(--bs-bg-opacity))!important}.bg-black{background-color:rgba(0,0,0,var(--bs-bg-opacity))!important}.bg-transparent{background-color:initial!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:linear-gradient(180deg,#ffffff26,#fff0)!important}.user-select-all{-webkit-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded,.rounded-2{border-radius:.375rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-2xl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-start,.rounded-top{border-top-left-radius:.375rem!important}.rounded-end,.rounded-top{border-top-right-radius:.375rem!important}.rounded-bottom,.rounded-end{border-bottom-right-radius:.375rem!important}.rounded-bottom,.rounded-start{border-bottom-left-radius:.375rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.start-1{left:1rem}.end-1{right:1rem}.top-1{top:1rem}.bottom-1{bottom:1rem}.w-150{width:150%}.z-index-n100{z-index:-100}.z-index-n10{z-index:-10}.z-index-n5{z-index:-5}.z-index-n4{z-index:-4}.z-index-n3{z-index:-3}.z-index-n2{z-index:-2}.z-index-n1{z-index:-1}.z-index-5{z-index:5}.z-index-10{z-index:10}.z-index-20{z-index:20}.z-index-50{z-index:50}.z-index-100{z-index:100}.lg-backdrop{z-index:1100}.lg-outer{z-index:1200}.opacity-10{opacity:.1!important}.opacity-20{opacity:.2!important}.opacity-30{opacity:.3!important}.opacity-40{opacity:.4!important}.opacity-50{opacity:.5!important}.opacity-60{opacity:.6!important}.opacity-70{opacity:.7!important}.opacity-80{opacity:.8!important}.opacity-90{opacity:.9!important}.opacity-100{opacity:1!important}.overlay{border-radius:inherit;height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%}.scroller{animation-duration:1.5s;animation-iteration-count:infinite;animation-name:Ca;animation-timing-function:cubic-bezier(.15,.41,.69,.94);background-color:#fff;border-radius:25%;height:.6rem;width:3px}@keyframes Ca{0%{opacity:0}10%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(15px)}}.scale-2 svg{transform:scale(2) rotate(90deg)}.scale-3 svg{transform:scale(3) rotate(135deg)}.scale-4 svg{transform:scale(4) rotate(180deg)}.scale-5 svg{transform:scale(5) rotate(225deg)}.scale-6 svg{transform:scale(6) rotate(270deg)}.scale-7 svg{transform:scale(7) rotate(315deg)}.scale-8 svg{transform:scale(8) rotate(160deg)}.showcase-img{background-size:cover;min-height:20rem;position:relative}.icon-center{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.rotate-45{transform:rotate(45deg)}.rotate-135{transform:rotate(135deg)}.fa-rotate-180,.rotate-180{transform:rotate(180deg)}.rotate-225{transform:rotate(225deg)}.fa-rotate-270,.rotate-270{transform:rotate(270deg)}.rotate-315{transform:rotate(315deg)}.text-shadow{text-shadow:0 .1em 2em #0006}.bg-gradient-primary{background-color:var(--bs-primary);background-image:linear-gradient(130deg,#3f6bb3 15%,#8ed1df)!important}.bg-gradient-secondary{background-color:var(--bs-secondary);background-image:linear-gradient(130deg,#171e31 15%,#1d253d 40%,#1d253d 60%,#0c0f18)!important}.waves-top-center{bottom:auto;left:0;position:absolute;right:0;top:-1px}.waves-bottom-center,.waves-bottom-end,.waves-bottom-start{bottom:-1px;position:absolute}.waves-bottom-center{left:0;right:0;top:auto}.waves-top-start{left:0;position:absolute;top:-1px}.waves-top-end{position:absolute;right:0;top:-1px}.waves-bottom-start{left:0}.waves-bottom-end{right:0}.translate-top-1{transform:translateY(-1rem)}.translate-bottom-1{transform:translateY(1rem)}.translate-top-2{transform:translateY(-2rem)}.translate-bottom-2{transform:translateY(2rem)}.translate-top-3{transform:translateY(-3rem)}.translate-bottom-3{transform:translateY(3rem)}.translate-top-4{transform:translateY(-4rem)}.translate-bottom-4{transform:translateY(4rem)}.translate-top-5{transform:translateY(-5rem)}.translate-bottom-5{transform:translateY(5rem)}@keyframes Da{0%{transform:scaleY(0);-webkit-transform:scaleY(0)}to{transform:scale(1);-webkit-transform:scale(1)}}.waves-animate>svg{animation:3s cubic-bezier(.23,1,.32,1) forwards Da;-webkit-animation:3s cubic-bezier(.23,1,.32,1) forwards Da;display:block;transform-origin:bottom}.display-1{font-size:calc(1.5625rem + 3.75vw)}.display-1,.display-2,.display-3,.display-4,.display-5,.display-6{font-weight:300;line-height:1.3}.display-2{font-size:calc(1.50625rem + 3.075vw)}.display-3{font-size:calc(1.425rem + 2.1vw)}.display-4{font-size:calc(1.40625rem + 1.875vw)}.display-5{font-size:calc(1.39375rem + 1.725vw)}.display-6{font-size:calc(1.375rem + 1.5vw)}.initialism{font-size:.8em;text-transform:uppercase}.blockquote{font-size:1.25rem;margin-bottom:1rem}.blockquote-footer{color:#4b5563;font-size:.8em;margin-bottom:1rem;margin-top:-1rem}.blockquote-footer:before{content:"— "}.img-fluid,.img-thumbnail{height:auto;max-width:100%}.img-thumbnail{background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;padding:.25rem}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.row>*{padding-left:calc(var(--bs-gutter-x)*.5);padding-right:calc(var(--bs-gutter-x)*.5);width:100%}.figure-img{line-height:1;margin-bottom:.5rem}.figure-caption{color:#4b5563;font-size:.875rem}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;margin-left:auto;margin-right:auto}.row{--bs-gutter-x:1.5rem;display:flex;flex-wrap:wrap;margin-left:calc(var(--bs-gutter-x)*-.5);margin-right:calc(var(--bs-gutter-x)*-.5);margin-top:calc(var(--bs-gutter-y)*-1)}.row>*{flex-shrink:0;margin-top:var(--bs-gutter-y);max-width:100%}.col{flex:1 0 0%}.col-auto,.row-cols-auto>*{flex:0 0 auto;width:auto}.col-12,.row-cols-1>*{flex:0 0 auto;width:100%}.col-6,.row-cols-2>*{flex:0 0 auto;width:50%}.col-4,.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.col-3,.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.col-2,.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-1,.col-5{flex:0 0 auto}.col-1{width:8.33333333%}.col-5{width:41.66666667%}.col-7,.col-8{flex:0 0 auto}.col-7{width:58.33333333%}.col-8{width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}.g-6,.gx-6{--bs-gutter-x:4.5rem}.g-6,.gy-6{--bs-gutter-y:4.5rem}.g-7,.gx-7{--bs-gutter-x:6rem}.g-7,.gy-7{--bs-gutter-y:6rem}.g-8,.gx-8{--bs-gutter-x:9rem}.g-8,.gy-8{--bs-gutter-y:9rem}.g-9,.gx-9{--bs-gutter-x:12rem}.g-9,.gy-9{--bs-gutter-y:12rem}.animated-up-down{animation:1.5s ease-in-out infinite alternate-reverse both Ea;-webkit-animation:1.5s ease-in-out infinite alternate-reverse both Ea}@keyframes Ea{0%{transform:translateY(0);-webkit-transform:translateY(0)}to{transform:translateY(-10px);-webkit-transform:translateY(-10px)}}.icon-center:hover .play-btn-hover{animation:2s linear infinite Fa}@keyframes Fa{0%{box-shadow:0 0 0 0 #e4e4e4b3}40%{box-shadow:0 0 0 50px #e0e0e000}80%{box-shadow:0 0 0 50px #cecece00}to{box-shadow:0 0 0 #c7c7c700}}.collapse-arrow-end{transform:rotate(-180deg);-webkit-transform:rotate(-180deg)}.collapse-arrow-end,.collapse-plus-end{transition:transform 1s;-webkit-transition:transform 1s}.collapse-plus-end{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}.collapsed .collapse-arrow-end,.collapsed .collapse-plus-end{transform:rotate(0);-webkit-transform:rotate(0)}.particle-move-up{bottom:-150px;display:block;list-style:none;position:absolute}.fa,.fa-stack{display:inline-block}.particle-move-up-1,.particle-move-up-2,.particle-move-up-3,.particle-move-up-4,.particle-move-up-5,.particle-move-up-6,.particle-move-up-7,.particle-move-up-8,.particle-move-up-9{animation-iteration-count:infinite;animation-timing-function:linear}.particle-move-up-1{animation-delay:0s;animation-duration:45s;animation-name:Ga;left:25%}.particle-move-up-2{animation-delay:2s;animation-duration:32s;animation-name:Ga;left:10%}.particle-move-up-3{animation-delay:4s;animation-duration:36s;animation-name:Ga;left:70%}.particle-move-up-4{animation-duration:27s;left:40%}.particle-move-up-4,.particle-move-up-5{animation-delay:0s;animation-name:Ga}.particle-move-up-5{animation-duration:38s;left:65%}.particle-move-up-6{animation-delay:3s;left:75%}.particle-move-up-6,.particle-move-up-7{animation-duration:25s;animation-name:Ga}.particle-move-up-7{animation-delay:7s;left:35%}.particle-move-up-8{animation-delay:15s;animation-duration:45s;animation-name:Ga;left:50%}.particle-move-up-9{animation-delay:2s;animation-duration:35s;animation-name:Ga;right:15%}@keyframes Ga{0%{border-radius:0;opacity:1;transform:translateY(0)}to{border-radius:50%;opacity:0;transform:translateY(-1000px)}}.hover-none:hover .d-hover-block{display:block;transition:.3s}.hover-box-down:hover{transform:translateY(10px)}.hover-button-up{transition:.1s ease-in-out}.hover-button-up:hover{transform:translate3d(0,-2px,0)}.hover-button-up:hover,.hover-shadow-sm:hover{box-shadow:0 .2rem 1.25rem 0 rgba(77,91,237,.102)}hr.divider{background:linear-gradient(90deg,#e24997,#2d2ed4);border-bottom-width:1px;border-top-width:1px;height:.125rem;margin-left:auto;margin-right:auto;max-width:8rem;opacity:.85}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}hr.divider.double-hr{border-style:solid;height:.25rem;max-width:7rem;opacity:.85}.process-vertical{list-style:none;margin:0}.process-vertical .process-vertical-item:last-child .process-vertical-icon:before{bottom:.5rem}.process-vertical .process-vertical-item .process-vertical-icon{flex-shrink:0;position:relative;text-align:center;width:4rem}.process-vertical .process-vertical-item .process-vertical-icon:before{border-left:2px dashed #e5e7eb;bottom:-2rem;content:"";left:45%;position:absolute;top:4rem}.process-vertical .process-vertical-item .process-vertical-icon .process-vertical-icon-bg{background:#f9fafb;border:1px solid #e5e7eb;height:4rem;line-height:4rem;width:4rem}.process-vertical .process-vertical-item .process-vertical-icon span{font-size:1.3rem}.process-vertical-content{margin-bottom:3rem;margin-left:1rem}.process-horizontal li{float:left;font-size:1.25rem;list-style-type:none;position:relative;text-align:center;width:25%}.process-horizontal li.active,.process-horizontal li:hover{color:var(--bs-primary);cursor:pointer}.process-horizontal li:before{background-color:#fff;border:1px solid #ddd;border-radius:50%;display:block;height:1.875rem;line-height:1.875rem;margin:0 auto 10px;text-align:center;width:1.875rem}.process-horizontal li:after{border-bottom:2px dashed #e5e7eb;content:"";left:-50%;position:absolute;top:1.5rem;width:100%;z-index:-1}.process-horizontal li svg{background:#f9fafb;border:1px solid #e5e7eb;border-radius:50%}.border-dot{border:1px dashed #e8e8e8;margin-bottom:80px;max-width:500px}.user-main .main_title{color:#2c3e50;font-size:32px;line-height:46px;padding:60px 0 20px}.user-main .desc{color:#2c3e50;font-size:17px;line-height:40px;margin-bottom:20px;text-align:center}.user-main .home_block{padding:20px 0}.user-main .user_case{grid-row-gap:20px;grid-column-gap:20px;display:grid;grid-template-columns:repeat(6,1fr);margin-bottom:20px}.user-main .user_case .case_item{align-items:center;background:#fff;border:1px solid #eaecef;border-radius:4px;box-shadow:0 1px 2px 0 #f8f9fa;display:flex;height:80px;justify-content:center;margin:5px;min-width:0}.user-main .user_case .case_item.case_hover{transition:.3s}.user-main .user_case .case_item.case_hover:hover{box-shadow:0 1rem 2rem #0000000d;transform:translateY(-10px)}.user-main .user_case .case_item>img{max-height:90%;max-width:90%}[data-aos][data-aos][data-aos-duration="50"],body[data-aos-duration="50"] [data-aos]{transition-duration:50ms}[data-aos][data-aos][data-aos-delay="100"],[data-aos][data-aos][data-aos-delay="1000"],[data-aos][data-aos][data-aos-delay="1050"],[data-aos][data-aos][data-aos-delay="1100"],[data-aos][data-aos][data-aos-delay="1150"],[data-aos][data-aos][data-aos-delay="1200"],[data-aos][data-aos][data-aos-delay="1250"],[data-aos][data-aos][data-aos-delay="1300"],[data-aos][data-aos][data-aos-delay="1350"],[data-aos][data-aos][data-aos-delay="1400"],[data-aos][data-aos][data-aos-delay="1450"],[data-aos][data-aos][data-aos-delay="150"],[data-aos][data-aos][data-aos-delay="1500"],[data-aos][data-aos][data-aos-delay="1550"],[data-aos][data-aos][data-aos-delay="1600"],[data-aos][data-aos][data-aos-delay="1650"],[data-aos][data-aos][data-aos-delay="1700"],[data-aos][data-aos][data-aos-delay="1750"],[data-aos][data-aos][data-aos-delay="1800"],[data-aos][data-aos][data-aos-delay="1850"],[data-aos][data-aos][data-aos-delay="1900"],[data-aos][data-aos][data-aos-delay="1950"],[data-aos][data-aos][data-aos-delay="200"],[data-aos][data-aos][data-aos-delay="2000"],[data-aos][data-aos][data-aos-delay="2050"],[data-aos][data-aos][data-aos-delay="2100"],[data-aos][data-aos][data-aos-delay="2150"],[data-aos][data-aos][data-aos-delay="2200"],[data-aos][data-aos][data-aos-delay="2250"],[data-aos][data-aos][data-aos-delay="2300"],[data-aos][data-aos][data-aos-delay="2350"],[data-aos][data-aos][data-aos-delay="2400"],[data-aos][data-aos][data-aos-delay="2450"],[data-aos][data-aos][data-aos-delay="250"],[data-aos][data-aos][data-aos-delay="2500"],[data-aos][data-aos][data-aos-delay="2550"],[data-aos][data-aos][data-aos-delay="2600"],[data-aos][data-aos][data-aos-delay="2650"],[data-aos][data-aos][data-aos-delay="2700"],[data-aos][data-aos][data-aos-delay="2750"],[data-aos][data-aos][data-aos-delay="2800"],[data-aos][data-aos][data-aos-delay="2850"],[data-aos][data-aos][data-aos-delay="2900"],[data-aos][data-aos][data-aos-delay="2950"],[data-aos][data-aos][data-aos-delay="300"],[data-aos][data-aos][data-aos-delay="3000"],[data-aos][data-aos][data-aos-delay="350"],[data-aos][data-aos][data-aos-delay="400"],[data-aos][data-aos][data-aos-delay="450"],[data-aos][data-aos][data-aos-delay="50"],[data-aos][data-aos][data-aos-delay="500"],[data-aos][data-aos][data-aos-delay="550"],[data-aos][data-aos][data-aos-delay="600"],[data-aos][data-aos][data-aos-delay="650"],[data-aos][data-aos][data-aos-delay="700"],[data-aos][data-aos][data-aos-delay="750"],[data-aos][data-aos][data-aos-delay="800"],[data-aos][data-aos][data-aos-delay="850"],[data-aos][data-aos][data-aos-delay="900"],[data-aos][data-aos][data-aos-delay="950"],body[data-aos-delay="100"] [data-aos],body[data-aos-delay="1000"] [data-aos],body[data-aos-delay="1050"] [data-aos],body[data-aos-delay="1100"] [data-aos],body[data-aos-delay="1150"] [data-aos],body[data-aos-delay="1200"] [data-aos],body[data-aos-delay="1250"] [data-aos],body[data-aos-delay="1300"] [data-aos],body[data-aos-delay="1350"] [data-aos],body[data-aos-delay="1400"] [data-aos],body[data-aos-delay="1450"] [data-aos],body[data-aos-delay="150"] [data-aos],body[data-aos-delay="1500"] [data-aos],body[data-aos-delay="1550"] [data-aos],body[data-aos-delay="1600"] [data-aos],body[data-aos-delay="1650"] [data-aos],body[data-aos-delay="1700"] [data-aos],body[data-aos-delay="1750"] [data-aos],body[data-aos-delay="1800"] [data-aos],body[data-aos-delay="1850"] [data-aos],body[data-aos-delay="1900"] [data-aos],body[data-aos-delay="1950"] [data-aos],body[data-aos-delay="200"] [data-aos],body[data-aos-delay="2000"] [data-aos],body[data-aos-delay="2050"] [data-aos],body[data-aos-delay="2100"] [data-aos],body[data-aos-delay="2150"] [data-aos],body[data-aos-delay="2200"] [data-aos],body[data-aos-delay="2250"] [data-aos],body[data-aos-delay="2300"] [data-aos],body[data-aos-delay="2350"] [data-aos],body[data-aos-delay="2400"] [data-aos],body[data-aos-delay="2450"] [data-aos],body[data-aos-delay="250"] [data-aos],body[data-aos-delay="2500"] [data-aos],body[data-aos-delay="2550"] [data-aos],body[data-aos-delay="2600"] [data-aos],body[data-aos-delay="2650"] [data-aos],body[data-aos-delay="2700"] [data-aos],body[data-aos-delay="2750"] [data-aos],body[data-aos-delay="2800"] [data-aos],body[data-aos-delay="2850"] [data-aos],body[data-aos-delay="2900"] [data-aos],body[data-aos-delay="2950"] [data-aos],body[data-aos-delay="300"] [data-aos],body[data-aos-delay="3000"] [data-aos],body[data-aos-delay="350"] [data-aos],body[data-aos-delay="400"] [data-aos],body[data-aos-delay="450"] [data-aos],body[data-aos-delay="50"] [data-aos],body[data-aos-delay="500"] [data-aos],body[data-aos-delay="550"] [data-aos],body[data-aos-delay="600"] [data-aos],body[data-aos-delay="650"] [data-aos],body[data-aos-delay="700"] [data-aos],body[data-aos-delay="750"] [data-aos],body[data-aos-delay="800"] [data-aos],body[data-aos-delay="850"] [data-aos],body[data-aos-delay="900"] [data-aos],body[data-aos-delay="950"] [data-aos]{transition-delay:0}[data-aos][data-aos][data-aos-delay="50"].aos-animate,body[data-aos-delay="50"] [data-aos].aos-animate{transition-delay:50ms}[data-aos][data-aos][data-aos-duration="100"],body[data-aos-duration="100"] [data-aos]{transition-duration:.1s}[data-aos][data-aos][data-aos-delay="100"].aos-animate,body[data-aos-delay="100"] [data-aos].aos-animate{transition-delay:.1s}[data-aos][data-aos][data-aos-duration="150"],body[data-aos-duration="150"] [data-aos]{transition-duration:.15s}[data-aos][data-aos][data-aos-delay="150"].aos-animate,body[data-aos-delay="150"] [data-aos].aos-animate{transition-delay:.15s}[data-aos][data-aos][data-aos-duration="200"],body[data-aos-duration="200"] [data-aos]{transition-duration:.2s}[data-aos][data-aos][data-aos-delay="200"].aos-animate,body[data-aos-delay="200"] [data-aos].aos-animate{transition-delay:.2s}[data-aos][data-aos][data-aos-duration="250"],body[data-aos-duration="250"] [data-aos]{transition-duration:.25s}[data-aos][data-aos][data-aos-delay="250"].aos-animate,body[data-aos-delay="250"] [data-aos].aos-animate{transition-delay:.25s}[data-aos][data-aos][data-aos-delay="300"].aos-animate,body[data-aos-delay="300"] [data-aos].aos-animate{transition-delay:.3s}[data-aos][data-aos][data-aos-duration="350"],body[data-aos-duration="350"] [data-aos]{transition-duration:.35s}[data-aos][data-aos][data-aos-delay="350"].aos-animate,body[data-aos-delay="350"] [data-aos].aos-animate{transition-delay:.35s}[data-aos][data-aos][data-aos-duration="400"],body[data-aos-duration="400"] [data-aos]{transition-duration:.4s}[data-aos][data-aos][data-aos-delay="400"].aos-animate,body[data-aos-delay="400"] [data-aos].aos-animate{transition-delay:.4s}[data-aos][data-aos][data-aos-duration="450"],body[data-aos-duration="450"] [data-aos]{transition-duration:.45s}[data-aos][data-aos][data-aos-delay="450"].aos-animate,body[data-aos-delay="450"] [data-aos].aos-animate{transition-delay:.45s}[data-aos][data-aos][data-aos-delay="500"].aos-animate,body[data-aos-delay="500"] [data-aos].aos-animate{transition-delay:.5s}[data-aos][data-aos][data-aos-duration="550"],body[data-aos-duration="550"] [data-aos]{transition-duration:.55s}[data-aos][data-aos][data-aos-delay="550"].aos-animate,body[data-aos-delay="550"] [data-aos].aos-animate{transition-delay:.55s}[data-aos][data-aos][data-aos-duration="600"],body[data-aos-duration="600"] [data-aos]{transition-duration:.6s}[data-aos][data-aos][data-aos-delay="600"].aos-animate,body[data-aos-delay="600"] [data-aos].aos-animate{transition-delay:.6s}[data-aos][data-aos][data-aos-duration="650"],body[data-aos-duration="650"] [data-aos]{transition-duration:.65s}[data-aos][data-aos][data-aos-delay="650"].aos-animate,body[data-aos-delay="650"] [data-aos].aos-animate{transition-delay:.65s}[data-aos][data-aos][data-aos-duration="700"],body[data-aos-duration="700"] [data-aos]{transition-duration:.7s}[data-aos][data-aos][data-aos-delay="700"].aos-animate,body[data-aos-delay="700"] [data-aos].aos-animate{transition-delay:.7s}[data-aos][data-aos][data-aos-duration="750"],body[data-aos-duration="750"] [data-aos]{transition-duration:.75s}[data-aos][data-aos][data-aos-delay="750"].aos-animate,body[data-aos-delay="750"] [data-aos].aos-animate{transition-delay:.75s}[data-aos][data-aos][data-aos-duration="800"],body[data-aos-duration="800"] [data-aos]{transition-duration:.8s}[data-aos][data-aos][data-aos-delay="800"].aos-animate,body[data-aos-delay="800"] [data-aos].aos-animate{transition-delay:.8s}[data-aos][data-aos][data-aos-duration="850"],body[data-aos-duration="850"] [data-aos]{transition-duration:.85s}[data-aos][data-aos][data-aos-delay="850"].aos-animate,body[data-aos-delay="850"] [data-aos].aos-animate{transition-delay:.85s}[data-aos][data-aos][data-aos-duration="900"],body[data-aos-duration="900"] [data-aos]{transition-duration:.9s}[data-aos][data-aos][data-aos-delay="900"].aos-animate,body[data-aos-delay="900"] [data-aos].aos-animate{transition-delay:.9s}[data-aos][data-aos][data-aos-duration="950"],body[data-aos-duration="950"] [data-aos]{transition-duration:.95s}[data-aos][data-aos][data-aos-delay="950"].aos-animate,body[data-aos-delay="950"] [data-aos].aos-animate{transition-delay:.95s}[data-aos][data-aos][data-aos-duration="1000"],body[data-aos-duration="1000"] [data-aos]{transition-duration:1s}[data-aos][data-aos][data-aos-delay="1000"].aos-animate,body[data-aos-delay="1000"] [data-aos].aos-animate{transition-delay:1s}[data-aos][data-aos][data-aos-duration="1050"],body[data-aos-duration="1050"] [data-aos]{transition-duration:1.05s}[data-aos][data-aos][data-aos-delay="1050"].aos-animate,body[data-aos-delay="1050"] [data-aos].aos-animate{transition-delay:1.05s}[data-aos][data-aos][data-aos-duration="1100"],body[data-aos-duration="1100"] [data-aos]{transition-duration:1.1s}[data-aos][data-aos][data-aos-delay="1100"].aos-animate,body[data-aos-delay="1100"] [data-aos].aos-animate{transition-delay:1.1s}[data-aos][data-aos][data-aos-duration="1150"],body[data-aos-duration="1150"] [data-aos]{transition-duration:1.15s}[data-aos][data-aos][data-aos-delay="1150"].aos-animate,body[data-aos-delay="1150"] [data-aos].aos-animate{transition-delay:1.15s}[data-aos][data-aos][data-aos-duration="1200"],body[data-aos-duration="1200"] [data-aos]{transition-duration:1.2s}[data-aos][data-aos][data-aos-delay="1200"].aos-animate,body[data-aos-delay="1200"] [data-aos].aos-animate{transition-delay:1.2s}[data-aos][data-aos][data-aos-duration="1250"],body[data-aos-duration="1250"] [data-aos]{transition-duration:1.25s}[data-aos][data-aos][data-aos-delay="1250"].aos-animate,body[data-aos-delay="1250"] [data-aos].aos-animate{transition-delay:1.25s}[data-aos][data-aos][data-aos-duration="1300"],body[data-aos-duration="1300"] [data-aos]{transition-duration:1.3s}[data-aos][data-aos][data-aos-delay="1300"].aos-animate,body[data-aos-delay="1300"] [data-aos].aos-animate{transition-delay:1.3s}[data-aos][data-aos][data-aos-duration="1350"],body[data-aos-duration="1350"] [data-aos]{transition-duration:1.35s}[data-aos][data-aos][data-aos-delay="1350"].aos-animate,body[data-aos-delay="1350"] [data-aos].aos-animate{transition-delay:1.35s}[data-aos][data-aos][data-aos-duration="1400"],body[data-aos-duration="1400"] [data-aos]{transition-duration:1.4s}[data-aos][data-aos][data-aos-delay="1400"].aos-animate,body[data-aos-delay="1400"] [data-aos].aos-animate{transition-delay:1.4s}[data-aos][data-aos][data-aos-duration="1450"],body[data-aos-duration="1450"] [data-aos]{transition-duration:1.45s}[data-aos][data-aos][data-aos-delay="1450"].aos-animate,body[data-aos-delay="1450"] [data-aos].aos-animate{transition-delay:1.45s}[data-aos][data-aos][data-aos-duration="1500"],body[data-aos-duration="1500"] [data-aos]{transition-duration:1.5s}[data-aos][data-aos][data-aos-delay="1500"].aos-animate,body[data-aos-delay="1500"] [data-aos].aos-animate{transition-delay:1.5s}[data-aos][data-aos][data-aos-duration="1550"],body[data-aos-duration="1550"] [data-aos]{transition-duration:1.55s}[data-aos][data-aos][data-aos-delay="1550"].aos-animate,body[data-aos-delay="1550"] [data-aos].aos-animate{transition-delay:1.55s}[data-aos][data-aos][data-aos-duration="1600"],body[data-aos-duration="1600"] [data-aos]{transition-duration:1.6s}[data-aos][data-aos][data-aos-delay="1600"].aos-animate,body[data-aos-delay="1600"] [data-aos].aos-animate{transition-delay:1.6s}[data-aos][data-aos][data-aos-duration="1650"],body[data-aos-duration="1650"] [data-aos]{transition-duration:1.65s}[data-aos][data-aos][data-aos-delay="1650"].aos-animate,body[data-aos-delay="1650"] [data-aos].aos-animate{transition-delay:1.65s}[data-aos][data-aos][data-aos-duration="1700"],body[data-aos-duration="1700"] [data-aos]{transition-duration:1.7s}[data-aos][data-aos][data-aos-delay="1700"].aos-animate,body[data-aos-delay="1700"] [data-aos].aos-animate{transition-delay:1.7s}[data-aos][data-aos][data-aos-duration="1750"],body[data-aos-duration="1750"] [data-aos]{transition-duration:1.75s}[data-aos][data-aos][data-aos-delay="1750"].aos-animate,body[data-aos-delay="1750"] [data-aos].aos-animate{transition-delay:1.75s}[data-aos][data-aos][data-aos-duration="1800"],body[data-aos-duration="1800"] [data-aos]{transition-duration:1.8s}[data-aos][data-aos][data-aos-delay="1800"].aos-animate,body[data-aos-delay="1800"] [data-aos].aos-animate{transition-delay:1.8s}[data-aos][data-aos][data-aos-duration="1850"],body[data-aos-duration="1850"] [data-aos]{transition-duration:1.85s}[data-aos][data-aos][data-aos-delay="1850"].aos-animate,body[data-aos-delay="1850"] [data-aos].aos-animate{transition-delay:1.85s}[data-aos][data-aos][data-aos-duration="1900"],body[data-aos-duration="1900"] [data-aos]{transition-duration:1.9s}[data-aos][data-aos][data-aos-delay="1900"].aos-animate,body[data-aos-delay="1900"] [data-aos].aos-animate{transition-delay:1.9s}[data-aos][data-aos][data-aos-duration="1950"],body[data-aos-duration="1950"] [data-aos]{transition-duration:1.95s}[data-aos][data-aos][data-aos-delay="1950"].aos-animate,body[data-aos-delay="1950"] [data-aos].aos-animate{transition-delay:1.95s}[data-aos][data-aos][data-aos-duration="2000"],body[data-aos-duration="2000"] [data-aos]{transition-duration:2s}[data-aos][data-aos][data-aos-delay="2000"].aos-animate,body[data-aos-delay="2000"] [data-aos].aos-animate{transition-delay:2s}[data-aos][data-aos][data-aos-duration="2050"],body[data-aos-duration="2050"] [data-aos]{transition-duration:2.05s}[data-aos][data-aos][data-aos-delay="2050"].aos-animate,body[data-aos-delay="2050"] [data-aos].aos-animate{transition-delay:2.05s}[data-aos][data-aos][data-aos-duration="2100"],body[data-aos-duration="2100"] [data-aos]{transition-duration:2.1s}[data-aos][data-aos][data-aos-delay="2100"].aos-animate,body[data-aos-delay="2100"] [data-aos].aos-animate{transition-delay:2.1s}[data-aos][data-aos][data-aos-duration="2150"],body[data-aos-duration="2150"] [data-aos]{transition-duration:2.15s}[data-aos][data-aos][data-aos-delay="2150"].aos-animate,body[data-aos-delay="2150"] [data-aos].aos-animate{transition-delay:2.15s}[data-aos][data-aos][data-aos-duration="2200"],body[data-aos-duration="2200"] [data-aos]{transition-duration:2.2s}[data-aos][data-aos][data-aos-delay="2200"].aos-animate,body[data-aos-delay="2200"] [data-aos].aos-animate{transition-delay:2.2s}[data-aos][data-aos][data-aos-duration="2250"],body[data-aos-duration="2250"] [data-aos]{transition-duration:2.25s}[data-aos][data-aos][data-aos-delay="2250"].aos-animate,body[data-aos-delay="2250"] [data-aos].aos-animate{transition-delay:2.25s}[data-aos][data-aos][data-aos-duration="2300"],body[data-aos-duration="2300"] [data-aos]{transition-duration:2.3s}[data-aos][data-aos][data-aos-delay="2300"].aos-animate,body[data-aos-delay="2300"] [data-aos].aos-animate{transition-delay:2.3s}[data-aos][data-aos][data-aos-duration="2350"],body[data-aos-duration="2350"] [data-aos]{transition-duration:2.35s}[data-aos][data-aos][data-aos-delay="2350"].aos-animate,body[data-aos-delay="2350"] [data-aos].aos-animate{transition-delay:2.35s}[data-aos][data-aos][data-aos-duration="2400"],body[data-aos-duration="2400"] [data-aos]{transition-duration:2.4s}[data-aos][data-aos][data-aos-delay="2400"].aos-animate,body[data-aos-delay="2400"] [data-aos].aos-animate{transition-delay:2.4s}[data-aos][data-aos][data-aos-duration="2450"],body[data-aos-duration="2450"] [data-aos]{transition-duration:2.45s}[data-aos][data-aos][data-aos-delay="2450"].aos-animate,body[data-aos-delay="2450"] [data-aos].aos-animate{transition-delay:2.45s}[data-aos][data-aos][data-aos-duration="2500"],body[data-aos-duration="2500"] [data-aos]{transition-duration:2.5s}[data-aos][data-aos][data-aos-delay="2500"].aos-animate,body[data-aos-delay="2500"] [data-aos].aos-animate{transition-delay:2.5s}[data-aos][data-aos][data-aos-duration="2550"],body[data-aos-duration="2550"] [data-aos]{transition-duration:2.55s}[data-aos][data-aos][data-aos-delay="2550"].aos-animate,body[data-aos-delay="2550"] [data-aos].aos-animate{transition-delay:2.55s}[data-aos][data-aos][data-aos-duration="2600"],body[data-aos-duration="2600"] [data-aos]{transition-duration:2.6s}[data-aos][data-aos][data-aos-delay="2600"].aos-animate,body[data-aos-delay="2600"] [data-aos].aos-animate{transition-delay:2.6s}[data-aos][data-aos][data-aos-duration="2650"],body[data-aos-duration="2650"] [data-aos]{transition-duration:2.65s}[data-aos][data-aos][data-aos-delay="2650"].aos-animate,body[data-aos-delay="2650"] [data-aos].aos-animate{transition-delay:2.65s}[data-aos][data-aos][data-aos-duration="2700"],body[data-aos-duration="2700"] [data-aos]{transition-duration:2.7s}[data-aos][data-aos][data-aos-delay="2700"].aos-animate,body[data-aos-delay="2700"] [data-aos].aos-animate{transition-delay:2.7s}[data-aos][data-aos][data-aos-duration="2750"],body[data-aos-duration="2750"] [data-aos]{transition-duration:2.75s}[data-aos][data-aos][data-aos-delay="2750"].aos-animate,body[data-aos-delay="2750"] [data-aos].aos-animate{transition-delay:2.75s}[data-aos][data-aos][data-aos-duration="2800"],body[data-aos-duration="2800"] [data-aos]{transition-duration:2.8s}[data-aos][data-aos][data-aos-delay="2800"].aos-animate,body[data-aos-delay="2800"] [data-aos].aos-animate{transition-delay:2.8s}[data-aos][data-aos][data-aos-duration="2850"],body[data-aos-duration="2850"] [data-aos]{transition-duration:2.85s}[data-aos][data-aos][data-aos-delay="2850"].aos-animate,body[data-aos-delay="2850"] [data-aos].aos-animate{transition-delay:2.85s}[data-aos][data-aos][data-aos-duration="2900"],body[data-aos-duration="2900"] [data-aos]{transition-duration:2.9s}[data-aos][data-aos][data-aos-delay="2900"].aos-animate,body[data-aos-delay="2900"] [data-aos].aos-animate{transition-delay:2.9s}[data-aos][data-aos][data-aos-duration="2950"],body[data-aos-duration="2950"] [data-aos]{transition-duration:2.95s}[data-aos][data-aos][data-aos-delay="2950"].aos-animate,body[data-aos-delay="2950"] [data-aos].aos-animate{transition-delay:2.95s}[data-aos][data-aos][data-aos-duration="3000"],body[data-aos-duration="3000"] [data-aos]{transition-duration:3s}[data-aos][data-aos][data-aos-delay="3000"].aos-animate,body[data-aos-delay="3000"] [data-aos].aos-animate{transition-delay:3s}[data-aos][data-aos][data-aos-easing=linear],body[data-aos-easing=linear] [data-aos]{transition-timing-function:cubic-bezier(.25,.25,.75,.75)}[data-aos][data-aos][data-aos-easing=ease],body[data-aos-easing=ease] [data-aos]{transition-timing-function:ease}[data-aos][data-aos][data-aos-easing=ease-in],body[data-aos-easing=ease-in] [data-aos]{transition-timing-function:ease-in}[data-aos][data-aos][data-aos-easing=ease-out],body[data-aos-easing=ease-out] [data-aos]{transition-timing-function:ease-out}[data-aos][data-aos][data-aos-easing=ease-in-out],body[data-aos-easing=ease-in-out] [data-aos]{transition-timing-function:ease-in-out}[data-aos][data-aos][data-aos-easing=ease-in-back],body[data-aos-easing=ease-in-back] [data-aos]{transition-timing-function:cubic-bezier(.6,-.28,.735,.045)}[data-aos][data-aos][data-aos-easing=ease-out-back],body[data-aos-easing=ease-out-back] [data-aos]{transition-timing-function:cubic-bezier(.175,.885,.32,1.275)}[data-aos][data-aos][data-aos-easing=ease-in-out-back],body[data-aos-easing=ease-in-out-back] [data-aos]{transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}[data-aos][data-aos][data-aos-easing=ease-in-sine],body[data-aos-easing=ease-in-sine] [data-aos]{transition-timing-function:cubic-bezier(.47,0,.745,.715)}[data-aos][data-aos][data-aos-easing=ease-out-sine],body[data-aos-easing=ease-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.39,.575,.565,1)}[data-aos][data-aos][data-aos-easing=ease-in-out-sine],body[data-aos-easing=ease-in-out-sine] [data-aos]{transition-timing-function:cubic-bezier(.445,.05,.55,.95)}[data-aos][data-aos][data-aos-easing=ease-in-cubic],[data-aos][data-aos][data-aos-easing=ease-in-quad],[data-aos][data-aos][data-aos-easing=ease-in-quart],body[data-aos-easing=ease-in-cubic] [data-aos],body[data-aos-easing=ease-in-quad] [data-aos],body[data-aos-easing=ease-in-quart] [data-aos]{transition-timing-function:cubic-bezier(.55,.085,.68,.53)}[data-aos][data-aos][data-aos-easing=ease-out-cubic],[data-aos][data-aos][data-aos-easing=ease-out-quad],[data-aos][data-aos][data-aos-easing=ease-out-quart],body[data-aos-easing=ease-out-cubic] [data-aos],body[data-aos-easing=ease-out-quad] [data-aos],body[data-aos-easing=ease-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.25,.46,.45,.94)}[data-aos][data-aos][data-aos-easing=ease-in-out-cubic],[data-aos][data-aos][data-aos-easing=ease-in-out-quad],[data-aos][data-aos][data-aos-easing=ease-in-out-quart],body[data-aos-easing=ease-in-out-cubic] [data-aos],body[data-aos-easing=ease-in-out-quad] [data-aos],body[data-aos-easing=ease-in-out-quart] [data-aos]{transition-timing-function:cubic-bezier(.455,.03,.515,.955)}[data-aos^=fade][data-aos^=fade],[data-aos^=zoom][data-aos^=zoom]{opacity:0;transition-property:opacity,transform}[data-aos^=fade][data-aos^=fade].aos-animate{opacity:1;transform:translateZ(0)}[data-aos=fade-up]{transform:translate3d(0,100px,0)}[data-aos=fade-down]{transform:translate3d(0,-100px,0)}[data-aos=fade-right]{transform:translate3d(-100px,0,0)}[data-aos=fade-left]{transform:translate3d(100px,0,0)}[data-aos=fade-up-right]{transform:translate3d(-100px,100px,0)}[data-aos=fade-up-left]{transform:translate3d(100px,100px,0)}[data-aos=fade-down-right]{transform:translate3d(-100px,-100px,0)}[data-aos=fade-down-left]{transform:translate3d(100px,-100px,0)}[data-aos^=zoom][data-aos^=zoom].aos-animate{opacity:1;transform:translateZ(0) scale(1)}[data-aos=zoom-in]{transform:scale(.6)}[data-aos=zoom-in-up]{transform:translate3d(0,100px,0) scale(.6)}[data-aos=zoom-in-down]{transform:translate3d(0,-100px,0) scale(.6)}[data-aos=zoom-in-right]{transform:translate3d(-100px,0,0) scale(.6)}[data-aos=zoom-in-left]{transform:translate3d(100px,0,0) scale(.6)}[data-aos=zoom-out]{transform:scale(1.2)}[data-aos=zoom-out-up]{transform:translate3d(0,100px,0) scale(1.2)}[data-aos=zoom-out-down]{transform:translate3d(0,-100px,0) scale(1.2)}[data-aos=zoom-out-right]{transform:translate3d(-100px,0,0) scale(1.2)}[data-aos=zoom-out-left]{transform:translate3d(100px,0,0) scale(1.2)}[data-aos=slide-up]{transform:translate3d(0,100%,0)}[data-aos=slide-down]{transform:translate3d(0,-100%,0)}[data-aos=slide-right]{transform:translate3d(-100%,0,0)}[data-aos=slide-left]{transform:translate3d(100%,0,0)}[data-aos^=flip][data-aos^=flip]{backface-visibility:hidden;transition-property:transform}[data-aos=flip-left]{transform:perspective(2500px) rotateY(-100deg)}[data-aos=flip-left].aos-animate,[data-aos=flip-right].aos-animate{transform:perspective(2500px) rotateY(0)}[data-aos=flip-right]{transform:perspective(2500px) rotateY(100deg)}[data-aos=flip-up]{transform:perspective(2500px) rotateX(-100deg)}[data-aos=flip-down].aos-animate,[data-aos=flip-up].aos-animate{transform:perspective(2500px) rotateX(0)}[data-aos=flip-down]{transform:perspective(2500px) rotateX(100deg)}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:400;src:url(/SolidUI-Website/zh-CN/assets/fonts/devanagari-1-64d5f06ee726edd58ca33456c8ead0cb.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf6,u+1cf8-1cf9,u+200c-200d,u+20a8,u+20b9,u+25cc,u+a830-a839,u+a8e0-a8fb}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAABWoAAwAAAAAMsgAABVWAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAIIACskovF0LgmQAATYCJAOFRAQgBYNcB4ohG0MqVUaGjQOAOH53UZQHRgv+/5LAyRi/ObhWolrxUM8pbq7lDl3rRIaGgiAuOJCVt0Ps5weIZSHTXFnYxTJyOXIWsxjRm8VPdjMC+mm/iSg3cw9T5rF3h/Q/LWxyjIZGEpPne/b73z4zXzT9n7ESSNa8QhdfHSIvFBqJSqKZpCRakqU7P89v8w9YjRkgKhiElTziEYIgonDBRnsKKFurC/fnMtXpunQV6Y/SZQycc/ubVtFvikI/yMEvertSNMrBPqFgSWdKPvtBspupE/LWZcGtZwoWEC5rrkg8ofMMRdpay2TeJa8YHWGJhDoSwjwLC6QIFmRlhWn8a63cqaEmwFpae/wcl2wTaJtDl7VdeaZ2xOUQP0mfNwmmY8NGswVAXjy6/9NlttLOjIlkH0N3Kbq1i0pFn6YZf4+WRrMsZ9GAOsD1BVDWHmgV0gFXAXw9IrweuWigxjZ9m5SpY87SMtJe35YIYRTHMcIIp923/brZMZRqd9Ezy2y1rC2v8mVQNWKA8SQFwA4ECEDgnpMowRYsAZgRpoXRolls7HNLb2aBxySVnRGQdcdrFqMyjxVAdVURcHnaJMVYwVG3Dm6W54mLV/gyOA7A8QNLv6Vf5VpTmY4BPAEUpQ4CxyrOLwC9+pAFELjVEv7jJ21vjhewDyGxwU4hh5Gk4JEHRZ9JmZsF+VHRUh+ZJr4L+hISErJRPigfUdxbgPz7AwR77JrIJCYlkihTnJpN6/cKLWwX3wZ9JoN/Efr1ZxqGZpuqKLA0iXemlqfL6ifnJfnFgbo9tbNrtAC/3z7rBgKsYluxoe2+Vz9xyoHHYOsFYM8HrHWBOh8vxCSI24QQI6rBhDXpTjSwB8Pi1wrUyl8AtkntDB3K2NtYBQbrlkQoXy9Y1QtEOAiyfJ5mKX+PxurCJpjy0HECDX0HXtmaPpc42DHpBJ/NWvrGSUkZY9ss48EwMdNnWmKWABu08o62HJxsXGytNZ/xRNLKiSZgyniC5hXI61muypywJYr/3/peJqfbKq2+/DByomX03iStAO3mSS8t87tzmu0GvjdByNCT34UypDgZZLGWMJq1xqwi+jh78f0kuoISgnLK4j2S9Rmz893P0/wNs1qzlibtvVHuANOAgd4ZSkCxRv4/KUSt71kbHUQbY0DjbEkZTpEXDyqE1FxUdDNBSckevf6jOf9eSuUjZHGVSV/V5AwwEDhgWw7Mu5i2jQ4Qu2nWxTPmHwmfTYMco6lSnKccsToypoWO4GuRyB0gNLI+I5wYjlC0OpzhA3J82lr95C0QgJTNQM2235Hw65sGZJJFmDEU56hgQ5l4bWJZktJJmeZUBm9rUWCQiHOY8B2wcZovIxnwMECZInJN42n+HRqU170aIfQd5KAumv3mv9Oi5skZq+M8LyxvOO91aInVvGMK2cktUgoBLX0vwSCR/QFQCTi3vjVBnVChGSjHBoEMZFH8ZO1dKIBxQfOJvKYdi/w3BEMJAWyJB5QIE7hu0WJKpN++SR++ZjNmJ6xHoIakp8LTlOsyEv1FOWSiLWka7x8vgkJbJwhZFFvP8wL8n9aBYF6gBoTnQT2Td2QA1+0DCNM+tuFyt6+wefSy/2aGXt4KasTxeEATs+EPpj459Dmxax5SRieJoEFf03dAXQj1BJGQS1PnWUQMmg74XhgycOs7VmfUWrIcsAPGzLGU1PB5YfSei2q2Xb3mS2wr8VnSCopQG7/pe8wy5EDzaRmVZiw6j1hsktHzauaYXZTMQE2p0mAbUijnlhhNpPJRjEk8Ptxj0ZBDHix29lkTcfy1GwRZxxldLIqH9kN12nSCzcdZkZndkwq63NI4sIVEX7DhgzQSGKW3pXs5/uguW4+OlOnUO7mRRb2rlXRSdTqC+U0+C/EFz7gzRJiliTQ+55hXVvs7dMNtQ8hWY/9knD900Qt3gMw60QaKYt4EyFAzdukoAXgP6hB6pyQJsIUWXQcRxtA8rrTbjH1lWmloSVPHB2sdWnEayVj2m1SiuepO2vbpMO8Pqc6UlNyYfNaTZKYPd1s87eRW4ohiv81aqJU9sBlZM9c1Ac8aYEjuKWO4TnYzFXWuvpgou0JHPb4L06SHrv9+nb9UVjPWC+RObNZcKHcj6V56hZebKTdMQHaCNZPBXn7LOikb5f3qwX5h63pdMkRghd02M8lLSbcg0fVY+vPUbcpZKHL/vJDBBxk5AiVPNCxO3a2nkXOdNcHcj9/+b1Y8NMM48fMZ/cTPxLofxPXYPxV03V80I9HhbnbWgeB4CPL+Bl+Yxxk15imdYpyfkSXgSTo9fmVy+8Mi/4yEGLZAE5FabELWiuKM7KTEhJ6IIK7R/ojAl8aKYeBaWqa6UWuZp8tYn8juocKNTm4dnE5bbnquMbRENt3cMlkJFZP0pRVVjRWzjQ3OrpU8jpCkEWIhWAf8tZORtKL0217r696rfGhiSfo3BdpJ1N+DyoybGqmVjVcbMInQhOVMUObnTDBhQkkD52ojtWJTg7GsR4P6qmDpwHplUXd9fdGq9Qrjg8EHnY2z53RMnjO/cxJlEmwY9fdP8c/XAeLRB0eLQfvpciNHKGzhcCYoFJzxLRxh1ZSx9tVeotF8mwI0Z7FCW9ar0fZVVWn7ezVlTZsbqRWwYWAQDcIG4XuRbBCBIdFIo6ODqDGKhiDC2kX6Q+VlGuqrrqb8lspxaQvGmZiv5EwwYSJRpDGuzJfp7L+YEA6vCxgViAZfyBoSElAarmhUuG0nt+s7RUI8IxPHxJ0wVNDAyFDZlmXzOdwcUTY7cleO7ySum4KcKslJSSmsieOWTyizyasUCNMzUgSpCdQdf83lkvIpaRIOO0Fdm4TDl4HB0SbUdEwE6wYGdRq1PE+j1g2igUKe2ZwiEplTuObCAUhbMHhhoKqPsYFRCSdvlC2VbpBW9UqWSSB+4OUuG2Tzapd+S+mWUlguVcqO4/JQqewgDr+v5942yIBWjU0y84R4bUZPpZairdpRlykQtgqwjvxr6UykZLDZ+XFMlJnF1OZLNFHOM3nf02N4Uv3kMg9V+Y28lHRpSV15RUm9NF2W9KrcM39KZYV0DA9rU0G2Hb3fMq9Sg6dJE3+Ue0qnlJdLx/F47QUFWNs4bp50NJZtFuv4MSIplcErLbTO1UDr4DqTHhNDnNVizpE1zNU7Fmpe6NI54mJdgWlHbZZAaLaSK83frUuPbH0HbXg1hIbgUMz4MUZMk6iQqwS4Uq2KQxQk3aSNSYbhogk8fnuBEm+fyJVKJ3LxtoICUXsbT8qQFcTEIw6HjfKjmSxFNFOahjGQ/F0Ox74UsbOLfZavpyEKUsO1ogpaiiS0OJnLTo4/Qqa85bhek4QkZifQmDwUmYaakIUM0V4lMJeH+Ydx/9shDMolxDAFmsg0YJEpSL5cG5ucrY9PrZXkaBLktUaYfw0xwDJSNpOLp+xuXpHiLWTdxEvTL+mmXh5/GShkjzXU4nqbx4H6LYc2HYJ5Iidxq9hujq3IIIKExv+9vIa9PIfZtP89Zz0JPUWY+hV7QfNjbikXfr9728C9PQHohpHv/O8f/PDWlQ6qFRVdgzvwlrkLXy6ATRX45hkeMAuVhfEPphlnL5g8efb8zkn/HFce/3cS5Hx1rE8JEqSyiOjs/MQn5Z7StvISrDnjdJ2s9mZ9Ji9Bzwt30mieBKtJttRL9PzGLkkLN8uM67JjJXmRTLwGWUtrJf9Hyz0zikcH/fr0dB2VLRitD1v+hT2nrxx377LLw/uz/9jW7vIlUudJ0ieGs/kMtqCMXZC7FcqSztYdjnLu1uZ7KlkFXKsouzH1Wph2SFu9ujb4zN+qs8vCU6lsup/a35up0v67oNTOsFCboeOPKQV/ilY2JzbLtfKMYLEVsQ2unCCdG/Pz4EMc0OWY+XYVVOJYVMRxO0IRDeC/4phrMdtqPGWMtKa2ebP8Je8kpZj0NEYyiaHQgPeUaIOeFpfozVAhBbU+e2fO9eN4eDlrAxokCv02y5az/fww7kumUbIv/52/Gn0bCVEeG2wgUxAFMkcHZWSiQYQFc0xp2oJZG2mmSlqc5Q8Evk24++YtGkJ7br5tI7gmYCsiSaQ4rf1nbMnuNqzXUbeYYI1xKaYq36OI/g7uxdFTI1h0X3WAN7NAezPt46IN+rd5tf7eLNWg5DpqKqkPHMRxL/QdByQNaAhtSblEPGvzHnjCRh5fGi8P4MkDs1BQA5WPR3eBN3M7/i1Ifi6D8/0kKHLyppRzOuXhWiTW/lOo6WVj7sWHqS4dAqIa1yXPjZy7Z1cPJHYdrUD8NgwNkPx8d5sTq9Sk/J6ymsdmxGFJiaa0stBXPt6vQlkGnY2pGmSb2uWAu7JEJbNiCb/o1efZ6pEFp5keAmJTBX6sRtemY6L7oqNNEJhM9IjYHVhQDSYQC7pQ11zxXCzSlYblKlxK06DhVfhQMWyab6k7ialCa5/fRiRiXh7rxwCF1wcaajpUpLo6/BBp2XSds2GKYQBt0PuD1/z8PQU5rX4EUQgg85rg3/tL1fl9NbWK1fzvxxWlCyXyhdWBIbFEfkZDdVqO1Cj24tSGVG8aY85srY7PrLTg3uSkVNYkcYG4ux6TmqyFLUkka6E4R+BjLXIPPMxOIvGthQKpnbpGrrcWH0OOSFJkyOml2fb2Y6go4oJ7mwLJ3bMwWbE770cgmLKJZXYbaWkRrBo9OLQNPkLs1J9+zEjhf/VAHt8PX1hYualLiXcpZihwCF8/Q94lx7uUM5QQ0y/CMUyMp7olUpfExS6hJpKAuZXCGkrrPYShbedjYx7ExT2IiT3PEA57ew/7+o6wezLiC97zeZHuW+kPNE5urZR4ecFw2uWAL1H3WB+eALlBBme5PH15umB5Hnx4tLSx/VODtA/jJL2WXt8C3Nj/eNvdo6JSz9e93xytdA8qm+J+ala//ar48s5BnJ20yq1RnM2re/xjzJzjjm1wO6z0ofDhODROJVSVqnCV9IV5nEFTaDaOmyboFOPcjCwBV9IJcII1gE0IN898VfaW27OARd1jt9JjD7KZT40tLEU+aqqtC3rDM59h3F+/vmH/bm/ylW6LkG1rt9N5IkSmhJ1PlCH7SsUfGLQRlRBfz1LT4l4HzASVjzghdrGKfABaKexLo78r/RrX7VGfbOxXHwfkoPRNiZy/vqDvMxhU4XNRQfgnVc9UqKDne74XuyJyzFMp7bq/On1urthJV0oEdAMdiTmFarEo3dYL53DRRTlQ2qhd2RDn2H8jqJ4+rO6PrdLvCHIR1HNGDlpfQL0BDEFbUNd9Wbjm8t5zQgSr/e1sLB3dpoPTuu77yE3pZtJJHai3TQ6RekQ3IOs5rof0wLeqJI0kxNOH1avdV692Tt3vKgQhA3KfvypCy3kolFV+YY+UGRMK86x6NCoUvwlP8C5VJktlXAOCcwOdE2Ti3WdhzDMYS3Zd90URcbWiLTjKm399L/VKoiVFLy8sLD+2qSWAv24pJbilCsUPNileVouw0s7FlvY+HexaiTwUaX+rF+PUcuxsFhmufX8Xff/VTPrfDo6D6mgV+tzLrjM6aQsPy9Wv2vU6dNTbGdc01k3SedsjDqCWdTs7gNpcgxsjp+tI7xpIGxkm5eQmaecjiPzmGctbX8C4nFLt/FUIarWcXufnYjutVdPrzPzXbidWXY/xyRJ40eX18qu693Uz98Piql5bBuBicjsDt/f4KT7rr52iWZeJtJEPZCr/mq9HlW2MGkfVxiA38zy9TtxodHsS7hysj1QKf80Li9M35rQaPp+rXueZqMgZ0kaG8cnGZoqpdM/foebfn3oGR4COqNcwUAndgbk/l1b+2DViQYa799weTU87A5c31k3SzkfK6vzzpXYtyerhtUHuaoMY5Yfcw72N7SzU/j4I5x2A5zUEBLBGKBh3Va8ucUn/Y+sSrQC+rD1xFIDvXomXf/z/47S9jTkA2AQiAALw1n18+39TzZdRBwECrGa+ynvpODzdi7UCuTUeu/qFtiXQ65RuEiC37bUaHxPZCflYmGSRS++NWEoFCqs1xH0dVTh3XFtsCOBWa9GrZFtu0NeWSVU7svS0yqw9xGnPDd7xHIlDOBKecZLKO1O4+QTpqRyJkaHlMHRfUMqWe7y6l4D5D70FlKklHgoT6FQ2ELQLZEujPk7rNnlJPuD2lGWbcqFuEVe3LvqyZZej6RjSiUTA3McOvm0bxHvR2BCLmaJLOkQPEWpExKwfEKsdQY+G08APUhP0C6LfJgS9hT5Bf6FXgT5Dz2zlsZqEG8lc71/CciTZeqHbC+lJ4iZlX4u53L0DEUJdKgrUDMjyHgBvfk/RncmnmlF8dEAA8MpijmBmDQQgQhBrALeABiKALahiAQTLYgDP3NYWE8AZzspEMrDYAtJNWGwJQYoXW4E9KMPWaZIYdh5XgntatpZvZpIqjsqNKxjVauZWk9hsrQb8NjUxqhZHhk8iT5NmzWqNYhJDQa9aqwZljOLFYmCIt3cV8lkQUuKTSRPyAEZr8YOUSx7tinBM5WPb4dWNUs6zMLazIZQJd31l0MNGCtdZeEVmNker5DUBgM09MrJ8tdop26p8LK3QpFFcKlylfVytRqlkNFZczeEoRFgd7rzD8j/MKxAiCrAgmGgBBVWESDTR4jCxJEiUJFmqdBkwXHw4ERk5hQIqRTS0dOZ4CCfz/A3nWGMhFmExEjL88IsbHfgVW6jWAT0UBkcgUWgMtj/+Zo0nEElkCpVGZzD7pyQ/bA6XxxcIReLqNcSQyuQKpUqtMTI2MTUzt1DX0NTS1mlIU7p6+gaGRsYmpmbmFpZWuLWNrZ19hyBHJ+f+0JJL65USJEVD/91Xp0KlKmVqYrqx2Bwujy8QNplBLBH1OeGjUa65+IopRCx9cJD7VGR17z81SDMhjwt1GeMdQQzUFAk+zSg5jMxiUwepHb7eQEwtQ9BS4hC63qUqHUZFytpHIIjbCD3F9gGrkeZqx8WYhjYj9BS75GduTr5VNUTk9Sj1U8vVCNZgsL4bbGlmsRx6Nq0ythgMdb6eoJFQlCK4g5YUQ6E1MZ/Irf0cJT7dnTRMsv1945oMuYkR8g02dSgCZmbx8dVwpjfyTRGT5wpKK4GahkU9/9gwp1CYGKE4DcucTgn5OrjRpaC02ltPn3UeLSbCBXUYc0TJL/6Z0+QXiR0rvIVO1Mt48EzuWNp8vZLAz1jylh6a/87vlYZ9W+jtKe7Pka7eDQkDy+h11DhJkcZzRivafCHXAsJj0DeV0eOChY228Msa9hYeSxp2e/AXQ5VRo41f6fubXatOUzcZ8q0hyQoA) format("woff2");unicode-range:u+0100-024f,u+0259,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAB7MAAwAAAAAP6AAAB54AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAIFUCudM0jYLgzYAATYCJAOGaAQgBYNcB4QLG34ysyLYOAAgoXcUUbVZLPs/JHBDBr6G+hIpYlQoaayFQFiGbR8DjCviFJxE41HqT/OOXC0/Z9GQVQfAWhGOAF/O89SlbJ4fIclsS0SNUfbMPgE5dhgAVqioPNrYqNhUZCQIRaCBLIK83W+vy6VjrXTMAYfFIfS65yPR0ziMQaj0M56vY3h+bj1EaSMJC9jIVbCMv+2vgv0FSxg1alhIGl2gBxecx4xqvCi9NvP2XXsT27xJRGharfanif3dB1IbH7D/n1vvG1gi90J+0acoU3UyzKzznZ8Q8S/KSQdFE/HKrFSrbCW+EZMGJ/JOrWFOCzJcLDcqMIye7xUDVgJSUf//a37amcAiFDGyIExnC3pkybH+6s19gXl5eXMmRB9Ln2eT0vLklZIpALkqpMkyJiUkt25tgVyFkF8WZYV0VRkTScF3O1cffLfDNqsTWFV2rwUPIfjECpG7lz5AAVbIGyfmmutgE0hgB8wJNaQ30lgYP+3xQCMZjDoEDzyVUi580bg7SwwCfbU2wM1JQR5DDgSJxZ7llnqObrxHpgXHgAOb7RkL2/gXhVu/D4DXAHqoBwD7DAQKDGCTWIoEB7JEnap7PP3Aas/+DynGHuqZ3u8P+0ZRlopUoQZt6CZzX2tbJVpJTFb5OJJs6W/YeiSlKS9d/6ya+d/8fZ6YS2ftgn326bdP//3yrm98rcc+6yxV+PO3P/P9e2I8D/za2srbgL+A1V8AG18HMDYA+dea0d4dnI0DUjAxhECe4VuLDc7VmwqwYTiuFzfuViWi6aNC0Z4wRhGs1DQggom7F3EXA3Uj7WxnxPmMGXjAq72EYaM9d+AG6ziGD0E2Ej5mwCsAOBXGWG1AYIJtCLwQDEeD1BqU5mmQH15SfTnMYUKO6QE/4F8j1ltms2QsVoSSz4WUYkelXQ/7kGlFRAxAW5s6qQqGsbVQl+8GCZsOFLXw0ul+mnssHngMiMV+wiHwzdVDGrfpDWLDkN8ewxN6ZRvyKaQ6K04Nqc6B6o8yc2SW7XOOuk1FcKA/XlsYa6voyRGelb8acI8ZbnoE+I9bLYFYSdUlo6Miyo+OYJqnPAsyYlzDkHe2VlOgYQcrDqbWBQEPfr7lShm/dUdxu7Up8/IxDbSiNG8zdthTYufBq+u76tI1uHc3vs7tLencpdyDGVdkPq4cQvLkEMhSXsY0J+4dQu0yRz7TZW7mccfhw18fQHPvvAbszInsG2aKiyHGmqz3Yvm3u8vmFpjxaPQezfuYJlpv3PN2ELEgVO3vPWKl2Ow/IpRJqDdPE8JqY3cYGuq1ECiB1yW0RVSa66GOdCXTLnh+xxeZ2xOqquVBgJFiAV77CqaFeYl2Q3S3BeKrdnAR3ZBPYM8o7ibQuBGK9xO3wKqYDmUkxZX+YNiXA09cBmjYPgA3eC8JPjEQxkjfWNFnGY2x+ej0ZGhv9VXwYAX9XZ1h53rzljTYf774b0vaBdtfcXWQxtyLpkaMb6v1GUsdrpV5ajkXRww17Pu1Ak3yTzYCGLr8Iara73lF7Cb+vtFNzajk4iaA8ltEQiOf66wxQAem4oXOWNTna0SswZSLr69zS/jeLLVejEOPPrPCBwhciHFchPFxIsHeTycPj9TzLzASCiQQ3wskAX5KdXKVa1sfQ/sqkMZ64u7bhwtw/U8GOoEbFSSWFLQnxd1WqtNBLxi8rBazf8BSfI/jBekq6kcBa1EXlt6oSzrtaXe+aXn1zDSw+t2F0YBoSCOqvK6Ty82lpKxNRobfRmluFw/KDLgqURpESW0OWpuaXaHkb7VmE8MOcR+a/dhsTsOYCArwsIQcjWl06SjVvNzhISxlLRqvol7V9Uvp5h+XUC6iUmapwuGiAxeC1khAQZdBxgFmUTC3Z4yjPVCczdRKlpb1KicmRnbBwTOOKbXkmmPFA5OJDMkKWz+t9i6mbI/as3b5+7k73N1wNPu9xjdrpg+sMm01qiKDGA5cKAYnIcm+Qfh+uhwzPoM6yGjV7B60MOvA1XEKSqIe0eUd09HDQqAknanN3NpKivMX9BiYBbda9g9oXcV/PqUdinIHcm/0xF16f7v01DQjzirvp4PZFBDVvuQsuKo43h6x4onbhb8L/aorsWA7vreavOxZrXrFsTJEMSfmbtxnkGGNSLjUx4n7KqyizvGq3pG6UbpMYLQKzia0LJaGR1CpXzjijsrdmFQNi3l3ZYBXuX+Llw+XK27BoJFUN5uJGbP5AMzwbSAAsF0Rv6p1ZltdaUBWVzRXCpFiUgwe6Baj927ntwXVUyMpM/vud4ksUyM6kqSZVDs0S3iuldjWchysX2vbV4o/Pz8amoTijmvhaPWLd9VIgu1A/oldyDH0JWVzJzxjd0w6fMbXH0zOZ8+5usPgm5jaIvuHGYtiiiYCEnuoL1AdNtUB41RrTZ7Prwsb3D4W0uh3f+8i9Y0bosq9ebt7S1nLbRmg04XpC671CTyK/OjbeAPmgF2YeccypeMa1gKZ9E8jw7TT55F7FR2oTczlzcGotU+MVuoqoXw1TPk9a1bQ3tfBEjN7MCtjyfklpqmKJbbc34qhy8Q7eToWpjQGEGGJrZnakycxfRbZY43YyZIvHGjmrkwH3GX9ieY2bjaGtjSmpnJoafqeSCs7vP/AmRVQ5uYueAgyd/6U8/Ce98r/4CsiEQrURcQ8yxIrH6kYK037PryUXX1DSGoin9hSaDQjFAbj+CSei/XKrsvfazl9OA8ULAsnF+SYtWHLOyPlaySB9McWn9vqi5Rydc4BO8Wx7X4x481Yc106vl4c+4xeZM3i0C7U4fBplHqWdJI9w+dIizb5C8c3+c+W/s1fAWyvmjjcoH8R8PSKF/buAQYf8Vni2k1zcVt5+eRRTQvCvnyhGrvdSHxMpO0f+ipWFcWyWH3YgmF3OGGrEXByld91/lvL+Y5FK7ufR6crNdA/dFvx3trsWXx1L772EFa64hj34WLmJ78Qxmfiq3ku6j9tjemYFnMBbJS2VsycEIoo1+qL53Lh/wMrVnnuOnTikosR+44dGJUxlM41kdlU4FBuwQ31zIAn1EjHa7nrvNj5pOtpV0HbfVdql/aCfyuO6xX04YiLwnDUwrSZlLWD5ZDYebCxYV9c+xxqTqCguAXT+t+Kts5OICnYBGqxYfM2RfN3UMFKB0aj7MClv7cY2Vv0Qy834/a5ps7PZzGMEF78qaPzfxjAib6kF/C4RcYRSkaGno7qZohKB/HLxyWd4Sef+fFgBxou5nwzT7e+8KwV9AakNuq6Xfl63b7m+boXN6rX5w0wZBHB4mAKYvV0vT2+1g/UHmZV6nvRMD2KqRLoa0LOQUa60RRX6opXeUSMPS+FwwzZDJUwMmp5zZ/Ue5QfD3CEeFJv+D9QUK/XCQR6nUSaGKTyuSui9n1+07HVeHw4O7sGh2/O/u9whaDLSnT6BoZqRzMe1zw4mt9WwG9H0PVkBVRN4bgFCkO1buKro7lYrMyYV0TXFuQpxyMJn3PzU1AT4suuXhsrrvXqFw4u2bBhvtBSUHHpcguxnG1SS0D8N+OSz/BTzoA7SHnWnn01hWUl7sRwWU3u5vXl6cFQohsQoomCHn39Zh/FkI1yKK/v2/PtN+Z2gvaNKME85nxGjmiydegq1ZBVk2254nnMeUVo0TTb0NXwsNXAJLt9z3zvlvpWv7n/NuiaHk7hQilAO0gac88Y2T0cbbMPH2UD3HHhYwvms8e+nvDx+Qt22LPBMmayTCGWINnAah8zRZeIgfBHzw5yWoyHbjpawVfdi9u9i6RCnlImUZoGyGyx4ZYpgdLJtX6jd8P0Ro/GBv8qBKLJLaVBiZdINtJ4suIFgwRDVU6YSbGXUhTls6vjA7YKo0omgyCWyicMpMJpCHCyeDQJX8BT8QPFIG+L1PWw6ge/1r/VvjX2YkrTYJDU4X4QLs6nGksl2EouRKutFhpCbRWDi4vPGfkCrdal0WhNGpqGPNay5htwYGV9sXUO2OArZ4lKp7bUSqgV5Xy4tB7BbZ0UBt5wKFFn+nqFKhsvo8BWl0FmsCg1WpsavJ8/er4jvb1dcx/MXcg2cug0SzkZhrFUdAudxbWYbkAusZBf0kCF4Toq7IRiufv6kLtaoUyKufMYBrFIbJAwfj7hlEgFdvX6yixWC8SITAUOzYG4PKOmLWYt7CFzxGV0dkhVMa29bkHNt73N2O3lZmewtireZLq61GyQq4wILDNYIYXeqgGS2U8fPn1Q/+zBs4eg8n91VMffGbLAaciS+u474Tk+JewKtfnDA1za2I3jfWG2kSOXcnkyEcvCodm9JKHtrOj7sJ7W7UbrKp+WssRbLCLrWf+4SDTY4tCqeG1hjdydKf9CS8rMHsah5bNU4+sYHRsWL550pK7i7BTQsXnRIpc867ANXVGxTWdb5V/Y9tcfM5dIBCoqxk6nMgRUIsTIc5BpTgr4ax2xaF3Jh97Q+94S/YPp7ulucLXkV7SikEYzBYmygdH3ch+epCXzRDpPDHqtQMqm0bhZtPpB9lQ7k6UViTe93goKTyDbNiGeus6qXH/VlUoxrKgXC5tMRiD5V6SAK0VXqnJ9nZV1nk12ZGsQrO7bZbJtrKiwbdhlqOuP9s+qWriorX3R0lnN6Gawu/rvz6rPT8epJh2YpAJ3+pSEf18rX7OQKHA8vlQlUigaRKImg0E0rUGkCHZMSSodo5wkizcji1YaHJ7NdsfWYNCxbbPdE+6qyvWBQF8U4fg4SBQh+8hgd18UiYK9fbGWUNBqC5UhyAAChTKOEAvOTuDykCginiiqZzt4CNiteKnURhFAGtDbiwx8GCv4Y+AgpNf7P3uy1SJVhRjkAFJVUIiAvLjNdse24VQvbYBsLS1FNDcvpGkQi6YbTaKmerFSCQTdZLSR/z2sABNWNtZNnYVCor82Tq2172iWC7ltK2aBWWBax7x5OJqns0n91s0wrqc7tJDVWsHz7QoO7RxXPR6J/qqtpNEQNmSoMgzvRrUGZikVEJcHiVWzwIO4SiLXkuARyEQSoVJAyf9KmN4sGW5AsWAhk2ktI0i8TZ54nV+u4HCZchYtt+evxZIRRjQbFlFoxaEiCLzrUx4JI+GjSrCzL+q0F+t1bOeMIn1WaWMjU6lUNpJGax9Y0BfXFzIpz32beToBe1n0fF9wK3E30Q9ORD2rNbs1wc3wGhiEkNtI6a6hm4YGbiG3HcHdwzYPCwJq329fxSPxv38V2Fui6gVrNSbtMUifpdEegMDI5btU7vNuuLcEHOwcucJmp3aQFe2FA0+7qhe073H9k2z+N9n97XrQlGMaZQIPl0hu1WpBYam4uVGqgELcTX4H2hHsKefJFRG5uM14lUNCTEQKxUiQdh6f5DA+yEZUJw+cfFzBlSojUnGzyShua5Qr5OXcngDyAMmtr/ieIlDIX5rJDi6PFY0jyh+i5slSTaDdM8riva5jcjTucq/PXaHhaIt+9442dvh9mlxe3GKZTFWloIp1NdvxwFG6JaR2R+OrSZCC3T9Q57dDbA39k3e0psPr1UyVSlvNZnHLVIlOM0ksaFQ5ZTilJpcoLbHGqe0Ac6++H+mXq+R5DpcpBHOG0PPqQQRbjsGqE1X8hkahtnJxIMVq/9XJEalcTnN9T4g/CmrC6xxd/H4s63gdzkdlhGCxnW7QW+SQqdhCQB4gQzpdODbwNO1eE2BsaAQNfE0v/+uyYF8oFGI5TZ2b+wi9FgEtd549/5/dNzeet8QMGzAC7P6dJnsAyAPwPiqT+63qLFK50W7B369lBI1ou+y4ImmIuz4U4gvBQdy0yXVjQdml0nQ6cAzwOKFJKms1m6DW6RKNhmuAWsxmZWuLVEPUmnFURCSiIEYsiWzAkp4NxERE3wpOPCqXhkn0qsy+U4+EkHwkUF8JIFBV/ukLsdDvyHeENlbwISgCfcPRdzaKwJW2dlchgkaKwdUEXyETznIxJBQG9TAK/Vw07CqcSRfQCklSJJ+NhJFYLVL4O420NntstuS/HsUEdQyOJLfns8HBe+L8YYVitQFWSXViuUo+D5m3WAXIKDSiX+vAMwQBKisEC+00vd4iVxiLLTiQZuy86rmDKt9tvIBch+5CuTq+Nv8bdO1FOadfnH3ROePStEugou1i00X3l0O/HFnadmHaBXfPkC9HATRq1PZcV0X8D+MDew92HgRLlINVEVXiogRlrRKUrQmMsOQmIokeLKRTSVjagjxD/vh405BEN5ZGlVUMqKDKadhE95B40/h8Q16BliXRqSBsoicRybUERoAjIWQmAj7z2B3y3Sq7r3LAm1s/dtvW5kfDM0RcSdrSSEbt8eafRmYYuGLQTVFJmqGedRVcgJNeeEGzFqZvMScoajyWOBfdVZEwaUFFBTcnOOgOD0VexgmQ+aiqiAu7SiwWlxsGmQr4yItN+WZ+RketADnxU66A7vJSBMGqSGyxKUMk57MgsSzr/t0Tgu6ODLcMBoc5n7rmHnzE4uzrWtv1I4f38eLaS/vY7EOXTJ3J/DmRI0VFPZjCRQzGdAxY1TxXtC9me9458bmNyMbDLu+bvTGiuTuYwS739vwEQZx4LDIVsSch0xAQlS8mYIhyRwHP0WCJUSOc3Ux6Fyb9lDjzZSDLa5QxZBbRiPxF9RvyHfXWAZg9Iw4UZGyZ9dKf6atVahaP+lCrF0rFGhGRrOdLJBohEdCqHo0Z83jM6Me0waPRC35Uf2rhaDMGPDu60W7ZUlrKSPRAEMSqRevcg468uRrFQpdTsWiu1umYoyXd6bLt5mgcXIO3iFkmk2lbL4OjqtKNFJvGG5ArZdbqUBMH+/6saYSsSg2DTClGr8ISCCL0YC7kgjgf+7njiTAeY6ApmXwxgcgXMZmwIRL4QiZYMMndXY8o9naPQFzdQfv30gBnzy1kwX0IMI4jVIqDxaI4JcxiT6JTcBjZ8hobolBwClJYCODpLN7faiky/ELQDtdR75Zkd0xsTCtI/jc5+Z/kAlBzSlIiAWPtXrdG43FraTitDkPRlJToUhksAQ6rloLJXoTDHWWBtsn7b6o/qW/vv61SXeYu3deCzHXsGGqlNSlz/NjLqWldeYoJYjabKeHjcw/EaorAxEUQncVQsTETUr8bEFVOKICLuByoiAyxEseOS05Lw4zDEAvGp6elfhyX8adYCh4euVUrudUEilBoxL/SRefmi8YLWPZ8O9ZqQuRyQ7GFAOL0Veoq/YTkyKSw3T65tuE9+I4hpRAJ4iJ6PduT9Xta6u9Z5ClcIUibzWgugfJBppSgN2GpNCOWDHQa0WDCYaABt6J5TIEQT+AJ2SyugIAXCplgRa63u3i182O6PfcxkMPj3n1BikQtkejuBqIUkn5XuPGZ5xEx0l3dHQbFs+m1d/624sqotSp6sWU99kDMHISWGVFzR3RVA2FAF+GMPozjOVdbz/ra9wpgap98lH18lQFF1idb1vnmRXughsXLf1sGbkDh6u1GIasq/PG0Let451bZBy1zGDd4gwHvGUFngFtXbT/JarJS+2fWLVzW3r5w6azmf46Zjv3bDH5ZuWlVDzYt69ev2wD1ICbfuAks1HXjmqAQcub8mtyTPLGyJLQZP00eEPqykwfP0eXVi8UMTwDYEVNOg8KnXu8wAyYM9DELliEHkKWzrj5wO9sgCZcHSVWz4mYB9sLGhgapF0dWYYkE0bJdTcPG/CwYDaUKYTbktxVbq9xxRkdmJ5mQnoc+6NFlSNh4lFEwIXkcTkLmLF6Si5CA8FkK46ScptHmYQVG+o/e0ZoWr1tcwz1Vrg3dqOBJPYnaJc2TpLC4jDEwAAdkVfPgBgm/EXIK8LAunwSVIXGalj5yhtY8J5kBtWLf6YaMVDd4rXFkEdw5FZK4EMSaqjV7Xr+bwPj+WEi+pFmh1zbJJO1mo7R5ihSexEUmuiRwG4bsnPi51VlnbsdQnBMRrYlAdgqFJKcRTyYb8ES7UERw6YlkQI1XqGv/WKf+rP6DmTsyGH7zZbaH5VPMzKOgbxTKNa+yvexwY6YBBaNHeMOJTkS9lfkYqTCc+co+FJFCj+sAx/8sl0CBxucJCsk6m5C/EGq98xDZjfKplvpB+yf5p5djocbFufI5aptrgx3ZFixFtsoinLa5qlzZ/Eb5WEdQNO2XhRHTDAat4Wen2QLB9RRGb6ze7VBwwsmP41M2yJ5MnCpTaaaFS7UpJ0uHfI5IYU2jWBhRbn5gxlOcIhHZYcKRSAYmjulpcOjxpDoUTqPJJ8pLkIF6O1jfOc8EzTPMNUDgwepzeFw/gdCPw58jKh6npj5OT38yLc2TdJC6VJo/ch+m3z54eARN1ZtfG1wa966glkAODRSvUA9RA/LSleof1WD67aD7NyGw9wWGDQWAWceEBWcM/lYc/eG3eBCjLvTzScHaGzIZhfq2oVxGpZRYDvO2ZgBvoyuiyP5uBMNUlcJLlTm+zsraxm/asio9AmNBRnqekV8yGiqpnsXR1nZW5fgrL1cIYVOTOUP1H/9jXvp4+gfBv+MUTQY9SDv6nGHOh0Ce5WBRiRh8rvxMqRgQKypxViaFk8D9FerF6lMIqMvvwAHDAUtvWvKWPFZmnZYvDBDaDlS4PB2b3Z+c6F7tsqUpKcvFfrnlC7nx7eize858uTZVynLhG214nVi5nq+lLJf582gzf2KkSTkPOckX1IkHKcvFU7nlr9HGk0oGJlKGlFHJQIFxqJxbRAkZaLoCpKQsF9/JLT1yY//os34nJNe+lrJcrB9trBVPXKH0/5e7YBn5YZD5nukn49zEDFg0HRIfSVkudsotG0cbO5gNhEMBkDJwCABmEQFzULGVBE9QeGFk/XUdNNzBZGAmCcWXYvQwLy8Bz4Vxusj/33zzkJJ5CbAC5XxWws73djVb6qx1qqiyb4uQVJ1ZLgvoK2Nz4m5zF7vLGnaCGsh7Y7O7zVgmHvgWfgjPp1AX5wbOV2LAiI/9/CiGme/6J3iJqy0AI8uoRBsH3G0InSOBnmW9hje1jiFkaJ+6z7G7xEliQpoAGdqn7O7UtSHgXQLKeUEBALvA8yLMY3QytG/cVxvyE2i+LWUMGdqnxrtSFhaao72g2IWZueNYo7J7zjpeI9q0ZOvoFgMsypIrnzV/G63l/JcQO34E+PLN5QDwzRb636dHn04lxS86rpkMNSMEv1uqL3+UGfCuGnKlz7mv8xLiWflW7wm2oKEGJKvVOH2jsL/LsRkqZ1SqRzYrf+B2L6sz83PzsNyAzQ9obcCLQG75KFUjNSJ/Sis6Da+cbFmdhNNGCrdhkyBVDFNvCnQsV1PUxytQt8lqgHoM1O1J6sa4zVvqkaTbXmqvscUIBbWG82WMOG1yVMiIHBFDHCWU1FUVZsfL7naq7jBmXJPaKrhCRsYmxGe3mV2mA9WrG5HTH4USI/KNYDirrpsgCJVtUUg90tahi3nezoeNhbR6URxo6xtmAZoBidTRJMNUymgrqCQp44yU/GBwT0u1DxXkilBQ/KpH0nh13OfbtYSthG06fo3S65e7fPiwpI40pJyQlctwnacAnoN8Qk2H4VlnXLvZojQhsFRvDO9M6ppMdAshwwx3Snp6WedPbqvcbofuaajGG2B+nG9tY4YUOThjArCJ1+IHzqc9r3pbogy40NIOpUJRcjATAJBXaztxMDvOaMAiBY4sKoE/dGMzjAz4JLuUZqkIEgjkAPKCBMtx6XgwixgwvpeZIsO9MDQPomp3gkcE7HtpvMNMB+bnNElDz8C4qm1grBQ2aXCYPzmPJY6T0sdgmeaBz4sXQAzwtZVSsDgKKooDHgcMCCxzL5ZatBx4wy2yrRIkIrq/trXZadrWrsi1rYPXHXHG3HQSHNuBpzVsnjXqsRAUafepE/JIwzMSr55UEglHSGluQi0ZmE642bJGSHU7jkFgJJFPxFM3jAqPiIg6rswvgoKJjBZbJkCtmeNFeDHueYxUnKJTlkBLF4d0loz4ls5k8qwDg0Ga1BEpj1MfdVooIrRs0VBnnY9TtlToIR3hHYt9wqoQ8iT4TBhRza/OFHCGaSswwPN+zneQTf01kGaw/WXSf3LcPLx8/AKCQsKGG2GkUUYbI1WadBnGGme8CSbKlCUbClqOXHnyFSiEgYWDR0BEQkZBRUNXhIGJhY2Di4dPQEhETEJKRg6ioKQCU9PQ0tEzMDIxs7CyKWaHcHBycSvhyUCfZpjpsFX+Mssi823UaUcGeXNfh+Wee2Fh4rw46SfPbNLllZde2+YL553VzctnCb+LAs654KpLLrvib0E3XXNdj1JPLXXHLbeV+dcjc5ULqVClUrUtwmrVqFMvokGjSf4x2VRTTDNdkz5btWjWqs1/Hjvgri99lXgXP+r3tW/s951Ten3rtNn2OuKoQ0nw4UkSF912LwwPEN8VH3kmRCReEROXZPA1rZV8LR74/5ThpJVMHs8BAAAA) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:500;src:url(/SolidUI-Website/zh-CN/assets/fonts/devanagari-2-f43b6ebf46ee6fba05559f09fd680c90.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf6,u+1cf8-1cf9,u+200c-200d,u+20a8,u+20b9,u+25cc,u+a830-a839,u+a8e0-a8fb}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAABVMAAwAAAAAMrwAABT4AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAIIACskwvFYLgmQAATYCJAOFRAQgBYNIB4ohGygqRUaFjQNAQL1Egv9PCdqIIVo7JL8miseJSwp2RuaJds5YaL1igKG48JJEY6o1vwTNiKtfuvAn9CDoNi4jBAB16V6haeJyKP/VsqvcTs+lR9O8n059vhbcuD/3jZBklofn9wd17n1/oDTTxCg3ysnYJLVhW0R1wHX9fuC32SNkUjYYxVlBKbTCp1RQQUpBQMUK9COuMZZu14sOzItOF9FHOFsz2RaZSbhD1bfiuPfgLX2x4CJJihcxH7y59d4XjznxDDI/l3j2m+9EmMjIVZA+frCMovGvwbbQHZq6JAjJQ/dh9rLM7b4BK2uWHvPzdf0hqrPJnDrnxCAz9sLIJwPaGn+jP+w0K430Pnx2qYSGtL/m+rLd091LlGU0bv4K1cKvMflv0j+T6WQw+USQWcjM7t1lDkmhRiB3rBjKg0Yh9PmT95BNygrKyd/HWloZyHUSoogII0wRlRyv7T57PEUBtJUgAWb8xHIzBMMDahW0tuXJg+sZs54DXIjaUMM5AUZ33pTauCsI5IX0AtPkXrESN7SssKUzXgtv0JT5Gj28A6BnRyzux07o1njS2wPgJiD7K+NAD3gggQJ0goOBpXhX5XC9Z5UOdMCIWZh4TEU2CrA0qqI2msMfr8XE+J45FVu3JcGdpEcMGrhGE9F0HBkCmD8QwLTFJGEW8lGE5WEOV7R9LP2W2bYNBbeTHrLxfwjVe/X/mlMVSeA7lqFhL7DPn3o++Bz/pbcDt0/deiXhAF/cTmwBBLHWtJGjgfs/c6wFLoHWPwDtWwE0V0C+TS/QZGEvGcaLVYqK6ZVZsRpCx8HVM1BmVgbcpepYUAs7bnqaA8GmXSBMene6Uz8s82Dk9GZCJ/2SVjMx6OHvp1XgiQZ3utVQYl5hCpfEREqKg0AKS85vNT9NlEYk4SOTXYtkJGO06bmi5mXmg0kUCh4fJkKpuanDsqGpySobllPyazJFIzOSdY7mIFNvAgVPJZDx8geVEkIhkWkcSiRTycW13JKPKlTaZFxpLk8LJkepMakJhDCVQolz4ClJ2ekgKp7S2V6CLq/H3V1In1u+NaWP/KSQkw3Lgk5sXMLYRaLnO05UPmJdAN006X/bzXPOsHEOYztPVjlqX8RYPP7Yrbho7ln6/zT0BQYyaQyBfoAN5KZPCdGIn8urooaoYhJQV1VShEPk9nuvWZmz0VaP1aBblh2vuCi28Wkccv7zk5NvxDFmEykcAQYCDVSnBkNhgEdFDcw2hH89Ig5yevihGk6iPlmce/fR2/WEEzWC/TSLUqNC1OsjfT3YiNNhWM+X8ZwLt9fsPdnE1qOA7IHnQd9zorHV+vVFgRzkJIwoOsYOFKzo4rrET0EKB2WYQ5Hz7UW9QOhnX8CjgYo9Q6mPgBsjVFwaebdxtXnOXTtoM15XeAGVqkQ9ETzHW0u11AX9TroXmqTyPe1AT2vIU+EsBNksh0AmpKRWIRHTiABNCVj3wP7HNM4JjkGz/DFaIIcqT7Y4aUFsW3eDvmLHcAvk90SDdwQTCfFb4vdSwhc4t0ZTKBDeYp4boI+e2IuxfWzsAX03GarJfUHFiERPdAAVoyovuzToJrx51ikIWeRaaN3GXy11ThzMvNE8bx0g3E1qhwsZ9pEbsI9NmvlU87wqbN5VsT3ugV/cbPFyOs8K9vu9dfT462kX2tlsq2JgBItP7C3QCQ1EQr6XOF+U6osugF0QMvCjffQ2pgFtyamBSpZAow+o+vWmLHQvapgdR107ww5wYo55RD9PaKzyv/dTjDH8D66PTis3Y1Ys253soGoYZ+SC97rPui5kdGkS9RiYQ5Se3M23IJatPX3khvsn83BQaCVEflZrvoOljM+haHWJpQvv7dsJdqD3GsL8RgYtH0ZXUIVEj2DFAxICUiExbfbyfGo5/YT0hLDnJtFMFnWL6XVnjtDp/e710jQbgdG8mAg7tAwtPVqw/J3mXVO2cpTdk/8w2hHm0QvUgBy3a1ScRZHTvYAUfQWHVJcFns7pj1xGlVfWsexm4eh4bqaEZtmc2bbUpBmhug5MQCuzFW0GEYM0lTNpOaocxeN8I+4ZOaOe7s6ViyUFS0wPDxurckaskbd29MmHidfKv4M2j2ZYeVrwRPJ8PmQNxOg8wOBd0KlLPwNaRIrNV+IF1QVQVMe7oK90o8vz9EF/mazvYWMfcjGWCZ1IDG0xnFzJ2idQvQoTl1ztksJTlkRoJM8/T/8vLbJ06b1kNoqX4dLFQ92h7FokutwsPUN1s9LmRoke2MbgARnZEk0ZKFsRCg54TDySou7XmPhuF/Wu6r5rVB54/nEuq5h47dkkV976zwbsHWZPdViAsfJIdk0cGrhp6OHznWJvvx95JhA+Q/wpl/PW+/RLbbyLz+KXNWQV1/tqg8wDWc58dttL8SzDr9PN43QFzAKdO0/p6HXhqnxZ+UymkAG/Zk/3GeeRFNJKT4pNJrhRrYe3HZr6tDQ3d3iaRz2tlGy/1IiE6BATw9QP18YU5Lwy+2Fg8afAnKrLvYo+BaS9F96x09/gOdyV0Ti6N8KTqTuLpN6KCqm3s1gtq+PtHS3SeLjT495hd+1ogc1Plkr71o4O+6a9HTz/B+6OtA0vSpk7vGxU37M+mFr6xU3nzR9DnENjegiQF7sihVab+3Q6KervXO30tlJqgmoHbSSDY9nqdrW2PS04XgKYerJtSACmll1xOAMoLN1rJcxCx1BrEAGFDMJvd+00Cru14XzDHOfOvm6Vu7NY2u95YZG6F7i/D5x+OnM1nXIs+JdRVfZURR5K9vf65XIZn/8U8cOlVB62zCadJ71UvSYizE9d+XFIGW5Ok1QgUomtk1XSPNREqPanIzw+59uy+doCRaoIa7q0UsETOruEWiA/cY7bUfuEEyaf7Gpr1Gt1Rr1+Eh23lPnmi3S6eaISn2UcihSBL7fGJmgzqb/BB9tGvsbbxBt6vYK6dqjYem7nN/Tp+YnftpvhOmBsrbLxMxvyWOFeFTi/QP7R1QBpbarBAU0pUs/9sJ0302v8qLFAXuIrVY2Y3uOXMely8/J0OUyjSMS0lOeF6lTKNItMP7RDc9X6phEXvXr+RSSfqzG6bTZjo6Yx2To/2rTI7dbP1aiGLKBE4R58/Wq93JFePj9GN1LfoF+g0QxZLKqhBeqqyrlK5TzDQGrI0SESk3YQ2sq6uWcMXna5bGCO0ty7qo1o6/vMXChRm00Gx0fuQlnpgIfShPx4vfWfn6/C1Df30BnYMaCFJ2rXqfsKtWWVcrm2UluIZqKyE9Z0DlxJs1BTMmQxlw0PqvX6QbV/P5rNuuGRJvpcd3k2yySV5ht12Xl52uxco9Rmr1fDj2AsIxpIVKqU5hQ0EzXAt2lamBJD+EDKV2XKqRKTj9z6piJZiPDzCkrrs2Uu1IWrQtNqmfm3EujPvvni7VaMQTyroMyVLYeijEwU2WHN4CCIxCtVfQXXUgDc25kHM+b0rFXP1ZxDGf3oRP/EbM9Y3xiIM2ipOQMe8i+Jv23cNX8RHFv+2Ol3Pu564gZBXmdKbOzau0r1UsLsc5YeC5zfeb2f+Y+5UBb+/kbNjd+ptsFXca1eWeAPfOHzzx75Ngb7nywZeWjPWzaT3rq9InsmpW54NGXu8PKRfV+e7H3yq8GAxAjVAi6OUpOSLtBkf/dzjM5f75C2c4OH2xTTxJUmCPLjiermlFgr6yq31GUV6XwqZF6FLx7kfr2q2KEnym/MpCq7KIX3CCPnape5cvmVhQKFlpU/UkzGBr/cmpH2S/ap3pISU2ufTW3iIoM2w5TNounx2fmfSzH4r7WM38Y8T94ZryngBi2Q79Cfq0os6ONyhDReQytlbaadY80MSaVxzNTuZ2iYUWE0e82SLB6G2JlABooP3x0bCoUUNuG9y9Tpl11dLQ+brxHNY35lsCxyslsr8OnG00GfH3/bE63Zxa8KubHzE2m8+laIGmUu7OWyhbTChlZN2ugs2nf2Exxo5u5BA9iHYTc3D9yQnHyOJG0qkjh/hSsaKDQ08/7DVL9MNBPqplCqCNAAWkR1r+XXypd/X9bf+yui8eohLeJZxMbPn11DZ9CjH7/a+of8oC+SoyOKfvGsVbHPRft6q80Xp5y1qJwA0cT5p8CBvq8rrMheEBvEqwXtVnSb80Q87oq1d1HMmWTfG3ZyYbUzrTzGet6tyBtdm1h967fhBUHXo1kIvQahNaPF4cyH0cmodxwE+13K/JHOKByHdPnzqOi7dsvUsWVRQWxU6Dqn+YPxLf7qTV7NtNrEP1eoUcLnckvEgsWl3Qlv02hvJwgGnLN87abn2RWAc966mipCdssXrx4DsbUBqyikpwFPufY+8X6afcJ5zjluh0RWrd/NilMRDuJERr2jS0NLOcmfFWxSZw/r5cCyPyStrY8b6w8P5Q2txy4u6iuqSqqaflLQtnW8d/dQTQQGTcNLE2+yh3uGO8fRJ/PJIWs0e4+AU+Yb0EwMsHltcGnfNJ95e1ubcYd/1RvdayqMq1vTZDFBF0VtqgbJwOK05n39Pmudt5lg2YOV/S0OgMXvt+U3BztaBERYZdZU0Ik3LGYlk0/MrbBirX7d1i45lO8dfql9pByaZ10u3zW29HeZqsjIuKl5zlb4+kTsRbJO1vHge19OHQbLvjZkTX6z6CX7paN2kDMLDoP1z4912V41qjobZG6X1VylXwTwtxt0Go2+XEZD0kwslilNQX96docL0+tJ2KxtDoc7h8V+bNwHk7SoyWj6VBRtig7hGyZKR05KLjWnhjelyeeGu/+RM0cWBTdfG5i8WtWBRuSAVrsNA/qXR4jkP9FRXQzbhG6hW7cC/6q7a+MHzT0xFybnr6LVlvUpldf6y/DpXYUNu9IsW1MN8NAPEEov9x7YCzPZO3xc+3E32m2rtRltNpvqZX4Sj+PsFlsX1rzS3xZAASBYkBpgszdSHI2F7006vE0rdorM2kIMgpfE8ITDfKIBH+d5uaHIKhbc9zN4A9apsog4iRrHIiXSv2RE0sJifWtwPt7h4wYv3Ypstki2yX8sznuK8YlaSkIjZKVrXJrQ+vqDPYcX73PwPud6j+NvlSiWFKVCcLH4pXgfo8pLHCdgseprAF6+UeQsCVEAH+PErlTgJ8Iquwjg2wb48VwZZ0ioQpjCSV0K9gHwsmuuFjsQZioP5YSVrKxagaizSt6sTUV7lixcDtuVEVxphzEDi6r1gPOA9TxgMW/jvO3hy398+YofXytjkkRuueGGteQl5YaDRqkcMjdTgLOCsqG1WSVpSiXDOpyKsmi7wldtc8Eo6FuKL9/iV43swDyauSaOmoSzUfHHP8h30cPkjQq6OyDMtaAEC7bjtNmr1NSLgZPTHQuYp9ul7PC7mTJdIgclO97Z/Rn7/9syWQq+fvp2fPrivPDPIdC/ybxXOkuvewbyGzX7x7jv2648VbawFeVFAv1loTLDJl3XYzqQTxdDWix9LbcxJ95zgxoJxv5h99lwNsMM+ZhFbpk5/9/EBZwOV2lu/bd8kGiR1yg/1i+XjxENa5Rv6vXlncWyG1DuKwXewg13d32vlDXSAb/grvC5eQagYlxJYNQI4YmfWZ/YWUbd05u/AvuHvaCTU4Vibo61uzDW0rFz4zQWb84nzijdEA9KYWCrSgRkPofbGy3aN9W7tNDUh1lH+RFYA/uGLWP36acLhZCtvvc4iKx/+aGMR6AMUB4LBTmzrIRN//+H1LwuHy6If8sapXzFayUXo8MX5j1mjP6CAsqicix9iSbbc5o7ukbne9toRfGwGXpkoUiwWvC9HX40A6/nPRBogtD96sueNFT6PljgLgJ8uHvFQQB8Qq+yPXv4bCfxWVMZQCtYgAD/so+3+ak055HrVEBn6+7HO3Y0m/vdHKPLHswcV6AEQXp+aE4K6FRzIjgRUzn+1gir4DmP3UGchZCZJ7UoF6jpFJpM4HqOlHsVzhrG7eZeO3NztMUvI4Z8CR3y85ImRfTM49Ugxc+6EAIpRpBbSGUDNb9BN0WQjgtsucohrNlrGOBXCVHBTsjMoPBRapcFz9zLRAjOi38v2ZfsOr2fgtIw8Vwzh6783AqRVcRfW4eqpRiMtFhBzG+pmQkazUCXKwD1QKELiHQArW4AKaqLfgkMzYV0AfUHBSC1kCZIL6SqIM2QMld5VAmD4iivn6Qv0cjJDQvQXBdcIF0iZK6XW64DGU056hYuddkVg86urxSnGJFzvjiK3wIY4L7xVD4EGFhJCMB6oMACrbXAwTREAM/Zr9qBkWD3DqwQa3fgiDm8eN0dQUiMBqHN+CND8IHN+tWevbzEWCO9GqHa9eJSL2ZJuy7/R+eBasWip1HOwKNXr3Y9vPJVaNaknU+3QkxsbIXKmGnoSTAM8zBAb7pxi5uQcTVa+4vepQFqQyqZnItdtgbVxsDFvixhMDeyN6MAtYGS0VGRjYYlCJ+XbcGCXvYsespatR9KfNxr30Ye3VhVRkv2Sfn0aIKai+WyLhvW2T7rYxX8D3MfRGJwgAs8JgjSZMiUJUceFg4uHj4BITGpIkoqGqW09KoYWVjVsHNwetVVWIz3GGYLNFqd3pD/PA/VmEqEmMyghUKl0RlMFpuThx5FTh5fIBSJJVKZXJHHflaq1BqtTm8wmvJf6LgbIYJiOEFSNMNyvCBKEIyg0JjMuB8pDk8gksgUKo3OYLLYHC6PL8ikUCSW5LyHUWevTK5QqtSa/OK2a6674YpETDq9wWgyW6y2jNgdzlrZqkojq3n8N+n+d6A8oULQ/ccZ2JLLY4GOl38iF2op8n5lEW0aNDukXN86fIeBWHmqBXW2bZjVtZqq0tB+he6A1ZQmtc+hW5xdq8+Kbmltg+ak9jksBLUD4VkCNZNvwKV8yz4QvXCER0N7oW0VD/+acEx7jTme/Aa29L3/fYlJiEoLEK6ShpNMcw0pYUzGhmIcvDgr5HCWNCCLIyrCjBWpsxq+Hod6/c6pfX/H3v6+/qq0YbgLPpxIObxLGpDDhmmS52Rtki9MK3eZjc1ra9rUUmC2BQmmNoGkaX+xNGmClOvbIeSBQrGJ1+Rc1/0OJQW/VcnvPqpgP+izEYRFfp8T5Mje/gWHDouTv8L0sMsexTnjyvnWreXEI0zXMXnOb7tl4TcyLLSfkw2/gfw4OGkIm7EcSDZEE0/9m2J4FkmqAwAAAA==) format("woff2");unicode-range:u+0100-024f,u+0259,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAB5EAAwAAAAAP3AAAB3xAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAIFUCucw0gQLgzYAATYCJAOGaAQgBYNIB4QLGzgyRUbuF6kFE0WpogTB/5cEDY6w8FewiRFiiIiwCNViu/tsr9/4UWMvAr0KA7RHNBNdUmOa90P/zMU5SgCu8gU+V5YdQeyqIxiyfoQksy3R8/vxm7PnfQWSiIeulsgkLZGk1bOECKHRCMVCMY/8Ozy/zf+jPddGT5kBBiBSksIlqrXBAK6KOdRFtXPV/00252v7LV/kXvw/F/Wq3V+yuRxsSdsZNTlZB2Z8qhgm+oJKAgQ8OBCnE+KkZeJ6aXAi79TZnw/e9fJx5P1/deU/WePAvfbZqkmVOk1BsmTYWYe9icMwPunGRRPAjojGYfiICUgF8Pc6y/ablshB8oyTaqFoolCXGZWhjuurvt6XQforr2wvatHrA+vQsASWj2QHAKurcilZPtQBVt4AQEVcUZ1rg0Wdoiipi46hNqjdeWYRKXPd30//G3rXtrTCjhKGA/C8r/kMFWBRpkxhJ07JdCBWJMAYIHQiGlpEYurVmgAeEgVVEEGN0s6nttavooDcjwlwfphUV+BLAu2zvrDNeYvOXhYowTvAjtWR6UvPVE/etGwD8AAge3MDsE0kIIAGrBIhjImR6mGHxF7JeYAVgv5fpaXNSMbzZR5sS0SkI7IQOQgkgobgISYWMTnxOUnI8VItwtFizYkJiFREJpP6p2oN4+F4b2wbWwqvzX7zsiH/cdUl5+23TdG31z7+Dfpr5UvpezX10o5/seINK+vpVRX1FxwzNN8uq82IApQYvltSvkdaRsdzfSYIrOybI2e0UNIHWaW2ekaoBy0mGJBZoGnlMwOx2klfM+MLUc4EmQTvYGm1G6fNnEZ7yJR6mJk+MOsDwg1O3Y0FgTE2zmm+QL/zkJoEGciOzqm+GNE1RDML2D7/C19vhDBNKzVxSeNkc5Syb6sMFzF2mSF6eAe0VPyjYtJ3zbk6BJmw7qTheiSf250Fcx+feA6J+XbMAfBl5yaNW7RxYhFQjN2GR3TKFtzqRKoz9y4g1dlX/V5mDkMow/vkdJmKYLd8tZYw0lrOkkN8EfIpsavPMK8XgOJZBlHs7BRtEmvyGOmrLVZtU70JNnC5gSU3mW8oMHDliuU0sgRTN/6saVziHxuMm3bzlWv5K1MpSqMLrN8rgJEOny/z1eEbeHafObBXBfJuUq1DR8OuwWYPonwLHaq3WYXPnsQnV7mq9Nn7fGI8uHdOQLSeHoYtW9jd2O5suVA0I8SXsj3o6OS/W/PEqmcl9x6Ceo9CMFJPnt2epGLzGHvgZWTI3UZwxrr6kaWZD4FCXJ/QxciagQHxL7lpkHd+MIxvUbOKW97aNFmu2ILvnozESqA3Ck+UUjU+yiqB0gL3Sp6c/gRjiuQ2BooKFD/Q3QZuwuBUQY/iV2oWc3Egu959yrZNxB3+KaLD768G1+D7RCFg8hqrGxZA6pGatHgQZaDCFyTyb1KRTzzBwdYPJ3slNQbokwuB3eJ46POJeO9VzjfJOpposdjUTE7NGRm47wMHxSTV0wwBcOhfUhz42//wVYQr3tMx1bEUrwV+x8t4ZK1K4CHGYIz9bie7NCkwyNmGTeMvhnsCP5yw3DTxLt7LtOJZ2LuFL8i4lcDBiLblkhTp+/N8+HylOOgxl9RMDCXwQynBwr23B3++plEqUKH0QktsqYtb0MFCHL1Q5y0Nl14pwZLBx5bsMx1OfchXcPIURwl8Lv9RiZE+qu28D9PbCk7z+U43j5HPujQUwu8RICMj5d59BqbbOdMeNq0GhUe/+ZyupT1M5WFcWzI1ZWE065reXu7ZOmtY3Tx5ls3Db6CzeVrfoNrEYsEWfKjcK58+TS/HtqUXD2I62/nyfgz0mwGHu5kXCaxBljJyXBwLKihJ5paMWFC57eWAQygYPmEZl06A4lCmLs40LbIekSyRYvoK5LN0Jcsz68XiCGVIuHO+G5s+M0+hebLBa+mM6gW/B7GR1YY7bB27wYQCPWgorp5U6W5A9L3nGVY0b4XXkquxBBnZ40EvNkiWLPsO69+sIjlqTTV8pd3RdpXF9TjzSTWZPL5DBur/N5lRO/gvZx+Slbu94k0B5iCyL9TDUAqk7IJwCDR60yLWuethMdx0uZ5rVp213CxAdIU2TulfzT/Ub6PlzHMVoiwtQnkJRbc4du2ahZl3UsZ+DHB5P9JYg0nWa/NxcAmygTsLSzMkZcvXrJJeEEuLfUAPnrBcJzYKOnxIgwelUmZ7c4twKL9c9AsdIqJURogupVFdHS+MNjomAGeuKpf5QuTAarLbLeHt0JwaWEvxeBDdCMI30aXdSE8xTPDhOpJVV9tqgRySkrjZYhm5bSZKQrDlYPDIZomxF/ZwEqwD/D9tTNfY49gtkePG7WVV5nFjTlFdHB69ZwchG/aWOrdUUEwWkDRIeaS8wXrdFJfTQxuaH3bjDxsG3Uyac8qQva0n9/w4DLB5C130TOpiV9a9r2RZUML6mkd24vTVpe/lDJRgGn++wtqN+oFr12UwM+Ib95NPkxU9qO0nuuTmNvBOkLqKRTl4iPMFVaCs6p/Vt6QnE3ECLRGA8GtM9SCrBhBldSdM+kAeWAwVUkoB9hVBKVzFndougMVdXxBuwZmyC52dNmMKZt4VB+5veInGcJ2/fEi+8BdGdsMwN8qV97ElARg6vA8+WtBUdIRNDiKv6DmHJA8J1eHx4c5wH8ps26aTBrzS0kmDKNsZMNFRaA1zjBCLu7U9rdyz3ei/L3n6ck74AI2SQXylrDfeahxTgUGp0cmB8Yf6fZtc+uZPKtdK6r036mSHDug2T556OMn2hfiy0ESLz4RsecVodGdNppaPo19E3d3n+R/k5DvtAF5F2cF8TVi8u/cVSmrZdh9YbebxNQDtDrJqq+VpYL9y17SRpQzbdXcQN2V4ayRR3FNQna4zywSjnKs3VuO6eO9AcCM/qMD42p7+9xUA8H0VP+4xyp2soB3JCviLjawvNeicYlHPpPm0ybKsejEPqaSP6dnW2+1kxKvN+XxyPAyFuhWYn/Cs834Gq9Us1y8Hmez/63GOGsnmS3Zz/TCj5tkUwurqiuR99x5xwzfHdnxSuvKbe4m44/vd3oRQ2nqDXU/CBo186nyxqeXcMINjTgMHTBfxfaz/ydXe8bkZdyGy7sjRPPDz4TMmobg+L4R+a7JXyCqRtSDYDj+gU56UIMNsr31FrKC+wC4jn/Y/f7WD4gfX6c68nihmjOCW2RvdcCkOfDE0b8b5PA7x5r7sbDHreWNZIHbHkrm3FPNuvR4YgW1TeedXVu9DXW8yOgqdB6ovz+L2V19CXmsyOsoGVlXHjEaFj4LsHTijg86OUkNqe2xLlaYLeXX1A84ibQ5NytG2NG7cgZgxxuOIbm7YrQWfcxYWQJVwvPPm354+nouePphaUDDv9geg0K/TcLkcEYt1Wo3Xiis2bw757nn3lhlNrKw4jJH1+mTSzrFyOo0GYyiw+MMAqvX6xW04scRPYLrYIrVPhXivJx+LFRoLaXQNukDOgiNNS5euzsyYcYeGBK3d5n1rT59aphXKQtfbsE6ClMcIRWFgxlq/9ORZH6apIjAXdregDu1pSKt1zw0A7I25ij15z6FIgH2cw1n57MmVsRV2sOYkWrkWT+YYtd+cuNUWv9VvLdGtwa/BTXbYak7YZk/aBqoo03c9d6ddg68DJtZ2JEgECcAcnQzzjI8uL450+hb96gT0nNb3tmzhgQuXWkcVo/6lPapEL0vAYmHEqXUJfjb/hg3b31EdQPvq733R4gdd+52aZo+4hcagcJl0tiSrOdy/vKOmqau9WiRaWV0v500wnY+1gNW/vK5WUFNK0JPLIeM3kQOQQ0InWd1ESeP65si6ZqKYw2JCHJLARLOlOzJUQEeg4D6nUj43ewFmj0H53/Wf2Kvse317I99/4XoJFgeUE1JNfomuXohuYkoosA/SNK1omGfyXpSSqUKBXigSygSlHNyzxhPXwXX7IaJS3hG24UBVCY1TTaE0SAXkpoZyWV2rBXuipzm8Gm6Yo3BfO68T8fkKlZAlkkM8gYoP5vQl9bWktsIV/wOKyz4yydxAVMgbiSQzmULRPV4JOdgQVNVGkkpbSYrLWMjeGnebT2cyyvuWiheVU6liFn50QsNmUpUCPk8hpDBUEAd8tAMiUISQd43fkEeA3ERGvbS5b7l/LfzGzf6iQbfW0dDijda5h8/wJOV8kYzFEinYTIFCBISrHv1vr9n6+H/jwMY4V6Ir4X+3BcAr3Xr7lwAa3unyVtT01ngiFFWRB5dW1BLEpA/I5C+IDQySvZrAdUwUwH/PN1ed0Bp2V6vI22qtAsLB+id2DEFusKlk5Sv8CqGxqL+qdEneonRxBpIkSW8i9u5YtSkw7HW/39G3Z9UmpyBngdSC9DcNqs27q7esfPFi7S4pkYdDqbA4Ga6YTczRYks+LQGvNuWWbmr/M7Tyz1CH+rmP4+eA3y3yinISWVeH4yeH5ghrSggqPIOl1IRhNlH+hyuZoWz66F+oDE/g02m7v9gP8t5zDByzVHjPNyKr1p10klj8BiajRS5ntDSU81lO0sl1yKrzDd7KAYtjoBYcHDqpsxz2eCwHTmq8D0MPO839Kzo6+9d0+Wf9YMRy60f7j58ssPdd77ODh0N21O3H9sc4OASg7wedRAcxv1TKgHXnfHtL3TxTlLXXHKeyrdmpsrrR1WJKBG1DIRgnPCUBLhIWgRHXMATGhn6z+xpsNl/DK+/8MTT6U8xvYHoeueywCXM+YwvGireAEesLm92XAX6K2yvw4KOvlB9/9QAOdf+C+BkBVsOG6Bj4OmyIioYBMvqYxXHMtb+SZfuAV2I/llrJq2woZ7SGop3JD4ul9VcZ4K6W2ptohmA6HPpR1Uwm22lv+P4mw/3Bh0FQvaxzxS1yhenJLs1+EfbkZesmXbn5NlLAG0eSjMmaLWX/JHiKZnXCueygL8hms8jkf6EgeBbtxbHMjC7GMyodomByN0zYuYt1eXQ5xKCbG0qENX3V0cZgPkQil94vQdSHmLx4Qz5DwSFR7I0UCZg7ZL9hgS3DdnBz6KZSo5RINUrlTfiGXtzWTZVKu6jCNv0NMDAUObQyaqjrNnQHAkxO6PZQ/7b5++f3gtFQ5xbSAVLfVvxWPFhn+czSd/Cf7f/0fmb53Np3aHbHbC+QDz0a/hf+9/Fw71HdUR24XsmtmjZDf3NkH0Ay96SjZrDGec8F7l6MH3X6WAXKG/ec0/eN4x7YdyrwcmHjq4Xt51aBcygP1gMeD+geNFaAvHpeb0Agglz4MVULqkUzXkVgC9tEvOXa98hYrbQYjZYWYTVUKlYvQw/xrWCsjgq++LcaXy5u43P7tFru8oBIxK4sHVfBM/BCxaoVWVZ09cuqoF316xQDr+MzRKq7V6avk6+sXu5INnY/hTB4gabSbNZUCaqyDd0p2hWVlcpOAa9P75mhmFyPfRzXMtOiDVVuZ0MU+GxwwygnIiGjkm3Ll3WnSpe7KpQ9AkGfXs/r6+GrFZ1cbpcqkLvAKIXoWkkvKJ2qnW6ZhuwQylltaHQSd+NQtaC+pBJ/TdWCk7ECHVydb0f9HLN/Wkek83ValW28ksjyhmrDdoPe+p9PB/hkSSWJ4pby/USJWMFmSxQSIjwDz75nyieBGu/+ta4yEQpGXSv4K7VKJKe7ULnT2TtgkBc/G7//g5ev4Bn44sSPh8HIw8HDmAF4GFdLojnSWN0LFMy6os8v5dSVvdHvpjHBQMlvTCovigxm4EXsMoGwT68T9/fylUrG+srpdNL+5QJlcaWssETLYGA00kI0WlJYrGGYLS4++OKfKgJLFBBwewvgu8qqwD8ywBhYrVh9gsj+FNiVhOOqFkyL4XgNARK2nj5NnwANlhpYwuVxdTkwClaB+7G1WLpqcSDnDhbHW5J94ad78mwKREYTRK5ClgN2RKjhPCsW81Nm8uy9W2/LEL2RJQSxo5AN7k6VZk/nCpwWuVqoLoXs0LqWdavtgIlEwdCAAVkKBfUQnp+wlwSQXXPgnc77yLX3kF0A/zPqLLKjeTc9rY5zyFZ4uHW43Xvdfx2Qk68k9weGvcPtVxZcSeHMAdCQSblFAe/cz5f07h88Oggu2f62B+1/N/4jzwdYdvTXElRejDPWTBZqlDxuFRrxEpEapQSxVhoBz5WES6pMoA39YCakJn6+oau4PI1SSI41xzjzUCW/gi998HYY6Pna9skA8JBaVZ45cGXz7fg0F1O7QKsZu2274piNT49qwFvkjKTZ2VkY/nPnvJlOELT+PeSJ4Tc59bFGyNg8J7DF4wlsVW6IAxzixMfTM/Q3Wag1KxRakxBgLPa7zIMoEyeR36zUK+hcakUNkdvQ1B5mqycH6WQ2k7Pk2tH3lOcEiRUcAfiA8fxs/IMbDOr1mzn7pxnlz4dzvp6kUCe/jj/7krHLU48nmJBICoGAQoIr64Oa02HPsyY1kxvhjSJnPR/Ha5YdKO49oqE8fSB6x1J4Jeyff/u9DqZoD9AYgtSFhuytBgWMmsXgyMiUo2wEO7kix67nksu1106/HGtKYqgnQauIwaDz6Wi0iN75BToCoBty0tLe9Tt4RuDHtw9ZjAN1dcZjdlht7WELh5KBwyYWzGqpaKPdLtqwWm61MDbO3qcbV0mtLGUVhVLH41HrKylMWZMqHqq/+1MBiSUTiVhSEhI6Uh/Pb5ApQBYfrZJhsMWzKJzZYcZG/3vEybFoLdFKHCksOkcknisqHCaCte3Wi1TT7LzYonkzB7arD+H142ZQ/o6DRHQwGIwV79gEkmclxQlbDGaxGJ0isV4B3m/WN1QoolpWLImRsj6ryd2dDcfnxJ6OjT0VmwPa7+qb9SDDVufSkLRFJSoSCafSF5M01RWqFGJXAcpDIosKCtaRwIGWXVOuWdf0rmnu3OfZ5/1FgsJTovmcBsWcuekp6xPitYst2QJqeeHdiKy8U0tFWJC2SU4pR7IzlEuykk+F36BkFWkobLacFm8iXUtJmUhK/DQ1n5aTNpaYeDK1aLsePB5+0Kh70Ak4SBRsvGgpoTE2L/Fj9roPAiiucXAdNekLAgHYam1vacsAoyVCMh4vpJWtFDVlvp2U9HZmWbe0DCR087a4zJkgi1+qNqDJZENxqYZMwmuMMNGjcWryUsK5wsL1ZGKnGA0TwFak42KT7aKttmdd5LSCpaae3D36slBjMDTaiuGaucP43S96HmNWDFQOVAFjN1mwc8wIV9zf8G98QTkLC2KVhm2hBlzORefXhHFN5kacmDhcPykgdnz0g+mHr+abezdHyDb1BEO3zMH25ff7wbitT33YudY9nqqYYlowH12fMXaLXbPfWdvpLgCnh050tujEXGby5W554UyHs39dR2f/2k7/7avuq3f84Ld1e7qGEsnePTt3ikQ7sYd56u49YLvsMKZLcHjMw2zOffewtarhCDYgtmWmF5vYZLWGMFyN73ud/Slf2dFsjfdtw3GwB+CQneWwzfB1/6bex89V62xZ2Wso+CIISJu6Az3iOhxRjiHiONurBfPjz38sSeWqmJIGi8Pqc0YbWtN/xOihpbU4dbqovDSXy5n9PK3wZZmQAUG5MB5A/dGUkKOUK8jJLxMUftiTKg26bAw3PlZbqU2txjMOEdANPVVph9CgcCoOOQuY0jYe1CVvywBsi5JXblPOYf8w0whzUxvktwN2GbIN3UlSn0sXUxiNR6eZG1MnoXQo9P3WpoDh92G3eHufWKNs/S+osL+LLy2VZmRmsIu7UExFWravFSL0FDBV6d4yWTFWx2BgdNIiNFpcVOzVFOlFtwT0PzPrwf91uF67/qu4MQQkfsiRwb3EJlwCQpdSqoFkrX3GJitFxA3KCfXhV5EDtIPFJBHz4PdRQQq651gP+PzXShrUY3yXoArGe03wczhb0XYKjSCPUnv7ZP2Pph+/XGDu857toSnthy32Y7W19gHdvE25jHra02deIJcy4F8NXLBUyvDvwC8F7MXRlBMRPK2Kbe8h0Ypp/CY6StDG4NMlSiYxgQfT+fleurCnfCCdyv0f0LRXyoeAa1RBTK0yigf2Dm7WmzdraIwZPNnLpuNKuKQUX1KCmxv+j5tJiTdTkkcSk0aSweJ9w5iEm/Rn4vmLq/PYnUP3BxnpBfMW1xiCpn2uFBcgqve7vv803TnZU/9KBWxD5dBq/uo1A6/GXPPHVyObf34xeHf6WFFemVRKprC/TK8loVSO9M0tDuBDm0P+vhAQ4XIQB9chq841eNuuBXPdNoUkY9GiDInC5mE/3Na83P2DWVOWuJl76xPFi7yUlLwXik9uuy+8GKS8/RtPCTIsYRnKT7guTdirylfMip9/Ubtanb9X/w5+2uc64KrYQHwO2GGxWOci9QIKQrKq4RZuZNIika7Imr9gy1vB9bVtXGaAPW6UPeky2+Nd54THtgI212pmgD2uyenhsaHZXJHMAHt8vHB6xlOpFKFtxIa/JbdigRlgj/uBPekrp8dLG4XN9QUzwB73jtPjTYlxtl2y8EY3ro8AYAbY44bZk06yPULOCQ9sIjbXNWaAPe6g02Of5b17BHfinSrAMv6lzPNRUiOzHZM0tPS/bc6ZGWCPO8metN3pMSiZAI35gBlgjzvv9Dhjs7EDBms91tTGraU7LTY1LK0dKOTBEr/QrVnwJbmwD1d+e+S5gCCOAGPR6ufaDzf+8m5KIEabh+q7/X0RKxqM1V45QJ72BXBscNQ62uZtihSoN33BsSG+zQLAF3ghOMC/Mlc6sqxB0oa53bXyx1/JxOwbfFDbRoLcmcCxIbXNQiCXzKzjj1g7Eyrzt+MTaeZso0g8cR+rzN/SzDwCmcDPB+d44ACgHs8nkGu3Zer8oT2iMt/MyyuC8WfKO7Myf8fPiFv6H3rhgfOTETXli4TS+JZFZwPmUNebfVkYYKpo3sR57pzxbz4i4inA2xfbA4APa8i3Zp8YXng5kcpUCi+SZvBbo/LCp6mS9XBD+6Xnff0KbTV9n+tRpuLK6XrZWY/R6Yryl1zn5dRLPfxCZdSfWJlW67+iImb0E1zCATP9GOWACQQfTTR+DWx6SbIcKk5BgtkXvpvcb3CFg0i1yo4GnVHwJV3BFAYEuSEnAdKOAvkZI808oAjCR++WVqxKhE6nh0aCDUO4r8KinKCFJQF1RGJDy78xqFwlyZCEfiIhO+FjtzBY+HpkZ247XjP6slleZwl6LS4n5bMijYlxQO5oyaTy6DocfobN//9ThCk4LTRhnSlBSHUQD1afJibDVKvMzNwEYYtrqrj6RVwE4uoz6ESCYPG4sdySQnkpMMhVnKxWlLwNMBPR/eUoLIq4ToKtSdn1DCbr5LO3IFEAX8vF1TmZua2+dDLKIN5P4rKZNAG5fkWsFHHuS6wRM4n4nJWTN7nrsaVGCfSvjEV7n3kMzdPAURULFpT+3/Jyz5x0ZIRIbupWmp6SdAYAqeNylEzzyr6XTEySkhxuyIyjv0d+OjKyrlMsSlKiYQCQOhiSlBqXyZ+Q8v0MUXg7me/FVHVslLEP8uF+llYf4TNRdVIa9kprU747qhOEq0IYbBwfKULnSO9iqal6Z8IBUxjgva3maRMtTLgs0YCrgBYOmFcrQtg0BwDPvMNcYTIdd4VbYLcrAo1NHynqihJH44qWiSwseKrATa3k7tOCpoRTtQrMHQitXi1Wi9BoqhesLjdeSUBGxXs53set+dcIQ65GNbc2TYiwcHCIxHQElOgQigwEsHRltRKF5vno12nTqAJsgnLfaCd2WjerxQh4uO+cI+iC3DUo4E2ATfBkaJViF6RNaf1sQSx3AT1KHfc7l1crYVVdhKYQHoRaD1tis2qwTsvgMloo3JcLHa/gzXwPVMIiQMTfF/1vINYcceaaZ74FFlpksXgJEiVJliJVmnQZMi2RJRvCUjly5cmHhFKgUJFiaBhYJXBK4REQkZCVoaCi7YeOgakcCxuEg4uHT0BIRExCSkZOQUlFTUNLR8/AyMTMwsrGzsHJpaJIg1Za5U27PbXaZhsccsbxZqz3pRV2+NkvNjVrrfd94yeHnfWbX/3umAumTLioUpWtqn2gxqRpd91y2x3P1PrIPfddUudH23zqY5+o98Ir63i4NWjSqNlRXn6+lJL0fh4C2j3XoUunbsv0uG5Ar6A+/V763rDPXHalOZ/72heu+o8hIaPecM2YNc55y9tGmrfRD4Xpkl4mC+dqYtqa3TgchBvaeeUc0iCew438r8hwcRCPLyUBAAA=) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:700;src:url(/SolidUI-Website/zh-CN/assets/fonts/devanagari-3-349ed9fa39221b45ae9a033c0c3de0e2.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf6,u+1cf8-1cf9,u+200c-200d,u+20a8,u+20b9,u+25cc,u+a830-a839,u+a8e0-a8fb}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAABUIAAwAAAAAMjAAABS3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAIIACsgouzYLgmQAATYCJAOFRAQgBYNEB4ohG4QpRUaGjQMAkX8bUVQIsuD/ywE3ZEgfXivhkliS0txbMokQAgSEksKi6ZIRil/WITyH3gPsiRG6Ql/HUBAFgNZ0+mEaN5hfPI54Ho5cQ7T1/S3ExO+5MRLP5fnn9/f8j7nWeURmeuk16YvJTj9BIcnqgDKj0t0/8NvsfWGwYRQgJtgoZQUSImgzUEAxprMCI28m9lJXbeRfFlyGLk4Xnco/2Mb+uyOExMY6SLCIRVM0pGjV++z6qgZJ1fTb6B/AzJmCaHv8yeik2XT7EMOK6MHB7v/s++AgMV0vB1RSMR/G6tiw0UxdrhgFGbTcbIWf0RAL3PgSVGHOYTpUHhT+loXnDGmZ230DVtas+eb6tJOdmU+UuysACrn/CzWyvsJUJpPM7mYnWUw+AWc/ZQ+zBQBNvIcloucJVHvP91Wo2np7wteffmbzwCndXkIshp1YyELO1d/LfaYsh/r2H2UkqIToeY0CLGTHDnLgwXFJsBAWMIYwHcXEhBlKOefcWh8gPoAs+mR3PfrUhXXGAlBXVzJwhDxeTuOThA7mq4g54B057BiJFHaD9auwNr9BOZOmqtYB3AKoTeNHYN3AIwrontUwECrGesq32D4bMrAELXjEljMvgaIiS2py05w1WZtvZTtS1nQ6vHH4RKPRxmmnaDpHyxmo/5kAshBxQBcgWFySkpGCrfhrUY5qdXjt8BGf/JfQ+GfcGZ7o3DhxYM8GBRkRdr7m7pq1zNXt5dHxW4dvrrqRBn57fQPMogrPzw0+73npL85ZuJb5b7DoDqbrqffzpTkZ1eIklco6/q7dwliB1aOilDxAOUHv7NB9x9ht6gCGRQ3I0uP8Q90Kjsilfcyy9CUcthD2ZJaGjqNTVx9ecNuL9W9dm1G0ExLYj5V6tiMJdWVGJA3xnsyzHBAJ/4F3G6r/iq2Lhv68aWQka4rEpUEj7ZP2cUgJbDzet9m9dDtrUz1As/oPXhmtQyAXYaxsVTbF6YO0WLanUuZipK9MehOXhyIEpJEp1P//Q/LnxASfaBRfoOKMkhefZHUaC39J0jTFwuwsq/8VtOQUFU9AK6vvsaAnagEGimOCaDur/ci/Jl4Dgmr2784WCrQwBzWWpAouIydIvmIsa8dM4MJekOTNcupm8A2AwZYp7mVYMDaTxhVOqkBAzw2TtMf4EgrYZYABHFKBJdPlPbvlHNVrZHKdzo8+Yy54tlGt6SJ89ZP6JD8vsNFJmjq8XPfYPB+QAmWRtULffwaiS4po7WAakEEmYYUGrg/RWYsW6fRZpYTAI5SzH9ZD6pKBMHjmUVTGYGGDhQIqwMG4jGYhG4TbujueoA0hSQvtWYR8F91fKKw++9xYtfShrXQK56hm2u6NcX8+wb/mecSRuncmzmj6JF8LaKTbCEIMo7DTutx9x4uMoYt83daLF+s4U+o00M8ch+ic+FSS9IycH7GSMu1svISH5npCWL4QDLND+u4P9Fj4npUOomOkns1sAQsrJOJO4wrgPSBJaslBre5Rql8nZJ1WqvrsPxRW/2+o/rZN6YXYQBFiWTHgL7ji4KbF4e//biTsk/fUHh7ssPs7jDoxDtFmDoJklY2PtWwYnztv22Qk8Na/+x+IYgIqBAn5aV9d7DQywNJPb4wM/NKy4xHIPjIFWEXEIPi5IxVT9nkVUpqb4FNpRWXnvAs5+KZS7lNQBGCgwxR0JLELm6nKenB9//OG6mzdVcJdqHZVStyiHAV3YLIWcq1/EJD0co4DZ3TZ81R5cP4CTm3ZnquKZSVJj36jbDw4XxBR7rjpzv+zqAFLl+jqDC5IaJAGtHBprjA5f1pesviSy1DZG1XIWdhU7QVpw97zIZagwooQngGMgdGtgA1uU48OK6/zS0gC4Zq2yWvIARnWQ8jlGFD+5dMrE/xppPjdl8lFjeg0bZyP2g5FfLWxMDm2lWRi2ZEeLCpZq+2CcbSaKtJFpR1lVTPfy3rLxZQ3hzp0MJTkWYeQy4oaCq0zbS05WNjItUqSadf3jTc25kZrAIli6ZREsIe4v61Yc67Ii9ZO41s3ulN01lBCZ9vQIpWI7T4ZvOMcIUtm6eUPVBSUlZBOFrUH0qP4gNXRvutHWFHZ2His34ZRMdSOKshl+7JykpOuzZCI7RhKd5k/PUqU6P6pdUJ/R+5nNTuLDTg4YVLatm/k8TM/cuxtc/q1vXLz3Jln81x00bcbrh7ta6F8saxNShwjH99EvXirvnt+Cw7OPv9eNe3vcSLfNUwY+wTEkyEeurM43ML6v850kk3PFQHnu3AFCcc/oWZHda157GzhPvD/nGlRpDBMEeepp8dzThHciuEqClJNk5el1dHdL7s6X/Lcickp0xSU11bXtBUsXWjUYlVgx7WrMq+C18twHssOf9P99k13VDGvpACg/Z4yuFud13Sw3b7iTGwcy1uaVZqW1kak3neR2DO9xoPapjzbPiBloAAOvzeiUu8syFfvGlWV4fV4hUdxYVZWcXGWbLMMHvqtvtdxbyumd59+Xy+Y/uYkcfFKzC5JzSooSeMr+aGXmqt3cdSlK0TJBYNq9UBBgXpwQF3QvKfBthge6vSoHh623+xYoUfh0DP2Bw6ietT+0GEU3HDDqZnD+fmZQzKSnc1ZGUNFS4aH0iduy9GkpeeUJSlySjMwVgHDNy30WBThDyOHJ0kojSMPkJa1FXGeedKfcYrgOa7BOyoLiTgWcNHV7RDVxtH1mYio8AiThS9dVVZZ3X7psUtPms+4UBdTnd6JSCJykkeYlM/lZlUFSyFA13vKH/U/1Qv3dMP8MBGXyxfxh9GhDGlblzAxUSuI1WYMgSBcf0w3pfm36t+pg7rjOXONc2fq5nLnYNN7r/9/iD68eKiful27XOHNCvbKl1rGfubFWwyf/6x9mdMJtqWCNo1YHJrMqZWibFTalcwJjdBIBFrlAE8S7esriRIIJDEyGi3wfLiStmaxvHBlKSn7mCacExgVEREYxQnXHCNlrdIUyJvFkjYVxOI92n1HGYLOYzNRqlLvCHmLOLJNpZK04RkkyppEkqakfUzmYRZjoBTi/L//zFnx3MbG6PTGLdWE7ImWI0z/pyJpl8orVAyHKz09W/Q6qDf54Z276F1441vdrJFMcoJ2eHvvCOKgbDRmvcozEB7hteKYNpUyVtsulsvbxbJTqYzTdmgP5rUuIlIkCo/09hFKIkQCpAXczPcLPMoRvBdjzvMtSodZfIW3UOk/wXzjTKMTKeQmndQhODzYyy8hjxVZWJ+/ULGTO+Ds8J5IcU+9Ee8QErHIOyAujxEBOSw2Grc+mRkgyAryL44GJ/h8CcD/NXsjS6cqVBee2cRCE1anrz6asTJ+JdSxSHcCT7TY3rb5vjWtJQ2urXy96mDPA8r9VZM94Fu8hUrdSqVtoVEnmsXPPnbY8nttXy18PvEyp/ZlFazc0ndDe2Pnt+7x2gehNSfzdPbdY7zIYQmceG9UlbKzID9l16hKg6fwV/MpeAWjuLiGPqBMWdfm1Zu7ZCA0N4rdmRceyKaHTRwjJi0rTuFmsMcXDy0eS+EEZ+KfWCGWBKkYfyYMJHAVDVHlEbwm+T5XE1GAL0fk2/b+pCRaIMjTE8Ley/ZlzvkKZaHB1LWz7jUtYOY9wb/m5lnk3+obwW8Q1+/MfO4rlIcE0u5HixmYpKTmXZ0Jv2pumkXas8AVY3CaQDVrIwa9iy6u26D4j/X+sS9EIpGJhX7hZvxl7bkrKXSV0aN5Us2w0uIPWCaRS0SoiMex/G74D6/n2LfNvtfv68W0H+bpYv6PNhVkZEZYPn8fctK/uYGPlJS8NYUFsYrylfJFFORFYNFNj7fVi8pK+jUv9UdQfYBPlJff4U7vYDE76O4dTNv/QlPUdZe++tPhHYuNsmH0iyf+Aage9Xvk+6epymZVKMRnAvkXJh49Ru+iW8Zvn39gtSCMGXz2+Pua8UXx7U5BKtV+UcLPUS9Zl3P4GroYaAsKk4gXXRCmQ0NohLNgC422pYwGbaVB2B2UKt84Tugtk1TqZGVN+r9Nu8JMYNFXH88BfSKn9D3gjxCoFlpGokSBZf9WyUeNnrWPFKnGQx4vS5BSCamxOIfcHweN8kvFq5QhlVZCgbow+SM9xL9/ENpSUrPEmO4XHxQcLAsJ3prRTgw1MQkhRjZlGjaUGaiHnYuHFRvt3bYa1Iblediodnh3BOpkqZErLPHwbpfNbv6neqm9p/xB5PLR+i0Z2rdlnZTZeD1idUQP2lO+uvymdY1dWL/KxBXsEumttjyJWCz0c4l2/OhuhSun56vz9X4o6HpvqLJ6TQYJmSm97+Aw+DHFqnBV+RA6hl4YhN+xeJMRsl2PshGTDwSP/96eohwqKVEMyf+Q5edvlSu2FxODv2KEdIXYP4Hz6ZRFZFppT1iiICAjqkXKTI2VgHtTDIe42HiVzO8VoaqUZ9oa99k6Bvi98jdeFUAkFLZmNZn0zQ1S1Gn8W5tRKzUy1Zx/wnFhsq9zeV61Har7Is/ylEo/wdizb9882Kda02cDD8o8MlA6wzzMguHHtspqtyboNS21wB+Uka1K7BWQcSA9JT4+TS23VDjKOByZo5L4lzAtfNssEfr5iYWBgWICktcVQ5okESfJJJRIQklg97KSbNRonWzkmpZstU57siUqqEwujJnuVk0Xpkz3QCo6bWT2E1oXTRlpi8zeoNILDw7P+4/h2L9GM3vzN9jdbCIX4cGCW8j5LVY/7xvspBR1WoVs8s1HX4NjKVLiqW2ZYGPK3abdJkflGdoMbkZ7BoOUWB0YnMnjBmZWBSsLtdmsq+5u11nZAE6AcwBPsMtaVbASMK5OFjJ0YgxB/BEDn2AjpJADIyRhkpgl7YpoXXjhyB9gLQO3ZyyKCfmCNcBVZGMN+0UaVV2tHkicIXGTtGLR1kCCGH8m2UzOQBIPkWCgodjxu5B4JQP9+pLQ/E8ETREZNwn5W4RAN0qczWvYqsXGPjbmr2DYLQPeNozhPG8R7RfDJF3PiTyw93yHTeAMtndtBnJdF7fNtNswDQRPCQ6gKq5yT+6wPWfHaYaZl+/5kdCpqqyFsZb9dljVPNeOyy6xOW89lluo4oD1Ak3ohg7ApKs1pKtWcqe95E47yd2uk7tNkYOOioNGoeUR25NvHXQUt8cYEeNQv+4Ewiaii82cxKKbIcEZVMXF7vfbZUZruMbx+h06lbQ9xyP3A9KkX/AA7c7+4MeR06BPYp3CzK8PT8XgHX2cSxT6L+ziMy5M9ufEJNnRhgHtluYycJEwbVXvxa7Z93v5zjD19c3wr/P3Uf9vBctBfdmN7MbHKqzHOprYQVvlOL7UVF/Y1guahzbk1zzan7at44F6rVFYWf126WHlrzF1cfUcaCK/bXE/xmCU2yN4yWfOnsVSGPU/WM2Pj0FO6fYRyIZf4cbix+PxEXvnxLjEHqtmv2P65QnyQU+zqp6PeUtZ9bKCugubB4yOtc5xfKpX84BMBjSR37b4DGf79XOPzc+d6Nzs3C94HsGdF9DqMJhwwvur7KP4hK1aaH9wd7cLHp/ZqleMG/FjNJHfVvgKjsZn3qhn1mCaMHtgQZ/e1uFB3dnoMPtPq9+q+vnQrjbMaVSQz5sH1J9f8wiV/QDX3Ff3VA7RydynjsP/+fSyzqI+q+bHG9NxME9vJ7Nere9TNbgLAabgnD/+/UsC7nchBvMQ8P3wxPsA/EQe8ee3/74NLtg7JUHgGQAE/Es8smCHKesT5WIgqoNfylv61zdPYXocr5Tc6haz+syxZnXNHrKWFffsXOt6idcWFmHlS8/nWVKU+lHoZJd17YKvJD5xjlBj7CqdQAElekx2DWpNEPZUsaPpTyW4l8JW/ZCXqNEgZLgFC9L0abi6CjuxmMba1JikUTeVDm0WgXDQY7LqiDLLFhUQI+cY0NezjPv/nwhHwmPh+ud2x/EiFFvTeFUkrxFxzyo3qJhXhsblvtaE2fcQIkSol9mYTQDTlZxpXgmZZq9kaGwnptN10FwT80mlKNmIBDbTddHsV4Xoauma6HrpqnxrpitLKKc1AVhZPLa+6MSmjXRHoTm3JAahBQVZxnYbHCzKVgtyGmGkXdojMGxvNZ8OR6hBFhl/BhDgJX2MVMNBGHCAA84BmgEwXx4MZFoE4GFntGMQJvZpBlY8egxGgPJjsCiSj1mAIEHD9XHAVBMBwAWqm+OXqxKCI8uh2SoVKqfiKuyqQiXQNPdavi2dlEScxTTKm72vUJkqLOE0SuTww+bFi99DJu2nFC2JhFQo2hW1LD6wfqmg+0ROLlJ5Q2yeP1EPjQ+vtoomqbPx3GFU1ypJK7LwbGeVUI3kBZNS28bp2dTkK3zYcY2l2LJplOL0tDytq0aZnCO0BkowssWDgepMx2t8/A/zEkghGMAEiywAF27c0Xli4vDmw1+AQEFCcIURiSARJYaUjJyCUjK1NOlWuwyr9HkEu4ND8MhCZBFCQAzhm7kYIcYwH0CWIqaIGQQxZ8ESEQmZFQprNn30Kbbs2HNARePIiTMXrtz6bBZxR+fBEwMTCxuHV7fhQJ4k5MOXH38BAgUJFiIUVxgePgEEIyg0prue5YLDE4gkMoVKozOYLDaHy+MLOi0UiSXd9yKvRmVyhVKl1nTRI3fcdc8tD1Lq9AajyWyx2tLaHc5F2Z5Pjazm8Z5I9z/v+KDVCXp8KwWm5HIm0LHwIPIimYLP9wOCVqVOh5zjZqcfDyBcPjWDun3OwatTWZVK22cT+hVwjWhYuxz6jJm1JfTrotoETbB2OazXqx0LVx2wiNyBUvSr7v5EXyzhw6CemY3mwLexwahXYWnwDg7F7b99I6bCukZRoE1qTDhlG1LUmE5MKG7vxTKXgTCpBBdL1IBJa1DLhn4flnrfh/Kz7H332Td/VU0Y47wPw2cArssBDxOmp9SJR4fMD6lVStqtX7e6nS0CbBuwYGRDiJn2uzZjJohU356hFJSLnbwqU13344n4vgaS2300b9/rMxHMBX+XE/yIlPXnJSw0w79eOPHFD9VV/ZLqA63WEk/R3cHwuantnjU/7GC5/TyZ8Hfwj+mQtnAQS09ySLTrSWEq4apLjBU=) format("woff2");unicode-range:u+0100-024f,u+0259,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:Poppins;font-style:normal;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAB6IAAwAAAAAPlAAAB40AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGx4cLgZgAIFUCuUUzy4LgzYAATYCJAOGaAQgBYNEB4QLG94wM6PBxgECGX6rKEoGo5z9lwncGCL1IV1YsAiHmNnVzmZEIAZzo65J48q15fjh/igmqjoAnkvj9zM9Lwc/MLg/QhoTy/P87w++fc5930yqCsUaOQkhMc6a6qw2iXXWhAqHpCjc4flt9oxclDZSBkiUgKCIKKmISpWFCqKIWVh1c623Mhffc3VzcdNFXtV2tbjq9aV66N97t+bWkgjmqdD4iUJOXgoQ2X1bYZI4JpZCeRY5p9ao1yr03/9P1+sbzcLxvTP+LnpX7nxStEkHOCDwWgZW2CCHpXbVhggqrFhfRg7S3+ssW3llHbCP0XdVwm0cqlWmDtf8930Lvr61J9le8GpRS/Kh4UAbtBTybsjZEJYpkQwBO+gNIFSX1EBdig64aHqePpY2jVn3dGdlRsFwxhTxums/82fxaklimqUCIiercApq3ld9ngJYCwbG7dyFDBXw5QkwJ0AGITyoBySHPFxURwMBhcnHmY6CD7yMkl7iBfSV6gBX/ZQ8hJZMaFjtwrfKq3L5DlEWOAwc2OEZ9v+UV7g4W70PgFcBeqRXAfuELCpgkO2Fuq19nq7QQ1mv53rABm3WQo2yl3qrX/SrfQHIMCQciUbGIBOQAuQ8Co3eig6UFp30IR0eqViyDRmChGCB7F9VWXvx+GvH1ir/91sFK7+v/PZo8dGZR6cfnXg0/2ji0dgj3MOzD249uCEfLqOfR8lHzOc8xa2jzR5+BW5T9weXTYBkCFJU9d4ZZwwGJDov7p7qas/CmHkcQNGTRkln5SIHI5acXSfYmLiWNNe5wRRu4JZ5CVHRcyfa3UlAUM13xwx4SYAD+tLHDgIj9krRbuhuGmmap9qcJ5bDw4XbQOWq4EgJyJb/SIeJMaM7N8muzONkZFNGpmSn7F2XKqKxGloBBY3cm4qdKleWBOmwL1OuxdPoXlanymv7w68lluPIBvjw45emQ0aJHh2xQjT3a06osgKiTXCh1r6eggvZpuEridhpnZj/TfE+kWBtErIUPY/QJGMWLiS9aL10BPF8GahkK+PTGDZqlwVXpcgPfmH7Td0nNB/sZodg1druKCCNMFZxLJ0mZsWPP2vNJWnRkXx0cqzgYGuVovRG4LG24Xts4FSoVD0RhL3n2J6VyWFLnYFGs7mD125BdQQa6iLYspOx9UNwY4bZQohglvpz8QIFLFOA+/2hvBeaUKVfW0s/n9wrA+LYfDKh+aR6+/V/2P4r7bufZju/QuDV8O/3JxX7X+uHV95l/+ARXYjb9YFuOwSK4dUJY4qiV4S8OzlkXnjcYXOtmc+Q/9tiqewI4yFlsDWxPWPzC4AVCq7lVowqB8vmFvniDejzSz54Sd05tm8MKtF3qid2koOoNjOhQKAKx9rI81tAILGI955Sd+3I1cF4BrT9/kKr5i8LwjWjLaQU4rsPaGpXENsvVq1CaZTdvyGyoh31EHENTw9VN0NzKo+DqvZom8Vn8kgisBx0yKRzUmh9iHS+lqXqak0t6R3i92Byh0CPmxYDPIbsA2pt+Nswi+S9sMcVpDcup7sHGhrAGZYIOUrIYBx4TxBFy1tyvXEoOUPI098Hq8kwY1vLyEjAlzkL7VWzIdz/AM0CL/HEi1ZbTwzo9zXBZelBoYWQsBQKxErUlFpM4IoJxtu9rZqhrLyiRsw6Xo+gTZEEJlaXI0arxGhCRNfQNk+xFdywMVLMRG7OHUmRsCYrFrDpvW+j5lF2QalAv0Sh5PcgMjI8pIS+e0RLeHV4wzgp+rj/zaDYDDaXXbXxDdkm5YR7xxzZU+Psqa0XB1EKPaQXra+ir0GJWjDCGKpMmt6LmokR2XW9Cqs5K28e9Tzd6llxG4YNDkVOH5lmdSpQeYwSe4W8WR6tlZsFE4pZsvYm3rjWKE6hbOxKmptRiwTVYnJtnxlhHcnof3DK+l45aD1cJ6hm92lie9e9tlCbFyLPPaPX/J5hHv3Mqz6yFBVKg8kfPWczS6ChiNLRUuXTExB+X0fxCQ/f+9qHgK9YdkAvs27giPlQMIUrvmzp8JOh+dGKI2jMGm0p0gI4pg1NBDxBu7L/Z+PkR2VgII2vroI8clp703JBdN8TTCnwoG0TaNy0qyc+1MMFNJeP1D1f42lLIqhB+qGLOb7A09in/cTAfWd2POVx9BNjCqsKrxciWuKtBdL4qG4fbGrYNpl6fUE4kStzN4rVCw9HF0gvPjvHVq5qdoQikgorocsnROe6GpwEqUq6xUocE5jy9InoYoWI2IdbCbFx9ekbUXmoPwk8JcUadYzCfmvSHzuf3KVOaVrHU9dTe8Xg7HAr0nmLHsMxw/HjbLpPh9uU9DTtWjHhY6uGDKw8DzEXkZ1ctWxHd5zuuZxf8U65rsvklR9h23+F8u9T11oil31oE8Rh3dpOcStVcHLaeQHwFN4Lb2aCGTR/dktyb5Ft8b9NuYWMSuVFuxYa3+ukQeROLLIlh4l8LvJp5Z+wTrSmouGjCQ6wBC1DLiNoV3iFza+wva6xw0zGK4crTB9EJlAf0Pb2p9QdaHQ1lK9ke+aQRgnJ3mvEKYO3xLPQZKiT4hp2lQyVGOXQa5eZ7i+8WYxlNfVPKb5r8UuzySqb5+DxMvUfE7QtJyXCAYwb2TqPKeC8W2SgdCrq7oKyBNOtFzDGCFreetvrF6avcUekbHzW4f7pLme4CCMtXf+KC+I5VWhrGx81UhgcS8SS7YszbdaIE2Ca/b0p0wPGq0VG5EOFckX46FhhUKDMEnCoFmSDTo873Ivk0j0sHnNc3bM0JsNAW6fH5SDH6PowfUOh1/n6Q3TW913G4kdcUsUyf2ncfLQ2jzdtOLRbotu8MIVrScXWRc8d3vWRHuq5aMfpaa+nR89EZ6T++chsAiwbWN7jZphHDXXP2XQ/juEeW0hVRg3loQfKLfjOMM/R8WY1wMI5atG/DxlMv+ZkuM7hhR91cUWECw7wG3B6BNmnGLVX3c6gV/YgqmeVfp7IjP7ZQ5bzZX1vaiFp990Gdhhx1O3zoguo7/iD6r0qkv3LdGOQ/13oWfo+UEt978cr5TGn5AToMxfwcnhGG4XFGb/ia4XEw9Ttlj7pKno+M829sqfc2lx5uyxVN8syChQsmSLe4UvNgurmKPiDDY4vOKAEnyWz3oJKQ7HXT0LxLmzT3xx6adVQcIcnqZ5l4YuGSlutR8TNCYJDEGj6uFmM+uAv83lOnB5QHVu9jVcE/ZWVRIc+EwD87rYHY4+qqA+6MdgeIqEHi+kmgHVK5Pqvqgcq3eYDb50N72yYGEfuOww6B/quib8JYxOnEDsPC50jHS0TnLn24zgHsnexTOUJUnc5T1Hi6yrzMC8aKQdl20zRQmWasddR4i3nyW0+jSXe5nPq919VBOkjRQqJM/Trd4Zefxwx3hQNCwP/jQJ4lUmbnm7UyuVGMiZr7kDH5Vlz70M6oYASPIYWUhn1xkxMukYErsjkbQS9Ixhoedy8tD55PZ2Xl5IqsotQhwyRtDh5AUkgzKWSlVsm/d8JCfkvKPC1d4/PBThYmRBZczzq6OxMG+PVPeKo5JgpmgKeGrhWXRp9fN6JKzYf3WyzVqInxh3hFuvmY2DTB5sFVW18opVtS/noHtrX5o+f+4PlmcCexfiiJlxTbGKJRRviqg12FeiSSptwjRhWsVUT2lUf2gVYmxdOT51eGF84M3VmAbw4UA53sOEgz6cLksPPLG6+UTmr/oCA7r65a1d0fsFPXBgoxJcJhbAVCTbpvCkU7/AvSwDCEg4FfnE6EUimUfnZFVZZJTPWHBNzlD7rphJUVjCE9Q2NBaVjixWajUMv2wGzrqu6UmqPY+pZqSmKZc/OFK2Qy8opY0gbRms96ubWPSVh5qMpb/GRQ8i4b4hR9ZExMtQRQHENJl6/fFGxS9EJda4bO7JyFJAErEGGOBwnLeATS5Nru/obsmuZyfnkIzmfYclf0qjPSOiT9tkzH4MRdk00m1oA7AoFhlZQ1+xMS3BUJMkm6q+cXW47PywtTqDnSg41Xu4kU4RUQhSJHEgGq/p/9SdWRPE7vgWiC6XMeF0lXamsoEtZJpOWNadnG5LE4uImhlQqCJqYu/yISp5Dv2Ewv8di/o+JWcF0v7ODiOuhUIpwhC4SeNYrY+DN9hwpisyz0Fk2aTrHUZEo21V77kwn6Wi5Ni/DnsjKTzjYsryVQIkjEKJI+CgK8Oh466s86d7bX/UD1di9lL3k1dQDuAn3kn4QoPa7DmdxTpOtEHim7/G8wJFlR9MiteiohshJGDO/jCUr/61V/7s/fPWELudwiTphrEqTxRDEnl3U4ujpKp0sLbGjRJaq+rJ7EP8vaiMBQ6E1ZVdvd3VVLJZaL1Y0Dve0W2SRYWX5uKaqea15smzvyPO/5xNyjNsdFNqAIrCldFQwCjxt9o5tPrOydGtl6ax6TUMNwN6QlpOkayouFy9zShvyVVyePHeFXYG7ERV1E1dx9PgP0dF++JZX2wDytn7qsKG49VRXROUlaQaRmpXvMJnyHVnUDKL0UkTlqc7W4sMG/aQNnFma1RoO2qyGQ3Pacp9lH3VsaUl+fmlpvnyfHPxEH/2++/sJj4GF5YUB4L00AN91t+cuDFoGmx6iRVEUpaXMmG8rMyVrkhM/b6s5RDY4hvg625TBMGmzGaYmDba2+cbwUnBgaRlC+aOgZWib/zbw0+LTuQxeLD1wttTbnT2tNccJHDQiOOYB+PRXBhNahug/x725SRtaBH7qetQ9tAwBxo7lZWh2/8zggdk5aPmtG99f+x6chiJOnoKWoYjTZyAQ4z1jzJuxWvOmZ4wWy4wxZ9pqzZ2ZNlqUrxY6TebCcpW60JHDH2k1UB2ML6xO0tj/h5YDVdVsdlHqfe0KDrdCNZ80A2q9vqE+xsLIbpDs4lHGz1OaY65axS0BzIz5xvphEkJZ81YUckWZjoygycBml538Ow77O9kO/vBupEry3QSLzM+iY04jwlDRv/MD1LFJ8tSCkfKqGv2IeBZc2HI3CpGNQL/gB/KDVLFJWckcTn41OwswlwYuMiDGxQHw/dJMchKfw0nmJ89A0zlZrt4UpbKTJ+3MmQYfLP29dNe+hYuvbVnYAnipy4tL7zvfrX73/VNL5wpXW1Yv1a8WrYLfRu+23r32qPB73e3hj5s/vvYg/0cj2Lv09NOfoJ9CpWt90b3R4NkQafhxJ/4EwT0ECOOPDQ7LhocIBeDaxaGrs+cDwtDKx2CQAN6cmX8SNvc4bH6vClzBzpTNgH/frHtc2APCHTyXUyhM1JHrsiASlNWrIycKnCJep2aSK0qLixNJeDxROu1pPACEnpwgPIlOaxrNpuYUXSiuJfVmQt9BXs96RRJ6tsI7VC1O54Fwh8jVJlSUDDsCLYvOVHK8RCDQhyKnOhcD80ecNkWbUOTSCi4QbyDu8YC+g7Lrhz0jrF7qE9sVN4fn9SzelWgdVIGiXSh2abUiF189pbyVL2pVLRAIZ4j4SQdQHzIdhg5zR7mbrbX2qm0dY+6VBC8TyGA08PESZZyWljRzy3iNv+VY++sExm/8rF4tpVKqkWZI6EHVz/x5XHWbU3SczDpApR5gkaHvILddejwLFFu7MdhuIqF7eLk6FZsEkUBReDjqE1arwcwfi4XVhjZAYOexn3+59mLHj37z8Y/BPweCn779DvoOML+hN7VWiI6TmYM02iCT/P6dQiRItEOJZSQXME69a2EngmdxNXVAe1Wl79Li4sHPPp3CdJdWI+3sEioUimhpNBmd3bUcZadAzOeniqm0FJGAz4MJ3Ly0CGe04aFL0JF7dBALyipkE7hqJEKGMmo7b/dPJfuaIpYhqBYLXMpJIqENAW9LIhI5bXD4KJEIvFf19PizZN5LoQdEgszgnk8lNUXDOEZ4FonEBoQEtS5lwdmpbAo9s5goLmmw+qoPciYj4S8DQjDGhzJ4gsCPyswoxgtAzfYxrdlqsD4QjAr6of6K0YpHobUwUEgkQRm7dAQmL5/FKE1TgIdmB6xDDSOLN4kffz/x5wDjKWkPcUlbYii5tJcIZY6aR8/mDMuGQb99Qj9x4Rzs0uYr9nH9+IWLIZcDQD0x8Nv48+3h34Rd7jC1m8D94acjp/p/DPlh5Hg/MEy73Y0K98vy8dNEqq05WskwBvlGRJCPzDcPHk8X690NdBEL7pvnIw2OuITEDEu01pxTKKH0oFnh6M/cwA8d0EkIFId+hmbAaRZdigj2ke6QRRcZ3PV0cfw8WVDEG5x6uFF33foBkVtckolEu7dGbGX6prRvKbfOZ0a6jWxI8UtpBY8TR7cxBOLTIqavjW17cAGYuleaDngrGov1PnKe3OnXMuh0KvGboQZ1UNd2ACuJY/MSEvStjQNSV+9qsPJnvFno7qiWb+WzBRyLI05c09zqUXgguC0We5ISfGLmbPV+DwxCCQdPOER1SuraZHz8qTX6FW/gcGH16LPwCp32fkr+VDUx+ZT8KBY7jkSMP16+fQjge7Sw+hD4/0rVnV6o907Vlf8PgerC0YBrfcxe5hXgvZMMTUDHA+3PUuCLzo5jyq1EcVF9sYf6mIeAyaIGnvj6FzlaqUui0TJrRAmpJam09MZa8Tso1DsxMSQ/iCsdRyAmEMhxJOJYzvyyg99uHzLopm02nXnIaLUKUNZg1cV3pYn6TUbRQFe6Xg9EzWhaotau58oKmawigcAgvke8rEr9prSdgBa9l8ncGx0aW7xzk7RCmw1CJHi5FE/K7CC48ly4chklA4+Xx3dHX0AiL0avLNBRr1zIkw5qFlbzP6oBuy94Q92XOkHynQImMz+ZyyyglpysSfEF3OT4/HqV4nq1ViKBj07e6axgmlyBSfNOl3zijNyNqNkG27xp42YYGP+5bnsdCLFU5pnNFXlKZUWBKclMoMvjQ2KX4IglPP4dBHweD4YKcxf2ru5dCAv3LdRO1W7z4LXrC4WMvMa0qugND9aFR3bEGoQyiTSFGKVeBUFdSqFCqEogIRgvPdK2JZG0TIlalczuIcE3btq8hbcVzYJhUBtXN8G4TeDf848L6x5Xg1oiCVL0a0jsYO364yx7Vg40jnC4nJEtwXJ7AjUvQeR8voRyJ3gUJWOx2fIE9kROV0Dixo0JAWKXlQC2mSxLea4VECKkZZuIHA4QEhiMOLmJVB+1kUSTM7bFjCPgA1hMIwIxEQP6YzQLB5XKxAuHKMDQW6F5HUuz30cY1o7lurjXBWP3T3+OneqSdWQCi4mTGQnN/alzDh0mJexd7Mh5J6tomEuUr/f+0qQR2UhuS+KcdIj532awB5eZHeOOLkY9IzDM3P6w8+HBlb6jdT8m1l4oXoroO8IVz4jAyd1Tw1scVrijzbYBQ8futmnR+w3kSMdzbRPLfOD80pxWf9Bm1R9iUadPSPJocoiPGl9aOpmsNk/eu290X68c3C4ZHOwfKHf0D3Z3O8tV7gyM45hDQ2Cv/CCxSTxnu0tOGepKus3iWCA1iydhRRvMKWk2wuQpH/R9zrTLqko97IOaYCb2TwBUUfGW6kSNvQdaPtZZpqpmsQt49/VrONwa1fy6GVAMgpL2BK20isJVUoltKLRmu89GTHcGLFXGYTCyCggplsaCdcYDXCUi/GZQMByo4RIOEfHno8GqAMRWHINB8z8eBFK2rJceLE6NJ2GTji0GqJpL9Zwc0tHs6ewjejLb0T/fSqGIpcW/mTmZyVE3SioE3FbFQvRGPjOOzI9zvbzgCMVpwGcCqgaci1tVlaWq9dFYX/um4k3Ne2q0s563BUQKkueN1oyxrnSFvEckc2k0ko5WgYwzmnPPhuB/5M49cD8Hxt/Y4MUXCwRCEZkiEPHKYgrw/1ZTrvo/9t61vZ8ORjYBIfdSZdWOPjFfQhabZKpHqGYSUNQioehMk4nQ0XPT0WO/9mPk9Pqdn4ykCsR8gIorFdZI+C6lku+qEQttiVoj9Ae09gxxFI5oIxCJfjN4QZzQvEJPZ37o/GG/Z98JiSSz0z3/gNE4a7MZpw8a87hWjFZ0os8THVfonGgz5hpHKTPgVvowu5i1hJT5GlN+05wiHFZXgktSTFSOxinBi8VF+KT5W1nlQiRYJBLmsp9dEEj4Av6ziZoiHvPxJFQwMzshr5vIzIXrwMo+UQqdLkyJjxeSEeVJDzweGHA8KBAKuD9kIIA9rgpa3xKqWx9t0gXv/CpTpgUVs6P4UcC4OjcaNO74k1MnnOuqQeHS2IypYEzTwroFq1bFR4LWLagsNRQEttbWB58IMBhBLE4RkYevMbjYATjbnmmHDED+dBjYBDx6Q0o0/Cr3mFpOu5Dlmfpk363b/JLvy0I6Tnc0P59vh0FKoFKkscVHDNd9A7b6Xr/3mC0DTwVhnyEtSvDfc/Df7U0nLbmV7nduvaOUf/SxI3dONFUGv743en4UgPoMcMCWUrOqM2/C8O4j8gp3m3YDtTk55u+HU2zURr5f7AgE1vFveYd/xwzf7sKU2/5gsXy+wcA6/i2lU+z0LIHPtyGwjn9r/jnFPr9SqVKxEEu7ID8eEFjHv+U7/h2Xpth9xLL4fF8E1qm3aDgWe0zlFGLf9Ai2Hvg+AEhgHf+W0/w7Bvl2h6bc9okqkap3gScIrJtxyyvySijPfXmurSj+XrCbOp5b/46x/6jKZWH3qwpx7E1OIQUwqEcAIOfOC4lT7HapOhzYt706p8e/5bUpdhOsiV/nrM+u21fvrDtoi8f+6HzNFK88W3u9tBJcUoN3MvnhofuLEgDkKUBPSH7LHOz827Omoc12Njcl6duieWAl+2wG+vn4wOcgrosbO2Rf4gL5ZXzAQb4xwWQ1BBg9/5GP7q00fwBymuEm9IPRBdXV+gRuvheSwDcmkelzAw5CWOQD9K1rBpt/t2RwwRs6vk/UNWDTLipjpAIXsWsPEAVkx+B6vBcdG6HzmXGja00QedI8Wofvjajvi+At8wDs+W+LBhe8oVrXPh3//2FDL0iKdA2oOZ2ALnfd+9xPnOY/R3ljLHIDLPFmvI/pyd3E+c3Xw+MngG/fPXYH4IedzDdX3luZMq8tKm58uBtGCPxOo7bmwM6of0Ig4rzM/T7Phb682/Oy3LwKO1hFQHcgjGKIARflPmzg0b7dPg2S3hqJQQirAD1hsLnJv8OIaRDeRNE1w3UWtYNUbcVtMFj7MWs964E9PSNaMdg9T9AIyQ0TtrCk9Wubu3OI/wvVe0IiRI0MMl+ODiaeKqwXKnNfH3tAHnPRVqhWeAKY4WHWCtcsIb0qsV/wW2BC+zYqHeJTFVpWNQy0c6hs6E3wsR6oE8m/R8DU4NYMCIyNCd3yRadEp5MSM7+uHXTu8r8gKdpWGiiiZ57JJMjsEdh/euxW8RsFPJvBqw1zLY8h8owxkTjYIG4LGO55Wg/XvaKaIiDnM0qrkkrB4+Q/1oGYfCq0RMS+i0z86g4wmdHzfu/VqcVJO3TqbIoX8O9V0t4ACx4tbP7+EZC3aJNpYyvsYGisGc1QNOYnRLrGG7wJE+GAucEIHj3/2fBDv+LZBa7Q2VZC0qBuyCQA0F1m/0bF7AS9UQsRe4PYYF5SRDHeW81n7QDrAldItWC01gbPAQDQXeA/jaSQLhioZQtYElCTzj/ewC8TSD5HNKaIejQm2YoS2oiKFKFifUFYXijs37CRI+K+aU3gP2ACRrXwItD7xfvADfC97dar4c2NOzhvwMOAwR2wWjEPbosfAN52iSxzs9ECcd/n5pZ5YKpY5imEbpkXf5nEu8cxycZfHHhcTV65QrUE5P7VLKqUqBBfNRKqpIzE2SHWvf5ZRDJkc4ZFFUqUx4hS0b9MIToSSh6MTkYiP09pVESyJEKuITmTS1sB1sGtMOUHaKOs1NqItUg0lHsMSdUMXiQADqRKiL1PLYVjKWpJbY2DrMGxeBhWJcdYrYJHuoWTAzkaK+YMsXKF10ijuIjpiuXusp/zYzTH/R5I3TyAx1++dPPl99sEC22w0f9hm22x1TYBAgUJFiJUmHAwEeAQkFDQIkWJFgMDKxYOHgERCRkFFU0cOgameCxsCRJxJOFKxpMiFZ+AkIiYRJp0UhlkMmXJJqegpKKmoaWjZ2BkYpYjV578eIJp3Xos2eMnvUYNOeCYmXiBQV/ostNTz4zEG/S77oEnDjruhedemvKaN922oIDFdoXeVuSOt7zvHe96z8+KfewDHzrB6rExd33iUza/+t0AuxKlHMqUO8ypUoUq1WrVqFPvFw2aNGrWqsV5k9q16eDymz9cdM9Jp+IDPnPf5047Y9E5N7zurJv6QJZddim+YNif8fPMvDMjw51/m0/tsyUUSgrF9wrGpjJMWirf8//1wjeTRqMyAAAAAA==) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(/SolidUI-Website/zh-CN/assets/fonts/fontawesome-webfont-8b43027f47b20503057dfbbaa9401fef.eot);src:url(/SolidUI-Website/zh-CN/assets/fonts/fontawesome-webfont-8b43027f47b20503057dfbbaa9401fef.eot?#iefix&v=4.7.0) format("embedded-opentype"),url(/SolidUI-Website/zh-CN/assets/fonts/fontawesome-webfont-20fd1704ea223900efa9fd4e869efb08.woff2) format("woff2"),url(/SolidUI-Website/zh-CN/assets/fonts/fontawesome-webfont-f691f37e57f04c152e2315ab7dbad881.woff) format("woff"),url(/SolidUI-Website/zh-CN/assets/fonts/fontawesome-webfont-1e59d2330b4c6deb84b340635ed36249.ttf) format("truetype"),url(/SolidUI-Website/zh-CN/assets/images/fontawesome-webfont-c1e38fd9e0e74ba58f7a2b77ef29fdd3.svg#fontawesomeregular) format("svg")}.fa{font:14px/1 FontAwesome;font-size:inherit;text-rendering:auto}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x,.fa-stack-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{text-align:center;width:1.28571429em}.fa-ul{list-style-type:none;margin-left:2.14285714em;padding-left:0}.fa-li{left:-2.14285714em;position:absolute;text-align:center;top:.14285714em;width:2.14285714em}.fa-li.fa-lg{left:-1.85714286em}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left,.pull-left{float:left}.fa-pull-right,.pull-right{float:right}.fa.fa-pull-left,.fa.pull-left{margin-right:.3em}.fa.fa-pull-right,.fa.pull-right{margin-left:.3em}.fa-spin{animation:2s linear infinite Ha}.fa-pulse{animation:1s steps(8) infinite Ha}@keyframes Ha{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{height:2em;line-height:2em;position:relative;vertical-align:middle;width:2em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before,.fa-resistance:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before,.fa-y-combinator-square:before,.fa-yc-square:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-y-combinator:before,.fa-yc:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-paper-o:before,.fa-hand-stop-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-television:before,.fa-tv:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before{content:"\f2a3"}.fa-deaf:before,.fa-deafness:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-address-card:before,.fa-vcard:before{content:"\f2bb"}.fa-address-card-o:before,.fa-vcard-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer-full:before,.fa-thermometer:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bath:before,.fa-bathtub:before,.fa-s15:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{white-space:normal;clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.authorCol_Hf19{flex-grow:1!important;max-width:inherit!important}.imageOnlyAuthorRow_pa_O{display:flex;flex-flow:row wrap}.imageOnlyAuthorCol_G86a{margin-left:.3rem;margin-right:.3rem}.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}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}: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)}.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}.tag_Nnez{display:inline-block;margin:.5rem .5rem 0 1rem}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;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}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_vwxv{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}.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}.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)}.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:"#"}.containsTaskList_mC6p{list-style:none}.admonition_LlT9{margin-bottom:1em}.admonitionHeading_tbUL{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.3rem;text-transform:uppercase}.admonitionIcon_kALy{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_kALy svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.blogPostFooterDetailsFull_mRVl{flex-direction:column}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.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}@media only screen and (min-width:480px) and (max-width:575px){.section_heading h3{font-size:1.875rem}.container{max-width:450px}.welcome_text_area h2{font-size:2rem}}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;-ms-flex-positive:1;-webkit-box-flex:1;flex-basis:0;flex-grow:1;max-width:100%}.col-sm-12,.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.col-sm-6,.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.col-sm-4,.row-cols-sm-3>*{flex:0 0 33.333333%;max-width:33.333333%}.col-sm-3,.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.col-sm-2,.row-cols-sm-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;max-width:100%}.col-sm-1{flex:0 0 8.333333%;max-width:8.333333%}.col-sm-5{flex:0 0 41.666667%;max-width:41.666667%}.col-sm-7{flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{flex:0 0 91.666667%;max-width:91.666667%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.form-inline label{-ms-flex-align:center;justify-content:center}.form-inline .form-group,.form-inline label{align-items:center;display:flex;margin-bottom:0}.form-inline .form-group{-webkit-box-flex:0;-ms-flex-align:center;flex:0 0 auto;flex-flow:row wrap}.form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{-ms-flex-align:center;-webkit-box-align:center;-ms-flex-pack:center;-webkit-box-pack:center;align-items:center;display:flex;justify-content:center;padding-left:0;width:auto}.form-inline .form-check-input{flex-shrink:0;margin-left:0;margin-right:.25rem;margin-top:0;position:relative}.form-inline .custom-control{-ms-flex-align:center;-webkit-box-align:center;-ms-flex-pack:center;-webkit-box-pack:center;align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}.dropdown-menu-sm-left{left:0;right:auto}.dropdown-menu-sm-right{left:auto;right:0}.navbar-expand-sm{-ms-flex-pack:start;-webkit-box-pack:start;flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm,.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal}.list-group-horizontal-sm,.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{-ms-flex-preferred-size:auto;display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.card-deck{display:flex;flex-flow:row wrap;margin-left:-15px;margin-right:-15px}.card-deck .card{flex:1 0 0%;margin-bottom:0;margin-left:15px;margin-right:15px}.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{border-left:0;margin-left:0}.card-group>.card:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}.card-columns{column-count:3;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}.jumbotron{padding:4rem 2rem}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}.modal-dialog{margin:1.75rem auto;max-width:500px}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem);height:min-content}.modal-sm{max-width:300px}.d-sm-flex{display:-ms-flexbox!important;display:-webkit-box!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important}.flex-sm-row,.flex-sm-row-reverse{-webkit-box-orient:horizontal!important}.flex-sm-column,.flex-sm-column-reverse{-webkit-box-orient:vertical!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important}.flex-sm-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;-webkit-box-flex:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;-webkit-box-flex:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;-webkit-box-pack:start!important}.justify-content-sm-end{-ms-flex-pack:end!important;-webkit-box-pack:end!important}.justify-content-sm-center{-ms-flex-pack:center!important;-webkit-box-pack:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;-webkit-box-pack:justify!important}.justify-content-sm-around{-ms-flex-pack:distribute!important}.align-items-sm-start{-ms-flex-align:start!important;-webkit-box-align:start!important}.align-items-sm-end{-ms-flex-align:end!important;-webkit-box-align:end!important}.align-items-sm-center{-ms-flex-align:center!important;-webkit-box-align:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;-webkit-box-align:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;-webkit-box-align:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.float-sm-left,.float-sm-start{float:left!important}.float-sm-end,.float-sm-right{float:right!important}.me-sm-0,.mr-sm-0,.mx-sm-0{margin-right:0!important}.ml-sm-0,.ms-sm-0,.mx-sm-0{margin-left:0!important}.me-sm-1,.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.ml-sm-1,.ms-sm-1,.mx-sm-1{margin-left:.25rem!important}.me-sm-2,.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.ml-sm-2,.ms-sm-2,.mx-sm-2{margin-left:.5rem!important}.me-sm-3,.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.ml-sm-3,.ms-sm-3,.mx-sm-3{margin-left:1rem!important}.me-sm-4,.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.ml-sm-4,.ms-sm-4,.mx-sm-4{margin-left:1.5rem!important}.me-sm-5,.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.ml-sm-5,.ms-sm-5,.mx-sm-5{margin-left:3rem!important}.pe-sm-0,.pr-sm-0,.px-sm-0{padding-right:0!important}.pl-sm-0,.ps-sm-0,.px-sm-0{padding-left:0!important}.pe-sm-1,.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pl-sm-1,.ps-sm-1,.px-sm-1{padding-left:.25rem!important}.pe-sm-2,.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pl-sm-2,.ps-sm-2,.px-sm-2{padding-left:.5rem!important}.pe-sm-3,.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pl-sm-3,.ps-sm-3,.px-sm-3{padding-left:1rem!important}.pe-sm-4,.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pl-sm-4,.ps-sm-4,.px-sm-4{padding-left:1.5rem!important}.pe-sm-5,.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pl-sm-5,.ps-sm-5,.px-sm-5{padding-left:3rem!important}.me-sm-n1,.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.ml-sm-n1,.ms-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.me-sm-n2,.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.ml-sm-n2,.ms-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.me-sm-n3,.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.ml-sm-n3,.ms-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.me-sm-n4,.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.ml-sm-n4,.ms-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.me-sm-n5,.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.ml-sm-n5,.ms-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.me-sm-auto,.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.ml-sm-auto,.ms-sm-auto,.mx-sm-auto{margin-left:auto!important}.text-sm-left,.text-sm-start{text-align:left!important}.text-sm-end,.text-sm-right{text-align:right!important}.container,.container-sm{max-width:540px}.col-sm{flex:1 0 0%}.col-sm-auto,.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.col-sm-12,.row-cols-sm-1>*{flex:0 0 auto;width:100%}.col-sm-6,.row-cols-sm-2>*{flex:0 0 auto;width:50%}.col-sm-4,.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.col-sm-3,.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.col-sm-2,.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}.g-sm-6,.gx-sm-6{--bs-gutter-x:4.5rem}.g-sm-6,.gy-sm-6{--bs-gutter-y:4.5rem}.g-sm-7,.gx-sm-7{--bs-gutter-x:6rem}.g-sm-7,.gy-sm-7{--bs-gutter-y:6rem}.g-sm-8,.gx-sm-8{--bs-gutter-x:9rem}.g-sm-8,.gy-sm-8{--bs-gutter-y:9rem}.g-sm-9,.gx-sm-9{--bs-gutter-x:12rem}.g-sm-9,.gy-sm-9{--bs-gutter-y:12rem}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-6{margin:4.5rem!important}.m-sm-7{margin:6rem!important}.m-sm-8{margin:9rem!important}.m-sm-9{margin:12rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-left:0!important;margin-right:0!important}.mx-sm-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-sm-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-sm-3{margin-left:1rem!important;margin-right:1rem!important}.mx-sm-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-sm-5{margin-left:3rem!important;margin-right:3rem!important}.mx-sm-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-sm-7{margin-left:6rem!important;margin-right:6rem!important}.mx-sm-8{margin-left:9rem!important;margin-right:9rem!important}.mx-sm-9{margin-left:12rem!important;margin-right:12rem!important}.mx-sm-auto{margin-left:auto!important;margin-right:auto!important}.my-sm-0{margin-bottom:0!important;margin-top:0!important}.my-sm-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-sm-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-sm-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-sm-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-sm-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-sm-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-sm-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-sm-8{margin-bottom:9rem!important;margin-top:9rem!important}.my-sm-9{margin-bottom:12rem!important;margin-top:12rem!important}.my-sm-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-6{margin-top:4.5rem!important}.mt-sm-7{margin-top:6rem!important}.mt-sm-8{margin-top:9rem!important}.mt-sm-9{margin-top:12rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-6{margin-right:4.5rem!important}.me-sm-7{margin-right:6rem!important}.me-sm-8{margin-right:9rem!important}.me-sm-9{margin-right:12rem!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-6{margin-bottom:4.5rem!important}.mb-sm-7{margin-bottom:6rem!important}.mb-sm-8{margin-bottom:9rem!important}.mb-sm-9{margin-bottom:12rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-6{margin-left:4.5rem!important}.ms-sm-7{margin-left:6rem!important}.ms-sm-8{margin-left:9rem!important}.ms-sm-9{margin-left:12rem!important}.m-sm-n1{margin:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.m-sm-n3{margin:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.m-sm-n6{margin:-4.5rem!important}.m-sm-n7{margin:-6rem!important}.m-sm-n8{margin:-9rem!important}.m-sm-n9{margin:-12rem!important}.mx-sm-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-sm-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-sm-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-sm-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-sm-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-sm-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-sm-n7{margin-left:-6rem!important;margin-right:-6rem!important}.mx-sm-n8{margin-left:-9rem!important;margin-right:-9rem!important}.mx-sm-n9{margin-left:-12rem!important;margin-right:-12rem!important}.my-sm-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-sm-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-sm-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-sm-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-sm-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-sm-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-sm-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.my-sm-n8{margin-bottom:-9rem!important;margin-top:-9rem!important}.my-sm-n9{margin-bottom:-12rem!important;margin-top:-12rem!important}.mt-sm-n1{margin-top:-.25rem!important}.mt-sm-n2{margin-top:-.5rem!important}.mt-sm-n3{margin-top:-1rem!important}.mt-sm-n4{margin-top:-1.5rem!important}.mt-sm-n5{margin-top:-3rem!important}.mt-sm-n6{margin-top:-4.5rem!important}.mt-sm-n7{margin-top:-6rem!important}.mt-sm-n8{margin-top:-9rem!important}.mt-sm-n9{margin-top:-12rem!important}.me-sm-n6{margin-right:-4.5rem!important}.me-sm-n7{margin-right:-6rem!important}.me-sm-n8{margin-right:-9rem!important}.me-sm-n9{margin-right:-12rem!important}.mb-sm-n1{margin-bottom:-.25rem!important}.mb-sm-n2{margin-bottom:-.5rem!important}.mb-sm-n3{margin-bottom:-1rem!important}.mb-sm-n4{margin-bottom:-1.5rem!important}.mb-sm-n5{margin-bottom:-3rem!important}.mb-sm-n6{margin-bottom:-4.5rem!important}.mb-sm-n7{margin-bottom:-6rem!important}.mb-sm-n8{margin-bottom:-9rem!important}.mb-sm-n9{margin-bottom:-12rem!important}.ms-sm-n6{margin-left:-4.5rem!important}.ms-sm-n7{margin-left:-6rem!important}.ms-sm-n8{margin-left:-9rem!important}.ms-sm-n9{margin-left:-12rem!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.p-sm-6{padding:4.5rem!important}.p-sm-7{padding:6rem!important}.p-sm-8{padding:9rem!important}.p-sm-9{padding:12rem!important}.px-sm-0{padding-left:0!important;padding-right:0!important}.px-sm-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-sm-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-sm-3{padding-left:1rem!important;padding-right:1rem!important}.px-sm-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-sm-5{padding-left:3rem!important;padding-right:3rem!important}.px-sm-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-sm-7{padding-left:6rem!important;padding-right:6rem!important}.px-sm-8{padding-left:9rem!important;padding-right:9rem!important}.px-sm-9{padding-left:12rem!important;padding-right:12rem!important}.py-sm-0{padding-bottom:0!important;padding-top:0!important}.py-sm-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-sm-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-sm-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-sm-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-sm-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-sm-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-sm-7{padding-bottom:6rem!important;padding-top:6rem!important}.py-sm-8{padding-bottom:9rem!important;padding-top:9rem!important}.py-sm-9{padding-bottom:12rem!important;padding-top:12rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pt-sm-6{padding-top:4.5rem!important}.pt-sm-7{padding-top:6rem!important}.pt-sm-8{padding-top:9rem!important}.pt-sm-9{padding-top:12rem!important}.pe-sm-6{padding-right:4.5rem!important}.pe-sm-7{padding-right:6rem!important}.pe-sm-8{padding-right:9rem!important}.pe-sm-9{padding-right:12rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.pb-sm-6{padding-bottom:4.5rem!important}.pb-sm-7{padding-bottom:6rem!important}.pb-sm-8{padding-bottom:9rem!important}.pb-sm-9{padding-bottom:12rem!important}.ps-sm-6{padding-left:4.5rem!important}.ps-sm-7{padding-left:6rem!important}.ps-sm-8{padding-left:9rem!important}.ps-sm-9{padding-left:12rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.gap-sm-6{gap:4.5rem!important}.gap-sm-7{gap:6rem!important}.gap-sm-8{gap:9rem!important}.gap-sm-9{gap:12rem!important}.text-sm-center{text-align:center!important}}@media only screen and (min-width:576px) and (max-width:767px){.section_heading h3,.welcome_text_area h2{font-size:2rem}.container{max-width:540px}.welcome_area_thumb{padding-top:0}.welcome_text_area{margin-bottom:0;padding-top:50px}.icon_box{flex:0 0 65px;font-size:1.75rem;height:65px;max-width:65px;width:65px}.icon_box i{line-height:65px}.single_work_step:before{display:block;font-size:1.5rem;right:-35%}.single_work_step p{font-size:13px}.single_work_step:focus:before,.single_work_step:hover:before{right:-40%}.system_info{margin-bottom:0;padding-top:40px}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;-ms-flex-positive:1;-webkit-box-flex:1;flex-basis:0;flex-grow:1;max-width:100%}.col-md-12,.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.col-md-6,.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.col-md-4,.row-cols-md-3>*{flex:0 0 33.333333%;max-width:33.333333%}.col-md-3,.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.col-md-2,.row-cols-md-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;max-width:100%}.col-md-1{flex:0 0 8.333333%;max-width:8.333333%}.col-md-5{flex:0 0 41.666667%;max-width:41.666667%}.col-md-7{flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{flex:0 0 91.666667%;max-width:91.666667%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.dropdown-menu-md-left{left:0;right:auto}.dropdown-menu-md-right{left:auto;right:0}.navbar-expand-md{-ms-flex-pack:start;-webkit-box-pack:start;flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md,.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal}.list-group-horizontal-md,.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{-ms-flex-preferred-size:auto;display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-md>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}.d-md-flex{display:-ms-flexbox!important;display:-webkit-box!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important}.flex-md-row,.flex-md-row-reverse{-webkit-box-orient:horizontal!important}.flex-md-column,.flex-md-column-reverse{-webkit-box-orient:vertical!important}.flex-md-wrap{-ms-flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important}.flex-md-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;-webkit-box-flex:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;-webkit-box-flex:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important}.justify-content-md-start{-ms-flex-pack:start!important;-webkit-box-pack:start!important}.justify-content-md-end{-ms-flex-pack:end!important;-webkit-box-pack:end!important}.justify-content-md-center{-ms-flex-pack:center!important;-webkit-box-pack:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;-webkit-box-pack:justify!important}.justify-content-md-around{-ms-flex-pack:distribute!important}.align-items-md-start{-ms-flex-align:start!important;-webkit-box-align:start!important}.align-items-md-end{-ms-flex-align:end!important;-webkit-box-align:end!important}.align-items-md-center{-ms-flex-align:center!important;-webkit-box-align:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;-webkit-box-align:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;-webkit-box-align:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.float-md-left,.float-md-start{float:left!important}.float-md-end,.float-md-right{float:right!important}.me-md-0,.mr-md-0,.mx-md-0{margin-right:0!important}.ml-md-0,.ms-md-0,.mx-md-0{margin-left:0!important}.me-md-1,.mr-md-1,.mx-md-1{margin-right:.25rem!important}.ml-md-1,.ms-md-1,.mx-md-1{margin-left:.25rem!important}.me-md-2,.mr-md-2,.mx-md-2{margin-right:.5rem!important}.ml-md-2,.ms-md-2,.mx-md-2{margin-left:.5rem!important}.me-md-3,.mr-md-3,.mx-md-3{margin-right:1rem!important}.ml-md-3,.ms-md-3,.mx-md-3{margin-left:1rem!important}.me-md-4,.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.ml-md-4,.ms-md-4,.mx-md-4{margin-left:1.5rem!important}.me-md-5,.mr-md-5,.mx-md-5{margin-right:3rem!important}.ml-md-5,.ms-md-5,.mx-md-5{margin-left:3rem!important}.pe-md-0,.pr-md-0,.px-md-0{padding-right:0!important}.pl-md-0,.ps-md-0,.px-md-0{padding-left:0!important}.pe-md-1,.pr-md-1,.px-md-1{padding-right:.25rem!important}.pl-md-1,.ps-md-1,.px-md-1{padding-left:.25rem!important}.pe-md-2,.pr-md-2,.px-md-2{padding-right:.5rem!important}.pl-md-2,.ps-md-2,.px-md-2{padding-left:.5rem!important}.pe-md-3,.pr-md-3,.px-md-3{padding-right:1rem!important}.pl-md-3,.ps-md-3,.px-md-3{padding-left:1rem!important}.pe-md-4,.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pl-md-4,.ps-md-4,.px-md-4{padding-left:1.5rem!important}.pe-md-5,.pr-md-5,.px-md-5{padding-right:3rem!important}.pl-md-5,.ps-md-5,.px-md-5{padding-left:3rem!important}.me-md-n1,.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.ml-md-n1,.ms-md-n1,.mx-md-n1{margin-left:-.25rem!important}.me-md-n2,.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.ml-md-n2,.ms-md-n2,.mx-md-n2{margin-left:-.5rem!important}.me-md-n3,.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.ml-md-n3,.ms-md-n3,.mx-md-n3{margin-left:-1rem!important}.me-md-n4,.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.ml-md-n4,.ms-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.me-md-n5,.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.ml-md-n5,.ms-md-n5,.mx-md-n5{margin-left:-3rem!important}.me-md-auto,.mr-md-auto,.mx-md-auto{margin-right:auto!important}.ml-md-auto,.ms-md-auto,.mx-md-auto{margin-left:auto!important}.text-md-left,.text-md-start{text-align:left!important}.text-md-end,.text-md-right{text-align:right!important}.container,.container-md,.container-sm{max-width:720px}.col-md{flex:1 0 0%}.col-md-auto,.row-cols-md-auto>*{flex:0 0 auto;width:auto}.col-md-12,.row-cols-md-1>*{flex:0 0 auto;width:100%}.col-md-6,.row-cols-md-2>*{flex:0 0 auto;width:50%}.col-md-4,.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.col-md-3,.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.col-md-2,.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}.g-md-6,.gx-md-6{--bs-gutter-x:4.5rem}.g-md-6,.gy-md-6{--bs-gutter-y:4.5rem}.g-md-7,.gx-md-7{--bs-gutter-x:6rem}.g-md-7,.gy-md-7{--bs-gutter-y:6rem}.g-md-8,.gx-md-8{--bs-gutter-x:9rem}.g-md-8,.gy-md-8{--bs-gutter-y:9rem}.g-md-9,.gx-md-9{--bs-gutter-x:12rem}.g-md-9,.gy-md-9{--bs-gutter-y:12rem}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-6{margin:4.5rem!important}.m-md-7{margin:6rem!important}.m-md-8{margin:9rem!important}.m-md-9{margin:12rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-left:0!important;margin-right:0!important}.mx-md-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-md-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-md-3{margin-left:1rem!important;margin-right:1rem!important}.mx-md-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-md-5{margin-left:3rem!important;margin-right:3rem!important}.mx-md-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-md-7{margin-left:6rem!important;margin-right:6rem!important}.mx-md-8{margin-left:9rem!important;margin-right:9rem!important}.mx-md-9{margin-left:12rem!important;margin-right:12rem!important}.mx-md-auto{margin-left:auto!important;margin-right:auto!important}.my-md-0{margin-bottom:0!important;margin-top:0!important}.my-md-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-md-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-md-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-md-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-md-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-md-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-md-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-md-8{margin-bottom:9rem!important;margin-top:9rem!important}.my-md-9{margin-bottom:12rem!important;margin-top:12rem!important}.my-md-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-6{margin-top:4.5rem!important}.mt-md-7{margin-top:6rem!important}.mt-md-8{margin-top:9rem!important}.mt-md-9{margin-top:12rem!important}.mt-md-auto{margin-top:auto!important}.me-md-6{margin-right:4.5rem!important}.me-md-7{margin-right:6rem!important}.me-md-8{margin-right:9rem!important}.me-md-9{margin-right:12rem!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-6{margin-bottom:4.5rem!important}.mb-md-7{margin-bottom:6rem!important}.mb-md-8{margin-bottom:9rem!important}.mb-md-9{margin-bottom:12rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-6{margin-left:4.5rem!important}.ms-md-7{margin-left:6rem!important}.ms-md-8{margin-left:9rem!important}.ms-md-9{margin-left:12rem!important}.m-md-n1{margin:-.25rem!important}.m-md-n2{margin:-.5rem!important}.m-md-n3{margin:-1rem!important}.m-md-n4{margin:-1.5rem!important}.m-md-n5{margin:-3rem!important}.m-md-n6{margin:-4.5rem!important}.m-md-n7{margin:-6rem!important}.m-md-n8{margin:-9rem!important}.m-md-n9{margin:-12rem!important}.mx-md-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-md-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-md-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-md-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-md-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-md-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-md-n7{margin-left:-6rem!important;margin-right:-6rem!important}.mx-md-n8{margin-left:-9rem!important;margin-right:-9rem!important}.mx-md-n9{margin-left:-12rem!important;margin-right:-12rem!important}.my-md-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-md-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-md-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-md-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-md-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-md-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-md-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.my-md-n8{margin-bottom:-9rem!important;margin-top:-9rem!important}.my-md-n9{margin-bottom:-12rem!important;margin-top:-12rem!important}.mt-md-n1{margin-top:-.25rem!important}.mt-md-n2{margin-top:-.5rem!important}.mt-md-n3{margin-top:-1rem!important}.mt-md-n4{margin-top:-1.5rem!important}.mt-md-n5{margin-top:-3rem!important}.mt-md-n6{margin-top:-4.5rem!important}.mt-md-n7{margin-top:-6rem!important}.mt-md-n8{margin-top:-9rem!important}.mt-md-n9{margin-top:-12rem!important}.me-md-n6{margin-right:-4.5rem!important}.me-md-n7{margin-right:-6rem!important}.me-md-n8{margin-right:-9rem!important}.me-md-n9{margin-right:-12rem!important}.mb-md-n1{margin-bottom:-.25rem!important}.mb-md-n2{margin-bottom:-.5rem!important}.mb-md-n3{margin-bottom:-1rem!important}.mb-md-n4{margin-bottom:-1.5rem!important}.mb-md-n5{margin-bottom:-3rem!important}.mb-md-n6{margin-bottom:-4.5rem!important}.mb-md-n7{margin-bottom:-6rem!important}.mb-md-n8{margin-bottom:-9rem!important}.mb-md-n9{margin-bottom:-12rem!important}.ms-md-n6{margin-left:-4.5rem!important}.ms-md-n7{margin-left:-6rem!important}.ms-md-n8{margin-left:-9rem!important}.ms-md-n9{margin-left:-12rem!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.p-md-6{padding:4.5rem!important}.p-md-7{padding:6rem!important}.p-md-8{padding:9rem!important}.p-md-9{padding:12rem!important}.px-md-0{padding-left:0!important;padding-right:0!important}.px-md-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-md-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-md-3{padding-left:1rem!important;padding-right:1rem!important}.px-md-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-md-5{padding-left:3rem!important;padding-right:3rem!important}.px-md-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-md-7{padding-left:6rem!important;padding-right:6rem!important}.px-md-8{padding-left:9rem!important;padding-right:9rem!important}.px-md-9{padding-left:12rem!important;padding-right:12rem!important}.py-md-0{padding-bottom:0!important;padding-top:0!important}.py-md-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-md-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-md-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-md-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-md-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-md-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-md-7{padding-bottom:6rem!important;padding-top:6rem!important}.py-md-8{padding-bottom:9rem!important;padding-top:9rem!important}.py-md-9{padding-bottom:12rem!important;padding-top:12rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pt-md-6{padding-top:4.5rem!important}.pt-md-7{padding-top:6rem!important}.pt-md-8{padding-top:9rem!important}.pt-md-9{padding-top:12rem!important}.pe-md-6{padding-right:4.5rem!important}.pe-md-7{padding-right:6rem!important}.pe-md-8{padding-right:9rem!important}.pe-md-9{padding-right:12rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.pb-md-6{padding-bottom:4.5rem!important}.pb-md-7{padding-bottom:6rem!important}.pb-md-8{padding-bottom:9rem!important}.pb-md-9{padding-bottom:12rem!important}.ps-md-6{padding-left:4.5rem!important}.ps-md-7{padding-left:6rem!important}.ps-md-8{padding-left:9rem!important}.ps-md-9{padding-left:12rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.gap-md-6{gap:4.5rem!important}.gap-md-7{gap:6rem!important}.gap-md-8{gap:9rem!important}.gap-md-9{gap:12rem!important}.text-md-center{text-align:center!important}}@media only screen and (min-width:768px) and (max-width:991px){.section_heading h3{font-size:2.25rem}.hero-slides .single-hero-slide,.welcome_area{height:650px}.welcome_text_area h2{font-size:2.2rem}.welcome_area_thumb{padding-top:63px}.welcome_text_area{padding-top:60px}.single_work_step:before,.single_work_step:focus:before,.single_work_step:hover:before{right:-70%}.single_work_step p{font-size:13px}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;-ms-flex-positive:1;-webkit-box-flex:1;flex-basis:0;flex-grow:1;max-width:100%}.col-lg-12,.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.col-lg-6,.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.col-lg-4,.row-cols-lg-3>*{flex:0 0 33.333333%;max-width:33.333333%}.col-lg-3,.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.col-lg-2,.row-cols-lg-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;max-width:100%}.col-lg-1{flex:0 0 8.333333%;max-width:8.333333%}.col-lg-5{flex:0 0 41.666667%;max-width:41.666667%}.col-lg-7{flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{flex:0 0 91.666667%;max-width:91.666667%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.dropdown-menu-lg-left{left:0;right:auto}.dropdown-menu-lg-right{left:auto;right:0}.navbar-expand-lg{-ms-flex-pack:start;-webkit-box-pack:start;flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg,.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal}.list-group-horizontal-lg,.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{-ms-flex-preferred-size:auto;display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}.modal-lg,.modal-xl{max-width:800px}.d-lg-flex{display:-ms-flexbox!important;display:-webkit-box!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important}.flex-lg-row,.flex-lg-row-reverse{-webkit-box-orient:horizontal!important}.flex-lg-column,.flex-lg-column-reverse{-webkit-box-orient:vertical!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important}.flex-lg-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;-webkit-box-flex:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;-webkit-box-flex:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;-webkit-box-pack:start!important}.justify-content-lg-end{-ms-flex-pack:end!important;-webkit-box-pack:end!important}.justify-content-lg-center{-ms-flex-pack:center!important;-webkit-box-pack:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;-webkit-box-pack:justify!important}.justify-content-lg-around{-ms-flex-pack:distribute!important}.align-items-lg-start{-ms-flex-align:start!important;-webkit-box-align:start!important}.align-items-lg-end{-ms-flex-align:end!important;-webkit-box-align:end!important}.align-items-lg-center{-ms-flex-align:center!important;-webkit-box-align:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;-webkit-box-align:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;-webkit-box-align:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.float-lg-left,.float-lg-start{float:left!important}.float-lg-end,.float-lg-right{float:right!important}.me-lg-0,.mr-lg-0,.mx-lg-0{margin-right:0!important}.ml-lg-0,.ms-lg-0,.mx-lg-0{margin-left:0!important}.me-lg-1,.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.ml-lg-1,.ms-lg-1,.mx-lg-1{margin-left:.25rem!important}.me-lg-2,.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.ml-lg-2,.ms-lg-2,.mx-lg-2{margin-left:.5rem!important}.me-lg-3,.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.ml-lg-3,.ms-lg-3,.mx-lg-3{margin-left:1rem!important}.me-lg-4,.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.ml-lg-4,.ms-lg-4,.mx-lg-4{margin-left:1.5rem!important}.me-lg-5,.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.ml-lg-5,.ms-lg-5,.mx-lg-5{margin-left:3rem!important}.pe-lg-0,.pr-lg-0,.px-lg-0{padding-right:0!important}.pl-lg-0,.ps-lg-0,.px-lg-0{padding-left:0!important}.pe-lg-1,.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pl-lg-1,.ps-lg-1,.px-lg-1{padding-left:.25rem!important}.pe-lg-2,.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pl-lg-2,.ps-lg-2,.px-lg-2{padding-left:.5rem!important}.pe-lg-3,.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pl-lg-3,.ps-lg-3,.px-lg-3{padding-left:1rem!important}.pe-lg-4,.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pl-lg-4,.ps-lg-4,.px-lg-4{padding-left:1.5rem!important}.pe-lg-5,.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pl-lg-5,.ps-lg-5,.px-lg-5{padding-left:3rem!important}.me-lg-n1,.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.ml-lg-n1,.ms-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.me-lg-n2,.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.ml-lg-n2,.ms-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.me-lg-n3,.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.ml-lg-n3,.ms-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.me-lg-n4,.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.ml-lg-n4,.ms-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.me-lg-n5,.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.ml-lg-n5,.ms-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.me-lg-auto,.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.ml-lg-auto,.ms-lg-auto,.mx-lg-auto{margin-left:auto!important}.text-lg-left,.text-lg-start{text-align:left!important}.text-lg-end,.text-lg-right{text-align:right!important}.container,.container-lg,.container-md,.container-sm{max-width:960px}.col-lg{flex:1 0 0%}.col-lg-auto,.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.col-lg-12,.row-cols-lg-1>*{flex:0 0 auto;width:100%}.col-lg-6,.row-cols-lg-2>*{flex:0 0 auto;width:50%}.col-lg-4,.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.col-lg-3,.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.col-lg-2,.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}.g-lg-6,.gx-lg-6{--bs-gutter-x:4.5rem}.g-lg-6,.gy-lg-6{--bs-gutter-y:4.5rem}.g-lg-7,.gx-lg-7{--bs-gutter-x:6rem}.g-lg-7,.gy-lg-7{--bs-gutter-y:6rem}.g-lg-8,.gx-lg-8{--bs-gutter-x:9rem}.g-lg-8,.gy-lg-8{--bs-gutter-y:9rem}.g-lg-9,.gx-lg-9{--bs-gutter-x:12rem}.g-lg-9,.gy-lg-9{--bs-gutter-y:12rem}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-6{margin:4.5rem!important}.m-lg-7{margin:6rem!important}.m-lg-8{margin:9rem!important}.m-lg-9{margin:12rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-left:0!important;margin-right:0!important}.mx-lg-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-lg-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-lg-3{margin-left:1rem!important;margin-right:1rem!important}.mx-lg-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-lg-5{margin-left:3rem!important;margin-right:3rem!important}.mx-lg-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-lg-7{margin-left:6rem!important;margin-right:6rem!important}.mx-lg-8{margin-left:9rem!important;margin-right:9rem!important}.mx-lg-9{margin-left:12rem!important;margin-right:12rem!important}.mx-lg-auto{margin-left:auto!important;margin-right:auto!important}.my-lg-0{margin-bottom:0!important;margin-top:0!important}.my-lg-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-lg-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-lg-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-lg-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-lg-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-lg-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-lg-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-lg-8{margin-bottom:9rem!important;margin-top:9rem!important}.my-lg-9{margin-bottom:12rem!important;margin-top:12rem!important}.my-lg-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-6{margin-top:4.5rem!important}.mt-lg-7{margin-top:6rem!important}.mt-lg-8{margin-top:9rem!important}.mt-lg-9{margin-top:12rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-6{margin-right:4.5rem!important}.me-lg-7{margin-right:6rem!important}.me-lg-8{margin-right:9rem!important}.me-lg-9{margin-right:12rem!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-6{margin-bottom:4.5rem!important}.mb-lg-7{margin-bottom:6rem!important}.mb-lg-8{margin-bottom:9rem!important}.mb-lg-9{margin-bottom:12rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-6{margin-left:4.5rem!important}.ms-lg-7{margin-left:6rem!important}.ms-lg-8{margin-left:9rem!important}.ms-lg-9{margin-left:12rem!important}.m-lg-n1{margin:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.m-lg-n3{margin:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.m-lg-n6{margin:-4.5rem!important}.m-lg-n7{margin:-6rem!important}.m-lg-n8{margin:-9rem!important}.m-lg-n9{margin:-12rem!important}.mx-lg-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-lg-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-lg-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-lg-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-lg-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-lg-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-lg-n7{margin-left:-6rem!important;margin-right:-6rem!important}.mx-lg-n8{margin-left:-9rem!important;margin-right:-9rem!important}.mx-lg-n9{margin-left:-12rem!important;margin-right:-12rem!important}.my-lg-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-lg-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-lg-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-lg-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-lg-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-lg-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-lg-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.my-lg-n8{margin-bottom:-9rem!important;margin-top:-9rem!important}.my-lg-n9{margin-bottom:-12rem!important;margin-top:-12rem!important}.mt-lg-n1{margin-top:-.25rem!important}.mt-lg-n2{margin-top:-.5rem!important}.mt-lg-n3{margin-top:-1rem!important}.mt-lg-n4{margin-top:-1.5rem!important}.mt-lg-n5{margin-top:-3rem!important}.mt-lg-n6{margin-top:-4.5rem!important}.mt-lg-n7{margin-top:-6rem!important}.mt-lg-n8{margin-top:-9rem!important}.mt-lg-n9{margin-top:-12rem!important}.me-lg-n6{margin-right:-4.5rem!important}.me-lg-n7{margin-right:-6rem!important}.me-lg-n8{margin-right:-9rem!important}.me-lg-n9{margin-right:-12rem!important}.mb-lg-n1{margin-bottom:-.25rem!important}.mb-lg-n2{margin-bottom:-.5rem!important}.mb-lg-n3{margin-bottom:-1rem!important}.mb-lg-n4{margin-bottom:-1.5rem!important}.mb-lg-n5{margin-bottom:-3rem!important}.mb-lg-n6{margin-bottom:-4.5rem!important}.mb-lg-n7{margin-bottom:-6rem!important}.mb-lg-n8{margin-bottom:-9rem!important}.mb-lg-n9{margin-bottom:-12rem!important}.ms-lg-n6{margin-left:-4.5rem!important}.ms-lg-n7{margin-left:-6rem!important}.ms-lg-n8{margin-left:-9rem!important}.ms-lg-n9{margin-left:-12rem!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.p-lg-6{padding:4.5rem!important}.p-lg-7{padding:6rem!important}.p-lg-8{padding:9rem!important}.p-lg-9{padding:12rem!important}.px-lg-0{padding-left:0!important;padding-right:0!important}.px-lg-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-lg-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-lg-3{padding-left:1rem!important;padding-right:1rem!important}.px-lg-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-lg-5{padding-left:3rem!important;padding-right:3rem!important}.px-lg-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-lg-7{padding-left:6rem!important;padding-right:6rem!important}.px-lg-8{padding-left:9rem!important;padding-right:9rem!important}.px-lg-9{padding-left:12rem!important;padding-right:12rem!important}.py-lg-0{padding-bottom:0!important;padding-top:0!important}.py-lg-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-lg-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-lg-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-lg-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-lg-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-lg-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-lg-7{padding-bottom:6rem!important;padding-top:6rem!important}.py-lg-8{padding-bottom:9rem!important;padding-top:9rem!important}.py-lg-9{padding-bottom:12rem!important;padding-top:12rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pt-lg-6{padding-top:4.5rem!important}.pt-lg-7{padding-top:6rem!important}.pt-lg-8{padding-top:9rem!important}.pt-lg-9{padding-top:12rem!important}.pe-lg-6{padding-right:4.5rem!important}.pe-lg-7{padding-right:6rem!important}.pe-lg-8{padding-right:9rem!important}.pe-lg-9{padding-right:12rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.pb-lg-6{padding-bottom:4.5rem!important}.pb-lg-7{padding-bottom:6rem!important}.pb-lg-8{padding-bottom:9rem!important}.pb-lg-9{padding-bottom:12rem!important}.ps-lg-6{padding-left:4.5rem!important}.ps-lg-7{padding-left:6rem!important}.ps-lg-8{padding-left:9rem!important}.ps-lg-9{padding-left:12rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.gap-lg-6{gap:4.5rem!important}.gap-lg-7{gap:6rem!important}.gap-lg-8{gap:9rem!important}.gap-lg-9{gap:12rem!important}.text-lg-center{text-align:center!important}}@media only screen and (min-width:992px) and (max-width:1199px){.section_heading h3{font-size:2.125rem}.welcome_area{height:720px}.welcome_text_area h2{font-size:2.5rem}.hero-slides .single-hero-slide{height:750px}}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_m80_{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.searchBox_ZlJk{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.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_BlDH,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_m80_:focus,.expandButton_m80_: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_m80_{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_BlDH{transform:rotate(180deg)}.docSidebarContainer_b6E3{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);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_b3ry{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_Xe31{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_gTbr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_Uz_u{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_czyv{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn{max-width:75%!important}}@media (min-width:1000px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1350px}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;-ms-flex-positive:1;-webkit-box-flex:1;flex-basis:0;flex-grow:1;max-width:100%}.col-xl-12,.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.col-xl-6,.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.col-xl-4,.row-cols-xl-3>*{flex:0 0 33.333333%;max-width:33.333333%}.col-xl-3,.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.col-xl-2,.row-cols-xl-6>*{flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;max-width:100%}.col-xl-1{flex:0 0 8.333333%;max-width:8.333333%}.col-xl-5{flex:0 0 41.666667%;max-width:41.666667%}.col-xl-7{flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{flex:0 0 91.666667%;max-width:91.666667%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.dropdown-menu-xl-left{left:0;right:auto}.dropdown-menu-xl-right{left:auto;right:0}.navbar-expand-xl{-ms-flex-pack:start;-webkit-box-pack:start;flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl,.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal}.list-group-horizontal-xl,.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{-ms-flex-preferred-size:auto;display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-bottom-left-radius:0;border-top-right-radius:.25rem}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}.modal-xl{max-width:1140px}.d-xl-flex{display:-ms-flexbox!important;display:-webkit-box!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important}.flex-xl-row,.flex-xl-row-reverse{-webkit-box-orient:horizontal!important}.flex-xl-column,.flex-xl-column-reverse{-webkit-box-orient:vertical!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important}.flex-xl-fill{-webkit-box-flex:1!important;-ms-flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;-webkit-box-flex:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;-webkit-box-flex:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;-webkit-box-pack:start!important}.justify-content-xl-end{-ms-flex-pack:end!important;-webkit-box-pack:end!important}.justify-content-xl-center{-ms-flex-pack:center!important;-webkit-box-pack:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;-webkit-box-pack:justify!important}.justify-content-xl-around{-ms-flex-pack:distribute!important}.align-items-xl-start{-ms-flex-align:start!important;-webkit-box-align:start!important}.align-items-xl-end{-ms-flex-align:end!important;-webkit-box-align:end!important}.align-items-xl-center{-ms-flex-align:center!important;-webkit-box-align:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;-webkit-box-align:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;-webkit-box-align:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}.float-xl-left,.float-xl-start{float:left!important}.float-xl-end,.float-xl-right{float:right!important}.me-xl-0,.mr-xl-0,.mx-xl-0{margin-right:0!important}.ml-xl-0,.ms-xl-0,.mx-xl-0{margin-left:0!important}.me-xl-1,.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.ml-xl-1,.ms-xl-1,.mx-xl-1{margin-left:.25rem!important}.me-xl-2,.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.ml-xl-2,.ms-xl-2,.mx-xl-2{margin-left:.5rem!important}.me-xl-3,.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.ml-xl-3,.ms-xl-3,.mx-xl-3{margin-left:1rem!important}.me-xl-4,.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.ml-xl-4,.ms-xl-4,.mx-xl-4{margin-left:1.5rem!important}.me-xl-5,.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.ml-xl-5,.ms-xl-5,.mx-xl-5{margin-left:3rem!important}.pe-xl-0,.pr-xl-0,.px-xl-0{padding-right:0!important}.pl-xl-0,.ps-xl-0,.px-xl-0{padding-left:0!important}.pe-xl-1,.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pl-xl-1,.ps-xl-1,.px-xl-1{padding-left:.25rem!important}.pe-xl-2,.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pl-xl-2,.ps-xl-2,.px-xl-2{padding-left:.5rem!important}.pe-xl-3,.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pl-xl-3,.ps-xl-3,.px-xl-3{padding-left:1rem!important}.pe-xl-4,.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pl-xl-4,.ps-xl-4,.px-xl-4{padding-left:1.5rem!important}.pe-xl-5,.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pl-xl-5,.ps-xl-5,.px-xl-5{padding-left:3rem!important}.me-xl-n1,.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.ml-xl-n1,.ms-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.me-xl-n2,.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.ml-xl-n2,.ms-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.me-xl-n3,.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.ml-xl-n3,.ms-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.me-xl-n4,.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.ml-xl-n4,.ms-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.me-xl-n5,.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.ml-xl-n5,.ms-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.me-xl-auto,.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.ml-xl-auto,.ms-xl-auto,.mx-xl-auto{margin-left:auto!important}.text-xl-left,.text-xl-start{text-align:left!important}.text-xl-end,.text-xl-right{text-align:right!important}.display-1{font-size:4.375rem}.display-2{font-size:3.8125rem}.display-3{font-size:3rem}.display-4{font-size:2.8125rem}.display-5{font-size:2.6875rem}.display-6{font-size:2.5rem}.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1200px}.col-xl{flex:1 0 0%}.col-xl-auto,.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.col-xl-12,.row-cols-xl-1>*{flex:0 0 auto;width:100%}.col-xl-6,.row-cols-xl-2>*{flex:0 0 auto;width:50%}.col-xl-4,.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.col-xl-3,.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.col-xl-2,.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}.g-xl-6,.gx-xl-6{--bs-gutter-x:4.5rem}.g-xl-6,.gy-xl-6{--bs-gutter-y:4.5rem}.g-xl-7,.gx-xl-7{--bs-gutter-x:6rem}.g-xl-7,.gy-xl-7{--bs-gutter-y:6rem}.g-xl-8,.gx-xl-8{--bs-gutter-x:9rem}.g-xl-8,.gy-xl-8{--bs-gutter-y:9rem}.g-xl-9,.gx-xl-9{--bs-gutter-x:12rem}.g-xl-9,.gy-xl-9{--bs-gutter-y:12rem}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-6{margin:4.5rem!important}.m-xl-7{margin:6rem!important}.m-xl-8{margin:9rem!important}.m-xl-9{margin:12rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-left:0!important;margin-right:0!important}.mx-xl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xl-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-xl-7{margin-left:6rem!important;margin-right:6rem!important}.mx-xl-8{margin-left:9rem!important;margin-right:9rem!important}.mx-xl-9{margin-left:12rem!important;margin-right:12rem!important}.mx-xl-auto{margin-left:auto!important;margin-right:auto!important}.my-xl-0{margin-bottom:0!important;margin-top:0!important}.my-xl-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-xl-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-xl-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-xl-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-xl-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-xl-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-xl-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-xl-8{margin-bottom:9rem!important;margin-top:9rem!important}.my-xl-9{margin-bottom:12rem!important;margin-top:12rem!important}.my-xl-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-6{margin-top:4.5rem!important}.mt-xl-7{margin-top:6rem!important}.mt-xl-8{margin-top:9rem!important}.mt-xl-9{margin-top:12rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-6{margin-right:4.5rem!important}.me-xl-7{margin-right:6rem!important}.me-xl-8{margin-right:9rem!important}.me-xl-9{margin-right:12rem!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-6{margin-bottom:4.5rem!important}.mb-xl-7{margin-bottom:6rem!important}.mb-xl-8{margin-bottom:9rem!important}.mb-xl-9{margin-bottom:12rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-6{margin-left:4.5rem!important}.ms-xl-7{margin-left:6rem!important}.ms-xl-8{margin-left:9rem!important}.ms-xl-9{margin-left:12rem!important}.m-xl-n1{margin:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.m-xl-n3{margin:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.m-xl-n6{margin:-4.5rem!important}.m-xl-n7{margin:-6rem!important}.m-xl-n8{margin:-9rem!important}.m-xl-n9{margin:-12rem!important}.mx-xl-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-xl-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-xl-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-xl-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-xl-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-xl-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-xl-n7{margin-left:-6rem!important;margin-right:-6rem!important}.mx-xl-n8{margin-left:-9rem!important;margin-right:-9rem!important}.mx-xl-n9{margin-left:-12rem!important;margin-right:-12rem!important}.my-xl-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-xl-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-xl-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-xl-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-xl-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-xl-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-xl-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.my-xl-n8{margin-bottom:-9rem!important;margin-top:-9rem!important}.my-xl-n9{margin-bottom:-12rem!important;margin-top:-12rem!important}.mt-xl-n1{margin-top:-.25rem!important}.mt-xl-n2{margin-top:-.5rem!important}.mt-xl-n3{margin-top:-1rem!important}.mt-xl-n4{margin-top:-1.5rem!important}.mt-xl-n5{margin-top:-3rem!important}.mt-xl-n6{margin-top:-4.5rem!important}.mt-xl-n7{margin-top:-6rem!important}.mt-xl-n8{margin-top:-9rem!important}.mt-xl-n9{margin-top:-12rem!important}.me-xl-n6{margin-right:-4.5rem!important}.me-xl-n7{margin-right:-6rem!important}.me-xl-n8{margin-right:-9rem!important}.me-xl-n9{margin-right:-12rem!important}.mb-xl-n1{margin-bottom:-.25rem!important}.mb-xl-n2{margin-bottom:-.5rem!important}.mb-xl-n3{margin-bottom:-1rem!important}.mb-xl-n4{margin-bottom:-1.5rem!important}.mb-xl-n5{margin-bottom:-3rem!important}.mb-xl-n6{margin-bottom:-4.5rem!important}.mb-xl-n7{margin-bottom:-6rem!important}.mb-xl-n8{margin-bottom:-9rem!important}.mb-xl-n9{margin-bottom:-12rem!important}.ms-xl-n6{margin-left:-4.5rem!important}.ms-xl-n7{margin-left:-6rem!important}.ms-xl-n8{margin-left:-9rem!important}.ms-xl-n9{margin-left:-12rem!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.p-xl-6{padding:4.5rem!important}.p-xl-7{padding:6rem!important}.p-xl-8{padding:9rem!important}.p-xl-9{padding:12rem!important}.px-xl-0{padding-left:0!important;padding-right:0!important}.px-xl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xl-5{padding-left:3rem!important;padding-right:3rem!important}.px-xl-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-xl-7{padding-left:6rem!important;padding-right:6rem!important}.px-xl-8{padding-left:9rem!important;padding-right:9rem!important}.px-xl-9{padding-left:12rem!important;padding-right:12rem!important}.py-xl-0{padding-bottom:0!important;padding-top:0!important}.py-xl-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-xl-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-xl-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-xl-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-xl-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-xl-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-xl-7{padding-bottom:6rem!important;padding-top:6rem!important}.py-xl-8{padding-bottom:9rem!important;padding-top:9rem!important}.py-xl-9{padding-bottom:12rem!important;padding-top:12rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pt-xl-6{padding-top:4.5rem!important}.pt-xl-7{padding-top:6rem!important}.pt-xl-8{padding-top:9rem!important}.pt-xl-9{padding-top:12rem!important}.pe-xl-6{padding-right:4.5rem!important}.pe-xl-7{padding-right:6rem!important}.pe-xl-8{padding-right:9rem!important}.pe-xl-9{padding-right:12rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.pb-xl-6{padding-bottom:4.5rem!important}.pb-xl-7{padding-bottom:6rem!important}.pb-xl-8{padding-bottom:9rem!important}.pb-xl-9{padding-bottom:12rem!important}.ps-xl-6{padding-left:4.5rem!important}.ps-xl-7{padding-left:6rem!important}.ps-xl-8{padding-left:9rem!important}.ps-xl-9{padding-left:12rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.gap-xl-6{gap:4.5rem!important}.gap-xl-7{gap:6rem!important}.gap-xl-8{gap:9rem!important}.gap-xl-9{gap:12rem!important}.text-xl-center{text-align:center!important}.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media only screen and (min-width:1200px) and (max-width:1399px){.section_heading h3{font-size:2.625rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.col-xxl-auto,.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.col-xxl-12,.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.col-xxl-6,.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.col-xxl-4,.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.col-xxl-3,.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.col-xxl-2,.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}.g-xxl-6,.gx-xxl-6{--bs-gutter-x:4.5rem}.g-xxl-6,.gy-xxl-6{--bs-gutter-y:4.5rem}.g-xxl-7,.gx-xxl-7{--bs-gutter-x:6rem}.g-xxl-7,.gy-xxl-7{--bs-gutter-y:6rem}.g-xxl-8,.gx-xxl-8{--bs-gutter-x:9rem}.g-xxl-8,.gy-xxl-8{--bs-gutter-y:9rem}.g-xxl-9,.gx-xxl-9{--bs-gutter-x:12rem}.g-xxl-9,.gy-xxl-9{--bs-gutter-y:12rem}.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-6{margin:4.5rem!important}.m-xxl-7{margin:6rem!important}.m-xxl-8{margin:9rem!important}.m-xxl-9{margin:12rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-left:0!important;margin-right:0!important}.mx-xxl-1{margin-left:.25rem!important;margin-right:.25rem!important}.mx-xxl-2{margin-left:.5rem!important;margin-right:.5rem!important}.mx-xxl-3{margin-left:1rem!important;margin-right:1rem!important}.mx-xxl-4{margin-left:1.5rem!important;margin-right:1.5rem!important}.mx-xxl-5{margin-left:3rem!important;margin-right:3rem!important}.mx-xxl-6{margin-left:4.5rem!important;margin-right:4.5rem!important}.mx-xxl-7{margin-left:6rem!important;margin-right:6rem!important}.mx-xxl-8{margin-left:9rem!important;margin-right:9rem!important}.mx-xxl-9{margin-left:12rem!important;margin-right:12rem!important}.mx-xxl-auto{margin-left:auto!important;margin-right:auto!important}.my-xxl-0{margin-bottom:0!important;margin-top:0!important}.my-xxl-1{margin-bottom:.25rem!important;margin-top:.25rem!important}.my-xxl-2{margin-bottom:.5rem!important;margin-top:.5rem!important}.my-xxl-3{margin-bottom:1rem!important;margin-top:1rem!important}.my-xxl-4{margin-bottom:1.5rem!important;margin-top:1.5rem!important}.my-xxl-5{margin-bottom:3rem!important;margin-top:3rem!important}.my-xxl-6{margin-bottom:4.5rem!important;margin-top:4.5rem!important}.my-xxl-7{margin-bottom:6rem!important;margin-top:6rem!important}.my-xxl-8{margin-bottom:9rem!important;margin-top:9rem!important}.my-xxl-9{margin-bottom:12rem!important;margin-top:12rem!important}.my-xxl-auto{margin-bottom:auto!important;margin-top:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-6{margin-top:4.5rem!important}.mt-xxl-7{margin-top:6rem!important}.mt-xxl-8{margin-top:9rem!important}.mt-xxl-9{margin-top:12rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-6{margin-right:4.5rem!important}.me-xxl-7{margin-right:6rem!important}.me-xxl-8{margin-right:9rem!important}.me-xxl-9{margin-right:12rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-6{margin-bottom:4.5rem!important}.mb-xxl-7{margin-bottom:6rem!important}.mb-xxl-8{margin-bottom:9rem!important}.mb-xxl-9{margin-bottom:12rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-6{margin-left:4.5rem!important}.ms-xxl-7{margin-left:6rem!important}.ms-xxl-8{margin-left:9rem!important}.ms-xxl-9{margin-left:12rem!important}.ms-xxl-auto{margin-left:auto!important}.m-xxl-n1{margin:-.25rem!important}.m-xxl-n2{margin:-.5rem!important}.m-xxl-n3{margin:-1rem!important}.m-xxl-n4{margin:-1.5rem!important}.m-xxl-n5{margin:-3rem!important}.m-xxl-n6{margin:-4.5rem!important}.m-xxl-n7{margin:-6rem!important}.m-xxl-n8{margin:-9rem!important}.m-xxl-n9{margin:-12rem!important}.mx-xxl-n1{margin-left:-.25rem!important;margin-right:-.25rem!important}.mx-xxl-n2{margin-left:-.5rem!important;margin-right:-.5rem!important}.mx-xxl-n3{margin-left:-1rem!important;margin-right:-1rem!important}.mx-xxl-n4{margin-left:-1.5rem!important;margin-right:-1.5rem!important}.mx-xxl-n5{margin-left:-3rem!important;margin-right:-3rem!important}.mx-xxl-n6{margin-left:-4.5rem!important;margin-right:-4.5rem!important}.mx-xxl-n7{margin-left:-6rem!important;margin-right:-6rem!important}.mx-xxl-n8{margin-left:-9rem!important;margin-right:-9rem!important}.mx-xxl-n9{margin-left:-12rem!important;margin-right:-12rem!important}.my-xxl-n1{margin-bottom:-.25rem!important;margin-top:-.25rem!important}.my-xxl-n2{margin-bottom:-.5rem!important;margin-top:-.5rem!important}.my-xxl-n3{margin-bottom:-1rem!important;margin-top:-1rem!important}.my-xxl-n4{margin-bottom:-1.5rem!important;margin-top:-1.5rem!important}.my-xxl-n5{margin-bottom:-3rem!important;margin-top:-3rem!important}.my-xxl-n6{margin-bottom:-4.5rem!important;margin-top:-4.5rem!important}.my-xxl-n7{margin-bottom:-6rem!important;margin-top:-6rem!important}.my-xxl-n8{margin-bottom:-9rem!important;margin-top:-9rem!important}.my-xxl-n9{margin-bottom:-12rem!important;margin-top:-12rem!important}.mt-xxl-n1{margin-top:-.25rem!important}.mt-xxl-n2{margin-top:-.5rem!important}.mt-xxl-n3{margin-top:-1rem!important}.mt-xxl-n4{margin-top:-1.5rem!important}.mt-xxl-n5{margin-top:-3rem!important}.mt-xxl-n6{margin-top:-4.5rem!important}.mt-xxl-n7{margin-top:-6rem!important}.mt-xxl-n8{margin-top:-9rem!important}.mt-xxl-n9{margin-top:-12rem!important}.me-xxl-n1{margin-right:-.25rem!important}.me-xxl-n2{margin-right:-.5rem!important}.me-xxl-n3{margin-right:-1rem!important}.me-xxl-n4{margin-right:-1.5rem!important}.me-xxl-n5{margin-right:-3rem!important}.me-xxl-n6{margin-right:-4.5rem!important}.me-xxl-n7{margin-right:-6rem!important}.me-xxl-n8{margin-right:-9rem!important}.me-xxl-n9{margin-right:-12rem!important}.mb-xxl-n1{margin-bottom:-.25rem!important}.mb-xxl-n2{margin-bottom:-.5rem!important}.mb-xxl-n3{margin-bottom:-1rem!important}.mb-xxl-n4{margin-bottom:-1.5rem!important}.mb-xxl-n5{margin-bottom:-3rem!important}.mb-xxl-n6{margin-bottom:-4.5rem!important}.mb-xxl-n7{margin-bottom:-6rem!important}.mb-xxl-n8{margin-bottom:-9rem!important}.mb-xxl-n9{margin-bottom:-12rem!important}.ms-xxl-n1{margin-left:-.25rem!important}.ms-xxl-n2{margin-left:-.5rem!important}.ms-xxl-n3{margin-left:-1rem!important}.ms-xxl-n4{margin-left:-1.5rem!important}.ms-xxl-n5{margin-left:-3rem!important}.ms-xxl-n6{margin-left:-4.5rem!important}.ms-xxl-n7{margin-left:-6rem!important}.ms-xxl-n8{margin-left:-9rem!important}.ms-xxl-n9{margin-left:-12rem!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.p-xxl-6{padding:4.5rem!important}.p-xxl-7{padding:6rem!important}.p-xxl-8{padding:9rem!important}.p-xxl-9{padding:12rem!important}.px-xxl-0{padding-left:0!important;padding-right:0!important}.px-xxl-1{padding-left:.25rem!important;padding-right:.25rem!important}.px-xxl-2{padding-left:.5rem!important;padding-right:.5rem!important}.px-xxl-3{padding-left:1rem!important;padding-right:1rem!important}.px-xxl-4{padding-left:1.5rem!important;padding-right:1.5rem!important}.px-xxl-5{padding-left:3rem!important;padding-right:3rem!important}.px-xxl-6{padding-left:4.5rem!important;padding-right:4.5rem!important}.px-xxl-7{padding-left:6rem!important;padding-right:6rem!important}.px-xxl-8{padding-left:9rem!important;padding-right:9rem!important}.px-xxl-9{padding-left:12rem!important;padding-right:12rem!important}.py-xxl-0{padding-bottom:0!important;padding-top:0!important}.py-xxl-1{padding-bottom:.25rem!important;padding-top:.25rem!important}.py-xxl-2{padding-bottom:.5rem!important;padding-top:.5rem!important}.py-xxl-3{padding-bottom:1rem!important;padding-top:1rem!important}.py-xxl-4{padding-bottom:1.5rem!important;padding-top:1.5rem!important}.py-xxl-5{padding-bottom:3rem!important;padding-top:3rem!important}.py-xxl-6{padding-bottom:4.5rem!important;padding-top:4.5rem!important}.py-xxl-7{padding-bottom:6rem!important;padding-top:6rem!important}.py-xxl-8{padding-bottom:9rem!important;padding-top:9rem!important}.py-xxl-9{padding-bottom:12rem!important;padding-top:12rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pt-xxl-6{padding-top:4.5rem!important}.pt-xxl-7{padding-top:6rem!important}.pt-xxl-8{padding-top:9rem!important}.pt-xxl-9{padding-top:12rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pe-xxl-6{padding-right:4.5rem!important}.pe-xxl-7{padding-right:6rem!important}.pe-xxl-8{padding-right:9rem!important}.pe-xxl-9{padding-right:12rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.pb-xxl-6{padding-bottom:4.5rem!important}.pb-xxl-7{padding-bottom:6rem!important}.pb-xxl-8{padding-bottom:9rem!important}.pb-xxl-9{padding-bottom:12rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.ps-xxl-6{padding-left:4.5rem!important}.ps-xxl-7{padding-left:6rem!important}.ps-xxl-8{padding-left:9rem!important}.ps-xxl-9{padding-left:12rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.gap-xxl-6{gap:4.5rem!important}.gap-xxl-7{gap:6rem!important}.gap-xxl-8{gap:9rem!important}.gap-xxl-9{gap:12rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-xl>.table-bordered{border:0}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-left:0;padding-right:0}}@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,.sidebar_re4s,.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}.searchBox_ZlJk{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media not (max-width:996px){.searchBar_RVTs.searchBarLeft_MXDe .dropdownMenu_qbY6{left:0!important;right:auto!important}}@media (max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-lg>.table-bordered{border:0}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-left:0;padding-right:0}}@media (max-width:991px){.team{padding:20px}}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-md>.table-bordered{border:0}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-left:0;padding-right:0}}@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}.navbar__search-input:not(:focus){width:2rem}.searchBar_RVTs .dropdownMenu_qbY6{max-width:calc(100vw - var(--ifm-navbar-padding-horizontal)*2);width:var(--search-local-modal-width-sm,340px)}.searchBarContainer_NW3z:not(.focused_OWtg) .searchClearButton_qk4g,.searchHintContainer_Pkmr{display:none}.title_f1Hy{font-size:2rem}}@media (max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-sm>.table-bordered{border:0}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-left:0;padding-right:0}}@media only screen and (max-width:575px){.footer__link-item,.footer__title{padding-left:0!important}.section_heading h3{font-size:1.5rem}.welcome_area{height:600px}.subscribe .welcome_area{height:700px}.welcome_text_area h2{font-size:1.7rem}.subscribe-form .form-control{padding:0 20px}.subscribe-form button{width:110px}.hero-slides .owl-next,.hero-slides .owl-prev{left:30px}.hero-slides .owl-next{right:30px}.welcome_area_thumb{padding-top:0}.welcome_text_area{margin-bottom:0;padding-top:50px}.single_work_step:before{display:none}.system_info{margin-bottom:0;padding-top:30px}}@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){.badge,.btn,.carousel-control-next,.carousel-control-prev,.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right,.carousel-indicators li,.carousel-item,.collapsing,.custom-control-label:before,.custom-file-label,.custom-select,.custom-switch .custom-control-label:after,.fade,.form-control,.modal.fade .modal-dialog,.progress-bar{transition:none}:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}.custom-range::-webkit-slider-thumb{transition:none}.custom-range::-moz-range-thumb{transition:none}.custom-range::-ms-thumb{transition:none}.progress-bar-animated{animation:none}}@media print{.tabs,blockquote,img,pre,tr{page-break-inside:avoid}.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.d-print-flex{display:-ms-flexbox!important;display:-webkit-box!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:-webkit-inline-box!important}*,:after,:before{box-shadow:none!important;text-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd}thead{display:table-header-group}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{border-color:#dee2e6;color:inherit}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/zh-CN/assets/fonts/LineIcons-y2l643-6ac9873828472f7a88703893f3de50c7.eot b/zh-CN/assets/fonts/LineIcons-y2l643-6ac9873828472f7a88703893f3de50c7.eot new file mode 100644 index 00000000..7146a83e Binary files /dev/null and b/zh-CN/assets/fonts/LineIcons-y2l643-6ac9873828472f7a88703893f3de50c7.eot differ diff --git a/zh-CN/assets/fonts/LineIcons-y2l643-c2f4b7610f34f5843a72d44f5c4ae9d2.woff b/zh-CN/assets/fonts/LineIcons-y2l643-c2f4b7610f34f5843a72d44f5c4ae9d2.woff new file mode 100644 index 00000000..d6e9b9a2 Binary files /dev/null and b/zh-CN/assets/fonts/LineIcons-y2l643-c2f4b7610f34f5843a72d44f5c4ae9d2.woff differ diff --git a/zh-CN/assets/fonts/LineIcons-y2l643-fb16b8b0de9e73ca9b2d7bb18c4e7108.ttf b/zh-CN/assets/fonts/LineIcons-y2l643-fb16b8b0de9e73ca9b2d7bb18c4e7108.ttf new file mode 100644 index 00000000..4d4a3aa8 Binary files /dev/null and b/zh-CN/assets/fonts/LineIcons-y2l643-fb16b8b0de9e73ca9b2d7bb18c4e7108.ttf differ diff --git a/zh-CN/assets/fonts/devanagari-1-64d5f06ee726edd58ca33456c8ead0cb.woff2 b/zh-CN/assets/fonts/devanagari-1-64d5f06ee726edd58ca33456c8ead0cb.woff2 new file mode 100644 index 00000000..3295a4cc Binary files /dev/null and b/zh-CN/assets/fonts/devanagari-1-64d5f06ee726edd58ca33456c8ead0cb.woff2 differ diff --git a/zh-CN/assets/fonts/devanagari-2-f43b6ebf46ee6fba05559f09fd680c90.woff2 b/zh-CN/assets/fonts/devanagari-2-f43b6ebf46ee6fba05559f09fd680c90.woff2 new file mode 100644 index 00000000..7850aa30 Binary files /dev/null and b/zh-CN/assets/fonts/devanagari-2-f43b6ebf46ee6fba05559f09fd680c90.woff2 differ diff --git a/zh-CN/assets/fonts/devanagari-3-349ed9fa39221b45ae9a033c0c3de0e2.woff2 b/zh-CN/assets/fonts/devanagari-3-349ed9fa39221b45ae9a033c0c3de0e2.woff2 new file mode 100644 index 00000000..742e1442 Binary files /dev/null and b/zh-CN/assets/fonts/devanagari-3-349ed9fa39221b45ae9a033c0c3de0e2.woff2 differ diff --git a/zh-CN/assets/fonts/fontawesome-webfont-1e59d2330b4c6deb84b340635ed36249.ttf b/zh-CN/assets/fonts/fontawesome-webfont-1e59d2330b4c6deb84b340635ed36249.ttf new file mode 100644 index 00000000..35acda2f Binary files /dev/null and b/zh-CN/assets/fonts/fontawesome-webfont-1e59d2330b4c6deb84b340635ed36249.ttf differ diff --git a/zh-CN/assets/fonts/fontawesome-webfont-20fd1704ea223900efa9fd4e869efb08.woff2 b/zh-CN/assets/fonts/fontawesome-webfont-20fd1704ea223900efa9fd4e869efb08.woff2 new file mode 100644 index 00000000..4d13fc60 Binary files /dev/null and b/zh-CN/assets/fonts/fontawesome-webfont-20fd1704ea223900efa9fd4e869efb08.woff2 differ diff --git a/zh-CN/assets/fonts/fontawesome-webfont-8b43027f47b20503057dfbbaa9401fef.eot b/zh-CN/assets/fonts/fontawesome-webfont-8b43027f47b20503057dfbbaa9401fef.eot new file mode 100644 index 00000000..e9f60ca9 Binary files /dev/null and b/zh-CN/assets/fonts/fontawesome-webfont-8b43027f47b20503057dfbbaa9401fef.eot differ diff --git a/zh-CN/assets/fonts/fontawesome-webfont-f691f37e57f04c152e2315ab7dbad881.woff b/zh-CN/assets/fonts/fontawesome-webfont-f691f37e57f04c152e2315ab7dbad881.woff new file mode 100644 index 00000000..400014a4 Binary files /dev/null and b/zh-CN/assets/fonts/fontawesome-webfont-f691f37e57f04c152e2315ab7dbad881.woff differ diff --git a/zh-CN/assets/images/LineIcons-y2l643-e76a21f07f1a3949a21170b145337735.svg b/zh-CN/assets/images/LineIcons-y2l643-e76a21f07f1a3949a21170b145337735.svg new file mode 100644 index 00000000..42b8c5d6 --- /dev/null +++ b/zh-CN/assets/images/LineIcons-y2l643-e76a21f07f1a3949a21170b145337735.svg @@ -0,0 +1,492 @@ + + + + + + +{ + "fontFamily": "LineIcons", + "majorVersion": 1, + "minorVersion": 1, + "fontURL": "https://lineicons.com", + "description": "Free Line Icons for Modern Web and Mobile Apps\nFont generated by IcoMoon.", + "copyright": "https://lineicons.com", + "designer": "https://lineicons.com", + "designerURL": "https://lineicons.com", + "license": "Creative Commons", + "licenseURL": "https://lineicons.com/license", + "version": "Version 1.1", + "fontId": "LineIcons", + "psName": "LineIcons", + "subFamily": "Regular", + "fullName": "LineIcons" +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git "a/zh-CN/assets/images/SolidUI\344\271\213SolidEditor\347\274\226\350\276\221\345\222\214\351\242\204\350\247\210-351f3097c1a77b6055320e92074f6c69.png" "b/zh-CN/assets/images/SolidUI\344\271\213SolidEditor\347\274\226\350\276\221\345\222\214\351\242\204\350\247\210-351f3097c1a77b6055320e92074f6c69.png" new file mode 100644 index 00000000..0a066d12 Binary files /dev/null and "b/zh-CN/assets/images/SolidUI\344\271\213SolidEditor\347\274\226\350\276\221\345\222\214\351\242\204\350\247\210-351f3097c1a77b6055320e92074f6c69.png" differ diff --git "a/zh-CN/assets/images/SolidUI\344\271\213SolidView\345\217\212\351\205\215\347\275\256\351\241\271\350\256\276\350\256\241-a6e12611333db4337ad70ff4a24008d9.png" "b/zh-CN/assets/images/SolidUI\344\271\213SolidView\345\217\212\351\205\215\347\275\256\351\241\271\350\256\276\350\256\241-a6e12611333db4337ad70ff4a24008d9.png" new file mode 100644 index 00000000..a3e50d2e Binary files /dev/null and "b/zh-CN/assets/images/SolidUI\344\271\213SolidView\345\217\212\351\205\215\347\275\256\351\241\271\350\256\276\350\256\241-a6e12611333db4337ad70ff4a24008d9.png" differ diff --git "a/zh-CN/assets/images/SolidUI\345\211\215\347\253\257UI\347\273\223\346\236\204-424873d3acc4f4bd7c2660b926c05436.png" "b/zh-CN/assets/images/SolidUI\345\211\215\347\253\257UI\347\273\223\346\236\204-424873d3acc4f4bd7c2660b926c05436.png" new file mode 100644 index 00000000..1088558b Binary files /dev/null and "b/zh-CN/assets/images/SolidUI\345\211\215\347\253\257UI\347\273\223\346\236\204-424873d3acc4f4bd7c2660b926c05436.png" differ diff --git "a/zh-CN/assets/images/SolidUI\345\211\215\347\253\257\346\200\273\350\247\210\346\236\266\346\236\204-74e7905d70a19a70423d45c329e78041.png" "b/zh-CN/assets/images/SolidUI\345\211\215\347\253\257\346\200\273\350\247\210\346\236\266\346\236\204-74e7905d70a19a70423d45c329e78041.png" new file mode 100644 index 00000000..9aef15c8 Binary files /dev/null and "b/zh-CN/assets/images/SolidUI\345\211\215\347\253\257\346\200\273\350\247\210\346\236\266\346\236\204-74e7905d70a19a70423d45c329e78041.png" differ diff --git a/zh-CN/assets/images/datasource-45396a50f5aea7919f517e1d81456424.png b/zh-CN/assets/images/datasource-45396a50f5aea7919f517e1d81456424.png new file mode 100644 index 00000000..29af4ba9 Binary files /dev/null and b/zh-CN/assets/images/datasource-45396a50f5aea7919f517e1d81456424.png differ diff --git a/zh-CN/assets/images/desgin-8fd0648dd93a1c3fd51cb54900ac2bcd.png b/zh-CN/assets/images/desgin-8fd0648dd93a1c3fd51cb54900ac2bcd.png new file mode 100644 index 00000000..7b1fbfad Binary files /dev/null and b/zh-CN/assets/images/desgin-8fd0648dd93a1c3fd51cb54900ac2bcd.png differ diff --git a/zh-CN/assets/images/designpage-26289d04645e6f3d4aa534905e347a89.png b/zh-CN/assets/images/designpage-26289d04645e6f3d4aa534905e347a89.png new file mode 100644 index 00000000..0fdfed93 Binary files /dev/null and b/zh-CN/assets/images/designpage-26289d04645e6f3d4aa534905e347a89.png differ diff --git a/zh-CN/assets/images/fontawesome-webfont-c1e38fd9e0e74ba58f7a2b77ef29fdd3.svg b/zh-CN/assets/images/fontawesome-webfont-c1e38fd9e0e74ba58f7a2b77ef29fdd3.svg new file mode 100644 index 00000000..855c845e --- /dev/null +++ b/zh-CN/assets/images/fontawesome-webfont-c1e38fd9e0e74ba58f7a2b77ef29fdd3.svg @@ -0,0 +1,2671 @@ + + + + +Created by FontForge 20120731 at Mon Oct 24 17:37:40 2016 + By ,,, +Copyright Dave Gandy 2016. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/zh-CN/assets/images/home-d64eb73b3f8144a5bd50d3b1fe12de55.png b/zh-CN/assets/images/home-d64eb73b3f8144a5bd50d3b1fe12de55.png new file mode 100644 index 00000000..1e2149e6 Binary files /dev/null and b/zh-CN/assets/images/home-d64eb73b3f8144a5bd50d3b1fe12de55.png differ diff --git a/zh-CN/assets/images/image03-af7d6197cbbd538939c13caea371ed6b.png b/zh-CN/assets/images/image03-af7d6197cbbd538939c13caea371ed6b.png new file mode 100644 index 00000000..bd5cf0ed Binary files /dev/null and b/zh-CN/assets/images/image03-af7d6197cbbd538939c13caea371ed6b.png differ diff --git a/zh-CN/assets/images/image1-e94e2d291f16a9cf47445078fe8a63e7.png b/zh-CN/assets/images/image1-e94e2d291f16a9cf47445078fe8a63e7.png new file mode 100644 index 00000000..92514014 Binary files /dev/null and b/zh-CN/assets/images/image1-e94e2d291f16a9cf47445078fe8a63e7.png differ diff --git a/zh-CN/assets/images/image2-9a1fea16ddcd20bbcd103783e45e7d1a.png b/zh-CN/assets/images/image2-9a1fea16ddcd20bbcd103783e45e7d1a.png new file mode 100644 index 00000000..f4335e56 Binary files /dev/null and b/zh-CN/assets/images/image2-9a1fea16ddcd20bbcd103783e45e7d1a.png differ diff --git a/zh-CN/assets/images/images04-ab547dfceec7fd4762478ac7916ec5d2.png b/zh-CN/assets/images/images04-ab547dfceec7fd4762478ac7916ec5d2.png new file mode 100644 index 00000000..4f8974b5 Binary files /dev/null and b/zh-CN/assets/images/images04-ab547dfceec7fd4762478ac7916ec5d2.png differ diff --git a/zh-CN/assets/images/images05-4cc71d8bdadf8941e12867c8d6f8a2fe.png b/zh-CN/assets/images/images05-4cc71d8bdadf8941e12867c8d6f8a2fe.png new file mode 100644 index 00000000..393f4c62 Binary files /dev/null and b/zh-CN/assets/images/images05-4cc71d8bdadf8941e12867c8d6f8a2fe.png differ diff --git a/zh-CN/assets/images/images06-973d359adfc34c204d37ea809ac68072.png b/zh-CN/assets/images/images06-973d359adfc34c204d37ea809ac68072.png new file mode 100644 index 00000000..3164290d Binary files /dev/null and b/zh-CN/assets/images/images06-973d359adfc34c204d37ea809ac68072.png differ diff --git a/zh-CN/assets/images/images07-eddfb5d4a451dffd76a68688c45eac10.png b/zh-CN/assets/images/images07-eddfb5d4a451dffd76a68688c45eac10.png new file mode 100644 index 00000000..182cda25 Binary files /dev/null and b/zh-CN/assets/images/images07-eddfb5d4a451dffd76a68688c45eac10.png differ diff --git a/zh-CN/assets/images/images08-585c264b6c51d1daf3b607aa17f6f20e.png b/zh-CN/assets/images/images08-585c264b6c51d1daf3b607aa17f6f20e.png new file mode 100644 index 00000000..13c68ef0 Binary files /dev/null and b/zh-CN/assets/images/images08-585c264b6c51d1daf3b607aa17f6f20e.png differ diff --git a/zh-CN/assets/images/images09-50798acaf3380d15ad06c8e0e6e2000f.png b/zh-CN/assets/images/images09-50798acaf3380d15ad06c8e0e6e2000f.png new file mode 100644 index 00000000..4b3aaa9b Binary files /dev/null and b/zh-CN/assets/images/images09-50798acaf3380d15ad06c8e0e6e2000f.png differ diff --git a/zh-CN/assets/images/images10-60d41d0c5c293845598032e51a0d2cb6.png b/zh-CN/assets/images/images10-60d41d0c5c293845598032e51a0d2cb6.png new file mode 100644 index 00000000..3f2ef678 Binary files /dev/null and b/zh-CN/assets/images/images10-60d41d0c5c293845598032e51a0d2cb6.png differ diff --git a/zh-CN/assets/images/images11-a9349b7ddffabf3d8071f4545641f7db.jpeg b/zh-CN/assets/images/images11-a9349b7ddffabf3d8071f4545641f7db.jpeg new file mode 100644 index 00000000..bbaa2433 Binary files /dev/null and b/zh-CN/assets/images/images11-a9349b7ddffabf3d8071f4545641f7db.jpeg differ diff --git a/zh-CN/assets/images/images12-2ab1592a45568d991cf485c21a451753.png b/zh-CN/assets/images/images12-2ab1592a45568d991cf485c21a451753.png new file mode 100644 index 00000000..b93e30a0 Binary files /dev/null and b/zh-CN/assets/images/images12-2ab1592a45568d991cf485c21a451753.png differ diff --git a/zh-CN/assets/images/images13-762ce8795cec77dccf1b303f7d568ef3.png b/zh-CN/assets/images/images13-762ce8795cec77dccf1b303f7d568ef3.png new file mode 100644 index 00000000..6eb9404a Binary files /dev/null and b/zh-CN/assets/images/images13-762ce8795cec77dccf1b303f7d568ef3.png differ diff --git a/zh-CN/assets/images/metadata-3e5590d95ac4a94cd4e648ee65817c3e.png b/zh-CN/assets/images/metadata-3e5590d95ac4a94cd4e648ee65817c3e.png new file mode 100644 index 00000000..c417ad3c Binary files /dev/null and b/zh-CN/assets/images/metadata-3e5590d95ac4a94cd4e648ee65817c3e.png differ diff --git a/zh-CN/assets/images/mymen-bg-9a67dc1b51a0c50891a3c4950b98c382.png b/zh-CN/assets/images/mymen-bg-9a67dc1b51a0c50891a3c4950b98c382.png new file mode 100644 index 00000000..b4c5c17e Binary files /dev/null and b/zh-CN/assets/images/mymen-bg-9a67dc1b51a0c50891a3c4950b98c382.png differ diff --git a/zh-CN/assets/images/soliduiv0.1.0structure-2964a98125cda4f79a72b0f832df78bf.jpg b/zh-CN/assets/images/soliduiv0.1.0structure-2964a98125cda4f79a72b0f832df78bf.jpg new file mode 100644 index 00000000..05e73fa9 Binary files /dev/null and b/zh-CN/assets/images/soliduiv0.1.0structure-2964a98125cda4f79a72b0f832df78bf.jpg differ diff --git a/zh-CN/assets/js/01a85c17.8d6d587b.js b/zh-CN/assets/js/01a85c17.8d6d587b.js new file mode 100644 index 00000000..ccd8fc2c --- /dev/null +++ b/zh-CN/assets/js/01a85c17.8d6d587b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4013],{9058:(e,t,a)=>{a.d(t,{Z:()=>E});var l=a(7294),r=a(6010),n=a(179),s=a(7524),i=a(9960),c=a(5999);const m={sidebar:"sidebar_re4s",sidebarItemTitle:"sidebarItemTitle_pO2u",sidebarItemList:"sidebarItemList_Yudw",sidebarItem:"sidebarItem__DBe",sidebarItemLink:"sidebarItemLink_mo7H",sidebarItemLinkActive:"sidebarItemLinkActive_I1ZP"};function o(e){let{sidebar:t}=e;return l.createElement("aside",{className:"col col--3"},l.createElement("nav",{className:(0,r.Z)(m.sidebar,"thin-scrollbar"),"aria-label":(0,c.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"})},l.createElement("div",{className:(0,r.Z)(m.sidebarItemTitle,"margin-bottom--md")},t.title),l.createElement("ul",{className:(0,r.Z)(m.sidebarItemList,"clean-list")},t.items.map((e=>l.createElement("li",{key:e.permalink,className:m.sidebarItem},l.createElement(i.Z,{isNavLink:!0,to:e.permalink,className:m.sidebarItemLink,activeClassName:m.sidebarItemLinkActive},e.title)))))))}var u=a(3102);function g(e){let{sidebar:t}=e;return l.createElement("ul",{className:"menu__list"},t.items.map((e=>l.createElement("li",{key:e.permalink,className:"menu__list-item"},l.createElement(i.Z,{isNavLink:!0,to:e.permalink,className:"menu__link",activeClassName:"menu__link--active"},e.title)))))}function b(e){return l.createElement(u.Zo,{component:g,props:e})}function d(e){let{sidebar:t}=e;const a=(0,s.i)();return t?.items.length?"mobile"===a?l.createElement(b,{sidebar:t}):l.createElement(o,{sidebar:t}):null}function E(e){const{sidebar:t,toc:a,children:s,...i}=e,c=t&&t.items.length>0;return l.createElement(n.Z,i,l.createElement("div",{className:"container margin-vert--lg"},l.createElement("div",{className:"row"},l.createElement(d,{sidebar:t}),l.createElement("main",{className:(0,r.Z)("col",{"col--7":c,"col--9 col--offset-1":!c}),itemScope:!0,itemType:"http://schema.org/Blog"},s),a&&l.createElement("div",{className:"col col--2"},a))))}},1223:(e,t,a)=>{a.r(t),a.d(t,{default:()=>E});var l=a(7294),r=a(6010),n=a(5999);const s=()=>(0,n.I)({id:"theme.tags.tagsPageTitle",message:"Tags",description:"The title of the tag list page"});var i=a(1944),c=a(5281),m=a(9058),o=a(3008);const u={tag:"tag_Nnez"};function g(e){let{letterEntry:t}=e;return l.createElement("article",null,l.createElement("h2",null,t.letter),l.createElement("ul",{className:"padding--none"},t.tags.map((e=>l.createElement("li",{key:e.permalink,className:u.tag},l.createElement(o.Z,e))))),l.createElement("hr",null))}function b(e){let{tags:t}=e;const a=function(e){const t={};return Object.values(e).forEach((e=>{const a=function(e){return e[0].toUpperCase()}(e.label);t[a]??=[],t[a].push(e)})),Object.entries(t).sort(((e,t)=>{let[a]=e,[l]=t;return a.localeCompare(l)})).map((e=>{let[t,a]=e;return{letter:t,tags:a.sort(((e,t)=>e.label.localeCompare(t.label)))}}))}(t);return l.createElement("section",{className:"margin-vert--lg"},a.map((e=>l.createElement(g,{key:e.letter,letterEntry:e}))))}var d=a(197);function E(e){let{tags:t,sidebar:a}=e;const n=s();return l.createElement(i.FG,{className:(0,r.Z)(c.k.wrapper.blogPages,c.k.page.blogTagsListPage)},l.createElement(i.d,{title:n}),l.createElement(d.Z,{tag:"blog_tags_list"}),l.createElement(m.Z,{sidebar:a},l.createElement("h1",null,n),l.createElement(b,{tags:t})))}},3008:(e,t,a)=>{a.d(t,{Z:()=>i});var l=a(7294),r=a(6010),n=a(9960);const s={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};function i(e){let{permalink:t,label:a,count:i}=e;return l.createElement(n.Z,{href:t,className:(0,r.Z)(s.tag,i?s.tagWithCount:s.tagRegular)},a,i&&l.createElement("span",null,i))}}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/035672d3.8d3669e5.js b/zh-CN/assets/js/035672d3.8d3669e5.js new file mode 100644 index 00000000..23a7a72b --- /dev/null +++ b/zh-CN/assets/js/035672d3.8d3669e5.js @@ -0,0 +1 @@ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4921],{2711:function(t){t.exports=function(t){function e(a){if(n[a])return n[a].exports;var o=n[a]={exports:{},id:a,loaded:!1};return t[a].call(o.exports,o,o.exports,e),o.loaded=!0,o.exports}var n={};return e.m=t,e.c=n,e.p="dist/",e(0)}([function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}var o=Object.assign||function(t){for(var e=1;e0&&void 0!==arguments[0]&&arguments[0]&&(p=!0),p)return m=(0,d.default)(m,b),(0,l.default)(m,b.once),m},h=function(){m=(0,f.default)(),v()},g=function(){m.forEach((function(t,e){t.node.removeAttribute("data-aos"),t.node.removeAttribute("data-aos-easing"),t.node.removeAttribute("data-aos-duration"),t.node.removeAttribute("data-aos-delay")}))},y=function(t){return!0===t||"mobile"===t&&u.default.mobile()||"phone"===t&&u.default.phone()||"tablet"===t&&u.default.tablet()||"function"==typeof t&&!0===t()},w=function(t){b=o(b,t),m=(0,f.default)();var e=document.all&&!window.atob;return y(b.disable)||e?g():(b.disableMutationObserver||s.default.isSupported()||(console.info('\n aos: MutationObserver is not supported on this browser,\n code mutations observing has been disabled.\n You may have to call "refreshHard()" by yourself.\n '),b.disableMutationObserver=!0),document.querySelector("body").setAttribute("data-aos-easing",b.easing),document.querySelector("body").setAttribute("data-aos-duration",b.duration),document.querySelector("body").setAttribute("data-aos-delay",b.delay),"DOMContentLoaded"===b.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?v(!0):"load"===b.startEvent?window.addEventListener(b.startEvent,(function(){v(!0)})):document.addEventListener(b.startEvent,(function(){v(!0)})),window.addEventListener("resize",(0,c.default)(v,b.debounceDelay,!0)),window.addEventListener("orientationchange",(0,c.default)(v,b.debounceDelay,!0)),window.addEventListener("scroll",(0,i.default)((function(){(0,l.default)(m,b.once)}),b.throttleDelay)),b.disableMutationObserver||s.default.ready("[data-aos]",h),m)};t.exports={init:w,refresh:v,refreshHard:h}},function(t,e){},,,,,function(t,e){(function(e){"use strict";function n(t,e,n){function a(e){var n=b,a=v;return b=v=void 0,O=e,g=t.apply(a,n)}function r(t){return O=t,y=setTimeout(l,e),E?a(t):g}function i(t){var n=e-(t-w);return U?x(n,h-(t-O)):n}function s(t){var n=t-w;return void 0===w||n>=e||n<0||U&&t-O>=h}function l(){var t=j();return s(t)?d(t):void(y=setTimeout(l,i(t)))}function d(t){return y=void 0,N&&b?a(t):(b=v=void 0,g)}function f(){void 0!==y&&clearTimeout(y),O=0,b=w=v=y=void 0}function m(){return void 0===y?g:d(j())}function p(){var t=j(),n=s(t);if(b=arguments,v=this,w=t,n){if(void 0===y)return r(w);if(U)return y=setTimeout(l,e),a(w)}return void 0===y&&(y=setTimeout(l,e)),g}var b,v,h,g,y,w,O=0,E=!1,U=!1,N=!0;if("function"!=typeof t)throw new TypeError(u);return e=c(e)||0,o(n)&&(E=!!n.leading,h=(U="maxWait"in n)?k(c(n.maxWait)||0,e):h,N="trailing"in n?!!n.trailing:N),p.cancel=f,p.flush=m,p}function a(t,e,a){var r=!0,i=!0;if("function"!=typeof t)throw new TypeError(u);return o(a)&&(r="leading"in a?!!a.leading:r,i="trailing"in a?!!a.trailing:i),n(t,e,{leading:r,maxWait:e,trailing:i})}function o(t){var e=void 0===t?"undefined":s(t);return!!t&&("object"==e||"function"==e)}function r(t){return!!t&&"object"==(void 0===t?"undefined":s(t))}function i(t){return"symbol"==(void 0===t?"undefined":s(t))||r(t)&&w.call(t)==d}function c(t){if("number"==typeof t)return t;if(i(t))return l;if(o(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=o(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(f,"");var n=p.test(t);return n||b.test(t)?v(t.slice(2),n?2:8):m.test(t)?l:+t}var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},u="Expected a function",l=NaN,d="[object Symbol]",f=/^\s+|\s+$/g,m=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,b=/^0o[0-7]+$/i,v=parseInt,h="object"==(void 0===e?"undefined":s(e))&&e&&e.Object===Object&&e,g="object"==("undefined"==typeof self?"undefined":s(self))&&self&&self.Object===Object&&self,y=h||g||Function("return this")(),w=Object.prototype.toString,k=Math.max,x=Math.min,j=function(){return y.Date.now()};t.exports=a}).call(e,function(){return this}())},function(t,e){(function(e){"use strict";function n(t,e,n){function o(e){var n=b,a=v;return b=v=void 0,O=e,g=t.apply(a,n)}function r(t){return O=t,y=setTimeout(l,e),E?o(t):g}function c(t){var n=e-(t-j);return U?k(n,h-(t-O)):n}function u(t){var n=t-j;return void 0===j||n>=e||n<0||U&&t-O>=h}function l(){var t=x();return u(t)?d(t):void(y=setTimeout(l,c(t)))}function d(t){return y=void 0,N&&b?o(t):(b=v=void 0,g)}function f(){void 0!==y&&clearTimeout(y),O=0,b=j=v=y=void 0}function m(){return void 0===y?g:d(x())}function p(){var t=x(),n=u(t);if(b=arguments,v=this,j=t,n){if(void 0===y)return r(j);if(U)return y=setTimeout(l,e),o(j)}return void 0===y&&(y=setTimeout(l,e)),g}var b,v,h,g,y,j,O=0,E=!1,U=!1,N=!0;if("function"!=typeof t)throw new TypeError(s);return e=i(e)||0,a(n)&&(E=!!n.leading,h=(U="maxWait"in n)?w(i(n.maxWait)||0,e):h,N="trailing"in n?!!n.trailing:N),p.cancel=f,p.flush=m,p}function a(t){var e=void 0===t?"undefined":c(t);return!!t&&("object"==e||"function"==e)}function o(t){return!!t&&"object"==(void 0===t?"undefined":c(t))}function r(t){return"symbol"==(void 0===t?"undefined":c(t))||o(t)&&y.call(t)==l}function i(t){if("number"==typeof t)return t;if(r(t))return u;if(a(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=a(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(d,"");var n=m.test(t);return n||p.test(t)?b(t.slice(2),n?2:8):f.test(t)?u:+t}var c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s="Expected a function",u=NaN,l="[object Symbol]",d=/^\s+|\s+$/g,f=/^[-+]0x[0-9a-f]+$/i,m=/^0b[01]+$/i,p=/^0o[0-7]+$/i,b=parseInt,v="object"==(void 0===e?"undefined":c(e))&&e&&e.Object===Object&&e,h="object"==("undefined"==typeof self?"undefined":c(self))&&self&&self.Object===Object&&self,g=v||h||Function("return this")(),y=Object.prototype.toString,w=Math.max,k=Math.min,x=function(){return g.Date.now()};t.exports=n}).call(e,function(){return this}())},function(t,e){"use strict";function n(t){var e=void 0,a=void 0;for(e=0;et.position?t.node.classList.add("aos-animate"):void 0!==a&&("false"===a||!n&&"true"!==a)&&t.node.classList.remove("aos-animate")},a=function(t,e){var a=window.pageYOffset,o=window.innerHeight;t.forEach((function(t,r){n(t,o+a,e)}))};e.default=a},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=a(n(12)),r=function(t,e){return t.forEach((function(t,n){t.node.classList.add("aos-init"),t.position=(0,o.default)(t.node,e.offset)})),t};e.default=r},function(t,e,n){"use strict";function a(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var o=a(n(13)),r=function(t,e){var n=0,a=0,r=window.innerHeight,i={offset:t.getAttribute("data-aos-offset"),anchor:t.getAttribute("data-aos-anchor"),anchorPlacement:t.getAttribute("data-aos-anchor-placement")};switch(i.offset&&!isNaN(i.offset)&&(a=parseInt(i.offset)),i.anchor&&document.querySelectorAll(i.anchor)&&(t=document.querySelectorAll(i.anchor)[0]),n=(0,o.default)(t).top,i.anchorPlacement){case"top-bottom":break;case"center-bottom":n+=t.offsetHeight/2;break;case"bottom-bottom":n+=t.offsetHeight;break;case"top-center":n+=r/2;break;case"bottom-center":n+=r/2+t.offsetHeight;break;case"center-center":n+=r/2+t.offsetHeight/2;break;case"top-top":n+=r;break;case"bottom-top":n+=t.offsetHeight+r;break;case"center-top":n+=t.offsetHeight/2+r}return i.anchorPlacement||i.offset||isNaN(e)||(a=e),n+a};e.default=r},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t){for(var e=0,n=0;t&&!isNaN(t.offsetLeft)&&!isNaN(t.offsetTop);)e+=t.offsetLeft-("BODY"!=t.tagName?t.scrollLeft:0),n+=t.offsetTop-("BODY"!=t.tagName?t.scrollTop:0),t=t.offsetParent;return{top:n,left:e}};e.default=n},function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=function(t){return t=t||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(t,(function(t){return{node:t}}))};e.default=n}])},1262:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});var a=n(7294),o=n(2389);function r(t){let{children:e,fallback:n}=t;return(0,o.Z)()?a.createElement(a.Fragment,null,e?.()):n??null}},7805:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>m});var a=n(7294),o=n(1262),r=n(2389);const i=JSON.parse('{"zh-CN":{"info":{"desc":"SolidUI \u793e\u533a\u7531\u8d21\u732e\u8005\u7ec4\u6210\u3002 \u8d21\u732e\u8005\u53ef\u4ee5\u76f4\u63a5\u8bbf\u95ee SolidUI \u9879\u76ee\u7684\u6e90\u4ee3\u7801\u5e76\u53c2\u4e0e\u8d21\u732e\u5f53\u4e2d(\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u4ee3\u7801\u7684\u8d21\u732e)\u3002 \u8d21\u732e\u8005\u901a\u8fc7\u63d0\u4ea4\u8865\u4e01\u548c\u5efa\u8bae\u6765\u6539\u5584\u9879\u76ee\u3002 \u8be5\u9879\u76ee\u7684\u8d21\u732e\u8005\u6570\u91cf\u662f\u65e0\u9650\u7684\u3002 \u65e0\u8bba\u662f\u7410\u788e\u7684\u6e05\u7406\u5de5\u4f5c\uff0c\u91cd\u8981\u7684\u65b0\u529f\u80fd\u8fd8\u662f\u5176\u4ed6\u91cd\u5927\u7684\u5956\u52b1\uff0c\u5bf9 SolidUI \u6240\u505a\u7684\u6240\u6709\u8d21\u732e\u90fd\u5c06\u53d7\u5230\u6781\u5927\u7684\u8d5e\u8d4f\u3002","tip":"(\u6392\u540d\u4e0d\u5206\u5148\u540e)"},"contributors":[{"avatarUrl":"https://avatars.githubusercontent.com/u/16789827?v=4","gitUrl":"https://github.com/dlimeng","name":"Li Meng"},{"avatarUrl":"https://avatars.githubusercontent.com/u/35603505?v=4","gitUrl":"https://github.com/nutsjian","name":"Gu Jian"},{"avatarUrl":"https://avatars.githubusercontent.com/u/46127018?v=4","gitUrl":"https://github.com/15100399015","name":"Yang LiPeng"},{"avatarUrl":"https://avatars.githubusercontent.com/u/1073365?v=4","gitUrl":"https://github.com/jacktao007","name":"Tao ZhiQiang"},{"avatarUrl":"https://avatars.githubusercontent.com/u/52304716?v=4","gitUrl":"https://github.com/ziyu211","name":"Zheng Wen"},{"avatarUrl":"https://avatars.githubusercontent.com/u/42433093?v=4","gitUrl":"https://github.com/limingoo","name":"Li MingMing"},{"avatarUrl":"https://avatars.githubusercontent.com/u/140733158?v=4","gitUrl":"https://github.com/hgfdsa101","name":"Bai Xuan"}]},"en":{"info":{"desc":"The SolidUI team is comprised of Members and Contributors. Members have direct access to the source of SolidUI project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. All contributions to SolidUI are greatly appreciated, whether for trivial cleanups, big new features or other material rewards.","tip":"(In no particular order)"},"contributors":[{"avatarUrl":"https://avatars.githubusercontent.com/u/16789827?v=4","gitUrl":"https://github.com/dlimeng","name":"Li Meng"},{"avatarUrl":"https://avatars.githubusercontent.com/u/35603505?v=4","gitUrl":"https://github.com/nutsjian","name":"Gu Jian"},{"avatarUrl":"https://avatars.githubusercontent.com/u/46127018?v=4","gitUrl":"https://github.com/15100399015","name":"Yang LiPeng"},{"avatarUrl":"https://avatars.githubusercontent.com/u/1073365?v=4","gitUrl":"https://github.com/jacktao007","name":"Tao ZhiQiang"},{"avatarUrl":"https://avatars.githubusercontent.com/u/52304716?v=4","gitUrl":"https://github.com/ziyu211","name":"Zheng Wen"},{"avatarUrl":"https://avatars.githubusercontent.com/u/42433093?v=4","gitUrl":"https://github.com/limingoo","name":"Li MingMing"},{"avatarUrl":"https://avatars.githubusercontent.com/u/140733158?v=4","gitUrl":"https://github.com/hgfdsa101","name":"Bai Xuan"}]}}');var c,s=n(179);function u(){return u=Object.assign?Object.assign.bind():function(t){for(var e=1;e{let{title:e,titleId:n,...o}=t;return a.createElement("svg",u({className:"icon",viewBox:"0 0 1024 1024",xmlns:"http://www.w3.org/2000/svg",width:200,height:200,"aria-labelledby":n},o),e?a.createElement("title",{id:n},e):null,c||(c=a.createElement("path",{d:"M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9 23.5 23.2 38.1 55.4 38.1 91v112.5c.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z"})))};var d=n(2711),f=n.n(d);function m(){const t=(0,r.Z)()&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",e=i?.[t];return a.createElement(o.Z,null,(()=>(f().init({offset:100,duration:700,easing:"ease-out-quad",once:!0}),window.addEventListener("load",f().refresh),a.createElement(s.Z,null,a.createElement("div",{className:"block team_page",style:{padding:"10px 0 30px"}},a.createElement("h3",{className:"fs-2 mb-4 fw-bold text-center"},"SolidUI Team"),a.createElement("hr",{className:"divider my-4 mx-auto",style:{maxWidth:"10rem"}}),a.createElement("p",{className:"team_desc team_indent"},e.info.desc),a.createElement("h3",{className:"team_title mb-5"},"Contributors",a.createElement("span",{className:"desc"},e.info.tip)),a.createElement("div",{className:"row bg-gray py-4"},e.contributors.map(((t,e)=>a.createElement("div",{className:"team_user mb-5 px-4",key:e,"data-aos":"fade-up","data-aos-delay":100*e},a.createElement("a",{href:t.gitUrl,target:"_blank"},a.createElement("div",{className:"team team-hover rounded"},a.createElement("div",{className:"team-img"},a.createElement("img",{src:t.avatarUrl,alt:t.name})),a.createElement("div",{className:"team-info"},a.createElement("span",{className:"team-name text-dark"},t.name),a.createElement("p",{className:"team-leader d-flex align-items-center justify-content-center"},a.createElement(l,{className:"github-icon"}),t.name)))))))))))))}}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/0a76827d.08b11110.js b/zh-CN/assets/js/0a76827d.08b11110.js new file mode 100644 index 00000000..0b739f6b --- /dev/null +++ b/zh-CN/assets/js/0a76827d.08b11110.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7415],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>v});var n=r(7294);function l(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function i(e){for(var t=1;t=0||(l[r]=e[r]);return l}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r])}return l}var p=n.createContext({}),c=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},s=function(e){var t=c(e.components);return n.createElement(p.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,l=e.mdxType,o=e.originalType,p=e.parentName,s=a(e,["components","mdxType","originalType","parentName"]),u=c(r),m=l,v=u["".concat(p,".").concat(m)]||u[m]||d[m]||o;return r?n.createElement(v,i(i({ref:t},s),{},{components:r})):n.createElement(v,i({ref:t},s))}));function v(e,t){var r=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var o=r.length,i=new Array(o);i[0]=m;var a={};for(var p in t)hasOwnProperty.call(t,p)&&(a[p]=t[p]);a.originalType=e,a[u]="string"==typeof e?e:l,i[1]=a;for(var c=2;c{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>d,frontMatter:()=>o,metadata:()=>a,toc:()=>c});var n=r(7462),l=(r(7294),r(3905));const o={id:"development-server",title:"\u670d\u52a1\u7aef\u7f16\u8bd1",sidebar_position:7},i="SolidUI \u670d\u52a1\u7aef\u7f16\u8bd1",a={unversionedId:"development/development-server",id:"development/development-server",title:"\u670d\u52a1\u7aef\u7f16\u8bd1",description:"1.\u524d\u7f6e\u6761\u4ef6",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/server-compilation.md",sourceDirName:"development",slug:"/development/development-server",permalink:"/SolidUI-Website/zh-CN/docs/development/development-server",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/server-compilation.md",tags:[],version:"current",sidebarPosition:7,frontMatter:{id:"development-server",title:"\u670d\u52a1\u7aef\u7f16\u8bd1",sidebar_position:7},sidebar:"tutorialSidebar",previous:{title:"\u9879\u76ee\u53d1\u7248\u6d41\u7a0b",permalink:"/SolidUI-Website/zh-CN/docs/development/development-release"},next:{title:"\u524d\u7aef\u90e8\u7f72",permalink:"/SolidUI-Website/zh-CN/docs/deployment/deployment-web"}},p={},c=[{value:"1.\u524d\u7f6e\u6761\u4ef6",id:"1\u524d\u7f6e\u6761\u4ef6",level:2},{value:"1.1 \u73af\u5883\u8981\u6c42",id:"11-\u73af\u5883\u8981\u6c42",level:3},{value:"1.2 \u6e90\u7801\u83b7\u53d6",id:"12-\u6e90\u7801\u83b7\u53d6",level:3},{value:"2.\u670d\u52a1\u7aef\u7f16\u8bd1",id:"2\u670d\u52a1\u7aef\u7f16\u8bd1",level:2},{value:"3.\u5168\u91cf\u7f16\u8bd1(\u670d\u52a1\u7aef\u548c\u524d\u7aef)",id:"3\u5168\u91cf\u7f16\u8bd1\u670d\u52a1\u7aef\u548c\u524d\u7aef",level:2}],s={toc:c},u="wrapper";function d(e){let{components:t,...r}=e;return(0,l.kt)(u,(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"solidui-\u670d\u52a1\u7aef\u7f16\u8bd1"},"SolidUI \u670d\u52a1\u7aef\u7f16\u8bd1"),(0,l.kt)("h2",{id:"1\u524d\u7f6e\u6761\u4ef6"},"1.\u524d\u7f6e\u6761\u4ef6"),(0,l.kt)("h3",{id:"11-\u73af\u5883\u8981\u6c42"},"1.1 \u73af\u5883\u8981\u6c42"),(0,l.kt)("p",null,"\u7f16\u8bd1\u73af\u5883\u8981\u6c42\uff1a \u5fc5\u987b JDK8 \u4ee5\u4e0a\uff0cOracle/Sun \u548c OpenJDK\u90fd\u652f\u6301\u3002"),(0,l.kt)("p",null,"\u81ea\u884c\u6309\u7167Maven\u73af\u5883\uff0c\u5efa\u8bae\u4f7f\u75283.5.4\u4ee5\u4e0a\u7248\u672c\u3002\u6216\u8005\u76f4\u63a5\u4f7f\u7528\u6e90\u7801\u4e2d\u7684maven-wrapper\u3002"),(0,l.kt)("h3",{id:"12-\u6e90\u7801\u83b7\u53d6"},"1.2 \u6e90\u7801\u83b7\u53d6"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"\u65b9\u5f0f1\uff1a\u4ecegithub\u4ed3\u5e93 ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")," \u83b7\u53d6\u9879\u76ee\u7684\u6e90\u4ee3\u7801\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"\u65b9\u5f0f2\uff1a\u4ece",(0,l.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/releases"},"https://github.com/CloudOrc/SolidUI/releases")," \u4e0b\u8f7d\u4e0b\u8f7d\u6240\u9700\u7248\u672c\u7684\u6e90\u7801\u5305\u3002"))),(0,l.kt)("h2",{id:"2\u670d\u52a1\u7aef\u7f16\u8bd1"},"2.\u670d\u52a1\u7aef\u7f16\u8bd1"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"cd solidui-x.x.x-src\n\n# \u7f16\u8bd1\nmvn clean -N install \nmvn clean install -Dmaven.test.skip=true\n\n")),(0,l.kt)("h2",{id:"3\u5168\u91cf\u7f16\u8bd1\u670d\u52a1\u7aef\u548c\u524d\u7aef"},"3.\u5168\u91cf\u7f16\u8bd1(\u670d\u52a1\u7aef\u548c\u524d\u7aef)"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"cd solidui-x.x.x-src\n\n# \u7f16\u8bd1\nmvn clean -N install \nmvn clean install -Dmaven.test.skip=true -Prelease\n\n")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/0be92caf.fbaa5fd7.js b/zh-CN/assets/js/0be92caf.fbaa5fd7.js new file mode 100644 index 00000000..bb0d4f63 --- /dev/null +++ b/zh-CN/assets/js/0be92caf.fbaa5fd7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2421],{1475:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion","page":1,"postsPerPage":3,"totalPages":2,"totalCount":6,"nextPage":"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/0e49e91b.d53acb7c.js b/zh-CN/assets/js/0e49e91b.d53acb7c.js new file mode 100644 index 00000000..f4980bd7 --- /dev/null +++ b/zh-CN/assets/js/0e49e91b.d53acb7c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[9094],{9786:(e,t,a)=>{a.r(t),a.d(t,{default:()=>b});var r=a(7294),i=a(2389),l=a(5166);function n(){return n=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...i}=e;return r.createElement("svg",n({xmlns:"http://www.w3.org/2000/svg",className:"rotate-315",width:"2rem",height:"2rem",fill:"currentColor",viewBox:"0 0 512 512","aria-labelledby":a},i),t?r.createElement("title",{id:a},t):null,r.createElement("path",{d:"M461.81 53.81a4.4 4.4 0 0 0-3.3-3.39c-54.38-13.3-180 34.09-248.13 102.17a294.9 294.9 0 0 0-33.09 39.08c-21-1.9-42-.3-59.88 7.5-50.49 22.2-65.18 80.18-69.28 105.07a9 9 0 0 0 9.8 10.4l81.07-8.9a180.29 180.29 0 0 0 1.1 18.3 18.15 18.15 0 0 0 5.3 11.09l31.39 31.39a18.15 18.15 0 0 0 11.1 5.3 179.91 179.91 0 0 0 18.19 1.1l-8.89 81a9 9 0 0 0 10.39 9.79c24.9-4 83-18.69 105.07-69.17 7.8-17.9 9.4-38.79 7.6-59.69a293.91 293.91 0 0 0 39.19-33.09c68.38-68 115.47-190.86 102.37-247.95ZM298.66 213.67a42.7 42.7 0 1 1 60.38 0 42.65 42.65 0 0 1-60.38 0Z",style:{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:32}}),r.createElement("path",{d:"M109.64 352a45.06 45.06 0 0 0-26.35 12.84C65.67 382.52 64 448 64 448s65.52-1.67 83.15-19.31A44.73 44.73 0 0 0 160 402.32",style:{color:"#ffcc43",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:32}}))};var c;function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...i}=e;return r.createElement("svg",o({width:200,height:200,viewBox:"0 0 200 200",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":a},i),t?r.createElement("title",{id:a},t):null,c||(c=r.createElement("path",{fill:"currentColor",d:"M142.5 33.8c14.6 9.5 30 17.8 38.6 30.9 8.7 13.1 10.7 30.9 8.5 48.3-2.3 17.4-8.9 34.4-20.1 47.1-11.2 12.8-27.1 21.4-43.6 24.5-16.4 3.2-33.3.8-48.6-4.8-15.2-5.7-28.8-14.6-38.2-26.5-9.5-11.9-14.9-26.7-18.1-42.5-3.1-15.8-4.1-32.5 1.3-47.2 5.3-14.6 17-27.3 31-37.1S83.6 9.9 98.8 11.8c15.1 1.9 29 12.5 43.7 22Z"})))};var m,p,u;function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...i}=e;return r.createElement("svg",h({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1440 320","aria-labelledby":a},i),t?r.createElement("title",{id:a},t):null,m||(m=r.createElement("path",{className:"opacity-20 translate-top-2",fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})),p||(p=r.createElement("path",{className:"opacity-30 translate-top-1",fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})),u||(u=r.createElement("path",{fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})))};function b(){const e=(0,i.Z)(),t=e&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",a=e&&0===location.pathname.indexOf("/zh-CN/")?"/zh-CN":"",n=l?.[t];return r.createElement("div",{className:"section bg-gradient-primary pb-9 pt-7 overflow-hidden"},r.createElement("div",{className:"overlay bg-gradient-primary opacity-90 z-index-n1"}),r.createElement("div",{className:"particle"},r.createElement("div",{className:"particle-move-up d-none d-block particle-move-up-1 text-light z-index-n1 opacity-60"},r.createElement(s,{width:"2rem",height:"2rem"})),r.createElement("div",{className:"particle-move-up particle-move-up-2 text-light z-index-n1 opacity-60"},r.createElement(s,{width:"1rem",height:"1rem"})),r.createElement("div",{className:"particle-move-up d-none d-sm-block particle-move-up-3 text-light z-index-n1 opacity-60"},r.createElement(s,{width:"1.5rem",height:"1.5rem"})),r.createElement("div",{className:"particle-move-up d-none d-xl-block particle-move-up-4 text-light z-index-n1 opacity-60"},r.createElement(s,{width:"1rem",height:"1rem"})),r.createElement("div",{className:"particle-move-up d-none d-sm-block particle-move-up-5 text-light z-index-n1 opacity-60"},r.createElement(s,{width:"1.2rem",height:"1.2rem"})),r.createElement("div",{className:"particle-move-up border-success text-light particle-move-up-6 z-index-n1 opacity-60"},r.createElement(s,{width:"2rem",height:"2rem"})),r.createElement("div",{className:"particle-move-up particle-move-up-7 z-index-n1 text-light opacity-60"},r.createElement(s,{width:"1.5rem",height:"1.5rem"})),r.createElement("div",{className:"particle-move-up particle-move-up-8 z-index-n1 text-light opacity-60"},r.createElement(s,{width:"1.2rem",height:"1.2rem"})),r.createElement("div",{className:"particle-move-up particle-move-up-9 z-index-n1 text-light opacity-60"},r.createElement(s,{width:"2rem",height:"2rem"}))),r.createElement("figure",{className:"scribble scale-4 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"300"},r.createElement(d,{className:"text-secondary"})),r.createElement("figure",{className:"scribble scale-5 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"200"},r.createElement(d,{className:"text-secondary"})),r.createElement("figure",{className:"scribble scale-6 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"100"},r.createElement(d,{className:"text-secondary"})),r.createElement("figure",{className:"scribble scale-7 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right"},r.createElement(d,{className:"text-secondary"})),r.createElement("div",{className:"container-fluid px-7 pb-2"},r.createElement("div",{className:"row justify-content-center"},r.createElement("div",{className:"col-md-6 col-8 align-self-center pe-5","data-aos":"fade-right"},r.createElement("div",{className:"text-start mt-0"},r.createElement("div",{className:"mb-5 system_info pt-0"},r.createElement("div",{className:"project_title fw-bold text-white mb-3"},r.createElement("div",{className:"d-flex justify-content-center align-items-start"},r.createElement("div",{className:"animated-gradient-text_background animated-gradient-text_background-2",style:{"--content":'"SolidUI"',"--start-color":"#FFF","--end-color":"#00DFD8"}},r.createElement("span",{className:"animated-gradient-text_foreground animated-gradient-text_foreground-2"},"SolidUI")))),r.createElement("p",{className:"lead text-light text-center"},n.slogan.description)),r.createElement("div",{className:"d-flex justify-content-center align-items-start"},r.createElement("a",{className:"btn streampark-btn btn mt-30 ztop",href:"https://github.com/CloudOrc/SolidUI",target:"_blank"},r.createElement("i",{className:"lni-github-original"}),"\xa0GitHub"),r.createElement("a",{className:"btn streampark-btn btn-green mt-30 ml-3 ztop",href:`/SolidUI-Website${a}/docs/user-guide/quick-start`,style:{marginLeft:"10px"}},r.createElement("i",{className:"lni-play"}),"\xa0Get started")),r.createElement("div",{style:{marginTop:"20px"},className:"shields ztop d-flex justify-content-center align-items-start"},r.createElement("a",{target:"_blank",href:"https://www.apache.org/licenses/LICENSE-2.0.html"},r.createElement("img",{src:"https://img.shields.io/badge/license-Apache%202-blue.svg",className:"wow fadeInUp"})),r.createElement("a",{target:"_blank",href:"https://github.com/CloudOrc/SolidUI"},r.createElement("img",{src:"https://img.shields.io/github/stars/CloudOrc/SolidUI.svg?sanitize=true",className:"wow fadeInUp"})),r.createElement("a",{target:"_blank",href:"https://github.com/CloudOrc/SolidUI/fork"},r.createElement("img",{src:"https://img.shields.io/github/forks/CloudOrc/SolidUI.svg?sanitize=true",className:"wow fadeInUp"})),r.createElement("a",{href:""},r.createElement("img",{src:"https://img.shields.io/github/languages/count/CloudOrc/SolidUI",className:"wow fadeInUp"})),r.createElement("a",{target:"_blank",href:"https://huggingface.co/spaces/CloudOrc/SolidUI"},r.createElement("img",{src:"https://img.shields.io/badge/%F0%9F%A4%97%20-Hugging%20Face%20Spaces-blue",className:"wow fadeInUp"})),r.createElement("a",{href:"https://www.producthunt.com/posts/solidui?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-solidui",target:"_blank"},r.createElement("img",{src:"https://img.shields.io/badge/producthunt-blue",className:"wow fadeInUp"})),r.createElement("a",{target:"_blank",href:"https://discord.gg/NGRNu2mGeQ"},r.createElement("img",{src:"https://img.shields.io/badge/discord-blue",className:"wow fadeInUp"})),r.createElement("a",{target:"_blank",href:"https://gitee.com/CloudOrc/SolidUI"},r.createElement("img",{src:"https://shields.io/badge/%E2%AD%90-Gitee-blue",alt:"gitee",className:"wow fadeInUp"}))))))),r.createElement("figure",{className:"waves-bottom-center text-light mb-n4 z-index-n1"},r.createElement(g,null)))}},5166:e=>{e.exports=JSON.parse('{"zh-CN":{"common":{"getStart":"\u5feb\u901f\u5f00\u59cb","architecture":"\u7cfb\u7edf\u67b6\u6784","learnMore":"\u4e86\u89e3\u66f4\u591a","coreFeatures":"\u6838\u5fc3\u7279\u6027","coreFeaturesDesc":"\u8ba9\u60a8\u7684\u9879\u76ee\u66f4\u8f7b\u677e\u7684\u6838\u5fc3\u7279\u6027","honor":"\u6211\u4eec\u7684\u8363\u8a89","ourUsers":"Our Users","readMore":"\u9605\u8bfb\u66f4\u591a","download":"\u4e0b\u8f7d","releaseDate":"\u53d1\u5e03\u65e5\u671f","newFeatures":"\u65b0\u7279\u6027","enhancement":"\u589e\u5f3a\u70b9","bugFixs":"\u95ee\u9898\u4fee\u590d","changeLog":"\u8be6\u7ec6\u53d8\u66f4"},"slogan":{"key":"AI\u751f\u6210\u56fe\u5f62\u6a21\u578b","description":"\u4e00\u53e5\u8bdd\u751f\u6210\u4efb\u4f55\u56fe\u5f62"},"feature":[{"title":"AI\u751f\u62102D\u56fe\u5f62","icon":"lni-bar-chart","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd2D\u56fe\u5f62"},{"title":"AI\u751f\u62103D\u573a\u666f","icon":"lni-dropbox","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd3D\u573a\u666f"},{"title":"\u591a\u79cd\u6570\u636e\u6e90","icon":"lni-database","details":"\u6570\u636e\u6e90\u63d2\u4ef6\u4e0e\u63d0\u793a\u8bcd\u7ed3\u5408"},{"title":"\u4e09\u65b9\u63d2\u4ef6\u673a\u5668\u4eba","icon":"lni-game","details":"\u4e3a\u4e86\u63d0\u4f9b\u66f4\u597d\u670d\u52a1\uff0c\u652f\u6301\u63d2\u4ef6\u673a\u5668\u4eba\uff0c\u4f8b\u5982Huggingface space"},{"title":"\u53ef\u89c6\u5316\u6a21\u578b","icon":"lni-eye","details":"\u4e3a\u4e86\u66f4\u597d\u751f\u6210\u53ef\u89c6\u5316\u56fe\u5f62\uff0c\u81ea\u7814\u53ef\u89c6\u5316\u6a21\u578b"},{"title":"\u5bb9\u5668\u5316\u90e8\u7f72","icon":"lni-soundcloud","details":"\u4e3a\u4e86\u5feb\u901f\u4f7f\u7528\uff0c\u652f\u6301\u5bb9\u5668\u5316\u90e8\u7f72"}],"honor":{"description":"\u6211\u4eec\u83b7\u5f97\u4e86\u4e9b\u6b8a\u8363\uff0c\u8fd9\u4e9b\u8363\u8a89\u5c5e\u4e8e\u6240\u6709\u4e3a SolidUI \u505a\u51fa\u8d21\u732e\u7684\u4eba\uff0c\u611f\u8c22\u60a8\u7684\u4ed8\u51fa\uff01"}},"en":{"common":{"getStart":"Quick Start","architecture":"System Architecture","description":"Description","learnMore":"Learn More","coreFeatures":"Core Features","coreFeaturesDesc":"Modern features that will make your project easier.","honor":"Our Honor","ourUsers":"Our Users","readMore":"Read More","download":"Download","releaseDate":"Release Date","newFeatures":"New Features","enhancement":"Enhancement point","bugFixs":"Bug Fix","changeLog":"Changelog"},"slogan":{"key":"AI-generated Graphic Models","description":"one sentence generates any graph"},"feature":[{"title":"AI generated 2D graphics","icon":"lni-bar-chart","details":"Generate various 2D graphics based on the visualization model"},{"title":"AI generated 3D scene","icon":"lni-dropbox","details":"Generate various 3D scenes based on the visualization model"},{"title":"Multiple data sources","icon":"lni-database","details":"Data source plugin combined with prompt words"},{"title":"Three-party plug-in robot","icon":"lni-game","details":"In order to provide better service, support plug-in robots, such as Huggingface space"},{"title":"Visualization Model","icon":"lni-eye","details":"In order to better generate visualization graphics, self-developed visualization model"},{"title":"Containerized Deployment","icon":"lni-soundcloud","details":"For quick use, support containerized deployment"}],"honor":{"description":"We have received some precious honors, which belong to everyone who contributes to SolidUI, Thanks"}}}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/0fceeaee.51c7d1a9.js b/zh-CN/assets/js/0fceeaee.51c7d1a9.js new file mode 100644 index 00000000..a830464e --- /dev/null +++ b/zh-CN/assets/js/0fceeaee.51c7d1a9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2718],{3905:(e,t,o)=>{o.d(t,{Zo:()=>c,kt:()=>p});var n=o(7294);function i(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function a(e){for(var t=1;t=0||(i[o]=e[o]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(i[o]=e[o])}return i}var s=n.createContext({}),u=function(e){var t=n.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},c=function(e){var t=u(e.components);return n.createElement(s.Provider,{value:t},e.children)},m="mdxType",h={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var o=e.components,i=e.mdxType,r=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),m=u(o),d=i,p=m["".concat(s,".").concat(d)]||m[d]||h[d]||r;return o?n.createElement(p,a(a({ref:t},c),{},{components:o})):n.createElement(p,a({ref:t},c))}));function p(e,t){var o=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=o.length,a=new Array(r);a[0]=d;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[m]="string"==typeof e?e:i,a[1]=l;for(var u=2;u{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>h,frontMatter:()=>r,metadata:()=>l,toc:()=>u});var n=o(7462),i=(o(7294),o(3905));const r={id:"become_committer",title:"Become committer",sidebar_position:1},a="How to participate in project contribution",l={unversionedId:"contribution_guide/become_committer",id:"contribution_guide/become_committer",title:"Become committer",description:"Many thanks for contributing to the SolidUI project! Before contributing, please read the following guidelines carefully.",source:"@site/community/contribution_guide/become_committer.md",sourceDirName:"contribution_guide",slug:"/contribution_guide/become_committer",permalink:"/SolidUI-Website/zh-CN/community/contribution_guide/become_committer",draft:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"become_committer",title:"Become committer",sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"Documentation Notice",permalink:"/SolidUI-Website/zh-CN/community/submit_guide/document"}},s={},u=[{value:"1. Contribution category",id:"1-contribution-category",level:2},{value:"1.1 Bug feedback and fixes",id:"11-bug-feedback-and-fixes",level:3},{value:"1.2 Function communication, implementation, refactoring",id:"12-function-communication-implementation-refactoring",level:3},{value:"1.3 Issue Answers",id:"13-issue-answers",level:3},{value:"1.4 Documentation improvements",id:"14-documentation-improvements",level:3},{value:"1.5 Others",id:"15-others",level:3},{value:"2. Contribution process",id:"2-contribution-process",level:2},{value:"2.1 Branch structure",id:"21-branch-structure",level:3},{value:"2.1.1 Concept",id:"211-concept",level:4},{value:"2.1.2 Synchronize the latest code from the Upstream warehouse branch to your own Fork warehouse",id:"212-synchronize-the-latest-code-from-the-upstream-warehouse-branch-to-your-own-fork-warehouse",level:4},{value:"2.1.3 Synchronize the new branch of the Upstream warehouse to your own Fork warehouse",id:"213-synchronize-the-new-branch-of-the-upstream-warehouse-to-your-own-fork-warehouse",level:4},{value:"2.1.4 A pr process",id:"214-a-pr-process",level:4},{value:"2.2 Development Guidelines",id:"22-development-guidelines",level:3},{value:"2.3 Issue submission guidelines",id:"23-issue-submission-guidelines",level:3},{value:"2.4 Pull Request (PR) submission guidelines",id:"24-pull-request-pr-submission-guidelines",level:3},{value:"2.5 Review Criteria",id:"25-review-criteria",level:3},{value:"2.5.1 Gains",id:"251-gains",level:4},{value:"2.5.2 Side Effects and Risks",id:"252-side-effects-and-risks",level:4},{value:"2.5.3 Reviewer Notes",id:"253-reviewer-notes",level:4},{value:"3. Advanced contribution",id:"3-advanced-contribution",level:2},{value:"3.1 About Committers (Collaborators)",id:"31-about-committers-collaborators",level:3},{value:"3.1.1 How to become a Committer",id:"311-how-to-become-a-committer",level:4},{value:"3.1.2 Committer's rights",id:"312-committers-rights",level:4},{value:"3.2 About the Committee",id:"32-about-the-committee",level:3},{value:"3.2.1 How to become a Committee member",id:"321-how-to-become-a-committee-member",level:4},{value:"3.2.2 Rights of Committee members",id:"322-rights-of-committee-members",level:4}],c={toc:u},m="wrapper";function h(e){let{components:t,...o}=e;return(0,i.kt)(m,(0,n.Z)({},c,o,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"how-to-participate-in-project-contribution"},"How to participate in project contribution"),(0,i.kt)("p",null,"Many thanks for contributing to the SolidUI project! Before contributing, please read the following guidelines carefully."),(0,i.kt)("h2",{id:"1-contribution-category"},"1. Contribution category"),(0,i.kt)("h3",{id:"11-bug-feedback-and-fixes"},"1.1 Bug feedback and fixes"),(0,i.kt)("p",null,"We recommend that whether it is bug feedback or repair, first create an Issue to describe the status of the bug in detail, so that the community can find and review the problem and code through the Issue record. Bug feedback Issues usually need to include ",(0,i.kt)("strong",{parentName:"p"},"full information describing the bug")," and ",(0,i.kt)("strong",{parentName:"p"},"reproducible scenarios"),", so that the community can quickly locate the cause of the bug and fix it. Open Issues with ",(0,i.kt)("inlineCode",{parentName:"p"},"#bug")," tags are those that need to be fixed."),(0,i.kt)("h3",{id:"12-function-communication-implementation-refactoring"},"1.2 Function communication, implementation, refactoring"),(0,i.kt)("p",null,"In the communication process, describing in detail the details, mechanism and usage scenarios of the new function (or refactoring) can promote its better and faster implementation (including test cases and codes, and CI/CD related work). ",(0,i.kt)("strong",{parentName:"p"},"If you plan to implement a major function (or refactoring), please be sure to communicate with the core development team via Issue or other means"),", so that everyone can promote it in the most efficient way. Open Issues containing ",(0,i.kt)("inlineCode",{parentName:"p"},"#feature")," tags are all new features that need to be implemented, and open Issues containing ",(0,i.kt)("inlineCode",{parentName:"p"},"#enhancement")," tags are all functions that need to be improved and refactored."),(0,i.kt)("h3",{id:"13-issue-answers"},"1.3 Issue Answers"),(0,i.kt)("p",null,"Helping to answer usage questions in Issues is a very valuable way to contribute to the SolidUI community; there are always new users in the community, and you can show your expertise while helping new users."),(0,i.kt)("h3",{id:"14-documentation-improvements"},"1.4 Documentation improvements"),(0,i.kt)("p",null,"The SolidUI documentation is located at ",(0,i.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"SolidUI-Website"),", and the completion of the documentation is also crucial to the development of SolidUI."),(0,i.kt)("h3",{id:"15-others"},"1.5 Others"),(0,i.kt)("p",null,"Including participating in and helping to organize community exchanges, community operation activities, etc., and other activities that can help SolidUI projects and communities."),(0,i.kt)("h2",{id:"2-contribution-process"},"2. Contribution process"),(0,i.kt)("h3",{id:"21-branch-structure"},"2.1 Branch structure"),(0,i.kt)("p",null,"The SolidUI source code may generate some temporary branches, but two are only the following three branches that are really meaningful:"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"release-*: Stable release version;"),(0,i.kt)("li",{parentName:"ul"},"dev: The daily development branch, which is also the target branch for everyone to contribute code. If you want to contribute code, please create a new branch based on the dev branch. When the version is released, a new release branch will be created based on dev;")),(0,i.kt)("h4",{id:"211-concept"},"2.1.1 Concept"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Upstream warehouse: ",(0,i.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")," The SolidUI warehouse is called Upstream warehouse in the text"),(0,i.kt)("li",{parentName:"ul"},"Fork warehouse: Fork from ",(0,i.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")," to your own personal warehouse, called Fork warehouse")),(0,i.kt)("h4",{id:"212-synchronize-the-latest-code-from-the-upstream-warehouse-branch-to-your-own-fork-warehouse"},"2.1.2 Synchronize the latest code from the Upstream warehouse branch to your own Fork warehouse"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step1 Enter the user project page, select the branch to be updated"),(0,i.kt)("li",{parentName:"ul"},"step2 Click Fetch upstream under the code download button, select Fetch and merge (if the branch of your own Fork warehouse is accidentally polluted, you can delete the branch, and then synchronize the new branch of the Upstream warehouse to your own Fork warehouse, see the guide ","[Synchronize Upstream Branch the latest code from the warehouse to your own Fork warehouse]","(#213-Synchronize the new branch of the Upstream warehouse to your own Fork warehouse))")),(0,i.kt)("h4",{id:"213-synchronize-the-new-branch-of-the-upstream-warehouse-to-your-own-fork-warehouse"},"2.1.3 Synchronize the new branch of the Upstream warehouse to your own Fork warehouse"),(0,i.kt)("p",null,"Scenario: There is a new branch in the Upstream repository, but the forked repository does not have this branch (you can choose to delete it and re-fork, but the changes that have not been merged to the original repository will be lost)"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step1 Open the Git command line tool (such as Git Bash), clone your own Fork warehouse to the local")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git clone https://github.com/{your_github_username}/SolidUI.git\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step2 enter the local warehouse directory")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"cd SolidUI\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step3 Add Upstream warehouse as remote warehouse")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git remote add upstream https://github.com/CloudOrc/SolidUI.git\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step4 Get the branch information of the Upstream warehouse")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git fetch upstream\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step5 Synchronize the new branch of the Upstream warehouse to the local")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git checkout -b {new_branch_name} upstream/{new_branch_name}\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step6 Push the new branch to your own Fork repository")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git push --set-upstream origin {new_branch_name}\n")),(0,i.kt)("h4",{id:"214-a-pr-process"},"2.1.4 A pr process"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"step1 Confirm the base branch of the current development (usually the current version in progress, such as the version 0.2.0 currently under development in the community, then the branch is dev, if you are not sure, you can ask in the community group or @related in the issue classmate)")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"step2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse branch, refer to the guide ","[2.1.2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse]")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"step3 Based on the development branch, pull the new fix/feature branch (do not directly modify the original branch, if the subsequent pr is merged in squash mode, the submitted commit records will be merged into one)"))),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"git checkout -b dev-fix dev\ngit push origin dev-fix:dev-fix\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step4 for development"),(0,i.kt)("li",{parentName:"ul"},"step5 Submit pr (if it is in progress and the development has not been completely completed, please add the WIP logo to the pr title, such as ",(0,i.kt)("inlineCode",{parentName:"li"},"[WIP] Dev 0.2.0 Add junit test code for [solidui-common]"),"; associate the corresponding issue etc.)"),(0,i.kt)("li",{parentName:"ul"},"step6 waiting to be merged"),(0,i.kt)("li",{parentName:"ul"},"step7 delete the fix/future branch (you can do it on the github page)")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"git branch -d dev-fix\ngit push\n")),(0,i.kt)("h3",{id:"22-development-guidelines"},"2.2 Development Guidelines"),(0,i.kt)("p",null,"The front-end and back-end codes of SolidUI share the same code base, but are separated in development. Before starting development, please fork a copy of the SolidUI project to your own Github Repositories, and develop based on the SolidUI code base in your own Github Repositories."),(0,i.kt)("p",null,"We recommend cloning the dev branch and naming it dev-fix for development. At the same time, create a new dev-fix branch in your warehouse and modify it directly on the original branch. If the subsequent pr is merged in squash mode, the submitted commit records will be merged into one"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"# pull branch\ngit clone https://github.com/{githubid}/SolidUI.git --branch dev\n#Generate local dev-fix branch according to dev\ngit checkout -b dev-fix dev\n#Push the local dev-fix branch to your own warehouse\ngit push origin dev-fix dev-fix\n")),(0,i.kt)("h3",{id:"23-issue-submission-guidelines"},"2.3 Issue submission guidelines"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"If you don't know how to initiate a PR to an open source project, please refer to ",(0,i.kt)("a",{parentName:"li",href:"https://docs.github.com/en/github/managing-your-work-on-github/about-issues"},"About issues")),(0,i.kt)("li",{parentName:"ul"},"The name of the issue, which should briefly describe your problem or suggestion in one sentence; for the international promotion of the project, please write the issue in English, or bilingual Chinese and English"),(0,i.kt)("li",{parentName:"ul"},"For each Issue, please bring at least a label. Reference: ",(0,i.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/63"},"issue #63"))),(0,i.kt)("h3",{id:"24-pull-request-pr-submission-guidelines"},"2.4 Pull Request (PR) submission guidelines"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"If you don't know how to initiate a PR to an open source project, please refer to ","[About pull requests]","(",(0,i.kt)("a",{parentName:"p",href:"https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull"},"https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull")," -requests)")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"Whether it's a bug fix or a new feature development, please submit a PR to the dev branch")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"PR and commit name follow the principle of ",(0,i.kt)("inlineCode",{parentName:"p"},"(): "),", for details, please refer to ",(0,i.kt)("a",{parentName:"p",href:"/docs/development/development-commit"},"Commit message and Change log writing guide"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"If a PR includes new features, documentation updates should be included in this PR")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"If the PR is not ready to be merged, prefix the name with ","[WIP]"," (WIP = work-in-progress)")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"All commits to dev-* branches need to be reviewed at least once before they can be merged"))),(0,i.kt)("h3",{id:"25-review-criteria"},"2.5 Review Criteria"),(0,i.kt)("p",null,"Before contributing code, find out what kind of commits are welcome in Review. Simply put, if a commit brings as much gain as possible with as few side effects or risks as possible, the more likely it will be merged and the faster it will be reviewed. Commits with high risk and low value are almost impossible to be merged, and may be rejected for Review."),(0,i.kt)("h4",{id:"251-gains"},"2.5.1 Gains"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Fix the main cause of the bug"),(0,i.kt)("li",{parentName:"ul"},"Add or fix a feature or bug that was requested by a large number of users"),(0,i.kt)("li",{parentName:"ul"},"simple and effective"),(0,i.kt)("li",{parentName:"ul"},"Easy to test, with test cases"),(0,i.kt)("li",{parentName:"ul"},"Reduce complexity and code size"),(0,i.kt)("li",{parentName:"ul"},"Issues identified for improvement discussed by the community")),(0,i.kt)("h4",{id:"252-side-effects-and-risks"},"2.5.2 Side Effects and Risks"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"only fix the surface of the bug"),(0,i.kt)("li",{parentName:"ul"},"Introducing new features with high complexity"),(0,i.kt)("li",{parentName:"ul"},"Adding complexity to meet niche needs"),(0,i.kt)("li",{parentName:"ul"},"Changes to stable existing APIs or semantics"),(0,i.kt)("li",{parentName:"ul"},"Cause other functions not to work properly"),(0,i.kt)("li",{parentName:"ul"},"Add a lot of dependencies"),(0,i.kt)("li",{parentName:"ul"},"Feel free to change dependency versions"),(0,i.kt)("li",{parentName:"ul"},"Commit a lot of code or changes at once")),(0,i.kt)("h4",{id:"253-reviewer-notes"},"2.5.3 Reviewer Notes"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Please write comments in a constructive tone"),(0,i.kt)("li",{parentName:"ul"},"If the submitter needs to make changes, please clearly state all the changes that need to be made to complete this Pull Request"),(0,i.kt)("li",{parentName:"ul"},"If a PR is found to have brought new problems after merging, Reviewer needs to contact the PR author and communicate to solve the problem; if the PR author cannot be contacted, Reviewer needs to restore the PR")),(0,i.kt)("hr",null),(0,i.kt)("h2",{id:"3-advanced-contribution"},"3. Advanced contribution"),(0,i.kt)("h3",{id:"31-about-committers-collaborators"},"3.1 About Committers (Collaborators)"),(0,i.kt)("h4",{id:"311-how-to-become-a-committer"},"3.1.1 How to become a Committer"),(0,i.kt)("p",null,"If you have submitted a valuable PR to SolidUI and it has been merged, or have contributed continuously for more than half a year, and have led at least one version release, you can find a PMC of the SolidUI project through the official WeChat group, if he is willing to nominate you as a committer , and are willing to state your contribution to all PMCs and Committers for you, then a vote will be launched; PMC and other Committers will vote together to decide whether to allow you to join, if you get enough votes, you will become a Committer of the SolidUI project ."),(0,i.kt)("h4",{id:"312-committers-rights"},"3.1.2 Committer's rights"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"You can join the official developer WeChat group to participate in discussions and formulate SolidUI development plans"),(0,i.kt)("li",{parentName:"ul"},"Can manage Issues, including closing and adding tags"),(0,i.kt)("li",{parentName:"ul"},"Can create and manage project branches, except dev branch"),(0,i.kt)("li",{parentName:"ul"},"Ability to review PRs submitted to the dev branch"),(0,i.kt)("li",{parentName:"ul"},"Can apply to become a Committee member")),(0,i.kt)("h3",{id:"32-about-the-committee"},"3.2 About the Committee"),(0,i.kt)("h4",{id:"321-how-to-become-a-committee-member"},"3.2.1 How to become a Committee member"),(0,i.kt)("p",null,"If you are a Committer of the SolidUI project, and all the content you contributed has been recognized by other Committee members, you can apply to become a member of the SolidUI Committee, and other Committee members will vote together to decide whether to allow you to join. If all votes pass, you will Become a SolidUI Committee member."),(0,i.kt)("h4",{id:"322-rights-of-committee-members"},"3.2.2 Rights of Committee members"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Ability to merge PRs submitted by other Committers and contributors to the dev branch"),(0,i.kt)("li",{parentName:"ul"},"Participate in determining the roadmap and development direction of the SolidUI project"),(0,i.kt)("li",{parentName:"ul"},"Can participate in new version releases")))}h.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/1246422e.4f0c67cf.js b/zh-CN/assets/js/1246422e.4f0c67cf.js new file mode 100644 index 00000000..82eb579b --- /dev/null +++ b/zh-CN/assets/js/1246422e.4f0c67cf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4762],{3769:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"default"}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/12e9a6c2.c6a32eba.js b/zh-CN/assets/js/12e9a6c2.c6a32eba.js new file mode 100644 index 00000000..eb4d24d7 --- /dev/null +++ b/zh-CN/assets/js/12e9a6c2.c6a32eba.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[590],{6241:e=>{e.exports=JSON.parse('[{"label":"SolidUI","permalink":"/SolidUI-Website/zh-CN/blog/tags/solid-ui","count":6},{"label":"AI","permalink":"/SolidUI-Website/zh-CN/blog/tags/ai","count":3},{"label":"stable-diffusion","permalink":"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion","count":6},{"label":"AIGC","permalink":"/SolidUI-Website/zh-CN/blog/tags/aigc","count":3}]')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/17896441.c64734ea.js b/zh-CN/assets/js/17896441.c64734ea.js new file mode 100644 index 00000000..5d5ac96e --- /dev/null +++ b/zh-CN/assets/js/17896441.c64734ea.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7918],{8945:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ie});var a=n(7294),l=n(1944),o=n(902);const r=a.createContext(null);function s(e){let{children:t,content:n}=e;const l=function(e){return(0,a.useMemo)((()=>({metadata:e.metadata,frontMatter:e.frontMatter,assets:e.assets,contentTitle:e.contentTitle,toc:e.toc})),[e])}(n);return a.createElement(r.Provider,{value:l},t)}function c(){const e=(0,a.useContext)(r);if(null===e)throw new o.i6("DocProvider");return e}function i(){const{metadata:e,frontMatter:t,assets:n}=c();return a.createElement(l.d,{title:e.title,description:e.description,keywords:t.keywords,image:n.image??t.image})}var d=n(6010),m=n(7524),u=n(7462),v=n(5999),b=n(2244);function p(e){const{previous:t,next:n}=e;return a.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,v.I)({id:"theme.docs.paginator.navAriaLabel",message:"Docs pages",description:"The ARIA label for the docs pagination"})},t&&a.createElement(b.Z,(0,u.Z)({},t,{subLabel:a.createElement(v.Z,{id:"theme.docs.paginator.previous",description:"The label used to navigate to the previous doc"},"Previous")})),n&&a.createElement(b.Z,(0,u.Z)({},n,{subLabel:a.createElement(v.Z,{id:"theme.docs.paginator.next",description:"The label used to navigate to the next doc"},"Next"),isNext:!0})))}function h(){const{metadata:e}=c();return a.createElement(p,{previous:e.previous,next:e.next})}var f=n(2263),E=n(9960),g=n(143),L=n(5281),C=n(373),N=n(4477);const _={unreleased:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(v.Z,{id:"theme.docs.versions.unreleasedVersionLabel",description:"The label used to tell the user that he's browsing an unreleased doc version",values:{siteTitle:t,versionLabel:a.createElement("b",null,n.label)}},"This is unreleased documentation for {siteTitle} {versionLabel} version.")},unmaintained:function(e){let{siteTitle:t,versionMetadata:n}=e;return a.createElement(v.Z,{id:"theme.docs.versions.unmaintainedVersionLabel",description:"The label used to tell the user that he's browsing an unmaintained doc version",values:{siteTitle:t,versionLabel:a.createElement("b",null,n.label)}},"This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.")}};function k(e){const t=_[e.versionMetadata.banner];return a.createElement(t,e)}function Z(e){let{versionLabel:t,to:n,onClick:l}=e;return a.createElement(v.Z,{id:"theme.docs.versions.latestVersionSuggestionLabel",description:"The label used to tell the user to check the latest version",values:{versionLabel:t,latestVersionLink:a.createElement("b",null,a.createElement(E.Z,{to:n,onClick:l},a.createElement(v.Z,{id:"theme.docs.versions.latestVersionLinkLabel",description:"The label used for the latest version suggestion link label"},"latest version")))}},"For up-to-date documentation, see the {latestVersionLink} ({versionLabel}).")}function x(e){let{className:t,versionMetadata:n}=e;const{siteConfig:{title:l}}=(0,f.Z)(),{pluginId:o}=(0,g.gA)({failfast:!0}),{savePreferredVersionName:r}=(0,C.J)(o),{latestDocSuggestion:s,latestVersionSuggestion:c}=(0,g.Jo)(o),i=s??(m=c).docs.find((e=>e.id===m.mainDocId));var m;return a.createElement("div",{className:(0,d.Z)(t,L.k.docs.docVersionBanner,"alert alert--warning margin-bottom--md"),role:"alert"},a.createElement("div",null,a.createElement(k,{siteTitle:l,versionMetadata:n})),a.createElement("div",{className:"margin-top--md"},a.createElement(Z,{versionLabel:c.label,to:i.path,onClick:()=>r(c.name)})))}function T(e){let{className:t}=e;const n=(0,N.E)();return n.banner?a.createElement(x,{className:t,versionMetadata:n}):null}function H(e){let{className:t}=e;const n=(0,N.E)();return n.badge?a.createElement("span",{className:(0,d.Z)(t,L.k.docs.docVersionBadge,"badge badge--secondary")},a.createElement(v.Z,{id:"theme.docs.versionBadge.label",values:{versionLabel:n.label}},"Version: {versionLabel}")):null}function U(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n}=e;return a.createElement(v.Z,{id:"theme.lastUpdated.atDate",description:"The words used to describe on which date a page has been last updated",values:{date:a.createElement("b",null,a.createElement("time",{dateTime:new Date(1e3*t).toISOString()},n))}}," on {date}")}function w(e){let{lastUpdatedBy:t}=e;return a.createElement(v.Z,{id:"theme.lastUpdated.byUser",description:"The words used to describe by who the page has been last updated",values:{user:a.createElement("b",null,t)}}," by {user}")}function y(e){let{lastUpdatedAt:t,formattedLastUpdatedAt:n,lastUpdatedBy:l}=e;return a.createElement("span",{className:L.k.common.lastUpdated},a.createElement(v.Z,{id:"theme.lastUpdated.lastUpdatedAtBy",description:"The sentence used to display when a page has been last updated, and by who",values:{atDate:t&&n?a.createElement(U,{lastUpdatedAt:t,formattedLastUpdatedAt:n}):"",byUser:l?a.createElement(w,{lastUpdatedBy:l}):""}},"Last updated{atDate}{byUser}"),!1)}var A=n(4881),M=n(1526);const I={lastUpdated:"lastUpdated_vwxv"};function B(e){return a.createElement("div",{className:(0,d.Z)(L.k.docs.docFooterTagsRow,"row margin-bottom--sm")},a.createElement("div",{className:"col"},a.createElement(M.Z,e)))}function O(e){let{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:l,formattedLastUpdatedAt:o}=e;return a.createElement("div",{className:(0,d.Z)(L.k.docs.docFooterEditMetaRow,"row")},a.createElement("div",{className:"col"},t&&a.createElement(A.Z,{editUrl:t})),a.createElement("div",{className:(0,d.Z)("col",I.lastUpdated)},(n||l)&&a.createElement(y,{lastUpdatedAt:n,formattedLastUpdatedAt:o,lastUpdatedBy:l})))}function V(){const{metadata:e}=c(),{editUrl:t,lastUpdatedAt:n,formattedLastUpdatedAt:l,lastUpdatedBy:o,tags:r}=e,s=r.length>0,i=!!(t||n||o);return s||i?a.createElement("footer",{className:(0,d.Z)(L.k.docs.docFooter,"docusaurus-mt-lg")},s&&a.createElement(B,{tags:r}),i&&a.createElement(O,{editUrl:t,lastUpdatedAt:n,lastUpdatedBy:o,formattedLastUpdatedAt:l})):null}var P=n(6043),S=n(3743);const D={tocCollapsibleButton:"tocCollapsibleButton_TO0P",tocCollapsibleButtonExpanded:"tocCollapsibleButtonExpanded_MG3E"};function R(e){let{collapsed:t,...n}=e;return a.createElement("button",(0,u.Z)({type:"button"},n,{className:(0,d.Z)("clean-btn",D.tocCollapsibleButton,!t&&D.tocCollapsibleButtonExpanded,n.className)}),a.createElement(v.Z,{id:"theme.TOCCollapsible.toggleButtonLabel",description:"The label used by the button on the collapsible TOC component"},"On this page"))}const F={tocCollapsible:"tocCollapsible_ETCw",tocCollapsibleContent:"tocCollapsibleContent_vkbj",tocCollapsibleExpanded:"tocCollapsibleExpanded_sAul"};function z(e){let{toc:t,className:n,minHeadingLevel:l,maxHeadingLevel:o}=e;const{collapsed:r,toggleCollapsed:s}=(0,P.u)({initialState:!0});return a.createElement("div",{className:(0,d.Z)(F.tocCollapsible,!r&&F.tocCollapsibleExpanded,n)},a.createElement(R,{collapsed:r,onClick:s}),a.createElement(P.z,{lazy:!0,className:F.tocCollapsibleContent,collapsed:r},a.createElement(S.Z,{toc:t,minHeadingLevel:l,maxHeadingLevel:o})))}const q={tocMobile:"tocMobile_ITEo"};function j(){const{toc:e,frontMatter:t}=c();return a.createElement(z,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:(0,d.Z)(L.k.docs.docTocMobile,q.tocMobile)})}var $=n(9407);function G(){const{toc:e,frontMatter:t}=c();return a.createElement($.Z,{toc:e,minHeadingLevel:t.toc_min_heading_level,maxHeadingLevel:t.toc_max_heading_level,className:L.k.docs.docTocDesktop})}var J=n(7955),Y=n(8718);function K(e){let{children:t}=e;const n=function(){const{metadata:e,frontMatter:t,contentTitle:n}=c();return t.hide_title||void 0!==n?null:e.title}();return a.createElement("div",{className:(0,d.Z)(L.k.docs.docMarkdown,"markdown")},n&&a.createElement("header",null,a.createElement(J.Z,{as:"h1"},n)),a.createElement(Y.Z,null,t))}var Q=n(2802),W=n(8596),X=n(4996);function ee(e){return a.createElement("svg",(0,u.Z)({viewBox:"0 0 24 24"},e),a.createElement("path",{d:"M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z",fill:"currentColor"}))}const te={breadcrumbHomeIcon:"breadcrumbHomeIcon_YNFT"};function ne(){const e=(0,X.Z)("/");return a.createElement("li",{className:"breadcrumbs__item"},a.createElement(E.Z,{"aria-label":(0,v.I)({id:"theme.docs.breadcrumbs.home",message:"Home page",description:"The ARIA label for the home page in the breadcrumbs"}),className:"breadcrumbs__link",href:e},a.createElement(ee,{className:te.breadcrumbHomeIcon})))}const ae={breadcrumbsContainer:"breadcrumbsContainer_Z_bl"};function le(e){let{children:t,href:n,isLast:l}=e;const o="breadcrumbs__link";return l?a.createElement("span",{className:o,itemProp:"name"},t):n?a.createElement(E.Z,{className:o,href:n,itemProp:"item"},a.createElement("span",{itemProp:"name"},t)):a.createElement("span",{className:o},t)}function oe(e){let{children:t,active:n,index:l,addMicrodata:o}=e;return a.createElement("li",(0,u.Z)({},o&&{itemScope:!0,itemProp:"itemListElement",itemType:"https://schema.org/ListItem"},{className:(0,d.Z)("breadcrumbs__item",{"breadcrumbs__item--active":n})}),t,a.createElement("meta",{itemProp:"position",content:String(l+1)}))}function re(){const e=(0,Q.s1)(),t=(0,W.Ns)();return e?a.createElement("nav",{className:(0,d.Z)(L.k.docs.docBreadcrumbs,ae.breadcrumbsContainer),"aria-label":(0,v.I)({id:"theme.docs.breadcrumbs.navAriaLabel",message:"Breadcrumbs",description:"The ARIA label for the breadcrumbs"})},a.createElement("ul",{className:"breadcrumbs",itemScope:!0,itemType:"https://schema.org/BreadcrumbList"},t&&a.createElement(ne,null),e.map(((t,n)=>{const l=n===e.length-1;return a.createElement(oe,{key:n,active:l,index:n,addMicrodata:!!t.href},a.createElement(le,{href:t.href,isLast:l},t.label))})))):null}const se={docItemContainer:"docItemContainer_Djhp",docItemCol:"docItemCol_VOVn"};function ce(e){let{children:t}=e;const n=function(){const{frontMatter:e,toc:t}=c(),n=(0,m.i)(),l=e.hide_table_of_contents,o=!l&&t.length>0;return{hidden:l,mobile:o?a.createElement(j,null):void 0,desktop:!o||"desktop"!==n&&"ssr"!==n?void 0:a.createElement(G,null)}}();return a.createElement("div",{className:"row"},a.createElement("div",{className:(0,d.Z)("col",!n.hidden&&se.docItemCol)},a.createElement(T,null),a.createElement("div",{className:se.docItemContainer},a.createElement("article",null,a.createElement(re,null),a.createElement(H,null),n.mobile,a.createElement(K,null,t),a.createElement(V,null)),a.createElement(h,null))),n.desktop&&a.createElement("div",{className:"col col--3"},n.desktop))}function ie(e){const t=`docs-doc-id-${e.content.metadata.unversionedId}`,n=e.content;return a.createElement(s,{content:e.content},a.createElement(l.FG,{className:t},a.createElement(i,null),a.createElement(ce,null,a.createElement(n,null))))}},9407:(e,t,n)=>{n.d(t,{Z:()=>d});var a=n(7462),l=n(7294),o=n(6010),r=n(3743);const s={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"},c="table-of-contents__link toc-highlight",i="table-of-contents__link--active";function d(e){let{className:t,...n}=e;return l.createElement("div",{className:(0,o.Z)(s.tableOfContents,"thin-scrollbar",t)},l.createElement(r.Z,(0,a.Z)({},n,{linkClassName:c,linkActiveClassName:i})))}},3743:(e,t,n)=>{n.d(t,{Z:()=>b});var a=n(7462),l=n(7294),o=n(6668);function r(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t}));const a=[];return t.forEach((e=>{const{parentIndex:n,...l}=e;n>=0?t[n].children.push(l):a.push(l)})),a}function s(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return t.flatMap((e=>{const t=s({toc:e.children,minHeadingLevel:n,maxHeadingLevel:a});return function(e){return e.level>=n&&e.level<=a}(e)?[{...e,children:t}]:t}))}function c(e){const t=e.getBoundingClientRect();return t.top===t.bottom?c(e.parentNode):t}function i(e,t){let{anchorTopOffset:n}=t;const a=e.find((e=>c(e).top>=n));if(a){return function(e){return e.top>0&&e.bottom{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function m(e){const t=(0,l.useRef)(void 0),n=d();(0,l.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:l,minHeadingLevel:o,maxHeadingLevel:r}=e;function s(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),s=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const a=[];for(let l=t;l<=n;l+=1)a.push(`h${l}.anchor`);return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:o,maxHeadingLevel:r}),c=i(s,{anchorTopOffset:n.current}),d=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(l),e.classList.add(l),t.current=e):e.classList.remove(l)}(e,e===d)}))}return document.addEventListener("scroll",s),document.addEventListener("resize",s),s(),()=>{document.removeEventListener("scroll",s),document.removeEventListener("resize",s)}}),[e,n])}function u(e){let{toc:t,className:n,linkClassName:a,isChild:o}=e;return t.length?l.createElement("ul",{className:o?void 0:n},t.map((e=>l.createElement("li",{key:e.id},l.createElement("a",{href:`#${e.id}`,className:a??void 0,dangerouslySetInnerHTML:{__html:e.value}}),l.createElement(u,{isChild:!0,toc:e.children,className:n,linkClassName:a}))))):null}const v=l.memo(u);function b(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:c="table-of-contents__link",linkActiveClassName:i,minHeadingLevel:d,maxHeadingLevel:u,...b}=e;const p=(0,o.L)(),h=d??p.tableOfContents.minHeadingLevel,f=u??p.tableOfContents.maxHeadingLevel,E=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,l.useMemo)((()=>s({toc:r(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:h,maxHeadingLevel:f});return m((0,l.useMemo)((()=>{if(c&&i)return{linkClassName:c,linkActiveClassName:i,minHeadingLevel:h,maxHeadingLevel:f}}),[c,i,h,f])),l.createElement(v,(0,a.Z)({toc:E,className:n,linkClassName:c},b))}},4477:(e,t,n)=>{n.d(t,{E:()=>s,q:()=>r});var a=n(7294),l=n(902);const o=a.createContext(null);function r(e){let{children:t,version:n}=e;return a.createElement(o.Provider,{value:n},t)}function s(){const e=(0,a.useContext)(o);if(null===e)throw new l.i6("DocsVersionProvider");return e}}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/181d6f49.e9b7a6ab.js b/zh-CN/assets/js/181d6f49.e9b7a6ab.js new file mode 100644 index 00000000..ecf42aef --- /dev/null +++ b/zh-CN/assets/js/181d6f49.e9b7a6ab.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4798],{3168:(e,t,a)=>{a.r(t),a.d(t,{default:()=>n});var r=a(7294),o=a(2389),i=a(5166);function n(){const e=(0,o.Z)()&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",t=i?.[e];return r.createElement("div",{className:"section bg-light"},r.createElement("div",{className:"container"},r.createElement("div",{className:"row text-center"},r.createElement("div",{className:"col-12"},r.createElement("div",{className:"mb-5"},r.createElement("h2",{className:"h3 fw-bold"},t.common.coreFeatures),r.createElement("hr",{className:"divider my-4 mx-auto"}),r.createElement("p",{className:"lead text-muted"},t.common.coreFeaturesDesc))),t.feature.map(((e,t)=>r.createElement("div",{className:"col-md-4 col-6 px-4 px-md-3 cursor-pointer",key:t,"data-aos":"fade-up","data-aos-delay":t%3*100},r.createElement("div",{className:"feature-children p-4 mb-5 rounded-3 bg-white shadow-sm hover-box-up"},r.createElement("div",{className:"text-primary text-center mb-3"},r.createElement("div",{className:"features-icon"},r.createElement("i",{className:e.icon}))),r.createElement("h3",{className:"h5"},e.title),r.createElement("p",null,e.details))))))))}},5166:e=>{e.exports=JSON.parse('{"zh-CN":{"common":{"getStart":"\u5feb\u901f\u5f00\u59cb","architecture":"\u7cfb\u7edf\u67b6\u6784","learnMore":"\u4e86\u89e3\u66f4\u591a","coreFeatures":"\u6838\u5fc3\u7279\u6027","coreFeaturesDesc":"\u8ba9\u60a8\u7684\u9879\u76ee\u66f4\u8f7b\u677e\u7684\u6838\u5fc3\u7279\u6027","honor":"\u6211\u4eec\u7684\u8363\u8a89","ourUsers":"Our Users","readMore":"\u9605\u8bfb\u66f4\u591a","download":"\u4e0b\u8f7d","releaseDate":"\u53d1\u5e03\u65e5\u671f","newFeatures":"\u65b0\u7279\u6027","enhancement":"\u589e\u5f3a\u70b9","bugFixs":"\u95ee\u9898\u4fee\u590d","changeLog":"\u8be6\u7ec6\u53d8\u66f4"},"slogan":{"key":"AI\u751f\u6210\u56fe\u5f62\u6a21\u578b","description":"\u4e00\u53e5\u8bdd\u751f\u6210\u4efb\u4f55\u56fe\u5f62"},"feature":[{"title":"AI\u751f\u62102D\u56fe\u5f62","icon":"lni-bar-chart","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd2D\u56fe\u5f62"},{"title":"AI\u751f\u62103D\u573a\u666f","icon":"lni-dropbox","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd3D\u573a\u666f"},{"title":"\u591a\u79cd\u6570\u636e\u6e90","icon":"lni-database","details":"\u6570\u636e\u6e90\u63d2\u4ef6\u4e0e\u63d0\u793a\u8bcd\u7ed3\u5408"},{"title":"\u4e09\u65b9\u63d2\u4ef6\u673a\u5668\u4eba","icon":"lni-game","details":"\u4e3a\u4e86\u63d0\u4f9b\u66f4\u597d\u670d\u52a1\uff0c\u652f\u6301\u63d2\u4ef6\u673a\u5668\u4eba\uff0c\u4f8b\u5982Huggingface space"},{"title":"\u53ef\u89c6\u5316\u6a21\u578b","icon":"lni-eye","details":"\u4e3a\u4e86\u66f4\u597d\u751f\u6210\u53ef\u89c6\u5316\u56fe\u5f62\uff0c\u81ea\u7814\u53ef\u89c6\u5316\u6a21\u578b"},{"title":"\u5bb9\u5668\u5316\u90e8\u7f72","icon":"lni-soundcloud","details":"\u4e3a\u4e86\u5feb\u901f\u4f7f\u7528\uff0c\u652f\u6301\u5bb9\u5668\u5316\u90e8\u7f72"}],"honor":{"description":"\u6211\u4eec\u83b7\u5f97\u4e86\u4e9b\u6b8a\u8363\uff0c\u8fd9\u4e9b\u8363\u8a89\u5c5e\u4e8e\u6240\u6709\u4e3a SolidUI \u505a\u51fa\u8d21\u732e\u7684\u4eba\uff0c\u611f\u8c22\u60a8\u7684\u4ed8\u51fa\uff01"}},"en":{"common":{"getStart":"Quick Start","architecture":"System Architecture","description":"Description","learnMore":"Learn More","coreFeatures":"Core Features","coreFeaturesDesc":"Modern features that will make your project easier.","honor":"Our Honor","ourUsers":"Our Users","readMore":"Read More","download":"Download","releaseDate":"Release Date","newFeatures":"New Features","enhancement":"Enhancement point","bugFixs":"Bug Fix","changeLog":"Changelog"},"slogan":{"key":"AI-generated Graphic Models","description":"one sentence generates any graph"},"feature":[{"title":"AI generated 2D graphics","icon":"lni-bar-chart","details":"Generate various 2D graphics based on the visualization model"},{"title":"AI generated 3D scene","icon":"lni-dropbox","details":"Generate various 3D scenes based on the visualization model"},{"title":"Multiple data sources","icon":"lni-database","details":"Data source plugin combined with prompt words"},{"title":"Three-party plug-in robot","icon":"lni-game","details":"In order to provide better service, support plug-in robots, such as Huggingface space"},{"title":"Visualization Model","icon":"lni-eye","details":"In order to better generate visualization graphics, self-developed visualization model"},{"title":"Containerized Deployment","icon":"lni-soundcloud","details":"For quick use, support containerized deployment"}],"honor":{"description":"We have received some precious honors, which belong to everyone who contributes to SolidUI, Thanks"}}}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/18574ea0.a1d25c51.js b/zh-CN/assets/js/18574ea0.a1d25c51.js new file mode 100644 index 00000000..a4957e8d --- /dev/null +++ b/zh-CN/assets/js/18574ea0.a1d25c51.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3362],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>h});var o=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,o)}return i}function l(e){for(var t=1;t=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var u=o.createContext({}),s=function(e){var t=o.useContext(u),i=t;return e&&(i="function"==typeof e?e(t):l(l({},t),e)),i},c=function(e){var t=s(e.components);return o.createElement(u.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,r=e.originalType,u=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),p=s(i),d=n,h=p["".concat(u,".").concat(d)]||p[d]||m[d]||r;return i?o.createElement(h,l(l({ref:t},c),{},{components:i})):o.createElement(h,l({ref:t},c))}));function h(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=i.length,l=new Array(r);l[0]=d;var a={};for(var u in t)hasOwnProperty.call(t,u)&&(a[u]=t[u]);a.originalType=e,a[p]="string"==typeof e?e:n,l[1]=a;for(var s=2;s{i.r(t),i.d(t,{assets:()=>u,contentTitle:()=>l,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>s});var o=i(7462),n=(i(7294),i(3905));const r={title:"Version Update | SolidUI 0.2.0 Release",date:new Date("2023-09-05T00:00:00.000Z"),tags:["SolidUI","AI","stable-diffusion"]},l=void 0,a={permalink:"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-Release.md",source:"@site/blog/2023-09-05-0.2.0-Release.md",title:"Version Update | SolidUI 0.2.0 Release",description:"Background",date:"2023-09-05T00:00:00.000Z",formattedDate:"2023\u5e749\u67085\u65e5",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{label:"AI",permalink:"/SolidUI-Website/zh-CN/blog/tags/ai"},{label:"stable-diffusion",permalink:"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],readingTime:3.02,hasTruncateMarker:!1,authors:[],frontMatter:{title:"Version Update | SolidUI 0.2.0 Release",date:"2023-09-05T00:00:00.000Z",tags:["SolidUI","AI","stable-diffusion"]},nextItem:{title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",permalink:"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction"}},u={authorsImageUrls:[]},s=[{value:"Background",id:"background",level:2},{value:"Release Notes",id:"release-notes",level:2},{value:"Features",id:"features",level:3},{value:"Deployment",id:"deployment",level:3},{value:"Documentation",id:"documentation",level:3},{value:"Detailed Guide",id:"detailed-guide",level:2},{value:"Contributors",id:"contributors",level:2},{value:"How to Become a Contributor",id:"how-to-become-a-contributor",level:2}],c={toc:s},p="wrapper";function m(e){let{components:t,...i}=e;return(0,n.kt)(p,(0,o.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"background"},"Background"),(0,n.kt)("p",null,"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation."),(0,n.kt)("p",null,"Project URL: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Project mirror URL: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Community official website: ",(0,n.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,n.kt)("p",null,"Join the group: ",(0,n.kt)("a",{parentName:"p",href:"https://discord.gg/NGRNu2mGeQ"},"https://discord.gg/NGRNu2mGeQ")),(0,n.kt)("h2",{id:"release-notes"},"Release Notes"),(0,n.kt)("h3",{id:"features"},"Features"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Design features, scene and page optimization"),(0,n.kt)("li",{parentName:"ul"},"Project Preview"),(0,n.kt)("li",{parentName:"ul"},"Design features, preview page"),(0,n.kt)("li",{parentName:"ul"},"Support for GPT-like model proxy"),(0,n.kt)("li",{parentName:"ul"},"Support for ChatGLM-like model proxy"),(0,n.kt)("li",{parentName:"ul"},"Support Hugging Face Spaces plugin, provide trial function"),(0,n.kt)("li",{parentName:"ul"},"Support for the ESLint code check tool"),(0,n.kt)("li",{parentName:"ul"},"Design page delete graphic optimization"),(0,n.kt)("li",{parentName:"ul"},"Login page, logout optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for chat window interaction"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, internationalization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, UI optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, overview optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, Blog optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, all documents optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, framework migration")),(0,n.kt)("h3",{id:"deployment"},"Deployment"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Independent deployment related scripts"),(0,n.kt)("li",{parentName:"ul"},"docker-compose")),(0,n.kt)("h3",{id:"documentation"},"Documentation"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"All co-builders list"),(0,n.kt)("li",{parentName:"ul"},"ESLint & Prettier code specifications"),(0,n.kt)("li",{parentName:"ul"},"SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Snakemq communication source code analysis"),(0,n.kt)("li",{parentName:"ul"},"Centos7.9 offline deployment of ChatGLM-6B"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Independent deployment and Docker communication analysis"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Introduction to the official website"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - FAQ problem-solving process"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - General Prompt technique"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Prompt design"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Building a character based on Prompts"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - AI model proxy"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Chain of Thought (CoT) in Prompts"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Prompt self-consistency"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Discord"),(0,n.kt)("li",{parentName:"ul"},"SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction")),(0,n.kt)("h2",{id:"detailed-guide"},"Detailed Guide"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"This version overview: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1"},"https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1")),(0,n.kt)("li",{parentName:"ul"},"Demo environment: ",(0,n.kt)("a",{parentName:"li",href:"http://www.solidui.top/"},"http://www.solidui.top/")),(0,n.kt)("li",{parentName:"ul"},"Quick Start: ",(0,n.kt)("a",{parentName:"li",href:"https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/"},"https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/")),(0,n.kt)("li",{parentName:"ul"},"Tutorial: ",(0,n.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s"},"https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s")),(0,n.kt)("li",{parentName:"ul"},"Welcome users to fill in: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/1"},"https://github.com/CloudOrc/SolidUI/issues/1")),(0,n.kt)("li",{parentName:"ul"},"Join the group: ",(0,n.kt)("a",{parentName:"li",href:"https://discord.gg/NGRNu2mGeQ"},"https://discord.gg/NGRNu2mGeQ"))),(0,n.kt)("h2",{id:"contributors"},"Contributors"),(0,n.kt)("p",null,"The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"dlimeng"),(0,n.kt)("li",{parentName:"ul"},"nutsjian"),(0,n.kt)("li",{parentName:"ul"},"jacktao007"),(0,n.kt)("li",{parentName:"ul"},"15100399015"),(0,n.kt)("li",{parentName:"ul"},"ziyu211"),(0,n.kt)("li",{parentName:"ul"},"limingoo"),(0,n.kt)("li",{parentName:"ul"},"hgfdsa101")),(0,n.kt)("h2",{id:"how-to-become-a-contributor"},"How to Become a Contributor"),(0,n.kt)("p",null,"Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("p",null,"Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("p",null,"Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("p",null,"Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;"),(0,n.kt)("p",null,"Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/1a4e3797.e0a8916d.js b/zh-CN/assets/js/1a4e3797.e0a8916d.js new file mode 100644 index 00000000..d43be07f --- /dev/null +++ b/zh-CN/assets/js/1a4e3797.e0a8916d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7920],{8824:(e,t,r)=>{r.d(t,{c:()=>o});var a=r(7294),n=r(2263);const l=["zero","one","two","few","many","other"];function s(e){return l.filter((t=>e.includes(t)))}const c={locale:"en",pluralForms:s(["one","other"]),select:e=>1===e?"one":"other"};function u(){const{i18n:{currentLocale:e}}=(0,n.Z)();return(0,a.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:s(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),c}}),[e])}function o(){const e=u();return{selectMessage:(t,r)=>function(e,t,r){const a=e.split("|");if(1===a.length)return a[0];a.length>r.pluralForms.length&&console.error(`For locale=${r.locale}, a maximum of ${r.pluralForms.length} plural forms are expected (${r.pluralForms.join(",")}), but the message contains ${a.length}: ${e}`);const n=r.select(t),l=r.pluralForms.indexOf(n);return a[Math.min(l,a.length-1)]}(r,t,e)}}},1473:(e,t,r)=>{r.r(t),r.d(t,{default:()=>P});var a=r(7294),n=r(2263),l=r(179),s=r(5742),c=r(9960),u=r(5999),o=r(8824),m=r(6550),h=r(412);const i=function(){const e=(0,m.k6)(),t=(0,m.TH)(),{siteConfig:{baseUrl:r}}=(0,n.Z)(),a=h.Z.canUseDOM?new URLSearchParams(t.search):null,l=a?.get("q")||"",s=a?.get("ctx")||"",c=a?.get("version")||"",u=e=>{const r=new URLSearchParams(t.search);return e?r.set("q",e):r.delete("q"),r};return{searchValue:l,searchContext:s,searchVersion:c,updateSearchPath:t=>{const r=u(t);e.replace({search:r.toString()})},generateSearchPageLink:e=>{const t=u(e);return`${r}search?${t.toString()}`}}};var p=r(22),g=r(8202),d=r(2539),f=r(726),y=r(1073),E=r(311),S=r(3926),I=r(1029);const w={searchQueryInput:"searchQueryInput_CFBF",searchResultItem:"searchResultItem_U687",searchResultItemPath:"searchResultItemPath_uIbk",searchResultItemSummary:"searchResultItemSummary_oZHr"};function R(){const{siteConfig:{baseUrl:e}}=(0,n.Z)(),{selectMessage:t}=(0,o.c)(),{searchValue:r,searchContext:l,searchVersion:c,updateSearchPath:m}=i(),[h,d]=(0,a.useState)(r),[f,y]=(0,a.useState)(),[S,I]=(0,a.useState)(),R=`${e}${c}`,P=(0,a.useMemo)((()=>h?(0,u.I)({id:"theme.SearchPage.existingResultsTitle",message:'Search results for "{query}"',description:"The search page title for non-empty query"},{query:h}):(0,u.I)({id:"theme.SearchPage.emptyResultsTitle",message:"Search the documentation",description:"The search page title for empty query"})),[h]);(0,a.useEffect)((()=>{m(h),f&&(h?f(h,(e=>{I(e)})):I(void 0))}),[h,f]);const v=(0,a.useCallback)((e=>{d(e.target.value)}),[]);return(0,a.useEffect)((()=>{r&&r!==h&&d(r)}),[r]),(0,a.useEffect)((()=>{!async function(){const{wrappedIndexes:e,zhDictionary:t}=await(0,p.w)(R,l);y((()=>(0,g.v)(e,t,100)))}()}),[l,R]),a.createElement(a.Fragment,null,a.createElement(s.Z,null,a.createElement("meta",{property:"robots",content:"noindex, follow"}),a.createElement("title",null,P)),a.createElement("div",{className:"container margin-vert--lg"},a.createElement("h1",null,P),a.createElement("input",{type:"search",name:"q",className:w.searchQueryInput,"aria-label":"Search",onChange:v,value:h,autoComplete:"off",autoFocus:!0}),!f&&h&&a.createElement("div",null,a.createElement(E.Z,null)),S&&(S.length>0?a.createElement("p",null,t(S.length,(0,u.I)({id:"theme.SearchPage.documentsFound.plurals",message:"1 document found|{count} documents found",description:'Pluralized label for "{count} documents found". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)'},{count:S.length}))):a.createElement("p",null,(0,u.I)({id:"theme.SearchPage.noResultsText",message:"No documents were found",description:"The paragraph for empty search result"}))),a.createElement("section",null,S&&S.map((e=>a.createElement(b,{key:e.document.i,searchResult:e}))))))}function b(e){let{searchResult:{document:t,type:r,page:n,tokens:l,metadata:s}}=e;const u=0===r,o=2===r,m=(u?t.b:n.b).slice(),h=o?t.s:t.t;u||m.push(n.t);let i="";if(I.vc&&l.length>0){const e=new URLSearchParams;for(const t of l)e.append("_highlight",t);i=`?${e.toString()}`}return a.createElement("article",{className:w.searchResultItem},a.createElement("h2",null,a.createElement(c.Z,{to:t.u+i+(t.h||""),dangerouslySetInnerHTML:{__html:o?(0,d.C)(h,l):(0,f.o)(h,(0,y.m)(s,"t"),l,100)}})),m.length>0&&a.createElement("p",{className:w.searchResultItemPath},(0,S.e)(m)),o&&a.createElement("p",{className:w.searchResultItemSummary,dangerouslySetInnerHTML:{__html:(0,f.o)(t.t,(0,y.m)(s,"t"),l,100)}}))}const P=function(){return a.createElement(l.Z,null,a.createElement(R,null))}}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/1be78505.7eb9c513.js b/zh-CN/assets/js/1be78505.7eb9c513.js new file mode 100644 index 00000000..e1624a48 --- /dev/null +++ b/zh-CN/assets/js/1be78505.7eb9c513.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[9514,4972],{9963:(e,t,n)=>{n.r(t),n.d(t,{default:()=>ge});var a=n(7294),l=n(6010),o=n(1944),r=n(5281),c=n(3320),i=n(2802),s=n(4477),d=n(1116),m=n(179),u=n(5999),b=n(2466),p=n(5936);const h={backToTopButton:"backToTopButton_sjWU",backToTopButtonShow:"backToTopButtonShow_xfvO"};function E(){const{shown:e,scrollToTop:t}=function(e){let{threshold:t}=e;const[n,l]=(0,a.useState)(!1),o=(0,a.useRef)(!1),{startScroll:r,cancelScroll:c}=(0,b.Ct)();return(0,b.RF)(((e,n)=>{let{scrollY:a}=e;const r=n?.scrollY;r&&(o.current?o.current=!1:a>=r?(c(),l(!1)):a{e.location.hash&&(o.current=!0,l(!1))})),{shown:n,scrollToTop:()=>r(0)}}({threshold:300});return a.createElement("button",{"aria-label":(0,u.I)({id:"theme.BackToTopButton.buttonAriaLabel",message:"Scroll back to top",description:"The ARIA label for the back to top button"}),className:(0,l.Z)("clean-btn",r.k.common.backToTopButton,h.backToTopButton,e&&h.backToTopButtonShow),type:"button",onClick:t})}var f=n(1442),g=n(6550),v=n(7524),k=n(6668),_=n(1327),C=n(7462);function S(e){return a.createElement("svg",(0,C.Z)({width:"20",height:"20","aria-hidden":"true"},e),a.createElement("g",{fill:"#7a7a7a"},a.createElement("path",{d:"M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"}),a.createElement("path",{d:"M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"})))}const I={collapseSidebarButton:"collapseSidebarButton_PEFL",collapseSidebarButtonIcon:"collapseSidebarButtonIcon_kv0_"};function N(e){let{onClick:t}=e;return a.createElement("button",{type:"button",title:(0,u.I)({id:"theme.docs.sidebar.collapseButtonTitle",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),"aria-label":(0,u.I)({id:"theme.docs.sidebar.collapseButtonAriaLabel",message:"Collapse sidebar",description:"The title attribute for collapse button of doc sidebar"}),className:(0,l.Z)("button button--secondary button--outline",I.collapseSidebarButton),onClick:t},a.createElement(S,{className:I.collapseSidebarButtonIcon}))}var T=n(9689),x=n(902);const Z=Symbol("EmptyContext"),B=a.createContext(Z);function w(e){let{children:t}=e;const[n,l]=(0,a.useState)(null),o=(0,a.useMemo)((()=>({expandedItem:n,setExpandedItem:l})),[n]);return a.createElement(B.Provider,{value:o},t)}var y=n(6043),L=n(8596),A=n(9960),M=n(2389);function F(e){let{categoryLabel:t,onClick:n}=e;return a.createElement("button",{"aria-label":(0,u.I)({id:"theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel",message:"Toggle the collapsible sidebar category '{label}'",description:"The ARIA label to toggle the collapsible sidebar category"},{label:t}),type:"button",className:"clean-btn menu__caret",onClick:n})}function H(e){let{item:t,onItemClick:n,activePath:o,level:c,index:s,...d}=e;const{items:m,label:u,collapsible:b,className:p,href:h}=t,{docs:{sidebar:{autoCollapseCategories:E}}}=(0,k.L)(),f=function(e){const t=(0,M.Z)();return(0,a.useMemo)((()=>e.href?e.href:!t&&e.collapsible?(0,i.Wl)(e):void 0),[e,t])}(t),g=(0,i._F)(t,o),v=(0,L.Mg)(h,o),{collapsed:_,setCollapsed:S}=(0,y.u)({initialState:()=>!!b&&(!g&&t.collapsed)}),{expandedItem:I,setExpandedItem:N}=function(){const e=(0,a.useContext)(B);if(e===Z)throw new x.i6("DocSidebarItemsExpandedStateProvider");return e}(),T=function(e){void 0===e&&(e=!_),N(e?null:s),S(e)};return function(e){let{isActive:t,collapsed:n,updateCollapsed:l}=e;const o=(0,x.D9)(t);(0,a.useEffect)((()=>{t&&!o&&n&&l(!1)}),[t,o,n,l])}({isActive:g,collapsed:_,updateCollapsed:T}),(0,a.useEffect)((()=>{b&&null!=I&&I!==s&&E&&S(!0)}),[b,I,s,S,E]),a.createElement("li",{className:(0,l.Z)(r.k.docs.docSidebarItemCategory,r.k.docs.docSidebarItemCategoryLevel(c),"menu__list-item",{"menu__list-item--collapsed":_},p)},a.createElement("div",{className:(0,l.Z)("menu__list-item-collapsible",{"menu__list-item-collapsible--active":v})},a.createElement(A.Z,(0,C.Z)({className:(0,l.Z)("menu__link",{"menu__link--sublist":b,"menu__link--sublist-caret":!h&&b,"menu__link--active":g}),onClick:b?e=>{n?.(t),h?T(!1):(e.preventDefault(),T())}:()=>{n?.(t)},"aria-current":v?"page":void 0,"aria-expanded":b?!_:void 0,href:b?f??"#":f},d),u),h&&b&&a.createElement(F,{categoryLabel:u,onClick:e=>{e.preventDefault(),T()}})),a.createElement(y.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:_},a.createElement(j,{items:m,tabIndex:_?-1:0,onItemClick:n,activePath:o,level:c+1})))}var P=n(3919),W=n(9471);const D={menuExternalLink:"menuExternalLink_NmtK"};function R(e){let{item:t,onItemClick:n,activePath:o,level:c,index:s,...d}=e;const{href:m,label:u,className:b,autoAddBaseUrl:p}=t,h=(0,i._F)(t,o),E=(0,P.Z)(m);return a.createElement("li",{className:(0,l.Z)(r.k.docs.docSidebarItemLink,r.k.docs.docSidebarItemLinkLevel(c),"menu__list-item",b),key:u},a.createElement(A.Z,(0,C.Z)({className:(0,l.Z)("menu__link",!E&&D.menuExternalLink,{"menu__link--active":h}),autoAddBaseUrl:p,"aria-current":h?"page":void 0,to:m},E&&{onClick:n?()=>n(t):void 0},d),u,!E&&a.createElement(W.Z,null)))}const V={menuHtmlItem:"menuHtmlItem_M9Kj"};function z(e){let{item:t,level:n,index:o}=e;const{value:c,defaultStyle:i,className:s}=t;return a.createElement("li",{className:(0,l.Z)(r.k.docs.docSidebarItemLink,r.k.docs.docSidebarItemLinkLevel(n),i&&[V.menuHtmlItem,"menu__list-item"],s),key:o,dangerouslySetInnerHTML:{__html:c}})}function U(e){let{item:t,...n}=e;switch(t.type){case"category":return a.createElement(H,(0,C.Z)({item:t},n));case"html":return a.createElement(z,(0,C.Z)({item:t},n));default:return a.createElement(R,(0,C.Z)({item:t},n))}}function K(e){let{items:t,...n}=e;return a.createElement(w,null,t.map(((e,t)=>a.createElement(U,(0,C.Z)({key:t,item:e,index:t},n)))))}const j=(0,a.memo)(K),q={menu:"menu_SIkG",menuWithAnnouncementBar:"menuWithAnnouncementBar_GW3s"};function G(e){let{path:t,sidebar:n,className:o}=e;const c=function(){const{isActive:e}=(0,T.nT)(),[t,n]=(0,a.useState)(e);return(0,b.RF)((t=>{let{scrollY:a}=t;e&&n(0===a)}),[e]),e&&t}();return a.createElement("nav",{"aria-label":(0,u.I)({id:"theme.docs.sidebar.navAriaLabel",message:"Docs sidebar",description:"The ARIA label for the sidebar navigation"}),className:(0,l.Z)("menu thin-scrollbar",q.menu,c&&q.menuWithAnnouncementBar,o)},a.createElement("ul",{className:(0,l.Z)(r.k.docs.docSidebarMenu,"menu__list")},a.createElement(j,{items:n,activePath:t,level:1})))}const Y="sidebar_njMd",O="sidebarWithHideableNavbar_wUlq",X="sidebarHidden_VK0M",J="sidebarLogo_isFc";function Q(e){let{path:t,sidebar:n,onCollapse:o,isHidden:r}=e;const{navbar:{hideOnScroll:c},docs:{sidebar:{hideable:i}}}=(0,k.L)();return a.createElement("div",{className:(0,l.Z)(Y,c&&O,r&&X)},c&&a.createElement(_.Z,{tabIndex:-1,className:J}),a.createElement(G,{path:t,sidebar:n}),i&&a.createElement(N,{onClick:o}))}const $=a.memo(Q);var ee=n(3102),te=n(2961);const ne=e=>{let{sidebar:t,path:n}=e;const o=(0,te.e)();return a.createElement("ul",{className:(0,l.Z)(r.k.docs.docSidebarMenu,"menu__list")},a.createElement(j,{items:t,activePath:n,onItemClick:e=>{"category"===e.type&&e.href&&o.toggle(),"link"===e.type&&o.toggle()},level:1}))};function ae(e){return a.createElement(ee.Zo,{component:ne,props:e})}const le=a.memo(ae);function oe(e){const t=(0,v.i)(),n="desktop"===t||"ssr"===t,l="mobile"===t;return a.createElement(a.Fragment,null,n&&a.createElement($,e),l&&a.createElement(le,e))}const re={expandButton:"expandButton_m80_",expandButtonIcon:"expandButtonIcon_BlDH"};function ce(e){let{toggleSidebar:t}=e;return a.createElement("div",{className:re.expandButton,title:(0,u.I)({id:"theme.docs.sidebar.expandButtonTitle",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),"aria-label":(0,u.I)({id:"theme.docs.sidebar.expandButtonAriaLabel",message:"Expand sidebar",description:"The ARIA label and title attribute for expand button of doc sidebar"}),tabIndex:0,role:"button",onKeyDown:t,onClick:t},a.createElement(S,{className:re.expandButtonIcon}))}const ie={docSidebarContainer:"docSidebarContainer_b6E3",docSidebarContainerHidden:"docSidebarContainerHidden_b3ry",sidebarViewport:"sidebarViewport_Xe31"};function se(e){let{children:t}=e;const n=(0,d.V)();return a.createElement(a.Fragment,{key:n?.name??"noSidebar"},t)}function de(e){let{sidebar:t,hiddenSidebarContainer:n,setHiddenSidebarContainer:o}=e;const{pathname:c}=(0,g.TH)(),[i,s]=(0,a.useState)(!1),d=(0,a.useCallback)((()=>{i&&s(!1),!i&&(0,f.n)()&&s(!0),o((e=>!e))}),[o,i]);return a.createElement("aside",{className:(0,l.Z)(r.k.docs.docSidebarContainer,ie.docSidebarContainer,n&&ie.docSidebarContainerHidden),onTransitionEnd:e=>{e.currentTarget.classList.contains(ie.docSidebarContainer)&&n&&s(!0)}},a.createElement(se,null,a.createElement("div",{className:(0,l.Z)(ie.sidebarViewport,i&&ie.sidebarViewportHidden)},a.createElement(oe,{sidebar:t,path:c,onCollapse:d,isHidden:i}),i&&a.createElement(ce,{toggleSidebar:d}))))}const me={docMainContainer:"docMainContainer_gTbr",docMainContainerEnhanced:"docMainContainerEnhanced_Uz_u",docItemWrapperEnhanced:"docItemWrapperEnhanced_czyv"};function ue(e){let{hiddenSidebarContainer:t,children:n}=e;const o=(0,d.V)();return a.createElement("main",{className:(0,l.Z)(me.docMainContainer,(t||!o)&&me.docMainContainerEnhanced)},a.createElement("div",{className:(0,l.Z)("container padding-top--md padding-bottom--lg",me.docItemWrapper,t&&me.docItemWrapperEnhanced)},n))}const be={docPage:"docPage__5DB",docsWrapper:"docsWrapper_BCFX"};function pe(e){let{children:t}=e;const n=(0,d.V)(),[l,o]=(0,a.useState)(!1);return a.createElement(m.Z,{wrapperClassName:be.docsWrapper},a.createElement(E,null),a.createElement("div",{className:be.docPage},n&&a.createElement(de,{sidebar:n.items,hiddenSidebarContainer:l,setHiddenSidebarContainer:o}),a.createElement(ue,{hiddenSidebarContainer:l},t)))}var he=n(4972),Ee=n(197);function fe(e){const{versionMetadata:t}=e;return a.createElement(a.Fragment,null,a.createElement(Ee.Z,{version:t.version,tag:(0,c.os)(t.pluginId,t.version)}),a.createElement(o.d,null,t.noIndex&&a.createElement("meta",{name:"robots",content:"noindex, nofollow"})))}function ge(e){const{versionMetadata:t}=e,n=(0,i.hI)(e);if(!n)return a.createElement(he.default,null);const{docElement:c,sidebarName:m,sidebarItems:u}=n;return a.createElement(a.Fragment,null,a.createElement(fe,e),a.createElement(o.FG,{className:(0,l.Z)(r.k.wrapper.docsPages,r.k.page.docsDocPage,e.versionMetadata.className)},a.createElement(s.q,{version:t},a.createElement(d.b,{name:m,items:u},a.createElement(pe,null,c)))))}},4972:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});var a=n(7294),l=n(5999),o=n(1944),r=n(179);function c(){return a.createElement(a.Fragment,null,a.createElement(o.d,{title:(0,l.I)({id:"theme.NotFound.title",message:"Page Not Found"})}),a.createElement(r.Z,null,a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col--offset-3"},a.createElement("h1",{className:"hero__title"},a.createElement(l.Z,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),a.createElement("p",null,a.createElement(l.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),a.createElement("p",null,a.createElement(l.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.")))))))}},4477:(e,t,n)=>{n.d(t,{E:()=>c,q:()=>r});var a=n(7294),l=n(902);const o=a.createContext(null);function r(e){let{children:t,version:n}=e;return a.createElement(o.Provider,{value:n},t)}function c(){const e=(0,a.useContext)(o);if(null===e)throw new l.i6("DocsVersionProvider");return e}}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/1df93b7f.4d2c7381.js b/zh-CN/assets/js/1df93b7f.4d2c7381.js new file mode 100644 index 00000000..7fc39b48 --- /dev/null +++ b/zh-CN/assets/js/1df93b7f.4d2c7381.js @@ -0,0 +1 @@ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3237,9094,4798,4827,6393],{2711:function(e){e.exports=function(e){function t(n){if(a[n])return a[n].exports;var r=a[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var a={};return t.m=e,t.c=a,t.p="dist/",t(0)}([function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var r=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]&&arguments[0]&&(p=!0),p)return f=(0,m.default)(f,h),(0,d.default)(f,h.once),f},b=function(){f=(0,u.default)(),v()},g=function(){f.forEach((function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay")}))},y=function(e){return!0===e||"mobile"===e&&s.default.mobile()||"phone"===e&&s.default.phone()||"tablet"===e&&s.default.tablet()||"function"==typeof e&&!0===e()},w=function(e){h=r(h,e),f=(0,u.default)();var t=document.all&&!window.atob;return y(h.disable)||t?g():(h.disableMutationObserver||c.default.isSupported()||(console.info('\n aos: MutationObserver is not supported on this browser,\n code mutations observing has been disabled.\n You may have to call "refreshHard()" by yourself.\n '),h.disableMutationObserver=!0),document.querySelector("body").setAttribute("data-aos-easing",h.easing),document.querySelector("body").setAttribute("data-aos-duration",h.duration),document.querySelector("body").setAttribute("data-aos-delay",h.delay),"DOMContentLoaded"===h.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?v(!0):"load"===h.startEvent?window.addEventListener(h.startEvent,(function(){v(!0)})):document.addEventListener(h.startEvent,(function(){v(!0)})),window.addEventListener("resize",(0,l.default)(v,h.debounceDelay,!0)),window.addEventListener("orientationchange",(0,l.default)(v,h.debounceDelay,!0)),window.addEventListener("scroll",(0,o.default)((function(){(0,d.default)(f,h.once)}),h.throttleDelay)),h.disableMutationObserver||c.default.ready("[data-aos]",b),f)};e.exports={init:w,refresh:v,refreshHard:b}},function(e,t){},,,,,function(e,t){(function(t){"use strict";function a(e,t,a){function n(t){var a=h,n=v;return h=v=void 0,k=t,g=e.apply(n,a)}function i(e){return k=e,y=setTimeout(d,t),N?n(e):g}function o(e){var a=t-(e-w);return O?x(a,b-(e-k)):a}function c(e){var a=e-w;return void 0===w||a>=t||a<0||O&&e-k>=b}function d(){var e=z();return c(e)?m(e):void(y=setTimeout(d,o(e)))}function m(e){return y=void 0,M&&h?n(e):(h=v=void 0,g)}function u(){void 0!==y&&clearTimeout(y),k=0,h=w=v=y=void 0}function f(){return void 0===y?g:m(z())}function p(){var e=z(),a=c(e);if(h=arguments,v=this,w=e,a){if(void 0===y)return i(w);if(O)return y=setTimeout(d,t),n(w)}return void 0===y&&(y=setTimeout(d,t)),g}var h,v,b,g,y,w,k=0,N=!1,O=!1,M=!0;if("function"!=typeof e)throw new TypeError(s);return t=l(t)||0,r(a)&&(N=!!a.leading,b=(O="maxWait"in a)?E(l(a.maxWait)||0,t):b,M="trailing"in a?!!a.trailing:M),p.cancel=u,p.flush=f,p}function n(e,t,n){var i=!0,o=!0;if("function"!=typeof e)throw new TypeError(s);return r(n)&&(i="leading"in n?!!n.leading:i,o="trailing"in n?!!n.trailing:o),a(e,t,{leading:i,maxWait:t,trailing:o})}function r(e){var t=void 0===e?"undefined":c(e);return!!e&&("object"==t||"function"==t)}function i(e){return!!e&&"object"==(void 0===e?"undefined":c(e))}function o(e){return"symbol"==(void 0===e?"undefined":c(e))||i(e)&&w.call(e)==m}function l(e){if("number"==typeof e)return e;if(o(e))return d;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(u,"");var a=p.test(e);return a||h.test(e)?v(e.slice(2),a?2:8):f.test(e)?d:+e}var c="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},s="Expected a function",d=NaN,m="[object Symbol]",u=/^\s+|\s+$/g,f=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,h=/^0o[0-7]+$/i,v=parseInt,b="object"==(void 0===t?"undefined":c(t))&&t&&t.Object===Object&&t,g="object"==("undefined"==typeof self?"undefined":c(self))&&self&&self.Object===Object&&self,y=b||g||Function("return this")(),w=Object.prototype.toString,E=Math.max,x=Math.min,z=function(){return y.Date.now()};e.exports=n}).call(t,function(){return this}())},function(e,t){(function(t){"use strict";function a(e,t,a){function r(t){var a=h,n=v;return h=v=void 0,k=t,g=e.apply(n,a)}function i(e){return k=e,y=setTimeout(d,t),N?r(e):g}function l(e){var a=t-(e-z);return O?E(a,b-(e-k)):a}function s(e){var a=e-z;return void 0===z||a>=t||a<0||O&&e-k>=b}function d(){var e=x();return s(e)?m(e):void(y=setTimeout(d,l(e)))}function m(e){return y=void 0,M&&h?r(e):(h=v=void 0,g)}function u(){void 0!==y&&clearTimeout(y),k=0,h=z=v=y=void 0}function f(){return void 0===y?g:m(x())}function p(){var e=x(),a=s(e);if(h=arguments,v=this,z=e,a){if(void 0===y)return i(z);if(O)return y=setTimeout(d,t),r(z)}return void 0===y&&(y=setTimeout(d,t)),g}var h,v,b,g,y,z,k=0,N=!1,O=!1,M=!0;if("function"!=typeof e)throw new TypeError(c);return t=o(t)||0,n(a)&&(N=!!a.leading,b=(O="maxWait"in a)?w(o(a.maxWait)||0,t):b,M="trailing"in a?!!a.trailing:M),p.cancel=u,p.flush=f,p}function n(e){var t=void 0===e?"undefined":l(e);return!!e&&("object"==t||"function"==t)}function r(e){return!!e&&"object"==(void 0===e?"undefined":l(e))}function i(e){return"symbol"==(void 0===e?"undefined":l(e))||r(e)&&y.call(e)==d}function o(e){if("number"==typeof e)return e;if(i(e))return s;if(n(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=n(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(m,"");var a=f.test(e);return a||p.test(e)?h(e.slice(2),a?2:8):u.test(e)?s:+e}var l="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},c="Expected a function",s=NaN,d="[object Symbol]",m=/^\s+|\s+$/g,u=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,p=/^0o[0-7]+$/i,h=parseInt,v="object"==(void 0===t?"undefined":l(t))&&t&&t.Object===Object&&t,b="object"==("undefined"==typeof self?"undefined":l(self))&&self&&self.Object===Object&&self,g=v||b||Function("return this")(),y=Object.prototype.toString,w=Math.max,E=Math.min,x=function(){return g.Date.now()};e.exports=a}).call(t,function(){return this}())},function(e,t){"use strict";function a(e){var t=void 0,n=void 0;for(t=0;te.position?e.node.classList.add("aos-animate"):void 0!==n&&("false"===n||!a&&"true"!==n)&&e.node.classList.remove("aos-animate")},n=function(e,t){var n=window.pageYOffset,r=window.innerHeight;e.forEach((function(e,i){a(e,r+n,t)}))};t.default=n},function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(a(12)),i=function(e,t){return e.forEach((function(e,a){e.node.classList.add("aos-init"),e.position=(0,r.default)(e.node,t.offset)})),e};t.default=i},function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(a(13)),i=function(e,t){var a=0,n=0,i=window.innerHeight,o={offset:e.getAttribute("data-aos-offset"),anchor:e.getAttribute("data-aos-anchor"),anchorPlacement:e.getAttribute("data-aos-anchor-placement")};switch(o.offset&&!isNaN(o.offset)&&(n=parseInt(o.offset)),o.anchor&&document.querySelectorAll(o.anchor)&&(e=document.querySelectorAll(o.anchor)[0]),a=(0,r.default)(e).top,o.anchorPlacement){case"top-bottom":break;case"center-bottom":a+=e.offsetHeight/2;break;case"bottom-bottom":a+=e.offsetHeight;break;case"top-center":a+=i/2;break;case"bottom-center":a+=i/2+e.offsetHeight;break;case"center-center":a+=i/2+e.offsetHeight/2;break;case"top-top":a+=i;break;case"bottom-top":a+=e.offsetHeight+i;break;case"center-top":a+=e.offsetHeight/2+i}return o.anchorPlacement||o.offset||isNaN(t)||(n=t),a+n};t.default=i},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){for(var t=0,a=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),a+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:a,left:t}};t.default=a},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){return e=e||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(e,(function(e){return{node:e}}))};t.default=a}])},1262:(e,t,a)=>{"use strict";a.d(t,{Z:()=>i});var n=a(7294),r=a(2389);function i(e){let{children:t,fallback:a}=e;return(0,r.Z)()?n.createElement(n.Fragment,null,t?.()):a??null}},3168:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>o});var n=a(7294),r=a(2389),i=a(5166);function o(){const e=(0,r.Z)()&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",t=i?.[e];return n.createElement("div",{className:"section bg-light"},n.createElement("div",{className:"container"},n.createElement("div",{className:"row text-center"},n.createElement("div",{className:"col-12"},n.createElement("div",{className:"mb-5"},n.createElement("h2",{className:"h3 fw-bold"},t.common.coreFeatures),n.createElement("hr",{className:"divider my-4 mx-auto"}),n.createElement("p",{className:"lead text-muted"},t.common.coreFeaturesDesc))),t.feature.map(((e,t)=>n.createElement("div",{className:"col-md-4 col-6 px-4 px-md-3 cursor-pointer",key:t,"data-aos":"fade-up","data-aos-delay":t%3*100},n.createElement("div",{className:"feature-children p-4 mb-5 rounded-3 bg-white shadow-sm hover-box-up"},n.createElement("div",{className:"text-primary text-center mb-3"},n.createElement("div",{className:"features-icon"},n.createElement("i",{className:e.icon}))),n.createElement("h3",{className:"h5"},e.title),n.createElement("p",null,e.details))))))))}},9786:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>v});var n=a(7294),r=a(2389),i=a(5166);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...r}=e;return n.createElement("svg",o({xmlns:"http://www.w3.org/2000/svg",className:"rotate-315",width:"2rem",height:"2rem",fill:"currentColor",viewBox:"0 0 512 512","aria-labelledby":a},r),t?n.createElement("title",{id:a},t):null,n.createElement("path",{d:"M461.81 53.81a4.4 4.4 0 0 0-3.3-3.39c-54.38-13.3-180 34.09-248.13 102.17a294.9 294.9 0 0 0-33.09 39.08c-21-1.9-42-.3-59.88 7.5-50.49 22.2-65.18 80.18-69.28 105.07a9 9 0 0 0 9.8 10.4l81.07-8.9a180.29 180.29 0 0 0 1.1 18.3 18.15 18.15 0 0 0 5.3 11.09l31.39 31.39a18.15 18.15 0 0 0 11.1 5.3 179.91 179.91 0 0 0 18.19 1.1l-8.89 81a9 9 0 0 0 10.39 9.79c24.9-4 83-18.69 105.07-69.17 7.8-17.9 9.4-38.79 7.6-59.69a293.91 293.91 0 0 0 39.19-33.09c68.38-68 115.47-190.86 102.37-247.95ZM298.66 213.67a42.7 42.7 0 1 1 60.38 0 42.65 42.65 0 0 1-60.38 0Z",style:{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:32}}),n.createElement("path",{d:"M109.64 352a45.06 45.06 0 0 0-26.35 12.84C65.67 382.52 64 448 64 448s65.52-1.67 83.15-19.31A44.73 44.73 0 0 0 160 402.32",style:{color:"#ffcc43",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:32}}))};var c;function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...r}=e;return n.createElement("svg",s({width:200,height:200,viewBox:"0 0 200 200",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":a},r),t?n.createElement("title",{id:a},t):null,c||(c=n.createElement("path",{fill:"currentColor",d:"M142.5 33.8c14.6 9.5 30 17.8 38.6 30.9 8.7 13.1 10.7 30.9 8.5 48.3-2.3 17.4-8.9 34.4-20.1 47.1-11.2 12.8-27.1 21.4-43.6 24.5-16.4 3.2-33.3.8-48.6-4.8-15.2-5.7-28.8-14.6-38.2-26.5-9.5-11.9-14.9-26.7-18.1-42.5-3.1-15.8-4.1-32.5 1.3-47.2 5.3-14.6 17-27.3 31-37.1S83.6 9.9 98.8 11.8c15.1 1.9 29 12.5 43.7 22Z"})))};var m,u,f;function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...r}=e;return n.createElement("svg",p({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1440 320","aria-labelledby":a},r),t?n.createElement("title",{id:a},t):null,m||(m=n.createElement("path",{className:"opacity-20 translate-top-2",fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})),u||(u=n.createElement("path",{className:"opacity-30 translate-top-1",fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})),f||(f=n.createElement("path",{fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})))};function v(){const e=(0,r.Z)(),t=e&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",a=e&&0===location.pathname.indexOf("/zh-CN/")?"/zh-CN":"",o=i?.[t];return n.createElement("div",{className:"section bg-gradient-primary pb-9 pt-7 overflow-hidden"},n.createElement("div",{className:"overlay bg-gradient-primary opacity-90 z-index-n1"}),n.createElement("div",{className:"particle"},n.createElement("div",{className:"particle-move-up d-none d-block particle-move-up-1 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"2rem",height:"2rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-2 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1rem",height:"1rem"})),n.createElement("div",{className:"particle-move-up d-none d-sm-block particle-move-up-3 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1.5rem",height:"1.5rem"})),n.createElement("div",{className:"particle-move-up d-none d-xl-block particle-move-up-4 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1rem",height:"1rem"})),n.createElement("div",{className:"particle-move-up d-none d-sm-block particle-move-up-5 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1.2rem",height:"1.2rem"})),n.createElement("div",{className:"particle-move-up border-success text-light particle-move-up-6 z-index-n1 opacity-60"},n.createElement(l,{width:"2rem",height:"2rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-7 z-index-n1 text-light opacity-60"},n.createElement(l,{width:"1.5rem",height:"1.5rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-8 z-index-n1 text-light opacity-60"},n.createElement(l,{width:"1.2rem",height:"1.2rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-9 z-index-n1 text-light opacity-60"},n.createElement(l,{width:"2rem",height:"2rem"}))),n.createElement("figure",{className:"scribble scale-4 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"300"},n.createElement(d,{className:"text-secondary"})),n.createElement("figure",{className:"scribble scale-5 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"200"},n.createElement(d,{className:"text-secondary"})),n.createElement("figure",{className:"scribble scale-6 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"100"},n.createElement(d,{className:"text-secondary"})),n.createElement("figure",{className:"scribble scale-7 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right"},n.createElement(d,{className:"text-secondary"})),n.createElement("div",{className:"container-fluid px-7 pb-2"},n.createElement("div",{className:"row justify-content-center"},n.createElement("div",{className:"col-md-6 col-8 align-self-center pe-5","data-aos":"fade-right"},n.createElement("div",{className:"text-start mt-0"},n.createElement("div",{className:"mb-5 system_info pt-0"},n.createElement("div",{className:"project_title fw-bold text-white mb-3"},n.createElement("div",{className:"d-flex justify-content-center align-items-start"},n.createElement("div",{className:"animated-gradient-text_background animated-gradient-text_background-2",style:{"--content":'"SolidUI"',"--start-color":"#FFF","--end-color":"#00DFD8"}},n.createElement("span",{className:"animated-gradient-text_foreground animated-gradient-text_foreground-2"},"SolidUI")))),n.createElement("p",{className:"lead text-light text-center"},o.slogan.description)),n.createElement("div",{className:"d-flex justify-content-center align-items-start"},n.createElement("a",{className:"btn streampark-btn btn mt-30 ztop",href:"https://github.com/CloudOrc/SolidUI",target:"_blank"},n.createElement("i",{className:"lni-github-original"}),"\xa0GitHub"),n.createElement("a",{className:"btn streampark-btn btn-green mt-30 ml-3 ztop",href:`/SolidUI-Website${a}/docs/user-guide/quick-start`,style:{marginLeft:"10px"}},n.createElement("i",{className:"lni-play"}),"\xa0Get started")),n.createElement("div",{style:{marginTop:"20px"},className:"shields ztop d-flex justify-content-center align-items-start"},n.createElement("a",{target:"_blank",href:"https://www.apache.org/licenses/LICENSE-2.0.html"},n.createElement("img",{src:"https://img.shields.io/badge/license-Apache%202-blue.svg",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://github.com/CloudOrc/SolidUI"},n.createElement("img",{src:"https://img.shields.io/github/stars/CloudOrc/SolidUI.svg?sanitize=true",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://github.com/CloudOrc/SolidUI/fork"},n.createElement("img",{src:"https://img.shields.io/github/forks/CloudOrc/SolidUI.svg?sanitize=true",className:"wow fadeInUp"})),n.createElement("a",{href:""},n.createElement("img",{src:"https://img.shields.io/github/languages/count/CloudOrc/SolidUI",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://huggingface.co/spaces/CloudOrc/SolidUI"},n.createElement("img",{src:"https://img.shields.io/badge/%F0%9F%A4%97%20-Hugging%20Face%20Spaces-blue",className:"wow fadeInUp"})),n.createElement("a",{href:"https://www.producthunt.com/posts/solidui?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-solidui",target:"_blank"},n.createElement("img",{src:"https://img.shields.io/badge/producthunt-blue",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://discord.gg/NGRNu2mGeQ"},n.createElement("img",{src:"https://img.shields.io/badge/discord-blue",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://gitee.com/CloudOrc/SolidUI"},n.createElement("img",{src:"https://shields.io/badge/%E2%AD%90-Gitee-blue",alt:"gitee",className:"wow fadeInUp"}))))))),n.createElement("figure",{className:"waves-bottom-center text-light mb-n4 z-index-n1"},n.createElement(h,null)))}},2875:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>d});var n=a(7294),r=a(1262),i=a(9786),o=a(3168),l=a(5995),c=a(2711),s=a.n(c);function d(){return n.createElement(r.Z,{fallback:n.createElement("div",{id:"preloader"})},(()=>(s().init({offset:100,duration:700,easing:"ease-out-quad",once:!0}),window.addEventListener("load",s().refresh),n.createElement("div",{className:"home-wrap"},n.createElement(i.default,null),n.createElement(o.default,null),n.createElement(l.default,null)))))}},5995:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>_});var n,r,i,o,l,c,s,d,m,u,f,p,h,v,b,g,y,w,E,x,z,k,N,O,M,j=a(7294),H=(a(2389),a(4996));a(5166);function S(){return S=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...H}=e;return j.createElement("svg",S({"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 509.23 364.6","aria-labelledby":a},H),t?j.createElement("title",{id:a},t):null,n||(n=j.createElement("defs",null,j.createElement("linearGradient",{id:"a",x1:225,y1:279.58,x2:246.68,y2:279.58,gradientUnits:"userSpaceOnUse"},j.createElement("stop",{offset:0,stopColor:"#e5c6d6"}),j.createElement("stop",{offset:.42,stopColor:"#ead4d0"}),j.createElement("stop",{offset:1,stopColor:"#f0e9cb"})),j.createElement("linearGradient",{id:"d",x1:196.9,y1:214.27,x2:270.4,y2:214.27,xlinkHref:"#a"}),j.createElement("linearGradient",{id:"b",x1:235.47,y1:403.52,x2:245.47,y2:302.39,gradientUnits:"userSpaceOnUse"},j.createElement("stop",{offset:0,stopColor:"#010101",stopOpacity:0}),j.createElement("stop",{offset:.95,stopColor:"#010101"})),j.createElement("linearGradient",{id:"e",x1:236.71,y1:341.09,x2:236.71,y2:400.36,xlinkHref:"#b"}),j.createElement("linearGradient",{id:"c",x1:224.9,y1:346.73,x2:252.31,y2:206.71,gradientUnits:"userSpaceOnUse"},j.createElement("stop",{offset:0,stopColor:"#fff",stopOpacity:0}),j.createElement("stop",{offset:.95,stopColor:"#fff"})),j.createElement("linearGradient",{id:"f",x1:210.88,y1:311.27,x2:250.61,y2:311.27,xlinkHref:"#b"}),j.createElement("linearGradient",{id:"g",x1:223.84,y1:324.62,x2:258.66,y2:324.62,xlinkHref:"#c"}),j.createElement("linearGradient",{id:"h",x1:170.56,y1:395.25,x2:224.36,y2:395.25,xlinkHref:"#a"}),j.createElement("linearGradient",{id:"i",x1:259.78,y1:395.21,x2:306.81,y2:395.21,xlinkHref:"#a"}))),j.createElement("path",{d:"M47.72 209.34c5.86-11.1 15.44-21.13 15.81-33.68.26-9.18-4.56-17.6-8.09-26.09-18-43.23.64-98.39 41.13-121.9 22.1-12.83 48.29-16.49 73.8-17.93a500.35 500.35 0 0 1 86.79 2.63c16.88 2 34.55 5.23 47.61 16.1 20.47 17 23.36 46.63 31.14 72.09 13.67 44.72 47.42 82.87 90.13 101.9 7.73 3.44 15.92 6.4 22.17 12.1 13.71 12.48 13.85 34.94 5.4 51.44s-23.52 28.43-38.17 39.83l-45.46 35.45c-9.2 7.17-18.62 14.47-29.65 18.26-36.75 12.64-86.6-2.22-124.75-3.91-24.63-1.1-50.74 1.34-74.81-5.08-53.28-14.23-124.33-81.88-93.05-141.21z",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),j.createElement("rect",{x:271.83,y:187.67,width:136.11,height:83.47,rx:10.6,transform:"rotate(-180 338.605 204.39)",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),j.createElement("rect",{x:71.79,y:227.5,width:105.11,height:65.32,rx:8.24,transform:"rotate(-180 123.06 235.14)",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),j.createElement("path",{d:"M482.81 165.57h-160a26.46 26.46 0 0 1-26.43-26.42V26.53A26.46 26.46 0 0 1 322.81.1h160a26.46 26.46 0 0 1 26.42 26.43v112.62a26.45 26.45 0 0 1-26.42 26.42zm-160-161.52a22.5 22.5 0 0 0-22.48 22.48v112.62a22.5 22.5 0 0 0 22.48 22.47h160a22.5 22.5 0 0 0 22.47-22.47V26.53a22.5 22.5 0 0 0-22.47-22.48zM200.05 73.42h-64.9a11.9 11.9 0 0 1-11.89-11.89V15.86a11.9 11.9 0 0 1 11.89-11.9h64.9a11.9 11.9 0 0 1 11.89 11.9v45.67a11.9 11.9 0 0 1-11.89 11.89zm-64.9-65.46a8 8 0 0 0-7.94 7.94v45.67a8 8 0 0 0 7.94 7.94h64.9a8 8 0 0 0 7.94-7.94V15.86a8 8 0 0 0-7.94-7.9z",fill:"#4b39ef",opacity:.63,style:{isolation:"isolate"}}),r||(r=j.createElement("path",{d:"M225.82 292.41a6.15 6.15 0 0 0 1 3.21 4.57 4.57 0 0 0 2.14 1.39c3.82 1.35 8-.21 11.75-1.76a10.11 10.11 0 0 0 4.36-2.77 9.44 9.44 0 0 0 1.47-5.29 79.24 79.24 0 0 0-.93-18.07 9.62 9.62 0 0 0-1.53-4.39c-1.85-2.45-5.33-2.78-8.4-2.9-7.73-.29-10-1.28-10.44 6.82a147.34 147.34 0 0 0 .58 23.76z",transform:"translate(-2.56 -50.04)",fill:"url(#a)"})),i||(i=j.createElement("path",{d:"M203.56 234.62a41 41 0 0 0 7.62 11.63 32.35 32.35 0 0 0 49.6-3.51c4.8-6.69 6.86-14.94 8.3-23.05 1.25-7.1 2.1-14.49.25-21.46-2.43-9.11-9.4-16.62-17.8-20.88s-18.1-5.5-27.5-4.83c-5.88.43-11.82 1.62-16.93 4.54-10.1 5.74-10.56 13.7-10.1 24.08.55 11.38 1.83 22.99 6.56 33.48z",transform:"translate(-2.56 -50.04)",fill:"url(#d)"})),o||(o=j.createElement("path",{d:"M222.9 97.08c-2.78-3-6.07-6.06-10.17-6.55s-8.78 2.9-8 7c-6.35-3.05-13.79-5.56-20.29-2.85-5.46 2.26-9 8-9.76 13.82s1 11.82 3.76 17a28.37 28.37 0 0 0 6.13 8.1c5.86 5.16 14 6.6 21.78 7.51 13.2 1.54 26.84 2.1 39.49-2 3.82-1.23 8.59-2.67 11.37.23 2.07 2.15 2.69 6.41 5.68 6.4 2.42 0 3.52-3 3.75-5.43a44.83 44.83 0 0 0-1.72-17.12c-2.91-9.63-9.84-17-20.39-16.92-9.77.12-14.88-1.81-21.63-9.19z",fill:"#e08142"})),l||(l=j.createElement("rect",{x:199.58,y:149.95,width:25.75,height:17.78,rx:7.23,fill:"none",stroke:"#fff",strokeMiterlimit:10,strokeWidth:3.95})),c||(c=j.createElement("rect",{x:234.6,y:149.95,width:25.75,height:17.78,rx:7.23,fill:"none",stroke:"#fff",strokeMiterlimit:10,strokeWidth:3.95})),s||(s=j.createElement("path",{fill:"#fff",d:"M223.07 156.99h14.35v2.13h-14.35zm-33.49-2.22h11.67v3.33h-11.67zm69.27 1.3h12.97v2.22h-12.97z"})),d||(d=j.createElement("path",{d:"M197.07 185.74a40.73 40.73 0 0 0 .66 9.62c1.62 7 7 12.79 13.38 16.08a51.41 51.41 0 0 1 5.55 2.92c1.82 1.25 3.33 2.93 5.16 4.18a14.17 14.17 0 0 0 14.94.45c1.39-.83 2.77-1.95 4.39-1.87 1.24 0 2.32.81 3.49 1.21 2.67.91 5.59-.08 8.15-1.27s4.93-2.61 6-5.05c.71-1.58.74-3.37 1.08-5.07.86-4.36 3.67-8.06 5.4-12.16 3.6-8.49 2.4-18.16 1.14-27.29l-4.16 6.89c-1.4 2.32-3 4.79-5.54 5.71-3.35 1.19-6.91-.75-10.15-2.24a42.21 42.21 0 0 0-32.68-.85c-2.16.86-4.45 1.92-6.72 1.38-2.7-.64-6.65-7.74-8.78-7.12-2.6.78-1.29 12.3-1.31 14.48z",fill:"#e08142"})),m||(m=j.createElement("path",{d:"M223.3 233.22c27.08-3.86 55.85 9.87 69.89 33.35 4.68 7.84 7.82 16.57 13 24.1 5.47 8 13 14.29 19.29 21.63a87.06 87.06 0 0 1 12.65 19.59c3 6.44 5.13 14.48 1.1 20.35-3.7 5.4-11 6.7-17.55 7.19-13 1-26.11.67-39.17.34l-128.32-3.17c-5.72-.14-11.58-.31-16.89-2.44s-10-6.69-10.68-12.37c-1-8.32 6.45-14.84 12-21.13 16.13-18.36 19.74-45.07 35.28-63.93a63.48 63.48 0 0 1 47.54-22.77",fill:"#4b39ef"})),u||(u=j.createElement("path",{d:"M225.86 283.26c27.08-3.86 55.85 9.87 69.89 33.35 4.68 7.84 7.82 16.57 13 24.1 5.47 8 13 14.29 19.29 21.63a87.06 87.06 0 0 1 12.65 19.59c3 6.44 5.13 14.48 1.1 20.35-3.7 5.4-11 6.7-17.55 7.19-13 1-26.11.67-39.17.34l-128.32-3.17c-5.72-.14-11.58-.31-16.89-2.44s-10-6.69-10.68-12.37c-1-8.32 6.45-14.84 12-21.13 16.13-18.36 19.74-45.07 35.28-63.93A63.48 63.48 0 0 1 224 284",transform:"translate(-2.56 -50.04)",fill:"url(#b)"})),f||(f=j.createElement("path",{fill:"#4b39ef",d:"M178.65 350.18h116.13v7.78H178.65z"})),p||(p=j.createElement("path",{fill:"url(#e)",d:"M178.65 350.18h116.13v7.78H178.65z"})),h||(h=j.createElement("rect",{x:146.6,y:221.64,width:182.66,height:110.39,rx:20.61,fill:"#4b39ef"})),v||(v=j.createElement("rect",{x:146.6,y:224.97,width:182.66,height:110.39,rx:20.61,fill:"url(#c)"})),b||(b=j.createElement("path",{opacity:.26,fill:"url(#f)",d:"m210.88 330.71 19.44-39.43h17.79l2.5 39.99-39.73-.56z"})),g||(g=j.createElement("path",{fill:"#4b39ef",d:"M257 357.96h-34.83l8.15-66.68h17.79l8.89 66.68z"})),y||(y=j.createElement("path",{fill:"url(#g)",d:"M258.66 357.96h-34.82l8.15-66.68h17.78l8.89 66.68z"})),w||(w=j.createElement("rect",{x:298.33,width:208.93,height:161.51,rx:24.45,fill:"#fff"})),j.createElement("path",{d:"M124.69 200.25H18.23A18.26 18.26 0 0 1 0 182.01V107.1a18.26 18.26 0 0 1 18.23-18.24h106.46a18.26 18.26 0 0 1 18.23 18.24v74.91a18.26 18.26 0 0 1-18.23 18.24zM18.23 92.81A14.31 14.31 0 0 0 3.94 107.1v74.91a14.31 14.31 0 0 0 14.29 14.29h106.46a14.31 14.31 0 0 0 14.29-14.29V107.1a14.31 14.31 0 0 0-14.29-14.29z",fill:"#4b39ef",opacity:.63,style:{isolation:"isolate"}}),E||(E=j.createElement("rect",{x:1.97,y:88.16,width:138.98,height:107.44,rx:16.26,fill:"#fff"})),x||(x=j.createElement("rect",{x:124.96,y:4.14,width:84.73,height:65.5,rx:9.91,fill:"#fff"})),z||(z=j.createElement("path",{d:"m135.76 37.58 21.38-11v3.18l-18 9v.1l18 9v3.19l-21.38-11zm24.36 15.38 12.86-33.42h3.13l-12.9 33.42zm40.26-12.76-21.36 11v-3.24l18.15-9v-.15l-18.15-9v-3.24l21.36 11z",fill:"#4b39ef"})),k||(k=j.createElement("path",{d:"M212.62 385.73c-4.58-.92-9.3-.08-14 .06-4.48.13-9-.4-13.43 0s-9.07 2-11.93 5.41a11.85 11.85 0 0 0-2.72 7.93 6.21 6.21 0 0 0 .8 3.08c1.22 1.95 3.76 2.54 6 2.87a4.06 4.06 0 0 0 1.39 0c1.65-.36 2.23-2.48 3.66-3.36a5.64 5.64 0 0 1 3.13-.54q17.58.36 35.17-.14a4.63 4.63 0 0 0 2.33-.48c3.2-2-.5-6.48-1.65-8.62a12.66 12.66 0 0 0-8.75-6.21z",transform:"translate(-2.56 -50.04)",fill:"url(#h)"})),N||(N=j.createElement("path",{d:"M261.4 391.74c-1.61 2.21-2.49 5.72-.32 7.38 1.95 1.5 4.81.26 6.63-1.39s3.48-3.79 5.9-4.26c.36 2.1.84 4.4 2.56 5.65 2.61 1.9 6.21.26 9.43.29 2.9 0 6.21 1.37 8.45-.48 1.16-1 2.48-2.77 3.68-1.85a2.39 2.39 0 0 1 .69 1.23 34.38 34.38 0 0 0 4.8 9.45c1.46.57 2.56-1.41 2.84-3a47.44 47.44 0 0 0 .51-13.14c-.24-2.44-.76-5-2.5-6.76-2.27-2.27-5.86-2.37-9.07-2.32l-12.88.19c-7.66.15-15.95 2.49-20.72 9.01z",transform:"translate(-2.56 -50.04)",fill:"url(#i)"})),j.createElement("path",{d:"M251.99 261.53a12.77 12.77 0 1 1-12.79-12.79 8.57 8.57 0 0 1 2 .2 12.61 12.61 0 0 0 10.74 12.12 1.83 1.83 0 0 1 .05.47z",fill:"#4b39ef",opacity:.59,style:{isolation:"isolate"}}),O||(O=j.createElement("path",{d:"M324.96 21.4h53.4v3.92h-53.4zm0 7.58h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.59h44.82v3.88h-44.82zm14.39 7.58h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.58h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-76.45 10.25h53.4v3.92h-53.4zm0 7.58h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.58h44.82v3.88h-44.82zm14.39 7.59h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.58h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-76.45 10.26h53.4v3.92h-53.4zm0 7.57h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.58h44.82v3.88h-44.82zm14.39 7.58h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.6h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-382.9-27.97H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.94h29.12v2.52H29.52zm9.35 4.92h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.93h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17zm-49.66 6.66H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.93h29.12v2.52H29.52zm9.35 4.93h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.92h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17zm-49.66 6.67H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.92h29.12v2.52H29.52zm9.35 4.93h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.93h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17z",opacity:.52,fill:"#4b39ef"})),M||(M=j.createElement("path",{d:"M338.05 250.67c.32-1.71.66-3.42 1-5.13.18-1 .35-1.93.54-3 1.6.27 3.16.52 4.71.82a.8.8 0 0 0 1.05-.52c.7-1.36 1.48-2.68 2.3-4a.77.77 0 0 0-.07-1.12c-1-1.19-2-2.42-3.11-3.69l6.7-5.63c1 1.23 2.06 2.42 3.05 3.65a.84.84 0 0 0 1.22.28 33.56 33.56 0 0 1 4.14-1.51c.65-.19.8-.45.79-1.06v-4.65h8.74v4.67c0 .62.16.85.79 1a35.33 35.33 0 0 1 4.14 1.52.83.83 0 0 0 1.21-.3c1-1.21 2-2.39 3.05-3.64l6.69 5.62-3.43 4.11c.93 1.71 1.8 3.35 2.73 4.95.1.18.54.27.8.23 1.56-.24 3.12-.53 4.78-.82l1.52 8.6c-1.63.29-3.21.56-4.78.87-.26.05-.64.29-.68.5-.31 1.82-.56 3.65-.85 5.58l4.62 2.68-4.37 7.57-4.65-2.67c-1.5 1.2-2.95 2.34-4.38 3.53a.83.83 0 0 0-.13.74c.52 1.55 1.09 3.08 1.67 4.68l-8.21 3c-.51-1.39-1.06-2.75-1.49-4.15a1.19 1.19 0 0 0-1.5-1 31.73 31.73 0 0 1-4.25 0 .71.71 0 0 0-.87.58c-.52 1.5-1.08 3-1.66 4.56l-8.22-3 1.84-5.08-4.63-3.9-4.69 2.7-4.38-7.57c1.45-.84 2.81-1.64 4.19-2.41a.76.76 0 0 0 .43-1 44.39 44.39 0 0 1-.76-4.27c-.09-.7-.25-1-1-1.13-1.52-.17-3-.5-4.52-.77zm26.76-10.43a11.17 11.17 0 1 0 11 11.36 11.23 11.23 0 0 0-11-11.36zm48.72 35.72 1.91 6c-1.11.37-2.18.69-3.21 1.08a.91.91 0 0 0-.51.65c-.09 1.06-.06 2.12-.14 3.18a.7.7 0 0 0 .53.85c1 .37 2 .81 3.08 1.25-.8 2-1.56 3.85-2.35 5.79-1.09-.44-2.12-.89-3.17-1.26a.91.91 0 0 0-.8.18c-.84.89-1.63 1.84-2.51 2.85l1.79 3.42-5.52 2.94c-.55-1-1.05-2-1.6-3a.88.88 0 0 0-.66-.4c-1.27.15-2.54.38-3.85.58l-.83 3.77-6.1-1.31.79-3.77c-1.13-.74-2.21-1.47-3.32-2.15a.79.79 0 0 0-.7.12c-.9.66-1.77 1.36-2.71 2.09l-3.85-4.93c.92-.72 1.76-1.4 2.63-2.05a.67.67 0 0 0 .3-.94 27.5 27.5 0 0 1-1-2.95.68.68 0 0 0-.78-.62h-3.16v-6.3h3.94c.5-1.18 1-2.36 1.51-3.57.07-.18-.12-.55-.29-.72-.78-.76-1.61-1.47-2.47-2.25l4.18-4.65 2.88 2.57c1.22-.62 2.41-1.2 3.58-1.84.14-.08.2-.46.18-.68-.12-1.08-.29-2.16-.45-3.33l6.19-.86c.16 1.11.32 2.13.43 3.16.06.58.3.82.91.89a19.56 19.56 0 0 1 2.71.59.77.77 0 0 0 1.06-.39c.53-.93 1.12-1.81 1.74-2.79l5.29 3.32-2 3.27c.79 1.07 1.56 2.13 2.37 3.14a1 1 0 0 0 .77.12c1.06-.31 2.12-.66 3.21-1.05zm-16.8 16.75a8 8 0 1 0-8.12-7.84 8 8 0 0 0 8.12 7.87zm18.19-50.61 2.41-1.89 3.06 3.87c-.59.47-1.11 1-1.7 1.34s-.81.81-.41 1.46a2.94 2.94 0 0 1 .3.76c.52 1.58.52 1.58 2.22 1.65h1.21v4.89h-2.55c-.47 0-.7.11-.8.57a6.05 6.05 0 0 1-.36 1.09c-.62 1.55-.63 1.55.65 2.68l1 .87-3.28 3.69-2.3-2c-.9.47-1.8.91-2.67 1.41a.82.82 0 0 0-.25.65c.08.84.22 1.67.34 2.58l-4.87.71c-.13-.89-.23-1.73-.41-2.54a.93.93 0 0 0-.56-.6c-.9-.23-1.81-.38-2.82-.58l-1.63 2.6-4.19-2.59c.45-.74.86-1.45 1.31-2.13a.63.63 0 0 0-.08-1 8.61 8.61 0 0 1-.95-1.13c-.77-1.07-.76-1.07-2.05-.65-.51.18-1 .34-1.66.54l-1.55-4.67c.81-.27 1.56-.55 2.34-.77a.72.72 0 0 0 .61-.87 13.67 13.67 0 0 1 .08-2.12.69.69 0 0 0-.53-.85c-.77-.27-1.52-.59-2.33-.92l1.82-4.58c.84.33 1.62.67 2.42.93a.87.87 0 0 0 .75-.16c.66-.69 1.26-1.43 1.93-2.2l-1.42-2.7 4.33-2.34 1.48 2.69 3.36-.5.64-3 4.82 1c-.17.84-.32 1.63-.5 2.42a.73.73 0 0 0 .43 1c.79.38 1.54.89 2.36 1.39zm-14 9.24a6.28 6.28 0 1 0 6.39-6.26 6.22 6.22 0 0 0-6.38 6.26z",opacity:.61,fill:"#4b39ef"})))};function _(){return j.createElement("div",{className:"section py-6 py-md-7 bg-white"},j.createElement("div",{className:"container"},j.createElement("div",{className:"row mb-5 mt-5 mb-lg-7"},j.createElement("div",{className:"col-6 align-self-center"},j.createElement("div",{className:"px-5 px-md-7 mb-5 my-lg-0","data-aos":"fade-up","data-aos-delay":"100"},j.createElement(C,{className:"img-fluid"}))),j.createElement("div",{className:"col-6 "},j.createElement("div",{className:"mb-5 my-lg-0","data-aos":"fade-up","data-aos-delay":"200"},j.createElement("img",{src:(0,H.Z)("/home/ai2d.png"),alt:""}))))))}},9754:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>c});var n=a(7294),r=a(179),i=a(2263),o=a(2875),l=a(2389);function c(){const e=(0,l.Z)(),{siteConfig:t}=(0,i.Z)(),a=e&&location.pathname;return(0,n.useEffect)((()=>{if(e){const e=document.getElementsByTagName("nav")[0],t=e&&e.classList;if(!t)return;"/"===a||"/zh-CN/"===a?t.add("index-nav"):t.remove("index-nav")}}),[e,a]),n.createElement(r.Z,{title:t.title,description:"Description will go into a meta tag in "},n.createElement("main",null,n.createElement(o.default,null)))}},5166:e=>{"use strict";e.exports=JSON.parse('{"zh-CN":{"common":{"getStart":"\u5feb\u901f\u5f00\u59cb","architecture":"\u7cfb\u7edf\u67b6\u6784","learnMore":"\u4e86\u89e3\u66f4\u591a","coreFeatures":"\u6838\u5fc3\u7279\u6027","coreFeaturesDesc":"\u8ba9\u60a8\u7684\u9879\u76ee\u66f4\u8f7b\u677e\u7684\u6838\u5fc3\u7279\u6027","honor":"\u6211\u4eec\u7684\u8363\u8a89","ourUsers":"Our Users","readMore":"\u9605\u8bfb\u66f4\u591a","download":"\u4e0b\u8f7d","releaseDate":"\u53d1\u5e03\u65e5\u671f","newFeatures":"\u65b0\u7279\u6027","enhancement":"\u589e\u5f3a\u70b9","bugFixs":"\u95ee\u9898\u4fee\u590d","changeLog":"\u8be6\u7ec6\u53d8\u66f4"},"slogan":{"key":"AI\u751f\u6210\u56fe\u5f62\u6a21\u578b","description":"\u4e00\u53e5\u8bdd\u751f\u6210\u4efb\u4f55\u56fe\u5f62"},"feature":[{"title":"AI\u751f\u62102D\u56fe\u5f62","icon":"lni-bar-chart","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd2D\u56fe\u5f62"},{"title":"AI\u751f\u62103D\u573a\u666f","icon":"lni-dropbox","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd3D\u573a\u666f"},{"title":"\u591a\u79cd\u6570\u636e\u6e90","icon":"lni-database","details":"\u6570\u636e\u6e90\u63d2\u4ef6\u4e0e\u63d0\u793a\u8bcd\u7ed3\u5408"},{"title":"\u4e09\u65b9\u63d2\u4ef6\u673a\u5668\u4eba","icon":"lni-game","details":"\u4e3a\u4e86\u63d0\u4f9b\u66f4\u597d\u670d\u52a1\uff0c\u652f\u6301\u63d2\u4ef6\u673a\u5668\u4eba\uff0c\u4f8b\u5982Huggingface space"},{"title":"\u53ef\u89c6\u5316\u6a21\u578b","icon":"lni-eye","details":"\u4e3a\u4e86\u66f4\u597d\u751f\u6210\u53ef\u89c6\u5316\u56fe\u5f62\uff0c\u81ea\u7814\u53ef\u89c6\u5316\u6a21\u578b"},{"title":"\u5bb9\u5668\u5316\u90e8\u7f72","icon":"lni-soundcloud","details":"\u4e3a\u4e86\u5feb\u901f\u4f7f\u7528\uff0c\u652f\u6301\u5bb9\u5668\u5316\u90e8\u7f72"}],"honor":{"description":"\u6211\u4eec\u83b7\u5f97\u4e86\u4e9b\u6b8a\u8363\uff0c\u8fd9\u4e9b\u8363\u8a89\u5c5e\u4e8e\u6240\u6709\u4e3a SolidUI \u505a\u51fa\u8d21\u732e\u7684\u4eba\uff0c\u611f\u8c22\u60a8\u7684\u4ed8\u51fa\uff01"}},"en":{"common":{"getStart":"Quick Start","architecture":"System Architecture","description":"Description","learnMore":"Learn More","coreFeatures":"Core Features","coreFeaturesDesc":"Modern features that will make your project easier.","honor":"Our Honor","ourUsers":"Our Users","readMore":"Read More","download":"Download","releaseDate":"Release Date","newFeatures":"New Features","enhancement":"Enhancement point","bugFixs":"Bug Fix","changeLog":"Changelog"},"slogan":{"key":"AI-generated Graphic Models","description":"one sentence generates any graph"},"feature":[{"title":"AI generated 2D graphics","icon":"lni-bar-chart","details":"Generate various 2D graphics based on the visualization model"},{"title":"AI generated 3D scene","icon":"lni-dropbox","details":"Generate various 3D scenes based on the visualization model"},{"title":"Multiple data sources","icon":"lni-database","details":"Data source plugin combined with prompt words"},{"title":"Three-party plug-in robot","icon":"lni-game","details":"In order to provide better service, support plug-in robots, such as Huggingface space"},{"title":"Visualization Model","icon":"lni-eye","details":"In order to better generate visualization graphics, self-developed visualization model"},{"title":"Containerized Deployment","icon":"lni-soundcloud","details":"For quick use, support containerized deployment"}],"honor":{"description":"We have received some precious honors, which belong to everyone who contributes to SolidUI, Thanks"}}}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/248e03f5.fd64b2c4.js b/zh-CN/assets/js/248e03f5.fd64b2c4.js new file mode 100644 index 00000000..5b5cb256 --- /dev/null +++ b/zh-CN/assets/js/248e03f5.fd64b2c4.js @@ -0,0 +1 @@ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8932],{2711:function(e){e.exports=function(e){function t(o){if(n[o])return n[o].exports;var r=n[o]={exports:{},id:o,loaded:!1};return e[o].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var n={};return t.m=e,t.c=n,t.p="dist/",t(0)}([function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}var r=Object.assign||function(e){for(var t=1;t0&&void 0!==arguments[0]&&arguments[0]&&(p=!0),p)return m=(0,d.default)(m,b),(0,l.default)(m,b.once),m},v=function(){m=(0,f.default)(),g()},y=function(){m.forEach((function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay")}))},h=function(e){return!0===e||"mobile"===e&&s.default.mobile()||"phone"===e&&s.default.phone()||"tablet"===e&&s.default.tablet()||"function"==typeof e&&!0===e()},w=function(e){b=r(b,e),m=(0,f.default)();var t=document.all&&!window.atob;return h(b.disable)||t?y():(b.disableMutationObserver||c.default.isSupported()||(console.info('\n aos: MutationObserver is not supported on this browser,\n code mutations observing has been disabled.\n You may have to call "refreshHard()" by yourself.\n '),b.disableMutationObserver=!0),document.querySelector("body").setAttribute("data-aos-easing",b.easing),document.querySelector("body").setAttribute("data-aos-duration",b.duration),document.querySelector("body").setAttribute("data-aos-delay",b.delay),"DOMContentLoaded"===b.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?g(!0):"load"===b.startEvent?window.addEventListener(b.startEvent,(function(){g(!0)})):document.addEventListener(b.startEvent,(function(){g(!0)})),window.addEventListener("resize",(0,u.default)(g,b.debounceDelay,!0)),window.addEventListener("orientationchange",(0,u.default)(g,b.debounceDelay,!0)),window.addEventListener("scroll",(0,a.default)((function(){(0,l.default)(m,b.once)}),b.throttleDelay)),b.disableMutationObserver||c.default.ready("[data-aos]",v),m)};e.exports={init:w,refresh:g,refreshHard:v}},function(e,t){},,,,,function(e,t){(function(t){"use strict";function n(e,t,n){function o(t){var n=b,o=g;return b=g=void 0,j=t,y=e.apply(o,n)}function i(e){return j=e,h=setTimeout(l,t),_?o(e):y}function a(e){var n=t-(e-w);return E?x(n,v-(e-j)):n}function c(e){var n=e-w;return void 0===w||n>=t||n<0||E&&e-j>=v}function l(){var e=O();return c(e)?d(e):void(h=setTimeout(l,a(e)))}function d(e){return h=void 0,U&&b?o(e):(b=g=void 0,y)}function f(){void 0!==h&&clearTimeout(h),j=0,b=w=g=h=void 0}function m(){return void 0===h?y:d(O())}function p(){var e=O(),n=c(e);if(b=arguments,g=this,w=e,n){if(void 0===h)return i(w);if(E)return h=setTimeout(l,t),o(w)}return void 0===h&&(h=setTimeout(l,t)),y}var b,g,v,y,h,w,j=0,_=!1,E=!1,U=!0;if("function"!=typeof e)throw new TypeError(s);return t=u(t)||0,r(n)&&(_=!!n.leading,v=(E="maxWait"in n)?k(u(n.maxWait)||0,t):v,U="trailing"in n?!!n.trailing:U),p.cancel=f,p.flush=m,p}function o(e,t,o){var i=!0,a=!0;if("function"!=typeof e)throw new TypeError(s);return r(o)&&(i="leading"in o?!!o.leading:i,a="trailing"in o?!!o.trailing:a),n(e,t,{leading:i,maxWait:t,trailing:a})}function r(e){var t=void 0===e?"undefined":c(e);return!!e&&("object"==t||"function"==t)}function i(e){return!!e&&"object"==(void 0===e?"undefined":c(e))}function a(e){return"symbol"==(void 0===e?"undefined":c(e))||i(e)&&w.call(e)==d}function u(e){if("number"==typeof e)return e;if(a(e))return l;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(f,"");var n=p.test(e);return n||b.test(e)?g(e.slice(2),n?2:8):m.test(e)?l:+e}var c="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},s="Expected a function",l=NaN,d="[object Symbol]",f=/^\s+|\s+$/g,m=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,b=/^0o[0-7]+$/i,g=parseInt,v="object"==(void 0===t?"undefined":c(t))&&t&&t.Object===Object&&t,y="object"==("undefined"==typeof self?"undefined":c(self))&&self&&self.Object===Object&&self,h=v||y||Function("return this")(),w=Object.prototype.toString,k=Math.max,x=Math.min,O=function(){return h.Date.now()};e.exports=o}).call(t,function(){return this}())},function(e,t){(function(t){"use strict";function n(e,t,n){function r(t){var n=b,o=g;return b=g=void 0,j=t,y=e.apply(o,n)}function i(e){return j=e,h=setTimeout(l,t),_?r(e):y}function u(e){var n=t-(e-O);return E?k(n,v-(e-j)):n}function s(e){var n=e-O;return void 0===O||n>=t||n<0||E&&e-j>=v}function l(){var e=x();return s(e)?d(e):void(h=setTimeout(l,u(e)))}function d(e){return h=void 0,U&&b?r(e):(b=g=void 0,y)}function f(){void 0!==h&&clearTimeout(h),j=0,b=O=g=h=void 0}function m(){return void 0===h?y:d(x())}function p(){var e=x(),n=s(e);if(b=arguments,g=this,O=e,n){if(void 0===h)return i(O);if(E)return h=setTimeout(l,t),r(O)}return void 0===h&&(h=setTimeout(l,t)),y}var b,g,v,y,h,O,j=0,_=!1,E=!1,U=!0;if("function"!=typeof e)throw new TypeError(c);return t=a(t)||0,o(n)&&(_=!!n.leading,v=(E="maxWait"in n)?w(a(n.maxWait)||0,t):v,U="trailing"in n?!!n.trailing:U),p.cancel=f,p.flush=m,p}function o(e){var t=void 0===e?"undefined":u(e);return!!e&&("object"==t||"function"==t)}function r(e){return!!e&&"object"==(void 0===e?"undefined":u(e))}function i(e){return"symbol"==(void 0===e?"undefined":u(e))||r(e)&&h.call(e)==l}function a(e){if("number"==typeof e)return e;if(i(e))return s;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(d,"");var n=m.test(e);return n||p.test(e)?b(e.slice(2),n?2:8):f.test(e)?s:+e}var u="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},c="Expected a function",s=NaN,l="[object Symbol]",d=/^\s+|\s+$/g,f=/^[-+]0x[0-9a-f]+$/i,m=/^0b[01]+$/i,p=/^0o[0-7]+$/i,b=parseInt,g="object"==(void 0===t?"undefined":u(t))&&t&&t.Object===Object&&t,v="object"==("undefined"==typeof self?"undefined":u(self))&&self&&self.Object===Object&&self,y=g||v||Function("return this")(),h=Object.prototype.toString,w=Math.max,k=Math.min,x=function(){return y.Date.now()};e.exports=n}).call(t,function(){return this}())},function(e,t){"use strict";function n(e){var t=void 0,o=void 0;for(t=0;te.position?e.node.classList.add("aos-animate"):void 0!==o&&("false"===o||!n&&"true"!==o)&&e.node.classList.remove("aos-animate")},o=function(e,t){var o=window.pageYOffset,r=window.innerHeight;e.forEach((function(e,i){n(e,r+o,t)}))};t.default=o},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=o(n(12)),i=function(e,t){return e.forEach((function(e,n){e.node.classList.add("aos-init"),e.position=(0,r.default)(e.node,t.offset)})),e};t.default=i},function(e,t,n){"use strict";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=o(n(13)),i=function(e,t){var n=0,o=0,i=window.innerHeight,a={offset:e.getAttribute("data-aos-offset"),anchor:e.getAttribute("data-aos-anchor"),anchorPlacement:e.getAttribute("data-aos-anchor-placement")};switch(a.offset&&!isNaN(a.offset)&&(o=parseInt(a.offset)),a.anchor&&document.querySelectorAll(a.anchor)&&(e=document.querySelectorAll(a.anchor)[0]),n=(0,r.default)(e).top,a.anchorPlacement){case"top-bottom":break;case"center-bottom":n+=e.offsetHeight/2;break;case"bottom-bottom":n+=e.offsetHeight;break;case"top-center":n+=i/2;break;case"bottom-center":n+=i/2+e.offsetHeight;break;case"center-center":n+=i/2+e.offsetHeight/2;break;case"top-top":n+=i;break;case"bottom-top":n+=e.offsetHeight+i;break;case"center-top":n+=e.offsetHeight/2+i}return a.anchorPlacement||a.offset||isNaN(t)||(o=t),n+o};t.default=i},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){for(var t=0,n=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),n+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:n,left:t}};t.default=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(e){return e=e||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(e,(function(e){return{node:e}}))};t.default=n}])},1262:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var o=n(7294),r=n(2389);function i(e){let{children:t,fallback:n}=e;return(0,r.Z)()?o.createElement(o.Fragment,null,t?.()):n??null}},3808:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>f});var o=n(7294),r=n(1262),i=n(2389),a=n(4996);const u=JSON.parse('{"zh-CN":{"common":{"ourUsers":"\u6211\u4eec\u7684\u7528\u6237","tip":"\u8bf8\u591a\u516c\u53f8\u548c\u7ec4\u7ec7\u5c06 StreamPark \u7528\u4e8e\u7814\u7a76\u3001\u751f\u4ea7\u548c\u5546\u4e1a\u4ea7\u54c1\u4e2d
\u5982\u679c\u60a8\u4e5f\u5728\u4f7f\u7528 ? \u53ef\u4ee5\u5728\u8fd9\u91cc\u6dfb\u52a0"}},"en":{"common":{"ourUsers":"Our Users","tip":"Various companies and organizations use StreamPark for research, production and commercial products.
Are you using this project ? you can add your company"}}}'),c=JSON.parse('[{"imgUrl":"tencent.png","url":""},{"imgUrl":"baidu.png","url":""},{"imgUrl":"china-unicon.png","url":""},{"imgUrl":"yto.png","url":""},{"imgUrl":"ziroom.png","url":""},{"imgUrl":"inmobi.png","url":""},{"imgUrl":"ctyun.png","url":""},{"imgUrl":"yonghui.png","url":""},{"imgUrl":"doctorglasses.png","url":""},{"imgUrl":"itcast.png","url":""},{"imgUrl":"dtsclouds.png","url":""},{"imgUrl":"dustess.png","url":""},{"imgUrl":"zoomlion.png","url":""},{"imgUrl":"bondex.png","url":""},{"imgUrl":"relx.png","url":""},{"imgUrl":"atguigu.png","url":""},{"imgUrl":"yunlizhi.png","url":""},{"imgUrl":"zehoo.png","url":""},{"imgUrl":"deepway.png","url":""},{"imgUrl":"gigacloud_technology.png","url":""},{"imgUrl":"belle.png","url":""},{"imgUrl":"fy-data.png","url":""},{"imgUrl":"haibo.png","url":""},{"imgUrl":"hopson.png","url":""},{"imgUrl":"joyme.png","url":""},{"imgUrl":"shunwang.png","url":""},{"imgUrl":"sobot.png","url":""},{"imgUrl":"yipage.png","url":""},{"imgUrl":"yucun.png","url":""},{"imgUrl":"banggood.png","url":""}]');var s=n(179),l=n(2711),d=n.n(l);function f(){const e=(0,i.Z)()&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",t=u?.[e];return o.createElement(r.Z,null,(()=>(d().init({offset:80,duration:500,easing:"ease-out-quad",once:!0}),window.addEventListener("load",d().refresh),o.createElement(s.Z,null,o.createElement("div",{className:"block user_page"},o.createElement("div",{className:"user-main",style:{padding:"10px 0 30px"}},o.createElement("h3",{className:"fs-2 mb-4 fw-bold text-center"},t.common.ourUsers),o.createElement("hr",{className:"divider my-4 mx-auto",style:{maxWidth:"10rem"}}),o.createElement("div",{className:"desc",dangerouslySetInnerHTML:{__html:t.common.tip}}),o.createElement("div",{className:"user_case home_block"},c.map(((e,t)=>o.createElement("div",{key:t,index:t,"data-aos":"fade-up","data-aos-delay":50*t},o.createElement("a",{href:e.url,target:"_blank"},o.createElement("div",{className:"case_item case_hover"},o.createElement("img",{src:(0,a.Z)("/user/"+e.imgUrl),alt:"name"})))))))))))))}}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/271ff943.2b9c3cf0.js b/zh-CN/assets/js/271ff943.2b9c3cf0.js new file mode 100644 index 00000000..f776f396 --- /dev/null +++ b/zh-CN/assets/js/271ff943.2b9c3cf0.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4827],{5995:(e,t,a)=>{a.r(t),a.d(t,{default:()=>U});var l,r,i,c,n,o,s,h,m,d,f,p,v,z,u,y,g,E,x,b,H,w,M,k,D,C=a(7294),O=(a(2389),a(4996));a(5166);function F(){return F=Object.assign?Object.assign.bind():function(e){for(var t=1;t{let{title:t,titleId:a,...O}=e;return C.createElement("svg",F({"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 509.23 364.6","aria-labelledby":a},O),t?C.createElement("title",{id:a},t):null,l||(l=C.createElement("defs",null,C.createElement("linearGradient",{id:"a",x1:225,y1:279.58,x2:246.68,y2:279.58,gradientUnits:"userSpaceOnUse"},C.createElement("stop",{offset:0,stopColor:"#e5c6d6"}),C.createElement("stop",{offset:.42,stopColor:"#ead4d0"}),C.createElement("stop",{offset:1,stopColor:"#f0e9cb"})),C.createElement("linearGradient",{id:"d",x1:196.9,y1:214.27,x2:270.4,y2:214.27,xlinkHref:"#a"}),C.createElement("linearGradient",{id:"b",x1:235.47,y1:403.52,x2:245.47,y2:302.39,gradientUnits:"userSpaceOnUse"},C.createElement("stop",{offset:0,stopColor:"#010101",stopOpacity:0}),C.createElement("stop",{offset:.95,stopColor:"#010101"})),C.createElement("linearGradient",{id:"e",x1:236.71,y1:341.09,x2:236.71,y2:400.36,xlinkHref:"#b"}),C.createElement("linearGradient",{id:"c",x1:224.9,y1:346.73,x2:252.31,y2:206.71,gradientUnits:"userSpaceOnUse"},C.createElement("stop",{offset:0,stopColor:"#fff",stopOpacity:0}),C.createElement("stop",{offset:.95,stopColor:"#fff"})),C.createElement("linearGradient",{id:"f",x1:210.88,y1:311.27,x2:250.61,y2:311.27,xlinkHref:"#b"}),C.createElement("linearGradient",{id:"g",x1:223.84,y1:324.62,x2:258.66,y2:324.62,xlinkHref:"#c"}),C.createElement("linearGradient",{id:"h",x1:170.56,y1:395.25,x2:224.36,y2:395.25,xlinkHref:"#a"}),C.createElement("linearGradient",{id:"i",x1:259.78,y1:395.21,x2:306.81,y2:395.21,xlinkHref:"#a"}))),C.createElement("path",{d:"M47.72 209.34c5.86-11.1 15.44-21.13 15.81-33.68.26-9.18-4.56-17.6-8.09-26.09-18-43.23.64-98.39 41.13-121.9 22.1-12.83 48.29-16.49 73.8-17.93a500.35 500.35 0 0 1 86.79 2.63c16.88 2 34.55 5.23 47.61 16.1 20.47 17 23.36 46.63 31.14 72.09 13.67 44.72 47.42 82.87 90.13 101.9 7.73 3.44 15.92 6.4 22.17 12.1 13.71 12.48 13.85 34.94 5.4 51.44s-23.52 28.43-38.17 39.83l-45.46 35.45c-9.2 7.17-18.62 14.47-29.65 18.26-36.75 12.64-86.6-2.22-124.75-3.91-24.63-1.1-50.74 1.34-74.81-5.08-53.28-14.23-124.33-81.88-93.05-141.21z",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),C.createElement("rect",{x:271.83,y:187.67,width:136.11,height:83.47,rx:10.6,transform:"rotate(-180 338.605 204.39)",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),C.createElement("rect",{x:71.79,y:227.5,width:105.11,height:65.32,rx:8.24,transform:"rotate(-180 123.06 235.14)",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),C.createElement("path",{d:"M482.81 165.57h-160a26.46 26.46 0 0 1-26.43-26.42V26.53A26.46 26.46 0 0 1 322.81.1h160a26.46 26.46 0 0 1 26.42 26.43v112.62a26.45 26.45 0 0 1-26.42 26.42zm-160-161.52a22.5 22.5 0 0 0-22.48 22.48v112.62a22.5 22.5 0 0 0 22.48 22.47h160a22.5 22.5 0 0 0 22.47-22.47V26.53a22.5 22.5 0 0 0-22.47-22.48zM200.05 73.42h-64.9a11.9 11.9 0 0 1-11.89-11.89V15.86a11.9 11.9 0 0 1 11.89-11.9h64.9a11.9 11.9 0 0 1 11.89 11.9v45.67a11.9 11.9 0 0 1-11.89 11.89zm-64.9-65.46a8 8 0 0 0-7.94 7.94v45.67a8 8 0 0 0 7.94 7.94h64.9a8 8 0 0 0 7.94-7.94V15.86a8 8 0 0 0-7.94-7.9z",fill:"#4b39ef",opacity:.63,style:{isolation:"isolate"}}),r||(r=C.createElement("path",{d:"M225.82 292.41a6.15 6.15 0 0 0 1 3.21 4.57 4.57 0 0 0 2.14 1.39c3.82 1.35 8-.21 11.75-1.76a10.11 10.11 0 0 0 4.36-2.77 9.44 9.44 0 0 0 1.47-5.29 79.24 79.24 0 0 0-.93-18.07 9.62 9.62 0 0 0-1.53-4.39c-1.85-2.45-5.33-2.78-8.4-2.9-7.73-.29-10-1.28-10.44 6.82a147.34 147.34 0 0 0 .58 23.76z",transform:"translate(-2.56 -50.04)",fill:"url(#a)"})),i||(i=C.createElement("path",{d:"M203.56 234.62a41 41 0 0 0 7.62 11.63 32.35 32.35 0 0 0 49.6-3.51c4.8-6.69 6.86-14.94 8.3-23.05 1.25-7.1 2.1-14.49.25-21.46-2.43-9.11-9.4-16.62-17.8-20.88s-18.1-5.5-27.5-4.83c-5.88.43-11.82 1.62-16.93 4.54-10.1 5.74-10.56 13.7-10.1 24.08.55 11.38 1.83 22.99 6.56 33.48z",transform:"translate(-2.56 -50.04)",fill:"url(#d)"})),c||(c=C.createElement("path",{d:"M222.9 97.08c-2.78-3-6.07-6.06-10.17-6.55s-8.78 2.9-8 7c-6.35-3.05-13.79-5.56-20.29-2.85-5.46 2.26-9 8-9.76 13.82s1 11.82 3.76 17a28.37 28.37 0 0 0 6.13 8.1c5.86 5.16 14 6.6 21.78 7.51 13.2 1.54 26.84 2.1 39.49-2 3.82-1.23 8.59-2.67 11.37.23 2.07 2.15 2.69 6.41 5.68 6.4 2.42 0 3.52-3 3.75-5.43a44.83 44.83 0 0 0-1.72-17.12c-2.91-9.63-9.84-17-20.39-16.92-9.77.12-14.88-1.81-21.63-9.19z",fill:"#e08142"})),n||(n=C.createElement("rect",{x:199.58,y:149.95,width:25.75,height:17.78,rx:7.23,fill:"none",stroke:"#fff",strokeMiterlimit:10,strokeWidth:3.95})),o||(o=C.createElement("rect",{x:234.6,y:149.95,width:25.75,height:17.78,rx:7.23,fill:"none",stroke:"#fff",strokeMiterlimit:10,strokeWidth:3.95})),s||(s=C.createElement("path",{fill:"#fff",d:"M223.07 156.99h14.35v2.13h-14.35zm-33.49-2.22h11.67v3.33h-11.67zm69.27 1.3h12.97v2.22h-12.97z"})),h||(h=C.createElement("path",{d:"M197.07 185.74a40.73 40.73 0 0 0 .66 9.62c1.62 7 7 12.79 13.38 16.08a51.41 51.41 0 0 1 5.55 2.92c1.82 1.25 3.33 2.93 5.16 4.18a14.17 14.17 0 0 0 14.94.45c1.39-.83 2.77-1.95 4.39-1.87 1.24 0 2.32.81 3.49 1.21 2.67.91 5.59-.08 8.15-1.27s4.93-2.61 6-5.05c.71-1.58.74-3.37 1.08-5.07.86-4.36 3.67-8.06 5.4-12.16 3.6-8.49 2.4-18.16 1.14-27.29l-4.16 6.89c-1.4 2.32-3 4.79-5.54 5.71-3.35 1.19-6.91-.75-10.15-2.24a42.21 42.21 0 0 0-32.68-.85c-2.16.86-4.45 1.92-6.72 1.38-2.7-.64-6.65-7.74-8.78-7.12-2.6.78-1.29 12.3-1.31 14.48z",fill:"#e08142"})),m||(m=C.createElement("path",{d:"M223.3 233.22c27.08-3.86 55.85 9.87 69.89 33.35 4.68 7.84 7.82 16.57 13 24.1 5.47 8 13 14.29 19.29 21.63a87.06 87.06 0 0 1 12.65 19.59c3 6.44 5.13 14.48 1.1 20.35-3.7 5.4-11 6.7-17.55 7.19-13 1-26.11.67-39.17.34l-128.32-3.17c-5.72-.14-11.58-.31-16.89-2.44s-10-6.69-10.68-12.37c-1-8.32 6.45-14.84 12-21.13 16.13-18.36 19.74-45.07 35.28-63.93a63.48 63.48 0 0 1 47.54-22.77",fill:"#4b39ef"})),d||(d=C.createElement("path",{d:"M225.86 283.26c27.08-3.86 55.85 9.87 69.89 33.35 4.68 7.84 7.82 16.57 13 24.1 5.47 8 13 14.29 19.29 21.63a87.06 87.06 0 0 1 12.65 19.59c3 6.44 5.13 14.48 1.1 20.35-3.7 5.4-11 6.7-17.55 7.19-13 1-26.11.67-39.17.34l-128.32-3.17c-5.72-.14-11.58-.31-16.89-2.44s-10-6.69-10.68-12.37c-1-8.32 6.45-14.84 12-21.13 16.13-18.36 19.74-45.07 35.28-63.93A63.48 63.48 0 0 1 224 284",transform:"translate(-2.56 -50.04)",fill:"url(#b)"})),f||(f=C.createElement("path",{fill:"#4b39ef",d:"M178.65 350.18h116.13v7.78H178.65z"})),p||(p=C.createElement("path",{fill:"url(#e)",d:"M178.65 350.18h116.13v7.78H178.65z"})),v||(v=C.createElement("rect",{x:146.6,y:221.64,width:182.66,height:110.39,rx:20.61,fill:"#4b39ef"})),z||(z=C.createElement("rect",{x:146.6,y:224.97,width:182.66,height:110.39,rx:20.61,fill:"url(#c)"})),u||(u=C.createElement("path",{opacity:.26,fill:"url(#f)",d:"m210.88 330.71 19.44-39.43h17.79l2.5 39.99-39.73-.56z"})),y||(y=C.createElement("path",{fill:"#4b39ef",d:"M257 357.96h-34.83l8.15-66.68h17.79l8.89 66.68z"})),g||(g=C.createElement("path",{fill:"url(#g)",d:"M258.66 357.96h-34.82l8.15-66.68h17.78l8.89 66.68z"})),E||(E=C.createElement("rect",{x:298.33,width:208.93,height:161.51,rx:24.45,fill:"#fff"})),C.createElement("path",{d:"M124.69 200.25H18.23A18.26 18.26 0 0 1 0 182.01V107.1a18.26 18.26 0 0 1 18.23-18.24h106.46a18.26 18.26 0 0 1 18.23 18.24v74.91a18.26 18.26 0 0 1-18.23 18.24zM18.23 92.81A14.31 14.31 0 0 0 3.94 107.1v74.91a14.31 14.31 0 0 0 14.29 14.29h106.46a14.31 14.31 0 0 0 14.29-14.29V107.1a14.31 14.31 0 0 0-14.29-14.29z",fill:"#4b39ef",opacity:.63,style:{isolation:"isolate"}}),x||(x=C.createElement("rect",{x:1.97,y:88.16,width:138.98,height:107.44,rx:16.26,fill:"#fff"})),b||(b=C.createElement("rect",{x:124.96,y:4.14,width:84.73,height:65.5,rx:9.91,fill:"#fff"})),H||(H=C.createElement("path",{d:"m135.76 37.58 21.38-11v3.18l-18 9v.1l18 9v3.19l-21.38-11zm24.36 15.38 12.86-33.42h3.13l-12.9 33.42zm40.26-12.76-21.36 11v-3.24l18.15-9v-.15l-18.15-9v-3.24l21.36 11z",fill:"#4b39ef"})),w||(w=C.createElement("path",{d:"M212.62 385.73c-4.58-.92-9.3-.08-14 .06-4.48.13-9-.4-13.43 0s-9.07 2-11.93 5.41a11.85 11.85 0 0 0-2.72 7.93 6.21 6.21 0 0 0 .8 3.08c1.22 1.95 3.76 2.54 6 2.87a4.06 4.06 0 0 0 1.39 0c1.65-.36 2.23-2.48 3.66-3.36a5.64 5.64 0 0 1 3.13-.54q17.58.36 35.17-.14a4.63 4.63 0 0 0 2.33-.48c3.2-2-.5-6.48-1.65-8.62a12.66 12.66 0 0 0-8.75-6.21z",transform:"translate(-2.56 -50.04)",fill:"url(#h)"})),M||(M=C.createElement("path",{d:"M261.4 391.74c-1.61 2.21-2.49 5.72-.32 7.38 1.95 1.5 4.81.26 6.63-1.39s3.48-3.79 5.9-4.26c.36 2.1.84 4.4 2.56 5.65 2.61 1.9 6.21.26 9.43.29 2.9 0 6.21 1.37 8.45-.48 1.16-1 2.48-2.77 3.68-1.85a2.39 2.39 0 0 1 .69 1.23 34.38 34.38 0 0 0 4.8 9.45c1.46.57 2.56-1.41 2.84-3a47.44 47.44 0 0 0 .51-13.14c-.24-2.44-.76-5-2.5-6.76-2.27-2.27-5.86-2.37-9.07-2.32l-12.88.19c-7.66.15-15.95 2.49-20.72 9.01z",transform:"translate(-2.56 -50.04)",fill:"url(#i)"})),C.createElement("path",{d:"M251.99 261.53a12.77 12.77 0 1 1-12.79-12.79 8.57 8.57 0 0 1 2 .2 12.61 12.61 0 0 0 10.74 12.12 1.83 1.83 0 0 1 .05.47z",fill:"#4b39ef",opacity:.59,style:{isolation:"isolate"}}),k||(k=C.createElement("path",{d:"M324.96 21.4h53.4v3.92h-53.4zm0 7.58h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.59h44.82v3.88h-44.82zm14.39 7.58h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.58h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-76.45 10.25h53.4v3.92h-53.4zm0 7.58h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.58h44.82v3.88h-44.82zm14.39 7.59h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.58h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-76.45 10.26h53.4v3.92h-53.4zm0 7.57h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.58h44.82v3.88h-44.82zm14.39 7.58h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.6h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-382.9-27.97H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.94h29.12v2.52H29.52zm9.35 4.92h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.93h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17zm-49.66 6.66H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.93h29.12v2.52H29.52zm9.35 4.93h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.92h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17zm-49.66 6.67H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.92h29.12v2.52H29.52zm9.35 4.93h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.93h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17z",opacity:.52,fill:"#4b39ef"})),D||(D=C.createElement("path",{d:"M338.05 250.67c.32-1.71.66-3.42 1-5.13.18-1 .35-1.93.54-3 1.6.27 3.16.52 4.71.82a.8.8 0 0 0 1.05-.52c.7-1.36 1.48-2.68 2.3-4a.77.77 0 0 0-.07-1.12c-1-1.19-2-2.42-3.11-3.69l6.7-5.63c1 1.23 2.06 2.42 3.05 3.65a.84.84 0 0 0 1.22.28 33.56 33.56 0 0 1 4.14-1.51c.65-.19.8-.45.79-1.06v-4.65h8.74v4.67c0 .62.16.85.79 1a35.33 35.33 0 0 1 4.14 1.52.83.83 0 0 0 1.21-.3c1-1.21 2-2.39 3.05-3.64l6.69 5.62-3.43 4.11c.93 1.71 1.8 3.35 2.73 4.95.1.18.54.27.8.23 1.56-.24 3.12-.53 4.78-.82l1.52 8.6c-1.63.29-3.21.56-4.78.87-.26.05-.64.29-.68.5-.31 1.82-.56 3.65-.85 5.58l4.62 2.68-4.37 7.57-4.65-2.67c-1.5 1.2-2.95 2.34-4.38 3.53a.83.83 0 0 0-.13.74c.52 1.55 1.09 3.08 1.67 4.68l-8.21 3c-.51-1.39-1.06-2.75-1.49-4.15a1.19 1.19 0 0 0-1.5-1 31.73 31.73 0 0 1-4.25 0 .71.71 0 0 0-.87.58c-.52 1.5-1.08 3-1.66 4.56l-8.22-3 1.84-5.08-4.63-3.9-4.69 2.7-4.38-7.57c1.45-.84 2.81-1.64 4.19-2.41a.76.76 0 0 0 .43-1 44.39 44.39 0 0 1-.76-4.27c-.09-.7-.25-1-1-1.13-1.52-.17-3-.5-4.52-.77zm26.76-10.43a11.17 11.17 0 1 0 11 11.36 11.23 11.23 0 0 0-11-11.36zm48.72 35.72 1.91 6c-1.11.37-2.18.69-3.21 1.08a.91.91 0 0 0-.51.65c-.09 1.06-.06 2.12-.14 3.18a.7.7 0 0 0 .53.85c1 .37 2 .81 3.08 1.25-.8 2-1.56 3.85-2.35 5.79-1.09-.44-2.12-.89-3.17-1.26a.91.91 0 0 0-.8.18c-.84.89-1.63 1.84-2.51 2.85l1.79 3.42-5.52 2.94c-.55-1-1.05-2-1.6-3a.88.88 0 0 0-.66-.4c-1.27.15-2.54.38-3.85.58l-.83 3.77-6.1-1.31.79-3.77c-1.13-.74-2.21-1.47-3.32-2.15a.79.79 0 0 0-.7.12c-.9.66-1.77 1.36-2.71 2.09l-3.85-4.93c.92-.72 1.76-1.4 2.63-2.05a.67.67 0 0 0 .3-.94 27.5 27.5 0 0 1-1-2.95.68.68 0 0 0-.78-.62h-3.16v-6.3h3.94c.5-1.18 1-2.36 1.51-3.57.07-.18-.12-.55-.29-.72-.78-.76-1.61-1.47-2.47-2.25l4.18-4.65 2.88 2.57c1.22-.62 2.41-1.2 3.58-1.84.14-.08.2-.46.18-.68-.12-1.08-.29-2.16-.45-3.33l6.19-.86c.16 1.11.32 2.13.43 3.16.06.58.3.82.91.89a19.56 19.56 0 0 1 2.71.59.77.77 0 0 0 1.06-.39c.53-.93 1.12-1.81 1.74-2.79l5.29 3.32-2 3.27c.79 1.07 1.56 2.13 2.37 3.14a1 1 0 0 0 .77.12c1.06-.31 2.12-.66 3.21-1.05zm-16.8 16.75a8 8 0 1 0-8.12-7.84 8 8 0 0 0 8.12 7.87zm18.19-50.61 2.41-1.89 3.06 3.87c-.59.47-1.11 1-1.7 1.34s-.81.81-.41 1.46a2.94 2.94 0 0 1 .3.76c.52 1.58.52 1.58 2.22 1.65h1.21v4.89h-2.55c-.47 0-.7.11-.8.57a6.05 6.05 0 0 1-.36 1.09c-.62 1.55-.63 1.55.65 2.68l1 .87-3.28 3.69-2.3-2c-.9.47-1.8.91-2.67 1.41a.82.82 0 0 0-.25.65c.08.84.22 1.67.34 2.58l-4.87.71c-.13-.89-.23-1.73-.41-2.54a.93.93 0 0 0-.56-.6c-.9-.23-1.81-.38-2.82-.58l-1.63 2.6-4.19-2.59c.45-.74.86-1.45 1.31-2.13a.63.63 0 0 0-.08-1 8.61 8.61 0 0 1-.95-1.13c-.77-1.07-.76-1.07-2.05-.65-.51.18-1 .34-1.66.54l-1.55-4.67c.81-.27 1.56-.55 2.34-.77a.72.72 0 0 0 .61-.87 13.67 13.67 0 0 1 .08-2.12.69.69 0 0 0-.53-.85c-.77-.27-1.52-.59-2.33-.92l1.82-4.58c.84.33 1.62.67 2.42.93a.87.87 0 0 0 .75-.16c.66-.69 1.26-1.43 1.93-2.2l-1.42-2.7 4.33-2.34 1.48 2.69 3.36-.5.64-3 4.82 1c-.17.84-.32 1.63-.5 2.42a.73.73 0 0 0 .43 1c.79.38 1.54.89 2.36 1.39zm-14 9.24a6.28 6.28 0 1 0 6.39-6.26 6.22 6.22 0 0 0-6.38 6.26z",opacity:.61,fill:"#4b39ef"})))};function U(){return C.createElement("div",{className:"section py-6 py-md-7 bg-white"},C.createElement("div",{className:"container"},C.createElement("div",{className:"row mb-5 mt-5 mb-lg-7"},C.createElement("div",{className:"col-6 align-self-center"},C.createElement("div",{className:"px-5 px-md-7 mb-5 my-lg-0","data-aos":"fade-up","data-aos-delay":"100"},C.createElement(G,{className:"img-fluid"}))),C.createElement("div",{className:"col-6 "},C.createElement("div",{className:"mb-5 my-lg-0","data-aos":"fade-up","data-aos-delay":"200"},C.createElement("img",{src:(0,O.Z)("/home/ai2d.png"),alt:""}))))))}},5166:e=>{e.exports=JSON.parse('{"zh-CN":{"common":{"getStart":"\u5feb\u901f\u5f00\u59cb","architecture":"\u7cfb\u7edf\u67b6\u6784","learnMore":"\u4e86\u89e3\u66f4\u591a","coreFeatures":"\u6838\u5fc3\u7279\u6027","coreFeaturesDesc":"\u8ba9\u60a8\u7684\u9879\u76ee\u66f4\u8f7b\u677e\u7684\u6838\u5fc3\u7279\u6027","honor":"\u6211\u4eec\u7684\u8363\u8a89","ourUsers":"Our Users","readMore":"\u9605\u8bfb\u66f4\u591a","download":"\u4e0b\u8f7d","releaseDate":"\u53d1\u5e03\u65e5\u671f","newFeatures":"\u65b0\u7279\u6027","enhancement":"\u589e\u5f3a\u70b9","bugFixs":"\u95ee\u9898\u4fee\u590d","changeLog":"\u8be6\u7ec6\u53d8\u66f4"},"slogan":{"key":"AI\u751f\u6210\u56fe\u5f62\u6a21\u578b","description":"\u4e00\u53e5\u8bdd\u751f\u6210\u4efb\u4f55\u56fe\u5f62"},"feature":[{"title":"AI\u751f\u62102D\u56fe\u5f62","icon":"lni-bar-chart","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd2D\u56fe\u5f62"},{"title":"AI\u751f\u62103D\u573a\u666f","icon":"lni-dropbox","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd3D\u573a\u666f"},{"title":"\u591a\u79cd\u6570\u636e\u6e90","icon":"lni-database","details":"\u6570\u636e\u6e90\u63d2\u4ef6\u4e0e\u63d0\u793a\u8bcd\u7ed3\u5408"},{"title":"\u4e09\u65b9\u63d2\u4ef6\u673a\u5668\u4eba","icon":"lni-game","details":"\u4e3a\u4e86\u63d0\u4f9b\u66f4\u597d\u670d\u52a1\uff0c\u652f\u6301\u63d2\u4ef6\u673a\u5668\u4eba\uff0c\u4f8b\u5982Huggingface space"},{"title":"\u53ef\u89c6\u5316\u6a21\u578b","icon":"lni-eye","details":"\u4e3a\u4e86\u66f4\u597d\u751f\u6210\u53ef\u89c6\u5316\u56fe\u5f62\uff0c\u81ea\u7814\u53ef\u89c6\u5316\u6a21\u578b"},{"title":"\u5bb9\u5668\u5316\u90e8\u7f72","icon":"lni-soundcloud","details":"\u4e3a\u4e86\u5feb\u901f\u4f7f\u7528\uff0c\u652f\u6301\u5bb9\u5668\u5316\u90e8\u7f72"}],"honor":{"description":"\u6211\u4eec\u83b7\u5f97\u4e86\u4e9b\u6b8a\u8363\uff0c\u8fd9\u4e9b\u8363\u8a89\u5c5e\u4e8e\u6240\u6709\u4e3a SolidUI \u505a\u51fa\u8d21\u732e\u7684\u4eba\uff0c\u611f\u8c22\u60a8\u7684\u4ed8\u51fa\uff01"}},"en":{"common":{"getStart":"Quick Start","architecture":"System Architecture","description":"Description","learnMore":"Learn More","coreFeatures":"Core Features","coreFeaturesDesc":"Modern features that will make your project easier.","honor":"Our Honor","ourUsers":"Our Users","readMore":"Read More","download":"Download","releaseDate":"Release Date","newFeatures":"New Features","enhancement":"Enhancement point","bugFixs":"Bug Fix","changeLog":"Changelog"},"slogan":{"key":"AI-generated Graphic Models","description":"one sentence generates any graph"},"feature":[{"title":"AI generated 2D graphics","icon":"lni-bar-chart","details":"Generate various 2D graphics based on the visualization model"},{"title":"AI generated 3D scene","icon":"lni-dropbox","details":"Generate various 3D scenes based on the visualization model"},{"title":"Multiple data sources","icon":"lni-database","details":"Data source plugin combined with prompt words"},{"title":"Three-party plug-in robot","icon":"lni-game","details":"In order to provide better service, support plug-in robots, such as Huggingface space"},{"title":"Visualization Model","icon":"lni-eye","details":"In order to better generate visualization graphics, self-developed visualization model"},{"title":"Containerized Deployment","icon":"lni-soundcloud","details":"For quick use, support containerized deployment"}],"honor":{"description":"We have received some precious honors, which belong to everyone who contributes to SolidUI, Thanks"}}}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/2cc0820c.75eeb841.js b/zh-CN/assets/js/2cc0820c.75eeb841.js new file mode 100644 index 00000000..b1de86f1 --- /dev/null +++ b/zh-CN/assets/js/2cc0820c.75eeb841.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4257],{3905:(t,a,e)=>{e.d(a,{Zo:()=>u,kt:()=>o});var n=e(7294);function l(t,a,e){return a in t?Object.defineProperty(t,a,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[a]=e,t}function r(t,a){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(t,a).enumerable}))),e.push.apply(e,n)}return e}function p(t){for(var a=1;a=0||(l[e]=t[e]);return l}(t,a);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,e)&&(l[e]=t[e])}return l}var d=n.createContext({}),m=function(t){var a=n.useContext(d),e=a;return t&&(e="function"==typeof t?t(a):p(p({},a),t)),e},u=function(t){var a=m(t.components);return n.createElement(d.Provider,{value:a},t.children)},k="mdxType",N={inlineCode:"code",wrapper:function(t){var a=t.children;return n.createElement(n.Fragment,{},a)}},g=n.forwardRef((function(t,a){var e=t.components,l=t.mdxType,r=t.originalType,d=t.parentName,u=i(t,["components","mdxType","originalType","parentName"]),k=m(e),g=l,o=k["".concat(d,".").concat(g)]||k[g]||N[g]||r;return e?n.createElement(o,p(p({ref:a},u),{},{components:e})):n.createElement(o,p({ref:a},u))}));function o(t,a){var e=arguments,l=a&&a.mdxType;if("string"==typeof t||l){var r=e.length,p=new Array(r);p[0]=g;var i={};for(var d in a)hasOwnProperty.call(a,d)&&(i[d]=a[d]);i.originalType=t,i[k]="string"==typeof t?t:l,p[1]=i;for(var m=2;m{e.r(a),e.d(a,{assets:()=>d,contentTitle:()=>p,default:()=>N,frontMatter:()=>r,metadata:()=>i,toc:()=>m});var n=e(7462),l=(e(7294),e(3905));const r={id:"test-case",title:"\u6d4b\u8bd5\u7528\u4f8b",sidebar_position:1},p="\u6a21\u5757",i={unversionedId:"test/test-case/test-case",id:"test/test-case/test-case",title:"\u6d4b\u8bd5\u7528\u4f8b",description:"\u767b\u5f55",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/test/test-case/README.md",sourceDirName:"test/test-case",slug:"/test/test-case/",permalink:"/SolidUI-Website/zh-CN/docs/test/test-case/",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/test/test-case/README.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"test-case",title:"\u6d4b\u8bd5\u7528\u4f8b",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"\u5143\u6570\u636e",permalink:"/SolidUI-Website/zh-CN/docs/design/metadata/"},next:{title:"\u5e38\u89c1\u95ee\u9898\u89e3\u7b54",permalink:"/SolidUI-Website/zh-CN/docs/faq/faq/"}},d={},m=[{value:"\u767b\u5f55",id:"\u767b\u5f55",level:2},{value:"\u6570\u636e\u6e90\u7ba1\u7406",id:"\u6570\u636e\u6e90\u7ba1\u7406",level:2},{value:"\u9879\u76ee\u7ba1\u7406",id:"\u9879\u76ee\u7ba1\u7406",level:2},{value:"\u8bbe\u8ba1",id:"\u8bbe\u8ba1",level:2},{value:"ModelUI",id:"modelui",level:2}],u={toc:m},k="wrapper";function N(t){let{components:a,...e}=t;return(0,l.kt)(k,(0,n.Z)({},u,e,{components:a,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"\u6a21\u5757"},"\u6a21\u5757"),(0,l.kt)("h2",{id:"\u767b\u5f55"},"\u767b\u5f55"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"\u6d4b\u8bd5\u573a\u666f"),(0,l.kt)("th",{parentName:"tr",align:null},"\u8f93\u5165"),(0,l.kt)("th",{parentName:"tr",align:null},"\u9884\u671f\u8f93\u51fa"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u6b63\u786e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6b63\u786e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6210\u529f\u767b\u5f55")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u9519\u8bef\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801"),(0,l.kt)("td",{parentName:"tr",align:null},"\u9519\u8bef\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801"),(0,l.kt)("td",{parentName:"tr",align:null},"\u767b\u5f55\u5931\u8d25\u5e76\u63d0\u793a\u9519\u8bef\u4fe1\u606f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u7a7a\u7528\u6237\u540d\u548c\u5bc6\u7801"),(0,l.kt)("td",{parentName:"tr",align:null},"\u7a7a\u7528\u6237\u540d\u548c\u5bc6\u7801"),(0,l.kt)("td",{parentName:"tr",align:null},"\u767b\u5f55\u5931\u8d25\u5e76\u63d0\u793a\u9519\u8bef\u4fe1\u606f")))),(0,l.kt)("h2",{id:"\u6570\u636e\u6e90\u7ba1\u7406"},"\u6570\u636e\u6e90\u7ba1\u7406"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"\u6d4b\u8bd5\u573a\u666f"),(0,l.kt)("th",{parentName:"tr",align:null},"\u8f93\u5165"),(0,l.kt)("th",{parentName:"tr",align:null},"\u9884\u671f\u8f93\u51fa"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u663e\u793a\u6570\u636e"),(0,l.kt)("td",{parentName:"tr",align:null},"\u65e0"),(0,l.kt)("td",{parentName:"tr",align:null},"\u663e\u793a\u6240\u6709\u6570\u636e\u6e90\uff0c\u5305\u62ec\u5e8f\u53f7\uff0c\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u7528\u6237\uff0c\u63cf\u8ff0\u4fe1\u606f\u548c\u64cd\u4f5c\u6309\u94ae")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0MySQL\u6570\u636e\u6e90"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0\u6210\u529f\u540e\uff0c\u80fd\u591f\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u770b\u5230\u65b0\u589e\u7684MySQL\u6570\u636e\u6e90")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0Doris\u6570\u636e\u6e90"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0\u6210\u529f\u540e\uff0c\u80fd\u591f\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u770b\u5230\u65b0\u589e\u7684Doris\u6570\u636e\u6e90")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u7f16\u8f91\u6570\u636e\u6e90"),(0,l.kt)("td",{parentName:"tr",align:null},"\u8981\u7f16\u8f91\u7684\u6570\u636e\u6e90\u7684\u540d\u79f0\uff0c\u65b0\u7684\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8"),(0,l.kt)("td",{parentName:"tr",align:null},"\u7f16\u8f91\u6210\u529f\u540e\uff0c\u80fd\u591f\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u770b\u5230\u7f16\u8f91\u540e\u7684\u6570\u636e\u6e90\u4fe1\u606f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u5355\u884c\u5220\u9664\u6570\u636e\u6e90"),(0,l.kt)("td",{parentName:"tr",align:null},"\u8981\u5220\u9664\u7684\u6570\u636e\u6e90\u7684\u540d\u79f0"),(0,l.kt)("td",{parentName:"tr",align:null},"\u5220\u9664\u6210\u529f\u540e\uff0c\u8be5\u6570\u636e\u6e90\u4e0d\u518d\u663e\u793a\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0\u6570\u636e\u6e90\uff0c\u540d\u79f0\u4e3a\u7a7a"),(0,l.kt)("td",{parentName:"tr",align:null},"\u7a7a\u5b57\u7b26\u4e32"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0\u5931\u8d25\uff0c\u5e76\u63d0\u793a\u9519\u8bef\u4fe1\u606f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff0cURL/\u7528\u6237/\u5bc6\u7801\u4e3a\u7a7a"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7a7a\u5b57\u7b26\u4e32\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0\u5931\u8d25\uff0c\u5e76\u63d0\u793a\u9519\u8bef\u4fe1\u606f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0Doris\u6570\u636e\u6e90\uff0cURL/\u7528\u6237/\u5bc6\u7801\u4e3a\u7a7a"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7a7a\u5b57\u7b26\u4e32\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0\u5931\u8d25\uff0c\u5e76\u63d0\u793a\u9519\u8bef\u4fe1\u606f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u7f16\u8f91\u6570\u636e\u6e90\uff0c\u540d\u79f0/URL/\u7528\u6237/\u5bc6\u7801\u4e3a\u7a7a"),(0,l.kt)("td",{parentName:"tr",align:null},"\u4e0d\u5b58\u5728\u7684\u540d\u79f0/URL/\u7528\u6237/\u5bc6\u7801\u4e3a\u7a7a"),(0,l.kt)("td",{parentName:"tr",align:null},"\u7f16\u8f91\u5931\u8d25\uff0c\u5e76\u63d0\u793a\u9519\u8bef\u4fe1\u606f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u6570\u636e\u6e90\u8fc7\u671f"),(0,l.kt)("td",{parentName:"tr",align:null},"\u5355\u884c\u9009\u62e9\u6570\u636e\u6e90\u8fc7\u671f"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6210\u529f")))),(0,l.kt)("h2",{id:"\u9879\u76ee\u7ba1\u7406"},"\u9879\u76ee\u7ba1\u7406"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"\u6d4b\u8bd5\u573a\u666f"),(0,l.kt)("th",{parentName:"tr",align:null},"\u8f93\u5165"),(0,l.kt)("th",{parentName:"tr",align:null},"\u9884\u671f\u8f93\u51fa"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0\u9879\u76ee"),(0,l.kt)("td",{parentName:"tr",align:null},"\u9879\u76ee\u540d\u79f0\uff0c\u9879\u76ee\u63cf\u8ff0\uff0c\u9879\u76eeURL"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0\u6210\u529f\u540e\uff0c\u80fd\u591f\u5728\u9879\u76ee\u5217\u8868\u4e2d\u770b\u5230\u65b0\u589e\u7684\u9879\u76ee\u4fe1\u606f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u67e5\u8be2\u9879\u76ee\u5217\u8868"),(0,l.kt)("td",{parentName:"tr",align:null},"\u9879\u76ee\u540d\u79f0"),(0,l.kt)("td",{parentName:"tr",align:null},"\u8f93\u51fa\u9879\u76ee\u5217\u8868")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u7f16\u8f91\u9879\u76ee\u540d"),(0,l.kt)("td",{parentName:"tr",align:null},"\u9879\u76ee\u540d\u79f0"),(0,l.kt)("td",{parentName:"tr",align:null},"\u7f16\u8f91\u6210\u529f\u540e\uff0c\u80fd\u591f\u5728\u9879\u76ee\u5217\u8868\u4e2d\u770b\u5230\u7f16\u8f91\u7684\u9879\u76ee\u4fe1\u606f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u5220\u9664\u9879\u76ee"),(0,l.kt)("td",{parentName:"tr",align:null},"\u8981\u5220\u9664\u7684\u9879\u76ee\u7684\u540d\u79f0"),(0,l.kt)("td",{parentName:"tr",align:null},"\u5220\u9664\u6210\u529f\u540e\uff0c\u8be5\u9879\u76ee\u4e0d\u518d\u663e\u793a\u5728\u9879\u76ee\u5217\u8868\u4e2d")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0\u9879\u76ee\uff0c\u540d\u79f0\u4e3a\u7a7a"),(0,l.kt)("td",{parentName:"tr",align:null},"\u7a7a\u5b57\u7b26\u4e32"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0\u5931\u8d25\uff0c\u5e76\u63d0\u793a\u9519\u8bef\u4fe1\u606f")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0\u9879\u76ee\uff0c\u63cf\u8ff0\u4e3a\u7a7a"),(0,l.kt)("td",{parentName:"tr",align:null},"\u7a7a\u5b57\u7b26\u4e32"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0\u6210\u529f\u540e\uff0c\u80fd\u591f\u5728\u9879\u76ee\u5217\u8868\u4e2d\u770b\u5230\u65b0\u589e\u7684\u9879\u76ee\u4fe1\u606f\uff0c\u4f46\u63cf\u8ff0\u4fe1\u606f\u4e3a\u7a7a")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"\u7f16\u8f91\u9879\u76ee\uff0c\u540d\u79f0\u4e0d\u5b58\u5728"),(0,l.kt)("td",{parentName:"tr",align:null},"\u7a7a\u5b57\u7b26\u4e32"),(0,l.kt)("td",{parentName:"tr",align:null},"\u7f16\u8f91\u5931\u8d25\uff0c\u5e76\u63d0\u793a\u9519\u8bef\u4fe1\u606f")))),(0,l.kt)("h2",{id:"\u8bbe\u8ba1"},"\u8bbe\u8ba1"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"\u7f16\u53f7"),(0,l.kt)("th",{parentName:"tr",align:null},"\u6d4b\u8bd5\u573a\u666f"),(0,l.kt)("th",{parentName:"tr",align:null},"\u8f93\u5165"),(0,l.kt)("th",{parentName:"tr",align:null},"\u9884\u671f\u8f93\u51fa"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"1"),(0,l.kt)("td",{parentName:"tr",align:null},"\u521b\u5efa\u573a\u666f"),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f\u540d\u79f0: "\u6d4b\u8bd5\u573a\u666f1"'),(0,l.kt)("td",{parentName:"tr",align:null},'\u65b0\u573a\u666f\u521b\u5efa\u6210\u529f\uff0c\u573a\u666f\u5217\u8868\u4e2d\u663e\u793a"\u6d4b\u8bd5\u573a\u666f1"')),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"2"),(0,l.kt)("td",{parentName:"tr",align:null},"\u521b\u5efa\u9875"),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f: "\u6d4b\u8bd5\u573a\u666f1", \u9875\u540d\u79f0: "\u6d4b\u8bd5\u98751"'),(0,l.kt)("td",{parentName:"tr",align:null},'\u65b0\u9875\u521b\u5efa\u6210\u529f\uff0c\u573a\u666f"\u6d4b\u8bd5\u573a\u666f1"\u4e0b\u7684\u9875\u5217\u8868\u4e2d\u663e\u793a"\u6d4b\u8bd5\u98751"')),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"3"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6dfb\u52a0\u67f1\u5f62\u56fe\u56fe\u4f8b"),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f: "\u6d4b\u8bd5\u573a\u666f1", \u9875: "\u6d4b\u8bd5\u98751", \u56fe\u4f8b\u540d\u79f0: "\u67f1\u5f62\u56fe1"'),(0,l.kt)("td",{parentName:"tr",align:null},'\u56fe\u4f8b\u521b\u5efa\u6210\u529f\uff0c"\u6d4b\u8bd5\u98751"\u4e2d\u663e\u793a"\u67f1\u5f62\u56fe1"')),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"4"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97"),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f: "\u6d4b\u8bd5\u573a\u666f1", \u9875: "\u6d4b\u8bd5\u98751", \u56fe\u4f8b: "\u67f1\u5f62\u56fe1"'),(0,l.kt)("td",{parentName:"tr",align:null},"\u6570\u636e\u9009\u62e9\u6ed1\u7a97\u6253\u5f00\u6210\u529f\uff0c\u663e\u793a\u6570\u636e\u6e90\u7c7b\u578b\u3001\u6570\u636e\u6e90\u548cSQL\u8f93\u5165\u6846")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"5"),(0,l.kt)("td",{parentName:"tr",align:null},"\u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b"),(0,l.kt)("td",{parentName:"tr",align:null},'\u6570\u636e\u6e90\u7c7b\u578b: "\u6570\u636e\u5e93"'),(0,l.kt)("td",{parentName:"tr",align:null},"\u6570\u636e\u6e90\u7c7b\u578b\u9009\u62e9\u6210\u529f\uff0c\u663e\u793a\u6570\u636e\u5e93\u76f8\u5173\u7684\u6570\u636e\u6e90\u9009\u9879")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"6"),(0,l.kt)("td",{parentName:"tr",align:null},"\u9009\u62e9\u6570\u636e\u6e90"),(0,l.kt)("td",{parentName:"tr",align:null},'\u6570\u636e\u6e90: "MySQL\u6570\u636e\u5e931"'),(0,l.kt)("td",{parentName:"tr",align:null},"\u6570\u636e\u6e90\u9009\u62e9\u6210\u529f\uff0c\u53ef\u4ee5\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"7"),(0,l.kt)("td",{parentName:"tr",align:null},"\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5"),(0,l.kt)("td",{parentName:"tr",align:null},'SQL: "SELECT category, value FROM sample_data"'),(0,l.kt)("td",{parentName:"tr",align:null},"SQL\u67e5\u8be2\u8bed\u53e5\u8f93\u5165\u6210\u529f\uff0c\u67f1\u5f62\u56fe1\u663e\u793aSQL\u67e5\u8be2\u8fd4\u56de\u7684\u6570\u636e")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"8"),(0,l.kt)("td",{parentName:"tr",align:null},"\u4fdd\u5b58\u9875\u9762"),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f: "\u6d4b\u8bd5\u573a\u666f1", \u9875: "\u6d4b\u8bd5\u98751"'),(0,l.kt)("td",{parentName:"tr",align:null},"\u9875\u9762\u4fdd\u5b58\u6210\u529f\uff0c\u5305\u62ec\u56fe\u4f8b\u548c\u5173\u8054\u7684\u6570\u636e\u8bbe\u7f6e")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"9"),(0,l.kt)("td",{parentName:"tr",align:null},"\u9884\u89c8\u573a\u666f"),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f: "\u6d4b\u8bd5\u573a\u666f1"'),(0,l.kt)("td",{parentName:"tr",align:null},"\u9884\u89c8\u6210\u529f\uff0c\u53ef\u4ee5\u6309\u7167\u573a\u666f\u548c\u9875\u7684\u987a\u5e8f\u9884\u89c8")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"10"),(0,l.kt)("td",{parentName:"tr",align:null},"\u7f16\u8f91\u573a\u666f\u540d\u79f0"),(0,l.kt)("td",{parentName:"tr",align:null},'\u539f\u573a\u666f\u540d\u79f0: "\u6d4b\u8bd5\u573a\u666f1", \u65b0\u573a\u666f\u540d\u79f0: "\u6d4b\u8bd5\u573a\u666f1-\u4fee\u6539"'),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f\u540d\u79f0\u4fee\u6539\u6210\u529f\uff0c\u573a\u666f\u5217\u8868\u4e2d\u663e\u793a"\u6d4b\u8bd5\u573a\u666f1-\u4fee\u6539"')),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"11"),(0,l.kt)("td",{parentName:"tr",align:null},"\u5220\u9664\u573a\u666f"),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f\u540d\u79f0: "\u6d4b\u8bd5\u573a\u666f1-\u4fee\u6539"'),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f\u5220\u9664\u6210\u529f\uff0c\u573a\u666f\u5217\u8868\u4e2d\u4e0d\u518d\u663e\u793a"\u6d4b\u8bd5\u573a\u666f1-\u4fee\u6539"')),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"12"),(0,l.kt)("td",{parentName:"tr",align:null},"\u7f16\u8f91\u9875\u540d\u79f0"),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f: "\u6d4b\u8bd5\u573a\u666f1", \u539f\u9875\u540d\u79f0: "\u6d4b\u8bd5\u98751", \u65b0\u9875\u540d\u79f0: "\u6d4b\u8bd5\u98751-\u4fee\u6539"'),(0,l.kt)("td",{parentName:"tr",align:null},'\u9875\u540d\u79f0\u4fee\u6539\u6210\u529f\uff0c\u573a\u666f"\u6d4b\u8bd5\u573a\u666f1"\u4e0b\u7684\u9875\u5217\u8868\u4e2d\u663e\u793a"\u6d4b\u8bd5\u98751-\u4fee\u6539"')),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"13"),(0,l.kt)("td",{parentName:"tr",align:null},"\u5220\u9664\u9875"),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f: "\u6d4b\u8bd5\u573a\u666f1", \u9875\u540d\u79f0: "\u6d4b\u8bd5\u98751-\u4fee\u6539"'),(0,l.kt)("td",{parentName:"tr",align:null},'\u9875\u5220\u9664\u6210\u529f\uff0c\u573a\u666f"\u6d4b\u8bd5\u573a\u666f1"\u4e0b\u7684\u9875\u5217\u8868\u4e2d\u4e0d\u518d\u663e\u793a"\u6d4b\u8bd5\u98751-\u4fee\u6539"')),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"14"),(0,l.kt)("td",{parentName:"tr",align:null},"\u7f16\u8f91\u56fe\u4f8b\u540d\u79f0"),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f: "\u6d4b\u8bd5\u573a\u666f1", \u9875: "\u6d4b\u8bd5\u98751", \u539f\u56fe\u4f8b\u540d\u79f0: "\u67f1\u5f62\u56fe1", \u65b0\u56fe\u4f8b\u540d\u79f0: "\u67f1\u5f62\u56fe1-\u4fee\u6539"'),(0,l.kt)("td",{parentName:"tr",align:null},'\u56fe\u4f8b\u540d\u79f0\u4fee\u6539\u6210\u529f\uff0c"\u6d4b\u8bd5\u98751"\u4e2d\u663e\u793a"\u67f1\u5f62\u56fe1-\u4fee\u6539"')),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"15"),(0,l.kt)("td",{parentName:"tr",align:null},"\u5220\u9664\u56fe\u4f8b"),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f: "\u6d4b\u8bd5\u573a\u666f1", \u9875: "\u6d4b\u8bd5\u98751", \u56fe\u4f8b\u540d\u79f0: "\u67f1\u5f62\u56fe1-\u4fee\u6539"'),(0,l.kt)("td",{parentName:"tr",align:null},'\u56fe\u4f8b\u5220\u9664\u6210\u529f\uff0c"\u6d4b\u8bd5\u98751"\u4e2d\u4e0d\u518d\u663e\u793a"\u67f1\u5f62\u56fe1-\u4fee\u6539"')),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"16"),(0,l.kt)("td",{parentName:"tr",align:null},"\u7f16\u8f91SQL\u67e5\u8be2\u8bed\u53e5"),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f: "\u6d4b\u8bd5\u573a\u666f1", \u9875: "\u6d4b\u8bd5\u98751", \u56fe\u4f8b: "\u67f1\u5f62\u56fe1", \u65b0SQL: "SELECT category, value * 2 AS double_value FROM sample_data"'),(0,l.kt)("td",{parentName:"tr",align:null},"SQL\u67e5\u8be2\u8bed\u53e5\u4fee\u6539\u6210\u529f\uff0c\u67f1\u5f62\u56fe1\u663e\u793a\u65b0SQL\u67e5\u8be2\u8fd4\u56de\u7684\u6570\u636e")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"17"),(0,l.kt)("td",{parentName:"tr",align:null},"\u64a4\u9500\u56fe\u4f8b\u7f16\u8f91"),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f: "\u6d4b\u8bd5\u573a\u666f1", \u9875: "\u6d4b\u8bd5\u98751", \u56fe\u4f8b: "\u67f1\u5f62\u56fe1"'),(0,l.kt)("td",{parentName:"tr",align:null},"\u64a4\u9500\u6210\u529f\uff0c\u56fe\u4f8b\u6062\u590d\u5230\u7f16\u8f91\u524d\u7684\u72b6\u6001")))),(0,l.kt)("h2",{id:"modelui"},"ModelUI"),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"\u7f16\u53f7"),(0,l.kt)("th",{parentName:"tr",align:null},"\u6d4b\u8bd5\u573a\u666f"),(0,l.kt)("th",{parentName:"tr",align:null},"\u8f93\u5165"),(0,l.kt)("th",{parentName:"tr",align:null},"\u9884\u671f\u8f93\u51fa"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"1"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6253\u5f00\u6d4b\u8bd5\u9875\u9762"),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f: "\u6d4b\u8bd5\u573a\u666f1", \u9875: "\u6d4b\u8bd5\u98751"'),(0,l.kt)("td",{parentName:"tr",align:null},"\u663e\u793a\u6d4b\u8bd5\u9875\u9762")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"2"),(0,l.kt)("td",{parentName:"tr",align:null},"\u6253\u5f00ModelUI\u9009\u62e9\u6ed1\u7a97"),(0,l.kt)("td",{parentName:"tr",align:null},'\u573a\u666f: "\u6d4b\u8bd5\u573a\u666f1", \u9875: "\u6d4b\u8bd5\u98751"\uff0c\u5728\u4e0b\u62c9\u6846\u9009\u62e9\u6a21\u578b'),(0,l.kt)("td",{parentName:"tr",align:null},"\u9875\u9762\u53f3\u4fa7\u663e\u793a\uff1aModelUI\u7a97\u53e3\uff0c\u663e\u793a\u9009\u4e2d\u7684\u6a21\u578b")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"3"),(0,l.kt)("td",{parentName:"tr",align:null},"\u753b\u56fe\u4e00\u4e2a\u4e8c\u7ef4\u56fe\u5f62"),(0,l.kt)("td",{parentName:"tr",align:null},"\u5728ModelUI\u4f1a\u8bdd\u9762\u677f\uff0c\u8f93\u5165\uff1a\u753b\u51fa\u65b9\u7a0b\uff1a\u201c3x^2 + 4x - 5 = 0\u201d\u7684\u56fe\u5f62"),(0,l.kt)("td",{parentName:"tr",align:null},"\u5728\u5750\u6807\u56fe\u4e2d\u7ed8\u5236\u51fa\u65b9\u7a0b\uff1a\u753b\u51fa\u65b9\u7a0b\uff1a\u201c3x^2 + 4x - 5 = 0\u201d\u7684\u56fe\u5f62")))))}N.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/2f3afa41.ae96652a.js b/zh-CN/assets/js/2f3afa41.ae96652a.js new file mode 100644 index 00000000..8b8b95b6 --- /dev/null +++ b/zh-CN/assets/js/2f3afa41.ae96652a.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2428],{5070:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/2023/09/05/0.2.0-Release","metadata":{"permalink":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-Release.md","source":"@site/blog/2023-09-05-0.2.0-Release.md","title":"Version Update | SolidUI 0.2.0 Release","description":"Background","date":"2023-09-05T00:00:00.000Z","formattedDate":"2023\u5e749\u67085\u65e5","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{"label":"AI","permalink":"/SolidUI-Website/zh-CN/blog/tags/ai"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],"readingTime":3.02,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"Version Update | SolidUI 0.2.0 Release","date":"2023-09-05T00:00:00.000Z","tags":["SolidUI","AI","stable-diffusion"]},"nextItem":{"title":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","permalink":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction"}},"content":"## Background\\n\\nWith the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.\\n\\nProject URL: [https://github.com/CloudOrc/SolidUI](https://github.com/CloudOrc/SolidUI)\\n\\nProject mirror URL: [https://gitee.com/CloudOrc/SolidUI](https://gitee.com/CloudOrc/SolidUI)\\n\\nCommunity official website: [https://cloudorc.github.io/SolidUI-Website/](https://cloudorc.github.io/SolidUI-Website/)\\n\\nJoin the group: [https://discord.gg/NGRNu2mGeQ](https://discord.gg/NGRNu2mGeQ)\\n\\n\\n## Release Notes\\n\\n### Features\\n\\n* Design features, scene and page optimization\\n* Project Preview\\n* Design features, preview page\\n* Support for GPT-like model proxy\\n* Support for ChatGLM-like model proxy\\n* Support Hugging Face Spaces plugin, provide trial function\\n* Support for the ESLint code check tool\\n* Design page delete graphic optimization\\n* Login page, logout optimization\\n* Support for chat window interaction\\n* Support for the official website, internationalization\\n* Support for the official website, UI optimization\\n* Support for the official website, overview optimization\\n* Support for the official website, Blog optimization\\n* Support for the official website, all documents optimization\\n* Support for the official website, framework migration\\n\\n### Deployment\\n\\n* Independent deployment related scripts\\n* docker-compose\\n\\n### Documentation\\n\\n* All co-builders list\\n* ESLint & Prettier code specifications\\n* SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation\\n* SolidUI community - Snakemq communication source code analysis\\n* Centos7.9 offline deployment of ChatGLM-6B\\n* SolidUI community - Independent deployment and Docker communication analysis\\n* SolidUI community - Introduction to the official website\\n* SolidUI community - Thinking from the perspective of the open-source community about Apple\'s removal of multiple ChatGPT apps\\n* SolidUI community - FAQ problem-solving process\\n* SolidUI community - General Prompt technique\\n* SolidUI community - Prompt design\\n* SolidUI community - Building a character based on Prompts\\n* SolidUI community - AI model proxy\\n* SolidUI community - Chain of Thought (CoT) in Prompts\\n* SolidUI community - Prompt self-consistency\\n* SolidUI community - Discord\\n* SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction\\n\\n## Detailed Guide\\n\\n* This version overview: [https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1](https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1)\\n* Demo environment: [http://www.solidui.top/](http://www.solidui.top/)\\n* Quick Start: [https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/](https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/)\\n* Tutorial: [https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s](https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s)\\n* Welcome users to fill in: [https://github.com/CloudOrc/SolidUI/issues/1](https://github.com/CloudOrc/SolidUI/issues/1)\\n* Join the group: [https://discord.gg/NGRNu2mGeQ](https://discord.gg/NGRNu2mGeQ)\\n\\n## Contributors\\n\\nThe release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)\\n\\n* dlimeng\\n* nutsjian\\n* jacktao007\\n* 15100399015\\n* ziyu211\\n* limingoo\\n* hgfdsa101\\n\\n\\n## How to Become a Contributor\\n\\nOfficial document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: [https://github.com/CloudOrc/SolidUI/discussions/54](https://github.com/CloudOrc/SolidUI/discussions/54)\\n\\nCode contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: [https://github.com/CloudOrc/SolidUI/issues/12](https://github.com/CloudOrc/SolidUI/issues/12)\\n\\nContent contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: [https://github.com/CloudOrc/SolidUI/issues/10](https://github.com/CloudOrc/SolidUI/issues/10)\\n\\nCommunity Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;\\n\\nOthers: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;"},{"id":"/2023/09/05/0.2.0-introduction","metadata":{"permalink":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-introduction.md","source":"@site/blog/2023-09-05-0.2.0-introduction.md","title":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","description":"Background","date":"2023-09-05T00:00:00.000Z","formattedDate":"2023\u5e749\u67085\u65e5","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{"label":"AI","permalink":"/SolidUI-Website/zh-CN/blog/tags/ai"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],"readingTime":4.36,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","date":"2023-09-05T00:00:00.000Z","tags":["SolidUI","AI","stable-diffusion"]},"prevItem":{"title":"Version Update | SolidUI 0.2.0 Release","permalink":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release"},"nextItem":{"title":"SolidUI Community - Official Website Introduction","permalink":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction"}},"content":"## Background\\n\\nWith the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.\\n\\nProject URL: [https://github.com/CloudOrc/SolidUI](https://github.com/CloudOrc/SolidUI)\\n\\nProject mirror URL: [https://gitee.com/CloudOrc/SolidUI](https://gitee.com/CloudOrc/SolidUI)\\n\\nCommunity official website: [https://cloudorc.github.io/SolidUI-Website/](https://cloudorc.github.io/SolidUI-Website/)\\n\\nJoin the group: [https://discord.gg/NGRNu2mGeQ](https://discord.gg/NGRNu2mGeQ)\\n\\n\\n\\n## Chat Window\\nOne of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.\\n\\n### Prompt Words\\n\\n- The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.\\n- The input data can be manually input or automatically generated, combined with text prompt words.\\n\\n## Chat Window Generation\\n### Input data format for bar chart\\n`\\\\[{\\"x\\":\\"A\\",\\"y\\":5},{\\"x\\":\\"B\\",\\"y\\":8},{\\"x\\":\\"C\\",\\"y\\":12},{\\"x\\":\\"D\\",\\"y\\":6},{\\"x\\":\\"E\\",\\"y\\":15},{\\"x\\":\\"F\\",\\"y\\":10}\\\\] Generate a bar chart`\\n\\n\\n![Image description](/doc/image/020/image1.png)\\n\\n### Surface Graph\\n> Prompt 1\\n\\n`Generate a simple 3D surface graph.`\\n\\n\\n![Image description](/doc/image/020/image2.png)\\n\\n\\n\\n> Prompt 2\\n\\n`Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the \'viridis\' color map and display the graph.`\\n\\n\\n![Image description](/doc/image/020/image03.png)\\n\\n\\n\\n> Prompt 3\\n\\n`Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph\'s color map to \'viridis\', and set specific size and margins, finally display the graph.`\\n\\n\\n![Image description](/doc/image/020/images04.png)\\n\\n\\n\\n> Prompt 4\\n\\n`Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y\'s squares.`\\n\\n\\n![Image description](/doc/image/020/images05.png)\\n\\n\\n\\n### Scatter Plot\\n> Prompt 1\\n\\n`Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.`\\n\\n\\n![Image description](/doc/image/020/images06.png)\\n\\n\\n\\n> Prompt 2\\n\\n`A 3D scatter plot has been created, where each point\'s color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.`\\n\\n\\n![Image description](/doc/image/020/images07.png)\\n\\n\\n\\n> Prompt 3\\n\\n`A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.`\\n\\n\\n![Image description](/doc/image/020/images08.png)\\n\\n\\n\\n### Spiral Line\\n> Prompt 1\\n\\n`Draw a spiral line in a 3D graph.`\\n\\n\\n![Image description](/doc/image/020/images09.png)\\n\\n\\n\\n### Pie Chart\\n> Prompt 1\\n\\n`A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as \'A\', \'B\', \'C\', \'D\', \'E\', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.`\\n\\n\\n![Image description](/doc/image/020/images10.png)\\n\\n\\n\\n### Bunny Modeling\\n> Prompt 1\\n\\n`Download the Stanford Bunny model from \\"https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj\\" and use the trimesh library to load and display this model.\\n`\\n\\n![Image description](/doc/image/020/images11.jpeg)\\n\\n\\n\\nhttps://faculty.cc.gatech.edu/~turk/bunny/bunny.html\\n\\n### Map\\n> Prompt 1\\n\\n`Create a map, download link`\\n\\n\\n![Image description](/doc/image/020/images12.png)\\n\\n\\n\\n\\n\\n\\n\\n## Design Page\\n### Page Layout\\nManage the layout of generated graphics, divided by scenes and pages.\\n\\n### Preview\\nClick on the project preview or Design Page -> Scene -> Page preview\\n\\n\\n![Image description](/doc/image/020/images13.png)\\n\\n\\n\\n\\n## Future Plans of SolidUI Community\\nFor this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.\\n\\nThis is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.\\n\\nOverall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.\\n\\n## How to Become a Contributor\\n\\n- Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54\\n- Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12\\n- Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10\\n- Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;\\n- Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;"},{"id":"/2023/09/05/Official-Website-Introduction","metadata":{"permalink":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-Official-Website-Introduction.md","source":"@site/blog/2023-09-05-Official-Website-Introduction.md","title":"SolidUI Community - Official Website Introduction","description":"Background","date":"2023-09-05T00:00:00.000Z","formattedDate":"2023\u5e749\u67085\u65e5","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{"label":"AI","permalink":"/SolidUI-Website/zh-CN/blog/tags/ai"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],"readingTime":4.87,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"SolidUI Community - Official Website Introduction","date":"2023-09-05T00:00:00.000Z","tags":["SolidUI","AI","stable-diffusion"]},"prevItem":{"title":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","permalink":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction"},"nextItem":{"title":"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790","permalink":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis"}},"content":"## Background\\n\\nWith the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.\\n\\nProject link: [https://github.com/CloudOrc/SolidUI](https://github.com/CloudOrc/SolidUI)\\n\\nProject mirror link: [https://gitee.com/CloudOrc/SolidUI](https://gitee.com/CloudOrc/SolidUI)\\n\\nCommunity official website: [https://cloudorc.github.io/SolidUI-Website/](https://cloudorc.github.io/SolidUI-Website/)\\n\\nOfficial website project address\uff1a[https://github.com/CloudOrc/SolidUI-Website](https://github.com/CloudOrc/SolidUI-Website)\\n\\n## Introduction\\n\\nThe SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:\\n\\n* **Document:** This is where SolidUI\'s documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.\\n* **Download:** Users can download the latest version of SolidUI here.\\n* **Releases:** The release records of SolidUI can be found here, where users can view all version release and update information.\\n* **Community:** This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.\\n* **Code of conduct:** This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.\\n* **Become A Committer:** A page for developers to submit code or become project contributors.\\n* **Documentation Notice:** Notices or updates about SolidUI\'s documentation.\\n* **Submit Code:** A page for submitting code where users can submit their own code for the SolidUI project.\\n* **Team:** Page introducing the SolidUI team members.\\n* **Users:** A page showcasing SolidUI users or customers, thanking partners for their participation.\\n* **Our Users:** A page likely introducing SolidUI\'s user groups.\\n* **Blog:** The SolidUI blog, where users can read the latest articles about SolidUI.\\n Official website: [https://cloudorc.github.io/SolidUI-Website/](https://cloudorc.github.io/SolidUI-Website/)\\n\\nOfficial website project address\uff1a[https://github.com/CloudOrc/SolidUI-Website](https://github.com/CloudOrc/SolidUI-Website)\\n\\n## How to Contribute\\n\\nBased on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.\\n\\n### Example\\n\\nFor documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.\\n\\n**Submit an Issue**\\n\\n1. First, visit the main page of the SolidUI-Website project.\\n2. In the top menu bar of the project, click \\"Issues\\".\\n3. Click the \\"New issue\\" button in the upper right corner.\\n4. Enter the title and description of your Issue on the page that appears.\\n5. When you\'re done, click \\"Submit new issue\\".\\n **Submit a Pull Request**\\n\\nBefore submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:\\n\\n1. On the main page of the SolidUI-Website project, click the \\"Fork\\" button in the upper right corner.\\n2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a \\"dev\\" branch.\\n3. Make the required changes on your branch.\\n4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.\\n5. Click \\"Pull requests\\", then click \\"New pull request\\".\\n6. Click \\"compare across forks\\" and choose your fork and your \\"dev\\" branch.\\n7. Confirm your changes, then click \\"Create pull request\\".\\n8. Provide a title and description for your PR on the opened page, then click \\"Create pull request\\".\\n\\n## Conclusion\\n\\nPlease note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.\\n\\nWe\'ve introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.\\n\\nParticipating in SolidUI\'s development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.\\n\\nWhether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.\\n\\n## SolidUI-Website Contributors\\n\\nThe release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):\\n\\n* dlimeng\\n* 15100399015\\n* limingoo\\n\\n\\n## Acknowledgments\\n\\nThanks to the streampark-website for providing framework support.\\n\\n## How to Become a Contributor\\n\\nHere are some ways to contribute to the SolidUI community.\\n\\nContribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: [https://github.com/CloudOrc/SolidUI/discussions/54](https://github.com/CloudOrc/SolidUI/discussions/54)\\n\\nContribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: [https://github.com/CloudOrc/SolidUI/issues/12](https://github.com/CloudOrc/SolidUI/issues/12)\\n\\nContent Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: [https://github.com/CloudOrc/SolidUI/issues/10](https://github.com/CloudOrc/SolidUI/issues/10)\\n\\nCommunity Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.\\n\\nOthers: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc."},{"id":"/2023/07/03/independent-deployment-communication-analysis","metadata":{"permalink":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-03-independent-deployment-communication-analysis.md","source":"@site/blog/2023-07-03-independent-deployment-communication-analysis.md","title":"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790","description":"\u80cc\u666f","date":"2023-07-03T00:00:00.000Z","formattedDate":"2023\u5e747\u67083\u65e5","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{"label":"AIGC","permalink":"/SolidUI-Website/zh-CN/blog/tags/aigc"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],"readingTime":3.635,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790","date":"2023-07-03T00:00:00.000Z","tags":["SolidUI","AIGC","stable-diffusion"]},"prevItem":{"title":"SolidUI Community - Official Website Introduction","permalink":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction"},"nextItem":{"title":"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790","permalink":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis"}},"content":"## \u80cc\u666f\\n\\n\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002\\n\\n\u9879\u76ee\u5730\u5740: [https://github.com/CloudOrc/SolidUI](https://github.com/CloudOrc/SolidUI)\\n\\n\u9879\u76ee\u955c\u50cf\u5730\u5740: [https://gitee.com/CloudOrc/SolidUI](https://gitee.com/CloudOrc/SolidUI)\\n\\n\\n## \u72ec\u7acb\u90e8\u7f72\u901a\u4fe1\\n\\n\u5355\u72ec\u90e8\u7f72\uff0c\u4e0e\u5916\u7f51\u901a\u4fe1\uff0c\u8fd9\u5757\u4e0d\u96be\u53ea\u6709\u76f8\u5e94\u516c\u7f51\uff0c\u5c31\u53ef\u4ee5\u6b63\u5e38\u8bbf\u95ee\u3002\\n\\n\u5355\u72ec\u90e8\u7f72\uff0c\u5185\u90e8\u8fdb\u7a0b\u95f4\u901a\u4fe1\uff0c\u5982\u679c\u6709\u591a\u4e2a\u7f51\u5361\uff0cip addr \u6d89\u53ca\u591a\u4e2aip \uff0c\u9700\u8981\u8bbe\u7f6e\u5185\u7f51ip \u6216\u8005\u57df\u540d \uff0c\u53bb\u4e00\u4e00\u5bf9\u5e94\u3002\\n\\n### \u4f8b\u5982\\n\\n\u5982\u679c\u6709\u591a\u4e2a\u7f51\u5361\uff0cip addr \u6d89\u53ca\u591a\u4e2aip \uff0c\u9700\u8981\u8bbe\u7f6e\u5185\u7f51ip \u6216\u8005\u57df\u540d \uff0c\u53bb\u4e00\u4e00\u5bf9\u5e94\uff0c\u6ca1\u6709\u7684\u8bdd\u7528127.0.0.1 \u5c31\u53ef\u4ee5\u3002\\n\\n\u8bbe\u7f6e Snakemq \u901a\u4fe1\\n\\n```plain\\nsoliduimodelui/.env SNAKEMQ_LISTENER server \u76d1\u542c\u5668 \uff0c\u8bbe\u7f6e\u5185\u7f51ip\\nsoliduimodelui/.env SNAKEMQ_CONNECTOR \u4e0eserver \u8fde\u63a5ip \uff0c\u8bbe\u7f6e\u5185\u7f51ip\\n```\\n\\n## Docker \u90e8\u7f72\u901a\u4fe1\\n\\n\u5bb9\u5668\u5316\u90e8\u7f72\uff0c\u5728\u6b64\u6211\u7b80\u5316\u63cf\u8ff0\uff0c\u4e0d\u5e26\u5bb9\u5668\u7ba1\u7406\u6846\u67b6\u63cf\u8ff0\uff0c\u56e0\u4e3a\u901a\u4fe1\u6700\u6839\u672c\u7684\u660e\u767d\u540e\uff0c\u5176\u5b83\u5728\u6846\u67b6\u4e2d\u4e5f\u5c31\u660e\u767d\u4e86\uff0c\u5916\u90e8\u901a\u4fe1\uff0c\u5f00\u653e\u7aef\u53e3 \uff0c\u5185\u90e8\u901a\u4fe1\uff0c\u901a\u8fc7\u8bbe\u7f6e\u7f51\u6bb5\u540d\u79f0\uff0c\u4e0d\u540c\u5bb9\u5668\u901a\u4fe1\uff0c\u901a\u8fc7\u5bb9\u5668\u540d\u79f0\u8fdb\u884c\u3002\\n\\n### \u4f8b\u5982\\n\\n> \u6570\u636e\u5e93\u8fde\u63a5\\n\\n\u5728docker-compose.yml \u4e2d\uff0c\u8bbe\u7f6e\u4e86Mysql\u6570\u636e\u5e93\u540d\u79f0\u4e3amysql \\n\\n\u6240\u4ee5solidui-entrance application.yaml \u4e2d datasource.url mysql \u66ff\u6362 localhost\\n\\nsoliduimodelui/.env DB_HOST mysql \u66ff\u6362 localhost \\n\\n> soliduimodelui/.env Snakemq \u901a\u4fe1\\n\\n```plain\\nsoliduimodelui/.env SNAKEMQ_LISTENER server \u76d1\u542c\u5668 \uff0c\u8bbe\u7f6e0.0.0.0\\nsoliduimodelui/.env SNAKEMQ_CONNECTOR \u4e0eserver \u8fde\u63a5ip \uff0c\u8bbe\u7f6esoliduimodelui\\n```\\n\\n## \u7ed3\u8bed\\n\\n\u672c\u6587\u901a\u8fc7\u8bb2\u89e3\u72ec\u7acb\u90e8\u7f72 \u548c Docker \u901a\u4fe1\u5206\u6790 \uff0c\u544a\u8bc9\u90e8\u7f72\u8bbe\u7f6eip\u65f6\u5019\u65b9\u5f0f\uff0c\u4e0d\u662f\u76f2\u76ee\u8bbe\u7f6elocalhost\u5c31\u80fd\u89e3\u51b3\uff0c\u4e3a\u5927\u5bb6\u540e\u7eed\u66f4\u597d\u5171\u5efaSolidUI\u63d0\u4f9b\u601d\u8def\u3002\\n\\n\\n## \u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005\\n\\n* \u5b98\u65b9\u6587\u6863\u8d21\u732e\u3002\u53d1\u73b0\u6587\u6863\u7684\u4e0d\u8db3\u3001\u4f18\u5316\u6587\u6863\uff0c\u6301\u7eed\u66f4\u65b0\u6587\u6863\u7b49\u65b9\u5f0f\u53c2\u4e0e\u793e\u533a\u8d21\u732e\u3002\u901a\u8fc7\u6587\u6863\u8d21\u732e\uff0c\u8ba9\u5f00\u53d1\u8005\u719f\u6089\u5982\u4f55\u63d0\u4ea4PR\u548c\u771f\u6b63\u53c2\u4e0e\u5230\u793e\u533a\u7684\u5efa\u8bbe\u3002\u53c2\u8003\u653b\u7565\uff1a[https://github.com/CloudOrc/SolidUI/discussions/54](https://github.com/CloudOrc/SolidUI/discussions/54)\\n* \u4ee3\u7801\u8d21\u732e\u3002\u6211\u4eec\u68b3\u7406\u4e86\u793e\u533a\u4e2d\u7b80\u5355\u5e76\u4e14\u5bb9\u6613\u5165\u95e8\u7684\u7684\u4efb\u52a1\uff0c\u975e\u5e38\u9002\u5408\u65b0\u4eba\u505a\u4ee3\u7801\u8d21\u732e\u3002\u8bf7\u67e5\u9605\u65b0\u624b\u4efb\u52a1\u5217\u8868\uff1a[https://github.com/CloudOrc/SolidUI/issues/12](https://github.com/CloudOrc/SolidUI/issues/12)\\n* \u5185\u5bb9\u8d21\u732e\uff1a\u53d1\u5e03SolidUI\u5f00\u6e90\u7ec4\u4ef6\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5b89\u88c5\u90e8\u7f72\u6559\u7a0b\u3001\u4f7f\u7528\u7ecf\u9a8c\u3001\u6848\u4f8b\u5b9e\u8df5\u7b49\uff0c\u5f62\u5f0f\u4e0d\u9650\uff0c\u8bf7\u6295\u7a3f\u7ed9\u5c0f\u52a9\u624b\u3002\u4f8b\u5982\uff1a[https://github.com/CloudOrc/SolidUI/issues/10](https://github.com/CloudOrc/SolidUI/issues/10)\\n* \u793e\u533a\u7b54\u7591\uff1a\u79ef\u6781\u5728\u793e\u533a\u4e2d\u8fdb\u884c\u7b54\u7591\u3001\u5206\u4eab\u6280\u672f\u3001\u5e2e\u52a9\u5f00\u53d1\u8005\u89e3\u51b3\u95ee\u9898\u7b49\uff1b\\n\u5176\u4ed6\uff1a\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u6d3b\u52a8\u3001\u6210\u4e3a\u793e\u533a\u5fd7\u613f\u8005\u3001\u5e2e\u52a9\u793e\u533a\u5ba3\u4f20\u3001\u4e3a\u793e\u533a\u53d1\u5c55\u63d0\u4f9b\u6709\u6548\u5efa\u8bae\u7b49\uff1b"},{"id":"/2023/07/02/snakemq-communication-source-code-analysis","metadata":{"permalink":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-02-snakemq-communication-source-code-analysis.md","source":"@site/blog/2023-07-02-snakemq-communication-source-code-analysis.md","title":"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790","description":"\u80cc\u666f","date":"2023-07-02T00:00:00.000Z","formattedDate":"2023\u5e747\u67082\u65e5","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{"label":"AIGC","permalink":"/SolidUI-Website/zh-CN/blog/tags/aigc"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],"readingTime":6.275,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790","date":"2023-07-02T00:00:00.000Z","tags":["SolidUI","AIGC","stable-diffusion"]},"prevItem":{"title":"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790","permalink":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis"},"nextItem":{"title":"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3","permalink":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0"}},"content":"## \u80cc\u666f\\n\\n\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002\\n\\n\u9879\u76ee\u5730\u5740: [https://github.com/CloudOrc/SolidUI](https://github.com/CloudOrc/SolidUI)\\n\\n\u9879\u76ee\u955c\u50cf\u5730\u5740: [https://gitee.com/CloudOrc/SolidUI](https://gitee.com/CloudOrc/SolidUI)\\n\\n## Snakemq\u4ecb\u7ecd\\n\\nSnakeMQ\u662f\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u6d88\u606f\u961f\u5217(MQ)\u7cfb\u7edf,\u4e3b\u8981\u7528\u4e8e\u5728Python\u4e2d\u5b9e\u73b0\u5f02\u6b65\u4efb\u52a1\u961f\u5217\u548c\u6d88\u606f\u4f20\u9012\u3002\\n\\nSolidUI \u6a21\u578b\u4ee3\u7406\u6a21\u5757\uff08soliduimodelui\uff09 \u7528\u5230Snakemq , \u6d89\u53ca\u5230\u5185\u90e8\u901a\u4fe1\u65f6\u5019\uff0c\u5982\u679cclient \u548cserver \u4e0d\u4e00\u4e00\u5bf9\u5e94\uff0c\u901a\u4fe1\u5c31\u6709\u95ee\u9898\uff0c\u867d\u7136\u65e5\u5fd7\u4e0d\u62a5\u9519\uff0c\u4f46\u662f\u4e0d\u56de\u8fd4\u56de\u7ed3\u679c\uff0c\u672c\u6587\u4e3b\u8981\u8bb2\u76f8\u5173\u901a\u4fe1\u95ee\u9898\uff0c\u4e3a\u540e\u7eed\u5171\u5efa\u4f19\u4f34\u63d0\u4f9b\u89e3\u51b3\u601d\u8def\u3002\\n\\n## Snakemq\u4f5c\u7528\\n\\n## \\n* \u8f7b\u91cf\u7ea7\u548c\u6613\u4e8e\u4f7f\u7528 - SnakeMQ\u4f7f\u7528\u7eafPython\u7f16\u5199,\u65e0\u4efb\u4f55\u5916\u90e8\u4f9d\u8d56,\u53ef\u4ee5\u5f88\u5bb9\u6613\u5730\u5728\u4efb\u4f55Python\u9879\u76ee\u4e2d\u96c6\u6210\u4f7f\u7528\u3002\\n* \u652f\u6301\u4e3b\u6d41\u534f\u8bae - SnakeMQ\u5b9e\u73b0\u4e86STOMP\u548cAMQP\u7b49\u4e3b\u6d41\u7684MQ\u534f\u8bae\u3002\\n* \u591a\u79cd\u6d88\u606f\u6a21\u578b - \u652f\u6301\u53d1\u5e03-\u8ba2\u9605\u3001\u5de5\u4f5c\u961f\u5217\u3001\u8bf7\u6c42-\u54cd\u5e94\u7b49\u591a\u79cd\u6d88\u606f\u6a21\u578b\u3002\\n* \u6301\u4e45\u5316\u652f\u6301 - \u652f\u6301\u5c06\u6d88\u606f\u6301\u4e45\u5316\u5230\u4e0d\u540c\u7684\u540e\u7aef,\u5982Redis\u3001MongoDB\u7b49\u3002\\n* \u9ad8\u6027\u80fd - SnakeMQ\u9488\u5bf9Python\u8fdb\u884c\u4e86\u4f18\u5316,\u5355\u673a\u53ef\u4ee5\u5904\u7406\u4e0a\u4e07\u6d88\u606f\u6bcf\u79d2\u3002\\n* \u53ef\u6269\u5c55 - \u53ef\u4ee5\u6c34\u5e73\u6269\u5c55\u4ee5\u5b9e\u73b0\u96c6\u7fa4,\u63d0\u9ad8\u7cfb\u7edf\u6574\u4f53\u541e\u5410\u91cf\u3002\\n* \u591a\u8bed\u8a00\u652f\u6301 - \u9664\u4e86Python SDK,\u8fd8\u63d0\u4f9b\u4e86NodeJS\u3001Java\u7b49\u8bed\u8a00\u7684SDK\u3002\\n\\nSolidUI \u4e2d soliduimodelui\u6a21\u5757\uff0c\u662f\u6a21\u578b\u4ee3\u7406API\uff0c\u9700\u8981Web\u548c Kernel \u901a\u4fe1\u7528\u5230Snakemq \\n\\n## Snakemq \u6d4b\u8bd5\u4ee3\u7801\\n\\n\\n> Snakemq client.py\\n\\n\\n```plain\\n\\nimport snakemq.link\\nimport snakemq.packeter\\nimport snakemq.messaging\\nimport snakemq.rpc\\nimport time\\nimport json\\nimport logging\\n\\n\\nlogging.basicConfig(format=\\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\\")\\n\\n\\nlogger = logging.getLogger(__name__)\\n\\n\\nlogger.setLevel(logging.INFO)\\n\\n\\nconsole_handler = logging.StreamHandler()\\n\\n\\nconsole_handler.setLevel(logging.INFO)\\n\\n\\nlogger.addHandler(console_handler)\\n\\n\\nlogger.setLevel(logging.INFO)\\n\\n\\nfh = logging.FileHandler(\'app.log\')\\n\\n\\nlogger.addHandler(fh)\\n\\n\\nlink = snakemq.link.Link()\\n\\n\\npacketer = snakemq.packeter.Packeter(link)\\n\\n\\nmessaging = snakemq.messaging.Messaging(\\"client\\", \\"\\", packeter)\\n\\n\\nconnector = (\\"server\\", 8765)\\n\\n\\nlink.add_connector(connector)\\n\\n\\ndef on_connect(connector_id):\\n\\n\\n logger.info(f\\"Connected to: {connector_id}\\")\\n\\n\\nlink.on_connect.add(on_connect)\\n\\n\\ndef on_disconnect(connector_id):\\n\\n\\n logger.info(f\\"\u5df2\u65ad\u5f00: {connector_id}\\")\\n\\n\\nlink.on_disconnect.add(on_disconnect)\\n\\n\\n\\ndef on_recv(conn, ident, message):\\n\\n\\n logger.info(f\\"client\u63a5\u6536\u5230: {message.data}, \u6765\u81ea: {ident}\\")\\n\\n\\nmessaging.on_message_recv.add(on_recv)\\n\\n\\nmessage = snakemq.message.Message(json.dumps({\\"type\\": \\"status\\", \\"value\\": \\"ready\\"}).encode(\\"utf-8\\"), ttl=600)\\n\\n\\nmessaging.send_message(\\"server\\", message)\\n\\n\\nwhile True:\\n\\n\\n link.loop()\\n\\n\\n time.sleep(0.1)\\n\\n\\n```\\n\\n\\n> Snakemq server.py\\n\\n\\n```plain\\n\\nimport snakemq.link\\nimport snakemq.packeter\\nimport snakemq.messaging\\nimport snakemq.rpc\\nimport time\\nimport json\\nimport logging\\n\\n\\nlogging.basicConfig(format=\\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\\")\\n\\n\\nlogger = logging.getLogger(__name__)\\n\\n\\nlogger.setLevel(logging.INFO)\\n\\n\\nconsole_handler = logging.StreamHandler()\\n\\n\\nconsole_handler.setLevel(logging.INFO)\\n\\n\\nlogger.addHandler(console_handler)\\n\\n\\nlogger.setLevel(logging.INFO)\\n\\n\\nfh = logging.FileHandler(\'app.log\')\\n\\n\\nlogger.addHandler(fh)\\n\\n\\nlink = snakemq.link.Link()\\n\\n\\npacketer = snakemq.packeter.Packeter(link)\\n\\n\\nmessaging = snakemq.messaging.Messaging(\\"server\\", \\"\\", packeter)\\n\\n\\nlink.add_listener((\\"0.0.0.0\\", 8765))\\n\\n\\ndef on_recv(conn, ident, message):\\n\\n\\n logger.info(f\\"server\u63a5\u6536\u5230: {message.data}, \u6765\u81ea: {ident}\\")\\n\\n\\nmessaging.on_message_recv.add(on_recv)\\n\\n\\n\\nmessage = snakemq.message.Message(json.dumps( {\\"type\\": \\"execute\\", \\"value\\": \\"abc\\"}).encode(\\"utf-8\\"), ttl=600)\\n\\n\\nmessaging.send_message(\\"client\\", message)\\n\\n\\n# Main loop\\n\\n\\nwhile True:\\n\\n\\n link.loop()\\n\\n\\n time.sleep(0.1)\\n\\n\\n```\\n\\n\\n> Dockerfile\\n\\n```shell script\\nFROM python:3.8\\nWORKDIR /opt/snaketmq-test\\n\\nRUN pip install snakemq\\nRUN python -c \\"import snakemq; print(snakemq.__file__); print(dir(snakemq))\\"\\nCOPY . .\\n\\nCMD [\\"python\\", \\"server.py\\"]\\n```\\n\\n\\n> Dockerfile build & run\\n\\n```shell script\\ndocker build -t snaketmq-test .\xa0\\n\\ndocker network create mynet\\n\\ndocker run -d --name server --network mynet\xa0 snaketmq-test\\n\\ndocker run --network mynet\xa0 snaketmq-test python client.py\\n```\\n\\n\\n\\n## Snakemq\u901a\u4fe1\\n\\n\u6ce8\u610f\uff1aSnakemq \u6d4b\u8bd5\u4ee3\u7801\uff0c\u56e0\u4e3a\u5bb9\u5668\u5185\u901a\u4fe1\uff0cip addr \u4f1a\u6d89\u53ca\u5230\u591a\u4e2aip \uff0c\u867d\u7136\u5bb9\u5668\u8bbe\u7f6e\u7f51\u6bb5mynet \uff0c\u4f46\u662f server link.add_listener((\\"0.0.0.0\\", 8765)) \u8fd9\u884c\u4ee3\u7801 \\n\\n* server: \u8868\u793aSnakeMQ\u7684\u670d\u52a1\u5668\u5b9e\u4f8b\u3002\\n* link: server\u4e2d\u7684link\u5c5e\u6027,\u8868\u793a\u7f51\u7edc\u8fde\u63a5\u7ba1\u7406\u5668\u3002\\n* add_listener: \u5411link\u4e2d\u6dfb\u52a0\u4e00\u4e2a\u76d1\u542c\u5668\u3002\\n* (\\"0.0.0.0\\", 8765): \u76d1\u542c\u7684\u5730\u5740\u548c\u7aef\u53e3\u3002\\"0.0.0.0\\"\u8868\u793a\u76d1\u542c\u6240\u6709\u7f51\u5361\u5730\u5740,\\"8765\\"\u8868\u793a\u76d1\u542c8765\u7aef\u53e3\u3002\\nclient connector = (\\"server\\", 8765) link.add_connector(connector) \u8fd9\u884c\u4ee3\u7801\\n\\n* connector = (\\"server\\", 8765) : \u521b\u5efa\u4e00\u4e2a\u5143\u7ec4connector,\u91cc\u9762\u5305\u542b\u4e86SnakeMQ\u670d\u52a1\u5668\u7684\u5730\u5740\\"server\\"\u548c\u7aef\u53e38765\u3002\\n* link.add_connector(connector): \u8c03\u7528link\u5bf9\u8c61(\u8fd9\u91cc\u5e94\u8be5\u662fSnakeMQ\u7684\u8fde\u63a5\u5bf9\u8c61)\u7684add_connector\u65b9\u6cd5,\u4f20\u5165\u53c2\u6570connector,\u5c06\u4e0a\u4e00\u6b65\u521b\u5efa\u7684\u8fde\u63a5\u4fe1\u606f\u6dfb\u52a0\u5230\u8fde\u63a5\u5bf9\u8c61\u4e2d\u3002\\n* \u7efc\u5408\u6765\u770b,\u8fd9\u884c\u4ee3\u7801\u7684\u4f5c\u7528\u5c31\u662f\u521b\u5efa\u4e00\u4e2a\u8fde\u63a5\u5143\u7ec4,\u5305\u542bSnakeMQ\u670d\u52a1\u5668\u7684\u5730\u5740\u548c\u7aef\u53e3,\u7136\u540e\u5c06\u8fd9\u4e2a\u8fde\u63a5\u4fe1\u606f\u6dfb\u52a0\u5230SnakeMQ\u7684\u8fde\u63a5\u5bf9\u8c61\u4e2d,\u4ee5\u5efa\u7acbSnakeMQ\u7684\u5ba2\u6237\u7aef\u8fde\u63a5\u3002\\n\\n## \u7ed3\u8bed\\n\\n\u672c\u6587\u901a\u8fc7Snakemq \u6848\u4f8b \u6765\u89e3\u91caSolidUI \u5185\u90e8\u901a\u4fe1\uff0c\u8ba9\u5927\u5bb6\u660e\u767d\u914d\u7f6e\u5730\u5740\u65f6\u5019ip \u4e3a\u4ec0\u4e48\u8fd9\u6837\u8bbe\u7f6e\uff0c\u76ee\u7684\u662f\u4e3a\u4e86\u4e00\u4e00\u5bf9\u5e94\uff0c\u4e0d\u662f\u76f2\u76ee\u8bbe\u7f6elocalhost\u5c31\u80fd\u89e3\u51b3\uff0c\u4e3a\u5927\u5bb6\u540e\u7eed\u66f4\u597d\u5171\u5efaSolidUI\u63d0\u4f9b\u601d\u8def\u3002\\n\\n\\n\\n## \u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005\\n\\n* \u5b98\u65b9\u6587\u6863\u8d21\u732e\u3002\u53d1\u73b0\u6587\u6863\u7684\u4e0d\u8db3\u3001\u4f18\u5316\u6587\u6863\uff0c\u6301\u7eed\u66f4\u65b0\u6587\u6863\u7b49\u65b9\u5f0f\u53c2\u4e0e\u793e\u533a\u8d21\u732e\u3002\u901a\u8fc7\u6587\u6863\u8d21\u732e\uff0c\u8ba9\u5f00\u53d1\u8005\u719f\u6089\u5982\u4f55\u63d0\u4ea4PR\u548c\u771f\u6b63\u53c2\u4e0e\u5230\u793e\u533a\u7684\u5efa\u8bbe\u3002\u53c2\u8003\u653b\u7565\uff1a[https://github.com/CloudOrc/SolidUI/discussions/54](https://github.com/CloudOrc/SolidUI/discussions/54)\\n* \u4ee3\u7801\u8d21\u732e\u3002\u6211\u4eec\u68b3\u7406\u4e86\u793e\u533a\u4e2d\u7b80\u5355\u5e76\u4e14\u5bb9\u6613\u5165\u95e8\u7684\u7684\u4efb\u52a1\uff0c\u975e\u5e38\u9002\u5408\u65b0\u4eba\u505a\u4ee3\u7801\u8d21\u732e\u3002\u8bf7\u67e5\u9605\u65b0\u624b\u4efb\u52a1\u5217\u8868\uff1a[https://github.com/CloudOrc/SolidUI/issues/12](https://github.com/CloudOrc/SolidUI/issues/12)\\n* \u5185\u5bb9\u8d21\u732e\uff1a\u53d1\u5e03SolidUI\u5f00\u6e90\u7ec4\u4ef6\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5b89\u88c5\u90e8\u7f72\u6559\u7a0b\u3001\u4f7f\u7528\u7ecf\u9a8c\u3001\u6848\u4f8b\u5b9e\u8df5\u7b49\uff0c\u5f62\u5f0f\u4e0d\u9650\uff0c\u8bf7\u6295\u7a3f\u7ed9\u5c0f\u52a9\u624b\u3002\u4f8b\u5982\uff1a[https://github.com/CloudOrc/SolidUI/issues/10](https://github.com/CloudOrc/SolidUI/issues/10)\\n* \u793e\u533a\u7b54\u7591\uff1a\u79ef\u6781\u5728\u793e\u533a\u4e2d\u8fdb\u884c\u7b54\u7591\u3001\u5206\u4eab\u6280\u672f\u3001\u5e2e\u52a9\u5f00\u53d1\u8005\u89e3\u51b3\u95ee\u9898\u7b49\uff1b\\n\u5176\u4ed6\uff1a\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u6d3b\u52a8\u3001\u6210\u4e3a\u793e\u533a\u5fd7\u613f\u8005\u3001\u5e2e\u52a9\u793e\u533a\u5ba3\u4f20\u3001\u4e3a\u793e\u533a\u53d1\u5c55\u63d0\u4f9b\u6709\u6548\u5efa\u8bae\u7b49\uff1b"},{"id":"/2023/07/01/function-explanation-0.1.0","metadata":{"permalink":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","editUrl":"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-01-function-explanation-0.1.0.md","source":"@site/blog/2023-07-01-function-explanation-0.1.0.md","title":"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3","description":"\u80cc\u666f","date":"2023-07-01T00:00:00.000Z","formattedDate":"2023\u5e747\u67081\u65e5","tags":[{"label":"SolidUI","permalink":"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{"label":"AIGC","permalink":"/SolidUI-Website/zh-CN/blog/tags/aigc"},{"label":"stable-diffusion","permalink":"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],"readingTime":5.475,"hasTruncateMarker":false,"authors":[],"frontMatter":{"title":"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3","date":"2023-07-01T00:00:00.000Z","tags":["SolidUI","AIGC","stable-diffusion"]},"prevItem":{"title":"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790","permalink":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis"}},"content":"## \u80cc\u666f\\n\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002\\n\\nhttps://github.com/CloudOrc/SolidUI\\n\\n## \u9879\u76ee\u540d\u5b57\u542b\u4e49\\nSolidUI Solid\u8868\u793a\u7acb\u65b9\u51e0\u4f55\uff0cUI\u8868\u793a\u8bbe\u8ba1\u4ea4\u4e92\uff0c\u4ee3\u8868\u591a\u7ef4\u751f\u6210\u8bbe\u8ba1\u3002\\n\\n## \u767b\u5f55\u9875\u542b\u4e49\\n\\n\u767b\u5f55\u9875\u7684\u542b\u4e49\uff0clogo \u7528\u773c\u955c\u7684\u5f62\u72b6\uff0c\u8868\u793a\u89c2\u5bdf\u4e16\u754c \uff0c\u80cc\u666f\u90a3\u4e9b\u7ebf\u6761\u662f\u901a\u8fc7\u773c\u775b\u89c2\u770b\u5f97\u51fa\u56fe\u5f62\uff0c\u6df1\u5c42\u610f\u601d\u8868\u793a\u521b\u610f\u751f\u6210\u4e16\u754c\u3002\\n![\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0](/blog/home.png)\\n\\n\\n## \u4ea7\u54c1\u601d\u7ef4\\n\\n\u201c\u5c11\u5c31\u662f\u591a\u201d\\n\\n\u5c11\u5c31\u662f\u591a\uff0c\u610f\u601d\u662f\u4e0d\u65ad\u7cbe\u7b80\u65b9\u6848\u91cc\u7684\u5143\u7d20\uff0c\u53ea\u7559\u4e0b\u6709\u4ef7\u503c\u7684\uff1b\u5176\u4f59\u4e0d\u91cd\u8981\u7684\uff0c\u8981\u4e48\u76f4\u63a5\u5220\u6389\uff0c\u8981\u4e48\u4ece\u754c\u9762\u91cc\u9690\u85cf\u8d77\u6765\u3002\u5bf9\u4e8e\u90a3\u4e9b\u4e0d\u5e38\u7528\u7684\u64cd\u4f5c\uff0c\u9690\u85cf\u4e4b\u540e\uff0c\u5373\u4f7f\u7528\u6237\u591a\u8fdb\u884c\u51e0\u6b65\u64cd\u4f5c\u4e5f\u6ca1\u6709\u5173\u7cfb\u3002\\n## 0.1.0 \u7248\u672c\u5185\u6db5\\n\u8fd9\u4e2a\u7248\u672c\u4f5c\u4e3a\u7b2c\u4e00\u4e2a\u7248\u672c\uff0c\u8bbe\u60f3\u4f5c\u4e3a\u5e94\u7528\u6846\u67b6\uff0c\u5177\u6709\u901a\u7528\u53ef\u89c6\u5316\u6846\u67b6\u80fd\u529b\uff0c\u4e0d\u56e0\u4e00\u4e9b\u6570\u636e\u7ba1\u7406\uff0cBI\u7b49\u4e00\u4e9b\u65e7\u601d\u7ef4\u5f71\u54cd\uff0c\u53ea\u505a\u5e94\u7528\u6846\u67b6\uff0c\u6240\u4ee5\u5f88\u591a\u4e1c\u897f\u90fd\u88ab\u53bb\u9664\u4e86\uff0cAI\u751f\u6210\u4f1a\u5f7b\u5e95\u6539\u53d8\u4f7f\u7528\u4e60\u60ef\u3002\\n\\n## \u529f\u80fd\u5217\u8868\\n\\n\u4e0b\u9762\u4ecb\u7ecd\u4e0b\u6574\u4e2a\u7b2c\u4e00\u4e2a\u7248\u672c\u529f\u80fd\u5217\u8868\u3002\\n### \u6570\u636e\u6e90\u7ba1\u7406\\n\\n* \u663e\u793a\u6570\u636e\uff1a\u663e\u793a\u6240\u6709\u6570\u636e\u6e90\uff0c\u5305\u62ec\u5e8f\u53f7\uff0c\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u7528\u6237\uff0c\u63cf\u8ff0\u4fe1\u606f\u548c\u64cd\u4f5c\u6309\u94ae\u3002\\n* \u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff1a\u8f93\u5165\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\u540e\uff0c\u53ef\u4ee5*\\n \u6210\u529f\u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u663e\u793a\u3002\\n* \u6dfb\u52a0Doris\u6570\u636e\u6e90\uff1a\u8f93\u5165\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\u540e\uff0c\u53ef\u4ee5\u6210\u529f\u6dfb\u52a0Doris\u6570\u636e\u6e90\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u663e\u793a\u3002\\n* \u7f16\u8f91\u6570\u636e\u6e90\uff1a\u53ef\u4ee5\u7f16\u8f91\u6570\u636e\u6e90\u7684\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u67e5\u770b\u7f16\u8f91\u540e\u7684\u4fe1\u606f\u3002\\n* \u5355\u884c\u5220\u9664\u6570\u636e\u6e90\uff1a\u901a\u8fc7\u8f93\u5165\u8981\u5220\u9664\u7684\u6570\u636e\u6e90\u540d\u79f0\uff0c\u53ef\u4ee5\u6210\u529f\u5220\u9664\u8be5\u6570\u636e\u6e90\uff0c\u5e76\u4e14\u8be5\u6570\u636e\u6e90\u4e0d\u518d\u663e\u793a\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u3002\\n* \u6570\u636e\u6e90\u8fc7\u671f\uff1a\u53ef\u4ee5\u5c06\u9009\u4e2d\u7684\u6570\u636e\u6e90\u8bbe\u7f6e\u4e3a\u8fc7\u671f\u72b6\u6001\u3002\\n ![\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0](/blog/datasource.png)\\n\\n### \u9879\u76ee\u7ba1\u7406\\n\\n* \u6dfb\u52a0\u9879\u76ee\uff1a\u8f93\u5165\u9879\u76ee\u540d\u79f0\uff0c\u9879\u76ee\u63cf\u8ff0\uff0c\u9879\u76eeURL\u540e\uff0c\u53ef\u4ee5\u6210\u529f\u6dfb\u52a0\u9879\u76ee\uff0c\u5e76\u5728\u9879\u76ee\u5217\u8868\u4e2d\u663e\u793a\u65b0\u589e\u7684\u9879\u76ee\u4fe1\u606f\u3002\\n* \u67e5\u8be2\u9879\u76ee\u5217\u8868\uff1a\u901a\u8fc7\u8f93\u5165\u9879\u76ee\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u8be2\u5e76\u8f93\u51fa\u9879\u76ee\u5217\u8868\u3002\\n* \u7f16\u8f91\u9879\u76ee\u540d\uff1a\u53ef\u4ee5\u7f16\u8f91\u9879\u76ee\u540d\u79f0\uff0c\u5e76\u5728\u9879\u76ee\u5217\u8868\u4e2d\u67e5\u770b\u7f16\u8f91\u540e\u7684\u9879\u76ee\u4fe1\u606f\u3002\\n* \u5220\u9664\u9879\u76ee\uff1a\u901a\u8fc7\u8f93\u5165\u8981\u5220\u9664\u7684\u9879\u76ee\u540d\u79f0\uff0c\u53ef\u4ee5\u6210\u529f\u5220\u9664\u8be5\u9879\u76ee\uff0c\u5e76\u4e14\u8be5\u9879\u76ee\u4e0d\u518d\u663e\u793a\u5728\u9879\u76ee\u5217\u8868\u4e2d\u3002\\n* \u9879\u76ee\u9884\u89c8\\n\\n\\n### \u8bbe\u8ba1\u9875\u9762\\n\\n* \u573a\u666f,\u589e\u52a0\uff0c\u4fee\u6539\uff0c\u5220\u9664\uff0c\u91cd\u547d\u540d\u3002\\n* \u9875\uff0c\u589e\u52a0\uff0c\u4fee\u6539\uff0c\u5220\u9664\uff0c\u91cd\u547d\u540d\u3002\\n* \u6dfb\u52a0\u56fe\u4f8b\uff1a\u5728\u6307\u5b9a\u573a\u666f\u548c\u9875\u4e0b\u6dfb\u52a0\u56fe\u4f8b\uff0c\u5e76\u4e3a\u5176\u547d\u540d\u3002\u521b\u5efa\u6210\u529f\u540e\uff0c\u6240\u5728\u9875\u4e2d\u663e\u793a\u5bf9\u5e94\u7684\u56fe\u4f8b\u3002\\n* \u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97\uff1a\u5728\u6307\u5b9a\u573a\u666f\u3001\u9875\u548c\u56fe\u4f8b\u4e0b\uff0c\u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97\u3002\u6ed1\u7a97\u6253\u5f00\u6210\u529f\uff0c\u663e\u793a\u6570\u636e\u6e90\u7c7b\u578b\u3001\u6570\u636e\u6e90\u548cSQL\u8f93\u5165\u6846\u3002\\n* \u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b\uff1a\u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b\uff08\u5982\u6570\u636e\u5e93\uff09\uff0c\u6210\u529f\u540e\u663e\u793a\u4e0e\u6240\u9009\u6570\u636e\u6e90\u7c7b\u578b\u76f8\u5173\u7684\u6570\u636e\u6e90\u9009\u9879\u3002\\n* \u9009\u62e9\u6570\u636e\u6e90\uff1a\u9009\u62e9\u7279\u5b9a\u7684\u6570\u636e\u6e90\uff08\u5982MySQL\u6570\u636e\u5e931\uff09\uff0c\u6210\u529f\u540e\u53ef\u4ee5\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\u3002\\n* \u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\uff1a\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\u5e76\u6267\u884c\uff0c\u67f1\u5f62\u56fe\u6839\u636e\u67e5\u8be2\u8fd4\u56de\u7684\u6570\u636e\u8fdb\u884c\u7ed8\u5236\u3002\\n* \u4fdd\u5b58\u9875\u9762\uff1a\u4fdd\u5b58\u5305\u62ec\u56fe\u4f8b\u548c\u5173\u8054\u6570\u636e\u8bbe\u7f6e\u5728\u5185\u7684\u9875\u9762\uff0c\u4ee5\u4fbf\u540e\u7eed\u67e5\u770b\u548c\u7f16\u8f91\u3002\\n* \u9884\u89c8\u573a\u666f\uff1a\u9884\u89c8\u6574\u4e2a\u573a\u666f\uff0c\u6309\u7167\u573a\u666f\u548c\u9875\u7684\u987a\u5e8f\u67e5\u770b\u5df2\u521b\u5efa\u7684\u56fe\u8868\u3002\\n\\n![\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0](/blog/desgin.png)"}]}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/306a8c6c.d37599ad.js b/zh-CN/assets/js/306a8c6c.d37599ad.js new file mode 100644 index 00000000..2bcdc0f8 --- /dev/null +++ b/zh-CN/assets/js/306a8c6c.d37599ad.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7616],{9479:e=>{e.exports=JSON.parse('{"pluginId":"community","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"category","label":"Contribution Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Become committer","href":"/SolidUI-Website/zh-CN/community/contribution_guide/become_committer","docId":"contribution_guide/become_committer"}]},{"type":"category","label":"Submit Guide","collapsible":true,"collapsed":true,"items":[{"type":"link","label":"Documentation Notice","href":"/SolidUI-Website/zh-CN/community/submit_guide/document","docId":"submit_guide/document"},{"type":"link","label":"Submit Code","href":"/SolidUI-Website/zh-CN/community/submit_guide/submit_code","docId":"submit_guide/submit_code"}]}]},"docs":{"contribution_guide/become_committer":{"id":"contribution_guide/become_committer","title":"Become committer","description":"Many thanks for contributing to the SolidUI project! Before contributing, please read the following guidelines carefully.","sidebar":"tutorialSidebar"},"submit_guide/document":{"id":"submit_guide/document","title":"Documentation Notice","description":"\x3c!--","sidebar":"tutorialSidebar"},"submit_guide/submit_code":{"id":"submit_guide/submit_code","title":"Submit Code","description":"\x3c!--","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/3b209c05.f8fff2aa.js b/zh-CN/assets/js/3b209c05.f8fff2aa.js new file mode 100644 index 00000000..f25ae503 --- /dev/null +++ b/zh-CN/assets/js/3b209c05.f8fff2aa.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4159],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>m});var l=r(7294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,l)}return r}function o(e){for(var t=1;t=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(l=0;l=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=l.createContext({}),c=function(e){var t=l.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=c(e.components);return l.createElement(s.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},v=l.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,u=a(e,["components","mdxType","originalType","parentName"]),d=c(r),v=n,m=d["".concat(s,".").concat(v)]||d[v]||p[v]||i;return r?l.createElement(m,o(o({ref:t},u),{},{components:r})):l.createElement(m,o({ref:t},u))}));function m(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=v;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[d]="string"==typeof e?e:n,o[1]=a;for(var c=2;c{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var l=r(7462),n=(r(7294),r(3905));const i={id:"development-release",title:"\u9879\u76ee\u53d1\u7248\u6d41\u7a0b",sidebar_position:6},o="SolidUI\u9879\u76ee\u53d1\u7248\u6d41\u7a0b",a={unversionedId:"development/development-release",id:"development/development-release",title:"\u9879\u76ee\u53d1\u7248\u6d41\u7a0b",description:"\u6388\u6743",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/publishing-process.md",sourceDirName:"development",slug:"/development/development-release",permalink:"/SolidUI-Website/zh-CN/docs/development/development-release",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/publishing-process.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{id:"development-release",title:"\u9879\u76ee\u53d1\u7248\u6d41\u7a0b",sidebar_position:6},sidebar:"tutorialSidebar",previous:{title:"\u9879\u76ee\u5171\u5efa\u6d41\u7a0b",permalink:"/SolidUI-Website/zh-CN/docs/development/development-construction"},next:{title:"\u670d\u52a1\u7aef\u7f16\u8bd1",permalink:"/SolidUI-Website/zh-CN/docs/development/development-server"}},s={},c=[{value:"\u6388\u6743",id:"\u6388\u6743",level:2},{value:"\u7269\u6599\u5305",id:"\u7269\u6599\u5305",level:2},{value:"\u5206\u652f",id:"\u5206\u652f",level:3},{value:"\u57fa\u4e8e\u5f85\u53d1\u5e03\u7684\u5f00\u53d1\u5206\u652f\uff0c\u521b\u5efarelease-${release_version}-rcx\u5206\u652f",id:"\u57fa\u4e8e\u5f85\u53d1\u5e03\u7684\u5f00\u53d1\u5206\u652f\u521b\u5efarelease-release_version-rcx\u5206\u652f",level:3},{value:"tag",id:"tag",level:3},{value:"clone\u5bf9\u5e94\u7684release\u5206\u652f\u5230\u672c\u5730",id:"clone\u5bf9\u5e94\u7684release\u5206\u652f\u5230\u672c\u5730",level:3},{value:"\u7248\u672c\u53f7\u786e\u8ba4",id:"\u7248\u672c\u53f7\u786e\u8ba4",level:2},{value:"\u9a8c\u8bc1\u7269\u6599\u5305",id:"\u9a8c\u8bc1\u7269\u6599\u5305",level:2},{value:"\u53d1\u8d77\u6295\u7968",id:"\u53d1\u8d77\u6295\u7968",level:2},{value:"\u793e\u533a\u6295\u7968\u9636\u6bb5",id:"\u793e\u533a\u6295\u7968\u9636\u6bb5",level:3},{value:"\u5173\u95ed\u6295\u7968\u7ebf\u7a0b",id:"\u5173\u95ed\u6295\u7968\u7ebf\u7a0b",level:3},{value:"\u53d6\u6d88\u6295\u7968\uff08\u5982\u679c\u9700\u8981\u53d6\u6d88\uff09",id:"\u53d6\u6d88\u6295\u7968\u5982\u679c\u9700\u8981\u53d6\u6d88",level:3},{value:"\u5ba3\u5e03\u6295\u7968\u7ed3\u679c",id:"\u5ba3\u5e03\u6295\u7968\u7ed3\u679c",level:3},{value:"\u6b63\u5f0f\u53d1\u5e03",id:"\u6b63\u5f0f\u53d1\u5e03",level:2},{value:"GitHub \u7248\u672c\u521b\u5efa",id:"github-\u7248\u672c\u521b\u5efa",level:3}],u={toc:c},d="wrapper";function p(e){let{components:t,...r}=e;return(0,n.kt)(d,(0,l.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"solidui\u9879\u76ee\u53d1\u7248\u6d41\u7a0b"},"SolidUI\u9879\u76ee\u53d1\u7248\u6d41\u7a0b"),(0,n.kt)("h2",{id:"\u6388\u6743"},"\u6388\u6743"),(0,n.kt)("p",null,"\u73b0\u5728\u90fd\u662fPMC\u6210\u5458\u53d1\u8d77\u53d1\u7248\u6d41\u7a0b\uff0c\u6709\u53d1\u7248\u672c\u6743\u9650\u3002"),(0,n.kt)("h2",{id:"\u7269\u6599\u5305"},"\u7269\u6599\u5305"),(0,n.kt)("h3",{id:"\u5206\u652f"},"\u5206\u652f"),(0,n.kt)("p",null,"\u4ecedev\u5206\u652f\u4f5c\u4e3a\u5f85\u53d1\u5e03\u5206\u652f\uff0c\u5982\u73b0\u5728\u8981\u53d1\u5e03${release_version}\u7248\u672c\uff0c\u5219\u4ece\u5f85\u53d1\u5e03\u5206\u652f\u62c9\u53d6\u65b0\u5206\u652frelease-${release_version}-${condition_version}\uff0c \u6b64\u540e\u6240\u6709\u64cd\u4f5c\u90fd\u5728release-${release_version}-${condition_version}\u5206\u652f\u4e0a\u8fdb\u884c\u3002"),(0,n.kt)("h3",{id:"\u57fa\u4e8e\u5f85\u53d1\u5e03\u7684\u5f00\u53d1\u5206\u652f\u521b\u5efarelease-release_version-rcx\u5206\u652f"},"\u57fa\u4e8e\u5f85\u53d1\u5e03\u7684\u5f00\u53d1\u5206\u652f\uff0c\u521b\u5efarelease-${release_version}-rcx\u5206\u652f"),(0,n.kt)("p",null,"\u5982\u5f53\u524d\u5f00\u53d1\u7684\u6e90\u7801\u5206\u652f\u4e3adev\uff0c\u9700\u8981\u53d1\u5e030.1.0\u7684\u7248\u672c\uff0c\u521b\u5efa\u5206\u652f\uff1arelease-0.1.0-rc1"),(0,n.kt)("h3",{id:"tag"},"tag"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre"},'git tag -a release-0.1.0-rc1 -m "release 0.1.0-rc1"\ngit push origin release-0.1.0-rc1\n')),(0,n.kt)("h3",{id:"clone\u5bf9\u5e94\u7684release\u5206\u652f\u5230\u672c\u5730"},"clone\u5bf9\u5e94\u7684release\u5206\u652f\u5230\u672c\u5730"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell"},"#-b release-0.1.0-rc1 \u6307\u5b9aclone\u5206\u652f -c(config) \u6307\u5b9a\u4f7f\u7528\u7684\u914d\u7f6e core.autocrlf=false \u5173\u95ed\u81ea\u52a8\u6362\u884c\u7b26\u7684\u8f6c\u6362\ngit clone -b release-0.1.0-rc1 -c core.autocrlf=false git@github.com:CloudOrc/SolidUI.git \n")),(0,n.kt)("h2",{id:"\u7248\u672c\u53f7\u786e\u8ba4"},"\u7248\u672c\u53f7\u786e\u8ba4"),(0,n.kt)("h2",{id:"\u9a8c\u8bc1\u7269\u6599\u5305"},"\u9a8c\u8bc1\u7269\u6599\u5305"),(0,n.kt)("p",null,"\u51c6\u5907\u7684\u7269\u6599\u6700\u597d\u5728window\u548c\u7c7bunix\u7cfb\u7edf\u4e2d\u90fd\u8fdb\u884c\u9a8c\u8bc1\uff0c\u907f\u514d\u7cfb\u7edf\u517c\u5bb9\u95ee\u9898 \u5982\u6362\u884c\u7b26\u95ee\u9898"),(0,n.kt)("h2",{id:"\u53d1\u8d77\u6295\u7968"},"\u53d1\u8d77\u6295\u7968"),(0,n.kt)("h3",{id:"\u793e\u533a\u6295\u7968\u9636\u6bb5"},"\u793e\u533a\u6295\u7968\u9636\u6bb5"),(0,n.kt)("p",null,"issue \u53d1\u8d77\u6295\u7968\uff0cPMC\u9700\u8981\u5148\u6309\u7167\u6587\u6863\u68c0\u67e5\u7248\u672c\u7684\u6b63\u786e\u6027\uff0c\u7136\u540e\u518d\u8fdb\u884c\u6295\u7968\u3002 \u81f3\u5c11\u7edf\u8ba1\u52303\u4e2a+1 PMC member \u7968\u540e\uff0c\u624d\u80fd\u7ed3\u675f\u6295\u7968\u3002"),(0,n.kt)("h3",{id:"\u5173\u95ed\u6295\u7968\u7ebf\u7a0b"},"\u5173\u95ed\u6295\u7968\u7ebf\u7a0b"),(0,n.kt)("p",null,"\u5982\u679c\u6295\u7968\u5df2\u8fbe\u5230\u6240\u9700\u7968\u6570\u540e\uff0c\u8fdb\u884c\u7ed3\u679c\u7edf\u8ba1\u524d\uff0c\u9700\u8981\u76f4\u63a5\u56de\u590d\u6295\u7968\u90ae\u4ef6\uff0c\u8bf4\u660e\u5173\u95ed\u672c\u6b21\u6295\u7968\u7ebf\u7a0b\u3002"),(0,n.kt)("h3",{id:"\u53d6\u6d88\u6295\u7968\u5982\u679c\u9700\u8981\u53d6\u6d88"},"\u53d6\u6d88\u6295\u7968\uff08\u5982\u679c\u9700\u8981\u53d6\u6d88\uff09"),(0,n.kt)("p",null,"\u5982\u679c\u53cd\u9988\u4e86\u4e00\u4e9b\u4e25\u91cd\u95ee\u9898\uff0c\u9700\u8981\u4fee\u590d\u540e\uff0c\u91cd\u65b0\u53d1\u5e03\uff0c\u5219\u9700\u8981\u53d6\u6d88\u6295\u7968\uff0c\u53d1\u5e03\u7ecf\u7406\u9700\u8981\u65b0\u8d77\u53d6\u6d88\u6295\u7968issue\u5e76\u8fdb\u884c\u8bf4\u660e\u3002"),(0,n.kt)("h3",{id:"\u5ba3\u5e03\u6295\u7968\u7ed3\u679c"},"\u5ba3\u5e03\u6295\u7968\u7ed3\u679c"),(0,n.kt)("p",null,"issue \u516c\u5e03\u7ed3\u679c"),(0,n.kt)("h2",{id:"\u6b63\u5f0f\u53d1\u5e03"},"\u6b63\u5f0f\u53d1\u5e03"),(0,n.kt)("h3",{id:"github-\u7248\u672c\u521b\u5efa"},"GitHub \u7248\u672c\u521b\u5efa"),(0,n.kt)("p",null,"\u8fdb\u5165\u5230\u521b\u5efa\u9875\u9762 ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/releases/new"},"https://github.com/CloudOrc/SolidUI/releases/new")," \u57fa\u4e8e\u4e4b\u524dSolidUI-0.1.0-rc1\u5206\u652f\u521b\u5efa\u540d\u4e3a0.1.0\u7684tag\uff0c \u586b\u5199\u6807\u9898SolidUI Release-0.1.0\uff0c\u5c06\u8be5\u7248\u672c\u7684release notes \u5199\u5165"),(0,n.kt)("p",null,"\u68c0\u67e5"),(0,n.kt)("p",null,"\u5408\u5e76${release_version}-RC\u5206\u652f\u5230master\u5206\u652f(\u5982\u679c\u672a\u5408\u5e76)"))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/44c1be81.a7c1055b.js b/zh-CN/assets/js/44c1be81.a7c1055b.js new file mode 100644 index 00000000..bbb0fb35 --- /dev/null +++ b/zh-CN/assets/js/44c1be81.a7c1055b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4003],{4553:s=>{s.exports=JSON.parse('{"label":"stable-diffusion","permalink":"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion","allTagsPath":"/SolidUI-Website/zh-CN/blog/tags","count":6}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/4687a2fe.89d866f9.js b/zh-CN/assets/js/4687a2fe.89d866f9.js new file mode 100644 index 00000000..175f9238 --- /dev/null +++ b/zh-CN/assets/js/4687a2fe.89d866f9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4656],{3905:(e,t,o)=>{o.d(t,{Zo:()=>c,kt:()=>h});var i=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,i)}return o}function a(e){for(var t=1;t=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var s=i.createContext({}),u=function(e){var t=i.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},c=function(e){var t=u(e.components);return i.createElement(s.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var o=e.components,n=e.mdxType,r=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=u(o),m=n,h=d["".concat(s,".").concat(m)]||d[m]||p[m]||r;return o?i.createElement(h,a(a({ref:t},c),{},{components:o})):i.createElement(h,a({ref:t},c))}));function h(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=o.length,a=new Array(r);a[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:n,a[1]=l;for(var u=2;u{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>u});var i=o(7462),n=(o(7294),o(3905));const r={title:"SolidUI Community - Official Website Introduction",date:new Date("2023-09-05T00:00:00.000Z"),tags:["SolidUI","AI","stable-diffusion"]},a=void 0,l={permalink:"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-Official-Website-Introduction.md",source:"@site/blog/2023-09-05-Official-Website-Introduction.md",title:"SolidUI Community - Official Website Introduction",description:"Background",date:"2023-09-05T00:00:00.000Z",formattedDate:"2023\u5e749\u67085\u65e5",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{label:"AI",permalink:"/SolidUI-Website/zh-CN/blog/tags/ai"},{label:"stable-diffusion",permalink:"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],readingTime:4.87,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI Community - Official Website Introduction",date:"2023-09-05T00:00:00.000Z",tags:["SolidUI","AI","stable-diffusion"]},prevItem:{title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",permalink:"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction"},nextItem:{title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",permalink:"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis"}},s={authorsImageUrls:[]},u=[{value:"Background",id:"background",level:2},{value:"Introduction",id:"introduction",level:2},{value:"How to Contribute",id:"how-to-contribute",level:2},{value:"Example",id:"example",level:3},{value:"Conclusion",id:"conclusion",level:2},{value:"SolidUI-Website Contributors",id:"solidui-website-contributors",level:2},{value:"Acknowledgments",id:"acknowledgments",level:2},{value:"How to Become a Contributor",id:"how-to-become-a-contributor",level:2}],c={toc:u},d="wrapper";function p(e){let{components:t,...o}=e;return(0,n.kt)(d,(0,i.Z)({},c,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"background"},"Background"),(0,n.kt)("p",null,"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation."),(0,n.kt)("p",null,"Project link: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Project mirror link: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Community official website: ",(0,n.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,n.kt)("p",null,"Official website project address\uff1a",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI-Website"},"https://github.com/CloudOrc/SolidUI-Website")),(0,n.kt)("h2",{id:"introduction"},"Introduction"),(0,n.kt)("p",null,"The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Document:")," This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Download:")," Users can download the latest version of SolidUI here."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Releases:")," The release records of SolidUI can be found here, where users can view all version release and update information."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Community:")," This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Code of conduct:")," This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Become A Committer:")," A page for developers to submit code or become project contributors."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Documentation Notice:")," Notices or updates about SolidUI's documentation."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Submit Code:")," A page for submitting code where users can submit their own code for the SolidUI project."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Team:")," Page introducing the SolidUI team members."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Users:")," A page showcasing SolidUI users or customers, thanking partners for their participation."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Our Users:")," A page likely introducing SolidUI's user groups."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Blog:")," The SolidUI blog, where users can read the latest articles about SolidUI.\nOfficial website: ",(0,n.kt)("a",{parentName:"li",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/"))),(0,n.kt)("p",null,"Official website project address\uff1a",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI-Website"},"https://github.com/CloudOrc/SolidUI-Website")),(0,n.kt)("h2",{id:"how-to-contribute"},"How to Contribute"),(0,n.kt)("p",null,"Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch."),(0,n.kt)("h3",{id:"example"},"Example"),(0,n.kt)("p",null,"For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization."),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Submit an Issue")),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"First, visit the main page of the SolidUI-Website project."),(0,n.kt)("li",{parentName:"ol"},'In the top menu bar of the project, click "Issues".'),(0,n.kt)("li",{parentName:"ol"},'Click the "New issue" button in the upper right corner.'),(0,n.kt)("li",{parentName:"ol"},"Enter the title and description of your Issue on the page that appears."),(0,n.kt)("li",{parentName:"ol"},'When you\'re done, click "Submit new issue".\n',(0,n.kt)("strong",{parentName:"li"},"Submit a Pull Request"))),(0,n.kt)("p",null,"Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},'On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.'),(0,n.kt)("li",{parentName:"ol"},'In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.'),(0,n.kt)("li",{parentName:"ol"},"Make the required changes on your branch."),(0,n.kt)("li",{parentName:"ol"},"When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project."),(0,n.kt)("li",{parentName:"ol"},'Click "Pull requests", then click "New pull request".'),(0,n.kt)("li",{parentName:"ol"},'Click "compare across forks" and choose your fork and your "dev" branch.'),(0,n.kt)("li",{parentName:"ol"},'Confirm your changes, then click "Create pull request".'),(0,n.kt)("li",{parentName:"ol"},'Provide a title and description for your PR on the opened page, then click "Create pull request".')),(0,n.kt)("h2",{id:"conclusion"},"Conclusion"),(0,n.kt)("p",null,"Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project."),(0,n.kt)("p",null,"We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing."),(0,n.kt)("p",null,"Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project."),(0,n.kt)("p",null,"Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI."),(0,n.kt)("h2",{id:"solidui-website-contributors"},"SolidUI-Website Contributors"),(0,n.kt)("p",null,"The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"dlimeng"),(0,n.kt)("li",{parentName:"ul"},"15100399015"),(0,n.kt)("li",{parentName:"ul"},"limingoo")),(0,n.kt)("h2",{id:"acknowledgments"},"Acknowledgments"),(0,n.kt)("p",null,"Thanks to the streampark-website for providing framework support."),(0,n.kt)("h2",{id:"how-to-become-a-contributor"},"How to Become a Contributor"),(0,n.kt)("p",null,"Here are some ways to contribute to the SolidUI community."),(0,n.kt)("p",null,"Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("p",null,"Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("p",null,"Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("p",null,"Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc."),(0,n.kt)("p",null,"Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/4972.b4472444.js b/zh-CN/assets/js/4972.b4472444.js new file mode 100644 index 00000000..89bb23fa --- /dev/null +++ b/zh-CN/assets/js/4972.b4472444.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4972],{4972:(e,t,n)=>{n.r(t),n.d(t,{default:()=>r});var a=n(7294),l=n(5999),o=n(1944),i=n(179);function r(){return a.createElement(a.Fragment,null,a.createElement(o.d,{title:(0,l.I)({id:"theme.NotFound.title",message:"Page Not Found"})}),a.createElement(i.Z,null,a.createElement("main",{className:"container margin-vert--xl"},a.createElement("div",{className:"row"},a.createElement("div",{className:"col col--6 col--offset-3"},a.createElement("h1",{className:"hero__title"},a.createElement(l.Z,{id:"theme.NotFound.title",description:"The title of the 404 page"},"Page Not Found")),a.createElement("p",null,a.createElement(l.Z,{id:"theme.NotFound.p1",description:"The first paragraph of the 404 page"},"We could not find what you were looking for.")),a.createElement("p",null,a.createElement(l.Z,{id:"theme.NotFound.p2",description:"The 2nd paragraph of the 404 page"},"Please contact the owner of the site that linked you to the original URL and let them know their link is broken.")))))))}}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/4d9f66ec.5fae8d96.js b/zh-CN/assets/js/4d9f66ec.5fae8d96.js new file mode 100644 index 00000000..e0642d14 --- /dev/null +++ b/zh-CN/assets/js/4d9f66ec.5fae8d96.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2908],{3905:(e,t,l)=>{l.d(t,{Zo:()=>d,kt:()=>f});var n=l(7294);function r(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function a(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,n)}return l}function i(e){for(var t=1;t=0||(r[l]=e[l]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(r[l]=e[l])}return r}var u=n.createContext({}),p=function(e){var t=n.useContext(u),l=t;return e&&(l="function"==typeof e?e(t):i(i({},t),e)),l},d=function(e){var t=p(e.components);return n.createElement(u.Provider,{value:t},e.children)},c="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var l=e.components,r=e.mdxType,a=e.originalType,u=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),c=p(l),m=r,f=c["".concat(u,".").concat(m)]||c[m]||s[m]||a;return l?n.createElement(f,i(i({ref:t},d),{},{components:l})):n.createElement(f,i({ref:t},d))}));function f(e,t){var l=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=l.length,i=new Array(a);i[0]=m;var o={};for(var u in t)hasOwnProperty.call(t,u)&&(o[u]=t[u]);o.originalType=e,o[c]="string"==typeof e?e:r,i[1]=o;for(var p=2;p{l.r(t),l.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>s,frontMatter:()=>a,metadata:()=>o,toc:()=>p});var n=l(7462),r=(l(7294),l(3905));const a={title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",date:new Date("2023-07-01T00:00:00.000Z"),tags:["SolidUI","AIGC","stable-diffusion"]},i=void 0,o={permalink:"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-01-function-explanation-0.1.0.md",source:"@site/blog/2023-07-01-function-explanation-0.1.0.md",title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",description:"\u80cc\u666f",date:"2023-07-01T00:00:00.000Z",formattedDate:"2023\u5e747\u67081\u65e5",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{label:"AIGC",permalink:"/SolidUI-Website/zh-CN/blog/tags/aigc"},{label:"stable-diffusion",permalink:"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],readingTime:5.475,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",date:"2023-07-01T00:00:00.000Z",tags:["SolidUI","AIGC","stable-diffusion"]},prevItem:{title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",permalink:"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis"}},u={authorsImageUrls:[]},p=[{value:"\u80cc\u666f",id:"\u80cc\u666f",level:2},{value:"\u9879\u76ee\u540d\u5b57\u542b\u4e49",id:"\u9879\u76ee\u540d\u5b57\u542b\u4e49",level:2},{value:"\u767b\u5f55\u9875\u542b\u4e49",id:"\u767b\u5f55\u9875\u542b\u4e49",level:2},{value:"\u4ea7\u54c1\u601d\u7ef4",id:"\u4ea7\u54c1\u601d\u7ef4",level:2},{value:"0.1.0 \u7248\u672c\u5185\u6db5",id:"010-\u7248\u672c\u5185\u6db5",level:2},{value:"\u529f\u80fd\u5217\u8868",id:"\u529f\u80fd\u5217\u8868",level:2},{value:"\u6570\u636e\u6e90\u7ba1\u7406",id:"\u6570\u636e\u6e90\u7ba1\u7406",level:3},{value:"\u9879\u76ee\u7ba1\u7406",id:"\u9879\u76ee\u7ba1\u7406",level:3},{value:"\u8bbe\u8ba1\u9875\u9762",id:"\u8bbe\u8ba1\u9875\u9762",level:3}],d={toc:p},c="wrapper";function s(e){let{components:t,...a}=e;return(0,r.kt)(c,(0,n.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"\u80cc\u666f"},"\u80cc\u666f"),(0,r.kt)("p",null,"\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,r.kt)("h2",{id:"\u9879\u76ee\u540d\u5b57\u542b\u4e49"},"\u9879\u76ee\u540d\u5b57\u542b\u4e49"),(0,r.kt)("p",null,"SolidUI Solid\u8868\u793a\u7acb\u65b9\u51e0\u4f55\uff0cUI\u8868\u793a\u8bbe\u8ba1\u4ea4\u4e92\uff0c\u4ee3\u8868\u591a\u7ef4\u751f\u6210\u8bbe\u8ba1\u3002"),(0,r.kt)("h2",{id:"\u767b\u5f55\u9875\u542b\u4e49"},"\u767b\u5f55\u9875\u542b\u4e49"),(0,r.kt)("p",null,"\u767b\u5f55\u9875\u7684\u542b\u4e49\uff0clogo \u7528\u773c\u955c\u7684\u5f62\u72b6\uff0c\u8868\u793a\u89c2\u5bdf\u4e16\u754c \uff0c\u80cc\u666f\u90a3\u4e9b\u7ebf\u6761\u662f\u901a\u8fc7\u773c\u775b\u89c2\u770b\u5f97\u51fa\u56fe\u5f62\uff0c\u6df1\u5c42\u610f\u601d\u8868\u793a\u521b\u610f\u751f\u6210\u4e16\u754c\u3002\n",(0,r.kt)("img",{alt:"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0",src:l(1956).Z,width:"3552",height:"1848"})),(0,r.kt)("h2",{id:"\u4ea7\u54c1\u601d\u7ef4"},"\u4ea7\u54c1\u601d\u7ef4"),(0,r.kt)("p",null,"\u201c\u5c11\u5c31\u662f\u591a\u201d"),(0,r.kt)("p",null,"\u5c11\u5c31\u662f\u591a\uff0c\u610f\u601d\u662f\u4e0d\u65ad\u7cbe\u7b80\u65b9\u6848\u91cc\u7684\u5143\u7d20\uff0c\u53ea\u7559\u4e0b\u6709\u4ef7\u503c\u7684\uff1b\u5176\u4f59\u4e0d\u91cd\u8981\u7684\uff0c\u8981\u4e48\u76f4\u63a5\u5220\u6389\uff0c\u8981\u4e48\u4ece\u754c\u9762\u91cc\u9690\u85cf\u8d77\u6765\u3002\u5bf9\u4e8e\u90a3\u4e9b\u4e0d\u5e38\u7528\u7684\u64cd\u4f5c\uff0c\u9690\u85cf\u4e4b\u540e\uff0c\u5373\u4f7f\u7528\u6237\u591a\u8fdb\u884c\u51e0\u6b65\u64cd\u4f5c\u4e5f\u6ca1\u6709\u5173\u7cfb\u3002"),(0,r.kt)("h2",{id:"010-\u7248\u672c\u5185\u6db5"},"0.1.0 \u7248\u672c\u5185\u6db5"),(0,r.kt)("p",null,"\u8fd9\u4e2a\u7248\u672c\u4f5c\u4e3a\u7b2c\u4e00\u4e2a\u7248\u672c\uff0c\u8bbe\u60f3\u4f5c\u4e3a\u5e94\u7528\u6846\u67b6\uff0c\u5177\u6709\u901a\u7528\u53ef\u89c6\u5316\u6846\u67b6\u80fd\u529b\uff0c\u4e0d\u56e0\u4e00\u4e9b\u6570\u636e\u7ba1\u7406\uff0cBI\u7b49\u4e00\u4e9b\u65e7\u601d\u7ef4\u5f71\u54cd\uff0c\u53ea\u505a\u5e94\u7528\u6846\u67b6\uff0c\u6240\u4ee5\u5f88\u591a\u4e1c\u897f\u90fd\u88ab\u53bb\u9664\u4e86\uff0cAI\u751f\u6210\u4f1a\u5f7b\u5e95\u6539\u53d8\u4f7f\u7528\u4e60\u60ef\u3002"),(0,r.kt)("h2",{id:"\u529f\u80fd\u5217\u8868"},"\u529f\u80fd\u5217\u8868"),(0,r.kt)("p",null,"\u4e0b\u9762\u4ecb\u7ecd\u4e0b\u6574\u4e2a\u7b2c\u4e00\u4e2a\u7248\u672c\u529f\u80fd\u5217\u8868\u3002"),(0,r.kt)("h3",{id:"\u6570\u636e\u6e90\u7ba1\u7406"},"\u6570\u636e\u6e90\u7ba1\u7406"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u663e\u793a\u6570\u636e\uff1a\u663e\u793a\u6240\u6709\u6570\u636e\u6e90\uff0c\u5305\u62ec\u5e8f\u53f7\uff0c\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u7528\u6237\uff0c\u63cf\u8ff0\u4fe1\u606f\u548c\u64cd\u4f5c\u6309\u94ae\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff1a\u8f93\u5165\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\u540e\uff0c\u53ef\u4ee5*\n\u6210\u529f\u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u663e\u793a\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0Doris\u6570\u636e\u6e90\uff1a\u8f93\u5165\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\u540e\uff0c\u53ef\u4ee5\u6210\u529f\u6dfb\u52a0Doris\u6570\u636e\u6e90\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u663e\u793a\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u7f16\u8f91\u6570\u636e\u6e90\uff1a\u53ef\u4ee5\u7f16\u8f91\u6570\u636e\u6e90\u7684\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u67e5\u770b\u7f16\u8f91\u540e\u7684\u4fe1\u606f\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u5355\u884c\u5220\u9664\u6570\u636e\u6e90\uff1a\u901a\u8fc7\u8f93\u5165\u8981\u5220\u9664\u7684\u6570\u636e\u6e90\u540d\u79f0\uff0c\u53ef\u4ee5\u6210\u529f\u5220\u9664\u8be5\u6570\u636e\u6e90\uff0c\u5e76\u4e14\u8be5\u6570\u636e\u6e90\u4e0d\u518d\u663e\u793a\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6570\u636e\u6e90\u8fc7\u671f\uff1a\u53ef\u4ee5\u5c06\u9009\u4e2d\u7684\u6570\u636e\u6e90\u8bbe\u7f6e\u4e3a\u8fc7\u671f\u72b6\u6001\u3002\n",(0,r.kt)("img",{alt:"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0",src:l(4902).Z,width:"3226",height:"528"}))),(0,r.kt)("h3",{id:"\u9879\u76ee\u7ba1\u7406"},"\u9879\u76ee\u7ba1\u7406"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0\u9879\u76ee\uff1a\u8f93\u5165\u9879\u76ee\u540d\u79f0\uff0c\u9879\u76ee\u63cf\u8ff0\uff0c\u9879\u76eeURL\u540e\uff0c\u53ef\u4ee5\u6210\u529f\u6dfb\u52a0\u9879\u76ee\uff0c\u5e76\u5728\u9879\u76ee\u5217\u8868\u4e2d\u663e\u793a\u65b0\u589e\u7684\u9879\u76ee\u4fe1\u606f\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u67e5\u8be2\u9879\u76ee\u5217\u8868\uff1a\u901a\u8fc7\u8f93\u5165\u9879\u76ee\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u8be2\u5e76\u8f93\u51fa\u9879\u76ee\u5217\u8868\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u7f16\u8f91\u9879\u76ee\u540d\uff1a\u53ef\u4ee5\u7f16\u8f91\u9879\u76ee\u540d\u79f0\uff0c\u5e76\u5728\u9879\u76ee\u5217\u8868\u4e2d\u67e5\u770b\u7f16\u8f91\u540e\u7684\u9879\u76ee\u4fe1\u606f\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u5220\u9664\u9879\u76ee\uff1a\u901a\u8fc7\u8f93\u5165\u8981\u5220\u9664\u7684\u9879\u76ee\u540d\u79f0\uff0c\u53ef\u4ee5\u6210\u529f\u5220\u9664\u8be5\u9879\u76ee\uff0c\u5e76\u4e14\u8be5\u9879\u76ee\u4e0d\u518d\u663e\u793a\u5728\u9879\u76ee\u5217\u8868\u4e2d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9879\u76ee\u9884\u89c8")),(0,r.kt)("h3",{id:"\u8bbe\u8ba1\u9875\u9762"},"\u8bbe\u8ba1\u9875\u9762"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u573a\u666f,\u589e\u52a0\uff0c\u4fee\u6539\uff0c\u5220\u9664\uff0c\u91cd\u547d\u540d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9875\uff0c\u589e\u52a0\uff0c\u4fee\u6539\uff0c\u5220\u9664\uff0c\u91cd\u547d\u540d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0\u56fe\u4f8b\uff1a\u5728\u6307\u5b9a\u573a\u666f\u548c\u9875\u4e0b\u6dfb\u52a0\u56fe\u4f8b\uff0c\u5e76\u4e3a\u5176\u547d\u540d\u3002\u521b\u5efa\u6210\u529f\u540e\uff0c\u6240\u5728\u9875\u4e2d\u663e\u793a\u5bf9\u5e94\u7684\u56fe\u4f8b\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97\uff1a\u5728\u6307\u5b9a\u573a\u666f\u3001\u9875\u548c\u56fe\u4f8b\u4e0b\uff0c\u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97\u3002\u6ed1\u7a97\u6253\u5f00\u6210\u529f\uff0c\u663e\u793a\u6570\u636e\u6e90\u7c7b\u578b\u3001\u6570\u636e\u6e90\u548cSQL\u8f93\u5165\u6846\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b\uff1a\u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b\uff08\u5982\u6570\u636e\u5e93\uff09\uff0c\u6210\u529f\u540e\u663e\u793a\u4e0e\u6240\u9009\u6570\u636e\u6e90\u7c7b\u578b\u76f8\u5173\u7684\u6570\u636e\u6e90\u9009\u9879\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9009\u62e9\u6570\u636e\u6e90\uff1a\u9009\u62e9\u7279\u5b9a\u7684\u6570\u636e\u6e90\uff08\u5982MySQL\u6570\u636e\u5e931\uff09\uff0c\u6210\u529f\u540e\u53ef\u4ee5\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\uff1a\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\u5e76\u6267\u884c\uff0c\u67f1\u5f62\u56fe\u6839\u636e\u67e5\u8be2\u8fd4\u56de\u7684\u6570\u636e\u8fdb\u884c\u7ed8\u5236\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u4fdd\u5b58\u9875\u9762\uff1a\u4fdd\u5b58\u5305\u62ec\u56fe\u4f8b\u548c\u5173\u8054\u6570\u636e\u8bbe\u7f6e\u5728\u5185\u7684\u9875\u9762\uff0c\u4ee5\u4fbf\u540e\u7eed\u67e5\u770b\u548c\u7f16\u8f91\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9884\u89c8\u573a\u666f\uff1a\u9884\u89c8\u6574\u4e2a\u573a\u666f\uff0c\u6309\u7167\u573a\u666f\u548c\u9875\u7684\u987a\u5e8f\u67e5\u770b\u5df2\u521b\u5efa\u7684\u56fe\u8868\u3002")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0",src:l(1647).Z,width:"3574",height:"1684"})))}s.isMDXComponent=!0},4902:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/datasource-45396a50f5aea7919f517e1d81456424.png"},1647:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/desgin-8fd0648dd93a1c3fd51cb54900ac2bcd.png"},1956:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/home-d64eb73b3f8144a5bd50d3b1fe12de55.png"}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/5525.05fdfb4c.js b/zh-CN/assets/js/5525.05fdfb4c.js new file mode 100644 index 00000000..5923d099 --- /dev/null +++ b/zh-CN/assets/js/5525.05fdfb4c.js @@ -0,0 +1 @@ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5525],{5525:()=>{}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/593d060f.b5dcad9b.js b/zh-CN/assets/js/593d060f.b5dcad9b.js new file mode 100644 index 00000000..da871880 --- /dev/null +++ b/zh-CN/assets/js/593d060f.b5dcad9b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7718],{3670:e=>{e.exports=JSON.parse('{"label":"AI","permalink":"/SolidUI-Website/zh-CN/blog/tags/ai","allTagsPath":"/SolidUI-Website/zh-CN/blog/tags","count":3}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/5dd90133.ccc6a563.js b/zh-CN/assets/js/5dd90133.ccc6a563.js new file mode 100644 index 00000000..bf8f2e3f --- /dev/null +++ b/zh-CN/assets/js/5dd90133.ccc6a563.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8968],{3905:(e,t,n)=>{n.d(t,{Zo:()=>s,kt:()=>m});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(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 d(e){for(var t=1;t=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=r.createContext({}),p=function(e){var t=r.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):d(d({},t),e)),n},s=function(e){var t=p(e.components);return r.createElement(l.Provider,{value:t},e.children)},_="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},c=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,s=a(e,["components","mdxType","originalType","parentName"]),_=p(n),c=o,m=_["".concat(l,".").concat(c)]||_[c]||u[c]||i;return n?r.createElement(m,d(d({ref:t},s),{},{components:n})):r.createElement(m,d({ref:t},s))}));function m(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,d=new Array(i);d[0]=c;var a={};for(var l in t)hasOwnProperty.call(t,l)&&(a[l]=t[l]);a.originalType=e,a[_]="string"==typeof e?e:o,d[1]=a;for(var p=2;p{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>p});var r=n(7462),o=(n(7294),n(3905));const i={id:"deployment-web",title:"\u524d\u7aef\u90e8\u7f72",sidebar_position:1},d="SolidUI \u524d\u7aef\u90e8\u7f72",a={unversionedId:"deployment/deployment-web",id:"deployment/deployment-web",title:"\u524d\u7aef\u90e8\u7f72",description:"1 \u51c6\u5907\u5de5\u4f5c",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/deployment-web.md",sourceDirName:"deployment",slug:"/deployment/deployment-web",permalink:"/SolidUI-Website/zh-CN/docs/deployment/deployment-web",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/deployment-web.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"deployment-web",title:"\u524d\u7aef\u90e8\u7f72",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"\u670d\u52a1\u7aef\u7f16\u8bd1",permalink:"/SolidUI-Website/zh-CN/docs/development/development-server"},next:{title:"Docker-Compose \u90e8\u7f72",permalink:"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker"}},l={},p=[{value:"1 \u51c6\u5907\u5de5\u4f5c",id:"1-\u51c6\u5907\u5de5\u4f5c",level:2},{value:"2 \u90e8\u7f72",id:"2-\u90e8\u7f72",level:2},{value:"2.1 \u81ea\u52a8\u5316\u90e8\u7f72(\u63a8\u8350)",id:"21-\u81ea\u52a8\u5316\u90e8\u7f72\u63a8\u8350",level:3},{value:"2.1.1 \u4fee\u6539\u914d\u7f6econfig.sh",id:"211-\u4fee\u6539\u914d\u7f6econfigsh",level:4},{value:"2.1.2 \u6267\u884c\u90e8\u7f72\u811a\u672c",id:"212-\u6267\u884c\u90e8\u7f72\u811a\u672c",level:4},{value:"2.2 \u624b\u52a8\u90e8\u7f72",id:"22-\u624b\u52a8\u90e8\u7f72",level:3},{value:"2.2.1 \u5b89\u88c5Nginx",id:"221-\u5b89\u88c5nginx",level:4},{value:"2.2.2 \u4fee\u6539\u914d\u7f6e\u6587\u4ef6",id:"222-\u4fee\u6539\u914d\u7f6e\u6587\u4ef6",level:4},{value:"2.2.3 \u8d44\u6e90\u90e8\u7f72",id:"223-\u8d44\u6e90\u90e8\u7f72",level:4},{value:"2.2.4 \u542f\u52a8\u670d\u52a1",id:"224--\u542f\u52a8\u670d\u52a1",level:4},{value:"3 \u767b\u5f55",id:"3-\u767b\u5f55",level:2},{value:"4 \u6ce8\u610f\u4e8b\u9879",id:"4-\u6ce8\u610f\u4e8b\u9879",level:2},{value:"5 \u5e38\u89c1\u95ee\u9898",id:"5-\u5e38\u89c1\u95ee\u9898",level:2},{value:"5.1 \u63a5\u53e3\u8d85\u65f6",id:"51-\u63a5\u53e3\u8d85\u65f6",level:3}],s={toc:p},_="wrapper";function u(e){let{components:t,...n}=e;return(0,o.kt)(_,(0,r.Z)({},s,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"solidui-\u524d\u7aef\u90e8\u7f72"},"SolidUI \u524d\u7aef\u90e8\u7f72"),(0,o.kt)("h2",{id:"1-\u51c6\u5907\u5de5\u4f5c"},"1 \u51c6\u5907\u5de5\u4f5c"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"\u65b9\u5f0f1\uff1a\u4ece\u5b98\u7f51\u4e0b\u8f7d\u5730\u5740: ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/releases"},"https://github.com/CloudOrc/SolidUI/releases")," \uff0c\u4e0b\u8f7d\u5bf9\u5e94\u7684\u5b89\u88c5\u5305\uff08\u6574\u4f53\u5b89\u88c5\u5305\uff09\u3002"),(0,o.kt)("li",{parentName:"ul"},"\u65b9\u5f0f2\uff1a\u6839\u636eSolidUI \u81ea\u884c\u7f16\u8bd1\u51fa\u9879\u76ee\u5b89\u88c5\u5305\u3002")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"tar -zxvf solidui-x.x.x-bin.tar.gz\n#\u524d\u7aef\u76ee\u5f55\ncd solidui-x.x.x/solidui-web\n")),(0,o.kt)("h2",{id:"2-\u90e8\u7f72"},"2 \u90e8\u7f72"),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"\u5206\u4e3a\u4e24\u79cd\u90e8\u7f72\u65b9\u5f0f\uff0c\u81ea\u52a8\u5316\u90e8\u7f72\u548c\u624b\u52a8\u90e8\u7f72")),(0,o.kt)("h3",{id:"21-\u81ea\u52a8\u5316\u90e8\u7f72\u63a8\u8350"},"2.1 \u81ea\u52a8\u5316\u90e8\u7f72(\u63a8\u8350)"),(0,o.kt)("h4",{id:"211-\u4fee\u6539\u914d\u7f6econfigsh"},"2.1.1 \u4fee\u6539\u914d\u7f6econfig.sh"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},'# solidui \u670d\u52a1\u5730\u5740\nsolidui_url="http://127.0.0.1:12345"\n# \u6a21\u578b\u540e\u7aef\u670d\u52a1\u5730\u5740\nsolidui_url_models="http://127.0.0.1:5110"\n# \u6a21\u578b\u5185\u6838\u540e\u7aef\u670d\u52a1\u5730\u5740\nsolidui_url_kernel="http://127.0.0.1:5010"\n# \u53ef\u4ee5\u914d\u7f6e\u4e3a\u5b89\u88c5\u673a\u5668\u7684ip \u4e5f\u53ef\u4ee5\u4f7f\u7528\u9ed8\u8ba4\u503c\nsolidui_ipaddr=127.0.0.1\n# \u8bbf\u95ee\u7ba1\u7406\u53f0\u7684\u7aef\u53e3\nsolidui_port=8099\n')),(0,o.kt)("h4",{id:"212-\u6267\u884c\u90e8\u7f72\u811a\u672c"},"2.1.2 \u6267\u884c\u90e8\u7f72\u811a\u672c"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"# nginx \u9700\u8981sudo\u6743\u9650\u8fdb\u884c\u5b89\u88c5\nsudo sh install.sh\n")),(0,o.kt)("p",null,"\u5b89\u88c5\u540e\uff0csolidui\u7684nginx\u914d\u7f6e\u6587\u4ef6\u9ed8\u8ba4\u662f \u5728",(0,o.kt)("inlineCode",{parentName:"p"},"/etc/nginx/conf.d/solidui.conf"),"\nnginx\u7684\u65e5\u5fd7\u6587\u4ef6\u5728 ",(0,o.kt)("inlineCode",{parentName:"p"},"/var/log/nginx/access.log")," \u548c",(0,o.kt)("inlineCode",{parentName:"p"},"/var/log/nginx/error.log"),"\n\u751f\u6210\u7684solidui\u7684nginx\u914d\u7f6e\u6587\u4ef6\u793a\u4f8b\u5982\u4e0b:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-nginx"},"server {\n listen 8099;\n server_name localhost;\n\n location / {\n root /opt/solidui/solidui-web/dist; # \u9759\u6001\u6587\u4ef6\u76ee\u5f55 \n index index.html index.html;\n }\n\n location /solidui {\n proxy_pass $solidui_url; # \u540e\u7aef SolidUI \u7684\u5730\u5740\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n\n location /solidui/models {\n proxy_pass $solidui_url_models; # modelui \u540e\u7aef\u5730\u5740\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n\n location /solidui/kernel {\n proxy_pass $solidui_url_kernel; # modelui kernel \u540e\u7aef\u5730\u5740\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n\n error_page 500 502 503 504 /50x.html;\n location = /50x.html {\n root /usr/share/nginx/html;\n }\n}\n")),(0,o.kt)("h3",{id:"22-\u624b\u52a8\u90e8\u7f72"},"2.2 \u624b\u52a8\u90e8\u7f72"),(0,o.kt)("h4",{id:"221-\u5b89\u88c5nginx"},"2.2.1 \u5b89\u88c5Nginx"),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"\u5982\u679c\u5df2\u7ecf\u5b89\u88c5\u8fc7nginx \u53ef\u4ee5\u8df3\u8fc7")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"sudo yum install nginx -y\n")),(0,o.kt)("h4",{id:"222-\u4fee\u6539\u914d\u7f6e\u6587\u4ef6"},"2.2.2 \u4fee\u6539\u914d\u7f6e\u6587\u4ef6"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"sudo vi /etc/nginx/conf.d/solidui.conf\n")),(0,o.kt)("p",null,"\u6dfb\u52a0\u5982\u4e0b\u5185\u5bb9\uff1a"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"server {\n listen 8099;# \u8bbf\u95ee\u7aef\u53e3\n server_name localhost;\n #charset koi8-r;\n #access_log /var/log/nginx/host.access.log main;\n location / {\n root /opt/solidui/solidui-web/dist; # \u524d\u7aef\u5305\u89e3\u538b\u7684\u76ee\u5f55\n index index.html index.html;\n }\n\n location /solidui {\n proxy_pass http://127.0.0.1:12345; # solidui \u670d\u52a1\u5730\u5740\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n\n location /solidui/models {\n proxy_pass http://127.0.0.1:5110; # modelui \u540e\u7aef\u5730\u5740\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n\n location /solidui/kernel {\n proxy_pass http://127.0.0.1:5010; # modelui kernel \u540e\u7aef\u5730\u5740\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header x_real_ipP $remote_addr;\n proxy_set_header remote_addr $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n proxy_http_version 1.1;\n proxy_connect_timeout 4s;\n proxy_read_timeout 600s;\n proxy_send_timeout 12s;\n proxy_set_header Upgrade $http_upgrade;\n proxy_set_header Connection upgrade;\n }\n \n error_page 500 502 503 504 /50x.html;\n location = /50x.html {\n root /usr/share/nginx/html;\n }\n}\n")),(0,o.kt)("h4",{id:"223-\u8d44\u6e90\u90e8\u7f72"},"2.2.3 \u8d44\u6e90\u90e8\u7f72"),(0,o.kt)("p",null,"\u5047\u8bbe\u524d\u7aef",(0,o.kt)("inlineCode",{parentName:"p"},"npm run build"),"\u540e\u7684\u4ea7\u7269\u8def\u5f84\u662f:",(0,o.kt)("inlineCode",{parentName:"p"},"/opt/solidui/solidui-web/dist")),(0,o.kt)("h4",{id:"224--\u542f\u52a8\u670d\u52a1"},"2.2.4 \u542f\u52a8\u670d\u52a1"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"sudo systemctl restart nginx\n")),(0,o.kt)("h2",{id:"3-\u767b\u5f55"},"3 \u767b\u5f55"),(0,o.kt)("p",null,"\u6d4f\u89c8\u5668\u8bbf\u95ee",(0,o.kt)("inlineCode",{parentName:"p"},"http://solidui_ipaddr:solidui_port")," \u5176\u4e2dsolidui_port\u4e3aconfig.sh\u91cc\u9762\u914d\u7f6e\u7684\u7aef\u53e3\uff0csolidui_ipaddr\u4e3a\u5b89\u88c5\u673a\u5668\u7684IP\uff0c\u9ed8\u8ba4\u7684\u8d26\u53f7\u5bc6\u7801\u662f\uff1a",(0,o.kt)("inlineCode",{parentName:"p"},"admin/admin")),(0,o.kt)("h2",{id:"4-\u6ce8\u610f\u4e8b\u9879"},"4 \u6ce8\u610f\u4e8b\u9879"),(0,o.kt)("p",null,"\u5982\u679c\u9700\u8981\u4fee\u6539\u7aef\u53e3\u6216\u5219\u9759\u6001\u8d44\u6e90\u76ee\u5f55\u7b49\uff0c\u8bf7\u4fee\u6539",(0,o.kt)("inlineCode",{parentName:"p"},"/etc/nginx/conf.d/solidui.conf")," \u6587\u4ef6\u540e\u6267\u884c ",(0,o.kt)("inlineCode",{parentName:"p"},"sudo nginx -s reload")," \u547d\u4ee4"),(0,o.kt)("admonition",{title:"\u6ce8\u610f",type:"caution"},(0,o.kt)("ul",{parentName:"admonition"},(0,o.kt)("li",{parentName:"ul"},"\u67e5\u770bnginx\u662f\u5426\u6b63\u5e38\u542f\u52a8\uff1a\u68c0\u67e5nginx\u8fdb\u7a0b\u662f\u5426\u5b58\u5728 ",(0,o.kt)("inlineCode",{parentName:"li"},"ps -ef |grep nginx")," "),(0,o.kt)("li",{parentName:"ul"},"\u68c0\u67e5nginx\u7684\u914d\u7f6e\u662f\u5426\u6b63\u786e ",(0,o.kt)("inlineCode",{parentName:"li"},"sudo nginx -T ")," "),(0,o.kt)("li",{parentName:"ul"},"\u5982\u679c\u7aef\u53e3\u88ab\u5360\u7528\uff0c\u53ef\u4ee5\u4fee\u6539nginx\u542f\u52a8\u7684\u670d\u52a1\u7aef\u53e3",(0,o.kt)("inlineCode",{parentName:"li"},"/etc/nginx/conf.d/solidui.conf"),"listen\u7aef\u53e3\u503c\uff0c\u4fdd\u5b58\u540e\u91cd\u65b0\u542f\u52a8"))),(0,o.kt)("h2",{id:"5-\u5e38\u89c1\u95ee\u9898"},"5 \u5e38\u89c1\u95ee\u9898"),(0,o.kt)("h3",{id:"51-\u63a5\u53e3\u8d85\u65f6"},"5.1 \u63a5\u53e3\u8d85\u65f6"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"sudo vi /etc/nginx/conf.d/solidui.conf\n")),(0,o.kt)("p",null,"\u66f4\u6539\u63a5\u53e3\u8d85\u65f6\u65f6\u95f4"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"proxy_read_timeout 600s\n")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/5e10b459.3a3c3554.js b/zh-CN/assets/js/5e10b459.3a3c3554.js new file mode 100644 index 00000000..f14e1bc5 --- /dev/null +++ b/zh-CN/assets/js/5e10b459.3a3c3554.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7917],{1902:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/zh-CN/blog/page/2","page":2,"postsPerPage":3,"totalPages":2,"totalCount":6,"previousPage":"/SolidUI-Website/zh-CN/blog","blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/6048.fb29faea.js b/zh-CN/assets/js/6048.fb29faea.js new file mode 100644 index 00000000..af72dfc2 --- /dev/null +++ b/zh-CN/assets/js/6048.fb29faea.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[6048],{9058:(e,t,a)=>{a.d(t,{Z:()=>h});var l=a(7294),r=a(6010),n=a(179),o=a(7524),s=a(9960),i=a(5999);const m={sidebar:"sidebar_re4s",sidebarItemTitle:"sidebarItemTitle_pO2u",sidebarItemList:"sidebarItemList_Yudw",sidebarItem:"sidebarItem__DBe",sidebarItemLink:"sidebarItemLink_mo7H",sidebarItemLinkActive:"sidebarItemLinkActive_I1ZP"};function c(e){let{sidebar:t}=e;return l.createElement("aside",{className:"col col--3"},l.createElement("nav",{className:(0,r.Z)(m.sidebar,"thin-scrollbar"),"aria-label":(0,i.I)({id:"theme.blog.sidebar.navAriaLabel",message:"Blog recent posts navigation",description:"The ARIA label for recent posts in the blog sidebar"})},l.createElement("div",{className:(0,r.Z)(m.sidebarItemTitle,"margin-bottom--md")},t.title),l.createElement("ul",{className:(0,r.Z)(m.sidebarItemList,"clean-list")},t.items.map((e=>l.createElement("li",{key:e.permalink,className:m.sidebarItem},l.createElement(s.Z,{isNavLink:!0,to:e.permalink,className:m.sidebarItemLink,activeClassName:m.sidebarItemLinkActive},e.title)))))))}var u=a(3102);function d(e){let{sidebar:t}=e;return l.createElement("ul",{className:"menu__list"},t.items.map((e=>l.createElement("li",{key:e.permalink,className:"menu__list-item"},l.createElement(s.Z,{isNavLink:!0,to:e.permalink,className:"menu__link",activeClassName:"menu__link--active"},e.title)))))}function g(e){return l.createElement(u.Zo,{component:d,props:e})}function p(e){let{sidebar:t}=e;const a=(0,o.i)();return t?.items.length?"mobile"===a?l.createElement(g,{sidebar:t}):l.createElement(c,{sidebar:t}):null}function h(e){const{sidebar:t,toc:a,children:o,...s}=e,i=t&&t.items.length>0;return l.createElement(n.Z,s,l.createElement("div",{className:"container margin-vert--lg"},l.createElement("div",{className:"row"},l.createElement(p,{sidebar:t}),l.createElement("main",{className:(0,r.Z)("col",{"col--7":i,"col--9 col--offset-1":!i}),itemScope:!0,itemType:"http://schema.org/Blog"},o),a&&l.createElement("div",{className:"col col--2"},a))))}},390:(e,t,a)=>{a.d(t,{Z:()=>A});var l=a(7294),r=a(6010),n=a(9460),o=a(4996);function s(e){let{children:t,className:a}=e;const{frontMatter:r,assets:s}=(0,n.C)(),{withBaseUrl:i}=(0,o.C)(),m=s.image??r.image;return l.createElement("article",{className:a,itemProp:"blogPost",itemScope:!0,itemType:"http://schema.org/BlogPosting"},m&&l.createElement("meta",{itemProp:"image",content:i(m,{absolute:!0})}),t)}var i=a(9960);const m={title:"title_f1Hy"};function c(e){let{className:t}=e;const{metadata:a,isBlogPostPage:o}=(0,n.C)(),{permalink:s,title:c}=a,u=o?"h1":"h2";return l.createElement(u,{className:(0,r.Z)(m.title,t),itemProp:"headline"},o?c:l.createElement(i.Z,{itemProp:"url",to:s},c))}var u=a(5999),d=a(8824);const g={container:"container_mt6G"};function p(e){let{readingTime:t}=e;const a=function(){const{selectMessage:e}=(0,d.c)();return t=>{const a=Math.ceil(t);return e(a,(0,u.I)({id:"theme.blog.post.readingTime.plurals",description:'Pluralized label for "{readingTime} min read". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One min read|{readingTime} min read"},{readingTime:a}))}}();return l.createElement(l.Fragment,null,a(t))}function h(e){let{date:t,formattedDate:a}=e;return l.createElement("time",{dateTime:t,itemProp:"datePublished"},a)}function b(){return l.createElement(l.Fragment,null," \xb7 ")}function E(e){let{className:t}=e;const{metadata:a}=(0,n.C)(),{date:o,formattedDate:s,readingTime:i}=a;return l.createElement("div",{className:(0,r.Z)(g.container,"margin-vert--md",t)},l.createElement(h,{date:o,formattedDate:s}),void 0!==i&&l.createElement(l.Fragment,null,l.createElement(b,null),l.createElement(p,{readingTime:i})))}function f(e){return e.href?l.createElement(i.Z,e):l.createElement(l.Fragment,null,e.children)}function v(e){let{author:t,className:a}=e;const{name:n,title:o,url:s,imageURL:i,email:m}=t,c=s||m&&`mailto:${m}`||void 0;return l.createElement("div",{className:(0,r.Z)("avatar margin-bottom--sm",a)},i&&l.createElement(f,{href:c,className:"avatar__photo-link"},l.createElement("img",{className:"avatar__photo",src:i,alt:n})),n&&l.createElement("div",{className:"avatar__intro",itemProp:"author",itemScope:!0,itemType:"https://schema.org/Person"},l.createElement("div",{className:"avatar__name"},l.createElement(f,{href:c,itemProp:"url"},l.createElement("span",{itemProp:"name"},n))),o&&l.createElement("small",{className:"avatar__subtitle",itemProp:"description"},o)))}const P={authorCol:"authorCol_Hf19",imageOnlyAuthorRow:"imageOnlyAuthorRow_pa_O",imageOnlyAuthorCol:"imageOnlyAuthorCol_G86a"};function N(e){let{className:t}=e;const{metadata:{authors:a},assets:o}=(0,n.C)();if(0===a.length)return null;const s=a.every((e=>{let{name:t}=e;return!t}));return l.createElement("div",{className:(0,r.Z)("margin-top--md margin-bottom--sm",s?P.imageOnlyAuthorRow:"row",t)},a.map(((e,t)=>l.createElement("div",{className:(0,r.Z)(!s&&"col col--6",s?P.imageOnlyAuthorCol:P.authorCol),key:t},l.createElement(v,{author:{...e,imageURL:o.authorsImageUrls[t]??e.imageURL}})))))}function _(){return l.createElement("header",null,l.createElement(c,null),l.createElement(E,null),l.createElement(N,null))}var Z=a(8780),k=a(8718);function I(e){let{children:t,className:a}=e;const{isBlogPostPage:o}=(0,n.C)();return l.createElement("div",{id:o?Z.blogPostContainerID:void 0,className:(0,r.Z)("markdown",a),itemProp:"articleBody"},l.createElement(k.Z,null,t))}var C=a(4881),w=a(1526),T=a(7462);function y(){return l.createElement("b",null,l.createElement(u.Z,{id:"theme.blog.post.readMore",description:"The label used in blog post item excerpts to link to full blog posts"},"Read More"))}function F(e){const{blogPostTitle:t,...a}=e;return l.createElement(i.Z,(0,T.Z)({"aria-label":(0,u.I)({message:"Read more about {title}",id:"theme.blog.post.readMoreLabel",description:"The ARIA label for the link to full blog posts from excerpts"},{title:t})},a),l.createElement(y,null))}const L={blogPostFooterDetailsFull:"blogPostFooterDetailsFull_mRVl"};function B(){const{metadata:e,isBlogPostPage:t}=(0,n.C)(),{tags:a,title:o,editUrl:s,hasTruncateMarker:i}=e,m=!t&&i,c=a.length>0;return c||m||s?l.createElement("footer",{className:(0,r.Z)("row docusaurus-mt-lg",t&&L.blogPostFooterDetailsFull)},c&&l.createElement("div",{className:(0,r.Z)("col",{"col--9":m})},l.createElement(w.Z,{tags:a})),t&&s&&l.createElement("div",{className:"col margin-top--sm"},l.createElement(C.Z,{editUrl:s})),m&&l.createElement("div",{className:(0,r.Z)("col text--right",{"col--3":c})},l.createElement(F,{blogPostTitle:o,to:e.permalink}))):null}function A(e){let{children:t,className:a}=e;const o=function(){const{isBlogPostPage:e}=(0,n.C)();return e?void 0:"margin-bottom--xl"}();return l.createElement(s,{className:(0,r.Z)(o,a)},l.createElement(_,null),l.createElement(I,null,t),l.createElement(B,null))}},9460:(e,t,a)=>{a.d(t,{C:()=>s,n:()=>o});var l=a(7294),r=a(902);const n=l.createContext(null);function o(e){let{children:t,content:a,isBlogPostPage:r=!1}=e;const o=function(e){let{content:t,isBlogPostPage:a}=e;return(0,l.useMemo)((()=>({metadata:t.metadata,frontMatter:t.frontMatter,assets:t.assets,toc:t.toc,isBlogPostPage:a})),[t,a])}({content:a,isBlogPostPage:r});return l.createElement(n.Provider,{value:o},t)}function s(){const e=(0,l.useContext)(n);if(null===e)throw new r.i6("BlogPostProvider");return e}},8824:(e,t,a)=>{a.d(t,{c:()=>m});var l=a(7294),r=a(2263);const n=["zero","one","two","few","many","other"];function o(e){return n.filter((t=>e.includes(t)))}const s={locale:"en",pluralForms:o(["one","other"]),select:e=>1===e?"one":"other"};function i(){const{i18n:{currentLocale:e}}=(0,r.Z)();return(0,l.useMemo)((()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:o(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),s}}),[e])}function m(){const e=i();return{selectMessage:(t,a)=>function(e,t,a){const l=e.split("|");if(1===l.length)return l[0];l.length>a.pluralForms.length&&console.error(`For locale=${a.locale}, a maximum of ${a.pluralForms.length} plural forms are expected (${a.pluralForms.join(",")}), but the message contains ${l.length}: ${e}`);const r=a.select(t),n=a.pluralForms.indexOf(r);return l[Math.min(n,l.length-1)]}(a,t,e)}}}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/6655eab5.8c0a5aa7.js b/zh-CN/assets/js/6655eab5.8c0a5aa7.js new file mode 100644 index 00000000..7d3a299c --- /dev/null +++ b/zh-CN/assets/js/6655eab5.8c0a5aa7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2153],{3905:(e,n,t)=>{t.d(n,{Zo:()=>m,kt:()=>g});var a=t(7294);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function r(e){for(var n=1;n=0||(l[t]=e[t]);return l}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var s=a.createContext({}),c=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):r(r({},n),e)),t},m=function(e){var n=c(e.components);return a.createElement(s.Provider,{value:n},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},k=a.forwardRef((function(e,n){var t=e.components,l=e.mdxType,o=e.originalType,s=e.parentName,m=i(e,["components","mdxType","originalType","parentName"]),p=c(t),k=l,g=p["".concat(s,".").concat(k)]||p[k]||d[k]||o;return t?a.createElement(g,r(r({ref:n},m),{},{components:t})):a.createElement(g,r({ref:n},m))}));function g(e,n){var t=arguments,l=n&&n.mdxType;if("string"==typeof e||l){var o=t.length,r=new Array(o);r[0]=k;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i[p]="string"==typeof e?e:l,r[1]=i;for(var c=2;c{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=t(7462),l=(t(7294),t(3905));const o={title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",date:new Date("2023-07-02T00:00:00.000Z"),tags:["SolidUI","AIGC","stable-diffusion"]},r=void 0,i={permalink:"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-02-snakemq-communication-source-code-analysis.md",source:"@site/blog/2023-07-02-snakemq-communication-source-code-analysis.md",title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",description:"\u80cc\u666f",date:"2023-07-02T00:00:00.000Z",formattedDate:"2023\u5e747\u67082\u65e5",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{label:"AIGC",permalink:"/SolidUI-Website/zh-CN/blog/tags/aigc"},{label:"stable-diffusion",permalink:"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],readingTime:6.275,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",date:"2023-07-02T00:00:00.000Z",tags:["SolidUI","AIGC","stable-diffusion"]},prevItem:{title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",permalink:"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis"},nextItem:{title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",permalink:"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0"}},s={authorsImageUrls:[]},c=[{value:"\u80cc\u666f",id:"\u80cc\u666f",level:2},{value:"Snakemq\u4ecb\u7ecd",id:"snakemq\u4ecb\u7ecd",level:2},{value:"Snakemq\u4f5c\u7528",id:"snakemq\u4f5c\u7528",level:2},{value:"Snakemq \u6d4b\u8bd5\u4ee3\u7801",id:"snakemq-\u6d4b\u8bd5\u4ee3\u7801",level:2},{value:"Snakemq\u901a\u4fe1",id:"snakemq\u901a\u4fe1",level:2},{value:"\u7ed3\u8bed",id:"\u7ed3\u8bed",level:2},{value:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",level:2}],m={toc:c},p="wrapper";function d(e){let{components:n,...t}=e;return(0,l.kt)(p,(0,a.Z)({},m,t,{components:n,mdxType:"MDXLayout"}),(0,l.kt)("h2",{id:"\u80cc\u666f"},"\u80cc\u666f"),(0,l.kt)("p",null,"\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002"),(0,l.kt)("p",null,"\u9879\u76ee\u5730\u5740: ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,l.kt)("p",null,"\u9879\u76ee\u955c\u50cf\u5730\u5740: ",(0,l.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,l.kt)("h2",{id:"snakemq\u4ecb\u7ecd"},"Snakemq\u4ecb\u7ecd"),(0,l.kt)("p",null,"SnakeMQ\u662f\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u6d88\u606f\u961f\u5217(MQ)\u7cfb\u7edf,\u4e3b\u8981\u7528\u4e8e\u5728Python\u4e2d\u5b9e\u73b0\u5f02\u6b65\u4efb\u52a1\u961f\u5217\u548c\u6d88\u606f\u4f20\u9012\u3002"),(0,l.kt)("p",null,"SolidUI \u6a21\u578b\u4ee3\u7406\u6a21\u5757\uff08soliduimodelui\uff09 \u7528\u5230Snakemq , \u6d89\u53ca\u5230\u5185\u90e8\u901a\u4fe1\u65f6\u5019\uff0c\u5982\u679cclient \u548cserver \u4e0d\u4e00\u4e00\u5bf9\u5e94\uff0c\u901a\u4fe1\u5c31\u6709\u95ee\u9898\uff0c\u867d\u7136\u65e5\u5fd7\u4e0d\u62a5\u9519\uff0c\u4f46\u662f\u4e0d\u56de\u8fd4\u56de\u7ed3\u679c\uff0c\u672c\u6587\u4e3b\u8981\u8bb2\u76f8\u5173\u901a\u4fe1\u95ee\u9898\uff0c\u4e3a\u540e\u7eed\u5171\u5efa\u4f19\u4f34\u63d0\u4f9b\u89e3\u51b3\u601d\u8def\u3002"),(0,l.kt)("h2",{id:"snakemq\u4f5c\u7528"},"Snakemq\u4f5c\u7528"),(0,l.kt)("h2",{id:""}),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u8f7b\u91cf\u7ea7\u548c\u6613\u4e8e\u4f7f\u7528 - SnakeMQ\u4f7f\u7528\u7eafPython\u7f16\u5199,\u65e0\u4efb\u4f55\u5916\u90e8\u4f9d\u8d56,\u53ef\u4ee5\u5f88\u5bb9\u6613\u5730\u5728\u4efb\u4f55Python\u9879\u76ee\u4e2d\u96c6\u6210\u4f7f\u7528\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u652f\u6301\u4e3b\u6d41\u534f\u8bae - SnakeMQ\u5b9e\u73b0\u4e86STOMP\u548cAMQP\u7b49\u4e3b\u6d41\u7684MQ\u534f\u8bae\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u591a\u79cd\u6d88\u606f\u6a21\u578b - \u652f\u6301\u53d1\u5e03-\u8ba2\u9605\u3001\u5de5\u4f5c\u961f\u5217\u3001\u8bf7\u6c42-\u54cd\u5e94\u7b49\u591a\u79cd\u6d88\u606f\u6a21\u578b\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u6301\u4e45\u5316\u652f\u6301 - \u652f\u6301\u5c06\u6d88\u606f\u6301\u4e45\u5316\u5230\u4e0d\u540c\u7684\u540e\u7aef,\u5982Redis\u3001MongoDB\u7b49\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u9ad8\u6027\u80fd - SnakeMQ\u9488\u5bf9Python\u8fdb\u884c\u4e86\u4f18\u5316,\u5355\u673a\u53ef\u4ee5\u5904\u7406\u4e0a\u4e07\u6d88\u606f\u6bcf\u79d2\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u53ef\u6269\u5c55 - \u53ef\u4ee5\u6c34\u5e73\u6269\u5c55\u4ee5\u5b9e\u73b0\u96c6\u7fa4,\u63d0\u9ad8\u7cfb\u7edf\u6574\u4f53\u541e\u5410\u91cf\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u591a\u8bed\u8a00\u652f\u6301 - \u9664\u4e86Python SDK,\u8fd8\u63d0\u4f9b\u4e86NodeJS\u3001Java\u7b49\u8bed\u8a00\u7684SDK\u3002")),(0,l.kt)("p",null,"SolidUI \u4e2d soliduimodelui\u6a21\u5757\uff0c\u662f\u6a21\u578b\u4ee3\u7406API\uff0c\u9700\u8981Web\u548c Kernel \u901a\u4fe1\u7528\u5230Snakemq "),(0,l.kt)("h2",{id:"snakemq-\u6d4b\u8bd5\u4ee3\u7801"},"Snakemq \u6d4b\u8bd5\u4ee3\u7801"),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Snakemq client.py")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-plain"},'\nimport snakemq.link\nimport snakemq.packeter\nimport snakemq.messaging\nimport snakemq.rpc\nimport time\nimport json\nimport logging\n\n\nlogging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")\n\n\nlogger = logging.getLogger(__name__)\n\n\nlogger.setLevel(logging.INFO)\n\n\nconsole_handler = logging.StreamHandler()\n\n\nconsole_handler.setLevel(logging.INFO)\n\n\nlogger.addHandler(console_handler)\n\n\nlogger.setLevel(logging.INFO)\n\n\nfh = logging.FileHandler(\'app.log\')\n\n\nlogger.addHandler(fh)\n\n\nlink = snakemq.link.Link()\n\n\npacketer = snakemq.packeter.Packeter(link)\n\n\nmessaging = snakemq.messaging.Messaging("client", "", packeter)\n\n\nconnector = ("server", 8765)\n\n\nlink.add_connector(connector)\n\n\ndef on_connect(connector_id):\n\n\n logger.info(f"Connected to: {connector_id}")\n\n\nlink.on_connect.add(on_connect)\n\n\ndef on_disconnect(connector_id):\n\n\n logger.info(f"\u5df2\u65ad\u5f00: {connector_id}")\n\n\nlink.on_disconnect.add(on_disconnect)\n\n\n\ndef on_recv(conn, ident, message):\n\n\n logger.info(f"client\u63a5\u6536\u5230: {message.data}, \u6765\u81ea: {ident}")\n\n\nmessaging.on_message_recv.add(on_recv)\n\n\nmessage = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)\n\n\nmessaging.send_message("server", message)\n\n\nwhile True:\n\n\n link.loop()\n\n\n time.sleep(0.1)\n\n\n')),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Snakemq server.py")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-plain"},'\nimport snakemq.link\nimport snakemq.packeter\nimport snakemq.messaging\nimport snakemq.rpc\nimport time\nimport json\nimport logging\n\n\nlogging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")\n\n\nlogger = logging.getLogger(__name__)\n\n\nlogger.setLevel(logging.INFO)\n\n\nconsole_handler = logging.StreamHandler()\n\n\nconsole_handler.setLevel(logging.INFO)\n\n\nlogger.addHandler(console_handler)\n\n\nlogger.setLevel(logging.INFO)\n\n\nfh = logging.FileHandler(\'app.log\')\n\n\nlogger.addHandler(fh)\n\n\nlink = snakemq.link.Link()\n\n\npacketer = snakemq.packeter.Packeter(link)\n\n\nmessaging = snakemq.messaging.Messaging("server", "", packeter)\n\n\nlink.add_listener(("0.0.0.0", 8765))\n\n\ndef on_recv(conn, ident, message):\n\n\n logger.info(f"server\u63a5\u6536\u5230: {message.data}, \u6765\u81ea: {ident}")\n\n\nmessaging.on_message_recv.add(on_recv)\n\n\n\nmessage = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)\n\n\nmessaging.send_message("client", message)\n\n\n# Main loop\n\n\nwhile True:\n\n\n link.loop()\n\n\n time.sleep(0.1)\n\n\n')),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Dockerfile")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},'FROM python:3.8\nWORKDIR /opt/snaketmq-test\n\nRUN pip install snakemq\nRUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"\nCOPY . .\n\nCMD ["python", "server.py"]\n')),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Dockerfile build & run")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"docker build -t snaketmq-test .\xa0\n\ndocker network create mynet\n\ndocker run -d --name server --network mynet\xa0 snaketmq-test\n\ndocker run --network mynet\xa0 snaketmq-test python client.py\n")),(0,l.kt)("h2",{id:"snakemq\u901a\u4fe1"},"Snakemq\u901a\u4fe1"),(0,l.kt)("p",null,'\u6ce8\u610f\uff1aSnakemq \u6d4b\u8bd5\u4ee3\u7801\uff0c\u56e0\u4e3a\u5bb9\u5668\u5185\u901a\u4fe1\uff0cip addr \u4f1a\u6d89\u53ca\u5230\u591a\u4e2aip \uff0c\u867d\u7136\u5bb9\u5668\u8bbe\u7f6e\u7f51\u6bb5mynet \uff0c\u4f46\u662f server link.add_listener(("0.0.0.0", 8765)) \u8fd9\u884c\u4ee3\u7801 '),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"server: \u8868\u793aSnakeMQ\u7684\u670d\u52a1\u5668\u5b9e\u4f8b\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"link: server\u4e2d\u7684link\u5c5e\u6027,\u8868\u793a\u7f51\u7edc\u8fde\u63a5\u7ba1\u7406\u5668\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"add_listener: \u5411link\u4e2d\u6dfb\u52a0\u4e00\u4e2a\u76d1\u542c\u5668\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},'("0.0.0.0", 8765): \u76d1\u542c\u7684\u5730\u5740\u548c\u7aef\u53e3\u3002"0.0.0.0"\u8868\u793a\u76d1\u542c\u6240\u6709\u7f51\u5361\u5730\u5740,"8765"\u8868\u793a\u76d1\u542c8765\u7aef\u53e3\u3002\nclient connector = ("server", 8765) link.add_connector(connector) \u8fd9\u884c\u4ee3\u7801')),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},'connector = ("server", 8765) : \u521b\u5efa\u4e00\u4e2a\u5143\u7ec4connector,\u91cc\u9762\u5305\u542b\u4e86SnakeMQ\u670d\u52a1\u5668\u7684\u5730\u5740"server"\u548c\u7aef\u53e38765\u3002')),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"link.add_connector(connector): \u8c03\u7528link\u5bf9\u8c61(\u8fd9\u91cc\u5e94\u8be5\u662fSnakeMQ\u7684\u8fde\u63a5\u5bf9\u8c61)\u7684add_connector\u65b9\u6cd5,\u4f20\u5165\u53c2\u6570connector,\u5c06\u4e0a\u4e00\u6b65\u521b\u5efa\u7684\u8fde\u63a5\u4fe1\u606f\u6dfb\u52a0\u5230\u8fde\u63a5\u5bf9\u8c61\u4e2d\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"\u7efc\u5408\u6765\u770b,\u8fd9\u884c\u4ee3\u7801\u7684\u4f5c\u7528\u5c31\u662f\u521b\u5efa\u4e00\u4e2a\u8fde\u63a5\u5143\u7ec4,\u5305\u542bSnakeMQ\u670d\u52a1\u5668\u7684\u5730\u5740\u548c\u7aef\u53e3,\u7136\u540e\u5c06\u8fd9\u4e2a\u8fde\u63a5\u4fe1\u606f\u6dfb\u52a0\u5230SnakeMQ\u7684\u8fde\u63a5\u5bf9\u8c61\u4e2d,\u4ee5\u5efa\u7acbSnakeMQ\u7684\u5ba2\u6237\u7aef\u8fde\u63a5\u3002"))),(0,l.kt)("h2",{id:"\u7ed3\u8bed"},"\u7ed3\u8bed"),(0,l.kt)("p",null,"\u672c\u6587\u901a\u8fc7Snakemq \u6848\u4f8b \u6765\u89e3\u91caSolidUI \u5185\u90e8\u901a\u4fe1\uff0c\u8ba9\u5927\u5bb6\u660e\u767d\u914d\u7f6e\u5730\u5740\u65f6\u5019ip \u4e3a\u4ec0\u4e48\u8fd9\u6837\u8bbe\u7f6e\uff0c\u76ee\u7684\u662f\u4e3a\u4e86\u4e00\u4e00\u5bf9\u5e94\uff0c\u4e0d\u662f\u76f2\u76ee\u8bbe\u7f6elocalhost\u5c31\u80fd\u89e3\u51b3\uff0c\u4e3a\u5927\u5bb6\u540e\u7eed\u66f4\u597d\u5171\u5efaSolidUI\u63d0\u4f9b\u601d\u8def\u3002"),(0,l.kt)("h2",{id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"},"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u5b98\u65b9\u6587\u6863\u8d21\u732e\u3002\u53d1\u73b0\u6587\u6863\u7684\u4e0d\u8db3\u3001\u4f18\u5316\u6587\u6863\uff0c\u6301\u7eed\u66f4\u65b0\u6587\u6863\u7b49\u65b9\u5f0f\u53c2\u4e0e\u793e\u533a\u8d21\u732e\u3002\u901a\u8fc7\u6587\u6863\u8d21\u732e\uff0c\u8ba9\u5f00\u53d1\u8005\u719f\u6089\u5982\u4f55\u63d0\u4ea4PR\u548c\u771f\u6b63\u53c2\u4e0e\u5230\u793e\u533a\u7684\u5efa\u8bbe\u3002\u53c2\u8003\u653b\u7565\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,l.kt)("li",{parentName:"ul"},"\u4ee3\u7801\u8d21\u732e\u3002\u6211\u4eec\u68b3\u7406\u4e86\u793e\u533a\u4e2d\u7b80\u5355\u5e76\u4e14\u5bb9\u6613\u5165\u95e8\u7684\u7684\u4efb\u52a1\uff0c\u975e\u5e38\u9002\u5408\u65b0\u4eba\u505a\u4ee3\u7801\u8d21\u732e\u3002\u8bf7\u67e5\u9605\u65b0\u624b\u4efb\u52a1\u5217\u8868\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,l.kt)("li",{parentName:"ul"},"\u5185\u5bb9\u8d21\u732e\uff1a\u53d1\u5e03SolidUI\u5f00\u6e90\u7ec4\u4ef6\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5b89\u88c5\u90e8\u7f72\u6559\u7a0b\u3001\u4f7f\u7528\u7ecf\u9a8c\u3001\u6848\u4f8b\u5b9e\u8df5\u7b49\uff0c\u5f62\u5f0f\u4e0d\u9650\uff0c\u8bf7\u6295\u7a3f\u7ed9\u5c0f\u52a9\u624b\u3002\u4f8b\u5982\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,l.kt)("li",{parentName:"ul"},"\u793e\u533a\u7b54\u7591\uff1a\u79ef\u6781\u5728\u793e\u533a\u4e2d\u8fdb\u884c\u7b54\u7591\u3001\u5206\u4eab\u6280\u672f\u3001\u5e2e\u52a9\u5f00\u53d1\u8005\u89e3\u51b3\u95ee\u9898\u7b49\uff1b\n\u5176\u4ed6\uff1a\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u6d3b\u52a8\u3001\u6210\u4e3a\u793e\u533a\u5fd7\u613f\u8005\u3001\u5e2e\u52a9\u793e\u533a\u5ba3\u4f20\u3001\u4e3a\u793e\u533a\u53d1\u5c55\u63d0\u4f9b\u6709\u6548\u5efa\u8bae\u7b49\uff1b")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/6875c492.d0767faf.js b/zh-CN/assets/js/6875c492.d0767faf.js new file mode 100644 index 00000000..bbf83764 --- /dev/null +++ b/zh-CN/assets/js/6875c492.d0767faf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8610],{9703:(e,t,a)=>{a.d(t,{Z:()=>s});var n=a(7294),l=a(5999),r=a(2244);function s(e){const{metadata:t}=e,{previousPage:a,nextPage:s}=t;return n.createElement("nav",{className:"pagination-nav","aria-label":(0,l.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"})},a&&n.createElement(r.Z,{permalink:a,title:n.createElement(l.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)"},"Newer Entries")}),s&&n.createElement(r.Z,{permalink:s,title:n.createElement(l.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)"},"Older Entries"),isNext:!0}))}},9985:(e,t,a)=>{a.d(t,{Z:()=>s});var n=a(7294),l=a(9460),r=a(390);function s(e){let{items:t,component:a=r.Z}=e;return n.createElement(n.Fragment,null,t.map((e=>{let{content:t}=e;return n.createElement(l.n,{key:t.metadata.permalink,content:t},n.createElement(a,null,n.createElement(t,null)))})))}},1714:(e,t,a)=>{a.r(t),a.d(t,{default:()=>E});var n=a(7294),l=a(6010),r=a(5999),s=a(8824),i=a(1944),o=a(5281),g=a(9960),c=a(9058),m=a(9703),u=a(197),p=a(9985);function d(e){const t=function(){const{selectMessage:e}=(0,s.c)();return t=>e(t,(0,r.I)({id:"theme.blog.post.plurals",description:'Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)',message:"One post|{count} posts"},{count:t}))}();return(0,r.I)({id:"theme.blog.tagTitle",description:"The title of the page for a blog tag",message:'{nPosts} tagged with "{tagName}"'},{nPosts:t(e.count),tagName:e.label})}function h(e){let{tag:t}=e;const a=d(t);return n.createElement(n.Fragment,null,n.createElement(i.d,{title:a}),n.createElement(u.Z,{tag:"blog_tags_posts"}))}function b(e){let{tag:t,items:a,sidebar:l,listMetadata:s}=e;const i=d(t);return n.createElement(c.Z,{sidebar:l},n.createElement("header",{className:"margin-bottom--xl"},n.createElement("h1",null,i),n.createElement(g.Z,{href:t.allTagsPath},n.createElement(r.Z,{id:"theme.tags.tagsPageLink",description:"The label of the link targeting the tag list page"},"View All Tags"))),n.createElement(p.Z,{items:a}),n.createElement(m.Z,{metadata:s}))}function E(e){return n.createElement(i.FG,{className:(0,l.Z)(o.k.wrapper.blogPages,o.k.page.blogTagPostListPage)},n.createElement(h,e),n.createElement(b,e))}}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/6b5877e0.5b29cc5d.js b/zh-CN/assets/js/6b5877e0.5b29cc5d.js new file mode 100644 index 00000000..626fd387 --- /dev/null +++ b/zh-CN/assets/js/6b5877e0.5b29cc5d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7563],{3905:(e,t,n)=>{n.d(t,{Zo:()=>a,kt:()=>b});var r=n(7294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(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 i(e){for(var t=1;t=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var p=r.createContext({}),u=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},a=function(e){var t=u(e.components);return r.createElement(p.Provider,{value:t},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,l=e.mdxType,o=e.originalType,p=e.parentName,a=s(e,["components","mdxType","originalType","parentName"]),d=u(n),m=l,b=d["".concat(p,".").concat(m)]||d[m]||c[m]||o;return n?r.createElement(b,i(i({ref:t},a),{},{components:n})):r.createElement(b,i({ref:t},a))}));function b(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var o=n.length,i=new Array(o);i[0]=m;var s={};for(var p in t)hasOwnProperty.call(t,p)&&(s[p]=t[p]);s.originalType=e,s[d]="string"==typeof e?e:l,i[1]=s;for(var u=2;u{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>c,frontMatter:()=>o,metadata:()=>s,toc:()=>u});var r=n(7462),l=(n(7294),n(3905));const o={id:"deployment-kubernetes",title:"Kubernetes \u90e8\u7f72",sidebar_position:3},i="SolidUI Kubernetes \u90e8\u7f72",s={unversionedId:"deployment/deployment-kubernetes",id:"deployment/deployment-kubernetes",title:"Kubernetes \u90e8\u7f72",description:"1. \u73af\u5883\u51c6\u5907",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/deplpyment-kubernetes.md",sourceDirName:"deployment",slug:"/deployment/deployment-kubernetes",permalink:"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/deplpyment-kubernetes.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{id:"deployment-kubernetes",title:"Kubernetes \u90e8\u7f72",sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"\u72ec\u7acb\u90e8\u7f72",permalink:"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone"},next:{title:"\u793e\u533a\u5171\u5efa\u5408\u4f5c",permalink:"/SolidUI-Website/zh-CN/docs/operational/community-operation/"}},p={},u=[{value:"1. \u73af\u5883\u51c6\u5907",id:"1-\u73af\u5883\u51c6\u5907",level:2},{value:"\u8f6f\u4ef6\u73af\u5883",id:"\u8f6f\u4ef6\u73af\u5883",level:3},{value:"\u64cd\u4f5c\u7cfb\u7edf",id:"\u64cd\u4f5c\u7cfb\u7edf",level:3},{value:"\u786c\u4ef6\u73af\u5883",id:"\u786c\u4ef6\u73af\u5883",level:3},{value:"2.\u4ee5 Helm \u7684\u65b9\u5f0f\u542f\u52a8 (\u63a8\u8350)",id:"2\u4ee5-helm-\u7684\u65b9\u5f0f\u542f\u52a8-\u63a8\u8350",level:2},{value:"2.1 \u4e0b\u8f7d\u6e90\u7801",id:"21-\u4e0b\u8f7d\u6e90\u7801",level:3},{value:"2.2 \u62c9\u53d6\u955c\u50cf\u5e76\u542f\u52a8\u670d\u52a1",id:"22-\u62c9\u53d6\u955c\u50cf\u5e76\u542f\u52a8\u670d\u52a1",level:3},{value:"2.3 \u67e5\u770b\u670d\u52a1\u72b6\u6001\u53caingress\u7aef\u53e3",id:"23-\u67e5\u770b\u670d\u52a1\u72b6\u6001\u53caingress\u7aef\u53e3",level:3},{value:"2.4 \u8bbf\u95ee\u670d\u52a1",id:"24-\u8bbf\u95ee\u670d\u52a1",level:3}],a={toc:u},d="wrapper";function c(e){let{components:t,...n}=e;return(0,l.kt)(d,(0,r.Z)({},a,n,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"solidui-kubernetes-\u90e8\u7f72"},"SolidUI Kubernetes \u90e8\u7f72"),(0,l.kt)("h2",{id:"1-\u73af\u5883\u51c6\u5907"},"1. \u73af\u5883\u51c6\u5907"),(0,l.kt)("h3",{id:"\u8f6f\u4ef6\u73af\u5883"},"\u8f6f\u4ef6\u73af\u5883"),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://docs.docker.com/engine/install/"},"Docker")," 1.13.1+ ",(0,l.kt)("a",{parentName:"p",href:"https://kubernetes.io/"},"Kubernetes")," 1.19.0+ ",(0,l.kt)("a",{parentName:"p",href:"https://helm.sh/"},"Helm")," 3.4.x+ ",(0,l.kt)("a",{parentName:"p",href:"https://kubernetes.github.io/ingress-nginx/"},"ingress")," 1.3.0+"),(0,l.kt)("h3",{id:"\u64cd\u4f5c\u7cfb\u7edf"},"\u64cd\u4f5c\u7cfb\u7edf"),(0,l.kt)("p",null,"Centos 7+, Ubuntu 20.04"),(0,l.kt)("h3",{id:"\u786c\u4ef6\u73af\u5883"},"\u786c\u4ef6\u73af\u5883"),(0,l.kt)("p",null,"CPU 8\u6838+\uff0c\u5185\u5b58 16G+ "),(0,l.kt)("h2",{id:"2\u4ee5-helm-\u7684\u65b9\u5f0f\u542f\u52a8-\u63a8\u8350"},"2.\u4ee5 Helm \u7684\u65b9\u5f0f\u542f\u52a8 (\u63a8\u8350)"),(0,l.kt)("p",null,"\u8fd9\u79cd\u65b9\u5f0f\u9700\u8981\u5148\u5b89\u88c5 Helm, Helm \u7684\u5b89\u88c5\u7f51\u4e0a\u5df2\u7ecf\u6709\u975e\u5e38\u591a\u7684\u8d44\u6599\uff0c\u8bf7\u81ea\u884c\u5b89\u88c5\u5373\u53ef"),(0,l.kt)("h3",{id:"21-\u4e0b\u8f7d\u6e90\u7801"},"2.1 \u4e0b\u8f7d\u6e90\u7801"),(0,l.kt)("p",null,"\u4ecegithub\u4ed3\u5e93 ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")," \u83b7\u53d6\u9879\u76ee\u7684\u6e90\u4ee3\u7801\u3002"),(0,l.kt)("h3",{id:"22-\u62c9\u53d6\u955c\u50cf\u5e76\u542f\u52a8\u670d\u52a1"},"2.2 \u62c9\u53d6\u955c\u50cf\u5e76\u542f\u52a8\u670d\u52a1"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"# \u8fdb\u5165\u670d\u52a1\u5668\uff08\u4ee5Centos7\u4e3a\u4f8b\uff09\n\ncd SolidUI/deploy/kubernetes/helm-solidui\n\nhelm install solidui ./\n")),(0,l.kt)("h3",{id:"23-\u67e5\u770b\u670d\u52a1\u72b6\u6001\u53caingress\u7aef\u53e3"},"2.3 \u67e5\u770b\u670d\u52a1\u72b6\u6001\u53caingress\u7aef\u53e3"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre"},"//\u67e5\u770bpod\u72b6\u6001\nkubectl get pods -n solidui\n//\u67e5\u770bingress\u7aef\u53e3\nkubectl get svc -A |grep ingress-nginx-controller\n//\u5982\u679c\u4e0d\u4f7f\u7528ingress\u8bbf\u95ee\u53ef\u901a\u8fc7port-forward\u8f6c\u53d1\u7aef\u53e3\u8fdb\u884c\u8bbf\u95ee\nkubectl port-forward svc/solidui-web 80:8099 --address 0.0.0.0 -n solidui\n")),(0,l.kt)("h3",{id:"24-\u8bbf\u95ee\u670d\u52a1"},"2.4 \u8bbf\u95ee\u670d\u52a1"),(0,l.kt)("p",null,"\u8bbf\u95ee\u94fe\u63a5 http://ingress-ip-address:ingress-port"),(0,l.kt)("p",null,"\u9ed8\u8ba4\u7528\u6237\u540d\u5bc6\u7801\uff1aadmin/admin"))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/75cf5c85.62a98f15.js b/zh-CN/assets/js/75cf5c85.62a98f15.js new file mode 100644 index 00000000..fc204ac4 --- /dev/null +++ b/zh-CN/assets/js/75cf5c85.62a98f15.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[477],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>y});var r=n(7294);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(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 i(e){for(var t=1;t=0||(l[n]=e[n]);return l}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n])}return l}var s=r.createContext({}),d=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},u=function(e){var t=d(e.components);return r.createElement(s.Provider,{value:t},e.children)},p="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,l=e.mdxType,o=e.originalType,s=e.parentName,u=a(e,["components","mdxType","originalType","parentName"]),p=d(n),m=l,y=p["".concat(s,".").concat(m)]||p[m]||c[m]||o;return n?r.createElement(y,i(i({ref:t},u),{},{components:n})):r.createElement(y,i({ref:t},u))}));function y(e,t){var n=arguments,l=t&&t.mdxType;if("string"==typeof e||l){var o=n.length,i=new Array(o);i[0]=m;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[p]="string"==typeof e?e:l,i[1]=a;for(var d=2;d{n.r(t),n.d(t,{assets:()=>s,contentTitle:()=>i,default:()=>c,frontMatter:()=>o,metadata:()=>a,toc:()=>d});var r=n(7462),l=(n(7294),n(3905));const o={id:"deployment-standalone",title:"\u72ec\u7acb\u90e8\u7f72",sidebar_position:3},i="SolidUI \u5355\u72ec\u90e8\u7f72",a={unversionedId:"deployment/deployment-standalone",id:"deployment/deployment-standalone",title:"\u72ec\u7acb\u90e8\u7f72",description:"1.\u9996\u6b21\u5b89\u88c5\u51c6\u5907\u4e8b\u9879",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/deployment-standalone.md",sourceDirName:"deployment",slug:"/deployment/deployment-standalone",permalink:"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/deployment-standalone.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{id:"deployment-standalone",title:"\u72ec\u7acb\u90e8\u7f72",sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Docker-Compose \u90e8\u7f72",permalink:"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker"},next:{title:"Kubernetes \u90e8\u7f72",permalink:"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes"}},s={},d=[{value:"1.\u9996\u6b21\u5b89\u88c5\u51c6\u5907\u4e8b\u9879",id:"1\u9996\u6b21\u5b89\u88c5\u51c6\u5907\u4e8b\u9879",level:2},{value:"1.1 Linux \u670d\u52a1\u5668",id:"11-linux-\u670d\u52a1\u5668",level:3},{value:"\u786c\u4ef6\u8981\u6c42",id:"\u786c\u4ef6\u8981\u6c42",level:4},{value:"1.2 JDK\u51c6\u5907",id:"12-jdk\u51c6\u5907",level:3},{value:"1.3 \u6570\u636e\u5e93\u51c6\u5907",id:"13-\u6570\u636e\u5e93\u51c6\u5907",level:3},{value:"2.\u914d\u7f6e\u4fee\u6539",id:"2\u914d\u7f6e\u4fee\u6539",level:2},{value:"2.1 \u5b89\u88c5\u5305\u51c6\u5907",id:"21-\u5b89\u88c5\u5305\u51c6\u5907",level:3},{value:"3.\u670d\u52a1\u7aef\u6309\u7167\u548c\u542f\u52a8",id:"3\u670d\u52a1\u7aef\u6309\u7167\u548c\u542f\u52a8",level:2},{value:"3.1 \u51c6\u5907\u5de5\u4f5c",id:"31-\u51c6\u5907\u5de5\u4f5c",level:3},{value:"3.2 \u914d\u7f6e\u4fee\u6539",id:"32-\u914d\u7f6e\u4fee\u6539",level:3},{value:"3.3 \u670d\u52a1\u7aef\u542f\u52a8",id:"33-\u670d\u52a1\u7aef\u542f\u52a8",level:3},{value:"4.\u524d\u7aef\u90e8\u7f72",id:"4\u524d\u7aef\u90e8\u7f72",level:2},{value:"4.1 \u51c6\u5907\u5de5\u4f5c",id:"41-\u51c6\u5907\u5de5\u4f5c",level:3},{value:"4.2 \u542f\u52a8",id:"42-\u542f\u52a8",level:3}],u={toc:d},p="wrapper";function c(e){let{components:t,...n}=e;return(0,l.kt)(p,(0,r.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"solidui-\u5355\u72ec\u90e8\u7f72"},"SolidUI \u5355\u72ec\u90e8\u7f72"),(0,l.kt)("h2",{id:"1\u9996\u6b21\u5b89\u88c5\u51c6\u5907\u4e8b\u9879"},"1.\u9996\u6b21\u5b89\u88c5\u51c6\u5907\u4e8b\u9879"),(0,l.kt)("h3",{id:"11-linux-\u670d\u52a1\u5668"},"1.1 Linux \u670d\u52a1\u5668"),(0,l.kt)("h4",{id:"\u786c\u4ef6\u8981\u6c42"},"\u786c\u4ef6\u8981\u6c42"),(0,l.kt)("p",null,"\u5b89\u88c5SolidUI \u5fae\u670d\u52a11\u4e2a\uff0c\u81f3\u5c11512M\u5185\u5b58\u3002\u6bcf\u4e2a\u5fae\u670d\u52a1\u9ed8\u8ba4\u914d\u7f6e\u542f\u52a8\u7684jvm -Xmx \u5185\u5b58\u5927\u5c0f\u4e3a 512M\uff08\u5185\u5b58\u4e0d\u591f\u7684\u60c5\u51b5\u4e0b\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u8c03\u5c0f\u81f3256/128M\uff0c\u5185\u5b58\u8db3\u591f\u60c5\u51b5\u4e0b\u4e5f\u53ef\u4ee5\u8c03\u5927\uff09\u3002"),(0,l.kt)("h3",{id:"12-jdk\u51c6\u5907"},"1.2 JDK\u51c6\u5907"),(0,l.kt)("p",null,"java\u7248\u672c\u8981\u6c42\uff1ajdk1.8.0_201 \u6216\u4ee5\u4e0a\u7248\u672c"),(0,l.kt)("h3",{id:"13-\u6570\u636e\u5e93\u51c6\u5907"},"1.3 \u6570\u636e\u5e93\u51c6\u5907"),(0,l.kt)("p",null,"Mysql5.7 \u6216\u4ee5\u4e0a\u7248\u672c"),(0,l.kt)("h2",{id:"2\u914d\u7f6e\u4fee\u6539"},"2.\u914d\u7f6e\u4fee\u6539"),(0,l.kt)("h3",{id:"21-\u5b89\u88c5\u5305\u51c6\u5907"},"2.1 \u5b89\u88c5\u5305\u51c6\u5907"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u65b9\u5f0f1\uff1a\u4ece\u5b98\u7f51\u4e0b\u8f7d\u5730\u5740: ",(0,l.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/releases"},"https://github.com/CloudOrc/SolidUI/releases")," \uff0c\u4e0b\u8f7d\u5bf9\u5e94\u7684\u5b89\u88c5\u5305\uff08\u6574\u4f53\u5b89\u88c5\u5305\uff09\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u65b9\u5f0f2\uff1a\u6839\u636eSolidUI \u540e\u7aef\u7f16\u8bd1\u548c\u524d\u7aef\u7f16\u8bd1\u81ea\u884c\u7f16\u8bd1\u51fa\u9879\u76ee\u5b89\u88c5\u5305\u3002")),(0,l.kt)("p",null,"\u4e0a\u4f20\u5b89\u88c5\u5305solidui-x.x.x-bin.tar.gz\u540e\uff0c\u8fdb\u884c\u89e3\u538b\u5b89\u88c5\u5305"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0}," tar -zxvf solidui-x.x.x-bin.tar.gz\n")),(0,l.kt)("p",null,"\u89e3\u538b\u540e\u7684\u76ee\u5f55\u7ed3\u6784\u5982\u4e0b\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"drwxr-xr-x 2 root root 4096 Jun 10 20:31 docker\ndrwxr-xr-x 6 root root 4096 Jun 11 17:57 entrance-server\n-rw-r--r-- 1 root root 27711 Jun 4 21:47 LICENSE\ndrwxr-xr-x 3 root root 4096 Jun 11 18:03 licenses\n-rw-r--r-- 1 root root 24875 Jun 4 19:29 NOTICE\ndrwxr-xr-x 4 root root 4096 Jun 11 18:26 solidui-web\n")),(0,l.kt)("h2",{id:"3\u670d\u52a1\u7aef\u6309\u7167\u548c\u542f\u52a8"},"3.\u670d\u52a1\u7aef\u6309\u7167\u548c\u542f\u52a8"),(0,l.kt)("h3",{id:"31-\u51c6\u5907\u5de5\u4f5c"},"3.1 \u51c6\u5907\u5de5\u4f5c"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"# \u521d\u59cb\u5316\u6570\u636e\u5e93ddl \u548c dml \u8def\u5f84\nsolidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql\n\n# \u8fdb\u5165mysql\u6570\u636e\u5e93\nmysql -h192.168.xx.xx -P3306 -uroot -p\n\n# \u521b\u5efa\u6570\u636e\u5e93\nCREATE DATABASE solidui DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;\n\n\n# \u4fee\u6539\u6570\u636e\u5e93\u8fde\u63a5\u4fe1\u606f\uff0c\u4fee\u6539\u8868solidui_model_type\uff0ctoken\u548cbaseurl\u5b57\u6bb5 (0.2.0\u7248\u672c\u652f\u6301)\ntoken\u4e3a\u6a21\u578bAPI token\nbaseurl\u4e3a\u6a21\u578bAPI\u57fa\u7840\u5730\u5740\uff0c\u4f8b\u5982\uff1ahttps://api.openai.com\uff08\u8fd9\u662f\u56fd\u5916openai\u5730\u5740\uff09\uff0chttps://api.chatanywhere.com.cn\uff08openai\u56fd\u5185\u4ee3\u7406\u5730\u5740\uff09\uff0chttp://ip:port\uff08chatGLM\u5730\u5740\uff09\n\nsolidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql\nINSERT INTO `solidui_model_type` (`id`, `name`, `type_name`, `prompt`, `token`, `baseurl`)\nVALUES\n(1,'gpt-3.5-turbo','gpt',NULL,NULL,NULL),\n(2,'gpt-4','gpt',NULL,NULL,NULL),\n(3,'chatglm_lite','chatglm',NULL,NULL,NULL);\n\n\n\n# \u6267\u884c\u6570\u636e\u5e93\u521d\u59cb\u5316\u811a\u672c\n\nsource solidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql\n\n")),(0,l.kt)("h3",{id:"32-\u914d\u7f6e\u4fee\u6539"},"3.2 \u914d\u7f6e\u4fee\u6539"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"cd solidui-x.x.x-bin/entrance-server/conf\n# \u4fee\u6539\u6570\u636e\u5e93\u8fde\u63a5\u4fe1\u606f\nvi application.yaml\ndatasource:\nurl: jdbc:mysql://localhost:3306/solidui?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai\nusername: root\npassword: root\n\n# 0.2.0 \u7248\u672c\u589e\u52a0python\u670d\u52a1\u914d\u7f6e\nvi solidui-x.x.x-bin/soliduimodelui/.env\n# \u4fee\u6539\u6570\u636e\u5e93\u8fde\u63a5\u4fe1\u606f\nDB_HOST=localhost\nDB_PORT=3306\nDB_NAME=solidui\nDB_USER=root\nDB_PASS=SolidUI@123\n\n")),(0,l.kt)("h3",{id:"33-\u670d\u52a1\u7aef\u542f\u52a8"},"3.3 \u670d\u52a1\u7aef\u542f\u52a8"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"cd solidui-x.x.x-bin/entrance-server\n# \u542f\u52a8\u670d\u52a1\nsh bin/start.sh\n# \u505c\u6b62\u670d\u52a1\nsh bin/stop.sh\n\n#0.2.0 \u7248\u672c\u589e\u52a0python\u670d\u52a1\ncd solidui-x.x.x-bin\npip install -e .\nmodelui\n")),(0,l.kt)("h2",{id:"4\u524d\u7aef\u90e8\u7f72"},"4.\u524d\u7aef\u90e8\u7f72"),(0,l.kt)("h3",{id:"41-\u51c6\u5907\u5de5\u4f5c"},"4.1 \u51c6\u5907\u5de5\u4f5c"),(0,l.kt)("p",null,"\u53c2\u8003",(0,l.kt)("a",{parentName:"p",href:"/SolidUI-Website/zh-CN/docs/deployment/deployment-web"},"\u524d\u7aef\u90e8\u7f72")),(0,l.kt)("h3",{id:"42-\u542f\u52a8"},"4.2 \u542f\u52a8"),(0,l.kt)("p",null,"\u8bbf\u95ee\u9ed8\u8ba4\u94fe\u63a5 http://localhost:8099"),(0,l.kt)("p",null,"\u9ed8\u8ba4\u7528\u6237\u540d\u5bc6\u7801\uff1aadmin/admin"))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/7ba7942d.b27d650c.js b/zh-CN/assets/js/7ba7942d.b27d650c.js new file mode 100644 index 00000000..b528c4d9 --- /dev/null +++ b/zh-CN/assets/js/7ba7942d.b27d650c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[9615],{3905:(e,t,l)=>{l.d(t,{Zo:()=>c,kt:()=>k});var i=l(7294);function n(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function o(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,i)}return l}function r(e){for(var t=1;t=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var u=i.createContext({}),s=function(e){var t=i.useContext(u),l=t;return e&&(l="function"==typeof e?e(t):r(r({},t),e)),l},c=function(e){var t=s(e.components);return i.createElement(u.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var l=e.components,n=e.mdxType,o=e.originalType,u=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),d=s(l),m=n,k=d["".concat(u,".").concat(m)]||d[m]||p[m]||o;return l?i.createElement(k,r(r({ref:t},c),{},{components:l})):i.createElement(k,r({ref:t},c))}));function k(e,t){var l=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=l.length,r=new Array(o);r[0]=m;var a={};for(var u in t)hasOwnProperty.call(t,u)&&(a[u]=t[u]);a.originalType=e,a[d]="string"==typeof e?e:n,r[1]=a;for(var s=2;s{l.r(t),l.d(t,{assets:()=>u,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>s});var i=l(7462),n=(l(7294),l(3905));const o={title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",date:new Date("2023-07-03T00:00:00.000Z"),tags:["SolidUI","AIGC","stable-diffusion"]},r=void 0,a={permalink:"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-03-independent-deployment-communication-analysis.md",source:"@site/blog/2023-07-03-independent-deployment-communication-analysis.md",title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",description:"\u80cc\u666f",date:"2023-07-03T00:00:00.000Z",formattedDate:"2023\u5e747\u67083\u65e5",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{label:"AIGC",permalink:"/SolidUI-Website/zh-CN/blog/tags/aigc"},{label:"stable-diffusion",permalink:"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],readingTime:3.635,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",date:"2023-07-03T00:00:00.000Z",tags:["SolidUI","AIGC","stable-diffusion"]},prevItem:{title:"SolidUI Community - Official Website Introduction",permalink:"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction"},nextItem:{title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",permalink:"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis"}},u={authorsImageUrls:[]},s=[{value:"\u80cc\u666f",id:"\u80cc\u666f",level:2},{value:"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1",id:"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1",level:2},{value:"\u4f8b\u5982",id:"\u4f8b\u5982",level:3},{value:"Docker \u90e8\u7f72\u901a\u4fe1",id:"docker-\u90e8\u7f72\u901a\u4fe1",level:2},{value:"\u4f8b\u5982",id:"\u4f8b\u5982-1",level:3},{value:"\u7ed3\u8bed",id:"\u7ed3\u8bed",level:2},{value:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",level:2}],c={toc:s},d="wrapper";function p(e){let{components:t,...l}=e;return(0,n.kt)(d,(0,i.Z)({},c,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"\u80cc\u666f"},"\u80cc\u666f"),(0,n.kt)("p",null,"\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002"),(0,n.kt)("p",null,"\u9879\u76ee\u5730\u5740: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"\u9879\u76ee\u955c\u50cf\u5730\u5740: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("h2",{id:"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1"},"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1"),(0,n.kt)("p",null,"\u5355\u72ec\u90e8\u7f72\uff0c\u4e0e\u5916\u7f51\u901a\u4fe1\uff0c\u8fd9\u5757\u4e0d\u96be\u53ea\u6709\u76f8\u5e94\u516c\u7f51\uff0c\u5c31\u53ef\u4ee5\u6b63\u5e38\u8bbf\u95ee\u3002"),(0,n.kt)("p",null,"\u5355\u72ec\u90e8\u7f72\uff0c\u5185\u90e8\u8fdb\u7a0b\u95f4\u901a\u4fe1\uff0c\u5982\u679c\u6709\u591a\u4e2a\u7f51\u5361\uff0cip addr \u6d89\u53ca\u591a\u4e2aip \uff0c\u9700\u8981\u8bbe\u7f6e\u5185\u7f51ip \u6216\u8005\u57df\u540d \uff0c\u53bb\u4e00\u4e00\u5bf9\u5e94\u3002"),(0,n.kt)("h3",{id:"\u4f8b\u5982"},"\u4f8b\u5982"),(0,n.kt)("p",null,"\u5982\u679c\u6709\u591a\u4e2a\u7f51\u5361\uff0cip addr \u6d89\u53ca\u591a\u4e2aip \uff0c\u9700\u8981\u8bbe\u7f6e\u5185\u7f51ip \u6216\u8005\u57df\u540d \uff0c\u53bb\u4e00\u4e00\u5bf9\u5e94\uff0c\u6ca1\u6709\u7684\u8bdd\u7528127.0.0.1 \u5c31\u53ef\u4ee5\u3002"),(0,n.kt)("p",null,"\u8bbe\u7f6e Snakemq \u901a\u4fe1"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-plain"},"soliduimodelui/.env SNAKEMQ_LISTENER server \u76d1\u542c\u5668 \uff0c\u8bbe\u7f6e\u5185\u7f51ip\nsoliduimodelui/.env SNAKEMQ_CONNECTOR \u4e0eserver \u8fde\u63a5ip \uff0c\u8bbe\u7f6e\u5185\u7f51ip\n")),(0,n.kt)("h2",{id:"docker-\u90e8\u7f72\u901a\u4fe1"},"Docker \u90e8\u7f72\u901a\u4fe1"),(0,n.kt)("p",null,"\u5bb9\u5668\u5316\u90e8\u7f72\uff0c\u5728\u6b64\u6211\u7b80\u5316\u63cf\u8ff0\uff0c\u4e0d\u5e26\u5bb9\u5668\u7ba1\u7406\u6846\u67b6\u63cf\u8ff0\uff0c\u56e0\u4e3a\u901a\u4fe1\u6700\u6839\u672c\u7684\u660e\u767d\u540e\uff0c\u5176\u5b83\u5728\u6846\u67b6\u4e2d\u4e5f\u5c31\u660e\u767d\u4e86\uff0c\u5916\u90e8\u901a\u4fe1\uff0c\u5f00\u653e\u7aef\u53e3 \uff0c\u5185\u90e8\u901a\u4fe1\uff0c\u901a\u8fc7\u8bbe\u7f6e\u7f51\u6bb5\u540d\u79f0\uff0c\u4e0d\u540c\u5bb9\u5668\u901a\u4fe1\uff0c\u901a\u8fc7\u5bb9\u5668\u540d\u79f0\u8fdb\u884c\u3002"),(0,n.kt)("h3",{id:"\u4f8b\u5982-1"},"\u4f8b\u5982"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"\u6570\u636e\u5e93\u8fde\u63a5")),(0,n.kt)("p",null,"\u5728docker-compose.yml \u4e2d\uff0c\u8bbe\u7f6e\u4e86Mysql\u6570\u636e\u5e93\u540d\u79f0\u4e3amysql "),(0,n.kt)("p",null,"\u6240\u4ee5solidui-entrance application.yaml \u4e2d datasource.url mysql \u66ff\u6362 localhost"),(0,n.kt)("p",null,"soliduimodelui/.env DB_HOST mysql \u66ff\u6362 localhost "),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"soliduimodelui/.env Snakemq \u901a\u4fe1")),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-plain"},"soliduimodelui/.env SNAKEMQ_LISTENER server \u76d1\u542c\u5668 \uff0c\u8bbe\u7f6e0.0.0.0\nsoliduimodelui/.env SNAKEMQ_CONNECTOR \u4e0eserver \u8fde\u63a5ip \uff0c\u8bbe\u7f6esoliduimodelui\n")),(0,n.kt)("h2",{id:"\u7ed3\u8bed"},"\u7ed3\u8bed"),(0,n.kt)("p",null,"\u672c\u6587\u901a\u8fc7\u8bb2\u89e3\u72ec\u7acb\u90e8\u7f72 \u548c Docker \u901a\u4fe1\u5206\u6790 \uff0c\u544a\u8bc9\u90e8\u7f72\u8bbe\u7f6eip\u65f6\u5019\u65b9\u5f0f\uff0c\u4e0d\u662f\u76f2\u76ee\u8bbe\u7f6elocalhost\u5c31\u80fd\u89e3\u51b3\uff0c\u4e3a\u5927\u5bb6\u540e\u7eed\u66f4\u597d\u5171\u5efaSolidUI\u63d0\u4f9b\u601d\u8def\u3002"),(0,n.kt)("h2",{id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"},"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u5b98\u65b9\u6587\u6863\u8d21\u732e\u3002\u53d1\u73b0\u6587\u6863\u7684\u4e0d\u8db3\u3001\u4f18\u5316\u6587\u6863\uff0c\u6301\u7eed\u66f4\u65b0\u6587\u6863\u7b49\u65b9\u5f0f\u53c2\u4e0e\u793e\u533a\u8d21\u732e\u3002\u901a\u8fc7\u6587\u6863\u8d21\u732e\uff0c\u8ba9\u5f00\u53d1\u8005\u719f\u6089\u5982\u4f55\u63d0\u4ea4PR\u548c\u771f\u6b63\u53c2\u4e0e\u5230\u793e\u533a\u7684\u5efa\u8bbe\u3002\u53c2\u8003\u653b\u7565\uff1a",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("li",{parentName:"ul"},"\u4ee3\u7801\u8d21\u732e\u3002\u6211\u4eec\u68b3\u7406\u4e86\u793e\u533a\u4e2d\u7b80\u5355\u5e76\u4e14\u5bb9\u6613\u5165\u95e8\u7684\u7684\u4efb\u52a1\uff0c\u975e\u5e38\u9002\u5408\u65b0\u4eba\u505a\u4ee3\u7801\u8d21\u732e\u3002\u8bf7\u67e5\u9605\u65b0\u624b\u4efb\u52a1\u5217\u8868\uff1a",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("li",{parentName:"ul"},"\u5185\u5bb9\u8d21\u732e\uff1a\u53d1\u5e03SolidUI\u5f00\u6e90\u7ec4\u4ef6\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5b89\u88c5\u90e8\u7f72\u6559\u7a0b\u3001\u4f7f\u7528\u7ecf\u9a8c\u3001\u6848\u4f8b\u5b9e\u8df5\u7b49\uff0c\u5f62\u5f0f\u4e0d\u9650\uff0c\u8bf7\u6295\u7a3f\u7ed9\u5c0f\u52a9\u624b\u3002\u4f8b\u5982\uff1a",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("li",{parentName:"ul"},"\u793e\u533a\u7b54\u7591\uff1a\u79ef\u6781\u5728\u793e\u533a\u4e2d\u8fdb\u884c\u7b54\u7591\u3001\u5206\u4eab\u6280\u672f\u3001\u5e2e\u52a9\u5f00\u53d1\u8005\u89e3\u51b3\u95ee\u9898\u7b49\uff1b\n\u5176\u4ed6\uff1a\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u6d3b\u52a8\u3001\u6210\u4e3a\u793e\u533a\u5fd7\u613f\u8005\u3001\u5e2e\u52a9\u793e\u533a\u5ba3\u4f20\u3001\u4e3a\u793e\u533a\u53d1\u5c55\u63d0\u4f9b\u6709\u6548\u5efa\u8bae\u7b49\uff1b")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/7dae8659.20a7a774.js b/zh-CN/assets/js/7dae8659.20a7a774.js new file mode 100644 index 00000000..f8d62f5c --- /dev/null +++ b/zh-CN/assets/js/7dae8659.20a7a774.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7812],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>v});var n=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),a=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},s=function(e){var t=a(e.components);return n.createElement(c.Provider,{value:t},e.children)},u="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,o=e.originalType,c=e.parentName,s=d(e,["components","mdxType","originalType","parentName"]),u=a(r),m=i,v=u["".concat(c,".").concat(m)]||u[m]||p[m]||o;return r?n.createElement(v,l(l({ref:t},s),{},{components:r})):n.createElement(v,l({ref:t},s))}));function v(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=r.length,l=new Array(o);l[0]=m;var d={};for(var c in t)hasOwnProperty.call(t,c)&&(d[c]=t[c]);d.originalType=e,d[u]="string"==typeof e?e:i,l[1]=d;for(var a=2;a{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>p,frontMatter:()=>o,metadata:()=>d,toc:()=>a});var n=r(7462),i=(r(7294),r(3905));const o={id:"development-docker",title:"Docker \u7f16\u8bd1",sidebar_position:2},l="SolidUI Docker \u7f16\u8bd1",d={unversionedId:"development/development-docker",id:"development/development-docker",title:"Docker \u7f16\u8bd1",description:"1.\u524d\u7f6e\u6761\u4ef6",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/docker-images.md",sourceDirName:"development",slug:"/development/development-docker",permalink:"/SolidUI-Website/zh-CN/docs/development/development-docker",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/docker-images.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"development-docker",title:"Docker \u7f16\u8bd1",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Commit\u987b\u77e5",permalink:"/SolidUI-Website/zh-CN/docs/development/development-commit"},next:{title:"\u9879\u76ee\u8d21\u732e",permalink:"/SolidUI-Website/zh-CN/docs/development/develop-contributing"}},c={},a=[{value:"1.\u524d\u7f6e\u6761\u4ef6",id:"1\u524d\u7f6e\u6761\u4ef6",level:2},{value:"2.\u955c\u50cf\u6784\u5efa",id:"2\u955c\u50cf\u6784\u5efa",level:2},{value:"2.1 \u670d\u52a1\u7aef\u955c\u50cf\u6784\u5efa-entrance-server",id:"21-\u670d\u52a1\u7aef\u955c\u50cf\u6784\u5efa-entrance-server",level:3},{value:"2.2 \u670d\u52a1\u7aef\u955c\u50cf\u6784\u5efa-soliduimodelui (0.2.0\u7248\u672c\u540e)",id:"22-\u670d\u52a1\u7aef\u955c\u50cf\u6784\u5efa-soliduimodelui-020\u7248\u672c\u540e",level:3},{value:"2.3 \u524d\u7aef\u955c\u50cf\u6784\u5efa",id:"23-\u524d\u7aef\u955c\u50cf\u6784\u5efa",level:3}],s={toc:a},u="wrapper";function p(e){let{components:t,...r}=e;return(0,i.kt)(u,(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"solidui-docker-\u7f16\u8bd1"},"SolidUI Docker \u7f16\u8bd1"),(0,i.kt)("h2",{id:"1\u524d\u7f6e\u6761\u4ef6"},"1.\u524d\u7f6e\u6761\u4ef6"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://docs.docker.com/engine/install/"},"Docker")," 1.13.1+"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u65b9\u5f0f1\uff1a\u4ece\u5b98\u7f51\u4e0b\u8f7d\u5730\u5740: ",(0,i.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/releases"},"https://github.com/CloudOrc/SolidUI/releases")," \uff0c\u4e0b\u8f7d\u5bf9\u5e94\u7684\u5b89\u88c5\u5305\uff08\u6574\u4f53\u5b89\u88c5\u5305\uff09\u3002"),(0,i.kt)("li",{parentName:"ul"},"\u65b9\u5f0f2\uff1a\u6839\u636eSolidUI \u81ea\u884c\u7f16\u8bd1\u51fa\u9879\u76ee\u5b89\u88c5\u5305\u3002")),(0,i.kt)("h2",{id:"2\u955c\u50cf\u6784\u5efa"},"2.\u955c\u50cf\u6784\u5efa"),(0,i.kt)("h3",{id:"21-\u670d\u52a1\u7aef\u955c\u50cf\u6784\u5efa-entrance-server"},"2.1 \u670d\u52a1\u7aef\u955c\u50cf\u6784\u5efa-entrance-server"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"tar -zxvf solidui-x.x.x-bin.tar.gz\ncd solidui-x.x.x-bin/entrance-server\ndocker build -f ./docker/Dockerfile -t solidui-entrance:x.x.x .\n\n")),(0,i.kt)("h3",{id:"22-\u670d\u52a1\u7aef\u955c\u50cf\u6784\u5efa-soliduimodelui-020\u7248\u672c\u540e"},"2.2 \u670d\u52a1\u7aef\u955c\u50cf\u6784\u5efa-soliduimodelui (0.2.0\u7248\u672c\u540e)"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"tar -zxvf solidui-x.x.x-bin.tar.gz\ncd solidui-x.x.x-bin\n# \u4fee\u6539.env\u914d\u7f6e\u6587\u4ef6\nvi soliduimodelui/.env\nSNAKEMQ_LISTENER=0.0.0.0\nSNAKEMQ_CONNECTOR=soliduimodelui\n\ndocker build -f ./soliduimodelui/docker/Dockerfile -t soliduimodelui:x.x.x .\n")),(0,i.kt)("h3",{id:"23-\u524d\u7aef\u955c\u50cf\u6784\u5efa"},"2.3 \u524d\u7aef\u955c\u50cf\u6784\u5efa"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"\ntar -zxvf solidui-x.x.x-bin.tar.gz\ncd solidui-x.x.x-bin/solidui-web\ndocker build -f ./docker/Dockerfile -t solidui-web:x.x.x .\n\n")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/8105.a89b396d.js b/zh-CN/assets/js/8105.a89b396d.js new file mode 100644 index 00000000..485a49d0 --- /dev/null +++ b/zh-CN/assets/js/8105.a89b396d.js @@ -0,0 +1 @@ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8105],{3905:(e,t,n)=>{"use strict";n.d(t,{Zo:()=>u,kt:()=>f});var o=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function l(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var i=o.createContext({}),s=function(e){var t=o.useContext(i),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},u=function(e){var t=s(e.components);return o.createElement(i.Provider,{value:t},e.children)},m="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},p=o.forwardRef((function(e,t){var n=e.components,a=e.mdxType,r=e.originalType,i=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),m=s(n),p=a,f=m["".concat(i,".").concat(p)]||m[p]||d[p]||r;return n?o.createElement(f,l(l({ref:t},u),{},{components:n})):o.createElement(f,l({ref:t},u))}));function f(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var r=n.length,l=new Array(r);l[0]=p;var c={};for(var i in t)hasOwnProperty.call(t,i)&&(c[i]=t[i]);c.originalType=e,c[m]="string"==typeof e?e:a,l[1]=c;for(var s=2;s{"use strict";n.d(t,{Z:()=>u});var o=n(7294),a=n(5999),r=n(5281),l=n(7462),c=n(6010);const i={iconEdit:"iconEdit_Z9Sw"};function s(e){let{className:t,...n}=e;return o.createElement("svg",(0,l.Z)({fill:"currentColor",height:"20",width:"20",viewBox:"0 0 40 40",className:(0,c.Z)(i.iconEdit,t),"aria-hidden":"true"},n),o.createElement("g",null,o.createElement("path",{d:"m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"})))}function u(e){let{editUrl:t}=e;return o.createElement("a",{href:t,target:"_blank",rel:"noreferrer noopener",className:r.k.common.editThisPage},o.createElement(s,null),o.createElement(a.Z,{id:"theme.common.editThisPage",description:"The link label to edit the current page"},"Edit this page"))}},7955:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var o=n(7462),a=n(7294),r=n(6010),l=n(5999),c=n(6668),i=n(9960);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};function u(e){let{as:t,id:n,...u}=e;const{navbar:{hideOnScroll:m}}=(0,c.L)();if("h1"===t||!n)return a.createElement(t,(0,o.Z)({},u,{id:void 0}));const d=(0,l.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof u.children?u.children:n});return a.createElement(t,(0,o.Z)({},u,{className:(0,r.Z)("anchor",m?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,u.className),id:n}),u.children,a.createElement(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":d,title:d},"\u200b"))}},8718:(e,t,n)=>{"use strict";n.d(t,{Z:()=>he});var o=n(7294),a=n(3905),r=n(7462),l=n(5742);var c=n(2389),i=n(6010),s=n(2949),u=n(6668);function m(){const{prism:e}=(0,u.L)(),{colorMode:t}=(0,s.I)(),n=e.theme,o=e.darkTheme||n;return"dark"===t?o:n}var d=n(5281),p=n(7594),f=n.n(p);const g=/title=(?["'])(?.*?)\1/,h=/\{(?<range>[\d,-]+)\}/,y={js:{start:"\\/\\/",end:""},jsBlock:{start:"\\/\\*",end:"\\*\\/"},jsx:{start:"\\{\\s*\\/\\*",end:"\\*\\/\\s*\\}"},bash:{start:"#",end:""},html:{start:"\x3c!--",end:"--\x3e"}};function b(e,t){const n=e.map((e=>{const{start:n,end:o}=y[e];return`(?:${n}\\s*(${t.flatMap((e=>[e.line,e.block?.start,e.block?.end].filter(Boolean))).join("|")})\\s*${o})`})).join("|");return new RegExp(`^\\s*(?:${n})\\s*$`)}function v(e,t){let n=e.replace(/\n$/,"");const{language:o,magicComments:a,metastring:r}=t;if(r&&h.test(r)){const e=r.match(h).groups.range;if(0===a.length)throw new Error(`A highlight range has been given in code block's metastring (\`\`\` ${r}), but no magic comment config is available. Docusaurus applies the first magic comment entry's className for metastring ranges.`);const t=a[0].className,o=f()(e).filter((e=>e>0)).map((e=>[e-1,[t]]));return{lineClassNames:Object.fromEntries(o),code:n}}if(void 0===o)return{lineClassNames:{},code:n};const l=function(e,t){switch(e){case"js":case"javascript":case"ts":case"typescript":return b(["js","jsBlock"],t);case"jsx":case"tsx":return b(["js","jsBlock","jsx"],t);case"html":return b(["js","jsBlock","html"],t);case"python":case"py":case"bash":return b(["bash"],t);case"markdown":case"md":return b(["html","jsx","bash"],t);default:return b(Object.keys(y),t)}}(o,a),c=n.split("\n"),i=Object.fromEntries(a.map((e=>[e.className,{start:0,range:""}]))),s=Object.fromEntries(a.filter((e=>e.line)).map((e=>{let{className:t,line:n}=e;return[n,t]}))),u=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.start,t]}))),m=Object.fromEntries(a.filter((e=>e.block)).map((e=>{let{className:t,block:n}=e;return[n.end,t]})));for(let p=0;p<c.length;){const e=c[p].match(l);if(!e){p+=1;continue}const t=e.slice(1).find((e=>void 0!==e));s[t]?i[s[t]].range+=`${p},`:u[t]?i[u[t]].start=p:m[t]&&(i[m[t]].range+=`${i[m[t]].start}-${p-1},`),c.splice(p,1)}n=c.join("\n");const d={};return Object.entries(i).forEach((e=>{let[t,{range:n}]=e;f()(n).forEach((e=>{d[e]??=[],d[e].push(t)}))})),{lineClassNames:d,code:n}}const E={codeBlockContainer:"codeBlockContainer_Ckt0"};function k(e){let{as:t,...n}=e;const a=function(e){const t={color:"--prism-color",backgroundColor:"--prism-background-color"},n={};return Object.entries(e.plain).forEach((e=>{let[o,a]=e;const r=t[o];r&&"string"==typeof a&&(n[r]=a)})),n}(m());return o.createElement(t,(0,r.Z)({},n,{style:a,className:(0,i.Z)(n.className,E.codeBlockContainer,d.k.common.codeBlock)}))}const N={codeBlockContent:"codeBlockContent_biex",codeBlockTitle:"codeBlockTitle_Ktv7",codeBlock:"codeBlock_bY9V",codeBlockStandalone:"codeBlockStandalone_MEMb",codeBlockLines:"codeBlockLines_e6Vv",codeBlockLinesWithNumbering:"codeBlockLinesWithNumbering_o6Pm",buttonGroup:"buttonGroup__atx"};function C(e){let{children:t,className:n}=e;return o.createElement(k,{as:"pre",tabIndex:0,className:(0,i.Z)(N.codeBlockStandalone,"thin-scrollbar",n)},o.createElement("code",{className:N.codeBlockLines},t))}var w=n(902);const B={attributes:!0,characterData:!0,childList:!0,subtree:!0};function Z(e,t){const[n,a]=(0,o.useState)(),r=(0,o.useCallback)((()=>{a(e.current?.closest("[role=tabpanel][hidden]"))}),[e,a]);(0,o.useEffect)((()=>{r()}),[r]),function(e,t,n){void 0===n&&(n=B);const a=(0,w.zX)(t),r=(0,w.Ql)(n);(0,o.useEffect)((()=>{const t=new MutationObserver(a);return e&&t.observe(e,r),()=>t.disconnect()}),[e,a,r])}(n,(e=>{e.forEach((e=>{"attributes"===e.type&&"hidden"===e.attributeName&&(t(),r())}))}),{attributes:!0,characterData:!1,childList:!1,subtree:!1})}const T={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]};var L={Prism:n(7410).Z,theme:T};function j(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _(){return _=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},_.apply(this,arguments)}var x=/\r\n|\r|\n/,O=function(e){0===e.length?e.push({types:["plain"],content:"\n",empty:!0}):1===e.length&&""===e[0].content&&(e[0].content="\n",e[0].empty=!0)},S=function(e,t){var n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)};function P(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&-1===t.indexOf(o)&&(n[o]=e[o]);return n}var z=function(e){function t(){for(var t=this,n=[],o=arguments.length;o--;)n[o]=arguments[o];e.apply(this,n),j(this,"getThemeDict",(function(e){if(void 0!==t.themeDict&&e.theme===t.prevTheme&&e.language===t.prevLanguage)return t.themeDict;t.prevTheme=e.theme,t.prevLanguage=e.language;var n=e.theme?function(e,t){var n=e.plain,o=Object.create(null),a=e.styles.reduce((function(e,n){var o=n.languages,a=n.style;return o&&!o.includes(t)||n.types.forEach((function(t){var n=_({},e[t],a);e[t]=n})),e}),o);return a.root=n,a.plain=_({},n,{backgroundColor:null}),a}(e.theme,e.language):void 0;return t.themeDict=n})),j(this,"getLineProps",(function(e){var n=e.key,o=e.className,a=e.style,r=_({},P(e,["key","className","style","line"]),{className:"token-line",style:void 0,key:void 0}),l=t.getThemeDict(t.props);return void 0!==l&&(r.style=l.plain),void 0!==a&&(r.style=void 0!==r.style?_({},r.style,a):a),void 0!==n&&(r.key=n),o&&(r.className+=" "+o),r})),j(this,"getStyleForToken",(function(e){var n=e.types,o=e.empty,a=n.length,r=t.getThemeDict(t.props);if(void 0!==r){if(1===a&&"plain"===n[0])return o?{display:"inline-block"}:void 0;if(1===a&&!o)return r[n[0]];var l=o?{display:"inline-block"}:{},c=n.map((function(e){return r[e]}));return Object.assign.apply(Object,[l].concat(c))}})),j(this,"getTokenProps",(function(e){var n=e.key,o=e.className,a=e.style,r=e.token,l=_({},P(e,["key","className","style","token"]),{className:"token "+r.types.join(" "),children:r.content,style:t.getStyleForToken(r),key:void 0});return void 0!==a&&(l.style=void 0!==l.style?_({},l.style,a):a),void 0!==n&&(l.key=n),o&&(l.className+=" "+o),l})),j(this,"tokenize",(function(e,t,n,o){var a={code:t,grammar:n,language:o,tokens:[]};e.hooks.run("before-tokenize",a);var r=a.tokens=e.tokenize(a.code,a.grammar,a.language);return e.hooks.run("after-tokenize",a),r}))}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var e=this.props,t=e.Prism,n=e.language,o=e.code,a=e.children,r=this.getThemeDict(this.props),l=t.languages[n];return a({tokens:function(e){for(var t=[[]],n=[e],o=[0],a=[e.length],r=0,l=0,c=[],i=[c];l>-1;){for(;(r=o[l]++)<a[l];){var s=void 0,u=t[l],m=n[l][r];if("string"==typeof m?(u=l>0?u:["plain"],s=m):(u=S(u,m.type),m.alias&&(u=S(u,m.alias)),s=m.content),"string"==typeof s){var d=s.split(x),p=d.length;c.push({types:u,content:d[0]});for(var f=1;f<p;f++)O(c),i.push(c=[]),c.push({types:u,content:d[f]})}else l++,t.push(u),n.push(s),o.push(0),a.push(s.length)}l--,t.pop(),n.pop(),o.pop(),a.pop()}return O(c),i}(void 0!==l?this.tokenize(t,o,l,n):[o]),className:"prism-code language-"+n,style:void 0!==r?r.root:{},getLineProps:this.getLineProps,getTokenProps:this.getTokenProps})},t}(o.Component);const A=z,I={codeLine:"codeLine_lJS_",codeLineNumber:"codeLineNumber_Tfdd",codeLineContent:"codeLineContent_feaV"};function W(e){let{line:t,classNames:n,showLineNumbers:a,getLineProps:l,getTokenProps:c}=e;1===t.length&&"\n"===t[0].content&&(t[0].content="");const s=l({line:t,className:(0,i.Z)(n,a&&I.codeLine)}),u=t.map(((e,t)=>o.createElement("span",(0,r.Z)({key:t},c({token:e,key:t})))));return o.createElement("span",s,a?o.createElement(o.Fragment,null,o.createElement("span",{className:I.codeLineNumber}),o.createElement("span",{className:I.codeLineContent},u)):u,o.createElement("br",null))}var M=n(5999);function H(e){return o.createElement("svg",(0,r.Z)({viewBox:"0 0 24 24"},e),o.createElement("path",{fill:"currentColor",d:"M19,21H8V7H19M19,5H8A2,2 0 0,0 6,7V21A2,2 0 0,0 8,23H19A2,2 0 0,0 21,21V7A2,2 0 0,0 19,5M16,1H4A2,2 0 0,0 2,3V17H4V3H16V1Z"}))}function D(e){return o.createElement("svg",(0,r.Z)({viewBox:"0 0 24 24"},e),o.createElement("path",{fill:"currentColor",d:"M21,7L9,19L3.5,13.5L4.91,12.09L9,16.17L19.59,5.59L21,7Z"}))}const V={copyButtonCopied:"copyButtonCopied_obH4",copyButtonIcons:"copyButtonIcons_eSgA",copyButtonIcon:"copyButtonIcon_y97N",copyButtonSuccessIcon:"copyButtonSuccessIcon_LjdS"};function R(e){let{code:t,className:n}=e;const[a,r]=(0,o.useState)(!1),l=(0,o.useRef)(void 0),c=(0,o.useCallback)((()=>{!function(e,t){let{target:n=document.body}=void 0===t?{}:t;if("string"!=typeof e)throw new TypeError(`Expected parameter \`text\` to be a \`string\`, got \`${typeof e}\`.`);const o=document.createElement("textarea"),a=document.activeElement;o.value=e,o.setAttribute("readonly",""),o.style.contain="strict",o.style.position="absolute",o.style.left="-9999px",o.style.fontSize="12pt";const r=document.getSelection(),l=r.rangeCount>0&&r.getRangeAt(0);n.append(o),o.select(),o.selectionStart=0,o.selectionEnd=e.length;let c=!1;try{c=document.execCommand("copy")}catch{}o.remove(),l&&(r.removeAllRanges(),r.addRange(l)),a&&a.focus()}(t),r(!0),l.current=window.setTimeout((()=>{r(!1)}),1e3)}),[t]);return(0,o.useEffect)((()=>()=>window.clearTimeout(l.current)),[]),o.createElement("button",{type:"button","aria-label":a?(0,M.I)({id:"theme.CodeBlock.copied",message:"Copied",description:"The copied button label on code blocks"}):(0,M.I)({id:"theme.CodeBlock.copyButtonAriaLabel",message:"Copy code to clipboard",description:"The ARIA label for copy code blocks button"}),title:(0,M.I)({id:"theme.CodeBlock.copy",message:"Copy",description:"The copy button label on code blocks"}),className:(0,i.Z)("clean-btn",n,V.copyButton,a&&V.copyButtonCopied),onClick:c},o.createElement("span",{className:V.copyButtonIcons,"aria-hidden":"true"},o.createElement(H,{className:V.copyButtonIcon}),o.createElement(D,{className:V.copyButtonSuccessIcon})))}function $(e){return o.createElement("svg",(0,r.Z)({viewBox:"0 0 24 24"},e),o.createElement("path",{fill:"currentColor",d:"M4 19h6v-2H4v2zM20 5H4v2h16V5zm-3 6H4v2h13.25c1.1 0 2 .9 2 2s-.9 2-2 2H15v-2l-3 3l3 3v-2h2c2.21 0 4-1.79 4-4s-1.79-4-4-4z"}))}const F={wordWrapButtonIcon:"wordWrapButtonIcon_Bwma",wordWrapButtonEnabled:"wordWrapButtonEnabled_EoeP"};function q(e){let{className:t,onClick:n,isEnabled:a}=e;const r=(0,M.I)({id:"theme.CodeBlock.wordWrapToggle",message:"Toggle word wrap",description:"The title attribute for toggle word wrapping button of code block lines"});return o.createElement("button",{type:"button",onClick:n,className:(0,i.Z)("clean-btn",t,a&&F.wordWrapButtonEnabled),"aria-label":r,title:r},o.createElement($,{className:F.wordWrapButtonIcon,"aria-hidden":"true"}))}function G(e){let{children:t,className:n="",metastring:a,title:l,showLineNumbers:c,language:s}=e;const{prism:{defaultLanguage:d,magicComments:p}}=(0,u.L)(),f=s??function(e){const t=e.split(" ").find((e=>e.startsWith("language-")));return t?.replace(/language-/,"")}(n)??d,h=m(),y=function(){const[e,t]=(0,o.useState)(!1),[n,a]=(0,o.useState)(!1),r=(0,o.useRef)(null),l=(0,o.useCallback)((()=>{const n=r.current.querySelector("code");e?n.removeAttribute("style"):(n.style.whiteSpace="pre-wrap",n.style.overflowWrap="anywhere"),t((e=>!e))}),[r,e]),c=(0,o.useCallback)((()=>{const{scrollWidth:e,clientWidth:t}=r.current,n=e>t||r.current.querySelector("code").hasAttribute("style");a(n)}),[r]);return Z(r,c),(0,o.useEffect)((()=>{c()}),[e,c]),(0,o.useEffect)((()=>(window.addEventListener("resize",c,{passive:!0}),()=>{window.removeEventListener("resize",c)})),[c]),{codeBlockRef:r,isEnabled:e,isCodeScrollable:n,toggle:l}}(),b=function(e){return e?.match(g)?.groups.title??""}(a)||l,{lineClassNames:E,code:C}=v(t,{metastring:a,language:f,magicComments:p}),w=c??function(e){return Boolean(e?.includes("showLineNumbers"))}(a);return o.createElement(k,{as:"div",className:(0,i.Z)(n,f&&!n.includes(`language-${f}`)&&`language-${f}`)},b&&o.createElement("div",{className:N.codeBlockTitle},b),o.createElement("div",{className:N.codeBlockContent},o.createElement(A,(0,r.Z)({},L,{theme:h,code:C,language:f??"text"}),(e=>{let{className:t,tokens:n,getLineProps:a,getTokenProps:r}=e;return o.createElement("pre",{tabIndex:0,ref:y.codeBlockRef,className:(0,i.Z)(t,N.codeBlock,"thin-scrollbar")},o.createElement("code",{className:(0,i.Z)(N.codeBlockLines,w&&N.codeBlockLinesWithNumbering)},n.map(((e,t)=>o.createElement(W,{key:t,line:e,getLineProps:a,getTokenProps:r,classNames:E[t],showLineNumbers:w})))))})),o.createElement("div",{className:N.buttonGroup},(y.isEnabled||y.isCodeScrollable)&&o.createElement(q,{className:N.codeButton,onClick:()=>y.toggle(),isEnabled:y.isEnabled}),o.createElement(R,{className:N.codeButton,code:C}))))}function U(e){let{children:t,...n}=e;const a=(0,c.Z)(),l=function(e){return o.Children.toArray(e).some((e=>(0,o.isValidElement)(e)))?e:Array.isArray(e)?e.join(""):e}(t),i="string"==typeof l?G:C;return o.createElement(i,(0,r.Z)({key:String(a)},n),l)}var Q=n(9960);var X=n(6043);const Y={details:"details_lb9f",isBrowser:"isBrowser_bmU9",collapsibleContent:"collapsibleContent_i85q"};function J(e){return!!e&&("SUMMARY"===e.tagName||J(e.parentElement))}function K(e,t){return!!e&&(e===t||K(e.parentElement,t))}function ee(e){let{summary:t,children:n,...a}=e;const l=(0,c.Z)(),s=(0,o.useRef)(null),{collapsed:u,setCollapsed:m}=(0,X.u)({initialState:!a.open}),[d,p]=(0,o.useState)(a.open),f=o.isValidElement(t)?t:o.createElement("summary",null,t??"Details");return o.createElement("details",(0,r.Z)({},a,{ref:s,open:d,"data-collapsed":u,className:(0,i.Z)(Y.details,l&&Y.isBrowser,a.className),onMouseDown:e=>{J(e.target)&&e.detail>1&&e.preventDefault()},onClick:e=>{e.stopPropagation();const t=e.target;J(t)&&K(t,s.current)&&(e.preventDefault(),u?(m(!1),p(!0)):m(!0))}}),f,o.createElement(X.z,{lazy:!1,collapsed:u,disableSSRStyle:!0,onCollapseTransitionEnd:e=>{m(e),p(!e)}},o.createElement("div",{className:Y.collapsibleContent},n)))}const te={details:"details_b_Ee"},ne="alert alert--info";function oe(e){let{...t}=e;return o.createElement(ee,(0,r.Z)({},t,{className:(0,i.Z)(ne,te.details,t.className)}))}var ae=n(7955);function re(e){return o.createElement(ae.Z,e)}const le={containsTaskList:"containsTaskList_mC6p"};const ce={img:"img_ev3q"};const ie="admonition_LlT9",se="admonitionHeading_tbUL",ue="admonitionIcon_kALy",me="admonitionContent_S0QG";const de={note:{infimaClassName:"secondary",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 14 16"},o.createElement("path",{fillRule:"evenodd",d:"M6.3 5.69a.942.942 0 0 1-.28-.7c0-.28.09-.52.28-.7.19-.18.42-.28.7-.28.28 0 .52.09.7.28.18.19.28.42.28.7 0 .28-.09.52-.28.7a1 1 0 0 1-.7.3c-.28 0-.52-.11-.7-.3zM8 7.99c-.02-.25-.11-.48-.31-.69-.2-.19-.42-.3-.69-.31H6c-.27.02-.48.13-.69.31-.2.2-.3.44-.31.69h1v3c.02.27.11.5.31.69.2.2.42.31.69.31h1c.27 0 .48-.11.69-.31.2-.19.3-.42.31-.69H8V7.98v.01zM7 2.3c-3.14 0-5.7 2.54-5.7 5.68 0 3.14 2.56 5.7 5.7 5.7s5.7-2.55 5.7-5.7c0-3.15-2.56-5.69-5.7-5.69v.01zM7 .98c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.12-7-7 3.14-7 7-7z"}))},label:o.createElement(M.Z,{id:"theme.admonition.note",description:"The default label used for the Note admonition (:::note)"},"note")},tip:{infimaClassName:"success",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 12 16"},o.createElement("path",{fillRule:"evenodd",d:"M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"}))},label:o.createElement(M.Z,{id:"theme.admonition.tip",description:"The default label used for the Tip admonition (:::tip)"},"tip")},danger:{infimaClassName:"danger",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 12 16"},o.createElement("path",{fillRule:"evenodd",d:"M5.05.31c.81 2.17.41 3.38-.52 4.31C3.55 5.67 1.98 6.45.9 7.98c-1.45 2.05-1.7 6.53 3.53 7.7-2.2-1.16-2.67-4.52-.3-6.61-.61 2.03.53 3.33 1.94 2.86 1.39-.47 2.3.53 2.27 1.67-.02.78-.31 1.44-1.13 1.81 3.42-.59 4.78-3.42 4.78-5.56 0-2.84-2.53-3.22-1.25-5.61-1.52.13-2.03 1.13-1.89 2.75.09 1.08-1.02 1.8-1.86 1.33-.67-.41-.66-1.19-.06-1.78C8.18 5.31 8.68 2.45 5.05.32L5.03.3l.02.01z"}))},label:o.createElement(M.Z,{id:"theme.admonition.danger",description:"The default label used for the Danger admonition (:::danger)"},"danger")},info:{infimaClassName:"info",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 14 16"},o.createElement("path",{fillRule:"evenodd",d:"M7 2.3c3.14 0 5.7 2.56 5.7 5.7s-2.56 5.7-5.7 5.7A5.71 5.71 0 0 1 1.3 8c0-3.14 2.56-5.7 5.7-5.7zM7 1C3.14 1 0 4.14 0 8s3.14 7 7 7 7-3.14 7-7-3.14-7-7-7zm1 3H6v5h2V4zm0 6H6v2h2v-2z"}))},label:o.createElement(M.Z,{id:"theme.admonition.info",description:"The default label used for the Info admonition (:::info)"},"info")},caution:{infimaClassName:"warning",iconComponent:function(){return o.createElement("svg",{viewBox:"0 0 16 16"},o.createElement("path",{fillRule:"evenodd",d:"M8.893 1.5c-.183-.31-.52-.5-.887-.5s-.703.19-.886.5L.138 13.499a.98.98 0 0 0 0 1.001c.193.31.53.501.886.501h13.964c.367 0 .704-.19.877-.5a1.03 1.03 0 0 0 .01-1.002L8.893 1.5zm.133 11.497H6.987v-2.003h2.039v2.003zm0-3.004H6.987V5.987h2.039v4.006z"}))},label:o.createElement(M.Z,{id:"theme.admonition.caution",description:"The default label used for the Caution admonition (:::caution)"},"caution")}},pe={secondary:"note",important:"info",success:"tip",warning:"danger"};function fe(e){const{mdxAdmonitionTitle:t,rest:n}=function(e){const t=o.Children.toArray(e),n=t.find((e=>o.isValidElement(e)&&"mdxAdmonitionTitle"===e.props?.mdxType)),a=o.createElement(o.Fragment,null,t.filter((e=>e!==n)));return{mdxAdmonitionTitle:n,rest:a}}(e.children);return{...e,title:e.title??t,children:n}}const ge={head:function(e){const t=o.Children.map(e.children,(e=>o.isValidElement(e)?function(e){if(e.props?.mdxType&&e.props.originalType){const{mdxType:t,originalType:n,...a}=e.props;return o.createElement(e.props.originalType,a)}return e}(e):e));return o.createElement(l.Z,e,t)},code:function(e){const t=["a","abbr","b","br","button","cite","code","del","dfn","em","i","img","input","ins","kbd","label","object","output","q","ruby","s","small","span","strong","sub","sup","time","u","var","wbr"];return o.Children.toArray(e.children).every((e=>"string"==typeof e&&!e.includes("\n")||(0,o.isValidElement)(e)&&t.includes(e.props?.mdxType)))?o.createElement("code",e):o.createElement(U,e)},a:function(e){return o.createElement(Q.Z,e)},pre:function(e){return o.createElement(U,(0,o.isValidElement)(e.children)&&"code"===e.children.props?.originalType?e.children.props:{...e})},details:function(e){const t=o.Children.toArray(e.children),n=t.find((e=>o.isValidElement(e)&&"summary"===e.props?.mdxType)),a=o.createElement(o.Fragment,null,t.filter((e=>e!==n)));return o.createElement(oe,(0,r.Z)({},e,{summary:n}),a)},ul:function(e){return o.createElement("ul",(0,r.Z)({},e,{className:(t=e.className,(0,i.Z)(t,t?.includes("contains-task-list")&&le.containsTaskList))}));var t},img:function(e){return o.createElement("img",(0,r.Z)({loading:"lazy"},e,{className:(t=e.className,(0,i.Z)(t,ce.img))}));var t},h1:e=>o.createElement(re,(0,r.Z)({as:"h1"},e)),h2:e=>o.createElement(re,(0,r.Z)({as:"h2"},e)),h3:e=>o.createElement(re,(0,r.Z)({as:"h3"},e)),h4:e=>o.createElement(re,(0,r.Z)({as:"h4"},e)),h5:e=>o.createElement(re,(0,r.Z)({as:"h5"},e)),h6:e=>o.createElement(re,(0,r.Z)({as:"h6"},e)),admonition:function(e){const{children:t,type:n,title:a,icon:r}=fe(e),l=function(e){const t=pe[e]??e,n=de[t];return n||(console.warn(`No admonition config found for admonition type "${t}". Using Info as fallback.`),de.info)}(n),c=a??l.label,{iconComponent:s}=l,u=r??o.createElement(s,null);return o.createElement("div",{className:(0,i.Z)(d.k.common.admonition,d.k.common.admonitionType(e.type),"alert",`alert--${l.infimaClassName}`,ie)},o.createElement("div",{className:se},o.createElement("span",{className:ue},u),c),o.createElement("div",{className:me},t))},mermaid:()=>null};function he(e){let{children:t}=e;return o.createElement(a.Zo,{components:ge},t)}},2244:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l});var o=n(7294),a=n(6010),r=n(9960);function l(e){const{permalink:t,title:n,subLabel:l,isNext:c}=e;return o.createElement(r.Z,{className:(0,a.Z)("pagination-nav__link",c?"pagination-nav__link--next":"pagination-nav__link--prev"),to:t},l&&o.createElement("div",{className:"pagination-nav__sublabel"},l),o.createElement("div",{className:"pagination-nav__label"},n))}},3008:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});var o=n(7294),a=n(6010),r=n(9960);const l={tag:"tag_zVej",tagRegular:"tagRegular_sFm0",tagWithCount:"tagWithCount_h2kH"};function c(e){let{permalink:t,label:n,count:c}=e;return o.createElement(r.Z,{href:t,className:(0,a.Z)(l.tag,c?l.tagWithCount:l.tagRegular)},n,c&&o.createElement("span",null,c))}},1526:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var o=n(7294),a=n(6010),r=n(5999),l=n(3008);const c={tags:"tags_jXut",tag:"tag_QGVx"};function i(e){let{tags:t}=e;return o.createElement(o.Fragment,null,o.createElement("b",null,o.createElement(r.Z,{id:"theme.tags.tagsListLabel",description:"The label alongside a tag list"},"Tags:")),o.createElement("ul",{className:(0,a.Z)(c.tags,"padding--none","margin-left--sm")},t.map((e=>{let{label:t,permalink:n}=e;return o.createElement("li",{key:n,className:c.tag},o.createElement(l.Z,{label:t,permalink:n}))}))))}},7594:(e,t)=>{function n(e){let t,n=[];for(let o of e.split(",").map((e=>e.trim())))if(/^-?\d+$/.test(o))n.push(parseInt(o,10));else if(t=o.match(/^(-?\d+)(-|\.\.\.?|\u2025|\u2026|\u22EF)(-?\d+)$/)){let[e,o,a,r]=t;if(o&&r){o=parseInt(o),r=parseInt(r);const e=o<r?1:-1;"-"!==a&&".."!==a&&"\u2025"!==a||(r+=e);for(let t=o;t!==r;t+=e)n.push(t)}}return n}t.default=n,e.exports=n}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/814f3328.5765a8c5.js b/zh-CN/assets/js/814f3328.5765a8c5.js new file mode 100644 index 00000000..cdfaa8e7 --- /dev/null +++ b/zh-CN/assets/js/814f3328.5765a8c5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2535],{5641:e=>{e.exports=JSON.parse('{"title":"Recent posts","items":[{"title":"Version Update | SolidUI 0.2.0 Release","permalink":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release"},{"title":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","permalink":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction"},{"title":"SolidUI Community - Official Website Introduction","permalink":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction"},{"title":"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790","permalink":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis"},{"title":"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790","permalink":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis"},{"title":"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3","permalink":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0"}]}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/81b24dac.d375d81e.js b/zh-CN/assets/js/81b24dac.d375d81e.js new file mode 100644 index 00000000..bc6c038d --- /dev/null +++ b/zh-CN/assets/js/81b24dac.d375d81e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3818],{1789:e=>{e.exports=JSON.parse('{"label":"SolidUI","permalink":"/SolidUI-Website/zh-CN/blog/tags/solid-ui","allTagsPath":"/SolidUI-Website/zh-CN/blog/tags","count":6}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/825762ae.d1744b8d.js b/zh-CN/assets/js/825762ae.d1744b8d.js new file mode 100644 index 00000000..0c78ebff --- /dev/null +++ b/zh-CN/assets/js/825762ae.d1744b8d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[4389],{3905:(e,t,o)=>{o.d(t,{Zo:()=>p,kt:()=>h});var l=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function i(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,l)}return o}function r(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?i(Object(o),!0).forEach((function(t){n(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):i(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function a(e,t){if(null==e)return{};var o,l,n=function(e,t){if(null==e)return{};var o,l,n={},i=Object.keys(e);for(l=0;l<i.length;l++)o=i[l],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(l=0;l<i.length;l++)o=i[l],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var s=l.createContext({}),m=function(e){var t=l.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):r(r({},t),e)),o},p=function(e){var t=m(e.components);return l.createElement(s.Provider,{value:t},e.children)},c="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},d=l.forwardRef((function(e,t){var o=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,p=a(e,["components","mdxType","originalType","parentName"]),c=m(o),d=n,h=c["".concat(s,".").concat(d)]||c[d]||u[d]||i;return o?l.createElement(h,r(r({ref:t},p),{},{components:o})):l.createElement(h,r({ref:t},p))}));function h(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=o.length,r=new Array(i);r[0]=d;var a={};for(var s in t)hasOwnProperty.call(t,s)&&(a[s]=t[s]);a.originalType=e,a[c]="string"==typeof e?e:n,r[1]=a;for(var m=2;m<i;m++)r[m]=o[m];return l.createElement.apply(null,r)}return l.createElement.apply(null,o)}d.displayName="MDXCreateElement"},6001:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>m});var l=o(7462),n=(o(7294),o(3905));const i={id:"development-commit",title:"Commit\u987b\u77e5",sidebar_position:1},r="SolidUI Commit Message \u987b\u77e5",a={unversionedId:"development/development-commit",id:"development/development-commit",title:"Commit\u987b\u77e5",description:"https://linkis.apache.org/zh-CN/docs/latest/development/development-specification/commit-message",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/development-commit.md",sourceDirName:"development",slug:"/development/development-commit",permalink:"/SolidUI-Website/zh-CN/docs/development/development-commit",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/development-commit.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"development-commit",title:"Commit\u987b\u77e5",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"\u5feb\u901f\u5f00\u59cb",permalink:"/SolidUI-Website/zh-CN/docs/user-guide/quick-start"},next:{title:"Docker \u7f16\u8bd1",permalink:"/SolidUI-Website/zh-CN/docs/development/development-docker"}},s={},m=[{value:"1.\u524d\u8a00",id:"1\u524d\u8a00",level:2},{value:"2.Commit Message RIP",id:"2commit-message-rip",level:2},{value:"2.1 \u660e\u786e\u4fee\u6539\u5185\u5bb9",id:"21-\u660e\u786e\u4fee\u6539\u5185\u5bb9",level:3},{value:"2.2 \u5173\u8054\u76f8\u5e94\u7684Pull Request \u6216\u8005Issue",id:"22-\u5173\u8054\u76f8\u5e94\u7684pull-request-\u6216\u8005issue",level:3},{value:"2.3 \u7edf\u4e00\u7684\u683c\u5f0f",id:"23-\u7edf\u4e00\u7684\u683c\u5f0f",level:3},{value:"header",id:"header",level:4},{value:"Body",id:"body",level:4},{value:"Footer",id:"footer",level:4},{value:"\u4e3e\u4e2a\u4f8b\u5b50",id:"\u4e3e\u4e2a\u4f8b\u5b50",level:4},{value:"3.\u53c2\u8003\u6587\u6863",id:"3\u53c2\u8003\u6587\u6863",level:2}],p={toc:m},c="wrapper";function u(e){let{components:t,...o}=e;return(0,n.kt)(c,(0,l.Z)({},p,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"solidui-commit-message-\u987b\u77e5"},"SolidUI Commit Message \u987b\u77e5"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},(0,n.kt)("a",{parentName:"p",href:"https://linkis.apache.org/zh-CN/docs/latest/development/development-specification/commit-message"},"https://linkis.apache.org/zh-CN/docs/latest/development/development-specification/commit-message"))),(0,n.kt)("h2",{id:"1\u524d\u8a00"},"1.\u524d\u8a00"),(0,n.kt)("p",null,"\u4e00\u4e2a\u597d\u7684 commit message \u662f\u80fd\u591f\u5e2e\u52a9\u5176\u4ed6\u7684\u5f00\u53d1\u8005\uff08\u6216\u8005\u672a\u6765\u7684\u5f00\u53d1\u8005\uff09\u5feb\u901f\u7406\u89e3\u76f8\u5173\u53d8\u66f4\u7684\u4e0a\u4e0b\u6587\uff0c\u540c\u65f6\u4e5f\u53ef\u4ee5\u5e2e\u52a9\u9879\u76ee\u7ba1\u7406\u4eba\u5458\u786e\u5b9a\u8be5\u63d0\u4ea4\u662f\u5426\u9002\u5408\u5305\u542b\u5728\u53d1\u884c\u7248\u4e2d\u3002\u4f46\u5f53\u6211\u4eec\u5728\u67e5\u770b\u4e86\u5f88\u591a\u5f00\u6e90\u9879\u76ee\u7684 commit log \u540e\uff0c\u53d1\u73b0\u4e00\u4e2a\u6709\u8da3\u7684\u95ee\u9898\uff0c\u4e00\u90e8\u5206\u5f00\u53d1\u8005\uff0c\u4ee3\u7801\u8d28\u91cf\u5f88\u4e0d\u9519\uff0c\u4f46\u662f commit message \u8bb0\u5f55\u5374\u6bd4\u8f83\u6df7\u4e71\uff0c\u5f53\u5176\u4ed6\u8d21\u732e\u8005\u6216\u8005\u5b66\u4e60\u8005\u5728\u67e5\u770b\u4ee3\u7801\u7684\u65f6\u5019\uff0c\u5e76\u4e0d\u80fd\u901a\u8fc7 commit log \u5f88\u76f4\u89c2\u7684\u4e86\u89e3\n\u8be5\u63d0\u4ea4\u524d\u540e\u53d8\u66f4\u7684\u76ee\u7684\uff0c\u6b63\u5982 Peter Hutterer \u6240\u8a00\uff1aRe-establishing the context of a piece of code is wasteful. We can\u2019t avoid it completely, so our efforts should go to reducing it as much as possible. Commit messages can do exactly that and as a result, a commit message shows whether a developer is a good collaborator. \u56e0\u6b64\uff0cSolidUI \u7ed3\u5408\u5176\u4ed6\u793e\u533a\u4ee5\u53ca Apache \u5b98\u65b9\u6587\u6863\u5236\u5b9a\u4e86\u8be5\u89c4\u7ea6\u3002"),(0,n.kt)("h2",{id:"2commit-message-rip"},"2.Commit Message RIP"),(0,n.kt)("h3",{id:"21-\u660e\u786e\u4fee\u6539\u5185\u5bb9"},"2.1 \u660e\u786e\u4fee\u6539\u5185\u5bb9"),(0,n.kt)("p",null,"commit message \u5e94\u8be5\u660e\u786e\u8bf4\u660e\u8be5\u63d0\u4ea4\u89e3\u51b3\u4e86\u54ea\u4e9b\u95ee\u9898\uff08bug \u4fee\u590d\u3001\u529f\u80fd\u589e\u5f3a\u7b49\uff09\uff0c\u4ee5\u4fbf\u4e8e\u7528\u6237\u5f00\u53d1\u8005\u66f4\u597d\u7684\u8ddf\u8e2a\u95ee\u9898\uff0c\u660e\u786e\u7248\u672c\u8fed\u4ee3\u8fc7\u7a0b\u4e2d\u7684\u4f18\u5316\u60c5\u51b5\u3002"),(0,n.kt)("h3",{id:"22-\u5173\u8054\u76f8\u5e94\u7684pull-request-\u6216\u8005issue"},"2.2 \u5173\u8054\u76f8\u5e94\u7684Pull Request \u6216\u8005Issue"),(0,n.kt)("p",null,"\u5f53\u6211\u4eec\u7684\u6539\u52a8\u8f83\u5927\u7684\u65f6\u5019\uff0ccommit message \u6700\u597d\u80fd\u591f\u5173\u8054 GitHub \u4e0a\u7684\u76f8\u5173 Issue \u6216\u8005 Pull Request\uff0c\u8fd9\u6837\uff0c\u6211\u4eec\u7684\u5f00\u53d1\u8005\u5728\u67e5\u9605\u4ee3\u7801\u7684\u65f6\u5019\u80fd\u591f\u901a\u8fc7\u5173\u8054\u4fe1\u606f\u8f83\u4e3a\u8fc5\u901f\u7684\u4e86\u89e3\u6539\u4ee3\u7801\u63d0\u4ea4\u7684\u4e0a\u4e0b\u6587\u60c5\u666f\uff0c\u5982\u679c\u5f53\u524d commit \u9488\u5bf9\u67d0\u4e2a issue\uff0c\u90a3\u4e48\u53ef\u4ee5\u5728 Footer \u90e8\u5206\u5173\u95ed\u8fd9\u4e2a issue\u3002"),(0,n.kt)("h3",{id:"23-\u7edf\u4e00\u7684\u683c\u5f0f"},"2.3 \u7edf\u4e00\u7684\u683c\u5f0f"),(0,n.kt)("p",null,"\u683c\u5f0f\u5316\u540e\u7684 CommitMessage \u80fd\u591f\u5e2e\u52a9\u6211\u4eec\u63d0\u4f9b\u66f4\u591a\u7684\u5386\u53f2\u4fe1\u606f\uff0c\u65b9\u4fbf\u5feb\u901f\u6d4f\u89c8\uff0c\u540c\u65f6\u4e5f\u53ef\u4ee5\u76f4\u63a5\u4ece commit \u751f\u6210 Change Log\u3002"),(0,n.kt)("p",null,"Commit message \u5e94\u8be5\u5305\u62ec\u4e09\u4e2a\u90e8\u5206\uff1aHeader\uff0cBody \u548c Footer\u3002\u5176\u4e2d\uff0cHeader \u662f\u5fc5\u9700\u7684\uff0cBody \u548c Footer \u53ef\u4ee5\u7701\u7565\u3002"),(0,n.kt)("h4",{id:"header"},"header"),(0,n.kt)("p",null,"Header \u90e8\u5206\u53ea\u6709\u4e00\u884c\uff0c\u5305\u62ec\u4e09\u4e2a\u5b57\u6bb5\uff1atype\uff08\u5fc5\u9700\uff09\u3001scope\uff08\u53ef\u9009\uff09\u548c subject\uff08\u5fc5\u9700\uff09\u3002"),(0,n.kt)("p",null,"[DS-ISSUE\u7f16\u53f7][type]"," subject"),(0,n.kt)("p",null,"(1) type \u7528\u4e8e\u8bf4\u660e commit \u7684\u7c7b\u522b\uff0c\u53ea\u5141\u8bb8\u4f7f\u7528\u4e0b\u97627\u4e2a\u6807\u8bc6\u3002"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"feat\uff1a\u65b0\u529f\u80fd\uff08feature\uff09"),(0,n.kt)("li",{parentName:"ul"},"fix\uff1a\u4fee\u8865bug"),(0,n.kt)("li",{parentName:"ul"},"docs\uff1a\u6587\u6863\uff08documentation\uff09"),(0,n.kt)("li",{parentName:"ul"},"style\uff1a \u683c\u5f0f\uff08\u4e0d\u5f71\u54cd\u4ee3\u7801\u8fd0\u884c\u7684\u53d8\u52a8\uff09"),(0,n.kt)("li",{parentName:"ul"},"refactor\uff1a\u91cd\u6784\uff08\u5373\u4e0d\u662f\u65b0\u589e\u529f\u80fd\uff0c\u4e5f\u4e0d\u662f\u4fee\u6539bug\u7684\u4ee3\u7801\u53d8\u52a8\uff09"),(0,n.kt)("li",{parentName:"ul"},"test\uff1a\u589e\u52a0\u6d4b\u8bd5"),(0,n.kt)("li",{parentName:"ul"},"chore\uff1a\u6784\u5efa\u8fc7\u7a0b\u6216\u8f85\u52a9\u5de5\u5177\u7684\u53d8\u52a8")),(0,n.kt)("p",null,"\u5982\u679c type \u4e3a feat \u548c fix\uff0c\u5219\u8be5 commit \u5c06\u80af\u5b9a\u51fa\u73b0\u5728 Change log \u4e4b\u4e2d\u3002\u5176\u4ed6\u60c5\u51b5\uff08docs\u3001chore\u3001style\u3001refactor\u3001test\uff09\u5efa\u8bae\u4e0d\u653e\u5165\u3002"),(0,n.kt)("p",null,"(2\uff09scope"),(0,n.kt)("p",null,"scope \u7528\u4e8e\u8bf4\u660e commit \u5f71\u54cd\u7684\u8303\u56f4\uff0c\u6bd4\u5982 server\u3001remote \u7b49\uff0c\u5982\u679c\u6ca1\u6709\u66f4\u5408\u9002\u7684\u8303\u56f4\uff0c\u4f60\u53ef\u4ee5\u7528 *\u3002"),(0,n.kt)("p",null,"(3) subject"),(0,n.kt)("p",null,"subject \u662f commit \u76ee\u7684\u7684\u7b80\u77ed\u63cf\u8ff0\uff0c\u4e0d\u8d85\u8fc750\u4e2a\u5b57\u7b26\u3002"),(0,n.kt)("h4",{id:"body"},"Body"),(0,n.kt)("p",null,"Body \u90e8\u5206\u662f\u5bf9\u672c\u6b21 commit \u7684\u8be6\u7ec6\u63cf\u8ff0\uff0c\u53ef\u4ee5\u5206\u6210\u591a\u884c\uff0c\u6362\u884c\u7b26\u5c06\u4ee572\u4e2a\u5b57\u7b26\u6362\u884c\uff0c\u907f\u514d\u81ea\u52a8\u6362\u884c\u5f71\u54cd\u7f8e\u89c2\u3002"),(0,n.kt)("p",null,"Body \u90e8\u5206\u9700\u8981\u6ce8\u610f\u4ee5\u4e0b\u51e0\u70b9\uff1a"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"\u4f7f\u7528\u52a8\u5bbe\u7ed3\u6784\uff0c\u6ce8\u610f\u4f7f\u7528\u73b0\u5728\u65f6\uff0c\u6bd4\u5982\u4f7f\u7528 change \u800c\u975e changed \u6216 changes")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"\u9996\u5b57\u6bcd\u4e0d\u8981\u5927\u5199")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"\u8bed\u53e5\u6700\u540e\u4e0d\u9700\u8981 \u2018.\u2019 (\u53e5\u53f7) \u7ed3\u5c3e"))),(0,n.kt)("h4",{id:"footer"},"Footer"),(0,n.kt)("p",null,"Footer\u53ea\u9002\u7528\u4e8e\u4e24\u79cd\u60c5\u51b5"),(0,n.kt)("p",null,"(1) \u4e0d\u517c\u5bb9\u53d8\u52a8"),(0,n.kt)("p",null,"\u5982\u679c\u5f53\u524d\u4ee3\u7801\u4e0e\u4e0a\u4e00\u4e2a\u7248\u672c\u4e0d\u517c\u5bb9\uff0c\u5219 Footer \u90e8\u5206\u4ee5 BREAKING CHANGE \u5f00\u5934\uff0c\u540e\u9762\u662f\u5bf9\u53d8\u52a8\u7684\u63cf\u8ff0\u3001\u4ee5\u53ca\u53d8\u52a8\u7406\u7531\u548c\u8fc1\u79fb\u65b9\u6cd5\u3002"),(0,n.kt)("p",null,"(2) \u5173\u95ed Issue"),(0,n.kt)("p",null,"\u5982\u679c\u5f53\u524d commit \u9488\u5bf9\u67d0\u4e2aissue\uff0c\u90a3\u4e48\u53ef\u4ee5\u5728 Footer \u90e8\u5206\u5173\u95ed\u8fd9\u4e2a issue,\u4e5f\u53ef\u4ee5\u4e00\u6b21\u5173\u95ed\u591a\u4e2a issue \u3002"),(0,n.kt)("h4",{id:"\u4e3e\u4e2a\u4f8b\u5b50"},"\u4e3e\u4e2a\u4f8b\u5b50"),(0,n.kt)("p",null,"[SolidUI-001][docs-zh]"," add commit message"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"commit message RIP"),(0,n.kt)("li",{parentName:"ul"},"build some conventions"),(0,n.kt)("li",{parentName:"ul"},"help the commit messages become clean and tidy"),(0,n.kt)("li",{parentName:"ul"},"help developers and release managers better track issues\nand clarify the optimization in the version iteration")),(0,n.kt)("p",null,"This closes #001"),(0,n.kt)("h2",{id:"3\u53c2\u8003\u6587\u6863"},"3.\u53c2\u8003\u6587\u6863"),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://dolphinscheduler.apache.org/zh-cn/docs/dev/user_doc/contribute/join/commit-message.html"},"Dolphinscheduler Commit Message \u987b\u77e5")),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://cwiki.apache.org/confluence/display/GEODE/Commit+Message+Format"},"\u63d0\u4ea4\u6d88\u606f\u683c\u5f0f")),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"http://who-t.blogspot.com/2009/12/on-commit-messages.html"},"\u5173\u4e8e\u63d0\u4ea4\u6d88\u606f")),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://mp.weixin.qq.com/s/LKM4IXAY-7dKhTzGu5-oug"},"RocketMQ \u793e\u533a\u64cd\u4f5c\u7ea6\u5b9a")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/82bafcbe.838ebd37.js b/zh-CN/assets/js/82bafcbe.838ebd37.js new file mode 100644 index 00000000..1a1dbfba --- /dev/null +++ b/zh-CN/assets/js/82bafcbe.838ebd37.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[240],{3905:(e,t,i)=>{i.d(t,{Zo:()=>d,kt:()=>h});var a=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,a)}return i}function r(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?o(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):o(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function l(e,t){if(null==e)return{};var i,a,n=function(e,t){if(null==e)return{};var i,a,n={},o=Object.keys(e);for(a=0;a<o.length;a++)i=o[a],t.indexOf(i)>=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)i=o[a],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var s=a.createContext({}),c=function(e){var t=a.useContext(s),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},d=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,s=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),p=c(i),m=n,h=p["".concat(s,".").concat(m)]||p[m]||u[m]||o;return i?a.createElement(h,r(r({ref:t},d),{},{components:i})):a.createElement(h,r({ref:t},d))}));function h(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,r=new Array(o);r[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:n,r[1]=l;for(var c=2;c<o;c++)r[c]=i[c];return a.createElement.apply(null,r)}return a.createElement.apply(null,i)}m.displayName="MDXCreateElement"},1848:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var a=i(7462),n=(i(7294),i(3905));const o={title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",date:new Date("2023-09-05T00:00:00.000Z"),tags:["SolidUI","AI","stable-diffusion"]},r=void 0,l={permalink:"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-introduction.md",source:"@site/blog/2023-09-05-0.2.0-introduction.md",title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",description:"Background",date:"2023-09-05T00:00:00.000Z",formattedDate:"2023\u5e749\u67085\u65e5",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{label:"AI",permalink:"/SolidUI-Website/zh-CN/blog/tags/ai"},{label:"stable-diffusion",permalink:"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],readingTime:4.36,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",date:"2023-09-05T00:00:00.000Z",tags:["SolidUI","AI","stable-diffusion"]},prevItem:{title:"Version Update | SolidUI 0.2.0 Release",permalink:"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release"},nextItem:{title:"SolidUI Community - Official Website Introduction",permalink:"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction"}},s={authorsImageUrls:[]},c=[{value:"Background",id:"background",level:2},{value:"Chat Window",id:"chat-window",level:2},{value:"Prompt Words",id:"prompt-words",level:3},{value:"Chat Window Generation",id:"chat-window-generation",level:2},{value:"Input data format for bar chart",id:"input-data-format-for-bar-chart",level:3},{value:"Surface Graph",id:"surface-graph",level:3},{value:"Scatter Plot",id:"scatter-plot",level:3},{value:"Spiral Line",id:"spiral-line",level:3},{value:"Pie Chart",id:"pie-chart",level:3},{value:"Bunny Modeling",id:"bunny-modeling",level:3},{value:"Map",id:"map",level:3},{value:"Design Page",id:"design-page",level:2},{value:"Page Layout",id:"page-layout",level:3},{value:"Preview",id:"preview",level:3},{value:"Future Plans of SolidUI Community",id:"future-plans-of-solidui-community",level:2},{value:"How to Become a Contributor",id:"how-to-become-a-contributor",level:2}],d={toc:c},p="wrapper";function u(e){let{components:t,...o}=e;return(0,n.kt)(p,(0,a.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"background"},"Background"),(0,n.kt)("p",null,"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation."),(0,n.kt)("p",null,"Project URL: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Project mirror URL: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Community official website: ",(0,n.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,n.kt)("p",null,"Join the group: ",(0,n.kt)("a",{parentName:"p",href:"https://discord.gg/NGRNu2mGeQ"},"https://discord.gg/NGRNu2mGeQ")),(0,n.kt)("h2",{id:"chat-window"},"Chat Window"),(0,n.kt)("p",null,"One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display."),(0,n.kt)("h3",{id:"prompt-words"},"Prompt Words"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account."),(0,n.kt)("li",{parentName:"ul"},"The input data can be manually input or automatically generated, combined with text prompt words.")),(0,n.kt)("h2",{id:"chat-window-generation"},"Chat Window Generation"),(0,n.kt)("h3",{id:"input-data-format-for-bar-chart"},"Input data format for bar chart"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},'\\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\\] Generate a bar chart')),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(6979).Z,width:"800",height:"1068"})),(0,n.kt)("h3",{id:"surface-graph"},"Surface Graph"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a simple 3D surface graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4733).Z,width:"612",height:"825"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 2")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7232).Z,width:"612",height:"931"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 3")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4388).Z,width:"612",height:"1095"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 4")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(1350).Z,width:"800",height:"1140"})),(0,n.kt)("h3",{id:"scatter-plot"},"Scatter Plot"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4500).Z,width:"612",height:"864"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 2")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4066).Z,width:"612",height:"973"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 3")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(3458).Z,width:"612",height:"929"})),(0,n.kt)("h3",{id:"spiral-line"},"Spiral Line"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Draw a spiral line in a 3D graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7613).Z,width:"612",height:"843"})),(0,n.kt)("h3",{id:"pie-chart"},"Pie Chart"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(9361).Z,width:"612",height:"784"})),(0,n.kt)("h3",{id:"bunny-modeling"},"Bunny Modeling"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},'Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model.\n')),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(2532).Z,width:"612",height:"578"})),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://faculty.cc.gatech.edu/~turk/bunny/bunny.html"},"https://faculty.cc.gatech.edu/~turk/bunny/bunny.html")),(0,n.kt)("h3",{id:"map"},"Map"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Create a map, download link")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(1560).Z,width:"612",height:"750"})),(0,n.kt)("h2",{id:"design-page"},"Design Page"),(0,n.kt)("h3",{id:"page-layout"},"Page Layout"),(0,n.kt)("p",null,"Manage the layout of generated graphics, divided by scenes and pages."),(0,n.kt)("h3",{id:"preview"},"Preview"),(0,n.kt)("p",null,"Click on the project preview or Design Page -> Scene -> Page preview"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7832).Z,width:"612",height:"689"})),(0,n.kt)("h2",{id:"future-plans-of-solidui-community"},"Future Plans of SolidUI Community"),(0,n.kt)("p",null,"For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics."),(0,n.kt)("p",null,"This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas."),(0,n.kt)("p",null,"Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development."),(0,n.kt)("h2",{id:"how-to-become-a-contributor"},"How to Become a Contributor"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("li",{parentName:"ul"},"Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("li",{parentName:"ul"},"Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("li",{parentName:"ul"},"Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;"),(0,n.kt)("li",{parentName:"ul"},"Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;")))}u.isMDXComponent=!0},7232:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image03-af7d6197cbbd538939c13caea371ed6b.png"},6979:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image1-e94e2d291f16a9cf47445078fe8a63e7.png"},4733:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image2-9a1fea16ddcd20bbcd103783e45e7d1a.png"},4388:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images04-ab547dfceec7fd4762478ac7916ec5d2.png"},1350:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images05-4cc71d8bdadf8941e12867c8d6f8a2fe.png"},4500:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images06-973d359adfc34c204d37ea809ac68072.png"},4066:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images07-eddfb5d4a451dffd76a68688c45eac10.png"},3458:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images08-585c264b6c51d1daf3b607aa17f6f20e.png"},7613:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images09-50798acaf3380d15ad06c8e0e6e2000f.png"},9361:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images10-60d41d0c5c293845598032e51a0d2cb6.png"},2532:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images11-a9349b7ddffabf3d8071f4545641f7db.jpeg"},1560:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images12-2ab1592a45568d991cf485c21a451753.png"},7832:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images13-762ce8795cec77dccf1b303f7d568ef3.png"}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/8443.d40ac066.js b/zh-CN/assets/js/8443.d40ac066.js new file mode 100644 index 00000000..8dd21a92 --- /dev/null +++ b/zh-CN/assets/js/8443.d40ac066.js @@ -0,0 +1,2 @@ +/*! For license information please see 8443.d40ac066.js.LICENSE.txt */ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8443],{8443:(t,e,n)=>{"use strict";t.exports=n(295)},1228:(t,e,n)=>{"use strict";var i=n(2856),s={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:"0"},defaultClasses:{root:"algolia-autocomplete",prefix:"aa",noPrefix:!1,dropdownMenu:"dropdown-menu",input:"input",hint:"hint",suggestions:"suggestions",suggestion:"suggestion",cursor:"cursor",dataset:"dataset",empty:"empty"},appendTo:{wrapper:{position:"absolute",zIndex:"100",display:"none"},input:{},inputWithNoHint:{},dropdown:{display:"block"}}};i.isMsie()&&i.mixin(s.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),i.isMsie()&&i.isMsie()<=7&&i.mixin(s.input,{marginTop:"-1px"}),t.exports=s},9050:(t,e,n)=>{"use strict";var i="aaDataset",s="aaValue",r="aaDatum",o=n(2856),a=n(4910),u=n(3561),c=n(1228),l=n(3109);function h(t){var e;(t=t||{}).templates=t.templates||{},t.source||o.error("missing source"),t.name&&(e=t.name,!/^[_a-zA-Z0-9-]+$/.test(e))&&o.error("invalid dataset name: "+t.name),this.query=null,this._isEmpty=!0,this.highlight=!!t.highlight,this.name=void 0===t.name||null===t.name?o.getUniqueId():t.name,this.source=t.source,this.displayFn=function(t){return t=t||"value",o.isFunction(t)?t:e;function e(e){return e[t]}}(t.display||t.displayKey),this.debounce=t.debounce,this.cache=!1!==t.cache,this.templates=function(t,e){return{empty:t.empty&&o.templatify(t.empty),header:t.header&&o.templatify(t.header),footer:t.footer&&o.templatify(t.footer),suggestion:t.suggestion||n};function n(t){return"<p>"+e(t)+"</p>"}}(t.templates,this.displayFn),this.css=o.mixin({},c,t.appendTo?c.appendTo:{}),this.cssClasses=t.cssClasses=o.mixin({},c.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix||o.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix);var n=o.className(this.cssClasses.prefix,this.cssClasses.dataset);this.$el=t.$menu&&t.$menu.find(n+"-"+this.name).length>0?a.element(t.$menu.find(n+"-"+this.name)[0]):a.element(u.dataset.replace("%CLASS%",this.name).replace("%PREFIX%",this.cssClasses.prefix).replace("%DATASET%",this.cssClasses.dataset)),this.$menu=t.$menu,this.clearCachedSuggestions()}h.extractDatasetName=function(t){return a.element(t).data(i)},h.extractValue=function(t){return a.element(t).data(s)},h.extractDatum=function(t){var e=a.element(t).data(r);return"string"==typeof e&&(e=JSON.parse(e)),e},o.mixin(h.prototype,l,{_render:function(t,e){if(this.$el){var n,c=this,l=[].slice.call(arguments,2);if(this.$el.empty(),n=e&&e.length,this._isEmpty=!n,!n&&this.templates.empty)this.$el.html(function(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!0}].concat(e),c.templates.empty.apply(this,e)}.apply(this,l)).prepend(c.templates.header?h.apply(this,l):null).append(c.templates.footer?p.apply(this,l):null);else if(n)this.$el.html(function(){var t,n,l=[].slice.call(arguments,0),h=this,p=u.suggestions.replace("%PREFIX%",this.cssClasses.prefix).replace("%SUGGESTIONS%",this.cssClasses.suggestions);return t=a.element(p).css(this.css.suggestions),n=o.map(e,f),t.append.apply(t,n),t;function f(t){var e,n=u.suggestion.replace("%PREFIX%",h.cssClasses.prefix).replace("%SUGGESTION%",h.cssClasses.suggestion);return(e=a.element(n).attr({role:"option",id:["option",Math.floor(1e8*Math.random())].join("-")}).append(c.templates.suggestion.apply(this,[t].concat(l)))).data(i,c.name),e.data(s,c.displayFn(t)||void 0),e.data(r,JSON.stringify(t)),e.children().each((function(){a.element(this).css(h.css.suggestionChild)})),e}}.apply(this,l)).prepend(c.templates.header?h.apply(this,l):null).append(c.templates.footer?p.apply(this,l):null);else if(e&&!Array.isArray(e))throw new TypeError("suggestions must be an array");this.$menu&&this.$menu.addClass(this.cssClasses.prefix+(n?"with":"without")+"-"+this.name).removeClass(this.cssClasses.prefix+(n?"without":"with")+"-"+this.name),this.trigger("rendered",t)}function h(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!n}].concat(e),c.templates.header.apply(this,e)}function p(){var e=[].slice.call(arguments,0);return e=[{query:t,isEmpty:!n}].concat(e),c.templates.footer.apply(this,e)}},getRoot:function(){return this.$el},update:function(t){function e(e){if(!this.canceled&&t===this.query){var n=[].slice.call(arguments,1);this.cacheSuggestions(t,e,n),this._render.apply(this,[t,e].concat(n))}}if(this.query=t,this.canceled=!1,this.shouldFetchFromCache(t))e.apply(this,[this.cachedSuggestions].concat(this.cachedRenderExtraArgs));else{var n=this,i=function(){n.canceled||n.source(t,e.bind(n))};if(this.debounce){clearTimeout(this.debounceTimeout),this.debounceTimeout=setTimeout((function(){n.debounceTimeout=null,i()}),this.debounce)}else i()}},cacheSuggestions:function(t,e,n){this.cachedQuery=t,this.cachedSuggestions=e,this.cachedRenderExtraArgs=n},shouldFetchFromCache:function(t){return this.cache&&this.cachedQuery===t&&this.cachedSuggestions&&this.cachedSuggestions.length},clearCachedSuggestions:function(){delete this.cachedQuery,delete this.cachedSuggestions,delete this.cachedRenderExtraArgs},cancel:function(){this.canceled=!0},clear:function(){this.$el&&(this.cancel(),this.$el.empty(),this.trigger("rendered",""))},isEmpty:function(){return this._isEmpty},destroy:function(){this.clearCachedSuggestions(),this.$el=null}}),t.exports=h},3354:(t,e,n)=>{"use strict";var i=n(2856),s=n(4910),r=n(3109),o=n(9050),a=n(1228);function u(t){var e,n,r,o=this;(t=t||{}).menu||i.error("menu is required"),i.isArray(t.datasets)||i.isObject(t.datasets)||i.error("1 or more datasets required"),t.datasets||i.error("datasets is required"),this.isOpen=!1,this.isEmpty=!0,this.minLength=t.minLength||0,this.templates={},this.appendTo=t.appendTo||!1,this.css=i.mixin({},a,t.appendTo?a.appendTo:{}),this.cssClasses=t.cssClasses=i.mixin({},a.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix||i.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),e=i.bind(this._onSuggestionClick,this),n=i.bind(this._onSuggestionMouseEnter,this),r=i.bind(this._onSuggestionMouseLeave,this);var c=i.className(this.cssClasses.prefix,this.cssClasses.suggestion);this.$menu=s.element(t.menu).on("mouseenter.aa",c,n).on("mouseleave.aa",c,r).on("click.aa",c,e),this.$container=t.appendTo?t.wrapper:this.$menu,t.templates&&t.templates.header&&(this.templates.header=i.templatify(t.templates.header),this.$menu.prepend(this.templates.header())),t.templates&&t.templates.empty&&(this.templates.empty=i.templatify(t.templates.empty),this.$empty=s.element('<div class="'+i.className(this.cssClasses.prefix,this.cssClasses.empty,!0)+'"></div>'),this.$menu.append(this.$empty),this.$empty.hide()),this.datasets=i.map(t.datasets,(function(e){return function(t,e,n){return new u.Dataset(i.mixin({$menu:t,cssClasses:n},e))}(o.$menu,e,t.cssClasses)})),i.each(this.datasets,(function(t){var e=t.getRoot();e&&0===e.parent().length&&o.$menu.append(e),t.onSync("rendered",o._onRendered,o)})),t.templates&&t.templates.footer&&(this.templates.footer=i.templatify(t.templates.footer),this.$menu.append(this.templates.footer()));var l=this;s.element(window).resize((function(){l._redraw()}))}i.mixin(u.prototype,r,{_onSuggestionClick:function(t){this.trigger("suggestionClicked",s.element(t.currentTarget))},_onSuggestionMouseEnter:function(t){var e=s.element(t.currentTarget);if(!e.hasClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0))){this._removeCursor();var n=this;setTimeout((function(){n._setCursor(e,!1)}),0)}},_onSuggestionMouseLeave:function(t){if(t.relatedTarget&&s.element(t.relatedTarget).closest("."+i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).length>0)return;this._removeCursor(),this.trigger("cursorRemoved")},_onRendered:function(t,e){if(this.isEmpty=i.every(this.datasets,(function(t){return t.isEmpty()})),this.isEmpty)if(e.length>=this.minLength&&this.trigger("empty"),this.$empty)if(e.length<this.minLength)this._hide();else{var n=this.templates.empty({query:this.datasets[0]&&this.datasets[0].query});this.$empty.html(n),this.$empty.show(),this._show()}else i.any(this.datasets,(function(t){return t.templates&&t.templates.empty}))?e.length<this.minLength?this._hide():this._show():this._hide();else this.isOpen&&(this.$empty&&(this.$empty.empty(),this.$empty.hide()),e.length>=this.minLength?this._show():this._hide());this.trigger("datasetRendered")},_hide:function(){this.$container.hide()},_show:function(){this.$container.css("display","block"),this._redraw(),this.trigger("shown")},_redraw:function(){this.isOpen&&this.appendTo&&this.trigger("redrawn")},_getSuggestions:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.suggestion))},_getCursor:function(){return this.$menu.find(i.className(this.cssClasses.prefix,this.cssClasses.cursor)).first()},_setCursor:function(t,e){t.first().addClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).attr("aria-selected","true"),this.trigger("cursorMoved",e)},_removeCursor:function(){this._getCursor().removeClass(i.className(this.cssClasses.prefix,this.cssClasses.cursor,!0)).removeAttr("aria-selected")},_moveCursor:function(t){var e,n,i,s;this.isOpen&&(n=this._getCursor(),e=this._getSuggestions(),this._removeCursor(),-1!==(i=((i=e.index(n)+t)+1)%(e.length+1)-1)?(i<-1&&(i=e.length-1),this._setCursor(s=e.eq(i),!0),this._ensureVisible(s)):this.trigger("cursorRemoved"))},_ensureVisible:function(t){var e,n,i,s;n=(e=t.position().top)+t.height()+parseInt(t.css("margin-top"),10)+parseInt(t.css("margin-bottom"),10),i=this.$menu.scrollTop(),s=this.$menu.height()+parseInt(this.$menu.css("padding-top"),10)+parseInt(this.$menu.css("padding-bottom"),10),e<0?this.$menu.scrollTop(i+e):s<n&&this.$menu.scrollTop(i+(n-s))},close:function(){this.isOpen&&(this.isOpen=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,this.isEmpty||this._show(),this.trigger("opened"))},setLanguageDirection:function(t){this.$menu.css("ltr"===t?this.css.ltr:this.css.rtl)},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(t){var e=null;return t.length&&(e={raw:o.extractDatum(t),value:o.extractValue(t),datasetName:o.extractDatasetName(t)}),e},getCurrentCursor:function(){return this._getCursor().first()},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},cursorTopSuggestion:function(){this._setCursor(this._getSuggestions().first(),!1)},update:function(t){i.each(this.datasets,(function(e){e.update(t)}))},empty:function(){i.each(this.datasets,(function(t){t.clear()})),this.isEmpty=!0},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){this.$menu.off(".aa"),this.$menu=null,i.each(this.datasets,(function(t){t.destroy()}))}}),u.Dataset=o,t.exports=u},50:(t,e,n)=>{"use strict";var i=n(2856),s=n(4910);function r(t){t&&t.el||i.error("EventBus initialized without el"),this.$el=s.element(t.el)}i.mixin(r.prototype,{trigger:function(t,e,n,s){var r=i.Event("autocomplete:"+t);return this.$el.trigger(r,[e,n,s]),r}}),t.exports=r},3109:(t,e,n)=>{"use strict";var i=n(624),s=/\s+/;function r(t,e,n,i){var r;if(!n)return this;for(e=e.split(s),n=i?function(t,e){return t.bind?t.bind(e):function(){t.apply(e,[].slice.call(arguments,0))}}(n,i):n,this._callbacks=this._callbacks||{};r=e.shift();)this._callbacks[r]=this._callbacks[r]||{sync:[],async:[]},this._callbacks[r][t].push(n);return this}function o(t,e,n){return function(){for(var i,s=0,r=t.length;!i&&s<r;s+=1)i=!1===t[s].apply(e,n);return!i}}t.exports={onSync:function(t,e,n){return r.call(this,"sync",t,e,n)},onAsync:function(t,e,n){return r.call(this,"async",t,e,n)},off:function(t){var e;if(!this._callbacks)return this;t=t.split(s);for(;e=t.shift();)delete this._callbacks[e];return this},trigger:function(t){var e,n,r,a,u;if(!this._callbacks)return this;t=t.split(s),r=[].slice.call(arguments,1);for(;(e=t.shift())&&(n=this._callbacks[e]);)a=o(n.sync,this,[e].concat(r)),u=o(n.async,this,[e].concat(r)),a()&&i(u);return this}}},3561:t=>{"use strict";t.exports={wrapper:'<span class="%ROOT%"></span>',dropdown:'<span class="%PREFIX%%DROPDOWN_MENU%"></span>',dataset:'<div class="%PREFIX%%DATASET%-%CLASS%"></div>',suggestions:'<span class="%PREFIX%%SUGGESTIONS%"></span>',suggestion:'<div class="%PREFIX%%SUGGESTION%"></div>'}},2534:(t,e,n)=>{"use strict";var i;i={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"};var s=n(2856),r=n(4910),o=n(3109);function a(t){var e,n,o,a,u,c=this;(t=t||{}).input||s.error("input is missing"),e=s.bind(this._onBlur,this),n=s.bind(this._onFocus,this),o=s.bind(this._onKeydown,this),a=s.bind(this._onInput,this),this.$hint=r.element(t.hint),this.$input=r.element(t.input).on("blur.aa",e).on("focus.aa",n).on("keydown.aa",o),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=s.noop),s.isMsie()?this.$input.on("keydown.aa keypress.aa cut.aa paste.aa",(function(t){i[t.which||t.keyCode]||s.defer(s.bind(c._onInput,c,t))})):this.$input.on("input.aa",a),this.query=this.$input.val(),this.$overflowHelper=(u=this.$input,r.element('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:u.css("font-family"),fontSize:u.css("font-size"),fontStyle:u.css("font-style"),fontVariant:u.css("font-variant"),fontWeight:u.css("font-weight"),wordSpacing:u.css("word-spacing"),letterSpacing:u.css("letter-spacing"),textIndent:u.css("text-indent"),textRendering:u.css("text-rendering"),textTransform:u.css("text-transform")}).insertAfter(u))}function u(t){return t.altKey||t.ctrlKey||t.metaKey||t.shiftKey}a.normalizeQuery=function(t){return(t||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},s.mixin(a.prototype,o,{_onBlur:function(){this.resetInputValue(),this.$input.removeAttr("aria-activedescendant"),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(t){var e=i[t.which||t.keyCode];this._managePreventDefault(e,t),e&&this._shouldTrigger(e,t)&&this.trigger(e+"Keyed",t)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(t,e){var n,i,s;switch(t){case"tab":i=this.getHint(),s=this.getInputValue(),n=i&&i!==s&&!u(e);break;case"up":case"down":n=!u(e);break;default:n=!1}n&&e.preventDefault()},_shouldTrigger:function(t,e){var n;if("tab"===t)n=!u(e);else n=!0;return n},_checkInputValue:function(){var t,e,n,i,s;t=this.getInputValue(),i=t,s=this.query,n=!(!(e=a.normalizeQuery(i)===a.normalizeQuery(s))||!this.query)&&this.query.length!==t.length,this.query=t,e?n&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(t){this.query=t},getInputValue:function(){return this.$input.val()},setInputValue:function(t,e){void 0===t&&(t=this.query),this.$input.val(t),e?this.clearHint():this._checkInputValue()},expand:function(){this.$input.attr("aria-expanded","true")},collapse:function(){this.$input.attr("aria-expanded","false")},setActiveDescendant:function(t){this.$input.attr("aria-activedescendant",t)},removeActiveDescendant:function(){this.$input.removeAttr("aria-activedescendant")},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(t){this.$hint.val(t)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var t,e,n;n=(t=this.getInputValue())!==(e=this.getHint())&&0===e.indexOf(t),""!==t&&n&&!this.hasOverflow()||this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var t=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=t},isCursorAtEnd:function(){var t,e,n;return t=this.$input.val().length,e=this.$input[0].selectionStart,s.isNumber(e)?e===t:!document.selection||((n=document.selection.createRange()).moveStart("character",-t),t===n.text.length)},destroy:function(){this.$hint.off(".aa"),this.$input.off(".aa"),this.$hint=this.$input=this.$overflowHelper=null}}),t.exports=a},6549:(t,e,n)=>{"use strict";var i="aaAttrs",s=n(2856),r=n(4910),o=n(50),a=n(2534),u=n(3354),c=n(3561),l=n(1228);function h(t){var e,n;if((t=t||{}).input||s.error("missing input"),this.isActivated=!1,this.debug=!!t.debug,this.autoselect=!!t.autoselect,this.autoselectOnBlur=!!t.autoselectOnBlur,this.openOnFocus=!!t.openOnFocus,this.minLength=s.isNumber(t.minLength)?t.minLength:1,this.autoWidth=void 0===t.autoWidth||!!t.autoWidth,this.clearOnSelected=!!t.clearOnSelected,this.tabAutocomplete=void 0===t.tabAutocomplete||!!t.tabAutocomplete,t.hint=!!t.hint,t.hint&&t.appendTo)throw new Error("[autocomplete.js] hint and appendTo options can't be used at the same time");this.css=t.css=s.mixin({},l,t.appendTo?l.appendTo:{}),this.cssClasses=t.cssClasses=s.mixin({},l.defaultClasses,t.cssClasses||{}),this.cssClasses.prefix=t.cssClasses.formattedPrefix=s.formatPrefix(this.cssClasses.prefix,this.cssClasses.noPrefix),this.listboxId=t.listboxId=[this.cssClasses.root,"listbox",s.getUniqueId()].join("-");var a=function(t){var e,n,o,a;e=r.element(t.input),n=r.element(c.wrapper.replace("%ROOT%",t.cssClasses.root)).css(t.css.wrapper),t.appendTo||"block"!==e.css("display")||"table"!==e.parent().css("display")||n.css("display","table-cell");var u=c.dropdown.replace("%PREFIX%",t.cssClasses.prefix).replace("%DROPDOWN_MENU%",t.cssClasses.dropdownMenu);o=r.element(u).css(t.css.dropdown).attr({role:"listbox",id:t.listboxId}),t.templates&&t.templates.dropdownMenu&&o.html(s.templatify(t.templates.dropdownMenu)());a=e.clone().css(t.css.hint).css(function(t){return{backgroundAttachment:t.css("background-attachment"),backgroundClip:t.css("background-clip"),backgroundColor:t.css("background-color"),backgroundImage:t.css("background-image"),backgroundOrigin:t.css("background-origin"),backgroundPosition:t.css("background-position"),backgroundRepeat:t.css("background-repeat"),backgroundSize:t.css("background-size")}}(e)),a.val("").addClass(s.className(t.cssClasses.prefix,t.cssClasses.hint,!0)).removeAttr("id name placeholder required").prop("readonly",!0).attr({"aria-hidden":"true",autocomplete:"off",spellcheck:"false",tabindex:-1}),a.removeData&&a.removeData();e.data(i,{"aria-autocomplete":e.attr("aria-autocomplete"),"aria-expanded":e.attr("aria-expanded"),"aria-owns":e.attr("aria-owns"),autocomplete:e.attr("autocomplete"),dir:e.attr("dir"),role:e.attr("role"),spellcheck:e.attr("spellcheck"),style:e.attr("style"),type:e.attr("type")}),e.addClass(s.className(t.cssClasses.prefix,t.cssClasses.input,!0)).attr({autocomplete:"off",spellcheck:!1,role:"combobox","aria-autocomplete":t.datasets&&t.datasets[0]&&t.datasets[0].displayKey?"both":"list","aria-expanded":"false","aria-label":t.ariaLabel,"aria-owns":t.listboxId}).css(t.hint?t.css.input:t.css.inputWithNoHint);try{e.attr("dir")||e.attr("dir","auto")}catch(l){}return n=t.appendTo?n.appendTo(r.element(t.appendTo).eq(0)).eq(0):e.wrap(n).parent(),n.prepend(t.hint?a:null).append(o),{wrapper:n,input:e,hint:a,menu:o}}(t);this.$node=a.wrapper;var u=this.$input=a.input;e=a.menu,n=a.hint,t.dropdownMenuContainer&&r.element(t.dropdownMenuContainer).css("position","relative").append(e.css("top","0")),u.on("blur.aa",(function(t){var n=document.activeElement;s.isMsie()&&(e[0]===n||e[0].contains(n))&&(t.preventDefault(),t.stopImmediatePropagation(),s.defer((function(){u.focus()})))})),e.on("mousedown.aa",(function(t){t.preventDefault()})),this.eventBus=t.eventBus||new o({el:u}),this.dropdown=new h.Dropdown({appendTo:t.appendTo,wrapper:this.$node,menu:e,datasets:t.datasets,templates:t.templates,cssClasses:t.cssClasses,minLength:this.minLength}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onSync("shown",this._onShown,this).onSync("empty",this._onEmpty,this).onSync("redrawn",this._onRedrawn,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new h.Input({input:u,hint:n}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._bindKeyboardShortcuts(t),this._setLanguageDirection()}s.mixin(h.prototype,{_bindKeyboardShortcuts:function(t){if(t.keyboardShortcuts){var e=this.$input,n=[];s.each(t.keyboardShortcuts,(function(t){"string"==typeof t&&(t=t.toUpperCase().charCodeAt(0)),n.push(t)})),r.element(document).keydown((function(t){var i=t.target||t.srcElement,s=i.tagName;if(!i.isContentEditable&&"INPUT"!==s&&"SELECT"!==s&&"TEXTAREA"!==s){var r=t.which||t.keyCode;-1!==n.indexOf(r)&&(e.focus(),t.stopPropagation(),t.preventDefault())}}))}},_onSuggestionClicked:function(t,e){var n;(n=this.dropdown.getDatumForSuggestion(e))&&this._select(n,{selectionMethod:"click"})},_onCursorMoved:function(t,e){var n=this.dropdown.getDatumForCursor(),i=this.dropdown.getCurrentCursor().attr("id");this.input.setActiveDescendant(i),n&&(e&&this.input.setInputValue(n.value,!0),this.eventBus.trigger("cursorchanged",n.raw,n.datasetName))},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint(),this.eventBus.trigger("cursorremoved")},_onDatasetRendered:function(){this._updateHint(),this.eventBus.trigger("updated")},_onOpened:function(){this._updateHint(),this.input.expand(),this.eventBus.trigger("opened")},_onEmpty:function(){this.eventBus.trigger("empty")},_onRedrawn:function(){this.$node.css("top","0px"),this.$node.css("left","0px");var t=this.$input[0].getBoundingClientRect();this.autoWidth&&this.$node.css("width",t.width+"px");var e=this.$node[0].getBoundingClientRect(),n=t.bottom-e.top;this.$node.css("top",n+"px");var i=t.left-e.left;this.$node.css("left",i+"px"),this.eventBus.trigger("redrawn")},_onShown:function(){this.eventBus.trigger("shown"),this.autoselect&&this.dropdown.cursorTopSuggestion()},_onClosed:function(){this.input.clearHint(),this.input.removeActiveDescendant(),this.input.collapse(),this.eventBus.trigger("closed")},_onFocused:function(){if(this.isActivated=!0,this.openOnFocus){var t=this.input.getQuery();t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty(),this.dropdown.open()}},_onBlurred:function(){var t,e;t=this.dropdown.getDatumForCursor(),e=this.dropdown.getDatumForTopSuggestion();var n={selectionMethod:"blur"};this.debug||(this.autoselectOnBlur&&t?this._select(t,n):this.autoselectOnBlur&&e?this._select(e,n):(this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()))},_onEnterKeyed:function(t,e){var n,i;n=this.dropdown.getDatumForCursor(),i=this.dropdown.getDatumForTopSuggestion();var s={selectionMethod:"enterKey"};n?(this._select(n,s),e.preventDefault()):this.autoselect&&i&&(this._select(i,s),e.preventDefault())},_onTabKeyed:function(t,e){if(this.tabAutocomplete){var n;(n=this.dropdown.getDatumForCursor())?(this._select(n,{selectionMethod:"tabKey"}),e.preventDefault()):this._autocomplete(!0)}else this.dropdown.close()},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var t=this.input.getQuery();this.dropdown.isEmpty&&t.length>=this.minLength?this.dropdown.update(t):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var t=this.input.getQuery();this.dropdown.isEmpty&&t.length>=this.minLength?this.dropdown.update(t):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(t,e){this.input.clearHintIfInvalid(),e.length>=this.minLength?this.dropdown.update(e):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var t=this.input.getLanguageDirection();this.dir!==t&&(this.dir=t,this.$node.css("direction",t),this.dropdown.setLanguageDirection(t))},_updateHint:function(){var t,e,n,i,r;(t=this.dropdown.getDatumForTopSuggestion())&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(e=this.input.getInputValue(),n=a.normalizeQuery(e),i=s.escapeRegExChars(n),(r=new RegExp("^(?:"+i+")(.+$)","i").exec(t.value))?this.input.setHint(e+r[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(t){var e,n,i,s;e=this.input.getHint(),n=this.input.getQuery(),i=t||this.input.isCursorAtEnd(),e&&n!==e&&i&&((s=this.dropdown.getDatumForTopSuggestion())&&this.input.setInputValue(s.value),this.eventBus.trigger("autocompleted",s.raw,s.datasetName))},_select:function(t,e){void 0!==t.value&&this.input.setQuery(t.value),this.clearOnSelected?this.setVal(""):this.input.setInputValue(t.value,!0),this._setLanguageDirection(),!1===this.eventBus.trigger("selected",t.raw,t.datasetName,e).isDefaultPrevented()&&(this.dropdown.close(),s.defer(s.bind(this.dropdown.empty,this.dropdown)))},open:function(){if(!this.isActivated){var t=this.input.getInputValue();t.length>=this.minLength?this.dropdown.update(t):this.dropdown.empty()}this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(t){t=s.toStr(t),this.isActivated?this.input.setInputValue(t):(this.input.setQuery(t),this.input.setInputValue(t,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),function(t,e){var n=t.find(s.className(e.prefix,e.input));s.each(n.data(i),(function(t,e){void 0===t?n.removeAttr(e):n.attr(e,t)})),n.detach().removeClass(s.className(e.prefix,e.input,!0)).insertAfter(t),n.removeData&&n.removeData(i);t.remove()}(this.$node,this.cssClasses),this.$node=null},getWrapper:function(){return this.dropdown.$container[0]}}),h.Dropdown=u,h.Input=a,h.sources=n(8840),t.exports=h},4910:t=>{"use strict";t.exports={element:null}},9149:t=>{"use strict";t.exports=function(t){var e=t.match(/Algolia for JavaScript \((\d+\.)(\d+\.)(\d+)\)/)||t.match(/Algolia for vanilla JavaScript (\d+\.)(\d+\.)(\d+)/);if(e)return[e[1],e[2],e[3]]}},2856:(t,e,n)=>{"use strict";var i,s=n(8820),r=n(4910);function o(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}t.exports={isArray:null,isFunction:null,isObject:null,bind:null,each:null,map:null,mixin:null,isMsie:function(t){if(void 0===t&&(t=navigator.userAgent),/(msie|trident)/i.test(t)){var e=t.match(/(msie |rv:)(\d+(.\d+)?)/i);if(e)return e[2]}return!1},escapeRegExChars:function(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isNumber:function(t){return"number"==typeof t},toStr:function(t){return null==t?"":t+""},cloneDeep:function(t){var e=this.mixin({},t),n=this;return this.each(e,(function(t,i){t&&(n.isArray(t)?e[i]=[].concat(t):n.isObject(t)&&(e[i]=n.cloneDeep(t)))})),e},error:function(t){throw new Error(t)},every:function(t,e){var n=!0;return t?(this.each(t,(function(i,s){n&&(n=e.call(null,i,s,t)&&n)})),!!n):n},any:function(t,e){var n=!1;return t?(this.each(t,(function(i,s){if(e.call(null,i,s,t))return n=!0,!1})),n):n},getUniqueId:(i=0,function(){return i++}),templatify:function(t){if(this.isFunction(t))return t;var e=r.element(t);return"SCRIPT"===e.prop("tagName")?function(){return e.text()}:function(){return String(t)}},defer:function(t){setTimeout(t,0)},noop:function(){},formatPrefix:function(t,e){return e?"":t+"-"},className:function(t,e,n){return n?t+e:"."+s(t+e,{isIdentifier:!0})},escapeHighlightedString:function(t,e,n){e=e||"<em>";var i=document.createElement("div");i.appendChild(document.createTextNode(e)),n=n||"</em>";var s=document.createElement("div");s.appendChild(document.createTextNode(n));var r=document.createElement("div");return r.appendChild(document.createTextNode(t)),r.innerHTML.replace(RegExp(o(i.innerHTML),"g"),e).replace(RegExp(o(s.innerHTML),"g"),n)}}},9983:(t,e,n)=>{"use strict";var i=n(2856),s=n(533),r=n(9149);var o,a,u=(o=[],a=window.Promise.resolve(),function(t,e){return function(n,s){(function(t,e){return window.Promise.resolve().then((function(){return o.length&&(a=t.search(o),o=[]),a})).then((function(t){if(t)return t.results[e]}))})(t.as,o.push({indexName:t.indexName,query:n,params:e})-1).then((function(t){t&&s(t.hits,t)})).catch((function(t){i.error(t.message)}))}});t.exports=function(t,e){var n=r(t.as._ua);if(n&&n[0]>=3&&n[1]>20){var i="autocomplete.js "+s;-1===t.as._ua.indexOf(i)&&(t.as._ua+="; "+i)}return u(t,e)}},8840:(t,e,n)=>{"use strict";t.exports={hits:n(9983),popularIn:n(4445)}},4445:(t,e,n)=>{"use strict";var i=n(2856),s=n(533),r=n(9149);t.exports=function(t,e,n,o){var a=r(t.as._ua);if(a&&a[0]>=3&&a[1]>20&&((e=e||{}).additionalUA="autocomplete.js "+s),!n.source)return i.error("Missing 'source' key");var u=i.isFunction(n.source)?n.source:function(t){return t[n.source]};if(!n.index)return i.error("Missing 'index' key");var c=n.index;return o=o||{},function(a,l){t.search(a,e,(function(t,a){if(t)i.error(t.message);else{if(a.hits.length>0){var h=a.hits[0],p=i.mixin({hitsPerPage:0},n);delete p.source,delete p.index;var f=r(c.as._ua);return f&&f[0]>=3&&f[1]>20&&(e.additionalUA="autocomplete.js "+s),void c.search(u(h),p,(function(t,e){if(t)i.error(t.message);else{var n=[];if(o.includeAll){var s=o.allTitle||"All departments";n.push(i.mixin({facet:{value:s,count:e.nbHits}},i.cloneDeep(h)))}i.each(e.facets,(function(t,e){i.each(t,(function(t,s){n.push(i.mixin({facet:{facet:e,value:s,count:t}},i.cloneDeep(h)))}))}));for(var r=1;r<a.hits.length;++r)n.push(a.hits[r]);l(n,a)}}))}l([])}}))}}},295:(t,e,n)=>{"use strict";var i=n(6990);n(4910).element=i;var s=n(2856);s.isArray=i.isArray,s.isFunction=i.isFunction,s.isObject=i.isPlainObject,s.bind=i.proxy,s.each=function(t,e){i.each(t,(function(t,n){return e(n,t)}))},s.map=i.map,s.mixin=i.extend,s.Event=i.Event;var r="aaAutocomplete",o=n(6549),a=n(50);function u(t,e,n,u){n=s.isArray(n)?n:[].slice.call(arguments,2);var c=i(t).each((function(t,s){var c=i(s),l=new a({el:c}),h=u||new o({input:c,eventBus:l,dropdownMenuContainer:e.dropdownMenuContainer,hint:void 0===e.hint||!!e.hint,minLength:e.minLength,autoselect:e.autoselect,autoselectOnBlur:e.autoselectOnBlur,tabAutocomplete:e.tabAutocomplete,openOnFocus:e.openOnFocus,templates:e.templates,debug:e.debug,clearOnSelected:e.clearOnSelected,cssClasses:e.cssClasses,datasets:n,keyboardShortcuts:e.keyboardShortcuts,appendTo:e.appendTo,autoWidth:e.autoWidth,ariaLabel:e.ariaLabel||s.getAttribute("aria-label")});c.data(r,h)}));return c.autocomplete={},s.each(["open","close","getVal","setVal","destroy","getWrapper"],(function(t){c.autocomplete[t]=function(){var e,n=arguments;return c.each((function(s,o){var a=i(o).data(r);e=a[t].apply(a,n)})),e}})),c}u.sources=o.sources,u.escapeHighlightedString=s.escapeHighlightedString;var c="autocomplete"in window,l=window.autocomplete;u.noConflict=function(){return c?window.autocomplete=l:delete window.autocomplete,u},t.exports=u},533:t=>{t.exports="0.38.1"},6990:t=>{var e;e=window,t.exports=function(t){var e,n,i=function(){var e,n,i,s,r,o,a=[],u=a.concat,c=a.filter,l=a.slice,h=t.document,p={},f={},d={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},g=/^\s*<(\w+|!)[^>]*>/,m=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,y=/^(?:body|html)$/i,w=/([A-Z])/g,b=["val","css","html","text","data","width","height","offset"],C=["after","prepend","before","append"],x=h.createElement("table"),_=h.createElement("tr"),S={tr:h.createElement("tbody"),tbody:x,thead:x,tfoot:x,td:_,th:_,"*":h.createElement("div")},E=/complete|loaded|interactive/,A=/^[\w-]*$/,$={},T=$.toString,O={},D=h.createElement("div"),N={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},k=Array.isArray||function(t){return t instanceof Array};function I(t){return null==t?String(t):$[T.call(t)]||"object"}function P(t){return"function"==I(t)}function L(t){return null!=t&&t==t.window}function M(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function F(t){return"object"==I(t)}function R(t){return F(t)&&!L(t)&&Object.getPrototypeOf(t)==Object.prototype}function q(t){var e=!!t&&"length"in t&&t.length,n=i.type(t);return"function"!=n&&!L(t)&&("array"==n||0===e||"number"==typeof e&&e>0&&e-1 in t)}function V(t){return c.call(t,(function(t){return null!=t}))}function H(t){return t.length>0?i.fn.concat.apply([],t):t}function B(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function K(t){return t in f?f[t]:f[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function j(t,e){return"number"!=typeof e||d[B(t)]?e:e+"px"}function z(t){var e,n;return p[t]||(e=h.createElement(t),h.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),p[t]=n),p[t]}function U(t){return"children"in t?l.call(t.children):i.map(t.childNodes,(function(t){if(1==t.nodeType)return t}))}function Q(t,e){var n,i=t?t.length:0;for(n=0;n<i;n++)this[n]=t[n];this.length=i,this.selector=e||""}function W(t,i,s){for(n in i)s&&(R(i[n])||k(i[n]))?(R(i[n])&&!R(t[n])&&(t[n]={}),k(i[n])&&!k(t[n])&&(t[n]=[]),W(t[n],i[n],s)):i[n]!==e&&(t[n]=i[n])}function Z(t,e){return null==e?i(t):i(t).filter(e)}function X(t,e,n,i){return P(e)?e.call(t,n,i):e}function G(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function J(t,n){var i=t.className||"",s=i&&i.baseVal!==e;if(n===e)return s?i.baseVal:i;s?i.baseVal=n:t.className=n}function Y(t){try{return t?"true"==t||"false"!=t&&("null"==t?null:+t+""==t?+t:/^[\[\{]/.test(t)?i.parseJSON(t):t):t}catch(e){return t}}function tt(t,e){e(t);for(var n=0,i=t.childNodes.length;n<i;n++)tt(t.childNodes[n],e)}return O.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var i,s=t.parentNode,r=!s;return r&&(s=D).appendChild(t),i=~O.qsa(s,e).indexOf(t),r&&D.removeChild(t),i},r=function(t){return t.replace(/-+(.)?/g,(function(t,e){return e?e.toUpperCase():""}))},o=function(t){return c.call(t,(function(e,n){return t.indexOf(e)==n}))},O.fragment=function(t,n,s){var r,o,a;return m.test(t)&&(r=i(h.createElement(RegExp.$1))),r||(t.replace&&(t=t.replace(v,"<$1></$2>")),n===e&&(n=g.test(t)&&RegExp.$1),n in S||(n="*"),(a=S[n]).innerHTML=""+t,r=i.each(l.call(a.childNodes),(function(){a.removeChild(this)}))),R(s)&&(o=i(r),i.each(s,(function(t,e){b.indexOf(t)>-1?o[t](e):o.attr(t,e)}))),r},O.Z=function(t,e){return new Q(t,e)},O.isZ=function(t){return t instanceof O.Z},O.init=function(t,n){var s;if(!t)return O.Z();if("string"==typeof t)if("<"==(t=t.trim())[0]&&g.test(t))s=O.fragment(t,RegExp.$1,n),t=null;else{if(n!==e)return i(n).find(t);s=O.qsa(h,t)}else{if(P(t))return i(h).ready(t);if(O.isZ(t))return t;if(k(t))s=V(t);else if(F(t))s=[t],t=null;else if(g.test(t))s=O.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==e)return i(n).find(t);s=O.qsa(h,t)}}return O.Z(s,t)},(i=function(t,e){return O.init(t,e)}).extend=function(t){var e,n=l.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach((function(n){W(t,n,e)})),t},O.qsa=function(t,e){var n,i="#"==e[0],s=!i&&"."==e[0],r=i||s?e.slice(1):e,o=A.test(r);return t.getElementById&&o&&i?(n=t.getElementById(r))?[n]:[]:1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType?[]:l.call(o&&!i&&t.getElementsByClassName?s?t.getElementsByClassName(r):t.getElementsByTagName(e):t.querySelectorAll(e))},i.contains=h.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},i.type=I,i.isFunction=P,i.isWindow=L,i.isArray=k,i.isPlainObject=R,i.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},i.isNumeric=function(t){var e=Number(t),n=typeof t;return null!=t&&"boolean"!=n&&("string"!=n||t.length)&&!isNaN(e)&&isFinite(e)||!1},i.inArray=function(t,e,n){return a.indexOf.call(e,t,n)},i.camelCase=r,i.trim=function(t){return null==t?"":String.prototype.trim.call(t)},i.uuid=0,i.support={},i.expr={},i.noop=function(){},i.map=function(t,e){var n,i,s,r=[];if(q(t))for(i=0;i<t.length;i++)null!=(n=e(t[i],i))&&r.push(n);else for(s in t)null!=(n=e(t[s],s))&&r.push(n);return H(r)},i.each=function(t,e){var n,i;if(q(t)){for(n=0;n<t.length;n++)if(!1===e.call(t[n],n,t[n]))return t}else for(i in t)if(!1===e.call(t[i],i,t[i]))return t;return t},i.grep=function(t,e){return c.call(t,e)},t.JSON&&(i.parseJSON=JSON.parse),i.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),(function(t,e){$["[object "+e+"]"]=e.toLowerCase()})),i.fn={constructor:O.Z,length:0,forEach:a.forEach,reduce:a.reduce,push:a.push,sort:a.sort,splice:a.splice,indexOf:a.indexOf,concat:function(){var t,e,n=[];for(t=0;t<arguments.length;t++)e=arguments[t],n[t]=O.isZ(e)?e.toArray():e;return u.apply(O.isZ(this)?this.toArray():this,n)},map:function(t){return i(i.map(this,(function(e,n){return t.call(e,n,e)})))},slice:function(){return i(l.apply(this,arguments))},ready:function(t){return E.test(h.readyState)&&h.body?t(i):h.addEventListener("DOMContentLoaded",(function(){t(i)}),!1),this},get:function(t){return t===e?l.call(this):this[t>=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each((function(){null!=this.parentNode&&this.parentNode.removeChild(this)}))},each:function(t){return a.every.call(this,(function(e,n){return!1!==t.call(e,n,e)})),this},filter:function(t){return P(t)?this.not(this.not(t)):i(c.call(this,(function(e){return O.matches(e,t)})))},add:function(t,e){return i(o(this.concat(i(t,e))))},is:function(t){return this.length>0&&O.matches(this[0],t)},not:function(t){var n=[];if(P(t)&&t.call!==e)this.each((function(e){t.call(this,e)||n.push(this)}));else{var s="string"==typeof t?this.filter(t):q(t)&&P(t.item)?l.call(t):i(t);this.forEach((function(t){s.indexOf(t)<0&&n.push(t)}))}return i(n)},has:function(t){return this.filter((function(){return F(t)?i.contains(this,t):i(this).find(t).size()}))},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!F(t)?t:i(t)},last:function(){var t=this[this.length-1];return t&&!F(t)?t:i(t)},find:function(t){var e=this;return t?"object"==typeof t?i(t).filter((function(){var t=this;return a.some.call(e,(function(e){return i.contains(e,t)}))})):1==this.length?i(O.qsa(this[0],t)):this.map((function(){return O.qsa(this,t)})):i()},closest:function(t,e){var n=[],s="object"==typeof t&&i(t);return this.each((function(i,r){for(;r&&!(s?s.indexOf(r)>=0:O.matches(r,t));)r=r!==e&&!M(r)&&r.parentNode;r&&n.indexOf(r)<0&&n.push(r)})),i(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=i.map(n,(function(t){if((t=t.parentNode)&&!M(t)&&e.indexOf(t)<0)return e.push(t),t}));return Z(e,t)},parent:function(t){return Z(o(this.pluck("parentNode")),t)},children:function(t){return Z(this.map((function(){return U(this)})),t)},contents:function(){return this.map((function(){return this.contentDocument||l.call(this.childNodes)}))},siblings:function(t){return Z(this.map((function(t,e){return c.call(U(e.parentNode),(function(t){return t!==e}))})),t)},empty:function(){return this.each((function(){this.innerHTML=""}))},pluck:function(t){return i.map(this,(function(e){return e[t]}))},show:function(){return this.each((function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=z(this.nodeName))}))},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=P(t);if(this[0]&&!e)var n=i(t).get(0),s=n.parentNode||this.length>1;return this.each((function(r){i(this).wrapAll(e?t.call(this,r):s?n.cloneNode(!0):n)}))},wrapAll:function(t){if(this[0]){var e;for(i(this[0]).before(t=i(t));(e=t.children()).length;)t=e.first();i(t).append(this)}return this},wrapInner:function(t){var e=P(t);return this.each((function(n){var s=i(this),r=s.contents(),o=e?t.call(this,n):t;r.length?r.wrapAll(o):s.append(o)}))},unwrap:function(){return this.parent().each((function(){i(this).replaceWith(i(this).children())})),this},clone:function(){return this.map((function(){return this.cloneNode(!0)}))},hide:function(){return this.css("display","none")},toggle:function(t){return this.each((function(){var n=i(this);(t===e?"none"==n.css("display"):t)?n.show():n.hide()}))},prev:function(t){return i(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return i(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each((function(e){var n=this.innerHTML;i(this).empty().append(X(this,t,e,n))})):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each((function(e){var n=X(this,t,e,this.textContent);this.textContent=null==n?"":""+n})):0 in this?this.pluck("textContent").join(""):null},attr:function(t,i){var s;return"string"!=typeof t||1 in arguments?this.each((function(e){if(1===this.nodeType)if(F(t))for(n in t)G(this,n,t[n]);else G(this,t,X(this,i,e,this.getAttribute(t)))})):0 in this&&1==this[0].nodeType&&null!=(s=this[0].getAttribute(t))?s:e},removeAttr:function(t){return this.each((function(){1===this.nodeType&&t.split(" ").forEach((function(t){G(this,t)}),this)}))},prop:function(t,e){return t=N[t]||t,1 in arguments?this.each((function(n){this[t]=X(this,e,n,this[t])})):this[0]&&this[0][t]},removeProp:function(t){return t=N[t]||t,this.each((function(){delete this[t]}))},data:function(t,n){var i="data-"+t.replace(w,"-$1").toLowerCase(),s=1 in arguments?this.attr(i,n):this.attr(i);return null!==s?Y(s):e},val:function(t){return 0 in arguments?(null==t&&(t=""),this.each((function(e){this.value=X(this,t,e,this.value)}))):this[0]&&(this[0].multiple?i(this[0]).find("option").filter((function(){return this.selected})).pluck("value"):this[0].value)},offset:function(e){if(e)return this.each((function(t){var n=i(this),s=X(this,e,t,n.offset()),r=n.offsetParent().offset(),o={top:s.top-r.top,left:s.left-r.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)}));if(!this.length)return null;if(h.documentElement!==this[0]&&!i.contains(h.documentElement,this[0]))return{top:0,left:0};var n=this[0].getBoundingClientRect();return{left:n.left+t.pageXOffset,top:n.top+t.pageYOffset,width:Math.round(n.width),height:Math.round(n.height)}},css:function(t,e){if(arguments.length<2){var s=this[0];if("string"==typeof t){if(!s)return;return s.style[r(t)]||getComputedStyle(s,"").getPropertyValue(t)}if(k(t)){if(!s)return;var o={},a=getComputedStyle(s,"");return i.each(t,(function(t,e){o[e]=s.style[r(e)]||a.getPropertyValue(e)})),o}}var u="";if("string"==I(t))e||0===e?u=B(t)+":"+j(t,e):this.each((function(){this.style.removeProperty(B(t))}));else for(n in t)t[n]||0===t[n]?u+=B(n)+":"+j(n,t[n])+";":this.each((function(){this.style.removeProperty(B(n))}));return this.each((function(){this.style.cssText+=";"+u}))},index:function(t){return t?this.indexOf(i(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return!!t&&a.some.call(this,(function(t){return this.test(J(t))}),K(t))},addClass:function(t){return t?this.each((function(e){if("className"in this){s=[];var n=J(this);X(this,t,e,n).split(/\s+/g).forEach((function(t){i(this).hasClass(t)||s.push(t)}),this),s.length&&J(this,n+(n?" ":"")+s.join(" "))}})):this},removeClass:function(t){return this.each((function(n){if("className"in this){if(t===e)return J(this,"");s=J(this),X(this,t,n,s).split(/\s+/g).forEach((function(t){s=s.replace(K(t)," ")})),J(this,s.trim())}}))},toggleClass:function(t,n){return t?this.each((function(s){var r=i(this);X(this,t,s,J(this)).split(/\s+/g).forEach((function(t){(n===e?!r.hasClass(t):n)?r.addClass(t):r.removeClass(t)}))})):this},scrollTop:function(t){if(this.length){var n="scrollTop"in this[0];return t===e?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var n="scrollLeft"in this[0];return t===e?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=t}:function(){this.scrollTo(t,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),n=this.offset(),s=y.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(i(t).css("margin-top"))||0,n.left-=parseFloat(i(t).css("margin-left"))||0,s.top+=parseFloat(i(e[0]).css("border-top-width"))||0,s.left+=parseFloat(i(e[0]).css("border-left-width"))||0,{top:n.top-s.top,left:n.left-s.left}}},offsetParent:function(){return this.map((function(){for(var t=this.offsetParent||h.body;t&&!y.test(t.nodeName)&&"static"==i(t).css("position");)t=t.offsetParent;return t}))}},i.fn.detach=i.fn.remove,["width","height"].forEach((function(t){var n=t.replace(/./,(function(t){return t[0].toUpperCase()}));i.fn[t]=function(s){var r,o=this[0];return s===e?L(o)?o["inner"+n]:M(o)?o.documentElement["scroll"+n]:(r=this.offset())&&r[t]:this.each((function(e){(o=i(this)).css(t,X(this,s,e,o[t]()))}))}})),C.forEach((function(n,s){var r=s%2;i.fn[n]=function(){var n,o,a=i.map(arguments,(function(t){var s=[];return"array"==(n=I(t))?(t.forEach((function(t){return t.nodeType!==e?s.push(t):i.zepto.isZ(t)?s=s.concat(t.get()):void(s=s.concat(O.fragment(t)))})),s):"object"==n||null==t?t:O.fragment(t)})),u=this.length>1;return a.length<1?this:this.each((function(e,n){o=r?n:n.parentNode,n=0==s?n.nextSibling:1==s?n.firstChild:2==s?n:null;var c=i.contains(h.documentElement,o);a.forEach((function(e){if(u)e=e.cloneNode(!0);else if(!o)return i(e).remove();o.insertBefore(e,n),c&&tt(e,(function(e){if(!(null==e.nodeName||"SCRIPT"!==e.nodeName.toUpperCase()||e.type&&"text/javascript"!==e.type||e.src)){var n=e.ownerDocument?e.ownerDocument.defaultView:t;n.eval.call(n,e.innerHTML)}}))}))}))},i.fn[r?n+"To":"insert"+(s?"Before":"After")]=function(t){return i(t)[n](this),this}})),O.Z.prototype=Q.prototype=i.fn,O.uniq=o,O.deserializeValue=Y,i.zepto=O,i}();return function(e){var n,i=1,s=Array.prototype.slice,r=e.isFunction,o=function(t){return"string"==typeof t},a={},u={},c="onfocusin"in t,l={focus:"focusin",blur:"focusout"},h={mouseenter:"mouseover",mouseleave:"mouseout"};function p(t){return t._zid||(t._zid=i++)}function f(t,e,n,i){if((e=d(e)).ns)var s=g(e.ns);return(a[p(t)]||[]).filter((function(t){return t&&(!e.e||t.e==e.e)&&(!e.ns||s.test(t.ns))&&(!n||p(t.fn)===p(n))&&(!i||t.sel==i)}))}function d(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function g(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function m(t,e){return t.del&&!c&&t.e in l||!!e}function v(t){return h[t]||c&&l[t]||t}function y(t,i,s,r,o,u,c){var l=p(t),f=a[l]||(a[l]=[]);i.split(/\s/).forEach((function(i){if("ready"==i)return e(document).ready(s);var a=d(i);a.fn=s,a.sel=o,a.e in h&&(s=function(t){var n=t.relatedTarget;if(!n||n!==this&&!e.contains(this,n))return a.fn.apply(this,arguments)}),a.del=u;var l=u||s;a.proxy=function(e){if(!(e=S(e)).isImmediatePropagationStopped()){try{var i=Object.getOwnPropertyDescriptor(e,"data");i&&!i.writable||(e.data=r)}catch(e){}var s=l.apply(t,e._args==n?[e]:[e].concat(e._args));return!1===s&&(e.preventDefault(),e.stopPropagation()),s}},a.i=f.length,f.push(a),"addEventListener"in t&&t.addEventListener(v(a.e),a.proxy,m(a,c))}))}function w(t,e,n,i,s){var r=p(t);(e||"").split(/\s/).forEach((function(e){f(t,e,n,i).forEach((function(e){delete a[r][e.i],"removeEventListener"in t&&t.removeEventListener(v(e.e),e.proxy,m(e,s))}))}))}u.click=u.mousedown=u.mouseup=u.mousemove="MouseEvents",e.event={add:y,remove:w},e.proxy=function(t,n){var i=2 in arguments&&s.call(arguments,2);if(r(t)){var a=function(){return t.apply(n,i?i.concat(s.call(arguments)):arguments)};return a._zid=p(t),a}if(o(n))return i?(i.unshift(t[n],t),e.proxy.apply(null,i)):e.proxy(t[n],t);throw new TypeError("expected function")},e.fn.bind=function(t,e,n){return this.on(t,e,n)},e.fn.unbind=function(t,e){return this.off(t,e)},e.fn.one=function(t,e,n,i){return this.on(t,e,n,i,1)};var b=function(){return!0},C=function(){return!1},x=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,_={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};function S(t,i){if(i||!t.isDefaultPrevented){i||(i=t),e.each(_,(function(e,n){var s=i[e];t[e]=function(){return this[n]=b,s&&s.apply(i,arguments)},t[n]=C}));try{t.timeStamp||(t.timeStamp=Date.now())}catch(s){}(i.defaultPrevented!==n?i.defaultPrevented:"returnValue"in i?!1===i.returnValue:i.getPreventDefault&&i.getPreventDefault())&&(t.isDefaultPrevented=b)}return t}function E(t){var e,i={originalEvent:t};for(e in t)x.test(e)||t[e]===n||(i[e]=t[e]);return S(i,t)}e.fn.delegate=function(t,e,n){return this.on(e,t,n)},e.fn.undelegate=function(t,e,n){return this.off(e,t,n)},e.fn.live=function(t,n){return e(document.body).delegate(this.selector,t,n),this},e.fn.die=function(t,n){return e(document.body).undelegate(this.selector,t,n),this},e.fn.on=function(t,i,a,u,c){var l,h,p=this;return t&&!o(t)?(e.each(t,(function(t,e){p.on(t,i,a,e,c)})),p):(o(i)||r(u)||!1===u||(u=a,a=i,i=n),u!==n&&!1!==a||(u=a,a=n),!1===u&&(u=C),p.each((function(n,r){c&&(l=function(t){return w(r,t.type,u),u.apply(this,arguments)}),i&&(h=function(t){var n,o=e(t.target).closest(i,r).get(0);if(o&&o!==r)return n=e.extend(E(t),{currentTarget:o,liveFired:r}),(l||u).apply(o,[n].concat(s.call(arguments,1)))}),y(r,t,u,a,i,h||l)})))},e.fn.off=function(t,i,s){var a=this;return t&&!o(t)?(e.each(t,(function(t,e){a.off(t,i,e)})),a):(o(i)||r(s)||!1===s||(s=i,i=n),!1===s&&(s=C),a.each((function(){w(this,t,s,i)})))},e.fn.trigger=function(t,n){return(t=o(t)||e.isPlainObject(t)?e.Event(t):S(t))._args=n,this.each((function(){t.type in l&&"function"==typeof this[t.type]?this[t.type]():"dispatchEvent"in this?this.dispatchEvent(t):e(this).triggerHandler(t,n)}))},e.fn.triggerHandler=function(t,n){var i,s;return this.each((function(r,a){(i=E(o(t)?e.Event(t):t))._args=n,i.target=a,e.each(f(a,t.type||t),(function(t,e){if(s=e.proxy(i),i.isImmediatePropagationStopped())return!1}))})),s},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach((function(t){e.fn[t]=function(e){return 0 in arguments?this.bind(t,e):this.trigger(t)}})),e.Event=function(t,e){o(t)||(t=(e=t).type);var n=document.createEvent(u[t]||"Events"),i=!0;if(e)for(var s in e)"bubbles"==s?i=!!e[s]:n[s]=e[s];return n.initEvent(t,i,!0),S(n)}}(i),n=[],i.fn.remove=function(){return this.each((function(){this.parentNode&&("IMG"===this.tagName&&(n.push(this),this.src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=",e&&clearTimeout(e),e=setTimeout((function(){n=[]}),6e4)),this.parentNode.removeChild(this))}))},function(t){var e={},n=t.fn.data,i=t.camelCase,s=t.expando="Zepto"+ +new Date,r=[];function o(r,o){var u=r[s],c=u&&e[u];if(void 0===o)return c||a(r);if(c){if(o in c)return c[o];var l=i(o);if(l in c)return c[l]}return n.call(t(r),o)}function a(n,r,o){var a=n[s]||(n[s]=++t.uuid),c=e[a]||(e[a]=u(n));return void 0!==r&&(c[i(r)]=o),c}function u(e){var n={};return t.each(e.attributes||r,(function(e,s){0==s.name.indexOf("data-")&&(n[i(s.name.replace("data-",""))]=t.zepto.deserializeValue(s.value))})),n}t.fn.data=function(e,n){return void 0===n?t.isPlainObject(e)?this.each((function(n,i){t.each(e,(function(t,e){a(i,t,e)}))})):0 in this?o(this[0],e):void 0:this.each((function(){a(this,e,n)}))},t.data=function(e,n,i){return t(e).data(n,i)},t.hasData=function(n){var i=n[s],r=i&&e[i];return!!r&&!t.isEmptyObject(r)},t.fn.removeData=function(n){return"string"==typeof n&&(n=n.split(/\s+/)),this.each((function(){var r=this[s],o=r&&e[r];o&&t.each(n||o,(function(t){delete o[n?i(this):t]}))}))},["remove","empty"].forEach((function(e){var n=t.fn[e];t.fn[e]=function(){var t=this.find("*");return"remove"===e&&(t=t.add(this)),t.removeData(),n.call(this)}}))}(i),i}(e)},8820:t=>{"use strict";var e={}.hasOwnProperty,n=/[ -,\.\/:-@\[-\^`\{-~]/,i=/[ -,\.\/:-@\[\]\^`\{-~]/,s=/(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g,r=function t(r,o){"single"!=(o=function(t,n){if(!t)return n;var i={};for(var s in n)i[s]=e.call(t,s)?t[s]:n[s];return i}(o,t.options)).quotes&&"double"!=o.quotes&&(o.quotes="single");for(var a="double"==o.quotes?'"':"'",u=o.isIdentifier,c=r.charAt(0),l="",h=0,p=r.length;h<p;){var f=r.charAt(h++),d=f.charCodeAt(),g=void 0;if(d<32||d>126){if(d>=55296&&d<=56319&&h<p){var m=r.charCodeAt(h++);56320==(64512&m)?d=((1023&d)<<10)+(1023&m)+65536:h--}g="\\"+d.toString(16).toUpperCase()+" "}else g=o.escapeEverything?n.test(f)?"\\"+f:"\\"+d.toString(16).toUpperCase()+" ":/[\t\n\f\r\x0B]/.test(f)?"\\"+d.toString(16).toUpperCase()+" ":"\\"==f||!u&&('"'==f&&a==f||"'"==f&&a==f)||u&&i.test(f)?"\\"+f:f;l+=g}return u&&(/^-[-\d]/.test(l)?l="\\-"+l.slice(1):/\d/.test(c)&&(l="\\3"+c+" "+l.slice(1))),l=l.replace(s,(function(t,e,n){return e&&e.length%2?t:(e||"")+n})),!u&&o.wrap?a+l+a:l};r.options={escapeEverything:!1,isIdentifier:!1,quotes:"single",wrap:!1},r.version="3.0.0",t.exports=r},624:(t,e,n)=>{"use strict";var i,s,r,o=[n(5525),n(4785),n(8291),n(2709),n(2506),n(9176)],a=-1,u=[],c=!1;function l(){i&&s&&(i=!1,s.length?u=s.concat(u):a=-1,u.length&&h())}function h(){if(!i){c=!1,i=!0;for(var t=u.length,e=setTimeout(l);t;){for(s=u,u=[];s&&++a<t;)s[a].run();a=-1,t=u.length}s=null,a=-1,i=!1,clearTimeout(e)}}for(var p=-1,f=o.length;++p<f;)if(o[p]&&o[p].test&&o[p].test()){r=o[p].install(h);break}function d(t,e){this.fun=t,this.array=e}d.prototype.run=function(){var t=this.fun,e=this.array;switch(e.length){case 0:return t();case 1:return t(e[0]);case 2:return t(e[0],e[1]);case 3:return t(e[0],e[1],e[2]);default:return t.apply(null,e)}},t.exports=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];u.push(new d(t,e)),c||i||(c=!0,r())}},2709:(t,e,n)=>{"use strict";e.test=function(){return!n.g.setImmediate&&void 0!==n.g.MessageChannel},e.install=function(t){var e=new n.g.MessageChannel;return e.port1.onmessage=t,function(){e.port2.postMessage(0)}}},8291:(t,e,n)=>{"use strict";var i=n.g.MutationObserver||n.g.WebKitMutationObserver;e.test=function(){return i},e.install=function(t){var e=0,s=new i(t),r=n.g.document.createTextNode("");return s.observe(r,{characterData:!0}),function(){r.data=e=++e%2}}},4785:(t,e,n)=>{"use strict";e.test=function(){return"function"==typeof n.g.queueMicrotask},e.install=function(t){return function(){n.g.queueMicrotask(t)}}},2506:(t,e,n)=>{"use strict";e.test=function(){return"document"in n.g&&"onreadystatechange"in n.g.document.createElement("script")},e.install=function(t){return function(){var e=n.g.document.createElement("script");return e.onreadystatechange=function(){t(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null},n.g.document.documentElement.appendChild(e),t}}},9176:(t,e)=>{"use strict";e.test=function(){return!0},e.install=function(t){return function(){setTimeout(t,0)}}}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/8443.d40ac066.js.LICENSE.txt b/zh-CN/assets/js/8443.d40ac066.js.LICENSE.txt new file mode 100644 index 00000000..4f7ccd8a --- /dev/null +++ b/zh-CN/assets/js/8443.d40ac066.js.LICENSE.txt @@ -0,0 +1 @@ +/*! https://mths.be/cssesc v3.0.0 by @mathias */ diff --git a/zh-CN/assets/js/8ba85c45.30750ed2.js b/zh-CN/assets/js/8ba85c45.30750ed2.js new file mode 100644 index 00000000..86f56ef5 --- /dev/null +++ b/zh-CN/assets/js/8ba85c45.30750ed2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[289],{2481:s=>{s.exports=JSON.parse('{"name":"docusaurus-plugin-content-docs","id":"community"}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/8e4b7347.84330caf.js b/zh-CN/assets/js/8e4b7347.84330caf.js new file mode 100644 index 00000000..6987bc81 --- /dev/null +++ b/zh-CN/assets/js/8e4b7347.84330caf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7242],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>f});var n=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function u(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var c=n.createContext({}),l=function(e){var t=n.useContext(c),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},s=function(e){var t=l(e.components);return n.createElement(c.Provider,{value:t},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,o=e.originalType,c=e.parentName,s=u(e,["components","mdxType","originalType","parentName"]),p=l(r),m=i,f=p["".concat(c,".").concat(m)]||p[m]||d[m]||o;return r?n.createElement(f,a(a({ref:t},s),{},{components:r})):n.createElement(f,a({ref:t},s))}));function f(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var o=r.length,a=new Array(o);a[0]=m;var u={};for(var c in t)hasOwnProperty.call(t,c)&&(u[c]=t[c]);u.originalType=e,u[p]="string"==typeof e?e:i,a[1]=u;for(var l=2;l<o;l++)a[l]=r[l];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"},6418:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>d,frontMatter:()=>o,metadata:()=>u,toc:()=>l});var n=r(7462),i=(r(7294),r(3905));const o={id:"quick-start",title:"\u5feb\u901f\u5f00\u59cb",sidebar_position:1},a="\u5feb\u901f\u5f00\u59cb",u={unversionedId:"user-guide/quick-start",id:"user-guide/quick-start",title:"\u5feb\u901f\u5f00\u59cb",description:"\u5f00\u59cb",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/user-guide/quickstart.md",sourceDirName:"user-guide",slug:"/user-guide/quick-start",permalink:"/SolidUI-Website/zh-CN/docs/user-guide/quick-start",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/user-guide/quickstart.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"quick-start",title:"\u5feb\u901f\u5f00\u59cb",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"\u6846\u67b6\u4ecb\u7ecd",permalink:"/SolidUI-Website/zh-CN/docs/intro"},next:{title:"Commit\u987b\u77e5",permalink:"/SolidUI-Website/zh-CN/docs/development/development-commit"}},c={},l=[{value:"\u5f00\u59cb",id:"\u5f00\u59cb",level:2},{value:"\u8bbf\u95ee\u670d\u52a1",id:"\u8bbf\u95ee\u670d\u52a1",level:2}],s={toc:l},p="wrapper";function d(e){let{components:t,...r}=e;return(0,i.kt)(p,(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"\u5feb\u901f\u5f00\u59cb"},"\u5feb\u901f\u5f00\u59cb"),(0,i.kt)("h2",{id:"\u5f00\u59cb"},"\u5f00\u59cb"),(0,i.kt)("p",null,"\u5feb\u901f\u4f53\u9a8c"),(0,i.kt)("p",null,"\u4ece ",(0,i.kt)("a",{parentName:"p",href:"/docs/deployment/deployment-standalone"},"Standalone")," \u5f00\u59cb"),(0,i.kt)("p",null,"\u4ece ",(0,i.kt)("a",{parentName:"p",href:"/docs/deployment/deployment-docker"},"Docker")," \u5f00\u59cb "),(0,i.kt)("p",null,"\u4ece ",(0,i.kt)("a",{parentName:"p",href:"http://www.solidui.top/"},"\u6f14\u793a\u73af\u5883")," \u5f00\u59cb"),(0,i.kt)("h2",{id:"\u8bbf\u95ee\u670d\u52a1"},"\u8bbf\u95ee\u670d\u52a1"),(0,i.kt)("p",null,"\u9ed8\u8ba4\u7528\u6237\u540d\u5bc6\u7801\uff1aadmin/admin"))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/90b38822.f6ca83da.js b/zh-CN/assets/js/90b38822.f6ca83da.js new file mode 100644 index 00000000..0318bc54 --- /dev/null +++ b/zh-CN/assets/js/90b38822.f6ca83da.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5279],{3905:(e,t,n)=>{n.d(t,{Zo:()=>u,kt:()=>g});var i=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?r(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):r(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function c(e,t){if(null==e)return{};var n,i,o=function(e,t){if(null==e)return{};var n,i,o={},r=Object.keys(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)n=r[i],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var l=i.createContext({}),s=function(e){var t=i.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},u=function(e){var t=s(e.components);return i.createElement(l.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var n=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),d=s(n),m=o,g=d["".concat(l,".").concat(m)]||d[m]||p[m]||r;return n?i.createElement(g,a(a({ref:t},u),{},{components:n})):i.createElement(g,a({ref:t},u))}));function g(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=n.length,a=new Array(r);a[0]=m;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[d]="string"==typeof e?e:o,a[1]=c;for(var s=2;s<r;s++)a[s]=n[s];return i.createElement.apply(null,a)}return i.createElement.apply(null,n)}m.displayName="MDXCreateElement"},7769:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>c,toc:()=>s});var i=n(7462),o=(n(7294),n(3905));const r={id:"document",title:"Documentation Notice",sidebar_position:1},a=void 0,c={unversionedId:"submit_guide/document",id:"submit_guide/document",title:"Documentation Notice",description:"\x3c!--",source:"@site/community/submit_guide/document.md",sourceDirName:"submit_guide",slug:"/submit_guide/document",permalink:"/SolidUI-Website/zh-CN/community/submit_guide/document",draft:!1,tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"document",title:"Documentation Notice",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Become committer",permalink:"/SolidUI-Website/zh-CN/community/contribution_guide/become_committer"},next:{title:"Submit Code",permalink:"/SolidUI-Website/zh-CN/community/submit_guide/submit_code"}},l={},s=[{value:"Get the document project",id:"get-the-document-project",level:2},{value:"Preview and generate static files",id:"preview-and-generate-static-files",level:2},{value:"Directory structure",id:"directory-structure",level:2},{value:"Specification",id:"specification",level:2},{value:"Directory naming convention",id:"directory-naming-convention",level:3},{value:"Vue and the naming convention of static resource files",id:"vue-and-the-naming-convention-of-static-resource-files",level:3},{value:"Resource Path",id:"resource-path",level:3},{value:"Page content modification",id:"page-content-modification",level:3},{value:"Home page modification",id:"home-page-modification",level:3},{value:"Team page modification",id:"team-page-modification",level:3},{value:"User list page modification",id:"user-list-page-modification",level:3}],u={toc:s},d="wrapper";function p(e){let{components:t,...n}=e;return(0,o.kt)(d,(0,i.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Good documentation is critical for any type of software. Any contribution that can improve the SolidUI documentation is welcome."),(0,o.kt)("h2",{id:"get-the-document-project"},"Get the document project"),(0,o.kt)("p",null,"Documentation for the SolidUI project is maintained in a separate ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI-Website.git"},"git repository"),"."),(0,o.kt)("p",null,"First you need to fork the document project into your own github repository, and then clone the document to your local computer."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"git clone git@github.com:<your-github-user-name>/SolidUI-Website.git\n")),(0,o.kt)("h2",{id:"preview-and-generate-static-files"},"Preview and generate static files"),(0,o.kt)("p",null,"This website is compiled using node, using Docusaurus framework components"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"Download and install nodejs (version>12.5.0)"),(0,o.kt)("li",{parentName:"ol"},"Clone the code to the local ",(0,o.kt)("inlineCode",{parentName:"li"},"git clone git@github.com:CloudOrc/SolidUI-Website.git")),(0,o.kt)("li",{parentName:"ol"},"Run ",(0,o.kt)("inlineCode",{parentName:"li"},"npm install")," to install the required dependent libraries."),(0,o.kt)("li",{parentName:"ol"},"Run ",(0,o.kt)("inlineCode",{parentName:"li"},"npm run start")," in the root directory, you can visit http://localhost:3000 to view the English mode preview of the site"),(0,o.kt)("li",{parentName:"ol"},"Run ",(0,o.kt)("inlineCode",{parentName:"li"},"npm run start-zh")," in the root directory, you can visit http://localhost:3000 to view the Chinese mode preview of the site"),(0,o.kt)("li",{parentName:"ol"},"To generate static website resource files, run ",(0,o.kt)("inlineCode",{parentName:"li"},"npm run build"),". The static resources of the build are in the build directory.")),(0,o.kt)("h2",{id:"directory-structure"},"Directory structure"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-html"},"|-- community\n|-- docs // The next version of the document that will be released soon\n|-- download\n|-- faq // Q&A\n|-- i18n\n| `-- zh-CN //Internationalized Chinese\n| |-- code.json\n| |-- docusaurus-plugin-content-docs\n| |-- docusaurus-plugin-content-docs-community\n| |-- docusaurus-plugin-content-docs-download\n| |-- docusaurus-plugin-content-docs-faq\n| `-- docusaurus-theme-classic\n|-- resource // Original project files for architecture/timing diagram/flow chart, etc.\n|-- src\n| |-- components\n| |-- css\n| |-- js\n| |-- pages\n| | |-- home\n| | |-- index.jsx\n| | |-- team\n| | |-- user\n| | `-- versions\n| |-- styles\n|-- static // Picture static resource\n| |-- doc // document picture\n| |-- user // users picture\n| |-- home // homepage picture\n| |-- img // common picture\n|-- docusaurus.config.js\n")),(0,o.kt)("h2",{id:"specification"},"Specification"),(0,o.kt)("h3",{id:"directory-naming-convention"},"Directory naming convention"),(0,o.kt)("p",null,"Use all lowercase, separated by underscores. If there is a plural structure, use plural nomenclature, and do not use plural abbreviations"),(0,o.kt)("p",null,"Positive example: ",(0,o.kt)("inlineCode",{parentName:"p"},"scripts / styles / components / images / utils / layouts / demo_styles / demo-scripts / img / doc")),(0,o.kt)("p",null,"Counter example: ",(0,o.kt)("inlineCode",{parentName:"p"},"script / style / demoStyles / imgs / docs")),(0,o.kt)("h3",{id:"vue-and-the-naming-convention-of-static-resource-files"},"Vue and the naming convention of static resource files"),(0,o.kt)("p",null,"All lowercase, separated by a dash"),(0,o.kt)("p",null,"Positive example: ",(0,o.kt)("inlineCode",{parentName:"p"},"render-dom.js / signup.css / index.html / company-logo.png")),(0,o.kt)("p",null,"Counter example: ",(0,o.kt)("inlineCode",{parentName:"p"},"renderDom.js / UserManagement.html")),(0,o.kt)("h3",{id:"resource-path"},"Resource Path"),(0,o.kt)("p",null,"Image resources are unified under ",(0,o.kt)("inlineCode",{parentName:"p"},"static/{module name}")),(0,o.kt)("p",null,"css and other style files are placed in the ",(0,o.kt)("inlineCode",{parentName:"p"},"src/css")," directory"),(0,o.kt)("h3",{id:"page-content-modification"},"Page content modification"),(0,o.kt)("blockquote",null,(0,o.kt)("p",{parentName:"blockquote"},"Except for the homepage, team, user, Docs>All Version module page, all other pages can be directly jumped to the corresponding github resource modification page through the'Edit this page' button at the bottom")),(0,o.kt)("h3",{id:"home-page-modification"},"Home page modification"),(0,o.kt)("p",null,"Visit the page ",(0,o.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/"),"\nLocated in ",(0,o.kt)("inlineCode",{parentName:"p"},"src/pages/home")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"\u251c\u2500home\n\u2502 languages.json // Home page Chinese and English configuration\n\u2502 index.less // homepage style\n")),(0,o.kt)("h3",{id:"team-page-modification"},"Team page modification"),(0,o.kt)("p",null,"Visit the page ",(0,o.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/team"},"https://cloudorc.github.io/SolidUI-Website/team"),"\nLocated in ",(0,o.kt)("inlineCode",{parentName:"p"},"src/pages/team")),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre"},"\u251c\u2500team\n\u2502 languages.json\n\u2502 index.js\n\u2502 index.less\n")),(0,o.kt)("h3",{id:"user-list-page-modification"},"User list page modification"),(0,o.kt)("p",null,"Visit the page ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/1"},"https://github.com/CloudOrc/SolidUI/issues/1")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/935f2afb.fab31564.js b/zh-CN/assets/js/935f2afb.fab31564.js new file mode 100644 index 00000000..68a7c156 --- /dev/null +++ b/zh-CN/assets/js/935f2afb.fab31564.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[53],{1109:e=>{e.exports=JSON.parse('{"pluginId":"default","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"tutorialSidebar":[{"type":"link","label":"\u6846\u67b6\u4ecb\u7ecd","href":"/SolidUI-Website/zh-CN/docs/intro","docId":"intro"},{"type":"category","label":"User guide","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\u5feb\u901f\u5f00\u59cb","href":"/SolidUI-Website/zh-CN/docs/user-guide/quick-start","docId":"user-guide/quick-start"}]},{"type":"category","label":"Development Framework","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"Commit\u987b\u77e5","href":"/SolidUI-Website/zh-CN/docs/development/development-commit","docId":"development/development-commit"},{"type":"link","label":"Docker \u7f16\u8bd1","href":"/SolidUI-Website/zh-CN/docs/development/development-docker","docId":"development/development-docker"},{"type":"link","label":"\u9879\u76ee\u8d21\u732e","href":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","docId":"development/develop-contributing"},{"type":"link","label":"\u524d\u7aef\u7f16\u8bd1","href":"/SolidUI-Website/zh-CN/docs/development/development-front","docId":"development/development-front"},{"type":"link","label":"\u9879\u76ee\u5171\u5efa\u6d41\u7a0b","href":"/SolidUI-Website/zh-CN/docs/development/development-construction","docId":"development/development-construction"},{"type":"link","label":"\u9879\u76ee\u53d1\u7248\u6d41\u7a0b","href":"/SolidUI-Website/zh-CN/docs/development/development-release","docId":"development/development-release"},{"type":"link","label":"\u670d\u52a1\u7aef\u7f16\u8bd1","href":"/SolidUI-Website/zh-CN/docs/development/development-server","docId":"development/development-server"}]},{"type":"category","label":"Deployment","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\u524d\u7aef\u90e8\u7f72","href":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","docId":"deployment/deployment-web"},{"type":"link","label":"Docker-Compose \u90e8\u7f72","href":"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker","docId":"deployment/deployment-docker"},{"type":"link","label":"\u72ec\u7acb\u90e8\u7f72","href":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","docId":"deployment/deployment-standalone"},{"type":"link","label":"Kubernetes \u90e8\u7f72","href":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","docId":"deployment/deployment-kubernetes"}]},{"type":"category","label":"Operational","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\u793e\u533a\u5171\u5efa\u5408\u4f5c","href":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","docId":"operational/community-operation/community-operation"}]},{"type":"category","label":"Design","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\u670d\u52a1\u7aef\u67b6\u6784","href":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","docId":"design/server-architecture/server-architecture"},{"type":"link","label":"\u524d\u7aef\u67b6\u6784","href":"/SolidUI-Website/zh-CN/docs/design/front-end-architecture/","docId":"design/front-end-architecture/front-end-architecture"},{"type":"link","label":"\u5143\u6570\u636e","href":"/SolidUI-Website/zh-CN/docs/design/metadata/","docId":"design/metadata/metadata"}]},{"type":"category","label":"Test","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\u6d4b\u8bd5\u7528\u4f8b","href":"/SolidUI-Website/zh-CN/docs/test/test-case/","docId":"test/test-case/test-case"}]},{"type":"category","label":"Frequently Asked Questions","collapsible":true,"collapsed":false,"items":[{"type":"link","label":"\u5e38\u89c1\u95ee\u9898\u89e3\u7b54","href":"/SolidUI-Website/zh-CN/docs/faq/faq/","docId":"faq/faq/faq"}]}]},"docs":{"deployment/deployment-docker":{"id":"deployment/deployment-docker","title":"Docker-Compose \u90e8\u7f72","description":"1. \u73af\u5883\u51c6\u5907","sidebar":"tutorialSidebar"},"deployment/deployment-kubernetes":{"id":"deployment/deployment-kubernetes","title":"Kubernetes \u90e8\u7f72","description":"1. \u73af\u5883\u51c6\u5907","sidebar":"tutorialSidebar"},"deployment/deployment-standalone":{"id":"deployment/deployment-standalone","title":"\u72ec\u7acb\u90e8\u7f72","description":"1.\u9996\u6b21\u5b89\u88c5\u51c6\u5907\u4e8b\u9879","sidebar":"tutorialSidebar"},"deployment/deployment-web":{"id":"deployment/deployment-web","title":"\u524d\u7aef\u90e8\u7f72","description":"1 \u51c6\u5907\u5de5\u4f5c","sidebar":"tutorialSidebar"},"design/front-end-architecture/front-end-architecture":{"id":"design/front-end-architecture/front-end-architecture","title":"\u524d\u7aef\u67b6\u6784","description":"1. \u524d\u7aefUI\u6a21\u5757","sidebar":"tutorialSidebar"},"design/metadata/metadata":{"id":"design/metadata/metadata","title":"\u5143\u6570\u636e","description":"\u5143\u6570\u636e","sidebar":"tutorialSidebar"},"design/server-architecture/server-architecture":{"id":"design/server-architecture/server-architecture","title":"\u670d\u52a1\u7aef\u67b6\u6784","description":"1. \u67b6\u6784\u603b\u89c8","sidebar":"tutorialSidebar"},"development/develop-contributing":{"id":"development/develop-contributing","title":"\u9879\u76ee\u8d21\u732e","description":"\u975e\u5e38\u611f\u8c22\u8d21\u732e SolidUI \u9879\u76ee\uff01\u5728\u53c2\u4e0e\u8d21\u732e\u4e4b\u524d\uff0c\u8bf7\u4ed4\u7ec6\u9605\u8bfb\u4ee5\u4e0b\u6307\u5f15\u3002","sidebar":"tutorialSidebar"},"development/development-commit":{"id":"development/development-commit","title":"Commit\u987b\u77e5","description":"https://linkis.apache.org/zh-CN/docs/latest/development/development-specification/commit-message","sidebar":"tutorialSidebar"},"development/development-construction":{"id":"development/development-construction","title":"\u9879\u76ee\u5171\u5efa\u6d41\u7a0b","description":"\u6d41\u7a0b\u5217\u8868","sidebar":"tutorialSidebar"},"development/development-docker":{"id":"development/development-docker","title":"Docker \u7f16\u8bd1","description":"1.\u524d\u7f6e\u6761\u4ef6","sidebar":"tutorialSidebar"},"development/development-front":{"id":"development/development-front","title":"\u524d\u7aef\u7f16\u8bd1","description":"1.\u524d\u7f6e\u6761\u4ef6","sidebar":"tutorialSidebar"},"development/development-release":{"id":"development/development-release","title":"\u9879\u76ee\u53d1\u7248\u6d41\u7a0b","description":"\u6388\u6743","sidebar":"tutorialSidebar"},"development/development-server":{"id":"development/development-server","title":"\u670d\u52a1\u7aef\u7f16\u8bd1","description":"1.\u524d\u7f6e\u6761\u4ef6","sidebar":"tutorialSidebar"},"faq/faq/faq":{"id":"faq/faq/faq","title":"\u5e38\u89c1\u95ee\u9898\u89e3\u7b54","description":"\u89e3\u7b54\u95ee\u9898\u6d41\u7a0b","sidebar":"tutorialSidebar"},"intro":{"id":"intro","title":"\u6846\u67b6\u4ecb\u7ecd","description":"AI\u751f\u6210\u56fe\u5f62\u6a21\u578b\u3002","sidebar":"tutorialSidebar"},"operational/community-operation/community-operation":{"id":"operational/community-operation/community-operation","title":"\u793e\u533a\u5171\u5efa\u5408\u4f5c","description":"\u5f00\u6e90\u793e\u533a\u5171\u5efa\u6761\u6b3e","sidebar":"tutorialSidebar"},"test/test-case/test-case":{"id":"test/test-case/test-case","title":"\u6d4b\u8bd5\u7528\u4f8b","description":"\u767b\u5f55","sidebar":"tutorialSidebar"},"user-guide/quick-start":{"id":"user-guide/quick-start","title":"\u5feb\u901f\u5f00\u59cb","description":"\u5f00\u59cb","sidebar":"tutorialSidebar"}}}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/9a185a9f.e3e22429.js b/zh-CN/assets/js/9a185a9f.e3e22429.js new file mode 100644 index 00000000..a48e1131 --- /dev/null +++ b/zh-CN/assets/js/9a185a9f.e3e22429.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2449],{3905:(e,t,l)=>{l.d(t,{Zo:()=>m,kt:()=>c});var r=l(7294);function i(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function a(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,r)}return l}function n(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?a(Object(l),!0).forEach((function(t){i(e,t,l[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):a(Object(l)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))}))}return e}function u(e,t){if(null==e)return{};var l,r,i=function(e,t){if(null==e)return{};var l,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)l=a[r],t.indexOf(l)>=0||(i[l]=e[l]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)l=a[r],t.indexOf(l)>=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(i[l]=e[l])}return i}var o=r.createContext({}),p=function(e){var t=r.useContext(o),l=t;return e&&(l="function"==typeof e?e(t):n(n({},t),e)),l},m=function(e){var t=p(e.components);return r.createElement(o.Provider,{value:t},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},k=r.forwardRef((function(e,t){var l=e.components,i=e.mdxType,a=e.originalType,o=e.parentName,m=u(e,["components","mdxType","originalType","parentName"]),s=p(l),k=i,c=s["".concat(o,".").concat(k)]||s[k]||d[k]||a;return l?r.createElement(c,n(n({ref:t},m),{},{components:l})):r.createElement(c,n({ref:t},m))}));function c(e,t){var l=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var a=l.length,n=new Array(a);n[0]=k;var u={};for(var o in t)hasOwnProperty.call(t,o)&&(u[o]=t[o]);u.originalType=e,u[s]="string"==typeof e?e:i,n[1]=u;for(var p=2;p<a;p++)n[p]=l[p];return r.createElement.apply(null,n)}return r.createElement.apply(null,l)}k.displayName="MDXCreateElement"},436:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>o,contentTitle:()=>n,default:()=>d,frontMatter:()=>a,metadata:()=>u,toc:()=>p});var r=l(7462),i=(l(7294),l(3905));const a={id:"develop-contributing",title:"\u9879\u76ee\u8d21\u732e",sidebar_position:3},n="\u5982\u4f55\u53c2\u4e0e\u9879\u76ee\u8d21\u732e",u={unversionedId:"development/develop-contributing",id:"development/develop-contributing",title:"\u9879\u76ee\u8d21\u732e",description:"\u975e\u5e38\u611f\u8c22\u8d21\u732e SolidUI \u9879\u76ee\uff01\u5728\u53c2\u4e0e\u8d21\u732e\u4e4b\u524d\uff0c\u8bf7\u4ed4\u7ec6\u9605\u8bfb\u4ee5\u4e0b\u6307\u5f15\u3002",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/develop-contributing.md",sourceDirName:"development",slug:"/development/develop-contributing",permalink:"/SolidUI-Website/zh-CN/docs/development/develop-contributing",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/develop-contributing.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{id:"develop-contributing",title:"\u9879\u76ee\u8d21\u732e",sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"Docker \u7f16\u8bd1",permalink:"/SolidUI-Website/zh-CN/docs/development/development-docker"},next:{title:"\u524d\u7aef\u7f16\u8bd1",permalink:"/SolidUI-Website/zh-CN/docs/development/development-front"}},o={},p=[{value:"\u4e00\u3001\u8d21\u732e\u8303\u7574",id:"\u4e00\u8d21\u732e\u8303\u7574",level:2},{value:"1.1 Bug \u53cd\u9988\u4e0e\u4fee\u590d",id:"11-bug-\u53cd\u9988\u4e0e\u4fee\u590d",level:3},{value:"1.2 \u529f\u80fd\u4ea4\u6d41\u3001\u5b9e\u73b0\u3001\u91cd\u6784",id:"12-\u529f\u80fd\u4ea4\u6d41\u5b9e\u73b0\u91cd\u6784",level:3},{value:"1.3 Issue \u7b54\u7591",id:"13-issue-\u7b54\u7591",level:3},{value:"1.4 \u6587\u6863\u6539\u8fdb",id:"14-\u6587\u6863\u6539\u8fdb",level:3},{value:"1.5 \u5176\u4ed6",id:"15-\u5176\u4ed6",level:3},{value:"\u4e8c\u3001\u8d21\u732e\u6d41\u7a0b",id:"\u4e8c\u8d21\u732e\u6d41\u7a0b",level:2},{value:"2.1 \u5206\u652f\u7ed3\u6784",id:"21-\u5206\u652f\u7ed3\u6784",level:3},{value:"2.1.1 \u6982\u5ff5",id:"211-\u6982\u5ff5",level:4},{value:"2.1.2 \u540c\u6b65 Upstream \u4ed3\u5e93\u5206\u652f\u6700\u65b0\u4ee3\u7801\u5230\u81ea\u5df1\u7684 Fork \u4ed3\u5e93",id:"212-\u540c\u6b65-upstream-\u4ed3\u5e93\u5206\u652f\u6700\u65b0\u4ee3\u7801\u5230\u81ea\u5df1\u7684-fork-\u4ed3\u5e93",level:4},{value:"2.1.3 \u540c\u6b65 Upstream \u4ed3\u5e93\u65b0\u5206\u652f\u5230\u81ea\u5df1\u7684 Fork \u4ed3\u5e93",id:"213-\u540c\u6b65-upstream-\u4ed3\u5e93\u65b0\u5206\u652f\u5230\u81ea\u5df1\u7684-fork-\u4ed3\u5e93",level:4},{value:"2.1.4 \u4e00\u4e2a pr \u7684\u6d41\u7a0b",id:"214-\u4e00\u4e2a-pr-\u7684\u6d41\u7a0b",level:4},{value:"2.2 \u5f00\u53d1\u6307\u5f15",id:"22-\u5f00\u53d1\u6307\u5f15",level:3},{value:"2.3 Issue \u63d0\u4ea4\u6307\u5f15",id:"23-issue-\u63d0\u4ea4\u6307\u5f15",level:3},{value:"2.4 Pull Request(PR) \u63d0\u4ea4\u6307\u5f15",id:"24-pull-requestpr-\u63d0\u4ea4\u6307\u5f15",level:3},{value:"2.5 Review \u6807\u51c6",id:"25-review-\u6807\u51c6",level:3},{value:"2.5.1 \u589e\u76ca",id:"251-\u589e\u76ca",level:4},{value:"2.5.2 \u526f\u4f5c\u7528\u548c\u98ce\u9669",id:"252-\u526f\u4f5c\u7528\u548c\u98ce\u9669",level:4},{value:"2.5.3 Reviewer \u6ce8\u610f\u4e8b\u9879",id:"253-reviewer-\u6ce8\u610f\u4e8b\u9879",level:4},{value:"\u4e09\u3001\u8d21\u732e\u8fdb\u9636",id:"\u4e09\u8d21\u732e\u8fdb\u9636",level:2},{value:"3.1 \u5173\u4e8e Committers\uff08Collaborators\uff09",id:"31-\u5173\u4e8e-committerscollaborators",level:3},{value:"3.1.1 \u5982\u4f55\u6210\u4e3a Committer",id:"311-\u5982\u4f55\u6210\u4e3a-committer",level:4},{value:"3.1.2 Committer \u7684\u6743\u5229",id:"312-committer-\u7684\u6743\u5229",level:4},{value:"3.2 \u5173\u4e8e Committee",id:"32-\u5173\u4e8e-committee",level:3},{value:"3.2.1 \u5982\u4f55\u6210\u4e3a Committee \u6210\u5458",id:"321-\u5982\u4f55\u6210\u4e3a-committee-\u6210\u5458",level:4},{value:"3.2.2 Committee \u6210\u5458\u7684\u6743\u5229",id:"322-committee-\u6210\u5458\u7684\u6743\u5229",level:4}],m={toc:p},s="wrapper";function d(e){let{components:t,...l}=e;return(0,i.kt)(s,(0,r.Z)({},m,l,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"\u5982\u4f55\u53c2\u4e0e\u9879\u76ee\u8d21\u732e"},"\u5982\u4f55\u53c2\u4e0e\u9879\u76ee\u8d21\u732e"),(0,i.kt)("p",null,"\u975e\u5e38\u611f\u8c22\u8d21\u732e SolidUI \u9879\u76ee\uff01\u5728\u53c2\u4e0e\u8d21\u732e\u4e4b\u524d\uff0c\u8bf7\u4ed4\u7ec6\u9605\u8bfb\u4ee5\u4e0b\u6307\u5f15\u3002"),(0,i.kt)("h2",{id:"\u4e00\u8d21\u732e\u8303\u7574"},"\u4e00\u3001\u8d21\u732e\u8303\u7574"),(0,i.kt)("h3",{id:"11-bug-\u53cd\u9988\u4e0e\u4fee\u590d"},"1.1 Bug \u53cd\u9988\u4e0e\u4fee\u590d"),(0,i.kt)("p",null,"\u6211\u4eec\u5efa\u8bae\u65e0\u8bba\u662f Bug \u53cd\u9988\u8fd8\u662f\u4fee\u590d\uff0c\u90fd\u5148\u521b\u5efa\u4e00\u4e2a Issue \u6765\u4ed4\u7ec6\u63cf\u8ff0 Bug \u7684\u72b6\u51b5\uff0c\u4ee5\u52a9\u4e8e\u793e\u533a\u53ef\u4ee5\u901a\u8fc7 Issue \u8bb0\u5f55\u6765\u627e\u5230\u548c\u56de\u987e\u95ee\u9898\u4ee5\u53ca\u4ee3\u7801\u3002Bug \u53cd\u9988 Issue \u901a\u5e38\u9700\u8981\u5305\u542b",(0,i.kt)("strong",{parentName:"p"},"\u5b8c\u6574\u63cf\u8ff0 Bug \u7684\u4fe1\u606f"),"\u4ee5\u53ca",(0,i.kt)("strong",{parentName:"p"},"\u53ef\u590d\u73b0\u7684\u573a\u666f"),"\uff0c\u8fd9\u6837\u793e\u533a\u624d\u80fd\u5feb\u901f\u5b9a\u4f4d\u5bfc\u81f4 Bug \u7684\u539f\u56e0\u5e76\u4fee\u590d\u5b83\u3002\u5305\u542b ",(0,i.kt)("inlineCode",{parentName:"p"},"#bug")," \u6807\u7b7e\u7684\u6253\u5f00\u7684 Issue \u90fd\u662f\u9700\u8981\u88ab\u4fee\u590d\u7684\u3002"),(0,i.kt)("h3",{id:"12-\u529f\u80fd\u4ea4\u6d41\u5b9e\u73b0\u91cd\u6784"},"1.2 \u529f\u80fd\u4ea4\u6d41\u3001\u5b9e\u73b0\u3001\u91cd\u6784"),(0,i.kt)("p",null,"\u5728\u4ea4\u6d41\u8fc7\u7a0b\u4e2d\uff0c\u8be6\u7ec6\u63cf\u8ff0\u65b0\u529f\u80fd\uff08\u6216\u91cd\u6784\uff09\u7684\u7ec6\u8282\u3001\u673a\u5236\u548c\u4f7f\u7528\u573a\u666f\uff0c\u80fd\u591f\u4fc3\u4f7f\u5b83\u66f4\u597d\u66f4\u5feb\u5730\u88ab\u5b9e\u73b0\uff08\u5305\u62ec\u6d4b\u8bd5\u7528\u4f8b\u548c\u4ee3\u7801\uff0c\u53ca CI/CD \u76f8\u5173\u5de5\u4f5c\uff09\u3002",(0,i.kt)("strong",{parentName:"p"},"\u5982\u679c\u8ba1\u5212\u5b9e\u73b0\u4e00\u4e2a\u91cd\u5927\u7684\u529f\u80fd\uff08\u6216\u91cd\u6784\uff09\uff0c\u8bf7\u52a1\u5fc5\u901a\u8fc7 Issue \u6216\u5176\u4ed6\u65b9\u5f0f\u4e0e\u6838\u5fc3\u5f00\u53d1\u56e2\u961f\u8fdb\u884c\u6c9f\u901a"),"\uff0c\u8fd9\u6837\u5927\u5bb6\u80fd\u4ee5\u6700\u6548\u7387\u7684\u65b9\u5f0f\u6765\u63a8\u8fdb\u5b83\u3002\u5305\u542b ",(0,i.kt)("inlineCode",{parentName:"p"},"#feature")," \u6807\u7b7e\u7684\u6253\u5f00\u7684 Issue \u90fd\u662f\u9700\u8981\u88ab\u5b9e\u73b0\u7684\u65b0\u529f\u80fd\uff0c\u5305\u542b ",(0,i.kt)("inlineCode",{parentName:"p"},"#enhancement")," \u6807\u7b7e\u6253\u5f00\u7684 Issue \u90fd\u662f\u9700\u8981\u6539\u8fdb\u91cd\u6784\u7684\u529f\u80fd\u3002"),(0,i.kt)("h3",{id:"13-issue-\u7b54\u7591"},"1.3 Issue \u7b54\u7591"),(0,i.kt)("p",null,"\u5e2e\u52a9\u56de\u7b54 Issue \u4e2d\u7684\u4f7f\u7528\u95ee\u9898\u662f\u4e3a SolidUI \u793e\u533a\u505a\u8d21\u732e\u7684\u4e00\u4e2a\u975e\u5e38\u6709\u4ef7\u503c\u7684\u65b9\u5f0f\uff1b\u793e\u533a\u4e2d\u603b\u4f1a\u6709\u65b0\u7528\u6237\u4e0d\u65ad\u8fdb\u6765\uff0c\u5728\u5e2e\u52a9\u65b0\u7528\u6237\u7684\u540c\u65f6\uff0c\u4e5f\u53ef\u4ee5\u5c55\u73b0\u60a8\u7684\u4e13\u4e1a\u77e5\u8bc6\u3002"),(0,i.kt)("h3",{id:"14-\u6587\u6863\u6539\u8fdb"},"1.4 \u6587\u6863\u6539\u8fdb"),(0,i.kt)("p",null,"SolidUI \u6587\u6863\u4f4d\u4e8e",(0,i.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/zh-CN/"},"SolidUI-Website")," \uff0c\u6587\u6863\u7684\u8865\u5145\u5b8c\u5584\u5bf9\u4e8e SolidUI \u7684\u53d1\u5c55\u4e5f\u81f3\u5173\u91cd\u8981\u3002"),(0,i.kt)("h3",{id:"15-\u5176\u4ed6"},"1.5 \u5176\u4ed6"),(0,i.kt)("p",null,"\u5305\u62ec\u53c2\u4e0e\u548c\u5e2e\u52a9\u7ec4\u7ec7\u793e\u533a\u4ea4\u6d41\u3001\u793e\u533a\u8fd0\u8425\u6d3b\u52a8\u7b49\uff0c\u5176\u4ed6\u80fd\u591f\u5e2e\u52a9 SolidUI \u9879\u76ee\u548c\u793e\u533a\u7684\u6d3b\u52a8\u3002"),(0,i.kt)("h2",{id:"\u4e8c\u8d21\u732e\u6d41\u7a0b"},"\u4e8c\u3001\u8d21\u732e\u6d41\u7a0b"),(0,i.kt)("h3",{id:"21-\u5206\u652f\u7ed3\u6784"},"2.1 \u5206\u652f\u7ed3\u6784"),(0,i.kt)("p",null,"SolidUI \u6e90\u7801\u53ef\u80fd\u4f1a\u4ea7\u751f\u4e00\u4e9b\u4e34\u65f6\u5206\u652f\uff0c\u4f46\u771f\u6b63\u6709\u660e\u786e\u610f\u4e49\u7684\u53ea\u6709\u4ee5\u4e0b\u4e8c\u4e2a\u5206\u652f\uff1a"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"release-*: \u7a33\u5b9a\u7684 release \u7248\u672c\uff1b"),(0,i.kt)("li",{parentName:"ul"},"dev: \u65e5\u5e38\u5f00\u53d1\u5206\u652f\uff0c\u4e5f\u662f\u5927\u5bb6\u8d21\u732e\u4ee3\u7801\u7684\u76ee\u6807\u5206\u652f\uff0c\u5982\u679c\u4f60\u60f3\u8d21\u732e\u4ee3\u7801\uff0c\u8bf7\u57fa\u4e8e dev \u5206\u652f\u521b\u5efa\u65b0\u5206\u652f\uff0c\u7248\u672c\u53d1\u5e03\u65f6\u4f1a\u57fa\u4e8edev\u65b0\u5efarelease\u5206\u652f\uff1b")),(0,i.kt)("h4",{id:"211-\u6982\u5ff5"},"2.1.1 \u6982\u5ff5"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"Upstream \u4ed3\u5e93:",(0,i.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")," SolidUI \u4ed3\u5e93\u6587\u4e2d\u79f0\u4e3a Upstream \u4ed3\u5e93"),(0,i.kt)("li",{parentName:"ul"},"Fork \u4ed3\u5e93: \u4ece ",(0,i.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")," fork \u5230\u81ea\u5df1\u4e2a\u4eba\u4ed3\u5e93 \u79f0\u4e3a Fork \u4ed3\u5e93")),(0,i.kt)("h4",{id:"212-\u540c\u6b65-upstream-\u4ed3\u5e93\u5206\u652f\u6700\u65b0\u4ee3\u7801\u5230\u81ea\u5df1\u7684-fork-\u4ed3\u5e93"},"2.1.2 \u540c\u6b65 Upstream \u4ed3\u5e93\u5206\u652f\u6700\u65b0\u4ee3\u7801\u5230\u81ea\u5df1\u7684 Fork \u4ed3\u5e93"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step1 \u8fdb\u5165\u7528\u6237\u9879\u76ee\u9875\u9762,\u9009\u4e2d\u8981\u66f4\u65b0\u7684\u5206\u652f"),(0,i.kt)("li",{parentName:"ul"},"step2 \u70b9\u51fb code \u4e0b\u8f7d\u6309\u94ae\u4e0b\u65b9\u7684 Fetch upstream,\u9009\u62e9 Fetch and merge (\u5982\u81ea\u5df1\u7684 Fork \u4ed3\u5e93 \u8be5\u5206\u652f\u4e0d\u5c0f\u5fc3\u6c61\u67d3\u4e86\uff0c\u53ef\u4ee5\u5220\u9664\u8be5\u5206\u652f\u540e\uff0c\u540c\u6b65 Upstream \u4ed3\u5e93\u65b0\u5206\u652f\u5230\u81ea\u5df1\u7684 Fork \u4ed3\u5e93 \uff0c\u53c2\u89c1\u6307\u5f15","[\u540c\u6b65 Upstream \u4ed3\u5e93\u5206\u652f\u6700\u65b0\u4ee3\u7801\u5230\u81ea\u5df1\u7684 Fork \u4ed3\u5e93 ]","(#213-\u540c\u6b65 Upstream \u4ed3\u5e93\u65b0\u5206\u652f\u5230\u81ea\u5df1\u7684 Fork \u4ed3\u5e93 ))")),(0,i.kt)("h4",{id:"213-\u540c\u6b65-upstream-\u4ed3\u5e93\u65b0\u5206\u652f\u5230\u81ea\u5df1\u7684-fork-\u4ed3\u5e93"},"2.1.3 \u540c\u6b65 Upstream \u4ed3\u5e93\u65b0\u5206\u652f\u5230\u81ea\u5df1\u7684 Fork \u4ed3\u5e93"),(0,i.kt)("p",null,"\u573a\u666f\uff1aUpstream \u4ed3\u5e93\u6709\u65b0\u589e\u5206\u652f\uff0c\u4f46\u662f fork \u7684\u5e93\u6ca1\u6709\u8be5\u5206\u652f (\u53ef\u4ee5\u9009\u62e9\u5220\u9664\u540e\uff0c\u91cd\u65b0 fork\uff0c\u4f46\u662f\u4f1a\u4e22\u5931\u672a merge \u5230\u539f\u59cb\u4ed3\u5e93\u7684\u53d8\u66f4)"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step1 \u6253\u5f00 Git \u547d\u4ee4\u884c\u5de5\u5177\uff08\u5982 Git Bash\uff09\uff0c\u514b\u9686\u81ea\u5df1\u7684 Fork \u4ed3\u5e93\u5230\u672c\u5730")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git clone https://github.com/{your_github_username}/SolidUI.git\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step2 \u8fdb\u5165\u672c\u5730\u4ed3\u5e93\u76ee\u5f55")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"cd SolidUI\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step3 \u6dfb\u52a0 Upstream \u4ed3\u5e93\u4e3a\u8fdc\u7a0b\u4ed3\u5e93")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git remote add upstream https://github.com/CloudOrc/SolidUI.git\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step4 \u83b7\u53d6 Upstream \u4ed3\u5e93\u7684\u5206\u652f\u4fe1\u606f")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git fetch upstream\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step5 \u540c\u6b65 Upstream \u4ed3\u5e93\u7684\u65b0\u5206\u652f\u5230\u672c\u5730")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git checkout -b {new_branch_name} upstream/{new_branch_name}\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step6 \u5c06\u65b0\u5206\u652f\u63a8\u9001\u5230\u81ea\u5df1\u7684 Fork \u4ed3\u5e93")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"git push --set-upstream origin {new_branch_name}\n")),(0,i.kt)("h4",{id:"214-\u4e00\u4e2a-pr-\u7684\u6d41\u7a0b"},"2.1.4 \u4e00\u4e2a pr \u7684\u6d41\u7a0b"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"step1 \u786e\u8ba4\u5f53\u524d\u5f00\u53d1\u7684\u57fa\u7840\u5206\u652f\uff08\u4e00\u822c\u662f\u5f53\u524d\u8fdb\u884c\u7684\u4e2d\u7248\u672c\uff0c\u5982\u5f53\u524d\u793e\u533a\u5f00\u53d1\u4e2d\u7684\u7248\u672c 0.2.0\uff0c\u90a3\u4e48\u5206\u652f\u5c31\u662f dev\uff0c\u4e0d\u786e\u5b9a\u7684\u8bdd\u53ef\u4ee5\u5728\u793e\u533a\u7fa4\u91cc\u95ee\u4e0b\u6216\u5219\u5728 issue \u4e2d@\u76f8\u5173\u540c\u5b66\uff09")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"step2 \u540c\u6b65 Upstream \u4ed3\u5e93\u5206\u652f\u6700\u65b0\u4ee3\u7801\u5230\u81ea\u5df1\u7684 Fork \u4ed3\u5e93 \u5206\u652f,\u53c2\u89c1\u6307\u5f15 ","[2.1.2 \u540c\u6b65 Upstream \u4ed3\u5e93\u5206\u652f\u6700\u65b0\u4ee3\u7801\u5230\u81ea\u5df1\u7684 Fork \u4ed3\u5e93 ]")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"step3 \u57fa\u4e8e\u5f00\u53d1\u5206\u652f\uff0c\u62c9\u53d6\u65b0 fix/feature \u5206\u652f (\u4e0d\u8981\u76f4\u63a5\u5728\u539f\u5206\u652f\u4e0a\u4fee\u6539\uff0c\u5982\u679c\u540e\u7eed pr \u4ee5 squash \u65b9\u5f0f merge \u540e\uff0c\u63d0\u4ea4\u7684 commit \u8bb0\u5f55\u4f1a\u88ab\u5408\u5e76\u6210\u4e00\u4e2a)"))),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"git checkout -b dev-fix dev\ngit push origin dev-fix:dev-fix\n")),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"step4 \u8fdb\u884c\u5f00\u53d1"),(0,i.kt)("li",{parentName:"ul"},"step5 \u63d0\u4ea4 pr(\u5982\u679c\u662f\u6b63\u5728\u8fdb\u884c\u4e2d,\u5f00\u53d1\u8fd8\u672a\u5b8c\u5168\u7ed3\u675f\uff0c\u8bf7\u5728 pr \u6807\u9898\u4e0a\u52a0\u4e0a WIP \u6807\u8bc6 \u5982 ",(0,i.kt)("inlineCode",{parentName:"li"},"[WIP] Dev 0.2.0 Add junit test code for [solidui-common]")," ;\u5173\u8054\u5bf9\u5e94\u7684 issue \u7b49)"),(0,i.kt)("li",{parentName:"ul"},"step6 \u7b49\u5f85\u88ab\u5408\u5e76"),(0,i.kt)("li",{parentName:"ul"},"step7 \u5220\u9664 fix/future \u5206\u652f (\u53ef\u4ee5\u5728 github \u9875\u9762\u4e0a\u8fdb\u884c\u64cd\u4f5c)")),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"git branch -d dev-fix\ngit push\n")),(0,i.kt)("h3",{id:"22-\u5f00\u53d1\u6307\u5f15"},"2.2 \u5f00\u53d1\u6307\u5f15"),(0,i.kt)("p",null,"SolidUI \u524d\u540e\u7aef\u4ee3\u7801\u5171\u7528\u540c\u4e00\u4e2a\u4ee3\u7801\u5e93\uff0c\u4f46\u5728\u5f00\u53d1\u4e0a\u662f\u5206\u79bb\u7684\u3002\u5728\u7740\u624b\u5f00\u53d1\u4e4b\u524d\uff0c\u8bf7\u5148\u5c06 SolidUI \u9879\u76ee fork \u4e00\u4efd\u5230\u81ea\u5df1\u7684 Github Repositories \u4e2d\uff0c \u5f00\u53d1\u65f6\u8bf7\u57fa\u4e8e\u81ea\u5df1 Github Repositories \u4e2d\u7684 SolidUI \u4ee3\u7801\u5e93\u8fdb\u884c\u5f00\u53d1\u3002"),(0,i.kt)("p",null,"\u6211\u4eec\u5efa\u8bae\u514b\u9686 dev \u5206\u652f\u547d\u540d\u4e3a dev-fix \u6765\u5f00\u53d1,\u540c\u65f6\u5728\u81ea\u5df1\u4ed3\u5e93\u65b0\u5efa dev-fix \u5206\u652f\uff0c\u76f4\u63a5\u5728\u539f\u5206\u652f\u4e0a\u4fee\u6539\uff0c\u5982\u679c\u540e\u7eed pr \u4ee5 squash \u65b9\u5f0f merge \u540e\uff0c\u63d0\u4ea4\u7684 commit \u8bb0\u5f55\u4f1a\u88ab\u5408\u5e76\u6210\u4e00\u4e2a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"#\u62c9\u53d6\u5206\u652f\ngit clone https://github.com/{githubid}/SolidUI.git --branch dev\n#\u6839\u636e dev \u751f\u6210\u672c\u5730 dev-fix \u5206\u652f\ngit checkout -b dev-fix dev\n#\u628a\u672c\u5730 dev-fix \u5206\u652f\u63a8\u5230\u81ea\u5df1\u7684\u4ed3\u5e93\ngit push origin dev-fix dev-fix\n")),(0,i.kt)("h3",{id:"23-issue-\u63d0\u4ea4\u6307\u5f15"},"2.3 Issue \u63d0\u4ea4\u6307\u5f15"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u5982\u679c\u60a8\u8fd8\u4e0d\u77e5\u9053\u600e\u6837\u5411\u5f00\u6e90\u9879\u76ee\u53d1\u8d77 PR\uff0c\u8bf7\u53c2\u8003",(0,i.kt)("a",{parentName:"li",href:"https://docs.github.com/en/github/managing-your-work-on-github/about-issues"},"About issues")),(0,i.kt)("li",{parentName:"ul"},"Issue \u540d\u79f0\uff0c\u5e94\u4e00\u53e5\u8bdd\u7b80\u5355\u63cf\u8ff0\u60a8\u7684\u95ee\u9898\u6216\u5efa\u8bae\uff1b\u4e3a\u4e86\u9879\u76ee\u7684\u56fd\u9645\u5316\u63a8\u5e7f\uff0c\u8bf7\u7528\u82f1\u6587\uff0c\u6216\u4e2d\u82f1\u6587\u53cc\u8bed\u4e66\u5199 issue"),(0,i.kt)("li",{parentName:"ul"},"\u6bcf\u4e2a Issue\uff0c\u8bf7\u81f3\u5c11\u5e26\u4e0a label.\u53c2\u8003:",(0,i.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/63"},"issue #63"))),(0,i.kt)("h3",{id:"24-pull-requestpr-\u63d0\u4ea4\u6307\u5f15"},"2.4 Pull Request(PR) \u63d0\u4ea4\u6307\u5f15"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"\u5982\u679c\u60a8\u8fd8\u4e0d\u77e5\u9053\u600e\u6837\u5411\u5f00\u6e90\u9879\u76ee\u53d1\u8d77 PR\uff0c\u8bf7\u53c2\u8003",(0,i.kt)("a",{parentName:"p",href:"https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests"},"About pull requests"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"\u65e0\u8bba\u662f Bug \u4fee\u590d\uff0c\u8fd8\u662f\u65b0\u529f\u80fd\u5f00\u53d1\uff0c\u8bf7\u5c06 PR \u63d0\u4ea4\u5230 dev \u5206\u652f")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"PR \u548c\u63d0\u4ea4\u540d\u79f0\u9075\u5faa ",(0,i.kt)("inlineCode",{parentName:"p"},"<type>(<scope>): <subject>")," \u539f\u5219\uff0c\u8be6\u60c5\u53ef\u4ee5\u53c2\u8003",(0,i.kt)("a",{parentName:"p",href:"/SolidUI-Website/zh-CN/docs/development/development-commit"},"Commit message \u548c Change log \u7f16\u5199\u6307\u5357"))),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"\u5982\u679c PR \u4e2d\u5305\u542b\u65b0\u529f\u80fd\uff0c\u7406\u5e94\u5c06\u6587\u6863\u66f4\u65b0\u5305\u542b\u5728\u672c\u6b21 PR \u4e2d")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"\u5982\u679c\u672c\u6b21 PR \u5c1a\u672a\u51c6\u5907\u597d\u5408\u5e76\uff0c\u8bf7\u5728\u540d\u79f0\u5934\u90e8\u52a0\u4e0a ","[WIP]"," \u524d\u7f00\uff08WIP = work-in-progress\uff09")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("p",{parentName:"li"},"\u6240\u6709\u63d0\u4ea4\u5230 dev-* \u5206\u652f\u7684\u63d0\u4ea4\u81f3\u5c11\u9700\u8981\u7ecf\u8fc7\u4e00\u6b21 Review \u624d\u53ef\u4ee5\u88ab\u5408\u5e76"))),(0,i.kt)("h3",{id:"25-review-\u6807\u51c6"},"2.5 Review \u6807\u51c6"),(0,i.kt)("p",null,"\u5728\u8d21\u732e\u4ee3\u7801\u4e4b\u524d\uff0c\u53ef\u4ee5\u4e86\u89e3\u4e00\u4e0b\u4ec0\u4e48\u6837\u7684\u63d0\u4ea4\u5728 Review \u4e2d\u662f\u53d7\u6b22\u8fce\u7684\u3002\u7b80\u5355\u6765\u8bf4\uff0c\u5982\u679c\u4e00\u9879\u63d0\u4ea4\u80fd\u5e26\u6765\u5c3d\u53ef\u80fd\u591a\u589e\u76ca\u548c\u5c3d\u53ef\u80fd\u5c11\u7684\u526f\u4f5c\u7528\u6216\u98ce\u9669\uff0c\u90a3\u5b83\u88ab\u5408\u5e76\u7684\u51e0\u7387\u5c31\u8d8a\u9ad8\uff0cReview \u7684\u901f\u5ea6\u4e5f\u4f1a\u8d8a\u5feb\u3002\u98ce\u9669\u5927\u3001\u4ef7\u503c\u4f4e\u5730\u63d0\u4ea4\u662f\u51e0\u4e4e\u4e0d\u53ef\u80fd\u88ab\u5408\u5e76\u7684\uff0c\u5e76\u4e14\u6709\u53ef\u80fd\u4f1a\u88ab\u62d2\u7edd Review\u3002"),(0,i.kt)("h4",{id:"251-\u589e\u76ca"},"2.5.1 \u589e\u76ca"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u4fee\u590d\u5bfc\u81f4 Bug \u7684\u4e3b\u8981\u539f\u56e0"),(0,i.kt)("li",{parentName:"ul"},"\u6dfb\u52a0\u6216\u4fee\u590d\u4e00\u4e2a\u5927\u91cf\u7528\u6237\u4e9f\u9700\u7684\u529f\u80fd\u6216\u95ee\u9898"),(0,i.kt)("li",{parentName:"ul"},"\u7b80\u5355\u6709\u6548"),(0,i.kt)("li",{parentName:"ul"},"\u5bb9\u6613\u6d4b\u8bd5\uff0c\u6709\u6d4b\u8bd5\u7528\u4f8b"),(0,i.kt)("li",{parentName:"ul"},"\u51cf\u5c11\u590d\u6742\u5ea6\u4ee5\u53ca\u4ee3\u7801\u91cf"),(0,i.kt)("li",{parentName:"ul"},"\u7ecf\u793e\u533a\u8ba8\u8bba\u8fc7\u7684\u3001\u786e\u5b9a\u9700\u8981\u6539\u8fdb\u7684\u95ee\u9898")),(0,i.kt)("h4",{id:"252-\u526f\u4f5c\u7528\u548c\u98ce\u9669"},"2.5.2 \u526f\u4f5c\u7528\u548c\u98ce\u9669"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u4ec5\u4ec5\u4fee\u590d Bug \u7684\u8868\u9762\u73b0\u8c61"),(0,i.kt)("li",{parentName:"ul"},"\u5f15\u5165\u590d\u6742\u5ea6\u9ad8\u7684\u65b0\u529f\u80fd"),(0,i.kt)("li",{parentName:"ul"},"\u4e3a\u6ee1\u8db3\u5c0f\u4f17\u9700\u6c42\u6dfb\u52a0\u590d\u6742\u5ea6"),(0,i.kt)("li",{parentName:"ul"},"\u6539\u52a8\u7a33\u5b9a\u7684\u73b0\u6709 API \u6216\u8bed\u4e49"),(0,i.kt)("li",{parentName:"ul"},"\u5bfc\u81f4\u5176\u4ed6\u529f\u80fd\u4e0d\u80fd\u6b63\u5e38\u8fd0\u884c"),(0,i.kt)("li",{parentName:"ul"},"\u6dfb\u52a0\u5927\u91cf\u4f9d\u8d56"),(0,i.kt)("li",{parentName:"ul"},"\u968f\u610f\u6539\u53d8\u4f9d\u8d56\u7248\u672c"),(0,i.kt)("li",{parentName:"ul"},"\u4e00\u6b21\u6027\u63d0\u4ea4\u5927\u91cf\u4ee3\u7801\u6216\u6539\u52a8")),(0,i.kt)("h4",{id:"253-reviewer-\u6ce8\u610f\u4e8b\u9879"},"2.5.3 Reviewer \u6ce8\u610f\u4e8b\u9879"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u8bf7\u4f7f\u7528\u5efa\u8bbe\u6027\u8bed\u6c14\u64b0\u5199\u8bc4\u8bba"),(0,i.kt)("li",{parentName:"ul"},"\u5982\u679c\u9700\u8981\u63d0\u4ea4\u8005\u8fdb\u884c\u4fee\u6539\uff0c\u8bf7\u660e\u786e\u8bf4\u660e\u5b8c\u6210\u6b64\u6b21 Pull Request \u6240\u9700\u8981\u4fee\u6539\u7684\u6240\u6709\u5185\u5bb9"),(0,i.kt)("li",{parentName:"ul"},"\u5982\u679c\u67d0\u6b21 PR \u5728\u5408\u5e76\u540e\u53d1\u73b0\u5e26\u6765\u4e86\u65b0\u95ee\u9898\uff0cReviewer \u9700\u8981\u5411 PR \u4f5c\u8005\u8054\u7cfb\u5e76\u6c9f\u901a\u89e3\u51b3\u95ee\u9898\uff1b\u5982\u679c\u65e0\u6cd5\u8054\u7cfb\u5230 PR \u4f5c\u8005\uff0cReviewer \u9700\u8981\u5c06\u6b64\u6b21 PR \u8fdb\u884c\u8fd8\u539f")),(0,i.kt)("hr",null),(0,i.kt)("h2",{id:"\u4e09\u8d21\u732e\u8fdb\u9636"},"\u4e09\u3001\u8d21\u732e\u8fdb\u9636"),(0,i.kt)("h3",{id:"31-\u5173\u4e8e-committerscollaborators"},"3.1 \u5173\u4e8e Committers\uff08Collaborators\uff09"),(0,i.kt)("h4",{id:"311-\u5982\u4f55\u6210\u4e3a-committer"},"3.1.1 \u5982\u4f55\u6210\u4e3a Committer"),(0,i.kt)("p",null,"\u5982\u679c\u60a8\u5bf9 SolidUI \u63d0\u8fc7\u9887\u5177\u4ef7\u503c\u7684 PR \u5e76\u4e14\u88ab\u5408\u5e76\uff0c\u6216\u662f\u8fde\u7eed\u8d21\u732e\u8d85\u8fc7\u534a\u5e74\uff0c\u4e14\u81f3\u5c11\u4e3b\u5bfc\u8fc7\u4e00\u6b21\u7248\u672c\u7684\u53d1\u5e03\uff0c\u60a8\u53ef\u4ee5\u901a\u8fc7\u5b98\u65b9\u5fae\u4fe1\u7fa4\u627e\u5230 SolidUI \u9879\u76ee\u7684\u4e00\u4e2a PMC \uff0c\u5982\u679c\u4ed6\u613f\u610f\u63d0\u540d\u60a8\u4e3a committer\uff0c\u5e76\u613f\u610f\u4e3a\u60a8\u9648\u8ff0\u60a8\u7684\u8d21\u732e\u7ed9\u6240\u6709 PMC \u548c Committer\uff0c\u90a3\u4e48\u63a5\u4e0b\u6765\u4f1a\u53d1\u8d77\u4e00\u6b21\u6295\u7968\uff1bPMC \u548c\u5176\u4ed6 Committers \u5c06\u4f1a\u4e00\u8d77\u6295\u7968\u51b3\u5b9a\u662f\u5426\u5141\u8bb8\u60a8\u7684\u52a0\u5165\uff0c\u5982\u679c\u5f97\u5230\u8db3\u591f\u7968\u6570\uff0c\u60a8\u5c06\u6210\u4e3a SolidUI \u9879\u76ee\u7684 Committer\u3002"),(0,i.kt)("h4",{id:"312-committer-\u7684\u6743\u5229"},"3.1.2 Committer \u7684\u6743\u5229"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u53ef\u4ee5\u52a0\u5165\u5b98\u65b9\u5f00\u53d1\u8005\u5fae\u4fe1\u7fa4\uff0c\u53c2\u4e0e\u8ba8\u8bba\u548c\u5236\u5b9a SolidUI \u5f00\u53d1\u8ba1\u5212"),(0,i.kt)("li",{parentName:"ul"},"\u53ef\u4ee5\u5bf9 Issue \u8fdb\u884c\u7ba1\u7406\uff0c\u5305\u62ec\u5173\u95ed\u3001\u6dfb\u52a0\u6807\u7b7e"),(0,i.kt)("li",{parentName:"ul"},"\u53ef\u4ee5\u521b\u5efa\u548c\u7ba1\u7406\u9879\u76ee\u5206\u652f\uff0cdev \u5206\u652f\u9664\u5916"),(0,i.kt)("li",{parentName:"ul"},"\u53ef\u4ee5\u5bf9\u63d0\u4ea4\u5230 dev \u5206\u652f\u7684 PR \u8fdb\u884c Review"),(0,i.kt)("li",{parentName:"ul"},"\u53ef\u4ee5\u7533\u8bf7\u6210\u4e3a Committee \u6210\u5458")),(0,i.kt)("h3",{id:"32-\u5173\u4e8e-committee"},"3.2 \u5173\u4e8e Committee"),(0,i.kt)("h4",{id:"321-\u5982\u4f55\u6210\u4e3a-committee-\u6210\u5458"},"3.2.1 \u5982\u4f55\u6210\u4e3a Committee \u6210\u5458"),(0,i.kt)("p",null,"\u5982\u679c\u60a8\u662f SolidUI \u9879\u76ee\u7684 Committer\uff0c\u5e76\u4e14\u60a8\u8d21\u732e\u7684\u6240\u6709\u5185\u5bb9\u5f97\u5230\u4e86\u5176\u4ed6 Committee \u6210\u5458\u7684\u8ba4\u53ef\uff0c\u60a8\u53ef\u4ee5\u7533\u8bf7\u6210\u4e3a SolidUI Committee \u6210\u5458\uff0c\u5176\u4ed6 Committee \u6210\u5458\u5c06\u4f1a\u4e00\u8d77\u6295\u7968\u51b3\u5b9a\u662f\u5426\u5141\u8bb8\u60a8\u7684\u52a0\u5165\uff0c\u5982\u679c\u5168\u7968\u901a\u8fc7\uff0c\u60a8\u5c06\u6210\u4e3a SolidUI Committee \u6210\u5458\u3002"),(0,i.kt)("h4",{id:"322-committee-\u6210\u5458\u7684\u6743\u5229"},"3.2.2 Committee \u6210\u5458\u7684\u6743\u5229"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u53ef\u4ee5\u5408\u5e76\u5176\u4ed6 Committers \u548c\u8d21\u732e\u8005\u63d0\u4ea4\u5230 dev \u5206\u652f\u7684 PR"),(0,i.kt)("li",{parentName:"ul"},"\u53ef\u4ee5\u53c2\u4e0e\u51b3\u5b9a SolidUI \u9879\u76ee\u7684 roadmap \u548c\u53d1\u5c55\u65b9\u5411"),(0,i.kt)("li",{parentName:"ul"},"\u53ef\u4ee5\u53c2\u4e0e\u65b0\u7248\u672c\u53d1\u5e03")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/9b4392e8.78d09582.js b/zh-CN/assets/js/9b4392e8.78d09582.js new file mode 100644 index 00000000..c3ae6360 --- /dev/null +++ b/zh-CN/assets/js/9b4392e8.78d09582.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[9343],{6975:e=>{e.exports=JSON.parse('{"label":"SolidUI","permalink":"/SolidUI-Website/zh-CN/blog/tags/solid-ui","allTagsPath":"/SolidUI-Website/zh-CN/blog/tags","count":6}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/9dab477d.988413cf.js b/zh-CN/assets/js/9dab477d.988413cf.js new file mode 100644 index 00000000..bf53c8c5 --- /dev/null +++ b/zh-CN/assets/js/9dab477d.988413cf.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[1276],{3905:(e,t,n)=>{n.d(t,{Zo:()=>p,kt:()=>y});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(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 l(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var u=r.createContext({}),c=function(e){var t=r.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):l(l({},t),e)),n},p=function(e){var t=c(e.components);return r.createElement(u.Provider,{value:t},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,i=e.originalType,u=e.parentName,p=a(e,["components","mdxType","originalType","parentName"]),s=c(n),m=o,y=s["".concat(u,".").concat(m)]||s[m]||d[m]||i;return n?r.createElement(y,l(l({ref:t},p),{},{components:n})):r.createElement(y,l({ref:t},p))}));function y(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=n.length,l=new Array(i);l[0]=m;var a={};for(var u in t)hasOwnProperty.call(t,u)&&(a[u]=t[u]);a.originalType=e,a[s]="string"==typeof e?e:o,l[1]=a;for(var c=2;c<i;c++)l[c]=n[c];return r.createElement.apply(null,l)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},3730:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>l,default:()=>d,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var r=n(7462),o=(n(7294),n(3905));const i={id:"community-operation",title:"\u793e\u533a\u5171\u5efa\u5408\u4f5c",sidebar_position:1},l="\u793e\u533a\u5171\u5efa\u5408\u4f5c",a={unversionedId:"operational/community-operation/community-operation",id:"operational/community-operation/community-operation",title:"\u793e\u533a\u5171\u5efa\u5408\u4f5c",description:"\u5f00\u6e90\u793e\u533a\u5171\u5efa\u6761\u6b3e",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/operational/community-operation/README.md",sourceDirName:"operational/community-operation",slug:"/operational/community-operation/",permalink:"/SolidUI-Website/zh-CN/docs/operational/community-operation/",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/operational/community-operation/README.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"community-operation",title:"\u793e\u533a\u5171\u5efa\u5408\u4f5c",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"Kubernetes \u90e8\u7f72",permalink:"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes"},next:{title:"\u670d\u52a1\u7aef\u67b6\u6784",permalink:"/SolidUI-Website/zh-CN/docs/design/server-architecture/"}},u={},c=[{value:"\u5f00\u6e90\u793e\u533a\u5171\u5efa\u6761\u6b3e",id:"\u5f00\u6e90\u793e\u533a\u5171\u5efa\u6761\u6b3e",level:2},{value:"\u5206\u4eab\u6709\u4ef7\u503c\u7684\u5185\u5bb9",id:"\u5206\u4eab\u6709\u4ef7\u503c\u7684\u5185\u5bb9",level:2},{value:"\u4e3e\u529e\u7ebf\u4e0a\u6216\u7ebf\u4e0b\u6d3b\u52a8",id:"\u4e3e\u529e\u7ebf\u4e0a\u6216\u7ebf\u4e0b\u6d3b\u52a8",level:2},{value:"\u4e92\u52a8\u4e0e\u4ea4\u6d41",id:"\u4e92\u52a8\u4e0e\u4ea4\u6d41",level:2},{value:"\u5408\u4f5c\u4e0e\u5171\u521b",id:"\u5408\u4f5c\u4e0e\u5171\u521b",level:2},{value:"\u8bd5\u7528\u73af\u5883\u53ca\u8d44\u6e90\u5171\u4eab",id:"\u8bd5\u7528\u73af\u5883\u53ca\u8d44\u6e90\u5171\u4eab",level:2},{value:"\u4f18\u5148\u89e3\u51b3\u5171\u5efa Issue",id:"\u4f18\u5148\u89e3\u51b3\u5171\u5efa-issue",level:2},{value:"\u9075\u5b88\u884c\u4e3a\u51c6\u5219",id:"\u9075\u5b88\u884c\u4e3a\u51c6\u5219",level:2},{value:"\u4e2d\u6587\u6587\u6863\u5199\u4f5c\u89c4\u8303",id:"\u4e2d\u6587\u6587\u6863\u5199\u4f5c\u89c4\u8303",level:2}],p={toc:c},s="wrapper";function d(e){let{components:t,...n}=e;return(0,o.kt)(s,(0,r.Z)({},p,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"\u793e\u533a\u5171\u5efa\u5408\u4f5c"},"\u793e\u533a\u5171\u5efa\u5408\u4f5c"),(0,o.kt)("h2",{id:"\u5f00\u6e90\u793e\u533a\u5171\u5efa\u6761\u6b3e"},"\u5f00\u6e90\u793e\u533a\u5171\u5efa\u6761\u6b3e"),(0,o.kt)("p",null,"\u672c\u6761\u6b3e\u65e8\u5728\u4e3a\u6240\u6709\u53c2\u4e0e\u5171\u5efa\u7684\u793e\u533a\u6210\u5458\u63d0\u4f9b\u4e00\u4e2a\u53cb\u597d\u3001\u5bbd\u677e\u4e14\u4e92\u5229\u7684\u73af\u5883\u3002"),(0,o.kt)("h2",{id:"\u5206\u4eab\u6709\u4ef7\u503c\u7684\u5185\u5bb9"},"\u5206\u4eab\u6709\u4ef7\u503c\u7684\u5185\u5bb9"),(0,o.kt)("p",null,"\u5728\u5404\u81ea\u7684\u793e\u533a\u5206\u4eab\u6709\u4ef7\u503c\u7684\u6280\u672f\u6587\u7ae0\u3001\u6559\u7a0b\u3001\u6848\u4f8b\u7b49\uff0c\u8ba9\u6210\u5458\u4e86\u89e3\u5e76\u5b66\u4e60\u76f8\u5173\u6280\u672f\u3002\n\u5b9a\u671f\u53d1\u5e03\u793e\u533a\u52a8\u6001\u548c\u8fdb\u5c55\uff0c\u8ba9\u6210\u5458\u4e86\u89e3\u5171\u5efa\u793e\u533a\u7684\u6700\u65b0\u72b6\u51b5\u3002"),(0,o.kt)("h2",{id:"\u4e3e\u529e\u7ebf\u4e0a\u6216\u7ebf\u4e0b\u6d3b\u52a8"},"\u4e3e\u529e\u7ebf\u4e0a\u6216\u7ebf\u4e0b\u6d3b\u52a8"),(0,o.kt)("p",null,"\u7ec4\u7ec7\u7ebf\u4e0a\u6216\u7ebf\u4e0b Meetup\u3001\u7814\u8ba8\u4f1a\u3001\u6280\u672f\u6c99\u9f99\u7b49\u6d3b\u52a8\uff0c\u9080\u8bf7\u6210\u5458\u53c2\u52a0\u3002\n\u5728\u6d3b\u52a8\u4e2d\u8fdb\u884c\u6280\u672f\u4ea4\u6d41\u548c\u8ba8\u8bba\uff0c\u4ee5\u589e\u8fdb\u6210\u5458\u4e4b\u95f4\u7684\u4e86\u89e3\u548c\u5408\u4f5c\u3002"),(0,o.kt)("h2",{id:"\u4e92\u52a8\u4e0e\u4ea4\u6d41"},"\u4e92\u52a8\u4e0e\u4ea4\u6d41"),(0,o.kt)("p",null,"\u9f13\u52b1\u6210\u5458\u5728\u793e\u533a\u5185\u4e92\u52a8\u548c\u4ea4\u6d41\uff0c\u63d0\u95ee\u3001\u56de\u7b54\u95ee\u9898\u3001\u5206\u4eab\u7ecf\u9a8c\u7b49\u3002\n\u5728\u793e\u533a\u5185\u8bbe\u7acb\u4e13\u95e8\u7684\u8ba8\u8bba\u533a\uff0c\u65b9\u4fbf\u6210\u5458\u8ba8\u8bba\u5171\u5efa\u8bae\u9898\u548c\u6280\u672f\u95ee\u9898\u3002"),(0,o.kt)("h2",{id:"\u5408\u4f5c\u4e0e\u5171\u521b"},"\u5408\u4f5c\u4e0e\u5171\u521b"),(0,o.kt)("p",null,"\u4e0e\u5176\u4ed6\u793e\u533a\u5408\u4f5c\uff0c\u5171\u540c\u4e3e\u529e\u6d3b\u52a8\u3001\u5206\u4eab\u8d44\u6e90\uff0c\u4ea4\u6d41\u6280\u672f\u7ecf\u9a8c\u3002\n\u9f13\u52b1\u6210\u5458\u53c2\u4e0e\u5171\u5efa\u9879\u76ee\uff0c\u5171\u540c\u521b\u4f5c\u5f00\u6e90\u8f6f\u4ef6\u548c\u6280\u672f\u89e3\u51b3\u65b9\u6848\u3002"),(0,o.kt)("h2",{id:"\u8bd5\u7528\u73af\u5883\u53ca\u8d44\u6e90\u5171\u4eab"},"\u8bd5\u7528\u73af\u5883\u53ca\u8d44\u6e90\u5171\u4eab"),(0,o.kt)("p",null,"\u8bd5\u7528\u65b0\u529f\u80fd\u548c\u73af\u5883\u65f6\uff0c\u4f18\u5148\u901a\u77e5\u5171\u5efa\u793e\u533a\u6210\u5458\uff0c\u5e76\u9080\u8bf7\u4ed6\u4eec\u4e00\u540c\u6d4b\u8bd5\u548c\u63d0\u51fa\u53cd\u9988\u3002\n\u5728\u5171\u5efa\u793e\u533a\u5185\u5206\u4eab\u6709\u4ef7\u503c\u7684\u8d44\u6e90\uff0c\u4ee5\u4fbf\u5176\u4ed6\u6210\u5458\u53ef\u4ee5\u66f4\u597d\u5730\u4e86\u89e3\u548c\u5b66\u4e60\u76f8\u5173\u6280\u672f\u3002"),(0,o.kt)("h2",{id:"\u4f18\u5148\u89e3\u51b3\u5171\u5efa-issue"},"\u4f18\u5148\u89e3\u51b3\u5171\u5efa Issue"),(0,o.kt)("p",null,"\u5f53\u5171\u5efa\u793e\u533a\u6210\u5458\u63d0\u51fa Issue \u65f6\uff0c\u4f18\u5148\u4e88\u4ee5\u5173\u6ce8\u548c\u89e3\u51b3\u3002\n\u5728\u89e3\u51b3 Issue \u7684\u8fc7\u7a0b\u4e2d\uff0c\u79ef\u6781\u4e0e\u5171\u5efa\u793e\u533a\u6210\u5458\u6c9f\u901a\uff0c\u786e\u4fdd\u95ee\u9898\u5f97\u5230\u59a5\u5584\u5904\u7406\u3002"),(0,o.kt)("h2",{id:"\u9075\u5b88\u884c\u4e3a\u51c6\u5219"},"\u9075\u5b88\u884c\u4e3a\u51c6\u5219"),(0,o.kt)("p",null,"\u5c0a\u91cd\u4ed6\u4eba\uff0c\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u5efa\u8bbe\uff0c\u7ef4\u62a4\u826f\u597d\u7684\u793e\u533a\u6c1b\u56f4\u3002\n\u9075\u5b88\u793e\u533a\u7684\u884c\u4e3a\u51c6\u5219\uff0c\u4e0d\u53c2\u4e0e\u6216\u7eb5\u5bb9\u4efb\u4f55\u5f62\u5f0f\u7684\u6b67\u89c6\u3001\u9a9a\u6270\u6216\u4e0d\u5f53\u884c\u4e3a\u3002\n\u6211\u4eec\u5e0c\u671b\u8fd9\u4e9b\u6761\u6b3e\u80fd\u4e3a\u793e\u533a\u5171\u5efa\u63d0\u4f9b\u4e00\u4e2a\u660e\u786e\u7684\u6307\u5bfc\u65b9\u9488\uff0c\u8ba9\u5927\u5bb6\u5171\u540c\u8fd0\u8425\u597d\u793e\u533a\u3002\u611f\u8c22\u60a8\u7684\u652f\u6301\u4e0e\u53c2\u4e0e\uff01"),(0,o.kt)("h2",{id:"\u4e2d\u6587\u6587\u6863\u5199\u4f5c\u89c4\u8303"},"\u4e2d\u6587\u6587\u6863\u5199\u4f5c\u89c4\u8303"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://github.com/ruanyf/document-style-guide"},"\u962e\u4e00\u5cf0-\u4e2d\u6587\u6280\u672f\u6587\u6863\u7684\u5199\u4f5c\u89c4\u8303")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/9e4087bc.1ed3f564.js b/zh-CN/assets/js/9e4087bc.1ed3f564.js new file mode 100644 index 00000000..88185851 --- /dev/null +++ b/zh-CN/assets/js/9e4087bc.1ed3f564.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3608],{3169:(e,t,a)=>{a.r(t),a.d(t,{default:()=>o});var r=a(7294),l=a(9960),n=a(5999),c=a(1944),i=a(179);function s(e){let{year:t,posts:a}=e;return r.createElement(r.Fragment,null,r.createElement("h3",null,t),r.createElement("ul",null,a.map((e=>r.createElement("li",{key:e.metadata.date},r.createElement(l.Z,{to:e.metadata.permalink},e.metadata.formattedDate," - ",e.metadata.title))))))}function m(e){let{years:t}=e;return r.createElement("section",{className:"margin-vert--lg"},r.createElement("div",{className:"container"},r.createElement("div",{className:"row"},t.map(((e,t)=>r.createElement("div",{key:t,className:"col col--4 margin-vert--lg"},r.createElement(s,e)))))))}function o(e){let{archive:t}=e;const a=(0,n.I)({id:"theme.blog.archive.title",message:"Archive",description:"The page & hero title of the blog archive page"}),l=(0,n.I)({id:"theme.blog.archive.description",message:"Archive",description:"The page & hero description of the blog archive page"}),s=function(e){const t=e.reduceRight(((e,t)=>{const a=t.metadata.date.split("-")[0],r=e.get(a)??[];return e.set(a,[t,...r])}),new Map);return Array.from(t,(e=>{let[t,a]=e;return{year:t,posts:a}}))}(t.blogPosts);return r.createElement(r.Fragment,null,r.createElement(c.d,{title:a,description:l}),r.createElement(i.Z,null,r.createElement("header",{className:"hero hero--primary"},r.createElement("div",{className:"container"},r.createElement("h1",{className:"hero__title"},a),r.createElement("p",{className:"hero__subtitle"},l))),r.createElement("main",null,s.length>0&&r.createElement(m,{years:s}))))}}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/a297792b.5df2f879.js b/zh-CN/assets/js/a297792b.5df2f879.js new file mode 100644 index 00000000..8cdd357f --- /dev/null +++ b/zh-CN/assets/js/a297792b.5df2f879.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7837],{1584:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/zh-CN/blog/tags/solid-ui/page/2","page":2,"postsPerPage":3,"totalPages":2,"totalCount":6,"previousPage":"/SolidUI-Website/zh-CN/blog/tags/solid-ui","blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/a38ac2fb.612a49d3.js b/zh-CN/assets/js/a38ac2fb.612a49d3.js new file mode 100644 index 00000000..e785682d --- /dev/null +++ b/zh-CN/assets/js/a38ac2fb.612a49d3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[789],{3905:(e,n,t)=>{t.d(n,{Zo:()=>m,kt:()=>g});var a=t(7294);function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);n&&(a=a.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,a)}return t}function r(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){l(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e,n){if(null==e)return{};var t,a,l=function(e,n){if(null==e)return{};var t,a,l={},o=Object.keys(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||(l[t]=e[t]);return l}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)t=o[a],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var s=a.createContext({}),c=function(e){var n=a.useContext(s),t=n;return e&&(t="function"==typeof e?e(n):r(r({},n),e)),t},m=function(e){var n=c(e.components);return a.createElement(s.Provider,{value:n},e.children)},p="mdxType",d={inlineCode:"code",wrapper:function(e){var n=e.children;return a.createElement(a.Fragment,{},n)}},k=a.forwardRef((function(e,n){var t=e.components,l=e.mdxType,o=e.originalType,s=e.parentName,m=i(e,["components","mdxType","originalType","parentName"]),p=c(t),k=l,g=p["".concat(s,".").concat(k)]||p[k]||d[k]||o;return t?a.createElement(g,r(r({ref:n},m),{},{components:t})):a.createElement(g,r({ref:n},m))}));function g(e,n){var t=arguments,l=n&&n.mdxType;if("string"==typeof e||l){var o=t.length,r=new Array(o);r[0]=k;var i={};for(var s in n)hasOwnProperty.call(n,s)&&(i[s]=n[s]);i.originalType=e,i[p]="string"==typeof e?e:l,r[1]=i;for(var c=2;c<o;c++)r[c]=t[c];return a.createElement.apply(null,r)}return a.createElement.apply(null,t)}k.displayName="MDXCreateElement"},7532:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>s,contentTitle:()=>r,default:()=>d,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var a=t(7462),l=(t(7294),t(3905));const o={title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",date:new Date("2023-07-02T00:00:00.000Z"),tags:["SolidUI","AIGC","stable-diffusion"]},r=void 0,i={permalink:"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-02-snakemq-communication-source-code-analysis.md",source:"@site/blog/2023-07-02-snakemq-communication-source-code-analysis.md",title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",description:"\u80cc\u666f",date:"2023-07-02T00:00:00.000Z",formattedDate:"2023\u5e747\u67082\u65e5",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{label:"AIGC",permalink:"/SolidUI-Website/zh-CN/blog/tags/aigc"},{label:"stable-diffusion",permalink:"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],readingTime:6.275,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",date:"2023-07-02T00:00:00.000Z",tags:["SolidUI","AIGC","stable-diffusion"]},prevItem:{title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",permalink:"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis"},nextItem:{title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",permalink:"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0"}},s={authorsImageUrls:[]},c=[{value:"\u80cc\u666f",id:"\u80cc\u666f",level:2},{value:"Snakemq\u4ecb\u7ecd",id:"snakemq\u4ecb\u7ecd",level:2},{value:"Snakemq\u4f5c\u7528",id:"snakemq\u4f5c\u7528",level:2},{value:"Snakemq \u6d4b\u8bd5\u4ee3\u7801",id:"snakemq-\u6d4b\u8bd5\u4ee3\u7801",level:2},{value:"Snakemq\u901a\u4fe1",id:"snakemq\u901a\u4fe1",level:2},{value:"\u7ed3\u8bed",id:"\u7ed3\u8bed",level:2},{value:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",level:2}],m={toc:c},p="wrapper";function d(e){let{components:n,...t}=e;return(0,l.kt)(p,(0,a.Z)({},m,t,{components:n,mdxType:"MDXLayout"}),(0,l.kt)("h2",{id:"\u80cc\u666f"},"\u80cc\u666f"),(0,l.kt)("p",null,"\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002"),(0,l.kt)("p",null,"\u9879\u76ee\u5730\u5740: ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,l.kt)("p",null,"\u9879\u76ee\u955c\u50cf\u5730\u5740: ",(0,l.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,l.kt)("h2",{id:"snakemq\u4ecb\u7ecd"},"Snakemq\u4ecb\u7ecd"),(0,l.kt)("p",null,"SnakeMQ\u662f\u4e00\u4e2a\u8f7b\u91cf\u7ea7\u7684\u6d88\u606f\u961f\u5217(MQ)\u7cfb\u7edf,\u4e3b\u8981\u7528\u4e8e\u5728Python\u4e2d\u5b9e\u73b0\u5f02\u6b65\u4efb\u52a1\u961f\u5217\u548c\u6d88\u606f\u4f20\u9012\u3002"),(0,l.kt)("p",null,"SolidUI \u6a21\u578b\u4ee3\u7406\u6a21\u5757\uff08soliduimodelui\uff09 \u7528\u5230Snakemq , \u6d89\u53ca\u5230\u5185\u90e8\u901a\u4fe1\u65f6\u5019\uff0c\u5982\u679cclient \u548cserver \u4e0d\u4e00\u4e00\u5bf9\u5e94\uff0c\u901a\u4fe1\u5c31\u6709\u95ee\u9898\uff0c\u867d\u7136\u65e5\u5fd7\u4e0d\u62a5\u9519\uff0c\u4f46\u662f\u4e0d\u56de\u8fd4\u56de\u7ed3\u679c\uff0c\u672c\u6587\u4e3b\u8981\u8bb2\u76f8\u5173\u901a\u4fe1\u95ee\u9898\uff0c\u4e3a\u540e\u7eed\u5171\u5efa\u4f19\u4f34\u63d0\u4f9b\u89e3\u51b3\u601d\u8def\u3002"),(0,l.kt)("h2",{id:"snakemq\u4f5c\u7528"},"Snakemq\u4f5c\u7528"),(0,l.kt)("h2",{id:""}),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u8f7b\u91cf\u7ea7\u548c\u6613\u4e8e\u4f7f\u7528 - SnakeMQ\u4f7f\u7528\u7eafPython\u7f16\u5199,\u65e0\u4efb\u4f55\u5916\u90e8\u4f9d\u8d56,\u53ef\u4ee5\u5f88\u5bb9\u6613\u5730\u5728\u4efb\u4f55Python\u9879\u76ee\u4e2d\u96c6\u6210\u4f7f\u7528\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u652f\u6301\u4e3b\u6d41\u534f\u8bae - SnakeMQ\u5b9e\u73b0\u4e86STOMP\u548cAMQP\u7b49\u4e3b\u6d41\u7684MQ\u534f\u8bae\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u591a\u79cd\u6d88\u606f\u6a21\u578b - \u652f\u6301\u53d1\u5e03-\u8ba2\u9605\u3001\u5de5\u4f5c\u961f\u5217\u3001\u8bf7\u6c42-\u54cd\u5e94\u7b49\u591a\u79cd\u6d88\u606f\u6a21\u578b\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u6301\u4e45\u5316\u652f\u6301 - \u652f\u6301\u5c06\u6d88\u606f\u6301\u4e45\u5316\u5230\u4e0d\u540c\u7684\u540e\u7aef,\u5982Redis\u3001MongoDB\u7b49\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u9ad8\u6027\u80fd - SnakeMQ\u9488\u5bf9Python\u8fdb\u884c\u4e86\u4f18\u5316,\u5355\u673a\u53ef\u4ee5\u5904\u7406\u4e0a\u4e07\u6d88\u606f\u6bcf\u79d2\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u53ef\u6269\u5c55 - \u53ef\u4ee5\u6c34\u5e73\u6269\u5c55\u4ee5\u5b9e\u73b0\u96c6\u7fa4,\u63d0\u9ad8\u7cfb\u7edf\u6574\u4f53\u541e\u5410\u91cf\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u591a\u8bed\u8a00\u652f\u6301 - \u9664\u4e86Python SDK,\u8fd8\u63d0\u4f9b\u4e86NodeJS\u3001Java\u7b49\u8bed\u8a00\u7684SDK\u3002")),(0,l.kt)("p",null,"SolidUI \u4e2d soliduimodelui\u6a21\u5757\uff0c\u662f\u6a21\u578b\u4ee3\u7406API\uff0c\u9700\u8981Web\u548c Kernel \u901a\u4fe1\u7528\u5230Snakemq "),(0,l.kt)("h2",{id:"snakemq-\u6d4b\u8bd5\u4ee3\u7801"},"Snakemq \u6d4b\u8bd5\u4ee3\u7801"),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Snakemq client.py")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-plain"},'\nimport snakemq.link\nimport snakemq.packeter\nimport snakemq.messaging\nimport snakemq.rpc\nimport time\nimport json\nimport logging\n\n\nlogging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")\n\n\nlogger = logging.getLogger(__name__)\n\n\nlogger.setLevel(logging.INFO)\n\n\nconsole_handler = logging.StreamHandler()\n\n\nconsole_handler.setLevel(logging.INFO)\n\n\nlogger.addHandler(console_handler)\n\n\nlogger.setLevel(logging.INFO)\n\n\nfh = logging.FileHandler(\'app.log\')\n\n\nlogger.addHandler(fh)\n\n\nlink = snakemq.link.Link()\n\n\npacketer = snakemq.packeter.Packeter(link)\n\n\nmessaging = snakemq.messaging.Messaging("client", "", packeter)\n\n\nconnector = ("server", 8765)\n\n\nlink.add_connector(connector)\n\n\ndef on_connect(connector_id):\n\n\n logger.info(f"Connected to: {connector_id}")\n\n\nlink.on_connect.add(on_connect)\n\n\ndef on_disconnect(connector_id):\n\n\n logger.info(f"\u5df2\u65ad\u5f00: {connector_id}")\n\n\nlink.on_disconnect.add(on_disconnect)\n\n\n\ndef on_recv(conn, ident, message):\n\n\n logger.info(f"client\u63a5\u6536\u5230: {message.data}, \u6765\u81ea: {ident}")\n\n\nmessaging.on_message_recv.add(on_recv)\n\n\nmessage = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)\n\n\nmessaging.send_message("server", message)\n\n\nwhile True:\n\n\n link.loop()\n\n\n time.sleep(0.1)\n\n\n')),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Snakemq server.py")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-plain"},'\nimport snakemq.link\nimport snakemq.packeter\nimport snakemq.messaging\nimport snakemq.rpc\nimport time\nimport json\nimport logging\n\n\nlogging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")\n\n\nlogger = logging.getLogger(__name__)\n\n\nlogger.setLevel(logging.INFO)\n\n\nconsole_handler = logging.StreamHandler()\n\n\nconsole_handler.setLevel(logging.INFO)\n\n\nlogger.addHandler(console_handler)\n\n\nlogger.setLevel(logging.INFO)\n\n\nfh = logging.FileHandler(\'app.log\')\n\n\nlogger.addHandler(fh)\n\n\nlink = snakemq.link.Link()\n\n\npacketer = snakemq.packeter.Packeter(link)\n\n\nmessaging = snakemq.messaging.Messaging("server", "", packeter)\n\n\nlink.add_listener(("0.0.0.0", 8765))\n\n\ndef on_recv(conn, ident, message):\n\n\n logger.info(f"server\u63a5\u6536\u5230: {message.data}, \u6765\u81ea: {ident}")\n\n\nmessaging.on_message_recv.add(on_recv)\n\n\n\nmessage = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)\n\n\nmessaging.send_message("client", message)\n\n\n# Main loop\n\n\nwhile True:\n\n\n link.loop()\n\n\n time.sleep(0.1)\n\n\n')),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Dockerfile")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},'FROM python:3.8\nWORKDIR /opt/snaketmq-test\n\nRUN pip install snakemq\nRUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"\nCOPY . .\n\nCMD ["python", "server.py"]\n')),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"Dockerfile build & run")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"docker build -t snaketmq-test .\xa0\n\ndocker network create mynet\n\ndocker run -d --name server --network mynet\xa0 snaketmq-test\n\ndocker run --network mynet\xa0 snaketmq-test python client.py\n")),(0,l.kt)("h2",{id:"snakemq\u901a\u4fe1"},"Snakemq\u901a\u4fe1"),(0,l.kt)("p",null,'\u6ce8\u610f\uff1aSnakemq \u6d4b\u8bd5\u4ee3\u7801\uff0c\u56e0\u4e3a\u5bb9\u5668\u5185\u901a\u4fe1\uff0cip addr \u4f1a\u6d89\u53ca\u5230\u591a\u4e2aip \uff0c\u867d\u7136\u5bb9\u5668\u8bbe\u7f6e\u7f51\u6bb5mynet \uff0c\u4f46\u662f server link.add_listener(("0.0.0.0", 8765)) \u8fd9\u884c\u4ee3\u7801 '),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"server: \u8868\u793aSnakeMQ\u7684\u670d\u52a1\u5668\u5b9e\u4f8b\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"link: server\u4e2d\u7684link\u5c5e\u6027,\u8868\u793a\u7f51\u7edc\u8fde\u63a5\u7ba1\u7406\u5668\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"add_listener: \u5411link\u4e2d\u6dfb\u52a0\u4e00\u4e2a\u76d1\u542c\u5668\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},'("0.0.0.0", 8765): \u76d1\u542c\u7684\u5730\u5740\u548c\u7aef\u53e3\u3002"0.0.0.0"\u8868\u793a\u76d1\u542c\u6240\u6709\u7f51\u5361\u5730\u5740,"8765"\u8868\u793a\u76d1\u542c8765\u7aef\u53e3\u3002\nclient connector = ("server", 8765) link.add_connector(connector) \u8fd9\u884c\u4ee3\u7801')),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},'connector = ("server", 8765) : \u521b\u5efa\u4e00\u4e2a\u5143\u7ec4connector,\u91cc\u9762\u5305\u542b\u4e86SnakeMQ\u670d\u52a1\u5668\u7684\u5730\u5740"server"\u548c\u7aef\u53e38765\u3002')),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"link.add_connector(connector): \u8c03\u7528link\u5bf9\u8c61(\u8fd9\u91cc\u5e94\u8be5\u662fSnakeMQ\u7684\u8fde\u63a5\u5bf9\u8c61)\u7684add_connector\u65b9\u6cd5,\u4f20\u5165\u53c2\u6570connector,\u5c06\u4e0a\u4e00\u6b65\u521b\u5efa\u7684\u8fde\u63a5\u4fe1\u606f\u6dfb\u52a0\u5230\u8fde\u63a5\u5bf9\u8c61\u4e2d\u3002")),(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"\u7efc\u5408\u6765\u770b,\u8fd9\u884c\u4ee3\u7801\u7684\u4f5c\u7528\u5c31\u662f\u521b\u5efa\u4e00\u4e2a\u8fde\u63a5\u5143\u7ec4,\u5305\u542bSnakeMQ\u670d\u52a1\u5668\u7684\u5730\u5740\u548c\u7aef\u53e3,\u7136\u540e\u5c06\u8fd9\u4e2a\u8fde\u63a5\u4fe1\u606f\u6dfb\u52a0\u5230SnakeMQ\u7684\u8fde\u63a5\u5bf9\u8c61\u4e2d,\u4ee5\u5efa\u7acbSnakeMQ\u7684\u5ba2\u6237\u7aef\u8fde\u63a5\u3002"))),(0,l.kt)("h2",{id:"\u7ed3\u8bed"},"\u7ed3\u8bed"),(0,l.kt)("p",null,"\u672c\u6587\u901a\u8fc7Snakemq \u6848\u4f8b \u6765\u89e3\u91caSolidUI \u5185\u90e8\u901a\u4fe1\uff0c\u8ba9\u5927\u5bb6\u660e\u767d\u914d\u7f6e\u5730\u5740\u65f6\u5019ip \u4e3a\u4ec0\u4e48\u8fd9\u6837\u8bbe\u7f6e\uff0c\u76ee\u7684\u662f\u4e3a\u4e86\u4e00\u4e00\u5bf9\u5e94\uff0c\u4e0d\u662f\u76f2\u76ee\u8bbe\u7f6elocalhost\u5c31\u80fd\u89e3\u51b3\uff0c\u4e3a\u5927\u5bb6\u540e\u7eed\u66f4\u597d\u5171\u5efaSolidUI\u63d0\u4f9b\u601d\u8def\u3002"),(0,l.kt)("h2",{id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"},"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u5b98\u65b9\u6587\u6863\u8d21\u732e\u3002\u53d1\u73b0\u6587\u6863\u7684\u4e0d\u8db3\u3001\u4f18\u5316\u6587\u6863\uff0c\u6301\u7eed\u66f4\u65b0\u6587\u6863\u7b49\u65b9\u5f0f\u53c2\u4e0e\u793e\u533a\u8d21\u732e\u3002\u901a\u8fc7\u6587\u6863\u8d21\u732e\uff0c\u8ba9\u5f00\u53d1\u8005\u719f\u6089\u5982\u4f55\u63d0\u4ea4PR\u548c\u771f\u6b63\u53c2\u4e0e\u5230\u793e\u533a\u7684\u5efa\u8bbe\u3002\u53c2\u8003\u653b\u7565\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,l.kt)("li",{parentName:"ul"},"\u4ee3\u7801\u8d21\u732e\u3002\u6211\u4eec\u68b3\u7406\u4e86\u793e\u533a\u4e2d\u7b80\u5355\u5e76\u4e14\u5bb9\u6613\u5165\u95e8\u7684\u7684\u4efb\u52a1\uff0c\u975e\u5e38\u9002\u5408\u65b0\u4eba\u505a\u4ee3\u7801\u8d21\u732e\u3002\u8bf7\u67e5\u9605\u65b0\u624b\u4efb\u52a1\u5217\u8868\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,l.kt)("li",{parentName:"ul"},"\u5185\u5bb9\u8d21\u732e\uff1a\u53d1\u5e03SolidUI\u5f00\u6e90\u7ec4\u4ef6\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5b89\u88c5\u90e8\u7f72\u6559\u7a0b\u3001\u4f7f\u7528\u7ecf\u9a8c\u3001\u6848\u4f8b\u5b9e\u8df5\u7b49\uff0c\u5f62\u5f0f\u4e0d\u9650\uff0c\u8bf7\u6295\u7a3f\u7ed9\u5c0f\u52a9\u624b\u3002\u4f8b\u5982\uff1a",(0,l.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,l.kt)("li",{parentName:"ul"},"\u793e\u533a\u7b54\u7591\uff1a\u79ef\u6781\u5728\u793e\u533a\u4e2d\u8fdb\u884c\u7b54\u7591\u3001\u5206\u4eab\u6280\u672f\u3001\u5e2e\u52a9\u5f00\u53d1\u8005\u89e3\u51b3\u95ee\u9898\u7b49\uff1b\n\u5176\u4ed6\uff1a\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u6d3b\u52a8\u3001\u6210\u4e3a\u793e\u533a\u5fd7\u613f\u8005\u3001\u5e2e\u52a9\u793e\u533a\u5ba3\u4f20\u3001\u4e3a\u793e\u533a\u53d1\u5c55\u63d0\u4f9b\u6709\u6548\u5efa\u8bae\u7b49\uff1b")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/a614ad0f.ec1945c7.js b/zh-CN/assets/js/a614ad0f.ec1945c7.js new file mode 100644 index 00000000..817f1812 --- /dev/null +++ b/zh-CN/assets/js/a614ad0f.ec1945c7.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[6074],{172:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/zh-CN/blog/tags/solid-ui","page":1,"postsPerPage":3,"totalPages":2,"totalCount":6,"nextPage":"/SolidUI-Website/zh-CN/blog/tags/solid-ui/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/a6aa9e1f.0aa25372.js b/zh-CN/assets/js/a6aa9e1f.0aa25372.js new file mode 100644 index 00000000..3a4d7761 --- /dev/null +++ b/zh-CN/assets/js/a6aa9e1f.0aa25372.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3089],{46:(e,t,a)=>{a.r(t),a.d(t,{default:()=>u});var n=a(7294),l=a(6010),r=a(2263),i=a(1944),o=a(5281),s=a(9058),m=a(9703),c=a(197),g=a(9985);function p(e){const{metadata:t}=e,{siteConfig:{title:a}}=(0,r.Z)(),{blogDescription:l,blogTitle:o,permalink:s}=t,m="/"===s?a:o;return n.createElement(n.Fragment,null,n.createElement(i.d,{title:m,description:l}),n.createElement(c.Z,{tag:"blog_posts_list"}))}function d(e){const{metadata:t,items:a,sidebar:l}=e;return n.createElement(s.Z,{sidebar:l},n.createElement(g.Z,{items:a}),n.createElement(m.Z,{metadata:t}))}function u(e){return n.createElement(i.FG,{className:(0,l.Z)(o.k.wrapper.blogPages,o.k.page.blogListPage)},n.createElement(p,e),n.createElement(d,e))}},9703:(e,t,a)=>{a.d(t,{Z:()=>i});var n=a(7294),l=a(5999),r=a(2244);function i(e){const{metadata:t}=e,{previousPage:a,nextPage:i}=t;return n.createElement("nav",{className:"pagination-nav","aria-label":(0,l.I)({id:"theme.blog.paginator.navAriaLabel",message:"Blog list page navigation",description:"The ARIA label for the blog pagination"})},a&&n.createElement(r.Z,{permalink:a,title:n.createElement(l.Z,{id:"theme.blog.paginator.newerEntries",description:"The label used to navigate to the newer blog posts page (previous page)"},"Newer Entries")}),i&&n.createElement(r.Z,{permalink:i,title:n.createElement(l.Z,{id:"theme.blog.paginator.olderEntries",description:"The label used to navigate to the older blog posts page (next page)"},"Older Entries"),isNext:!0}))}},9985:(e,t,a)=>{a.d(t,{Z:()=>i});var n=a(7294),l=a(9460),r=a(390);function i(e){let{items:t,component:a=r.Z}=e;return n.createElement(n.Fragment,null,t.map((e=>{let{content:t}=e;return n.createElement(l.n,{key:t.metadata.permalink,content:t},n.createElement(a,null,n.createElement(t,null)))})))}}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/a9df0cc8.c4386508.js b/zh-CN/assets/js/a9df0cc8.c4386508.js new file mode 100644 index 00000000..72a9d570 --- /dev/null +++ b/zh-CN/assets/js/a9df0cc8.c4386508.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[1757],{3629:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/zh-CN/blog/tags/aigc","page":1,"postsPerPage":3,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/ac0ab662.1feb7c47.js b/zh-CN/assets/js/ac0ab662.1feb7c47.js new file mode 100644 index 00000000..01168eec --- /dev/null +++ b/zh-CN/assets/js/ac0ab662.1feb7c47.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[530],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>b});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,n,a=function(e,t){if(null==e)return{};var r,n,a={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var p=n.createContext({}),m=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=m(e.components);return n.createElement(p.Provider,{value:t},e.children)},c="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,i=e.originalType,p=e.parentName,u=l(e,["components","mdxType","originalType","parentName"]),c=m(r),d=a,b=c["".concat(p,".").concat(d)]||c[d]||s[d]||i;return r?n.createElement(b,o(o({ref:t},u),{},{components:r})):n.createElement(b,o({ref:t},u))}));function b(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var i=r.length,o=new Array(i);o[0]=d;var l={};for(var p in t)hasOwnProperty.call(t,p)&&(l[p]=t[p]);l.originalType=e,l[c]="string"==typeof e?e:a,o[1]=l;for(var m=2;m<i;m++)o[m]=r[m];return n.createElement.apply(null,o)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},8234:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>o,default:()=>s,frontMatter:()=>i,metadata:()=>l,toc:()=>m});var n=r(7462),a=(r(7294),r(3905));const i={id:"submit_code",title:"Submit Code",sidebar_position:2},o=void 0,l={unversionedId:"submit_guide/submit_code",id:"submit_guide/submit_code",title:"Submit Code",description:"\x3c!--",source:"@site/community/submit_guide/submit-code.md",sourceDirName:"submit_guide",slug:"/submit_guide/submit_code",permalink:"/SolidUI-Website/zh-CN/community/submit_guide/submit_code",draft:!1,tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"submit_code",title:"Submit Code",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"Documentation Notice",permalink:"/SolidUI-Website/zh-CN/community/submit_guide/document"}},p={},m=[],u={toc:m},c="wrapper";function s(e){let{components:t,...r}=e;return(0,a.kt)(c,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"First from the remote repository ",(0,a.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI.git"},"https://github.com/CloudOrc/SolidUI.git")," fork a copy of the code into your own repository")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"There are currently three branches in the remote repository:"),(0,a.kt)("ul",{parentName:"li"},(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"dev")," daily development branch"),(0,a.kt)("blockquote",{parentName:"li"},(0,a.kt)("p",{parentName:"blockquote"},"Every day dev development branch, newly submitted code can pull request to this branch."))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},(0,a.kt)("strong",{parentName:"p"},"1.0.0-release")," release version branch"),(0,a.kt)("blockquote",{parentName:"li"},(0,a.kt)("p",{parentName:"blockquote"},"The release version branch, there will be 2.0...and other version branches in the future."))))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Clone your repository to your local"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git clone git@github.com:CloudOrc/SolidUI.git\n"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Add remote repository address, named upstream"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git remote add upstream git@github.com:CloudOrc/SolidUI.git\n"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"View repository"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git remote -v\n")),(0,a.kt)("blockquote",{parentName:"li"},(0,a.kt)("p",{parentName:"blockquote"},"At this time, there will be two repositories: origin (your own repository) and upstream (remote repository)"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Get/Update remote repository code"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git fetch upstream\n"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Synchronize remote repository code to local repository"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git checkout origin/dev\ngit merge --no-ff upstream/dev\n")))),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"After modifying the code locally, submit it to your own repository:"),(0,a.kt)("pre",{parentName:"li"},(0,a.kt)("code",{parentName:"pre",className:"language-shell"},"git commit -m 'commit content'\ngit push\n"))),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Submit changes to the remote repository")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},'On the github page, click "New pull request".')),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},'Select the modified local branch and the branch you want to merge with the past, click "Create pull request".')),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Then the community Committers will do CodeReview, and then he will discuss some details (including design, implementation, performance, etc.) with you. When everyone on the team is satisfied with this modification, the commit will be merged into the dev branch")),(0,a.kt)("li",{parentName:"ul"},(0,a.kt)("p",{parentName:"li"},"Finally, congratulations, you have become an official contributor to SolidUI !"))))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/ac717c78.4d2c8a01.js b/zh-CN/assets/js/ac717c78.4d2c8a01.js new file mode 100644 index 00000000..69b789d9 --- /dev/null +++ b/zh-CN/assets/js/ac717c78.4d2c8a01.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8688],{3905:(e,t,i)=>{i.d(t,{Zo:()=>d,kt:()=>h});var a=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,a)}return i}function r(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?o(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):o(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function l(e,t){if(null==e)return{};var i,a,n=function(e,t){if(null==e)return{};var i,a,n={},o=Object.keys(e);for(a=0;a<o.length;a++)i=o[a],t.indexOf(i)>=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)i=o[a],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var s=a.createContext({}),c=function(e){var t=a.useContext(s),i=t;return e&&(i="function"==typeof e?e(t):r(r({},t),e)),i},d=function(e){var t=c(e.components);return a.createElement(s.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},m=a.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,s=e.parentName,d=l(e,["components","mdxType","originalType","parentName"]),p=c(i),m=n,h=p["".concat(s,".").concat(m)]||p[m]||u[m]||o;return i?a.createElement(h,r(r({ref:t},d),{},{components:i})):a.createElement(h,r({ref:t},d))}));function h(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,r=new Array(o);r[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[p]="string"==typeof e?e:n,r[1]=l;for(var c=2;c<o;c++)r[c]=i[c];return a.createElement.apply(null,r)}return a.createElement.apply(null,i)}m.displayName="MDXCreateElement"},9206:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>s,contentTitle:()=>r,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var a=i(7462),n=(i(7294),i(3905));const o={title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",date:new Date("2023-09-05T00:00:00.000Z"),tags:["SolidUI","AI","stable-diffusion"]},r=void 0,l={permalink:"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-introduction.md",source:"@site/blog/2023-09-05-0.2.0-introduction.md",title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",description:"Background",date:"2023-09-05T00:00:00.000Z",formattedDate:"2023\u5e749\u67085\u65e5",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{label:"AI",permalink:"/SolidUI-Website/zh-CN/blog/tags/ai"},{label:"stable-diffusion",permalink:"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],readingTime:4.36,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",date:"2023-09-05T00:00:00.000Z",tags:["SolidUI","AI","stable-diffusion"]},prevItem:{title:"Version Update | SolidUI 0.2.0 Release",permalink:"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release"},nextItem:{title:"SolidUI Community - Official Website Introduction",permalink:"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction"}},s={authorsImageUrls:[]},c=[{value:"Background",id:"background",level:2},{value:"Chat Window",id:"chat-window",level:2},{value:"Prompt Words",id:"prompt-words",level:3},{value:"Chat Window Generation",id:"chat-window-generation",level:2},{value:"Input data format for bar chart",id:"input-data-format-for-bar-chart",level:3},{value:"Surface Graph",id:"surface-graph",level:3},{value:"Scatter Plot",id:"scatter-plot",level:3},{value:"Spiral Line",id:"spiral-line",level:3},{value:"Pie Chart",id:"pie-chart",level:3},{value:"Bunny Modeling",id:"bunny-modeling",level:3},{value:"Map",id:"map",level:3},{value:"Design Page",id:"design-page",level:2},{value:"Page Layout",id:"page-layout",level:3},{value:"Preview",id:"preview",level:3},{value:"Future Plans of SolidUI Community",id:"future-plans-of-solidui-community",level:2},{value:"How to Become a Contributor",id:"how-to-become-a-contributor",level:2}],d={toc:c},p="wrapper";function u(e){let{components:t,...o}=e;return(0,n.kt)(p,(0,a.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"background"},"Background"),(0,n.kt)("p",null,"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation."),(0,n.kt)("p",null,"Project URL: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Project mirror URL: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Community official website: ",(0,n.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,n.kt)("p",null,"Join the group: ",(0,n.kt)("a",{parentName:"p",href:"https://discord.gg/NGRNu2mGeQ"},"https://discord.gg/NGRNu2mGeQ")),(0,n.kt)("h2",{id:"chat-window"},"Chat Window"),(0,n.kt)("p",null,"One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display."),(0,n.kt)("h3",{id:"prompt-words"},"Prompt Words"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account."),(0,n.kt)("li",{parentName:"ul"},"The input data can be manually input or automatically generated, combined with text prompt words.")),(0,n.kt)("h2",{id:"chat-window-generation"},"Chat Window Generation"),(0,n.kt)("h3",{id:"input-data-format-for-bar-chart"},"Input data format for bar chart"),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},'\\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\\] Generate a bar chart')),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(6979).Z,width:"800",height:"1068"})),(0,n.kt)("h3",{id:"surface-graph"},"Surface Graph"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a simple 3D surface graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4733).Z,width:"612",height:"825"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 2")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7232).Z,width:"612",height:"931"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 3")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4388).Z,width:"612",height:"1095"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 4")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(1350).Z,width:"800",height:"1140"})),(0,n.kt)("h3",{id:"scatter-plot"},"Scatter Plot"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4500).Z,width:"612",height:"864"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 2")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(4066).Z,width:"612",height:"973"})),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 3")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(3458).Z,width:"612",height:"929"})),(0,n.kt)("h3",{id:"spiral-line"},"Spiral Line"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Draw a spiral line in a 3D graph.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7613).Z,width:"612",height:"843"})),(0,n.kt)("h3",{id:"pie-chart"},"Pie Chart"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(9361).Z,width:"612",height:"784"})),(0,n.kt)("h3",{id:"bunny-modeling"},"Bunny Modeling"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},'Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model.\n')),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(2532).Z,width:"612",height:"578"})),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://faculty.cc.gatech.edu/~turk/bunny/bunny.html"},"https://faculty.cc.gatech.edu/~turk/bunny/bunny.html")),(0,n.kt)("h3",{id:"map"},"Map"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"Prompt 1")),(0,n.kt)("p",null,(0,n.kt)("inlineCode",{parentName:"p"},"Create a map, download link")),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(1560).Z,width:"612",height:"750"})),(0,n.kt)("h2",{id:"design-page"},"Design Page"),(0,n.kt)("h3",{id:"page-layout"},"Page Layout"),(0,n.kt)("p",null,"Manage the layout of generated graphics, divided by scenes and pages."),(0,n.kt)("h3",{id:"preview"},"Preview"),(0,n.kt)("p",null,"Click on the project preview or Design Page -> Scene -> Page preview"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"Image description",src:i(7832).Z,width:"612",height:"689"})),(0,n.kt)("h2",{id:"future-plans-of-solidui-community"},"Future Plans of SolidUI Community"),(0,n.kt)("p",null,"For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics."),(0,n.kt)("p",null,"This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas."),(0,n.kt)("p",null,"Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development."),(0,n.kt)("h2",{id:"how-to-become-a-contributor"},"How to Become a Contributor"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("li",{parentName:"ul"},"Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("li",{parentName:"ul"},"Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("li",{parentName:"ul"},"Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;"),(0,n.kt)("li",{parentName:"ul"},"Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;")))}u.isMDXComponent=!0},7232:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image03-af7d6197cbbd538939c13caea371ed6b.png"},6979:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image1-e94e2d291f16a9cf47445078fe8a63e7.png"},4733:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/image2-9a1fea16ddcd20bbcd103783e45e7d1a.png"},4388:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images04-ab547dfceec7fd4762478ac7916ec5d2.png"},1350:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images05-4cc71d8bdadf8941e12867c8d6f8a2fe.png"},4500:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images06-973d359adfc34c204d37ea809ac68072.png"},4066:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images07-eddfb5d4a451dffd76a68688c45eac10.png"},3458:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images08-585c264b6c51d1daf3b607aa17f6f20e.png"},7613:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images09-50798acaf3380d15ad06c8e0e6e2000f.png"},9361:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images10-60d41d0c5c293845598032e51a0d2cb6.png"},2532:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images11-a9349b7ddffabf3d8071f4545641f7db.jpeg"},1560:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images12-2ab1592a45568d991cf485c21a451753.png"},7832:(e,t,i)=>{i.d(t,{Z:()=>a});const a=i.p+"assets/images/images13-762ce8795cec77dccf1b303f7d568ef3.png"}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/afbbc345.28fe9e6b.js b/zh-CN/assets/js/afbbc345.28fe9e6b.js new file mode 100644 index 00000000..3d205ed1 --- /dev/null +++ b/zh-CN/assets/js/afbbc345.28fe9e6b.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[9084],{3905:(e,t,i)=>{i.d(t,{Zo:()=>c,kt:()=>h});var o=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function r(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,o)}return i}function l(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?r(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):r(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function a(e,t){if(null==e)return{};var i,o,n=function(e,t){if(null==e)return{};var i,o,n={},r=Object.keys(e);for(o=0;o<r.length;o++)i=r[o],t.indexOf(i)>=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(o=0;o<r.length;o++)i=r[o],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var u=o.createContext({}),s=function(e){var t=o.useContext(u),i=t;return e&&(i="function"==typeof e?e(t):l(l({},t),e)),i},c=function(e){var t=s(e.components);return o.createElement(u.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},d=o.forwardRef((function(e,t){var i=e.components,n=e.mdxType,r=e.originalType,u=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),p=s(i),d=n,h=p["".concat(u,".").concat(d)]||p[d]||m[d]||r;return i?o.createElement(h,l(l({ref:t},c),{},{components:i})):o.createElement(h,l({ref:t},c))}));function h(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=i.length,l=new Array(r);l[0]=d;var a={};for(var u in t)hasOwnProperty.call(t,u)&&(a[u]=t[u]);a.originalType=e,a[p]="string"==typeof e?e:n,l[1]=a;for(var s=2;s<r;s++)l[s]=i[s];return o.createElement.apply(null,l)}return o.createElement.apply(null,i)}d.displayName="MDXCreateElement"},8440:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>u,contentTitle:()=>l,default:()=>m,frontMatter:()=>r,metadata:()=>a,toc:()=>s});var o=i(7462),n=(i(7294),i(3905));const r={title:"Version Update | SolidUI 0.2.0 Release",date:new Date("2023-09-05T00:00:00.000Z"),tags:["SolidUI","AI","stable-diffusion"]},l=void 0,a={permalink:"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-0.2.0-Release.md",source:"@site/blog/2023-09-05-0.2.0-Release.md",title:"Version Update | SolidUI 0.2.0 Release",description:"Background",date:"2023-09-05T00:00:00.000Z",formattedDate:"2023\u5e749\u67085\u65e5",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{label:"AI",permalink:"/SolidUI-Website/zh-CN/blog/tags/ai"},{label:"stable-diffusion",permalink:"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],readingTime:3.02,hasTruncateMarker:!1,authors:[],frontMatter:{title:"Version Update | SolidUI 0.2.0 Release",date:"2023-09-05T00:00:00.000Z",tags:["SolidUI","AI","stable-diffusion"]},nextItem:{title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",permalink:"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction"}},u={authorsImageUrls:[]},s=[{value:"Background",id:"background",level:2},{value:"Release Notes",id:"release-notes",level:2},{value:"Features",id:"features",level:3},{value:"Deployment",id:"deployment",level:3},{value:"Documentation",id:"documentation",level:3},{value:"Detailed Guide",id:"detailed-guide",level:2},{value:"Contributors",id:"contributors",level:2},{value:"How to Become a Contributor",id:"how-to-become-a-contributor",level:2}],c={toc:s},p="wrapper";function m(e){let{components:t,...i}=e;return(0,n.kt)(p,(0,o.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"background"},"Background"),(0,n.kt)("p",null,"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation."),(0,n.kt)("p",null,"Project URL: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Project mirror URL: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Community official website: ",(0,n.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,n.kt)("p",null,"Join the group: ",(0,n.kt)("a",{parentName:"p",href:"https://discord.gg/NGRNu2mGeQ"},"https://discord.gg/NGRNu2mGeQ")),(0,n.kt)("h2",{id:"release-notes"},"Release Notes"),(0,n.kt)("h3",{id:"features"},"Features"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Design features, scene and page optimization"),(0,n.kt)("li",{parentName:"ul"},"Project Preview"),(0,n.kt)("li",{parentName:"ul"},"Design features, preview page"),(0,n.kt)("li",{parentName:"ul"},"Support for GPT-like model proxy"),(0,n.kt)("li",{parentName:"ul"},"Support for ChatGLM-like model proxy"),(0,n.kt)("li",{parentName:"ul"},"Support Hugging Face Spaces plugin, provide trial function"),(0,n.kt)("li",{parentName:"ul"},"Support for the ESLint code check tool"),(0,n.kt)("li",{parentName:"ul"},"Design page delete graphic optimization"),(0,n.kt)("li",{parentName:"ul"},"Login page, logout optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for chat window interaction"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, internationalization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, UI optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, overview optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, Blog optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, all documents optimization"),(0,n.kt)("li",{parentName:"ul"},"Support for the official website, framework migration")),(0,n.kt)("h3",{id:"deployment"},"Deployment"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"Independent deployment related scripts"),(0,n.kt)("li",{parentName:"ul"},"docker-compose")),(0,n.kt)("h3",{id:"documentation"},"Documentation"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"All co-builders list"),(0,n.kt)("li",{parentName:"ul"},"ESLint & Prettier code specifications"),(0,n.kt)("li",{parentName:"ul"},"SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Snakemq communication source code analysis"),(0,n.kt)("li",{parentName:"ul"},"Centos7.9 offline deployment of ChatGLM-6B"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Independent deployment and Docker communication analysis"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Introduction to the official website"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - FAQ problem-solving process"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - General Prompt technique"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Prompt design"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Building a character based on Prompts"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - AI model proxy"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Chain of Thought (CoT) in Prompts"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Prompt self-consistency"),(0,n.kt)("li",{parentName:"ul"},"SolidUI community - Discord"),(0,n.kt)("li",{parentName:"ul"},"SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction")),(0,n.kt)("h2",{id:"detailed-guide"},"Detailed Guide"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"This version overview: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1"},"https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1")),(0,n.kt)("li",{parentName:"ul"},"Demo environment: ",(0,n.kt)("a",{parentName:"li",href:"http://www.solidui.top/"},"http://www.solidui.top/")),(0,n.kt)("li",{parentName:"ul"},"Quick Start: ",(0,n.kt)("a",{parentName:"li",href:"https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/"},"https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/")),(0,n.kt)("li",{parentName:"ul"},"Tutorial: ",(0,n.kt)("a",{parentName:"li",href:"https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s"},"https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s")),(0,n.kt)("li",{parentName:"ul"},"Welcome users to fill in: ",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/1"},"https://github.com/CloudOrc/SolidUI/issues/1")),(0,n.kt)("li",{parentName:"ul"},"Join the group: ",(0,n.kt)("a",{parentName:"li",href:"https://discord.gg/NGRNu2mGeQ"},"https://discord.gg/NGRNu2mGeQ"))),(0,n.kt)("h2",{id:"contributors"},"Contributors"),(0,n.kt)("p",null,"The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"dlimeng"),(0,n.kt)("li",{parentName:"ul"},"nutsjian"),(0,n.kt)("li",{parentName:"ul"},"jacktao007"),(0,n.kt)("li",{parentName:"ul"},"15100399015"),(0,n.kt)("li",{parentName:"ul"},"ziyu211"),(0,n.kt)("li",{parentName:"ul"},"limingoo"),(0,n.kt)("li",{parentName:"ul"},"hgfdsa101")),(0,n.kt)("h2",{id:"how-to-become-a-contributor"},"How to Become a Contributor"),(0,n.kt)("p",null,"Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("p",null,"Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("p",null,"Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("p",null,"Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;"),(0,n.kt)("p",null,"Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/b1bdda4d.a5244e41.js b/zh-CN/assets/js/b1bdda4d.a5244e41.js new file mode 100644 index 00000000..aa4724b7 --- /dev/null +++ b/zh-CN/assets/js/b1bdda4d.a5244e41.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3884],{5745:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-pages","id":"default"}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/b25c8dbb.b61edddd.js b/zh-CN/assets/js/b25c8dbb.b61edddd.js new file mode 100644 index 00000000..d40d20ca --- /dev/null +++ b/zh-CN/assets/js/b25c8dbb.b61edddd.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[1593],{3450:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/zh-CN/blog","page":1,"postsPerPage":3,"totalPages":2,"totalCount":6,"nextPage":"/SolidUI-Website/zh-CN/blog/page/2","blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/b28a394f.8631aeb4.js b/zh-CN/assets/js/b28a394f.8631aeb4.js new file mode 100644 index 00000000..497d3322 --- /dev/null +++ b/zh-CN/assets/js/b28a394f.8631aeb4.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[3849],{3905:(e,t,i)=>{i.d(t,{Zo:()=>s,kt:()=>f});var r=i(7294);function n(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function o(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,r)}return i}function a(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?o(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):o(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}function l(e,t){if(null==e)return{};var i,r,n=function(e,t){if(null==e)return{};var i,r,n={},o=Object.keys(e);for(r=0;r<o.length;r++)i=o[r],t.indexOf(i)>=0||(n[i]=e[i]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)i=o[r],t.indexOf(i)>=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(n[i]=e[i])}return n}var c=r.createContext({}),d=function(e){var t=r.useContext(c),i=t;return e&&(i="function"==typeof e?e(t):a(a({},t),e)),i},s=function(e){var t=d(e.components);return r.createElement(c.Provider,{value:t},e.children)},p="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var i=e.components,n=e.mdxType,o=e.originalType,c=e.parentName,s=l(e,["components","mdxType","originalType","parentName"]),p=d(i),m=n,f=p["".concat(c,".").concat(m)]||p[m]||u[m]||o;return i?r.createElement(f,a(a({ref:t},s),{},{components:i})):r.createElement(f,a({ref:t},s))}));function f(e,t){var i=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=i.length,a=new Array(o);a[0]=m;var l={};for(var c in t)hasOwnProperty.call(t,c)&&(l[c]=t[c]);l.originalType=e,l[p]="string"==typeof e?e:n,a[1]=l;for(var d=2;d<o;d++)a[d]=i[d];return r.createElement.apply(null,a)}return r.createElement.apply(null,i)}m.displayName="MDXCreateElement"},1692:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var r=i(7462),n=(i(7294),i(3905));const o={id:"front-end-architecture",title:"\u524d\u7aef\u67b6\u6784",sidebar_position:2},a=void 0,l={unversionedId:"design/front-end-architecture/front-end-architecture",id:"design/front-end-architecture/front-end-architecture",title:"\u524d\u7aef\u67b6\u6784",description:"1. \u524d\u7aefUI\u6a21\u5757",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/design/front-end-architecture/README.md",sourceDirName:"design/front-end-architecture",slug:"/design/front-end-architecture/",permalink:"/SolidUI-Website/zh-CN/docs/design/front-end-architecture/",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/design/front-end-architecture/README.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"front-end-architecture",title:"\u524d\u7aef\u67b6\u6784",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"\u670d\u52a1\u7aef\u67b6\u6784",permalink:"/SolidUI-Website/zh-CN/docs/design/server-architecture/"},next:{title:"\u5143\u6570\u636e",permalink:"/SolidUI-Website/zh-CN/docs/design/metadata/"}},c={},d=[{value:"1. \u524d\u7aefUI\u6a21\u5757",id:"1-\u524d\u7aefui\u6a21\u5757",level:3},{value:"2. \u603b\u89c8\u67b6\u6784",id:"2-\u603b\u89c8\u67b6\u6784",level:3},{value:"3. SolidEditor & Preview\uff08\u8bbe\u8ba1\u6240\u89c1\u5373\u6240\u5f97\uff09",id:"3-solideditor--preview\u8bbe\u8ba1\u6240\u89c1\u5373\u6240\u5f97",level:3},{value:"4. SolidView & JSONSchema & Configuration",id:"4-solidview--jsonschema--configuration",level:3}],s={toc:d},p="wrapper";function u(e){let{components:t,...o}=e;return(0,n.kt)(p,(0,r.Z)({},s,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h3",{id:"1-\u524d\u7aefui\u6a21\u5757"},"1. \u524d\u7aefUI\u6a21\u5757"),(0,n.kt)("p",null,(0,n.kt)("img",{src:i(2809).Z,width:"2388",height:"1418"})),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"\u7f16\u8f91\u5668\u6574\u4f53\u5e03\u5c40\u5206\u4e3a\u4e94\u4e2a\u533a\u57df\uff1a\u56fe\u5c42/\u9875\u9762(Layer/Page)\uff0c\u5f53\u524d\u8bbe\u8ba1\u9875\u9762\u7684\u7ec4\u4ef6\u5217\u8868\u533a(SolidView List)\uff0cSolidEditor\u7f16\u8f91\u533a(\u4e2d\u95f4)\uff0c\u7ec4\u4ef6\u914d\u7f6e\u533a\u57df(Configuration)\uff0c\u7ec4\u4ef6\u9009\u62e9\u533a\u57df(SolidViews Select List)\u3002")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"\u56fe\u5c42/\u9875\u9762(Layer/Page)\uff1a\u56fe\u5c42\u4e3b\u8981\u662f\u914d\u7f6e\u573a\u666f\uff0c\u9875\u9762UI\u5c42\u662f\u914d\u7f6e\u8bbe\u8ba1\u81ea\u5df1\u7684\u7ec4\u4ef6\u3002")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"\u7ec4\u4ef6\u5217\u8868\u533a\uff1a\u65b9\u4fbf\u9009\u62e9\u8981\u914d\u7f6e\u7684\u7ec4\u4ef6\uff0c\u5bf9\u7ec4\u4ef6\u505a\u5220\u9664\uff0c\u9501\u5b9a\u7b49\u7ba1\u7406\u64cd\u4f5c\u3002")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"SolidEditor\u7f16\u8f91\u533a\uff1a\u4f5c\u4e3a\u4e00\u4e2a\u9ad8\u5185\u805a\u7684\u7ec4\u4ef6\uff0c\u5bf9\u5916\u901a\u8fc7 EventBus \u6765\u5b8c\u6210\u4e8b\u4ef6\u7684\u8ba2\u9605\u3001\u53d1\u5e03\u3002\u7ec4\u4ef6\u5185\u90e8\u7531 RulerGuides\u3001InfiniteView\u3001Moveable\u3001Selecto\u3001Viewport \u6765\u642d\u914d\u5b8c\u6210\u6574\u4e2a\u7f16\u8f91\u533a\u57df\u7684\u4ea4\u4e92\u3001\u64cd\u4f5c\u903b\u8f91\u3002")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"\u914d\u7f6e\u533a\u57df\uff1a\u5bf9\u9009\u4e2d\u7684 SolidView \u505a\u6240\u89c1\u5373\u6240\u5f97\u7684\u6837\u5f0f\u3001\u6570\u636e\u6e90\u3001\u4e8b\u4ef6\u4ea4\u4e92\u7b49\u914d\u7f6e\u3002")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"\u7ec4\u4ef6\u9009\u62e9\u533a\u57df\uff1a\u5728\u9876\u90e8\u63d0\u4f9b\u4e00\u4e2a\u9009\u62e9\u653e\u7f6e\u5404\u4e2a\u7ec4\u4ef6\u7684\u6309\u94ae\u533a\u57df\u3002"))),(0,n.kt)("h3",{id:"2-\u603b\u89c8\u67b6\u6784"},"2. \u603b\u89c8\u67b6\u6784"),(0,n.kt)("p",null,(0,n.kt)("img",{src:i(6177).Z,width:"2318",height:"1086"})),(0,n.kt)("h3",{id:"3-solideditor--preview\u8bbe\u8ba1\u6240\u89c1\u5373\u6240\u5f97"},"3. SolidEditor & Preview\uff08\u8bbe\u8ba1\u6240\u89c1\u5373\u6240\u5f97\uff09"),(0,n.kt)("p",null,(0,n.kt)("img",{src:i(3983).Z,width:"2390",height:"1416"})),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"SolidEditor\u5185\u90e8\u96c6\u6210RulerGuides\uff08\u6807\u5c3a\u3001\u8f85\u52a9\u7ebf\uff09\u3001InfiniteView\uff08\u7f16\u8f91\u533a\u65e0\u9650\u6eda\u52a8\u89c6\u56fe\uff09\u3001Viewport\uff08\u53ef\u89c1\u533a\uff09\u3001Moveable\uff08\u62d6\u653e\u3001\u5927\u5c0f\u3001\u5706\u89d2\u3001\u5bf9\u9f50\u3001\u6807\u7ebf\u7b49\u57fa\u7840\u80fd\u529b\uff09\u3001Selecto\uff08\u591a\u9009\u3001\u7ec4\u5408\uff09\u3002"),(0,n.kt)("li",{parentName:"ol"},"SolidView\u662f\u4e00\u4e2a\u53ef\u590d\u7528\u7684\u57fa\u7c7b\u7ec4\u4ef6\uff0c\u6211\u4eec\u5e0c\u671b\u901a\u8fc7\u4e00\u4e2a\u8bbe\u8ba1\u597d\u7684JSONSchema\u53ca\u5176\u5177\u4f53\u7684JSON\u5185\u5bb9\u6765\u5c55\u793a\u5404\u79cd\u4e0d\u540c\u7684SolidView\uff0c\u5373SolidView\u5e94\u8be5\u4ec5\u4ec5\u548cJSONSchema\u7684\u6570\u636e\u6a21\u578b\u505a\u7ed1\u5b9a\uff0c\u6ce8\u5165EventBus\u6765\u5b8c\u6210\u4e0d\u540cSolidView\u4e4b\u95f4\u7684\u4ea4\u4e92\u3002\u4f46\u662f\u5f53\u6211\u4eec\u5728\u7f16\u8f91\u8bbe\u8ba1\u7684\u65f6\u5019\uff0c\u9700\u8981\u5bf9SolidView\u505a\u5305\u88c5\u6765\u8fbe\u5230\u5728\u8bbe\u8ba1\u5668\u6a21\u5f0f\u4e0b\u5177\u5907\u7684\u8bbe\u8ba1\u80fd\u529b\u3002\u6240\u4ee5\u6211\u4eec\u9700\u8981\u5728\u7f16\u8f91\u6a21\u5f0f\u4e0b\u5bf9SolidView\u505a\u4e00\u5c42\u5305\u88c5\u5f97\u5230\u4e00\u4e2aProxyView\u3002"),(0,n.kt)("li",{parentName:"ol"},"\u5f53\u6211\u4eec\u9884\u89c8\u8bbe\u8ba1\u597d\u7684\u9875\u9762\u540e\uff0c\u6211\u4eec\u7684SolidShowEngine\u4f1a\u52a0\u8f7d\u8bbe\u8ba1\u7684JSONSchema\u5177\u4f53\u7684\u6570\u636e\u6a21\u578b\u6765\u5b8c\u6210\u6700\u7ec8\u7684\u6e32\u67d3\u3002")),(0,n.kt)("h3",{id:"4-solidview--jsonschema--configuration"},"4. SolidView & JSONSchema & Configuration"),(0,n.kt)("p",null,(0,n.kt)("img",{src:i(6485).Z,width:"2198",height:"778"})),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"\u8bbe\u8ba1JSONSchema\u6765\u5b9a\u4e49\u4e00\u4e2aSolidView\u7ec4\u4ef6\u5e94\u8be5\u6709\u7684\u6837\u5b50\uff0c\u4e0d\u540c\u7684SolidView\u7ec4\u4ef6\u53ef\u80fd\u4f1a\u6269\u5c55JSONSchema\u3002\u8fd9\u6837\u505a\u7684\u597d\u5904\u662f\u6211\u4eec\u628aSolidView\u62bd\u8c61\u6210\u4e00\u4efdJSON\u63cf\u8ff0\u6587\u6863\uff0c\u53ef\u4ee5\u805a\u7126\u5728JSONSchema\u4e0a\uff0c\u6bcf\u6b21\u4fee\u6539\u90fd\u662f\u9488\u5bf9JSONSchema\u6765\u8ba8\u8bba\u53ef\u884c\u6027\u3002")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"\u5728\u6709JSONSchema\u7684\u57fa\u7840\u4e0a\uff0c\u6765\u89c4\u5212Configuration\u6a21\u5757\u5177\u5907\u7684\u914d\u7f6e\u80fd\u529b\u3002\u5305\u62ecUI\u5c55\u793a\uff0cUI\u9700\u8981\u7684\u7ec4\u4ef6\u5f00\u53d1\u7b49\u3002")),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"\u4ea4\u4e92\u6d41\u7a0b\uff1a\u9009\u4e2d\u4e00\u4e2a\u7ec4\u4ef6 -> \u4fee\u6539\u914d\u7f6e\u9879 -> \u53d1\u9001\u4fee\u6539\u4e8b\u4ef6 -> SolidEditor\u6536\u5230\u8ba2\u9605\u7684\u4e8b\u4ef6\u6d88\u606f -> \u627e\u5230\u76ee\u6807SolidView -> \u627e\u5230\u5bf9\u5e94\u7684 JSONSchem -> \u6821\u9a8c\u5e76\u4fdd\u5b58\u4fee\u6539 -> SolidView \u5bf9\u672c\u6b21\u914d\u7f6e\u4fee\u6539\u505a\u51fa\u54cd\u5e94\u3002"))))}u.isMDXComponent=!0},3983:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/SolidUI\u4e4bSolidEditor\u7f16\u8f91\u548c\u9884\u89c8-351f3097c1a77b6055320e92074f6c69.png"},6485:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/SolidUI\u4e4bSolidView\u53ca\u914d\u7f6e\u9879\u8bbe\u8ba1-a6e12611333db4337ad70ff4a24008d9.png"},2809:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/SolidUI\u524d\u7aefUI\u7ed3\u6784-424873d3acc4f4bd7c2660b926c05436.png"},6177:(e,t,i)=>{i.d(t,{Z:()=>r});const r=i.p+"assets/images/SolidUI\u524d\u7aef\u603b\u89c8\u67b6\u6784-74e7905d70a19a70423d45c329e78041.png"}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/be209a7f.9e34456c.js b/zh-CN/assets/js/be209a7f.9e34456c.js new file mode 100644 index 00000000..61f4de5b --- /dev/null +++ b/zh-CN/assets/js/be209a7f.9e34456c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[6912],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>k});var n=r(7294);function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?l(Object(r),!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):l(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function o(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},l=Object.keys(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)r=l[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var u=n.createContext({}),p=function(e){var t=n.useContext(u),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},s=function(e){var t=p(e.components);return n.createElement(u.Provider,{value:t},e.children)},c="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,i=e.mdxType,l=e.originalType,u=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),c=p(r),m=i,k=c["".concat(u,".").concat(m)]||c[m]||d[m]||l;return r?n.createElement(k,a(a({ref:t},s),{},{components:r})):n.createElement(k,a({ref:t},s))}));function k(e,t){var r=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var l=r.length,a=new Array(l);a[0]=m;var o={};for(var u in t)hasOwnProperty.call(t,u)&&(o[u]=t[u]);o.originalType=e,o[c]="string"==typeof e?e:i,a[1]=o;for(var p=2;p<l;p++)a[p]=r[p];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"},1006:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>a,default:()=>d,frontMatter:()=>l,metadata:()=>o,toc:()=>p});var n=r(7462),i=(r(7294),r(3905));const l={id:"intro",title:"\u6846\u67b6\u4ecb\u7ecd",sidebar_position:1},a="\u4ecb\u7ecd",o={unversionedId:"intro",id:"intro",title:"\u6846\u67b6\u4ecb\u7ecd",description:"AI\u751f\u6210\u56fe\u5f62\u6a21\u578b\u3002",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/intro.md",sourceDirName:".",slug:"/intro",permalink:"/SolidUI-Website/zh-CN/docs/intro",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/intro.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"intro",title:"\u6846\u67b6\u4ecb\u7ecd",sidebar_position:1},sidebar:"tutorialSidebar",next:{title:"\u5feb\u901f\u5f00\u59cb",permalink:"/SolidUI-Website/zh-CN/docs/user-guide/quick-start"}},u={},p=[{value:"\u6838\u5fc3\u7279\u70b9",id:"\u6838\u5fc3\u7279\u70b9",level:2},{value:"\u81ea\u7814\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b",id:"\u81ea\u7814\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b",level:2},{value:"RLHF \u6d41\u7a0b",id:"rlhf-\u6d41\u7a0b",level:2}],s={toc:p},c="wrapper";function d(e){let{components:t,...l}=e;return(0,i.kt)(c,(0,n.Z)({},s,l,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"\u4ecb\u7ecd"},"\u4ecb\u7ecd"),(0,i.kt)("p",null,"AI\u751f\u6210\u56fe\u5f62\u6a21\u578b\u3002"),(0,i.kt)("h2",{id:"\u6838\u5fc3\u7279\u70b9"},"\u6838\u5fc3\u7279\u70b9"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u6781\u7b80\u6d41\u7a0b\uff0c\u7b80\u6d01\u8bbe\u8ba1"),(0,i.kt)("li",{parentName:"ul"},"\u591a\u79cd2D\u56fe\u4f8b"),(0,i.kt)("li",{parentName:"ul"},"\u591a\u79cd3D\u56fe\u4f8b"),(0,i.kt)("li",{parentName:"ul"},"\u591a\u79cd3D\u573a\u666f"),(0,i.kt)("li",{parentName:"ul"},"\u652f\u6301\u591a\u79cd\u6570\u636e\u6e90"),(0,i.kt)("li",{parentName:"ul"},"\u652f\u6301Huggingface space"),(0,i.kt)("li",{parentName:"ul"},"\u652f\u6301\u63d2\u4ef6\u673a\u5668\u4eba"),(0,i.kt)("li",{parentName:"ul"},"\u652f\u6301SolidUI-Model"),(0,i.kt)("li",{parentName:"ul"},"\u652f\u6301Large Language Model"),(0,i.kt)("li",{parentName:"ul"},"\u5bb9\u5668\u5316\u90e8\u7f72")),(0,i.kt)("h1",{id:"\u5feb\u901f\u5f00\u59cb"},"\u5feb\u901f\u5f00\u59cb"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"/docs/user-guide/quick-start/"},"quick-start")),(0,i.kt)("h1",{id:"\u8fd9\u662f\u4ec0\u4e48"},"\u8fd9\u662f\u4ec0\u4e48\uff1f"),(0,i.kt)("p",null,"\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002"),(0,i.kt)("h2",{id:"\u81ea\u7814\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b"},"\u81ea\u7814\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b"),(0,i.kt)("p",null,"SolidUI \u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\u662f\u4e00\u4e2a\u6df1\u5ea6\u5b66\u4e60\u6a21\u578b\uff0c\u53ef\u4ee5\u5c06\u7528\u6237\u8f93\u5165\u7684\u81ea\u7136\u8bed\u8a00\u63cf\u8ff0\u8f6c\u6362\u4e3a\u5177\u4f53\u7684\u56fe\u5f62\u8868\u793a\u3002\u8fd9\u4e2a\u6a21\u578b\u5728\u5927\u91cf\u6587\u672c\u548c\u56fe\u5f62\u6570\u636e\u4e0a\u8fdb\u884c\u8bad\u7ec3\uff0c\u5b66\u4e60\u5230\u4ece\u6587\u672c\u5230\u56fe\u5f62\u7684\u6620\u5c04\u5173\u7cfb\u3002\u4e3a\u4e86\u5b9e\u73b0\u8fd9\u4e00\u76ee\u6807\uff0cSolidUI \u7684\u81ea\u7814\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\u5177\u6709\u4ee5\u4e0b\u7279\u70b9\uff1a"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u7ed3\u5408 NLP \u548c\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\uff0c\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b"),(0,i.kt)("li",{parentName:"ul"},"\u53ef\u5904\u7406\u591a\u79cd\u7c7b\u578b\u7684\u56fe\u5f62\uff0c\u5982 2D\u30013D \u548c\u573a\u666f\u7b49"),(0,i.kt)("li",{parentName:"ul"},"\u6a21\u578b\u8bad\u7ec3\u8fc7\u7a0b\u6d89\u53ca\u5927\u91cf\u7684\u6587\u672c\u548c\u56fe\u5f62\u6570\u636e\uff0c\u4ee5\u786e\u4fdd\u751f\u6210\u7684\u56fe\u5f62\u8d28\u91cf\u548c\u51c6\u786e\u6027")),(0,i.kt)("h2",{id:"rlhf-\u6d41\u7a0b"},"RLHF \u6d41\u7a0b"),(0,i.kt)("p",null,"SolidUI \u4f7f\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u6765\u4f18\u5316\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\u7684\u6027\u80fd\u3002\u8be5\u6d41\u7a0b\u5229\u7528\u4eba\u7c7b\u53cd\u9988\u6765\u6307\u5bfc\u6a21\u578b\u7684\u5b66\u4e60\u8fc7\u7a0b\uff0c\u4ece\u800c\u4f7f\u6a21\u578b\u80fd\u591f\u66f4\u597d\u5730\u6ee1\u8db3\u7528\u6237\u9700\u6c42\u3002RLHF \u6d41\u7a0b\u7684\u4e3b\u8981\u6b65\u9aa4\u5305\u62ec\uff1a"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u6536\u96c6\u53cd\u9988\uff1a\u7528\u6237\u5bf9\u751f\u6210\u7684\u56fe\u5f62\u8fdb\u884c\u8bc4\u4ef7\uff0c\u63d0\u4f9b\u5173\u4e8e\u56fe\u5f62\u8d28\u91cf\u548c\u51c6\u786e\u6027\u7684\u53cd\u9988\u3002"),(0,i.kt)("li",{parentName:"ul"},"\u66f4\u65b0\u6a21\u578b\uff1a\u6839\u636e\u6536\u96c6\u5230\u7684\u53cd\u9988\uff0c\u4f7f\u7528\u5f3a\u5316\u5b66\u4e60\u7b97\u6cd5\u5bf9\u6a21\u578b\u8fdb\u884c\u66f4\u65b0\uff0c\u4ee5\u63d0\u9ad8\u751f\u6210\u56fe\u5f62\u7684\u8d28\u91cf\u548c\u51c6\u786e\u6027\u3002"),(0,i.kt)("li",{parentName:"ul"},"\u8fed\u4ee3\u4f18\u5316\uff1a\u91cd\u590d\u6536\u96c6\u53cd\u9988\u548c\u66f4\u65b0\u6a21\u578b\u7684\u8fc7\u7a0b\uff0c\u76f4\u5230\u6a21\u578b\u6027\u80fd\u8fbe\u5230\u6ee1\u610f\u7684\u6c34\u5e73\u3002")),(0,i.kt)("p",null,"\u901a\u8fc7\u8fd9\u4e00\u6d41\u7a0b\uff0cSolidUI \u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\u80fd\u591f\u4e0d\u65ad\u5730\u4ece\u7528\u6237\u53cd\u9988\u4e2d\u5b66\u4e60\u548c\u8fdb\u6b65\uff0c\u751f\u6210\u66f4\u9ad8\u8d28\u91cf\u548c\u51c6\u786e\u6027\u7684\u56fe\u5f62\u3002"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"0.1.0\u7248\u672c",src:r(3093).Z,width:"1209",height:"582"})),(0,i.kt)("h1",{id:"\u6587\u6863"},"\u6587\u6863"),(0,i.kt)("p",null,"SolidUI v0.1.0 \u7684\u5b8c\u6574\u6587\u6863\u5217\u8868\uff0c\u8bf7\u53c2\u89c1 ",(0,i.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/zh-CN/"},"SolidUI-Website")),(0,i.kt)("h1",{id:"\u8d21\u732e"},"\u8d21\u732e"),(0,i.kt)("p",null,"\u6211\u4eec\u975e\u5e38\u6b22\u8fce\u548c\u671f\u5f85\u66f4\u591a\u7684\u8d21\u732e\u8005\u53c2\u4e0e\u5171\u5efa SolidUI, \u4e0d\u8bba\u662f\u4ee3\u7801\u3001\u6587\u6863\uff0c\u6216\u662f\u5176\u4ed6\u80fd\u591f\u5e2e\u52a9\u5230\u793e\u533a\u7684\u8d21\u732e\u5f62\u5f0f\u3002"),(0,i.kt)("h1",{id:"\u8054\u7cfb\u6211\u4eec"},"\u8054\u7cfb\u6211\u4eec"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u5bf9 SolidUI \u7684\u4efb\u4f55\u95ee\u9898\u548c\u5efa\u8bae\uff0c\u53ef\u4ee5\u63d0\u4ea4 issue\uff0c\u4ee5\u4fbf\u8ddf\u8e2a\u5904\u7406\u548c\u7ecf\u9a8c\u6c89\u6dc0\u5171\u4eab"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://twitter.com/dlimeng192048"},"twitter")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://www.youtube.com/@dlimeng"},"youtube")),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://space.bilibili.com/472576729"},"bilibili")," (in Chinese)"),(0,i.kt)("li",{parentName:"ul"},(0,i.kt)("a",{parentName:"li",href:"https://discord.gg/NGRNu2mGeQ"},"discord"))),(0,i.kt)("h1",{id:"\u8c01\u5728\u4f7f\u7528-solidui"},"\u8c01\u5728\u4f7f\u7528 SolidUI"),(0,i.kt)("p",null,"\u6211\u4eec\u521b\u5efa\u4e86\u4e00\u4e2a issue ",(0,i.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/1"},"[Who is Using SolidUI]")," \u4ee5\u4fbf\u7528\u6237\u53cd\u9988\u548c\u8bb0\u5f55\u8c01\u5728\u4f7f\u7528 SolidUI."),(0,i.kt)("h1",{id:"contributors"},"Contributors"),(0,i.kt)("p",null,"Thanks to everyone who contributed PR~ \ud83c\udf89\ud83c\udf89\ud83c\udf89"),(0,i.kt)("a",{href:"https://github.com/CloudOrc/SolidUI/graphs/contributors"},(0,i.kt)("img",{src:"https://contrib.rocks/image?repo=CloudOrc/SolidUI"})),(0,i.kt)("h1",{id:"\u611f\u8c22\u4e0e\u8d5e\u52a9"},"\u611f\u8c22\u4e0e\u8d5e\u52a9"),(0,i.kt)("p",null,"\u6211\u4eec\u975e\u5e38\u611f\u8c22\u60a8\u5bf9\u6211\u4eec\u9879\u76ee\u548c\u5f00\u53d1\u5de5\u4f5c\u7684\u652f\u6301\u548c\u8ba4\u53ef\u3002\u5728\u5f00\u6e90\u8f6f\u4ef6\u5f00\u53d1\u8fc7\u7a0b\u4e2d\uff0c\u6211\u4eec\u6df1\u77e5\u7528\u6237\u548c\u793e\u533a\u7684\u53cd\u9988\u4e0e\u652f\u6301\u662f\u81f3\u5173\u91cd\u8981\u7684\u3002\u6211\u4eec\u7684\u9879\u76ee\u5df2\u7ecf\u63d0\u4f9b\u4e86 README \u548c Issue \u7cfb\u7edf\uff0c\u65b9\u4fbf\u7528\u6237\u8fdb\u884c\u90e8\u7f72\u548c\u89e3\u51b3\u95ee\u9898\uff0c\u540c\u65f6\u4e5f\u6709\u52a9\u4e8e\u63d0\u5347\u9879\u76ee\u7684\u6d3b\u8dc3\u5ea6\u3002\u6211\u4eec\u4f1a\u4f18\u5148\u5173\u6ce8 issue \u4e2d\u63d0\u51fa\u7684\u95ee\u9898\u3002"),(0,i.kt)("p",null,"\u5982\u679c\u60a8\u5bf9\u4e8e\u793e\u533a\u6709\u5174\u8da3\uff0c\u6b22\u8fce\u53c2\u4e0e\uff08\u4ee3\u7801\uff0c\u6587\u6863\uff0c\u4f7f\u7528\uff09\uff0c\u6b22\u8fce\u4efb\u4f55\u5f62\u5f0f\u53c2\u4e0e\u3002"),(0,i.kt)("p",null,"\u5982\u679c\u60a8\u89c9\u5f97 SolidUI \u9879\u76ee\u5bf9\u60a8\u6709\u4ef7\u503c\uff0c\u5e76\u613f\u610f\u652f\u6301\u6211\u4eec\u7684\u5f00\u53d1\u5de5\u4f5c\uff0c\u8bf7\u4e3a\u9879\u76ee\u70b9\u4e2a\u5c0f\u661f\u661f\u6216",(0,i.kt)("a",{parentName:"p",href:"https://afdian.net/a/solidui"},"\u8d5e\u52a9\u6211\u4eec")," \u3002"))}d.isMDXComponent=!0},3093:(e,t,r)=>{r.d(t,{Z:()=>n});const n=r.p+"assets/images/designpage-26289d04645e6f3d4aa534905e347a89.png"}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/bf6c35d5.6b38b61c.js b/zh-CN/assets/js/bf6c35d5.6b38b61c.js new file mode 100644 index 00000000..bbb8f1f4 --- /dev/null +++ b/zh-CN/assets/js/bf6c35d5.6b38b61c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[9883],{9210:s=>{s.exports=JSON.parse('{"label":"stable-diffusion","permalink":"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion","allTagsPath":"/SolidUI-Website/zh-CN/blog/tags","count":6}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/c1532dfb.cd412a48.js b/zh-CN/assets/js/c1532dfb.cd412a48.js new file mode 100644 index 00000000..a9fea1c8 --- /dev/null +++ b/zh-CN/assets/js/c1532dfb.cd412a48.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7425],{3905:(e,t,n)=>{n.d(t,{Zo:()=>c,kt:()=>f});var r=n(7294);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(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 i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l(Object(n),!0).forEach((function(t){o(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function a(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var p=r.createContext({}),d=function(e){var t=r.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},c=function(e){var t=d(e.components);return r.createElement(p.Provider,{value:t},e.children)},u="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,o=e.mdxType,l=e.originalType,p=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),u=d(n),m=o,f=u["".concat(p,".").concat(m)]||u[m]||s[m]||l;return n?r.createElement(f,i(i({ref:t},c),{},{components:n})):r.createElement(f,i({ref:t},c))}));function f(e,t){var n=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var l=n.length,i=new Array(l);i[0]=m;var a={};for(var p in t)hasOwnProperty.call(t,p)&&(a[p]=t[p]);a.originalType=e,a[u]="string"==typeof e?e:o,i[1]=a;for(var d=2;d<l;d++)i[d]=n[d];return r.createElement.apply(null,i)}return r.createElement.apply(null,n)}m.displayName="MDXCreateElement"},7938:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>i,default:()=>s,frontMatter:()=>l,metadata:()=>a,toc:()=>d});var r=n(7462),o=(n(7294),n(3905));const l={id:"development-front",title:"\u524d\u7aef\u7f16\u8bd1",sidebar_position:4},i="SolidUI \u524d\u7aef\u7f16\u8bd1",a={unversionedId:"development/development-front",id:"development/development-front",title:"\u524d\u7aef\u7f16\u8bd1",description:"1.\u524d\u7f6e\u6761\u4ef6",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/frontend-document.md",sourceDirName:"development",slug:"/development/development-front",permalink:"/SolidUI-Website/zh-CN/docs/development/development-front",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/frontend-document.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{id:"development-front",title:"\u524d\u7aef\u7f16\u8bd1",sidebar_position:4},sidebar:"tutorialSidebar",previous:{title:"\u9879\u76ee\u8d21\u732e",permalink:"/SolidUI-Website/zh-CN/docs/development/develop-contributing"},next:{title:"\u9879\u76ee\u5171\u5efa\u6d41\u7a0b",permalink:"/SolidUI-Website/zh-CN/docs/development/development-construction"}},p={},d=[{value:"1.\u524d\u7f6e\u6761\u4ef6",id:"1\u524d\u7f6e\u6761\u4ef6",level:2},{value:"1.1 \u5b89\u88c5Node.js",id:"11-\u5b89\u88c5nodejs",level:3},{value:"1.2 \u6e90\u7801\u83b7\u53d6",id:"12-\u6e90\u7801\u83b7\u53d6",level:3},{value:"2.\u7f16\u8bd1",id:"2\u7f16\u8bd1",level:2},{value:"2.1 \u5b89\u88c5npm\u4f9d\u8d56",id:"21-\u5b89\u88c5npm\u4f9d\u8d56",level:3},{value:"2.2. \u6253\u5305\u9879\u76ee",id:"22-\u6253\u5305\u9879\u76ee",level:3}],c={toc:d},u="wrapper";function s(e){let{components:t,...n}=e;return(0,o.kt)(u,(0,r.Z)({},c,n,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"solidui-\u524d\u7aef\u7f16\u8bd1"},"SolidUI \u524d\u7aef\u7f16\u8bd1"),(0,o.kt)("h2",{id:"1\u524d\u7f6e\u6761\u4ef6"},"1.\u524d\u7f6e\u6761\u4ef6"),(0,o.kt)("h3",{id:"11-\u5b89\u88c5nodejs"},"1.1 \u5b89\u88c5Node.js"),(0,o.kt)("p",null,"\u8be5\u6b65\u9aa4\u4ec5\u7b2c\u4e00\u6b21\u4f7f\u7528\u65f6\u9700\u8981\u6267\u884c,\u5982\u679c\u5df2\u6709node\u73af\u5883\uff0c\u53ef\u8df3\u8fc7"),(0,o.kt)("p",null,"\u5c06Node.js\u4e0b\u8f7d\u5230\u672c\u5730\uff0c\u5b89\u88c5\u5373\u53ef\u3002\u4e0b\u8f7d\u5730\u5740\uff1a",(0,o.kt)("a",{parentName:"p",href:"http://nodejs.cn/download/"},"http://nodejs.cn/download/")," \uff08\u5efa\u8bae\u4f7f\u7528node v16\u7248\u672c\uff09"),(0,o.kt)("h3",{id:"12-\u6e90\u7801\u83b7\u53d6"},"1.2 \u6e90\u7801\u83b7\u53d6"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"\u65b9\u5f0f1\uff1a\u4ecegithub\u4ed3\u5e93 ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")," \u83b7\u53d6\u9879\u76ee\u7684\u6e90\u4ee3\u7801\u3002")),(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("p",{parentName:"li"},"\u65b9\u5f0f2\uff1a\u4ece",(0,o.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/releases"},"https://github.com/CloudOrc/SolidUI/releases")," \u4e0b\u8f7d\u4e0b\u8f7d\u6240\u9700\u7248\u672c\u7684\u6e90\u7801\u5305\u3002"))),(0,o.kt)("h2",{id:"2\u7f16\u8bd1"},"2.\u7f16\u8bd1"),(0,o.kt)("h3",{id:"21-\u5b89\u88c5npm\u4f9d\u8d56"},"2.1 \u5b89\u88c5npm\u4f9d\u8d56"),(0,o.kt)("p",null,"\u5728\u7ec8\u7aef\u547d\u4ee4\u884c\u4e2d\u6267\u884c\u4ee5\u4e0b\u6307\u4ee4\uff1a"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"#\u8fdb\u5165\u9879\u76eeWEB\u6839\u76ee\u5f55\ncd solidui-x.x.x/solidui-web\n#\u5b89\u88c5\u9879\u76ee\u6240\u9700\u4f9d\u8d56\nnpm install --legacy-peer-deps \n")),(0,o.kt)("p",null,"\u8be5\u6b65\u9aa4\u4ec5\u7b2c\u4e00\u6b21\u4f7f\u7528\u65f6\u9700\u8981\u6267\u884c\u3002"),(0,o.kt)("h3",{id:"22-\u6253\u5305\u9879\u76ee"},"2.2. \u6253\u5305\u9879\u76ee"),(0,o.kt)("p",null,"\u5728\u7ec8\u7aef\u547d\u4ee4\u884c\u4e2d\u6267\u884c\u4ee5\u4e0b\u6307\u4ee4\uff1a"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"npm run build\n")),(0,o.kt)("p",null,"\u4e0a\u8ff0\u547d\u4ee4\u6267\u884c\u6210\u529f\u540e\uff0c\u4f1a\u751f\u6210\u524d\u7aef\u7ba1\u7406\u53f0\u5b89\u88c5\u5305 dist\uff0c\u53ef\u4ee5\u76f4\u63a5\u5c06\u8be5\u6587\u4ef6\u5939\u653e\u8fdb\u60a8\u7684\u9759\u6001\u670d\u52a1\u5668\u4e2d\uff0c\u6216\u8005\u53c2\u8003\u5b89\u88c5\u6587\u6863\uff0c\u4f7f\u7528\u811a\u672c\u8fdb\u884c\u90e8\u7f72\u5b89\u88c5\u3002"))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/c7491b26.df8d9dd9.js b/zh-CN/assets/js/c7491b26.df8d9dd9.js new file mode 100644 index 00000000..3dc8de24 --- /dev/null +++ b/zh-CN/assets/js/c7491b26.df8d9dd9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5412],{3905:(e,t,l)=>{l.d(t,{Zo:()=>c,kt:()=>k});var i=l(7294);function n(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function o(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,i)}return l}function r(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?o(Object(l),!0).forEach((function(t){n(e,t,l[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):o(Object(l)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))}))}return e}function a(e,t){if(null==e)return{};var l,i,n=function(e,t){if(null==e)return{};var l,i,n={},o=Object.keys(e);for(i=0;i<o.length;i++)l=o[i],t.indexOf(l)>=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i<o.length;i++)l=o[i],t.indexOf(l)>=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var u=i.createContext({}),s=function(e){var t=i.useContext(u),l=t;return e&&(l="function"==typeof e?e(t):r(r({},t),e)),l},c=function(e){var t=s(e.components);return i.createElement(u.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var l=e.components,n=e.mdxType,o=e.originalType,u=e.parentName,c=a(e,["components","mdxType","originalType","parentName"]),d=s(l),m=n,k=d["".concat(u,".").concat(m)]||d[m]||p[m]||o;return l?i.createElement(k,r(r({ref:t},c),{},{components:l})):i.createElement(k,r({ref:t},c))}));function k(e,t){var l=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var o=l.length,r=new Array(o);r[0]=m;var a={};for(var u in t)hasOwnProperty.call(t,u)&&(a[u]=t[u]);a.originalType=e,a[d]="string"==typeof e?e:n,r[1]=a;for(var s=2;s<o;s++)r[s]=l[s];return i.createElement.apply(null,r)}return i.createElement.apply(null,l)}m.displayName="MDXCreateElement"},3179:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>u,contentTitle:()=>r,default:()=>p,frontMatter:()=>o,metadata:()=>a,toc:()=>s});var i=l(7462),n=(l(7294),l(3905));const o={title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",date:new Date("2023-07-03T00:00:00.000Z"),tags:["SolidUI","AIGC","stable-diffusion"]},r=void 0,a={permalink:"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-03-independent-deployment-communication-analysis.md",source:"@site/blog/2023-07-03-independent-deployment-communication-analysis.md",title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",description:"\u80cc\u666f",date:"2023-07-03T00:00:00.000Z",formattedDate:"2023\u5e747\u67083\u65e5",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{label:"AIGC",permalink:"/SolidUI-Website/zh-CN/blog/tags/aigc"},{label:"stable-diffusion",permalink:"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],readingTime:3.635,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",date:"2023-07-03T00:00:00.000Z",tags:["SolidUI","AIGC","stable-diffusion"]},prevItem:{title:"SolidUI Community - Official Website Introduction",permalink:"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction"},nextItem:{title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",permalink:"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis"}},u={authorsImageUrls:[]},s=[{value:"\u80cc\u666f",id:"\u80cc\u666f",level:2},{value:"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1",id:"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1",level:2},{value:"\u4f8b\u5982",id:"\u4f8b\u5982",level:3},{value:"Docker \u90e8\u7f72\u901a\u4fe1",id:"docker-\u90e8\u7f72\u901a\u4fe1",level:2},{value:"\u4f8b\u5982",id:"\u4f8b\u5982-1",level:3},{value:"\u7ed3\u8bed",id:"\u7ed3\u8bed",level:2},{value:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005",level:2}],c={toc:s},d="wrapper";function p(e){let{components:t,...l}=e;return(0,n.kt)(d,(0,i.Z)({},c,l,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"\u80cc\u666f"},"\u80cc\u666f"),(0,n.kt)("p",null,"\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002"),(0,n.kt)("p",null,"\u9879\u76ee\u5730\u5740: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"\u9879\u76ee\u955c\u50cf\u5730\u5740: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("h2",{id:"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1"},"\u72ec\u7acb\u90e8\u7f72\u901a\u4fe1"),(0,n.kt)("p",null,"\u5355\u72ec\u90e8\u7f72\uff0c\u4e0e\u5916\u7f51\u901a\u4fe1\uff0c\u8fd9\u5757\u4e0d\u96be\u53ea\u6709\u76f8\u5e94\u516c\u7f51\uff0c\u5c31\u53ef\u4ee5\u6b63\u5e38\u8bbf\u95ee\u3002"),(0,n.kt)("p",null,"\u5355\u72ec\u90e8\u7f72\uff0c\u5185\u90e8\u8fdb\u7a0b\u95f4\u901a\u4fe1\uff0c\u5982\u679c\u6709\u591a\u4e2a\u7f51\u5361\uff0cip addr \u6d89\u53ca\u591a\u4e2aip \uff0c\u9700\u8981\u8bbe\u7f6e\u5185\u7f51ip \u6216\u8005\u57df\u540d \uff0c\u53bb\u4e00\u4e00\u5bf9\u5e94\u3002"),(0,n.kt)("h3",{id:"\u4f8b\u5982"},"\u4f8b\u5982"),(0,n.kt)("p",null,"\u5982\u679c\u6709\u591a\u4e2a\u7f51\u5361\uff0cip addr \u6d89\u53ca\u591a\u4e2aip \uff0c\u9700\u8981\u8bbe\u7f6e\u5185\u7f51ip \u6216\u8005\u57df\u540d \uff0c\u53bb\u4e00\u4e00\u5bf9\u5e94\uff0c\u6ca1\u6709\u7684\u8bdd\u7528127.0.0.1 \u5c31\u53ef\u4ee5\u3002"),(0,n.kt)("p",null,"\u8bbe\u7f6e Snakemq \u901a\u4fe1"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-plain"},"soliduimodelui/.env SNAKEMQ_LISTENER server \u76d1\u542c\u5668 \uff0c\u8bbe\u7f6e\u5185\u7f51ip\nsoliduimodelui/.env SNAKEMQ_CONNECTOR \u4e0eserver \u8fde\u63a5ip \uff0c\u8bbe\u7f6e\u5185\u7f51ip\n")),(0,n.kt)("h2",{id:"docker-\u90e8\u7f72\u901a\u4fe1"},"Docker \u90e8\u7f72\u901a\u4fe1"),(0,n.kt)("p",null,"\u5bb9\u5668\u5316\u90e8\u7f72\uff0c\u5728\u6b64\u6211\u7b80\u5316\u63cf\u8ff0\uff0c\u4e0d\u5e26\u5bb9\u5668\u7ba1\u7406\u6846\u67b6\u63cf\u8ff0\uff0c\u56e0\u4e3a\u901a\u4fe1\u6700\u6839\u672c\u7684\u660e\u767d\u540e\uff0c\u5176\u5b83\u5728\u6846\u67b6\u4e2d\u4e5f\u5c31\u660e\u767d\u4e86\uff0c\u5916\u90e8\u901a\u4fe1\uff0c\u5f00\u653e\u7aef\u53e3 \uff0c\u5185\u90e8\u901a\u4fe1\uff0c\u901a\u8fc7\u8bbe\u7f6e\u7f51\u6bb5\u540d\u79f0\uff0c\u4e0d\u540c\u5bb9\u5668\u901a\u4fe1\uff0c\u901a\u8fc7\u5bb9\u5668\u540d\u79f0\u8fdb\u884c\u3002"),(0,n.kt)("h3",{id:"\u4f8b\u5982-1"},"\u4f8b\u5982"),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"\u6570\u636e\u5e93\u8fde\u63a5")),(0,n.kt)("p",null,"\u5728docker-compose.yml \u4e2d\uff0c\u8bbe\u7f6e\u4e86Mysql\u6570\u636e\u5e93\u540d\u79f0\u4e3amysql "),(0,n.kt)("p",null,"\u6240\u4ee5solidui-entrance application.yaml \u4e2d datasource.url mysql \u66ff\u6362 localhost"),(0,n.kt)("p",null,"soliduimodelui/.env DB_HOST mysql \u66ff\u6362 localhost "),(0,n.kt)("blockquote",null,(0,n.kt)("p",{parentName:"blockquote"},"soliduimodelui/.env Snakemq \u901a\u4fe1")),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-plain"},"soliduimodelui/.env SNAKEMQ_LISTENER server \u76d1\u542c\u5668 \uff0c\u8bbe\u7f6e0.0.0.0\nsoliduimodelui/.env SNAKEMQ_CONNECTOR \u4e0eserver \u8fde\u63a5ip \uff0c\u8bbe\u7f6esoliduimodelui\n")),(0,n.kt)("h2",{id:"\u7ed3\u8bed"},"\u7ed3\u8bed"),(0,n.kt)("p",null,"\u672c\u6587\u901a\u8fc7\u8bb2\u89e3\u72ec\u7acb\u90e8\u7f72 \u548c Docker \u901a\u4fe1\u5206\u6790 \uff0c\u544a\u8bc9\u90e8\u7f72\u8bbe\u7f6eip\u65f6\u5019\u65b9\u5f0f\uff0c\u4e0d\u662f\u76f2\u76ee\u8bbe\u7f6elocalhost\u5c31\u80fd\u89e3\u51b3\uff0c\u4e3a\u5927\u5bb6\u540e\u7eed\u66f4\u597d\u5171\u5efaSolidUI\u63d0\u4f9b\u601d\u8def\u3002"),(0,n.kt)("h2",{id:"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"},"\u5982\u679c\u6210\u4e3a\u8d21\u732e\u8005"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u5b98\u65b9\u6587\u6863\u8d21\u732e\u3002\u53d1\u73b0\u6587\u6863\u7684\u4e0d\u8db3\u3001\u4f18\u5316\u6587\u6863\uff0c\u6301\u7eed\u66f4\u65b0\u6587\u6863\u7b49\u65b9\u5f0f\u53c2\u4e0e\u793e\u533a\u8d21\u732e\u3002\u901a\u8fc7\u6587\u6863\u8d21\u732e\uff0c\u8ba9\u5f00\u53d1\u8005\u719f\u6089\u5982\u4f55\u63d0\u4ea4PR\u548c\u771f\u6b63\u53c2\u4e0e\u5230\u793e\u533a\u7684\u5efa\u8bbe\u3002\u53c2\u8003\u653b\u7565\uff1a",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("li",{parentName:"ul"},"\u4ee3\u7801\u8d21\u732e\u3002\u6211\u4eec\u68b3\u7406\u4e86\u793e\u533a\u4e2d\u7b80\u5355\u5e76\u4e14\u5bb9\u6613\u5165\u95e8\u7684\u7684\u4efb\u52a1\uff0c\u975e\u5e38\u9002\u5408\u65b0\u4eba\u505a\u4ee3\u7801\u8d21\u732e\u3002\u8bf7\u67e5\u9605\u65b0\u624b\u4efb\u52a1\u5217\u8868\uff1a",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("li",{parentName:"ul"},"\u5185\u5bb9\u8d21\u732e\uff1a\u53d1\u5e03SolidUI\u5f00\u6e90\u7ec4\u4ef6\u76f8\u5173\u7684\u5185\u5bb9\uff0c\u5305\u62ec\u4f46\u4e0d\u9650\u4e8e\u5b89\u88c5\u90e8\u7f72\u6559\u7a0b\u3001\u4f7f\u7528\u7ecf\u9a8c\u3001\u6848\u4f8b\u5b9e\u8df5\u7b49\uff0c\u5f62\u5f0f\u4e0d\u9650\uff0c\u8bf7\u6295\u7a3f\u7ed9\u5c0f\u52a9\u624b\u3002\u4f8b\u5982\uff1a",(0,n.kt)("a",{parentName:"li",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("li",{parentName:"ul"},"\u793e\u533a\u7b54\u7591\uff1a\u79ef\u6781\u5728\u793e\u533a\u4e2d\u8fdb\u884c\u7b54\u7591\u3001\u5206\u4eab\u6280\u672f\u3001\u5e2e\u52a9\u5f00\u53d1\u8005\u89e3\u51b3\u95ee\u9898\u7b49\uff1b\n\u5176\u4ed6\uff1a\u79ef\u6781\u53c2\u4e0e\u793e\u533a\u6d3b\u52a8\u3001\u6210\u4e3a\u793e\u533a\u5fd7\u613f\u8005\u3001\u5e2e\u52a9\u793e\u533a\u5ba3\u4f20\u3001\u4e3a\u793e\u533a\u53d1\u5c55\u63d0\u4f9b\u6709\u6548\u5efa\u8bae\u7b49\uff1b")))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/cbd4c4f3.c180043e.js b/zh-CN/assets/js/cbd4c4f3.c180043e.js new file mode 100644 index 00000000..e18b134d --- /dev/null +++ b/zh-CN/assets/js/cbd4c4f3.c180043e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5478],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>b});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function a(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var l=n.createContext({}),s=function(e){var t=n.useContext(l),r=t;return e&&(r="function"==typeof e?e(t):a(a({},t),e)),r},u=function(e){var t=s(e.components);return n.createElement(l.Provider,{value:t},e.children)},p="mdxType",f={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},d=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,u=c(e,["components","mdxType","originalType","parentName"]),p=s(r),d=o,b=p["".concat(l,".").concat(d)]||p[d]||f[d]||i;return r?n.createElement(b,a(a({ref:t},u),{},{components:r})):n.createElement(b,a({ref:t},u))}));function b(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,a=new Array(i);a[0]=d;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[p]="string"==typeof e?e:o,a[1]=c;for(var s=2;s<i;s++)a[s]=r[s];return n.createElement.apply(null,a)}return n.createElement.apply(null,r)}d.displayName="MDXCreateElement"},368:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>f,frontMatter:()=>i,metadata:()=>c,toc:()=>s});var n=r(7462),o=(r(7294),r(3905));const i={id:"faq",title:"\u5e38\u89c1\u95ee\u9898\u89e3\u7b54",sidebar_position:1},a="\u5e38\u89c1\u95ee\u9898\u89e3\u7b54",c={unversionedId:"faq/faq/faq",id:"faq/faq/faq",title:"\u5e38\u89c1\u95ee\u9898\u89e3\u7b54",description:"\u89e3\u7b54\u95ee\u9898\u6d41\u7a0b",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/faq/faq/faq.md",sourceDirName:"faq/faq",slug:"/faq/faq/",permalink:"/SolidUI-Website/zh-CN/docs/faq/faq/",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/faq/faq/faq.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"faq",title:"\u5e38\u89c1\u95ee\u9898\u89e3\u7b54",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"\u6d4b\u8bd5\u7528\u4f8b",permalink:"/SolidUI-Website/zh-CN/docs/test/test-case/"}},l={},s=[{value:"\u89e3\u7b54\u95ee\u9898\u6d41\u7a0b",id:"\u89e3\u7b54\u95ee\u9898\u6d41\u7a0b",level:2},{value:"\u7ed3\u8bed",id:"\u7ed3\u8bed",level:2}],u={toc:s},p="wrapper";function f(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"\u5e38\u89c1\u95ee\u9898\u89e3\u7b54"},"\u5e38\u89c1\u95ee\u9898\u89e3\u7b54"),(0,o.kt)("h2",{id:"\u89e3\u7b54\u95ee\u9898\u6d41\u7a0b"},"\u89e3\u7b54\u95ee\u9898\u6d41\u7a0b"),(0,o.kt)("p",null,"\u9996\u5148\uff0c\u7528\u6237\u5e94\u5148\u53c2\u8003\u516c\u4f17\u53f7\u548cSolidUI\u5b98\u7f51\u7684\u76f8\u5173\u4fe1\u606f\u3002\u8fd9\u4e24\u4e2a\u5e73\u53f0\u53ef\u80fd\u5df2\u7ecf\u5305\u542b\u4e86\u7528\u6237\u6240\u9700\u7684\u7b54\u6848\u6216\u8005\u76f8\u5173\u7684\u89e3\u51b3\u65b9\u6848\u3002\u8fd9\u4e2a\u6b65\u9aa4\u80fd\u6709\u6548\u8282\u7701\u7528\u6237\u7684\u65f6\u95f4\uff0c\u4e5f\u80fd\u51cf\u8f7b\u5f00\u53d1\u56e2\u961f\u7684\u5de5\u4f5c\u538b\u529b\u3002\n\u793e\u533a\u5b98\u7f51: ",(0,o.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/"),"\n\u516c\u4f17\u53f7\uff1aSolidUI"),(0,o.kt)("p",null,"\u7136\u800c\uff0c\u5982\u679c\u8fd9\u4e2a\u6b65\u9aa4\u4e0d\u80fd\u6ee1\u8db3\u7528\u6237\u7684\u9700\u6c42\uff0c\u6211\u4eec\u8fdb\u5165\u5230\u7b2c\u4e8c\u9636\u6bb5\uff1a\u8ba9\u7528\u6237\u63d0\u4ea4issue\u3002\u5728\u8fd9\u4e2a\u9636\u6bb5\uff0c\u7528\u6237\u53ef\u4ee5\u5c06\u4ed6\u4eec\u9047\u5230\u7684\u95ee\u9898\u6216\u8005\u9700\u6c42\u63cf\u8ff0\u6e05\u695a\uff0c\u5e76\u63d0\u4ea4\u5230\u9879\u76ee\u7684issue\u8ffd\u8e2a\u7cfb\u7edf\u4e2d\u3002\u8fd9\u4e0d\u4ec5\u53ef\u4ee5\u5e2e\u52a9\u5f00\u53d1\u56e2\u961f\u66f4\u597d\u5730\u7406\u89e3\u95ee\u9898\uff0c\u4e5f\u80fd\u8ba9\u5176\u4ed6\u9047\u5230\u76f8\u540c\u95ee\u9898\u7684\u7528\u6237\u53c2\u8003\u3002\nissue\u5730\u5740\uff1a",(0,o.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues"},"https://github.com/CloudOrc/SolidUI/issues")),(0,o.kt)("h2",{id:"\u7ed3\u8bed"},"\u7ed3\u8bed"),(0,o.kt)("p",null,"\u603b\u7684\u6765\u8bf4\uff0c\u8fd9\u4e2a\u95ee\u9898\u89e3\u7b54\u6d41\u7a0b\u662f\u4e00\u4e2a\u65e8\u5728\u63d0\u9ad8\u6548\u7387\u548c\u900f\u660e\u5ea6\u7684\u65b9\u6cd5\u3002\u5b83\u4e0d\u4ec5\u80fd\u5e2e\u52a9\u7528\u6237\u627e\u5230\u7b54\u6848\uff0c\u4e5f\u6709\u52a9\u4e8e\u9879\u76ee\u56e2\u961f\u66f4\u597d\u5730\u7ba1\u7406\u548c\u8ffd\u8e2a\u95ee\u9898\u3002\u901a\u8fc7\u516c\u4f17\u53f7\u548c\u5b98\u7f51\u7684\u8d44\u6599\u67e5\u9605\uff0c\u7528\u6237\u53ef\u4ee5\u81ea\u6211\u89e3\u51b3\u95ee\u9898\uff1b\u800c\u901a\u8fc7issue\u63d0\u4ea4\uff0c\u7528\u6237\u548c\u5f00\u53d1\u56e2\u961f\u53ef\u4ee5\u66f4\u597d\u5730\u6c9f\u901a\uff0c\u5171\u540c\u63a8\u52a8\u9879\u76ee\u7684\u8fdb\u6b65\u3002"))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/ccc49370.f58d2f47.js b/zh-CN/assets/js/ccc49370.f58d2f47.js new file mode 100644 index 00000000..15f5dc6a --- /dev/null +++ b/zh-CN/assets/js/ccc49370.f58d2f47.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[6103],{5203:(e,t,n)=>{n.r(t),n.d(t,{default:()=>h});var a=n(7294),l=n(6010),o=n(1944),r=n(5281),i=n(9460),c=n(9058),s=n(390),m=n(7462),d=n(5999),u=n(2244);function g(e){const{nextItem:t,prevItem:n}=e;return a.createElement("nav",{className:"pagination-nav docusaurus-mt-lg","aria-label":(0,d.I)({id:"theme.blog.post.paginator.navAriaLabel",message:"Blog post page navigation",description:"The ARIA label for the blog posts pagination"})},n&&a.createElement(u.Z,(0,m.Z)({},n,{subLabel:a.createElement(d.Z,{id:"theme.blog.post.paginator.newerPost",description:"The blog post button label to navigate to the newer/previous post"},"Newer Post")})),t&&a.createElement(u.Z,(0,m.Z)({},t,{subLabel:a.createElement(d.Z,{id:"theme.blog.post.paginator.olderPost",description:"The blog post button label to navigate to the older/next post"},"Older Post"),isNext:!0})))}function f(){const{assets:e,metadata:t}=(0,i.C)(),{title:n,description:l,date:r,tags:c,authors:s,frontMatter:m}=t,{keywords:d}=m,u=e.image??m.image;return a.createElement(o.d,{title:n,description:l,keywords:d,image:u},a.createElement("meta",{property:"og:type",content:"article"}),a.createElement("meta",{property:"article:published_time",content:r}),s.some((e=>e.url))&&a.createElement("meta",{property:"article:author",content:s.map((e=>e.url)).filter(Boolean).join(",")}),c.length>0&&a.createElement("meta",{property:"article:tag",content:c.map((e=>e.label)).join(",")}))}var v=n(9407);function p(e){let{sidebar:t,children:n}=e;const{metadata:l,toc:o}=(0,i.C)(),{nextItem:r,prevItem:m,frontMatter:d}=l,{hide_table_of_contents:u,toc_min_heading_level:f,toc_max_heading_level:p}=d;return a.createElement(c.Z,{sidebar:t,toc:!u&&o.length>0?a.createElement(v.Z,{toc:o,minHeadingLevel:f,maxHeadingLevel:p}):void 0},a.createElement(s.Z,null,n),(r||m)&&a.createElement(g,{nextItem:r,prevItem:m}))}function h(e){const t=e.content;return a.createElement(i.n,{content:e.content,isBlogPostPage:!0},a.createElement(o.FG,{className:(0,l.Z)(r.k.wrapper.blogPages,r.k.page.blogPostPage)},a.createElement(f,null),a.createElement(p,{sidebar:e.sidebar},a.createElement(t,null))))}},9407:(e,t,n)=>{n.d(t,{Z:()=>m});var a=n(7462),l=n(7294),o=n(6010),r=n(3743);const i={tableOfContents:"tableOfContents_bqdL",docItemContainer:"docItemContainer_F8PC"},c="table-of-contents__link toc-highlight",s="table-of-contents__link--active";function m(e){let{className:t,...n}=e;return l.createElement("div",{className:(0,o.Z)(i.tableOfContents,"thin-scrollbar",t)},l.createElement(r.Z,(0,a.Z)({},n,{linkClassName:c,linkActiveClassName:s})))}},3743:(e,t,n)=>{n.d(t,{Z:()=>f});var a=n(7462),l=n(7294),o=n(6668);function r(e){const t=e.map((e=>({...e,parentIndex:-1,children:[]}))),n=Array(7).fill(-1);t.forEach(((e,t)=>{const a=n.slice(2,e.level);e.parentIndex=Math.max(...a),n[e.level]=t}));const a=[];return t.forEach((e=>{const{parentIndex:n,...l}=e;n>=0?t[n].children.push(l):a.push(l)})),a}function i(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return t.flatMap((e=>{const t=i({toc:e.children,minHeadingLevel:n,maxHeadingLevel:a});return function(e){return e.level>=n&&e.level<=a}(e)?[{...e,children:t}]:t}))}function c(e){const t=e.getBoundingClientRect();return t.top===t.bottom?c(e.parentNode):t}function s(e,t){let{anchorTopOffset:n}=t;const a=e.find((e=>c(e).top>=n));if(a){return function(e){return e.top>0&&e.bottom<window.innerHeight/2}(c(a))?a:e[e.indexOf(a)-1]??null}return e[e.length-1]??null}function m(){const e=(0,l.useRef)(0),{navbar:{hideOnScroll:t}}=(0,o.L)();return(0,l.useEffect)((()=>{e.current=t?0:document.querySelector(".navbar").clientHeight}),[t]),e}function d(e){const t=(0,l.useRef)(void 0),n=m();(0,l.useEffect)((()=>{if(!e)return()=>{};const{linkClassName:a,linkActiveClassName:l,minHeadingLevel:o,maxHeadingLevel:r}=e;function i(){const e=function(e){return Array.from(document.getElementsByClassName(e))}(a),i=function(e){let{minHeadingLevel:t,maxHeadingLevel:n}=e;const a=[];for(let l=t;l<=n;l+=1)a.push(`h${l}.anchor`);return Array.from(document.querySelectorAll(a.join()))}({minHeadingLevel:o,maxHeadingLevel:r}),c=s(i,{anchorTopOffset:n.current}),m=e.find((e=>c&&c.id===function(e){return decodeURIComponent(e.href.substring(e.href.indexOf("#")+1))}(e)));e.forEach((e=>{!function(e,n){n?(t.current&&t.current!==e&&t.current.classList.remove(l),e.classList.add(l),t.current=e):e.classList.remove(l)}(e,e===m)}))}return document.addEventListener("scroll",i),document.addEventListener("resize",i),i(),()=>{document.removeEventListener("scroll",i),document.removeEventListener("resize",i)}}),[e,n])}function u(e){let{toc:t,className:n,linkClassName:a,isChild:o}=e;return t.length?l.createElement("ul",{className:o?void 0:n},t.map((e=>l.createElement("li",{key:e.id},l.createElement("a",{href:`#${e.id}`,className:a??void 0,dangerouslySetInnerHTML:{__html:e.value}}),l.createElement(u,{isChild:!0,toc:e.children,className:n,linkClassName:a}))))):null}const g=l.memo(u);function f(e){let{toc:t,className:n="table-of-contents table-of-contents__left-border",linkClassName:c="table-of-contents__link",linkActiveClassName:s,minHeadingLevel:m,maxHeadingLevel:u,...f}=e;const v=(0,o.L)(),p=m??v.tableOfContents.minHeadingLevel,h=u??v.tableOfContents.maxHeadingLevel,b=function(e){let{toc:t,minHeadingLevel:n,maxHeadingLevel:a}=e;return(0,l.useMemo)((()=>i({toc:r(t),minHeadingLevel:n,maxHeadingLevel:a})),[t,n,a])}({toc:t,minHeadingLevel:p,maxHeadingLevel:h});return d((0,l.useMemo)((()=>{if(c&&s)return{linkClassName:c,linkActiveClassName:s,minHeadingLevel:p,maxHeadingLevel:h}}),[c,s,p,h])),l.createElement(g,(0,a.Z)({toc:b,className:n,linkClassName:c},f))}}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/dd6f79e8.282a93b6.js b/zh-CN/assets/js/dd6f79e8.282a93b6.js new file mode 100644 index 00000000..9f768a98 --- /dev/null +++ b/zh-CN/assets/js/dd6f79e8.282a93b6.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2333],{1002:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/zh-CN/blog/tags/ai","page":1,"postsPerPage":3,"totalPages":1,"totalCount":3,"blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/deeae371.12ffa4f5.js b/zh-CN/assets/js/deeae371.12ffa4f5.js new file mode 100644 index 00000000..6e30c668 --- /dev/null +++ b/zh-CN/assets/js/deeae371.12ffa4f5.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[5966],{4095:e=>{e.exports=JSON.parse('{"label":"AIGC","permalink":"/SolidUI-Website/zh-CN/blog/tags/aigc","allTagsPath":"/SolidUI-Website/zh-CN/blog/tags","count":3}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/e1317b68.a7d51121.js b/zh-CN/assets/js/e1317b68.a7d51121.js new file mode 100644 index 00000000..a2dfd2a6 --- /dev/null +++ b/zh-CN/assets/js/e1317b68.a7d51121.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[7959],{3905:(e,t,l)=>{l.d(t,{Zo:()=>s,kt:()=>m});var i=l(7294);function n(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function r(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,i)}return l}function a(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?r(Object(l),!0).forEach((function(t){n(e,t,l[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):r(Object(l)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))}))}return e}function o(e,t){if(null==e)return{};var l,i,n=function(e,t){if(null==e)return{};var l,i,n={},r=Object.keys(e);for(i=0;i<r.length;i++)l=r[i],t.indexOf(l)>=0||(n[l]=e[l]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)l=r[i],t.indexOf(l)>=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(n[l]=e[l])}return n}var p=i.createContext({}),u=function(e){var t=i.useContext(p),l=t;return e&&(l="function"==typeof e?e(t):a(a({},t),e)),l},s=function(e){var t=u(e.components);return i.createElement(p.Provider,{value:t},e.children)},d="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},k=i.forwardRef((function(e,t){var l=e.components,n=e.mdxType,r=e.originalType,p=e.parentName,s=o(e,["components","mdxType","originalType","parentName"]),d=u(l),k=n,m=d["".concat(p,".").concat(k)]||d[k]||c[k]||r;return l?i.createElement(m,a(a({ref:t},s),{},{components:l})):i.createElement(m,a({ref:t},s))}));function m(e,t){var l=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=l.length,a=new Array(r);a[0]=k;var o={};for(var p in t)hasOwnProperty.call(t,p)&&(o[p]=t[p]);o.originalType=e,o[d]="string"==typeof e?e:n,a[1]=o;for(var u=2;u<r;u++)a[u]=l[u];return i.createElement.apply(null,a)}return i.createElement.apply(null,l)}k.displayName="MDXCreateElement"},8479:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>p,contentTitle:()=>a,default:()=>c,frontMatter:()=>r,metadata:()=>o,toc:()=>u});var i=l(7462),n=(l(7294),l(3905));const r={id:"server-architecture",title:"\u670d\u52a1\u7aef\u67b6\u6784",sidebar_position:1},a=void 0,o={unversionedId:"design/server-architecture/server-architecture",id:"design/server-architecture/server-architecture",title:"\u670d\u52a1\u7aef\u67b6\u6784",description:"1. \u67b6\u6784\u603b\u89c8",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/design/server-architecture/README.md",sourceDirName:"design/server-architecture",slug:"/design/server-architecture/",permalink:"/SolidUI-Website/zh-CN/docs/design/server-architecture/",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/design/server-architecture/README.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{id:"server-architecture",title:"\u670d\u52a1\u7aef\u67b6\u6784",sidebar_position:1},sidebar:"tutorialSidebar",previous:{title:"\u793e\u533a\u5171\u5efa\u5408\u4f5c",permalink:"/SolidUI-Website/zh-CN/docs/operational/community-operation/"},next:{title:"\u524d\u7aef\u67b6\u6784",permalink:"/SolidUI-Website/zh-CN/docs/design/front-end-architecture/"}},p={},u=[{value:"1. \u67b6\u6784\u603b\u89c8",id:"1-\u67b6\u6784\u603b\u89c8",level:2},{value:"2.\u6a21\u5757\u529f\u80fd",id:"2\u6a21\u5757\u529f\u80fd",level:2},{value:"3.\u6e90\u7801\u8bb2\u89e3",id:"3\u6e90\u7801\u8bb2\u89e3",level:2},{value:"3.1 solidui-bom",id:"31-solidui-bom",level:3},{value:"3.2 solidui-common",id:"32-solidui-common",level:3},{value:"3.3 solidui-dao",id:"33-solidui-dao",level:3},{value:"3.4 solidui-datasource-plugin",id:"34-solidui-datasource-plugin",level:3},{value:"3.5 solidui-dist",id:"35-solidui-dist",level:3},{value:"3.6 solidui-entrance",id:"36-solidui-entrance",level:3},{value:"3.7 solidui-service",id:"37-solidui-service",level:3},{value:"3.8 solidui-spi",id:"38-solidui-spi",level:3},{value:"3.9 solidui-web",id:"39-solidui-web",level:3},{value:"3.10 soliduimodelui",id:"310-soliduimodelui",level:3}],s={toc:u},d="wrapper";function c(e){let{components:t,...r}=e;return(0,n.kt)(d,(0,i.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"1-\u67b6\u6784\u603b\u89c8"},"1. \u67b6\u6784\u603b\u89c8"),(0,n.kt)("p",null,(0,n.kt)("img",{alt:"soliduiv0.1.0",src:l(2047).Z,width:"2212",height:"1355"})),(0,n.kt)("p",null,"Entrance:API\u63a5\u53e3\u5c42\uff0c\u4e3b\u8981\u8d1f\u8d23\u524d\u7aefUI\u5c42\u7684\u8bf7\u6c42\uff0c\u8be5\u670d\u52a1\u7edf\u4e00\u63d0\u4f9bRESTful api\u5411\u5916\u90e8\u63d0\u4f9b\u8bf7\u6c42\u670d\u52a1"),(0,n.kt)("h2",{id:"2\u6a21\u5757\u529f\u80fd"},"2.\u6a21\u5757\u529f\u80fd"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"solidui-bom: BOM\uff08Bill of Materials\uff09\u901a\u5e38\u7528\u4e8e\u7ba1\u7406\u9879\u76ee\u4e2d\u7684\u4f9d\u8d56\u7248\u672c\uff0c\u4ee5\u786e\u4fdd\u6240\u6709\u6a21\u5757\u90fd\u4f7f\u7528\u76f8\u540c\u7248\u672c\u7684\u4f9d\u8d56\u3002")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"solidui-common: \u8fd9\u4e2a\u6a21\u5757\u5305\u542b\u6574\u4e2a\u9879\u76ee\u4e2d\u4f7f\u7528\u7684\u901a\u7528\u4ee3\u7801\u548c\u5de5\u5177\u3002")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"solidui-dao: DAO\uff08Data Access Object\uff09\u6a21\u5757\u5305\u542b\u6240\u6709\u4e0e\u6570\u636e\u5e93\u4ea4\u4e92\u7684\u4ee3\u7801\u3002")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"solidui-datasource-plugin: \u8fd9\u4e2a\u6a21\u5757\u63d0\u4f9b\u4e00\u79cd\u65b9\u5f0f\u6765\u6269\u5c55\u6570\u636e\u6e90\uff0c\u4ee5\u4fbf\u53ef\u4ee5\u4ece\u591a\u79cd\u4e0d\u540c\u7c7b\u578b\u7684\u6570\u636e\u6e90\u83b7\u53d6\u6570\u636e\u3002")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"solidui-dist: \u8fd9\u4e2a\u6a21\u5757\u8d1f\u8d23\u9879\u76ee\u7684\u6784\u5efa\u548c\u5206\u53d1\u3002")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"solidui-entrance: \u8fd9\u4e2a\u6a21\u5757\u662f\u9879\u76ee\u7684\u4e3b\u5165\u53e3\u70b9\uff0c\u5305\u542b\u542f\u52a8\u548c\u521d\u59cb\u5316\u5e94\u7528\u7a0b\u5e8f\u7684\u4ee3\u7801\u3002")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"solidui-service: \u8fd9\u4e2a\u6a21\u5757\u5305\u542b\u4e1a\u52a1\u903b\u8f91\u4ee3\u7801\u3002")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"solidui-spi: SPI\uff08Service Provider Interface\uff09\u6a21\u5757\u63d0\u4f9b\u4e00\u79cd\u65b9\u5f0f\u6765\u6269\u5c55\u9879\u76ee\u7684\u529f\u80fd\u3002")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"solidui-web: \u8fd9\u4e2a\u6a21\u5757\u5305\u542b\u524d\u7aef\u4ee3\u7801\uff0c\u7528\u4e8e\u663e\u793a\u7528\u6237\u754c\u9762\uff0c\u804a\u5929\u754c\u9762\u3002")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"soliduimodelui: \u8fd9\u4e2a\u6a21\u5757\u6a21\u578b\u4ee3\u7406\u5c42\uff0c\u7528\u4e8e\u524d\u7aefUI\u5c42\u7684\u6570\u636e\u6a21\u578b\u8f6c\u6362\u3002"))),(0,n.kt)("h2",{id:"3\u6e90\u7801\u8bb2\u89e3"},"3.\u6e90\u7801\u8bb2\u89e3"),(0,n.kt)("h3",{id:"31-solidui-bom"},"3.1 solidui-bom"),(0,n.kt)("p",null,"\u8fd9\u662f\u4e00\u4e2a Maven \u7684\u9879\u76ee\u5bf9\u8c61\u6a21\u578b(POM)\u6587\u4ef6\uff0c\u5b83\u662f\u57fa\u4e8e XML \u7684\u9879\u76ee\u914d\u7f6e\u6587\u4ef6\uff0c\u7528\u4e8e\u63cf\u8ff0\u6784\u5efa\u9879\u76ee\u7684\u4fe1\u606f\uff0c\u5982\u9879\u76ee\u4f9d\u8d56\u3001\u6784\u5efa\u63d2\u4ef6\u3001\u9879\u76ee\u5c5e\u6027\u7b49\u3002"),(0,n.kt)("p",null,"\u6b64 POM \u6587\u4ef6\u5b9a\u4e49\u7684\u662f\u4e00\u4e2a\u540d\u4e3a solidui-bom \u7684\u9879\u76ee\uff0c\u8be5\u9879\u76ee\u7684\u7236\u9879\u76ee\u662f solidui\u3002"),(0,n.kt)("p",null,"\u5728\u8fd9\u4e2a POM \u6587\u4ef6\u4e2d\uff0c\u4e3b\u8981\u6709\u4ee5\u4e0b\u4e09\u4e2a\u90e8\u5206\uff1a"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"Properties: \u5b9a\u4e49\u4e86\u5404\u79cd\u4f9d\u8d56\u5e93\u7684\u7248\u672c\u53f7\u3002\u8fd9\u662f\u4e00\u79cd\u5e38\u89c1\u7684\u7ba1\u7406\u9879\u76ee\u4e2d\u6240\u6709\u4f9d\u8d56\u5e93\u7248\u672c\u7684\u65b9\u6cd5\uff0c\u53ef\u4ee5\u5728\u4e00\u4e2a\u5730\u65b9\u5b9a\u4e49\u548c\u66f4\u65b0\u6240\u6709\u4f9d\u8d56\u7684\u7248\u672c\u3002")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"Parent: \u5b9a\u4e49\u4e86\u8fd9\u4e2a\u9879\u76ee\u7684\u7236\u9879\u76ee\u3002\u5728 Maven \u4e2d\uff0c\u53ef\u4ee5\u901a\u8fc7\u5b9a\u4e49\u7236\u9879\u76ee\u6765\u7ee7\u627f\u4e00\u4e9b\u901a\u7528\u7684\u914d\u7f6e\uff0c\u5982\u4f9d\u8d56\u7ba1\u7406\u3001\u63d2\u4ef6\u7ba1\u7406\u7b49\u3002")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"Dependency Management: \u8fd9\u90e8\u5206\u5b9a\u4e49\u4e86\u9879\u76ee\u7684\u4f9d\u8d56\u5e93\u53ca\u5176\u7248\u672c\u3002\u6240\u6709\u5728\u6b64\u5b9a\u4e49\u7684\u4f9d\u8d56\uff0c\u90fd\u53ef\u4ee5\u5728\u5b50\u6a21\u5757\u4e2d\u76f4\u63a5\u4f7f\u7528\u800c\u4e0d\u7528\u6307\u5b9a\u7248\u672c\u53f7\u3002\u5982\u679c\u5b50\u6a21\u5757\u4e2d\u7684\u4f9d\u8d56\u548c\u6b64\u5904\u7684\u4f9d\u8d56\u51b2\u7a81\uff0c\u90a3\u4e48\u4f1a\u4f18\u5148\u4f7f\u7528\u6b64\u5904\u5b9a\u4e49\u7684\u7248\u672c\u3002"))),(0,n.kt)("p",null,"\u6839\u636e\u8fd9\u4e2a POM \u6587\u4ef6\uff0c\u4f60\u53ef\u4ee5\u77e5\u9053\u8fd9\u4e2a\u9879\u76ee\u4f9d\u8d56\u4e86\u54ea\u4e9b\u5e93\uff0c\u4ee5\u53ca\u8fd9\u4e9b\u5e93\u7684\u7248\u672c\u3002\u6b64\u5916\uff0c\u5982\u679c\u4f60\u9700\u8981\u6dfb\u52a0\u65b0\u7684\u4f9d\u8d56\u5e93\uff0c\u6216\u8005\u66f4\u65b0\u73b0\u6709\u4f9d\u8d56\u5e93\u7684\u7248\u672c\uff0c\u4e5f\u53ef\u4ee5\u5728\u8fd9\u4e2a\u6587\u4ef6\u4e2d\u8fdb\u884c\u3002"),(0,n.kt)("h3",{id:"32-solidui-common"},"3.2 solidui-common"),(0,n.kt)("p",null,"Constants: \u8fd9\u4e2a\u7c7b\u5b9a\u4e49\u4e86\u4e00\u4e9b\u5168\u5c40\u5e38\u91cf\uff0c\u8fd9\u4e9b\u5e38\u91cf\u5728\u6574\u4e2a\u9879\u76ee\u4e2d\u53ef\u80fd\u4f1a\u7528\u5230\u3002\u4f8b\u5982\uff0cHTTP\u5934\u7684\u952e\u540d\u3001\u52a0\u5bc6\u7684\u5bc6\u94a5\u7b49\u3002"),(0,n.kt)("p",null,"DateConstants: \u8fd9\u4e2a\u7c7b\u5b9a\u4e49\u4e86\u65e5\u671f\u65f6\u95f4\u7684\u683c\u5f0f\u5316\u5b57\u7b26\u4e32\u5e38\u91cf\u3002"),(0,n.kt)("p",null,"ByteTimeUtils: \u8fd9\u4e2a\u7c7b\u5f53\u524d\u770b\u8d77\u6765\u662f\u7a7a\u7684\uff0c\u53ef\u80fd\u662f\u4e00\u4e2a\u65b9\u4fbf\u5904\u7406\u5b57\u8282\u548c\u65f6\u95f4\u7684\u5de5\u5177\u7c7b\u3002"),(0,n.kt)("p",null,"DESUtil: \u8fd9\u4e2a\u7c7b\u63d0\u4f9b\u4e86\u57fa\u4e8eDES\u7b97\u6cd5\u7684\u52a0\u5bc6\u548c\u89e3\u5bc6\u65b9\u6cd5\uff0c\u7528\u4e8e\u6570\u636e\u7684\u5b89\u5168\u4f20\u8f93\u3002"),(0,n.kt)("p",null,"EncryptionUtils: \u8fd9\u4e2a\u7c7b\u63d0\u4f9b\u4e86\u4e00\u4e2a\u8ba1\u7b97\u5b57\u7b26\u4e32MD5\u503c\u7684\u65b9\u6cd5\u3002"),(0,n.kt)("p",null,"JSONUtils: \u8fd9\u4e2a\u7c7b\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u7684JSON\u5904\u7406\u65b9\u6cd5\uff0c\u5305\u62ec\u5bf9\u8c61\u5230JSON\u7684\u5e8f\u5217\u5316\u3001JSON\u5230\u5bf9\u8c61\u7684\u53cd\u5e8f\u5217\u5316\u3001JSON\u5230List\u6216Map\u7684\u8f6c\u6362\u7b49\u3002"),(0,n.kt)("p",null,"LoginUtils: \u8fd9\u4e2a\u7c7b\u63d0\u4f9b\u4e86\u4e00\u4e9b\u5904\u7406\u767b\u5f55\u7528\u6237\u7684\u65b9\u6cd5\uff0c\u4f8b\u5982\u8bbe\u7f6e\u767b\u5f55\u7528\u6237\u3001\u79fb\u9664\u767b\u5f55\u7528\u6237\u548c\u83b7\u53d6\u767b\u5f55\u7528\u6237\u3002"),(0,n.kt)("p",null,"Utils: \u8fd9\u4e2a\u7c7b\u63d0\u4f9b\u4e86\u4e00\u4e9b\u901a\u7528\u7684\u5de5\u5177\u65b9\u6cd5\uff0c\u4f8b\u5982\u521b\u5efa\u4e00\u4e2a\u6709\u81ea\u5b9a\u4e49\u7ebf\u7a0b\u540d\u548c\u5b88\u62a4\u72b6\u6001\u7684\u7ebf\u7a0b\u5de5\u5382\uff0c\u521b\u5efa\u4e00\u4e2a\u9ed8\u8ba4\u7684\u8ba1\u5212\u4efb\u52a1\u6267\u884c\u5668\u3002"),(0,n.kt)("h3",{id:"33-solidui-dao"},"3.3 solidui-dao"),(0,n.kt)("p",null,"\u8fd9\u4e2a\u6a21\u5757\u540d\u4e3a solidui-dao\uff0c\u4e3b\u8981\u5305\u542b\u4e86\u4e0e\u6570\u636e\u8bbf\u95ee\u5c42\u76f8\u5173\u7684\u914d\u7f6e\u548c\u5bf9\u8c61\u6a21\u578b\u3002"),(0,n.kt)("p",null,"SpringConnectionFactory: \u8fd9\u4e2a\u914d\u7f6e\u7c7b\u4e3b\u8981\u7528\u4e8e\u914d\u7f6eMyBatisPlus\u7684\u76f8\u5173\u8bbe\u7f6e\uff0c\u5982\u5206\u9875\u63d2\u4ef6\u3001\u4e8b\u52a1\u7ba1\u7406\u5668\u3001SqlSessionFactory\u7b49\u3002"),(0,n.kt)("p",null,"DataSource, DataSourceType, DataSourceTypeKey, JobElement, JobElementPage, JobPage, ModelType, Project, User: \u8fd9\u4e9b\u7c7b\u662f\u5b9e\u4f53\u7c7b\uff0c\u4ee3\u8868\u6570\u636e\u5e93\u4e2d\u7684\u5404\u4e2a\u8868\u7684\u6570\u636e\u7ed3\u6784\u3002"),(0,n.kt)("p",null,"DataSourceMapper, DataSourceParamKeyMapper, DataSourceTypeMapper, JobElementMapper, JobElementPageMapper, JobPageMapper, ModelTypeMapper, ProjectMapper, UserMapper: \u8fd9\u4e9b\u63a5\u53e3\u662fMyBatis\u7684Mapper\u63a5\u53e3\uff0c\u7528\u4e8e\u5b9a\u4e49\u5bf9\u5e94\u8868\u7684CRUD\u64cd\u4f5c\u3002"),(0,n.kt)("p",null,"PageListingResult: \u8fd9\u662f\u4e00\u4e2a\u5305\u88c5\u7c7b\uff0c\u7528\u4e8e\u5305\u88c5\u5206\u9875\u67e5\u8be2\u7684\u7ed3\u679c\u3002"),(0,n.kt)("p",null,"DaoConfiguration: \u8fd9\u662f\u4e00\u4e2aSpring\u7684\u914d\u7f6e\u7c7b\uff0c\u7528\u4e8e\u542f\u52a8Spring Boot\u7684\u81ea\u52a8\u914d\u7f6e\u5e76\u626b\u63cfMapper\u63a5\u53e3\u3002"),(0,n.kt)("p",null,"\u901a\u8fc7\u8fd9\u4e2a\u6a21\u5757\uff0c\u4f60\u53ef\u4ee5\u65b9\u4fbf\u5730\u8fdb\u884c\u6570\u636e\u5e93\u7684\u64cd\u4f5c\u3002\u4f8b\u5982\uff0c\u4f60\u53ef\u4ee5\u901a\u8fc7UserMapper\u7684queryUserByNamePassword\u65b9\u6cd5\uff0c\u67e5\u8be2\u7ed9\u5b9a\u7528\u6237\u540d\u548c\u5bc6\u7801\u7684\u7528\u6237\u3002\u6240\u6709\u7684Mapper\u63a5\u53e3\u90fd\u7ee7\u627f\u81eaMyBatisPlus\u7684BaseMapper\u63a5\u53e3\uff0c\u6240\u4ee5\u5b83\u4eec\u90fd\u5177\u5907\u4e86\u57fa\u7840\u7684CRUD\u64cd\u4f5c\u3002"),(0,n.kt)("h3",{id:"34-solidui-datasource-plugin"},"3.4 solidui-datasource-plugin"),(0,n.kt)("p",null,"\u8fd9\u4e2a\u6a21\u5757\u540d\u4e3a solidui-datasource-plugin\uff0c\u5305\u542b\u4e86\u4e0e\u6570\u636e\u6e90\u63d2\u4ef6\u76f8\u5173\u7684\u914d\u7f6e\u548c\u5bf9\u8c61\u6a21\u578b\u3002"),(0,n.kt)("p",null,"DorisClient: \u8fd9\u4e2a\u7c7b\u7ee7\u627f\u81eaBaseJdbcClient\uff0c\u5b9e\u73b0\u4e86\u4e0eDoris\u6570\u636e\u5e93\u8fdb\u884c\u4ea4\u4e92\u7684\u5177\u4f53\u65b9\u6cd5\uff0c\u5305\u62ec\u83b7\u53d6\u6240\u6709\u6570\u636e\u5e93\u3001\u83b7\u53d6\u6570\u636e\u5e93\u7684\u6240\u6709\u8868\u3001\u4ee5\u53ca\u6267\u884c\u67e5\u8be2\u8bed\u53e5\u5e76\u83b7\u53d6\u7ed3\u679c\u3002"),(0,n.kt)("p",null,"DorisClientFactory: \u8fd9\u4e2a\u7c7b\u7ee7\u627f\u81eaBaseJdbcClientFactory\uff0c\u5b9e\u73b0\u4e86\u521b\u5efaDorisClient\u7684\u5de5\u5382\u65b9\u6cd5\u3002"),(0,n.kt)("p",null,"DorisConnectionFactory: \u8fd9\u4e2a\u7c7b\u5b9e\u73b0\u4e86ConnectionFactory\u63a5\u53e3\uff0c\u63d0\u4f9b\u4e86\u521b\u5efa\u8fde\u63a5Doris\u6570\u636e\u5e93\u7684\u65b9\u6cd5\u3002"),(0,n.kt)("p",null,"MysqlClient: \u8fd9\u4e2a\u7c7b\u7ee7\u627f\u81eaBaseJdbcClient\uff0c\u5b9e\u73b0\u4e86\u4e0eMySQL\u6570\u636e\u5e93\u8fdb\u884c\u4ea4\u4e92\u7684\u5177\u4f53\u65b9\u6cd5\uff0c\u5305\u62ec\u83b7\u53d6\u6240\u6709\u6570\u636e\u5e93\u3001\u83b7\u53d6\u6570\u636e\u5e93\u7684\u6240\u6709\u8868\u3001\u4ee5\u53ca\u6267\u884c\u67e5\u8be2\u8bed\u53e5\u5e76\u83b7\u53d6\u7ed3\u679c\u3002"),(0,n.kt)("p",null,"MysqlClientFactory: \u8fd9\u4e2a\u7c7b\u7ee7\u627f\u81eaBaseJdbcClientFactory\uff0c\u5b9e\u73b0\u4e86\u521b\u5efaMysqlClient\u7684\u5de5\u5382\u65b9\u6cd5\u3002"),(0,n.kt)("p",null,"MysqlConnectionFactory: \u8fd9\u4e2a\u7c7b\u5b9e\u73b0\u4e86ConnectionFactory\u63a5\u53e3\uff0c\u63d0\u4f9b\u4e86\u521b\u5efa\u8fde\u63a5MySQL\u6570\u636e\u5e93\u7684\u65b9\u6cd5\u3002"),(0,n.kt)("p",null,"JdbcClientManager: \u8fd9\u4e2a\u7c7b\u7528\u4e8e\u52a0\u8f7d\u914d\u7f6e\u7684ConnectionFactory\u3002"),(0,n.kt)("p",null,"ConnectDTO: \u8fd9\u4e2a\u7c7b\u662f\u4e00\u4e2a\u7b80\u5355\u7684\u6570\u636e\u4f20\u8f93\u5bf9\u8c61\uff0c\u5305\u542b\u4e86\u8fde\u63a5\u6570\u636e\u5e93\u9700\u8981\u7684\u4fe1\u606f\uff0c\u5982\u4e3b\u673a\u540d\u3001\u7aef\u53e3\u3001\u7528\u6237\u540d\u3001\u5bc6\u7801\u3001\u6570\u636e\u5e93\u540d\u4ee5\u53ca\u989d\u5916\u53c2\u6570\u3002"),(0,n.kt)("p",null,"\u5176\u4ed6\u63a5\u53e3\u5982JdbcClient\u3001JdbcClientFactory\u3001ConnectionFactory\u7b49\u5b9a\u4e49\u4e86\u4e00\u4e9b\u901a\u7528\u7684\u65b9\u6cd5\uff0c\u5177\u4f53\u7684\u5b9e\u73b0\u7c7b\u5982DorisClient\u3001DorisClientFactory\u3001DorisConnectionFactory\u7b49\u63d0\u4f9b\u4e86\u8fd9\u4e9b\u65b9\u6cd5\u7684\u5177\u4f53\u5b9e\u73b0\u3002"),(0,n.kt)("p",null,"\u6b64\u5916\uff0c\u8fd9\u4e2a\u6a21\u5757\u7684pom.xml\u6587\u4ef6\u914d\u7f6e\u4e86solidui-datasource-all\u5b50\u6a21\u5757\uff0c\u8be5\u5b50\u6a21\u5757\u4f9d\u8d56\u4e8esolidui-datasource-mysql\u548csolidui-datasource-doris\u4e24\u4e2a\u6a21\u5757\uff0c\u8fd9\u4e24\u4e2a\u6a21\u5757\u5b9a\u4e49\u4e86\u5982\u4f55\u4e0eMySQL\u548cDoris\u6570\u636e\u5e93\u4ea4\u4e92\u3002"),(0,n.kt)("h3",{id:"35-solidui-dist"},"3.5 solidui-dist"),(0,n.kt)("p",null,"\u8fd9\u4e2a\u6a21\u5757\u540d\u4e3a solidui-dist\uff0c\u5b83\u4e3b\u8981\u8d1f\u8d23\u9879\u76ee\u7684\u53d1\u5e03\u548c\u90e8\u7f72\u3002"),(0,n.kt)("p",null,"docker-compose.yml: \u8fd9\u662f\u4e00\u4e2a Docker Compose \u914d\u7f6e\u6587\u4ef6\uff0c\u7528\u4e8e\u5b9a\u4e49\u548c\u8fd0\u884c\u591a\u5bb9\u5668\u7684 Docker \u5e94\u7528\u3002\u5728\u8fd9\u4e2a\u6587\u4ef6\u4e2d\uff0c\u5b9a\u4e49\u4e86\u51e0\u4e2a\u670d\u52a1\uff1asolidui-entrance\u3001solidui-web\u3001mysql \u548c soliduimodelui\u3002\u8fd9\u4e9b\u670d\u52a1\u5c06\u4f1a\u88ab Docker \u4ee5\u5bb9\u5668\u7684\u5f62\u5f0f\u8fd0\u884c\u3002"),(0,n.kt)("p",null,"release-docs: \u8fd9\u4e2a\u6587\u4ef6\u5939\u53ef\u80fd\u5305\u542b\u4e86\u4e00\u4e9b\u53d1\u5e03\u6587\u6863\uff0c\u5982 LICENSE \u548c NOTICE\u3002"),(0,n.kt)("p",null,"assembly.xml: \u8fd9\u662f Maven Assembly \u63d2\u4ef6\u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u7528\u4e8e\u5b9a\u4e49\u5982\u4f55\u521b\u5efa\u9879\u76ee\u7684\u53d1\u5e03\u5305\u3002\u5728\u8fd9\u4e2a\u6587\u4ef6\u4e2d\uff0c\u5b9a\u4e49\u4e86\u9700\u8981\u5305\u542b\u54ea\u4e9b\u6587\u4ef6\u548c\u6587\u4ef6\u5939\u3002"),(0,n.kt)("p",null,"\u8fd9\u4e2a\u6a21\u5757\u7684\u4f5c\u7528\u4e3b\u8981\u662f\u5b9a\u4e49\u5982\u4f55\u6253\u5305\u9879\u76ee\u548c\u5982\u4f55\u90e8\u7f72\u9879\u76ee\u3002\u901a\u8fc7 Docker Compose\uff0c\u53ef\u4ee5\u975e\u5e38\u65b9\u4fbf\u5730\u5728\u4efb\u4f55\u88c5\u6709 Docker \u7684\u673a\u5668\u4e0a\u90e8\u7f72\u548c\u8fd0\u884c\u8fd9\u4e2a\u9879\u76ee\u3002\u901a\u8fc7 Maven Assembly \u63d2\u4ef6\uff0c\u53ef\u4ee5\u975e\u5e38\u65b9\u4fbf\u5730\u521b\u5efa\u9879\u76ee\u7684\u53d1\u5e03\u5305\uff0c\u5305\u542b\u4e86\u8fd0\u884c\u9879\u76ee\u6240\u9700\u7684\u6240\u6709\u6587\u4ef6\u3002"),(0,n.kt)("h3",{id:"36-solidui-entrance"},"3.6 solidui-entrance"),(0,n.kt)("p",null,"\u8fd9\u4e2a\u6a21\u5757\u540d\u4e3a solidui-entrance\uff0c\u4f5c\u4e3a\u5e94\u7528\u7684\u5165\u53e3\uff0c\u63d0\u4f9b\u4e86\u591a\u4e2a\u63a7\u5236\u5668\uff08Controller\uff09\u7528\u4e8e\u5904\u7406\u7528\u6237\u7684\u8bf7\u6c42\u3002"),(0,n.kt)("p",null,"BaseController: \u63d0\u4f9b\u4e86\u4e00\u4e9b\u901a\u7528\u7684\u8fd4\u56de\u7ed3\u679c\u7684\u65b9\u6cd5\uff0c\u5305\u62ec\u6210\u529f\u7684\u7ed3\u679c\u548c\u9519\u8bef\u7684\u7ed3\u679c\u3002"),(0,n.kt)("p",null,"DataSourceController: \u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u4e0e\u6570\u636e\u6e90\u76f8\u5173\u7684API\uff0c\u5982\u83b7\u53d6\u6240\u6709\u7684\u6570\u636e\u6e90\u7c7b\u578b\u3001\u6839\u636e\u7c7b\u578b\u83b7\u53d6\u53c2\u6570\u952e\u3001\u6839\u636e\u6570\u636e\u6e90\u540d\u548c\u7c7b\u578b\u67e5\u8be2\u6570\u636e\u5e93\u7b49\u3002"),(0,n.kt)("p",null,"JobController: \u63d0\u4f9b\u4e86\u4e00\u4e9b\u4e0e\u5de5\u4f5c\u76f8\u5173\u7684API\uff0c\u5982\u4fdd\u5b58\u9875\u9762\u3001\u66f4\u65b0\u5de5\u4f5c\u3001\u6309\u9879\u76eeID\u67e5\u8be2\u5de5\u4f5c\u7b49\u3002"),(0,n.kt)("p",null,"JobPageController: \u63d0\u4f9b\u4e86\u4e00\u4e9b\u4e0e\u5de5\u4f5c\u9875\u9762\u76f8\u5173\u7684API\uff0c\u5982\u521b\u5efa\u5de5\u4f5c\u9875\u9762\u3001\u66f4\u65b0\u5de5\u4f5c\u9875\u9762\u3001\u6309\u9879\u76eeID\u67e5\u8be2\u5de5\u4f5c\u9875\u9762\u7b49\u3002"),(0,n.kt)("p",null,"LoginController: \u63d0\u4f9b\u4e86\u767b\u5f55\u548c\u767b\u51fa\u7684API\u3002"),(0,n.kt)("p",null,"MetadataQueryController: \u63d0\u4f9b\u4e86\u4e00\u4e9b\u4e0e\u5143\u6570\u636e\u67e5\u8be2\u76f8\u5173\u7684API\uff0c\u5982\u6309\u6570\u636e\u6e90\u540d\u67e5\u8be2\u6570\u636e\u5e93\u3001\u6309\u6570\u636e\u6e90\u540d\u67e5\u8be2\u8868\u3001\u6309SQL\u67e5\u8be2\u7b49\u3002"),(0,n.kt)("p",null,"ModelController: \u63d0\u4f9b\u4e86\u83b7\u53d6\u6a21\u578b\u5217\u8868\u7684API\u3002"),(0,n.kt)("p",null,"ProjectController: \u63d0\u4f9b\u4e86\u4e00\u4e9b\u4e0e\u9879\u76ee\u76f8\u5173\u7684API\uff0c\u5982\u521b\u5efa\u9879\u76ee\u3001\u66f4\u65b0\u9879\u76ee\u3001\u6309\u9879\u76ee\u540d\u67e5\u8be2\u9879\u76ee\u3001\u5220\u9664\u9879\u76ee\u7b49\u3002"),(0,n.kt)("p",null,"\u6bcf\u4e2aController\u90fd\u4f9d\u8d56\u4e8e\u76f8\u5e94\u7684Service\uff0cService\u4e2d\u5b9a\u4e49\u4e86\u5bf9\u5e94\u7684\u4e1a\u52a1\u903b\u8f91\u3002\u4f8b\u5982\uff0cDataSourceController\u4f9d\u8d56\u4e8eDataSourceService\uff0c\u5728DataSourceService\u4e2d\u5b9a\u4e49\u4e86\u5982\u4f55\u67e5\u8be2\u6240\u6709\u6570\u636e\u6e90\u7c7b\u578b\u3001\u5982\u4f55\u6839\u636e\u7c7b\u578b\u83b7\u53d6\u53c2\u6570\u952e\u7b49\u4e1a\u52a1\u903b\u8f91\u3002"),(0,n.kt)("p",null,"\u6b64\u5916\uff0c\u8fd8\u63d0\u4f9b\u4e86\u4e00\u4e9bService\u7684\u5b9e\u73b0\u7c7b\uff0c\u5982DataSourceServiceImpl\u3001DataSourceTypeServiceImpl\u3001JobPageServiceImpl\u3001JobServiceImpl\u3001MetadataQueryServiceImpl\u3001ModelServiceImpl\u3001ProjectServiceImpl\u548cUserServiceImpl\u3002\u8fd9\u4e9b\u7c7b\u5b9e\u73b0\u4e86\u5bf9\u5e94\u7684Service\u63a5\u53e3\uff0c\u5e76\u63d0\u4f9b\u4e86\u5177\u4f53\u7684\u4e1a\u52a1\u903b\u8f91\u3002"),(0,n.kt)("p",null,"\u603b\u7684\u6765\u8bf4\uff0c\u8fd9\u4e2a\u6a21\u5757\u4e3b\u8981\u5904\u7406\u7528\u6237\u7684\u8bf7\u6c42\uff0c\u6267\u884c\u76f8\u5e94\u7684\u4e1a\u52a1\u903b\u8f91\uff0c\u5e76\u8fd4\u56de\u7ed3\u679c\u3002"),(0,n.kt)("h3",{id:"37-solidui-service"},"3.7 solidui-service"),(0,n.kt)("p",null,"\u5305\u542b\u4e86\u4e00\u4e9b\u670d\u52a1\u5c42\u7684\u4ee3\u7801\u3002"),(0,n.kt)("h3",{id:"38-solidui-spi"},"3.8 solidui-spi"),(0,n.kt)("p",null,"ConnectDTO: \u8fd9\u662f\u4e00\u4e2a\u7b80\u5355\u7684\u6570\u636e\u4f20\u8f93\u5bf9\u8c61\uff0c\u5305\u542b\u4e86\u8fde\u63a5\u6570\u636e\u5e93\u6240\u9700\u7684\u4fe1\u606f\u3002"),(0,n.kt)("p",null,"ConstantsSPI: \u8fd9\u4e2a\u7c7b\u5b9a\u4e49\u4e86\u4e00\u4e9b\u5e38\u91cf\uff0c\u8fd9\u4e9b\u5e38\u91cf\u5728 SPI\uff08\u670d\u52a1\u63d0\u4f9b\u63a5\u53e3\uff09\u4e2d\u53ef\u80fd\u4f1a\u7528\u5230\u3002"),(0,n.kt)("h3",{id:"39-solidui-web"},"3.9 solidui-web"),(0,n.kt)("p",null,"\u8fd9\u662f\u4e00\u4e2a\u57fa\u4e8eReact\u548cAnt Design\u6784\u5efa\u7684\u524d\u7aef\u9879\u76ee\uff0c\u9879\u76ee\u7684\u4e3b\u8981\u5185\u5bb9\u5305\u62ec\uff1a"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"\u4e3b\u5e94\u7528\u5165\u53e3",(0,n.kt)("inlineCode",{parentName:"li"},"index.tsx"),"\uff0c\u7528\u4e8e\u521d\u59cb\u5316\u5e76\u6e32\u67d3\u6574\u4e2a\u5e94\u7528\u3002"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"App"),"\u7ec4\u4ef6\uff0c\u662f\u5e94\u7528\u7684\u4e3b\u8981\u7ec4\u4ef6\uff0c\u7528\u4e8e\u5b9a\u4e49\u8def\u7531\u548c\u6e32\u67d3\u76f8\u5e94\u7684\u7ec4\u4ef6\u3002"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"routes"),"\u5b9a\u4e49\u4e86\u5e94\u7528\u7684\u6240\u6709\u8def\u7531\uff0c\u5305\u62ec\u9996\u9875\u3001\u767b\u5f55\u9875\u3001\u9879\u76ee\u5217\u8868\u9875\u3001\u6570\u636e\u6e90\u5217\u8868\u9875\u3001\u4eea\u8868\u76d8\u9875\u548c\u9884\u89c8\u9875\u7b49\u3002"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"DefaultLayout"),"\u7ec4\u4ef6\u5b9a\u4e49\u4e86\u5e94\u7528\u7684\u4e3b\u8981\u5e03\u5c40\uff0c\u5305\u62ec\u5934\u90e8\u3001\u4fa7\u8fb9\u680f\u548c\u4e3b\u8981\u5185\u5bb9\u533a\u57df\u3002"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"ProjectList"),"\u548c",(0,n.kt)("inlineCode",{parentName:"li"},"DataSourceList"),"\u4e24\u4e2a\u7ec4\u4ef6\u5206\u522b\u7528\u4e8e\u5c55\u793a\u9879\u76ee\u5217\u8868\u548c\u6570\u636e\u6e90\u5217\u8868\u3002"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"Dashboard"),"\u7ec4\u4ef6\u7528\u4e8e\u5c55\u793a\u4eea\u8868\u76d8\uff0c\u5c55\u793a\u6570\u636e\u53ef\u89c6\u5316\u7ed3\u679c\u3002"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"Login"),"\u7ec4\u4ef6\u7528\u4e8e\u5904\u7406\u7528\u6237\u767b\u5f55\u903b\u8f91\u3002"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"Home"),"\u7ec4\u4ef6\u5b9a\u4e49\u4e86\u5e94\u7528\u7684\u9996\u9875\u5185\u5bb9\u3002"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"useProject"),"\u548c",(0,n.kt)("inlineCode",{parentName:"li"},"useDataSource"),"\u4e24\u4e2a\u81ea\u5b9a\u4e49Hook\uff0c\u7528\u4e8e\u5904\u7406\u9879\u76ee\u548c\u6570\u636e\u6e90\u76f8\u5173\u7684\u4e1a\u52a1\u903b\u8f91\u3002"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"ModelManager"),"\u7c7b\uff0c\u7528\u4e8e\u7ba1\u7406\u5e94\u7528\u7684\u72b6\u6001\u3002"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"ViewFactory"),"\u7c7b\uff0c\u7528\u4e8e\u521b\u5efa\u89c6\u56fe\u3002"),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("inlineCode",{parentName:"li"},"SolidView"),"\u7c7b\uff0c\u5b9a\u4e49\u4e86\u4e00\u4e2a\u62bd\u8c61\u7684\u89c6\u56fe\u57fa\u7c7b\uff0c\u6240\u6709\u7684\u89c6\u56fe\u7ec4\u4ef6\u90fd\u9700\u8981\u7ee7\u627f\u8fd9\u4e2a\u57fa\u7c7b\u3002")),(0,n.kt)("p",null,"\u6b64\u5916\uff0c\u9879\u76ee\u8fd8\u5305\u62ec\u4e86\u4e00\u4e9b\u8f85\u52a9\u6027\u7684\u6a21\u5757\uff0c\u5982",(0,n.kt)("inlineCode",{parentName:"p"},"ApiService"),"\u7528\u4e8e\u5c01\u88c5API\u8bf7\u6c42\uff0c",(0,n.kt)("inlineCode",{parentName:"p"},"theme"),"\u7528\u4e8e\u5b9a\u4e49\u4e3b\u9898\u6837\u5f0f\uff0c",(0,n.kt)("inlineCode",{parentName:"p"},"solidui-entrance"),"\u548c",(0,n.kt)("inlineCode",{parentName:"p"},"solidui-web"),"\u5206\u522b\u662f\u540e\u7aef\u548c\u524d\u7aef\u7684\u4e3b\u8981\u6a21\u5757\uff0c",(0,n.kt)("inlineCode",{parentName:"p"},"api"),"\u548c",(0,n.kt)("inlineCode",{parentName:"p"},"service"),"\u5b9a\u4e49\u4e86\u4e00\u4e9bAPI\u63a5\u53e3\u548c\u670d\u52a1\uff0c",(0,n.kt)("inlineCode",{parentName:"p"},"components"),"\u5305\u542b\u4e86\u4e00\u4e9b\u516c\u5171\u7684\u7ec4\u4ef6\u3002"),(0,n.kt)("p",null,"\u9879\u76ee\u4f7f\u7528\u4e86\u4e00\u4e9b\u7b2c\u4e09\u65b9\u5e93\uff0c\u5982",(0,n.kt)("inlineCode",{parentName:"p"},"axios"),"\u7528\u4e8e\u5904\u7406HTTP\u8bf7\u6c42\uff0c",(0,n.kt)("inlineCode",{parentName:"p"},"lodash-es"),"\u7528\u4e8e\u63d0\u4f9b\u4e00\u4e9b\u5b9e\u7528\u7684\u5de5\u5177\u51fd\u6570\uff0c",(0,n.kt)("inlineCode",{parentName:"p"},"antd"),"\u662f\u4e00\u4e2a\u57fa\u4e8eReact\u7684UI\u7ec4\u4ef6\u5e93\uff0c",(0,n.kt)("inlineCode",{parentName:"p"},"echarts"),"\u7528\u4e8e\u6570\u636e\u53ef\u89c6\u5316\uff0c",(0,n.kt)("inlineCode",{parentName:"p"},"react-router-dom"),"\u7528\u4e8e\u5904\u7406\u8def\u7531\uff0c",(0,n.kt)("inlineCode",{parentName:"p"},"react-window"),"\u7528\u4e8e\u4f18\u5316\u957f\u5217\u8868\u7684\u6e32\u67d3\u6027\u80fd\u7b49\u3002"),(0,n.kt)("p",null,"\u9879\u76ee\u7684\u6784\u5efa\u5de5\u5177\u662f",(0,n.kt)("inlineCode",{parentName:"p"},"webpack"),"\uff0c\u4f7f\u7528\u4e86",(0,n.kt)("inlineCode",{parentName:"p"},"babel"),"\u6765\u8f6c\u8bd1JavaScript\u4ee3\u7801\uff0c",(0,n.kt)("inlineCode",{parentName:"p"},"eslint"),"\u548c",(0,n.kt)("inlineCode",{parentName:"p"},"prettier"),"\u7528\u4e8e\u4ee3\u7801\u89c4\u8303\u548c\u683c\u5f0f\u5316\uff0c",(0,n.kt)("inlineCode",{parentName:"p"},"jest"),"\u7528\u4e8e\u5355\u5143\u6d4b\u8bd5\u3002\u6b64\u5916\uff0c\u9879\u76ee\u8fd8\u4f7f\u7528\u4e86",(0,n.kt)("inlineCode",{parentName:"p"},"husky"),"\u548c",(0,n.kt)("inlineCode",{parentName:"p"},"lint-staged"),"\u6765\u5728\u63d0\u4ea4\u4ee3\u7801\u524d\u81ea\u52a8\u68c0\u67e5\u548c\u4fee\u590d\u4ee3\u7801\u95ee\u9898\u3002"),(0,n.kt)("h3",{id:"310-soliduimodelui"},"3.10 soliduimodelui"),(0,n.kt)("p",null,"\u8fd9\u662f\u4e00\u4e2a\u57fa\u4e8e Flask \u548c MySQL \u7684\u540e\u7aef\u9879\u76ee\uff0c\u4e3b\u8981\u7528\u4e8e\u5904\u7406\u524d\u7aef\u53d1\u6765\u7684\u8bf7\u6c42\u5e76\u6267\u884c\u76f8\u5e94\u7684\u64cd\u4f5c\u3002\u4e3b\u8981\u7684\u529f\u80fd\u6a21\u5757\u5305\u62ec\uff1a"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"kernel_manager\uff1a\u8fd9\u4e2a\u6a21\u5757\u4e3b\u8981\u8d1f\u8d23\u7ba1\u7406\u548c\u64cd\u4f5c Python \u5185\u6838\uff0c\u5904\u7406\u524d\u7aef\u53d1\u6765\u7684\u4ee3\u7801\u6267\u884c\u8bf7\u6c42\u3002\u5185\u6838\u7ba1\u7406\u5668\u5b9e\u73b0\u4e86\u4e0e Python \u5185\u6838\u7684\u901a\u4fe1\uff0c\u63a5\u6536\u548c\u5904\u7406\u5185\u6838\u7684\u8f93\u51fa\u7ed3\u679c\uff0c\u4ee5\u53ca\u5904\u7406\u5185\u6838\u7684\u5404\u79cd\u72b6\u6001\u3002\u6b64\u5916\uff0c\u5b83\u8fd8\u63d0\u4f9b\u4e86\u4e00\u4e2a\u6d88\u606f\u961f\u5217\u7528\u4e8e\u63a5\u6536\u548c\u53d1\u9001\u5185\u6838\u7684\u6d88\u606f\u3002")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"kernel_program\uff1a\u8fd9\u4e2a\u6a21\u5757\u4e3b\u8981\u8d1f\u8d23\u542f\u52a8\u548c\u7ba1\u7406 Python \u5185\u6838\u7684\u5b50\u8fdb\u7a0b\u3002\u5b83\u901a\u8fc7\u5b50\u8fdb\u7a0b\u7684\u65b9\u5f0f\u542f\u52a8 Python \u5185\u6838\uff0c\u7136\u540e\u901a\u8fc7 SnakeMQ \u6d88\u606f\u961f\u5217\u4e0e\u5185\u6838\u8fdb\u884c\u901a\u4fe1\u3002")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"utils\uff1a\u8fd9\u4e2a\u6a21\u5757\u63d0\u4f9b\u4e86\u4e00\u4e9b\u5b9e\u7528\u7684\u5de5\u5177\u51fd\u6570\uff0c\u5982\u53d1\u9001 JSON \u6d88\u606f\u3001\u521d\u59cb\u5316 SnakeMQ \u6d88\u606f\u961f\u5217\u7b49\u3002")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"webapp\uff1a\u8fd9\u662f\u4e00\u4e2a\u57fa\u4e8e Flask \u7684 Web \u5e94\u7528\uff0c\u5b83\u63d0\u4f9b\u4e86\u4e00\u7cfb\u5217\u7684 API \u4f9b\u524d\u7aef\u8c03\u7528\uff0c\u5982\u6267\u884c\u4ee3\u7801\u3001\u83b7\u53d6\u6267\u884c\u7ed3\u679c\u3001\u7ba1\u7406 Python \u5185\u6838\u7b49\u3002\u8fd9\u4e2a\u5e94\u7528\u4f7f\u7528\u4e86 CORS \u4e2d\u95f4\u4ef6\u6765\u5904\u7406\u8de8\u57df\u8bf7\u6c42\u3002")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},"web_utils\uff1a\u8fd9\u4e2a\u6a21\u5757\u63d0\u4f9b\u4e86\u4e00\u4e9b Web \u5e94\u7528\u4e2d\u5e38\u7528\u7684\u5de5\u5177\u51fd\u6570\uff0c\u5982\u683c\u5f0f\u5316\u54cd\u5e94\u6570\u636e\u3001\u67e5\u8be2\u6570\u636e\u5e93\u7b49\u3002")),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("p",{parentName:"li"},".env\uff1a\u8fd9\u662f\u4e00\u4e2a\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u6587\u4ef6\uff0c\u5305\u542b\u4e86\u6570\u636e\u5e93\u7684\u8fde\u63a5\u4fe1\u606f\u3001\u5e94\u7528\u7684\u7aef\u53e3\u53f7\u7b49\u914d\u7f6e\u4fe1\u606f\u3002"))),(0,n.kt)("p",null,"\u9879\u76ee\u7684\u8fd0\u884c\u6d41\u7a0b\u5927\u81f4\u5982\u4e0b\uff1a"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"\u542f\u52a8 Flask Web \u5e94\u7528\uff0c\u63d0\u4f9b API \u63a5\u53e3\u4f9b\u524d\u7aef\u8c03\u7528\uff1b"),(0,n.kt)("li",{parentName:"ol"},"\u524d\u7aef\u53d1\u8d77\u8bf7\u6c42\uff0c\u5982\u6267\u884c\u4ee3\u7801\u7b49\uff1b"),(0,n.kt)("li",{parentName:"ol"},"Web \u5e94\u7528\u63a5\u6536\u8bf7\u6c42\uff0c\u8c03\u7528\u5185\u6838\u7ba1\u7406\u5668\u6267\u884c\u76f8\u5e94\u7684\u64cd\u4f5c\uff1b"),(0,n.kt)("li",{parentName:"ol"},"\u5185\u6838\u7ba1\u7406\u5668\u901a\u8fc7 SnakeMQ \u6d88\u606f\u961f\u5217\u4e0e Python \u5185\u6838\u8fdb\u884c\u901a\u4fe1\uff0c\u6267\u884c\u4ee3\u7801\u5e76\u83b7\u53d6\u7ed3\u679c\uff1b"),(0,n.kt)("li",{parentName:"ol"},"Web \u5e94\u7528\u5c06\u6267\u884c\u7ed3\u679c\u8fd4\u56de\u7ed9\u524d\u7aef\u3002")),(0,n.kt)("p",null,"\u6b64\u5916\uff0c\u9879\u76ee\u8fd8\u63d0\u4f9b\u4e86\u4e00\u4e9b\u8f85\u52a9\u529f\u80fd\uff0c\u5982\u65e5\u5fd7\u8f93\u51fa\u3001\u9519\u8bef\u5904\u7406\u7b49\u3002"))}c.isMDXComponent=!0},2047:(e,t,l)=>{l.d(t,{Z:()=>i});const i=l.p+"assets/images/soliduiv0.1.0structure-2964a98125cda4f79a72b0f832df78bf.jpg"}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/e496222a.fb486966.js b/zh-CN/assets/js/e496222a.fb486966.js new file mode 100644 index 00000000..313297aa --- /dev/null +++ b/zh-CN/assets/js/e496222a.fb486966.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[661],{3905:(e,t,o)=>{o.d(t,{Zo:()=>d,kt:()=>k});var r=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function l(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function i(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?l(Object(o),!0).forEach((function(t){n(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):l(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function p(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o,r,n={},l=Object.keys(e);for(r=0;r<l.length;r++)o=l[r],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)o=l[r],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var c=r.createContext({}),a=function(e){var t=r.useContext(c),o=t;return e&&(o="function"==typeof e?e(t):i(i({},t),e)),o},d=function(e){var t=a(e.components);return r.createElement(c.Provider,{value:t},e.children)},s="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var o=e.components,n=e.mdxType,l=e.originalType,c=e.parentName,d=p(e,["components","mdxType","originalType","parentName"]),s=a(o),m=n,k=s["".concat(c,".").concat(m)]||s[m]||u[m]||l;return o?r.createElement(k,i(i({ref:t},d),{},{components:o})):r.createElement(k,i({ref:t},d))}));function k(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var l=o.length,i=new Array(l);i[0]=m;var p={};for(var c in t)hasOwnProperty.call(t,c)&&(p[c]=t[c]);p.originalType=e,p[s]="string"==typeof e?e:n,i[1]=p;for(var a=2;a<l;a++)i[a]=o[a];return r.createElement.apply(null,i)}return r.createElement.apply(null,o)}m.displayName="MDXCreateElement"},6268:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>c,contentTitle:()=>i,default:()=>u,frontMatter:()=>l,metadata:()=>p,toc:()=>a});var r=o(7462),n=(o(7294),o(3905));const l={id:"deployment-docker",title:"Docker-Compose \u90e8\u7f72",sidebar_position:2},i="SolidUI Docker-Compose \u90e8\u7f72",p={unversionedId:"deployment/deployment-docker",id:"deployment/deployment-docker",title:"Docker-Compose \u90e8\u7f72",description:"1. \u73af\u5883\u51c6\u5907",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/deployment-docker.md",sourceDirName:"deployment",slug:"/deployment/deployment-docker",permalink:"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/deployment-docker.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{id:"deployment-docker",title:"Docker-Compose \u90e8\u7f72",sidebar_position:2},sidebar:"tutorialSidebar",previous:{title:"\u524d\u7aef\u90e8\u7f72",permalink:"/SolidUI-Website/zh-CN/docs/deployment/deployment-web"},next:{title:"\u72ec\u7acb\u90e8\u7f72",permalink:"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone"}},c={},a=[{value:"1. \u73af\u5883\u51c6\u5907",id:"1-\u73af\u5883\u51c6\u5907",level:2},{value:"2.\u4ee5 docker-compose \u7684\u65b9\u5f0f\u542f\u52a8 (\u63a8\u8350)",id:"2\u4ee5-docker-compose-\u7684\u65b9\u5f0f\u542f\u52a8-\u63a8\u8350",level:2},{value:"2.1 \u4e0b\u8f7d\u90e8\u7f72\u5305\u6216\u8005\u6e90\u7801",id:"21-\u4e0b\u8f7d\u90e8\u7f72\u5305\u6216\u8005\u6e90\u7801",level:3},{value:"2.2 \u62c9\u53d6\u955c\u50cf\u5e76\u542f\u52a8\u670d\u52a1",id:"22-\u62c9\u53d6\u955c\u50cf\u5e76\u542f\u52a8\u670d\u52a1",level:3},{value:"2.3 \u4fee\u6539\u6570\u636e\u5e93\u8868\u4fe1\u606f,\u4fee\u6539\u8868solidui_model_type\uff0ctoken\u548cbaseurl\u5b57\u6bb5 (0.2.0\u7248\u672c\u652f\u6301)",id:"23-\u4fee\u6539\u6570\u636e\u5e93\u8868\u4fe1\u606f\u4fee\u6539\u8868solidui_model_typetoken\u548cbaseurl\u5b57\u6bb5-020\u7248\u672c\u652f\u6301",level:3},{value:"2.4 \u8bbf\u95ee\u670d\u52a1",id:"24-\u8bbf\u95ee\u670d\u52a1",level:3}],d={toc:a},s="wrapper";function u(e){let{components:t,...o}=e;return(0,n.kt)(s,(0,r.Z)({},d,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"solidui-docker-compose-\u90e8\u7f72"},"SolidUI Docker-Compose \u90e8\u7f72"),(0,n.kt)("h2",{id:"1-\u73af\u5883\u51c6\u5907"},"1. \u73af\u5883\u51c6\u5907"),(0,n.kt)("p",null,(0,n.kt)("a",{parentName:"p",href:"https://docs.docker.com/engine/install/"},"Docker")," 1.13.1+\n",(0,n.kt)("a",{parentName:"p",href:"https://docs.docker.com/compose/"},"Docker Compose")," 1.11.0+"),(0,n.kt)("h2",{id:"2\u4ee5-docker-compose-\u7684\u65b9\u5f0f\u542f\u52a8-\u63a8\u8350"},"2.\u4ee5 docker-compose \u7684\u65b9\u5f0f\u542f\u52a8 (\u63a8\u8350)"),(0,n.kt)("p",null,"\u8fd9\u79cd\u65b9\u5f0f\u9700\u8981\u5148\u5b89\u88c5 docker-compose, docker-compose \u7684\u5b89\u88c5\u7f51\u4e0a\u5df2\u7ecf\u6709\u975e\u5e38\u591a\u7684\u8d44\u6599\uff0c\u8bf7\u81ea\u884c\u5b89\u88c5\u5373\u53ef"),(0,n.kt)("h3",{id:"21-\u4e0b\u8f7d\u90e8\u7f72\u5305\u6216\u8005\u6e90\u7801"},"2.1 \u4e0b\u8f7d\u90e8\u7f72\u5305\u6216\u8005\u6e90\u7801"),(0,n.kt)("p",null,"\u65b9\u5f0f1\uff1a\u4ecegithub\u4ed3\u5e93 ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")," \u83b7\u53d6\u9879\u76ee\u7684\u6e90\u4ee3\u7801\u3002"),(0,n.kt)("p",null,"\u65b9\u5f0f2\uff1a\u4ece",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/releases"},"https://github.com/CloudOrc/SolidUI/releases")," \u4e0b\u8f7d\u4e0b\u8f7d\u6240\u9700\u7248\u672c\u7684\u6e90\u7801\u5305\u3002"),(0,n.kt)("p",null,"\u8bf7\u4e0b\u8f7d\u6e90\u7801\u5305 solidui-x.x.x-bin.tar.gz"),(0,n.kt)("h3",{id:"22-\u62c9\u53d6\u955c\u50cf\u5e76\u542f\u52a8\u670d\u52a1"},"2.2 \u62c9\u53d6\u955c\u50cf\u5e76\u542f\u52a8\u670d\u52a1"),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"# \u8fdb\u5165\u670d\u52a1\u5668\uff08\u4ee5Centos7\u4e3a\u4f8b\uff09\ntar -zxvf solidui-x.x.x-bin.tar.gz\n\ncd solidui-x.x.x-bin/docker\n\ndocker-compose up -d\n\n")),(0,n.kt)("h3",{id:"23-\u4fee\u6539\u6570\u636e\u5e93\u8868\u4fe1\u606f\u4fee\u6539\u8868solidui_model_typetoken\u548cbaseurl\u5b57\u6bb5-020\u7248\u672c\u652f\u6301"},"2.3 \u4fee\u6539\u6570\u636e\u5e93\u8868\u4fe1\u606f,\u4fee\u6539\u8868solidui_model_type\uff0ctoken\u548cbaseurl\u5b57\u6bb5 (0.2.0\u7248\u672c\u652f\u6301)"),(0,n.kt)("p",null,"token\u4e3a\u6a21\u578bAPI token"),(0,n.kt)("p",null,"baseurl\u4e3a\u6a21\u578bAPI\u57fa\u7840\u5730\u5740\uff0c\u4f8b\u5982\uff1a",(0,n.kt)("a",{parentName:"p",href:"https://api.openai.com%EF%BC%88%E8%BF%99%E6%98%AF%E5%9B%BD%E5%A4%96openai%E5%9C%B0%E5%9D%80%EF%BC%89%EF%BC%8Chttps://api.chatanywhere.com.cn%EF%BC%88openai%E5%9B%BD%E5%86%85%E4%BB%A3%E7%90%86%E5%9C%B0%E5%9D%80%EF%BC%89%EF%BC%8Chttp://ip:port%EF%BC%88chatGLM%E5%9C%B0%E5%9D%80%EF%BC%89"},"https://api.openai.com\uff08\u8fd9\u662f\u56fd\u5916openai\u5730\u5740\uff09\uff0chttps://api.chatanywhere.com.cn\uff08openai\u56fd\u5185\u4ee3\u7406\u5730\u5740\uff09\uff0chttp://ip:port\uff08chatGLM\u5730\u5740\uff09")),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-shell",metastring:"script",script:!0},"# \u8fdb\u5165Docker-Compose\u65b0\u5efa\u7684mysql\u4e2d\nmysql -h ip -u root -p \nuse solidui;\nupdate solidui_model_type set token = '' , baseurl='' where id = 'id';\n\n")),(0,n.kt)("h3",{id:"24-\u8bbf\u95ee\u670d\u52a1"},"2.4 \u8bbf\u95ee\u670d\u52a1"),(0,n.kt)("p",null,"\u8bbf\u95ee\u94fe\u63a5 http://localhost:8099"),(0,n.kt)("p",null,"\u9ed8\u8ba4\u7528\u6237\u540d\u5bc6\u7801\uff1aadmin/admin"))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/ea8a7b94.552ec3b1.js b/zh-CN/assets/js/ea8a7b94.552ec3b1.js new file mode 100644 index 00000000..2af86cfb --- /dev/null +++ b/zh-CN/assets/js/ea8a7b94.552ec3b1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[6262],{3805:e=>{e.exports=JSON.parse('{"permalink":"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion/page/2","page":2,"postsPerPage":3,"totalPages":2,"totalCount":6,"previousPage":"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion","blogDescription":"Blog","blogTitle":"Blog"}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/eaf8f7fb.612b701f.js b/zh-CN/assets/js/eaf8f7fb.612b701f.js new file mode 100644 index 00000000..fc58cd57 --- /dev/null +++ b/zh-CN/assets/js/eaf8f7fb.612b701f.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[9885],{2776:s=>{s.exports=JSON.parse('{"name":"@easyops-cn/docusaurus-search-local","id":"default"}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/ed523c22.6b595f00.js b/zh-CN/assets/js/ed523c22.6b595f00.js new file mode 100644 index 00000000..c867c46c --- /dev/null +++ b/zh-CN/assets/js/ed523c22.6b595f00.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[8352],{3905:(e,t,l)=>{l.d(t,{Zo:()=>d,kt:()=>f});var n=l(7294);function r(e,t,l){return t in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function a(e,t){var l=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),l.push.apply(l,n)}return l}function i(e){for(var t=1;t<arguments.length;t++){var l=null!=arguments[t]?arguments[t]:{};t%2?a(Object(l),!0).forEach((function(t){r(e,t,l[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(l)):a(Object(l)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(l,t))}))}return e}function o(e,t){if(null==e)return{};var l,n,r=function(e,t){if(null==e)return{};var l,n,r={},a=Object.keys(e);for(n=0;n<a.length;n++)l=a[n],t.indexOf(l)>=0||(r[l]=e[l]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)l=a[n],t.indexOf(l)>=0||Object.prototype.propertyIsEnumerable.call(e,l)&&(r[l]=e[l])}return r}var u=n.createContext({}),p=function(e){var t=n.useContext(u),l=t;return e&&(l="function"==typeof e?e(t):i(i({},t),e)),l},d=function(e){var t=p(e.components);return n.createElement(u.Provider,{value:t},e.children)},c="mdxType",s={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var l=e.components,r=e.mdxType,a=e.originalType,u=e.parentName,d=o(e,["components","mdxType","originalType","parentName"]),c=p(l),m=r,f=c["".concat(u,".").concat(m)]||c[m]||s[m]||a;return l?n.createElement(f,i(i({ref:t},d),{},{components:l})):n.createElement(f,i({ref:t},d))}));function f(e,t){var l=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var a=l.length,i=new Array(a);i[0]=m;var o={};for(var u in t)hasOwnProperty.call(t,u)&&(o[u]=t[u]);o.originalType=e,o[c]="string"==typeof e?e:r,i[1]=o;for(var p=2;p<a;p++)i[p]=l[p];return n.createElement.apply(null,i)}return n.createElement.apply(null,l)}m.displayName="MDXCreateElement"},9662:(e,t,l)=>{l.r(t),l.d(t,{assets:()=>u,contentTitle:()=>i,default:()=>s,frontMatter:()=>a,metadata:()=>o,toc:()=>p});var n=l(7462),r=(l(7294),l(3905));const a={title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",date:new Date("2023-07-01T00:00:00.000Z"),tags:["SolidUI","AIGC","stable-diffusion"]},i=void 0,o={permalink:"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-07-01-function-explanation-0.1.0.md",source:"@site/blog/2023-07-01-function-explanation-0.1.0.md",title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",description:"\u80cc\u666f",date:"2023-07-01T00:00:00.000Z",formattedDate:"2023\u5e747\u67081\u65e5",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{label:"AIGC",permalink:"/SolidUI-Website/zh-CN/blog/tags/aigc"},{label:"stable-diffusion",permalink:"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],readingTime:5.475,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI AI\u751f\u6210\u53ef\u89c6\u5316\uff0c\u5f00\u521b\u6027\u5f00\u6e90\u9879\u76ee\uff0c\u7248\u672c0.1.0 \u529f\u80fd\u8bb2\u89e3",date:"2023-07-01T00:00:00.000Z",tags:["SolidUI","AIGC","stable-diffusion"]},prevItem:{title:"SolidUI\u793e\u533a-Snakemq\u901a\u4fe1\u6e90\u7801\u5206\u6790",permalink:"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis"}},u={authorsImageUrls:[]},p=[{value:"\u80cc\u666f",id:"\u80cc\u666f",level:2},{value:"\u9879\u76ee\u540d\u5b57\u542b\u4e49",id:"\u9879\u76ee\u540d\u5b57\u542b\u4e49",level:2},{value:"\u767b\u5f55\u9875\u542b\u4e49",id:"\u767b\u5f55\u9875\u542b\u4e49",level:2},{value:"\u4ea7\u54c1\u601d\u7ef4",id:"\u4ea7\u54c1\u601d\u7ef4",level:2},{value:"0.1.0 \u7248\u672c\u5185\u6db5",id:"010-\u7248\u672c\u5185\u6db5",level:2},{value:"\u529f\u80fd\u5217\u8868",id:"\u529f\u80fd\u5217\u8868",level:2},{value:"\u6570\u636e\u6e90\u7ba1\u7406",id:"\u6570\u636e\u6e90\u7ba1\u7406",level:3},{value:"\u9879\u76ee\u7ba1\u7406",id:"\u9879\u76ee\u7ba1\u7406",level:3},{value:"\u8bbe\u8ba1\u9875\u9762",id:"\u8bbe\u8ba1\u9875\u9762",level:3}],d={toc:p},c="wrapper";function s(e){let{components:t,...a}=e;return(0,r.kt)(c,(0,n.Z)({},d,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"\u80cc\u666f"},"\u80cc\u666f"),(0,r.kt)("p",null,"\u968f\u7740\u6587\u672c\u751f\u6210\u56fe\u50cf\u7684\u8bed\u8a00\u6a21\u578b\u5174\u8d77\uff0cSolidUI\u60f3\u5e2e\u4eba\u4eec\u5feb\u901f\u6784\u5efa\u53ef\u89c6\u5316\u5de5\u5177\uff0c\u53ef\u89c6\u5316\u5185\u5bb9\u5305\u62ec2D,3D,3D\u573a\u666f\uff0c\u4ece\u800c\u5feb\u901f\u6784\u4e09\u7ef4\u6570\u636e\u6f14\u793a\u573a\u666f\u3002SolidUI \u662f\u4e00\u4e2a\u521b\u65b0\u7684\u9879\u76ee\uff0c\u65e8\u5728\u5c06\u81ea\u7136\u8bed\u8a00\u5904\u7406\uff08NLP\uff09\u4e0e\u8ba1\u7b97\u673a\u56fe\u5f62\u5b66\u76f8\u7ed3\u5408\uff0c\u5b9e\u73b0\u6587\u751f\u56fe\u529f\u80fd\u3002\u901a\u8fc7\u6784\u5efa\u81ea\u7814\u7684\u6587\u751f\u56fe\u8bed\u8a00\u6a21\u578b\uff0cSolidUI \u5229\u7528 RLHF (Reinforcement Learning Human Feedback) \u6d41\u7a0b\u5b9e\u73b0\u4ece\u6587\u672c\u63cf\u8ff0\u5230\u56fe\u5f62\u751f\u6210\u7684\u8fc7\u7a0b\u3002"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,r.kt)("h2",{id:"\u9879\u76ee\u540d\u5b57\u542b\u4e49"},"\u9879\u76ee\u540d\u5b57\u542b\u4e49"),(0,r.kt)("p",null,"SolidUI Solid\u8868\u793a\u7acb\u65b9\u51e0\u4f55\uff0cUI\u8868\u793a\u8bbe\u8ba1\u4ea4\u4e92\uff0c\u4ee3\u8868\u591a\u7ef4\u751f\u6210\u8bbe\u8ba1\u3002"),(0,r.kt)("h2",{id:"\u767b\u5f55\u9875\u542b\u4e49"},"\u767b\u5f55\u9875\u542b\u4e49"),(0,r.kt)("p",null,"\u767b\u5f55\u9875\u7684\u542b\u4e49\uff0clogo \u7528\u773c\u955c\u7684\u5f62\u72b6\uff0c\u8868\u793a\u89c2\u5bdf\u4e16\u754c \uff0c\u80cc\u666f\u90a3\u4e9b\u7ebf\u6761\u662f\u901a\u8fc7\u773c\u775b\u89c2\u770b\u5f97\u51fa\u56fe\u5f62\uff0c\u6df1\u5c42\u610f\u601d\u8868\u793a\u521b\u610f\u751f\u6210\u4e16\u754c\u3002\n",(0,r.kt)("img",{alt:"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0",src:l(1956).Z,width:"3552",height:"1848"})),(0,r.kt)("h2",{id:"\u4ea7\u54c1\u601d\u7ef4"},"\u4ea7\u54c1\u601d\u7ef4"),(0,r.kt)("p",null,"\u201c\u5c11\u5c31\u662f\u591a\u201d"),(0,r.kt)("p",null,"\u5c11\u5c31\u662f\u591a\uff0c\u610f\u601d\u662f\u4e0d\u65ad\u7cbe\u7b80\u65b9\u6848\u91cc\u7684\u5143\u7d20\uff0c\u53ea\u7559\u4e0b\u6709\u4ef7\u503c\u7684\uff1b\u5176\u4f59\u4e0d\u91cd\u8981\u7684\uff0c\u8981\u4e48\u76f4\u63a5\u5220\u6389\uff0c\u8981\u4e48\u4ece\u754c\u9762\u91cc\u9690\u85cf\u8d77\u6765\u3002\u5bf9\u4e8e\u90a3\u4e9b\u4e0d\u5e38\u7528\u7684\u64cd\u4f5c\uff0c\u9690\u85cf\u4e4b\u540e\uff0c\u5373\u4f7f\u7528\u6237\u591a\u8fdb\u884c\u51e0\u6b65\u64cd\u4f5c\u4e5f\u6ca1\u6709\u5173\u7cfb\u3002"),(0,r.kt)("h2",{id:"010-\u7248\u672c\u5185\u6db5"},"0.1.0 \u7248\u672c\u5185\u6db5"),(0,r.kt)("p",null,"\u8fd9\u4e2a\u7248\u672c\u4f5c\u4e3a\u7b2c\u4e00\u4e2a\u7248\u672c\uff0c\u8bbe\u60f3\u4f5c\u4e3a\u5e94\u7528\u6846\u67b6\uff0c\u5177\u6709\u901a\u7528\u53ef\u89c6\u5316\u6846\u67b6\u80fd\u529b\uff0c\u4e0d\u56e0\u4e00\u4e9b\u6570\u636e\u7ba1\u7406\uff0cBI\u7b49\u4e00\u4e9b\u65e7\u601d\u7ef4\u5f71\u54cd\uff0c\u53ea\u505a\u5e94\u7528\u6846\u67b6\uff0c\u6240\u4ee5\u5f88\u591a\u4e1c\u897f\u90fd\u88ab\u53bb\u9664\u4e86\uff0cAI\u751f\u6210\u4f1a\u5f7b\u5e95\u6539\u53d8\u4f7f\u7528\u4e60\u60ef\u3002"),(0,r.kt)("h2",{id:"\u529f\u80fd\u5217\u8868"},"\u529f\u80fd\u5217\u8868"),(0,r.kt)("p",null,"\u4e0b\u9762\u4ecb\u7ecd\u4e0b\u6574\u4e2a\u7b2c\u4e00\u4e2a\u7248\u672c\u529f\u80fd\u5217\u8868\u3002"),(0,r.kt)("h3",{id:"\u6570\u636e\u6e90\u7ba1\u7406"},"\u6570\u636e\u6e90\u7ba1\u7406"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u663e\u793a\u6570\u636e\uff1a\u663e\u793a\u6240\u6709\u6570\u636e\u6e90\uff0c\u5305\u62ec\u5e8f\u53f7\uff0c\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u7c7b\u578b\uff0c\u7528\u6237\uff0c\u63cf\u8ff0\u4fe1\u606f\u548c\u64cd\u4f5c\u6309\u94ae\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff1a\u8f93\u5165\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\u540e\uff0c\u53ef\u4ee5*\n\u6210\u529f\u6dfb\u52a0MySQL\u6570\u636e\u6e90\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u663e\u793a\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0Doris\u6570\u636e\u6e90\uff1a\u8f93\u5165\u6570\u636e\u6e90\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\u540e\uff0c\u53ef\u4ee5\u6210\u529f\u6dfb\u52a0Doris\u6570\u636e\u6e90\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u663e\u793a\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u7f16\u8f91\u6570\u636e\u6e90\uff1a\u53ef\u4ee5\u7f16\u8f91\u6570\u636e\u6e90\u7684\u540d\u79f0\uff0c\u6570\u636e\u6e90\u9a71\u52a8\uff0cURL\uff0c\u7528\u6237\u540d\uff0c\u5bc6\u7801\uff0c\u5907\u6ce8\uff0c\u5e76\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u67e5\u770b\u7f16\u8f91\u540e\u7684\u4fe1\u606f\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u5355\u884c\u5220\u9664\u6570\u636e\u6e90\uff1a\u901a\u8fc7\u8f93\u5165\u8981\u5220\u9664\u7684\u6570\u636e\u6e90\u540d\u79f0\uff0c\u53ef\u4ee5\u6210\u529f\u5220\u9664\u8be5\u6570\u636e\u6e90\uff0c\u5e76\u4e14\u8be5\u6570\u636e\u6e90\u4e0d\u518d\u663e\u793a\u5728\u6570\u636e\u6e90\u5217\u8868\u4e2d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6570\u636e\u6e90\u8fc7\u671f\uff1a\u53ef\u4ee5\u5c06\u9009\u4e2d\u7684\u6570\u636e\u6e90\u8bbe\u7f6e\u4e3a\u8fc7\u671f\u72b6\u6001\u3002\n",(0,r.kt)("img",{alt:"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0",src:l(4902).Z,width:"3226",height:"528"}))),(0,r.kt)("h3",{id:"\u9879\u76ee\u7ba1\u7406"},"\u9879\u76ee\u7ba1\u7406"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0\u9879\u76ee\uff1a\u8f93\u5165\u9879\u76ee\u540d\u79f0\uff0c\u9879\u76ee\u63cf\u8ff0\uff0c\u9879\u76eeURL\u540e\uff0c\u53ef\u4ee5\u6210\u529f\u6dfb\u52a0\u9879\u76ee\uff0c\u5e76\u5728\u9879\u76ee\u5217\u8868\u4e2d\u663e\u793a\u65b0\u589e\u7684\u9879\u76ee\u4fe1\u606f\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u67e5\u8be2\u9879\u76ee\u5217\u8868\uff1a\u901a\u8fc7\u8f93\u5165\u9879\u76ee\u540d\u79f0\uff0c\u53ef\u4ee5\u67e5\u8be2\u5e76\u8f93\u51fa\u9879\u76ee\u5217\u8868\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u7f16\u8f91\u9879\u76ee\u540d\uff1a\u53ef\u4ee5\u7f16\u8f91\u9879\u76ee\u540d\u79f0\uff0c\u5e76\u5728\u9879\u76ee\u5217\u8868\u4e2d\u67e5\u770b\u7f16\u8f91\u540e\u7684\u9879\u76ee\u4fe1\u606f\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u5220\u9664\u9879\u76ee\uff1a\u901a\u8fc7\u8f93\u5165\u8981\u5220\u9664\u7684\u9879\u76ee\u540d\u79f0\uff0c\u53ef\u4ee5\u6210\u529f\u5220\u9664\u8be5\u9879\u76ee\uff0c\u5e76\u4e14\u8be5\u9879\u76ee\u4e0d\u518d\u663e\u793a\u5728\u9879\u76ee\u5217\u8868\u4e2d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9879\u76ee\u9884\u89c8")),(0,r.kt)("h3",{id:"\u8bbe\u8ba1\u9875\u9762"},"\u8bbe\u8ba1\u9875\u9762"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"\u573a\u666f,\u589e\u52a0\uff0c\u4fee\u6539\uff0c\u5220\u9664\uff0c\u91cd\u547d\u540d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9875\uff0c\u589e\u52a0\uff0c\u4fee\u6539\uff0c\u5220\u9664\uff0c\u91cd\u547d\u540d\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6dfb\u52a0\u56fe\u4f8b\uff1a\u5728\u6307\u5b9a\u573a\u666f\u548c\u9875\u4e0b\u6dfb\u52a0\u56fe\u4f8b\uff0c\u5e76\u4e3a\u5176\u547d\u540d\u3002\u521b\u5efa\u6210\u529f\u540e\uff0c\u6240\u5728\u9875\u4e2d\u663e\u793a\u5bf9\u5e94\u7684\u56fe\u4f8b\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97\uff1a\u5728\u6307\u5b9a\u573a\u666f\u3001\u9875\u548c\u56fe\u4f8b\u4e0b\uff0c\u6253\u5f00\u6570\u636e\u9009\u62e9\u6ed1\u7a97\u3002\u6ed1\u7a97\u6253\u5f00\u6210\u529f\uff0c\u663e\u793a\u6570\u636e\u6e90\u7c7b\u578b\u3001\u6570\u636e\u6e90\u548cSQL\u8f93\u5165\u6846\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b\uff1a\u9009\u62e9\u6570\u636e\u6e90\u7c7b\u578b\uff08\u5982\u6570\u636e\u5e93\uff09\uff0c\u6210\u529f\u540e\u663e\u793a\u4e0e\u6240\u9009\u6570\u636e\u6e90\u7c7b\u578b\u76f8\u5173\u7684\u6570\u636e\u6e90\u9009\u9879\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9009\u62e9\u6570\u636e\u6e90\uff1a\u9009\u62e9\u7279\u5b9a\u7684\u6570\u636e\u6e90\uff08\u5982MySQL\u6570\u636e\u5e931\uff09\uff0c\u6210\u529f\u540e\u53ef\u4ee5\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\uff1a\u8f93\u5165SQL\u67e5\u8be2\u8bed\u53e5\u5e76\u6267\u884c\uff0c\u67f1\u5f62\u56fe\u6839\u636e\u67e5\u8be2\u8fd4\u56de\u7684\u6570\u636e\u8fdb\u884c\u7ed8\u5236\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u4fdd\u5b58\u9875\u9762\uff1a\u4fdd\u5b58\u5305\u62ec\u56fe\u4f8b\u548c\u5173\u8054\u6570\u636e\u8bbe\u7f6e\u5728\u5185\u7684\u9875\u9762\uff0c\u4ee5\u4fbf\u540e\u7eed\u67e5\u770b\u548c\u7f16\u8f91\u3002"),(0,r.kt)("li",{parentName:"ul"},"\u9884\u89c8\u573a\u666f\uff1a\u9884\u89c8\u6574\u4e2a\u573a\u666f\uff0c\u6309\u7167\u573a\u666f\u548c\u9875\u7684\u987a\u5e8f\u67e5\u770b\u5df2\u521b\u5efa\u7684\u56fe\u8868\u3002")),(0,r.kt)("p",null,(0,r.kt)("img",{alt:"\u5728\u8fd9\u91cc\u63d2\u5165\u56fe\u7247\u63cf\u8ff0",src:l(1647).Z,width:"3574",height:"1684"})))}s.isMDXComponent=!0},4902:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/datasource-45396a50f5aea7919f517e1d81456424.png"},1647:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/desgin-8fd0648dd93a1c3fd51cb54900ac2bcd.png"},1956:(e,t,l)=>{l.d(t,{Z:()=>n});const n=l.p+"assets/images/home-d64eb73b3f8144a5bd50d3b1fe12de55.png"}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/eec08420.404c4de2.js b/zh-CN/assets/js/eec08420.404c4de2.js new file mode 100644 index 00000000..1e4cf2c0 --- /dev/null +++ b/zh-CN/assets/js/eec08420.404c4de2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[730],{3905:(e,t,o)=>{o.d(t,{Zo:()=>c,kt:()=>h});var i=o(7294);function n(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}function r(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,i)}return o}function a(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?r(Object(o),!0).forEach((function(t){n(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):r(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function l(e,t){if(null==e)return{};var o,i,n=function(e,t){if(null==e)return{};var o,i,n={},r=Object.keys(e);for(i=0;i<r.length;i++)o=r[i],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i<r.length;i++)o=r[i],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}var s=i.createContext({}),u=function(e){var t=i.useContext(s),o=t;return e&&(o="function"==typeof e?e(t):a(a({},t),e)),o},c=function(e){var t=u(e.components);return i.createElement(s.Provider,{value:t},e.children)},d="mdxType",p={inlineCode:"code",wrapper:function(e){var t=e.children;return i.createElement(i.Fragment,{},t)}},m=i.forwardRef((function(e,t){var o=e.components,n=e.mdxType,r=e.originalType,s=e.parentName,c=l(e,["components","mdxType","originalType","parentName"]),d=u(o),m=n,h=d["".concat(s,".").concat(m)]||d[m]||p[m]||r;return o?i.createElement(h,a(a({ref:t},c),{},{components:o})):i.createElement(h,a({ref:t},c))}));function h(e,t){var o=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=o.length,a=new Array(r);a[0]=m;var l={};for(var s in t)hasOwnProperty.call(t,s)&&(l[s]=t[s]);l.originalType=e,l[d]="string"==typeof e?e:n,a[1]=l;for(var u=2;u<r;u++)a[u]=o[u];return i.createElement.apply(null,a)}return i.createElement.apply(null,o)}m.displayName="MDXCreateElement"},5973:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>s,contentTitle:()=>a,default:()=>p,frontMatter:()=>r,metadata:()=>l,toc:()=>u});var i=o(7462),n=(o(7294),o(3905));const r={title:"SolidUI Community - Official Website Introduction",date:new Date("2023-09-05T00:00:00.000Z"),tags:["SolidUI","AI","stable-diffusion"]},a=void 0,l={permalink:"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction",editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/blog/2023-09-05-Official-Website-Introduction.md",source:"@site/blog/2023-09-05-Official-Website-Introduction.md",title:"SolidUI Community - Official Website Introduction",description:"Background",date:"2023-09-05T00:00:00.000Z",formattedDate:"2023\u5e749\u67085\u65e5",tags:[{label:"SolidUI",permalink:"/SolidUI-Website/zh-CN/blog/tags/solid-ui"},{label:"AI",permalink:"/SolidUI-Website/zh-CN/blog/tags/ai"},{label:"stable-diffusion",permalink:"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion"}],readingTime:4.87,hasTruncateMarker:!1,authors:[],frontMatter:{title:"SolidUI Community - Official Website Introduction",date:"2023-09-05T00:00:00.000Z",tags:["SolidUI","AI","stable-diffusion"]},prevItem:{title:"SolidUI generates any graphics in one sentence, v0.2.0 function introduction",permalink:"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction"},nextItem:{title:"SolidUI\u793e\u533a-\u72ec\u7acb\u90e8\u7f72\u548cDocker\u901a\u4fe1\u5206\u6790",permalink:"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis"}},s={authorsImageUrls:[]},u=[{value:"Background",id:"background",level:2},{value:"Introduction",id:"introduction",level:2},{value:"How to Contribute",id:"how-to-contribute",level:2},{value:"Example",id:"example",level:3},{value:"Conclusion",id:"conclusion",level:2},{value:"SolidUI-Website Contributors",id:"solidui-website-contributors",level:2},{value:"Acknowledgments",id:"acknowledgments",level:2},{value:"How to Become a Contributor",id:"how-to-become-a-contributor",level:2}],c={toc:u},d="wrapper";function p(e){let{components:t,...o}=e;return(0,n.kt)(d,(0,i.Z)({},c,o,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h2",{id:"background"},"Background"),(0,n.kt)("p",null,"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation."),(0,n.kt)("p",null,"Project link: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI"},"https://github.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Project mirror link: ",(0,n.kt)("a",{parentName:"p",href:"https://gitee.com/CloudOrc/SolidUI"},"https://gitee.com/CloudOrc/SolidUI")),(0,n.kt)("p",null,"Community official website: ",(0,n.kt)("a",{parentName:"p",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/")),(0,n.kt)("p",null,"Official website project address\uff1a",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI-Website"},"https://github.com/CloudOrc/SolidUI-Website")),(0,n.kt)("h2",{id:"introduction"},"Introduction"),(0,n.kt)("p",null,"The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Document:")," This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Download:")," Users can download the latest version of SolidUI here."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Releases:")," The release records of SolidUI can be found here, where users can view all version release and update information."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Community:")," This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Code of conduct:")," This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Become A Committer:")," A page for developers to submit code or become project contributors."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Documentation Notice:")," Notices or updates about SolidUI's documentation."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Submit Code:")," A page for submitting code where users can submit their own code for the SolidUI project."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Team:")," Page introducing the SolidUI team members."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Users:")," A page showcasing SolidUI users or customers, thanking partners for their participation."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Our Users:")," A page likely introducing SolidUI's user groups."),(0,n.kt)("li",{parentName:"ul"},(0,n.kt)("strong",{parentName:"li"},"Blog:")," The SolidUI blog, where users can read the latest articles about SolidUI.\nOfficial website: ",(0,n.kt)("a",{parentName:"li",href:"https://cloudorc.github.io/SolidUI-Website/"},"https://cloudorc.github.io/SolidUI-Website/"))),(0,n.kt)("p",null,"Official website project address\uff1a",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI-Website"},"https://github.com/CloudOrc/SolidUI-Website")),(0,n.kt)("h2",{id:"how-to-contribute"},"How to Contribute"),(0,n.kt)("p",null,"Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch."),(0,n.kt)("h3",{id:"example"},"Example"),(0,n.kt)("p",null,"For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization."),(0,n.kt)("p",null,(0,n.kt)("strong",{parentName:"p"},"Submit an Issue")),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},"First, visit the main page of the SolidUI-Website project."),(0,n.kt)("li",{parentName:"ol"},'In the top menu bar of the project, click "Issues".'),(0,n.kt)("li",{parentName:"ol"},'Click the "New issue" button in the upper right corner.'),(0,n.kt)("li",{parentName:"ol"},"Enter the title and description of your Issue on the page that appears."),(0,n.kt)("li",{parentName:"ol"},'When you\'re done, click "Submit new issue".\n',(0,n.kt)("strong",{parentName:"li"},"Submit a Pull Request"))),(0,n.kt)("p",null,"Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:"),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},'On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.'),(0,n.kt)("li",{parentName:"ol"},'In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.'),(0,n.kt)("li",{parentName:"ol"},"Make the required changes on your branch."),(0,n.kt)("li",{parentName:"ol"},"When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project."),(0,n.kt)("li",{parentName:"ol"},'Click "Pull requests", then click "New pull request".'),(0,n.kt)("li",{parentName:"ol"},'Click "compare across forks" and choose your fork and your "dev" branch.'),(0,n.kt)("li",{parentName:"ol"},'Confirm your changes, then click "Create pull request".'),(0,n.kt)("li",{parentName:"ol"},'Provide a title and description for your PR on the opened page, then click "Create pull request".')),(0,n.kt)("h2",{id:"conclusion"},"Conclusion"),(0,n.kt)("p",null,"Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project."),(0,n.kt)("p",null,"We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing."),(0,n.kt)("p",null,"Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project."),(0,n.kt)("p",null,"Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI."),(0,n.kt)("h2",{id:"solidui-website-contributors"},"SolidUI-Website Contributors"),(0,n.kt)("p",null,"The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):"),(0,n.kt)("ul",null,(0,n.kt)("li",{parentName:"ul"},"dlimeng"),(0,n.kt)("li",{parentName:"ul"},"15100399015"),(0,n.kt)("li",{parentName:"ul"},"limingoo")),(0,n.kt)("h2",{id:"acknowledgments"},"Acknowledgments"),(0,n.kt)("p",null,"Thanks to the streampark-website for providing framework support."),(0,n.kt)("h2",{id:"how-to-become-a-contributor"},"How to Become a Contributor"),(0,n.kt)("p",null,"Here are some ways to contribute to the SolidUI community."),(0,n.kt)("p",null,"Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/discussions/54"},"https://github.com/CloudOrc/SolidUI/discussions/54")),(0,n.kt)("p",null,"Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/12"},"https://github.com/CloudOrc/SolidUI/issues/12")),(0,n.kt)("p",null,"Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: ",(0,n.kt)("a",{parentName:"p",href:"https://github.com/CloudOrc/SolidUI/issues/10"},"https://github.com/CloudOrc/SolidUI/issues/10")),(0,n.kt)("p",null,"Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc."),(0,n.kt)("p",null,"Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc."))}p.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/f106860d.3af43ed8.js b/zh-CN/assets/js/f106860d.3af43ed8.js new file mode 100644 index 00000000..721426d5 --- /dev/null +++ b/zh-CN/assets/js/f106860d.3af43ed8.js @@ -0,0 +1 @@ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[6393,9094,4798,4827],{2711:function(e){e.exports=function(e){function t(n){if(a[n])return a[n].exports;var r=a[n]={exports:{},id:n,loaded:!1};return e[n].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var a={};return t.m=e,t.c=a,t.p="dist/",t(0)}([function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},i=(n(a(1)),a(6)),o=n(i),l=n(a(7)),c=n(a(8)),s=n(a(9)),d=n(a(10)),m=n(a(11)),u=n(a(14)),f=[],p=!1,h={offset:120,delay:0,easing:"ease",duration:400,disable:!1,once:!1,startEvent:"DOMContentLoaded",throttleDelay:99,debounceDelay:50,disableMutationObserver:!1},v=function(){if(arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&(p=!0),p)return f=(0,m.default)(f,h),(0,d.default)(f,h.once),f},b=function(){f=(0,u.default)(),v()},g=function(){f.forEach((function(e,t){e.node.removeAttribute("data-aos"),e.node.removeAttribute("data-aos-easing"),e.node.removeAttribute("data-aos-duration"),e.node.removeAttribute("data-aos-delay")}))},y=function(e){return!0===e||"mobile"===e&&s.default.mobile()||"phone"===e&&s.default.phone()||"tablet"===e&&s.default.tablet()||"function"==typeof e&&!0===e()},w=function(e){h=r(h,e),f=(0,u.default)();var t=document.all&&!window.atob;return y(h.disable)||t?g():(h.disableMutationObserver||c.default.isSupported()||(console.info('\n aos: MutationObserver is not supported on this browser,\n code mutations observing has been disabled.\n You may have to call "refreshHard()" by yourself.\n '),h.disableMutationObserver=!0),document.querySelector("body").setAttribute("data-aos-easing",h.easing),document.querySelector("body").setAttribute("data-aos-duration",h.duration),document.querySelector("body").setAttribute("data-aos-delay",h.delay),"DOMContentLoaded"===h.startEvent&&["complete","interactive"].indexOf(document.readyState)>-1?v(!0):"load"===h.startEvent?window.addEventListener(h.startEvent,(function(){v(!0)})):document.addEventListener(h.startEvent,(function(){v(!0)})),window.addEventListener("resize",(0,l.default)(v,h.debounceDelay,!0)),window.addEventListener("orientationchange",(0,l.default)(v,h.debounceDelay,!0)),window.addEventListener("scroll",(0,o.default)((function(){(0,d.default)(f,h.once)}),h.throttleDelay)),h.disableMutationObserver||c.default.ready("[data-aos]",b),f)};e.exports={init:w,refresh:v,refreshHard:b}},function(e,t){},,,,,function(e,t){(function(t){"use strict";function a(e,t,a){function n(t){var a=h,n=v;return h=v=void 0,k=t,g=e.apply(n,a)}function i(e){return k=e,y=setTimeout(d,t),N?n(e):g}function o(e){var a=t-(e-w);return O?x(a,b-(e-k)):a}function c(e){var a=e-w;return void 0===w||a>=t||a<0||O&&e-k>=b}function d(){var e=z();return c(e)?m(e):void(y=setTimeout(d,o(e)))}function m(e){return y=void 0,M&&h?n(e):(h=v=void 0,g)}function u(){void 0!==y&&clearTimeout(y),k=0,h=w=v=y=void 0}function f(){return void 0===y?g:m(z())}function p(){var e=z(),a=c(e);if(h=arguments,v=this,w=e,a){if(void 0===y)return i(w);if(O)return y=setTimeout(d,t),n(w)}return void 0===y&&(y=setTimeout(d,t)),g}var h,v,b,g,y,w,k=0,N=!1,O=!1,M=!0;if("function"!=typeof e)throw new TypeError(s);return t=l(t)||0,r(a)&&(N=!!a.leading,b=(O="maxWait"in a)?E(l(a.maxWait)||0,t):b,M="trailing"in a?!!a.trailing:M),p.cancel=u,p.flush=f,p}function n(e,t,n){var i=!0,o=!0;if("function"!=typeof e)throw new TypeError(s);return r(n)&&(i="leading"in n?!!n.leading:i,o="trailing"in n?!!n.trailing:o),a(e,t,{leading:i,maxWait:t,trailing:o})}function r(e){var t=void 0===e?"undefined":c(e);return!!e&&("object"==t||"function"==t)}function i(e){return!!e&&"object"==(void 0===e?"undefined":c(e))}function o(e){return"symbol"==(void 0===e?"undefined":c(e))||i(e)&&w.call(e)==m}function l(e){if("number"==typeof e)return e;if(o(e))return d;if(r(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=r(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(u,"");var a=p.test(e);return a||h.test(e)?v(e.slice(2),a?2:8):f.test(e)?d:+e}var c="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},s="Expected a function",d=NaN,m="[object Symbol]",u=/^\s+|\s+$/g,f=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,h=/^0o[0-7]+$/i,v=parseInt,b="object"==(void 0===t?"undefined":c(t))&&t&&t.Object===Object&&t,g="object"==("undefined"==typeof self?"undefined":c(self))&&self&&self.Object===Object&&self,y=b||g||Function("return this")(),w=Object.prototype.toString,E=Math.max,x=Math.min,z=function(){return y.Date.now()};e.exports=n}).call(t,function(){return this}())},function(e,t){(function(t){"use strict";function a(e,t,a){function r(t){var a=h,n=v;return h=v=void 0,k=t,g=e.apply(n,a)}function i(e){return k=e,y=setTimeout(d,t),N?r(e):g}function l(e){var a=t-(e-z);return O?E(a,b-(e-k)):a}function s(e){var a=e-z;return void 0===z||a>=t||a<0||O&&e-k>=b}function d(){var e=x();return s(e)?m(e):void(y=setTimeout(d,l(e)))}function m(e){return y=void 0,M&&h?r(e):(h=v=void 0,g)}function u(){void 0!==y&&clearTimeout(y),k=0,h=z=v=y=void 0}function f(){return void 0===y?g:m(x())}function p(){var e=x(),a=s(e);if(h=arguments,v=this,z=e,a){if(void 0===y)return i(z);if(O)return y=setTimeout(d,t),r(z)}return void 0===y&&(y=setTimeout(d,t)),g}var h,v,b,g,y,z,k=0,N=!1,O=!1,M=!0;if("function"!=typeof e)throw new TypeError(c);return t=o(t)||0,n(a)&&(N=!!a.leading,b=(O="maxWait"in a)?w(o(a.maxWait)||0,t):b,M="trailing"in a?!!a.trailing:M),p.cancel=u,p.flush=f,p}function n(e){var t=void 0===e?"undefined":l(e);return!!e&&("object"==t||"function"==t)}function r(e){return!!e&&"object"==(void 0===e?"undefined":l(e))}function i(e){return"symbol"==(void 0===e?"undefined":l(e))||r(e)&&y.call(e)==d}function o(e){if("number"==typeof e)return e;if(i(e))return s;if(n(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=n(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(m,"");var a=f.test(e);return a||p.test(e)?h(e.slice(2),a?2:8):u.test(e)?s:+e}var l="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},c="Expected a function",s=NaN,d="[object Symbol]",m=/^\s+|\s+$/g,u=/^[-+]0x[0-9a-f]+$/i,f=/^0b[01]+$/i,p=/^0o[0-7]+$/i,h=parseInt,v="object"==(void 0===t?"undefined":l(t))&&t&&t.Object===Object&&t,b="object"==("undefined"==typeof self?"undefined":l(self))&&self&&self.Object===Object&&self,g=v||b||Function("return this")(),y=Object.prototype.toString,w=Math.max,E=Math.min,x=function(){return g.Date.now()};e.exports=a}).call(t,function(){return this}())},function(e,t){"use strict";function a(e){var t=void 0,n=void 0;for(t=0;t<e.length;t+=1){if((n=e[t]).dataset&&n.dataset.aos)return!0;if(n.children&&a(n.children))return!0}return!1}function n(){return window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver}function r(){return!!n()}function i(e,t){var a=window.document,r=new(n())(o);l=t,r.observe(a.documentElement,{childList:!0,subtree:!0,removedNodes:!0})}function o(e){e&&e.forEach((function(e){var t=Array.prototype.slice.call(e.addedNodes),n=Array.prototype.slice.call(e.removedNodes);if(a(t.concat(n)))return l()}))}Object.defineProperty(t,"__esModule",{value:!0});var l=function(){};t.default={isSupported:r,ready:i}},function(e,t){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(){return navigator.userAgent||navigator.vendor||window.opera||""}Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i,o=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,l=/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i,c=/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i,s=function(){function e(){a(this,e)}return r(e,[{key:"phone",value:function(){var e=n();return!(!i.test(e)&&!o.test(e.substr(0,4)))}},{key:"mobile",value:function(){var e=n();return!(!l.test(e)&&!c.test(e.substr(0,4)))}},{key:"tablet",value:function(){return this.mobile()&&!this.phone()}}]),e}();t.default=new s},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e,t,a){var n=e.node.getAttribute("data-aos-once");t>e.position?e.node.classList.add("aos-animate"):void 0!==n&&("false"===n||!a&&"true"!==n)&&e.node.classList.remove("aos-animate")},n=function(e,t){var n=window.pageYOffset,r=window.innerHeight;e.forEach((function(e,i){a(e,r+n,t)}))};t.default=n},function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(a(12)),i=function(e,t){return e.forEach((function(e,a){e.node.classList.add("aos-init"),e.position=(0,r.default)(e.node,t.offset)})),e};t.default=i},function(e,t,a){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var r=n(a(13)),i=function(e,t){var a=0,n=0,i=window.innerHeight,o={offset:e.getAttribute("data-aos-offset"),anchor:e.getAttribute("data-aos-anchor"),anchorPlacement:e.getAttribute("data-aos-anchor-placement")};switch(o.offset&&!isNaN(o.offset)&&(n=parseInt(o.offset)),o.anchor&&document.querySelectorAll(o.anchor)&&(e=document.querySelectorAll(o.anchor)[0]),a=(0,r.default)(e).top,o.anchorPlacement){case"top-bottom":break;case"center-bottom":a+=e.offsetHeight/2;break;case"bottom-bottom":a+=e.offsetHeight;break;case"top-center":a+=i/2;break;case"bottom-center":a+=i/2+e.offsetHeight;break;case"center-center":a+=i/2+e.offsetHeight/2;break;case"top-top":a+=i;break;case"bottom-top":a+=e.offsetHeight+i;break;case"center-top":a+=e.offsetHeight/2+i}return o.anchorPlacement||o.offset||isNaN(t)||(n=t),a+n};t.default=i},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){for(var t=0,a=0;e&&!isNaN(e.offsetLeft)&&!isNaN(e.offsetTop);)t+=e.offsetLeft-("BODY"!=e.tagName?e.scrollLeft:0),a+=e.offsetTop-("BODY"!=e.tagName?e.scrollTop:0),e=e.offsetParent;return{top:a,left:t}};t.default=a},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=function(e){return e=e||document.querySelectorAll("[data-aos]"),Array.prototype.map.call(e,(function(e){return{node:e}}))};t.default=a}])},1262:(e,t,a)=>{"use strict";a.d(t,{Z:()=>i});var n=a(7294),r=a(2389);function i(e){let{children:t,fallback:a}=e;return(0,r.Z)()?n.createElement(n.Fragment,null,t?.()):a??null}},3168:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>o});var n=a(7294),r=a(2389),i=a(5166);function o(){const e=(0,r.Z)()&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",t=i?.[e];return n.createElement("div",{className:"section bg-light"},n.createElement("div",{className:"container"},n.createElement("div",{className:"row text-center"},n.createElement("div",{className:"col-12"},n.createElement("div",{className:"mb-5"},n.createElement("h2",{className:"h3 fw-bold"},t.common.coreFeatures),n.createElement("hr",{className:"divider my-4 mx-auto"}),n.createElement("p",{className:"lead text-muted"},t.common.coreFeaturesDesc))),t.feature.map(((e,t)=>n.createElement("div",{className:"col-md-4 col-6 px-4 px-md-3 cursor-pointer",key:t,"data-aos":"fade-up","data-aos-delay":t%3*100},n.createElement("div",{className:"feature-children p-4 mb-5 rounded-3 bg-white shadow-sm hover-box-up"},n.createElement("div",{className:"text-primary text-center mb-3"},n.createElement("div",{className:"features-icon"},n.createElement("i",{className:e.icon}))),n.createElement("h3",{className:"h5"},e.title),n.createElement("p",null,e.details))))))))}},9786:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>v});var n=a(7294),r=a(2389),i=a(5166);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},o.apply(this,arguments)}const l=e=>{let{title:t,titleId:a,...r}=e;return n.createElement("svg",o({xmlns:"http://www.w3.org/2000/svg",className:"rotate-315",width:"2rem",height:"2rem",fill:"currentColor",viewBox:"0 0 512 512","aria-labelledby":a},r),t?n.createElement("title",{id:a},t):null,n.createElement("path",{d:"M461.81 53.81a4.4 4.4 0 0 0-3.3-3.39c-54.38-13.3-180 34.09-248.13 102.17a294.9 294.9 0 0 0-33.09 39.08c-21-1.9-42-.3-59.88 7.5-50.49 22.2-65.18 80.18-69.28 105.07a9 9 0 0 0 9.8 10.4l81.07-8.9a180.29 180.29 0 0 0 1.1 18.3 18.15 18.15 0 0 0 5.3 11.09l31.39 31.39a18.15 18.15 0 0 0 11.1 5.3 179.91 179.91 0 0 0 18.19 1.1l-8.89 81a9 9 0 0 0 10.39 9.79c24.9-4 83-18.69 105.07-69.17 7.8-17.9 9.4-38.79 7.6-59.69a293.91 293.91 0 0 0 39.19-33.09c68.38-68 115.47-190.86 102.37-247.95ZM298.66 213.67a42.7 42.7 0 1 1 60.38 0 42.65 42.65 0 0 1-60.38 0Z",style:{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:32}}),n.createElement("path",{d:"M109.64 352a45.06 45.06 0 0 0-26.35 12.84C65.67 382.52 64 448 64 448s65.52-1.67 83.15-19.31A44.73 44.73 0 0 0 160 402.32",style:{color:"#ffcc43",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:32}}))};var c;function s(){return s=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},s.apply(this,arguments)}const d=e=>{let{title:t,titleId:a,...r}=e;return n.createElement("svg",s({width:200,height:200,viewBox:"0 0 200 200",xmlns:"http://www.w3.org/2000/svg","aria-labelledby":a},r),t?n.createElement("title",{id:a},t):null,c||(c=n.createElement("path",{fill:"currentColor",d:"M142.5 33.8c14.6 9.5 30 17.8 38.6 30.9 8.7 13.1 10.7 30.9 8.5 48.3-2.3 17.4-8.9 34.4-20.1 47.1-11.2 12.8-27.1 21.4-43.6 24.5-16.4 3.2-33.3.8-48.6-4.8-15.2-5.7-28.8-14.6-38.2-26.5-9.5-11.9-14.9-26.7-18.1-42.5-3.1-15.8-4.1-32.5 1.3-47.2 5.3-14.6 17-27.3 31-37.1S83.6 9.9 98.8 11.8c15.1 1.9 29 12.5 43.7 22Z"})))};var m,u,f;function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},p.apply(this,arguments)}const h=e=>{let{title:t,titleId:a,...r}=e;return n.createElement("svg",p({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1440 320","aria-labelledby":a},r),t?n.createElement("title",{id:a},t):null,m||(m=n.createElement("path",{className:"opacity-20 translate-top-2",fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})),u||(u=n.createElement("path",{className:"opacity-30 translate-top-1",fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})),f||(f=n.createElement("path",{fill:"currentColor",d:"m0 160 60 26.7c60 26.3 180 80.3 300 58.6C480 224 600 128 720 106.7 840 85 960 139 1080 149.3c120 10.7 240-21.3 300-37.3l60-16v224H0Z"})))};function v(){const e=(0,r.Z)(),t=e&&0===location.pathname.indexOf("/zh-CN/")?"zh-CN":"en",a=e&&0===location.pathname.indexOf("/zh-CN/")?"/zh-CN":"",o=i?.[t];return n.createElement("div",{className:"section bg-gradient-primary pb-9 pt-7 overflow-hidden"},n.createElement("div",{className:"overlay bg-gradient-primary opacity-90 z-index-n1"}),n.createElement("div",{className:"particle"},n.createElement("div",{className:"particle-move-up d-none d-block particle-move-up-1 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"2rem",height:"2rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-2 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1rem",height:"1rem"})),n.createElement("div",{className:"particle-move-up d-none d-sm-block particle-move-up-3 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1.5rem",height:"1.5rem"})),n.createElement("div",{className:"particle-move-up d-none d-xl-block particle-move-up-4 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1rem",height:"1rem"})),n.createElement("div",{className:"particle-move-up d-none d-sm-block particle-move-up-5 text-light z-index-n1 opacity-60"},n.createElement(l,{width:"1.2rem",height:"1.2rem"})),n.createElement("div",{className:"particle-move-up border-success text-light particle-move-up-6 z-index-n1 opacity-60"},n.createElement(l,{width:"2rem",height:"2rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-7 z-index-n1 text-light opacity-60"},n.createElement(l,{width:"1.5rem",height:"1.5rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-8 z-index-n1 text-light opacity-60"},n.createElement(l,{width:"1.2rem",height:"1.2rem"})),n.createElement("div",{className:"particle-move-up particle-move-up-9 z-index-n1 text-light opacity-60"},n.createElement(l,{width:"2rem",height:"2rem"}))),n.createElement("figure",{className:"scribble scale-4 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"300"},n.createElement(d,{className:"text-secondary"})),n.createElement("figure",{className:"scribble scale-5 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"200"},n.createElement(d,{className:"text-secondary"})),n.createElement("figure",{className:"scribble scale-6 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right","data-delay-aos":"100"},n.createElement(d,{className:"text-secondary"})),n.createElement("figure",{className:"scribble scale-7 opacity-10 top-50 start-0 z-index-n1","data-aos":"fade-up-right"},n.createElement(d,{className:"text-secondary"})),n.createElement("div",{className:"container-fluid px-7 pb-2"},n.createElement("div",{className:"row justify-content-center"},n.createElement("div",{className:"col-md-6 col-8 align-self-center pe-5","data-aos":"fade-right"},n.createElement("div",{className:"text-start mt-0"},n.createElement("div",{className:"mb-5 system_info pt-0"},n.createElement("div",{className:"project_title fw-bold text-white mb-3"},n.createElement("div",{className:"d-flex justify-content-center align-items-start"},n.createElement("div",{className:"animated-gradient-text_background animated-gradient-text_background-2",style:{"--content":'"SolidUI"',"--start-color":"#FFF","--end-color":"#00DFD8"}},n.createElement("span",{className:"animated-gradient-text_foreground animated-gradient-text_foreground-2"},"SolidUI")))),n.createElement("p",{className:"lead text-light text-center"},o.slogan.description)),n.createElement("div",{className:"d-flex justify-content-center align-items-start"},n.createElement("a",{className:"btn streampark-btn btn mt-30 ztop",href:"https://github.com/CloudOrc/SolidUI",target:"_blank"},n.createElement("i",{className:"lni-github-original"}),"\xa0GitHub"),n.createElement("a",{className:"btn streampark-btn btn-green mt-30 ml-3 ztop",href:`/SolidUI-Website${a}/docs/user-guide/quick-start`,style:{marginLeft:"10px"}},n.createElement("i",{className:"lni-play"}),"\xa0Get started")),n.createElement("div",{style:{marginTop:"20px"},className:"shields ztop d-flex justify-content-center align-items-start"},n.createElement("a",{target:"_blank",href:"https://www.apache.org/licenses/LICENSE-2.0.html"},n.createElement("img",{src:"https://img.shields.io/badge/license-Apache%202-blue.svg",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://github.com/CloudOrc/SolidUI"},n.createElement("img",{src:"https://img.shields.io/github/stars/CloudOrc/SolidUI.svg?sanitize=true",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://github.com/CloudOrc/SolidUI/fork"},n.createElement("img",{src:"https://img.shields.io/github/forks/CloudOrc/SolidUI.svg?sanitize=true",className:"wow fadeInUp"})),n.createElement("a",{href:""},n.createElement("img",{src:"https://img.shields.io/github/languages/count/CloudOrc/SolidUI",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://huggingface.co/spaces/CloudOrc/SolidUI"},n.createElement("img",{src:"https://img.shields.io/badge/%F0%9F%A4%97%20-Hugging%20Face%20Spaces-blue",className:"wow fadeInUp"})),n.createElement("a",{href:"https://www.producthunt.com/posts/solidui?utm_source=badge-featured&utm_medium=badge&utm_souce=badge-solidui",target:"_blank"},n.createElement("img",{src:"https://img.shields.io/badge/producthunt-blue",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://discord.gg/NGRNu2mGeQ"},n.createElement("img",{src:"https://img.shields.io/badge/discord-blue",className:"wow fadeInUp"})),n.createElement("a",{target:"_blank",href:"https://gitee.com/CloudOrc/SolidUI"},n.createElement("img",{src:"https://shields.io/badge/%E2%AD%90-Gitee-blue",alt:"gitee",className:"wow fadeInUp"}))))))),n.createElement("figure",{className:"waves-bottom-center text-light mb-n4 z-index-n1"},n.createElement(h,null)))}},2875:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>d});var n=a(7294),r=a(1262),i=a(9786),o=a(3168),l=a(5995),c=a(2711),s=a.n(c);function d(){return n.createElement(r.Z,{fallback:n.createElement("div",{id:"preloader"})},(()=>(s().init({offset:100,duration:700,easing:"ease-out-quad",once:!0}),window.addEventListener("load",s().refresh),n.createElement("div",{className:"home-wrap"},n.createElement(i.default,null),n.createElement(o.default,null),n.createElement(l.default,null)))))}},5995:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>C});var n,r,i,o,l,c,s,d,m,u,f,p,h,v,b,g,y,w,E,x,z,k,N,O,M,j=a(7294),H=(a(2389),a(4996));a(5166);function S(){return S=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},S.apply(this,arguments)}const _=e=>{let{title:t,titleId:a,...H}=e;return j.createElement("svg",S({"data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 509.23 364.6","aria-labelledby":a},H),t?j.createElement("title",{id:a},t):null,n||(n=j.createElement("defs",null,j.createElement("linearGradient",{id:"a",x1:225,y1:279.58,x2:246.68,y2:279.58,gradientUnits:"userSpaceOnUse"},j.createElement("stop",{offset:0,stopColor:"#e5c6d6"}),j.createElement("stop",{offset:.42,stopColor:"#ead4d0"}),j.createElement("stop",{offset:1,stopColor:"#f0e9cb"})),j.createElement("linearGradient",{id:"d",x1:196.9,y1:214.27,x2:270.4,y2:214.27,xlinkHref:"#a"}),j.createElement("linearGradient",{id:"b",x1:235.47,y1:403.52,x2:245.47,y2:302.39,gradientUnits:"userSpaceOnUse"},j.createElement("stop",{offset:0,stopColor:"#010101",stopOpacity:0}),j.createElement("stop",{offset:.95,stopColor:"#010101"})),j.createElement("linearGradient",{id:"e",x1:236.71,y1:341.09,x2:236.71,y2:400.36,xlinkHref:"#b"}),j.createElement("linearGradient",{id:"c",x1:224.9,y1:346.73,x2:252.31,y2:206.71,gradientUnits:"userSpaceOnUse"},j.createElement("stop",{offset:0,stopColor:"#fff",stopOpacity:0}),j.createElement("stop",{offset:.95,stopColor:"#fff"})),j.createElement("linearGradient",{id:"f",x1:210.88,y1:311.27,x2:250.61,y2:311.27,xlinkHref:"#b"}),j.createElement("linearGradient",{id:"g",x1:223.84,y1:324.62,x2:258.66,y2:324.62,xlinkHref:"#c"}),j.createElement("linearGradient",{id:"h",x1:170.56,y1:395.25,x2:224.36,y2:395.25,xlinkHref:"#a"}),j.createElement("linearGradient",{id:"i",x1:259.78,y1:395.21,x2:306.81,y2:395.21,xlinkHref:"#a"}))),j.createElement("path",{d:"M47.72 209.34c5.86-11.1 15.44-21.13 15.81-33.68.26-9.18-4.56-17.6-8.09-26.09-18-43.23.64-98.39 41.13-121.9 22.1-12.83 48.29-16.49 73.8-17.93a500.35 500.35 0 0 1 86.79 2.63c16.88 2 34.55 5.23 47.61 16.1 20.47 17 23.36 46.63 31.14 72.09 13.67 44.72 47.42 82.87 90.13 101.9 7.73 3.44 15.92 6.4 22.17 12.1 13.71 12.48 13.85 34.94 5.4 51.44s-23.52 28.43-38.17 39.83l-45.46 35.45c-9.2 7.17-18.62 14.47-29.65 18.26-36.75 12.64-86.6-2.22-124.75-3.91-24.63-1.1-50.74 1.34-74.81-5.08-53.28-14.23-124.33-81.88-93.05-141.21z",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),j.createElement("rect",{x:271.83,y:187.67,width:136.11,height:83.47,rx:10.6,transform:"rotate(-180 338.605 204.39)",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),j.createElement("rect",{x:71.79,y:227.5,width:105.11,height:65.32,rx:8.24,transform:"rotate(-180 123.06 235.14)",fill:"#4b39ef",opacity:.24,style:{isolation:"isolate"}}),j.createElement("path",{d:"M482.81 165.57h-160a26.46 26.46 0 0 1-26.43-26.42V26.53A26.46 26.46 0 0 1 322.81.1h160a26.46 26.46 0 0 1 26.42 26.43v112.62a26.45 26.45 0 0 1-26.42 26.42zm-160-161.52a22.5 22.5 0 0 0-22.48 22.48v112.62a22.5 22.5 0 0 0 22.48 22.47h160a22.5 22.5 0 0 0 22.47-22.47V26.53a22.5 22.5 0 0 0-22.47-22.48zM200.05 73.42h-64.9a11.9 11.9 0 0 1-11.89-11.89V15.86a11.9 11.9 0 0 1 11.89-11.9h64.9a11.9 11.9 0 0 1 11.89 11.9v45.67a11.9 11.9 0 0 1-11.89 11.89zm-64.9-65.46a8 8 0 0 0-7.94 7.94v45.67a8 8 0 0 0 7.94 7.94h64.9a8 8 0 0 0 7.94-7.94V15.86a8 8 0 0 0-7.94-7.9z",fill:"#4b39ef",opacity:.63,style:{isolation:"isolate"}}),r||(r=j.createElement("path",{d:"M225.82 292.41a6.15 6.15 0 0 0 1 3.21 4.57 4.57 0 0 0 2.14 1.39c3.82 1.35 8-.21 11.75-1.76a10.11 10.11 0 0 0 4.36-2.77 9.44 9.44 0 0 0 1.47-5.29 79.24 79.24 0 0 0-.93-18.07 9.62 9.62 0 0 0-1.53-4.39c-1.85-2.45-5.33-2.78-8.4-2.9-7.73-.29-10-1.28-10.44 6.82a147.34 147.34 0 0 0 .58 23.76z",transform:"translate(-2.56 -50.04)",fill:"url(#a)"})),i||(i=j.createElement("path",{d:"M203.56 234.62a41 41 0 0 0 7.62 11.63 32.35 32.35 0 0 0 49.6-3.51c4.8-6.69 6.86-14.94 8.3-23.05 1.25-7.1 2.1-14.49.25-21.46-2.43-9.11-9.4-16.62-17.8-20.88s-18.1-5.5-27.5-4.83c-5.88.43-11.82 1.62-16.93 4.54-10.1 5.74-10.56 13.7-10.1 24.08.55 11.38 1.83 22.99 6.56 33.48z",transform:"translate(-2.56 -50.04)",fill:"url(#d)"})),o||(o=j.createElement("path",{d:"M222.9 97.08c-2.78-3-6.07-6.06-10.17-6.55s-8.78 2.9-8 7c-6.35-3.05-13.79-5.56-20.29-2.85-5.46 2.26-9 8-9.76 13.82s1 11.82 3.76 17a28.37 28.37 0 0 0 6.13 8.1c5.86 5.16 14 6.6 21.78 7.51 13.2 1.54 26.84 2.1 39.49-2 3.82-1.23 8.59-2.67 11.37.23 2.07 2.15 2.69 6.41 5.68 6.4 2.42 0 3.52-3 3.75-5.43a44.83 44.83 0 0 0-1.72-17.12c-2.91-9.63-9.84-17-20.39-16.92-9.77.12-14.88-1.81-21.63-9.19z",fill:"#e08142"})),l||(l=j.createElement("rect",{x:199.58,y:149.95,width:25.75,height:17.78,rx:7.23,fill:"none",stroke:"#fff",strokeMiterlimit:10,strokeWidth:3.95})),c||(c=j.createElement("rect",{x:234.6,y:149.95,width:25.75,height:17.78,rx:7.23,fill:"none",stroke:"#fff",strokeMiterlimit:10,strokeWidth:3.95})),s||(s=j.createElement("path",{fill:"#fff",d:"M223.07 156.99h14.35v2.13h-14.35zm-33.49-2.22h11.67v3.33h-11.67zm69.27 1.3h12.97v2.22h-12.97z"})),d||(d=j.createElement("path",{d:"M197.07 185.74a40.73 40.73 0 0 0 .66 9.62c1.62 7 7 12.79 13.38 16.08a51.41 51.41 0 0 1 5.55 2.92c1.82 1.25 3.33 2.93 5.16 4.18a14.17 14.17 0 0 0 14.94.45c1.39-.83 2.77-1.95 4.39-1.87 1.24 0 2.32.81 3.49 1.21 2.67.91 5.59-.08 8.15-1.27s4.93-2.61 6-5.05c.71-1.58.74-3.37 1.08-5.07.86-4.36 3.67-8.06 5.4-12.16 3.6-8.49 2.4-18.16 1.14-27.29l-4.16 6.89c-1.4 2.32-3 4.79-5.54 5.71-3.35 1.19-6.91-.75-10.15-2.24a42.21 42.21 0 0 0-32.68-.85c-2.16.86-4.45 1.92-6.72 1.38-2.7-.64-6.65-7.74-8.78-7.12-2.6.78-1.29 12.3-1.31 14.48z",fill:"#e08142"})),m||(m=j.createElement("path",{d:"M223.3 233.22c27.08-3.86 55.85 9.87 69.89 33.35 4.68 7.84 7.82 16.57 13 24.1 5.47 8 13 14.29 19.29 21.63a87.06 87.06 0 0 1 12.65 19.59c3 6.44 5.13 14.48 1.1 20.35-3.7 5.4-11 6.7-17.55 7.19-13 1-26.11.67-39.17.34l-128.32-3.17c-5.72-.14-11.58-.31-16.89-2.44s-10-6.69-10.68-12.37c-1-8.32 6.45-14.84 12-21.13 16.13-18.36 19.74-45.07 35.28-63.93a63.48 63.48 0 0 1 47.54-22.77",fill:"#4b39ef"})),u||(u=j.createElement("path",{d:"M225.86 283.26c27.08-3.86 55.85 9.87 69.89 33.35 4.68 7.84 7.82 16.57 13 24.1 5.47 8 13 14.29 19.29 21.63a87.06 87.06 0 0 1 12.65 19.59c3 6.44 5.13 14.48 1.1 20.35-3.7 5.4-11 6.7-17.55 7.19-13 1-26.11.67-39.17.34l-128.32-3.17c-5.72-.14-11.58-.31-16.89-2.44s-10-6.69-10.68-12.37c-1-8.32 6.45-14.84 12-21.13 16.13-18.36 19.74-45.07 35.28-63.93A63.48 63.48 0 0 1 224 284",transform:"translate(-2.56 -50.04)",fill:"url(#b)"})),f||(f=j.createElement("path",{fill:"#4b39ef",d:"M178.65 350.18h116.13v7.78H178.65z"})),p||(p=j.createElement("path",{fill:"url(#e)",d:"M178.65 350.18h116.13v7.78H178.65z"})),h||(h=j.createElement("rect",{x:146.6,y:221.64,width:182.66,height:110.39,rx:20.61,fill:"#4b39ef"})),v||(v=j.createElement("rect",{x:146.6,y:224.97,width:182.66,height:110.39,rx:20.61,fill:"url(#c)"})),b||(b=j.createElement("path",{opacity:.26,fill:"url(#f)",d:"m210.88 330.71 19.44-39.43h17.79l2.5 39.99-39.73-.56z"})),g||(g=j.createElement("path",{fill:"#4b39ef",d:"M257 357.96h-34.83l8.15-66.68h17.79l8.89 66.68z"})),y||(y=j.createElement("path",{fill:"url(#g)",d:"M258.66 357.96h-34.82l8.15-66.68h17.78l8.89 66.68z"})),w||(w=j.createElement("rect",{x:298.33,width:208.93,height:161.51,rx:24.45,fill:"#fff"})),j.createElement("path",{d:"M124.69 200.25H18.23A18.26 18.26 0 0 1 0 182.01V107.1a18.26 18.26 0 0 1 18.23-18.24h106.46a18.26 18.26 0 0 1 18.23 18.24v74.91a18.26 18.26 0 0 1-18.23 18.24zM18.23 92.81A14.31 14.31 0 0 0 3.94 107.1v74.91a14.31 14.31 0 0 0 14.29 14.29h106.46a14.31 14.31 0 0 0 14.29-14.29V107.1a14.31 14.31 0 0 0-14.29-14.29z",fill:"#4b39ef",opacity:.63,style:{isolation:"isolate"}}),E||(E=j.createElement("rect",{x:1.97,y:88.16,width:138.98,height:107.44,rx:16.26,fill:"#fff"})),x||(x=j.createElement("rect",{x:124.96,y:4.14,width:84.73,height:65.5,rx:9.91,fill:"#fff"})),z||(z=j.createElement("path",{d:"m135.76 37.58 21.38-11v3.18l-18 9v.1l18 9v3.19l-21.38-11zm24.36 15.38 12.86-33.42h3.13l-12.9 33.42zm40.26-12.76-21.36 11v-3.24l18.15-9v-.15l-18.15-9v-3.24l21.36 11z",fill:"#4b39ef"})),k||(k=j.createElement("path",{d:"M212.62 385.73c-4.58-.92-9.3-.08-14 .06-4.48.13-9-.4-13.43 0s-9.07 2-11.93 5.41a11.85 11.85 0 0 0-2.72 7.93 6.21 6.21 0 0 0 .8 3.08c1.22 1.95 3.76 2.54 6 2.87a4.06 4.06 0 0 0 1.39 0c1.65-.36 2.23-2.48 3.66-3.36a5.64 5.64 0 0 1 3.13-.54q17.58.36 35.17-.14a4.63 4.63 0 0 0 2.33-.48c3.2-2-.5-6.48-1.65-8.62a12.66 12.66 0 0 0-8.75-6.21z",transform:"translate(-2.56 -50.04)",fill:"url(#h)"})),N||(N=j.createElement("path",{d:"M261.4 391.74c-1.61 2.21-2.49 5.72-.32 7.38 1.95 1.5 4.81.26 6.63-1.39s3.48-3.79 5.9-4.26c.36 2.1.84 4.4 2.56 5.65 2.61 1.9 6.21.26 9.43.29 2.9 0 6.21 1.37 8.45-.48 1.16-1 2.48-2.77 3.68-1.85a2.39 2.39 0 0 1 .69 1.23 34.38 34.38 0 0 0 4.8 9.45c1.46.57 2.56-1.41 2.84-3a47.44 47.44 0 0 0 .51-13.14c-.24-2.44-.76-5-2.5-6.76-2.27-2.27-5.86-2.37-9.07-2.32l-12.88.19c-7.66.15-15.95 2.49-20.72 9.01z",transform:"translate(-2.56 -50.04)",fill:"url(#i)"})),j.createElement("path",{d:"M251.99 261.53a12.77 12.77 0 1 1-12.79-12.79 8.57 8.57 0 0 1 2 .2 12.61 12.61 0 0 0 10.74 12.12 1.83 1.83 0 0 1 .05.47z",fill:"#4b39ef",opacity:.59,style:{isolation:"isolate"}}),O||(O=j.createElement("path",{d:"M324.96 21.4h53.4v3.92h-53.4zm0 7.58h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.59h44.82v3.88h-44.82zm14.39 7.58h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.58h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-76.45 10.25h53.4v3.92h-53.4zm0 7.58h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.58h44.82v3.88h-44.82zm14.39 7.59h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.58h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-76.45 10.26h53.4v3.92h-53.4zm0 7.57h32.59v3.68h-32.59zm45.74 0h102.56v3.7H370.7zm-28.79 7.58h44.82v3.88h-44.82zm14.39 7.58h53.4v3.92h-53.4zm56.88 0h44.76v4.35h-44.76zm-56.96 7.6h41.23v3.68h-41.23zm45.19 0h85.08v4.07h-85.08zm-382.9-27.97H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.94h29.12v2.52H29.52zm9.35 4.92h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.93h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17zm-49.66 6.66H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.93h29.12v2.52H29.52zm9.35 4.93h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.92h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17zm-49.66 6.67H53.2v2.54H18.51zm0 4.92h21.18v2.39H18.51zm29.72 0h66.63v2.4H48.23zm-18.71 4.92h29.12v2.52H29.52zm9.35 4.93h34.69v2.54H38.87zm36.95 0h29.08v2.83H75.82zm-37 4.93h26.79v2.39H38.82zm29.35 0h55.28v2.65H68.17z",opacity:.52,fill:"#4b39ef"})),M||(M=j.createElement("path",{d:"M338.05 250.67c.32-1.71.66-3.42 1-5.13.18-1 .35-1.93.54-3 1.6.27 3.16.52 4.71.82a.8.8 0 0 0 1.05-.52c.7-1.36 1.48-2.68 2.3-4a.77.77 0 0 0-.07-1.12c-1-1.19-2-2.42-3.11-3.69l6.7-5.63c1 1.23 2.06 2.42 3.05 3.65a.84.84 0 0 0 1.22.28 33.56 33.56 0 0 1 4.14-1.51c.65-.19.8-.45.79-1.06v-4.65h8.74v4.67c0 .62.16.85.79 1a35.33 35.33 0 0 1 4.14 1.52.83.83 0 0 0 1.21-.3c1-1.21 2-2.39 3.05-3.64l6.69 5.62-3.43 4.11c.93 1.71 1.8 3.35 2.73 4.95.1.18.54.27.8.23 1.56-.24 3.12-.53 4.78-.82l1.52 8.6c-1.63.29-3.21.56-4.78.87-.26.05-.64.29-.68.5-.31 1.82-.56 3.65-.85 5.58l4.62 2.68-4.37 7.57-4.65-2.67c-1.5 1.2-2.95 2.34-4.38 3.53a.83.83 0 0 0-.13.74c.52 1.55 1.09 3.08 1.67 4.68l-8.21 3c-.51-1.39-1.06-2.75-1.49-4.15a1.19 1.19 0 0 0-1.5-1 31.73 31.73 0 0 1-4.25 0 .71.71 0 0 0-.87.58c-.52 1.5-1.08 3-1.66 4.56l-8.22-3 1.84-5.08-4.63-3.9-4.69 2.7-4.38-7.57c1.45-.84 2.81-1.64 4.19-2.41a.76.76 0 0 0 .43-1 44.39 44.39 0 0 1-.76-4.27c-.09-.7-.25-1-1-1.13-1.52-.17-3-.5-4.52-.77zm26.76-10.43a11.17 11.17 0 1 0 11 11.36 11.23 11.23 0 0 0-11-11.36zm48.72 35.72 1.91 6c-1.11.37-2.18.69-3.21 1.08a.91.91 0 0 0-.51.65c-.09 1.06-.06 2.12-.14 3.18a.7.7 0 0 0 .53.85c1 .37 2 .81 3.08 1.25-.8 2-1.56 3.85-2.35 5.79-1.09-.44-2.12-.89-3.17-1.26a.91.91 0 0 0-.8.18c-.84.89-1.63 1.84-2.51 2.85l1.79 3.42-5.52 2.94c-.55-1-1.05-2-1.6-3a.88.88 0 0 0-.66-.4c-1.27.15-2.54.38-3.85.58l-.83 3.77-6.1-1.31.79-3.77c-1.13-.74-2.21-1.47-3.32-2.15a.79.79 0 0 0-.7.12c-.9.66-1.77 1.36-2.71 2.09l-3.85-4.93c.92-.72 1.76-1.4 2.63-2.05a.67.67 0 0 0 .3-.94 27.5 27.5 0 0 1-1-2.95.68.68 0 0 0-.78-.62h-3.16v-6.3h3.94c.5-1.18 1-2.36 1.51-3.57.07-.18-.12-.55-.29-.72-.78-.76-1.61-1.47-2.47-2.25l4.18-4.65 2.88 2.57c1.22-.62 2.41-1.2 3.58-1.84.14-.08.2-.46.18-.68-.12-1.08-.29-2.16-.45-3.33l6.19-.86c.16 1.11.32 2.13.43 3.16.06.58.3.82.91.89a19.56 19.56 0 0 1 2.71.59.77.77 0 0 0 1.06-.39c.53-.93 1.12-1.81 1.74-2.79l5.29 3.32-2 3.27c.79 1.07 1.56 2.13 2.37 3.14a1 1 0 0 0 .77.12c1.06-.31 2.12-.66 3.21-1.05zm-16.8 16.75a8 8 0 1 0-8.12-7.84 8 8 0 0 0 8.12 7.87zm18.19-50.61 2.41-1.89 3.06 3.87c-.59.47-1.11 1-1.7 1.34s-.81.81-.41 1.46a2.94 2.94 0 0 1 .3.76c.52 1.58.52 1.58 2.22 1.65h1.21v4.89h-2.55c-.47 0-.7.11-.8.57a6.05 6.05 0 0 1-.36 1.09c-.62 1.55-.63 1.55.65 2.68l1 .87-3.28 3.69-2.3-2c-.9.47-1.8.91-2.67 1.41a.82.82 0 0 0-.25.65c.08.84.22 1.67.34 2.58l-4.87.71c-.13-.89-.23-1.73-.41-2.54a.93.93 0 0 0-.56-.6c-.9-.23-1.81-.38-2.82-.58l-1.63 2.6-4.19-2.59c.45-.74.86-1.45 1.31-2.13a.63.63 0 0 0-.08-1 8.61 8.61 0 0 1-.95-1.13c-.77-1.07-.76-1.07-2.05-.65-.51.18-1 .34-1.66.54l-1.55-4.67c.81-.27 1.56-.55 2.34-.77a.72.72 0 0 0 .61-.87 13.67 13.67 0 0 1 .08-2.12.69.69 0 0 0-.53-.85c-.77-.27-1.52-.59-2.33-.92l1.82-4.58c.84.33 1.62.67 2.42.93a.87.87 0 0 0 .75-.16c.66-.69 1.26-1.43 1.93-2.2l-1.42-2.7 4.33-2.34 1.48 2.69 3.36-.5.64-3 4.82 1c-.17.84-.32 1.63-.5 2.42a.73.73 0 0 0 .43 1c.79.38 1.54.89 2.36 1.39zm-14 9.24a6.28 6.28 0 1 0 6.39-6.26 6.22 6.22 0 0 0-6.38 6.26z",opacity:.61,fill:"#4b39ef"})))};function C(){return j.createElement("div",{className:"section py-6 py-md-7 bg-white"},j.createElement("div",{className:"container"},j.createElement("div",{className:"row mb-5 mt-5 mb-lg-7"},j.createElement("div",{className:"col-6 align-self-center"},j.createElement("div",{className:"px-5 px-md-7 mb-5 my-lg-0","data-aos":"fade-up","data-aos-delay":"100"},j.createElement(_,{className:"img-fluid"}))),j.createElement("div",{className:"col-6 "},j.createElement("div",{className:"mb-5 my-lg-0","data-aos":"fade-up","data-aos-delay":"200"},j.createElement("img",{src:(0,H.Z)("/home/ai2d.png"),alt:""}))))))}},5166:e=>{"use strict";e.exports=JSON.parse('{"zh-CN":{"common":{"getStart":"\u5feb\u901f\u5f00\u59cb","architecture":"\u7cfb\u7edf\u67b6\u6784","learnMore":"\u4e86\u89e3\u66f4\u591a","coreFeatures":"\u6838\u5fc3\u7279\u6027","coreFeaturesDesc":"\u8ba9\u60a8\u7684\u9879\u76ee\u66f4\u8f7b\u677e\u7684\u6838\u5fc3\u7279\u6027","honor":"\u6211\u4eec\u7684\u8363\u8a89","ourUsers":"Our Users","readMore":"\u9605\u8bfb\u66f4\u591a","download":"\u4e0b\u8f7d","releaseDate":"\u53d1\u5e03\u65e5\u671f","newFeatures":"\u65b0\u7279\u6027","enhancement":"\u589e\u5f3a\u70b9","bugFixs":"\u95ee\u9898\u4fee\u590d","changeLog":"\u8be6\u7ec6\u53d8\u66f4"},"slogan":{"key":"AI\u751f\u6210\u56fe\u5f62\u6a21\u578b","description":"\u4e00\u53e5\u8bdd\u751f\u6210\u4efb\u4f55\u56fe\u5f62"},"feature":[{"title":"AI\u751f\u62102D\u56fe\u5f62","icon":"lni-bar-chart","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd2D\u56fe\u5f62"},{"title":"AI\u751f\u62103D\u573a\u666f","icon":"lni-dropbox","details":"\u57fa\u4e8e\u53ef\u89c6\u5316\u6a21\u578b\u751f\u6210\u5404\u79cd3D\u573a\u666f"},{"title":"\u591a\u79cd\u6570\u636e\u6e90","icon":"lni-database","details":"\u6570\u636e\u6e90\u63d2\u4ef6\u4e0e\u63d0\u793a\u8bcd\u7ed3\u5408"},{"title":"\u4e09\u65b9\u63d2\u4ef6\u673a\u5668\u4eba","icon":"lni-game","details":"\u4e3a\u4e86\u63d0\u4f9b\u66f4\u597d\u670d\u52a1\uff0c\u652f\u6301\u63d2\u4ef6\u673a\u5668\u4eba\uff0c\u4f8b\u5982Huggingface space"},{"title":"\u53ef\u89c6\u5316\u6a21\u578b","icon":"lni-eye","details":"\u4e3a\u4e86\u66f4\u597d\u751f\u6210\u53ef\u89c6\u5316\u56fe\u5f62\uff0c\u81ea\u7814\u53ef\u89c6\u5316\u6a21\u578b"},{"title":"\u5bb9\u5668\u5316\u90e8\u7f72","icon":"lni-soundcloud","details":"\u4e3a\u4e86\u5feb\u901f\u4f7f\u7528\uff0c\u652f\u6301\u5bb9\u5668\u5316\u90e8\u7f72"}],"honor":{"description":"\u6211\u4eec\u83b7\u5f97\u4e86\u4e9b\u6b8a\u8363\uff0c\u8fd9\u4e9b\u8363\u8a89\u5c5e\u4e8e\u6240\u6709\u4e3a SolidUI \u505a\u51fa\u8d21\u732e\u7684\u4eba\uff0c\u611f\u8c22\u60a8\u7684\u4ed8\u51fa\uff01"}},"en":{"common":{"getStart":"Quick Start","architecture":"System Architecture","description":"Description","learnMore":"Learn More","coreFeatures":"Core Features","coreFeaturesDesc":"Modern features that will make your project easier.","honor":"Our Honor","ourUsers":"Our Users","readMore":"Read More","download":"Download","releaseDate":"Release Date","newFeatures":"New Features","enhancement":"Enhancement point","bugFixs":"Bug Fix","changeLog":"Changelog"},"slogan":{"key":"AI-generated Graphic Models","description":"one sentence generates any graph"},"feature":[{"title":"AI generated 2D graphics","icon":"lni-bar-chart","details":"Generate various 2D graphics based on the visualization model"},{"title":"AI generated 3D scene","icon":"lni-dropbox","details":"Generate various 3D scenes based on the visualization model"},{"title":"Multiple data sources","icon":"lni-database","details":"Data source plugin combined with prompt words"},{"title":"Three-party plug-in robot","icon":"lni-game","details":"In order to provide better service, support plug-in robots, such as Huggingface space"},{"title":"Visualization Model","icon":"lni-eye","details":"In order to better generate visualization graphics, self-developed visualization model"},{"title":"Containerized Deployment","icon":"lni-soundcloud","details":"For quick use, support containerized deployment"}],"honor":{"description":"We have received some precious honors, which belong to everyone who contributes to SolidUI, Thanks"}}}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/f30cf45e.e96a08b2.js b/zh-CN/assets/js/f30cf45e.e96a08b2.js new file mode 100644 index 00000000..7e8f1005 --- /dev/null +++ b/zh-CN/assets/js/f30cf45e.e96a08b2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[2510],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>c});var l=a(7294);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,l)}return a}function n(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function u(e,t){if(null==e)return{};var a,l,i=function(e,t){if(null==e)return{};var a,l,i={},r=Object.keys(e);for(l=0;l<r.length;l++)a=r[l],t.indexOf(a)>=0||(i[a]=e[a]);return i}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(l=0;l<r.length;l++)a=r[l],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(i[a]=e[a])}return i}var o=l.createContext({}),d=function(e){var t=l.useContext(o),a=t;return e&&(a="function"==typeof e?e(t):n(n({},t),e)),a},p=function(e){var t=d(e.components);return l.createElement(o.Provider,{value:t},e.children)},s="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return l.createElement(l.Fragment,{},t)}},_=l.forwardRef((function(e,t){var a=e.components,i=e.mdxType,r=e.originalType,o=e.parentName,p=u(e,["components","mdxType","originalType","parentName"]),s=d(a),_=i,c=s["".concat(o,".").concat(_)]||s[_]||m[_]||r;return a?l.createElement(c,n(n({ref:t},p),{},{components:a})):l.createElement(c,n({ref:t},p))}));function c(e,t){var a=arguments,i=t&&t.mdxType;if("string"==typeof e||i){var r=a.length,n=new Array(r);n[0]=_;var u={};for(var o in t)hasOwnProperty.call(t,o)&&(u[o]=t[o]);u.originalType=e,u[s]="string"==typeof e?e:i,n[1]=u;for(var d=2;d<r;d++)n[d]=a[d];return l.createElement.apply(null,n)}return l.createElement.apply(null,a)}_.displayName="MDXCreateElement"},4637:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>o,contentTitle:()=>n,default:()=>m,frontMatter:()=>r,metadata:()=>u,toc:()=>d});var l=a(7462),i=(a(7294),a(3905));const r={id:"metadata",title:"\u5143\u6570\u636e",sidebar_position:3},n=void 0,u={unversionedId:"design/metadata/metadata",id:"design/metadata/metadata",title:"\u5143\u6570\u636e",description:"\u5143\u6570\u636e",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/design/metadata/README.md",sourceDirName:"design/metadata",slug:"/design/metadata/",permalink:"/SolidUI-Website/zh-CN/docs/design/metadata/",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/design/metadata/README.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{id:"metadata",title:"\u5143\u6570\u636e",sidebar_position:3},sidebar:"tutorialSidebar",previous:{title:"\u524d\u7aef\u67b6\u6784",permalink:"/SolidUI-Website/zh-CN/docs/design/front-end-architecture/"},next:{title:"\u6d4b\u8bd5\u7528\u4f8b",permalink:"/SolidUI-Website/zh-CN/docs/test/test-case/"}},o={},d=[{value:"\u5143\u6570\u636e",id:"\u5143\u6570\u636e",level:2},{value:"solidui_datasource \u6570\u636e\u6e90\u7ba1\u7406",id:"solidui_datasource-\u6570\u636e\u6e90\u7ba1\u7406",level:3},{value:"solidui_datasource_type \u6570\u636e\u6e90\u7c7b\u578b",id:"solidui_datasource_type-\u6570\u636e\u6e90\u7c7b\u578b",level:3},{value:"solidui_datasource_type_key \u6570\u636e\u6e90\u7c7b\u578b\u8bbe\u7f6e",id:"solidui_datasource_type_key-\u6570\u636e\u6e90\u7c7b\u578b\u8bbe\u7f6e",level:3},{value:"solidui_job_element \u5de5\u4f5c\u5143\u7d20",id:"solidui_job_element-\u5de5\u4f5c\u5143\u7d20",level:3},{value:"solidui_job_element_page \u5de5\u4f5c\u5143\u7d20\u9875\u9762",id:"solidui_job_element_page-\u5de5\u4f5c\u5143\u7d20\u9875\u9762",level:3},{value:"solidui_job_page \u5de5\u4f5c\u9875\u9762",id:"solidui_job_page--\u5de5\u4f5c\u9875\u9762",level:3},{value:"solidui_project \u9879\u76ee\u7ba1\u7406",id:"solidui_project-\u9879\u76ee\u7ba1\u7406",level:3},{value:"solidui_user \u7528\u6237\u7ba1\u7406",id:"solidui_user-\u7528\u6237\u7ba1\u7406",level:3},{value:"solidui_model_type \u6a21\u578b\u7c7b\u578b\u8bbe\u7f6e",id:"solidui_model_type--\u6a21\u578b\u7c7b\u578b\u8bbe\u7f6e",level:3},{value:"E-R\u56fe",id:"e-r\u56fe",level:2}],p={toc:d},s="wrapper";function m(e){let{components:t,...r}=e;return(0,i.kt)(s,(0,l.Z)({},p,r,{components:t,mdxType:"MDXLayout"}),(0,i.kt)("h2",{id:"\u5143\u6570\u636e"},"\u5143\u6570\u636e"),(0,i.kt)("h3",{id:"solidui_datasource-\u6570\u636e\u6e90\u7ba1\u7406"},"solidui_datasource \u6570\u636e\u6e90\u7ba1\u7406"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"id: \u6570\u636e\u6e90\u7684\u552f\u4e00\u6807\u8bc6\u7b26\u3002"),(0,i.kt)("li",{parentName:"ul"},"datasource_name: \u6570\u636e\u6e90\u7684\u540d\u79f0\u3002"),(0,i.kt)("li",{parentName:"ul"},"datasource_desc: \u6570\u636e\u6e90\u7684\u63cf\u8ff0\u3002"),(0,i.kt)("li",{parentName:"ul"},"datasource_type_id: \u6570\u636e\u6e90\u7c7b\u578b\u7684ID\u3002"),(0,i.kt)("li",{parentName:"ul"},"create_identify: \u521b\u5efa\u6807\u8bc6\u7b26\u3002"),(0,i.kt)("li",{parentName:"ul"},"parameter: \u53c2\u6570\u3002"),(0,i.kt)("li",{parentName:"ul"},"create_time: \u521b\u5efa\u65f6\u95f4\u3002"),(0,i.kt)("li",{parentName:"ul"},"create_user: \u521b\u5efa\u7528\u6237\u3002"),(0,i.kt)("li",{parentName:"ul"},"labels: \u6807\u7b7e\u3002"),(0,i.kt)("li",{parentName:"ul"},"expire: \u8fc7\u671f\u6807\u8bc6\u3002")),(0,i.kt)("h3",{id:"solidui_datasource_type-\u6570\u636e\u6e90\u7c7b\u578b"},"solidui_datasource_type \u6570\u636e\u6e90\u7c7b\u578b"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"id: \u6570\u636e\u6e90\u7c7b\u578b\u7684\u552f\u4e00\u6807\u8bc6\u7b26\u3002"),(0,i.kt)("li",{parentName:"ul"},"name: \u7c7b\u578b\u540d\u79f0\u3002"),(0,i.kt)("li",{parentName:"ul"},"description: \u7c7b\u578b\u63cf\u8ff0\u3002"),(0,i.kt)("li",{parentName:"ul"},"option: \u9009\u9879\u3002"),(0,i.kt)("li",{parentName:"ul"},"classifier: \u5206\u7c7b\u5668\u3002"),(0,i.kt)("li",{parentName:"ul"},"icon: \u56fe\u6807\u3002"),(0,i.kt)("li",{parentName:"ul"},"layers: \u5c42\u7ea7\u3002")),(0,i.kt)("h3",{id:"solidui_datasource_type_key-\u6570\u636e\u6e90\u7c7b\u578b\u8bbe\u7f6e"},"solidui_datasource_type_key \u6570\u636e\u6e90\u7c7b\u578b\u8bbe\u7f6e"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"id: \u6570\u636e\u6e90\u7c7b\u578b\u952e\u7684\u552f\u4e00\u6807\u8bc6\u7b26\u3002"),(0,i.kt)("li",{parentName:"ul"},"data_source_type_id: \u6570\u636e\u6e90\u7c7b\u578bID\u3002"),(0,i.kt)("li",{parentName:"ul"},"key: \u952e\u3002"),(0,i.kt)("li",{parentName:"ul"},"name: \u540d\u79f0\u3002"),(0,i.kt)("li",{parentName:"ul"},"name_en: \u82f1\u6587\u540d\u79f0\u3002"),(0,i.kt)("li",{parentName:"ul"},"default_value: \u9ed8\u8ba4\u503c\u3002"),(0,i.kt)("li",{parentName:"ul"},"value_type: \u503c\u7c7b\u578b\u3002"),(0,i.kt)("li",{parentName:"ul"},"scope: \u8303\u56f4\u3002"),(0,i.kt)("li",{parentName:"ul"},"require: \u662f\u5426\u5fc5\u9700\u3002"),(0,i.kt)("li",{parentName:"ul"},"description: \u63cf\u8ff0\u3002"),(0,i.kt)("li",{parentName:"ul"},"description_en: \u82f1\u6587\u63cf\u8ff0\u3002"),(0,i.kt)("li",{parentName:"ul"},"value_regex: \u503c\u6b63\u5219\u8868\u8fbe\u5f0f\u3002"),(0,i.kt)("li",{parentName:"ul"},"update_time: \u66f4\u65b0\u65f6\u95f4\u3002"),(0,i.kt)("li",{parentName:"ul"},"create_time: \u521b\u5efa\u65f6\u95f4\u3002")),(0,i.kt)("h3",{id:"solidui_job_element-\u5de5\u4f5c\u5143\u7d20"},"solidui_job_element \u5de5\u4f5c\u5143\u7d20"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"id: \u5de5\u4f5c\u5143\u7d20\u7684\u552f\u4e00\u6807\u8bc6\u7b26\u3002"),(0,i.kt)("li",{parentName:"ul"},"project_id: \u9879\u76eeID\u3002"),(0,i.kt)("li",{parentName:"ul"},"name: \u540d\u79f0\u3002"),(0,i.kt)("li",{parentName:"ul"},"data: \u6570\u636e\u3002"),(0,i.kt)("li",{parentName:"ul"},"data_type: \u6570\u636e\u7c7b\u578b\u3002"),(0,i.kt)("li",{parentName:"ul"},"create_time: \u521b\u5efa\u65f6\u95f4\u3002"),(0,i.kt)("li",{parentName:"ul"},"update_time: \u66f4\u65b0\u65f6\u95f4\u3002")),(0,i.kt)("h3",{id:"solidui_job_element_page-\u5de5\u4f5c\u5143\u7d20\u9875\u9762"},"solidui_job_element_page \u5de5\u4f5c\u5143\u7d20\u9875\u9762"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"id: \u5de5\u4f5c\u5143\u7d20\u9875\u9762\u7684\u552f\u4e00\u6807\u8bc6\u7b26\u3002"),(0,i.kt)("li",{parentName:"ul"},"job_page_id: \u5de5\u4f5c\u9875\u9762ID\u3002"),(0,i.kt)("li",{parentName:"ul"},"job_element_id: \u5de5\u4f5c\u5143\u7d20ID\u3002"),(0,i.kt)("li",{parentName:"ul"},"position: \u4f4d\u7f6e\u3002"),(0,i.kt)("li",{parentName:"ul"},"create_time: \u521b\u5efa\u65f6\u95f4\u3002"),(0,i.kt)("li",{parentName:"ul"},"update_time: \u66f4\u65b0\u65f6\u95f4\u3002")),(0,i.kt)("h3",{id:"solidui_job_page--\u5de5\u4f5c\u9875\u9762"},"solidui_job_page \u5de5\u4f5c\u9875\u9762"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"id: \u5de5\u4f5c\u9875\u9762\u7684\u552f\u4e00\u6807\u8bc6\u7b26\u3002"),(0,i.kt)("li",{parentName:"ul"},"project_id: \u9879\u76eeID\u3002"),(0,i.kt)("li",{parentName:"ul"},"name: \u540d\u79f0\u3002"),(0,i.kt)("li",{parentName:"ul"},"parent_id: \u7236\u7ea7ID\u3002"),(0,i.kt)("li",{parentName:"ul"},"layout: \u5e03\u5c40\u3002"),(0,i.kt)("li",{parentName:"ul"},"orders: \u6392\u5e8f\u3002"),(0,i.kt)("li",{parentName:"ul"},"create_time: \u521b\u5efa\u65f6\u95f4\u3002"),(0,i.kt)("li",{parentName:"ul"},"update_time: \u66f4\u65b0\u65f6\u95f4\u3002")),(0,i.kt)("h3",{id:"solidui_project-\u9879\u76ee\u7ba1\u7406"},"solidui_project \u9879\u76ee\u7ba1\u7406"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"id: \u9879\u76ee\u7684\u552f\u4e00\u6807\u8bc6\u7b26\u3002"),(0,i.kt)("li",{parentName:"ul"},"user_name: \u7528\u6237\u540d\u3002"),(0,i.kt)("li",{parentName:"ul"},"project_name: \u9879\u76ee\u540d\u79f0\u3002"),(0,i.kt)("li",{parentName:"ul"},"image: \u9879\u76ee\u56fe\u7247\u3002"),(0,i.kt)("li",{parentName:"ul"},"description: \u63cf\u8ff0\u3002"),(0,i.kt)("li",{parentName:"ul"},"create_time: \u521b\u5efa\u65f6\u95f4\u3002"),(0,i.kt)("li",{parentName:"ul"},"update_time: \u66f4\u65b0\u65f6\u95f4\u3002"),(0,i.kt)("li",{parentName:"ul"},"status: \u9879\u76ee\u72b6\u6001\u3002")),(0,i.kt)("h3",{id:"solidui_user-\u7528\u6237\u7ba1\u7406"},"solidui_user \u7528\u6237\u7ba1\u7406"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"id: \u7528\u6237\u7684\u552f\u4e00\u6807\u8bc6\u7b26\u3002"),(0,i.kt)("li",{parentName:"ul"},"user_name: \u7528\u6237\u540d\u3002"),(0,i.kt)("li",{parentName:"ul"},"user_password: \u7528\u6237\u5bc6\u7801\u3002"),(0,i.kt)("li",{parentName:"ul"},"create_time: \u521b\u5efa\u65f6\u95f4\u3002"),(0,i.kt)("li",{parentName:"ul"},"update_time: \u66f4\u65b0\u65f6\u95f4\u3002"),(0,i.kt)("li",{parentName:"ul"},"queue: \u961f\u5217\u3002")),(0,i.kt)("h3",{id:"solidui_model_type--\u6a21\u578b\u7c7b\u578b\u8bbe\u7f6e"},"solidui_model_type \u6a21\u578b\u7c7b\u578b\u8bbe\u7f6e"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"id: \u6a21\u578b\u7c7b\u578b\u7684\u552f\u4e00\u6807\u8bc6\u7b26\u3002"),(0,i.kt)("li",{parentName:"ul"},"name: \u540d\u79f0\u3002"),(0,i.kt)("li",{parentName:"ul"},"code: \u8f93\u51fa\u4ee3\u7801\u7c7b\u578b\u3002"),(0,i.kt)("li",{parentName:"ul"},"type_name: \u7c7b\u578b\u540d\u79f0\u3002"),(0,i.kt)("li",{parentName:"ul"},"prompt: \u63d0\u793a\u3002"),(0,i.kt)("li",{parentName:"ul"},"token: \u4ee4\u724c\u3002"),(0,i.kt)("li",{parentName:"ul"},"baseurl: \u57fa\u7840URL\u3002")),(0,i.kt)("h2",{id:"e-r\u56fe"},"E-R\u56fe"),(0,i.kt)("p",null,(0,i.kt)("img",{alt:"metadata",src:a(3496).Z,width:"612",height:"541"})),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u6570\u636e\u6e90(solidui_datasource)\u6709\u4e00\u4e2a\u6570\u636e\u6e90\u7c7b\u578b(solidui_datasource_type)\uff0c\u901a\u8fc7datasource_type_id\u5b57\u6bb5\u5173\u8054\u3002"),(0,i.kt)("li",{parentName:"ul"},"\u6570\u636e\u6e90\u7c7b\u578b(solidui_datasource_type)\u6709\u4e00\u4e2a\u6216\u591a\u4e2a\u6570\u636e\u6e90\u7c7b\u578b\u952e(solidui_datasource_type_key)\uff0c\u901a\u8fc7id\u5b57\u6bb5\u5173\u8054\u3002"),(0,i.kt)("li",{parentName:"ul"},"\u5de5\u4f5c\u5143\u7d20(solidui_job_element)\u5b58\u5728\u4e8e\u4e00\u4e2a\u9879\u76ee(solidui_project)\u4e2d\uff0c\u901a\u8fc7project_id\u5b57\u6bb5\u5173\u8054\u3002"),(0,i.kt)("li",{parentName:"ul"},"\u5de5\u4f5c\u5143\u7d20\u9875\u9762(solidui_job_element_page)\u5173\u8054\u5230\u4e00\u4e2a\u5de5\u4f5c\u5143\u7d20(solidui_job_element)\u548c\u4e00\u4e2a\u5de5\u4f5c\u9875\u9762(solidui_job_page)\uff0c\u5206\u522b\u901a\u8fc7job_element_id\u548cjob_page_id\u5b57\u6bb5\u3002"),(0,i.kt)("li",{parentName:"ul"},"\u5de5\u4f5c\u9875\u9762(solidui_job_page)\u5b58\u5728\u4e8e\u4e00\u4e2a\u9879\u76ee(solidui_project)\u4e2d\uff0c\u901a\u8fc7project_id\u5b57\u6bb5\u5173\u8054\u3002"),(0,i.kt)("li",{parentName:"ul"},"\u9879\u76ee(solidui_project)\u7531\u4e00\u4e2a\u7528\u6237(solidui_user)\u521b\u5efa\uff0c\u901a\u8fc7user_name\u5b57\u6bb5\u5173\u8054\u3002")),(0,i.kt)("p",null,"\u8fd9\u4e2a\u56fe\u5e76\u6ca1\u6709\u5305\u62ec\u6240\u6709\u7684\u8868\u548c\u5b57\u6bb5\uff0c\u53ea\u5305\u542b\u4e86\u4e00\u4e9b\u4e3b\u8981\u7684\u5173\u8054\u3002"))}m.isMDXComponent=!0},3496:(e,t,a)=>{a.d(t,{Z:()=>l});const l=a.p+"assets/images/metadata-3e5590d95ac4a94cd4e648ee65817c3e.png"}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/f7330301.15847c9c.js b/zh-CN/assets/js/f7330301.15847c9c.js new file mode 100644 index 00000000..629229be --- /dev/null +++ b/zh-CN/assets/js/f7330301.15847c9c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[31],{3905:(e,t,r)=>{r.d(t,{Zo:()=>s,kt:()=>v});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function a(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var p=n.createContext({}),c=function(e){var t=n.useContext(p),r=t;return e&&(r="function"==typeof e?e(t):l(l({},t),e)),r},s=function(e){var t=c(e.components);return n.createElement(p.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},m=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,i=e.originalType,p=e.parentName,s=a(e,["components","mdxType","originalType","parentName"]),d=c(r),m=o,v=d["".concat(p,".").concat(m)]||d[m]||u[m]||i;return r?n.createElement(v,l(l({ref:t},s),{},{components:r})):n.createElement(v,l({ref:t},s))}));function v(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=r.length,l=new Array(i);l[0]=m;var a={};for(var p in t)hasOwnProperty.call(t,p)&&(a[p]=t[p]);a.originalType=e,a[d]="string"==typeof e?e:o,l[1]=a;for(var c=2;c<i;c++)l[c]=r[c];return n.createElement.apply(null,l)}return n.createElement.apply(null,r)}m.displayName="MDXCreateElement"},480:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>p,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>a,toc:()=>c});var n=r(7462),o=(r(7294),r(3905));const i={id:"development-construction",title:"\u9879\u76ee\u5171\u5efa\u6d41\u7a0b",sidebar_position:5},l="SolidUI\u9879\u76ee\u5171\u5efa\u6d41\u7a0b",a={unversionedId:"development/development-construction",id:"development/development-construction",title:"\u9879\u76ee\u5171\u5efa\u6d41\u7a0b",description:"\u6d41\u7a0b\u5217\u8868",source:"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/project-process.md",sourceDirName:"development",slug:"/development/development-construction",permalink:"/SolidUI-Website/zh-CN/docs/development/development-construction",draft:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/project-process.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{id:"development-construction",title:"\u9879\u76ee\u5171\u5efa\u6d41\u7a0b",sidebar_position:5},sidebar:"tutorialSidebar",previous:{title:"\u524d\u7aef\u7f16\u8bd1",permalink:"/SolidUI-Website/zh-CN/docs/development/development-front"},next:{title:"\u9879\u76ee\u53d1\u7248\u6d41\u7a0b",permalink:"/SolidUI-Website/zh-CN/docs/development/development-release"}},p={},c=[{value:"\u6d41\u7a0b\u5217\u8868",id:"\u6d41\u7a0b\u5217\u8868",level:2}],s={toc:c},d="wrapper";function u(e){let{components:t,...r}=e;return(0,o.kt)(d,(0,n.Z)({},s,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h1",{id:"solidui\u9879\u76ee\u5171\u5efa\u6d41\u7a0b"},"SolidUI\u9879\u76ee\u5171\u5efa\u6d41\u7a0b"),(0,o.kt)("h2",{id:"\u6d41\u7a0b\u5217\u8868"},"\u6d41\u7a0b\u5217\u8868"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"\u521b\u5efa\u76f8\u5173 issues \u2014\u2014 \u8d21\u732e\u8005\uff08\u4e3b\u5bfc\u7248\u672c\uff09"),(0,o.kt)("li",{parentName:"ol"},"\u63d0\u4ea4 PR \u2014\u2014 \u8d21\u732e\u8005\uff08\u4e3b\u5bfc\u7248\u672c\uff09"),(0,o.kt)("li",{parentName:"ol"},"code review \u2014\u2014 PMC\u6210\u5458"),(0,o.kt)("li",{parentName:"ol"},"PR merge \u2014\u2014 PMC\u6210\u5458"),(0,o.kt)("li",{parentName:"ol"},"PR \u63d0\u4ea4\u5230 dev \u5206\u652f \u2014\u2014 \u8d21\u732e\u8005\uff08\u4e3b\u5bfc\u7248\u672c\uff09"),(0,o.kt)("li",{parentName:"ol"},"\u63d0\u4ea4\u76f8\u5173\u6587\u6863\u5230 SolidUI-Website\uff08\u5b89\u88c5\u90e8\u7f72\u6587\u6863\u3001\u7528\u6237\u4f7f\u7528\u6587\u6863\u3001\u67b6\u6784\u8bbe\u8ba1\u6587\u6863\uff09\u63d0\u4ea4 PR \u2014\u2014 \u8d21\u732e\u8005\uff08\u4e3b\u5bfc\u7248\u672c\uff09"),(0,o.kt)("li",{parentName:"ol"},"SolidUI-Website code review \u2014\u2014 PMC\u6210\u5458"),(0,o.kt)("li",{parentName:"ol"},"SolidUI-Website PR merge \u2014\u2014 PMC\u6210\u5458"),(0,o.kt)("li",{parentName:"ol"},"SolidUI-Website PR \u63d0\u4ea4\u5230 dev \u5206\u652f \u2014\u2014 \u8d21\u732e\u8005\uff08\u4e3b\u5bfc\u7248\u672c\uff09"),(0,o.kt)("li",{parentName:"ol"},"\u57fa\u4e8e dev \u5206\u652f\u8fdb\u884c\u6253\u5305 (\u5efa\u7acb\u6253\u5305\u5206\u652f) & \u5b89\u88c5\u90e8\u7f72\u6d4b\u8bd5 \u2014\u2014 \u8d21\u732e\u8005\uff08\u4e3b\u5bfc\u7248\u672c\uff09/\u6d4b\u8bd5\u4eba\u5458"),(0,o.kt)("li",{parentName:"ol"},"\u9080\u8bf7\u793e\u533a\u7528\u6237\u5185\u6d4b \u2014\u2014 \u8fd0\u8425\u5458/PMC\u6210\u5458"),(0,o.kt)("li",{parentName:"ol"},"\u51c6\u5907 Release Notes \u2014\u2014 \u8d21\u732e\u8005\uff08\u4e3b\u5bfc\u7248\u672c\uff09"),(0,o.kt)("li",{parentName:"ol"},"\u6b63\u5f0f\u53d1\u5e03\u7248\u672c \u2014\u2014 \u8d21\u732e\u8005\uff08\u4e3b\u5bfc\u7248\u672c\uff09"),(0,o.kt)("li",{parentName:"ol"},"\u51c6\u5907\u8f6f\u6587 \u2014\u2014 \u8d21\u732e\u8005\uff08\u4e3b\u5bfc\u7248\u672c\uff09"),(0,o.kt)("li",{parentName:"ol"},"\u516c\u4f17\u53f7\u53d1\u6587\u5ba3\u4f20 \u2014\u2014 \u8fd0\u8425\u5458/PMC\u6210\u5458"),(0,o.kt)("li",{parentName:"ol"},"MeetUp \u5ba3\u4f20\u7248\u672c\u7279\u6027 \u2014\u2014 \u8fd0\u8425\u5458/PMC\u6210\u5458")))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/fed3a01c.ff3f3d33.js b/zh-CN/assets/js/fed3a01c.ff3f3d33.js new file mode 100644 index 00000000..89e87f2f --- /dev/null +++ b/zh-CN/assets/js/fed3a01c.ff3f3d33.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[221],{4469:e=>{e.exports=JSON.parse('{"name":"docusaurus-plugin-content-blog","id":"default"}')}}]); \ No newline at end of file diff --git a/zh-CN/assets/js/main.22fe9e4b.js b/zh-CN/assets/js/main.22fe9e4b.js new file mode 100644 index 00000000..3a4cc832 --- /dev/null +++ b/zh-CN/assets/js/main.22fe9e4b.js @@ -0,0 +1,2 @@ +/*! For license information please see main.22fe9e4b.js.LICENSE.txt */ +(self.webpackChunksolidui_website=self.webpackChunksolidui_website||[]).push([[179],{723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7294),a=n(7462),o=n(8356),i=n.n(o),s=n(6887);const l={"01a85c17":[()=>Promise.all([n.e(532),n.e(4013)]).then(n.bind(n,1223)),"@theme/BlogTagsListPage",1223],"035672d3":[()=>Promise.all([n.e(532),n.e(4921)]).then(n.bind(n,7805)),"@site/src/pages/team/index.jsx",7805],"0a76827d":[()=>n.e(7415).then(n.bind(n,6275)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/server-compilation.md",6275],"0be92caf":[()=>n.e(2421).then(n.t.bind(n,1475,19)),"~blog/default/solid-ui-website-zh-cn-blog-tags-stable-diffusion-21a-list.json",1475],"0e49e91b":[()=>n.e(9094).then(n.bind(n,9786)),"@site/src/pages/home/hero.jsx",9786],"0fceeaee":[()=>n.e(2718).then(n.bind(n,831)),"@site/community/contribution_guide/become_committer.md",831],"1246422e":[()=>n.e(4762).then(n.t.bind(n,3769,19)),"/home/runner/work/SolidUI-Website/SolidUI-Website/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],"12e9a6c2":[()=>n.e(590).then(n.t.bind(n,6241,19)),"~blog/default/solid-ui-website-zh-cn-blog-tags-tags-5a0.json",6241],17896441:[()=>Promise.all([n.e(532),n.e(8105),n.e(7918)]).then(n.bind(n,8945)),"@theme/DocItem",8945],"181d6f49":[()=>n.e(4798).then(n.bind(n,3168)),"@site/src/pages/home/feature.jsx",3168],"18574ea0":[()=>n.e(3362).then(n.bind(n,6856)),"@site/blog/2023-09-05-0.2.0-Release.md",6856],"1a4e3797":[()=>Promise.all([n.e(532),n.e(7920)]).then(n.bind(n,1473)),"@theme/SearchPage",1473],"1be78505":[()=>Promise.all([n.e(532),n.e(9514)]).then(n.bind(n,9963)),"@theme/DocPage",9963],"1df93b7f":[()=>Promise.all([n.e(532),n.e(3237)]).then(n.bind(n,9754)),"@site/src/pages/index.tsx",9754],"248e03f5":[()=>Promise.all([n.e(532),n.e(8932)]).then(n.bind(n,3808)),"@site/src/pages/user/index.js",3808],"271ff943":[()=>Promise.all([n.e(532),n.e(4827)]).then(n.bind(n,5995)),"@site/src/pages/home/performance.jsx",5995],"2cc0820c":[()=>n.e(4257).then(n.bind(n,8602)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/test/test-case/README.md",8602],"2f3afa41":[()=>n.e(2428).then(n.t.bind(n,5070,19)),"~blog/default/solid-ui-website-zh-cn-blog-archive-f70.json",5070],"306a8c6c":[()=>n.e(7616).then(n.t.bind(n,9479,19)),"~docs/community/version-current-metadata-prop-751.json",9479],"3b209c05":[()=>n.e(4159).then(n.bind(n,2153)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/publishing-process.md",2153],"44c1be81":[()=>n.e(4003).then(n.t.bind(n,4553,19)),"~blog/default/solid-ui-website-zh-cn-blog-tags-stable-diffusion-21a.json",4553],"4687a2fe":[()=>n.e(4656).then(n.bind(n,1271)),"@site/blog/2023-09-05-Official-Website-Introduction.md?truncated=true",1271],"4d9f66ec":[()=>n.e(2908).then(n.bind(n,2133)),"@site/blog/2023-07-01-function-explanation-0.1.0.md?truncated=true",2133],"593d060f":[()=>n.e(7718).then(n.t.bind(n,3670,19)),"~blog/default/solid-ui-website-zh-cn-blog-tags-ai-c8f.json",3670],"5dd90133":[()=>n.e(8968).then(n.bind(n,7740)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/deployment-web.md",7740],"5e10b459":[()=>n.e(7917).then(n.t.bind(n,1902,19)),"~blog/default/solid-ui-website-zh-cn-blog-page-2-760.json",1902],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"6655eab5":[()=>n.e(2153).then(n.bind(n,6227)),"@site/blog/2023-07-02-snakemq-communication-source-code-analysis.md",6227],"6875c492":[()=>Promise.all([n.e(532),n.e(8105),n.e(6048),n.e(8610)]).then(n.bind(n,1714)),"@theme/BlogTagsPostsPage",1714],"6b5877e0":[()=>n.e(7563).then(n.bind(n,8889)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/deplpyment-kubernetes.md",8889],"75cf5c85":[()=>n.e(477).then(n.bind(n,5317)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/deployment-standalone.md",5317],"7ba7942d":[()=>n.e(9615).then(n.bind(n,6877)),"@site/blog/2023-07-03-independent-deployment-communication-analysis.md",6877],"7dae8659":[()=>n.e(7812).then(n.bind(n,8174)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/docker-images.md",8174],"814f3328":[()=>n.e(2535).then(n.t.bind(n,5641,19)),"~blog/default/blog-post-list-prop-default.json",5641],"81b24dac":[()=>n.e(3818).then(n.t.bind(n,1789,19)),"~blog/default/solid-ui-website-zh-cn-blog-tags-solid-ui-471.json",1789],"825762ae":[()=>n.e(4389).then(n.bind(n,6001)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/development-commit.md",6001],"82bafcbe":[()=>n.e(240).then(n.bind(n,1848)),"@site/blog/2023-09-05-0.2.0-introduction.md?truncated=true",1848],"8ba85c45":[()=>n.e(289).then(n.t.bind(n,2481,19)),"/home/runner/work/SolidUI-Website/SolidUI-Website/.docusaurus/docusaurus-plugin-content-docs/community/plugin-route-context-module-100.json",2481],"8e4b7347":[()=>n.e(7242).then(n.bind(n,6418)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/user-guide/quickstart.md",6418],"90b38822":[()=>n.e(5279).then(n.bind(n,7769)),"@site/community/submit_guide/document.md",7769],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9a185a9f":[()=>n.e(2449).then(n.bind(n,436)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/develop-contributing.md",436],"9b4392e8":[()=>n.e(9343).then(n.t.bind(n,6975,19)),"~blog/default/solid-ui-website-zh-cn-blog-tags-solid-ui-page-2-a8c.json",6975],"9dab477d":[()=>n.e(1276).then(n.bind(n,3730)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/operational/community-operation/README.md",3730],"9e4087bc":[()=>n.e(3608).then(n.bind(n,3169)),"@theme/BlogArchivePage",3169],a297792b:[()=>n.e(7837).then(n.t.bind(n,1584,19)),"~blog/default/solid-ui-website-zh-cn-blog-tags-solid-ui-page-2-a8c-list.json",1584],a38ac2fb:[()=>n.e(789).then(n.bind(n,7532)),"@site/blog/2023-07-02-snakemq-communication-source-code-analysis.md?truncated=true",7532],a614ad0f:[()=>n.e(6074).then(n.t.bind(n,172,19)),"~blog/default/solid-ui-website-zh-cn-blog-tags-solid-ui-471-list.json",172],a6aa9e1f:[()=>Promise.all([n.e(532),n.e(8105),n.e(6048),n.e(3089)]).then(n.bind(n,46)),"@theme/BlogListPage",46],a9df0cc8:[()=>n.e(1757).then(n.t.bind(n,3629,19)),"~blog/default/solid-ui-website-zh-cn-blog-tags-aigc-cfc-list.json",3629],ac0ab662:[()=>n.e(530).then(n.bind(n,8234)),"@site/community/submit_guide/submit-code.md",8234],ac717c78:[()=>n.e(8688).then(n.bind(n,9206)),"@site/blog/2023-09-05-0.2.0-introduction.md",9206],afbbc345:[()=>n.e(9084).then(n.bind(n,8440)),"@site/blog/2023-09-05-0.2.0-Release.md?truncated=true",8440],b1bdda4d:[()=>n.e(3884).then(n.t.bind(n,5745,19)),"/home/runner/work/SolidUI-Website/SolidUI-Website/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],b25c8dbb:[()=>n.e(1593).then(n.t.bind(n,3450,19)),"~blog/default/solid-ui-website-zh-cn-blog-11c.json",3450],b28a394f:[()=>n.e(3849).then(n.bind(n,1692)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/design/front-end-architecture/README.md",1692],be209a7f:[()=>n.e(6912).then(n.bind(n,1006)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/intro.md",1006],bf6c35d5:[()=>n.e(9883).then(n.t.bind(n,9210,19)),"~blog/default/solid-ui-website-zh-cn-blog-tags-stable-diffusion-page-2-ba3.json",9210],c1532dfb:[()=>n.e(7425).then(n.bind(n,7938)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/frontend-document.md",7938],c7491b26:[()=>n.e(5412).then(n.bind(n,3179)),"@site/blog/2023-07-03-independent-deployment-communication-analysis.md?truncated=true",3179],cbd4c4f3:[()=>n.e(5478).then(n.bind(n,368)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/faq/faq/faq.md",368],ccc49370:[()=>Promise.all([n.e(532),n.e(8105),n.e(6048),n.e(6103)]).then(n.bind(n,5203)),"@theme/BlogPostPage",5203],dd6f79e8:[()=>n.e(2333).then(n.t.bind(n,1002,19)),"~blog/default/solid-ui-website-zh-cn-blog-tags-ai-c8f-list.json",1002],deeae371:[()=>n.e(5966).then(n.t.bind(n,4095,19)),"~blog/default/solid-ui-website-zh-cn-blog-tags-aigc-cfc.json",4095],e1317b68:[()=>n.e(7959).then(n.bind(n,8479)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/design/server-architecture/README.md",8479],e496222a:[()=>n.e(661).then(n.bind(n,6268)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/deployment/deployment-docker.md",6268],ea8a7b94:[()=>n.e(6262).then(n.t.bind(n,3805,19)),"~blog/default/solid-ui-website-zh-cn-blog-tags-stable-diffusion-page-2-ba3-list.json",3805],eaf8f7fb:[()=>n.e(9885).then(n.t.bind(n,2776,19)),"/home/runner/work/SolidUI-Website/SolidUI-Website/.docusaurus/@easyops-cn/docusaurus-search-local/default/plugin-route-context-module-100.json",2776],ed523c22:[()=>n.e(8352).then(n.bind(n,9662)),"@site/blog/2023-07-01-function-explanation-0.1.0.md",9662],eec08420:[()=>n.e(730).then(n.bind(n,5973)),"@site/blog/2023-09-05-Official-Website-Introduction.md",5973],f106860d:[()=>Promise.all([n.e(532),n.e(6393)]).then(n.bind(n,2875)),"@site/src/pages/home/index.jsx",2875],f30cf45e:[()=>n.e(2510).then(n.bind(n,4637)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/design/metadata/README.md",4637],f7330301:[()=>n.e(31).then(n.bind(n,480)),"@site/i18n/zh-CN/docusaurus-plugin-content-docs/current/development/project-process.md",480],fed3a01c:[()=>n.e(221).then(n.t.bind(n,4469,19)),"/home/runner/work/SolidUI-Website/SolidUI-Website/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",4469]};function u(e){let{error:t,retry:n,pastDelay:a}=e;return t?r.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},r.createElement("p",null,String(t)),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):a?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var c=n(9670),d=n(226);function f(e,t){if("*"===e)return i()({loading:u,loader:()=>n.e(4972).then(n.bind(n,4972)),modules:["@theme/NotFound"],webpack:()=>[4972],render(e,t){const n=e.default;return r.createElement(d.z,{value:{plugin:{name:"native",id:"default"}}},r.createElement(n,t))}});const o=s[`${e}-${t}`],f={},p=[],h=[],m=(0,c.Z)(o);return Object.entries(m).forEach((e=>{let[t,n]=e;const r=l[n];r&&(f[t]=r[0],p.push(r[1]),h.push(r[2]))})),i().Map({loading:u,loader:f,modules:p,webpack:()=>h,render(t,n){const i=JSON.parse(JSON.stringify(o));Object.entries(t).forEach((t=>{let[n,r]=t;const a=r.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(r).filter((e=>"default"!==e)).forEach((e=>{a[e]=r[e]}));let o=i;const s=n.split(".");s.slice(0,-1).forEach((e=>{o=o[e]})),o[s[s.length-1]]=a}));const s=i.__comp;delete i.__comp;const l=i.__context;return delete i.__context,r.createElement(d.z,{value:l},r.createElement(s,(0,a.Z)({},i,n)))}})}const p=[{path:"/SolidUI-Website/zh-CN/blog",component:f("/SolidUI-Website/zh-CN/blog","ca5"),exact:!0},{path:"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0",component:f("/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","90c"),exact:!0},{path:"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis",component:f("/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","bbe"),exact:!0},{path:"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis",component:f("/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","3fe"),exact:!0},{path:"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction",component:f("/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","442"),exact:!0},{path:"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release",component:f("/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","e90"),exact:!0},{path:"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction",component:f("/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","05e"),exact:!0},{path:"/SolidUI-Website/zh-CN/blog/archive",component:f("/SolidUI-Website/zh-CN/blog/archive","1ba"),exact:!0},{path:"/SolidUI-Website/zh-CN/blog/page/2",component:f("/SolidUI-Website/zh-CN/blog/page/2","70e"),exact:!0},{path:"/SolidUI-Website/zh-CN/blog/tags",component:f("/SolidUI-Website/zh-CN/blog/tags","67c"),exact:!0},{path:"/SolidUI-Website/zh-CN/blog/tags/ai",component:f("/SolidUI-Website/zh-CN/blog/tags/ai","624"),exact:!0},{path:"/SolidUI-Website/zh-CN/blog/tags/aigc",component:f("/SolidUI-Website/zh-CN/blog/tags/aigc","a93"),exact:!0},{path:"/SolidUI-Website/zh-CN/blog/tags/solid-ui",component:f("/SolidUI-Website/zh-CN/blog/tags/solid-ui","bd0"),exact:!0},{path:"/SolidUI-Website/zh-CN/blog/tags/solid-ui/page/2",component:f("/SolidUI-Website/zh-CN/blog/tags/solid-ui/page/2","3a5"),exact:!0},{path:"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion",component:f("/SolidUI-Website/zh-CN/blog/tags/stable-diffusion","2eb"),exact:!0},{path:"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion/page/2",component:f("/SolidUI-Website/zh-CN/blog/tags/stable-diffusion/page/2","425"),exact:!0},{path:"/SolidUI-Website/zh-CN/home/",component:f("/SolidUI-Website/zh-CN/home/","97d"),exact:!0},{path:"/SolidUI-Website/zh-CN/home/feature",component:f("/SolidUI-Website/zh-CN/home/feature","564"),exact:!0},{path:"/SolidUI-Website/zh-CN/home/hero",component:f("/SolidUI-Website/zh-CN/home/hero","b61"),exact:!0},{path:"/SolidUI-Website/zh-CN/home/performance",component:f("/SolidUI-Website/zh-CN/home/performance","540"),exact:!0},{path:"/SolidUI-Website/zh-CN/search",component:f("/SolidUI-Website/zh-CN/search","e07"),exact:!0},{path:"/SolidUI-Website/zh-CN/team/",component:f("/SolidUI-Website/zh-CN/team/","afe"),exact:!0},{path:"/SolidUI-Website/zh-CN/user/",component:f("/SolidUI-Website/zh-CN/user/","b8c"),exact:!0},{path:"/SolidUI-Website/zh-CN/community",component:f("/SolidUI-Website/zh-CN/community","538"),routes:[{path:"/SolidUI-Website/zh-CN/community/contribution_guide/become_committer",component:f("/SolidUI-Website/zh-CN/community/contribution_guide/become_committer","57d"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/community/submit_guide/document",component:f("/SolidUI-Website/zh-CN/community/submit_guide/document","36b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/community/submit_guide/submit_code",component:f("/SolidUI-Website/zh-CN/community/submit_guide/submit_code","31d"),exact:!0,sidebar:"tutorialSidebar"}]},{path:"/SolidUI-Website/zh-CN/docs",component:f("/SolidUI-Website/zh-CN/docs","fcd"),routes:[{path:"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker",component:f("/SolidUI-Website/zh-CN/docs/deployment/deployment-docker","197"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes",component:f("/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","230"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone",component:f("/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","e2e"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/deployment/deployment-web",component:f("/SolidUI-Website/zh-CN/docs/deployment/deployment-web","567"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/design/front-end-architecture/",component:f("/SolidUI-Website/zh-CN/docs/design/front-end-architecture/","5c1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/design/metadata/",component:f("/SolidUI-Website/zh-CN/docs/design/metadata/","7c3"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/design/server-architecture/",component:f("/SolidUI-Website/zh-CN/docs/design/server-architecture/","f81"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/development/develop-contributing",component:f("/SolidUI-Website/zh-CN/docs/development/develop-contributing","991"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/development/development-commit",component:f("/SolidUI-Website/zh-CN/docs/development/development-commit","975"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/development/development-construction",component:f("/SolidUI-Website/zh-CN/docs/development/development-construction","fd1"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/development/development-docker",component:f("/SolidUI-Website/zh-CN/docs/development/development-docker","87f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/development/development-front",component:f("/SolidUI-Website/zh-CN/docs/development/development-front","1f0"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/development/development-release",component:f("/SolidUI-Website/zh-CN/docs/development/development-release","019"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/development/development-server",component:f("/SolidUI-Website/zh-CN/docs/development/development-server","71b"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/faq/faq/",component:f("/SolidUI-Website/zh-CN/docs/faq/faq/","aa2"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/intro",component:f("/SolidUI-Website/zh-CN/docs/intro","493"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/operational/community-operation/",component:f("/SolidUI-Website/zh-CN/docs/operational/community-operation/","64f"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/test/test-case/",component:f("/SolidUI-Website/zh-CN/docs/test/test-case/","908"),exact:!0,sidebar:"tutorialSidebar"},{path:"/SolidUI-Website/zh-CN/docs/user-guide/quick-start",component:f("/SolidUI-Website/zh-CN/docs/user-guide/quick-start","f25"),exact:!0,sidebar:"tutorialSidebar"}]},{path:"/SolidUI-Website/zh-CN/",component:f("/SolidUI-Website/zh-CN/","851"),exact:!0},{path:"*",component:f("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>o});var r=n(7294);const a=r.createContext(!1);function o(e){let{children:t}=e;const[n,o]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{o(!0)}),[]),r.createElement(a.Provider,{value:n},t)}},9383:(e,t,n)=>{"use strict";var r=n(7294),a=n(3935),o=n(3727),i=n(405),s=n(412);const l=[n(2497),n(7021),n(8320),n(2295)];var u=n(723),c=n(6550),d=n(8790);function f(e){let{children:t}=e;return r.createElement(r.Fragment,null,t)}var p=n(7462),h=n(5742),m=n(2263),g=n(4996),b=n(6668),v=n(1944),y=n(4711),w=n(9727),k=n(3320),E=n(197);function S(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,m.Z)(),n=(0,y.l)();return r.createElement(h.Z,null,Object.entries(t).map((e=>{let[t,{htmlLang:a}]=e;return r.createElement("link",{key:t,rel:"alternate",href:n.createUrl({locale:t,fullyQualified:!0}),hrefLang:a})})),r.createElement("link",{rel:"alternate",href:n.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function x(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,m.Z)(),a=function(){const{siteConfig:{url:e}}=(0,m.Z)(),{pathname:t}=(0,c.TH)();return e+(0,g.Z)(t)}(),o=t?`${n}${t}`:a;return r.createElement(h.Z,null,r.createElement("meta",{property:"og:url",content:o}),r.createElement("link",{rel:"canonical",href:o}))}function C(){const{i18n:{currentLocale:e}}=(0,m.Z)(),{metadata:t,image:n}=(0,b.L)();return r.createElement(r.Fragment,null,r.createElement(h.Z,null,r.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),r.createElement("body",{className:w.h})),n&&r.createElement(v.d,{image:n}),r.createElement(x,null),r.createElement(S,null),r.createElement(E.Z,{tag:k.HX,locale:e}),r.createElement(h.Z,null,t.map(((e,t)=>r.createElement("meta",(0,p.Z)({key:t},e))))))}const _=new Map;function T(e){if(_.has(e.pathname))return{...e,pathname:_.get(e.pathname)};if((0,d.f)(u.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return _.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return _.set(e.pathname,t),{...e,pathname:t}}var N=n(8934),I=n(8940);function L(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];const a=l.map((t=>{const r=t.default?.[e]??t[e];return r?.(...n)}));return()=>a.forEach((e=>e?.()))}const A=function(e){let{children:t,location:n,previousLocation:a}=e;return(0,r.useLayoutEffect)((()=>{a!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const r=t.pathname===n.pathname,a=t.hash===n.hash,o=t.search===n.search;if(r&&a&&!o)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:a}),L("onRouteDidUpdate",{previousLocation:a,location:n}))}),[a,n]),t};function P(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(u.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class O extends r.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.Z.canUseDOM?L("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=L("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),P(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return r.createElement(A,{previousLocation:this.previousLocation,location:t},r.createElement(c.AW,{location:t,render:()=>e}))}}const R=O,z="__docusaurus-base-url-issue-banner-container",U="__docusaurus-base-url-issue-banner",D="__docusaurus-base-url-issue-banner-suggestion-container",M="__DOCUSAURUS_INSERT_BASEURL_BANNER";function F(e){return`\nwindow['${M}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${M}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${z}');\n if (!bannerContainer) {\n return;\n }\n var bannerHtml = ${JSON.stringify(function(e){return`\n<div id="${U}" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">${e}</span> ${"/"===e?" (default value)":""}</p>\n <p>We suggest trying baseUrl = <span id="${D}" style="font-weight: bold; color: green;"></span></p>\n</div>\n`}(e)).replace(/</g,"\\<")};\n bannerContainer.innerHTML = bannerHtml;\n var suggestionContainer = document.getElementById('${D}');\n var actualHomePagePath = window.location.pathname;\n var suggestedBaseUrl = actualHomePagePath.substr(-1) === '/'\n ? actualHomePagePath\n : actualHomePagePath + '/';\n suggestionContainer.innerHTML = suggestedBaseUrl;\n}\n`}function B(){const{siteConfig:{baseUrl:e}}=(0,m.Z)();return(0,r.useLayoutEffect)((()=>{window[M]=!1}),[]),r.createElement(r.Fragment,null,!s.Z.canUseDOM&&r.createElement(h.Z,null,r.createElement("script",null,F(e))),r.createElement("div",{id:z}))}function $(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,m.Z)(),{pathname:n}=(0,c.TH)();return t&&n===e?r.createElement(B,null):null}function j(){const{siteConfig:{favicon:e,title:t,noIndex:n},i18n:{currentLocale:a,localeConfigs:o}}=(0,m.Z)(),i=(0,g.Z)(e),{htmlLang:s,direction:l}=o[a];return r.createElement(h.Z,null,r.createElement("html",{lang:s,dir:l}),r.createElement("title",null,t),r.createElement("meta",{property:"og:title",content:t}),r.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),n&&r.createElement("meta",{name:"robots",content:"noindex, nofollow"}),e&&r.createElement("link",{rel:"icon",href:i}))}var W=n(4763);function H(){const e=(0,d.H)(u.Z),t=(0,c.TH)();return r.createElement(W.Z,null,r.createElement(I.M,null,r.createElement(N.t,null,r.createElement(f,null,r.createElement(j,null),r.createElement(C,null),r.createElement($,null),r.createElement(R,{location:T(t)},e)))))}var Z=n(6887);const Q=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,n)=>{if("undefined"==typeof document)return void n();const r=document.createElement("link");r.setAttribute("rel","prefetch"),r.setAttribute("href",e),r.onload=()=>t(),r.onerror=()=>n();const a=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;a?.appendChild(r)}))}:function(e){return new Promise(((t,n)=>{const r=new XMLHttpRequest;r.open("GET",e,!0),r.withCredentials=!0,r.onload=()=>{200===r.status?t():n()},r.send(null)}))};var V=n(9670);const q=new Set,G=new Set,Y=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,K={prefetch(e){if(!(e=>!Y()&&!G.has(e)&&!q.has(e))(e))return!1;q.add(e);const t=(0,d.f)(u.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(Z).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,V.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?Q(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!Y()&&!G.has(e))(e)&&(G.add(e),P(e))},X=Object.freeze(K);if(s.Z.canUseDOM){window.docusaurus=X;const e=a.hydrate;P(window.location.pathname).then((()=>{e(r.createElement(i.B6,null,r.createElement(o.VK,null,r.createElement(H,null))),document.getElementById("__docusaurus"))}))}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>c,M:()=>d});var r=n(7294),a=n(6809);const o=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/SolidUI-Website/zh-CN/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/SolidUI-Website/zh-CN/docs","mainDocId":"intro","docs":[{"id":"deployment/deployment-docker","path":"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker","sidebar":"tutorialSidebar"},{"id":"deployment/deployment-kubernetes","path":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","sidebar":"tutorialSidebar"},{"id":"deployment/deployment-standalone","path":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","sidebar":"tutorialSidebar"},{"id":"deployment/deployment-web","path":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","sidebar":"tutorialSidebar"},{"id":"design/front-end-architecture/front-end-architecture","path":"/SolidUI-Website/zh-CN/docs/design/front-end-architecture/","sidebar":"tutorialSidebar"},{"id":"design/metadata/metadata","path":"/SolidUI-Website/zh-CN/docs/design/metadata/","sidebar":"tutorialSidebar"},{"id":"design/server-architecture/server-architecture","path":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","sidebar":"tutorialSidebar"},{"id":"development/develop-contributing","path":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","sidebar":"tutorialSidebar"},{"id":"development/development-commit","path":"/SolidUI-Website/zh-CN/docs/development/development-commit","sidebar":"tutorialSidebar"},{"id":"development/development-construction","path":"/SolidUI-Website/zh-CN/docs/development/development-construction","sidebar":"tutorialSidebar"},{"id":"development/development-docker","path":"/SolidUI-Website/zh-CN/docs/development/development-docker","sidebar":"tutorialSidebar"},{"id":"development/development-front","path":"/SolidUI-Website/zh-CN/docs/development/development-front","sidebar":"tutorialSidebar"},{"id":"development/development-release","path":"/SolidUI-Website/zh-CN/docs/development/development-release","sidebar":"tutorialSidebar"},{"id":"development/development-server","path":"/SolidUI-Website/zh-CN/docs/development/development-server","sidebar":"tutorialSidebar"},{"id":"faq/faq/faq","path":"/SolidUI-Website/zh-CN/docs/faq/faq/","sidebar":"tutorialSidebar"},{"id":"intro","path":"/SolidUI-Website/zh-CN/docs/intro","sidebar":"tutorialSidebar"},{"id":"operational/community-operation/community-operation","path":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","sidebar":"tutorialSidebar"},{"id":"test/test-case/test-case","path":"/SolidUI-Website/zh-CN/docs/test/test-case/","sidebar":"tutorialSidebar"},{"id":"user-guide/quick-start","path":"/SolidUI-Website/zh-CN/docs/user-guide/quick-start","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/SolidUI-Website/zh-CN/docs/intro","label":"intro"}}}}],"breadcrumbs":true},"community":{"path":"/SolidUI-Website/zh-CN/community","versions":[{"name":"current","label":"Next","isLast":true,"path":"/SolidUI-Website/zh-CN/community","mainDocId":"contribution_guide/become_committer","docs":[{"id":"contribution_guide/become_committer","path":"/SolidUI-Website/zh-CN/community/contribution_guide/become_committer","sidebar":"tutorialSidebar"},{"id":"submit_guide/document","path":"/SolidUI-Website/zh-CN/community/submit_guide/document","sidebar":"tutorialSidebar"},{"id":"submit_guide/submit_code","path":"/SolidUI-Website/zh-CN/community/submit_guide/submit_code","sidebar":"tutorialSidebar"}],"draftIds":[],"sidebars":{"tutorialSidebar":{"link":{"path":"/SolidUI-Website/zh-CN/community/contribution_guide/become_committer","label":"contribution_guide/become_committer"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en","zh-CN"],"path":"i18n","currentLocale":"zh-CN","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"},"zh-CN":{"label":"\u7b80\u4f53\u4e2d\u6587","direction":"ltr","htmlLang":"zh-CN","calendar":"gregory","path":"zh-CN"}}}');var s=n(7529);const l=JSON.parse('{"docusaurusVersion":"2.4.1","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.4.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"2.4.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.4.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.4.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.4.1"},"docusaurus-plugin-less":{"type":"package","name":"docusaurus-plugin-less","version":"2.0.2"},"@easyops-cn/docusaurus-search-local":{"type":"package","name":"@easyops-cn/docusaurus-search-local","version":"0.33.6"}}}'),u={siteConfig:a.default,siteMetadata:l,globalData:o,i18n:i,codeTranslations:s},c=r.createContext(u);function d(e){let{children:t}=e;return r.createElement(c.Provider,{value:u},t)}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var r=n(7294),a=n(412),o=n(5742),i=n(8780),s=n(179);function l(e){let{error:t,tryAgain:n}=e;return r.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"}},r.createElement("h1",{style:{fontSize:"3rem"}},"This page crashed"),r.createElement("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"}},"Try again"),r.createElement(u,{error:t}))}function u(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{style:{whiteSpace:"pre-wrap"}},n)}function c(e){let{error:t,tryAgain:n}=e;return r.createElement(f,{fallback:()=>r.createElement(l,{error:t,tryAgain:n})},r.createElement(o.Z,null,r.createElement("title",null,"Page Error")),r.createElement(s.Z,null,r.createElement(l,{error:t,tryAgain:n})))}const d=e=>r.createElement(c,e);class f extends r.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){a.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??d)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,a={canUseDOM:r,canUseEventListeners:r&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:r&&"IntersectionObserver"in window,canUseViewport:r&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(405);function o(e){return r.createElement(a.ql,e)}},9960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});var r=n(7462),a=n(7294),o=n(3727),i=n(8780),s=n(2263),l=n(3919),u=n(412);const c=a.createContext({collectLink:()=>{}});var d=n(4996);function f(e,t){let{isNavLink:n,to:f,href:p,activeClassName:h,isActive:m,"data-noBrokenLinkCheck":g,autoAddBaseUrl:b=!0,...v}=e;const{siteConfig:{trailingSlash:y,baseUrl:w}}=(0,s.Z)(),{withBaseUrl:k}=(0,d.C)(),E=(0,a.useContext)(c),S=(0,a.useRef)(null);(0,a.useImperativeHandle)(t,(()=>S.current));const x=f||p;const C=(0,l.Z)(x),_=x?.replace("pathname://","");let T=void 0!==_?(N=_,b&&(e=>e.startsWith("/"))(N)?k(N):N):void 0;var N;T&&C&&(T=(0,i.applyTrailingSlash)(T,{trailingSlash:y,baseUrl:w}));const I=(0,a.useRef)(!1),L=n?o.OL:o.rU,A=u.Z.canUseIntersectionObserver,P=(0,a.useRef)(),O=()=>{I.current||null==T||(window.docusaurus.preload(T),I.current=!0)};(0,a.useEffect)((()=>(!A&&C&&null!=T&&window.docusaurus.prefetch(T),()=>{A&&P.current&&P.current.disconnect()})),[P,T,A,C]);const R=T?.startsWith("#")??!1,z=!T||!C||R;return z||g||E.collectLink(T),z?a.createElement("a",(0,r.Z)({ref:S,href:T},x&&!C&&{target:"_blank",rel:"noopener noreferrer"},v)):a.createElement(L,(0,r.Z)({},v,{onMouseEnter:O,onTouchStart:O,innerRef:e=>{S.current=e,A&&e&&C&&(P.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(P.current.unobserve(e),P.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),P.current.observe(e))},to:T},n&&{isActive:m,activeClassName:h}))}const p=a.forwardRef(f)},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>l,I:()=>s});var r=n(7294);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,r.isValidElement)(e)))?n.map(((e,t)=>(0,r.isValidElement)(e)?r.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var o=n(7529);function i(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return o[t??n]??n??t}function s(e,t){let{message:n,id:r}=e;return a(i({message:n,id:r}),t)}function l(e){let{children:t,id:n,values:o}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal <Translate> children",t),new Error("The Docusaurus <Translate> component only accept simple string values");const s=i({message:t,id:n});return r.createElement(r.Fragment,null,a(s,o))}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>r});const r="default"},3919:(e,t,n)=>{"use strict";function r(e){return/^(?:\w*:|\/\/)/.test(e)}function a(e){return void 0!==e&&!r(e)}n.d(t,{Z:()=>a,b:()=>r})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>s});var r=n(7294),a=n(2263),o=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,a.Z)(),n=(0,r.useCallback)(((n,r)=>function(e,t,n,r){let{forcePrependBaseUrl:a=!1,absolute:i=!1}=void 0===r?{}:r;if(!n||n.startsWith("#")||(0,o.b)(n))return n;if(a)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const s=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+s:s}(t,e,n,r)),[t,e]);return{withBaseUrl:n}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8940);function o(){return(0,r.useContext)(a._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(8934);function o(){return(0,r.useContext)(a._)}},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});const r=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function a(e){const t={};return function e(n,a){Object.entries(n).forEach((n=>{let[o,i]=n;const s=a?`${a}.${o}`:o;r(i)?e(i,s):t[s]=i}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>o});var r=n(7294);const a=r.createContext(null);function o(e){let{children:t,value:n}=e;const o=r.useContext(a),i=(0,r.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const r={...t.data,...n?.data};return{plugin:t.plugin,data:r}}({parent:o,value:n})),[o,n]);return r.createElement(a.Provider,{value:i},t)}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>m,gA:()=>f,_r:()=>c,Jo:()=>g,zh:()=>d,yW:()=>h,gB:()=>p});var r=n(6550),a=n(2263),o=n(9935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,a.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){const n=function(e,t){const n=s(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,r.LX)(t,{path:e.path,exact:!1,strict:!1})))}(e,t),a=n?.docs.find((e=>!!(0,r.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:a,alternateDocVersions:a?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((r=>{r.id===t&&(n[e.name]=r)}))})),n}(a.id):{}}}const u={},c=()=>i("docusaurus-plugin-content-docs")??u,d=e=>function(e,t,n){void 0===t&&(t=o.m),void 0===n&&(n={});const r=i(e),a=r?.[t];if(!a&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return a}("docusaurus-plugin-content-docs",e,{failfast:!0});function f(e){void 0===e&&(e={});const t=c(),{pathname:n}=(0,r.TH)();return function(e,t,n){void 0===n&&(n={});const a=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,r.LX)(t,{path:n.path,exact:!1,strict:!1})})),o=a?{pluginId:a[0],pluginData:a[1]}:void 0;if(!o&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return o}(t,n,e)}function p(e){return d(e).versions}function h(e){const t=d(e);return s(t)}function m(e){const t=d(e),{pathname:n}=(0,r.TH)();return l(t,n)}function g(e){const t=d(e),{pathname:n}=(0,r.TH)();return function(e,t){const n=s(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});var r=n(4865),a=n.n(r);a().configure({showSpinner:!1});const o={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{a().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){a().done()}}},7021:(e,t,n)=>{"use strict";n.r(t);var r=n(7410),a=n(412),o=n(6809);const i=e=>{if(a.Z.canUseDOM){const{themeConfig:{prism:t={}}}=o.default,{additionalLanguages:r=[]}=t;window.Prism=e,r.forEach((e=>{n(8956)(`./prism-${e}`)})),delete window.Prism}};i(r.Z)},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294);const a={iconExternalLink:"iconExternalLink_nPIU"};function o(e){let{width:t=13.5,height:n=13.5}=e;return r.createElement("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:a.iconExternalLink},r.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},179:(e,t,n)=>{"use strict";n.d(t,{Z:()=>Pt});var r=n(7294),a=n(6010),o=n(4763),i=n(1944),s=n(7462),l=n(6550),u=n(5999),c=n(5936);const d="__docusaurus_skipToContent_fallback";function f(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function p(){const e=(0,r.useRef)(null),{action:t}=(0,l.k6)(),n=(0,r.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&f(t)}),[]);return(0,c.S)((n=>{let{location:r}=n;e.current&&!r.hash&&"PUSH"===t&&f(e.current)})),{containerRef:e,onClick:n}}const h=(0,u.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function m(e){const t=e.children??h,{containerRef:n,onClick:a}=p();return r.createElement("div",{ref:n,role:"region","aria-label":h},r.createElement("a",(0,s.Z)({},e,{href:`#${d}`,onClick:a}),t))}var g=n(5281),b=n(9727);const v={skipToContent:"skipToContent_fXgn"};function y(){return r.createElement(m,{className:v.skipToContent})}var w=n(6668),k=n(9689);function E(e){let{width:t=21,height:n=21,color:a="currentColor",strokeWidth:o=1.2,className:i,...l}=e;return r.createElement("svg",(0,s.Z)({viewBox:"0 0 15 15",width:t,height:n},l),r.createElement("g",{stroke:a,strokeWidth:o},r.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const S={closeButton:"closeButton_CVFx"};function x(e){return r.createElement("button",(0,s.Z)({type:"button","aria-label":(0,u.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,a.Z)("clean-btn close",S.closeButton,e.className)}),r.createElement(E,{width:14,height:14,strokeWidth:3.1}))}const C={content:"content_knG7"};function _(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return r.createElement("div",(0,s.Z)({},e,{className:(0,a.Z)(C.content,e.className),dangerouslySetInnerHTML:{__html:n}}))}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function N(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,k.nT)();if(!t)return null;const{backgroundColor:a,textColor:o,isCloseable:i}=e;return r.createElement("div",{className:T.announcementBar,style:{backgroundColor:a,color:o},role:"banner"},i&&r.createElement("div",{className:T.announcementBarPlaceholder}),r.createElement(_,{className:T.announcementBarContent}),i&&r.createElement(x,{onClick:n,className:T.announcementBarClose}))}var I=n(2961),L=n(2466);var A=n(902),P=n(3102);const O=r.createContext(null);function R(e){let{children:t}=e;const n=function(){const e=(0,I.e)(),t=(0,P.HY)(),[n,a]=(0,r.useState)(!1),o=null!==t.component,i=(0,A.D9)(o);return(0,r.useEffect)((()=>{o&&!i&&a(!0)}),[o,i]),(0,r.useEffect)((()=>{o?e.shown||a(!0):a(!1)}),[e.shown,o]),(0,r.useMemo)((()=>[n,a]),[n])}();return r.createElement(O.Provider,{value:n},t)}function z(e){if(e.component){const t=e.component;return r.createElement(t,e.props)}}function U(){const e=(0,r.useContext)(O);if(!e)throw new A.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,a=(0,r.useCallback)((()=>n(!1)),[n]),o=(0,P.HY)();return(0,r.useMemo)((()=>({shown:t,hide:a,content:z(o)})),[a,o,t])}function D(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e;const{shown:i}=U();return r.createElement("div",{className:"navbar-sidebar"},t,r.createElement("div",{className:(0,a.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":i})},r.createElement("div",{className:"navbar-sidebar__item menu"},n),r.createElement("div",{className:"navbar-sidebar__item menu"},o)))}var M=n(2949),F=n(2389);function B(e){return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function $(e){return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:24,height:24},e),r.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const j={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function W(e){let{className:t,buttonClassName:n,value:o,onChange:i}=e;const s=(0,F.Z)(),l=(0,u.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===o?(0,u.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,u.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return r.createElement("div",{className:(0,a.Z)(j.toggle,t)},r.createElement("button",{className:(0,a.Z)("clean-btn",j.toggleButton,!s&&j.toggleButtonDisabled,n),type:"button",onClick:()=>i("dark"===o?"light":"dark"),disabled:!s,title:l,"aria-label":l,"aria-live":"polite"},r.createElement(B,{className:(0,a.Z)(j.toggleIcon,j.lightToggleIcon)}),r.createElement($,{className:(0,a.Z)(j.toggleIcon,j.darkToggleIcon)})))}const H=r.memo(W),Z={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function Q(e){let{className:t}=e;const n=(0,w.L)().navbar.style,a=(0,w.L)().colorMode.disableSwitch,{colorMode:o,setColorMode:i}=(0,M.I)();return a?null:r.createElement(H,{className:t,buttonClassName:"dark"===n?Z.darkNavbarColorModeToggle:void 0,value:o,onChange:i})}var V=n(1327);function q(){return r.createElement(V.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function G(){const e=(0,I.e)();return r.createElement("button",{type:"button","aria-label":(0,u.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle()},r.createElement(E,{color:"var(--ifm-color-emphasis-600)"}))}function Y(){return r.createElement("div",{className:"navbar-sidebar__brand"},r.createElement(q,null),r.createElement(Q,{className:"margin-right--md"}),r.createElement(G,null))}var K=n(9960),X=n(4996),J=n(3919);function ee(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}var te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:a,href:o,label:i,html:l,isDropdownLink:u,prependBaseUrlToHref:c,...d}=e;const f=(0,X.Z)(a),p=(0,X.Z)(t),h=(0,X.Z)(o,{forcePrependBaseUrl:!0}),m=i&&o&&!(0,J.Z)(o),g=l?{dangerouslySetInnerHTML:{__html:l}}:{children:r.createElement(r.Fragment,null,i,m&&r.createElement(te.Z,u&&{width:12,height:12}))};return o?r.createElement(K.Z,(0,s.Z)({href:c?h:o},d,g)):r.createElement(K.Z,(0,s.Z)({to:f,isNavLink:!0},(t||n)&&{isActive:(e,t)=>n?ee(n,t.pathname):t.pathname.startsWith(p)},d,g))}function re(e){let{className:t,isDropdownItem:n=!1,...o}=e;const i=r.createElement(ne,(0,s.Z)({className:(0,a.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n},o));return n?r.createElement("li",null,i):i}function ae(e){let{className:t,isDropdownItem:n,...o}=e;return r.createElement("li",{className:"menu__list-item"},r.createElement(ne,(0,s.Z)({className:(0,a.Z)("menu__link",t)},o)))}function oe(e){let{mobile:t=!1,position:n,...a}=e;const o=t?ae:re;return r.createElement(o,(0,s.Z)({},a,{activeClassName:a.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var ie=n(6043),se=n(8596),le=n(2263);function ue(e,t){return e.some((e=>function(e,t){return!!(0,se.Mg)(e.to,t)||!!ee(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function ce(e){let{items:t,position:n,className:o,onClick:i,...l}=e;const u=(0,r.useRef)(null),[c,d]=(0,r.useState)(!1);return(0,r.useEffect)((()=>{const e=e=>{u.current&&!u.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[u]),r.createElement("div",{ref:u,className:(0,a.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c})},r.createElement(ne,(0,s.Z)({"aria-haspopup":"true","aria-expanded":c,role:"button",href:l.to?void 0:"#",className:(0,a.Z)("navbar__link",o)},l,{onClick:l.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))}}),l.children??l.label),r.createElement("ul",{className:"dropdown__menu"},t.map(((e,t)=>r.createElement(Ze,(0,s.Z)({isDropdownItem:!0,activeClassName:"dropdown__link--active"},e,{key:t}))))))}function de(e){let{items:t,className:n,position:o,onClick:i,...u}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,le.Z)(),{pathname:t}=(0,l.TH)();return t.replace(e,"/")}(),d=ue(t,c),{collapsed:f,toggleCollapsed:p,setCollapsed:h}=(0,ie.u)({initialState:()=>!d});return(0,r.useEffect)((()=>{d&&h(!d)}),[c,d,h]),r.createElement("li",{className:(0,a.Z)("menu__list-item",{"menu__list-item--collapsed":f})},r.createElement(ne,(0,s.Z)({role:"button",className:(0,a.Z)("menu__link menu__link--sublist menu__link--sublist-caret",n)},u,{onClick:e=>{e.preventDefault(),p()}}),u.children??u.label),r.createElement(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:f},t.map(((e,t)=>r.createElement(Ze,(0,s.Z)({mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active"},e,{key:t}))))))}function fe(e){let{mobile:t=!1,...n}=e;const a=t?de:ce;return r.createElement(a,n)}var pe=n(4711);function he(e){let{width:t=20,height:n=20,...a}=e;return r.createElement("svg",(0,s.Z)({viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0},a),r.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const me="iconLanguage_nlXk";var ge=n(1029),be=n(412),ve=n(373),ye=n(143),we=n(22),ke=n(8202),Ee=n(3926),Se=n(1073),xe=n(2539),Ce=n(726);const _e='<svg width="20" height="20" viewBox="0 0 20 20"><path d="M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linejoin="round"></path></svg>',Te='<svg width="20" height="20" viewBox="0 0 20 20"><path d="M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg>',Ne='<svg width="20" height="20" viewBox="0 0 20 20"><path d="M17 5H3h14zm0 5H3h14zm0 5H3h14z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linejoin="round"></path></svg>',Ie='<svg width="20" height="20" viewBox="0 0 20 20"><g stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><path d="M18 3v4c0 2-2 4-4 4H2"></path><path d="M8 17l-6-6 6-6"></path></g></svg>',Le='<svg width="40" height="40" viewBox="0 0 20 20" fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round"><path d="M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"></path></svg>',Ae='<svg viewBox="0 0 24 54"><g stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><path d="M8 6v42M20 27H8.3"></path></g></svg>',Pe='<svg viewBox="0 0 24 54"><g stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><path d="M8 6v21M20 27H8.3"></path></g></svg>',Oe={searchBar:"searchBar_RVTs",dropdownMenu:"dropdownMenu_qbY6",searchBarLeft:"searchBarLeft_MXDe",suggestion:"suggestion_fB_2",cursor:"cursor_eG29",hitTree:"hitTree_kk6K",hitIcon:"hitIcon_a7Zy",hitPath:"hitPath_ieM4",noResultsIcon:"noResultsIcon_EBY5",hitFooter:"hitFooter_E9YW",hitWrapper:"hitWrapper_sAK8",hitTitle:"hitTitle_vyVt",hitAction:"hitAction_NqkB",hideAction:"hideAction_vcyE",noResults:"noResults_l6Q3",searchBarContainer:"searchBarContainer_NW3z",searchBarLoadingRing:"searchBarLoadingRing_YnHq",searchClearButton:"searchClearButton_qk4g",searchIndexLoading:"searchIndexLoading_EJ1f",searchHintContainer:"searchHintContainer_Pkmr",searchHint:"searchHint_iIMx",focused:"focused_OWtg",input:"input_FOTf",hint:"hint_URu1",suggestions:"suggestions_X8XU",dataset:"dataset_QiCy",empty:"empty_eITn"};function Re(e){let{document:t,type:n,page:r,metadata:a,tokens:o,isInterOfTree:i,isLastOfTree:s}=e;const l=0===n,u=1===n,c=[];i?c.push(Ae):s&&c.push(Pe);const d=c.map((e=>`<span class="${Oe.hitTree}">${e}</span>`)),f=`<span class="${Oe.hitIcon}">${l?_e:u?Te:Ne}</span>`,p=[`<span class="${Oe.hitTitle}">${(0,Ce.o)(t.t,(0,Se.m)(a,"t"),o)}</span>`];if(!i&&!s&&ge.H6){const e=r?(r.b??[]).concat(r.t).concat(t.s&&t.s!==r.t?t.s:[]):t.b;p.push(`<span class="${Oe.hitPath}">${(0,Ee.e)(e??[])}</span>`)}else l||p.push(`<span class="${Oe.hitPath}">${(0,xe.C)(r.t||(t.u.startsWith("/docs/api-reference/")?"API Reference":""),o)}</span>`);const h=`<span class="${Oe.hitAction}">${Ie}</span>`;return[...d,f,`<span class="${Oe.hitWrapper}">`,...p,"</span>",h].join("")}function ze(){return`<span class="${Oe.noResults}"><span class="${Oe.noResultsIcon}">${Le}</span><span>${(0,u.I)({id:"theme.SearchBar.noResultsText",message:"No results"})}</span></span>`}var Ue=n(311);async function De(){const e=await Promise.all([n.e(8443),n.e(5525)]).then(n.t.bind(n,8443,23)),t=e.default;return t.noConflict?t.noConflict():e.noConflict&&e.noConflict(),t}const Me="_highlight";const Fe=function(e){let{handleSearchBarToggle:t}=e;const{siteConfig:{baseUrl:n}}=(0,le.Z)(),o=(0,ye.gA)();let i=n;try{const{preferredVersion:e}=(0,ve.J)(o?.pluginId??ge.gQ);e&&!e.isLast&&(i=e.path+"/")}catch(z){if(ge.l9&&!(z instanceof A.i6))throw z}const s=(0,l.k6)(),c=(0,l.TH)(),d=(0,r.useRef)(null),f=(0,r.useRef)(new Map),p=(0,r.useRef)(!1),[h,m]=(0,r.useState)(!1),[g,b]=(0,r.useState)(!1),[v,y]=(0,r.useState)(""),w=(0,r.useRef)(null),k=(0,r.useRef)(""),[E,S]=(0,r.useState)("");(0,r.useEffect)((()=>{if(!Array.isArray(ge.Kc))return;let e="";if(c.pathname.startsWith(i)){const t=c.pathname.substring(i.length),n=ge.Kc.find((e=>t===e||t.startsWith(`${e}/`)));n&&(e=n)}k.current!==e&&(f.current.delete(e),k.current=e),S(e)}),[c.pathname,i]);const x=!!ge.hG&&Array.isArray(ge.Kc)&&""===E,C=(0,r.useCallback)((async()=>{if(x||f.current.get(E))return;f.current.set(E,"loading"),w.current?.autocomplete.destroy(),m(!0);const[{wrappedIndexes:e,zhDictionary:t},r]=await Promise.all([(0,we.w)(i,E),De()]);if(w.current=r(d.current,{hint:!1,autoselect:!0,openOnFocus:!0,cssClasses:{root:(0,a.Z)(Oe.searchBar,{[Oe.searchBarLeft]:"left"===ge.pu}),noPrefix:!0,dropdownMenu:Oe.dropdownMenu,input:Oe.input,hint:Oe.hint,suggestions:Oe.suggestions,suggestion:Oe.suggestion,cursor:Oe.cursor,dataset:Oe.dataset,empty:Oe.empty}},[{source:(0,ke.v)(e,t,ge.qo),templates:{suggestion:Re,empty:ze,footer:e=>{let{query:t,isEmpty:r}=e;if(r)return;const a=document.createElement("a"),o=new URLSearchParams;if(o.set("q",t),Array.isArray(ge.Kc)&&o.set("ctx",E),i!==n){if(!i.startsWith(n))throw new Error(`Version url '${i}' does not start with base url '${n}', this is a bug of \`@easyops-cn/docusaurus-search-local\`, please report it.`);o.set("version",i.substring(n.length))}const l=`${n}search?${o.toString()}`;a.href=l,a.textContent=(0,u.I)({id:"theme.SearchBar.seeAll",message:"See all results"}),a.addEventListener("click",(e=>{e.ctrlKey||e.metaKey||(e.preventDefault(),w.current?.autocomplete.close(),s.push(l))}));const c=document.createElement("div");return c.className=Oe.hitFooter,c.appendChild(a),c}}}]).on("autocomplete:selected",(function(e,t){let{document:{u:n,h:r},tokens:a}=t;d.current?.blur();let o=n;if(ge.vc&&a.length>0){const e=new URLSearchParams;for(const t of a)e.append(Me,t);o+=`?${e.toString()}`}r&&(o+=r),s.push(o)})).on("autocomplete:closed",(()=>{d.current?.blur()})),f.current.set(E,"done"),m(!1),p.current){const e=d.current;e.value&&w.current?.autocomplete.open(),e.focus()}}),[x,E,i,n,s]);(0,r.useEffect)((()=>{if(!ge.vc)return;const e=be.Z.canUseDOM?new URLSearchParams(c.search).getAll(Me):[];setTimeout((()=>{const t=document.querySelector("article");if(!t)return;const n=new ge.vc(t);n.unmark(),0!==e.length&&n.mark(e),y(e.join(" ")),w.current?.autocomplete.setVal(e.join(" "))}))}),[c.search,c.pathname]);const[_,T]=(0,r.useState)(!1),N=(0,r.useCallback)((()=>{p.current=!0,C(),T(!0),t?.(!0)}),[t,C]),I=(0,r.useCallback)((()=>{T(!1),t?.(!1)}),[t]),L=(0,r.useCallback)((()=>{C()}),[C]),P=(0,r.useCallback)((e=>{y(e.target.value),e.target.value&&b(!0)}),[]),O=!!be.Z.canUseDOM&&/mac/i.test(navigator.userAgentData?.platform??navigator.platform);(0,r.useEffect)((()=>{if(!ge.AY)return;const e=e=>{!(O?e.metaKey:e.ctrlKey)||"k"!==e.key&&"K"!==e.key||(e.preventDefault(),d.current?.focus(),N())};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}),[O,N]);const R=(0,r.useCallback)((()=>{const e=new URLSearchParams(c.search);e.delete(Me);const t=e.toString(),n=c.pathname+(""!=t?`?${t}`:"")+c.hash;n!=c.pathname+c.search+c.hash&&s.push(n),y(""),w.current?.autocomplete.setVal("")}),[c.pathname,c.search,c.hash,s]);return r.createElement("div",{className:(0,a.Z)("navbar__search",Oe.searchBarContainer,{[Oe.searchIndexLoading]:h&&g,[Oe.focused]:_}),hidden:x},r.createElement("input",{placeholder:(0,u.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),"aria-label":"Search",className:"navbar__search-input",onMouseEnter:L,onFocus:N,onBlur:I,onChange:P,ref:d,value:v}),r.createElement(Ue.Z,{className:Oe.searchBarLoadingRing}),ge.AY&&ge.t_&&(""!==v?r.createElement("button",{className:Oe.searchClearButton,onClick:R},"\u2715"):be.Z.canUseDOM&&r.createElement("div",{className:Oe.searchHintContainer},r.createElement("kbd",{className:Oe.searchHint},O?"\u2318":"ctrl"),r.createElement("kbd",{className:Oe.searchHint},"K"))))},Be={searchBox:"searchBox_ZlJk"};function $e(e){let{children:t,className:n}=e;return r.createElement("div",{className:(0,a.Z)(n,Be.searchBox)},t)}var je=n(2802);const We=e=>e.docs.find((t=>t.id===e.mainDocId));const He={default:oe,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:a,...o}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,le.Z)(),f=(0,pe.l)(),{search:p,hash:h}=(0,l.TH)(),m=[...n,...c.map((e=>{const n=`${`pathname://${f.createUrl({locale:e,fullyQualified:!1})}`}${p}${h}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...a],g=t?(0,u.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return r.createElement(fe,(0,s.Z)({},o,{mobile:t,label:r.createElement(r.Fragment,null,r.createElement(he,{className:me}),g),items:m}))},search:function(e){let{mobile:t,className:n}=e;return t?null:r.createElement($e,{className:n},r.createElement(Fe,null))},dropdown:fe,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:i=!1}=e;const s=i?"li":"div";return r.createElement(s,{className:(0,a.Z)({navbar__item:!o&&!i,"menu__list-item":o},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,ye.Iw)(a),l=(0,je.vY)(t,a);return null===l?null:r.createElement(oe,(0,s.Z)({exact:!0},o,{isActive:()=>i?.path===l.path||!!i?.sidebar&&i.sidebar===l.sidebar,label:n??l.id,to:l.path}))},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:a,...o}=e;const{activeDoc:i}=(0,ye.Iw)(a),l=(0,je.oz)(t,a).link;if(!l)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return r.createElement(oe,(0,s.Z)({exact:!0},o,{isActive:()=>i?.sidebar===t,label:n??l.label,to:l.path}))},docsVersion:function(e){let{label:t,to:n,docsPluginId:a,...o}=e;const i=(0,je.lO)(a)[0],l=t??i.label,u=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(i).path;return r.createElement(oe,(0,s.Z)({},o,{label:l,to:u}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:a,dropdownItemsBefore:o,dropdownItemsAfter:i,...c}=e;const{search:d,hash:f}=(0,l.TH)(),p=(0,ye.Iw)(n),h=(0,ye.gB)(n),{savePreferredVersionName:m}=(0,ve.J)(n),g=[...o,...h.map((e=>{const t=p.alternateDocVersions[e.name]??We(e);return{label:e.label,to:`${t.path}${d}${f}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...i],b=(0,je.lO)(n)[0],v=t&&g.length>1?(0,u.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):b.label,y=t&&g.length>1?void 0:We(b).path;return g.length<=1?r.createElement(oe,(0,s.Z)({},c,{mobile:t,label:v,to:y,isActive:a?()=>!1:void 0})):r.createElement(fe,(0,s.Z)({},c,{mobile:t,label:v,to:y,items:g,isActive:a?()=>!1:void 0}))}};function Ze(e){let{type:t,...n}=e;const a=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),o=He[a];if(!o)throw new Error(`No NavbarItem component found for type "${t}".`);return r.createElement(o,n)}function Qe(){const e=(0,I.e)(),t=(0,w.L)().navbar.items;return r.createElement("ul",{className:"menu__list"},t.map(((t,n)=>r.createElement(Ze,(0,s.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:n})))))}function Ve(e){return r.createElement("button",(0,s.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),r.createElement(u.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function qe(){const e=0===(0,w.L)().navbar.items.length,t=U();return r.createElement(r.Fragment,null,!e&&r.createElement(Ve,{onClick:()=>t.hide()}),t.content)}function Ge(){const e=(0,I.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,r.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?r.createElement(D,{header:r.createElement(Y,null),primaryMenu:r.createElement(Qe,null),secondaryMenu:r.createElement(qe,null)}):null}const Ye={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ke(e){return r.createElement("div",(0,s.Z)({role:"presentation"},e,{className:(0,a.Z)("navbar-sidebar__backdrop",e.className)}))}function Xe(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:o}}=(0,w.L)(),i=(0,I.e)(),{navbarRef:s,isNavbarVisible:l}=function(e){const[t,n]=(0,r.useState)(e),a=(0,r.useRef)(!1),o=(0,r.useRef)(0),i=(0,r.useCallback)((e=>{null!==e&&(o.current=e.getBoundingClientRect().height)}),[]);return(0,L.RF)(((t,r)=>{let{scrollY:i}=t;if(!e)return;if(i<o.current)return void n(!0);if(a.current)return void(a.current=!1);const s=r?.scrollY,l=document.documentElement.scrollHeight-o.current,u=window.innerHeight;s&&i>=s?n(!1):i+u<l&&n(!0)})),(0,c.S)((t=>{if(!e)return;const r=t.location.hash;if(r?document.getElementById(r.substring(1)):void 0)return a.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return r.createElement("nav",{ref:s,"aria-label":(0,u.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,a.Z)("navbar","navbar--fixed-top",n&&[Ye.navbarHideable,!l&&Ye.navbarHidden],{"navbar--dark":"dark"===o,"navbar--primary":"primary"===o,"navbar-sidebar--show":i.shown})},t,r.createElement(Ke,{onClick:i.toggle}),r.createElement(Ge,null))}var Je=n(8780);const et={errorBoundaryError:"errorBoundaryError_a6uf"};function tt(e){return r.createElement("button",(0,s.Z)({type:"button"},e),r.createElement(u.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error"},"Try again"))}function nt(e){let{error:t}=e;const n=(0,Je.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return r.createElement("p",{className:et.errorBoundaryError},n)}class rt extends r.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const at="right";function ot(e){let{width:t=30,height:n=30,className:a,...o}=e;return r.createElement("svg",(0,s.Z)({className:a,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true"},o),r.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function it(){const{toggle:e,shown:t}=(0,I.e)();return r.createElement("button",{onClick:e,"aria-label":(0,u.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button"},r.createElement(ot,null))}const st={colorModeToggle:"colorModeToggle_DEke"};function lt(e){let{items:t}=e;return r.createElement(r.Fragment,null,t.map(((e,t)=>r.createElement(rt,{key:t,onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t})},r.createElement(Ze,e)))))}function ut(e){let{left:t,right:n}=e;return r.createElement("div",{className:"navbar__inner"},r.createElement("div",{className:"navbar__items"},t),r.createElement("div",{className:"navbar__items navbar__items--right"},n))}function ct(){const e=(0,I.e)(),t=(0,w.L)().navbar.items,[n,a]=function(e){function t(e){return"left"===(e.position??at)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),o=t.find((e=>"search"===e.type));return r.createElement(ut,{left:r.createElement(r.Fragment,null,!e.disabled&&r.createElement(it,null),r.createElement(q,null),r.createElement(lt,{items:n})),right:r.createElement(r.Fragment,null,r.createElement(lt,{items:a}),r.createElement(Q,{className:st.colorModeToggle}),!o&&r.createElement($e,null,r.createElement(Fe,null)))})}function dt(){return r.createElement(Xe,null,r.createElement(ct,null))}function ft(e){let{item:t}=e;const{to:n,href:a,label:o,prependBaseUrlToHref:i,...l}=t,u=(0,X.Z)(n),c=(0,X.Z)(a,{forcePrependBaseUrl:!0});return r.createElement(K.Z,(0,s.Z)({className:"footer__link-item"},a?{href:i?c:a}:{to:u},l),o,a&&!(0,J.Z)(a)&&r.createElement(te.Z,null))}function pt(e){let{item:t}=e;return t.html?r.createElement("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement("li",{key:t.href??t.to,className:"footer__item"},r.createElement(ft,{item:t}))}function ht(e){let{column:t}=e;return r.createElement("div",{className:"col footer__col"},r.createElement("div",{className:"footer__title"},t.title),r.createElement("ul",{className:"footer__items clean-list"},t.items.map(((e,t)=>r.createElement(pt,{key:t,item:e})))))}function mt(e){let{columns:t}=e;return r.createElement("div",{className:"row footer__links"},t.map(((e,t)=>r.createElement(ht,{key:t,column:e}))))}function gt(){return r.createElement("span",{className:"footer__link-separator"},"\xb7")}function bt(e){let{item:t}=e;return t.html?r.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):r.createElement(ft,{item:t})}function vt(e){let{links:t}=e;return r.createElement("div",{className:"footer__links text--center"},r.createElement("div",{className:"footer__links"},t.map(((e,n)=>r.createElement(r.Fragment,{key:n},r.createElement(bt,{item:e}),t.length!==n+1&&r.createElement(gt,null))))))}function yt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?r.createElement(mt,{columns:t}):r.createElement(vt,{links:t})}var wt=n(941);const kt={footerLogoLink:"footerLogoLink_BH7S"};function Et(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),o={light:n(t.src),dark:n(t.srcDark??t.src)};return r.createElement(wt.Z,{className:(0,a.Z)("footer__logo",t.className),alt:t.alt,sources:o,width:t.width,height:t.height,style:t.style})}function St(e){let{logo:t}=e;return t.href?r.createElement(K.Z,{href:t.href,className:kt.footerLogoLink,target:t.target},r.createElement(Et,{logo:t})):r.createElement(Et,{logo:t})}function xt(e){let{copyright:t}=e;return r.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function Ct(e){let{style:t,links:n,logo:o,copyright:i}=e;return r.createElement("footer",{className:(0,a.Z)("footer",{"footer--dark":"dark"===t})},r.createElement("div",{className:"container container-fluid"},n,(o||i)&&r.createElement("div",{className:"footer__bottom text--center"},o&&r.createElement("div",{className:"margin-bottom--sm"},o),i)))}function _t(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:a,style:o}=e;return r.createElement(Ct,{style:o,links:n&&n.length>0&&r.createElement(yt,{links:n}),logo:a&&r.createElement(St,{logo:a}),copyright:t&&r.createElement(xt,{copyright:t})})}const Tt=r.memo(_t),Nt=(0,A.Qc)([M.S,k.pl,L.OC,ve.L5,i.VC,function(e){let{children:t}=e;return r.createElement(P.n2,null,r.createElement(I.M,null,r.createElement(R,null,t)))}]);function It(e){let{children:t}=e;return r.createElement(Nt,null,t)}function Lt(e){let{error:t,tryAgain:n}=e;return r.createElement("main",{className:"container margin-vert--xl"},r.createElement("div",{className:"row"},r.createElement("div",{className:"col col--6 col--offset-3"},r.createElement("h1",{className:"hero__title"},r.createElement(u.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),r.createElement("div",{className:"margin-vert--lg"},r.createElement(tt,{onClick:n,className:"button button--primary shadow--lw"})),r.createElement("hr",null),r.createElement("div",{className:"margin-vert--md"},r.createElement(nt,{error:t})))))}const At={mainWrapper:"mainWrapper_z2l0"};function Pt(e){const{children:t,noFooter:n,wrapperClassName:s,title:l,description:u}=e;return(0,b.t)(),r.createElement(It,null,r.createElement(i.d,{title:l,description:u}),r.createElement(y,null),r.createElement(N,null),r.createElement(dt,null),r.createElement("div",{id:d,className:(0,a.Z)(g.k.wrapper.main,At.mainWrapper,s)},r.createElement(o.Z,{fallback:e=>r.createElement(Lt,e)},t)),!n&&r.createElement(Tt,null))}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>d});var r=n(7462),a=n(7294),o=n(9960),i=n(4996),s=n(2263),l=n(6668),u=n(941);function c(e){let{logo:t,alt:n,imageClassName:r}=e;const o={light:(0,i.Z)(t.src),dark:(0,i.Z)(t.srcDark||t.src)},s=a.createElement(u.Z,{className:t.className,sources:o,height:t.height,width:t.width,alt:n,style:t.style});return r?a.createElement("div",{className:r},s):s}function d(e){const{siteConfig:{title:t}}=(0,s.Z)(),{navbar:{title:n,logo:u}}=(0,l.L)(),{imageClassName:d,titleClassName:f,...p}=e,h=(0,i.Z)(u?.href||"/"),m=n?"":t,g=u?.alt??m;return a.createElement(o.Z,(0,r.Z)({to:h},p,u?.target&&{target:u.target}),u&&a.createElement(c,{logo:u,alt:g,imageClassName:d}),null!=n&&a.createElement("b",{className:f},n))}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=n(7294),a=n(5742);function o(e){let{locale:t,version:n,tag:o}=e;const i=t;return r.createElement(a.Z,null,t&&r.createElement("meta",{name:"docusaurus_locale",content:t}),n&&r.createElement("meta",{name:"docusaurus_version",content:n}),o&&r.createElement("meta",{name:"docusaurus_tag",content:o}),i&&r.createElement("meta",{name:"docsearch:language",content:i}),n&&r.createElement("meta",{name:"docsearch:version",content:n}),o&&r.createElement("meta",{name:"docsearch:docusaurus_tag",content:o}))}},941:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var r=n(7462),a=n(7294),o=n(6010),i=n(2389),s=n(2949);const l={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function u(e){const t=(0,i.Z)(),{colorMode:n}=(0,s.I)(),{sources:u,className:c,alt:d,...f}=e,p=t?"dark"===n?["dark"]:["light"]:["light","dark"];return a.createElement(a.Fragment,null,p.map((e=>a.createElement("img",(0,r.Z)({key:e,src:u[e],alt:d,className:(0,o.Z)(l.themedImage,l[`themedImage--${e}`],c)},f)))))}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>l,z:()=>g});var r=n(7462),a=n(7294),o=n(412),i=n(1442);const s="ease-in-out";function l(e){let{initialState:t}=e;const[n,r]=(0,a.useState)(t??!1),o=(0,a.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:o}}const u={display:"none",overflow:"hidden",height:"0px"},c={display:"block",overflow:"visible",height:"auto"};function d(e,t){const n=t?u:c;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:r}=e;const o=(0,a.useRef)(!1);(0,a.useEffect)((()=>{const e=t.current;function a(){const t=e.scrollHeight,n=r?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${r?.easing??s}`,height:`${t}px`}}function l(){const t=a();e.style.transition=t.transition,e.style.height=t.height}if(!o.current)return d(e,n),void(o.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(l(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{l()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function p(e){if(!o.Z.canUseDOM)return e?u:c}function h(e){let{as:t="div",collapsed:n,children:r,animation:o,onCollapseTransitionEnd:i,className:s,disableSSRStyle:l}=e;const u=(0,a.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:o}),a.createElement(t,{ref:u,style:l?void 0:p(n),onTransitionEnd:e=>{"height"===e.propertyName&&(d(u.current,n),i?.(n))},className:s},r)}function m(e){let{collapsed:t,...n}=e;const[o,i]=(0,a.useState)(!t),[s,l]=(0,a.useState)(t);return(0,a.useLayoutEffect)((()=>{t||i(!0)}),[t]),(0,a.useLayoutEffect)((()=>{o&&l(t)}),[o,t]),o?a.createElement(h,(0,r.Z)({},n,{collapsed:s})):null}function g(e){let{lazy:t,...n}=e;const r=t?m:h;return a.createElement(r,n)}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>h,pl:()=>p});var r=n(7294),a=n(2389),o=n(12),i=n(902),s=n(6668);const l=(0,o.WA)("docusaurus.announcement.dismiss"),u=(0,o.WA)("docusaurus.announcement.id"),c=()=>"true"===l.get(),d=e=>l.set(String(e)),f=r.createContext(null);function p(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.L)(),t=(0,a.Z)(),[n,o]=(0,r.useState)((()=>!!t&&c()));(0,r.useEffect)((()=>{o(c())}),[]);const i=(0,r.useCallback)((()=>{d(!0),o(!0)}),[]);return(0,r.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const r=t!==n;u.set(t),r&&d(!1),!r&&c()||o(!1)}),[e]),(0,r.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return r.createElement(f.Provider,{value:n},t)}function h(){const e=(0,r.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>g,S:()=>m});var r=n(7294),a=n(412),o=n(902),i=n(12),s=n(6668);const l=r.createContext(void 0),u="theme",c=(0,i.WA)(u),d={light:"light",dark:"dark"},f=e=>e===d.dark?d.dark:d.light,p=e=>a.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),h=e=>{c.set(f(e))};function m(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[a,o]=(0,r.useState)(p(e));(0,r.useEffect)((()=>{t&&c.del()}),[t]);const i=(0,r.useCallback)((function(t,r){void 0===r&&(r={});const{persist:a=!0}=r;t?(o(t),a&&h(t)):(o(n?window.matchMedia("(prefers-color-scheme: dark)").matches?d.dark:d.light:e),c.del())}),[n,e]);(0,r.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(a))}),[a]),(0,r.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=c.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,r.useRef)(!1);return(0,r.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),r=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(r),()=>e.removeListener(r)}),[i,t,n]),(0,r.useMemo)((()=>({colorMode:a,setColorMode:i,get isDarkTheme(){return a===d.dark},setLightTheme(){i(d.light)},setDarkTheme(){i(d.dark)}})),[a,i])}();return r.createElement(l.Provider,{value:n},t)}function g(){const e=(0,r.useContext)(l);if(null==e)throw new o.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>g});var r=n(7294),a=n(143),o=n(9935),i=n(6668),s=n(2802),l=n(902),u=n(12);const c=e=>`docs-preferred-version-${e}`,d={save:(e,t,n)=>{(0,u.WA)(c(e),{persistence:t}).set(n)},read:(e,t)=>(0,u.WA)(c(e),{persistence:t}).get(),clear:(e,t)=>{(0,u.WA)(c(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const p=r.createContext(null);function h(){const e=(0,a._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,r.useMemo)((()=>Object.keys(e)),[e]),[o,s]=(0,r.useState)((()=>f(n)));(0,r.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:r}=e;function a(e){const t=d.read(e,n);return r[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(d.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,a(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[o,(0,r.useMemo)((()=>({savePreferredVersion:function(e,n){d.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function m(e){let{children:t}=e;const n=h();return r.createElement(p.Provider,{value:n},t)}function g(e){let{children:t}=e;return s.cE?r.createElement(m,null,t):r.createElement(r.Fragment,null,t)}function b(){const e=(0,r.useContext)(p);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=o.m);const t=(0,a.zh)(e),[n,i]=b(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,r.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>l,b:()=>s});var r=n(7294),a=n(902);const o=Symbol("EmptyContext"),i=r.createContext(o);function s(e){let{children:t,name:n,items:a}=e;const o=(0,r.useMemo)((()=>n&&a?{name:n,items:a}:null),[n,a]);return r.createElement(i.Provider,{value:o},t)}function l(){const e=(0,r.useContext)(i);if(e===o)throw new a.i6("DocsSidebarProvider");return e}},2961:(e,t,n)=>{"use strict";n.d(t,{M:()=>f,e:()=>p});var r=n(7294),a=n(3102),o=n(7524),i=n(6550),s=(n(1688),n(902));function l(e){!function(e){const t=(0,i.k6)(),n=(0,s.zX)(e);(0,r.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}var u=n(6668);const c=r.createContext(void 0);function d(){const e=function(){const e=(0,a.HY)(),{items:t}=(0,u.L)().navbar;return 0===t.length&&!e.component}(),t=(0,o.i)(),n=!e&&"mobile"===t,[i,s]=(0,r.useState)(!1);l((()=>{if(i)return s(!1),!1}));const c=(0,r.useCallback)((()=>{s((e=>!e))}),[]);return(0,r.useEffect)((()=>{"desktop"===t&&s(!1)}),[t]),(0,r.useMemo)((()=>({disabled:e,shouldRender:n,toggle:c,shown:i})),[e,n,c,i])}function f(e){let{children:t}=e;const n=d();return r.createElement(c.Provider,{value:n},t)}function p(){const e=r.useContext(c);if(void 0===e)throw new s.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>s,Zo:()=>l,n2:()=>i});var r=n(7294),a=n(902);const o=r.createContext(null);function i(e){let{children:t}=e;const n=(0,r.useState)({component:null,props:null});return r.createElement(o.Provider,{value:n},t)}function s(){const e=(0,r.useContext)(o);if(!e)throw new a.i6("NavbarSecondaryMenuContentProvider");return e[0]}function l(e){let{component:t,props:n}=e;const i=(0,r.useContext)(o);if(!i)throw new a.i6("NavbarSecondaryMenuContentProvider");const[,s]=i,l=(0,a.Ql)(n);return(0,r.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,r.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>a,t:()=>o});var r=n(7294);const a="navigation-with-keyboard";function o(){(0,r.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(a),"mousedown"===e.type&&document.body.classList.remove(a)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(a),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>u});var r=n(7294),a=n(412);const o={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(){return a.Z.canUseDOM?window.innerWidth>i?o.desktop:o.mobile:o.ssr}const l=!1;function u(){const[e,t]=(0,r.useState)((()=>l?"ssr":s()));return(0,r.useEffect)((()=>{function e(){t(s())}const n=l?window.setTimeout(e,1e3):void 0;return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(n)}}),[]),e}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>r});const r={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},1442:(e,t,n)=>{"use strict";function r(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>r})},2802:(e,t,n)=>{"use strict";n.d(t,{Wl:()=>f,_F:()=>m,cE:()=>d,hI:()=>k,lO:()=>v,vY:()=>w,oz:()=>y,s1:()=>b});var r=n(7294),a=n(6550),o=n(8790),i=n(143),s=n(373),l=n(1116);function u(e){return Array.from(new Set(e))}var c=n(8596);const d=!!i._r;function f(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=f(t);if(e)return e}}}const p=(e,t)=>void 0!==e&&(0,c.Mg)(e,t),h=(e,t)=>e.some((e=>m(e,t)));function m(e,t){return"link"===e.type?p(e.href,t):"category"===e.type&&(p(e.href,t)||h(e.items,t))}function g(e){let{sidebarItems:t,pathname:n,onlyCategories:r=!1}=e;const a=[];return function e(t){for(const o of t)if("category"===o.type&&((0,c.Mg)(o.href,n)||e(o.items))||"link"===o.type&&(0,c.Mg)(o.href,n)){return r&&"category"!==o.type||a.unshift(o),!0}return!1}(t),a}function b(){const e=(0,l.V)(),{pathname:t}=(0,a.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?g({sidebarItems:e.items,pathname:t}):null}function v(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,s.J)(e),a=(0,i.yW)(e);return(0,r.useMemo)((()=>u([t,n,a].filter(Boolean))),[t,n,a])}function y(e,t){const n=v(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),r=t.find((t=>t[0]===e));if(!r)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return r[1]}),[e,n])}function w(e,t){const n=v(t);return(0,r.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),r=t.find((t=>t.id===e));if(!r){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${u(t.map((e=>e.id))).join("\n- ")}`)}return r}),[e,n])}function k(e){let{route:t,versionMetadata:n}=e;const r=(0,a.TH)(),i=t.routes,s=i.find((e=>(0,a.LX)(r.pathname,e)));if(!s)return null;const l=s.sidebar,u=l?n.docsSidebars[l]:void 0;return{docElement:(0,o.H)(i),sidebarName:l,sidebarItems:u}}},1944:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>c,VC:()=>p});var r=n(7294),a=n(6010),o=n(5742),i=n(226);function s(){const e=r.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(4996),u=n(2263);function c(e){let{title:t,description:n,keywords:a,image:i,children:s}=e;const c=function(e){const{siteConfig:t}=(0,u.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}(t),{withBaseUrl:d}=(0,l.C)(),f=i?d(i,{absolute:!0}):void 0;return r.createElement(o.Z,null,t&&r.createElement("title",null,c),t&&r.createElement("meta",{property:"og:title",content:c}),n&&r.createElement("meta",{name:"description",content:n}),n&&r.createElement("meta",{property:"og:description",content:n}),a&&r.createElement("meta",{name:"keywords",content:Array.isArray(a)?a.join(","):a}),f&&r.createElement("meta",{property:"og:image",content:f}),f&&r.createElement("meta",{name:"twitter:image",content:f}),s)}const d=r.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=r.useContext(d),s=(0,a.Z)(i,t);return r.createElement(d.Provider,{value:s},r.createElement(o.Z,null,r.createElement("html",{className:s})),n)}function p(e){let{children:t}=e;const n=s(),o=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const i=`plugin-id-${n.plugin.id}`;return r.createElement(f,{className:(0,a.Z)(o,i)},t)}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>i,Qc:()=>u,Ql:()=>l,i6:()=>s,zX:()=>o});var r=n(7294);const a=n(412).Z.canUseDOM?r.useLayoutEffect:r.useEffect;function o(e){const t=(0,r.useRef)(e);return a((()=>{t.current=e}),[e]),(0,r.useCallback)((function(){return t.current(...arguments)}),[])}function i(e){const t=(0,r.useRef)();return a((()=>{t.current=e})),t.current}class s extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?<name>\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function l(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,r.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return r.createElement(r.Fragment,null,e.reduceRight(((e,t)=>r.createElement(t,null,e)),n))}}},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>s});var r=n(7294),a=n(723),o=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,o.Z)().siteConfig;return(0,r.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function r(e){return e.path===t&&!0===e.exact}function a(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(r)||e(t.filter(a).flatMap((e=>e.routes??[])))}(n)}({routes:a.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>f,OC:()=>l,RF:()=>d});var r=n(7294),a=n(412),o=n(2389),i=n(902);const s=r.createContext(void 0);function l(e){let{children:t}=e;const n=function(){const e=(0,r.useRef)(!0);return(0,r.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return r.createElement(s.Provider,{value:n},t)}function u(){const e=(0,r.useContext)(s);if(null==e)throw new i.i6("ScrollControllerProvider");return e}const c=()=>a.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function d(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=u(),a=(0,r.useRef)(c()),o=(0,i.zX)(e);(0,r.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=c();o(e,a.current),a.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[o,n,...t])}function f(){const e=(0,r.useRef)(null),t=(0,o.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function r(){const a=document.documentElement.scrollTop;(n&&a>e||!n&&a<e)&&(t=requestAnimationFrame(r),window.scrollTo(0,Math.floor(.85*(a-e))+e))}(),()=>t&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>r,os:()=>a});n(2263);const r="default";function a(e,t){return`docs-${e}-${t}`}},12:(e,t,n)=>{"use strict";n.d(t,{WA:()=>l});n(7294),n(1688);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:r,storage:a}=e;if(n===r)return;const o=document.createEvent("StorageEvent");o.initStorageEvent("storage",!1,!1,t,n,r,window.location.href,a),window.dispatchEvent(o)}function o(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,i||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),i=!0),null}var t}let i=!1;const s={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function l(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=o(t?.persistence);return null===n?s:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const r=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:r,newValue:t,storage:n})}catch(r){console.error(`Docusaurus storage error, can't set ${e}=${t}`,r)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const r=r=>{r.storageArea===n&&r.key===e&&t(r)};return window.addEventListener("storage",r),()=>window.removeEventListener("storage",r)}catch(r){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,r),()=>{}}}}}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>o});var r=n(2263),a=n(6550);function o(){const{siteConfig:{baseUrl:e,url:t},i18n:{defaultLocale:n,currentLocale:o}}=(0,r.Z)(),{pathname:i}=(0,a.TH)(),s=o===n?e:e.replace(`/${o}/`,"/"),l=i.replace(e,"");return{createUrl:function(e){let{locale:r,fullyQualified:a}=e;return`${a?t:""}${function(e){return e===n?`${s}`:`${s}${e}/`}(r)}${l}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var r=n(7294),a=n(6550),o=n(902);function i(e){const t=(0,a.TH)(),n=(0,o.D9)(t),i=(0,o.zX)(e);(0,r.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>a});var r=n(2263);function a(){return(0,r.Z)().siteConfig.themeConfig}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:r}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[a]=e.split(/[#?]/),o="/"===a||a===r?a:(i=a,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(a,o)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780:function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var a=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return r(a).default}});var o=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return o.getErrorCausalChain}})},311:(e,t,n)=>{"use strict";n.d(t,{Z:()=>i});var r=n(7294),a=n(6010);const o={loadingRing:"loadingRing_RJI3","loading-ring":"loading-ring_FB5o"};function i(e){let{className:t}=e;return r.createElement("div",{className:(0,a.Z)(o.loadingRing,t)},r.createElement("div",null),r.createElement("div",null),r.createElement("div",null),r.createElement("div",null))}},22:(e,t,n)=>{"use strict";n.d(t,{w:()=>s});var r=n(1336),a=n.n(r),o=n(1029);const i=new Map;function s(e,t){const n=`${e}${t}`;let r=i.get(n);return r||(r=async function(e,t){{const n=`${e}${o.J.replace("{dir}",t?`-${t.replace(/\//g,"-")}`:"")}`;if(new URL(n,location.origin).origin!==location.origin)throw new Error("Unexpected version url");const r=await(await fetch(n)).json(),i=r.map(((e,t)=>{let{documents:n,index:r}=e;return{type:t,documents:n,index:a().Index.load(r)}})),s=r.reduce(((e,t)=>{for(const n of t.index.invertedIndex)/\p{Unified_Ideograph}/u.test(n[0][0])&&e.add(n[0]);return e}),new Set);return{wrappedIndexes:i,zhDictionary:Array.from(s)}}return{wrappedIndexes:[],zhDictionary:[]}}(e,t),i.set(n,r)),r}},8202:(e,t,n)=>{"use strict";n.d(t,{v:()=>l});var r=n(1336),a=n.n(r);var o=n(1029);function i(e){return s(e).concat(s(e.filter((e=>{const t=e[e.length-1];return!t.trailing&&t.maybeTyping})),!0))}function s(e,t){return e.map((e=>({tokens:e.map((e=>e.value)),term:e.map((e=>({value:e.value,presence:a().Query.presence.REQUIRED,wildcard:(t?e.trailing||e.maybeTyping:e.trailing)?a().Query.wildcard.TRAILING:a().Query.wildcard.NONE})))})))}function l(e,t,n){return function(r,s){const l=function(e,t){if(1===t.length&&["ja","jp","th"].includes(t[0]))return a()[t[0]].tokenizer(e).map((e=>e.toString()));let n=/[^-\s]+/g;return t.includes("zh")&&(n=/\w+|\p{Unified_Ideograph}+/gu),e.toLowerCase().match(n)||[]}(r,o.dK);if(0===l.length)return void s([]);const u=function(e,t){const n=function(e,t){const n=[];return function e(r,a){if(0===r.length)return void n.push(a);const o=r[0];if(/\p{Unified_Ideograph}/u.test(o)){const n=function(e,t){const n=[];return function e(r,a){let o=0,i=!1;for(const s of t)if(r.substr(0,s.length)===s){const t={missed:a.missed,term:a.term.concat({value:s})};r.length>s.length?e(r.substr(s.length),t):n.push(t),i=!0}else for(let t=s.length-1;t>o;t-=1){const l=s.substr(0,t);if(r.substr(0,t)===l){o=t;const s={missed:a.missed,term:a.term.concat({value:l,trailing:!0})};r.length>t?e(r.substr(t),s):n.push(s),i=!0;break}}i||(r.length>0?e(r.substr(1),{missed:a.missed+1,term:a.term}):a.term.length>0&&n.push(a))}(e,{missed:0,term:[]}),n.sort(((e,t)=>{const n=e.missed>0?1:0,r=t.missed>0?1:0;return n!==r?n-r:e.term.length-t.term.length})).map((e=>e.term))}(o,t);for(const t of n){const n=a.concat(...t);e(r.slice(1),n)}}else{const t=a.concat({value:o});e(r.slice(1),t)}}(e,[]),n}(e,t);if(0===n.length)return[{tokens:e,term:e.map((e=>({value:e,presence:a().Query.presence.REQUIRED,wildcard:a().Query.wildcard.LEADING|a().Query.wildcard.TRAILING})))}];for(const a of n)a[a.length-1].maybeTyping=!0;const r=[];for(const i of o.dK)if("en"===i)o._k||r.unshift(a().stopWordFilter);else{const e=a()[i];e.stopWordFilter&&r.unshift(e.stopWordFilter)}let s;if(r.length>0){const e=e=>r.reduce(((e,t)=>e.filter((e=>t(e.value)))),e);s=[];const t=[];for(const r of n){const n=e(r);s.push(n),n.length<r.length&&n.length>0&&t.push(n)}n.push(...t)}else s=n.slice();const l=[];for(const a of s)if(a.length>2)for(let e=a.length-1;e>=0;e-=1)l.push(a.slice(0,e).concat(a.slice(e+1)));return i(n).concat(i(l))}(l,t),c=[];e:for(const{term:t,tokens:a}of u)for(const{documents:r,index:o,type:i}of e)if(c.push(...o.query((e=>{for(const n of t)e.term(n.value,{wildcard:n.wildcard,presence:n.presence})})).slice(0,n).filter((e=>!c.some((t=>t.document.i.toString()===e.ref)))).slice(0,n-c.length).map((t=>{const n=r.find((e=>e.i.toString()===t.ref));return{document:n,type:i,page:0!==i&&e[0].documents.find((e=>e.i===n.p)),metadata:t.matchData.metadata,tokens:a,score:t.score}}))),c.length>=n)break e;!function(e){e.forEach(((e,t)=>{e.index=t})),e.sort(((t,n)=>{let r=t.type>0&&t.page?e.findIndex((e=>e.document===t.page)):t.index,a=n.type>0&&n.page?e.findIndex((e=>e.document===n.page)):n.index;return-1===r&&(r=t.index),-1===a&&(a=n.index),r===a?0===t.type?-1:0===n.type?1:t.index-n.index:r-a}))}(c),function(e){e.forEach(((t,n)=>{n>0&&t.page&&e.some((e=>e.document===t.page))&&(n<e.length-1&&e[n+1].page===t.page?t.isInterOfTree=!0:t.isLastOfTree=!0)}))}(c),s(c)}}},3926:(e,t,n)=>{"use strict";function r(e){return e.join(" \u203a ")}n.d(t,{e:()=>r})},1690:(e,t,n)=>{"use strict";function r(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}n.d(t,{X:()=>r})},1073:(e,t,n)=>{"use strict";function r(e,t){const n=[];for(const r of Object.values(e))r[t]&&n.push(...r[t].position);return n.sort(((e,t)=>e[0]-t[0]||t[1]-e[1]))}n.d(t,{m:()=>r})},2539:(e,t,n)=>{"use strict";n.d(t,{C:()=>a});var r=n(1690);function a(e,t,n){const o=[];for(const i of t){const n=e.toLowerCase().indexOf(i);if(n>=0){n>0&&o.push(a(e.substr(0,n),t)),o.push(`<mark>${(0,r.X)(e.substr(n,i.length))}</mark>`);const s=n+i.length;s<e.length&&o.push(a(e.substr(s),t));break}}return 0===o.length?n?`<mark>${(0,r.X)(e)}</mark>`:(0,r.X)(e):o.join("")}},726:(e,t,n)=>{"use strict";n.d(t,{o:()=>l});var r=n(1690),a=n(2539);const o=/\w+|\p{Unified_Ideograph}/u;function i(e){const t=[];let n=0,r=e;for(;r.length>0;){const a=r.match(o);if(!a){t.push(r);break}a.index>0&&t.push(r.substring(0,a.index)),t.push(a[0]),n+=a.index+a[0].length,r=e.substring(n)}return t}var s=n(1029);function l(e,t,n,o){void 0===o&&(o=s.Hk);const{chunkIndex:l,chunks:u}=function(e,t,n){const o=[];let s=0,l=0,u=-1;for(;s<t.length;){const[c,d]=t[s];if(s+=1,!(c<l)){if(c>l){const t=i(e.substring(l,c)).map((e=>({html:(0,r.X)(e),textLength:e.length})));for(const e of t)o.push(e)}-1===u&&(u=o.length),l=c+d,o.push({html:(0,a.C)(e.substring(c,l),n,!0),textLength:d})}}if(l<e.length){const t=i(e.substring(l)).map((e=>({html:(0,r.X)(e),textLength:e.length})));for(const e of t)o.push(e)}return{chunkIndex:u,chunks:o}}(e,t,n),c=u.slice(0,l),d=u[l],f=[d.html],p=u.slice(l+1);let h=d.textLength,m=0,g=0,b=!1,v=!1;for(;h<o;)if((m<=g||0===p.length)&&c.length>0){const e=c.pop();h+e.textLength<=o?(f.unshift(e.html),m+=e.textLength,h+=e.textLength):(b=!0,c.length=0)}else{if(!(p.length>0))break;{const e=p.shift();h+e.textLength<=o?(f.push(e.html),g+=e.textLength,h+=e.textLength):(v=!0,p.length=0)}}return(b||c.length>0)&&f.unshift("\u2026"),(v||p.length>0)&&f.push("\u2026"),f.join("")}},1029:(e,t,n)=>{"use strict";n.d(t,{vc:()=>s,gQ:()=>m,H6:()=>d,hG:()=>v,l9:()=>g,dK:()=>o,_k:()=>i,pu:()=>h,AY:()=>f,t_:()=>p,Kc:()=>b,J:()=>l,Hk:()=>c,qo:()=>u});var r=n(1336),a=n.n(r);n(892)(a()),n(1728).w(a()),n(4182)(a());const o=["zh","en"],i=!1,s=null,l="search-index{dir}.json?_=d11e2dc9",u=8,c=50,d=!0,f=!0,p=!1,h="right",m=void 0,g=!0,b=null,v=!0},1728:(e,t,n)=>{"use strict";function r(e){const t=new RegExp("^[^"+e+"]+","u"),n=new RegExp("[^"+e+"]+$","u");return function(e){return e.update((function(e){return e.replace(t,"").replace(n,"")}))}}function a(e,t){e.trimmerSupport.generateTrimmer=r,e.zh=function(){this.pipeline.reset(),this.pipeline.add(e.zh.trimmer,e.zh.stopWordFilter),t&&(this.tokenizer=t)},t&&(e.zh.tokenizer=t),e.zh.wordCharacters="\\u3400-\\u4DBF\\u4E00-\\u9FFC\\uFA0E\\uFA0F\\uFA11\\uFA13\\uFA14\\uFA1F\\uFA21\\uFA23\\uFA24\\uFA27-\\uFA29\\u{20000}-\\u{2A6DD}\\u{2A700}-\\u{2B734}\\u{2B740}-\\u{2B81D}\\u{2B820}-\\u{2CEA1}\\u{2CEB0}-\\u{2EBE0}\\u{30000}-\\u{3134A}",e.zh.trimmer=e.trimmerSupport.generateTrimmer(e.zh.wordCharacters),e.Pipeline.registerFunction(e.zh.trimmer,"trimmer-zh"),e.zh.stopWordFilter=e.generateStopWordFilter("\u7684 \u4e00 \u4e0d \u5728 \u4eba \u6709 \u662f \u4e3a \u4ee5 \u4e8e \u4e0a \u4ed6 \u800c \u540e \u4e4b \u6765 \u53ca \u4e86 \u56e0 \u4e0b \u53ef \u5230 \u7531 \u8fd9 \u4e0e \u4e5f \u6b64 \u4f46 \u5e76 \u4e2a \u5176 \u5df2 \u65e0 \u5c0f \u6211 \u4eec \u8d77 \u6700 \u518d \u4eca \u53bb \u597d \u53ea \u53c8 \u6216 \u5f88 \u4ea6 \u67d0 \u628a \u90a3 \u4f60 \u4e43 \u5b83 \u5427 \u88ab \u6bd4 \u522b \u8d81 \u5f53 \u4ece \u5230 \u5f97 \u6253 \u51e1 \u513f \u5c14 \u8be5 \u5404 \u7ed9 \u8ddf \u548c \u4f55 \u8fd8 \u5373 \u51e0 \u65e2 \u770b \u636e \u8ddd \u9760 \u5566 \u4e86 \u53e6 \u4e48 \u6bcf \u4eec \u561b \u62ff \u54ea \u90a3 \u60a8 \u51ed \u4e14 \u5374 \u8ba9 \u4ecd \u5565 \u5982 \u82e5 \u4f7f \u8c01 \u867d \u968f \u540c \u6240 \u5979 \u54c7 \u55e1 \u5f80 \u54ea \u4e9b \u5411 \u6cbf \u54df \u7528 \u4e8e \u54b1 \u5219 \u600e \u66fe \u81f3 \u81f4 \u7740 \u8bf8 \u81ea".split(" ")),e.Pipeline.registerFunction(e.zh.stopWordFilter,"stopWordFilter-zh")}n.d(t,{w:()=>a})},6010:(e,t,n)=>{"use strict";function r(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=r(e[t]))&&(a&&(a+=" "),a+=n);else for(t in e)e[t]&&(a&&(a+=" "),a+=t);return a}n.d(t,{Z:()=>a});const a=function(){for(var e,t,n=0,a="";n<arguments.length;)(e=arguments[n++])&&(t=r(e))&&(a&&(a+=" "),a+=t);return a}},9318:(e,t,n)=>{"use strict";n.d(t,{lX:()=>w,q_:()=>_,ob:()=>p,PP:()=>N,Ep:()=>f});var r=n(7462);function a(e){return"/"===e.charAt(0)}function o(e,t){for(var n=t,r=n+1,a=e.length;r<a;n+=1,r+=1)e[n]=e[r];e.pop()}const i=function(e,t){void 0===t&&(t="");var n,r=e&&e.split("/")||[],i=t&&t.split("/")||[],s=e&&a(e),l=t&&a(t),u=s||l;if(e&&a(e)?i=r:r.length&&(i.pop(),i=i.concat(r)),!i.length)return"/";if(i.length){var c=i[i.length-1];n="."===c||".."===c||""===c}else n=!1;for(var d=0,f=i.length;f>=0;f--){var p=i[f];"."===p?o(i,f):".."===p?(o(i,f),d++):d&&(o(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&a(i[0])||i.unshift("");var h=i.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};var s=n(8776);function l(e){return"/"===e.charAt(0)?e:"/"+e}function u(e){return"/"===e.charAt(0)?e.substr(1):e}function c(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function f(e){var t=e.pathname,n=e.search,r=e.hash,a=t||"/";return n&&"?"!==n&&(a+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(a+="#"===r.charAt(0)?r:"#"+r),a}function p(e,t,n,a){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",a=t.indexOf("#");-1!==a&&(r=t.substr(a),t=t.substr(0,a));var o=t.indexOf("?");return-1!==o&&(n=t.substr(o),t=t.substr(0,o)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e),o.state=t):(void 0===(o=(0,r.Z)({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(o.key=n),a?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=i(o.pathname,a.pathname)):o.pathname=a.pathname:o.pathname||(o.pathname="/"),o}function h(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,a){if(null!=e){var o="function"==typeof e?e(t,n):e;"string"==typeof o?"function"==typeof r?r(o,a):a(!0):a(!1!==o)}else a(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;r<e;r++)n[r]=arguments[r];t.forEach((function(e){return e.apply(void 0,n)}))}}}var m=!("undefined"==typeof window||!window.document||!window.document.createElement);function g(e,t){t(window.confirm(e))}var b="popstate",v="hashchange";function y(){try{return window.history.state||{}}catch(e){return{}}}function w(e){void 0===e&&(e={}),m||(0,s.Z)(!1);var t,n=window.history,a=(-1===(t=window.navigator.userAgent).indexOf("Android 2.")&&-1===t.indexOf("Android 4.0")||-1===t.indexOf("Mobile Safari")||-1!==t.indexOf("Chrome")||-1!==t.indexOf("Windows Phone"))&&window.history&&"pushState"in window.history,o=!(-1===window.navigator.userAgent.indexOf("Trident")),i=e,u=i.forceRefresh,w=void 0!==u&&u,k=i.getUserConfirmation,E=void 0===k?g:k,S=i.keyLength,x=void 0===S?6:S,C=e.basename?d(l(e.basename)):"";function _(e){var t=e||{},n=t.key,r=t.state,a=window.location,o=a.pathname+a.search+a.hash;return C&&(o=c(o,C)),p(o,r,n)}function T(){return Math.random().toString(36).substr(2,x)}var N=h();function I(e){(0,r.Z)($,e),$.length=n.length,N.notifyListeners($.location,$.action)}function L(e){(function(e){return void 0===e.state&&-1===navigator.userAgent.indexOf("CriOS")})(e)||O(_(e.state))}function A(){O(_(y()))}var P=!1;function O(e){if(P)P=!1,I();else{N.confirmTransitionTo(e,"POP",E,(function(t){t?I({action:"POP",location:e}):function(e){var t=$.location,n=z.indexOf(t.key);-1===n&&(n=0);var r=z.indexOf(e.key);-1===r&&(r=0);var a=n-r;a&&(P=!0,D(a))}(e)}))}}var R=_(y()),z=[R.key];function U(e){return C+f(e)}function D(e){n.go(e)}var M=0;function F(e){1===(M+=e)&&1===e?(window.addEventListener(b,L),o&&window.addEventListener(v,A)):0===M&&(window.removeEventListener(b,L),o&&window.removeEventListener(v,A))}var B=!1;var $={length:n.length,action:"POP",location:R,createHref:U,push:function(e,t){var r="PUSH",o=p(e,t,T(),$.location);N.confirmTransitionTo(o,r,E,(function(e){if(e){var t=U(o),i=o.key,s=o.state;if(a)if(n.pushState({key:i,state:s},null,t),w)window.location.href=t;else{var l=z.indexOf($.location.key),u=z.slice(0,l+1);u.push(o.key),z=u,I({action:r,location:o})}else window.location.href=t}}))},replace:function(e,t){var r="REPLACE",o=p(e,t,T(),$.location);N.confirmTransitionTo(o,r,E,(function(e){if(e){var t=U(o),i=o.key,s=o.state;if(a)if(n.replaceState({key:i,state:s},null,t),w)window.location.replace(t);else{var l=z.indexOf($.location.key);-1!==l&&(z[l]=o.key),I({action:r,location:o})}else window.location.replace(t)}}))},go:D,goBack:function(){D(-1)},goForward:function(){D(1)},block:function(e){void 0===e&&(e=!1);var t=N.setPrompt(e);return B||(F(1),B=!0),function(){return B&&(B=!1,F(-1)),t()}},listen:function(e){var t=N.appendListener(e);return F(1),function(){F(-1),t()}}};return $}var k="hashchange",E={hashbang:{encodePath:function(e){return"!"===e.charAt(0)?e:"!/"+u(e)},decodePath:function(e){return"!"===e.charAt(0)?e.substr(1):e}},noslash:{encodePath:u,decodePath:l},slash:{encodePath:l,decodePath:l}};function S(e){var t=e.indexOf("#");return-1===t?e:e.slice(0,t)}function x(){var e=window.location.href,t=e.indexOf("#");return-1===t?"":e.substring(t+1)}function C(e){window.location.replace(S(window.location.href)+"#"+e)}function _(e){void 0===e&&(e={}),m||(0,s.Z)(!1);var t=window.history,n=(window.navigator.userAgent.indexOf("Firefox"),e),a=n.getUserConfirmation,o=void 0===a?g:a,i=n.hashType,u=void 0===i?"slash":i,b=e.basename?d(l(e.basename)):"",v=E[u],y=v.encodePath,w=v.decodePath;function _(){var e=w(x());return b&&(e=c(e,b)),p(e)}var T=h();function N(e){(0,r.Z)(B,e),B.length=t.length,T.notifyListeners(B.location,B.action)}var I=!1,L=null;function A(){var e,t,n=x(),r=y(n);if(n!==r)C(r);else{var a=_(),i=B.location;if(!I&&(t=a,(e=i).pathname===t.pathname&&e.search===t.search&&e.hash===t.hash))return;if(L===f(a))return;L=null,function(e){if(I)I=!1,N();else{var t="POP";T.confirmTransitionTo(e,t,o,(function(n){n?N({action:t,location:e}):function(e){var t=B.location,n=z.lastIndexOf(f(t));-1===n&&(n=0);var r=z.lastIndexOf(f(e));-1===r&&(r=0);var a=n-r;a&&(I=!0,U(a))}(e)}))}}(a)}}var P=x(),O=y(P);P!==O&&C(O);var R=_(),z=[f(R)];function U(e){t.go(e)}var D=0;function M(e){1===(D+=e)&&1===e?window.addEventListener(k,A):0===D&&window.removeEventListener(k,A)}var F=!1;var B={length:t.length,action:"POP",location:R,createHref:function(e){var t=document.querySelector("base"),n="";return t&&t.getAttribute("href")&&(n=S(window.location.href)),n+"#"+y(b+f(e))},push:function(e,t){var n="PUSH",r=p(e,void 0,void 0,B.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=f(r),a=y(b+t);if(x()!==a){L=t,function(e){window.location.hash=e}(a);var o=z.lastIndexOf(f(B.location)),i=z.slice(0,o+1);i.push(t),z=i,N({action:n,location:r})}else N()}}))},replace:function(e,t){var n="REPLACE",r=p(e,void 0,void 0,B.location);T.confirmTransitionTo(r,n,o,(function(e){if(e){var t=f(r),a=y(b+t);x()!==a&&(L=t,C(a));var o=z.indexOf(f(B.location));-1!==o&&(z[o]=t),N({action:n,location:r})}}))},go:U,goBack:function(){U(-1)},goForward:function(){U(1)},block:function(e){void 0===e&&(e=!1);var t=T.setPrompt(e);return F||(M(1),F=!0),function(){return F&&(F=!1,M(-1)),t()}},listen:function(e){var t=T.appendListener(e);return M(1),function(){M(-1),t()}}};return B}function T(e,t,n){return Math.min(Math.max(e,t),n)}function N(e){void 0===e&&(e={});var t=e,n=t.getUserConfirmation,a=t.initialEntries,o=void 0===a?["/"]:a,i=t.initialIndex,s=void 0===i?0:i,l=t.keyLength,u=void 0===l?6:l,c=h();function d(e){(0,r.Z)(w,e),w.length=w.entries.length,c.notifyListeners(w.location,w.action)}function m(){return Math.random().toString(36).substr(2,u)}var g=T(s,0,o.length-1),b=o.map((function(e){return p(e,void 0,"string"==typeof e?m():e.key||m())})),v=f;function y(e){var t=T(w.index+e,0,w.entries.length-1),r=w.entries[t];c.confirmTransitionTo(r,"POP",n,(function(e){e?d({action:"POP",location:r,index:t}):d()}))}var w={length:b.length,action:"POP",location:b[g],index:g,entries:b,createHref:v,push:function(e,t){var r="PUSH",a=p(e,t,m(),w.location);c.confirmTransitionTo(a,r,n,(function(e){if(e){var t=w.index+1,n=w.entries.slice(0);n.length>t?n.splice(t,n.length-t,a):n.push(a),d({action:r,location:a,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",a=p(e,t,m(),w.location);c.confirmTransitionTo(a,r,n,(function(e){e&&(w.entries[w.index]=a,d({action:r,location:a}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t<w.entries.length},block:function(e){return void 0===e&&(e=!1),c.setPrompt(e)},listen:function(e){return c.appendListener(e)}};return w}},8679:(e,t,n)=>{"use strict";var r=n(9864),a={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},o={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return r.isMemo(e)?i:s[e.$$typeof]||a}s[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[r.Memo]=i;var u=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!=typeof n){if(h){var a=p(n);a&&a!==h&&e(t,a,r)}var i=c(n);d&&(i=i.concat(d(n)));for(var s=l(t),m=l(n),g=0;g<i.length;++g){var b=i[g];if(!(o[b]||r&&r[b]||m&&m[b]||s&&s[b])){var v=f(n,b);try{u(t,b,v)}catch(y){}}}}return t}},1143:e=>{"use strict";e.exports=function(e,t,n,r,a,o,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[n,r,a,o,i,s],c=0;(l=new Error(t.replace(/%s/g,(function(){return u[c++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},4182:function(e,t,n){var r,a;r=function(){return function(e){e.multiLanguage=function(){for(var t=Array.prototype.slice.call(arguments),n=t.join("-"),r="",a=[],o=[],i=0;i<t.length;++i)"en"==t[i]?(r+="\\w",a.unshift(e.stopWordFilter),a.push(e.stemmer),o.push(e.stemmer)):(r+=e[t[i]].wordCharacters,e[t[i]].stopWordFilter&&a.unshift(e[t[i]].stopWordFilter),e[t[i]].stemmer&&(a.push(e[t[i]].stemmer),o.push(e[t[i]].stemmer)));var s=e.trimmerSupport.generateTrimmer(r);return e.Pipeline.registerFunction(s,"lunr-multi-trimmer-"+n),a.unshift(s),function(){this.pipeline.reset(),this.pipeline.add.apply(this.pipeline,a),this.searchPipeline&&(this.searchPipeline.reset(),this.searchPipeline.add.apply(this.searchPipeline,o))}}}},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},892:function(e,t,n){var r,a;void 0===(a="function"==typeof(r=function(){return function(e){e.stemmerSupport={Among:function(e,t,n,r){if(this.toCharArray=function(e){for(var t=e.length,n=new Array(t),r=0;r<t;r++)n[r]=e.charCodeAt(r);return n},!e&&""!=e||!t&&0!=t||!n)throw"Bad Among initialisation: s:"+e+", substring_i: "+t+", result: "+n;this.s_size=e.length,this.s=this.toCharArray(e),this.substring_i=t,this.result=n,this.method=r},SnowballProgram:function(){var e;return{bra:0,ket:0,limit:0,cursor:0,limit_backward:0,setCurrent:function(t){e=t,this.cursor=0,this.limit=t.length,this.limit_backward=0,this.bra=this.cursor,this.ket=this.limit},getCurrent:function(){var t=e;return e=null,t},in_grouping:function(t,n,r){if(this.cursor<this.limit){var a=e.charCodeAt(this.cursor);if(a<=r&&a>=n&&t[(a-=n)>>3]&1<<(7&a))return this.cursor++,!0}return!1},in_grouping_b:function(t,n,r){if(this.cursor>this.limit_backward){var a=e.charCodeAt(this.cursor-1);if(a<=r&&a>=n&&t[(a-=n)>>3]&1<<(7&a))return this.cursor--,!0}return!1},out_grouping:function(t,n,r){if(this.cursor<this.limit){var a=e.charCodeAt(this.cursor);if(a>r||a<n)return this.cursor++,!0;if(!(t[(a-=n)>>3]&1<<(7&a)))return this.cursor++,!0}return!1},out_grouping_b:function(t,n,r){if(this.cursor>this.limit_backward){var a=e.charCodeAt(this.cursor-1);if(a>r||a<n)return this.cursor--,!0;if(!(t[(a-=n)>>3]&1<<(7&a)))return this.cursor--,!0}return!1},eq_s:function(t,n){if(this.limit-this.cursor<t)return!1;for(var r=0;r<t;r++)if(e.charCodeAt(this.cursor+r)!=n.charCodeAt(r))return!1;return this.cursor+=t,!0},eq_s_b:function(t,n){if(this.cursor-this.limit_backward<t)return!1;for(var r=0;r<t;r++)if(e.charCodeAt(this.cursor-t+r)!=n.charCodeAt(r))return!1;return this.cursor-=t,!0},find_among:function(t,n){for(var r=0,a=n,o=this.cursor,i=this.limit,s=0,l=0,u=!1;;){for(var c=r+(a-r>>1),d=0,f=s<l?s:l,p=t[c],h=f;h<p.s_size;h++){if(o+f==i){d=-1;break}if(d=e.charCodeAt(o+f)-p.s[h])break;f++}if(d<0?(a=c,l=f):(r=c,s=f),a-r<=1){if(r>0||a==r||u)break;u=!0}}for(;;){if(s>=(p=t[r]).s_size){if(this.cursor=o+p.s_size,!p.method)return p.result;var m=p.method();if(this.cursor=o+p.s_size,m)return p.result}if((r=p.substring_i)<0)return 0}},find_among_b:function(t,n){for(var r=0,a=n,o=this.cursor,i=this.limit_backward,s=0,l=0,u=!1;;){for(var c=r+(a-r>>1),d=0,f=s<l?s:l,p=(h=t[c]).s_size-1-f;p>=0;p--){if(o-f==i){d=-1;break}if(d=e.charCodeAt(o-1-f)-h.s[p])break;f++}if(d<0?(a=c,l=f):(r=c,s=f),a-r<=1){if(r>0||a==r||u)break;u=!0}}for(;;){var h;if(s>=(h=t[r]).s_size){if(this.cursor=o-h.s_size,!h.method)return h.result;var m=h.method();if(this.cursor=o-h.s_size,m)return h.result}if((r=h.substring_i)<0)return 0}},replace_s:function(t,n,r){var a=r.length-(n-t),o=e.substring(0,t),i=e.substring(n);return e=o+r+i,this.limit+=a,this.cursor>=n?this.cursor+=a:this.cursor>t&&(this.cursor=t),a},slice_check:function(){if(this.bra<0||this.bra>this.ket||this.ket>this.limit||this.limit>e.length)throw"faulty slice operation"},slice_from:function(e){this.slice_check(),this.replace_s(this.bra,this.ket,e)},slice_del:function(){this.slice_from("")},insert:function(e,t,n){var r=this.replace_s(e,t,n);e<=this.bra&&(this.bra+=r),e<=this.ket&&(this.ket+=r)},slice_to:function(){return this.slice_check(),e.substring(this.bra,this.ket)},eq_v_b:function(e){return this.eq_s_b(e.length,e)}}}},e.trimmerSupport={generateTrimmer:function(e){var t=new RegExp("^[^"+e+"]+"),n=new RegExp("[^"+e+"]+$");return function(e){return"function"==typeof e.update?e.update((function(e){return e.replace(t,"").replace(n,"")})):e.replace(t,"").replace(n,"")}}}}})?r.call(t,n,t,e):r)||(e.exports=a)},1336:(e,t,n)=>{var r,a;!function(){var o,i,s,l,u,c,d,f,p,h,m,g,b,v,y,w,k,E,S,x,C,_,T,N,I,L,A,P,O,R,z=function(e){var t=new z.Builder;return t.pipeline.add(z.trimmer,z.stopWordFilter,z.stemmer),t.searchPipeline.add(z.stemmer),e.call(t,t),t.build()};z.version="2.3.9",z.utils={},z.utils.warn=(o=this,function(e){o.console&&console.warn&&console.warn(e)}),z.utils.asString=function(e){return null==e?"":e.toString()},z.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),n=Object.keys(e),r=0;r<n.length;r++){var a=n[r],o=e[a];if(Array.isArray(o))t[a]=o.slice();else{if("string"!=typeof o&&"number"!=typeof o&&"boolean"!=typeof o)throw new TypeError("clone is not deep and does not support nested objects");t[a]=o}}return t},z.FieldRef=function(e,t,n){this.docRef=e,this.fieldName=t,this._stringValue=n},z.FieldRef.joiner="/",z.FieldRef.fromString=function(e){var t=e.indexOf(z.FieldRef.joiner);if(-1===t)throw"malformed field ref string";var n=e.slice(0,t),r=e.slice(t+1);return new z.FieldRef(r,n,e)},z.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+z.FieldRef.joiner+this.docRef),this._stringValue},z.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},z.Set.complete={intersect:function(e){return e},union:function(){return this},contains:function(){return!0}},z.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},z.Set.prototype.contains=function(e){return!!this.elements[e]},z.Set.prototype.intersect=function(e){var t,n,r,a=[];if(e===z.Set.complete)return this;if(e===z.Set.empty)return e;this.length<e.length?(t=this,n=e):(t=e,n=this),r=Object.keys(t.elements);for(var o=0;o<r.length;o++){var i=r[o];i in n.elements&&a.push(i)}return new z.Set(a)},z.Set.prototype.union=function(e){return e===z.Set.complete?z.Set.complete:e===z.Set.empty?this:new z.Set(Object.keys(this.elements).concat(Object.keys(e.elements)))},z.idf=function(e,t){var n=0;for(var r in e)"_index"!=r&&(n+=Object.keys(e[r]).length);var a=(t-n+.5)/(n+.5);return Math.log(1+Math.abs(a))},z.Token=function(e,t){this.str=e||"",this.metadata=t||{}},z.Token.prototype.toString=function(){return this.str},z.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},z.Token.prototype.clone=function(e){return e=e||function(e){return e},new z.Token(e(this.str,this.metadata),this.metadata)},z.tokenizer=function(e,t){if(null==e||null==e)return[];if(Array.isArray(e))return e.map((function(e){return new z.Token(z.utils.asString(e).toLowerCase(),z.utils.clone(t))}));for(var n=e.toString().toLowerCase(),r=n.length,a=[],o=0,i=0;o<=r;o++){var s=o-i;if(n.charAt(o).match(z.tokenizer.separator)||o==r){if(s>0){var l=z.utils.clone(t)||{};l.position=[i,s],l.index=a.length,a.push(new z.Token(n.slice(i,o),l))}i=o+1}}return a},z.tokenizer.separator=/[\s\-]+/,z.Pipeline=function(){this._stack=[]},z.Pipeline.registeredFunctions=Object.create(null),z.Pipeline.registerFunction=function(e,t){t in this.registeredFunctions&&z.utils.warn("Overwriting existing registered function: "+t),e.label=t,z.Pipeline.registeredFunctions[e.label]=e},z.Pipeline.warnIfFunctionNotRegistered=function(e){e.label&&e.label in this.registeredFunctions||z.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},z.Pipeline.load=function(e){var t=new z.Pipeline;return e.forEach((function(e){var n=z.Pipeline.registeredFunctions[e];if(!n)throw new Error("Cannot load unregistered function: "+e);t.add(n)})),t},z.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach((function(e){z.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)}),this)},z.Pipeline.prototype.after=function(e,t){z.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");n+=1,this._stack.splice(n,0,t)},z.Pipeline.prototype.before=function(e,t){z.Pipeline.warnIfFunctionNotRegistered(t);var n=this._stack.indexOf(e);if(-1==n)throw new Error("Cannot find existingFn");this._stack.splice(n,0,t)},z.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},z.Pipeline.prototype.run=function(e){for(var t=this._stack.length,n=0;n<t;n++){for(var r=this._stack[n],a=[],o=0;o<e.length;o++){var i=r(e[o],o,e);if(null!=i&&""!==i)if(Array.isArray(i))for(var s=0;s<i.length;s++)a.push(i[s]);else a.push(i)}e=a}return e},z.Pipeline.prototype.runString=function(e,t){var n=new z.Token(e,t);return this.run([n]).map((function(e){return e.toString()}))},z.Pipeline.prototype.reset=function(){this._stack=[]},z.Pipeline.prototype.toJSON=function(){return this._stack.map((function(e){return z.Pipeline.warnIfFunctionNotRegistered(e),e.label}))},z.Vector=function(e){this._magnitude=0,this.elements=e||[]},z.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,n=this.elements.length/2,r=n-t,a=Math.floor(r/2),o=this.elements[2*a];r>1&&(o<e&&(t=a),o>e&&(n=a),o!=e);)r=n-t,a=t+Math.floor(r/2),o=this.elements[2*a];return o==e||o>e?2*a:o<e?2*(a+1):void 0},z.Vector.prototype.insert=function(e,t){this.upsert(e,t,(function(){throw"duplicate index"}))},z.Vector.prototype.upsert=function(e,t,n){this._magnitude=0;var r=this.positionForIndex(e);this.elements[r]==e?this.elements[r+1]=n(this.elements[r+1],t):this.elements.splice(r,0,e,t)},z.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,n=1;n<t;n+=2){var r=this.elements[n];e+=r*r}return this._magnitude=Math.sqrt(e)},z.Vector.prototype.dot=function(e){for(var t=0,n=this.elements,r=e.elements,a=n.length,o=r.length,i=0,s=0,l=0,u=0;l<a&&u<o;)(i=n[l])<(s=r[u])?l+=2:i>s?u+=2:i==s&&(t+=n[l+1]*r[u+1],l+=2,u+=2);return t},z.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},z.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,n=0;t<this.elements.length;t+=2,n++)e[n]=this.elements[t];return e},z.Vector.prototype.toJSON=function(){return this.elements},z.stemmer=(i={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},s={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},d="^("+(u="[^aeiou][^aeiouy]*")+")?"+(c=(l="[aeiouy]")+"[aeiou]*")+u+"("+c+")?$",f="^("+u+")?"+c+u+c+u,p="^("+u+")?"+l,h=new RegExp("^("+u+")?"+c+u),m=new RegExp(f),g=new RegExp(d),b=new RegExp(p),v=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,w=/^(.+?)eed$/,k=/^(.+?)(ed|ing)$/,E=/.$/,S=/(at|bl|iz)$/,x=new RegExp("([^aeiouylsz])\\1$"),C=new RegExp("^"+u+l+"[^aeiouwxy]$"),_=/^(.+?[^aeiou])y$/,T=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,N=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,I=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,L=/^(.+?)(s|t)(ion)$/,A=/^(.+?)e$/,P=/ll$/,O=new RegExp("^"+u+l+"[^aeiouwxy]$"),R=function(e){var t,n,r,a,o,l,u;if(e.length<3)return e;if("y"==(r=e.substr(0,1))&&(e=r.toUpperCase()+e.substr(1)),o=y,(a=v).test(e)?e=e.replace(a,"$1$2"):o.test(e)&&(e=e.replace(o,"$1$2")),o=k,(a=w).test(e)){var c=a.exec(e);(a=h).test(c[1])&&(a=E,e=e.replace(a,""))}else o.test(e)&&(t=(c=o.exec(e))[1],(o=b).test(t)&&(l=x,u=C,(o=S).test(e=t)?e+="e":l.test(e)?(a=E,e=e.replace(a,"")):u.test(e)&&(e+="e")));return(a=_).test(e)&&(e=(t=(c=a.exec(e))[1])+"i"),(a=T).test(e)&&(t=(c=a.exec(e))[1],n=c[2],(a=h).test(t)&&(e=t+i[n])),(a=N).test(e)&&(t=(c=a.exec(e))[1],n=c[2],(a=h).test(t)&&(e=t+s[n])),o=L,(a=I).test(e)?(t=(c=a.exec(e))[1],(a=m).test(t)&&(e=t)):o.test(e)&&(t=(c=o.exec(e))[1]+c[2],(o=m).test(t)&&(e=t)),(a=A).test(e)&&(t=(c=a.exec(e))[1],o=g,l=O,((a=m).test(t)||o.test(t)&&!l.test(t))&&(e=t)),o=m,(a=P).test(e)&&o.test(e)&&(a=E,e=e.replace(a,"")),"y"==r&&(e=r.toLowerCase()+e.substr(1)),e},function(e){return e.update(R)}),z.Pipeline.registerFunction(z.stemmer,"stemmer"),z.generateStopWordFilter=function(e){var t=e.reduce((function(e,t){return e[t]=t,e}),{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},z.stopWordFilter=z.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),z.Pipeline.registerFunction(z.stopWordFilter,"stopWordFilter"),z.trimmer=function(e){return e.update((function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")}))},z.Pipeline.registerFunction(z.trimmer,"trimmer"),z.TokenSet=function(){this.final=!1,this.edges={},this.id=z.TokenSet._nextId,z.TokenSet._nextId+=1},z.TokenSet._nextId=1,z.TokenSet.fromArray=function(e){for(var t=new z.TokenSet.Builder,n=0,r=e.length;n<r;n++)t.insert(e[n]);return t.finish(),t.root},z.TokenSet.fromClause=function(e){return"editDistance"in e?z.TokenSet.fromFuzzyString(e.term,e.editDistance):z.TokenSet.fromString(e.term)},z.TokenSet.fromFuzzyString=function(e,t){for(var n=new z.TokenSet,r=[{node:n,editsRemaining:t,str:e}];r.length;){var a=r.pop();if(a.str.length>0){var o,i=a.str.charAt(0);i in a.node.edges?o=a.node.edges[i]:(o=new z.TokenSet,a.node.edges[i]=o),1==a.str.length&&(o.final=!0),r.push({node:o,editsRemaining:a.editsRemaining,str:a.str.slice(1)})}if(0!=a.editsRemaining){if("*"in a.node.edges)var s=a.node.edges["*"];else{s=new z.TokenSet;a.node.edges["*"]=s}if(0==a.str.length&&(s.final=!0),r.push({node:s,editsRemaining:a.editsRemaining-1,str:a.str}),a.str.length>1&&r.push({node:a.node,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)}),1==a.str.length&&(a.node.final=!0),a.str.length>=1){if("*"in a.node.edges)var l=a.node.edges["*"];else{l=new z.TokenSet;a.node.edges["*"]=l}1==a.str.length&&(l.final=!0),r.push({node:l,editsRemaining:a.editsRemaining-1,str:a.str.slice(1)})}if(a.str.length>1){var u,c=a.str.charAt(0),d=a.str.charAt(1);d in a.node.edges?u=a.node.edges[d]:(u=new z.TokenSet,a.node.edges[d]=u),1==a.str.length&&(u.final=!0),r.push({node:u,editsRemaining:a.editsRemaining-1,str:c+a.str.slice(2)})}}}return n},z.TokenSet.fromString=function(e){for(var t=new z.TokenSet,n=t,r=0,a=e.length;r<a;r++){var o=e[r],i=r==a-1;if("*"==o)t.edges[o]=t,t.final=i;else{var s=new z.TokenSet;s.final=i,t.edges[o]=s,t=s}}return n},z.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var n=t.pop(),r=Object.keys(n.node.edges),a=r.length;n.node.final&&(n.prefix.charAt(0),e.push(n.prefix));for(var o=0;o<a;o++){var i=r[o];t.push({prefix:n.prefix.concat(i),node:n.node.edges[i]})}}return e},z.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),n=t.length,r=0;r<n;r++){var a=t[r];e=e+a+this.edges[a].id}return e},z.TokenSet.prototype.intersect=function(e){for(var t=new z.TokenSet,n=void 0,r=[{qNode:e,output:t,node:this}];r.length;){n=r.pop();for(var a=Object.keys(n.qNode.edges),o=a.length,i=Object.keys(n.node.edges),s=i.length,l=0;l<o;l++)for(var u=a[l],c=0;c<s;c++){var d=i[c];if(d==u||"*"==u){var f=n.node.edges[d],p=n.qNode.edges[u],h=f.final&&p.final,m=void 0;d in n.output.edges?(m=n.output.edges[d]).final=m.final||h:((m=new z.TokenSet).final=h,n.output.edges[d]=m),r.push({qNode:p,output:m,node:f})}}}return t},z.TokenSet.Builder=function(){this.previousWord="",this.root=new z.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},z.TokenSet.Builder.prototype.insert=function(e){var t,n=0;if(e<this.previousWord)throw new Error("Out of order word insertion");for(var r=0;r<e.length&&r<this.previousWord.length&&e[r]==this.previousWord[r];r++)n++;this.minimize(n),t=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(r=n;r<e.length;r++){var a=new z.TokenSet,o=e[r];t.edges[o]=a,this.uncheckedNodes.push({parent:t,char:o,child:a}),t=a}t.final=!0,this.previousWord=e},z.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},z.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;t>=e;t--){var n=this.uncheckedNodes[t],r=n.child.toString();r in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[r]:(n.child._str=r,this.minimizedNodes[r]=n.child),this.uncheckedNodes.pop()}},z.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},z.Index.prototype.search=function(e){return this.query((function(t){new z.QueryParser(e,t).parse()}))},z.Index.prototype.query=function(e){for(var t=new z.Query(this.fields),n=Object.create(null),r=Object.create(null),a=Object.create(null),o=Object.create(null),i=Object.create(null),s=0;s<this.fields.length;s++)r[this.fields[s]]=new z.Vector;e.call(t,t);for(s=0;s<t.clauses.length;s++){var l=t.clauses[s],u=null,c=z.Set.empty;u=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<u.length;d++){var f=u[d];l.term=f;var p=z.TokenSet.fromClause(l),h=this.tokenSet.intersect(p).toArray();if(0===h.length&&l.presence===z.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++){o[A=l.fields[m]]=z.Set.empty}break}for(var g=0;g<h.length;g++){var b=h[g],v=this.invertedIndex[b],y=v._index;for(m=0;m<l.fields.length;m++){var w=v[A=l.fields[m]],k=Object.keys(w),E=b+"/"+A,S=new z.Set(k);if(l.presence==z.Query.presence.REQUIRED&&(c=c.union(S),void 0===o[A]&&(o[A]=z.Set.complete)),l.presence!=z.Query.presence.PROHIBITED){if(r[A].upsert(y,l.boost,(function(e,t){return e+t})),!a[E]){for(var x=0;x<k.length;x++){var C,_=k[x],T=new z.FieldRef(_,A),N=w[_];void 0===(C=n[T])?n[T]=new z.MatchData(b,A,N):C.add(b,A,N)}a[E]=!0}}else void 0===i[A]&&(i[A]=z.Set.empty),i[A]=i[A].union(S)}}}if(l.presence===z.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++){o[A=l.fields[m]]=o[A].intersect(c)}}var I=z.Set.complete,L=z.Set.empty;for(s=0;s<this.fields.length;s++){var A;o[A=this.fields[s]]&&(I=I.intersect(o[A])),i[A]&&(L=L.union(i[A]))}var P=Object.keys(n),O=[],R=Object.create(null);if(t.isNegated()){P=Object.keys(this.fieldVectors);for(s=0;s<P.length;s++){T=P[s];var U=z.FieldRef.fromString(T);n[T]=new z.MatchData}}for(s=0;s<P.length;s++){var D=(U=z.FieldRef.fromString(P[s])).docRef;if(I.contains(D)&&!L.contains(D)){var M,F=this.fieldVectors[U],B=r[U.fieldName].similarity(F);if(void 0!==(M=R[D]))M.score+=B,M.matchData.combine(n[U]);else{var $={ref:D,score:B,matchData:n[U]};R[D]=$,O.push($)}}}return O.sort((function(e,t){return t.score-e.score}))},z.Index.prototype.toJSON=function(){var e=Object.keys(this.invertedIndex).sort().map((function(e){return[e,this.invertedIndex[e]]}),this),t=Object.keys(this.fieldVectors).map((function(e){return[e,this.fieldVectors[e].toJSON()]}),this);return{version:z.version,fields:this.fields,fieldVectors:t,invertedIndex:e,pipeline:this.pipeline.toJSON()}},z.Index.load=function(e){var t={},n={},r=e.fieldVectors,a=Object.create(null),o=e.invertedIndex,i=new z.TokenSet.Builder,s=z.Pipeline.load(e.pipeline);e.version!=z.version&&z.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+z.version+"' does not match serialized index '"+e.version+"'");for(var l=0;l<r.length;l++){var u=(d=r[l])[0],c=d[1];n[u]=new z.Vector(c)}for(l=0;l<o.length;l++){var d,f=(d=o[l])[0],p=d[1];i.insert(f),a[f]=p}return i.finish(),t.fields=e.fields,t.fieldVectors=n,t.invertedIndex=a,t.tokenSet=i.root,t.pipeline=s,new z.Index(t)},z.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=z.tokenizer,this.pipeline=new z.Pipeline,this.searchPipeline=new z.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},z.Builder.prototype.ref=function(e){this._ref=e},z.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},z.Builder.prototype.b=function(e){this._b=e<0?0:e>1?1:e},z.Builder.prototype.k1=function(e){this._k1=e},z.Builder.prototype.add=function(e,t){var n=e[this._ref],r=Object.keys(this._fields);this._documents[n]=t||{},this.documentCount+=1;for(var a=0;a<r.length;a++){var o=r[a],i=this._fields[o].extractor,s=i?i(e):e[o],l=this.tokenizer(s,{fields:[o]}),u=this.pipeline.run(l),c=new z.FieldRef(n,o),d=Object.create(null);this.fieldTermFrequencies[c]=d,this.fieldLengths[c]=0,this.fieldLengths[c]+=u.length;for(var f=0;f<u.length;f++){var p=u[f];if(null==d[p]&&(d[p]=0),d[p]+=1,null==this.invertedIndex[p]){var h=Object.create(null);h._index=this.termIndex,this.termIndex+=1;for(var m=0;m<r.length;m++)h[r[m]]=Object.create(null);this.invertedIndex[p]=h}null==this.invertedIndex[p][o][n]&&(this.invertedIndex[p][o][n]=Object.create(null));for(var g=0;g<this.metadataWhitelist.length;g++){var b=this.metadataWhitelist[g],v=p.metadata[b];null==this.invertedIndex[p][o][n][b]&&(this.invertedIndex[p][o][n][b]=[]),this.invertedIndex[p][o][n][b].push(v)}}}},z.Builder.prototype.calculateAverageFieldLengths=function(){for(var e=Object.keys(this.fieldLengths),t=e.length,n={},r={},a=0;a<t;a++){var o=z.FieldRef.fromString(e[a]),i=o.fieldName;r[i]||(r[i]=0),r[i]+=1,n[i]||(n[i]=0),n[i]+=this.fieldLengths[o]}var s=Object.keys(this._fields);for(a=0;a<s.length;a++){var l=s[a];n[l]=n[l]/r[l]}this.averageFieldLength=n},z.Builder.prototype.createFieldVectors=function(){for(var e={},t=Object.keys(this.fieldTermFrequencies),n=t.length,r=Object.create(null),a=0;a<n;a++){for(var o=z.FieldRef.fromString(t[a]),i=o.fieldName,s=this.fieldLengths[o],l=new z.Vector,u=this.fieldTermFrequencies[o],c=Object.keys(u),d=c.length,f=this._fields[i].boost||1,p=this._documents[o.docRef].boost||1,h=0;h<d;h++){var m,g,b,v=c[h],y=u[v],w=this.invertedIndex[v]._index;void 0===r[v]?(m=z.idf(this.invertedIndex[v],this.documentCount),r[v]=m):m=r[v],g=m*((this._k1+1)*y)/(this._k1*(1-this._b+this._b*(s/this.averageFieldLength[i]))+y),g*=f,g*=p,b=Math.round(1e3*g)/1e3,l.insert(w,b)}e[o]=l}this.fieldVectors=e},z.Builder.prototype.createTokenSet=function(){this.tokenSet=z.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},z.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new z.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},z.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},z.MatchData=function(e,t,n){for(var r=Object.create(null),a=Object.keys(n||{}),o=0;o<a.length;o++){var i=a[o];r[i]=n[i].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=r)},z.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),n=0;n<t.length;n++){var r=t[n],a=Object.keys(e.metadata[r]);null==this.metadata[r]&&(this.metadata[r]=Object.create(null));for(var o=0;o<a.length;o++){var i=a[o],s=Object.keys(e.metadata[r][i]);null==this.metadata[r][i]&&(this.metadata[r][i]=Object.create(null));for(var l=0;l<s.length;l++){var u=s[l];null==this.metadata[r][i][u]?this.metadata[r][i][u]=e.metadata[r][i][u]:this.metadata[r][i][u]=this.metadata[r][i][u].concat(e.metadata[r][i][u])}}}},z.MatchData.prototype.add=function(e,t,n){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=n);if(t in this.metadata[e])for(var r=Object.keys(n),a=0;a<r.length;a++){var o=r[a];o in this.metadata[e][t]?this.metadata[e][t][o]=this.metadata[e][t][o].concat(n[o]):this.metadata[e][t][o]=n[o]}else this.metadata[e][t]=n},z.Query=function(e){this.clauses=[],this.allFields=e},z.Query.wildcard=new String("*"),z.Query.wildcard.NONE=0,z.Query.wildcard.LEADING=1,z.Query.wildcard.TRAILING=2,z.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},z.Query.prototype.clause=function(e){return"fields"in e||(e.fields=this.allFields),"boost"in e||(e.boost=1),"usePipeline"in e||(e.usePipeline=!0),"wildcard"in e||(e.wildcard=z.Query.wildcard.NONE),e.wildcard&z.Query.wildcard.LEADING&&e.term.charAt(0)!=z.Query.wildcard&&(e.term="*"+e.term),e.wildcard&z.Query.wildcard.TRAILING&&e.term.slice(-1)!=z.Query.wildcard&&(e.term=e.term+"*"),"presence"in e||(e.presence=z.Query.presence.OPTIONAL),this.clauses.push(e),this},z.Query.prototype.isNegated=function(){for(var e=0;e<this.clauses.length;e++)if(this.clauses[e].presence!=z.Query.presence.PROHIBITED)return!1;return!0},z.Query.prototype.term=function(e,t){if(Array.isArray(e))return e.forEach((function(e){this.term(e,z.utils.clone(t))}),this),this;var n=t||{};return n.term=e.toString(),this.clause(n),this},z.QueryParseError=function(e,t,n){this.name="QueryParseError",this.message=e,this.start=t,this.end=n},z.QueryParseError.prototype=new Error,z.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},z.QueryLexer.prototype.run=function(){for(var e=z.QueryLexer.lexText;e;)e=e(this)},z.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,n=this.pos,r=0;r<this.escapeCharPositions.length;r++)n=this.escapeCharPositions[r],e.push(this.str.slice(t,n)),t=n+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},z.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},z.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},z.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return z.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},z.QueryLexer.prototype.width=function(){return this.pos-this.start},z.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},z.QueryLexer.prototype.backup=function(){this.pos-=1},z.QueryLexer.prototype.acceptDigitRun=function(){var e,t;do{t=(e=this.next()).charCodeAt(0)}while(t>47&&t<58);e!=z.QueryLexer.EOS&&this.backup()},z.QueryLexer.prototype.more=function(){return this.pos<this.length},z.QueryLexer.EOS="EOS",z.QueryLexer.FIELD="FIELD",z.QueryLexer.TERM="TERM",z.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",z.QueryLexer.BOOST="BOOST",z.QueryLexer.PRESENCE="PRESENCE",z.QueryLexer.lexField=function(e){return e.backup(),e.emit(z.QueryLexer.FIELD),e.ignore(),z.QueryLexer.lexText},z.QueryLexer.lexTerm=function(e){if(e.width()>1&&(e.backup(),e.emit(z.QueryLexer.TERM)),e.ignore(),e.more())return z.QueryLexer.lexText},z.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(z.QueryLexer.EDIT_DISTANCE),z.QueryLexer.lexText},z.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(z.QueryLexer.BOOST),z.QueryLexer.lexText},z.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(z.QueryLexer.TERM)},z.QueryLexer.termSeparator=z.tokenizer.separator,z.QueryLexer.lexText=function(e){for(;;){var t=e.next();if(t==z.QueryLexer.EOS)return z.QueryLexer.lexEOS;if(92!=t.charCodeAt(0)){if(":"==t)return z.QueryLexer.lexField;if("~"==t)return e.backup(),e.width()>0&&e.emit(z.QueryLexer.TERM),z.QueryLexer.lexEditDistance;if("^"==t)return e.backup(),e.width()>0&&e.emit(z.QueryLexer.TERM),z.QueryLexer.lexBoost;if("+"==t&&1===e.width())return e.emit(z.QueryLexer.PRESENCE),z.QueryLexer.lexText;if("-"==t&&1===e.width())return e.emit(z.QueryLexer.PRESENCE),z.QueryLexer.lexText;if(t.match(z.QueryLexer.termSeparator))return z.QueryLexer.lexTerm}else e.escapeCharacter()}},z.QueryParser=function(e,t){this.lexer=new z.QueryLexer(e),this.query=t,this.currentClause={},this.lexemeIdx=0},z.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=z.QueryParser.parseClause;e;)e=e(this);return this.query},z.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},z.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},z.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},z.QueryParser.parseClause=function(e){var t=e.peekLexeme();if(null!=t)switch(t.type){case z.QueryLexer.PRESENCE:return z.QueryParser.parsePresence;case z.QueryLexer.FIELD:return z.QueryParser.parseField;case z.QueryLexer.TERM:return z.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+t.type;throw t.str.length>=1&&(n+=" with value '"+t.str+"'"),new z.QueryParseError(n,t.start,t.end)}},z.QueryParser.parsePresence=function(e){var t=e.consumeLexeme();if(null!=t){switch(t.str){case"-":e.currentClause.presence=z.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=z.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+t.str+"'";throw new z.QueryParseError(n,t.start,t.end)}var r=e.peekLexeme();if(null==r){n="expecting term or field, found nothing";throw new z.QueryParseError(n,t.start,t.end)}switch(r.type){case z.QueryLexer.FIELD:return z.QueryParser.parseField;case z.QueryLexer.TERM:return z.QueryParser.parseTerm;default:n="expecting term or field, found '"+r.type+"'";throw new z.QueryParseError(n,r.start,r.end)}}},z.QueryParser.parseField=function(e){var t=e.consumeLexeme();if(null!=t){if(-1==e.query.allFields.indexOf(t.str)){var n=e.query.allFields.map((function(e){return"'"+e+"'"})).join(", "),r="unrecognised field '"+t.str+"', possible fields: "+n;throw new z.QueryParseError(r,t.start,t.end)}e.currentClause.fields=[t.str];var a=e.peekLexeme();if(null==a){r="expecting term, found nothing";throw new z.QueryParseError(r,t.start,t.end)}if(a.type===z.QueryLexer.TERM)return z.QueryParser.parseTerm;r="expecting term, found '"+a.type+"'";throw new z.QueryParseError(r,a.start,a.end)}},z.QueryParser.parseTerm=function(e){var t=e.consumeLexeme();if(null!=t){e.currentClause.term=t.str.toLowerCase(),-1!=t.str.indexOf("*")&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(null!=n)switch(n.type){case z.QueryLexer.TERM:return e.nextClause(),z.QueryParser.parseTerm;case z.QueryLexer.FIELD:return e.nextClause(),z.QueryParser.parseField;case z.QueryLexer.EDIT_DISTANCE:return z.QueryParser.parseEditDistance;case z.QueryLexer.BOOST:return z.QueryParser.parseBoost;case z.QueryLexer.PRESENCE:return e.nextClause(),z.QueryParser.parsePresence;default:var r="Unexpected lexeme type '"+n.type+"'";throw new z.QueryParseError(r,n.start,n.end)}else e.nextClause()}},z.QueryParser.parseEditDistance=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="edit distance must be numeric";throw new z.QueryParseError(r,t.start,t.end)}e.currentClause.editDistance=n;var a=e.peekLexeme();if(null!=a)switch(a.type){case z.QueryLexer.TERM:return e.nextClause(),z.QueryParser.parseTerm;case z.QueryLexer.FIELD:return e.nextClause(),z.QueryParser.parseField;case z.QueryLexer.EDIT_DISTANCE:return z.QueryParser.parseEditDistance;case z.QueryLexer.BOOST:return z.QueryParser.parseBoost;case z.QueryLexer.PRESENCE:return e.nextClause(),z.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+a.type+"'";throw new z.QueryParseError(r,a.start,a.end)}else e.nextClause()}},z.QueryParser.parseBoost=function(e){var t=e.consumeLexeme();if(null!=t){var n=parseInt(t.str,10);if(isNaN(n)){var r="boost must be numeric";throw new z.QueryParseError(r,t.start,t.end)}e.currentClause.boost=n;var a=e.peekLexeme();if(null!=a)switch(a.type){case z.QueryLexer.TERM:return e.nextClause(),z.QueryParser.parseTerm;case z.QueryLexer.FIELD:return e.nextClause(),z.QueryParser.parseField;case z.QueryLexer.EDIT_DISTANCE:return z.QueryParser.parseEditDistance;case z.QueryLexer.BOOST:return z.QueryParser.parseBoost;case z.QueryLexer.PRESENCE:return e.nextClause(),z.QueryParser.parsePresence;default:r="Unexpected lexeme type '"+a.type+"'";throw new z.QueryParseError(r,a.start,a.end)}else e.nextClause()}},void 0===(a="function"==typeof(r=function(){return z})?r.call(t,n,t,e):r)||(e.exports=a)}()},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var r,a;r=function(){var e,t,n={version:"0.2.0"},r=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'<div class="bar" role="bar"><div class="peg"></div></div><div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'};function a(e,t,n){return e<t?t:e>n?n:e}function o(e){return 100*(-1+e)}function i(e,t,n){var a;return(a="translate3d"===r.positionUsing?{transform:"translate3d("+o(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+o(e)+"%,0)"}:{"margin-left":o(e)+"%"}).transition="all "+t+"ms "+n,a}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=a(e,r.minimum,1),n.status=1===e?null:e;var o=n.render(!t),u=o.querySelector(r.barSelector),c=r.speed,d=r.easing;return o.offsetWidth,s((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),l(u,i(e,c,d)),1===e?(l(o,{transition:"none",opacity:1}),o.offsetWidth,setTimeout((function(){l(o,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*a(Math.random()*t,.1,.95)),t=a(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var a,i=t.querySelector(r.barSelector),s=e?"-100":o(n.status||0),u=document.querySelector(r.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),r.showSpinner||(a=t.querySelector(r.spinnerSelector))&&p(a),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,a=e.length,o=t.charAt(0).toUpperCase()+t.slice(1);a--;)if((r=e[a]+o)in n)return r;return t}function a(e){return e=n(e),t[e]||(t[e]=r(e))}function o(e,t,n){t=a(t),e.style[t]=n}return function(e,t){var n,r,a=arguments;if(2==a.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&o(e,n,r);else o(e,a[1],a[2])}}();function u(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(a="function"==typeof r?r.call(t,n,t,e):r)||(e.exports=a)},7418:e=>{"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(a){return!1}}()?Object.assign:function(e,a){for(var o,i,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),l=1;l<arguments.length;l++){for(var u in o=Object(arguments[l]))n.call(o,u)&&(s[u]=o[u]);if(t){i=t(o);for(var c=0;c<i.length;c++)r.call(o,i[c])&&(s[i[c]]=o[i[c]])}}return s}},7410:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(t,n){var a,o;switch(n=n||{},r.util.type(t)){case"Object":if(o=r.util.objId(t),n[o])return n[o];for(var i in a={},n[o]=a,t)t.hasOwnProperty(i)&&(a[i]=e(t[i],n));return a;case"Array":return o=r.util.objId(t),n[o]?n[o]:(a=[],n[o]=a,t.forEach((function(t,r){a[r]=e(t,n)})),a);default:return t}},getLanguage:function(t){for(;t;){var n=e.exec(t.className);if(n)return n[1].toLowerCase();t=t.parentElement}return"none"},setLanguage:function(t,n){t.className=t.className.replace(RegExp(e,"gi"),""),t.classList.add("language-"+n)},isActive:function(e,t,n){for(var r="no-"+t;e;){var a=e.classList;if(a.contains(t))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!n}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var n=r.util.clone(r.languages[e]);for(var a in t)n[a]=t[a];return n},insertBefore:function(e,t,n,a){var o=(a=a||r.languages)[e],i={};for(var s in o)if(o.hasOwnProperty(s)){if(s==t)for(var l in n)n.hasOwnProperty(l)&&(i[l]=n[l]);n.hasOwnProperty(s)||(i[s]=o[s])}var u=a[e];return a[e]=i,r.languages.DFS(r.languages,(function(t,n){n===u&&t!=e&&(this[t]=i)})),i},DFS:function e(t,n,a,o){o=o||{};var i=r.util.objId;for(var s in t)if(t.hasOwnProperty(s)){n.call(t,s,t[s],a||s);var l=t[s],u=r.util.type(l);"Object"!==u||o[i(l)]?"Array"!==u||o[i(l)]||(o[i(l)]=!0,e(l,n,s,o)):(o[i(l)]=!0,e(l,n,null,o))}}},plugins:{},highlight:function(e,t,n){var o={code:e,grammar:t,language:n};return r.hooks.run("before-tokenize",o),o.tokens=r.tokenize(o.code,o.grammar),r.hooks.run("after-tokenize",o),a.stringify(r.util.encode(o.tokens),o.language)},tokenize:function(e,t){var n=t.rest;if(n){for(var r in n)t[r]=n[r];delete t.rest}var a=new s;return l(a,a.head,e),i(e,a,t,a.head,0),function(e){var t=[],n=e.head.next;for(;n!==e.tail;)t.push(n.value),n=n.next;return t}(a)},hooks:{all:{},add:function(e,t){var n=r.hooks.all;n[e]=n[e]||[],n[e].push(t)},run:function(e,t){var n=r.hooks.all[e];if(n&&n.length)for(var a,o=0;a=n[o++];)a(t)}},Token:a};function a(e,t,n,r){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length}function o(e,t,n,r){e.lastIndex=t;var a=e.exec(n);if(a&&r&&a[1]){var o=a[1].length;a.index+=o,a[0]=a[0].slice(o)}return a}function i(e,t,n,s,c,d){for(var f in n)if(n.hasOwnProperty(f)&&n[f]){var p=n[f];p=Array.isArray(p)?p:[p];for(var h=0;h<p.length;++h){if(d&&d.cause==f+","+h)return;var m=p[h],g=m.inside,b=!!m.lookbehind,v=!!m.greedy,y=m.alias;if(v&&!m.pattern.global){var w=m.pattern.toString().match(/[imsuy]*$/)[0];m.pattern=RegExp(m.pattern.source,w+"g")}for(var k=m.pattern||m,E=s.next,S=c;E!==t.tail&&!(d&&S>=d.reach);S+=E.value.length,E=E.next){var x=E.value;if(t.length>e.length)return;if(!(x instanceof a)){var C,_=1;if(v){if(!(C=o(k,S,e,b))||C.index>=e.length)break;var T=C.index,N=C.index+C[0].length,I=S;for(I+=E.value.length;T>=I;)I+=(E=E.next).value.length;if(S=I-=E.value.length,E.value instanceof a)continue;for(var L=E;L!==t.tail&&(I<N||"string"==typeof L.value);L=L.next)_++,I+=L.value.length;_--,x=e.slice(S,I),C.index-=S}else if(!(C=o(k,0,x,b)))continue;T=C.index;var A=C[0],P=x.slice(0,T),O=x.slice(T+A.length),R=S+x.length;d&&R>d.reach&&(d.reach=R);var z=E.prev;if(P&&(z=l(t,z,P),S+=P.length),u(t,z,_),E=l(t,z,new a(f,g?r.tokenize(A,g):A,y,A)),O&&l(t,E,O),_>1){var U={cause:f+","+h,reach:R};i(e,t,n,E.prev,S,U),d&&U.reach>d.reach&&(d.reach=U.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function l(e,t,n){var r=t.next,a={value:n,prev:t,next:r};return t.next=a,r.prev=a,e.length++,a}function u(e,t,n){for(var r=t.next,a=0;a<n&&r!==e.tail;a++)r=r.next;t.next=r,r.prev=t,e.length-=a}return a.stringify=function e(t,n){if("string"==typeof t)return t;if(Array.isArray(t)){var a="";return t.forEach((function(t){a+=e(t,n)})),a}var o={type:t.type,content:e(t.content,n),tag:"span",classes:["token",t.type],attributes:{},language:n},i=t.alias;i&&(Array.isArray(i)?Array.prototype.push.apply(o.classes,i):o.classes.push(i)),r.hooks.run("wrap",o);var s="";for(var l in o.attributes)s+=" "+l+'="'+(o.attributes[l]||"").replace(/"/g,""")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'"'+s+">"+o.content+"</"+o.tag+">"},r}(),a=r;r.default=r,a.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.languages.markup.doctype.inside["internal-subset"].inside=a.languages.markup,a.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:a.languages[t]},n.cdata=/^<!\[CDATA\[|\]\]>$/i;var r={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},a.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(a.languages.markup.tag,"addAttribute",{value:function(e,t){a.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:a.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.xml=a.languages.extend("markup",{}),a.languages.ssml=a.languages.xml,a.languages.atom=a.languages.xml,a.languages.rss=a.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=r.variable[1].inside,i=0;i<a.length;i++)o[a[i]]=e.languages.bash[a[i]];e.languages.shell=e.languages.bash}(a),a.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.c=a.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),a.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),a.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},a.languages.c.string],char:a.languages.c.char,comment:a.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:a.languages.c}}}}),a.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete a.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,(function(){return n}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(a),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(a),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:a})}(a),a.languages.javascript=a.languages.extend("clike",{"class-name":[a.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:a.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),a.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),a.languages.markup&&(a.languages.markup.tag.addInlined("script","javascript"),a.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),a.languages.js=a.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(a),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(a),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(e){return e=e.replace(/<inner>/g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,a=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),o=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+a+o+"(?:"+a+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+a+o+")(?:"+a+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+a+")"+o+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+a+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n<r;n++){var a=t[n];if("code"===a.type){var o=a.content[1],i=a.content[3];if(o&&i&&"code-language"===o.type&&"code-block"===i.type&&"string"==typeof o.content){var s=o.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),l="language-"+(s=(/[a-z][\w-]*/i.exec(s)||[""])[0].toLowerCase());i.alias?"string"==typeof i.alias?i.alias=[i.alias,l]:i.alias.push(l):i.alias=[l]}}else e(a.content)}}(e.tokens)})),e.hooks.add("wrap",(function(t){if("code-block"===t.type){for(var n="",r=0,a=t.classes.length;r<a;r++){var o=t.classes[r],u=/language-(.+)/.exec(o);if(u){n=u[1];break}}var c,d=e.languages[n];if(d)t.content=e.highlight((c=t.content,c.replace(i,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,(function(e,t){var n;if("#"===(t=t.toLowerCase())[0])return n="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),l(n);var r=s[t];return r||e}))),d,n);else if(n&&"none"!==n&&e.plugins.autoloader){var f="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random());t.attributes.id=f,e.plugins.autoloader.loadLanguages(n,(function(){var t=document.getElementById(f);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[n],n))}))}}}));var i=RegExp(e.languages.markup.tag.pattern.source,"gi"),s={amp:"&",lt:"<",gt:">",quot:'"'},l=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(a),a.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:a.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},a.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),n=0;n<t.length;){var r=t[n++];if("keyword"===r.type&&"mutation"===r.content){var a=[];if(d(["definition-mutation","punctuation"])&&"("===c(1).content){n+=2;var o=f(/^\($/,/^\)$/);if(-1===o)continue;for(;n<o;n++){var i=c(0);"variable"===i.type&&(p(i,"variable-input"),a.push(i.content))}n=o+1}if(d(["punctuation","property-query"])&&"{"===c(0).content&&(n++,p(c(0),"property-mutation"),a.length>0)){var s=f(/^\{$/,/^\}$/);if(-1===s)continue;for(var l=n;l<s;l++){var u=t[l];"variable"===u.type&&a.indexOf(u.content)>=0&&p(u,"variable-input")}}}}function c(e){return t[n+e]}function d(e,t){t=t||0;for(var n=0;n<e.length;n++){var r=c(n+t);if(!r||r.type!==e[n])return!1}return!0}function f(e,r){for(var a=1,o=n;o<t.length;o++){var i=t[o],s=i.content;if("punctuation"===i.type&&"string"==typeof s)if(e.test(s))a++;else if(r.test(s)&&0===--a)return o}return-1}function p(e,t){var n=e.alias;n?Array.isArray(n)||(e.alias=n=[n]):e.alias=n=[],n.push(t)}})),a.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,a=r.inside["interpolation-punctuation"],o=r.pattern.source;function i(t,r){if(e.languages[t])return{pattern:RegExp("((?:"+r+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function s(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function l(t,n,r){var a={code:t,grammar:n,language:r};return e.hooks.run("before-tokenize",a),a.tokens=e.tokenize(a.code,a.grammar),e.hooks.run("after-tokenize",a),a.tokens}function u(t){var n={};n["interpolation-punctuation"]=a;var o=e.tokenize(t,n);if(3===o.length){var i=[1,1];i.push.apply(i,l(o[1],e.languages.javascript,"javascript")),o.splice.apply(o,i)}return new e.Token("interpolation",o,r.alias,t)}function c(t,n,r){var a=e.tokenize(t,{interpolation:{pattern:RegExp(o),lookbehind:!0}}),i=0,c={},d=l(a.map((function(e){if("string"==typeof e)return e;for(var n,a=e.content;-1!==t.indexOf(n=s(i++,r)););return c[n]=a,n})).join(""),n,r),f=Object.keys(c);return i=0,function e(t){for(var n=0;n<t.length;n++){if(i>=f.length)return;var r=t[n];if("string"==typeof r||"string"==typeof r.content){var a=f[i],o="string"==typeof r?r:r.content,s=o.indexOf(a);if(-1!==s){++i;var l=o.substring(0,s),d=u(c[a]),p=o.substring(s+a.length),h=[];if(l&&h.push(l),h.push(d),p){var m=[p];e(m),h.push.apply(h,m)}"string"==typeof r?(t.splice.apply(t,[n,1].concat(h)),n+=h.length-1):r.content=h}}else{var g=r.content;Array.isArray(g)?e(g):e([g])}}}(d),new e.Token(r,d,"language-"+r,t)}e.languages.javascript["template-string"]=[i("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),i("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),i("svg",/\bsvg/.source),i("markdown",/\b(?:markdown|md)/.source),i("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),i("sql",/\bsql/.source),t].filter(Boolean);var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function f(e){return"string"==typeof e?e:Array.isArray(e)?e.map(f).join(""):f(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in d&&function t(n){for(var r=0,a=n.length;r<a;r++){var o=n[r];if("string"!=typeof o){var i=o.content;if(Array.isArray(i))if("template-string"===o.type){var s=i[1];if(3===i.length&&"string"!=typeof s&&"embedded-code"===s.type){var l=f(s),u=s.alias,d=Array.isArray(u)?u[0]:u,p=e.languages[d];if(!p)continue;i[1]=c(l,p,d)}}else t(i);else"string"!=typeof i&&t([i])}}}(t.tokens)}))}(a),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(a),function(e){function t(e,t){return RegExp(e.replace(/<ID>/g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var a=n[r],o=e.languages.javascript[a];"RegExp"===e.util.type(o)&&(o=e.languages.javascript[a]={pattern:o});var i=o.inside||{};o.inside=i,i["maybe-class-name"]=/^[A-Z][\s\S]*/}}(a),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,a=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function o(e,t){return e=e.replace(/<S>/g,(function(){return n})).replace(/<BRACES>/g,(function(){return r})).replace(/<SPREAD>/g,(function(){return a})),RegExp(e,t)}a=o(a).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=o(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:o(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:o(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var i=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(i).join(""):""},s=function(t){for(var n=[],r=0;r<t.length;r++){var a=t[r],o=!1;if("string"!=typeof a&&("tag"===a.type&&a.content[0]&&"tag"===a.content[0].type?"</"===a.content[0].content[0].content?n.length>0&&n[n.length-1].tagName===i(a.content[0].content[1])&&n.pop():"/>"===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):n.length>0&&"punctuation"===a.type&&"{"===a.content?n[n.length-1].openedBraces++:n.length>0&&n[n.length-1].openedBraces>0&&"punctuation"===a.type&&"}"===a.content?n[n.length-1].openedBraces--:o=!0),(o||"string"==typeof a)&&n.length>0&&0===n[n.length-1].openedBraces){var l=i(a);r<t.length-1&&("string"==typeof t[r+1]||"plain-text"===t[r+1].type)&&(l+=i(t[r+1]),t.splice(r+1,1)),r>0&&("string"==typeof t[r-1]||"plain-text"===t[r-1].type)&&(l=i(t[r-1])+l,t.splice(r-1,1),r--),t[r]=new e.Token("plain-text",l,null,l)}a.content&&"string"!=typeof a.content&&s(a.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||s(e.tokens)}))}(a),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],a=[];/^\w+$/.test(n)||a.push(/\w+/.exec(n)[0]),"diff"===n&&a.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:a,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(a),a.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},a.languages.go=a.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),a.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete a.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,a,o){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(a,(function(e){if("function"==typeof o&&!o(e))return e;for(var a,s=i.length;-1!==n.code.indexOf(a=t(r,s));)++s;return i[s]=e,a})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var a=0,o=Object.keys(n.tokenStack);!function i(s){for(var l=0;l<s.length&&!(a>=o.length);l++){var u=s[l];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=o[a],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),h=f.indexOf(p);if(h>-1){++a;var m=f.substring(0,h),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(h+p.length),v=[];m&&v.push.apply(v,i([m])),v.push(g),b&&v.push.apply(v,i([b])),"string"==typeof u?s.splice.apply(s,[l,1].concat(v)):u.content=v}}else u.content&&i(u.content)}return s}(n.tokens)}}}})}(a),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(a),a.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},a.languages.webmanifest=a.languages.json,a.languages.less=a.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),a.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),a.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},a.languages.objectivec=a.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete a.languages.objectivec["class-name"],a.languages.objc=a.languages.objectivec,a.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},a.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},a.languages.python["string-interpolation"].inside.interpolation.inside.rest=a.languages.python,a.languages.py=a.languages.python,a.languages.reason=a.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),a.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete a.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(a),a.languages.scss=a.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),a.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),a.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),a.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),a.languages.scss.atrule.inside.rest=a.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(a),a.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const o=a},2503:()=>{!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,r={pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[r,{pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:r.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+n+/[A-Z]\w*\b/.source),lookbehind:!0,inside:r.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":r,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+n+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:r.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+n+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:r.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism)},6862:()=>{!function(e){var t=e.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:null},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*\]|[^\[\]])*\]|[^\[\]])*\]/i,boolean:/\$(?:false|true)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(^|\W)(?:!|-(?:b?(?:and|x?or)|as|(?:Not)?(?:Contains|In|Like|Match)|eq|ge|gt|is(?:Not)?|Join|le|lt|ne|not|Replace|sh[lr])\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/};t.string[0].inside={function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:t},boolean:t.boolean,variable:t.variable}}(Prism)},2886:()=>{Prism.languages.scala=Prism.languages.extend("java",{"triple-quoted-string":{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string"},string:{pattern:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,greedy:!0},keyword:/<-|=>|\b(?:abstract|case|catch|class|def|derives|do|else|enum|extends|extension|final|finally|for|forSome|given|if|implicit|import|infix|inline|lazy|match|new|null|object|opaque|open|override|package|private|protected|return|sealed|self|super|this|throw|trait|transparent|try|type|using|val|var|while|with|yield)\b/,number:/\b0x(?:[\da-f]*\.)?[\da-f]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e\d+)?[dfl]?/i,builtin:/\b(?:Any|AnyRef|AnyVal|Boolean|Byte|Char|Double|Float|Int|Long|Nothing|Short|String|Unit)\b/,symbol:/'[^\d\s\\]\w*/}),Prism.languages.insertBefore("scala","triple-quoted-string",{"string-interpolation":{pattern:/\b[a-z]\w*(?:"""(?:[^$]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*?"""|"(?:[^$"\r\n]|\$(?:[^{]|\{(?:[^{}]|\{[^{}]*\})*\}))*")/i,greedy:!0,inside:{id:{pattern:/^\w+/,greedy:!0,alias:"function"},escape:{pattern:/\\\$"|\$[$"]/,greedy:!0,alias:"symbol"},interpolation:{pattern:/\$(?:\w+|\{(?:[^{}]|\{[^{}]*\})*\})/,greedy:!0,inside:{punctuation:/^\$\{?|\}$/,expression:{pattern:/[\s\S]+/,inside:Prism.languages.scala}}},string:/[\s\S]+/}}}),delete Prism.languages.scala["class-name"],delete Prism.languages.scala.function,delete Prism.languages.scala.constant},3358:()=>{!function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",a=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),o=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<value>>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,(function(){return r})).replace(/<<key>>/g,(function(){return"(?:"+a+"|"+o+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(o),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Prism)},8956:(e,t,n)=>{var r={"./prism-java":2503,"./prism-powershell":6862,"./prism-scala":2886,"./prism-yaml":3358};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id=8956},2703:(e,t,n)=>{"use strict";var r=n(414);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,t,n,a,o,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:a};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var r=n(7294),a=n(7418),o=n(3840);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}if(!r)throw Error(i(227));var s=new Set,l={};function u(e,t){c(e,t),c(e+"Capture",t)}function c(e,t){for(l[e]=t,e=0;e<t.length;e++)s.add(t[e])}var d=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),f=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,p=Object.prototype.hasOwnProperty,h={},m={};function g(e,t,n,r,a,o,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=o,this.removeEmptyString=i}var b={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){b[e]=new g(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];b[t]=new g(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){b[e]=new g(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){b[e]=new g(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){b[e]=new g(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){b[e]=new g(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){b[e]=new g(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){b[e]=new g(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){b[e]=new g(e,5,!1,e.toLowerCase(),null,!1,!1)}));var v=/[\-:]([a-z])/g;function y(e){return e[1].toUpperCase()}function w(e,t,n,r){var a=b.hasOwnProperty(t)?b[t]:null;(null!==a?0===a.type:!r&&(2<t.length&&("o"===t[0]||"O"===t[0])&&("n"===t[1]||"N"===t[1])))||(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!p.call(m,e)||!p.call(h,e)&&(f.test(e)?m[e]=!0:(h[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(v,y);b[t]=new g(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(v,y);b[t]=new g(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.replace(v,y);b[t]=new g(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)})),["tabIndex","crossOrigin"].forEach((function(e){b[e]=new g(e,1,!1,e.toLowerCase(),null,!1,!1)})),b.xlinkHref=new g("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach((function(e){b[e]=new g(e,1,!1,e.toLowerCase(),null,!0,!0)}));var k=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,E=60103,S=60106,x=60107,C=60108,_=60114,T=60109,N=60110,I=60112,L=60113,A=60120,P=60115,O=60116,R=60121,z=60128,U=60129,D=60130,M=60131;if("function"==typeof Symbol&&Symbol.for){var F=Symbol.for;E=F("react.element"),S=F("react.portal"),x=F("react.fragment"),C=F("react.strict_mode"),_=F("react.profiler"),T=F("react.provider"),N=F("react.context"),I=F("react.forward_ref"),L=F("react.suspense"),A=F("react.suspense_list"),P=F("react.memo"),O=F("react.lazy"),R=F("react.block"),F("react.scope"),z=F("react.opaque.id"),U=F("react.debug_trace_mode"),D=F("react.offscreen"),M=F("react.legacy_hidden")}var B,$="function"==typeof Symbol&&Symbol.iterator;function j(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=$&&e[$]||e["@@iterator"])?e:null}function W(e){if(void 0===B)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);B=t&&t[1]||""}return"\n"+B+e}var H=!1;function Z(e,t){if(!e||H)return"";H=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(l){var r=l}Reflect.construct(e,[],t)}else{try{t.call()}catch(l){r=l}e.call(t.prototype)}else{try{throw Error()}catch(l){r=l}e()}}catch(l){if(l&&r&&"string"==typeof l.stack){for(var a=l.stack.split("\n"),o=r.stack.split("\n"),i=a.length-1,s=o.length-1;1<=i&&0<=s&&a[i]!==o[s];)s--;for(;1<=i&&0<=s;i--,s--)if(a[i]!==o[s]){if(1!==i||1!==s)do{if(i--,0>--s||a[i]!==o[s])return"\n"+a[i].replace(" at new "," at ")}while(1<=i&&0<=s);break}}}finally{H=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?W(e):""}function Q(e){switch(e.tag){case 5:return W(e.type);case 16:return W("Lazy");case 13:return W("Suspense");case 19:return W("SuspenseList");case 0:case 2:case 15:return e=Z(e.type,!1);case 11:return e=Z(e.type.render,!1);case 22:return e=Z(e.type._render,!1);case 1:return e=Z(e.type,!0);default:return""}}function V(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case x:return"Fragment";case S:return"Portal";case _:return"Profiler";case C:return"StrictMode";case L:return"Suspense";case A:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case N:return(e.displayName||"Context")+".Consumer";case T:return(e._context.displayName||"Context")+".Provider";case I:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case P:return V(e.type);case R:return V(e._render);case O:t=e._payload,e=e._init;try{return V(e(t))}catch(n){}}return null}function q(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function G(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function Y(e){e._valueTracker||(e._valueTracker=function(e){var t=G(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var a=n.get,o=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function K(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=G(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function X(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function J(e,t){var n=t.checked;return a({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ee(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=q(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function te(e,t){null!=(t=t.checked)&&w(e,"checked",t,!1)}function ne(e,t){te(e,t);var n=q(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?ae(e,t.type,n):t.hasOwnProperty("defaultValue")&&ae(e,t.type,q(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function re(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function ae(e,t,n){"number"===t&&X(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function oe(e,t){return e=a({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function ie(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+q(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function se(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(i(91));return a({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function le(e,t){var n=t.value;if(null==n){if(n=t.children,t=t.defaultValue,null!=n){if(null!=t)throw Error(i(92));if(Array.isArray(n)){if(!(1>=n.length))throw Error(i(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:q(n)}}function ue(e,t){var n=q(t.value),r=q(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ce(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var de={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};function fe(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function pe(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?fe(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var he,me,ge=(me=function(e,t){if(e.namespaceURI!==de.svg||"innerHTML"in e)e.innerHTML=t;else{for((he=he||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=he.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction((function(){return me(e,t)}))}:me);function be(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var ve={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ye=["Webkit","ms","Moz","O"];function we(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||ve.hasOwnProperty(e)&&ve[e]?(""+t).trim():t+"px"}function ke(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=we(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(ve).forEach((function(e){ye.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),ve[t]=ve[e]}))}));var Ee=a({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Se(e,t){if(t){if(Ee[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(i(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(i(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(i(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(i(62))}}function xe(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function Ce(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var _e=null,Te=null,Ne=null;function Ie(e){if(e=na(e)){if("function"!=typeof _e)throw Error(i(280));var t=e.stateNode;t&&(t=aa(t),_e(e.stateNode,e.type,t))}}function Le(e){Te?Ne?Ne.push(e):Ne=[e]:Te=e}function Ae(){if(Te){var e=Te,t=Ne;if(Ne=Te=null,Ie(e),t)for(e=0;e<t.length;e++)Ie(t[e])}}function Pe(e,t){return e(t)}function Oe(e,t,n,r,a){return e(t,n,r,a)}function Re(){}var ze=Pe,Ue=!1,De=!1;function Me(){null===Te&&null===Ne||(Re(),Ae())}function Fe(e,t){var n=e.stateNode;if(null===n)return null;var r=aa(n);if(null===r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(i(231,t,typeof n));return n}var Be=!1;if(d)try{var $e={};Object.defineProperty($e,"passive",{get:function(){Be=!0}}),window.addEventListener("test",$e,$e),window.removeEventListener("test",$e,$e)}catch(me){Be=!1}function je(e,t,n,r,a,o,i,s,l){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(c){this.onError(c)}}var We=!1,He=null,Ze=!1,Qe=null,Ve={onError:function(e){We=!0,He=e}};function qe(e,t,n,r,a,o,i,s,l){We=!1,He=null,je.apply(Ve,arguments)}function Ge(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Ye(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Ke(e){if(Ge(e)!==e)throw Error(i(188))}function Xe(e){if(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ge(e)))throw Error(i(188));return t!==e?null:e}for(var n=e,r=t;;){var a=n.return;if(null===a)break;var o=a.alternate;if(null===o){if(null!==(r=a.return)){n=r;continue}break}if(a.child===o.child){for(o=a.child;o;){if(o===n)return Ke(a),e;if(o===r)return Ke(a),t;o=o.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=o;else{for(var s=!1,l=a.child;l;){if(l===n){s=!0,n=a,r=o;break}if(l===r){s=!0,r=a,n=o;break}l=l.sibling}if(!s){for(l=o.child;l;){if(l===n){s=!0,n=o,r=a;break}if(l===r){s=!0,r=o,n=a;break}l=l.sibling}if(!s)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(3!==n.tag)throw Error(i(188));return n.stateNode.current===n?e:t}(e),!e)return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function Je(e,t){for(var n=e.alternate;null!==t;){if(t===e||t===n)return!0;t=t.return}return!1}var et,tt,nt,rt,at=!1,ot=[],it=null,st=null,lt=null,ut=new Map,ct=new Map,dt=[],ft="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function pt(e,t,n,r,a){return{blockedOn:e,domEventName:t,eventSystemFlags:16|n,nativeEvent:a,targetContainers:[r]}}function ht(e,t){switch(e){case"focusin":case"focusout":it=null;break;case"dragenter":case"dragleave":st=null;break;case"mouseover":case"mouseout":lt=null;break;case"pointerover":case"pointerout":ut.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ct.delete(t.pointerId)}}function mt(e,t,n,r,a,o){return null===e||e.nativeEvent!==o?(e=pt(t,n,r,a,o),null!==t&&(null!==(t=na(t))&&tt(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function gt(e){var t=ta(e.target);if(null!==t){var n=Ge(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Ye(n)))return e.blockedOn=t,void rt(e.lanePriority,(function(){o.unstable_runWithPriority(e.priority,(function(){nt(n)}))}))}else if(3===t&&n.stateNode.hydrate)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function bt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Xt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=na(n))&&tt(t),e.blockedOn=n,!1;t.shift()}return!0}function vt(e,t,n){bt(e)&&n.delete(t)}function yt(){for(at=!1;0<ot.length;){var e=ot[0];if(null!==e.blockedOn){null!==(e=na(e.blockedOn))&&et(e);break}for(var t=e.targetContainers;0<t.length;){var n=Xt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n){e.blockedOn=n;break}t.shift()}null===e.blockedOn&&ot.shift()}null!==it&&bt(it)&&(it=null),null!==st&&bt(st)&&(st=null),null!==lt&&bt(lt)&&(lt=null),ut.forEach(vt),ct.forEach(vt)}function wt(e,t){e.blockedOn===t&&(e.blockedOn=null,at||(at=!0,o.unstable_scheduleCallback(o.unstable_NormalPriority,yt)))}function kt(e){function t(t){return wt(t,e)}if(0<ot.length){wt(ot[0],e);for(var n=1;n<ot.length;n++){var r=ot[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==it&&wt(it,e),null!==st&&wt(st,e),null!==lt&&wt(lt,e),ut.forEach(t),ct.forEach(t),n=0;n<dt.length;n++)(r=dt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<dt.length&&null===(n=dt[0]).blockedOn;)gt(n),null===n.blockedOn&&dt.shift()}function Et(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var St={animationend:Et("Animation","AnimationEnd"),animationiteration:Et("Animation","AnimationIteration"),animationstart:Et("Animation","AnimationStart"),transitionend:Et("Transition","TransitionEnd")},xt={},Ct={};function _t(e){if(xt[e])return xt[e];if(!St[e])return e;var t,n=St[e];for(t in n)if(n.hasOwnProperty(t)&&t in Ct)return xt[e]=n[t];return e}d&&(Ct=document.createElement("div").style,"AnimationEvent"in window||(delete St.animationend.animation,delete St.animationiteration.animation,delete St.animationstart.animation),"TransitionEvent"in window||delete St.transitionend.transition);var Tt=_t("animationend"),Nt=_t("animationiteration"),It=_t("animationstart"),Lt=_t("transitionend"),At=new Map,Pt=new Map,Ot=["abort","abort",Tt,"animationEnd",Nt,"animationIteration",It,"animationStart","canplay","canPlay","canplaythrough","canPlayThrough","durationchange","durationChange","emptied","emptied","encrypted","encrypted","ended","ended","error","error","gotpointercapture","gotPointerCapture","load","load","loadeddata","loadedData","loadedmetadata","loadedMetadata","loadstart","loadStart","lostpointercapture","lostPointerCapture","playing","playing","progress","progress","seeking","seeking","stalled","stalled","suspend","suspend","timeupdate","timeUpdate",Lt,"transitionEnd","waiting","waiting"];function Rt(e,t){for(var n=0;n<e.length;n+=2){var r=e[n],a=e[n+1];a="on"+(a[0].toUpperCase()+a.slice(1)),Pt.set(r,t),At.set(r,a),u(a,[r])}}(0,o.unstable_now)();var zt=8;function Ut(e){if(0!=(1&e))return zt=15,1;if(0!=(2&e))return zt=14,2;if(0!=(4&e))return zt=13,4;var t=24&e;return 0!==t?(zt=12,t):0!=(32&e)?(zt=11,32):0!==(t=192&e)?(zt=10,t):0!=(256&e)?(zt=9,256):0!==(t=3584&e)?(zt=8,t):0!=(4096&e)?(zt=7,4096):0!==(t=4186112&e)?(zt=6,t):0!==(t=62914560&e)?(zt=5,t):67108864&e?(zt=4,67108864):0!=(134217728&e)?(zt=3,134217728):0!==(t=805306368&e)?(zt=2,t):0!=(1073741824&e)?(zt=1,1073741824):(zt=8,e)}function Dt(e,t){var n=e.pendingLanes;if(0===n)return zt=0;var r=0,a=0,o=e.expiredLanes,i=e.suspendedLanes,s=e.pingedLanes;if(0!==o)r=o,a=zt=15;else if(0!==(o=134217727&n)){var l=o&~i;0!==l?(r=Ut(l),a=zt):0!==(s&=o)&&(r=Ut(s),a=zt)}else 0!==(o=n&~i)?(r=Ut(o),a=zt):0!==s&&(r=Ut(s),a=zt);if(0===r)return 0;if(r=n&((0>(r=31-Wt(r))?0:1<<r)<<1)-1,0!==t&&t!==r&&0==(t&i)){if(Ut(t),a<=zt)return t;zt=a}if(0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-Wt(t)),r|=e[n],t&=~a;return r}function Mt(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function Ft(e,t){switch(e){case 15:return 1;case 14:return 2;case 12:return 0===(e=Bt(24&~t))?Ft(10,t):e;case 10:return 0===(e=Bt(192&~t))?Ft(8,t):e;case 8:return 0===(e=Bt(3584&~t))&&(0===(e=Bt(4186112&~t))&&(e=512)),e;case 2:return 0===(t=Bt(805306368&~t))&&(t=268435456),t}throw Error(i(358,e))}function Bt(e){return e&-e}function $t(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function jt(e,t,n){e.pendingLanes|=t;var r=t-1;e.suspendedLanes&=r,e.pingedLanes&=r,(e=e.eventTimes)[t=31-Wt(t)]=n}var Wt=Math.clz32?Math.clz32:function(e){return 0===e?32:31-(Ht(e)/Zt|0)|0},Ht=Math.log,Zt=Math.LN2;var Qt=o.unstable_UserBlockingPriority,Vt=o.unstable_runWithPriority,qt=!0;function Gt(e,t,n,r){Ue||Re();var a=Kt,o=Ue;Ue=!0;try{Oe(a,e,t,n,r)}finally{(Ue=o)||Me()}}function Yt(e,t,n,r){Vt(Qt,Kt.bind(null,e,t,n,r))}function Kt(e,t,n,r){var a;if(qt)if((a=0==(4&t))&&0<ot.length&&-1<ft.indexOf(e))e=pt(null,e,t,n,r),ot.push(e);else{var o=Xt(e,t,n,r);if(null===o)a&&ht(e,r);else{if(a){if(-1<ft.indexOf(e))return e=pt(o,e,t,n,r),void ot.push(e);if(function(e,t,n,r,a){switch(t){case"focusin":return it=mt(it,e,t,n,r,a),!0;case"dragenter":return st=mt(st,e,t,n,r,a),!0;case"mouseover":return lt=mt(lt,e,t,n,r,a),!0;case"pointerover":var o=a.pointerId;return ut.set(o,mt(ut.get(o)||null,e,t,n,r,a)),!0;case"gotpointercapture":return o=a.pointerId,ct.set(o,mt(ct.get(o)||null,e,t,n,r,a)),!0}return!1}(o,e,t,n,r))return;ht(e,r)}Rr(e,t,r,null,n)}}}function Xt(e,t,n,r){var a=Ce(r);if(null!==(a=ta(a))){var o=Ge(a);if(null===o)a=null;else{var i=o.tag;if(13===i){if(null!==(a=Ye(o)))return a;a=null}else if(3===i){if(o.stateNode.hydrate)return 3===o.tag?o.stateNode.containerInfo:null;a=null}else o!==a&&(a=null)}}return Rr(e,t,r,a,n),null}var Jt=null,en=null,tn=null;function nn(){if(tn)return tn;var e,t,n=en,r=n.length,a="value"in Jt?Jt.value:Jt.textContent,o=a.length;for(e=0;e<r&&n[e]===a[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===a[o-t];t++);return tn=a.slice(e,1<t?1-t:void 0)}function rn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function an(){return!0}function on(){return!1}function sn(e){function t(t,n,r,a,o){for(var i in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(i)&&(t=e[i],this[i]=t?t(a):a[i]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?an:on,this.isPropagationStopped=on,this}return a(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=an)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=an)},persist:function(){},isPersistent:an}),t}var ln,un,cn,dn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},fn=sn(dn),pn=a({},dn,{view:0,detail:0}),hn=sn(pn),mn=a({},pn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Tn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==cn&&(cn&&"mousemove"===e.type?(ln=e.screenX-cn.screenX,un=e.screenY-cn.screenY):un=ln=0,cn=e),ln)},movementY:function(e){return"movementY"in e?e.movementY:un}}),gn=sn(mn),bn=sn(a({},mn,{dataTransfer:0})),vn=sn(a({},pn,{relatedTarget:0})),yn=sn(a({},dn,{animationName:0,elapsedTime:0,pseudoElement:0})),wn=a({},dn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),kn=sn(wn),En=sn(a({},dn,{data:0})),Sn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},xn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Cn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function _n(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Cn[e])&&!!t[e]}function Tn(){return _n}var Nn=a({},pn,{key:function(e){if(e.key){var t=Sn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=rn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?xn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Tn,charCode:function(e){return"keypress"===e.type?rn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?rn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),In=sn(Nn),Ln=sn(a({},mn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),An=sn(a({},pn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Tn})),Pn=sn(a({},dn,{propertyName:0,elapsedTime:0,pseudoElement:0})),On=a({},mn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),Rn=sn(On),zn=[9,13,27,32],Un=d&&"CompositionEvent"in window,Dn=null;d&&"documentMode"in document&&(Dn=document.documentMode);var Mn=d&&"TextEvent"in window&&!Dn,Fn=d&&(!Un||Dn&&8<Dn&&11>=Dn),Bn=String.fromCharCode(32),$n=!1;function jn(e,t){switch(e){case"keyup":return-1!==zn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Wn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Hn=!1;var Zn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Qn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Zn[e.type]:"textarea"===t}function Vn(e,t,n,r){Le(r),0<(t=Ur(t,"onChange")).length&&(n=new fn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var qn=null,Gn=null;function Yn(e){Nr(e,0)}function Kn(e){if(K(ra(e)))return e}function Xn(e,t){if("change"===e)return t}var Jn=!1;if(d){var er;if(d){var tr="oninput"in document;if(!tr){var nr=document.createElement("div");nr.setAttribute("oninput","return;"),tr="function"==typeof nr.oninput}er=tr}else er=!1;Jn=er&&(!document.documentMode||9<document.documentMode)}function rr(){qn&&(qn.detachEvent("onpropertychange",ar),Gn=qn=null)}function ar(e){if("value"===e.propertyName&&Kn(Gn)){var t=[];if(Vn(t,Gn,e,Ce(e)),e=Yn,Ue)e(t);else{Ue=!0;try{Pe(e,t)}finally{Ue=!1,Me()}}}}function or(e,t,n){"focusin"===e?(rr(),Gn=n,(qn=t).attachEvent("onpropertychange",ar)):"focusout"===e&&rr()}function ir(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Kn(Gn)}function sr(e,t){if("click"===e)return Kn(t)}function lr(e,t){if("input"===e||"change"===e)return Kn(t)}var ur="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},cr=Object.prototype.hasOwnProperty;function dr(e,t){if(ur(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++)if(!cr.call(t,n[r])||!ur(e[n[r]],t[n[r]]))return!1;return!0}function fr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function pr(e,t){var n,r=fr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=fr(r)}}function hr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?hr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function mr(){for(var e=window,t=X();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=X((e=t.contentWindow).document)}return t}function gr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var br=d&&"documentMode"in document&&11>=document.documentMode,vr=null,yr=null,wr=null,kr=!1;function Er(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;kr||null==vr||vr!==X(r)||("selectionStart"in(r=vr)&&gr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},wr&&dr(wr,r)||(wr=r,0<(r=Ur(yr,"onSelect")).length&&(t=new fn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=vr)))}Rt("cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split(" "),0),Rt("drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split(" "),1),Rt(Ot,2);for(var Sr="change selectionchange textInput compositionstart compositionend compositionupdate".split(" "),xr=0;xr<Sr.length;xr++)Pt.set(Sr[xr],0);c("onMouseEnter",["mouseout","mouseover"]),c("onMouseLeave",["mouseout","mouseover"]),c("onPointerEnter",["pointerout","pointerover"]),c("onPointerLeave",["pointerout","pointerover"]),u("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),u("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),u("onBeforeInput",["compositionend","keypress","textInput","paste"]),u("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),u("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),u("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Cr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),_r=new Set("cancel close invalid load scroll toggle".split(" ").concat(Cr));function Tr(e,t,n){var r=e.type||"unknown-event";e.currentTarget=n,function(e,t,n,r,a,o,s,l,u){if(qe.apply(this,arguments),We){if(!We)throw Error(i(198));var c=He;We=!1,He=null,Ze||(Ze=!0,Qe=c)}}(r,t,void 0,e),e.currentTarget=null}function Nr(e,t){t=0!=(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var o=void 0;if(t)for(var i=r.length-1;0<=i;i--){var s=r[i],l=s.instance,u=s.currentTarget;if(s=s.listener,l!==o&&a.isPropagationStopped())break e;Tr(a,s,u),o=l}else for(i=0;i<r.length;i++){if(l=(s=r[i]).instance,u=s.currentTarget,s=s.listener,l!==o&&a.isPropagationStopped())break e;Tr(a,s,u),o=l}}}if(Ze)throw e=Qe,Ze=!1,Qe=null,e}function Ir(e,t){var n=oa(t),r=e+"__bubble";n.has(r)||(Or(t,e,2,!1),n.add(r))}var Lr="_reactListening"+Math.random().toString(36).slice(2);function Ar(e){e[Lr]||(e[Lr]=!0,s.forEach((function(t){_r.has(t)||Pr(t,!1,e,null),Pr(t,!0,e,null)})))}function Pr(e,t,n,r){var a=4<arguments.length&&void 0!==arguments[4]?arguments[4]:0,o=n;if("selectionchange"===e&&9!==n.nodeType&&(o=n.ownerDocument),null!==r&&!t&&_r.has(e)){if("scroll"!==e)return;a|=2,o=r}var i=oa(o),s=e+"__"+(t?"capture":"bubble");i.has(s)||(t&&(a|=4),Or(o,e,a,t),i.add(s))}function Or(e,t,n,r){var a=Pt.get(t);switch(void 0===a?2:a){case 0:a=Gt;break;case 1:a=Yt;break;default:a=Kt}n=a.bind(null,t,n,e),a=void 0,!Be||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function Rr(e,t,n,r,a){var o=r;if(0==(1&t)&&0==(2&t)&&null!==r)e:for(;;){if(null===r)return;var i=r.tag;if(3===i||4===i){var s=r.stateNode.containerInfo;if(s===a||8===s.nodeType&&s.parentNode===a)break;if(4===i)for(i=r.return;null!==i;){var l=i.tag;if((3===l||4===l)&&((l=i.stateNode.containerInfo)===a||8===l.nodeType&&l.parentNode===a))return;i=i.return}for(;null!==s;){if(null===(i=ta(s)))return;if(5===(l=i.tag)||6===l){r=o=i;continue e}s=s.parentNode}}r=r.return}!function(e,t,n){if(De)return e(t,n);De=!0;try{return ze(e,t,n)}finally{De=!1,Me()}}((function(){var r=o,a=Ce(n),i=[];e:{var s=At.get(e);if(void 0!==s){var l=fn,u=e;switch(e){case"keypress":if(0===rn(n))break e;case"keydown":case"keyup":l=In;break;case"focusin":u="focus",l=vn;break;case"focusout":u="blur",l=vn;break;case"beforeblur":case"afterblur":l=vn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":l=gn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":l=bn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":l=An;break;case Tt:case Nt:case It:l=yn;break;case Lt:l=Pn;break;case"scroll":l=hn;break;case"wheel":l=Rn;break;case"copy":case"cut":case"paste":l=kn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":l=Ln}var c=0!=(4&t),d=!c&&"scroll"===e,f=c?null!==s?s+"Capture":null:s;c=[];for(var p,h=r;null!==h;){var m=(p=h).stateNode;if(5===p.tag&&null!==m&&(p=m,null!==f&&(null!=(m=Fe(h,f))&&c.push(zr(h,m,p)))),d)break;h=h.return}0<c.length&&(s=new l(s,u,null,n,a),i.push({event:s,listeners:c}))}}if(0==(7&t)){if(l="mouseout"===e||"pointerout"===e,(!(s="mouseover"===e||"pointerover"===e)||0!=(16&t)||!(u=n.relatedTarget||n.fromElement)||!ta(u)&&!u[Jr])&&(l||s)&&(s=a.window===a?a:(s=a.ownerDocument)?s.defaultView||s.parentWindow:window,l?(l=r,null!==(u=(u=n.relatedTarget||n.toElement)?ta(u):null)&&(u!==(d=Ge(u))||5!==u.tag&&6!==u.tag)&&(u=null)):(l=null,u=r),l!==u)){if(c=gn,m="onMouseLeave",f="onMouseEnter",h="mouse","pointerout"!==e&&"pointerover"!==e||(c=Ln,m="onPointerLeave",f="onPointerEnter",h="pointer"),d=null==l?s:ra(l),p=null==u?s:ra(u),(s=new c(m,h+"leave",l,n,a)).target=d,s.relatedTarget=p,m=null,ta(a)===r&&((c=new c(f,h+"enter",u,n,a)).target=p,c.relatedTarget=d,m=c),d=m,l&&u)e:{for(f=u,h=0,p=c=l;p;p=Dr(p))h++;for(p=0,m=f;m;m=Dr(m))p++;for(;0<h-p;)c=Dr(c),h--;for(;0<p-h;)f=Dr(f),p--;for(;h--;){if(c===f||null!==f&&c===f.alternate)break e;c=Dr(c),f=Dr(f)}c=null}else c=null;null!==l&&Mr(i,s,l,c,!1),null!==u&&null!==d&&Mr(i,d,u,c,!0)}if("select"===(l=(s=r?ra(r):window).nodeName&&s.nodeName.toLowerCase())||"input"===l&&"file"===s.type)var g=Xn;else if(Qn(s))if(Jn)g=lr;else{g=ir;var b=or}else(l=s.nodeName)&&"input"===l.toLowerCase()&&("checkbox"===s.type||"radio"===s.type)&&(g=sr);switch(g&&(g=g(e,r))?Vn(i,g,n,a):(b&&b(e,s,r),"focusout"===e&&(b=s._wrapperState)&&b.controlled&&"number"===s.type&&ae(s,"number",s.value)),b=r?ra(r):window,e){case"focusin":(Qn(b)||"true"===b.contentEditable)&&(vr=b,yr=r,wr=null);break;case"focusout":wr=yr=vr=null;break;case"mousedown":kr=!0;break;case"contextmenu":case"mouseup":case"dragend":kr=!1,Er(i,n,a);break;case"selectionchange":if(br)break;case"keydown":case"keyup":Er(i,n,a)}var v;if(Un)e:{switch(e){case"compositionstart":var y="onCompositionStart";break e;case"compositionend":y="onCompositionEnd";break e;case"compositionupdate":y="onCompositionUpdate";break e}y=void 0}else Hn?jn(e,n)&&(y="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(y="onCompositionStart");y&&(Fn&&"ko"!==n.locale&&(Hn||"onCompositionStart"!==y?"onCompositionEnd"===y&&Hn&&(v=nn()):(en="value"in(Jt=a)?Jt.value:Jt.textContent,Hn=!0)),0<(b=Ur(r,y)).length&&(y=new En(y,e,null,n,a),i.push({event:y,listeners:b}),v?y.data=v:null!==(v=Wn(n))&&(y.data=v))),(v=Mn?function(e,t){switch(e){case"compositionend":return Wn(t);case"keypress":return 32!==t.which?null:($n=!0,Bn);case"textInput":return(e=t.data)===Bn&&$n?null:e;default:return null}}(e,n):function(e,t){if(Hn)return"compositionend"===e||!Un&&jn(e,t)?(e=nn(),tn=en=Jt=null,Hn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Fn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Ur(r,"onBeforeInput")).length&&(a=new En("onBeforeInput","beforeinput",null,n,a),i.push({event:a,listeners:r}),a.data=v))}Nr(i,t)}))}function zr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ur(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,o=a.stateNode;5===a.tag&&null!==o&&(a=o,null!=(o=Fe(e,n))&&r.unshift(zr(e,o,a)),null!=(o=Fe(e,t))&&r.push(zr(e,o,a))),e=e.return}return r}function Dr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Mr(e,t,n,r,a){for(var o=t._reactName,i=[];null!==n&&n!==r;){var s=n,l=s.alternate,u=s.stateNode;if(null!==l&&l===r)break;5===s.tag&&null!==u&&(s=u,a?null!=(l=Fe(n,o))&&i.unshift(zr(n,l,s)):a||null!=(l=Fe(n,o))&&i.push(zr(n,l,s))),n=n.return}0!==i.length&&e.push({event:t,listeners:i})}function Fr(){}var Br=null,$r=null;function jr(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function Wr(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var Hr="function"==typeof setTimeout?setTimeout:void 0,Zr="function"==typeof clearTimeout?clearTimeout:void 0;function Qr(e){1===e.nodeType?e.textContent="":9===e.nodeType&&(null!=(e=e.body)&&(e.textContent=""))}function Vr(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function qr(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var Gr=0;var Yr=Math.random().toString(36).slice(2),Kr="__reactFiber$"+Yr,Xr="__reactProps$"+Yr,Jr="__reactContainer$"+Yr,ea="__reactEvents$"+Yr;function ta(e){var t=e[Kr];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Jr]||n[Kr]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=qr(e);null!==e;){if(n=e[Kr])return n;e=qr(e)}return t}n=(e=n).parentNode}return null}function na(e){return!(e=e[Kr]||e[Jr])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function ra(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(i(33))}function aa(e){return e[Xr]||null}function oa(e){var t=e[ea];return void 0===t&&(t=e[ea]=new Set),t}var ia=[],sa=-1;function la(e){return{current:e}}function ua(e){0>sa||(e.current=ia[sa],ia[sa]=null,sa--)}function ca(e,t){sa++,ia[sa]=e.current,e.current=t}var da={},fa=la(da),pa=la(!1),ha=da;function ma(e,t){var n=e.type.contextTypes;if(!n)return da;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,o={};for(a in n)o[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function ga(e){return null!=(e=e.childContextTypes)}function ba(){ua(pa),ua(fa)}function va(e,t,n){if(fa.current!==da)throw Error(i(168));ca(fa,t),ca(pa,n)}function ya(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var o in r=r.getChildContext())if(!(o in e))throw Error(i(108,V(t)||"Unknown",o));return a({},n,r)}function wa(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||da,ha=fa.current,ca(fa,e),ca(pa,pa.current),!0}function ka(e,t,n){var r=e.stateNode;if(!r)throw Error(i(169));n?(e=ya(e,t,ha),r.__reactInternalMemoizedMergedChildContext=e,ua(pa),ua(fa),ca(fa,e)):ua(pa),ca(pa,n)}var Ea=null,Sa=null,xa=o.unstable_runWithPriority,Ca=o.unstable_scheduleCallback,_a=o.unstable_cancelCallback,Ta=o.unstable_shouldYield,Na=o.unstable_requestPaint,Ia=o.unstable_now,La=o.unstable_getCurrentPriorityLevel,Aa=o.unstable_ImmediatePriority,Pa=o.unstable_UserBlockingPriority,Oa=o.unstable_NormalPriority,Ra=o.unstable_LowPriority,za=o.unstable_IdlePriority,Ua={},Da=void 0!==Na?Na:function(){},Ma=null,Fa=null,Ba=!1,$a=Ia(),ja=1e4>$a?Ia:function(){return Ia()-$a};function Wa(){switch(La()){case Aa:return 99;case Pa:return 98;case Oa:return 97;case Ra:return 96;case za:return 95;default:throw Error(i(332))}}function Ha(e){switch(e){case 99:return Aa;case 98:return Pa;case 97:return Oa;case 96:return Ra;case 95:return za;default:throw Error(i(332))}}function Za(e,t){return e=Ha(e),xa(e,t)}function Qa(e,t,n){return e=Ha(e),Ca(e,t,n)}function Va(){if(null!==Fa){var e=Fa;Fa=null,_a(e)}qa()}function qa(){if(!Ba&&null!==Ma){Ba=!0;var e=0;try{var t=Ma;Za(99,(function(){for(;e<t.length;e++){var n=t[e];do{n=n(!0)}while(null!==n)}})),Ma=null}catch(n){throw null!==Ma&&(Ma=Ma.slice(e+1)),Ca(Aa,Va),n}finally{Ba=!1}}}var Ga=k.ReactCurrentBatchConfig;function Ya(e,t){if(e&&e.defaultProps){for(var n in t=a({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}var Ka=la(null),Xa=null,Ja=null,eo=null;function to(){eo=Ja=Xa=null}function no(e){var t=Ka.current;ua(Ka),e.type._context._currentValue=t}function ro(e,t){for(;null!==e;){var n=e.alternate;if((e.childLanes&t)===t){if(null===n||(n.childLanes&t)===t)break;n.childLanes|=t}else e.childLanes|=t,null!==n&&(n.childLanes|=t);e=e.return}}function ao(e,t){Xa=e,eo=Ja=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!=(e.lanes&t)&&(Ui=!0),e.firstContext=null)}function oo(e,t){if(eo!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(eo=e,t=1073741823),t={context:e,observedBits:t,next:null},null===Ja){if(null===Xa)throw Error(i(308));Ja=t,Xa.dependencies={lanes:0,firstContext:t,responders:null}}else Ja=Ja.next=t;return e._currentValue}var io=!1;function so(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null},effects:null}}function lo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function uo(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function co(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function fo(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var i={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===o?a=o=i:o=o.next=i,n=n.next}while(null!==n);null===o?a=o=t:o=o.next=t}else a=o=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function po(e,t,n,r){var o=e.updateQueue;io=!1;var i=o.firstBaseUpdate,s=o.lastBaseUpdate,l=o.shared.pending;if(null!==l){o.shared.pending=null;var u=l,c=u.next;u.next=null,null===s?i=c:s.next=c,s=u;var d=e.alternate;if(null!==d){var f=(d=d.updateQueue).lastBaseUpdate;f!==s&&(null===f?d.firstBaseUpdate=c:f.next=c,d.lastBaseUpdate=u)}}if(null!==i){for(f=o.baseState,s=0,d=c=u=null;;){l=i.lane;var p=i.eventTime;if((r&l)===l){null!==d&&(d=d.next={eventTime:p,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var h=e,m=i;switch(l=t,p=n,m.tag){case 1:if("function"==typeof(h=m.payload)){f=h.call(p,f,l);break e}f=h;break e;case 3:h.flags=-4097&h.flags|64;case 0:if(null==(l="function"==typeof(h=m.payload)?h.call(p,f,l):h))break e;f=a({},f,l);break e;case 2:io=!0}}null!==i.callback&&(e.flags|=32,null===(l=o.effects)?o.effects=[i]:l.push(i))}else p={eventTime:p,lane:l,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===d?(c=d=p,u=f):d=d.next=p,s|=l;if(null===(i=i.next)){if(null===(l=o.shared.pending))break;i=l.next,l.next=null,o.lastBaseUpdate=l,o.shared.pending=null}}null===d&&(u=f),o.baseState=u,o.firstBaseUpdate=c,o.lastBaseUpdate=d,$s|=s,e.lanes=s,e.memoizedState=f}}function ho(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var r=e[t],a=r.callback;if(null!==a){if(r.callback=null,r=n,"function"!=typeof a)throw Error(i(191,a));a.call(r)}}}var mo=(new r.Component).refs;function go(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:a({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var bo={isMounted:function(e){return!!(e=e._reactInternals)&&Ge(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=fl(),a=pl(e),o=uo(r,a);o.payload=t,null!=n&&(o.callback=n),co(e,o),hl(e,a,r)},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=fl(),a=pl(e),o=uo(r,a);o.tag=1,o.payload=t,null!=n&&(o.callback=n),co(e,o),hl(e,a,r)},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=fl(),r=pl(e),a=uo(n,r);a.tag=2,null!=t&&(a.callback=t),co(e,a),hl(e,r,n)}};function vo(e,t,n,r,a,o,i){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,o,i):!t.prototype||!t.prototype.isPureReactComponent||(!dr(n,r)||!dr(a,o))}function yo(e,t,n){var r=!1,a=da,o=t.contextType;return"object"==typeof o&&null!==o?o=oo(o):(a=ga(t)?ha:fa.current,o=(r=null!=(r=t.contextTypes))?ma(e,a):da),t=new t(n,o),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=bo,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=o),t}function wo(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&bo.enqueueReplaceState(t,t.state,null)}function ko(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs=mo,so(e);var o=t.contextType;"object"==typeof o&&null!==o?a.context=oo(o):(o=ga(t)?ha:fa.current,a.context=ma(e,o)),po(e,n,a,r),a.state=e.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&(go(e,t,o,n),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&bo.enqueueReplaceState(a,a.state,null),po(e,n,a,r),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4)}var Eo=Array.isArray;function So(e,t,n){if(null!==(e=n.ref)&&"function"!=typeof e&&"object"!=typeof e){if(n._owner){if(n=n._owner){if(1!==n.tag)throw Error(i(309));var r=n.stateNode}if(!r)throw Error(i(147,e));var a=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===a?t.ref:(t=function(e){var t=r.refs;t===mo&&(t=r.refs={}),null===e?delete t[a]:t[a]=e},t._stringRef=a,t)}if("string"!=typeof e)throw Error(i(284));if(!n._owner)throw Error(i(290,e))}return e}function xo(e,t){if("textarea"!==e.type)throw Error(i(31,"[object Object]"===Object.prototype.toString.call(t)?"object with keys {"+Object.keys(t).join(", ")+"}":t))}function Co(e){function t(t,n){if(e){var r=t.lastEffect;null!==r?(r.nextEffect=n,t.lastEffect=n):t.firstEffect=t.lastEffect=n,n.nextEffect=null,n.flags=8}}function n(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function r(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function a(e,t){return(e=Ql(e,t)).index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags=2,n):r:(t.flags=2,n):n}function s(t){return e&&null===t.alternate&&(t.flags=2),t}function l(e,t,n,r){return null===t||6!==t.tag?((t=Yl(n,e.mode,r)).return=e,t):((t=a(t,n)).return=e,t)}function u(e,t,n,r){return null!==t&&t.elementType===n.type?((r=a(t,n.props)).ref=So(e,t,n),r.return=e,r):((r=Vl(n.type,n.key,n.props,null,e.mode,r)).ref=So(e,t,n),r.return=e,r)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Kl(n,e.mode,r)).return=e,t):((t=a(t,n.children||[])).return=e,t)}function d(e,t,n,r,o){return null===t||7!==t.tag?((t=ql(n,e.mode,r,o)).return=e,t):((t=a(t,n)).return=e,t)}function f(e,t,n){if("string"==typeof t||"number"==typeof t)return(t=Yl(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case E:return(n=Vl(t.type,t.key,t.props,null,e.mode,n)).ref=So(e,null,t),n.return=e,n;case S:return(t=Kl(t,e.mode,n)).return=e,t}if(Eo(t)||j(t))return(t=ql(t,e.mode,n,null)).return=e,t;xo(e,t)}return null}function p(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n||"number"==typeof n)return null!==a?null:l(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case E:return n.key===a?n.type===x?d(e,t,n.props.children,r,a):u(e,t,n,r):null;case S:return n.key===a?c(e,t,n,r):null}if(Eo(n)||j(n))return null!==a?null:d(e,t,n,r,null);xo(e,n)}return null}function h(e,t,n,r,a){if("string"==typeof r||"number"==typeof r)return l(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case E:return e=e.get(null===r.key?n:r.key)||null,r.type===x?d(t,e,r.props.children,a,r.key):u(t,e,r,a);case S:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a)}if(Eo(r)||j(r))return d(t,e=e.get(n)||null,r,a,null);xo(t,r)}return null}function m(a,i,s,l){for(var u=null,c=null,d=i,m=i=0,g=null;null!==d&&m<s.length;m++){d.index>m?(g=d,d=null):g=d.sibling;var b=p(a,d,s[m],l);if(null===b){null===d&&(d=g);break}e&&d&&null===b.alternate&&t(a,d),i=o(b,i,m),null===c?u=b:c.sibling=b,c=b,d=g}if(m===s.length)return n(a,d),u;if(null===d){for(;m<s.length;m++)null!==(d=f(a,s[m],l))&&(i=o(d,i,m),null===c?u=d:c.sibling=d,c=d);return u}for(d=r(a,d);m<s.length;m++)null!==(g=h(d,a,m,s[m],l))&&(e&&null!==g.alternate&&d.delete(null===g.key?m:g.key),i=o(g,i,m),null===c?u=g:c.sibling=g,c=g);return e&&d.forEach((function(e){return t(a,e)})),u}function g(a,s,l,u){var c=j(l);if("function"!=typeof c)throw Error(i(150));if(null==(l=c.call(l)))throw Error(i(151));for(var d=c=null,m=s,g=s=0,b=null,v=l.next();null!==m&&!v.done;g++,v=l.next()){m.index>g?(b=m,m=null):b=m.sibling;var y=p(a,m,v.value,u);if(null===y){null===m&&(m=b);break}e&&m&&null===y.alternate&&t(a,m),s=o(y,s,g),null===d?c=y:d.sibling=y,d=y,m=b}if(v.done)return n(a,m),c;if(null===m){for(;!v.done;g++,v=l.next())null!==(v=f(a,v.value,u))&&(s=o(v,s,g),null===d?c=v:d.sibling=v,d=v);return c}for(m=r(a,m);!v.done;g++,v=l.next())null!==(v=h(m,a,g,v.value,u))&&(e&&null!==v.alternate&&m.delete(null===v.key?g:v.key),s=o(v,s,g),null===d?c=v:d.sibling=v,d=v);return e&&m.forEach((function(e){return t(a,e)})),c}return function(e,r,o,l){var u="object"==typeof o&&null!==o&&o.type===x&&null===o.key;u&&(o=o.props.children);var c="object"==typeof o&&null!==o;if(c)switch(o.$$typeof){case E:e:{for(c=o.key,u=r;null!==u;){if(u.key===c){if(7===u.tag){if(o.type===x){n(e,u.sibling),(r=a(u,o.props.children)).return=e,e=r;break e}}else if(u.elementType===o.type){n(e,u.sibling),(r=a(u,o.props)).ref=So(e,u,o),r.return=e,e=r;break e}n(e,u);break}t(e,u),u=u.sibling}o.type===x?((r=ql(o.props.children,e.mode,l,o.key)).return=e,e=r):((l=Vl(o.type,o.key,o.props,null,e.mode,l)).ref=So(e,r,o),l.return=e,e=l)}return s(e);case S:e:{for(u=o.key;null!==r;){if(r.key===u){if(4===r.tag&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),(r=a(r,o.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Kl(o,e.mode,l)).return=e,e=r}return s(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==r&&6===r.tag?(n(e,r.sibling),(r=a(r,o)).return=e,e=r):(n(e,r),(r=Yl(o,e.mode,l)).return=e,e=r),s(e);if(Eo(o))return m(e,r,o,l);if(j(o))return g(e,r,o,l);if(c&&xo(e,o),void 0===o&&!u)switch(e.tag){case 1:case 22:case 0:case 11:case 15:throw Error(i(152,V(e.type)||"Component"))}return n(e,r)}}var _o=Co(!0),To=Co(!1),No={},Io=la(No),Lo=la(No),Ao=la(No);function Po(e){if(e===No)throw Error(i(174));return e}function Oo(e,t){switch(ca(Ao,t),ca(Lo,e),ca(Io,No),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:pe(null,"");break;default:t=pe(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}ua(Io),ca(Io,t)}function Ro(){ua(Io),ua(Lo),ua(Ao)}function zo(e){Po(Ao.current);var t=Po(Io.current),n=pe(t,e.type);t!==n&&(ca(Lo,e),ca(Io,n))}function Uo(e){Lo.current===e&&(ua(Io),ua(Lo))}var Do=la(0);function Mo(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Fo=null,Bo=null,$o=!1;function jo(e,t){var n=Hl(5,null,null,0);n.elementType="DELETED",n.type="DELETED",n.stateNode=t,n.return=e,n.flags=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function Wo(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,!0);default:return!1}}function Ho(e){if($o){var t=Bo;if(t){var n=t;if(!Wo(e,t)){if(!(t=Vr(n.nextSibling))||!Wo(e,t))return e.flags=-1025&e.flags|2,$o=!1,void(Fo=e);jo(Fo,n)}Fo=e,Bo=Vr(t.firstChild)}else e.flags=-1025&e.flags|2,$o=!1,Fo=e}}function Zo(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;Fo=e}function Qo(e){if(e!==Fo)return!1;if(!$o)return Zo(e),$o=!0,!1;var t=e.type;if(5!==e.tag||"head"!==t&&"body"!==t&&!Wr(t,e.memoizedProps))for(t=Bo;t;)jo(e,t),t=Vr(t.nextSibling);if(Zo(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(i(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n){if(0===t){Bo=Vr(e.nextSibling);break e}t--}else"$"!==n&&"$!"!==n&&"$?"!==n||t++}e=e.nextSibling}Bo=null}}else Bo=Fo?Vr(e.stateNode.nextSibling):null;return!0}function Vo(){Bo=Fo=null,$o=!1}var qo=[];function Go(){for(var e=0;e<qo.length;e++)qo[e]._workInProgressVersionPrimary=null;qo.length=0}var Yo=k.ReactCurrentDispatcher,Ko=k.ReactCurrentBatchConfig,Xo=0,Jo=null,ei=null,ti=null,ni=!1,ri=!1;function ai(){throw Error(i(321))}function oi(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!ur(e[n],t[n]))return!1;return!0}function ii(e,t,n,r,a,o){if(Xo=o,Jo=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Yo.current=null===e||null===e.memoizedState?Pi:Oi,e=n(r,a),ri){o=0;do{if(ri=!1,!(25>o))throw Error(i(301));o+=1,ti=ei=null,t.updateQueue=null,Yo.current=Ri,e=n(r,a)}while(ri)}if(Yo.current=Ai,t=null!==ei&&null!==ei.next,Xo=0,ti=ei=Jo=null,ni=!1,t)throw Error(i(300));return e}function si(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===ti?Jo.memoizedState=ti=e:ti=ti.next=e,ti}function li(){if(null===ei){var e=Jo.alternate;e=null!==e?e.memoizedState:null}else e=ei.next;var t=null===ti?Jo.memoizedState:ti.next;if(null!==t)ti=t,ei=e;else{if(null===e)throw Error(i(310));e={memoizedState:(ei=e).memoizedState,baseState:ei.baseState,baseQueue:ei.baseQueue,queue:ei.queue,next:null},null===ti?Jo.memoizedState=ti=e:ti=ti.next=e}return ti}function ui(e,t){return"function"==typeof t?t(e):t}function ci(e){var t=li(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=ei,a=r.baseQueue,o=n.pending;if(null!==o){if(null!==a){var s=a.next;a.next=o.next,o.next=s}r.baseQueue=a=o,n.pending=null}if(null!==a){a=a.next,r=r.baseState;var l=s=o=null,u=a;do{var c=u.lane;if((Xo&c)===c)null!==l&&(l=l.next={lane:0,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null}),r=u.eagerReducer===e?u.eagerState:e(r,u.action);else{var d={lane:c,action:u.action,eagerReducer:u.eagerReducer,eagerState:u.eagerState,next:null};null===l?(s=l=d,o=r):l=l.next=d,Jo.lanes|=c,$s|=c}u=u.next}while(null!==u&&u!==a);null===l?o=r:l.next=s,ur(r,t.memoizedState)||(Ui=!0),t.memoizedState=r,t.baseState=o,t.baseQueue=l,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function di(e){var t=li(),n=t.queue;if(null===n)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(null!==a){n.pending=null;var s=a=a.next;do{o=e(o,s.action),s=s.next}while(s!==a);ur(o,t.memoizedState)||(Ui=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function fi(e,t,n){var r=t._getVersion;r=r(t._source);var a=t._workInProgressVersionPrimary;if(null!==a?e=a===r:(e=e.mutableReadLanes,(e=(Xo&e)===e)&&(t._workInProgressVersionPrimary=r,qo.push(t))),e)return n(t._source);throw qo.push(t),Error(i(350))}function pi(e,t,n,r){var a=Os;if(null===a)throw Error(i(349));var o=t._getVersion,s=o(t._source),l=Yo.current,u=l.useState((function(){return fi(a,t,n)})),c=u[1],d=u[0];u=ti;var f=e.memoizedState,p=f.refs,h=p.getSnapshot,m=f.source;f=f.subscribe;var g=Jo;return e.memoizedState={refs:p,source:t,subscribe:r},l.useEffect((function(){p.getSnapshot=n,p.setSnapshot=c;var e=o(t._source);if(!ur(s,e)){e=n(t._source),ur(d,e)||(c(e),e=pl(g),a.mutableReadLanes|=e&a.pendingLanes),e=a.mutableReadLanes,a.entangledLanes|=e;for(var r=a.entanglements,i=e;0<i;){var l=31-Wt(i),u=1<<l;r[l]|=e,i&=~u}}}),[n,t,r]),l.useEffect((function(){return r(t._source,(function(){var e=p.getSnapshot,n=p.setSnapshot;try{n(e(t._source));var r=pl(g);a.mutableReadLanes|=r&a.pendingLanes}catch(o){n((function(){throw o}))}}))}),[t,r]),ur(h,n)&&ur(m,t)&&ur(f,r)||((e={pending:null,dispatch:null,lastRenderedReducer:ui,lastRenderedState:d}).dispatch=c=Li.bind(null,Jo,e),u.queue=e,u.baseQueue=null,d=fi(a,t,n),u.memoizedState=u.baseState=d),d}function hi(e,t,n){return pi(li(),e,t,n)}function mi(e){var t=si();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:ui,lastRenderedState:e}).dispatch=Li.bind(null,Jo,e),[t.memoizedState,e]}function gi(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=Jo.updateQueue)?(t={lastEffect:null},Jo.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function bi(e){return e={current:e},si().memoizedState=e}function vi(){return li().memoizedState}function yi(e,t,n,r){var a=si();Jo.flags|=e,a.memoizedState=gi(1|t,n,void 0,void 0===r?null:r)}function wi(e,t,n,r){var a=li();r=void 0===r?null:r;var o=void 0;if(null!==ei){var i=ei.memoizedState;if(o=i.destroy,null!==r&&oi(r,i.deps))return void gi(t,n,o,r)}Jo.flags|=e,a.memoizedState=gi(1|t,n,o,r)}function ki(e,t){return yi(516,4,e,t)}function Ei(e,t){return wi(516,4,e,t)}function Si(e,t){return wi(4,2,e,t)}function xi(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Ci(e,t,n){return n=null!=n?n.concat([e]):null,wi(4,2,xi.bind(null,t,e),n)}function _i(){}function Ti(e,t){var n=li();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&oi(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ni(e,t){var n=li();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&oi(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Ii(e,t){var n=Wa();Za(98>n?98:n,(function(){e(!0)})),Za(97<n?97:n,(function(){var n=Ko.transition;Ko.transition=1;try{e(!1),t()}finally{Ko.transition=n}}))}function Li(e,t,n){var r=fl(),a=pl(e),o={lane:a,action:n,eagerReducer:null,eagerState:null,next:null},i=t.pending;if(null===i?o.next=o:(o.next=i.next,i.next=o),t.pending=o,i=e.alternate,e===Jo||null!==i&&i===Jo)ri=ni=!0;else{if(0===e.lanes&&(null===i||0===i.lanes)&&null!==(i=t.lastRenderedReducer))try{var s=t.lastRenderedState,l=i(s,n);if(o.eagerReducer=i,o.eagerState=l,ur(l,s))return}catch(u){}hl(e,a,r)}}var Ai={readContext:oo,useCallback:ai,useContext:ai,useEffect:ai,useImperativeHandle:ai,useLayoutEffect:ai,useMemo:ai,useReducer:ai,useRef:ai,useState:ai,useDebugValue:ai,useDeferredValue:ai,useTransition:ai,useMutableSource:ai,useOpaqueIdentifier:ai,unstable_isNewReconciler:!1},Pi={readContext:oo,useCallback:function(e,t){return si().memoizedState=[e,void 0===t?null:t],e},useContext:oo,useEffect:ki,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,yi(4,2,xi.bind(null,t,e),n)},useLayoutEffect:function(e,t){return yi(4,2,e,t)},useMemo:function(e,t){var n=si();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=si();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e=(e=r.queue={pending:null,dispatch:null,lastRenderedReducer:e,lastRenderedState:t}).dispatch=Li.bind(null,Jo,e),[r.memoizedState,e]},useRef:bi,useState:mi,useDebugValue:_i,useDeferredValue:function(e){var t=mi(e),n=t[0],r=t[1];return ki((function(){var t=Ko.transition;Ko.transition=1;try{r(e)}finally{Ko.transition=t}}),[e]),n},useTransition:function(){var e=mi(!1),t=e[0];return bi(e=Ii.bind(null,e[1])),[e,t]},useMutableSource:function(e,t,n){var r=si();return r.memoizedState={refs:{getSnapshot:t,setSnapshot:null},source:e,subscribe:n},pi(r,e,t,n)},useOpaqueIdentifier:function(){if($o){var e=!1,t=function(e){return{$$typeof:z,toString:e,valueOf:e}}((function(){throw e||(e=!0,n("r:"+(Gr++).toString(36))),Error(i(355))})),n=mi(t)[1];return 0==(2&Jo.mode)&&(Jo.flags|=516,gi(5,(function(){n("r:"+(Gr++).toString(36))}),void 0,null)),t}return mi(t="r:"+(Gr++).toString(36)),t},unstable_isNewReconciler:!1},Oi={readContext:oo,useCallback:Ti,useContext:oo,useEffect:Ei,useImperativeHandle:Ci,useLayoutEffect:Si,useMemo:Ni,useReducer:ci,useRef:vi,useState:function(){return ci(ui)},useDebugValue:_i,useDeferredValue:function(e){var t=ci(ui),n=t[0],r=t[1];return Ei((function(){var t=Ko.transition;Ko.transition=1;try{r(e)}finally{Ko.transition=t}}),[e]),n},useTransition:function(){var e=ci(ui)[0];return[vi().current,e]},useMutableSource:hi,useOpaqueIdentifier:function(){return ci(ui)[0]},unstable_isNewReconciler:!1},Ri={readContext:oo,useCallback:Ti,useContext:oo,useEffect:Ei,useImperativeHandle:Ci,useLayoutEffect:Si,useMemo:Ni,useReducer:di,useRef:vi,useState:function(){return di(ui)},useDebugValue:_i,useDeferredValue:function(e){var t=di(ui),n=t[0],r=t[1];return Ei((function(){var t=Ko.transition;Ko.transition=1;try{r(e)}finally{Ko.transition=t}}),[e]),n},useTransition:function(){var e=di(ui)[0];return[vi().current,e]},useMutableSource:hi,useOpaqueIdentifier:function(){return di(ui)[0]},unstable_isNewReconciler:!1},zi=k.ReactCurrentOwner,Ui=!1;function Di(e,t,n,r){t.child=null===e?To(t,null,n,r):_o(t,e.child,n,r)}function Mi(e,t,n,r,a){n=n.render;var o=t.ref;return ao(t,a),r=ii(e,t,n,r,o,a),null===e||Ui?(t.flags|=1,Di(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~a,os(e,t,a))}function Fi(e,t,n,r,a,o){if(null===e){var i=n.type;return"function"!=typeof i||Zl(i)||void 0!==i.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Vl(n.type,null,r,t,t.mode,o)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=i,Bi(e,t,i,r,a,o))}return i=e.child,0==(a&o)&&(a=i.memoizedProps,(n=null!==(n=n.compare)?n:dr)(a,r)&&e.ref===t.ref)?os(e,t,o):(t.flags|=1,(e=Ql(i,r)).ref=t.ref,e.return=t,t.child=e)}function Bi(e,t,n,r,a,o){if(null!==e&&dr(e.memoizedProps,r)&&e.ref===t.ref){if(Ui=!1,0==(o&a))return t.lanes=e.lanes,os(e,t,o);0!=(16384&e.flags)&&(Ui=!0)}return Wi(e,t,n,r,o)}function $i(e,t,n){var r=t.pendingProps,a=r.children,o=null!==e?e.memoizedState:null;if("hidden"===r.mode||"unstable-defer-without-hiding"===r.mode)if(0==(4&t.mode))t.memoizedState={baseLanes:0},El(t,n);else{if(0==(1073741824&n))return e=null!==o?o.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e},El(t,e),null;t.memoizedState={baseLanes:0},El(t,null!==o?o.baseLanes:n)}else null!==o?(r=o.baseLanes|n,t.memoizedState=null):r=n,El(t,r);return Di(e,t,a,n),t.child}function ji(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=128)}function Wi(e,t,n,r,a){var o=ga(n)?ha:fa.current;return o=ma(t,o),ao(t,a),n=ii(e,t,n,r,o,a),null===e||Ui?(t.flags|=1,Di(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-517,e.lanes&=~a,os(e,t,a))}function Hi(e,t,n,r,a){if(ga(n)){var o=!0;wa(t)}else o=!1;if(ao(t,a),null===t.stateNode)null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),yo(t,n,r),ko(t,n,r,a),r=!0;else if(null===e){var i=t.stateNode,s=t.memoizedProps;i.props=s;var l=i.context,u=n.contextType;"object"==typeof u&&null!==u?u=oo(u):u=ma(t,u=ga(n)?ha:fa.current);var c=n.getDerivedStateFromProps,d="function"==typeof c||"function"==typeof i.getSnapshotBeforeUpdate;d||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==r||l!==u)&&wo(t,i,r,u),io=!1;var f=t.memoizedState;i.state=f,po(t,r,i,a),l=t.memoizedState,s!==r||f!==l||pa.current||io?("function"==typeof c&&(go(t,n,c,r),l=t.memoizedState),(s=io||vo(t,n,s,r,f,l,u))?(d||"function"!=typeof i.UNSAFE_componentWillMount&&"function"!=typeof i.componentWillMount||("function"==typeof i.componentWillMount&&i.componentWillMount(),"function"==typeof i.UNSAFE_componentWillMount&&i.UNSAFE_componentWillMount()),"function"==typeof i.componentDidMount&&(t.flags|=4)):("function"==typeof i.componentDidMount&&(t.flags|=4),t.memoizedProps=r,t.memoizedState=l),i.props=r,i.state=l,i.context=u,r=s):("function"==typeof i.componentDidMount&&(t.flags|=4),r=!1)}else{i=t.stateNode,lo(e,t),s=t.memoizedProps,u=t.type===t.elementType?s:Ya(t.type,s),i.props=u,d=t.pendingProps,f=i.context,"object"==typeof(l=n.contextType)&&null!==l?l=oo(l):l=ma(t,l=ga(n)?ha:fa.current);var p=n.getDerivedStateFromProps;(c="function"==typeof p||"function"==typeof i.getSnapshotBeforeUpdate)||"function"!=typeof i.UNSAFE_componentWillReceiveProps&&"function"!=typeof i.componentWillReceiveProps||(s!==d||f!==l)&&wo(t,i,r,l),io=!1,f=t.memoizedState,i.state=f,po(t,r,i,a);var h=t.memoizedState;s!==d||f!==h||pa.current||io?("function"==typeof p&&(go(t,n,p,r),h=t.memoizedState),(u=io||vo(t,n,u,r,f,h,l))?(c||"function"!=typeof i.UNSAFE_componentWillUpdate&&"function"!=typeof i.componentWillUpdate||("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(r,h,l),"function"==typeof i.UNSAFE_componentWillUpdate&&i.UNSAFE_componentWillUpdate(r,h,l)),"function"==typeof i.componentDidUpdate&&(t.flags|=4),"function"==typeof i.getSnapshotBeforeUpdate&&(t.flags|=256)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=256),t.memoizedProps=r,t.memoizedState=h),i.props=r,i.state=h,i.context=l,r=u):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof i.getSnapshotBeforeUpdate||s===e.memoizedProps&&f===e.memoizedState||(t.flags|=256),r=!1)}return Zi(e,t,n,r,o,a)}function Zi(e,t,n,r,a,o){ji(e,t);var i=0!=(64&t.flags);if(!r&&!i)return a&&ka(t,n,!1),os(e,t,o);r=t.stateNode,zi.current=t;var s=i&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&i?(t.child=_o(t,e.child,null,o),t.child=_o(t,null,s,o)):Di(e,t,s,o),t.memoizedState=r.state,a&&ka(t,n,!0),t.child}function Qi(e){var t=e.stateNode;t.pendingContext?va(0,t.pendingContext,t.pendingContext!==t.context):t.context&&va(0,t.context,!1),Oo(e,t.containerInfo)}var Vi,qi,Gi,Yi,Ki={dehydrated:null,retryLane:0};function Xi(e,t,n){var r,a=t.pendingProps,o=Do.current,i=!1;return(r=0!=(64&t.flags))||(r=(null===e||null!==e.memoizedState)&&0!=(2&o)),r?(i=!0,t.flags&=-65):null!==e&&null===e.memoizedState||void 0===a.fallback||!0===a.unstable_avoidThisFallback||(o|=1),ca(Do,1&o),null===e?(void 0!==a.fallback&&Ho(t),e=a.children,o=a.fallback,i?(e=Ji(t,e,o,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Ki,e):"number"==typeof a.unstable_expectedLoadTime?(e=Ji(t,e,o,n),t.child.memoizedState={baseLanes:n},t.memoizedState=Ki,t.lanes=33554432,e):((n=Gl({mode:"visible",children:e},t.mode,n,null)).return=t,t.child=n)):(e.memoizedState,i?(a=ts(e,t,a.children,a.fallback,n),i=t.child,o=e.child.memoizedState,i.memoizedState=null===o?{baseLanes:n}:{baseLanes:o.baseLanes|n},i.childLanes=e.childLanes&~n,t.memoizedState=Ki,a):(n=es(e,t,a.children,n),t.memoizedState=null,n))}function Ji(e,t,n,r){var a=e.mode,o=e.child;return t={mode:"hidden",children:t},0==(2&a)&&null!==o?(o.childLanes=0,o.pendingProps=t):o=Gl(t,a,0,null),n=ql(n,a,r,null),o.return=e,n.return=e,o.sibling=n,e.child=o,n}function es(e,t,n,r){var a=e.child;return e=a.sibling,n=Ql(a,{mode:"visible",children:n}),0==(2&t.mode)&&(n.lanes=r),n.return=t,n.sibling=null,null!==e&&(e.nextEffect=null,e.flags=8,t.firstEffect=t.lastEffect=e),t.child=n}function ts(e,t,n,r,a){var o=t.mode,i=e.child;e=i.sibling;var s={mode:"hidden",children:n};return 0==(2&o)&&t.child!==i?((n=t.child).childLanes=0,n.pendingProps=s,null!==(i=n.lastEffect)?(t.firstEffect=n.firstEffect,t.lastEffect=i,i.nextEffect=null):t.firstEffect=t.lastEffect=null):n=Ql(i,s),null!==e?r=Ql(e,r):(r=ql(r,o,a,null)).flags|=2,r.return=t,n.return=t,n.sibling=r,t.child=n,r}function ns(e,t){e.lanes|=t;var n=e.alternate;null!==n&&(n.lanes|=t),ro(e.return,t)}function rs(e,t,n,r,a,o){var i=e.memoizedState;null===i?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a,lastEffect:o}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=a,i.lastEffect=o)}function as(e,t,n){var r=t.pendingProps,a=r.revealOrder,o=r.tail;if(Di(e,t,r.children,n),0!=(2&(r=Do.current)))r=1&r|2,t.flags|=64;else{if(null!==e&&0!=(64&e.flags))e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&ns(e,n);else if(19===e.tag)ns(e,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(ca(Do,r),0==(2&t.mode))t.memoizedState=null;else switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===Mo(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),rs(t,!1,a,n,o,t.lastEffect);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===Mo(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}rs(t,!0,n,null,o,t.lastEffect);break;case"together":rs(t,!1,null,null,void 0,t.lastEffect);break;default:t.memoizedState=null}return t.child}function os(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),$s|=t.lanes,0!=(n&t.childLanes)){if(null!==e&&t.child!==e.child)throw Error(i(153));if(null!==t.child){for(n=Ql(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Ql(e,e.pendingProps)).return=t;n.sibling=null}return t.child}return null}function is(e,t){if(!$o)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function ss(e,t,n){var r=t.pendingProps;switch(t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return null;case 1:case 17:return ga(t.type)&&ba(),null;case 3:return Ro(),ua(pa),ua(fa),Go(),(r=t.stateNode).pendingContext&&(r.context=r.pendingContext,r.pendingContext=null),null!==e&&null!==e.child||(Qo(t)?t.flags|=4:r.hydrate||(t.flags|=256)),qi(t),null;case 5:Uo(t);var o=Po(Ao.current);if(n=t.type,null!==e&&null!=t.stateNode)Gi(e,t,n,r,o),e.ref!==t.ref&&(t.flags|=128);else{if(!r){if(null===t.stateNode)throw Error(i(166));return null}if(e=Po(Io.current),Qo(t)){r=t.stateNode,n=t.type;var s=t.memoizedProps;switch(r[Kr]=t,r[Xr]=s,n){case"dialog":Ir("cancel",r),Ir("close",r);break;case"iframe":case"object":case"embed":Ir("load",r);break;case"video":case"audio":for(e=0;e<Cr.length;e++)Ir(Cr[e],r);break;case"source":Ir("error",r);break;case"img":case"image":case"link":Ir("error",r),Ir("load",r);break;case"details":Ir("toggle",r);break;case"input":ee(r,s),Ir("invalid",r);break;case"select":r._wrapperState={wasMultiple:!!s.multiple},Ir("invalid",r);break;case"textarea":le(r,s),Ir("invalid",r)}for(var u in Se(n,s),e=null,s)s.hasOwnProperty(u)&&(o=s[u],"children"===u?"string"==typeof o?r.textContent!==o&&(e=["children",o]):"number"==typeof o&&r.textContent!==""+o&&(e=["children",""+o]):l.hasOwnProperty(u)&&null!=o&&"onScroll"===u&&Ir("scroll",r));switch(n){case"input":Y(r),re(r,s,!0);break;case"textarea":Y(r),ce(r);break;case"select":case"option":break;default:"function"==typeof s.onClick&&(r.onclick=Fr)}r=e,t.updateQueue=r,null!==r&&(t.flags|=4)}else{switch(u=9===o.nodeType?o:o.ownerDocument,e===de.html&&(e=fe(n)),e===de.html?"script"===n?((e=u.createElement("div")).innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=u.createElement(n,{is:r.is}):(e=u.createElement(n),"select"===n&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,n),e[Kr]=t,e[Xr]=r,Vi(e,t,!1,!1),t.stateNode=e,u=xe(n,r),n){case"dialog":Ir("cancel",e),Ir("close",e),o=r;break;case"iframe":case"object":case"embed":Ir("load",e),o=r;break;case"video":case"audio":for(o=0;o<Cr.length;o++)Ir(Cr[o],e);o=r;break;case"source":Ir("error",e),o=r;break;case"img":case"image":case"link":Ir("error",e),Ir("load",e),o=r;break;case"details":Ir("toggle",e),o=r;break;case"input":ee(e,r),o=J(e,r),Ir("invalid",e);break;case"option":o=oe(e,r);break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=a({},r,{value:void 0}),Ir("invalid",e);break;case"textarea":le(e,r),o=se(e,r),Ir("invalid",e);break;default:o=r}Se(n,o);var c=o;for(s in c)if(c.hasOwnProperty(s)){var d=c[s];"style"===s?ke(e,d):"dangerouslySetInnerHTML"===s?null!=(d=d?d.__html:void 0)&&ge(e,d):"children"===s?"string"==typeof d?("textarea"!==n||""!==d)&&be(e,d):"number"==typeof d&&be(e,""+d):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(l.hasOwnProperty(s)?null!=d&&"onScroll"===s&&Ir("scroll",e):null!=d&&w(e,s,d,u))}switch(n){case"input":Y(e),re(e,r,!1);break;case"textarea":Y(e),ce(e);break;case"option":null!=r.value&&e.setAttribute("value",""+q(r.value));break;case"select":e.multiple=!!r.multiple,null!=(s=r.value)?ie(e,!!r.multiple,s,!1):null!=r.defaultValue&&ie(e,!!r.multiple,r.defaultValue,!0);break;default:"function"==typeof o.onClick&&(e.onclick=Fr)}jr(n,r)&&(t.flags|=4)}null!==t.ref&&(t.flags|=128)}return null;case 6:if(e&&null!=t.stateNode)Yi(e,t,e.memoizedProps,r);else{if("string"!=typeof r&&null===t.stateNode)throw Error(i(166));n=Po(Ao.current),Po(Io.current),Qo(t)?(r=t.stateNode,n=t.memoizedProps,r[Kr]=t,r.nodeValue!==n&&(t.flags|=4)):((r=(9===n.nodeType?n:n.ownerDocument).createTextNode(r))[Kr]=t,t.stateNode=r)}return null;case 13:return ua(Do),r=t.memoizedState,0!=(64&t.flags)?(t.lanes=n,t):(r=null!==r,n=!1,null===e?void 0!==t.memoizedProps.fallback&&Qo(t):n=null!==e.memoizedState,r&&!n&&0!=(2&t.mode)&&(null===e&&!0!==t.memoizedProps.unstable_avoidThisFallback||0!=(1&Do.current)?0===Ms&&(Ms=3):(0!==Ms&&3!==Ms||(Ms=4),null===Os||0==(134217727&$s)&&0==(134217727&js)||vl(Os,zs))),(r||n)&&(t.flags|=4),null);case 4:return Ro(),qi(t),null===e&&Ar(t.stateNode.containerInfo),null;case 10:return no(t),null;case 19:if(ua(Do),null===(r=t.memoizedState))return null;if(s=0!=(64&t.flags),null===(u=r.rendering))if(s)is(r,!1);else{if(0!==Ms||null!==e&&0!=(64&e.flags))for(e=t.child;null!==e;){if(null!==(u=Mo(e))){for(t.flags|=64,is(r,!1),null!==(s=u.updateQueue)&&(t.updateQueue=s,t.flags|=4),null===r.lastEffect&&(t.firstEffect=null),t.lastEffect=r.lastEffect,r=n,n=t.child;null!==n;)e=r,(s=n).flags&=2,s.nextEffect=null,s.firstEffect=null,s.lastEffect=null,null===(u=s.alternate)?(s.childLanes=0,s.lanes=e,s.child=null,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=u.childLanes,s.lanes=u.lanes,s.child=u.child,s.memoizedProps=u.memoizedProps,s.memoizedState=u.memoizedState,s.updateQueue=u.updateQueue,s.type=u.type,e=u.dependencies,s.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return ca(Do,1&Do.current|2),t.child}e=e.sibling}null!==r.tail&&ja()>Qs&&(t.flags|=64,s=!0,is(r,!1),t.lanes=33554432)}else{if(!s)if(null!==(e=Mo(u))){if(t.flags|=64,s=!0,null!==(n=e.updateQueue)&&(t.updateQueue=n,t.flags|=4),is(r,!0),null===r.tail&&"hidden"===r.tailMode&&!u.alternate&&!$o)return null!==(t=t.lastEffect=r.lastEffect)&&(t.nextEffect=null),null}else 2*ja()-r.renderingStartTime>Qs&&1073741824!==n&&(t.flags|=64,s=!0,is(r,!1),t.lanes=33554432);r.isBackwards?(u.sibling=t.child,t.child=u):(null!==(n=r.last)?n.sibling=u:t.child=u,r.last=u)}return null!==r.tail?(n=r.tail,r.rendering=n,r.tail=n.sibling,r.lastEffect=t.lastEffect,r.renderingStartTime=ja(),n.sibling=null,t=Do.current,ca(Do,s?1&t|2:1&t),n):null;case 23:case 24:return Sl(),null!==e&&null!==e.memoizedState!=(null!==t.memoizedState)&&"unstable-defer-without-hiding"!==r.mode&&(t.flags|=4),null}throw Error(i(156,t.tag))}function ls(e){switch(e.tag){case 1:ga(e.type)&&ba();var t=e.flags;return 4096&t?(e.flags=-4097&t|64,e):null;case 3:if(Ro(),ua(pa),ua(fa),Go(),0!=(64&(t=e.flags)))throw Error(i(285));return e.flags=-4097&t|64,e;case 5:return Uo(e),null;case 13:return ua(Do),4096&(t=e.flags)?(e.flags=-4097&t|64,e):null;case 19:return ua(Do),null;case 4:return Ro(),null;case 10:return no(e),null;case 23:case 24:return Sl(),null;default:return null}}function us(e,t){try{var n="",r=t;do{n+=Q(r),r=r.return}while(r);var a=n}catch(o){a="\nError generating stack: "+o.message+"\n"+o.stack}return{value:e,source:t,stack:a}}function cs(e,t){try{console.error(t.value)}catch(n){setTimeout((function(){throw n}))}}Vi=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},qi=function(){},Gi=function(e,t,n,r){var o=e.memoizedProps;if(o!==r){e=t.stateNode,Po(Io.current);var i,s=null;switch(n){case"input":o=J(e,o),r=J(e,r),s=[];break;case"option":o=oe(e,o),r=oe(e,r),s=[];break;case"select":o=a({},o,{value:void 0}),r=a({},r,{value:void 0}),s=[];break;case"textarea":o=se(e,o),r=se(e,r),s=[];break;default:"function"!=typeof o.onClick&&"function"==typeof r.onClick&&(e.onclick=Fr)}for(d in Se(n,r),n=null,o)if(!r.hasOwnProperty(d)&&o.hasOwnProperty(d)&&null!=o[d])if("style"===d){var u=o[d];for(i in u)u.hasOwnProperty(i)&&(n||(n={}),n[i]="")}else"dangerouslySetInnerHTML"!==d&&"children"!==d&&"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&"autoFocus"!==d&&(l.hasOwnProperty(d)?s||(s=[]):(s=s||[]).push(d,null));for(d in r){var c=r[d];if(u=null!=o?o[d]:void 0,r.hasOwnProperty(d)&&c!==u&&(null!=c||null!=u))if("style"===d)if(u){for(i in u)!u.hasOwnProperty(i)||c&&c.hasOwnProperty(i)||(n||(n={}),n[i]="");for(i in c)c.hasOwnProperty(i)&&u[i]!==c[i]&&(n||(n={}),n[i]=c[i])}else n||(s||(s=[]),s.push(d,n)),n=c;else"dangerouslySetInnerHTML"===d?(c=c?c.__html:void 0,u=u?u.__html:void 0,null!=c&&u!==c&&(s=s||[]).push(d,c)):"children"===d?"string"!=typeof c&&"number"!=typeof c||(s=s||[]).push(d,""+c):"suppressContentEditableWarning"!==d&&"suppressHydrationWarning"!==d&&(l.hasOwnProperty(d)?(null!=c&&"onScroll"===d&&Ir("scroll",e),s||u===c||(s=[])):"object"==typeof c&&null!==c&&c.$$typeof===z?c.toString():(s=s||[]).push(d,c))}n&&(s=s||[]).push("style",n);var d=s;(t.updateQueue=d)&&(t.flags|=4)}},Yi=function(e,t,n,r){n!==r&&(t.flags|=4)};var ds="function"==typeof WeakMap?WeakMap:Map;function fs(e,t,n){(n=uo(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ys||(Ys=!0,Ks=r),cs(0,t)},n}function ps(e,t,n){(n=uo(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var a=t.value;n.payload=function(){return cs(0,t),r(a)}}var o=e.stateNode;return null!==o&&"function"==typeof o.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===Xs?Xs=new Set([this]):Xs.add(this),cs(0,t));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}var hs="function"==typeof WeakSet?WeakSet:Set;function ms(e){var t=e.ref;if(null!==t)if("function"==typeof t)try{t(null)}catch(n){Bl(e,n)}else t.current=null}function gs(e,t){switch(t.tag){case 0:case 11:case 15:case 22:case 5:case 6:case 4:case 17:return;case 1:if(256&t.flags&&null!==e){var n=e.memoizedProps,r=e.memoizedState;t=(e=t.stateNode).getSnapshotBeforeUpdate(t.elementType===t.type?n:Ya(t.type,n),r),e.__reactInternalSnapshotBeforeUpdate=t}return;case 3:return void(256&t.flags&&Qr(t.stateNode.containerInfo))}throw Error(i(163))}function bs(e,t,n){switch(n.tag){case 0:case 11:case 15:case 22:if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{if(3==(3&e.tag)){var r=e.create;e.destroy=r()}e=e.next}while(e!==t)}if(null!==(t=null!==(t=n.updateQueue)?t.lastEffect:null)){e=t=t.next;do{var a=e;r=a.next,0!=(4&(a=a.tag))&&0!=(1&a)&&(Dl(n,e),Ul(n,e)),e=r}while(e!==t)}return;case 1:return e=n.stateNode,4&n.flags&&(null===t?e.componentDidMount():(r=n.elementType===n.type?t.memoizedProps:Ya(n.type,t.memoizedProps),e.componentDidUpdate(r,t.memoizedState,e.__reactInternalSnapshotBeforeUpdate))),void(null!==(t=n.updateQueue)&&ho(n,t,e));case 3:if(null!==(t=n.updateQueue)){if(e=null,null!==n.child)switch(n.child.tag){case 5:case 1:e=n.child.stateNode}ho(n,t,e)}return;case 5:return e=n.stateNode,void(null===t&&4&n.flags&&jr(n.type,n.memoizedProps)&&e.focus());case 6:case 4:case 12:case 19:case 17:case 20:case 21:case 23:case 24:return;case 13:return void(null===n.memoizedState&&(n=n.alternate,null!==n&&(n=n.memoizedState,null!==n&&(n=n.dehydrated,null!==n&&kt(n)))))}throw Error(i(163))}function vs(e,t){for(var n=e;;){if(5===n.tag){var r=n.stateNode;if(t)"function"==typeof(r=r.style).setProperty?r.setProperty("display","none","important"):r.display="none";else{r=n.stateNode;var a=n.memoizedProps.style;a=null!=a&&a.hasOwnProperty("display")?a.display:null,r.style.display=we("display",a)}}else if(6===n.tag)n.stateNode.nodeValue=t?"":n.memoizedProps;else if((23!==n.tag&&24!==n.tag||null===n.memoizedState||n===e)&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return;n=n.return}n.sibling.return=n.return,n=n.sibling}}function ys(e,t){if(Sa&&"function"==typeof Sa.onCommitFiberUnmount)try{Sa.onCommitFiberUnmount(Ea,t)}catch(o){}switch(t.tag){case 0:case 11:case 14:case 15:case 22:if(null!==(e=t.updateQueue)&&null!==(e=e.lastEffect)){var n=e=e.next;do{var r=n,a=r.destroy;if(r=r.tag,void 0!==a)if(0!=(4&r))Dl(t,n);else{r=t;try{a()}catch(o){Bl(r,o)}}n=n.next}while(n!==e)}break;case 1:if(ms(t),"function"==typeof(e=t.stateNode).componentWillUnmount)try{e.props=t.memoizedProps,e.state=t.memoizedState,e.componentWillUnmount()}catch(o){Bl(t,o)}break;case 5:ms(t);break;case 4:Cs(e,t)}}function ws(e){e.alternate=null,e.child=null,e.dependencies=null,e.firstEffect=null,e.lastEffect=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.return=null,e.updateQueue=null}function ks(e){return 5===e.tag||3===e.tag||4===e.tag}function Es(e){e:{for(var t=e.return;null!==t;){if(ks(t))break e;t=t.return}throw Error(i(160))}var n=t;switch(t=n.stateNode,n.tag){case 5:var r=!1;break;case 3:case 4:t=t.containerInfo,r=!0;break;default:throw Error(i(161))}16&n.flags&&(be(t,""),n.flags&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||ks(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag&&18!==n.tag;){if(2&n.flags)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.flags)){n=n.stateNode;break e}}r?Ss(e,n,t):xs(e,n,t)}function Ss(e,t,n){var r=e.tag,a=5===r||6===r;if(a)e=a?e.stateNode:e.stateNode.instance,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Fr));else if(4!==r&&null!==(e=e.child))for(Ss(e,t,n),e=e.sibling;null!==e;)Ss(e,t,n),e=e.sibling}function xs(e,t,n){var r=e.tag,a=5===r||6===r;if(a)e=a?e.stateNode:e.stateNode.instance,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(xs(e,t,n),e=e.sibling;null!==e;)xs(e,t,n),e=e.sibling}function Cs(e,t){for(var n,r,a=t,o=!1;;){if(!o){o=a.return;e:for(;;){if(null===o)throw Error(i(160));switch(n=o.stateNode,o.tag){case 5:r=!1;break e;case 3:case 4:n=n.containerInfo,r=!0;break e}o=o.return}o=!0}if(5===a.tag||6===a.tag){e:for(var s=e,l=a,u=l;;)if(ys(s,u),null!==u.child&&4!==u.tag)u.child.return=u,u=u.child;else{if(u===l)break e;for(;null===u.sibling;){if(null===u.return||u.return===l)break e;u=u.return}u.sibling.return=u.return,u=u.sibling}r?(s=n,l=a.stateNode,8===s.nodeType?s.parentNode.removeChild(l):s.removeChild(l)):n.removeChild(a.stateNode)}else if(4===a.tag){if(null!==a.child){n=a.stateNode.containerInfo,r=!0,a.child.return=a,a=a.child;continue}}else if(ys(e,a),null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break;for(;null===a.sibling;){if(null===a.return||a.return===t)return;4===(a=a.return).tag&&(o=!1)}a.sibling.return=a.return,a=a.sibling}}function _s(e,t){switch(t.tag){case 0:case 11:case 14:case 15:case 22:var n=t.updateQueue;if(null!==(n=null!==n?n.lastEffect:null)){var r=n=n.next;do{3==(3&r.tag)&&(e=r.destroy,r.destroy=void 0,void 0!==e&&e()),r=r.next}while(r!==n)}return;case 1:case 12:case 17:return;case 5:if(null!=(n=t.stateNode)){r=t.memoizedProps;var a=null!==e?e.memoizedProps:r;e=t.type;var o=t.updateQueue;if(t.updateQueue=null,null!==o){for(n[Xr]=r,"input"===e&&"radio"===r.type&&null!=r.name&&te(n,r),xe(e,a),t=xe(e,r),a=0;a<o.length;a+=2){var s=o[a],l=o[a+1];"style"===s?ke(n,l):"dangerouslySetInnerHTML"===s?ge(n,l):"children"===s?be(n,l):w(n,s,l,t)}switch(e){case"input":ne(n,r);break;case"textarea":ue(n,r);break;case"select":e=n._wrapperState.wasMultiple,n._wrapperState.wasMultiple=!!r.multiple,null!=(o=r.value)?ie(n,!!r.multiple,o,!1):e!==!!r.multiple&&(null!=r.defaultValue?ie(n,!!r.multiple,r.defaultValue,!0):ie(n,!!r.multiple,r.multiple?[]:"",!1))}}}return;case 6:if(null===t.stateNode)throw Error(i(162));return void(t.stateNode.nodeValue=t.memoizedProps);case 3:return void((n=t.stateNode).hydrate&&(n.hydrate=!1,kt(n.containerInfo)));case 13:return null!==t.memoizedState&&(Zs=ja(),vs(t.child,!0)),void Ts(t);case 19:return void Ts(t);case 23:case 24:return void vs(t,null!==t.memoizedState)}throw Error(i(163))}function Ts(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new hs),t.forEach((function(t){var r=jl.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))}))}}function Ns(e,t){return null!==e&&(null===(e=e.memoizedState)||null!==e.dehydrated)&&(null!==(t=t.memoizedState)&&null===t.dehydrated)}var Is=Math.ceil,Ls=k.ReactCurrentDispatcher,As=k.ReactCurrentOwner,Ps=0,Os=null,Rs=null,zs=0,Us=0,Ds=la(0),Ms=0,Fs=null,Bs=0,$s=0,js=0,Ws=0,Hs=null,Zs=0,Qs=1/0;function Vs(){Qs=ja()+500}var qs,Gs=null,Ys=!1,Ks=null,Xs=null,Js=!1,el=null,tl=90,nl=[],rl=[],al=null,ol=0,il=null,sl=-1,ll=0,ul=0,cl=null,dl=!1;function fl(){return 0!=(48&Ps)?ja():-1!==sl?sl:sl=ja()}function pl(e){if(0==(2&(e=e.mode)))return 1;if(0==(4&e))return 99===Wa()?1:2;if(0===ll&&(ll=Bs),0!==Ga.transition){0!==ul&&(ul=null!==Hs?Hs.pendingLanes:0),e=ll;var t=4186112&~ul;return 0===(t&=-t)&&(0===(t=(e=4186112&~e)&-e)&&(t=8192)),t}return e=Wa(),0!=(4&Ps)&&98===e?e=Ft(12,ll):e=Ft(e=function(e){switch(e){case 99:return 15;case 98:return 10;case 97:case 96:return 8;case 95:return 2;default:return 0}}(e),ll),e}function hl(e,t,n){if(50<ol)throw ol=0,il=null,Error(i(185));if(null===(e=ml(e,t)))return null;jt(e,t,n),e===Os&&(js|=t,4===Ms&&vl(e,zs));var r=Wa();1===t?0!=(8&Ps)&&0==(48&Ps)?yl(e):(gl(e,n),0===Ps&&(Vs(),Va())):(0==(4&Ps)||98!==r&&99!==r||(null===al?al=new Set([e]):al.add(e)),gl(e,n)),Hs=e}function ml(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}function gl(e,t){for(var n=e.callbackNode,r=e.suspendedLanes,a=e.pingedLanes,o=e.expirationTimes,s=e.pendingLanes;0<s;){var l=31-Wt(s),u=1<<l,c=o[l];if(-1===c){if(0==(u&r)||0!=(u&a)){c=t,Ut(u);var d=zt;o[l]=10<=d?c+250:6<=d?c+5e3:-1}}else c<=t&&(e.expiredLanes|=u);s&=~u}if(r=Dt(e,e===Os?zs:0),t=zt,0===r)null!==n&&(n!==Ua&&_a(n),e.callbackNode=null,e.callbackPriority=0);else{if(null!==n){if(e.callbackPriority===t)return;n!==Ua&&_a(n)}15===t?(n=yl.bind(null,e),null===Ma?(Ma=[n],Fa=Ca(Aa,qa)):Ma.push(n),n=Ua):14===t?n=Qa(99,yl.bind(null,e)):(n=function(e){switch(e){case 15:case 14:return 99;case 13:case 12:case 11:case 10:return 98;case 9:case 8:case 7:case 6:case 4:case 5:return 97;case 3:case 2:case 1:return 95;case 0:return 90;default:throw Error(i(358,e))}}(t),n=Qa(n,bl.bind(null,e))),e.callbackPriority=t,e.callbackNode=n}}function bl(e){if(sl=-1,ul=ll=0,0!=(48&Ps))throw Error(i(327));var t=e.callbackNode;if(zl()&&e.callbackNode!==t)return null;var n=Dt(e,e===Os?zs:0);if(0===n)return null;var r=n,a=Ps;Ps|=16;var o=_l();for(Os===e&&zs===r||(Vs(),xl(e,r));;)try{Il();break}catch(l){Cl(e,l)}if(to(),Ls.current=o,Ps=a,null!==Rs?r=0:(Os=null,zs=0,r=Ms),0!=(Bs&js))xl(e,0);else if(0!==r){if(2===r&&(Ps|=64,e.hydrate&&(e.hydrate=!1,Qr(e.containerInfo)),0!==(n=Mt(e))&&(r=Tl(e,n))),1===r)throw t=Fs,xl(e,0),vl(e,n),gl(e,ja()),t;switch(e.finishedWork=e.current.alternate,e.finishedLanes=n,r){case 0:case 1:throw Error(i(345));case 2:case 5:Pl(e);break;case 3:if(vl(e,n),(62914560&n)===n&&10<(r=Zs+500-ja())){if(0!==Dt(e,0))break;if(((a=e.suspendedLanes)&n)!==n){fl(),e.pingedLanes|=e.suspendedLanes&a;break}e.timeoutHandle=Hr(Pl.bind(null,e),r);break}Pl(e);break;case 4:if(vl(e,n),(4186112&n)===n)break;for(r=e.eventTimes,a=-1;0<n;){var s=31-Wt(n);o=1<<s,(s=r[s])>a&&(a=s),n&=~o}if(n=a,10<(n=(120>(n=ja()-n)?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Is(n/1960))-n)){e.timeoutHandle=Hr(Pl.bind(null,e),n);break}Pl(e);break;default:throw Error(i(329))}}return gl(e,ja()),e.callbackNode===t?bl.bind(null,e):null}function vl(e,t){for(t&=~Ws,t&=~js,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-Wt(t),r=1<<n;e[n]=-1,t&=~r}}function yl(e){if(0!=(48&Ps))throw Error(i(327));if(zl(),e===Os&&0!=(e.expiredLanes&zs)){var t=zs,n=Tl(e,t);0!=(Bs&js)&&(n=Tl(e,t=Dt(e,t)))}else n=Tl(e,t=Dt(e,0));if(0!==e.tag&&2===n&&(Ps|=64,e.hydrate&&(e.hydrate=!1,Qr(e.containerInfo)),0!==(t=Mt(e))&&(n=Tl(e,t))),1===n)throw n=Fs,xl(e,0),vl(e,t),gl(e,ja()),n;return e.finishedWork=e.current.alternate,e.finishedLanes=t,Pl(e),gl(e,ja()),null}function wl(e,t){var n=Ps;Ps|=1;try{return e(t)}finally{0===(Ps=n)&&(Vs(),Va())}}function kl(e,t){var n=Ps;Ps&=-2,Ps|=8;try{return e(t)}finally{0===(Ps=n)&&(Vs(),Va())}}function El(e,t){ca(Ds,Us),Us|=t,Bs|=t}function Sl(){Us=Ds.current,ua(Ds)}function xl(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,Zr(n)),null!==Rs)for(n=Rs.return;null!==n;){var r=n;switch(r.tag){case 1:null!=(r=r.type.childContextTypes)&&ba();break;case 3:Ro(),ua(pa),ua(fa),Go();break;case 5:Uo(r);break;case 4:Ro();break;case 13:case 19:ua(Do);break;case 10:no(r);break;case 23:case 24:Sl()}n=n.return}Os=e,Rs=Ql(e.current,null),zs=Us=Bs=t,Ms=0,Fs=null,Ws=js=$s=0}function Cl(e,t){for(;;){var n=Rs;try{if(to(),Yo.current=Ai,ni){for(var r=Jo.memoizedState;null!==r;){var a=r.queue;null!==a&&(a.pending=null),r=r.next}ni=!1}if(Xo=0,ti=ei=Jo=null,ri=!1,As.current=null,null===n||null===n.return){Ms=1,Fs=t,Rs=null;break}e:{var o=e,i=n.return,s=n,l=t;if(t=zs,s.flags|=2048,s.firstEffect=s.lastEffect=null,null!==l&&"object"==typeof l&&"function"==typeof l.then){var u=l;if(0==(2&s.mode)){var c=s.alternate;c?(s.updateQueue=c.updateQueue,s.memoizedState=c.memoizedState,s.lanes=c.lanes):(s.updateQueue=null,s.memoizedState=null)}var d=0!=(1&Do.current),f=i;do{var p;if(p=13===f.tag){var h=f.memoizedState;if(null!==h)p=null!==h.dehydrated;else{var m=f.memoizedProps;p=void 0!==m.fallback&&(!0!==m.unstable_avoidThisFallback||!d)}}if(p){var g=f.updateQueue;if(null===g){var b=new Set;b.add(u),f.updateQueue=b}else g.add(u);if(0==(2&f.mode)){if(f.flags|=64,s.flags|=16384,s.flags&=-2981,1===s.tag)if(null===s.alternate)s.tag=17;else{var v=uo(-1,1);v.tag=2,co(s,v)}s.lanes|=1;break e}l=void 0,s=t;var y=o.pingCache;if(null===y?(y=o.pingCache=new ds,l=new Set,y.set(u,l)):void 0===(l=y.get(u))&&(l=new Set,y.set(u,l)),!l.has(s)){l.add(s);var w=$l.bind(null,o,u,s);u.then(w,w)}f.flags|=4096,f.lanes=t;break e}f=f.return}while(null!==f);l=Error((V(s.type)||"A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.")}5!==Ms&&(Ms=2),l=us(l,s),f=i;do{switch(f.tag){case 3:o=l,f.flags|=4096,t&=-t,f.lanes|=t,fo(f,fs(0,o,t));break e;case 1:o=l;var k=f.type,E=f.stateNode;if(0==(64&f.flags)&&("function"==typeof k.getDerivedStateFromError||null!==E&&"function"==typeof E.componentDidCatch&&(null===Xs||!Xs.has(E)))){f.flags|=4096,t&=-t,f.lanes|=t,fo(f,ps(f,o,t));break e}}f=f.return}while(null!==f)}Al(n)}catch(S){t=S,Rs===n&&null!==n&&(Rs=n=n.return);continue}break}}function _l(){var e=Ls.current;return Ls.current=Ai,null===e?Ai:e}function Tl(e,t){var n=Ps;Ps|=16;var r=_l();for(Os===e&&zs===t||xl(e,t);;)try{Nl();break}catch(a){Cl(e,a)}if(to(),Ps=n,Ls.current=r,null!==Rs)throw Error(i(261));return Os=null,zs=0,Ms}function Nl(){for(;null!==Rs;)Ll(Rs)}function Il(){for(;null!==Rs&&!Ta();)Ll(Rs)}function Ll(e){var t=qs(e.alternate,e,Us);e.memoizedProps=e.pendingProps,null===t?Al(e):Rs=t,As.current=null}function Al(e){var t=e;do{var n=t.alternate;if(e=t.return,0==(2048&t.flags)){if(null!==(n=ss(n,t,Us)))return void(Rs=n);if(24!==(n=t).tag&&23!==n.tag||null===n.memoizedState||0!=(1073741824&Us)||0==(4&n.mode)){for(var r=0,a=n.child;null!==a;)r|=a.lanes|a.childLanes,a=a.sibling;n.childLanes=r}null!==e&&0==(2048&e.flags)&&(null===e.firstEffect&&(e.firstEffect=t.firstEffect),null!==t.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=t.firstEffect),e.lastEffect=t.lastEffect),1<t.flags&&(null!==e.lastEffect?e.lastEffect.nextEffect=t:e.firstEffect=t,e.lastEffect=t))}else{if(null!==(n=ls(t)))return n.flags&=2047,void(Rs=n);null!==e&&(e.firstEffect=e.lastEffect=null,e.flags|=2048)}if(null!==(t=t.sibling))return void(Rs=t);Rs=t=e}while(null!==t);0===Ms&&(Ms=5)}function Pl(e){var t=Wa();return Za(99,Ol.bind(null,e,t)),null}function Ol(e,t){do{zl()}while(null!==el);if(0!=(48&Ps))throw Error(i(327));var n=e.finishedWork;if(null===n)return null;if(e.finishedWork=null,e.finishedLanes=0,n===e.current)throw Error(i(177));e.callbackNode=null;var r=n.lanes|n.childLanes,a=r,o=e.pendingLanes&~a;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=a,e.mutableReadLanes&=a,e.entangledLanes&=a,a=e.entanglements;for(var s=e.eventTimes,l=e.expirationTimes;0<o;){var u=31-Wt(o),c=1<<u;a[u]=0,s[u]=-1,l[u]=-1,o&=~c}if(null!==al&&0==(24&r)&&al.has(e)&&al.delete(e),e===Os&&(Rs=Os=null,zs=0),1<n.flags?null!==n.lastEffect?(n.lastEffect.nextEffect=n,r=n.firstEffect):r=n:r=n.firstEffect,null!==r){if(a=Ps,Ps|=32,As.current=null,Br=qt,gr(s=mr())){if("selectionStart"in s)l={start:s.selectionStart,end:s.selectionEnd};else e:if(l=(l=s.ownerDocument)&&l.defaultView||window,(c=l.getSelection&&l.getSelection())&&0!==c.rangeCount){l=c.anchorNode,o=c.anchorOffset,u=c.focusNode,c=c.focusOffset;try{l.nodeType,u.nodeType}catch(_){l=null;break e}var d=0,f=-1,p=-1,h=0,m=0,g=s,b=null;t:for(;;){for(var v;g!==l||0!==o&&3!==g.nodeType||(f=d+o),g!==u||0!==c&&3!==g.nodeType||(p=d+c),3===g.nodeType&&(d+=g.nodeValue.length),null!==(v=g.firstChild);)b=g,g=v;for(;;){if(g===s)break t;if(b===l&&++h===o&&(f=d),b===u&&++m===c&&(p=d),null!==(v=g.nextSibling))break;b=(g=b).parentNode}g=v}l=-1===f||-1===p?null:{start:f,end:p}}else l=null;l=l||{start:0,end:0}}else l=null;$r={focusedElem:s,selectionRange:l},qt=!1,cl=null,dl=!1,Gs=r;do{try{Rl()}catch(_){if(null===Gs)throw Error(i(330));Bl(Gs,_),Gs=Gs.nextEffect}}while(null!==Gs);cl=null,Gs=r;do{try{for(s=e;null!==Gs;){var y=Gs.flags;if(16&y&&be(Gs.stateNode,""),128&y){var w=Gs.alternate;if(null!==w){var k=w.ref;null!==k&&("function"==typeof k?k(null):k.current=null)}}switch(1038&y){case 2:Es(Gs),Gs.flags&=-3;break;case 6:Es(Gs),Gs.flags&=-3,_s(Gs.alternate,Gs);break;case 1024:Gs.flags&=-1025;break;case 1028:Gs.flags&=-1025,_s(Gs.alternate,Gs);break;case 4:_s(Gs.alternate,Gs);break;case 8:Cs(s,l=Gs);var E=l.alternate;ws(l),null!==E&&ws(E)}Gs=Gs.nextEffect}}catch(_){if(null===Gs)throw Error(i(330));Bl(Gs,_),Gs=Gs.nextEffect}}while(null!==Gs);if(k=$r,w=mr(),y=k.focusedElem,s=k.selectionRange,w!==y&&y&&y.ownerDocument&&hr(y.ownerDocument.documentElement,y)){null!==s&&gr(y)&&(w=s.start,void 0===(k=s.end)&&(k=w),"selectionStart"in y?(y.selectionStart=w,y.selectionEnd=Math.min(k,y.value.length)):(k=(w=y.ownerDocument||document)&&w.defaultView||window).getSelection&&(k=k.getSelection(),l=y.textContent.length,E=Math.min(s.start,l),s=void 0===s.end?E:Math.min(s.end,l),!k.extend&&E>s&&(l=s,s=E,E=l),l=pr(y,E),o=pr(y,s),l&&o&&(1!==k.rangeCount||k.anchorNode!==l.node||k.anchorOffset!==l.offset||k.focusNode!==o.node||k.focusOffset!==o.offset)&&((w=w.createRange()).setStart(l.node,l.offset),k.removeAllRanges(),E>s?(k.addRange(w),k.extend(o.node,o.offset)):(w.setEnd(o.node,o.offset),k.addRange(w))))),w=[];for(k=y;k=k.parentNode;)1===k.nodeType&&w.push({element:k,left:k.scrollLeft,top:k.scrollTop});for("function"==typeof y.focus&&y.focus(),y=0;y<w.length;y++)(k=w[y]).element.scrollLeft=k.left,k.element.scrollTop=k.top}qt=!!Br,$r=Br=null,e.current=n,Gs=r;do{try{for(y=e;null!==Gs;){var S=Gs.flags;if(36&S&&bs(y,Gs.alternate,Gs),128&S){w=void 0;var x=Gs.ref;if(null!==x){var C=Gs.stateNode;Gs.tag,w=C,"function"==typeof x?x(w):x.current=w}}Gs=Gs.nextEffect}}catch(_){if(null===Gs)throw Error(i(330));Bl(Gs,_),Gs=Gs.nextEffect}}while(null!==Gs);Gs=null,Da(),Ps=a}else e.current=n;if(Js)Js=!1,el=e,tl=t;else for(Gs=r;null!==Gs;)t=Gs.nextEffect,Gs.nextEffect=null,8&Gs.flags&&((S=Gs).sibling=null,S.stateNode=null),Gs=t;if(0===(r=e.pendingLanes)&&(Xs=null),1===r?e===il?ol++:(ol=0,il=e):ol=0,n=n.stateNode,Sa&&"function"==typeof Sa.onCommitFiberRoot)try{Sa.onCommitFiberRoot(Ea,n,void 0,64==(64&n.current.flags))}catch(_){}if(gl(e,ja()),Ys)throw Ys=!1,e=Ks,Ks=null,e;return 0!=(8&Ps)||Va(),null}function Rl(){for(;null!==Gs;){var e=Gs.alternate;dl||null===cl||(0!=(8&Gs.flags)?Je(Gs,cl)&&(dl=!0):13===Gs.tag&&Ns(e,Gs)&&Je(Gs,cl)&&(dl=!0));var t=Gs.flags;0!=(256&t)&&gs(e,Gs),0==(512&t)||Js||(Js=!0,Qa(97,(function(){return zl(),null}))),Gs=Gs.nextEffect}}function zl(){if(90!==tl){var e=97<tl?97:tl;return tl=90,Za(e,Ml)}return!1}function Ul(e,t){nl.push(t,e),Js||(Js=!0,Qa(97,(function(){return zl(),null})))}function Dl(e,t){rl.push(t,e),Js||(Js=!0,Qa(97,(function(){return zl(),null})))}function Ml(){if(null===el)return!1;var e=el;if(el=null,0!=(48&Ps))throw Error(i(331));var t=Ps;Ps|=32;var n=rl;rl=[];for(var r=0;r<n.length;r+=2){var a=n[r],o=n[r+1],s=a.destroy;if(a.destroy=void 0,"function"==typeof s)try{s()}catch(u){if(null===o)throw Error(i(330));Bl(o,u)}}for(n=nl,nl=[],r=0;r<n.length;r+=2){a=n[r],o=n[r+1];try{var l=a.create;a.destroy=l()}catch(u){if(null===o)throw Error(i(330));Bl(o,u)}}for(l=e.current.firstEffect;null!==l;)e=l.nextEffect,l.nextEffect=null,8&l.flags&&(l.sibling=null,l.stateNode=null),l=e;return Ps=t,Va(),!0}function Fl(e,t,n){co(e,t=fs(0,t=us(n,t),1)),t=fl(),null!==(e=ml(e,1))&&(jt(e,1,t),gl(e,t))}function Bl(e,t){if(3===e.tag)Fl(e,e,t);else for(var n=e.return;null!==n;){if(3===n.tag){Fl(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Xs||!Xs.has(r))){var a=ps(n,e=us(t,e),1);if(co(n,a),a=fl(),null!==(n=ml(n,1)))jt(n,1,a),gl(n,a);else if("function"==typeof r.componentDidCatch&&(null===Xs||!Xs.has(r)))try{r.componentDidCatch(t,e)}catch(o){}break}}n=n.return}}function $l(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=fl(),e.pingedLanes|=e.suspendedLanes&n,Os===e&&(zs&n)===n&&(4===Ms||3===Ms&&(62914560&zs)===zs&&500>ja()-Zs?xl(e,0):Ws|=n),gl(e,t)}function jl(e,t){var n=e.stateNode;null!==n&&n.delete(t),0===(t=0)&&(0==(2&(t=e.mode))?t=1:0==(4&t)?t=99===Wa()?1:2:(0===ll&&(ll=Bs),0===(t=Bt(62914560&~ll))&&(t=4194304))),n=fl(),null!==(e=ml(e,t))&&(jt(e,t,n),gl(e,n))}function Wl(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.flags=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.childLanes=this.lanes=0,this.alternate=null}function Hl(e,t,n,r){return new Wl(e,t,n,r)}function Zl(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Ql(e,t){var n=e.alternate;return null===n?((n=Hl(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.nextEffect=null,n.firstEffect=null,n.lastEffect=null),n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Vl(e,t,n,r,a,o){var s=2;if(r=e,"function"==typeof e)Zl(e)&&(s=1);else if("string"==typeof e)s=5;else e:switch(e){case x:return ql(n.children,a,o,t);case U:s=8,a|=16;break;case C:s=8,a|=1;break;case _:return(e=Hl(12,n,t,8|a)).elementType=_,e.type=_,e.lanes=o,e;case L:return(e=Hl(13,n,t,a)).type=L,e.elementType=L,e.lanes=o,e;case A:return(e=Hl(19,n,t,a)).elementType=A,e.lanes=o,e;case D:return Gl(n,a,o,t);case M:return(e=Hl(24,n,t,a)).elementType=M,e.lanes=o,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case T:s=10;break e;case N:s=9;break e;case I:s=11;break e;case P:s=14;break e;case O:s=16,r=null;break e;case R:s=22;break e}throw Error(i(130,null==e?e:typeof e,""))}return(t=Hl(s,n,t,a)).elementType=e,t.type=r,t.lanes=o,t}function ql(e,t,n,r){return(e=Hl(7,e,r,t)).lanes=n,e}function Gl(e,t,n,r){return(e=Hl(23,e,r,t)).elementType=D,e.lanes=n,e}function Yl(e,t,n){return(e=Hl(6,e,null,t)).lanes=n,e}function Kl(e,t,n){return(t=Hl(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Xl(e,t,n){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.pendingContext=this.context=null,this.hydrate=n,this.callbackNode=null,this.callbackPriority=0,this.eventTimes=$t(0),this.expirationTimes=$t(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=$t(0),this.mutableSourceEagerHydrationData=null}function Jl(e,t,n,r){var a=t.current,o=fl(),s=pl(a);e:if(n){t:{if(Ge(n=n._reactInternals)!==n||1!==n.tag)throw Error(i(170));var l=n;do{switch(l.tag){case 3:l=l.stateNode.context;break t;case 1:if(ga(l.type)){l=l.stateNode.__reactInternalMemoizedMergedChildContext;break t}}l=l.return}while(null!==l);throw Error(i(171))}if(1===n.tag){var u=n.type;if(ga(u)){n=ya(n,u,l);break e}}n=l}else n=da;return null===t.context?t.context=n:t.pendingContext=n,(t=uo(o,s)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),co(a,t),hl(a,s,o),s}function eu(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function tu(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function nu(e,t){tu(e,t),(e=e.alternate)&&tu(e,t)}function ru(e,t,n){var r=null!=n&&null!=n.hydrationOptions&&n.hydrationOptions.mutableSources||null;if(n=new Xl(e,t,null!=n&&!0===n.hydrate),t=Hl(3,null,null,2===t?7:1===t?3:0),n.current=t,t.stateNode=n,so(t),e[Jr]=n.current,Ar(8===e.nodeType?e.parentNode:e),r)for(e=0;e<r.length;e++){var a=(t=r[e])._getVersion;a=a(t._source),null==n.mutableSourceEagerHydrationData?n.mutableSourceEagerHydrationData=[t,a]:n.mutableSourceEagerHydrationData.push(t,a)}this._internalRoot=n}function au(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function ou(e,t,n,r,a){var o=n._reactRootContainer;if(o){var i=o._internalRoot;if("function"==typeof a){var s=a;a=function(){var e=eu(i);s.call(e)}}Jl(t,i,e,a)}else{if(o=n._reactRootContainer=function(e,t){if(t||(t=!(!(t=e?9===e.nodeType?e.documentElement:e.firstChild:null)||1!==t.nodeType||!t.hasAttribute("data-reactroot"))),!t)for(var n;n=e.lastChild;)e.removeChild(n);return new ru(e,0,t?{hydrate:!0}:void 0)}(n,r),i=o._internalRoot,"function"==typeof a){var l=a;a=function(){var e=eu(i);l.call(e)}}kl((function(){Jl(t,i,e,a)}))}return eu(i)}function iu(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!au(t))throw Error(i(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:S,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,n)}qs=function(e,t,n){var r=t.lanes;if(null!==e)if(e.memoizedProps!==t.pendingProps||pa.current)Ui=!0;else{if(0==(n&r)){switch(Ui=!1,t.tag){case 3:Qi(t),Vo();break;case 5:zo(t);break;case 1:ga(t.type)&&wa(t);break;case 4:Oo(t,t.stateNode.containerInfo);break;case 10:r=t.memoizedProps.value;var a=t.type._context;ca(Ka,a._currentValue),a._currentValue=r;break;case 13:if(null!==t.memoizedState)return 0!=(n&t.child.childLanes)?Xi(e,t,n):(ca(Do,1&Do.current),null!==(t=os(e,t,n))?t.sibling:null);ca(Do,1&Do.current);break;case 19:if(r=0!=(n&t.childLanes),0!=(64&e.flags)){if(r)return as(e,t,n);t.flags|=64}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),ca(Do,Do.current),r)break;return null;case 23:case 24:return t.lanes=0,$i(e,t,n)}return os(e,t,n)}Ui=0!=(16384&e.flags)}else Ui=!1;switch(t.lanes=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=ma(t,fa.current),ao(t,n),a=ii(null,t,r,e,a,n),t.flags|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render&&void 0===a.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,ga(r)){var o=!0;wa(t)}else o=!1;t.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,so(t);var s=r.getDerivedStateFromProps;"function"==typeof s&&go(t,r,s,e),a.updater=bo,t.stateNode=a,a._reactInternals=t,ko(t,r,e,n),t=Zi(null,t,r,!0,o,n)}else t.tag=0,Di(null,t,a,n),t=t.child;return t;case 16:a=t.elementType;e:{switch(null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),e=t.pendingProps,a=(o=a._init)(a._payload),t.type=a,o=t.tag=function(e){if("function"==typeof e)return Zl(e)?1:0;if(null!=e){if((e=e.$$typeof)===I)return 11;if(e===P)return 14}return 2}(a),e=Ya(a,e),o){case 0:t=Wi(null,t,a,e,n);break e;case 1:t=Hi(null,t,a,e,n);break e;case 11:t=Mi(null,t,a,e,n);break e;case 14:t=Fi(null,t,a,Ya(a.type,e),r,n);break e}throw Error(i(306,a,""))}return t;case 0:return r=t.type,a=t.pendingProps,Wi(e,t,r,a=t.elementType===r?a:Ya(r,a),n);case 1:return r=t.type,a=t.pendingProps,Hi(e,t,r,a=t.elementType===r?a:Ya(r,a),n);case 3:if(Qi(t),r=t.updateQueue,null===e||null===r)throw Error(i(282));if(r=t.pendingProps,a=null!==(a=t.memoizedState)?a.element:null,lo(e,t),po(t,r,null,n),(r=t.memoizedState.element)===a)Vo(),t=os(e,t,n);else{if((o=(a=t.stateNode).hydrate)&&(Bo=Vr(t.stateNode.containerInfo.firstChild),Fo=t,o=$o=!0),o){if(null!=(e=a.mutableSourceEagerHydrationData))for(a=0;a<e.length;a+=2)(o=e[a])._workInProgressVersionPrimary=e[a+1],qo.push(o);for(n=To(t,null,r,n),t.child=n;n;)n.flags=-3&n.flags|1024,n=n.sibling}else Di(e,t,r,n),Vo();t=t.child}return t;case 5:return zo(t),null===e&&Ho(t),r=t.type,a=t.pendingProps,o=null!==e?e.memoizedProps:null,s=a.children,Wr(r,a)?s=null:null!==o&&Wr(r,o)&&(t.flags|=16),ji(e,t),Di(e,t,s,n),t.child;case 6:return null===e&&Ho(t),null;case 13:return Xi(e,t,n);case 4:return Oo(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=_o(t,null,r,n):Di(e,t,r,n),t.child;case 11:return r=t.type,a=t.pendingProps,Mi(e,t,r,a=t.elementType===r?a:Ya(r,a),n);case 7:return Di(e,t,t.pendingProps,n),t.child;case 8:case 12:return Di(e,t,t.pendingProps.children,n),t.child;case 10:e:{r=t.type._context,a=t.pendingProps,s=t.memoizedProps,o=a.value;var l=t.type._context;if(ca(Ka,l._currentValue),l._currentValue=o,null!==s)if(l=s.value,0===(o=ur(l,o)?0:0|("function"==typeof r._calculateChangedBits?r._calculateChangedBits(l,o):1073741823))){if(s.children===a.children&&!pa.current){t=os(e,t,n);break e}}else for(null!==(l=t.child)&&(l.return=t);null!==l;){var u=l.dependencies;if(null!==u){s=l.child;for(var c=u.firstContext;null!==c;){if(c.context===r&&0!=(c.observedBits&o)){1===l.tag&&((c=uo(-1,n&-n)).tag=2,co(l,c)),l.lanes|=n,null!==(c=l.alternate)&&(c.lanes|=n),ro(l.return,n),u.lanes|=n;break}c=c.next}}else s=10===l.tag&&l.type===t.type?null:l.child;if(null!==s)s.return=l;else for(s=l;null!==s;){if(s===t){s=null;break}if(null!==(l=s.sibling)){l.return=s.return,s=l;break}s=s.return}l=s}Di(e,t,a.children,n),t=t.child}return t;case 9:return a=t.type,r=(o=t.pendingProps).children,ao(t,n),r=r(a=oo(a,o.unstable_observedBits)),t.flags|=1,Di(e,t,r,n),t.child;case 14:return o=Ya(a=t.type,t.pendingProps),Fi(e,t,a,o=Ya(a.type,o),r,n);case 15:return Bi(e,t,t.type,t.pendingProps,r,n);case 17:return r=t.type,a=t.pendingProps,a=t.elementType===r?a:Ya(r,a),null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2),t.tag=1,ga(r)?(e=!0,wa(t)):e=!1,ao(t,n),yo(t,r,a),ko(t,r,a,n),Zi(null,t,r,!0,e,n);case 19:return as(e,t,n);case 23:case 24:return $i(e,t,n)}throw Error(i(156,t.tag))},ru.prototype.render=function(e){Jl(e,this._internalRoot,null,null)},ru.prototype.unmount=function(){var e=this._internalRoot,t=e.containerInfo;Jl(null,e,null,(function(){t[Jr]=null}))},et=function(e){13===e.tag&&(hl(e,4,fl()),nu(e,4))},tt=function(e){13===e.tag&&(hl(e,67108864,fl()),nu(e,67108864))},nt=function(e){if(13===e.tag){var t=fl(),n=pl(e);hl(e,n,t),nu(e,n)}},rt=function(e,t){return t()},_e=function(e,t,n){switch(t){case"input":if(ne(e,n),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=aa(r);if(!a)throw Error(i(90));K(r),ne(r,a)}}}break;case"textarea":ue(e,n);break;case"select":null!=(t=n.value)&&ie(e,!!n.multiple,t,!1)}},Pe=wl,Oe=function(e,t,n,r,a){var o=Ps;Ps|=4;try{return Za(98,e.bind(null,t,n,r,a))}finally{0===(Ps=o)&&(Vs(),Va())}},Re=function(){0==(49&Ps)&&(function(){if(null!==al){var e=al;al=null,e.forEach((function(e){e.expiredLanes|=24&e.pendingLanes,gl(e,ja())}))}Va()}(),zl())},ze=function(e,t){var n=Ps;Ps|=2;try{return e(t)}finally{0===(Ps=n)&&(Vs(),Va())}};var su={Events:[na,ra,aa,Le,Ae,zl,{current:!1}]},lu={findFiberByHostInstance:ta,bundleType:0,version:"17.0.2",rendererPackageName:"react-dom"},uu={bundleType:lu.bundleType,version:lu.version,rendererPackageName:lu.rendererPackageName,rendererConfig:lu.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:k.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Xe(e))?null:e.stateNode},findFiberByHostInstance:lu.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var cu=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!cu.isDisabled&&cu.supportsFiber)try{Ea=cu.inject(uu),Sa=cu}catch(me){}}t.hydrate=function(e,t,n){if(!au(t))throw Error(i(200));return ou(null,e,t,!0,n)}},3935:(e,t,n)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}(),e.exports=n(4448)},9590:e=>{var t="undefined"!=typeof Element,n="function"==typeof Map,r="function"==typeof Set,a="function"==typeof ArrayBuffer&&!!ArrayBuffer.isView;function o(e,i){if(e===i)return!0;if(e&&i&&"object"==typeof e&&"object"==typeof i){if(e.constructor!==i.constructor)return!1;var s,l,u,c;if(Array.isArray(e)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(!o(e[l],i[l]))return!1;return!0}if(n&&e instanceof Map&&i instanceof Map){if(e.size!==i.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!i.has(l.value[0]))return!1;for(c=e.entries();!(l=c.next()).done;)if(!o(l.value[1],i.get(l.value[0])))return!1;return!0}if(r&&e instanceof Set&&i instanceof Set){if(e.size!==i.size)return!1;for(c=e.entries();!(l=c.next()).done;)if(!i.has(l.value[0]))return!1;return!0}if(a&&ArrayBuffer.isView(e)&&ArrayBuffer.isView(i)){if((s=e.length)!=i.length)return!1;for(l=s;0!=l--;)if(e[l]!==i[l])return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf&&"function"==typeof e.valueOf&&"function"==typeof i.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString&&"function"==typeof e.toString&&"function"==typeof i.toString)return e.toString()===i.toString();if((s=(u=Object.keys(e)).length)!==Object.keys(i).length)return!1;for(l=s;0!=l--;)if(!Object.prototype.hasOwnProperty.call(i,u[l]))return!1;if(t&&e instanceof Element)return!1;for(l=s;0!=l--;)if(("_owner"!==u[l]&&"__v"!==u[l]&&"__o"!==u[l]||!e.$$typeof)&&!o(e[u[l]],i[u[l]]))return!1;return!0}return e!=e&&i!=i}e.exports=function(e,t){try{return o(e,t)}catch(n){if((n.message||"").match(/stack|recursion/i))return console.warn("react-fast-compare cannot handle circular refs"),!1;throw n}}},405:(e,t,n)=>{"use strict";n.d(t,{B6:()=>Z,ql:()=>J});var r=n(7294),a=n(5697),o=n.n(a),i=n(9590),s=n.n(i),l=n(1143),u=n.n(l),c=n(6774),d=n.n(c);function f(){return f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f.apply(this,arguments)}function p(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,h(e,t)}function h(e,t){return h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},h(e,t)}function m(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)t.indexOf(n=o[r])>=0||(a[n]=e[n]);return a}var g={BASE:"base",BODY:"body",HEAD:"head",HTML:"html",LINK:"link",META:"meta",NOSCRIPT:"noscript",SCRIPT:"script",STYLE:"style",TITLE:"title",FRAGMENT:"Symbol(react.fragment)"},b={rel:["amphtml","canonical","alternate"]},v={type:["application/ld+json"]},y={charset:"",name:["robots","description"],property:["og:type","og:title","og:url","og:image","og:image:alt","og:description","twitter:url","twitter:title","twitter:description","twitter:image","twitter:image:alt","twitter:card","twitter:site"]},w=Object.keys(g).map((function(e){return g[e]})),k={accesskey:"accessKey",charset:"charSet",class:"className",contenteditable:"contentEditable",contextmenu:"contextMenu","http-equiv":"httpEquiv",itemprop:"itemProp",tabindex:"tabIndex"},E=Object.keys(k).reduce((function(e,t){return e[k[t]]=t,e}),{}),S=function(e,t){for(var n=e.length-1;n>=0;n-=1){var r=e[n];if(Object.prototype.hasOwnProperty.call(r,t))return r[t]}return null},x=function(e){var t=S(e,g.TITLE),n=S(e,"titleTemplate");if(Array.isArray(t)&&(t=t.join("")),n&&t)return n.replace(/%s/g,(function(){return t}));var r=S(e,"defaultTitle");return t||r||void 0},C=function(e){return S(e,"onChangeClientState")||function(){}},_=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return f({},e,t)}),{})},T=function(e,t){return t.filter((function(e){return void 0!==e[g.BASE]})).map((function(e){return e[g.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),a=0;a<r.length;a+=1){var o=r[a].toLowerCase();if(-1!==e.indexOf(o)&&n[o])return t.concat(n)}return t}),[])},N=function(e,t,n){var r={};return n.filter((function(t){return!!Array.isArray(t[e])||(void 0!==t[e]&&console&&"function"==typeof console.warn&&console.warn("Helmet: "+e+' should be of type "Array". Instead found type "'+typeof t[e]+'"'),!1)})).map((function(t){return t[e]})).reverse().reduce((function(e,n){var a={};n.filter((function(e){for(var n,o=Object.keys(e),i=0;i<o.length;i+=1){var s=o[i],l=s.toLowerCase();-1===t.indexOf(l)||"rel"===n&&"canonical"===e[n].toLowerCase()||"rel"===l&&"stylesheet"===e[l].toLowerCase()||(n=l),-1===t.indexOf(s)||"innerHTML"!==s&&"cssText"!==s&&"itemprop"!==s||(n=s)}if(!n||!e[n])return!1;var u=e[n].toLowerCase();return r[n]||(r[n]={}),a[n]||(a[n]={}),!r[n][u]&&(a[n][u]=!0,!0)})).reverse().forEach((function(t){return e.push(t)}));for(var o=Object.keys(a),i=0;i<o.length;i+=1){var s=o[i],l=f({},r[s],a[s]);r[s]=l}return e}),[]).reverse()},I=function(e,t){if(Array.isArray(e)&&e.length)for(var n=0;n<e.length;n+=1)if(e[n][t])return!0;return!1},L=function(e){return Array.isArray(e)?e.join(""):e},A=function(e,t){return Array.isArray(e)?e.reduce((function(e,n){return function(e,t){for(var n=Object.keys(e),r=0;r<n.length;r+=1)if(t[n[r]]&&t[n[r]].includes(e[n[r]]))return!0;return!1}(n,t)?e.priority.push(n):e.default.push(n),e}),{priority:[],default:[]}):{default:e}},P=function(e,t){var n;return f({},e,((n={})[t]=void 0,n))},O=[g.NOSCRIPT,g.SCRIPT,g.STYLE],R=function(e,t){return void 0===t&&(t=!0),!1===t?String(e):String(e).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},z=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},U=function(e,t){return void 0===t&&(t={}),Object.keys(e).reduce((function(t,n){return t[k[n]||n]=e[n],t}),t)},D=function(e,t){return t.map((function(t,n){var a,o=((a={key:n})["data-rh"]=!0,a);return Object.keys(t).forEach((function(e){var n=k[e]||e;"innerHTML"===n||"cssText"===n?o.dangerouslySetInnerHTML={__html:t.innerHTML||t.cssText}:o[n]=t[e]})),r.createElement(e,o)}))},M=function(e,t,n){switch(e){case g.TITLE:return{toComponent:function(){return n=t.titleAttributes,(a={key:e=t.title})["data-rh"]=!0,o=U(n,a),[r.createElement(g.TITLE,o,e)];var e,n,a,o},toString:function(){return function(e,t,n,r){var a=z(n),o=L(t);return a?"<"+e+' data-rh="true" '+a+">"+R(o,r)+"</"+e+">":"<"+e+' data-rh="true">'+R(o,r)+"</"+e+">"}(e,t.title,t.titleAttributes,n)}};case"bodyAttributes":case"htmlAttributes":return{toComponent:function(){return U(t)},toString:function(){return z(t)}};default:return{toComponent:function(){return D(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var a=Object.keys(r).filter((function(e){return!("innerHTML"===e||"cssText"===e)})).reduce((function(e,t){var a=void 0===r[t]?t:t+'="'+R(r[t],n)+'"';return e?e+" "+a:a}),""),o=r.innerHTML||r.cssText||"",i=-1===O.indexOf(e);return t+"<"+e+' data-rh="true" '+a+(i?"/>":">"+o+"</"+e+">")}),"")}(e,t,n)}}}},F=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,a=e.htmlAttributes,o=e.noscriptTags,i=e.styleTags,s=e.title,l=void 0===s?"":s,u=e.titleAttributes,c=e.linkTags,d=e.metaTags,f=e.scriptTags,p={toComponent:function(){},toString:function(){return""}};if(e.prioritizeSeoTags){var h=function(e){var t=e.linkTags,n=e.scriptTags,r=e.encode,a=A(e.metaTags,y),o=A(t,b),i=A(n,v);return{priorityMethods:{toComponent:function(){return[].concat(D(g.META,a.priority),D(g.LINK,o.priority),D(g.SCRIPT,i.priority))},toString:function(){return M(g.META,a.priority,r)+" "+M(g.LINK,o.priority,r)+" "+M(g.SCRIPT,i.priority,r)}},metaTags:a.default,linkTags:o.default,scriptTags:i.default}}(e);p=h.priorityMethods,c=h.linkTags,d=h.metaTags,f=h.scriptTags}return{priority:p,base:M(g.BASE,t,r),bodyAttributes:M("bodyAttributes",n,r),htmlAttributes:M("htmlAttributes",a,r),link:M(g.LINK,c,r),meta:M(g.META,d,r),noscript:M(g.NOSCRIPT,o,r),script:M(g.SCRIPT,f,r),style:M(g.STYLE,i,r),title:M(g.TITLE,{title:l,titleAttributes:u},r)}},B=[],$=function(e,t){var n=this;void 0===t&&(t="undefined"!=typeof document),this.instances=[],this.value={setHelmet:function(e){n.context.helmet=e},helmetInstances:{get:function(){return n.canUseDOM?B:n.instances},add:function(e){(n.canUseDOM?B:n.instances).push(e)},remove:function(e){var t=(n.canUseDOM?B:n.instances).indexOf(e);(n.canUseDOM?B:n.instances).splice(t,1)}}},this.context=e,this.canUseDOM=t,t||(e.helmet=F({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}}))},j=r.createContext({}),W=o().shape({setHelmet:o().func,helmetInstances:o().shape({get:o().func,add:o().func,remove:o().func})}),H="undefined"!=typeof document,Z=function(e){function t(n){var r;return(r=e.call(this,n)||this).helmetData=new $(r.props.context,t.canUseDOM),r}return p(t,e),t.prototype.render=function(){return r.createElement(j.Provider,{value:this.helmetData.value},this.props.children)},t}(r.Component);Z.canUseDOM=H,Z.propTypes={context:o().shape({helmet:o().shape()}),children:o().node.isRequired},Z.defaultProps={context:{}},Z.displayName="HelmetProvider";var Q=function(e,t){var n,r=document.head||document.querySelector(g.HEAD),a=r.querySelectorAll(e+"[data-rh]"),o=[].slice.call(a),i=[];return t&&t.length&&t.forEach((function(t){var r=document.createElement(e);for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&("innerHTML"===a?r.innerHTML=t.innerHTML:"cssText"===a?r.styleSheet?r.styleSheet.cssText=t.cssText:r.appendChild(document.createTextNode(t.cssText)):r.setAttribute(a,void 0===t[a]?"":t[a]));r.setAttribute("data-rh","true"),o.some((function(e,t){return n=t,r.isEqualNode(e)}))?o.splice(n,1):i.push(r)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),i.forEach((function(e){return r.appendChild(e)})),{oldTags:o,newTags:i}},V=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute("data-rh"),a=r?r.split(","):[],o=[].concat(a),i=Object.keys(t),s=0;s<i.length;s+=1){var l=i[s],u=t[l]||"";n.getAttribute(l)!==u&&n.setAttribute(l,u),-1===a.indexOf(l)&&a.push(l);var c=o.indexOf(l);-1!==c&&o.splice(c,1)}for(var d=o.length-1;d>=0;d-=1)n.removeAttribute(o[d]);a.length===o.length?n.removeAttribute("data-rh"):n.getAttribute("data-rh")!==i.join(",")&&n.setAttribute("data-rh",i.join(","))}},q=function(e,t){var n=e.baseTag,r=e.htmlAttributes,a=e.linkTags,o=e.metaTags,i=e.noscriptTags,s=e.onChangeClientState,l=e.scriptTags,u=e.styleTags,c=e.title,d=e.titleAttributes;V(g.BODY,e.bodyAttributes),V(g.HTML,r),function(e,t){void 0!==e&&document.title!==e&&(document.title=L(e)),V(g.TITLE,t)}(c,d);var f={baseTag:Q(g.BASE,n),linkTags:Q(g.LINK,a),metaTags:Q(g.META,o),noscriptTags:Q(g.NOSCRIPT,i),scriptTags:Q(g.SCRIPT,l),styleTags:Q(g.STYLE,u)},p={},h={};Object.keys(f).forEach((function(e){var t=f[e],n=t.newTags,r=t.oldTags;n.length&&(p[e]=n),r.length&&(h[e]=f[e].oldTags)})),t&&t(),s(e,p,h)},G=null,Y=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).rendered=!1,t}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!d()(e,this.props)},n.componentDidUpdate=function(){this.emitChange()},n.componentWillUnmount=function(){this.props.context.helmetInstances.remove(this),this.emitChange()},n.emitChange=function(){var e,t,n=this.props.context,r=n.setHelmet,a=null,o=(e=n.helmetInstances.get().map((function(e){var t=f({},e.props);return delete t.context,t})),{baseTag:T(["href"],e),bodyAttributes:_("bodyAttributes",e),defer:S(e,"defer"),encode:S(e,"encodeSpecialCharacters"),htmlAttributes:_("htmlAttributes",e),linkTags:N(g.LINK,["rel","href"],e),metaTags:N(g.META,["name","charset","http-equiv","property","itemprop"],e),noscriptTags:N(g.NOSCRIPT,["innerHTML"],e),onChangeClientState:C(e),scriptTags:N(g.SCRIPT,["src","innerHTML"],e),styleTags:N(g.STYLE,["cssText"],e),title:x(e),titleAttributes:_("titleAttributes",e),prioritizeSeoTags:I(e,"prioritizeSeoTags")});Z.canUseDOM?(t=o,G&&cancelAnimationFrame(G),t.defer?G=requestAnimationFrame((function(){q(t,(function(){G=null}))})):(q(t),G=null)):F&&(a=F(o)),r(a)},n.init=function(){this.rendered||(this.rendered=!0,this.props.context.helmetInstances.add(this),this.emitChange())},n.render=function(){return this.init(),null},t}(r.Component);Y.propTypes={context:W.isRequired},Y.displayName="HelmetDispatcher";var K=["children"],X=["children"],J=function(e){function t(){return e.apply(this,arguments)||this}p(t,e);var n=t.prototype;return n.shouldComponentUpdate=function(e){return!s()(P(this.props,"helmetData"),P(e,"helmetData"))},n.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case g.SCRIPT:case g.NOSCRIPT:return{innerHTML:t};case g.STYLE:return{cssText:t};default:throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")}},n.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren;return f({},r,((t={})[n.type]=[].concat(r[n.type]||[],[f({},e.newChildProps,this.mapNestedChildrenToProps(n,e.nestedChildren))]),t))},n.mapObjectTypeChildren=function(e){var t,n,r=e.child,a=e.newProps,o=e.newChildProps,i=e.nestedChildren;switch(r.type){case g.TITLE:return f({},a,((t={})[r.type]=i,t.titleAttributes=f({},o),t));case g.BODY:return f({},a,{bodyAttributes:f({},o)});case g.HTML:return f({},a,{htmlAttributes:f({},o)});default:return f({},a,((n={})[r.type]=f({},o),n))}},n.mapArrayTypeChildrenToProps=function(e,t){var n=f({},t);return Object.keys(e).forEach((function(t){var r;n=f({},n,((r={})[t]=e[t],r))})),n},n.warnOnInvalidChildren=function(e,t){return u()(w.some((function(t){return e.type===t})),"function"==typeof e.type?"You may be attempting to nest <Helmet> components within each other, which is not allowed. Refer to our API for more information.":"Only elements types "+w.join(", ")+" are allowed. Helmet does not support rendering <"+e.type+"> elements. Refer to our API for more information."),u()(!t||"string"==typeof t||Array.isArray(t)&&!t.some((function(e){return"string"!=typeof e})),"Helmet expects a string as a child of <"+e.type+">. Did you forget to wrap your children in braces? ( <"+e.type+">{``}</"+e.type+"> ) Refer to our API for more information."),!0},n.mapChildrenToProps=function(e,t){var n=this,a={};return r.Children.forEach(e,(function(e){if(e&&e.props){var r=e.props,o=r.children,i=m(r,K),s=Object.keys(i).reduce((function(e,t){return e[E[t]||t]=i[t],e}),{}),l=e.type;switch("symbol"==typeof l?l=l.toString():n.warnOnInvalidChildren(e,o),l){case g.FRAGMENT:t=n.mapChildrenToProps(o,t);break;case g.LINK:case g.META:case g.NOSCRIPT:case g.SCRIPT:case g.STYLE:a=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:a,newChildProps:s,nestedChildren:o});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:s,nestedChildren:o})}}})),this.mapArrayTypeChildrenToProps(a,t)},n.render=function(){var e=this.props,t=e.children,n=m(e,X),a=f({},n),o=n.helmetData;return t&&(a=this.mapChildrenToProps(t,a)),!o||o instanceof $||(o=new $(o.context,o.instances)),o?r.createElement(Y,f({},a,{context:o.value,helmetData:void 0})):r.createElement(j.Consumer,null,(function(e){return r.createElement(Y,f({},a,{context:e}))}))},t}(r.Component);J.propTypes={base:o().object,bodyAttributes:o().object,children:o().oneOfType([o().arrayOf(o().node),o().node]),defaultTitle:o().string,defer:o().bool,encodeSpecialCharacters:o().bool,htmlAttributes:o().object,link:o().arrayOf(o().object),meta:o().arrayOf(o().object),noscript:o().arrayOf(o().object),onChangeClientState:o().func,script:o().arrayOf(o().object),style:o().arrayOf(o().object),title:o().string,titleAttributes:o().object,titleTemplate:o().string,prioritizeSeoTags:o().bool,helmetData:o().object},J.defaultProps={defer:!0,encodeSpecialCharacters:!0,prioritizeSeoTags:!1},J.displayName="Helmet"},9921:(e,t)=>{"use strict";var n="function"==typeof Symbol&&Symbol.for,r=n?Symbol.for("react.element"):60103,a=n?Symbol.for("react.portal"):60106,o=n?Symbol.for("react.fragment"):60107,i=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,l=n?Symbol.for("react.provider"):60109,u=n?Symbol.for("react.context"):60110,c=n?Symbol.for("react.async_mode"):60111,d=n?Symbol.for("react.concurrent_mode"):60111,f=n?Symbol.for("react.forward_ref"):60112,p=n?Symbol.for("react.suspense"):60113,h=n?Symbol.for("react.suspense_list"):60120,m=n?Symbol.for("react.memo"):60115,g=n?Symbol.for("react.lazy"):60116,b=n?Symbol.for("react.block"):60121,v=n?Symbol.for("react.fundamental"):60117,y=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function k(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case r:switch(e=e.type){case c:case d:case o:case s:case i:case p:return e;default:switch(e=e&&e.$$typeof){case u:case f:case g:case m:case l:return e;default:return t}}case a:return t}}}function E(e){return k(e)===d}t.AsyncMode=c,t.ConcurrentMode=d,t.ContextConsumer=u,t.ContextProvider=l,t.Element=r,t.ForwardRef=f,t.Fragment=o,t.Lazy=g,t.Memo=m,t.Portal=a,t.Profiler=s,t.StrictMode=i,t.Suspense=p,t.isAsyncMode=function(e){return E(e)||k(e)===c},t.isConcurrentMode=E,t.isContextConsumer=function(e){return k(e)===u},t.isContextProvider=function(e){return k(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===r},t.isForwardRef=function(e){return k(e)===f},t.isFragment=function(e){return k(e)===o},t.isLazy=function(e){return k(e)===g},t.isMemo=function(e){return k(e)===m},t.isPortal=function(e){return k(e)===a},t.isProfiler=function(e){return k(e)===s},t.isStrictMode=function(e){return k(e)===i},t.isSuspense=function(e){return k(e)===p},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===o||e===d||e===s||e===i||e===p||e===h||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===m||e.$$typeof===l||e.$$typeof===u||e.$$typeof===f||e.$$typeof===v||e.$$typeof===y||e.$$typeof===w||e.$$typeof===b)},t.typeOf=k},9864:(e,t,n)=>{"use strict";e.exports=n(9921)},8356:(e,t,n)=>{"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function a(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(this,arguments)}var s=n(7294),l=n(5697),u=[],c=[];function d(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}function f(e){var t={loading:!1,loaded:{},error:null},n=[];try{Object.keys(e).forEach((function(r){var a=d(e[r]);a.loading?t.loading=!0:(t.loaded[r]=a.loaded,t.error=a.error),n.push(a.promise),a.promise.then((function(e){t.loaded[r]=e})).catch((function(e){t.error=e}))}))}catch(r){t.error=r}return t.promise=Promise.all(n).then((function(e){return t.loading=!1,e})).catch((function(e){throw t.loading=!1,e})),t}function p(e,t){return s.createElement((n=e)&&n.__esModule?n.default:n,t);var n}function h(e,t){var d,f;if(!t.loading)throw new Error("react-loadable requires a `loading` component");var h=i({loader:null,loading:null,delay:200,timeout:null,render:p,webpack:null,modules:null},t),m=null;function g(){return m||(m=e(h.loader)),m.promise}return u.push(g),"function"==typeof h.webpack&&c.push((function(){if((0,h.webpack)().every((function(e){return void 0!==e&&void 0!==n.m[e]})))return g()})),f=d=function(t){function n(n){var r;return o(a(a(r=t.call(this,n)||this)),"retry",(function(){r.setState({error:null,loading:!0,timedOut:!1}),m=e(h.loader),r._loadModule()})),g(),r.state={error:m.error,pastDelay:!1,timedOut:!1,loading:m.loading,loaded:m.loaded},r}r(n,t),n.preload=function(){return g()};var i=n.prototype;return i.UNSAFE_componentWillMount=function(){this._loadModule()},i.componentDidMount=function(){this._mounted=!0},i._loadModule=function(){var e=this;if(this.context.loadable&&Array.isArray(h.modules)&&h.modules.forEach((function(t){e.context.loadable.report(t)})),m.loading){var t=function(t){e._mounted&&e.setState(t)};"number"==typeof h.delay&&(0===h.delay?this.setState({pastDelay:!0}):this._delay=setTimeout((function(){t({pastDelay:!0})}),h.delay)),"number"==typeof h.timeout&&(this._timeout=setTimeout((function(){t({timedOut:!0})}),h.timeout));var n=function(){t({error:m.error,loaded:m.loaded,loading:m.loading}),e._clearTimeouts()};m.promise.then((function(){return n(),null})).catch((function(e){return n(),null}))}},i.componentWillUnmount=function(){this._mounted=!1,this._clearTimeouts()},i._clearTimeouts=function(){clearTimeout(this._delay),clearTimeout(this._timeout)},i.render=function(){return this.state.loading||this.state.error?s.createElement(h.loading,{isLoading:this.state.loading,pastDelay:this.state.pastDelay,timedOut:this.state.timedOut,error:this.state.error,retry:this.retry}):this.state.loaded?h.render(this.state.loaded,this.props):null},n}(s.Component),o(d,"contextTypes",{loadable:l.shape({report:l.func.isRequired})}),f}function m(e){return h(d,e)}m.Map=function(e){if("function"!=typeof e.render)throw new Error("LoadableMap requires a `render(loaded, props)` function");return h(f,e)};var g=function(e){function t(){return e.apply(this,arguments)||this}r(t,e);var n=t.prototype;return n.getChildContext=function(){return{loadable:{report:this.props.report}}},n.render=function(){return s.Children.only(this.props.children)},t}(s.Component);function b(e){for(var t=[];e.length;){var n=e.pop();t.push(n())}return Promise.all(t).then((function(){if(e.length)return b(e)}))}o(g,"propTypes",{report:l.func.isRequired}),o(g,"childContextTypes",{loadable:l.shape({report:l.func.isRequired}).isRequired}),m.Capture=g,m.preloadAll=function(){return new Promise((function(e,t){b(u).then(e,t)}))},m.preloadReady=function(){return new Promise((function(e,t){b(c).then(e,e)}))},e.exports=m},8790:(e,t,n)=>{"use strict";n.d(t,{H:()=>s,f:()=>i});var r=n(6550),a=n(7462),o=n(7294);function i(e,t,n){return void 0===n&&(n=[]),e.some((function(e){var a=e.path?(0,r.LX)(t,e):n.length?n[n.length-1].match:r.F0.computeRootMatch(t);return a&&(n.push({route:e,match:a}),e.routes&&i(e.routes,t,n)),a})),n}function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),e?o.createElement(r.rs,n,e.map((function(e,n){return o.createElement(r.AW,{key:e.key||n,path:e.path,exact:e.exact,strict:e.strict,render:function(n){return e.render?e.render((0,a.Z)({},n,{},t,{route:e})):o.createElement(e.component,(0,a.Z)({},n,t,{route:e}))}})}))):null}},3727:(e,t,n)=>{"use strict";n.d(t,{OL:()=>y,VK:()=>c,rU:()=>g});var r=n(6550),a=n(5068),o=n(7294),i=n(9318),s=n(7462),l=n(3366),u=n(8776),c=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(t=e.call.apply(e,[this].concat(r))||this).history=(0,i.lX)(t.props),t}return(0,a.Z)(t,e),t.prototype.render=function(){return o.createElement(r.F0,{history:this.history,children:this.props.children})},t}(o.Component);o.Component;var d=function(e,t){return"function"==typeof e?e(t):e},f=function(e,t){return"string"==typeof e?(0,i.ob)(e,null,null,t):e},p=function(e){return e},h=o.forwardRef;void 0===h&&(h=p);var m=h((function(e,t){var n=e.innerRef,r=e.navigate,a=e.onClick,i=(0,l.Z)(e,["innerRef","navigate","onClick"]),u=i.target,c=(0,s.Z)({},i,{onClick:function(e){try{a&&a(e)}catch(t){throw e.preventDefault(),t}e.defaultPrevented||0!==e.button||u&&"_self"!==u||function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)||(e.preventDefault(),r())}});return c.ref=p!==h&&t||n,o.createElement("a",c)}));var g=h((function(e,t){var n=e.component,a=void 0===n?m:n,c=e.replace,g=e.to,b=e.innerRef,v=(0,l.Z)(e,["component","replace","to","innerRef"]);return o.createElement(r.s6.Consumer,null,(function(e){e||(0,u.Z)(!1);var n=e.history,r=f(d(g,e.location),e.location),l=r?n.createHref(r):"",m=(0,s.Z)({},v,{href:l,navigate:function(){var t=d(g,e.location),r=(0,i.Ep)(e.location)===(0,i.Ep)(f(t));(c||r?n.replace:n.push)(t)}});return p!==h?m.ref=t||b:m.innerRef=b,o.createElement(a,m)}))})),b=function(e){return e},v=o.forwardRef;void 0===v&&(v=b);var y=v((function(e,t){var n=e["aria-current"],a=void 0===n?"page":n,i=e.activeClassName,c=void 0===i?"active":i,p=e.activeStyle,h=e.className,m=e.exact,y=e.isActive,w=e.location,k=e.sensitive,E=e.strict,S=e.style,x=e.to,C=e.innerRef,_=(0,l.Z)(e,["aria-current","activeClassName","activeStyle","className","exact","isActive","location","sensitive","strict","style","to","innerRef"]);return o.createElement(r.s6.Consumer,null,(function(e){e||(0,u.Z)(!1);var n=w||e.location,i=f(d(x,n),n),l=i.pathname,T=l&&l.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),N=T?(0,r.LX)(n.pathname,{path:T,exact:m,sensitive:k,strict:E}):null,I=!!(y?y(N,n):N),L="function"==typeof h?h(I):h,A="function"==typeof S?S(I):S;I&&(L=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter((function(e){return e})).join(" ")}(L,c),A=(0,s.Z)({},A,p));var P=(0,s.Z)({"aria-current":I&&a||null,className:L,style:A,to:i},_);return b!==v?P.ref=t||C:P.innerRef=C,o.createElement(g,P)}))}))},6550:(e,t,n)=>{"use strict";n.d(t,{AW:()=>x,F0:()=>y,LX:()=>S,TH:()=>O,k6:()=>P,rs:()=>L,s6:()=>v});var r=n(5068),a=n(7294),o=n(5697),i=n.n(o),s=n(9318),l=n(8776),u=n(7462),c=n(9658),d=n.n(c),f=(n(9864),n(3366)),p=(n(8679),1073741823),h="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==n.g?n.g:{};var m=a.createContext||function(e,t){var n,o,s="__create-react-context-"+function(){var e="__global_unique_id__";return h[e]=(h[e]||0)+1}()+"__",l=function(e){function n(){for(var t,n,r,a=arguments.length,o=new Array(a),i=0;i<a;i++)o[i]=arguments[i];return(t=e.call.apply(e,[this].concat(o))||this).emitter=(n=t.props.value,r=[],{on:function(e){r.push(e)},off:function(e){r=r.filter((function(t){return t!==e}))},get:function(){return n},set:function(e,t){n=e,r.forEach((function(e){return e(n,t)}))}}),t}(0,r.Z)(n,e);var a=n.prototype;return a.getChildContext=function(){var e;return(e={})[s]=this.emitter,e},a.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,a=e.value;((o=r)===(i=a)?0!==o||1/o==1/i:o!=o&&i!=i)?n=0:(n="function"==typeof t?t(r,a):p,0!==(n|=0)&&this.emitter.set(e.value,n))}var o,i},a.render=function(){return this.props.children},n}(a.Component);l.childContextTypes=((n={})[s]=i().object.isRequired,n);var u=function(t){function n(){for(var e,n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return(e=t.call.apply(t,[this].concat(r))||this).observedBits=void 0,e.state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}(0,r.Z)(n,t);var a=n.prototype;return a.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?p:t},a.componentDidMount=function(){this.context[s]&&this.context[s].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?p:e},a.componentWillUnmount=function(){this.context[s]&&this.context[s].off(this.onUpdate)},a.getValue=function(){return this.context[s]?this.context[s].get():e},a.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(a.Component);return u.contextTypes=((o={})[s]=i().object,o),{Provider:l,Consumer:u}},g=function(e){var t=m();return t.displayName=e,t},b=g("Router-History"),v=g("Router"),y=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._pendingLocation=e}))),n}(0,r.Z)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){var e=this;this._isMounted=!0,this.unlisten&&this.unlisten(),this.props.staticContext||(this.unlisten=this.props.history.listen((function(t){e._isMounted&&e.setState({location:t})}))),this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&(this.unlisten(),this._isMounted=!1,this._pendingLocation=null)},n.render=function(){return a.createElement(v.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},a.createElement(b.Provider,{children:this.props.children||null,value:this.props.history}))},t}(a.Component);a.Component;a.Component;var w={},k=1e4,E=0;function S(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,a=n.exact,o=void 0!==a&&a,i=n.strict,s=void 0!==i&&i,l=n.sensitive,u=void 0!==l&&l;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=w[n]||(w[n]={});if(r[e])return r[e];var a=[],o={regexp:d()(e,a,t),keys:a};return E<k&&(r[e]=o,E++),o}(n,{end:o,strict:s,sensitive:u}),a=r.regexp,i=r.keys,l=a.exec(e);if(!l)return null;var c=l[0],f=l.slice(1),p=e===c;return o&&!p?null:{path:n,url:"/"===n&&""===c?"/":c,isExact:p,params:i.reduce((function(e,t,n){return e[t.name]=f[n],e}),{})}}),null)}var x=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(v.Consumer,null,(function(t){t||(0,l.Z)(!1);var n=e.props.location||t.location,r=e.props.computedMatch?e.props.computedMatch:e.props.path?S(n.pathname,e.props):t.match,o=(0,u.Z)({},t,{location:n,match:r}),i=e.props,s=i.children,c=i.component,d=i.render;return Array.isArray(s)&&function(e){return 0===a.Children.count(e)}(s)&&(s=null),a.createElement(v.Provider,{value:o},o.match?s?"function"==typeof s?s(o):s:c?a.createElement(c,o):d?d(o):null:"function"==typeof s?s(o):null)}))},t}(a.Component);function C(e){return"/"===e.charAt(0)?e:"/"+e}function _(e,t){if(!e)return t;var n=C(e);return 0!==t.pathname.indexOf(n)?t:(0,u.Z)({},t,{pathname:t.pathname.substr(n.length)})}function T(e){return"string"==typeof e?e:(0,s.Ep)(e)}function N(e){return function(){(0,l.Z)(!1)}}function I(){}a.Component;var L=function(e){function t(){return e.apply(this,arguments)||this}return(0,r.Z)(t,e),t.prototype.render=function(){var e=this;return a.createElement(v.Consumer,null,(function(t){t||(0,l.Z)(!1);var n,r,o=e.props.location||t.location;return a.Children.forEach(e.props.children,(function(e){if(null==r&&a.isValidElement(e)){n=e;var i=e.props.path||e.props.from;r=i?S(o.pathname,(0,u.Z)({},e.props,{path:i})):t.match}})),r?a.cloneElement(n,{location:o,computedMatch:r}):null}))},t}(a.Component);var A=a.useContext;function P(){return A(b)}function O(){return A(v).location}},9658:(e,t,n)=>{var r=n(5826);e.exports=p,e.exports.parse=o,e.exports.compile=function(e,t){return s(o(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=f;var a=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function o(e,t){for(var n,r=[],o=0,i=0,s="",c=t&&t.delimiter||"/";null!=(n=a.exec(e));){var d=n[0],f=n[1],p=n.index;if(s+=e.slice(i,p),i=p+d.length,f)s+=f[1];else{var h=e[i],m=n[2],g=n[3],b=n[4],v=n[5],y=n[6],w=n[7];s&&(r.push(s),s="");var k=null!=m&&null!=h&&h!==m,E="+"===y||"*"===y,S="?"===y||"*"===y,x=n[2]||c,C=b||v;r.push({name:g||o++,prefix:m||"",delimiter:x,optional:S,repeat:E,partial:k,asterisk:!!w,pattern:C?u(C):w?".*":"[^"+l(x)+"]+?"})}}return i<e.length&&(s+=e.substr(i)),s&&r.push(s),r}function i(e){return encodeURI(e).replace(/[\/?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()}))}function s(e,t){for(var n=new Array(e.length),a=0;a<e.length;a++)"object"==typeof e[a]&&(n[a]=new RegExp("^(?:"+e[a].pattern+")$",d(t)));return function(t,a){for(var o="",s=t||{},l=(a||{}).pretty?i:encodeURIComponent,u=0;u<e.length;u++){var c=e[u];if("string"!=typeof c){var d,f=s[c.name];if(null==f){if(c.optional){c.partial&&(o+=c.prefix);continue}throw new TypeError('Expected "'+c.name+'" to be defined')}if(r(f)){if(!c.repeat)throw new TypeError('Expected "'+c.name+'" to not repeat, but received `'+JSON.stringify(f)+"`");if(0===f.length){if(c.optional)continue;throw new TypeError('Expected "'+c.name+'" to not be empty')}for(var p=0;p<f.length;p++){if(d=l(f[p]),!n[u].test(d))throw new TypeError('Expected all "'+c.name+'" to match "'+c.pattern+'", but received `'+JSON.stringify(d)+"`");o+=(0===p?c.prefix:c.delimiter)+d}}else{if(d=c.asterisk?encodeURI(f).replace(/[?#]/g,(function(e){return"%"+e.charCodeAt(0).toString(16).toUpperCase()})):l(f),!n[u].test(d))throw new TypeError('Expected "'+c.name+'" to match "'+c.pattern+'", but received "'+d+'"');o+=c.prefix+d}}else o+=c}return o}}function l(e){return e.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function u(e){return e.replace(/([=!:$\/()])/g,"\\$1")}function c(e,t){return e.keys=t,e}function d(e){return e&&e.sensitive?"":"i"}function f(e,t,n){r(t)||(n=t||n,t=[]);for(var a=(n=n||{}).strict,o=!1!==n.end,i="",s=0;s<e.length;s++){var u=e[s];if("string"==typeof u)i+=l(u);else{var f=l(u.prefix),p="(?:"+u.pattern+")";t.push(u),u.repeat&&(p+="(?:"+f+p+")*"),i+=p=u.optional?u.partial?f+"("+p+")?":"(?:"+f+"("+p+"))?":f+"("+p+")"}}var h=l(n.delimiter||"/"),m=i.slice(-h.length)===h;return a||(i=(m?i.slice(0,-h.length):i)+"(?:"+h+"(?=$))?"),i+=o?"$":a&&m?"":"(?="+h+"|$)",c(new RegExp("^"+i,d(n)),t)}function p(e,t,n){return r(t)||(n=t||n,t=[]),n=n||{},e instanceof RegExp?function(e,t){var n=e.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)t.push({name:r,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return c(e,t)}(e,t):r(e)?function(e,t,n){for(var r=[],a=0;a<e.length;a++)r.push(p(e[a],t,n).source);return c(new RegExp("(?:"+r.join("|")+")",d(n)),t)}(e,t,n):function(e,t,n){return f(o(e,n),t,n)}(e,t,n)}},2408:(e,t,n)=>{"use strict";var r=n(7418),a=60103,o=60106;t.Fragment=60107,t.StrictMode=60108,t.Profiler=60114;var i=60109,s=60110,l=60112;t.Suspense=60113;var u=60115,c=60116;if("function"==typeof Symbol&&Symbol.for){var d=Symbol.for;a=d("react.element"),o=d("react.portal"),t.Fragment=d("react.fragment"),t.StrictMode=d("react.strict_mode"),t.Profiler=d("react.profiler"),i=d("react.provider"),s=d("react.context"),l=d("react.forward_ref"),t.Suspense=d("react.suspense"),u=d("react.memo"),c=d("react.lazy")}var f="function"==typeof Symbol&&Symbol.iterator;function p(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var h={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},m={};function g(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}function b(){}function v(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||h}g.prototype.isReactComponent={},g.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error(p(85));this.updater.enqueueSetState(this,e,t,"setState")},g.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},b.prototype=g.prototype;var y=v.prototype=new b;y.constructor=v,r(y,g.prototype),y.isPureReactComponent=!0;var w={current:null},k=Object.prototype.hasOwnProperty,E={key:!0,ref:!0,__self:!0,__source:!0};function S(e,t,n){var r,o={},i=null,s=null;if(null!=t)for(r in void 0!==t.ref&&(s=t.ref),void 0!==t.key&&(i=""+t.key),t)k.call(t,r)&&!E.hasOwnProperty(r)&&(o[r]=t[r]);var l=arguments.length-2;if(1===l)o.children=n;else if(1<l){for(var u=Array(l),c=0;c<l;c++)u[c]=arguments[c+2];o.children=u}if(e&&e.defaultProps)for(r in l=e.defaultProps)void 0===o[r]&&(o[r]=l[r]);return{$$typeof:a,type:e,key:i,ref:s,props:o,_owner:w.current}}function x(e){return"object"==typeof e&&null!==e&&e.$$typeof===a}var C=/\/+/g;function _(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function T(e,t,n,r,i){var s=typeof e;"undefined"!==s&&"boolean"!==s||(e=null);var l=!1;if(null===e)l=!0;else switch(s){case"string":case"number":l=!0;break;case"object":switch(e.$$typeof){case a:case o:l=!0}}if(l)return i=i(l=e),e=""===r?"."+_(l,0):r,Array.isArray(i)?(n="",null!=e&&(n=e.replace(C,"$&/")+"/"),T(i,t,n,"",(function(e){return e}))):null!=i&&(x(i)&&(i=function(e,t){return{$$typeof:a,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(i,n+(!i.key||l&&l.key===i.key?"":(""+i.key).replace(C,"$&/")+"/")+e)),t.push(i)),1;if(l=0,r=""===r?".":r+":",Array.isArray(e))for(var u=0;u<e.length;u++){var c=r+_(s=e[u],u);l+=T(s,t,n,c,i)}else if(c=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=f&&e[f]||e["@@iterator"])?e:null}(e),"function"==typeof c)for(e=c.call(e),u=0;!(s=e.next()).done;)l+=T(s=s.value,t,n,c=r+_(s,u++),i);else if("object"===s)throw t=""+e,Error(p(31,"[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t));return l}function N(e,t,n){if(null==e)return e;var r=[],a=0;return T(e,r,"","",(function(e){return t.call(n,e,a++)})),r}function I(e){if(-1===e._status){var t=e._result;t=t(),e._status=0,e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}if(1===e._status)return e._result;throw e._result}var L={current:null};function A(){var e=L.current;if(null===e)throw Error(p(321));return e}var P={ReactCurrentDispatcher:L,ReactCurrentBatchConfig:{transition:0},ReactCurrentOwner:w,IsSomeRendererActing:{current:!1},assign:r};t.Children={map:N,forEach:function(e,t,n){N(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return N(e,(function(){t++})),t},toArray:function(e){return N(e,(function(e){return e}))||[]},only:function(e){if(!x(e))throw Error(p(143));return e}},t.Component=g,t.PureComponent=v,t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=P,t.cloneElement=function(e,t,n){if(null==e)throw Error(p(267,e));var o=r({},e.props),i=e.key,s=e.ref,l=e._owner;if(null!=t){if(void 0!==t.ref&&(s=t.ref,l=w.current),void 0!==t.key&&(i=""+t.key),e.type&&e.type.defaultProps)var u=e.type.defaultProps;for(c in t)k.call(t,c)&&!E.hasOwnProperty(c)&&(o[c]=void 0===t[c]&&void 0!==u?u[c]:t[c])}var c=arguments.length-2;if(1===c)o.children=n;else if(1<c){u=Array(c);for(var d=0;d<c;d++)u[d]=arguments[d+2];o.children=u}return{$$typeof:a,type:e.type,key:i,ref:s,props:o,_owner:l}},t.createContext=function(e,t){return void 0===t&&(t=null),(e={$$typeof:s,_calculateChangedBits:t,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider={$$typeof:i,_context:e},e.Consumer=e},t.createElement=S,t.createFactory=function(e){var t=S.bind(null,e);return t.type=e,t},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:l,render:e}},t.isValidElement=x,t.lazy=function(e){return{$$typeof:c,_payload:{_status:-1,_result:e},_init:I}},t.memo=function(e,t){return{$$typeof:u,type:e,compare:void 0===t?null:t}},t.useCallback=function(e,t){return A().useCallback(e,t)},t.useContext=function(e,t){return A().useContext(e,t)},t.useDebugValue=function(){},t.useEffect=function(e,t){return A().useEffect(e,t)},t.useImperativeHandle=function(e,t,n){return A().useImperativeHandle(e,t,n)},t.useLayoutEffect=function(e,t){return A().useLayoutEffect(e,t)},t.useMemo=function(e,t){return A().useMemo(e,t)},t.useReducer=function(e,t,n){return A().useReducer(e,t,n)},t.useRef=function(e){return A().useRef(e)},t.useState=function(e){return A().useState(e)},t.version="17.0.2"},7294:(e,t,n)=>{"use strict";e.exports=n(2408)},53:(e,t)=>{"use strict";var n,r,a,o;if("object"==typeof performance&&"function"==typeof performance.now){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,l=s.now();t.unstable_now=function(){return s.now()-l}}if("undefined"==typeof window||"function"!=typeof MessageChannel){var u=null,c=null,d=function(){if(null!==u)try{var e=t.unstable_now();u(!0,e),u=null}catch(n){throw setTimeout(d,0),n}};n=function(e){null!==u?setTimeout(n,0,e):(u=e,setTimeout(d,0))},r=function(e,t){c=setTimeout(e,t)},a=function(){clearTimeout(c)},t.unstable_shouldYield=function(){return!1},o=t.unstable_forceFrameRate=function(){}}else{var f=window.setTimeout,p=window.clearTimeout;if("undefined"!=typeof console){var h=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills"),"function"!=typeof h&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://reactjs.org/link/react-polyfills")}var m=!1,g=null,b=-1,v=5,y=0;t.unstable_shouldYield=function(){return t.unstable_now()>=y},o=function(){},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):v=0<e?Math.floor(1e3/e):5};var w=new MessageChannel,k=w.port2;w.port1.onmessage=function(){if(null!==g){var e=t.unstable_now();y=e+v;try{g(!0,e)?k.postMessage(null):(m=!1,g=null)}catch(n){throw k.postMessage(null),n}}else m=!1},n=function(e){g=e,m||(m=!0,k.postMessage(null))},r=function(e,n){b=f((function(){e(t.unstable_now())}),n)},a=function(){p(b),b=-1}}function E(e,t){var n=e.length;e.push(t);e:for(;;){var r=n-1>>>1,a=e[r];if(!(void 0!==a&&0<C(a,t)))break e;e[r]=t,e[n]=a,n=r}}function S(e){return void 0===(e=e[0])?null:e}function x(e){var t=e[0];if(void 0!==t){var n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,a=e.length;r<a;){var o=2*(r+1)-1,i=e[o],s=o+1,l=e[s];if(void 0!==i&&0>C(i,n))void 0!==l&&0>C(l,i)?(e[r]=l,e[s]=n,r=s):(e[r]=i,e[o]=n,r=o);else{if(!(void 0!==l&&0>C(l,n)))break e;e[r]=l,e[s]=n,r=s}}}return t}return null}function C(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var _=[],T=[],N=1,I=null,L=3,A=!1,P=!1,O=!1;function R(e){for(var t=S(T);null!==t;){if(null===t.callback)x(T);else{if(!(t.startTime<=e))break;x(T),t.sortIndex=t.expirationTime,E(_,t)}t=S(T)}}function z(e){if(O=!1,R(e),!P)if(null!==S(_))P=!0,n(U);else{var t=S(T);null!==t&&r(z,t.startTime-e)}}function U(e,n){P=!1,O&&(O=!1,a()),A=!0;var o=L;try{for(R(n),I=S(_);null!==I&&(!(I.expirationTime>n)||e&&!t.unstable_shouldYield());){var i=I.callback;if("function"==typeof i){I.callback=null,L=I.priorityLevel;var s=i(I.expirationTime<=n);n=t.unstable_now(),"function"==typeof s?I.callback=s:I===S(_)&&x(_),R(n)}else x(_);I=S(_)}if(null!==I)var l=!0;else{var u=S(T);null!==u&&r(z,u.startTime-n),l=!1}return l}finally{I=null,L=o,A=!1}}var D=o;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){P||A||(P=!0,n(U))},t.unstable_getCurrentPriorityLevel=function(){return L},t.unstable_getFirstCallbackNode=function(){return S(_)},t.unstable_next=function(e){switch(L){case 1:case 2:case 3:var t=3;break;default:t=L}var n=L;L=t;try{return e()}finally{L=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=D,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=L;L=e;try{return t()}finally{L=n}},t.unstable_scheduleCallback=function(e,o,i){var s=t.unstable_now();switch("object"==typeof i&&null!==i?i="number"==typeof(i=i.delay)&&0<i?s+i:s:i=s,e){case 1:var l=-1;break;case 2:l=250;break;case 5:l=1073741823;break;case 4:l=1e4;break;default:l=5e3}return e={id:N++,callback:o,priorityLevel:e,startTime:i,expirationTime:l=i+l,sortIndex:-1},i>s?(e.sortIndex=i,E(T,e),null===S(_)&&e===S(T)&&(O?a():O=!0,r(z,i-s))):(e.sortIndex=l,E(_,e),P||A||(P=!0,n(U))),e},t.unstable_wrapCallback=function(e){var t=L;return function(){var n=L;L=t;try{return e.apply(this,arguments)}finally{L=n}}}},3840:(e,t,n)=>{"use strict";e.exports=n(53)},6774:e=>{e.exports=function(e,t,n,r){var a=n?n.call(r,e,t):void 0;if(void 0!==a)return!!a;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l<o.length;l++){var u=o[l];if(!s(u))return!1;var c=e[u],d=t[u];if(!1===(a=n?n.call(r,c,d,u):void 0)||void 0===a&&c!==d)return!1}return!0}},3250:(e,t,n)=>{"use strict";var r=n(7294);var a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},o=r.useState,i=r.useEffect,s=r.useLayoutEffect,l=r.useDebugValue;function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!a(e,n)}catch(r){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var n=t(),r=o({inst:{value:n,getSnapshot:t}}),a=r[0].inst,c=r[1];return s((function(){a.value=n,a.getSnapshot=t,u(a)&&c({inst:a})}),[e,n,t]),i((function(){return u(a)&&c({inst:a}),e((function(){u(a)&&c({inst:a})}))}),[e]),l(n),n};void 0!==r.useSyncExternalStore&&r.useSyncExternalStore},1688:(e,t,n)=>{"use strict";n(3250)},6809:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>r});const r={title:"SolidUI",tagline:"AI-generated Graphic Models.",url:"https://cloudorc.github.io",baseUrl:"/SolidUI-Website/zh-CN/",organizationName:"CloudOrc",projectName:"SolidUI-Website",deploymentBranch:"main",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",favicon:"image/favicon.ico",i18n:{defaultLocale:"en",locales:["en","zh-CN"],localeConfigs:{en:{label:"English",direction:"ltr"},"zh-CN":{label:"\u7b80\u4f53\u4e2d\u6587",direction:"ltr"}},path:"i18n"},themes:[["/home/runner/work/SolidUI-Website/SolidUI-Website/node_modules/@easyops-cn/docusaurus-search-local/dist/server/server/index.js",{hashed:!0,indexDocs:!0,indexPages:!0,highlightSearchTermsOnTargetPage:!1,explicitSearchResultPath:!0,searchBarPosition:"right",searchBarShortcutHint:!1,language:["zh","en"],hideSearchBarWithNoSearchContext:!0}]],presets:[["@docusaurus/preset-classic",{docs:{sidebarPath:"/home/runner/work/SolidUI-Website/SolidUI-Website/sidebars.js",sidebarCollapsible:!0,editLocalizedFiles:!0,sidebarCollapsed:!1,editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev"},blog:{path:"blog",postsPerPage:3,blogSidebarCount:"ALL",feedOptions:{type:"all"},editUrl:"https://github.com/CloudOrc/SolidUI-Website/edit/dev"},theme:{customCss:"/home/runner/work/SolidUI-Website/SolidUI-Website/src/css/custom.css"}}]],themeConfig:{colorMode:{defaultMode:"light",disableSwitch:!0,respectPrefersColorScheme:!1},navbar:{title:"SolidUI",logo:{alt:"SolidUI Logo",src:"image/logo.png"},items:[{to:"/docs/intro",label:"\u6587\u6863",position:"left",activeBaseRegex:"/docs"},{position:"left",label:"\u4e0b\u8f7d",items:[{label:"Releases",to:"https://github.com/CloudOrc/SolidUI/releases"}]},{label:"\u793e\u533a",position:"left",items:[{label:"Code of conduct",to:"https://www.apache.org/foundation/policies/conduct"},{label:"Become A Committer",to:"/community/contribution_guide/become_committer"},{label:"Documentation Notice",to:"/community/submit_guide/document"},{label:"Submit Code",to:"/community/submit_guide/submit_code"}]},{to:"/team",label:"\u56e2\u961f",position:"left",activeBaseRegex:"/team"},{label:"\u7528\u6237",position:"left",items:[{label:"Our Users",to:"https://github.com/CloudOrc/SolidUI/issues/1"}]},{to:"/blog",label:"\u535a\u5ba2",position:"left",activeBaseRegex:"/blog"},{label:"Apache",position:"left",items:[{label:"\u57fa\u91d1\u4f1a",to:"https://www.apache.org/"},{label:"\u8bc1\u4e66",to:"https://www.apache.org/licenses/"},{label:"\u4e8b\u4ef6",to:"https://www.apache.org/events/current-event"},{label:"\u5b89\u5168",to:"https://www.apache.org/security/"},{label:"\u8d5e\u52a9",to:"https://www.apache.org/foundation/sponsorship.html"},{label:"Privacy",to:"https://www.apache.org/foundation/policies/privacy.html"},{label:"\u81f4\u8c22",to:"https://www.apache.org/foundation/thanks.html"}]},{href:"https://github.com/CloudOrc/SolidUI",label:"GitHub",position:"left"},{type:"localeDropdown",position:"right",dropdownItemsBefore:[],dropdownItemsAfter:[]}],hideOnScroll:!1},footer:{style:"dark",links:[{items:[{html:'\n <div class="footer-left-box">\n <div class="flex align-center footer-system">\n <span class=\'system-title\'>About SolidUI</span>\n </div>\n <p>AI-generated visualization prototyping and editing platform, support 2D, 3D models, combined with LLM(Large Language Model) for quick editing.</p>\n </div>\n '}],title:null},{title:"Resource",items:[{label:"\u6587\u6863",href:"/docs/intro"},{label:"\u7248\u672c",href:"https://github.com/CloudOrc/SolidUI/releases"}]},{title:"\u793e\u533a",items:[{label:"GitHub",href:"https://github.com/CloudOrc/SolidUI"},{label:"Issue Tracker",href:"https://github.com/CloudOrc/SolidUI/issues"},{label:"Pull Requests",href:"https://github.com/CloudOrc/SolidUI/pulls"}]},{title:"Follow",items:[{html:'\n <div class="subscribe-box">\n\x3c!-- <div class="d-flex align-items-center" style="margin-bottom: 30px;padding-top: 11px">--\x3e\n\x3c!-- <div class="subscribe-input flex-fill">--\x3e\n\x3c!-- <input class="form-control" id="email_address" maxLength="60" type="text" name="email_address" placeholder="Subscribe with us">--\x3e\n\x3c!-- </div>--\x3e\n\x3c!-- <div class="subscribe-submit-inner">--\x3e\n\x3c!-- <a class="btn btn-white m-0" type="submit" href="mailto:dev-subscribe@streampark.apache.org">--\x3e\n\x3c!-- <span><i class="fa fa-paper-plane text-white"></i></span>--\x3e\n\x3c!-- </a>--\x3e\n\x3c!-- </div>--\x3e\n\x3c!-- </div>--\x3e\n <ul class="icon-bottom">\n <li>\n <a href="javascript:void(0)">\n <i class="fa fa-wechat"></i>\n <div class="wechat-dropdown"><img src="/image/join_wechat.png" alt="weChat"></div>\n </a>\n </li>\n <li><a href="https://twitter.com/dlimeng192048"><i class="fa fa-twitter"></i></a></li>\n <li><a href="https://join.slack.com/t/solidui/shared_invite/zt-1r83iino0-SZD38aHAIw2KBA~DSpZndA"><i class="fa fa-slack"></i></a></li>\n <li><a href="https://www.youtube.com/@dlimeng"><i class="fa fa-youtube"></i></a></li>\n </ul>\n </div>\n '}]}],copyright:'\n <div style="text-align: left;margin-top:30px">\n <div class="d-flex align-items-center">\n \n <div>\n <p style="font-family: Avenir-Medium;font-size: 14px;color: #999;line-height: 25px;">\n AI-generated Graphic Models.\n </p>\n </div>\n </div>\n\n <div style="border-top: 1px solid #525252;min-height: 60px;line-height: 25px;text-align: left;font-family: Avenir-Medium;font-size: 14px;color: #999;display: flex;align-items: center;">\n <span>\n Copyright \xa9 2022-2023 The Apache Software Foundation. SolidUI.\n </span>\n </div>\n </div>'},prism:{theme:{plain:{color:"#000000",backgroundColor:"#ffffff"},styles:[{types:["comment"],style:{color:"rgb(0, 128, 0)"}},{types:["builtin"],style:{color:"rgb(0, 112, 193)"}},{types:["number","variable","inserted"],style:{color:"rgb(9, 134, 88)"}},{types:["operator"],style:{color:"rgb(0, 0, 0)"}},{types:["constant","char"],style:{color:"rgb(129, 31, 63)"}},{types:["tag"],style:{color:"rgb(128, 0, 0)"}},{types:["attr-name"],style:{color:"rgb(255, 0, 0)"}},{types:["deleted","string"],style:{color:"rgb(163, 21, 21)"}},{types:["changed","punctuation"],style:{color:"rgb(4, 81, 165)"}},{types:["function","keyword"],style:{color:"rgb(0, 0, 255)"}},{types:["class-name"],style:{color:"rgb(38, 127, 153)"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:["powershell","java","scala","yaml"],magicComments:[{className:"theme-code-block-highlighted-line",line:"highlight-next-line",block:{start:"highlight-start",end:"highlight-end"}}]},docs:{versionPersistence:"localStorage",sidebar:{hideable:!1,autoCollapseCategories:!1}},metadata:[],tableOfContents:{minHeadingLevel:2,maxHeadingLevel:3}},plugins:["docusaurus-plugin-less",["@docusaurus/plugin-content-docs",{id:"community",path:"community",routeBasePath:"community",sidebarPath:"/home/runner/work/SolidUI-Website/SolidUI-Website/sidebars.js"}]],baseUrlIssueBanner:!0,onDuplicateRoutes:"warn",staticDirectories:["static"],customFields:{},scripts:[],headTags:[],stylesheets:[],clientModules:[],titleDelimiter:"|",noIndex:!1,markdown:{mermaid:!1}}},7462:(e,t,n)=>{"use strict";function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}n.d(t,{Z:()=>r})},5068:(e,t,n)=>{"use strict";function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{Z:()=>a})},3366:(e,t,n)=>{"use strict";function r(e,t){if(null==e)return{};var n,r,a={},o=Object.keys(e);for(r=0;r<o.length;r++)n=o[r],t.indexOf(n)>=0||(a[n]=e[n]);return a}n.d(t,{Z:()=>r})},8776:(e,t,n)=>{"use strict";n.d(t,{Z:()=>o});var r=!0,a="Invariant failed";function o(e,t){if(!e){if(r)throw new Error(a);var n="function"==typeof t?t():t,o=n?"".concat(a,": ").concat(n):a;throw new Error(o)}}},7529:e=>{"use strict";e.exports=JSON.parse('{"theme.AnnouncementBar.closeButtonAriaLabel":"\u5173\u95ed","theme.BackToTopButton.buttonAriaLabel":"\u56de\u5230\u9876\u90e8","theme.CodeBlock.copied":"\u590d\u5236\u6210\u529f","theme.CodeBlock.copy":"\u590d\u5236","theme.CodeBlock.copyButtonAriaLabel":"\u590d\u5236\u4ee3\u7801\u5230\u526a\u8d34\u677f","theme.CodeBlock.wordWrapToggle":"\u5207\u6362\u81ea\u52a8\u6362\u884c","theme.DocSidebarItem.toggleCollapsedCategoryAriaLabel":"\u6253\u5f00/\u6536\u8d77\u4fa7\u8fb9\u680f\u83dc\u5355\u300c{label}\u300d","theme.ErrorPageContent.title":"\u9875\u9762\u5df2\u5d29\u6e83\u3002","theme.ErrorPageContent.tryAgain":"\u91cd\u8bd5","theme.NavBar.navAriaLabel":"\u4e3b\u5bfc\u822a","theme.NotFound.p1":"\u6211\u4eec\u627e\u4e0d\u5230\u60a8\u8981\u627e\u7684\u9875\u9762\u3002","theme.NotFound.p2":"\u8bf7\u8054\u7cfb\u539f\u59cb\u94fe\u63a5\u6765\u6e90\u7f51\u7ad9\u7684\u6240\u6709\u8005\uff0c\u5e76\u544a\u77e5\u4ed6\u4eec\u94fe\u63a5\u5df2\u635f\u574f\u3002","theme.NotFound.title":"\u627e\u4e0d\u5230\u9875\u9762","theme.TOCCollapsible.toggleButtonLabel":"\u672c\u9875\u603b\u89c8","theme.admonition.caution":"\u8b66\u544a","theme.admonition.danger":"\u5371\u9669","theme.admonition.info":"\u4fe1\u606f","theme.admonition.note":"\u5907\u6ce8","theme.admonition.tip":"\u63d0\u793a","theme.blog.archive.description":"\u5386\u53f2\u535a\u6587","theme.blog.archive.title":"\u5386\u53f2\u535a\u6587","theme.blog.paginator.navAriaLabel":"\u535a\u6587\u5217\u8868\u5206\u9875\u5bfc\u822a","theme.blog.paginator.newerEntries":"\u8f83\u65b0\u7684\u535a\u6587","theme.blog.paginator.olderEntries":"\u8f83\u65e7\u7684\u535a\u6587","theme.blog.post.paginator.navAriaLabel":"\u535a\u6587\u5206\u9875\u5bfc\u822a","theme.blog.post.paginator.newerPost":"\u8f83\u65b0\u4e00\u7bc7","theme.blog.post.paginator.olderPost":"\u8f83\u65e7\u4e00\u7bc7","theme.blog.post.plurals":"{count} \u7bc7\u535a\u6587","theme.blog.post.readMore":"\u9605\u8bfb\u66f4\u591a","theme.blog.post.readMoreLabel":"\u9605\u8bfb {title} \u7684\u5168\u6587","theme.blog.post.readingTime.plurals":"\u9605\u8bfb\u9700 {readingTime} \u5206\u949f","theme.blog.sidebar.navAriaLabel":"\u6700\u8fd1\u535a\u6587\u5bfc\u822a","theme.blog.tagTitle":"{nPosts} \u542b\u6709\u6807\u7b7e\u300c{tagName}\u300d","theme.colorToggle.ariaLabel":"\u5207\u6362\u6d45\u8272/\u6697\u9ed1\u6a21\u5f0f\uff08\u5f53\u524d\u4e3a{mode}\uff09","theme.colorToggle.ariaLabel.mode.dark":"\u6697\u9ed1\u6a21\u5f0f","theme.colorToggle.ariaLabel.mode.light":"\u6d45\u8272\u6a21\u5f0f","theme.common.editThisPage":"\u7f16\u8f91\u6b64\u9875","theme.common.headingLinkTitle":"{heading}\u7684\u76f4\u63a5\u94fe\u63a5","theme.common.skipToMainContent":"\u8df3\u5230\u4e3b\u8981\u5185\u5bb9","theme.docs.DocCard.categoryDescription":"{count} \u4e2a\u9879\u76ee","theme.docs.breadcrumbs.home":"\u4e3b\u9875\u9762","theme.docs.breadcrumbs.navAriaLabel":"\u9875\u9762\u8def\u5f84","theme.docs.paginator.navAriaLabel":"\u6587\u4ef6\u9009\u9879\u5361","theme.docs.paginator.next":"\u4e0b\u4e00\u9875","theme.docs.paginator.previous":"\u4e0a\u4e00\u9875","theme.docs.sidebar.closeSidebarButtonAriaLabel":"\u5173\u95ed\u5bfc\u822a\u680f","theme.docs.sidebar.collapseButtonAriaLabel":"\u6536\u8d77\u4fa7\u8fb9\u680f","theme.docs.sidebar.collapseButtonTitle":"\u6536\u8d77\u4fa7\u8fb9\u680f","theme.docs.sidebar.expandButtonAriaLabel":"\u5c55\u5f00\u4fa7\u8fb9\u680f","theme.docs.sidebar.expandButtonTitle":"\u5c55\u5f00\u4fa7\u8fb9\u680f","theme.docs.sidebar.navAriaLabel":"\u6587\u6863\u4fa7\u8fb9\u680f","theme.docs.sidebar.toggleSidebarButtonAriaLabel":"\u5207\u6362\u5bfc\u822a\u680f","theme.docs.tagDocListPageTitle":"{nDocsTagged}\u300c{tagName}\u300d","theme.docs.tagDocListPageTitle.nDocsTagged":"{count} \u7bc7\u6587\u6863\u5e26\u6709\u6807\u7b7e","theme.docs.versionBadge.label":"\u7248\u672c\uff1a{versionLabel}","theme.docs.versions.latestVersionLinkLabel":"\u6700\u65b0\u7248\u672c","theme.docs.versions.latestVersionSuggestionLabel":"\u6700\u65b0\u7684\u6587\u6863\u8bf7\u53c2\u9605 {latestVersionLink} ({versionLabel})\u3002","theme.docs.versions.unmaintainedVersionLabel":"\u6b64\u4e3a {siteTitle} {versionLabel} \u7248\u7684\u6587\u6863\uff0c\u73b0\u5df2\u4e0d\u518d\u79ef\u6781\u7ef4\u62a4\u3002","theme.docs.versions.unreleasedVersionLabel":"\u6b64\u4e3a {siteTitle} {versionLabel} \u7248\u5c1a\u672a\u53d1\u884c\u7684\u6587\u6863\u3002","theme.lastUpdated.atDate":"\u4e8e {date} ","theme.lastUpdated.byUser":"\u7531 {user} ","theme.lastUpdated.lastUpdatedAtBy":"\u6700\u540e{byUser}{atDate}\u66f4\u65b0","theme.navbar.mobileLanguageDropdown.label":"\u9009\u62e9\u8bed\u8a00","theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel":"\u2190 \u56de\u5230\u4e3b\u83dc\u5355","theme.navbar.mobileVersionsDropdown.label":"\u9009\u62e9\u7248\u672c","theme.tags.tagsListLabel":"\u6807\u7b7e\uff1a","theme.tags.tagsPageLink":"\u67e5\u770b\u6240\u6709\u6807\u7b7e","theme.tags.tagsPageTitle":"\u6807\u7b7e","theme.SearchBar.label":"\u641c\u7d22","theme.SearchBar.seeAll":"\u67e5\u770b\u5168\u90e8\u7ed3\u679c","theme.SearchBar.noResultsText":"\u6ca1\u6709\u627e\u5230\u4efb\u4f55\u6587\u6863","theme.SearchPage.existingResultsTitle":"\u201c{query}\u201d \u7684\u641c\u7d22\u7ed3\u679c","theme.SearchPage.emptyResultsTitle":"\u641c\u7d22\u6587\u6863","theme.SearchPage.documentsFound.plurals":"\u5171\u627e\u5230 {count} \u7bc7\u6587\u6863","theme.SearchPage.noResultsText":"\u6ca1\u6709\u627e\u5230\u4efb\u4f55\u6587\u6863"}')},6887:e=>{"use strict";e.exports=JSON.parse('{"/SolidUI-Website/zh-CN/blog-ca5":{"__comp":"a6aa9e1f","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","items":[{"content":"afbbc345"},{"content":"82bafcbe"},{"content":"4687a2fe"}],"metadata":"b25c8dbb"},"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0-90c":{"__comp":"ccc49370","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","content":"ed523c22"},"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis-bbe":{"__comp":"ccc49370","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","content":"6655eab5"},"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis-3fe":{"__comp":"ccc49370","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","content":"7ba7942d"},"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction-442":{"__comp":"ccc49370","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","content":"ac717c78"},"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release-e90":{"__comp":"ccc49370","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","content":"18574ea0"},"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction-05e":{"__comp":"ccc49370","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","content":"eec08420"},"/SolidUI-Website/zh-CN/blog/archive-1ba":{"__comp":"9e4087bc","__context":{"plugin":"fed3a01c"},"archive":"2f3afa41"},"/SolidUI-Website/zh-CN/blog/page/2-70e":{"__comp":"a6aa9e1f","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","items":[{"content":"c7491b26"},{"content":"a38ac2fb"},{"content":"4d9f66ec"}],"metadata":"5e10b459"},"/SolidUI-Website/zh-CN/blog/tags-67c":{"__comp":"01a85c17","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","tags":"12e9a6c2"},"/SolidUI-Website/zh-CN/blog/tags/ai-624":{"__comp":"6875c492","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","items":[{"content":"afbbc345"},{"content":"82bafcbe"},{"content":"4687a2fe"}],"tag":"593d060f","listMetadata":"dd6f79e8"},"/SolidUI-Website/zh-CN/blog/tags/aigc-a93":{"__comp":"6875c492","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","items":[{"content":"c7491b26"},{"content":"a38ac2fb"},{"content":"4d9f66ec"}],"tag":"deeae371","listMetadata":"a9df0cc8"},"/SolidUI-Website/zh-CN/blog/tags/solid-ui-bd0":{"__comp":"6875c492","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","items":[{"content":"afbbc345"},{"content":"82bafcbe"},{"content":"4687a2fe"}],"tag":"81b24dac","listMetadata":"a614ad0f"},"/SolidUI-Website/zh-CN/blog/tags/solid-ui/page/2-3a5":{"__comp":"6875c492","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","items":[{"content":"c7491b26"},{"content":"a38ac2fb"},{"content":"4d9f66ec"}],"tag":"9b4392e8","listMetadata":"a297792b"},"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion-2eb":{"__comp":"6875c492","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","items":[{"content":"afbbc345"},{"content":"82bafcbe"},{"content":"4687a2fe"}],"tag":"44c1be81","listMetadata":"0be92caf"},"/SolidUI-Website/zh-CN/blog/tags/stable-diffusion/page/2-425":{"__comp":"6875c492","__context":{"plugin":"fed3a01c"},"sidebar":"814f3328","items":[{"content":"c7491b26"},{"content":"a38ac2fb"},{"content":"4d9f66ec"}],"tag":"bf6c35d5","listMetadata":"ea8a7b94"},"/SolidUI-Website/zh-CN/home/-97d":{"__comp":"f106860d","__context":{"plugin":"b1bdda4d"},"config":"5e9f5e1a"},"/SolidUI-Website/zh-CN/home/feature-564":{"__comp":"181d6f49","__context":{"plugin":"b1bdda4d"},"config":"5e9f5e1a"},"/SolidUI-Website/zh-CN/home/hero-b61":{"__comp":"0e49e91b","__context":{"plugin":"b1bdda4d"},"config":"5e9f5e1a"},"/SolidUI-Website/zh-CN/home/performance-540":{"__comp":"271ff943","__context":{"plugin":"b1bdda4d"},"config":"5e9f5e1a"},"/SolidUI-Website/zh-CN/search-e07":{"__comp":"1a4e3797","__context":{"plugin":"eaf8f7fb"}},"/SolidUI-Website/zh-CN/team/-afe":{"__comp":"035672d3","__context":{"plugin":"b1bdda4d"},"config":"5e9f5e1a"},"/SolidUI-Website/zh-CN/user/-b8c":{"__comp":"248e03f5","__context":{"plugin":"b1bdda4d"},"config":"5e9f5e1a"},"/SolidUI-Website/zh-CN/community-538":{"__comp":"1be78505","__context":{"plugin":"8ba85c45"},"versionMetadata":"306a8c6c"},"/SolidUI-Website/zh-CN/community/contribution_guide/become_committer-57d":{"__comp":"17896441","content":"0fceeaee"},"/SolidUI-Website/zh-CN/community/submit_guide/document-36b":{"__comp":"17896441","content":"90b38822"},"/SolidUI-Website/zh-CN/community/submit_guide/submit_code-31d":{"__comp":"17896441","content":"ac0ab662"},"/SolidUI-Website/zh-CN/docs-fcd":{"__comp":"1be78505","__context":{"plugin":"1246422e"},"versionMetadata":"935f2afb"},"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker-197":{"__comp":"17896441","content":"e496222a"},"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes-230":{"__comp":"17896441","content":"6b5877e0"},"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone-e2e":{"__comp":"17896441","content":"75cf5c85"},"/SolidUI-Website/zh-CN/docs/deployment/deployment-web-567":{"__comp":"17896441","content":"5dd90133"},"/SolidUI-Website/zh-CN/docs/design/front-end-architecture/-5c1":{"__comp":"17896441","content":"b28a394f"},"/SolidUI-Website/zh-CN/docs/design/metadata/-7c3":{"__comp":"17896441","content":"f30cf45e"},"/SolidUI-Website/zh-CN/docs/design/server-architecture/-f81":{"__comp":"17896441","content":"e1317b68"},"/SolidUI-Website/zh-CN/docs/development/develop-contributing-991":{"__comp":"17896441","content":"9a185a9f"},"/SolidUI-Website/zh-CN/docs/development/development-commit-975":{"__comp":"17896441","content":"825762ae"},"/SolidUI-Website/zh-CN/docs/development/development-construction-fd1":{"__comp":"17896441","content":"f7330301"},"/SolidUI-Website/zh-CN/docs/development/development-docker-87f":{"__comp":"17896441","content":"7dae8659"},"/SolidUI-Website/zh-CN/docs/development/development-front-1f0":{"__comp":"17896441","content":"c1532dfb"},"/SolidUI-Website/zh-CN/docs/development/development-release-019":{"__comp":"17896441","content":"3b209c05"},"/SolidUI-Website/zh-CN/docs/development/development-server-71b":{"__comp":"17896441","content":"0a76827d"},"/SolidUI-Website/zh-CN/docs/faq/faq/-aa2":{"__comp":"17896441","content":"cbd4c4f3"},"/SolidUI-Website/zh-CN/docs/intro-493":{"__comp":"17896441","content":"be209a7f"},"/SolidUI-Website/zh-CN/docs/operational/community-operation/-64f":{"__comp":"17896441","content":"9dab477d"},"/SolidUI-Website/zh-CN/docs/test/test-case/-908":{"__comp":"17896441","content":"2cc0820c"},"/SolidUI-Website/zh-CN/docs/user-guide/quick-start-f25":{"__comp":"17896441","content":"8e4b7347"},"/SolidUI-Website/zh-CN/-851":{"__comp":"1df93b7f","__context":{"plugin":"b1bdda4d"},"config":"5e9f5e1a"}}')}},e=>{e.O(0,[532],(()=>{return t=9383,e(e.s=t);var t}));e.O()}]); \ No newline at end of file diff --git a/zh-CN/assets/js/main.22fe9e4b.js.LICENSE.txt b/zh-CN/assets/js/main.22fe9e4b.js.LICENSE.txt new file mode 100644 index 00000000..91600de3 --- /dev/null +++ b/zh-CN/assets/js/main.22fe9e4b.js.LICENSE.txt @@ -0,0 +1,134 @@ +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ + +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */ + +/*! + * Snowball JavaScript Library v0.3 + * http://code.google.com/p/urim/ + * http://snowball.tartarus.org/ + * + * Copyright 2010, Oleg Mazko + * http://www.mozilla.org/MPL/ + */ + +/*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + */ + +/*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + */ + +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ + +/** + * @license React + * use-sync-external-store-shim.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** + * Prism: Lightweight, robust, elegant syntax highlighting + * + * @license MIT <https://opensource.org/licenses/MIT> + * @author Lea Verou <https://lea.verou.me> + * @namespace + * @public + */ + +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ + +/** @license React v0.20.2 + * scheduler.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v16.13.1 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v17.0.2 + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +/** @license React v17.0.2 + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ diff --git a/zh-CN/assets/js/runtime~main.18ce0a6f.js b/zh-CN/assets/js/runtime~main.18ce0a6f.js new file mode 100644 index 00000000..2b303593 --- /dev/null +++ b/zh-CN/assets/js/runtime~main.18ce0a6f.js @@ -0,0 +1 @@ +(()=>{"use strict";var e,a,f,c,b,t={},d={};function r(e){var a=d[e];if(void 0!==a)return a.exports;var f=d[e]={exports:{}};return t[e].call(f.exports,f,f.exports,r),f.exports}r.m=t,e=[],r.O=(a,f,c,b)=>{if(!f){var t=1/0;for(i=0;i<e.length;i++){f=e[i][0],c=e[i][1],b=e[i][2];for(var d=!0,o=0;o<f.length;o++)(!1&b||t>=b)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(d=!1,b<t&&(t=b));if(d){e.splice(i--,1);var n=c();void 0!==n&&(a=n)}}return a}b=b||0;for(var i=e.length;i>0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[f,c,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var t={};a=a||[null,f({}),f([]),f(f)];for(var d=2&c&&e;"object"==typeof d&&!~a.indexOf(d);d=f(d))Object.getOwnPropertyNames(d).forEach((a=>t[a]=()=>e[a]));return t.default=()=>e,r.d(b,t),b},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,f)=>(r.f[f](e,a),a)),[])),r.u=e=>"assets/js/"+({31:"f7330301",53:"935f2afb",221:"fed3a01c",240:"82bafcbe",289:"8ba85c45",477:"75cf5c85",530:"ac0ab662",590:"12e9a6c2",661:"e496222a",730:"eec08420",789:"a38ac2fb",1276:"9dab477d",1593:"b25c8dbb",1757:"a9df0cc8",2153:"6655eab5",2333:"dd6f79e8",2421:"0be92caf",2428:"2f3afa41",2449:"9a185a9f",2510:"f30cf45e",2535:"814f3328",2718:"0fceeaee",2908:"4d9f66ec",3089:"a6aa9e1f",3237:"1df93b7f",3362:"18574ea0",3608:"9e4087bc",3818:"81b24dac",3849:"b28a394f",3884:"b1bdda4d",4003:"44c1be81",4013:"01a85c17",4159:"3b209c05",4257:"2cc0820c",4389:"825762ae",4656:"4687a2fe",4762:"1246422e",4798:"181d6f49",4827:"271ff943",4921:"035672d3",5279:"90b38822",5412:"c7491b26",5478:"cbd4c4f3",5966:"deeae371",6074:"a614ad0f",6103:"ccc49370",6262:"ea8a7b94",6393:"f106860d",6912:"be209a7f",7242:"8e4b7347",7415:"0a76827d",7425:"c1532dfb",7563:"6b5877e0",7616:"306a8c6c",7718:"593d060f",7812:"7dae8659",7837:"a297792b",7917:"5e10b459",7918:"17896441",7920:"1a4e3797",7959:"e1317b68",8352:"ed523c22",8610:"6875c492",8688:"ac717c78",8932:"248e03f5",8968:"5dd90133",9084:"afbbc345",9094:"0e49e91b",9343:"9b4392e8",9514:"1be78505",9615:"7ba7942d",9883:"bf6c35d5",9885:"eaf8f7fb"}[e]||e)+"."+{31:"15847c9c",53:"fab31564",221:"ff3f3d33",240:"838ebd37",289:"30750ed2",477:"62a98f15",530:"1feb7c47",590:"c6a32eba",661:"fb486966",730:"404c4de2",789:"612a49d3",1276:"988413cf",1593:"b61edddd",1757:"c4386508",2153:"8c0a5aa7",2333:"282a93b6",2421:"fbaa5fd7",2428:"ae96652a",2449:"e3e22429",2510:"e96a08b2",2535:"5765a8c5",2718:"51c7d1a9",2908:"5fae8d96",3089:"0aa25372",3237:"4d2c7381",3362:"a1d25c51",3608:"1ed3f564",3818:"d375d81e",3849:"8631aeb4",3884:"a5244e41",4003:"a7c1055b",4013:"8d6d587b",4159:"f8fff2aa",4257:"75eeb841",4389:"d1744b8d",4656:"89d866f9",4762:"4f0c67cf",4798:"e9b7a6ab",4827:"2b9c3cf0",4921:"8d3669e5",4972:"b4472444",5279:"f6ca83da",5412:"df8d9dd9",5478:"c180043e",5525:"05fdfb4c",5966:"12ffa4f5",6048:"fb29faea",6074:"ec1945c7",6103:"f58d2f47",6262:"552ec3b1",6393:"3af43ed8",6912:"9e34456c",7242:"84330caf",7415:"08b11110",7425:"cd412a48",7563:"5b29cc5d",7616:"d37599ad",7718:"b5dcad9b",7812:"20a7a774",7837:"5df2f879",7917:"3a3c3554",7918:"c64734ea",7920:"e0a8916d",7959:"a7d51121",8105:"a89b396d",8352:"6b595f00",8443:"d40ac066",8610:"d0767faf",8688:"4d2c8a01",8932:"fd64b2c4",8968:"ccc6a563",9084:"28fe9e6b",9094:"d53acb7c",9343:"78d09582",9514:"7eb9c513",9615:"b27d650c",9883:"6b38b61c",9885:"612b701f"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},b="solidui-website:",r.l=(e,a,f,t)=>{if(c[e])c[e].push(a);else{var d,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i<n.length;i++){var u=n[i];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==b+f){d=u;break}}d||(o=!0,(d=document.createElement("script")).charset="utf-8",d.timeout=120,r.nc&&d.setAttribute("nonce",r.nc),d.setAttribute("data-webpack",b+f),d.src=e),c[e]=[a];var l=(a,f)=>{d.onerror=d.onload=null,clearTimeout(s);var b=c[e];if(delete c[e],d.parentNode&&d.parentNode.removeChild(d),b&&b.forEach((e=>e(f))),a)return a(f)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=l.bind(null,d.onerror),d.onload=l.bind(null,d.onload),o&&document.head.appendChild(d)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/SolidUI-Website/zh-CN/",r.gca=function(e){return e={17896441:"7918",f7330301:"31","935f2afb":"53",fed3a01c:"221","82bafcbe":"240","8ba85c45":"289","75cf5c85":"477",ac0ab662:"530","12e9a6c2":"590",e496222a:"661",eec08420:"730",a38ac2fb:"789","9dab477d":"1276",b25c8dbb:"1593",a9df0cc8:"1757","6655eab5":"2153",dd6f79e8:"2333","0be92caf":"2421","2f3afa41":"2428","9a185a9f":"2449",f30cf45e:"2510","814f3328":"2535","0fceeaee":"2718","4d9f66ec":"2908",a6aa9e1f:"3089","1df93b7f":"3237","18574ea0":"3362","9e4087bc":"3608","81b24dac":"3818",b28a394f:"3849",b1bdda4d:"3884","44c1be81":"4003","01a85c17":"4013","3b209c05":"4159","2cc0820c":"4257","825762ae":"4389","4687a2fe":"4656","1246422e":"4762","181d6f49":"4798","271ff943":"4827","035672d3":"4921","90b38822":"5279",c7491b26:"5412",cbd4c4f3:"5478",deeae371:"5966",a614ad0f:"6074",ccc49370:"6103",ea8a7b94:"6262",f106860d:"6393",be209a7f:"6912","8e4b7347":"7242","0a76827d":"7415",c1532dfb:"7425","6b5877e0":"7563","306a8c6c":"7616","593d060f":"7718","7dae8659":"7812",a297792b:"7837","5e10b459":"7917","1a4e3797":"7920",e1317b68:"7959",ed523c22:"8352","6875c492":"8610",ac717c78:"8688","248e03f5":"8932","5dd90133":"8968",afbbc345:"9084","0e49e91b":"9094","9b4392e8":"9343","1be78505":"9514","7ba7942d":"9615",bf6c35d5:"9883",eaf8f7fb:"9885"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var b=new Promise(((f,b)=>c=e[a]=[f,b]));f.push(c[2]=b);var t=r.p+r.u(a),d=new Error;r.l(t,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var b=f&&("load"===f.type?"missing":f.type),t=f&&f.target&&f.target.src;d.message="Loading chunk "+a+" failed.\n("+b+": "+t+")",d.name="ChunkLoadError",d.type=b,d.request=t,c[1](d)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,b,t=f[0],d=f[1],o=f[2],n=0;if(t.some((a=>0!==e[a]))){for(c in d)r.o(d,c)&&(r.m[c]=d[c]);if(o)var i=o(r)}for(a&&a(f);n<t.length;n++)b=t[n],r.o(e,b)&&e[b]&&e[b][0](),e[b]=0;return r.O(i)},f=self.webpackChunksolidui_website=self.webpackChunksolidui_website||[];f.forEach(a.bind(null,0)),f.push=a.bind(null,f.push.bind(f))})()})(); \ No newline at end of file diff --git a/zh-CN/blog/2023/07/01/function-explanation-0.1.0/index.html b/zh-CN/blog/2023/07/01/function-explanation-0.1.0/index.html new file mode 100644 index 00000000..80376598 --- /dev/null +++ b/zh-CN/blog/2023/07/01/function-explanation-0.1.0/index.html @@ -0,0 +1,68 @@ +<!doctype html> +<html lang="zh-CN" dir="ltr" class="blog-wrapper blog-post-page plugin-blog plugin-id-default"> +<head> +<meta charset="UTF-8"> +<meta name="generator" content="Docusaurus v2.4.1"> +<title data-rh="true">SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解 | SolidUI + + + + + + +
+

SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解

· 阅读需 6 分钟

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

https://github.com/CloudOrc/SolidUI

项目名字含义

SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。

登录页含义

登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。 +在这里插入图片描述

产品思维

“少就是多”

少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。

0.1.0 版本内涵

这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。

功能列表

下面介绍下整个第一个版本功能列表。

数据源管理

  • 显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。
  • 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* +成功添加MySQL数据源,并在数据源列表中显示。
  • 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。
  • 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。
  • 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。
  • 数据源过期:可以将选中的数据源设置为过期状态。 +在这里插入图片描述

项目管理

  • 添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。
  • 查询项目列表:通过输入项目名称,可以查询并输出项目列表。
  • 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。
  • 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。
  • 项目预览

设计页面

  • 场景,增加,修改,删除,重命名。
  • 页,增加,修改,删除,重命名。
  • 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。
  • 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。
  • 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。
  • 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。
  • 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。
  • 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。
  • 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。

在这里插入图片描述

+ + + + \ No newline at end of file diff --git a/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis/index.html b/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis/index.html new file mode 100644 index 00000000..5162f6c9 --- /dev/null +++ b/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis/index.html @@ -0,0 +1,67 @@ + + + + + +SolidUI社区-Snakemq通信源码分析 | SolidUI + + + + + + +
+

SolidUI社区-Snakemq通信源码分析

· 阅读需 7 分钟

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

Snakemq介绍

SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。

SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。

Snakemq作用

  • 轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。
  • 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。
  • 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。
  • 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。
  • 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。
  • 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。
  • 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。

SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq

Snakemq 测试代码

Snakemq client.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("client", "", packeter)


connector = ("server", 8765)


link.add_connector(connector)


def on_connect(connector_id):


logger.info(f"Connected to: {connector_id}")


link.on_connect.add(on_connect)


def on_disconnect(connector_id):


logger.info(f"已断开: {connector_id}")


link.on_disconnect.add(on_disconnect)



def on_recv(conn, ident, message):


logger.info(f"client接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)


message = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)


messaging.send_message("server", message)


while True:


link.loop()


time.sleep(0.1)


Snakemq server.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("server", "", packeter)


link.add_listener(("0.0.0.0", 8765))


def on_recv(conn, ident, message):


logger.info(f"server接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)



message = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)


messaging.send_message("client", message)


# Main loop


while True:


link.loop()


time.sleep(0.1)


Dockerfile

FROM python:3.8
WORKDIR /opt/snaketmq-test

RUN pip install snakemq
RUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"
COPY . .

CMD ["python", "server.py"]

Dockerfile build & run

docker build -t snaketmq-test . 

docker network create mynet

docker run -d --name server --network mynet  snaketmq-test

docker run --network mynet  snaketmq-test python client.py

Snakemq通信

注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener(("0.0.0.0", 8765)) 这行代码

  • server: 表示SnakeMQ的服务器实例。

  • link: server中的link属性,表示网络连接管理器。

  • add_listener: 向link中添加一个监听器。

  • ("0.0.0.0", 8765): 监听的地址和端口。"0.0.0.0"表示监听所有网卡地址,"8765"表示监听8765端口。 +client connector = ("server", 8765) link.add_connector(connector) 这行代码

  • connector = ("server", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址"server"和端口8765。

  • link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。

  • 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。

结语

本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
+ + + + \ No newline at end of file diff --git a/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis/index.html b/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis/index.html new file mode 100644 index 00000000..faf6b5b3 --- /dev/null +++ b/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis/index.html @@ -0,0 +1,66 @@ + + + + + +SolidUI社区-独立部署和Docker通信分析 | SolidUI + + + + + + +
+

SolidUI社区-独立部署和Docker通信分析

· 阅读需 4 分钟

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
+ + + + \ No newline at end of file diff --git a/zh-CN/blog/2023/09/05/0.2.0-Release/index.html b/zh-CN/blog/2023/09/05/0.2.0-Release/index.html new file mode 100644 index 00000000..efceed33 --- /dev/null +++ b/zh-CN/blog/2023/09/05/0.2.0-Release/index.html @@ -0,0 +1,65 @@ + + + + + +Version Update | SolidUI 0.2.0 Release | SolidUI + + + + + + +
+

Version Update | SolidUI 0.2.0 Release

· 阅读需 4 分钟

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Release Notes

Features

  • Design features, scene and page optimization
  • Project Preview
  • Design features, preview page
  • Support for GPT-like model proxy
  • Support for ChatGLM-like model proxy
  • Support Hugging Face Spaces plugin, provide trial function
  • Support for the ESLint code check tool
  • Design page delete graphic optimization
  • Login page, logout optimization
  • Support for chat window interaction
  • Support for the official website, internationalization
  • Support for the official website, UI optimization
  • Support for the official website, overview optimization
  • Support for the official website, Blog optimization
  • Support for the official website, all documents optimization
  • Support for the official website, framework migration

Deployment

  • Independent deployment related scripts
  • docker-compose

Documentation

  • All co-builders list
  • ESLint & Prettier code specifications
  • SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation
  • SolidUI community - Snakemq communication source code analysis
  • Centos7.9 offline deployment of ChatGLM-6B
  • SolidUI community - Independent deployment and Docker communication analysis
  • SolidUI community - Introduction to the official website
  • SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps
  • SolidUI community - FAQ problem-solving process
  • SolidUI community - General Prompt technique
  • SolidUI community - Prompt design
  • SolidUI community - Building a character based on Prompts
  • SolidUI community - AI model proxy
  • SolidUI community - Chain of Thought (CoT) in Prompts
  • SolidUI community - Prompt self-consistency
  • SolidUI community - Discord
  • SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction

Detailed Guide

Contributors

The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)

  • dlimeng
  • nutsjian
  • jacktao007
  • 15100399015
  • ziyu211
  • limingoo
  • hgfdsa101

How to Become a Contributor

Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12

Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;

Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

+ + + + \ No newline at end of file diff --git a/zh-CN/blog/2023/09/05/0.2.0-introduction/index.html b/zh-CN/blog/2023/09/05/0.2.0-introduction/index.html new file mode 100644 index 00000000..8868b704 --- /dev/null +++ b/zh-CN/blog/2023/09/05/0.2.0-introduction/index.html @@ -0,0 +1,66 @@ + + + + + +SolidUI generates any graphics in one sentence, v0.2.0 function introduction | SolidUI + + + + + + +
+

SolidUI generates any graphics in one sentence, v0.2.0 function introduction

· 阅读需 5 分钟

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\] Generate a bar chart

Image description

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

Image description

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

Image description

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

Image description

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

Image description

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

Image description

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

Image description

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

Image description

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

Image description

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

Image description

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model. +

Image description

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

Image description

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

Image description

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;
+ + + + \ No newline at end of file diff --git a/zh-CN/blog/2023/09/05/Official-Website-Introduction/index.html b/zh-CN/blog/2023/09/05/Official-Website-Introduction/index.html new file mode 100644 index 00000000..abc9cc17 --- /dev/null +++ b/zh-CN/blog/2023/09/05/Official-Website-Introduction/index.html @@ -0,0 +1,67 @@ + + + + + +SolidUI Community - Official Website Introduction | SolidUI + + + + + + +
+

SolidUI Community - Official Website Introduction

· 阅读需 5 分钟

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI. +Official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click "Issues".
  3. Click the "New issue" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click "Submit new issue". +Submit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click "Pull requests", then click "New pull request".
  6. Click "compare across forks" and choose your fork and your "dev" branch.
  7. Confirm your changes, then click "Create pull request".
  8. Provide a title and description for your PR on the opened page, then click "Create pull request".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

+ + + + \ No newline at end of file diff --git a/zh-CN/blog/archive/index.html b/zh-CN/blog/archive/index.html new file mode 100644 index 00000000..e83f973f --- /dev/null +++ b/zh-CN/blog/archive/index.html @@ -0,0 +1,65 @@ + + + + + +历史博文 | SolidUI + + + + + + + + + + + \ No newline at end of file diff --git a/zh-CN/blog/atom.xml b/zh-CN/blog/atom.xml new file mode 100644 index 00000000..3900dccc --- /dev/null +++ b/zh-CN/blog/atom.xml @@ -0,0 +1,85 @@ + + + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog + SolidUI Blog + 2023-09-05T00:00:00.000Z + https://github.com/jpmonette/feed + + SolidUI Blog + https://cloudorc.github.io/SolidUI-Website/zh-CN/image/favicon.ico + + <![CDATA[Version Update | SolidUI 0.2.0 Release]]> + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release + + 2023-09-05T00:00:00.000Z + + Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Release Notes

Features

  • Design features, scene and page optimization
  • Project Preview
  • Design features, preview page
  • Support for GPT-like model proxy
  • Support for ChatGLM-like model proxy
  • Support Hugging Face Spaces plugin, provide trial function
  • Support for the ESLint code check tool
  • Design page delete graphic optimization
  • Login page, logout optimization
  • Support for chat window interaction
  • Support for the official website, internationalization
  • Support for the official website, UI optimization
  • Support for the official website, overview optimization
  • Support for the official website, Blog optimization
  • Support for the official website, all documents optimization
  • Support for the official website, framework migration

Deployment

  • Independent deployment related scripts
  • docker-compose

Documentation

  • All co-builders list
  • ESLint & Prettier code specifications
  • SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation
  • SolidUI community - Snakemq communication source code analysis
  • Centos7.9 offline deployment of ChatGLM-6B
  • SolidUI community - Independent deployment and Docker communication analysis
  • SolidUI community - Introduction to the official website
  • SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps
  • SolidUI community - FAQ problem-solving process
  • SolidUI community - General Prompt technique
  • SolidUI community - Prompt design
  • SolidUI community - Building a character based on Prompts
  • SolidUI community - AI model proxy
  • SolidUI community - Chain of Thought (CoT) in Prompts
  • SolidUI community - Prompt self-consistency
  • SolidUI community - Discord
  • SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction

Detailed Guide

Contributors

The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)

  • dlimeng
  • nutsjian
  • jacktao007
  • 15100399015
  • ziyu211
  • limingoo
  • hgfdsa101

How to Become a Contributor

Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12

Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;

Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

]]>
+ + + +
+ + <![CDATA[SolidUI generates any graphics in one sentence, v0.2.0 function introduction]]> + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction + + 2023-09-05T00:00:00.000Z + + Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\] Generate a bar chart

Image description

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

Image description

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

Image description

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

Image description

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

Image description

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

Image description

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

Image description

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

Image description

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

Image description

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

Image description

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model. +

Image description

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

Image description

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

Image description

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;
]]>
+ + + +
+ + <![CDATA[SolidUI Community - Official Website Introduction]]> + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction + + 2023-09-05T00:00:00.000Z + + Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI. +Official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click "Issues".
  3. Click the "New issue" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click "Submit new issue". +Submit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click "Pull requests", then click "New pull request".
  6. Click "compare across forks" and choose your fork and your "dev" branch.
  7. Confirm your changes, then click "Create pull request".
  8. Provide a title and description for your PR on the opened page, then click "Create pull request".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

]]>
+ + + +
+ + <![CDATA[SolidUI社区-独立部署和Docker通信分析]]> + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis + + 2023-07-03T00:00:00.000Z + + 背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
]]>
+ + + +
+ + <![CDATA[SolidUI社区-Snakemq通信源码分析]]> + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis + + 2023-07-02T00:00:00.000Z + + 背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

Snakemq介绍

SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。

SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。

Snakemq作用

  • 轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。
  • 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。
  • 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。
  • 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。
  • 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。
  • 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。
  • 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。

SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq

Snakemq 测试代码

Snakemq client.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("client", "", packeter)


connector = ("server", 8765)


link.add_connector(connector)


def on_connect(connector_id):


logger.info(f"Connected to: {connector_id}")


link.on_connect.add(on_connect)


def on_disconnect(connector_id):


logger.info(f"已断开: {connector_id}")


link.on_disconnect.add(on_disconnect)



def on_recv(conn, ident, message):


logger.info(f"client接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)


message = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)


messaging.send_message("server", message)


while True:


link.loop()


time.sleep(0.1)


Snakemq server.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("server", "", packeter)


link.add_listener(("0.0.0.0", 8765))


def on_recv(conn, ident, message):


logger.info(f"server接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)



message = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)


messaging.send_message("client", message)


# Main loop


while True:


link.loop()


time.sleep(0.1)


Dockerfile

FROM python:3.8
WORKDIR /opt/snaketmq-test

RUN pip install snakemq
RUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"
COPY . .

CMD ["python", "server.py"]

Dockerfile build & run

docker build -t snaketmq-test . 

docker network create mynet

docker run -d --name server --network mynet  snaketmq-test

docker run --network mynet  snaketmq-test python client.py

Snakemq通信

注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener(("0.0.0.0", 8765)) 这行代码

  • server: 表示SnakeMQ的服务器实例。

  • link: server中的link属性,表示网络连接管理器。

  • add_listener: 向link中添加一个监听器。

  • ("0.0.0.0", 8765): 监听的地址和端口。"0.0.0.0"表示监听所有网卡地址,"8765"表示监听8765端口。 +client connector = ("server", 8765) link.add_connector(connector) 这行代码

  • connector = ("server", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址"server"和端口8765。

  • link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。

  • 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。

结语

本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
]]>
+ + + +
+ + <![CDATA[SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解]]> + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0 + + 2023-07-01T00:00:00.000Z + + 背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

https://github.com/CloudOrc/SolidUI

项目名字含义

SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。

登录页含义

登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。 +在这里插入图片描述

产品思维

“少就是多”

少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。

0.1.0 版本内涵

这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。

功能列表

下面介绍下整个第一个版本功能列表。

数据源管理

  • 显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。
  • 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* +成功添加MySQL数据源,并在数据源列表中显示。
  • 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。
  • 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。
  • 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。
  • 数据源过期:可以将选中的数据源设置为过期状态。 +在这里插入图片描述

项目管理

  • 添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。
  • 查询项目列表:通过输入项目名称,可以查询并输出项目列表。
  • 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。
  • 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。
  • 项目预览

设计页面

  • 场景,增加,修改,删除,重命名。
  • 页,增加,修改,删除,重命名。
  • 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。
  • 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。
  • 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。
  • 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。
  • 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。
  • 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。
  • 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。

在这里插入图片描述

]]>
+ + + +
+
\ No newline at end of file diff --git a/zh-CN/blog/author.png b/zh-CN/blog/author.png new file mode 100644 index 00000000..6d074a85 Binary files /dev/null and b/zh-CN/blog/author.png differ diff --git a/zh-CN/blog/dashboard.png b/zh-CN/blog/dashboard.png new file mode 100644 index 00000000..8754a5c8 Binary files /dev/null and b/zh-CN/blog/dashboard.png differ diff --git a/zh-CN/blog/datasource.png b/zh-CN/blog/datasource.png new file mode 100644 index 00000000..29af4ba9 Binary files /dev/null and b/zh-CN/blog/datasource.png differ diff --git a/zh-CN/blog/dependency.png b/zh-CN/blog/dependency.png new file mode 100644 index 00000000..ef350410 Binary files /dev/null and b/zh-CN/blog/dependency.png differ diff --git a/zh-CN/blog/desgin.png b/zh-CN/blog/desgin.png new file mode 100644 index 00000000..7b1fbfad Binary files /dev/null and b/zh-CN/blog/desgin.png differ diff --git a/zh-CN/blog/detail.png b/zh-CN/blog/detail.png new file mode 100644 index 00000000..8cd9022f Binary files /dev/null and b/zh-CN/blog/detail.png differ diff --git a/zh-CN/blog/doris.png b/zh-CN/blog/doris.png new file mode 100644 index 00000000..7812764b Binary files /dev/null and b/zh-CN/blog/doris.png differ diff --git a/zh-CN/blog/feed.json b/zh-CN/blog/feed.json new file mode 100644 index 00000000..611ae96e --- /dev/null +++ b/zh-CN/blog/feed.json @@ -0,0 +1,86 @@ +{ + "version": "https://jsonfeed.org/version/1", + "title": "SolidUI Blog", + "home_page_url": "https://cloudorc.github.io/SolidUI-Website/zh-CN/blog", + "description": "SolidUI Blog", + "items": [ + { + "id": "https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release", + "content_html": "

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Release Notes

Features

  • Design features, scene and page optimization
  • Project Preview
  • Design features, preview page
  • Support for GPT-like model proxy
  • Support for ChatGLM-like model proxy
  • Support Hugging Face Spaces plugin, provide trial function
  • Support for the ESLint code check tool
  • Design page delete graphic optimization
  • Login page, logout optimization
  • Support for chat window interaction
  • Support for the official website, internationalization
  • Support for the official website, UI optimization
  • Support for the official website, overview optimization
  • Support for the official website, Blog optimization
  • Support for the official website, all documents optimization
  • Support for the official website, framework migration

Deployment

  • Independent deployment related scripts
  • docker-compose

Documentation

  • All co-builders list
  • ESLint & Prettier code specifications
  • SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation
  • SolidUI community - Snakemq communication source code analysis
  • Centos7.9 offline deployment of ChatGLM-6B
  • SolidUI community - Independent deployment and Docker communication analysis
  • SolidUI community - Introduction to the official website
  • SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps
  • SolidUI community - FAQ problem-solving process
  • SolidUI community - General Prompt technique
  • SolidUI community - Prompt design
  • SolidUI community - Building a character based on Prompts
  • SolidUI community - AI model proxy
  • SolidUI community - Chain of Thought (CoT) in Prompts
  • SolidUI community - Prompt self-consistency
  • SolidUI community - Discord
  • SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction

Detailed Guide

Contributors

The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)

  • dlimeng
  • nutsjian
  • jacktao007
  • 15100399015
  • ziyu211
  • limingoo
  • hgfdsa101

How to Become a Contributor

Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12

Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;

Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

", + "url": "https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release", + "title": "Version Update | SolidUI 0.2.0 Release", + "summary": "Background", + "date_modified": "2023-09-05T00:00:00.000Z", + "tags": [ + "SolidUI", + "AI", + "stable-diffusion" + ] + }, + { + "id": "https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction", + "content_html": "

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\\[{\"x\":\"A\",\"y\":5},{\"x\":\"B\",\"y\":8},{\"x\":\"C\",\"y\":12},{\"x\":\"D\",\"y\":6},{\"x\":\"E\",\"y\":15},{\"x\":\"F\",\"y\":10}\\] Generate a bar chart

\"Image

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

\"Image

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

\"Image

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

\"Image

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

\"Image

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

\"Image

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

\"Image

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

\"Image

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

\"Image

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

\"Image

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from \"https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj\" and use the trimesh library to load and display this model.\n

\"Image

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

\"Image

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

\"Image

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;
", + "url": "https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction", + "title": "SolidUI generates any graphics in one sentence, v0.2.0 function introduction", + "summary": "Background", + "date_modified": "2023-09-05T00:00:00.000Z", + "tags": [ + "SolidUI", + "AI", + "stable-diffusion" + ] + }, + { + "id": "https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction", + "content_html": "

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI.\nOfficial website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click \"Issues\".
  3. Click the \"New issue\" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click \"Submit new issue\".\nSubmit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the \"Fork\" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a \"dev\" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click \"Pull requests\", then click \"New pull request\".
  6. Click \"compare across forks\" and choose your fork and your \"dev\" branch.
  7. Confirm your changes, then click \"Create pull request\".
  8. Provide a title and description for your PR on the opened page, then click \"Create pull request\".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

", + "url": "https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction", + "title": "SolidUI Community - Official Website Introduction", + "summary": "Background", + "date_modified": "2023-09-05T00:00:00.000Z", + "tags": [ + "SolidUI", + "AI", + "stable-diffusion" + ] + }, + { + "id": "https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis", + "content_html": "

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等;\n其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
", + "url": "https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis", + "title": "SolidUI社区-独立部署和Docker通信分析", + "summary": "背景", + "date_modified": "2023-07-03T00:00:00.000Z", + "tags": [ + "SolidUI", + "AIGC", + "stable-diffusion" + ] + }, + { + "id": "https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis", + "content_html": "

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

Snakemq介绍

SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。

SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。

Snakemq作用

  • 轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。
  • 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。
  • 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。
  • 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。
  • 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。
  • 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。
  • 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。

SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq

Snakemq 测试代码

Snakemq client.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format=\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging(\"client\", \"\", packeter)


connector = (\"server\", 8765)


link.add_connector(connector)


def on_connect(connector_id):


logger.info(f\"Connected to: {connector_id}\")


link.on_connect.add(on_connect)


def on_disconnect(connector_id):


logger.info(f\"已断开: {connector_id}\")


link.on_disconnect.add(on_disconnect)



def on_recv(conn, ident, message):


logger.info(f\"client接收到: {message.data}, 来自: {ident}\")


messaging.on_message_recv.add(on_recv)


message = snakemq.message.Message(json.dumps({\"type\": \"status\", \"value\": \"ready\"}).encode(\"utf-8\"), ttl=600)


messaging.send_message(\"server\", message)


while True:


link.loop()


time.sleep(0.1)


Snakemq server.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format=\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging(\"server\", \"\", packeter)


link.add_listener((\"0.0.0.0\", 8765))


def on_recv(conn, ident, message):


logger.info(f\"server接收到: {message.data}, 来自: {ident}\")


messaging.on_message_recv.add(on_recv)



message = snakemq.message.Message(json.dumps( {\"type\": \"execute\", \"value\": \"abc\"}).encode(\"utf-8\"), ttl=600)


messaging.send_message(\"client\", message)


# Main loop


while True:


link.loop()


time.sleep(0.1)


Dockerfile

FROM python:3.8
WORKDIR /opt/snaketmq-test

RUN pip install snakemq
RUN python -c \"import snakemq; print(snakemq.__file__); print(dir(snakemq))\"
COPY . .

CMD [\"python\", \"server.py\"]

Dockerfile build & run

docker build -t snaketmq-test . 

docker network create mynet

docker run -d --name server --network mynet  snaketmq-test

docker run --network mynet  snaketmq-test python client.py

Snakemq通信

注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener((\"0.0.0.0\", 8765)) 这行代码

  • server: 表示SnakeMQ的服务器实例。

  • link: server中的link属性,表示网络连接管理器。

  • add_listener: 向link中添加一个监听器。

  • (\"0.0.0.0\", 8765): 监听的地址和端口。\"0.0.0.0\"表示监听所有网卡地址,\"8765\"表示监听8765端口。\nclient connector = (\"server\", 8765) link.add_connector(connector) 这行代码

  • connector = (\"server\", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址\"server\"和端口8765。

  • link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。

  • 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。

结语

本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等;\n其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
", + "url": "https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis", + "title": "SolidUI社区-Snakemq通信源码分析", + "summary": "背景", + "date_modified": "2023-07-02T00:00:00.000Z", + "tags": [ + "SolidUI", + "AIGC", + "stable-diffusion" + ] + }, + { + "id": "https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0", + "content_html": "

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

https://github.com/CloudOrc/SolidUI

项目名字含义

SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。

登录页含义

登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。\n\"在这里插入图片描述\"

产品思维

“少就是多”

少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。

0.1.0 版本内涵

这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。

功能列表

下面介绍下整个第一个版本功能列表。

数据源管理

  • 显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。
  • 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以*\n成功添加MySQL数据源,并在数据源列表中显示。
  • 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。
  • 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。
  • 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。
  • 数据源过期:可以将选中的数据源设置为过期状态。\n\"在这里插入图片描述\"

项目管理

  • 添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。
  • 查询项目列表:通过输入项目名称,可以查询并输出项目列表。
  • 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。
  • 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。
  • 项目预览

设计页面

  • 场景,增加,修改,删除,重命名。
  • 页,增加,修改,删除,重命名。
  • 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。
  • 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。
  • 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。
  • 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。
  • 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。
  • 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。
  • 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。

\"在这里插入图片描述\"

", + "url": "https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0", + "title": "SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解", + "summary": "背景", + "date_modified": "2023-07-01T00:00:00.000Z", + "tags": [ + "SolidUI", + "AIGC", + "stable-diffusion" + ] + } + ] +} \ No newline at end of file diff --git a/zh-CN/blog/flinksql.png b/zh-CN/blog/flinksql.png new file mode 100644 index 00000000..36e8dc7a Binary files /dev/null and b/zh-CN/blog/flinksql.png differ diff --git a/zh-CN/blog/flow.png b/zh-CN/blog/flow.png new file mode 100644 index 00000000..aa2171b3 Binary files /dev/null and b/zh-CN/blog/flow.png differ diff --git a/zh-CN/blog/home.png b/zh-CN/blog/home.png new file mode 100644 index 00000000..1e2149e6 Binary files /dev/null and b/zh-CN/blog/home.png differ diff --git a/zh-CN/blog/index.html b/zh-CN/blog/index.html new file mode 100644 index 00000000..f80dfe12 --- /dev/null +++ b/zh-CN/blog/index.html @@ -0,0 +1,68 @@ + + + + + +Blog | SolidUI + + + + + + +
+

· 阅读需 4 分钟

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Release Notes

Features

  • Design features, scene and page optimization
  • Project Preview
  • Design features, preview page
  • Support for GPT-like model proxy
  • Support for ChatGLM-like model proxy
  • Support Hugging Face Spaces plugin, provide trial function
  • Support for the ESLint code check tool
  • Design page delete graphic optimization
  • Login page, logout optimization
  • Support for chat window interaction
  • Support for the official website, internationalization
  • Support for the official website, UI optimization
  • Support for the official website, overview optimization
  • Support for the official website, Blog optimization
  • Support for the official website, all documents optimization
  • Support for the official website, framework migration

Deployment

  • Independent deployment related scripts
  • docker-compose

Documentation

  • All co-builders list
  • ESLint & Prettier code specifications
  • SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation
  • SolidUI community - Snakemq communication source code analysis
  • Centos7.9 offline deployment of ChatGLM-6B
  • SolidUI community - Independent deployment and Docker communication analysis
  • SolidUI community - Introduction to the official website
  • SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps
  • SolidUI community - FAQ problem-solving process
  • SolidUI community - General Prompt technique
  • SolidUI community - Prompt design
  • SolidUI community - Building a character based on Prompts
  • SolidUI community - AI model proxy
  • SolidUI community - Chain of Thought (CoT) in Prompts
  • SolidUI community - Prompt self-consistency
  • SolidUI community - Discord
  • SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction

Detailed Guide

Contributors

The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)

  • dlimeng
  • nutsjian
  • jacktao007
  • 15100399015
  • ziyu211
  • limingoo
  • hgfdsa101

How to Become a Contributor

Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12

Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;

Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 阅读需 5 分钟

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\] Generate a bar chart

Image description

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

Image description

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

Image description

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

Image description

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

Image description

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

Image description

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

Image description

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

Image description

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

Image description

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

Image description

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model. +

Image description

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

Image description

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

Image description

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 阅读需 5 分钟

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI. +Official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click "Issues".
  3. Click the "New issue" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click "Submit new issue". +Submit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click "Pull requests", then click "New pull request".
  6. Click "compare across forks" and choose your fork and your "dev" branch.
  7. Confirm your changes, then click "Create pull request".
  8. Provide a title and description for your PR on the opened page, then click "Create pull request".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

+ + + + \ No newline at end of file diff --git a/zh-CN/blog/k8s.png b/zh-CN/blog/k8s.png new file mode 100644 index 00000000..f1d8cc4f Binary files /dev/null and b/zh-CN/blog/k8s.png differ diff --git a/zh-CN/blog/page/2/index.html b/zh-CN/blog/page/2/index.html new file mode 100644 index 00000000..5ac962ef --- /dev/null +++ b/zh-CN/blog/page/2/index.html @@ -0,0 +1,71 @@ + + + + + +Blog | SolidUI + + + + + + +
+

· 阅读需 4 分钟

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

· 阅读需 7 分钟

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

Snakemq介绍

SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。

SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。

Snakemq作用

  • 轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。
  • 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。
  • 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。
  • 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。
  • 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。
  • 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。
  • 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。

SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq

Snakemq 测试代码

Snakemq client.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("client", "", packeter)


connector = ("server", 8765)


link.add_connector(connector)


def on_connect(connector_id):


logger.info(f"Connected to: {connector_id}")


link.on_connect.add(on_connect)


def on_disconnect(connector_id):


logger.info(f"已断开: {connector_id}")


link.on_disconnect.add(on_disconnect)



def on_recv(conn, ident, message):


logger.info(f"client接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)


message = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)


messaging.send_message("server", message)


while True:


link.loop()


time.sleep(0.1)


Snakemq server.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("server", "", packeter)


link.add_listener(("0.0.0.0", 8765))


def on_recv(conn, ident, message):


logger.info(f"server接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)



message = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)


messaging.send_message("client", message)


# Main loop


while True:


link.loop()


time.sleep(0.1)


Dockerfile

FROM python:3.8
WORKDIR /opt/snaketmq-test

RUN pip install snakemq
RUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"
COPY . .

CMD ["python", "server.py"]

Dockerfile build & run

docker build -t snaketmq-test . 

docker network create mynet

docker run -d --name server --network mynet  snaketmq-test

docker run --network mynet  snaketmq-test python client.py

Snakemq通信

注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener(("0.0.0.0", 8765)) 这行代码

  • server: 表示SnakeMQ的服务器实例。

  • link: server中的link属性,表示网络连接管理器。

  • add_listener: 向link中添加一个监听器。

  • ("0.0.0.0", 8765): 监听的地址和端口。"0.0.0.0"表示监听所有网卡地址,"8765"表示监听8765端口。 +client connector = ("server", 8765) link.add_connector(connector) 这行代码

  • connector = ("server", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址"server"和端口8765。

  • link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。

  • 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。

结语

本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

· 阅读需 6 分钟

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

https://github.com/CloudOrc/SolidUI

项目名字含义

SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。

登录页含义

登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。 +在这里插入图片描述

产品思维

“少就是多”

少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。

0.1.0 版本内涵

这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。

功能列表

下面介绍下整个第一个版本功能列表。

数据源管理

  • 显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。
  • 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* +成功添加MySQL数据源,并在数据源列表中显示。
  • 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。
  • 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。
  • 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。
  • 数据源过期:可以将选中的数据源设置为过期状态。 +在这里插入图片描述

项目管理

  • 添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。
  • 查询项目列表:通过输入项目名称,可以查询并输出项目列表。
  • 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。
  • 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。
  • 项目预览

设计页面

  • 场景,增加,修改,删除,重命名。
  • 页,增加,修改,删除,重命名。
  • 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。
  • 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。
  • 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。
  • 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。
  • 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。
  • 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。
  • 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。

在这里插入图片描述

+ + + + \ No newline at end of file diff --git a/zh-CN/blog/pod.png b/zh-CN/blog/pod.png new file mode 100644 index 00000000..a3ff1dc8 Binary files /dev/null and b/zh-CN/blog/pod.png differ diff --git a/zh-CN/blog/rss.xml b/zh-CN/blog/rss.xml new file mode 100644 index 00000000..af72b12a --- /dev/null +++ b/zh-CN/blog/rss.xml @@ -0,0 +1,87 @@ + + + + SolidUI Blog + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog + SolidUI Blog + Tue, 05 Sep 2023 00:00:00 GMT + https://validator.w3.org/feed/docs/rss2.html + https://github.com/jpmonette/feed + zh-CN + + <![CDATA[Version Update | SolidUI 0.2.0 Release]]> + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release + Tue, 05 Sep 2023 00:00:00 GMT + + Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Release Notes

Features

  • Design features, scene and page optimization
  • Project Preview
  • Design features, preview page
  • Support for GPT-like model proxy
  • Support for ChatGLM-like model proxy
  • Support Hugging Face Spaces plugin, provide trial function
  • Support for the ESLint code check tool
  • Design page delete graphic optimization
  • Login page, logout optimization
  • Support for chat window interaction
  • Support for the official website, internationalization
  • Support for the official website, UI optimization
  • Support for the official website, overview optimization
  • Support for the official website, Blog optimization
  • Support for the official website, all documents optimization
  • Support for the official website, framework migration

Deployment

  • Independent deployment related scripts
  • docker-compose

Documentation

  • All co-builders list
  • ESLint & Prettier code specifications
  • SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation
  • SolidUI community - Snakemq communication source code analysis
  • Centos7.9 offline deployment of ChatGLM-6B
  • SolidUI community - Independent deployment and Docker communication analysis
  • SolidUI community - Introduction to the official website
  • SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps
  • SolidUI community - FAQ problem-solving process
  • SolidUI community - General Prompt technique
  • SolidUI community - Prompt design
  • SolidUI community - Building a character based on Prompts
  • SolidUI community - AI model proxy
  • SolidUI community - Chain of Thought (CoT) in Prompts
  • SolidUI community - Prompt self-consistency
  • SolidUI community - Discord
  • SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction

Detailed Guide

Contributors

The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)

  • dlimeng
  • nutsjian
  • jacktao007
  • 15100399015
  • ziyu211
  • limingoo
  • hgfdsa101

How to Become a Contributor

Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12

Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;

Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

]]>
+ SolidUI + AI + stable-diffusion +
+ + <![CDATA[SolidUI generates any graphics in one sentence, v0.2.0 function introduction]]> + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction + Tue, 05 Sep 2023 00:00:00 GMT + + Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\] Generate a bar chart

Image description

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

Image description

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

Image description

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

Image description

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

Image description

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

Image description

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

Image description

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

Image description

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

Image description

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

Image description

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model. +

Image description

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

Image description

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

Image description

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;
]]>
+ SolidUI + AI + stable-diffusion +
+ + <![CDATA[SolidUI Community - Official Website Introduction]]> + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction + Tue, 05 Sep 2023 00:00:00 GMT + + Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI. +Official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click "Issues".
  3. Click the "New issue" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click "Submit new issue". +Submit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click "Pull requests", then click "New pull request".
  6. Click "compare across forks" and choose your fork and your "dev" branch.
  7. Confirm your changes, then click "Create pull request".
  8. Provide a title and description for your PR on the opened page, then click "Create pull request".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

]]>
+ SolidUI + AI + stable-diffusion +
+ + <![CDATA[SolidUI社区-独立部署和Docker通信分析]]> + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis + Mon, 03 Jul 2023 00:00:00 GMT + + 背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
]]>
+ SolidUI + AIGC + stable-diffusion +
+ + <![CDATA[SolidUI社区-Snakemq通信源码分析]]> + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis + Sun, 02 Jul 2023 00:00:00 GMT + + 背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

Snakemq介绍

SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。

SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。

Snakemq作用

  • 轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。
  • 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。
  • 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。
  • 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。
  • 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。
  • 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。
  • 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。

SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq

Snakemq 测试代码

Snakemq client.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("client", "", packeter)


connector = ("server", 8765)


link.add_connector(connector)


def on_connect(connector_id):


logger.info(f"Connected to: {connector_id}")


link.on_connect.add(on_connect)


def on_disconnect(connector_id):


logger.info(f"已断开: {connector_id}")


link.on_disconnect.add(on_disconnect)



def on_recv(conn, ident, message):


logger.info(f"client接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)


message = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)


messaging.send_message("server", message)


while True:


link.loop()


time.sleep(0.1)


Snakemq server.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("server", "", packeter)


link.add_listener(("0.0.0.0", 8765))


def on_recv(conn, ident, message):


logger.info(f"server接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)



message = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)


messaging.send_message("client", message)


# Main loop


while True:


link.loop()


time.sleep(0.1)


Dockerfile

FROM python:3.8
WORKDIR /opt/snaketmq-test

RUN pip install snakemq
RUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"
COPY . .

CMD ["python", "server.py"]

Dockerfile build & run

docker build -t snaketmq-test . 

docker network create mynet

docker run -d --name server --network mynet  snaketmq-test

docker run --network mynet  snaketmq-test python client.py

Snakemq通信

注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener(("0.0.0.0", 8765)) 这行代码

  • server: 表示SnakeMQ的服务器实例。

  • link: server中的link属性,表示网络连接管理器。

  • add_listener: 向link中添加一个监听器。

  • ("0.0.0.0", 8765): 监听的地址和端口。"0.0.0.0"表示监听所有网卡地址,"8765"表示监听8765端口。 +client connector = ("server", 8765) link.add_connector(connector) 这行代码

  • connector = ("server", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址"server"和端口8765。

  • link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。

  • 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。

结语

本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;
]]>
+ SolidUI + AIGC + stable-diffusion +
+ + <![CDATA[SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解]]> + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0 + https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0 + Sat, 01 Jul 2023 00:00:00 GMT + + 背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

https://github.com/CloudOrc/SolidUI

项目名字含义

SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。

登录页含义

登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。 +在这里插入图片描述

产品思维

“少就是多”

少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。

0.1.0 版本内涵

这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。

功能列表

下面介绍下整个第一个版本功能列表。

数据源管理

  • 显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。
  • 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* +成功添加MySQL数据源,并在数据源列表中显示。
  • 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。
  • 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。
  • 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。
  • 数据源过期:可以将选中的数据源设置为过期状态。 +在这里插入图片描述

项目管理

  • 添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。
  • 查询项目列表:通过输入项目名称,可以查询并输出项目列表。
  • 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。
  • 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。
  • 项目预览

设计页面

  • 场景,增加,修改,删除,重命名。
  • 页,增加,修改,删除,重命名。
  • 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。
  • 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。
  • 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。
  • 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。
  • 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。
  • 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。
  • 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。

在这里插入图片描述

]]>
+ SolidUI + AIGC + stable-diffusion +
+
+
\ No newline at end of file diff --git a/zh-CN/blog/sqlverify.png b/zh-CN/blog/sqlverify.png new file mode 100644 index 00000000..45aa0762 Binary files /dev/null and b/zh-CN/blog/sqlverify.png differ diff --git a/zh-CN/blog/start.png b/zh-CN/blog/start.png new file mode 100644 index 00000000..cabe8ce1 Binary files /dev/null and b/zh-CN/blog/start.png differ diff --git a/zh-CN/blog/tags/ai/index.html b/zh-CN/blog/tags/ai/index.html new file mode 100644 index 00000000..96538b77 --- /dev/null +++ b/zh-CN/blog/tags/ai/index.html @@ -0,0 +1,68 @@ + + + + + +3 篇博文 含有标签「AI」 | SolidUI + + + + + + +
+

3 篇博文 含有标签「AI」

查看所有标签

· 阅读需 4 分钟

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Release Notes

Features

  • Design features, scene and page optimization
  • Project Preview
  • Design features, preview page
  • Support for GPT-like model proxy
  • Support for ChatGLM-like model proxy
  • Support Hugging Face Spaces plugin, provide trial function
  • Support for the ESLint code check tool
  • Design page delete graphic optimization
  • Login page, logout optimization
  • Support for chat window interaction
  • Support for the official website, internationalization
  • Support for the official website, UI optimization
  • Support for the official website, overview optimization
  • Support for the official website, Blog optimization
  • Support for the official website, all documents optimization
  • Support for the official website, framework migration

Deployment

  • Independent deployment related scripts
  • docker-compose

Documentation

  • All co-builders list
  • ESLint & Prettier code specifications
  • SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation
  • SolidUI community - Snakemq communication source code analysis
  • Centos7.9 offline deployment of ChatGLM-6B
  • SolidUI community - Independent deployment and Docker communication analysis
  • SolidUI community - Introduction to the official website
  • SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps
  • SolidUI community - FAQ problem-solving process
  • SolidUI community - General Prompt technique
  • SolidUI community - Prompt design
  • SolidUI community - Building a character based on Prompts
  • SolidUI community - AI model proxy
  • SolidUI community - Chain of Thought (CoT) in Prompts
  • SolidUI community - Prompt self-consistency
  • SolidUI community - Discord
  • SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction

Detailed Guide

Contributors

The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)

  • dlimeng
  • nutsjian
  • jacktao007
  • 15100399015
  • ziyu211
  • limingoo
  • hgfdsa101

How to Become a Contributor

Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12

Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;

Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 阅读需 5 分钟

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\] Generate a bar chart

Image description

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

Image description

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

Image description

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

Image description

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

Image description

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

Image description

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

Image description

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

Image description

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

Image description

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

Image description

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model. +

Image description

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

Image description

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

Image description

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 阅读需 5 分钟

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI. +Official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click "Issues".
  3. Click the "New issue" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click "Submit new issue". +Submit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click "Pull requests", then click "New pull request".
  6. Click "compare across forks" and choose your fork and your "dev" branch.
  7. Confirm your changes, then click "Create pull request".
  8. Provide a title and description for your PR on the opened page, then click "Create pull request".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

+ + + + \ No newline at end of file diff --git a/zh-CN/blog/tags/aigc/index.html b/zh-CN/blog/tags/aigc/index.html new file mode 100644 index 00000000..9613c921 --- /dev/null +++ b/zh-CN/blog/tags/aigc/index.html @@ -0,0 +1,71 @@ + + + + + +3 篇博文 含有标签「AIGC」 | SolidUI + + + + + + +
+

3 篇博文 含有标签「AIGC」

查看所有标签

· 阅读需 4 分钟

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

· 阅读需 7 分钟

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

Snakemq介绍

SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。

SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。

Snakemq作用

  • 轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。
  • 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。
  • 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。
  • 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。
  • 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。
  • 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。
  • 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。

SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq

Snakemq 测试代码

Snakemq client.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("client", "", packeter)


connector = ("server", 8765)


link.add_connector(connector)


def on_connect(connector_id):


logger.info(f"Connected to: {connector_id}")


link.on_connect.add(on_connect)


def on_disconnect(connector_id):


logger.info(f"已断开: {connector_id}")


link.on_disconnect.add(on_disconnect)



def on_recv(conn, ident, message):


logger.info(f"client接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)


message = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)


messaging.send_message("server", message)


while True:


link.loop()


time.sleep(0.1)


Snakemq server.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("server", "", packeter)


link.add_listener(("0.0.0.0", 8765))


def on_recv(conn, ident, message):


logger.info(f"server接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)



message = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)


messaging.send_message("client", message)


# Main loop


while True:


link.loop()


time.sleep(0.1)


Dockerfile

FROM python:3.8
WORKDIR /opt/snaketmq-test

RUN pip install snakemq
RUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"
COPY . .

CMD ["python", "server.py"]

Dockerfile build & run

docker build -t snaketmq-test . 

docker network create mynet

docker run -d --name server --network mynet  snaketmq-test

docker run --network mynet  snaketmq-test python client.py

Snakemq通信

注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener(("0.0.0.0", 8765)) 这行代码

  • server: 表示SnakeMQ的服务器实例。

  • link: server中的link属性,表示网络连接管理器。

  • add_listener: 向link中添加一个监听器。

  • ("0.0.0.0", 8765): 监听的地址和端口。"0.0.0.0"表示监听所有网卡地址,"8765"表示监听8765端口。 +client connector = ("server", 8765) link.add_connector(connector) 这行代码

  • connector = ("server", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址"server"和端口8765。

  • link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。

  • 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。

结语

本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

· 阅读需 6 分钟

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

https://github.com/CloudOrc/SolidUI

项目名字含义

SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。

登录页含义

登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。 +在这里插入图片描述

产品思维

“少就是多”

少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。

0.1.0 版本内涵

这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。

功能列表

下面介绍下整个第一个版本功能列表。

数据源管理

  • 显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。
  • 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* +成功添加MySQL数据源,并在数据源列表中显示。
  • 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。
  • 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。
  • 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。
  • 数据源过期:可以将选中的数据源设置为过期状态。 +在这里插入图片描述

项目管理

  • 添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。
  • 查询项目列表:通过输入项目名称,可以查询并输出项目列表。
  • 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。
  • 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。
  • 项目预览

设计页面

  • 场景,增加,修改,删除,重命名。
  • 页,增加,修改,删除,重命名。
  • 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。
  • 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。
  • 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。
  • 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。
  • 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。
  • 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。
  • 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。

在这里插入图片描述

+ + + + \ No newline at end of file diff --git a/zh-CN/blog/tags/index.html b/zh-CN/blog/tags/index.html new file mode 100644 index 00000000..19361112 --- /dev/null +++ b/zh-CN/blog/tags/index.html @@ -0,0 +1,65 @@ + + + + + +标签 | SolidUI + + + + + + + + + + + \ No newline at end of file diff --git a/zh-CN/blog/tags/solid-ui/index.html b/zh-CN/blog/tags/solid-ui/index.html new file mode 100644 index 00000000..8e331b2d --- /dev/null +++ b/zh-CN/blog/tags/solid-ui/index.html @@ -0,0 +1,68 @@ + + + + + +6 篇博文 含有标签「SolidUI」 | SolidUI + + + + + + +
+

6 篇博文 含有标签「SolidUI」

查看所有标签

· 阅读需 4 分钟

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Release Notes

Features

  • Design features, scene and page optimization
  • Project Preview
  • Design features, preview page
  • Support for GPT-like model proxy
  • Support for ChatGLM-like model proxy
  • Support Hugging Face Spaces plugin, provide trial function
  • Support for the ESLint code check tool
  • Design page delete graphic optimization
  • Login page, logout optimization
  • Support for chat window interaction
  • Support for the official website, internationalization
  • Support for the official website, UI optimization
  • Support for the official website, overview optimization
  • Support for the official website, Blog optimization
  • Support for the official website, all documents optimization
  • Support for the official website, framework migration

Deployment

  • Independent deployment related scripts
  • docker-compose

Documentation

  • All co-builders list
  • ESLint & Prettier code specifications
  • SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation
  • SolidUI community - Snakemq communication source code analysis
  • Centos7.9 offline deployment of ChatGLM-6B
  • SolidUI community - Independent deployment and Docker communication analysis
  • SolidUI community - Introduction to the official website
  • SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps
  • SolidUI community - FAQ problem-solving process
  • SolidUI community - General Prompt technique
  • SolidUI community - Prompt design
  • SolidUI community - Building a character based on Prompts
  • SolidUI community - AI model proxy
  • SolidUI community - Chain of Thought (CoT) in Prompts
  • SolidUI community - Prompt self-consistency
  • SolidUI community - Discord
  • SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction

Detailed Guide

Contributors

The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)

  • dlimeng
  • nutsjian
  • jacktao007
  • 15100399015
  • ziyu211
  • limingoo
  • hgfdsa101

How to Become a Contributor

Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12

Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;

Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 阅读需 5 分钟

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\] Generate a bar chart

Image description

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

Image description

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

Image description

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

Image description

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

Image description

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

Image description

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

Image description

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

Image description

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

Image description

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

Image description

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model. +

Image description

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

Image description

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

Image description

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 阅读需 5 分钟

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI. +Official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click "Issues".
  3. Click the "New issue" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click "Submit new issue". +Submit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click "Pull requests", then click "New pull request".
  6. Click "compare across forks" and choose your fork and your "dev" branch.
  7. Confirm your changes, then click "Create pull request".
  8. Provide a title and description for your PR on the opened page, then click "Create pull request".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

+ + + + \ No newline at end of file diff --git a/zh-CN/blog/tags/solid-ui/page/2/index.html b/zh-CN/blog/tags/solid-ui/page/2/index.html new file mode 100644 index 00000000..13795775 --- /dev/null +++ b/zh-CN/blog/tags/solid-ui/page/2/index.html @@ -0,0 +1,71 @@ + + + + + +6 篇博文 含有标签「SolidUI」 | SolidUI + + + + + + +
+

6 篇博文 含有标签「SolidUI」

查看所有标签

· 阅读需 4 分钟

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

· 阅读需 7 分钟

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

Snakemq介绍

SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。

SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。

Snakemq作用

  • 轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。
  • 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。
  • 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。
  • 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。
  • 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。
  • 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。
  • 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。

SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq

Snakemq 测试代码

Snakemq client.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("client", "", packeter)


connector = ("server", 8765)


link.add_connector(connector)


def on_connect(connector_id):


logger.info(f"Connected to: {connector_id}")


link.on_connect.add(on_connect)


def on_disconnect(connector_id):


logger.info(f"已断开: {connector_id}")


link.on_disconnect.add(on_disconnect)



def on_recv(conn, ident, message):


logger.info(f"client接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)


message = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)


messaging.send_message("server", message)


while True:


link.loop()


time.sleep(0.1)


Snakemq server.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("server", "", packeter)


link.add_listener(("0.0.0.0", 8765))


def on_recv(conn, ident, message):


logger.info(f"server接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)



message = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)


messaging.send_message("client", message)


# Main loop


while True:


link.loop()


time.sleep(0.1)


Dockerfile

FROM python:3.8
WORKDIR /opt/snaketmq-test

RUN pip install snakemq
RUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"
COPY . .

CMD ["python", "server.py"]

Dockerfile build & run

docker build -t snaketmq-test . 

docker network create mynet

docker run -d --name server --network mynet  snaketmq-test

docker run --network mynet  snaketmq-test python client.py

Snakemq通信

注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener(("0.0.0.0", 8765)) 这行代码

  • server: 表示SnakeMQ的服务器实例。

  • link: server中的link属性,表示网络连接管理器。

  • add_listener: 向link中添加一个监听器。

  • ("0.0.0.0", 8765): 监听的地址和端口。"0.0.0.0"表示监听所有网卡地址,"8765"表示监听8765端口。 +client connector = ("server", 8765) link.add_connector(connector) 这行代码

  • connector = ("server", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址"server"和端口8765。

  • link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。

  • 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。

结语

本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

· 阅读需 6 分钟

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

https://github.com/CloudOrc/SolidUI

项目名字含义

SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。

登录页含义

登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。 +在这里插入图片描述

产品思维

“少就是多”

少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。

0.1.0 版本内涵

这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。

功能列表

下面介绍下整个第一个版本功能列表。

数据源管理

  • 显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。
  • 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* +成功添加MySQL数据源,并在数据源列表中显示。
  • 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。
  • 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。
  • 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。
  • 数据源过期:可以将选中的数据源设置为过期状态。 +在这里插入图片描述

项目管理

  • 添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。
  • 查询项目列表:通过输入项目名称,可以查询并输出项目列表。
  • 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。
  • 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。
  • 项目预览

设计页面

  • 场景,增加,修改,删除,重命名。
  • 页,增加,修改,删除,重命名。
  • 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。
  • 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。
  • 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。
  • 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。
  • 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。
  • 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。
  • 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。

在这里插入图片描述

+ + + + \ No newline at end of file diff --git a/zh-CN/blog/tags/stable-diffusion/index.html b/zh-CN/blog/tags/stable-diffusion/index.html new file mode 100644 index 00000000..8fa711c0 --- /dev/null +++ b/zh-CN/blog/tags/stable-diffusion/index.html @@ -0,0 +1,68 @@ + + + + + +6 篇博文 含有标签「stable-diffusion」 | SolidUI + + + + + + +
+

6 篇博文 含有标签「stable-diffusion」

查看所有标签

· 阅读需 4 分钟

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Release Notes

Features

  • Design features, scene and page optimization
  • Project Preview
  • Design features, preview page
  • Support for GPT-like model proxy
  • Support for ChatGLM-like model proxy
  • Support Hugging Face Spaces plugin, provide trial function
  • Support for the ESLint code check tool
  • Design page delete graphic optimization
  • Login page, logout optimization
  • Support for chat window interaction
  • Support for the official website, internationalization
  • Support for the official website, UI optimization
  • Support for the official website, overview optimization
  • Support for the official website, Blog optimization
  • Support for the official website, all documents optimization
  • Support for the official website, framework migration

Deployment

  • Independent deployment related scripts
  • docker-compose

Documentation

  • All co-builders list
  • ESLint & Prettier code specifications
  • SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation
  • SolidUI community - Snakemq communication source code analysis
  • Centos7.9 offline deployment of ChatGLM-6B
  • SolidUI community - Independent deployment and Docker communication analysis
  • SolidUI community - Introduction to the official website
  • SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps
  • SolidUI community - FAQ problem-solving process
  • SolidUI community - General Prompt technique
  • SolidUI community - Prompt design
  • SolidUI community - Building a character based on Prompts
  • SolidUI community - AI model proxy
  • SolidUI community - Chain of Thought (CoT) in Prompts
  • SolidUI community - Prompt self-consistency
  • SolidUI community - Discord
  • SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction

Detailed Guide

Contributors

The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order)

  • dlimeng
  • nutsjian
  • jacktao007
  • 15100399015
  • ziyu211
  • limingoo
  • hgfdsa101

How to Become a Contributor

Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12

Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;

Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 阅读需 5 分钟

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation.

Project URL: https://github.com/CloudOrc/SolidUI

Project mirror URL: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Join the group: https://discord.gg/NGRNu2mGeQ

Chat Window

One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.

Prompt Words

  • The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account.
  • The input data can be manually input or automatically generated, combined with text prompt words.

Chat Window Generation

Input data format for bar chart

\[{"x":"A","y":5},{"x":"B","y":8},{"x":"C","y":12},{"x":"D","y":6},{"x":"E","y":15},{"x":"F","y":10}\] Generate a bar chart

Image description

Surface Graph

Prompt 1

Generate a simple 3D surface graph.

Image description

Prompt 2

Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph.

Image description

Prompt 3

Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph.

Image description

Prompt 4

Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.

Image description

Scatter Plot

Prompt 1

Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution.

Image description

Prompt 2

A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values.

Image description

Prompt 3

A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.

Image description

Spiral Line

Prompt 1

Draw a spiral line in a 3D graph.

Image description

Pie Chart

Prompt 1

A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.

Image description

Bunny Modeling

Prompt 1

Download the Stanford Bunny model from "https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj" and use the trimesh library to load and display this model. +

Image description

https://faculty.cc.gatech.edu/~turk/bunny/bunny.html

Map

Prompt 1

Create a map, download link

Image description

Design Page

Page Layout

Manage the layout of generated graphics, divided by scenes and pages.

Preview

Click on the project preview or Design Page -> Scene -> Page preview

Image description

Future Plans of SolidUI Community

For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics.

This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas.

Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.

How to Become a Contributor

  • Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54
  • Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12
  • Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10
  • Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.;
  • Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;

· 阅读需 5 分钟

Background

With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation.

Project link: https://github.com/CloudOrc/SolidUI

Project mirror link: https://gitee.com/CloudOrc/SolidUI

Community official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

Introduction

The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections:

  • Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases.
  • Download: Users can download the latest version of SolidUI here.
  • Releases: The release records of SolidUI can be found here, where users can view all version release and update information.
  • Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help.
  • Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members.
  • Become A Committer: A page for developers to submit code or become project contributors.
  • Documentation Notice: Notices or updates about SolidUI's documentation.
  • Submit Code: A page for submitting code where users can submit their own code for the SolidUI project.
  • Team: Page introducing the SolidUI team members.
  • Users: A page showcasing SolidUI users or customers, thanking partners for their participation.
  • Our Users: A page likely introducing SolidUI's user groups.
  • Blog: The SolidUI blog, where users can read the latest articles about SolidUI. +Official website: https://cloudorc.github.io/SolidUI-Website/

Official website project address:https://github.com/CloudOrc/SolidUI-Website

How to Contribute

Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.

Example

For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization.

Submit an Issue

  1. First, visit the main page of the SolidUI-Website project.
  2. In the top menu bar of the project, click "Issues".
  3. Click the "New issue" button in the upper right corner.
  4. Enter the title and description of your Issue on the page that appears.
  5. When you're done, click "Submit new issue". +Submit a Pull Request

Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps:

  1. On the main page of the SolidUI-Website project, click the "Fork" button in the upper right corner.
  2. In your forked version, select or create the branch you want to modify. In this case, you should select or create a "dev" branch.
  3. Make the required changes on your branch.
  4. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project.
  5. Click "Pull requests", then click "New pull request".
  6. Click "compare across forks" and choose your fork and your "dev" branch.
  7. Confirm your changes, then click "Create pull request".
  8. Provide a title and description for your PR on the opened page, then click "Create pull request".

Conclusion

Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project.

We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing.

Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project.

Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.

SolidUI-Website Contributors

The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order):

  • dlimeng
  • 15100399015
  • limingoo

Acknowledgments

Thanks to the streampark-website for providing framework support.

How to Become a Contributor

Here are some ways to contribute to the SolidUI community.

Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54

Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12

Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10

Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.

Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.

+ + + + \ No newline at end of file diff --git a/zh-CN/blog/tags/stable-diffusion/page/2/index.html b/zh-CN/blog/tags/stable-diffusion/page/2/index.html new file mode 100644 index 00000000..0ef26c53 --- /dev/null +++ b/zh-CN/blog/tags/stable-diffusion/page/2/index.html @@ -0,0 +1,71 @@ + + + + + +6 篇博文 含有标签「stable-diffusion」 | SolidUI + + + + + + +
+

6 篇博文 含有标签「stable-diffusion」

查看所有标签

· 阅读需 4 分钟

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

独立部署通信

单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。

单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。

例如

如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。

设置 Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置内网ip
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip

Docker 部署通信

容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。

例如

数据库连接

在docker-compose.yml 中,设置了Mysql数据库名称为mysql

所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost

soliduimodelui/.env DB_HOST mysql 替换 localhost

soliduimodelui/.env Snakemq 通信

soliduimodelui/.env  SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0
soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui

结语

本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

· 阅读需 7 分钟

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

项目地址: https://github.com/CloudOrc/SolidUI

项目镜像地址: https://gitee.com/CloudOrc/SolidUI

Snakemq介绍

SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。

SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。

Snakemq作用

  • 轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。
  • 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。
  • 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。
  • 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。
  • 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。
  • 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。
  • 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。

SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq

Snakemq 测试代码

Snakemq client.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("client", "", packeter)


connector = ("server", 8765)


link.add_connector(connector)


def on_connect(connector_id):


logger.info(f"Connected to: {connector_id}")


link.on_connect.add(on_connect)


def on_disconnect(connector_id):


logger.info(f"已断开: {connector_id}")


link.on_disconnect.add(on_disconnect)



def on_recv(conn, ident, message):


logger.info(f"client接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)


message = snakemq.message.Message(json.dumps({"type": "status", "value": "ready"}).encode("utf-8"), ttl=600)


messaging.send_message("server", message)


while True:


link.loop()


time.sleep(0.1)


Snakemq server.py


import snakemq.link
import snakemq.packeter
import snakemq.messaging
import snakemq.rpc
import time
import json
import logging


logging.basicConfig(format="[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s")


logger = logging.getLogger(__name__)


logger.setLevel(logging.INFO)


console_handler = logging.StreamHandler()


console_handler.setLevel(logging.INFO)


logger.addHandler(console_handler)


logger.setLevel(logging.INFO)


fh = logging.FileHandler('app.log')


logger.addHandler(fh)


link = snakemq.link.Link()


packeter = snakemq.packeter.Packeter(link)


messaging = snakemq.messaging.Messaging("server", "", packeter)


link.add_listener(("0.0.0.0", 8765))


def on_recv(conn, ident, message):


logger.info(f"server接收到: {message.data}, 来自: {ident}")


messaging.on_message_recv.add(on_recv)



message = snakemq.message.Message(json.dumps( {"type": "execute", "value": "abc"}).encode("utf-8"), ttl=600)


messaging.send_message("client", message)


# Main loop


while True:


link.loop()


time.sleep(0.1)


Dockerfile

FROM python:3.8
WORKDIR /opt/snaketmq-test

RUN pip install snakemq
RUN python -c "import snakemq; print(snakemq.__file__); print(dir(snakemq))"
COPY . .

CMD ["python", "server.py"]

Dockerfile build & run

docker build -t snaketmq-test . 

docker network create mynet

docker run -d --name server --network mynet  snaketmq-test

docker run --network mynet  snaketmq-test python client.py

Snakemq通信

注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener(("0.0.0.0", 8765)) 这行代码

  • server: 表示SnakeMQ的服务器实例。

  • link: server中的link属性,表示网络连接管理器。

  • add_listener: 向link中添加一个监听器。

  • ("0.0.0.0", 8765): 监听的地址和端口。"0.0.0.0"表示监听所有网卡地址,"8765"表示监听8765端口。 +client connector = ("server", 8765) link.add_connector(connector) 这行代码

  • connector = ("server", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址"server"和端口8765。

  • link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。

  • 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。

结语

本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。

如果成为贡献者

  • 官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54
  • 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12
  • 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10
  • 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; +其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;

· 阅读需 6 分钟

背景

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

https://github.com/CloudOrc/SolidUI

项目名字含义

SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。

登录页含义

登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。 +在这里插入图片描述

产品思维

“少就是多”

少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。

0.1.0 版本内涵

这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。

功能列表

下面介绍下整个第一个版本功能列表。

数据源管理

  • 显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。
  • 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* +成功添加MySQL数据源,并在数据源列表中显示。
  • 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。
  • 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。
  • 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。
  • 数据源过期:可以将选中的数据源设置为过期状态。 +在这里插入图片描述

项目管理

  • 添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。
  • 查询项目列表:通过输入项目名称,可以查询并输出项目列表。
  • 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。
  • 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。
  • 项目预览

设计页面

  • 场景,增加,修改,删除,重命名。
  • 页,增加,修改,删除,重命名。
  • 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。
  • 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。
  • 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。
  • 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。
  • 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。
  • 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。
  • 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。

在这里插入图片描述

+ + + + \ No newline at end of file diff --git a/zh-CN/community/contribution_guide/become_committer/index.html b/zh-CN/community/contribution_guide/become_committer/index.html new file mode 100644 index 00000000..e44c04a6 --- /dev/null +++ b/zh-CN/community/contribution_guide/become_committer/index.html @@ -0,0 +1,65 @@ + + + + + +Become committer | SolidUI + + + + + + +
+

How to participate in project contribution

Many thanks for contributing to the SolidUI project! Before contributing, please read the following guidelines carefully.

1. Contribution category

1.1 Bug feedback and fixes

We recommend that whether it is bug feedback or repair, first create an Issue to describe the status of the bug in detail, so that the community can find and review the problem and code through the Issue record. Bug feedback Issues usually need to include full information describing the bug and reproducible scenarios, so that the community can quickly locate the cause of the bug and fix it. Open Issues with #bug tags are those that need to be fixed.

1.2 Function communication, implementation, refactoring

In the communication process, describing in detail the details, mechanism and usage scenarios of the new function (or refactoring) can promote its better and faster implementation (including test cases and codes, and CI/CD related work). If you plan to implement a major function (or refactoring), please be sure to communicate with the core development team via Issue or other means, so that everyone can promote it in the most efficient way. Open Issues containing #feature tags are all new features that need to be implemented, and open Issues containing #enhancement tags are all functions that need to be improved and refactored.

1.3 Issue Answers

Helping to answer usage questions in Issues is a very valuable way to contribute to the SolidUI community; there are always new users in the community, and you can show your expertise while helping new users.

1.4 Documentation improvements

The SolidUI documentation is located at SolidUI-Website, and the completion of the documentation is also crucial to the development of SolidUI.

1.5 Others

Including participating in and helping to organize community exchanges, community operation activities, etc., and other activities that can help SolidUI projects and communities.

2. Contribution process

2.1 Branch structure

The SolidUI source code may generate some temporary branches, but two are only the following three branches that are really meaningful:

  • release-*: Stable release version;
  • dev: The daily development branch, which is also the target branch for everyone to contribute code. If you want to contribute code, please create a new branch based on the dev branch. When the version is released, a new release branch will be created based on dev;

2.1.1 Concept

2.1.2 Synchronize the latest code from the Upstream warehouse branch to your own Fork warehouse

  • step1 Enter the user project page, select the branch to be updated
  • step2 Click Fetch upstream under the code download button, select Fetch and merge (if the branch of your own Fork warehouse is accidentally polluted, you can delete the branch, and then synchronize the new branch of the Upstream warehouse to your own Fork warehouse, see the guide [Synchronize Upstream Branch the latest code from the warehouse to your own Fork warehouse](#213-Synchronize the new branch of the Upstream warehouse to your own Fork warehouse))

2.1.3 Synchronize the new branch of the Upstream warehouse to your own Fork warehouse

Scenario: There is a new branch in the Upstream repository, but the forked repository does not have this branch (you can choose to delete it and re-fork, but the changes that have not been merged to the original repository will be lost)

  • step1 Open the Git command line tool (such as Git Bash), clone your own Fork warehouse to the local
git clone https://github.com/{your_github_username}/SolidUI.git
  • step2 enter the local warehouse directory
cd SolidUI
  • step3 Add Upstream warehouse as remote warehouse
git remote add upstream https://github.com/CloudOrc/SolidUI.git
  • step4 Get the branch information of the Upstream warehouse
git fetch upstream
  • step5 Synchronize the new branch of the Upstream warehouse to the local
git checkout -b {new_branch_name} upstream/{new_branch_name}
  • step6 Push the new branch to your own Fork repository
git push --set-upstream origin {new_branch_name}

2.1.4 A pr process

  • step1 Confirm the base branch of the current development (usually the current version in progress, such as the version 0.2.0 currently under development in the community, then the branch is dev, if you are not sure, you can ask in the community group or @related in the issue classmate)

  • step2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse branch, refer to the guide [2.1.2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse]

  • step3 Based on the development branch, pull the new fix/feature branch (do not directly modify the original branch, if the subsequent pr is merged in squash mode, the submitted commit records will be merged into one)

git checkout -b dev-fix dev
git push origin dev-fix:dev-fix
  • step4 for development
  • step5 Submit pr (if it is in progress and the development has not been completely completed, please add the WIP logo to the pr title, such as [WIP] Dev 0.2.0 Add junit test code for [solidui-common]; associate the corresponding issue etc.)
  • step6 waiting to be merged
  • step7 delete the fix/future branch (you can do it on the github page)
git branch -d dev-fix
git push

2.2 Development Guidelines

The front-end and back-end codes of SolidUI share the same code base, but are separated in development. Before starting development, please fork a copy of the SolidUI project to your own Github Repositories, and develop based on the SolidUI code base in your own Github Repositories.

We recommend cloning the dev branch and naming it dev-fix for development. At the same time, create a new dev-fix branch in your warehouse and modify it directly on the original branch. If the subsequent pr is merged in squash mode, the submitted commit records will be merged into one

# pull branch
git clone https://github.com/{githubid}/SolidUI.git --branch dev
#Generate local dev-fix branch according to dev
git checkout -b dev-fix dev
#Push the local dev-fix branch to your own warehouse
git push origin dev-fix dev-fix

2.3 Issue submission guidelines

  • If you don't know how to initiate a PR to an open source project, please refer to About issues
  • The name of the issue, which should briefly describe your problem or suggestion in one sentence; for the international promotion of the project, please write the issue in English, or bilingual Chinese and English
  • For each Issue, please bring at least a label. Reference: issue #63

2.4 Pull Request (PR) submission guidelines

  • If you don't know how to initiate a PR to an open source project, please refer to [About pull requests](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull -requests)

  • Whether it's a bug fix or a new feature development, please submit a PR to the dev branch

  • PR and commit name follow the principle of <type>(<scope>): <subject>, for details, please refer to Commit message and Change log writing guide

  • If a PR includes new features, documentation updates should be included in this PR

  • If the PR is not ready to be merged, prefix the name with [WIP] (WIP = work-in-progress)

  • All commits to dev-* branches need to be reviewed at least once before they can be merged

2.5 Review Criteria

Before contributing code, find out what kind of commits are welcome in Review. Simply put, if a commit brings as much gain as possible with as few side effects or risks as possible, the more likely it will be merged and the faster it will be reviewed. Commits with high risk and low value are almost impossible to be merged, and may be rejected for Review.

2.5.1 Gains

  • Fix the main cause of the bug
  • Add or fix a feature or bug that was requested by a large number of users
  • simple and effective
  • Easy to test, with test cases
  • Reduce complexity and code size
  • Issues identified for improvement discussed by the community

2.5.2 Side Effects and Risks

  • only fix the surface of the bug
  • Introducing new features with high complexity
  • Adding complexity to meet niche needs
  • Changes to stable existing APIs or semantics
  • Cause other functions not to work properly
  • Add a lot of dependencies
  • Feel free to change dependency versions
  • Commit a lot of code or changes at once

2.5.3 Reviewer Notes

  • Please write comments in a constructive tone
  • If the submitter needs to make changes, please clearly state all the changes that need to be made to complete this Pull Request
  • If a PR is found to have brought new problems after merging, Reviewer needs to contact the PR author and communicate to solve the problem; if the PR author cannot be contacted, Reviewer needs to restore the PR

3. Advanced contribution

3.1 About Committers (Collaborators)

3.1.1 How to become a Committer

If you have submitted a valuable PR to SolidUI and it has been merged, or have contributed continuously for more than half a year, and have led at least one version release, you can find a PMC of the SolidUI project through the official WeChat group, if he is willing to nominate you as a committer , and are willing to state your contribution to all PMCs and Committers for you, then a vote will be launched; PMC and other Committers will vote together to decide whether to allow you to join, if you get enough votes, you will become a Committer of the SolidUI project .

3.1.2 Committer's rights

  • You can join the official developer WeChat group to participate in discussions and formulate SolidUI development plans
  • Can manage Issues, including closing and adding tags
  • Can create and manage project branches, except dev branch
  • Ability to review PRs submitted to the dev branch
  • Can apply to become a Committee member

3.2 About the Committee

3.2.1 How to become a Committee member

If you are a Committer of the SolidUI project, and all the content you contributed has been recognized by other Committee members, you can apply to become a member of the SolidUI Committee, and other Committee members will vote together to decide whether to allow you to join. If all votes pass, you will Become a SolidUI Committee member.

3.2.2 Rights of Committee members

  • Ability to merge PRs submitted by other Committers and contributors to the dev branch
  • Participate in determining the roadmap and development direction of the SolidUI project
  • Can participate in new version releases
+ + + + \ No newline at end of file diff --git a/zh-CN/community/submit_guide/document/index.html b/zh-CN/community/submit_guide/document/index.html new file mode 100644 index 00000000..58c0fa89 --- /dev/null +++ b/zh-CN/community/submit_guide/document/index.html @@ -0,0 +1,67 @@ + + + + + +Documentation Notice | SolidUI + + + + + + +
+

Documentation Notice

Good documentation is critical for any type of software. Any contribution that can improve the SolidUI documentation is welcome.

Get the document project

Documentation for the SolidUI project is maintained in a separate git repository.

First you need to fork the document project into your own github repository, and then clone the document to your local computer.

git clone git@github.com:<your-github-user-name>/SolidUI-Website.git

Preview and generate static files

This website is compiled using node, using Docusaurus framework components

  1. Download and install nodejs (version>12.5.0)
  2. Clone the code to the local git clone git@github.com:CloudOrc/SolidUI-Website.git
  3. Run npm install to install the required dependent libraries.
  4. Run npm run start in the root directory, you can visit http://localhost:3000 to view the English mode preview of the site
  5. Run npm run start-zh in the root directory, you can visit http://localhost:3000 to view the Chinese mode preview of the site
  6. To generate static website resource files, run npm run build. The static resources of the build are in the build directory.

Directory structure

|-- community
|-- docs // The next version of the document that will be released soon
|-- download
|-- faq // Q&A
|-- i18n
| `-- zh-CN //Internationalized Chinese
| |-- code.json
| |-- docusaurus-plugin-content-docs
| |-- docusaurus-plugin-content-docs-community
| |-- docusaurus-plugin-content-docs-download
| |-- docusaurus-plugin-content-docs-faq
| `-- docusaurus-theme-classic
|-- resource // Original project files for architecture/timing diagram/flow chart, etc.
|-- src
| |-- components
| |-- css
| |-- js
| |-- pages
| | |-- home
| | |-- index.jsx
| | |-- team
| | |-- user
| | `-- versions
| |-- styles
|-- static // Picture static resource
| |-- doc // document picture
| |-- user // users picture
| |-- home // homepage picture
| |-- img // common picture
|-- docusaurus.config.js

Specification

Directory naming convention

Use all lowercase, separated by underscores. If there is a plural structure, use plural nomenclature, and do not use plural abbreviations

Positive example: scripts / styles / components / images / utils / layouts / demo_styles / demo-scripts / img / doc

Counter example: script / style / demoStyles / imgs / docs

Vue and the naming convention of static resource files

All lowercase, separated by a dash

Positive example: render-dom.js / signup.css / index.html / company-logo.png

Counter example: renderDom.js / UserManagement.html

Resource Path

Image resources are unified under static/{module name}

css and other style files are placed in the src/css directory

Page content modification

Except for the homepage, team, user, Docs>All Version module page, all other pages can be directly jumped to the corresponding github resource modification page through the'Edit this page' button at the bottom

Home page modification

Visit the page https://cloudorc.github.io/SolidUI-Website/ +Located in src/pages/home

├─home
│ languages.json // Home page Chinese and English configuration
│ index.less // homepage style

Team page modification

Visit the page https://cloudorc.github.io/SolidUI-Website/team +Located in src/pages/team

├─team
│ languages.json
│ index.js
│ index.less

User list page modification

Visit the page https://github.com/CloudOrc/SolidUI/issues/1

+ + + + \ No newline at end of file diff --git a/zh-CN/community/submit_guide/submit_code/index.html b/zh-CN/community/submit_guide/submit_code/index.html new file mode 100644 index 00000000..f971131c --- /dev/null +++ b/zh-CN/community/submit_guide/submit_code/index.html @@ -0,0 +1,65 @@ + + + + + +Submit Code | SolidUI + + + + + + +
+

Submit Code

  • First from the remote repository https://github.com/CloudOrc/SolidUI.git fork a copy of the code into your own repository

  • There are currently three branches in the remote repository:

    • dev daily development branch

      Every day dev development branch, newly submitted code can pull request to this branch.

    • 1.0.0-release release version branch

      The release version branch, there will be 2.0...and other version branches in the future.

  • Clone your repository to your local

    git clone git@github.com:CloudOrc/SolidUI.git
  • Add remote repository address, named upstream

    git remote add upstream git@github.com:CloudOrc/SolidUI.git
  • View repository

    git remote -v

    At this time, there will be two repositories: origin (your own repository) and upstream (remote repository)

  • Get/Update remote repository code

    git fetch upstream
  • Synchronize remote repository code to local repository

    git checkout origin/dev
    git merge --no-ff upstream/dev
  • After modifying the code locally, submit it to your own repository:

    git commit -m 'commit content'
    git push
  • Submit changes to the remote repository

  • On the github page, click "New pull request".

  • Select the modified local branch and the branch you want to merge with the past, click "Create pull request".

  • Then the community Committers will do CodeReview, and then he will discuss some details (including design, implementation, performance, etc.) with you. When everyone on the team is satisfied with this modification, the commit will be merged into the dev branch

  • Finally, congratulations, you have become an official contributor to SolidUI !

+ + + + \ No newline at end of file diff --git a/zh-CN/doc/image/020/image03.png b/zh-CN/doc/image/020/image03.png new file mode 100644 index 00000000..bd5cf0ed Binary files /dev/null and b/zh-CN/doc/image/020/image03.png differ diff --git a/zh-CN/doc/image/020/image1.png b/zh-CN/doc/image/020/image1.png new file mode 100644 index 00000000..92514014 Binary files /dev/null and b/zh-CN/doc/image/020/image1.png differ diff --git a/zh-CN/doc/image/020/image2.png b/zh-CN/doc/image/020/image2.png new file mode 100644 index 00000000..f4335e56 Binary files /dev/null and b/zh-CN/doc/image/020/image2.png differ diff --git a/zh-CN/doc/image/020/images04.png b/zh-CN/doc/image/020/images04.png new file mode 100644 index 00000000..4f8974b5 Binary files /dev/null and b/zh-CN/doc/image/020/images04.png differ diff --git a/zh-CN/doc/image/020/images05.png b/zh-CN/doc/image/020/images05.png new file mode 100644 index 00000000..393f4c62 Binary files /dev/null and b/zh-CN/doc/image/020/images05.png differ diff --git a/zh-CN/doc/image/020/images06.png b/zh-CN/doc/image/020/images06.png new file mode 100644 index 00000000..3164290d Binary files /dev/null and b/zh-CN/doc/image/020/images06.png differ diff --git a/zh-CN/doc/image/020/images07.png b/zh-CN/doc/image/020/images07.png new file mode 100644 index 00000000..182cda25 Binary files /dev/null and b/zh-CN/doc/image/020/images07.png differ diff --git a/zh-CN/doc/image/020/images08.png b/zh-CN/doc/image/020/images08.png new file mode 100644 index 00000000..13c68ef0 Binary files /dev/null and b/zh-CN/doc/image/020/images08.png differ diff --git a/zh-CN/doc/image/020/images09.png b/zh-CN/doc/image/020/images09.png new file mode 100644 index 00000000..4b3aaa9b Binary files /dev/null and b/zh-CN/doc/image/020/images09.png differ diff --git a/zh-CN/doc/image/020/images10.png b/zh-CN/doc/image/020/images10.png new file mode 100644 index 00000000..3f2ef678 Binary files /dev/null and b/zh-CN/doc/image/020/images10.png differ diff --git a/zh-CN/doc/image/020/images11.jpeg b/zh-CN/doc/image/020/images11.jpeg new file mode 100644 index 00000000..bbaa2433 Binary files /dev/null and b/zh-CN/doc/image/020/images11.jpeg differ diff --git a/zh-CN/doc/image/020/images12.png b/zh-CN/doc/image/020/images12.png new file mode 100644 index 00000000..b93e30a0 Binary files /dev/null and b/zh-CN/doc/image/020/images12.png differ diff --git a/zh-CN/doc/image/020/images13.png b/zh-CN/doc/image/020/images13.png new file mode 100644 index 00000000..6eb9404a Binary files /dev/null and b/zh-CN/doc/image/020/images13.png differ diff --git a/zh-CN/doc/image/designpage.png b/zh-CN/doc/image/designpage.png new file mode 100644 index 00000000..0fdfed93 Binary files /dev/null and b/zh-CN/doc/image/designpage.png differ diff --git a/zh-CN/doc/image/front-end-architecture/SolidUI_Front-end_Architecture_Design.png b/zh-CN/doc/image/front-end-architecture/SolidUI_Front-end_Architecture_Design.png new file mode 100644 index 00000000..9aef15c8 Binary files /dev/null and b/zh-CN/doc/image/front-end-architecture/SolidUI_Front-end_Architecture_Design.png differ diff --git a/zh-CN/doc/image/front-end-architecture/SolidUI_Front-end_Overview.png b/zh-CN/doc/image/front-end-architecture/SolidUI_Front-end_Overview.png new file mode 100644 index 00000000..1088558b Binary files /dev/null and b/zh-CN/doc/image/front-end-architecture/SolidUI_Front-end_Overview.png differ diff --git a/zh-CN/doc/image/front-end-architecture/SolidUI_SolidEditor_DesignAndPreview.png b/zh-CN/doc/image/front-end-architecture/SolidUI_SolidEditor_DesignAndPreview.png new file mode 100644 index 00000000..0a066d12 Binary files /dev/null and b/zh-CN/doc/image/front-end-architecture/SolidUI_SolidEditor_DesignAndPreview.png differ diff --git a/zh-CN/doc/image/front-end-architecture/SolidUI_SolidView_JSONSchema_Configuration_Design.png b/zh-CN/doc/image/front-end-architecture/SolidUI_SolidView_JSONSchema_Configuration_Design.png new file mode 100644 index 00000000..a3e50d2e Binary files /dev/null and b/zh-CN/doc/image/front-end-architecture/SolidUI_SolidView_JSONSchema_Configuration_Design.png differ diff --git "a/zh-CN/doc/image/front-end-architecture/SolidUI\344\271\213SolidEditor\347\274\226\350\276\221\345\222\214\351\242\204\350\247\210.png" "b/zh-CN/doc/image/front-end-architecture/SolidUI\344\271\213SolidEditor\347\274\226\350\276\221\345\222\214\351\242\204\350\247\210.png" new file mode 100644 index 00000000..0a066d12 Binary files /dev/null and "b/zh-CN/doc/image/front-end-architecture/SolidUI\344\271\213SolidEditor\347\274\226\350\276\221\345\222\214\351\242\204\350\247\210.png" differ diff --git "a/zh-CN/doc/image/front-end-architecture/SolidUI\344\271\213SolidView\345\217\212\351\205\215\347\275\256\351\241\271\350\256\276\350\256\241.png" "b/zh-CN/doc/image/front-end-architecture/SolidUI\344\271\213SolidView\345\217\212\351\205\215\347\275\256\351\241\271\350\256\276\350\256\241.png" new file mode 100644 index 00000000..a3e50d2e Binary files /dev/null and "b/zh-CN/doc/image/front-end-architecture/SolidUI\344\271\213SolidView\345\217\212\351\205\215\347\275\256\351\241\271\350\256\276\350\256\241.png" differ diff --git "a/zh-CN/doc/image/front-end-architecture/SolidUI\345\211\215\347\253\257UI\347\273\223\346\236\204.png" "b/zh-CN/doc/image/front-end-architecture/SolidUI\345\211\215\347\253\257UI\347\273\223\346\236\204.png" new file mode 100644 index 00000000..1088558b Binary files /dev/null and "b/zh-CN/doc/image/front-end-architecture/SolidUI\345\211\215\347\253\257UI\347\273\223\346\236\204.png" differ diff --git "a/zh-CN/doc/image/front-end-architecture/SolidUI\345\211\215\347\253\257\346\200\273\350\247\210\346\236\266\346\236\204.png" "b/zh-CN/doc/image/front-end-architecture/SolidUI\345\211\215\347\253\257\346\200\273\350\247\210\346\236\266\346\236\204.png" new file mode 100644 index 00000000..9aef15c8 Binary files /dev/null and "b/zh-CN/doc/image/front-end-architecture/SolidUI\345\211\215\347\253\257\346\200\273\350\247\210\346\236\266\346\236\204.png" differ diff --git a/zh-CN/doc/image/soliduiv0.1.0structure.jpg b/zh-CN/doc/image/soliduiv0.1.0structure.jpg new file mode 100644 index 00000000..05e73fa9 Binary files /dev/null and b/zh-CN/doc/image/soliduiv0.1.0structure.jpg differ diff --git a/zh-CN/doc/image_en/.keep b/zh-CN/doc/image_en/.keep new file mode 100644 index 00000000..e69de29b diff --git a/zh-CN/docs/deployment/deployment-docker/index.html b/zh-CN/docs/deployment/deployment-docker/index.html new file mode 100644 index 00000000..5ecde7cb --- /dev/null +++ b/zh-CN/docs/deployment/deployment-docker/index.html @@ -0,0 +1,66 @@ + + + + + +Docker-Compose 部署 | SolidUI + + + + + + +
+

SolidUI Docker-Compose 部署

1. 环境准备

Docker 1.13.1+ +Docker Compose 1.11.0+

2.以 docker-compose 的方式启动 (推荐)

这种方式需要先安装 docker-compose, docker-compose 的安装网上已经有非常多的资料,请自行安装即可

2.1 下载部署包或者源码

方式1:从github仓库 https://github.com/CloudOrc/SolidUI 获取项目的源代码。

方式2:从https://github.com/CloudOrc/SolidUI/releases 下载下载所需版本的源码包。

请下载源码包 solidui-x.x.x-bin.tar.gz

2.2 拉取镜像并启动服务

# 进入服务器(以Centos7为例)
tar -zxvf solidui-x.x.x-bin.tar.gz

cd solidui-x.x.x-bin/docker

docker-compose up -d

2.3 修改数据库表信息,修改表solidui_model_type,token和baseurl字段 (0.2.0版本支持)

token为模型API token

baseurl为模型API基础地址,例如:https://api.openai.com(这是国外openai地址),https://api.chatanywhere.com.cn(openai国内代理地址),http://ip:port(chatGLM地址)

# 进入Docker-Compose新建的mysql中
mysql -h ip -u root -p
use solidui;
update solidui_model_type set token = '' , baseurl='' where id = 'id';

2.4 访问服务

访问链接 http://localhost:8099

默认用户名密码:admin/admin

+ + + + \ No newline at end of file diff --git a/zh-CN/docs/deployment/deployment-kubernetes/index.html b/zh-CN/docs/deployment/deployment-kubernetes/index.html new file mode 100644 index 00000000..faa601ea --- /dev/null +++ b/zh-CN/docs/deployment/deployment-kubernetes/index.html @@ -0,0 +1,65 @@ + + + + + +Kubernetes 部署 | SolidUI + + + + + + +
+

SolidUI Kubernetes 部署

1. 环境准备

软件环境

Docker 1.13.1+ Kubernetes 1.19.0+ Helm 3.4.x+ ingress 1.3.0+

操作系统

Centos 7+, Ubuntu 20.04

硬件环境

CPU 8核+,内存 16G+

2.以 Helm 的方式启动 (推荐)

这种方式需要先安装 Helm, Helm 的安装网上已经有非常多的资料,请自行安装即可

2.1 下载源码

从github仓库 https://github.com/CloudOrc/SolidUI 获取项目的源代码。

2.2 拉取镜像并启动服务

# 进入服务器(以Centos7为例)

cd SolidUI/deploy/kubernetes/helm-solidui

helm install solidui ./

2.3 查看服务状态及ingress端口

//查看pod状态
kubectl get pods -n solidui
//查看ingress端口
kubectl get svc -A |grep ingress-nginx-controller
//如果不使用ingress访问可通过port-forward转发端口进行访问
kubectl port-forward svc/solidui-web 80:8099 --address 0.0.0.0 -n solidui

2.4 访问服务

访问链接 http://ingress-ip-address:ingress-port

默认用户名密码:admin/admin

+ + + + \ No newline at end of file diff --git a/zh-CN/docs/deployment/deployment-standalone/index.html b/zh-CN/docs/deployment/deployment-standalone/index.html new file mode 100644 index 00000000..e2b47649 --- /dev/null +++ b/zh-CN/docs/deployment/deployment-standalone/index.html @@ -0,0 +1,65 @@ + + + + + +独立部署 | SolidUI + + + + + + +
+

SolidUI 单独部署

1.首次安装准备事项

1.1 Linux 服务器

硬件要求

安装SolidUI 微服务1个,至少512M内存。每个微服务默认配置启动的jvm -Xmx 内存大小为 512M(内存不够的情况下,可以尝试调小至256/128M,内存足够情况下也可以调大)。

1.2 JDK准备

java版本要求:jdk1.8.0_201 或以上版本

1.3 数据库准备

Mysql5.7 或以上版本

2.配置修改

2.1 安装包准备

上传安装包solidui-x.x.x-bin.tar.gz后,进行解压安装包

 tar -zxvf solidui-x.x.x-bin.tar.gz

解压后的目录结构如下:

drwxr-xr-x 2 root root  4096 Jun 10 20:31 docker
drwxr-xr-x 6 root root 4096 Jun 11 17:57 entrance-server
-rw-r--r-- 1 root root 27711 Jun 4 21:47 LICENSE
drwxr-xr-x 3 root root 4096 Jun 11 18:03 licenses
-rw-r--r-- 1 root root 24875 Jun 4 19:29 NOTICE
drwxr-xr-x 4 root root 4096 Jun 11 18:26 solidui-web

3.服务端按照和启动

3.1 准备工作

# 初始化数据库ddl 和 dml 路径
solidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql

# 进入mysql数据库
mysql -h192.168.xx.xx -P3306 -uroot -p

# 创建数据库
CREATE DATABASE solidui DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;


# 修改数据库连接信息,修改表solidui_model_type,token和baseurl字段 (0.2.0版本支持)
token为模型API token
baseurl为模型API基础地址,例如:https://api.openai.com(这是国外openai地址),https://api.chatanywhere.com.cn(openai国内代理地址),http://ip:port(chatGLM地址)

solidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql
INSERT INTO `solidui_model_type` (`id`, `name`, `type_name`, `prompt`, `token`, `baseurl`)
VALUES
(1,'gpt-3.5-turbo','gpt',NULL,NULL,NULL),
(2,'gpt-4','gpt',NULL,NULL,NULL),
(3,'chatglm_lite','chatglm',NULL,NULL,NULL);



# 执行数据库初始化脚本

source solidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql

3.2 配置修改

cd solidui-x.x.x-bin/entrance-server/conf
# 修改数据库连接信息
vi application.yaml
datasource:
url: jdbc:mysql://localhost:3306/solidui?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: root

# 0.2.0 版本增加python服务配置
vi solidui-x.x.x-bin/soliduimodelui/.env
# 修改数据库连接信息
DB_HOST=localhost
DB_PORT=3306
DB_NAME=solidui
DB_USER=root
DB_PASS=SolidUI@123

3.3 服务端启动

cd solidui-x.x.x-bin/entrance-server
# 启动服务
sh bin/start.sh
# 停止服务
sh bin/stop.sh

#0.2.0 版本增加python服务
cd solidui-x.x.x-bin
pip install -e .
modelui

4.前端部署

4.1 准备工作

参考前端部署

4.2 启动

访问默认链接 http://localhost:8099

默认用户名密码:admin/admin

+ + + + \ No newline at end of file diff --git a/zh-CN/docs/deployment/deployment-web/index.html b/zh-CN/docs/deployment/deployment-web/index.html new file mode 100644 index 00000000..75e313c1 --- /dev/null +++ b/zh-CN/docs/deployment/deployment-web/index.html @@ -0,0 +1,67 @@ + + + + + +前端部署 | SolidUI + + + + + + +
+

SolidUI 前端部署

1 准备工作

tar -zxvf solidui-x.x.x-bin.tar.gz
#前端目录
cd solidui-x.x.x/solidui-web

2 部署

分为两种部署方式,自动化部署和手动部署

2.1 自动化部署(推荐)

2.1.1 修改配置config.sh

# solidui 服务地址
solidui_url="http://127.0.0.1:12345"
# 模型后端服务地址
solidui_url_models="http://127.0.0.1:5110"
# 模型内核后端服务地址
solidui_url_kernel="http://127.0.0.1:5010"
# 可以配置为安装机器的ip 也可以使用默认值
solidui_ipaddr=127.0.0.1
# 访问管理台的端口
solidui_port=8099

2.1.2 执行部署脚本

# nginx 需要sudo权限进行安装
sudo sh install.sh

安装后,solidui的nginx配置文件默认是 在/etc/nginx/conf.d/solidui.conf +nginx的日志文件在 /var/log/nginx/access.log/var/log/nginx/error.log +生成的solidui的nginx配置文件示例如下:

server {
listen 8099;
server_name localhost;

location / {
root /opt/solidui/solidui-web/dist; # 静态文件目录
index index.html index.html;
}

location /solidui {
proxy_pass $solidui_url; # 后端 SolidUI 的地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x_real_ipP $remote_addr;
proxy_set_header remote_addr $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_connect_timeout 4s;
proxy_read_timeout 600s;
proxy_send_timeout 12s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}

location /solidui/models {
proxy_pass $solidui_url_models; # modelui 后端地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x_real_ipP $remote_addr;
proxy_set_header remote_addr $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_connect_timeout 4s;
proxy_read_timeout 600s;
proxy_send_timeout 12s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}

location /solidui/kernel {
proxy_pass $solidui_url_kernel; # modelui kernel 后端地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x_real_ipP $remote_addr;
proxy_set_header remote_addr $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_connect_timeout 4s;
proxy_read_timeout 600s;
proxy_send_timeout 12s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}

2.2 手动部署

2.2.1 安装Nginx

如果已经安装过nginx 可以跳过

sudo yum install nginx -y

2.2.2 修改配置文件

sudo vi /etc/nginx/conf.d/solidui.conf

添加如下内容:

server {
listen 8099;# 访问端口
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /opt/solidui/solidui-web/dist; # 前端包解压的目录
index index.html index.html;
}

location /solidui {
proxy_pass http://127.0.0.1:12345; # solidui 服务地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x_real_ipP $remote_addr;
proxy_set_header remote_addr $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_connect_timeout 4s;
proxy_read_timeout 600s;
proxy_send_timeout 12s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}

location /solidui/models {
proxy_pass http://127.0.0.1:5110; # modelui 后端地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x_real_ipP $remote_addr;
proxy_set_header remote_addr $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_connect_timeout 4s;
proxy_read_timeout 600s;
proxy_send_timeout 12s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}

location /solidui/kernel {
proxy_pass http://127.0.0.1:5010; # modelui kernel 后端地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x_real_ipP $remote_addr;
proxy_set_header remote_addr $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_connect_timeout 4s;
proxy_read_timeout 600s;
proxy_send_timeout 12s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}

2.2.3 资源部署

假设前端npm run build后的产物路径是:/opt/solidui/solidui-web/dist

2.2.4 启动服务

sudo systemctl restart nginx

3 登录

浏览器访问http://solidui_ipaddr:solidui_port 其中solidui_port为config.sh里面配置的端口,solidui_ipaddr为安装机器的IP,默认的账号密码是:admin/admin

4 注意事项

如果需要修改端口或则静态资源目录等,请修改/etc/nginx/conf.d/solidui.conf 文件后执行 sudo nginx -s reload 命令

注意
  • 查看nginx是否正常启动:检查nginx进程是否存在 ps -ef |grep nginx
  • 检查nginx的配置是否正确 sudo nginx -T
  • 如果端口被占用,可以修改nginx启动的服务端口/etc/nginx/conf.d/solidui.conflisten端口值,保存后重新启动

5 常见问题

5.1 接口超时

sudo vi /etc/nginx/conf.d/solidui.conf

更改接口超时时间

proxy_read_timeout 600s
+ + + + \ No newline at end of file diff --git a/zh-CN/docs/design/front-end-architecture/index.html b/zh-CN/docs/design/front-end-architecture/index.html new file mode 100644 index 00000000..c5ed2a8a --- /dev/null +++ b/zh-CN/docs/design/front-end-architecture/index.html @@ -0,0 +1,65 @@ + + + + + +前端架构 | SolidUI + + + + + + +
+

前端架构

1. 前端UI模块

  1. 编辑器整体布局分为五个区域:图层/页面(Layer/Page),当前设计页面的组件列表区(SolidView List),SolidEditor编辑区(中间),组件配置区域(Configuration),组件选择区域(SolidViews Select List)。

  2. 图层/页面(Layer/Page):图层主要是配置场景,页面UI层是配置设计自己的组件。

  3. 组件列表区:方便选择要配置的组件,对组件做删除,锁定等管理操作。

  4. SolidEditor编辑区:作为一个高内聚的组件,对外通过 EventBus 来完成事件的订阅、发布。组件内部由 RulerGuides、InfiniteView、Moveable、Selecto、Viewport 来搭配完成整个编辑区域的交互、操作逻辑。

  5. 配置区域:对选中的 SolidView 做所见即所得的样式、数据源、事件交互等配置。

  6. 组件选择区域:在顶部提供一个选择放置各个组件的按钮区域。

2. 总览架构

3. SolidEditor & Preview(设计所见即所得)

  1. SolidEditor内部集成RulerGuides(标尺、辅助线)、InfiniteView(编辑区无限滚动视图)、Viewport(可见区)、Moveable(拖放、大小、圆角、对齐、标线等基础能力)、Selecto(多选、组合)。
  2. SolidView是一个可复用的基类组件,我们希望通过一个设计好的JSONSchema及其具体的JSON内容来展示各种不同的SolidView,即SolidView应该仅仅和JSONSchema的数据模型做绑定,注入EventBus来完成不同SolidView之间的交互。但是当我们在编辑设计的时候,需要对SolidView做包装来达到在设计器模式下具备的设计能力。所以我们需要在编辑模式下对SolidView做一层包装得到一个ProxyView。
  3. 当我们预览设计好的页面后,我们的SolidShowEngine会加载设计的JSONSchema具体的数据模型来完成最终的渲染。

4. SolidView & JSONSchema & Configuration

  1. 设计JSONSchema来定义一个SolidView组件应该有的样子,不同的SolidView组件可能会扩展JSONSchema。这样做的好处是我们把SolidView抽象成一份JSON描述文档,可以聚焦在JSONSchema上,每次修改都是针对JSONSchema来讨论可行性。

  2. 在有JSONSchema的基础上,来规划Configuration模块具备的配置能力。包括UI展示,UI需要的组件开发等。

  3. 交互流程:选中一个组件 -> 修改配置项 -> 发送修改事件 -> SolidEditor收到订阅的事件消息 -> 找到目标SolidView -> 找到对应的 JSONSchem -> 校验并保存修改 -> SolidView 对本次配置修改做出响应。

+ + + + \ No newline at end of file diff --git a/zh-CN/docs/design/metadata/index.html b/zh-CN/docs/design/metadata/index.html new file mode 100644 index 00000000..8155d46e --- /dev/null +++ b/zh-CN/docs/design/metadata/index.html @@ -0,0 +1,65 @@ + + + + + +元数据 | SolidUI + + + + + + +
+

元数据

元数据

solidui_datasource 数据源管理

  • id: 数据源的唯一标识符。
  • datasource_name: 数据源的名称。
  • datasource_desc: 数据源的描述。
  • datasource_type_id: 数据源类型的ID。
  • create_identify: 创建标识符。
  • parameter: 参数。
  • create_time: 创建时间。
  • create_user: 创建用户。
  • labels: 标签。
  • expire: 过期标识。

solidui_datasource_type 数据源类型

  • id: 数据源类型的唯一标识符。
  • name: 类型名称。
  • description: 类型描述。
  • option: 选项。
  • classifier: 分类器。
  • icon: 图标。
  • layers: 层级。

solidui_datasource_type_key 数据源类型设置

  • id: 数据源类型键的唯一标识符。
  • data_source_type_id: 数据源类型ID。
  • key: 键。
  • name: 名称。
  • name_en: 英文名称。
  • default_value: 默认值。
  • value_type: 值类型。
  • scope: 范围。
  • require: 是否必需。
  • description: 描述。
  • description_en: 英文描述。
  • value_regex: 值正则表达式。
  • update_time: 更新时间。
  • create_time: 创建时间。

solidui_job_element 工作元素

  • id: 工作元素的唯一标识符。
  • project_id: 项目ID。
  • name: 名称。
  • data: 数据。
  • data_type: 数据类型。
  • create_time: 创建时间。
  • update_time: 更新时间。

solidui_job_element_page 工作元素页面

  • id: 工作元素页面的唯一标识符。
  • job_page_id: 工作页面ID。
  • job_element_id: 工作元素ID。
  • position: 位置。
  • create_time: 创建时间。
  • update_time: 更新时间。

solidui_job_page 工作页面

  • id: 工作页面的唯一标识符。
  • project_id: 项目ID。
  • name: 名称。
  • parent_id: 父级ID。
  • layout: 布局。
  • orders: 排序。
  • create_time: 创建时间。
  • update_time: 更新时间。

solidui_project 项目管理

  • id: 项目的唯一标识符。
  • user_name: 用户名。
  • project_name: 项目名称。
  • image: 项目图片。
  • description: 描述。
  • create_time: 创建时间。
  • update_time: 更新时间。
  • status: 项目状态。

solidui_user 用户管理

  • id: 用户的唯一标识符。
  • user_name: 用户名。
  • user_password: 用户密码。
  • create_time: 创建时间。
  • update_time: 更新时间。
  • queue: 队列。

solidui_model_type 模型类型设置

  • id: 模型类型的唯一标识符。
  • name: 名称。
  • code: 输出代码类型。
  • type_name: 类型名称。
  • prompt: 提示。
  • token: 令牌。
  • baseurl: 基础URL。

E-R图

metadata

  • 数据源(solidui_datasource)有一个数据源类型(solidui_datasource_type),通过datasource_type_id字段关联。
  • 数据源类型(solidui_datasource_type)有一个或多个数据源类型键(solidui_datasource_type_key),通过id字段关联。
  • 工作元素(solidui_job_element)存在于一个项目(solidui_project)中,通过project_id字段关联。
  • 工作元素页面(solidui_job_element_page)关联到一个工作元素(solidui_job_element)和一个工作页面(solidui_job_page),分别通过job_element_id和job_page_id字段。
  • 工作页面(solidui_job_page)存在于一个项目(solidui_project)中,通过project_id字段关联。
  • 项目(solidui_project)由一个用户(solidui_user)创建,通过user_name字段关联。

这个图并没有包括所有的表和字段,只包含了一些主要的关联。

+ + + + \ No newline at end of file diff --git a/zh-CN/docs/design/server-architecture/index.html b/zh-CN/docs/design/server-architecture/index.html new file mode 100644 index 00000000..54e435da --- /dev/null +++ b/zh-CN/docs/design/server-architecture/index.html @@ -0,0 +1,65 @@ + + + + + +服务端架构 | SolidUI + + + + + + +
+

服务端架构

1. 架构总览

soliduiv0.1.0

Entrance:API接口层,主要负责前端UI层的请求,该服务统一提供RESTful api向外部提供请求服务

2.模块功能

  • solidui-bom: BOM(Bill of Materials)通常用于管理项目中的依赖版本,以确保所有模块都使用相同版本的依赖。

  • solidui-common: 这个模块包含整个项目中使用的通用代码和工具。

  • solidui-dao: DAO(Data Access Object)模块包含所有与数据库交互的代码。

  • solidui-datasource-plugin: 这个模块提供一种方式来扩展数据源,以便可以从多种不同类型的数据源获取数据。

  • solidui-dist: 这个模块负责项目的构建和分发。

  • solidui-entrance: 这个模块是项目的主入口点,包含启动和初始化应用程序的代码。

  • solidui-service: 这个模块包含业务逻辑代码。

  • solidui-spi: SPI(Service Provider Interface)模块提供一种方式来扩展项目的功能。

  • solidui-web: 这个模块包含前端代码,用于显示用户界面,聊天界面。

  • soliduimodelui: 这个模块模型代理层,用于前端UI层的数据模型转换。

3.源码讲解

3.1 solidui-bom

这是一个 Maven 的项目对象模型(POM)文件,它是基于 XML 的项目配置文件,用于描述构建项目的信息,如项目依赖、构建插件、项目属性等。

此 POM 文件定义的是一个名为 solidui-bom 的项目,该项目的父项目是 solidui。

在这个 POM 文件中,主要有以下三个部分:

  • Properties: 定义了各种依赖库的版本号。这是一种常见的管理项目中所有依赖库版本的方法,可以在一个地方定义和更新所有依赖的版本。

  • Parent: 定义了这个项目的父项目。在 Maven 中,可以通过定义父项目来继承一些通用的配置,如依赖管理、插件管理等。

  • Dependency Management: 这部分定义了项目的依赖库及其版本。所有在此定义的依赖,都可以在子模块中直接使用而不用指定版本号。如果子模块中的依赖和此处的依赖冲突,那么会优先使用此处定义的版本。

根据这个 POM 文件,你可以知道这个项目依赖了哪些库,以及这些库的版本。此外,如果你需要添加新的依赖库,或者更新现有依赖库的版本,也可以在这个文件中进行。

3.2 solidui-common

Constants: 这个类定义了一些全局常量,这些常量在整个项目中可能会用到。例如,HTTP头的键名、加密的密钥等。

DateConstants: 这个类定义了日期时间的格式化字符串常量。

ByteTimeUtils: 这个类当前看起来是空的,可能是一个方便处理字节和时间的工具类。

DESUtil: 这个类提供了基于DES算法的加密和解密方法,用于数据的安全传输。

EncryptionUtils: 这个类提供了一个计算字符串MD5值的方法。

JSONUtils: 这个类提供了一系列的JSON处理方法,包括对象到JSON的序列化、JSON到对象的反序列化、JSON到List或Map的转换等。

LoginUtils: 这个类提供了一些处理登录用户的方法,例如设置登录用户、移除登录用户和获取登录用户。

Utils: 这个类提供了一些通用的工具方法,例如创建一个有自定义线程名和守护状态的线程工厂,创建一个默认的计划任务执行器。

3.3 solidui-dao

这个模块名为 solidui-dao,主要包含了与数据访问层相关的配置和对象模型。

SpringConnectionFactory: 这个配置类主要用于配置MyBatisPlus的相关设置,如分页插件、事务管理器、SqlSessionFactory等。

DataSource, DataSourceType, DataSourceTypeKey, JobElement, JobElementPage, JobPage, ModelType, Project, User: 这些类是实体类,代表数据库中的各个表的数据结构。

DataSourceMapper, DataSourceParamKeyMapper, DataSourceTypeMapper, JobElementMapper, JobElementPageMapper, JobPageMapper, ModelTypeMapper, ProjectMapper, UserMapper: 这些接口是MyBatis的Mapper接口,用于定义对应表的CRUD操作。

PageListingResult: 这是一个包装类,用于包装分页查询的结果。

DaoConfiguration: 这是一个Spring的配置类,用于启动Spring Boot的自动配置并扫描Mapper接口。

通过这个模块,你可以方便地进行数据库的操作。例如,你可以通过UserMapper的queryUserByNamePassword方法,查询给定用户名和密码的用户。所有的Mapper接口都继承自MyBatisPlus的BaseMapper接口,所以它们都具备了基础的CRUD操作。

3.4 solidui-datasource-plugin

这个模块名为 solidui-datasource-plugin,包含了与数据源插件相关的配置和对象模型。

DorisClient: 这个类继承自BaseJdbcClient,实现了与Doris数据库进行交互的具体方法,包括获取所有数据库、获取数据库的所有表、以及执行查询语句并获取结果。

DorisClientFactory: 这个类继承自BaseJdbcClientFactory,实现了创建DorisClient的工厂方法。

DorisConnectionFactory: 这个类实现了ConnectionFactory接口,提供了创建连接Doris数据库的方法。

MysqlClient: 这个类继承自BaseJdbcClient,实现了与MySQL数据库进行交互的具体方法,包括获取所有数据库、获取数据库的所有表、以及执行查询语句并获取结果。

MysqlClientFactory: 这个类继承自BaseJdbcClientFactory,实现了创建MysqlClient的工厂方法。

MysqlConnectionFactory: 这个类实现了ConnectionFactory接口,提供了创建连接MySQL数据库的方法。

JdbcClientManager: 这个类用于加载配置的ConnectionFactory。

ConnectDTO: 这个类是一个简单的数据传输对象,包含了连接数据库需要的信息,如主机名、端口、用户名、密码、数据库名以及额外参数。

其他接口如JdbcClient、JdbcClientFactory、ConnectionFactory等定义了一些通用的方法,具体的实现类如DorisClient、DorisClientFactory、DorisConnectionFactory等提供了这些方法的具体实现。

此外,这个模块的pom.xml文件配置了solidui-datasource-all子模块,该子模块依赖于solidui-datasource-mysql和solidui-datasource-doris两个模块,这两个模块定义了如何与MySQL和Doris数据库交互。

3.5 solidui-dist

这个模块名为 solidui-dist,它主要负责项目的发布和部署。

docker-compose.yml: 这是一个 Docker Compose 配置文件,用于定义和运行多容器的 Docker 应用。在这个文件中,定义了几个服务:solidui-entrance、solidui-web、mysql 和 soliduimodelui。这些服务将会被 Docker 以容器的形式运行。

release-docs: 这个文件夹可能包含了一些发布文档,如 LICENSE 和 NOTICE。

assembly.xml: 这是 Maven Assembly 插件的配置文件,用于定义如何创建项目的发布包。在这个文件中,定义了需要包含哪些文件和文件夹。

这个模块的作用主要是定义如何打包项目和如何部署项目。通过 Docker Compose,可以非常方便地在任何装有 Docker 的机器上部署和运行这个项目。通过 Maven Assembly 插件,可以非常方便地创建项目的发布包,包含了运行项目所需的所有文件。

3.6 solidui-entrance

这个模块名为 solidui-entrance,作为应用的入口,提供了多个控制器(Controller)用于处理用户的请求。

BaseController: 提供了一些通用的返回结果的方法,包括成功的结果和错误的结果。

DataSourceController: 提供了一系列与数据源相关的API,如获取所有的数据源类型、根据类型获取参数键、根据数据源名和类型查询数据库等。

JobController: 提供了一些与工作相关的API,如保存页面、更新工作、按项目ID查询工作等。

JobPageController: 提供了一些与工作页面相关的API,如创建工作页面、更新工作页面、按项目ID查询工作页面等。

LoginController: 提供了登录和登出的API。

MetadataQueryController: 提供了一些与元数据查询相关的API,如按数据源名查询数据库、按数据源名查询表、按SQL查询等。

ModelController: 提供了获取模型列表的API。

ProjectController: 提供了一些与项目相关的API,如创建项目、更新项目、按项目名查询项目、删除项目等。

每个Controller都依赖于相应的Service,Service中定义了对应的业务逻辑。例如,DataSourceController依赖于DataSourceService,在DataSourceService中定义了如何查询所有数据源类型、如何根据类型获取参数键等业务逻辑。

此外,还提供了一些Service的实现类,如DataSourceServiceImpl、DataSourceTypeServiceImpl、JobPageServiceImpl、JobServiceImpl、MetadataQueryServiceImpl、ModelServiceImpl、ProjectServiceImpl和UserServiceImpl。这些类实现了对应的Service接口,并提供了具体的业务逻辑。

总的来说,这个模块主要处理用户的请求,执行相应的业务逻辑,并返回结果。

3.7 solidui-service

包含了一些服务层的代码。

3.8 solidui-spi

ConnectDTO: 这是一个简单的数据传输对象,包含了连接数据库所需的信息。

ConstantsSPI: 这个类定义了一些常量,这些常量在 SPI(服务提供接口)中可能会用到。

3.9 solidui-web

这是一个基于React和Ant Design构建的前端项目,项目的主要内容包括:

  • 主应用入口index.tsx,用于初始化并渲染整个应用。
  • App组件,是应用的主要组件,用于定义路由和渲染相应的组件。
  • routes定义了应用的所有路由,包括首页、登录页、项目列表页、数据源列表页、仪表盘页和预览页等。
  • DefaultLayout组件定义了应用的主要布局,包括头部、侧边栏和主要内容区域。
  • ProjectListDataSourceList两个组件分别用于展示项目列表和数据源列表。
  • Dashboard组件用于展示仪表盘,展示数据可视化结果。
  • Login组件用于处理用户登录逻辑。
  • Home组件定义了应用的首页内容。
  • useProjectuseDataSource两个自定义Hook,用于处理项目和数据源相关的业务逻辑。
  • ModelManager类,用于管理应用的状态。
  • ViewFactory类,用于创建视图。
  • SolidView类,定义了一个抽象的视图基类,所有的视图组件都需要继承这个基类。

此外,项目还包括了一些辅助性的模块,如ApiService用于封装API请求,theme用于定义主题样式,solidui-entrancesolidui-web分别是后端和前端的主要模块,apiservice定义了一些API接口和服务,components包含了一些公共的组件。

项目使用了一些第三方库,如axios用于处理HTTP请求,lodash-es用于提供一些实用的工具函数,antd是一个基于React的UI组件库,echarts用于数据可视化,react-router-dom用于处理路由,react-window用于优化长列表的渲染性能等。

项目的构建工具是webpack,使用了babel来转译JavaScript代码,eslintprettier用于代码规范和格式化,jest用于单元测试。此外,项目还使用了huskylint-staged来在提交代码前自动检查和修复代码问题。

3.10 soliduimodelui

这是一个基于 Flask 和 MySQL 的后端项目,主要用于处理前端发来的请求并执行相应的操作。主要的功能模块包括:

  • kernel_manager:这个模块主要负责管理和操作 Python 内核,处理前端发来的代码执行请求。内核管理器实现了与 Python 内核的通信,接收和处理内核的输出结果,以及处理内核的各种状态。此外,它还提供了一个消息队列用于接收和发送内核的消息。

  • kernel_program:这个模块主要负责启动和管理 Python 内核的子进程。它通过子进程的方式启动 Python 内核,然后通过 SnakeMQ 消息队列与内核进行通信。

  • utils:这个模块提供了一些实用的工具函数,如发送 JSON 消息、初始化 SnakeMQ 消息队列等。

  • webapp:这是一个基于 Flask 的 Web 应用,它提供了一系列的 API 供前端调用,如执行代码、获取执行结果、管理 Python 内核等。这个应用使用了 CORS 中间件来处理跨域请求。

  • web_utils:这个模块提供了一些 Web 应用中常用的工具函数,如格式化响应数据、查询数据库等。

  • .env:这是一个环境变量配置文件,包含了数据库的连接信息、应用的端口号等配置信息。

项目的运行流程大致如下:

  1. 启动 Flask Web 应用,提供 API 接口供前端调用;
  2. 前端发起请求,如执行代码等;
  3. Web 应用接收请求,调用内核管理器执行相应的操作;
  4. 内核管理器通过 SnakeMQ 消息队列与 Python 内核进行通信,执行代码并获取结果;
  5. Web 应用将执行结果返回给前端。

此外,项目还提供了一些辅助功能,如日志输出、错误处理等。

+ + + + \ No newline at end of file diff --git a/zh-CN/docs/development/develop-contributing/index.html b/zh-CN/docs/development/develop-contributing/index.html new file mode 100644 index 00000000..bd013b4a --- /dev/null +++ b/zh-CN/docs/development/develop-contributing/index.html @@ -0,0 +1,65 @@ + + + + + +项目贡献 | SolidUI + + + + + + +
+

如何参与项目贡献

非常感谢贡献 SolidUI 项目!在参与贡献之前,请仔细阅读以下指引。

一、贡献范畴

1.1 Bug 反馈与修复

我们建议无论是 Bug 反馈还是修复,都先创建一个 Issue 来仔细描述 Bug 的状况,以助于社区可以通过 Issue 记录来找到和回顾问题以及代码。Bug 反馈 Issue 通常需要包含完整描述 Bug 的信息以及可复现的场景,这样社区才能快速定位导致 Bug 的原因并修复它。包含 #bug 标签的打开的 Issue 都是需要被修复的。

1.2 功能交流、实现、重构

在交流过程中,详细描述新功能(或重构)的细节、机制和使用场景,能够促使它更好更快地被实现(包括测试用例和代码,及 CI/CD 相关工作)。如果计划实现一个重大的功能(或重构),请务必通过 Issue 或其他方式与核心开发团队进行沟通,这样大家能以最效率的方式来推进它。包含 #feature 标签的打开的 Issue 都是需要被实现的新功能,包含 #enhancement 标签打开的 Issue 都是需要改进重构的功能。

1.3 Issue 答疑

帮助回答 Issue 中的使用问题是为 SolidUI 社区做贡献的一个非常有价值的方式;社区中总会有新用户不断进来,在帮助新用户的同时,也可以展现您的专业知识。

1.4 文档改进

SolidUI 文档位于SolidUI-Website ,文档的补充完善对于 SolidUI 的发展也至关重要。

1.5 其他

包括参与和帮助组织社区交流、社区运营活动等,其他能够帮助 SolidUI 项目和社区的活动。

二、贡献流程

2.1 分支结构

SolidUI 源码可能会产生一些临时分支,但真正有明确意义的只有以下二个分支:

  • release-*: 稳定的 release 版本;
  • dev: 日常开发分支,也是大家贡献代码的目标分支,如果你想贡献代码,请基于 dev 分支创建新分支,版本发布时会基于dev新建release分支;

2.1.1 概念

2.1.2 同步 Upstream 仓库分支最新代码到自己的 Fork 仓库

  • step1 进入用户项目页面,选中要更新的分支
  • step2 点击 code 下载按钮下方的 Fetch upstream,选择 Fetch and merge (如自己的 Fork 仓库 该分支不小心污染了,可以删除该分支后,同步 Upstream 仓库新分支到自己的 Fork 仓库 ,参见指引[同步 Upstream 仓库分支最新代码到自己的 Fork 仓库 ](#213-同步 Upstream 仓库新分支到自己的 Fork 仓库 ))

2.1.3 同步 Upstream 仓库新分支到自己的 Fork 仓库

场景:Upstream 仓库有新增分支,但是 fork 的库没有该分支 (可以选择删除后,重新 fork,但是会丢失未 merge 到原始仓库的变更)

  • step1 打开 Git 命令行工具(如 Git Bash),克隆自己的 Fork 仓库到本地
git clone https://github.com/{your_github_username}/SolidUI.git
  • step2 进入本地仓库目录
cd SolidUI
  • step3 添加 Upstream 仓库为远程仓库
git remote add upstream https://github.com/CloudOrc/SolidUI.git
  • step4 获取 Upstream 仓库的分支信息
git fetch upstream
  • step5 同步 Upstream 仓库的新分支到本地
git checkout -b {new_branch_name} upstream/{new_branch_name}
  • step6 将新分支推送到自己的 Fork 仓库
git push --set-upstream origin {new_branch_name}

2.1.4 一个 pr 的流程

  • step1 确认当前开发的基础分支(一般是当前进行的中版本,如当前社区开发中的版本 0.2.0,那么分支就是 dev,不确定的话可以在社区群里问下或则在 issue 中@相关同学)

  • step2 同步 Upstream 仓库分支最新代码到自己的 Fork 仓库 分支,参见指引 [2.1.2 同步 Upstream 仓库分支最新代码到自己的 Fork 仓库 ]

  • step3 基于开发分支,拉取新 fix/feature 分支 (不要直接在原分支上修改,如果后续 pr 以 squash 方式 merge 后,提交的 commit 记录会被合并成一个)

git checkout -b dev-fix  dev
git push origin dev-fix:dev-fix
  • step4 进行开发
  • step5 提交 pr(如果是正在进行中,开发还未完全结束,请在 pr 标题上加上 WIP 标识 如 [WIP] Dev 0.2.0 Add junit test code for [solidui-common] ;关联对应的 issue 等)
  • step6 等待被合并
  • step7 删除 fix/future 分支 (可以在 github 页面上进行操作)
git branch -d dev-fix
git push

2.2 开发指引

SolidUI 前后端代码共用同一个代码库,但在开发上是分离的。在着手开发之前,请先将 SolidUI 项目 fork 一份到自己的 Github Repositories 中, 开发时请基于自己 Github Repositories 中的 SolidUI 代码库进行开发。

我们建议克隆 dev 分支命名为 dev-fix 来开发,同时在自己仓库新建 dev-fix 分支,直接在原分支上修改,如果后续 pr 以 squash 方式 merge 后,提交的 commit 记录会被合并成一个

#拉取分支
git clone https://github.com/{githubid}/SolidUI.git --branch dev
#根据 dev 生成本地 dev-fix 分支
git checkout -b dev-fix dev
#把本地 dev-fix 分支推到自己的仓库
git push origin dev-fix dev-fix

2.3 Issue 提交指引

  • 如果您还不知道怎样向开源项目发起 PR,请参考About issues
  • Issue 名称,应一句话简单描述您的问题或建议;为了项目的国际化推广,请用英文,或中英文双语书写 issue
  • 每个 Issue,请至少带上 label.参考:issue #63

2.4 Pull Request(PR) 提交指引

  • 如果您还不知道怎样向开源项目发起 PR,请参考About pull requests

  • 无论是 Bug 修复,还是新功能开发,请将 PR 提交到 dev 分支

  • PR 和提交名称遵循 <type>(<scope>): <subject> 原则,详情可以参考Commit message 和 Change log 编写指南

  • 如果 PR 中包含新功能,理应将文档更新包含在本次 PR 中

  • 如果本次 PR 尚未准备好合并,请在名称头部加上 [WIP] 前缀(WIP = work-in-progress)

  • 所有提交到 dev-* 分支的提交至少需要经过一次 Review 才可以被合并

2.5 Review 标准

在贡献代码之前,可以了解一下什么样的提交在 Review 中是受欢迎的。简单来说,如果一项提交能带来尽可能多增益和尽可能少的副作用或风险,那它被合并的几率就越高,Review 的速度也会越快。风险大、价值低地提交是几乎不可能被合并的,并且有可能会被拒绝 Review。

2.5.1 增益

  • 修复导致 Bug 的主要原因
  • 添加或修复一个大量用户亟需的功能或问题
  • 简单有效
  • 容易测试,有测试用例
  • 减少复杂度以及代码量
  • 经社区讨论过的、确定需要改进的问题

2.5.2 副作用和风险

  • 仅仅修复 Bug 的表面现象
  • 引入复杂度高的新功能
  • 为满足小众需求添加复杂度
  • 改动稳定的现有 API 或语义
  • 导致其他功能不能正常运行
  • 添加大量依赖
  • 随意改变依赖版本
  • 一次性提交大量代码或改动

2.5.3 Reviewer 注意事项

  • 请使用建设性语气撰写评论
  • 如果需要提交者进行修改,请明确说明完成此次 Pull Request 所需要修改的所有内容
  • 如果某次 PR 在合并后发现带来了新问题,Reviewer 需要向 PR 作者联系并沟通解决问题;如果无法联系到 PR 作者,Reviewer 需要将此次 PR 进行还原

三、贡献进阶

3.1 关于 Committers(Collaborators)

3.1.1 如何成为 Committer

如果您对 SolidUI 提过颇具价值的 PR 并且被合并,或是连续贡献超过半年,且至少主导过一次版本的发布,您可以通过官方微信群找到 SolidUI 项目的一个 PMC ,如果他愿意提名您为 committer,并愿意为您陈述您的贡献给所有 PMC 和 Committer,那么接下来会发起一次投票;PMC 和其他 Committers 将会一起投票决定是否允许您的加入,如果得到足够票数,您将成为 SolidUI 项目的 Committer。

3.1.2 Committer 的权利

  • 可以加入官方开发者微信群,参与讨论和制定 SolidUI 开发计划
  • 可以对 Issue 进行管理,包括关闭、添加标签
  • 可以创建和管理项目分支,dev 分支除外
  • 可以对提交到 dev 分支的 PR 进行 Review
  • 可以申请成为 Committee 成员

3.2 关于 Committee

3.2.1 如何成为 Committee 成员

如果您是 SolidUI 项目的 Committer,并且您贡献的所有内容得到了其他 Committee 成员的认可,您可以申请成为 SolidUI Committee 成员,其他 Committee 成员将会一起投票决定是否允许您的加入,如果全票通过,您将成为 SolidUI Committee 成员。

3.2.2 Committee 成员的权利

  • 可以合并其他 Committers 和贡献者提交到 dev 分支的 PR
  • 可以参与决定 SolidUI 项目的 roadmap 和发展方向
  • 可以参与新版本发布
+ + + + \ No newline at end of file diff --git a/zh-CN/docs/development/development-commit/index.html b/zh-CN/docs/development/development-commit/index.html new file mode 100644 index 00000000..6c442494 --- /dev/null +++ b/zh-CN/docs/development/development-commit/index.html @@ -0,0 +1,67 @@ + + + + + +Commit须知 | SolidUI + + + + + + +
+

SolidUI Commit Message 须知

https://linkis.apache.org/zh-CN/docs/latest/development/development-specification/commit-message

1.前言

一个好的 commit message 是能够帮助其他的开发者(或者未来的开发者)快速理解相关变更的上下文,同时也可以帮助项目管理人员确定该提交是否适合包含在发行版中。但当我们在查看了很多开源项目的 commit log 后,发现一个有趣的问题,一部分开发者,代码质量很不错,但是 commit message 记录却比较混乱,当其他贡献者或者学习者在查看代码的时候,并不能通过 commit log 很直观的了解 +该提交前后变更的目的,正如 Peter Hutterer 所言:Re-establishing the context of a piece of code is wasteful. We can’t avoid it completely, so our efforts should go to reducing it as much as possible. Commit messages can do exactly that and as a result, a commit message shows whether a developer is a good collaborator. 因此,SolidUI 结合其他社区以及 Apache 官方文档制定了该规约。

2.Commit Message RIP

2.1 明确修改内容

commit message 应该明确说明该提交解决了哪些问题(bug 修复、功能增强等),以便于用户开发者更好的跟踪问题,明确版本迭代过程中的优化情况。

2.2 关联相应的Pull Request 或者Issue

当我们的改动较大的时候,commit message 最好能够关联 GitHub 上的相关 Issue 或者 Pull Request,这样,我们的开发者在查阅代码的时候能够通过关联信息较为迅速的了解改代码提交的上下文情景,如果当前 commit 针对某个 issue,那么可以在 Footer 部分关闭这个 issue。

2.3 统一的格式

格式化后的 CommitMessage 能够帮助我们提供更多的历史信息,方便快速浏览,同时也可以直接从 commit 生成 Change Log。

Commit message 应该包括三个部分:Header,Body 和 Footer。其中,Header 是必需的,Body 和 Footer 可以省略。

Header 部分只有一行,包括三个字段:type(必需)、scope(可选)和 subject(必需)。

[DS-ISSUE编号][type] subject

(1) type 用于说明 commit 的类别,只允许使用下面7个标识。

  • feat:新功能(feature)
  • fix:修补bug
  • docs:文档(documentation)
  • style: 格式(不影响代码运行的变动)
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)
  • test:增加测试
  • chore:构建过程或辅助工具的变动

如果 type 为 feat 和 fix,则该 commit 将肯定出现在 Change log 之中。其他情况(docs、chore、style、refactor、test)建议不放入。

(2)scope

scope 用于说明 commit 影响的范围,比如 server、remote 等,如果没有更合适的范围,你可以用 *。

(3) subject

subject 是 commit 目的的简短描述,不超过50个字符。

Body

Body 部分是对本次 commit 的详细描述,可以分成多行,换行符将以72个字符换行,避免自动换行影响美观。

Body 部分需要注意以下几点:

  • 使用动宾结构,注意使用现在时,比如使用 change 而非 changed 或 changes

  • 首字母不要大写

  • 语句最后不需要 ‘.’ (句号) 结尾

Footer只适用于两种情况

(1) 不兼容变动

如果当前代码与上一个版本不兼容,则 Footer 部分以 BREAKING CHANGE 开头,后面是对变动的描述、以及变动理由和迁移方法。

(2) 关闭 Issue

如果当前 commit 针对某个issue,那么可以在 Footer 部分关闭这个 issue,也可以一次关闭多个 issue 。

举个例子

[SolidUI-001][docs-zh] add commit message

  • commit message RIP
  • build some conventions
  • help the commit messages become clean and tidy
  • help developers and release managers better track issues +and clarify the optimization in the version iteration

This closes #001

3.参考文档

Dolphinscheduler Commit Message 须知

提交消息格式

关于提交消息

RocketMQ 社区操作约定

+ + + + \ No newline at end of file diff --git a/zh-CN/docs/development/development-construction/index.html b/zh-CN/docs/development/development-construction/index.html new file mode 100644 index 00000000..eab8becb --- /dev/null +++ b/zh-CN/docs/development/development-construction/index.html @@ -0,0 +1,65 @@ + + + + + +项目共建流程 | SolidUI + + + + + + +
+

SolidUI项目共建流程

流程列表

  1. 创建相关 issues —— 贡献者(主导版本)
  2. 提交 PR —— 贡献者(主导版本)
  3. code review —— PMC成员
  4. PR merge —— PMC成员
  5. PR 提交到 dev 分支 —— 贡献者(主导版本)
  6. 提交相关文档到 SolidUI-Website(安装部署文档、用户使用文档、架构设计文档)提交 PR —— 贡献者(主导版本)
  7. SolidUI-Website code review —— PMC成员
  8. SolidUI-Website PR merge —— PMC成员
  9. SolidUI-Website PR 提交到 dev 分支 —— 贡献者(主导版本)
  10. 基于 dev 分支进行打包 (建立打包分支) & 安装部署测试 —— 贡献者(主导版本)/测试人员
  11. 邀请社区用户内测 —— 运营员/PMC成员
  12. 准备 Release Notes —— 贡献者(主导版本)
  13. 正式发布版本 —— 贡献者(主导版本)
  14. 准备软文 —— 贡献者(主导版本)
  15. 公众号发文宣传 —— 运营员/PMC成员
  16. MeetUp 宣传版本特性 —— 运营员/PMC成员
+ + + + \ No newline at end of file diff --git a/zh-CN/docs/development/development-docker/index.html b/zh-CN/docs/development/development-docker/index.html new file mode 100644 index 00000000..6592d0ce --- /dev/null +++ b/zh-CN/docs/development/development-docker/index.html @@ -0,0 +1,65 @@ + + + + + +Docker 编译 | SolidUI + + + + + + +
+

SolidUI Docker 编译

1.前置条件

Docker 1.13.1+

2.镜像构建

2.1 服务端镜像构建-entrance-server

tar -zxvf solidui-x.x.x-bin.tar.gz
cd solidui-x.x.x-bin/entrance-server
docker build -f ./docker/Dockerfile -t solidui-entrance:x.x.x .

2.2 服务端镜像构建-soliduimodelui (0.2.0版本后)

tar -zxvf solidui-x.x.x-bin.tar.gz
cd solidui-x.x.x-bin
# 修改.env配置文件
vi soliduimodelui/.env
SNAKEMQ_LISTENER=0.0.0.0
SNAKEMQ_CONNECTOR=soliduimodelui

docker build -f ./soliduimodelui/docker/Dockerfile -t soliduimodelui:x.x.x .

2.3 前端镜像构建


tar -zxvf solidui-x.x.x-bin.tar.gz
cd solidui-x.x.x-bin/solidui-web
docker build -f ./docker/Dockerfile -t solidui-web:x.x.x .

+ + + + \ No newline at end of file diff --git a/zh-CN/docs/development/development-front/index.html b/zh-CN/docs/development/development-front/index.html new file mode 100644 index 00000000..efd7b1fe --- /dev/null +++ b/zh-CN/docs/development/development-front/index.html @@ -0,0 +1,65 @@ + + + + + +前端编译 | SolidUI + + + + + + +
+

SolidUI 前端编译

1.前置条件

1.1 安装Node.js

该步骤仅第一次使用时需要执行,如果已有node环境,可跳过

将Node.js下载到本地,安装即可。下载地址:http://nodejs.cn/download/ (建议使用node v16版本)

1.2 源码获取

2.编译

2.1 安装npm依赖

在终端命令行中执行以下指令:

#进入项目WEB根目录
cd solidui-x.x.x/solidui-web
#安装项目所需依赖
npm install --legacy-peer-deps

该步骤仅第一次使用时需要执行。

2.2. 打包项目

在终端命令行中执行以下指令:

npm run build

上述命令执行成功后,会生成前端管理台安装包 dist,可以直接将该文件夹放进您的静态服务器中,或者参考安装文档,使用脚本进行部署安装。

+ + + + \ No newline at end of file diff --git a/zh-CN/docs/development/development-release/index.html b/zh-CN/docs/development/development-release/index.html new file mode 100644 index 00000000..06a954bf --- /dev/null +++ b/zh-CN/docs/development/development-release/index.html @@ -0,0 +1,65 @@ + + + + + +项目发版流程 | SolidUI + + + + + + +
+

SolidUI项目发版流程

授权

现在都是PMC成员发起发版流程,有发版本权限。

物料包

分支

从dev分支作为待发布分支,如现在要发布${release_version}版本,则从待发布分支拉取新分支release-${release_version}-${condition_version}, 此后所有操作都在release-${release_version}-${condition_version}分支上进行。

基于待发布的开发分支,创建release-${release_version}-rcx分支

如当前开发的源码分支为dev,需要发布0.1.0的版本,创建分支:release-0.1.0-rc1

tag

git tag -a release-0.1.0-rc1 -m "release 0.1.0-rc1"
git push origin release-0.1.0-rc1

clone对应的release分支到本地

#-b release-0.1.0-rc1 指定clone分支  -c(config) 指定使用的配置  core.autocrlf=false 关闭自动换行符的转换
git clone -b release-0.1.0-rc1 -c core.autocrlf=false git@github.com:CloudOrc/SolidUI.git

版本号确认

验证物料包

准备的物料最好在window和类unix系统中都进行验证,避免系统兼容问题 如换行符问题

发起投票

社区投票阶段

issue 发起投票,PMC需要先按照文档检查版本的正确性,然后再进行投票。 至少统计到3个+1 PMC member 票后,才能结束投票。

关闭投票线程

如果投票已达到所需票数后,进行结果统计前,需要直接回复投票邮件,说明关闭本次投票线程。

取消投票(如果需要取消)

如果反馈了一些严重问题,需要修复后,重新发布,则需要取消投票,发布经理需要新起取消投票issue并进行说明。

宣布投票结果

issue 公布结果

正式发布

GitHub 版本创建

进入到创建页面 https://github.com/CloudOrc/SolidUI/releases/new 基于之前SolidUI-0.1.0-rc1分支创建名为0.1.0的tag, 填写标题SolidUI Release-0.1.0,将该版本的release notes 写入

检查

合并${release_version}-RC分支到master分支(如果未合并)

+ + + + \ No newline at end of file diff --git a/zh-CN/docs/development/development-server/index.html b/zh-CN/docs/development/development-server/index.html new file mode 100644 index 00000000..8027bebe --- /dev/null +++ b/zh-CN/docs/development/development-server/index.html @@ -0,0 +1,65 @@ + + + + + +服务端编译 | SolidUI + + + + + + +
+

SolidUI 服务端编译

1.前置条件

1.1 环境要求

编译环境要求: 必须 JDK8 以上,Oracle/Sun 和 OpenJDK都支持。

自行按照Maven环境,建议使用3.5.4以上版本。或者直接使用源码中的maven-wrapper。

1.2 源码获取

2.服务端编译

cd solidui-x.x.x-src

# 编译
mvn clean -N install
mvn clean install -Dmaven.test.skip=true

3.全量编译(服务端和前端)

cd solidui-x.x.x-src

# 编译
mvn clean -N install
mvn clean install -Dmaven.test.skip=true -Prelease

+ + + + \ No newline at end of file diff --git a/zh-CN/docs/faq/faq/index.html b/zh-CN/docs/faq/faq/index.html new file mode 100644 index 00000000..f6590182 --- /dev/null +++ b/zh-CN/docs/faq/faq/index.html @@ -0,0 +1,68 @@ + + + + + +常见问题解答 | SolidUI + + + + + + +
+

常见问题解答

解答问题流程

首先,用户应先参考公众号和SolidUI官网的相关信息。这两个平台可能已经包含了用户所需的答案或者相关的解决方案。这个步骤能有效节省用户的时间,也能减轻开发团队的工作压力。 +社区官网: https://cloudorc.github.io/SolidUI-Website/ +公众号:SolidUI

然而,如果这个步骤不能满足用户的需求,我们进入到第二阶段:让用户提交issue。在这个阶段,用户可以将他们遇到的问题或者需求描述清楚,并提交到项目的issue追踪系统中。这不仅可以帮助开发团队更好地理解问题,也能让其他遇到相同问题的用户参考。 +issue地址:https://github.com/CloudOrc/SolidUI/issues

结语

总的来说,这个问题解答流程是一个旨在提高效率和透明度的方法。它不仅能帮助用户找到答案,也有助于项目团队更好地管理和追踪问题。通过公众号和官网的资料查阅,用户可以自我解决问题;而通过issue提交,用户和开发团队可以更好地沟通,共同推动项目的进步。

+ + + + \ No newline at end of file diff --git a/zh-CN/docs/intro/index.html b/zh-CN/docs/intro/index.html new file mode 100644 index 00000000..6fcea9ee --- /dev/null +++ b/zh-CN/docs/intro/index.html @@ -0,0 +1,65 @@ + + + + + +框架介绍 | SolidUI + + + + + + +
+

介绍

AI生成图形模型。

核心特点

  • 极简流程,简洁设计
  • 多种2D图例
  • 多种3D图例
  • 多种3D场景
  • 支持多种数据源
  • 支持Huggingface space
  • 支持插件机器人
  • 支持SolidUI-Model
  • 支持Large Language Model
  • 容器化部署

快速开始

quick-start

这是什么?

随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。

自研文生图语言模型

SolidUI 的文生图语言模型是一个深度学习模型,可以将用户输入的自然语言描述转换为具体的图形表示。这个模型在大量文本和图形数据上进行训练,学习到从文本到图形的映射关系。为了实现这一目标,SolidUI 的自研文生图语言模型具有以下特点:

  • 结合 NLP 和计算机图形学,实现从文本描述到图形生成的过程
  • 可处理多种类型的图形,如 2D、3D 和场景等
  • 模型训练过程涉及大量的文本和图形数据,以确保生成的图形质量和准确性

RLHF 流程

SolidUI 使用 RLHF (Reinforcement Learning Human Feedback) 流程来优化文生图语言模型的性能。该流程利用人类反馈来指导模型的学习过程,从而使模型能够更好地满足用户需求。RLHF 流程的主要步骤包括:

  • 收集反馈:用户对生成的图形进行评价,提供关于图形质量和准确性的反馈。
  • 更新模型:根据收集到的反馈,使用强化学习算法对模型进行更新,以提高生成图形的质量和准确性。
  • 迭代优化:重复收集反馈和更新模型的过程,直到模型性能达到满意的水平。

通过这一流程,SolidUI 的文生图语言模型能够不断地从用户反馈中学习和进步,生成更高质量和准确性的图形。

0.1.0版本

文档

SolidUI v0.1.0 的完整文档列表,请参见 SolidUI-Website

贡献

我们非常欢迎和期待更多的贡献者参与共建 SolidUI, 不论是代码、文档,或是其他能够帮助到社区的贡献形式。

联系我们

谁在使用 SolidUI

我们创建了一个 issue [Who is Using SolidUI] 以便用户反馈和记录谁在使用 SolidUI.

Contributors

Thanks to everyone who contributed PR~ 🎉🎉🎉

感谢与赞助

我们非常感谢您对我们项目和开发工作的支持和认可。在开源软件开发过程中,我们深知用户和社区的反馈与支持是至关重要的。我们的项目已经提供了 README 和 Issue 系统,方便用户进行部署和解决问题,同时也有助于提升项目的活跃度。我们会优先关注 issue 中提出的问题。

如果您对于社区有兴趣,欢迎参与(代码,文档,使用),欢迎任何形式参与。

如果您觉得 SolidUI 项目对您有价值,并愿意支持我们的开发工作,请为项目点个小星星或赞助我们

+ + + + \ No newline at end of file diff --git a/zh-CN/docs/operational/community-operation/index.html b/zh-CN/docs/operational/community-operation/index.html new file mode 100644 index 00000000..8b562562 --- /dev/null +++ b/zh-CN/docs/operational/community-operation/index.html @@ -0,0 +1,73 @@ + + + + + +社区共建合作 | SolidUI + + + + + + +
+

社区共建合作

开源社区共建条款

本条款旨在为所有参与共建的社区成员提供一个友好、宽松且互利的环境。

分享有价值的内容

在各自的社区分享有价值的技术文章、教程、案例等,让成员了解并学习相关技术。 +定期发布社区动态和进展,让成员了解共建社区的最新状况。

举办线上或线下活动

组织线上或线下 Meetup、研讨会、技术沙龙等活动,邀请成员参加。 +在活动中进行技术交流和讨论,以增进成员之间的了解和合作。

互动与交流

鼓励成员在社区内互动和交流,提问、回答问题、分享经验等。 +在社区内设立专门的讨论区,方便成员讨论共建议题和技术问题。

合作与共创

与其他社区合作,共同举办活动、分享资源,交流技术经验。 +鼓励成员参与共建项目,共同创作开源软件和技术解决方案。

试用环境及资源共享

试用新功能和环境时,优先通知共建社区成员,并邀请他们一同测试和提出反馈。 +在共建社区内分享有价值的资源,以便其他成员可以更好地了解和学习相关技术。

优先解决共建 Issue

当共建社区成员提出 Issue 时,优先予以关注和解决。 +在解决 Issue 的过程中,积极与共建社区成员沟通,确保问题得到妥善处理。

遵守行为准则

尊重他人,积极参与社区建设,维护良好的社区氛围。 +遵守社区的行为准则,不参与或纵容任何形式的歧视、骚扰或不当行为。 +我们希望这些条款能为社区共建提供一个明确的指导方针,让大家共同运营好社区。感谢您的支持与参与!

中文文档写作规范

阮一峰-中文技术文档的写作规范

+ + + + \ No newline at end of file diff --git a/zh-CN/docs/test/test-case/index.html b/zh-CN/docs/test/test-case/index.html new file mode 100644 index 00000000..75724671 --- /dev/null +++ b/zh-CN/docs/test/test-case/index.html @@ -0,0 +1,65 @@ + + + + + +测试用例 | SolidUI + + + + + + +
+

模块

登录

测试场景输入预期输出
正确的用户名和密码正确的用户名和密码成功登录
错误的用户名和密码错误的用户名和密码登录失败并提示错误信息
空用户名和密码空用户名和密码登录失败并提示错误信息

数据源管理

测试场景输入预期输出
显示数据显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮
添加MySQL数据源数据源名称,数据源驱动,URL,用户名,密码,备注添加成功后,能够在数据源列表中看到新增的MySQL数据源
添加Doris数据源数据源名称,数据源驱动,URL,用户名,密码,备注添加成功后,能够在数据源列表中看到新增的Doris数据源
编辑数据源要编辑的数据源的名称,新的数据源驱动,URL,用户名,密码,备注编辑成功后,能够在数据源列表中看到编辑后的数据源信息
单行删除数据源要删除的数据源的名称删除成功后,该数据源不再显示在数据源列表中
添加数据源,名称为空空字符串添加失败,并提示错误信息
添加MySQL数据源,URL/用户/密码为空数据源名称,数据源驱动,URL,空字符串,密码,备注添加失败,并提示错误信息
添加Doris数据源,URL/用户/密码为空数据源名称,数据源驱动,URL,空字符串,密码,备注添加失败,并提示错误信息
编辑数据源,名称/URL/用户/密码为空不存在的名称/URL/用户/密码为空编辑失败,并提示错误信息
数据源过期单行选择数据源过期成功

项目管理

测试场景输入预期输出
添加项目项目名称,项目描述,项目URL添加成功后,能够在项目列表中看到新增的项目信息
查询项目列表项目名称输出项目列表
编辑项目名项目名称编辑成功后,能够在项目列表中看到编辑的项目信息
删除项目要删除的项目的名称删除成功后,该项目不再显示在项目列表中
添加项目,名称为空空字符串添加失败,并提示错误信息
添加项目,描述为空空字符串添加成功后,能够在项目列表中看到新增的项目信息,但描述信息为空
编辑项目,名称不存在空字符串编辑失败,并提示错误信息

设计

编号测试场景输入预期输出
1创建场景场景名称: "测试场景1"新场景创建成功,场景列表中显示"测试场景1"
2创建页场景: "测试场景1", 页名称: "测试页1"新页创建成功,场景"测试场景1"下的页列表中显示"测试页1"
3添加柱形图图例场景: "测试场景1", 页: "测试页1", 图例名称: "柱形图1"图例创建成功,"测试页1"中显示"柱形图1"
4打开数据选择滑窗场景: "测试场景1", 页: "测试页1", 图例: "柱形图1"数据选择滑窗打开成功,显示数据源类型、数据源和SQL输入框
5选择数据源类型数据源类型: "数据库"数据源类型选择成功,显示数据库相关的数据源选项
6选择数据源数据源: "MySQL数据库1"数据源选择成功,可以输入SQL查询语句
7输入SQL查询语句SQL: "SELECT category, value FROM sample_data"SQL查询语句输入成功,柱形图1显示SQL查询返回的数据
8保存页面场景: "测试场景1", 页: "测试页1"页面保存成功,包括图例和关联的数据设置
9预览场景场景: "测试场景1"预览成功,可以按照场景和页的顺序预览
10编辑场景名称原场景名称: "测试场景1", 新场景名称: "测试场景1-修改"场景名称修改成功,场景列表中显示"测试场景1-修改"
11删除场景场景名称: "测试场景1-修改"场景删除成功,场景列表中不再显示"测试场景1-修改"
12编辑页名称场景: "测试场景1", 原页名称: "测试页1", 新页名称: "测试页1-修改"页名称修改成功,场景"测试场景1"下的页列表中显示"测试页1-修改"
13删除页场景: "测试场景1", 页名称: "测试页1-修改"页删除成功,场景"测试场景1"下的页列表中不再显示"测试页1-修改"
14编辑图例名称场景: "测试场景1", 页: "测试页1", 原图例名称: "柱形图1", 新图例名称: "柱形图1-修改"图例名称修改成功,"测试页1"中显示"柱形图1-修改"
15删除图例场景: "测试场景1", 页: "测试页1", 图例名称: "柱形图1-修改"图例删除成功,"测试页1"中不再显示"柱形图1-修改"
16编辑SQL查询语句场景: "测试场景1", 页: "测试页1", 图例: "柱形图1", 新SQL: "SELECT category, value * 2 AS double_value FROM sample_data"SQL查询语句修改成功,柱形图1显示新SQL查询返回的数据
17撤销图例编辑场景: "测试场景1", 页: "测试页1", 图例: "柱形图1"撤销成功,图例恢复到编辑前的状态

ModelUI

编号测试场景输入预期输出
1打开测试页面场景: "测试场景1", 页: "测试页1"显示测试页面
2打开ModelUI选择滑窗场景: "测试场景1", 页: "测试页1",在下拉框选择模型页面右侧显示:ModelUI窗口,显示选中的模型
3画图一个二维图形在ModelUI会话面板,输入:画出方程:“3x^2 + 4x - 5 = 0”的图形在坐标图中绘制出方程:画出方程:“3x^2 + 4x - 5 = 0”的图形
+ + + + \ No newline at end of file diff --git a/zh-CN/docs/user-guide/quick-start/index.html b/zh-CN/docs/user-guide/quick-start/index.html new file mode 100644 index 00000000..45865b08 --- /dev/null +++ b/zh-CN/docs/user-guide/quick-start/index.html @@ -0,0 +1,65 @@ + + + + + +快速开始 | SolidUI + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/zh-CN/home/ai2d.png b/zh-CN/home/ai2d.png new file mode 100644 index 00000000..f7a7c9e9 Binary files /dev/null and b/zh-CN/home/ai2d.png differ diff --git a/zh-CN/home/banner-mask.png b/zh-CN/home/banner-mask.png new file mode 100644 index 00000000..6675981c Binary files /dev/null and b/zh-CN/home/banner-mask.png differ diff --git a/zh-CN/home/banner.png b/zh-CN/home/banner.png new file mode 100644 index 00000000..cbf654ee Binary files /dev/null and b/zh-CN/home/banner.png differ diff --git a/zh-CN/home/bg-fotter.png b/zh-CN/home/bg-fotter.png new file mode 100644 index 00000000..e2a7bf36 Binary files /dev/null and b/zh-CN/home/bg-fotter.png differ diff --git a/zh-CN/home/bg-mask.png b/zh-CN/home/bg-mask.png new file mode 100644 index 00000000..df4505bf Binary files /dev/null and b/zh-CN/home/bg-mask.png differ diff --git a/zh-CN/home/block.svg b/zh-CN/home/block.svg new file mode 100644 index 00000000..64c6c4cf --- /dev/null +++ b/zh-CN/home/block.svg @@ -0,0 +1,3 @@ + + + diff --git a/zh-CN/home/code.svg b/zh-CN/home/code.svg new file mode 100644 index 00000000..b462c76e --- /dev/null +++ b/zh-CN/home/code.svg @@ -0,0 +1,438 @@ + + + + +03 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/zh-CN/home/coding.svg b/zh-CN/home/coding.svg new file mode 100644 index 00000000..d47a82fc --- /dev/null +++ b/zh-CN/home/coding.svg @@ -0,0 +1 @@ + diff --git a/zh-CN/home/dashboard.png b/zh-CN/home/dashboard.png new file mode 100644 index 00000000..325352bf Binary files /dev/null and b/zh-CN/home/dashboard.png differ diff --git a/zh-CN/home/dashboard.svg b/zh-CN/home/dashboard.svg new file mode 100644 index 00000000..8de0449f --- /dev/null +++ b/zh-CN/home/dashboard.svg @@ -0,0 +1,3 @@ + + + diff --git a/zh-CN/home/dot.png b/zh-CN/home/dot.png new file mode 100644 index 00000000..62f818b1 Binary files /dev/null and b/zh-CN/home/dot.png differ diff --git a/zh-CN/home/feature/index.html b/zh-CN/home/feature/index.html new file mode 100644 index 00000000..0b0a9465 --- /dev/null +++ b/zh-CN/home/feature/index.html @@ -0,0 +1,18 @@ + + + + + +SolidUI + + + + + + +
+

Core Features


Modern features that will make your project easier.

AI generated 2D graphics

Generate various 2D graphics based on the visualization model

AI generated 3D scene

Generate various 3D scenes based on the visualization model

Multiple data sources

Data source plugin combined with prompt words

Three-party plug-in robot

In order to provide better service, support plug-in robots, such as Huggingface space

Visualization Model

In order to better generate visualization graphics, self-developed visualization model

Containerized Deployment

For quick use, support containerized deployment

+ + + + \ No newline at end of file diff --git a/zh-CN/home/gitee.png b/zh-CN/home/gitee.png new file mode 100644 index 00000000..8ce8f45f Binary files /dev/null and b/zh-CN/home/gitee.png differ diff --git a/zh-CN/home/half-circle.png b/zh-CN/home/half-circle.png new file mode 100644 index 00000000..b61a849b Binary files /dev/null and b/zh-CN/home/half-circle.png differ diff --git a/zh-CN/home/hero/index.html b/zh-CN/home/hero/index.html new file mode 100644 index 00000000..1d086e8d --- /dev/null +++ b/zh-CN/home/hero/index.html @@ -0,0 +1,18 @@ + + + + + +SolidUI + + + + + + +
+
SolidUI

one sentence generates any graph

gitee
+ + + + \ No newline at end of file diff --git a/zh-CN/home/icon.svg b/zh-CN/home/icon.svg new file mode 100644 index 00000000..91d54ddf --- /dev/null +++ b/zh-CN/home/icon.svg @@ -0,0 +1 @@ + diff --git a/zh-CN/home/index.html b/zh-CN/home/index.html new file mode 100644 index 00000000..370c2e23 --- /dev/null +++ b/zh-CN/home/index.html @@ -0,0 +1,18 @@ + + + + + +SolidUI + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/zh-CN/home/mymen-bg.png b/zh-CN/home/mymen-bg.png new file mode 100644 index 00000000..b4c5c17e Binary files /dev/null and b/zh-CN/home/mymen-bg.png differ diff --git a/zh-CN/home/performance/index.html b/zh-CN/home/performance/index.html new file mode 100644 index 00000000..601cded8 --- /dev/null +++ b/zh-CN/home/performance/index.html @@ -0,0 +1,18 @@ + + + + + +SolidUI + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/zh-CN/home/rocket.svg b/zh-CN/home/rocket.svg new file mode 100644 index 00000000..97c5d728 --- /dev/null +++ b/zh-CN/home/rocket.svg @@ -0,0 +1 @@ + diff --git a/zh-CN/home/startup.svg b/zh-CN/home/startup.svg new file mode 100644 index 00000000..45f4f3a4 --- /dev/null +++ b/zh-CN/home/startup.svg @@ -0,0 +1 @@ + diff --git a/zh-CN/home/streampark-banner.png b/zh-CN/home/streampark-banner.png new file mode 100644 index 00000000..023b0310 Binary files /dev/null and b/zh-CN/home/streampark-banner.png differ diff --git a/zh-CN/home/wave.svg b/zh-CN/home/wave.svg new file mode 100644 index 00000000..f8710c6e --- /dev/null +++ b/zh-CN/home/wave.svg @@ -0,0 +1,8 @@ + + + + + diff --git a/zh-CN/image/apache-incubator.svg b/zh-CN/image/apache-incubator.svg new file mode 100644 index 00000000..1b4c3643 --- /dev/null +++ b/zh-CN/image/apache-incubator.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/zh-CN/image/dashboard-preview.png b/zh-CN/image/dashboard-preview.png new file mode 100644 index 00000000..db80556c Binary files /dev/null and b/zh-CN/image/dashboard-preview.png differ diff --git a/zh-CN/image/dashboard.png b/zh-CN/image/dashboard.png new file mode 100644 index 00000000..3eef7cc8 Binary files /dev/null and b/zh-CN/image/dashboard.png differ diff --git a/zh-CN/image/favicon.ico b/zh-CN/image/favicon.ico new file mode 100644 index 00000000..ee376e01 Binary files /dev/null and b/zh-CN/image/favicon.ico differ diff --git a/zh-CN/image/join_wechat.png b/zh-CN/image/join_wechat.png new file mode 100644 index 00000000..6e77a208 Binary files /dev/null and b/zh-CN/image/join_wechat.png differ diff --git a/zh-CN/image/logo.png b/zh-CN/image/logo.png new file mode 100644 index 00000000..d79a5748 Binary files /dev/null and b/zh-CN/image/logo.png differ diff --git a/zh-CN/image/metadata.png b/zh-CN/image/metadata.png new file mode 100644 index 00000000..c417ad3c Binary files /dev/null and b/zh-CN/image/metadata.png differ diff --git a/zh-CN/image/sqlide.png b/zh-CN/image/sqlide.png new file mode 100644 index 00000000..f2cab295 Binary files /dev/null and b/zh-CN/image/sqlide.png differ diff --git a/zh-CN/image/users.png b/zh-CN/image/users.png new file mode 100644 index 00000000..09ed960d Binary files /dev/null and b/zh-CN/image/users.png differ diff --git a/zh-CN/image/wx_qr.png b/zh-CN/image/wx_qr.png new file mode 100644 index 00000000..4bfe2732 Binary files /dev/null and b/zh-CN/image/wx_qr.png differ diff --git a/zh-CN/index.html b/zh-CN/index.html new file mode 100644 index 00000000..47b68cc1 --- /dev/null +++ b/zh-CN/index.html @@ -0,0 +1,65 @@ + + + + + +SolidUI | SolidUI + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/zh-CN/search-index.json b/zh-CN/search-index.json new file mode 100644 index 00000000..5a9a4d47 --- /dev/null +++ b/zh-CN/search-index.json @@ -0,0 +1 @@ +[{"documents":[{"i":464,"t":"SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","b":["博客"]},{"i":484,"t":"SolidUI社区-Snakemq通信源码分析","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","b":["博客"]},{"i":501,"t":"SolidUI社区-独立部署和Docker通信分析","u":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","b":["博客"]},{"i":517,"t":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","b":["博客"]},{"i":549,"t":"Version Update | SolidUI 0.2.0 Release","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","b":["博客"]},{"i":566,"t":"SolidUI Community - Official Website Introduction","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","b":["博客"]},{"i":584,"t":"","u":"/SolidUI-Website/zh-CN/blog/archive","b":["博客"]},{"i":585,"t":"","u":"/SolidUI-Website/zh-CN/blog/page/2","b":["博客"]},{"i":638,"t":"SolidUI","u":"/SolidUI-Website/zh-CN/home/feature","b":[]},{"i":639,"t":"SolidUI","u":"/SolidUI-Website/zh-CN/home/","b":[]},{"i":640,"t":"SolidUI","u":"/SolidUI-Website/zh-CN/home/hero","b":[]},{"i":641,"t":"SolidUI","u":"/SolidUI-Website/zh-CN/home/performance","b":[]},{"i":642,"t":"SolidUI","u":"/SolidUI-Website/zh-CN/user/","b":[]},{"i":643,"t":"SolidUI","u":"/SolidUI-Website/zh-CN/team/","b":[]},{"i":644,"t":"Documentation Notice","u":"/SolidUI-Website/zh-CN/community/submit_guide/document","b":[]},{"i":646,"t":"How to participate in project contribution","u":"/SolidUI-Website/zh-CN/community/contribution_guide/become_committer","b":[]},{"i":648,"t":"Submit Code","u":"/SolidUI-Website/zh-CN/community/submit_guide/submit_code","b":[]},{"i":650,"t":"SolidUI Docker-Compose 部署","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker","b":["文档","Deployment"]},{"i":663,"t":"SolidUI Kubernetes 部署","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","b":["文档","Deployment"]},{"i":681,"t":"SolidUI 单独部署","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","b":["文档","Deployment"]},{"i":704,"t":"SolidUI 前端部署","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","b":["文档","Deployment"]},{"i":720,"t":"前端架构","u":"/SolidUI-Website/zh-CN/docs/design/front-end-architecture/","b":["文档","Design"]},{"i":728,"t":"元数据","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","b":["文档","Design"]},{"i":749,"t":"服务端架构","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","b":["文档","Design"]},{"i":775,"t":"如何参与项目贡献","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","b":["文档","Development Framework"]},{"i":804,"t":"SolidUI Commit Message 须知","u":"/SolidUI-Website/zh-CN/docs/development/development-commit","b":["文档","Development Framework"]},{"i":817,"t":"SolidUI项目共建流程","u":"/SolidUI-Website/zh-CN/docs/development/development-construction","b":["文档","Development Framework"]},{"i":820,"t":"SolidUI Docker 编译","u":"/SolidUI-Website/zh-CN/docs/development/development-docker","b":["文档","Development Framework"]},{"i":830,"t":"SolidUI 前端编译","u":"/SolidUI-Website/zh-CN/docs/development/development-front","b":["文档","Development Framework"]},{"i":841,"t":"SolidUI项目发版流程","u":"/SolidUI-Website/zh-CN/docs/development/development-release","b":["文档","Development Framework"]},{"i":868,"t":"SolidUI 服务端编译","u":"/SolidUI-Website/zh-CN/docs/development/development-server","b":["文档","Development Framework"]},{"i":878,"t":"常见问题解答","u":"/SolidUI-Website/zh-CN/docs/faq/faq/","b":["文档","Frequently Asked Questions"]},{"i":883,"t":"介绍","u":"/SolidUI-Website/zh-CN/docs/intro","b":["文档"]},{"i":907,"t":"社区共建合作","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","b":["文档","Operational"]},{"i":926,"t":"模块","u":"/SolidUI-Website/zh-CN/docs/test/test-case/","b":["文档","Test"]},{"i":937,"t":"快速开始","u":"/SolidUI-Website/zh-CN/docs/user-guide/quick-start","b":["文档","User guide"]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/464",[0,0.221,1,1.421,2,1.421,3,1.421,4,1.421,5,1.421,6,0.934,7,1.421,8,1.74,9,1.421,10,1.421,11,1.421]],["t/484",[0,0.366,12,1.735,13,2.358,14,1.982,15,2.358,16,1.982]],["t/501",[0,0.334,12,1.585,14,1.812,16,1.812,17,2.155,18,1.282,19,1.585]],["t/517",[0,0.266,8,1.26,20,1.713,21,1.713,22,1.713,23,1.713,24,1.713,25,1.44,26,1.713,27,1.44]],["t/549",[0,0.334,8,2.429,25,1.812,28,2.155,29,2.155,30,2.155]],["t/566",[0,0.404,27,2.189,31,2.603,32,2.603,33,2.603]],["t/584",[]],["t/585",[]],["t/638",[0,0.692]],["t/639",[0,0.692]],["t/640",[0,0.692]],["t/641",[0,0.692]],["t/642",[0,0.692]],["t/643",[0,0.692]],["t/644",[34,3.784,35,3.784]],["t/646",[36,3.287,37,3.287,38,3.287]],["t/648",[39,3.784,40,3.784]],["t/650",[0,0.451,18,1.728,19,2.138,41,2.906]],["t/663",[0,0.51,18,1.955,42,3.287]],["t/681",[0,0.51,18,1.955,43,3.287]],["t/704",[0,0.51,18,1.955,44,2.418]],["t/720",[44,2.784,45,3.181]],["t/728",[46,3.784,47,3.784]],["t/749",[45,3.181,48,3.181]],["t/775",[6,1.91,49,2.906,50,2.906,51,2.906]],["t/804",[0,0.451,52,2.906,53,2.906,54,2.906]],["t/817",[0,0.451,6,1.91,55,2.443,56,2.443]],["t/820",[0,0.51,19,2.418,57,2.418]],["t/830",[0,0.51,44,2.418,57,2.418]],["t/841",[0,0.404,6,1.711,56,2.189,58,2.603,59,2.603]],["t/868",[0,0.51,48,2.763,57,2.418]],["t/878",[60,3.784,61,3.784]],["t/883",[62,4.458]],["t/907",[12,2.418,55,2.763,63,3.287]],["t/926",[64,4.458]],["t/937",[65,3.784,66,3.784]]],"invertedIndex":[["0",{"_index":8,"t":{"464":{"position":[[26,1],[30,1]]},"517":{"position":[[53,1]]},"549":{"position":[[25,1],[29,1]]}}}],["1",{"_index":9,"t":{"464":{"position":[[28,1]]}}}],["2",{"_index":25,"t":{"517":{"position":[[51,1]]},"549":{"position":[[27,1]]}}}],["ai",{"_index":1,"t":{"464":{"position":[[8,2]]}}}],["code",{"_index":40,"t":{"648":{"position":[[7,4]]}}}],["commit",{"_index":52,"t":{"804":{"position":[[8,6]]}}}],["commun",{"_index":31,"t":{"566":{"position":[[8,9]]}}}],["compos",{"_index":41,"t":{"650":{"position":[[15,7]]}}}],["contribut",{"_index":38,"t":{"646":{"position":[[30,12]]}}}],["docker",{"_index":19,"t":{"501":{"position":[[15,6]]},"650":{"position":[[8,6]]},"820":{"position":[[8,6]]}}}],["document",{"_index":34,"t":{"644":{"position":[[0,13]]}}}],["function",{"_index":26,"t":{"517":{"position":[[55,8]]}}}],["gener",{"_index":20,"t":{"517":{"position":[[8,9]]}}}],["graphic",{"_index":21,"t":{"517":{"position":[[22,8]]}}}],["introduct",{"_index":27,"t":{"517":{"position":[[64,12]]},"566":{"position":[[37,12]]}}}],["kubernet",{"_index":42,"t":{"663":{"position":[[8,10]]}}}],["messag",{"_index":53,"t":{"804":{"position":[[15,7]]}}}],["notic",{"_index":35,"t":{"644":{"position":[[14,6]]}}}],["offici",{"_index":32,"t":{"566":{"position":[[20,8]]}}}],["on",{"_index":22,"t":{"517":{"position":[[34,3]]}}}],["particip",{"_index":36,"t":{"646":{"position":[[7,11]]}}}],["project",{"_index":37,"t":{"646":{"position":[[22,7]]}}}],["releas",{"_index":30,"t":{"549":{"position":[[31,7]]}}}],["sentenc",{"_index":23,"t":{"517":{"position":[[38,8]]}}}],["snakemq",{"_index":13,"t":{"484":{"position":[[10,7]]}}}],["solidui",{"_index":0,"t":{"464":{"position":[[0,7]]},"484":{"position":[[0,7]]},"501":{"position":[[0,7]]},"517":{"position":[[0,7]]},"549":{"position":[[17,7]]},"566":{"position":[[0,7]]},"638":{"position":[[0,7]]},"639":{"position":[[0,7]]},"640":{"position":[[0,7]]},"641":{"position":[[0,7]]},"642":{"position":[[0,7]]},"643":{"position":[[0,7]]},"650":{"position":[[0,7]]},"663":{"position":[[0,7]]},"681":{"position":[[0,7]]},"704":{"position":[[0,7]]},"804":{"position":[[0,7]]},"817":{"position":[[0,7]]},"820":{"position":[[0,7]]},"830":{"position":[[0,7]]},"841":{"position":[[0,7]]},"868":{"position":[[0,7]]}}}],["submit",{"_index":39,"t":{"648":{"position":[[0,6]]}}}],["updat",{"_index":29,"t":{"549":{"position":[[8,6]]}}}],["v0",{"_index":24,"t":{"517":{"position":[[48,2]]}}}],["version",{"_index":28,"t":{"549":{"position":[[0,7]]}}}],["websit",{"_index":33,"t":{"566":{"position":[[29,7]]}}}],["介绍",{"_index":62,"t":{"883":{"position":[[0,2]]}}}],["元",{"_index":46,"t":{"728":{"position":[[0,1]]}}}],["共建",{"_index":55,"t":{"817":{"position":[[9,2]]},"907":{"position":[[2,2]]}}}],["分析",{"_index":16,"t":{"484":{"position":[[21,2]]},"501":{"position":[[23,2]]}}}],["前端",{"_index":44,"t":{"704":{"position":[[8,2]]},"720":{"position":[[0,2]]},"830":{"position":[[8,2]]}}}],["功能",{"_index":10,"t":{"464":{"position":[[32,2]]}}}],["单独",{"_index":43,"t":{"681":{"position":[[8,2]]}}}],["参与",{"_index":50,"t":{"775":{"position":[[2,2]]}}}],["发",{"_index":58,"t":{"841":{"position":[[9,1]]}}}],["可视化",{"_index":3,"t":{"464":{"position":[[12,3]]}}}],["合作",{"_index":63,"t":{"907":{"position":[[4,2]]}}}],["如何",{"_index":49,"t":{"775":{"position":[[0,2]]}}}],["常见",{"_index":60,"t":{"878":{"position":[[0,2]]}}}],["开创性",{"_index":4,"t":{"464":{"position":[[16,3]]}}}],["开始",{"_index":66,"t":{"937":{"position":[[2,2]]}}}],["开源",{"_index":5,"t":{"464":{"position":[[19,2]]}}}],["快速",{"_index":65,"t":{"937":{"position":[[0,2]]}}}],["数据",{"_index":47,"t":{"728":{"position":[[1,2]]}}}],["服务端",{"_index":48,"t":{"749":{"position":[[0,3]]},"868":{"position":[[8,3]]}}}],["架构",{"_index":45,"t":{"720":{"position":[[2,2]]},"749":{"position":[[3,2]]}}}],["模块",{"_index":64,"t":{"926":{"position":[[0,2]]}}}],["流程",{"_index":56,"t":{"817":{"position":[[11,2]]},"841":{"position":[[11,2]]}}}],["源码",{"_index":15,"t":{"484":{"position":[[19,2]]}}}],["版",{"_index":59,"t":{"841":{"position":[[10,1]]}}}],["版本",{"_index":7,"t":{"464":{"position":[[24,2]]}}}],["独立",{"_index":17,"t":{"501":{"position":[[10,2]]}}}],["生成",{"_index":2,"t":{"464":{"position":[[10,2]]}}}],["社区",{"_index":12,"t":{"484":{"position":[[7,2]]},"501":{"position":[[7,2]]},"907":{"position":[[0,2]]}}}],["编译",{"_index":57,"t":{"820":{"position":[[15,2]]},"830":{"position":[[10,2]]},"868":{"position":[[11,2]]}}}],["讲解",{"_index":11,"t":{"464":{"position":[[34,2]]}}}],["贡献",{"_index":51,"t":{"775":{"position":[[6,2]]}}}],["通信",{"_index":14,"t":{"484":{"position":[[17,2]]},"501":{"position":[[21,2]]}}}],["部署",{"_index":18,"t":{"501":{"position":[[12,2]]},"650":{"position":[[23,2]]},"663":{"position":[[19,2]]},"681":{"position":[[10,2]]},"704":{"position":[[10,2]]}}}],["问题解答",{"_index":61,"t":{"878":{"position":[[2,4]]}}}],["项目",{"_index":6,"t":{"464":{"position":[[21,2]]},"775":{"position":[[4,2]]},"817":{"position":[[7,2]]},"841":{"position":[[7,2]]}}}],["须知",{"_index":54,"t":{"804":{"position":[[23,2]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":466,"t":"背景","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#背景","p":464},{"i":468,"t":"项目名字含义","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#项目名字含义","p":464},{"i":470,"t":"登录页含义","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#登录页含义","p":464},{"i":472,"t":"产品思维","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#产品思维","p":464},{"i":474,"t":"0.1.0 版本内涵","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#010-版本内涵","p":464},{"i":476,"t":"功能列表","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#功能列表","p":464},{"i":478,"t":"数据源管理","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#数据源管理","p":464},{"i":480,"t":"项目管理","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#项目管理","p":464},{"i":482,"t":"设计页面","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#设计页面","p":464},{"i":486,"t":"背景","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#背景","p":484},{"i":488,"t":"Snakemq介绍","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#snakemq介绍","p":484},{"i":490,"t":"Snakemq作用","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#snakemq作用","p":484},{"i":491,"t":"","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"","p":484},{"i":493,"t":"Snakemq 测试代码","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#snakemq-测试代码","p":484},{"i":495,"t":"Snakemq通信","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#snakemq通信","p":484},{"i":497,"t":"结语","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#结语","p":484},{"i":499,"t":"如果成为贡献者","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#如果成为贡献者","p":484},{"i":503,"t":"背景","u":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","h":"#背景","p":501},{"i":505,"t":"独立部署通信","u":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","h":"#独立部署通信","p":501},{"i":507,"t":"例如","u":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","h":"#例如","p":501},{"i":509,"t":"Docker 部署通信","u":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","h":"#docker-部署通信","p":501},{"i":511,"t":"例如","u":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","h":"#例如-1","p":501},{"i":513,"t":"结语","u":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","h":"#结语","p":501},{"i":515,"t":"如果成为贡献者","u":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","h":"#如果成为贡献者","p":501},{"i":519,"t":"Background","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#background","p":517},{"i":521,"t":"Chat Window","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#chat-window","p":517},{"i":523,"t":"Prompt Words","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#prompt-words","p":517},{"i":525,"t":"Chat Window Generation","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#chat-window-generation","p":517},{"i":526,"t":"Input data format for bar chart","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#input-data-format-for-bar-chart","p":517},{"i":528,"t":"Surface Graph","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#surface-graph","p":517},{"i":530,"t":"Scatter Plot","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#scatter-plot","p":517},{"i":532,"t":"Spiral Line","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#spiral-line","p":517},{"i":534,"t":"Pie Chart","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#pie-chart","p":517},{"i":536,"t":"Bunny Modeling","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#bunny-modeling","p":517},{"i":538,"t":"Map","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#map","p":517},{"i":540,"t":"Design Page","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#design-page","p":517},{"i":541,"t":"Page Layout","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#page-layout","p":517},{"i":543,"t":"Preview","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#preview","p":517},{"i":545,"t":"Future Plans of SolidUI Community","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#future-plans-of-solidui-community","p":517},{"i":547,"t":"How to Become a Contributor","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#how-to-become-a-contributor","p":517},{"i":551,"t":"Background","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","h":"#background","p":549},{"i":553,"t":"Release Notes","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","h":"#release-notes","p":549},{"i":554,"t":"Features","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","h":"#features","p":549},{"i":556,"t":"Deployment","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","h":"#deployment","p":549},{"i":558,"t":"Documentation","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","h":"#documentation","p":549},{"i":560,"t":"Detailed Guide","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","h":"#detailed-guide","p":549},{"i":562,"t":"Contributors","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","h":"#contributors","p":549},{"i":564,"t":"How to Become a Contributor","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","h":"#how-to-become-a-contributor","p":549},{"i":568,"t":"Background","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"#background","p":566},{"i":570,"t":"Introduction","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"#introduction","p":566},{"i":572,"t":"How to Contribute","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"#how-to-contribute","p":566},{"i":574,"t":"Example","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"#example","p":566},{"i":576,"t":"Conclusion","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"#conclusion","p":566},{"i":578,"t":"SolidUI-Website Contributors","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"#solidui-website-contributors","p":566},{"i":580,"t":"Acknowledgments","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"#acknowledgments","p":566},{"i":582,"t":"How to Become a Contributor","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"#how-to-become-a-contributor","p":566},{"i":586,"t":"SolidUI社区-独立部署和Docker通信分析","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"","p":585},{"i":588,"t":"背景","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#背景","p":585},{"i":590,"t":"独立部署通信","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#独立部署通信","p":585},{"i":592,"t":"例如","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#例如","p":585},{"i":594,"t":"Docker 部署通信","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#docker-部署通信","p":585},{"i":596,"t":"例如","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#例如-1","p":585},{"i":598,"t":"结语","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#结语","p":585},{"i":600,"t":"如果成为贡献者","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#如果成为贡献者","p":585},{"i":602,"t":"SolidUI社区-Snakemq通信源码分析","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"","p":585},{"i":604,"t":"背景","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#背景","p":585},{"i":606,"t":"Snakemq介绍","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#snakemq介绍","p":585},{"i":608,"t":"Snakemq作用","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#snakemq作用","p":585},{"i":610,"t":"Snakemq 测试代码","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#snakemq-测试代码","p":585},{"i":612,"t":"Snakemq通信","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#snakemq通信","p":585},{"i":614,"t":"结语","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#结语","p":585},{"i":616,"t":"如果成为贡献者","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#如果成为贡献者","p":585},{"i":618,"t":"SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"","p":585},{"i":620,"t":"背景","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#背景","p":585},{"i":622,"t":"项目名字含义","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#项目名字含义","p":585},{"i":624,"t":"登录页含义","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#登录页含义","p":585},{"i":626,"t":"产品思维","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#产品思维","p":585},{"i":628,"t":"0.1.0 版本内涵","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#010-版本内涵","p":585},{"i":630,"t":"功能列表","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#功能列表","p":585},{"i":632,"t":"数据源管理","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#数据源管理","p":585},{"i":634,"t":"项目管理","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#项目管理","p":585},{"i":636,"t":"设计页面","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#设计页面","p":585},{"i":651,"t":"1. 环境准备","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker","h":"#1-环境准备","p":650},{"i":653,"t":"2.以 docker-compose 的方式启动 (推荐)","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker","h":"#2以-docker-compose-的方式启动-推荐","p":650},{"i":655,"t":"2.1 下载部署包或者源码","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker","h":"#21-下载部署包或者源码","p":650},{"i":657,"t":"2.2 拉取镜像并启动服务","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker","h":"#22-拉取镜像并启动服务","p":650},{"i":659,"t":"2.3 修改数据库表信息,修改表solidui_model_type,token和baseurl字段 (0.2.0版本支持)","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker","h":"#23-修改数据库表信息修改表solidui_model_typetoken和baseurl字段-020版本支持","p":650},{"i":661,"t":"2.4 访问服务","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker","h":"#24-访问服务","p":650},{"i":664,"t":"1. 环境准备","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#1-环境准备","p":663},{"i":665,"t":"软件环境","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#软件环境","p":663},{"i":667,"t":"操作系统","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#操作系统","p":663},{"i":669,"t":"硬件环境","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#硬件环境","p":663},{"i":671,"t":"2.以 Helm 的方式启动 (推荐)","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#2以-helm-的方式启动-推荐","p":663},{"i":673,"t":"2.1 下载源码","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#21-下载源码","p":663},{"i":675,"t":"2.2 拉取镜像并启动服务","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#22-拉取镜像并启动服务","p":663},{"i":677,"t":"2.3 查看服务状态及ingress端口","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#23-查看服务状态及ingress端口","p":663},{"i":679,"t":"2.4 访问服务","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#24-访问服务","p":663},{"i":682,"t":"1.首次安装准备事项","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#1首次安装准备事项","p":681},{"i":683,"t":"1.1 Linux 服务器","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#11-linux-服务器","p":681},{"i":685,"t":"1.2 JDK准备","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#12-jdk准备","p":681},{"i":687,"t":"1.3 数据库准备","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#13-数据库准备","p":681},{"i":689,"t":"2.配置修改","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#2配置修改","p":681},{"i":690,"t":"2.1 安装包准备","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#21-安装包准备","p":681},{"i":692,"t":"3.服务端按照和启动","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#3服务端按照和启动","p":681},{"i":693,"t":"3.1 准备工作","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#31-准备工作","p":681},{"i":695,"t":"3.2 配置修改","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#32-配置修改","p":681},{"i":697,"t":"3.3 服务端启动","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#33-服务端启动","p":681},{"i":699,"t":"4.前端部署","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#4前端部署","p":681},{"i":700,"t":"4.1 准备工作","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#41-准备工作","p":681},{"i":702,"t":"4.2 启动","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#42-启动","p":681},{"i":705,"t":"1 准备工作","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","h":"#1-准备工作","p":704},{"i":707,"t":"2 部署","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","h":"#2-部署","p":704},{"i":709,"t":"2.1 自动化部署(推荐)","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","h":"#21-自动化部署推荐","p":704},{"i":711,"t":"2.2 手动部署","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","h":"#22-手动部署","p":704},{"i":713,"t":"3 登录","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","h":"#3-登录","p":704},{"i":715,"t":"4 注意事项","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","h":"#4-注意事项","p":704},{"i":717,"t":"5 常见问题","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","h":"#5-常见问题","p":704},{"i":718,"t":"5.1 接口超时","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","h":"#51-接口超时","p":704},{"i":721,"t":"1. 前端UI模块","u":"/SolidUI-Website/zh-CN/docs/design/front-end-architecture/","h":"#1-前端ui模块","p":720},{"i":723,"t":"2. 总览架构","u":"/SolidUI-Website/zh-CN/docs/design/front-end-architecture/","h":"#2-总览架构","p":720},{"i":724,"t":"3. SolidEditor & Preview(设计所见即所得)","u":"/SolidUI-Website/zh-CN/docs/design/front-end-architecture/","h":"#3-solideditor--preview设计所见即所得","p":720},{"i":726,"t":"4. SolidView & JSONSchema & Configuration","u":"/SolidUI-Website/zh-CN/docs/design/front-end-architecture/","h":"#4-solidview--jsonschema--configuration","p":720},{"i":729,"t":"solidui_datasource 数据源管理","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_datasource-数据源管理","p":728},{"i":731,"t":"solidui_datasource_type 数据源类型","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_datasource_type-数据源类型","p":728},{"i":733,"t":"solidui_datasource_type_key 数据源类型设置","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_datasource_type_key-数据源类型设置","p":728},{"i":735,"t":"solidui_job_element 工作元素","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_job_element-工作元素","p":728},{"i":737,"t":"solidui_job_element_page 工作元素页面","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_job_element_page-工作元素页面","p":728},{"i":739,"t":"solidui_job_page 工作页面","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_job_page--工作页面","p":728},{"i":741,"t":"solidui_project 项目管理","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_project-项目管理","p":728},{"i":743,"t":"solidui_user 用户管理","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_user-用户管理","p":728},{"i":745,"t":"solidui_model_type 模型类型设置","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_model_type--模型类型设置","p":728},{"i":747,"t":"E-R图","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#e-r图","p":728},{"i":750,"t":"1. 架构总览","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#1-架构总览","p":749},{"i":752,"t":"2.模块功能","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#2模块功能","p":749},{"i":754,"t":"3.源码讲解","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#3源码讲解","p":749},{"i":755,"t":"3.1 solidui-bom","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#31-solidui-bom","p":749},{"i":757,"t":"3.2 solidui-common","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#32-solidui-common","p":749},{"i":759,"t":"3.3 solidui-dao","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#33-solidui-dao","p":749},{"i":761,"t":"3.4 solidui-datasource-plugin","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#34-solidui-datasource-plugin","p":749},{"i":763,"t":"3.5 solidui-dist","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#35-solidui-dist","p":749},{"i":765,"t":"3.6 solidui-entrance","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#36-solidui-entrance","p":749},{"i":767,"t":"3.7 solidui-service","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#37-solidui-service","p":749},{"i":769,"t":"3.8 solidui-spi","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#38-solidui-spi","p":749},{"i":771,"t":"3.9 solidui-web","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#39-solidui-web","p":749},{"i":773,"t":"3.10 soliduimodelui","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#310-soliduimodelui","p":749},{"i":777,"t":"一、贡献范畴","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#一贡献范畴","p":775},{"i":778,"t":"1.1 Bug 反馈与修复","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#11-bug-反馈与修复","p":775},{"i":780,"t":"1.2 功能交流、实现、重构","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#12-功能交流实现重构","p":775},{"i":782,"t":"1.3 Issue 答疑","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#13-issue-答疑","p":775},{"i":784,"t":"1.4 文档改进","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#14-文档改进","p":775},{"i":786,"t":"1.5 其他","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#15-其他","p":775},{"i":788,"t":"二、贡献流程","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#二贡献流程","p":775},{"i":789,"t":"2.1 分支结构","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#21-分支结构","p":775},{"i":791,"t":"2.2 开发指引","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#22-开发指引","p":775},{"i":793,"t":"2.3 Issue 提交指引","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#23-issue-提交指引","p":775},{"i":795,"t":"2.4 Pull Request(PR) 提交指引","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#24-pull-requestpr-提交指引","p":775},{"i":797,"t":"2.5 Review 标准","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#25-review-标准","p":775},{"i":799,"t":"三、贡献进阶","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#三贡献进阶","p":775},{"i":800,"t":"3.1 关于 Committers(Collaborators)","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#31-关于-committerscollaborators","p":775},{"i":802,"t":"3.2 关于 Committee","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#32-关于-committee","p":775},{"i":806,"t":"1.前言","u":"/SolidUI-Website/zh-CN/docs/development/development-commit","h":"#1前言","p":804},{"i":808,"t":"2.Commit Message RIP","u":"/SolidUI-Website/zh-CN/docs/development/development-commit","h":"#2commit-message-rip","p":804},{"i":809,"t":"2.1 明确修改内容","u":"/SolidUI-Website/zh-CN/docs/development/development-commit","h":"#21-明确修改内容","p":804},{"i":811,"t":"2.2 关联相应的Pull Request 或者Issue","u":"/SolidUI-Website/zh-CN/docs/development/development-commit","h":"#22-关联相应的pull-request-或者issue","p":804},{"i":813,"t":"2.3 统一的格式","u":"/SolidUI-Website/zh-CN/docs/development/development-commit","h":"#23-统一的格式","p":804},{"i":815,"t":"3.参考文档","u":"/SolidUI-Website/zh-CN/docs/development/development-commit","h":"#3参考文档","p":804},{"i":818,"t":"流程列表","u":"/SolidUI-Website/zh-CN/docs/development/development-construction","h":"#流程列表","p":817},{"i":821,"t":"1.前置条件","u":"/SolidUI-Website/zh-CN/docs/development/development-docker","h":"#1前置条件","p":820},{"i":823,"t":"2.镜像构建","u":"/SolidUI-Website/zh-CN/docs/development/development-docker","h":"#2镜像构建","p":820},{"i":824,"t":"2.1 服务端镜像构建-entrance-server","u":"/SolidUI-Website/zh-CN/docs/development/development-docker","h":"#21-服务端镜像构建-entrance-server","p":820},{"i":826,"t":"2.2 服务端镜像构建-soliduimodelui (0.2.0版本后)","u":"/SolidUI-Website/zh-CN/docs/development/development-docker","h":"#22-服务端镜像构建-soliduimodelui-020版本后","p":820},{"i":828,"t":"2.3 前端镜像构建","u":"/SolidUI-Website/zh-CN/docs/development/development-docker","h":"#23-前端镜像构建","p":820},{"i":831,"t":"1.前置条件","u":"/SolidUI-Website/zh-CN/docs/development/development-front","h":"#1前置条件","p":830},{"i":832,"t":"1.1 安装Node.js","u":"/SolidUI-Website/zh-CN/docs/development/development-front","h":"#11-安装nodejs","p":830},{"i":834,"t":"1.2 源码获取","u":"/SolidUI-Website/zh-CN/docs/development/development-front","h":"#12-源码获取","p":830},{"i":836,"t":"2.编译","u":"/SolidUI-Website/zh-CN/docs/development/development-front","h":"#2编译","p":830},{"i":837,"t":"2.1 安装npm依赖","u":"/SolidUI-Website/zh-CN/docs/development/development-front","h":"#21-安装npm依赖","p":830},{"i":839,"t":"2.2. 打包项目","u":"/SolidUI-Website/zh-CN/docs/development/development-front","h":"#22-打包项目","p":830},{"i":842,"t":"授权","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#授权","p":841},{"i":844,"t":"物料包","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#物料包","p":841},{"i":845,"t":"分支","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#分支","p":841},{"i":847,"t":"基于待发布的开发分支,创建release-${release_version}-rcx分支","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#基于待发布的开发分支创建release-release_version-rcx分支","p":841},{"i":849,"t":"tag","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#tag","p":841},{"i":851,"t":"clone对应的release分支到本地","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#clone对应的release分支到本地","p":841},{"i":853,"t":"版本号确认","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#版本号确认","p":841},{"i":854,"t":"验证物料包","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#验证物料包","p":841},{"i":856,"t":"发起投票","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#发起投票","p":841},{"i":857,"t":"社区投票阶段","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#社区投票阶段","p":841},{"i":859,"t":"关闭投票线程","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#关闭投票线程","p":841},{"i":861,"t":"取消投票(如果需要取消)","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#取消投票如果需要取消","p":841},{"i":863,"t":"宣布投票结果","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#宣布投票结果","p":841},{"i":865,"t":"正式发布","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#正式发布","p":841},{"i":866,"t":"GitHub 版本创建","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#github-版本创建","p":841},{"i":869,"t":"1.前置条件","u":"/SolidUI-Website/zh-CN/docs/development/development-server","h":"#1前置条件","p":868},{"i":870,"t":"1.1 环境要求","u":"/SolidUI-Website/zh-CN/docs/development/development-server","h":"#11-环境要求","p":868},{"i":872,"t":"1.2 源码获取","u":"/SolidUI-Website/zh-CN/docs/development/development-server","h":"#12-源码获取","p":868},{"i":874,"t":"2.服务端编译","u":"/SolidUI-Website/zh-CN/docs/development/development-server","h":"#2服务端编译","p":868},{"i":876,"t":"3.全量编译(服务端和前端)","u":"/SolidUI-Website/zh-CN/docs/development/development-server","h":"#3全量编译服务端和前端","p":868},{"i":879,"t":"解答问题流程","u":"/SolidUI-Website/zh-CN/docs/faq/faq/","h":"#解答问题流程","p":878},{"i":881,"t":"结语","u":"/SolidUI-Website/zh-CN/docs/faq/faq/","h":"#结语","p":878},{"i":885,"t":"核心特点","u":"/SolidUI-Website/zh-CN/docs/intro","h":"#核心特点","p":883},{"i":887,"t":"快速开始","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":889,"t":"这是什么?","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":891,"t":"自研文生图语言模型","u":"/SolidUI-Website/zh-CN/docs/intro","h":"#自研文生图语言模型","p":883},{"i":893,"t":"RLHF 流程","u":"/SolidUI-Website/zh-CN/docs/intro","h":"#rlhf-流程","p":883},{"i":895,"t":"文档","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":897,"t":"贡献","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":899,"t":"联系我们","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":901,"t":"谁在使用 SolidUI","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":903,"t":"Contributors","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":905,"t":"感谢与赞助","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":908,"t":"开源社区共建条款","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#开源社区共建条款","p":907},{"i":910,"t":"分享有价值的内容","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#分享有价值的内容","p":907},{"i":912,"t":"举办线上或线下活动","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#举办线上或线下活动","p":907},{"i":914,"t":"互动与交流","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#互动与交流","p":907},{"i":916,"t":"合作与共创","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#合作与共创","p":907},{"i":918,"t":"试用环境及资源共享","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#试用环境及资源共享","p":907},{"i":920,"t":"优先解决共建 Issue","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#优先解决共建-issue","p":907},{"i":922,"t":"遵守行为准则","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#遵守行为准则","p":907},{"i":924,"t":"中文文档写作规范","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#中文文档写作规范","p":907},{"i":927,"t":"登录","u":"/SolidUI-Website/zh-CN/docs/test/test-case/","h":"#登录","p":926},{"i":929,"t":"数据源管理","u":"/SolidUI-Website/zh-CN/docs/test/test-case/","h":"#数据源管理","p":926},{"i":931,"t":"项目管理","u":"/SolidUI-Website/zh-CN/docs/test/test-case/","h":"#项目管理","p":926},{"i":933,"t":"设计","u":"/SolidUI-Website/zh-CN/docs/test/test-case/","h":"#设计","p":926},{"i":935,"t":"ModelUI","u":"/SolidUI-Website/zh-CN/docs/test/test-case/","h":"#modelui","p":926},{"i":938,"t":"开始","u":"/SolidUI-Website/zh-CN/docs/user-guide/quick-start","h":"#开始","p":937},{"i":940,"t":"访问服务","u":"/SolidUI-Website/zh-CN/docs/user-guide/quick-start","h":"#访问服务","p":937}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/466",[0,4.95]],["t/468",[1,4.03,2,4.633,3,4.03]],["t/470",[3,4.03,4,4.03,5,4.633]],["t/472",[6,5.332,7,5.332]],["t/474",[8,4.423,9,1.447,10,2.893,11,3.67]],["t/476",[12,4.401,13,4.935]],["t/478",[14,4.203,15,4.401]],["t/480",[16,5.462]],["t/482",[17,4.638,18,4.638]],["t/486",[0,4.95]],["t/488",[19,3.755,20,5.332]],["t/490",[19,3.755,21,5.332]],["t/491",[]],["t/493",[19,3.755,22,5.332]],["t/495",[19,3.755,23,3.886]],["t/497",[24,5.183]],["t/499",[25,3.824,26,4.03,27,4.03]],["t/503",[0,4.95]],["t/505",[23,3.377,28,4.288,29,3.16]],["t/507",[30,5.462]],["t/509",[23,3.377,29,3.16,31,4.03]],["t/511",[30,5.462]],["t/513",[24,5.183]],["t/515",[25,3.824,26,4.03,27,4.03]],["t/519",[32,5.812]],["t/521",[33,5.332,34,5.332]],["t/523",[35,5.936,36,5.936]],["t/525",[33,4.633,34,4.633,37,5.157]],["t/526",[38,4.086,39,4.086,40,4.086,41,4.086,42,3.67]],["t/528",[43,5.936,44,5.936]],["t/530",[45,5.936,46,5.936]],["t/532",[47,5.936,48,5.936]],["t/534",[42,5.332,49,5.936]],["t/536",[50,5.936,51,4.935]],["t/538",[52,6.991]],["t/540",[53,5.936,54,4.638]],["t/541",[54,4.638,55,5.936]],["t/543",[56,6.28]],["t/545",[57,4.559,58,4.559,59,1.988,60,4.559]],["t/547",[61,4.935,62,4.203]],["t/551",[32,5.812]],["t/553",[63,4.935,64,5.936]],["t/554",[65,6.991]],["t/556",[66,6.991]],["t/558",[67,6.991]],["t/560",[68,5.936,69,5.936]],["t/562",[62,4.95]],["t/564",[61,4.935,62,4.203]],["t/568",[32,5.812]],["t/570",[70,6.991]],["t/572",[71,6.991]],["t/574",[72,6.991]],["t/576",[73,6.991]],["t/578",[59,2.249,62,3.652,74,5.157]],["t/580",[75,6.991]],["t/582",[61,4.935,62,4.203]],["t/586",[23,2.215,28,2.812,29,2.073,31,2.643,59,1.475,76,2.643,77,3.039]],["t/588",[0,4.95]],["t/590",[23,3.377,28,4.288,29,3.16]],["t/592",[30,5.462]],["t/594",[23,3.377,29,3.16,31,4.03]],["t/596",[30,5.462]],["t/598",[24,5.183]],["t/600",[25,3.824,26,4.03,27,4.03]],["t/602",[19,2.341,23,2.423,59,1.614,76,2.892,77,3.325,78,2.621]],["t/604",[0,4.95]],["t/606",[19,3.755,20,5.332]],["t/608",[19,3.755,21,5.332]],["t/610",[19,3.755,22,5.332]],["t/612",[19,3.755,23,3.886]],["t/614",[24,5.183]],["t/616",[25,3.824,26,4.03,27,4.03]],["t/618",[1,1.743,8,2.753,9,0.79,10,1.58,12,1.654,59,0.973,79,2.231,80,2.231,81,2.231,82,2.231,83,2.004,84,2.004]],["t/620",[0,4.95]],["t/622",[1,4.03,2,4.633,3,4.03]],["t/624",[3,4.03,4,4.03,5,4.633]],["t/626",[6,5.332,7,5.332]],["t/628",[8,4.423,9,1.447,10,2.893,11,3.67]],["t/630",[12,4.401,13,4.935]],["t/632",[14,4.203,15,4.401]],["t/634",[16,5.462]],["t/636",[17,4.638,18,4.638]],["t/651",[9,1.826,85,3.652,86,3.263]],["t/653",[31,2.892,87,1.238,88,3.701,89,3.325,90,2.516,91,3.077]],["t/655",[9,1.198,29,2.073,78,2.396,87,1.131,92,3.039,93,2.812,94,3.039]],["t/657",[87,1.732,90,2.299,95,3.039,96,3.039,97,2.396,98,2.396]],["t/659",[8,1.998,10,1.087,51,1.276,59,0.669,87,0.901,99,0.635,100,2.106,101,1.379,102,2.695,103,1.535,104,1.379,105,1.199,106,1.535,107,1.535,108,1.535,109,1.535,110,1.535]],["t/661",[87,1.525,98,3.229,111,2.793,112,3.791]],["t/664",[9,1.826,85,3.652,86,3.263]],["t/665",[85,4.203,113,5.936]],["t/667",[114,6.991]],["t/669",[85,4.203,115,5.936]],["t/671",[87,1.366,89,3.67,90,2.777,91,3.397,116,4.086]],["t/673",[9,1.614,78,3.229,87,1.525,92,4.096]],["t/675",[87,1.732,90,2.299,95,3.039,96,3.039,97,2.396,98,2.396]],["t/677",[87,1.131,98,2.396,99,1.4,117,3.383,118,3.383,119,3.383,120,3.383]],["t/679",[87,1.525,98,3.229,111,2.793,112,3.791]],["t/682",[9,1.447,86,2.585,121,4.086,122,3.397,123,4.086]],["t/683",[9,2.286,124,4.559,125,4.559]],["t/685",[9,1.614,86,2.884,87,1.525,126,4.559]],["t/687",[9,1.614,86,2.884,99,1.887,101,4.096]],["t/689",[87,1.724,100,4.03,127,4.633]],["t/690",[9,1.614,86,2.884,87,1.525,128,4.559]],["t/692",[90,3.099,99,1.887,129,3.229,130,4.559]],["t/693",[9,1.614,86,2.884,99,1.887,131,3.229]],["t/695",[87,1.525,99,1.887,100,3.562,127,4.096]],["t/697",[90,3.099,99,2.672,129,3.229]],["t/699",[29,3.16,111,3.16,132,4.03]],["t/700",[9,1.614,86,2.884,111,2.793,131,3.229]],["t/702",[87,1.724,90,3.505,111,3.16]],["t/705",[9,1.826,86,3.263,131,3.652]],["t/707",[29,3.637,87,1.985]],["t/709",[9,1.447,29,2.503,87,1.366,91,3.397,133,4.086]],["t/711",[29,2.793,87,2.159,134,4.559]],["t/713",[4,4.638,99,2.457]],["t/715",[111,3.637,135,5.936]],["t/717",[136,4.401,137,5.936]],["t/718",[9,1.614,136,3.38,138,4.559,139,4.559]],["t/721",[9,1.614,132,3.562,140,4.559,141,4.096]],["t/723",[87,1.724,142,4.633,143,4.633]],["t/724",[17,2.892,56,3.325,99,1.532,144,3.701,145,3.701,146,3.701]],["t/726",[111,2.793,147,4.559,148,4.559,149,4.559]],["t/729",[14,2.893,15,3.029,59,1.782,150,4.086,151,3.192]],["t/731",[14,2.621,59,1.614,105,2.892,151,2.892,152,3.701,153,3.077]],["t/733",[14,2.206,59,1.358,105,2.434,151,2.434,153,2.59,154,3.115,155,3.115,156,2.798]],["t/735",[59,1.614,131,2.621,157,3.701,158,3.077,159,3.325,160,3.325]],["t/737",[18,2.434,54,2.434,59,1.358,131,2.206,158,2.59,159,2.798,160,2.798,161,3.115]],["t/739",[18,2.892,54,2.892,59,1.614,131,2.621,158,3.077,162,3.701]],["t/741",[16,3.562,59,1.988,163,4.559,164,4.559]],["t/743",[15,3.029,59,1.782,165,4.086,166,4.086,167,4.086]],["t/745",[51,2.812,59,1.475,104,3.039,105,2.643,153,2.812,156,3.039,168,3.039]],["t/747",[169,5.157,170,5.157,171,4.633]],["t/750",[9,1.826,142,4.633,143,4.633]],["t/752",[12,3.824,87,1.724,141,4.633]],["t/754",[78,3.652,84,4.633,99,2.135]],["t/755",[9,1.614,59,1.988,99,1.887,172,4.559]],["t/757",[59,1.988,87,1.525,99,1.887,173,4.559]],["t/759",[59,1.988,99,2.672,174,4.559]],["t/761",[59,1.782,99,1.691,111,2.503,151,3.192,175,4.086]],["t/763",[59,1.988,99,1.887,136,3.38,176,4.559]],["t/765",[59,1.988,99,1.887,177,4.559,178,4.096]],["t/767",[59,1.988,99,1.887,179,4.559,180,4.559]],["t/769",[59,1.988,99,1.887,181,4.559,182,4.559]],["t/771",[59,1.988,99,1.887,183,4.559,184,4.559]],["t/773",[99,2.135,185,5.157,186,4.633]],["t/777",[187,4.638,188,5.936]],["t/778",[9,2.112,189,4.086,190,4.086,191,4.086]],["t/780",[9,1.31,12,2.744,87,1.238,192,3.325,193,3.701,194,3.701]],["t/782",[9,1.614,99,1.887,195,3.562,196,4.559]],["t/784",[9,1.614,111,2.793,197,3.562,198,4.559]],["t/786",[9,1.826,136,3.824,199,5.157]],["t/788",[187,4.03,200,5.157,201,4.03]],["t/789",[9,1.614,87,1.525,202,3.562,203,4.559]],["t/791",[87,2.159,204,4.096,205,3.791]],["t/793",[87,1.366,99,1.691,195,3.192,205,3.397,206,3.67]],["t/795",[87,1.131,111,2.073,205,2.812,206,3.039,207,3.039,208,3.039,209,3.383]],["t/797",[87,1.525,136,3.38,210,4.559,211,4.559]],["t/799",[187,4.03,212,5.157,213,5.157]],["t/800",[9,1.447,99,1.691,214,3.67,215,4.086,216,4.086]],["t/802",[87,1.525,99,1.887,214,4.096,217,4.559]],["t/806",[9,2.102,218,5.936]],["t/808",[87,1.525,219,4.559,220,4.559,221,4.559]],["t/809",[9,1.447,87,1.366,100,3.192,222,4.086,223,3.67]],["t/811",[87,1.625,94,2.798,195,2.434,207,2.798,208,2.798,224,3.115,225,3.115]],["t/813",[87,1.525,99,1.887,226,4.559,227,4.559]],["t/815",[99,2.135,197,4.03,228,5.157]],["t/818",[13,4.935,201,4.638]],["t/821",[9,2.102,229,4.935]],["t/823",[87,1.724,97,3.652,230,4.03]],["t/824",[9,1.198,87,1.131,97,2.396,129,2.396,178,3.039,230,2.643,231,3.383]],["t/826",[8,3.207,10,1.904,87,1.815,97,1.904,129,1.904,186,2.416,230,2.101]],["t/828",[87,1.366,97,2.893,99,1.691,132,3.192,230,3.192]],["t/831",[9,2.102,229,4.935]],["t/832",[9,2.112,122,3.397,232,4.086,233,4.086]],["t/834",[9,1.614,78,3.229,87,1.525,234,4.096]],["t/836",[87,1.985,235,4.935]],["t/837",[9,1.447,87,1.366,122,3.397,236,4.086,237,4.086]],["t/839",[1,3.562,87,2.159,238,4.559]],["t/842",[239,6.991]],["t/844",[93,4.935,240,5.332]],["t/845",[202,5.462]],["t/847",[63,3.409,202,3.204,204,2.261,241,2.517,242,2.517,243,2.261,244,2.517,245,2.517,246,2.517]],["t/849",[247,6.991]],["t/851",[63,3.397,202,3.192,248,4.086,249,4.086,250,4.086]],["t/853",[251,5.936,252,5.936]],["t/854",[93,4.288,240,4.633,253,5.157]],["t/856",[254,5.936,255,4.401]],["t/857",[76,4.03,255,3.824,256,5.157]],["t/859",[255,3.824,257,5.157,258,5.157]],["t/861",[25,3.029,255,3.029,259,5.966,260,4.086]],["t/863",[255,3.824,261,5.157,262,5.157]],["t/865",[263,5.936,264,5.936]],["t/866",[10,3.652,243,4.633,265,5.157]],["t/869",[9,2.102,229,4.935]],["t/870",[9,2.286,85,3.229,266,4.559]],["t/872",[9,1.614,78,3.229,87,1.525,234,4.096]],["t/874",[87,1.724,129,3.652,235,4.288]],["t/876",[99,1.532,129,2.621,132,2.892,235,3.077,267,3.701,268,3.701]],["t/879",[201,4.03,269,5.157,270,5.157]],["t/881",[24,5.183]],["t/885",[271,5.936,272,5.936]],["t/887",[273,5.936,274,5.332]],["t/889",[275,6.991]],["t/891",[168,3.325,171,3.325,276,3.701,277,3.701,278,3.701,279,3.701]],["t/893",[201,4.638,280,5.936]],["t/895",[197,5.462]],["t/897",[187,5.462]],["t/899",[281,5.936,282,5.936]],["t/901",[59,2.588,283,5.936]],["t/903",[62,4.95]],["t/905",[284,5.936,285,5.936]],["t/908",[76,3.562,83,4.096,286,4.096,287,4.559]],["t/910",[223,4.633,288,5.157,289,5.157]],["t/912",[290,4.559,291,4.559,292,4.559,293,4.559]],["t/914",[192,5.332,294,5.936]],["t/916",[295,5.936,296,5.936]],["t/918",[85,3.652,297,5.157,298,5.157]],["t/920",[195,3.562,286,4.096,299,4.559,300,4.559]],["t/922",[301,5.936,302,5.936]],["t/924",[197,3.562,303,4.559,304,4.559,305,4.559]],["t/927",[4,5.462]],["t/929",[14,4.203,15,4.401]],["t/931",[16,5.462]],["t/933",[17,5.462]],["t/935",[306,6.991]],["t/938",[274,6.28]],["t/940",[98,4.203,112,4.935]]],"invertedIndex":[["0",{"_index":8,"t":{"474":{"position":[[0,1],[4,1]]},"618":{"position":[[26,1],[30,1]]},"628":{"position":[[0,1],[4,1]]},"659":{"position":[[52,1],[56,1]]},"826":{"position":[[28,1],[32,1]]}}}],["1",{"_index":9,"t":{"474":{"position":[[2,1]]},"618":{"position":[[28,1]]},"628":{"position":[[2,1]]},"651":{"position":[[0,1]]},"655":{"position":[[2,1]]},"664":{"position":[[0,1]]},"673":{"position":[[2,1]]},"682":{"position":[[0,1]]},"683":{"position":[[0,1],[2,1]]},"685":{"position":[[0,1]]},"687":{"position":[[0,1]]},"690":{"position":[[2,1]]},"693":{"position":[[2,1]]},"700":{"position":[[2,1]]},"705":{"position":[[0,1]]},"709":{"position":[[2,1]]},"718":{"position":[[2,1]]},"721":{"position":[[0,1]]},"750":{"position":[[0,1]]},"755":{"position":[[2,1]]},"778":{"position":[[0,1],[2,1]]},"780":{"position":[[0,1]]},"782":{"position":[[0,1]]},"784":{"position":[[0,1]]},"786":{"position":[[0,1]]},"789":{"position":[[2,1]]},"800":{"position":[[2,1]]},"806":{"position":[[0,1]]},"809":{"position":[[2,1]]},"821":{"position":[[0,1]]},"824":{"position":[[2,1]]},"831":{"position":[[0,1]]},"832":{"position":[[0,1],[2,1]]},"834":{"position":[[0,1]]},"837":{"position":[[2,1]]},"869":{"position":[[0,1]]},"870":{"position":[[0,1],[2,1]]},"872":{"position":[[0,1]]}}}],["10",{"_index":185,"t":{"773":{"position":[[2,2]]}}}],["2",{"_index":87,"t":{"653":{"position":[[0,1]]},"655":{"position":[[0,1]]},"657":{"position":[[0,1],[2,1]]},"659":{"position":[[0,1],[54,1]]},"661":{"position":[[0,1]]},"671":{"position":[[0,1]]},"673":{"position":[[0,1]]},"675":{"position":[[0,1],[2,1]]},"677":{"position":[[0,1]]},"679":{"position":[[0,1]]},"685":{"position":[[2,1]]},"689":{"position":[[0,1]]},"690":{"position":[[0,1]]},"695":{"position":[[2,1]]},"702":{"position":[[2,1]]},"707":{"position":[[0,1]]},"709":{"position":[[0,1]]},"711":{"position":[[0,1],[2,1]]},"723":{"position":[[0,1]]},"752":{"position":[[0,1]]},"757":{"position":[[2,1]]},"780":{"position":[[2,1]]},"789":{"position":[[0,1]]},"791":{"position":[[0,1],[2,1]]},"793":{"position":[[0,1]]},"795":{"position":[[0,1]]},"797":{"position":[[0,1]]},"802":{"position":[[2,1]]},"808":{"position":[[0,1]]},"809":{"position":[[0,1]]},"811":{"position":[[0,1],[2,1]]},"813":{"position":[[0,1]]},"823":{"position":[[0,1]]},"824":{"position":[[0,1]]},"826":{"position":[[0,1],[2,1],[30,1]]},"828":{"position":[[0,1]]},"834":{"position":[[2,1]]},"836":{"position":[[0,1]]},"837":{"position":[[0,1]]},"839":{"position":[[0,1],[2,1]]},"872":{"position":[[2,1]]},"874":{"position":[[0,1]]}}}],["3",{"_index":99,"t":{"659":{"position":[[2,1]]},"677":{"position":[[2,1]]},"687":{"position":[[2,1]]},"692":{"position":[[0,1]]},"693":{"position":[[0,1]]},"695":{"position":[[0,1]]},"697":{"position":[[0,1],[2,1]]},"713":{"position":[[0,1]]},"724":{"position":[[0,1]]},"754":{"position":[[0,1]]},"755":{"position":[[0,1]]},"757":{"position":[[0,1]]},"759":{"position":[[0,1],[2,1]]},"761":{"position":[[0,1]]},"763":{"position":[[0,1]]},"765":{"position":[[0,1]]},"767":{"position":[[0,1]]},"769":{"position":[[0,1]]},"771":{"position":[[0,1]]},"773":{"position":[[0,1]]},"782":{"position":[[2,1]]},"793":{"position":[[2,1]]},"800":{"position":[[0,1]]},"802":{"position":[[0,1]]},"813":{"position":[[2,1]]},"815":{"position":[[0,1]]},"828":{"position":[[2,1]]},"876":{"position":[[0,1]]}}}],["4",{"_index":111,"t":{"661":{"position":[[2,1]]},"679":{"position":[[2,1]]},"699":{"position":[[0,1]]},"700":{"position":[[0,1]]},"702":{"position":[[0,1]]},"715":{"position":[[0,1]]},"726":{"position":[[0,1]]},"761":{"position":[[2,1]]},"784":{"position":[[2,1]]},"795":{"position":[[2,1]]}}}],["5",{"_index":136,"t":{"717":{"position":[[0,1]]},"718":{"position":[[0,1]]},"763":{"position":[[2,1]]},"786":{"position":[[2,1]]},"797":{"position":[[2,1]]}}}],["6",{"_index":177,"t":{"765":{"position":[[2,1]]}}}],["7",{"_index":179,"t":{"767":{"position":[[2,1]]}}}],["8",{"_index":181,"t":{"769":{"position":[[2,1]]}}}],["9",{"_index":183,"t":{"771":{"position":[[2,1]]}}}],["acknowledg",{"_index":75,"t":{"580":{"position":[[0,15]]}}}],["ai",{"_index":79,"t":{"618":{"position":[[8,2]]}}}],["background",{"_index":32,"t":{"519":{"position":[[0,10]]},"551":{"position":[[0,10]]},"568":{"position":[[0,10]]}}}],["bar",{"_index":41,"t":{"526":{"position":[[22,3]]}}}],["baseurl",{"_index":107,"t":{"659":{"position":[[41,7]]}}}],["becom",{"_index":61,"t":{"547":{"position":[[7,6]]},"564":{"position":[[7,6]]},"582":{"position":[[7,6]]}}}],["bom",{"_index":172,"t":{"755":{"position":[[12,3]]}}}],["bug",{"_index":189,"t":{"778":{"position":[[4,3]]}}}],["bunni",{"_index":50,"t":{"536":{"position":[[0,5]]}}}],["chart",{"_index":42,"t":{"526":{"position":[[26,5]]},"534":{"position":[[4,5]]}}}],["chat",{"_index":33,"t":{"521":{"position":[[0,4]]},"525":{"position":[[0,4]]}}}],["clone",{"_index":248,"t":{"851":{"position":[[0,5]]}}}],["collabor",{"_index":216,"t":{"800":{"position":[[18,13]]}}}],["commit",{"_index":219,"t":{"808":{"position":[[2,6]]}}}],["committ",{"_index":215,"t":{"800":{"position":[[7,10]]}}}],["committe",{"_index":217,"t":{"802":{"position":[[7,9]]}}}],["common",{"_index":173,"t":{"757":{"position":[[12,6]]}}}],["commun",{"_index":60,"t":{"545":{"position":[[24,9]]}}}],["compos",{"_index":88,"t":{"653":{"position":[[11,7]]}}}],["conclus",{"_index":73,"t":{"576":{"position":[[0,10]]}}}],["configur",{"_index":149,"t":{"726":{"position":[[28,13]]}}}],["contribut",{"_index":71,"t":{"572":{"position":[[7,10]]}}}],["contributor",{"_index":62,"t":{"547":{"position":[[16,11]]},"562":{"position":[[0,12]]},"564":{"position":[[16,11]]},"578":{"position":[[16,12]]},"582":{"position":[[16,11]]},"903":{"position":[[0,12]]}}}],["dao",{"_index":174,"t":{"759":{"position":[[12,3]]}}}],["data",{"_index":39,"t":{"526":{"position":[[6,4]]}}}],["datasourc",{"_index":151,"t":{"729":{"position":[[8,10]]},"731":{"position":[[8,10]]},"733":{"position":[[8,10]]},"761":{"position":[[12,10]]}}}],["deploy",{"_index":66,"t":{"556":{"position":[[0,10]]}}}],["design",{"_index":53,"t":{"540":{"position":[[0,6]]}}}],["detail",{"_index":68,"t":{"560":{"position":[[0,8]]}}}],["dist",{"_index":176,"t":{"763":{"position":[[12,4]]}}}],["docker",{"_index":31,"t":{"509":{"position":[[0,6]]},"586":{"position":[[15,6]]},"594":{"position":[[0,6]]},"653":{"position":[[4,6]]}}}],["document",{"_index":67,"t":{"558":{"position":[[0,13]]}}}],["e",{"_index":169,"t":{"747":{"position":[[0,1]]}}}],["element",{"_index":159,"t":{"735":{"position":[[12,7]]},"737":{"position":[[12,7]]}}}],["entranc",{"_index":178,"t":{"765":{"position":[[12,8]]},"824":{"position":[[12,8]]}}}],["exampl",{"_index":72,"t":{"574":{"position":[[0,7]]}}}],["featur",{"_index":65,"t":{"554":{"position":[[0,8]]}}}],["format",{"_index":40,"t":{"526":{"position":[[11,6]]}}}],["futur",{"_index":57,"t":{"545":{"position":[[0,6]]}}}],["gener",{"_index":37,"t":{"525":{"position":[[12,10]]}}}],["github",{"_index":265,"t":{"866":{"position":[[0,6]]}}}],["graph",{"_index":44,"t":{"528":{"position":[[8,5]]}}}],["guid",{"_index":69,"t":{"560":{"position":[[9,5]]}}}],["helm",{"_index":116,"t":{"671":{"position":[[4,4]]}}}],["ingress",{"_index":119,"t":{"677":{"position":[[11,7]]}}}],["input",{"_index":38,"t":{"526":{"position":[[0,5]]}}}],["introduct",{"_index":70,"t":{"570":{"position":[[0,12]]}}}],["issu",{"_index":195,"t":{"782":{"position":[[4,5]]},"793":{"position":[[4,5]]},"811":{"position":[[24,5]]},"920":{"position":[[7,5]]}}}],["jdk",{"_index":126,"t":{"685":{"position":[[4,3]]}}}],["job",{"_index":158,"t":{"735":{"position":[[8,3]]},"737":{"position":[[8,3]]},"739":{"position":[[8,3]]}}}],["js",{"_index":233,"t":{"832":{"position":[[11,2]]}}}],["jsonschema",{"_index":148,"t":{"726":{"position":[[15,10]]}}}],["key",{"_index":155,"t":{"733":{"position":[[24,3]]}}}],["layout",{"_index":55,"t":{"541":{"position":[[5,6]]}}}],["line",{"_index":48,"t":{"532":{"position":[[7,4]]}}}],["linux",{"_index":124,"t":{"683":{"position":[[4,5]]}}}],["map",{"_index":52,"t":{"538":{"position":[[0,3]]}}}],["messag",{"_index":220,"t":{"808":{"position":[[9,7]]}}}],["model",{"_index":51,"t":{"536":{"position":[[6,8]]},"659":{"position":[[24,5]]},"745":{"position":[[8,5]]}}}],["modelui",{"_index":306,"t":{"935":{"position":[[0,7]]}}}],["node",{"_index":232,"t":{"832":{"position":[[6,4]]}}}],["note",{"_index":64,"t":{"553":{"position":[[8,5]]}}}],["npm",{"_index":236,"t":{"837":{"position":[[6,3]]}}}],["page",{"_index":54,"t":{"540":{"position":[[7,4]]},"541":{"position":[[0,4]]},"737":{"position":[[20,4]]},"739":{"position":[[12,4]]}}}],["pie",{"_index":49,"t":{"534":{"position":[[0,3]]}}}],["plan",{"_index":58,"t":{"545":{"position":[[7,5]]}}}],["plot",{"_index":46,"t":{"530":{"position":[[8,4]]}}}],["plugin",{"_index":175,"t":{"761":{"position":[[23,6]]}}}],["pr",{"_index":209,"t":{"795":{"position":[[17,2]]}}}],["preview",{"_index":56,"t":{"543":{"position":[[0,7]]},"724":{"position":[[17,7]]}}}],["project",{"_index":164,"t":{"741":{"position":[[8,7]]}}}],["prompt",{"_index":35,"t":{"523":{"position":[[0,6]]}}}],["pull",{"_index":207,"t":{"795":{"position":[[4,4]]},"811":{"position":[[9,4]]}}}],["r",{"_index":170,"t":{"747":{"position":[[2,1]]}}}],["rcx",{"_index":246,"t":{"847":{"position":[[40,3]]}}}],["releas",{"_index":63,"t":{"553":{"position":[[0,7]]},"847":{"position":[[13,7],[23,7]]},"851":{"position":[[8,7]]}}}],["release_vers",{"_index":244,"t":{"847":{"position":[[23,15]]}}}],["request",{"_index":208,"t":{"795":{"position":[[9,7]]},"811":{"position":[[14,7]]}}}],["review",{"_index":210,"t":{"797":{"position":[[4,6]]}}}],["rip",{"_index":221,"t":{"808":{"position":[[17,3]]}}}],["rlhf",{"_index":280,"t":{"893":{"position":[[0,4]]}}}],["scatter",{"_index":45,"t":{"530":{"position":[[0,7]]}}}],["server",{"_index":231,"t":{"824":{"position":[[21,6]]}}}],["servic",{"_index":180,"t":{"767":{"position":[[12,7]]}}}],["snakemq",{"_index":19,"t":{"488":{"position":[[0,7]]},"490":{"position":[[0,7]]},"493":{"position":[[0,7]]},"495":{"position":[[0,7]]},"602":{"position":[[10,7]]},"606":{"position":[[0,7]]},"608":{"position":[[0,7]]},"610":{"position":[[0,7]]},"612":{"position":[[0,7]]}}}],["solideditor",{"_index":144,"t":{"724":{"position":[[3,11]]}}}],["solidui",{"_index":59,"t":{"545":{"position":[[16,7]]},"578":{"position":[[0,7]]},"586":{"position":[[0,7]]},"602":{"position":[[0,7]]},"618":{"position":[[0,7]]},"659":{"position":[[16,7]]},"729":{"position":[[0,7]]},"731":{"position":[[0,7]]},"733":{"position":[[0,7]]},"735":{"position":[[0,7]]},"737":{"position":[[0,7]]},"739":{"position":[[0,7]]},"741":{"position":[[0,7]]},"743":{"position":[[0,7]]},"745":{"position":[[0,7]]},"755":{"position":[[4,7]]},"757":{"position":[[4,7]]},"759":{"position":[[4,7]]},"761":{"position":[[4,7]]},"763":{"position":[[4,7]]},"765":{"position":[[4,7]]},"767":{"position":[[4,7]]},"769":{"position":[[4,7]]},"771":{"position":[[4,7]]},"901":{"position":[[5,7]]}}}],["solidui_datasourc",{"_index":150,"t":{"729":{"position":[[0,18]]}}}],["solidui_datasource_typ",{"_index":152,"t":{"731":{"position":[[0,23]]}}}],["solidui_datasource_type_key",{"_index":154,"t":{"733":{"position":[[0,27]]}}}],["solidui_job_el",{"_index":157,"t":{"735":{"position":[[0,19]]}}}],["solidui_job_element_pag",{"_index":161,"t":{"737":{"position":[[0,24]]}}}],["solidui_job_pag",{"_index":162,"t":{"739":{"position":[[0,16]]}}}],["solidui_model_typ",{"_index":104,"t":{"659":{"position":[[16,18]]},"745":{"position":[[0,18]]}}}],["solidui_project",{"_index":163,"t":{"741":{"position":[[0,15]]}}}],["solidui_us",{"_index":165,"t":{"743":{"position":[[0,12]]}}}],["soliduimodelui",{"_index":186,"t":{"773":{"position":[[5,14]]},"826":{"position":[[12,14]]}}}],["solidview",{"_index":147,"t":{"726":{"position":[[3,9]]}}}],["spi",{"_index":182,"t":{"769":{"position":[[12,3]]}}}],["spiral",{"_index":47,"t":{"532":{"position":[[0,6]]}}}],["surfac",{"_index":43,"t":{"528":{"position":[[0,7]]}}}],["tag",{"_index":247,"t":{"849":{"position":[[0,3]]}}}],["token",{"_index":106,"t":{"659":{"position":[[35,5]]}}}],["type",{"_index":105,"t":{"659":{"position":[[30,4]]},"731":{"position":[[19,4]]},"733":{"position":[[19,4]]},"745":{"position":[[14,4]]}}}],["ui",{"_index":140,"t":{"721":{"position":[[5,2]]}}}],["user",{"_index":166,"t":{"743":{"position":[[8,4]]}}}],["version",{"_index":245,"t":{"847":{"position":[[31,7]]}}}],["web",{"_index":184,"t":{"771":{"position":[[12,3]]}}}],["websit",{"_index":74,"t":{"578":{"position":[[8,7]]}}}],["window",{"_index":34,"t":{"521":{"position":[[5,6]]},"525":{"position":[[5,6]]}}}],["word",{"_index":36,"t":{"523":{"position":[[7,5]]}}}],["三",{"_index":212,"t":{"799":{"position":[[0,1]]}}}],["下载",{"_index":92,"t":{"655":{"position":[[4,2]]},"673":{"position":[[4,2]]}}}],["中文",{"_index":303,"t":{"924":{"position":[[0,2]]}}}],["举办",{"_index":290,"t":{"912":{"position":[[0,2]]}}}],["事项",{"_index":123,"t":{"682":{"position":[[8,2]]}}}],["二",{"_index":200,"t":{"788":{"position":[[0,1]]}}}],["互动",{"_index":294,"t":{"914":{"position":[[0,2]]}}}],["交流",{"_index":192,"t":{"780":{"position":[[6,2]]},"914":{"position":[[3,2]]}}}],["产品",{"_index":6,"t":{"472":{"position":[[0,2]]},"626":{"position":[[0,2]]}}}],["什么",{"_index":275,"t":{"889":{"position":[[2,2]]}}}],["介绍",{"_index":20,"t":{"488":{"position":[[7,2]]},"606":{"position":[[7,2]]}}}],["价值",{"_index":289,"t":{"910":{"position":[[3,2]]}}}],["优先",{"_index":299,"t":{"920":{"position":[[0,2]]}}}],["作用",{"_index":21,"t":{"490":{"position":[[7,2]]},"608":{"position":[[7,2]]}}}],["使用",{"_index":283,"t":{"901":{"position":[[2,2]]}}}],["例如",{"_index":30,"t":{"507":{"position":[[0,2]]},"511":{"position":[[0,2]]},"592":{"position":[[0,2]]},"596":{"position":[[0,2]]}}}],["依赖",{"_index":237,"t":{"837":{"position":[[9,2]]}}}],["信息",{"_index":103,"t":{"659":{"position":[[10,2]]}}}],["修复",{"_index":191,"t":{"778":{"position":[[11,2]]}}}],["修改",{"_index":100,"t":{"659":{"position":[[4,2],[13,2]]},"689":{"position":[[4,2]]},"695":{"position":[[6,2]]},"809":{"position":[[6,2]]}}}],["元素",{"_index":160,"t":{"735":{"position":[[22,2]]},"737":{"position":[[27,2]]}}}],["全",{"_index":267,"t":{"876":{"position":[[2,1]]}}}],["共创",{"_index":296,"t":{"916":{"position":[[3,2]]}}}],["共建",{"_index":286,"t":{"908":{"position":[[4,2]]},"920":{"position":[[4,2]]}}}],["关于",{"_index":214,"t":{"800":{"position":[[4,2]]},"802":{"position":[[4,2]]}}}],["关联",{"_index":224,"t":{"811":{"position":[[4,2]]}}}],["关闭",{"_index":257,"t":{"859":{"position":[[0,2]]}}}],["其他",{"_index":199,"t":{"786":{"position":[[4,2]]}}}],["内容",{"_index":223,"t":{"809":{"position":[[8,2]]},"910":{"position":[[6,2]]}}}],["内涵",{"_index":11,"t":{"474":{"position":[[8,2]]},"628":{"position":[[8,2]]}}}],["写作",{"_index":304,"t":{"924":{"position":[[4,2]]}}}],["准备",{"_index":86,"t":{"651":{"position":[[5,2]]},"664":{"position":[[5,2]]},"682":{"position":[[6,2]]},"685":{"position":[[7,2]]},"687":{"position":[[7,2]]},"690":{"position":[[7,2]]},"693":{"position":[[4,2]]},"700":{"position":[[4,2]]},"705":{"position":[[2,2]]}}}],["分享",{"_index":288,"t":{"910":{"position":[[0,2]]}}}],["分支",{"_index":202,"t":{"789":{"position":[[4,2]]},"845":{"position":[[0,2]]},"847":{"position":[[8,2],[43,2]]},"851":{"position":[[15,2]]}}}],["分析",{"_index":77,"t":{"586":{"position":[[23,2]]},"602":{"position":[[21,2]]}}}],["列表",{"_index":13,"t":{"476":{"position":[[2,2]]},"630":{"position":[[2,2]]},"818":{"position":[[2,2]]}}}],["创建",{"_index":243,"t":{"847":{"position":[[11,2]]},"866":{"position":[[9,2]]}}}],["前端",{"_index":132,"t":{"699":{"position":[[2,2]]},"721":{"position":[[3,2]]},"828":{"position":[[4,2]]},"876":{"position":[[11,2]]}}}],["前置条件",{"_index":229,"t":{"821":{"position":[[2,4]]},"831":{"position":[[2,4]]},"869":{"position":[[2,4]]}}}],["前言",{"_index":218,"t":{"806":{"position":[[2,2]]}}}],["功能",{"_index":12,"t":{"476":{"position":[[0,2]]},"618":{"position":[[32,2]]},"630":{"position":[[0,2]]},"752":{"position":[[4,2]]},"780":{"position":[[4,2]]}}}],["包",{"_index":93,"t":{"655":{"position":[[8,1]]},"844":{"position":[[2,1]]},"854":{"position":[[4,1]]}}}],["参考",{"_index":228,"t":{"815":{"position":[[2,2]]}}}],["反馈",{"_index":190,"t":{"778":{"position":[[8,2]]}}}],["发布",{"_index":264,"t":{"865":{"position":[[2,2]]}}}],["发起",{"_index":254,"t":{"856":{"position":[[0,2]]}}}],["取",{"_index":96,"t":{"657":{"position":[[5,1]]},"675":{"position":[[5,1]]}}}],["取消",{"_index":259,"t":{"861":{"position":[[0,2],[9,2]]}}}],["可视化",{"_index":81,"t":{"618":{"position":[[12,3]]}}}],["合作",{"_index":295,"t":{"916":{"position":[[0,2]]}}}],["名字",{"_index":2,"t":{"468":{"position":[[2,2]]},"622":{"position":[[2,2]]}}}],["含义",{"_index":3,"t":{"468":{"position":[[4,2]]},"470":{"position":[[3,2]]},"622":{"position":[[4,2]]},"624":{"position":[[3,2]]}}}],["启动",{"_index":90,"t":{"653":{"position":[[22,2]]},"657":{"position":[[9,2]]},"671":{"position":[[12,2]]},"675":{"position":[[9,2]]},"692":{"position":[[8,2]]},"697":{"position":[[7,2]]},"702":{"position":[[4,2]]}}}],["图",{"_index":171,"t":{"747":{"position":[[3,1]]},"891":{"position":[[4,1]]}}}],["基于",{"_index":241,"t":{"847":{"position":[[0,2]]}}}],["如果",{"_index":25,"t":{"499":{"position":[[0,2]]},"515":{"position":[[0,2]]},"600":{"position":[[0,2]]},"616":{"position":[[0,2]]},"861":{"position":[[5,2]]}}}],["字",{"_index":108,"t":{"659":{"position":[[48,1]]}}}],["安装",{"_index":122,"t":{"682":{"position":[[4,2]]},"832":{"position":[[4,2]]},"837":{"position":[[4,2]]}}}],["安装包",{"_index":128,"t":{"690":{"position":[[4,3]]}}}],["实现",{"_index":193,"t":{"780":{"position":[[9,2]]}}}],["宣布",{"_index":261,"t":{"863":{"position":[[0,2]]}}}],["对应",{"_index":249,"t":{"851":{"position":[[5,2]]}}}],["工作",{"_index":131,"t":{"693":{"position":[[6,2]]},"700":{"position":[[6,2]]},"705":{"position":[[4,2]]},"735":{"position":[[20,2]]},"737":{"position":[[25,2]]},"739":{"position":[[18,2]]}}}],["常见问题",{"_index":137,"t":{"717":{"position":[[2,4]]}}}],["开创性",{"_index":82,"t":{"618":{"position":[[16,3]]}}}],["开发",{"_index":204,"t":{"791":{"position":[[4,2]]},"847":{"position":[[6,2]]}}}],["开始",{"_index":274,"t":{"887":{"position":[[2,2]]},"938":{"position":[[0,2]]}}}],["开源",{"_index":83,"t":{"618":{"position":[[19,2]]},"908":{"position":[[0,2]]}}}],["待发布",{"_index":242,"t":{"847":{"position":[[2,3]]}}}],["快速",{"_index":273,"t":{"887":{"position":[[0,2]]}}}],["思维",{"_index":7,"t":{"472":{"position":[[2,2]]},"626":{"position":[[2,2]]}}}],["总览",{"_index":142,"t":{"723":{"position":[[3,2]]},"750":{"position":[[5,2]]}}}],["感谢",{"_index":284,"t":{"905":{"position":[[0,2]]}}}],["成为",{"_index":26,"t":{"499":{"position":[[2,2]]},"515":{"position":[[2,2]]},"600":{"position":[[2,2]]},"616":{"position":[[2,2]]}}}],["我们",{"_index":282,"t":{"899":{"position":[[2,2]]}}}],["或者",{"_index":94,"t":{"655":{"position":[[9,2]]},"811":{"position":[[22,2]]}}}],["所得",{"_index":146,"t":{"724":{"position":[[30,2]]}}}],["所见即",{"_index":145,"t":{"724":{"position":[[27,3]]}}}],["手动",{"_index":134,"t":{"711":{"position":[[4,2]]}}}],["打包",{"_index":238,"t":{"839":{"position":[[5,2]]}}}],["投票",{"_index":255,"t":{"856":{"position":[[2,2]]},"857":{"position":[[2,2]]},"859":{"position":[[2,2]]},"861":{"position":[[2,2]]},"863":{"position":[[2,2]]}}}],["拉",{"_index":95,"t":{"657":{"position":[[4,1]]},"675":{"position":[[4,1]]}}}],["指引",{"_index":205,"t":{"791":{"position":[[6,2]]},"793":{"position":[[12,2]]},"795":{"position":[[23,2]]}}}],["按照",{"_index":130,"t":{"692":{"position":[[5,2]]}}}],["授权",{"_index":239,"t":{"842":{"position":[[0,2]]}}}],["接口",{"_index":138,"t":{"718":{"position":[[4,2]]}}}],["推荐",{"_index":91,"t":{"653":{"position":[[26,2]]},"671":{"position":[[16,2]]},"709":{"position":[[10,2]]}}}],["提交",{"_index":206,"t":{"793":{"position":[[10,2]]},"795":{"position":[[21,2]]}}}],["操作系统",{"_index":114,"t":{"667":{"position":[[0,4]]}}}],["支持",{"_index":110,"t":{"659":{"position":[[59,2]]}}}],["改进",{"_index":198,"t":{"784":{"position":[[6,2]]}}}],["数据库",{"_index":101,"t":{"659":{"position":[[6,3]]},"687":{"position":[[4,3]]}}}],["数据源",{"_index":14,"t":{"478":{"position":[[0,3]]},"632":{"position":[[0,3]]},"729":{"position":[[19,3]]},"731":{"position":[[24,3]]},"733":{"position":[[28,3]]},"929":{"position":[[0,3]]}}}],["文",{"_index":277,"t":{"891":{"position":[[2,1]]}}}],["文档",{"_index":197,"t":{"784":{"position":[[4,2]]},"815":{"position":[[4,2]]},"895":{"position":[[0,2]]},"924":{"position":[[2,2]]}}}],["方式",{"_index":89,"t":{"653":{"position":[[20,2]]},"671":{"position":[[10,2]]}}}],["明确",{"_index":222,"t":{"809":{"position":[[4,2]]}}}],["服务",{"_index":98,"t":{"657":{"position":[[11,2]]},"661":{"position":[[6,2]]},"675":{"position":[[11,2]]},"677":{"position":[[6,2]]},"679":{"position":[[6,2]]},"940":{"position":[[2,2]]}}}],["服务器",{"_index":125,"t":{"683":{"position":[[10,3]]}}}],["服务端",{"_index":129,"t":{"692":{"position":[[2,3]]},"697":{"position":[[4,3]]},"824":{"position":[[4,3]]},"826":{"position":[[4,3]]},"874":{"position":[[2,3]]},"876":{"position":[[7,3]]}}}],["本地",{"_index":250,"t":{"851":{"position":[[18,2]]}}}],["条款",{"_index":287,"t":{"908":{"position":[[6,2]]}}}],["构建",{"_index":230,"t":{"823":{"position":[[4,2]]},"824":{"position":[[9,2]]},"826":{"position":[[9,2]]},"828":{"position":[[8,2]]}}}],["架构",{"_index":143,"t":{"723":{"position":[[5,2]]},"750":{"position":[[3,2]]}}}],["查看",{"_index":117,"t":{"677":{"position":[[4,2]]}}}],["标准",{"_index":211,"t":{"797":{"position":[[11,2]]}}}],["核心",{"_index":271,"t":{"885":{"position":[[0,2]]}}}],["格式",{"_index":227,"t":{"813":{"position":[[7,2]]}}}],["模块",{"_index":141,"t":{"721":{"position":[[7,2]]},"752":{"position":[[2,2]]}}}],["模型",{"_index":168,"t":{"745":{"position":[[20,2]]},"891":{"position":[[7,2]]}}}],["正式",{"_index":263,"t":{"865":{"position":[[0,2]]}}}],["段",{"_index":109,"t":{"659":{"position":[[49,1]]}}}],["注意事项",{"_index":135,"t":{"715":{"position":[[2,4]]}}}],["活动",{"_index":293,"t":{"912":{"position":[[7,2]]}}}],["流程",{"_index":201,"t":{"788":{"position":[[4,2]]},"818":{"position":[[0,2]]},"879":{"position":[[4,2]]},"893":{"position":[[5,2]]}}}],["测试代码",{"_index":22,"t":{"493":{"position":[[8,4]]},"610":{"position":[[8,4]]}}}],["源码",{"_index":78,"t":{"602":{"position":[[19,2]]},"655":{"position":[[11,2]]},"673":{"position":[[6,2]]},"754":{"position":[[2,2]]},"834":{"position":[[4,2]]},"872":{"position":[[4,2]]}}}],["版本",{"_index":10,"t":{"474":{"position":[[6,2]]},"618":{"position":[[24,2]]},"628":{"position":[[6,2]]},"659":{"position":[[57,2]]},"826":{"position":[[33,2]]},"866":{"position":[[7,2]]}}}],["版本号",{"_index":251,"t":{"853":{"position":[[0,3]]}}}],["物料",{"_index":240,"t":{"844":{"position":[[0,2]]},"854":{"position":[[2,2]]}}}],["特点",{"_index":272,"t":{"885":{"position":[[2,2]]}}}],["状态",{"_index":118,"t":{"677":{"position":[[8,2]]}}}],["独立",{"_index":28,"t":{"505":{"position":[[0,2]]},"586":{"position":[[10,2]]},"590":{"position":[[0,2]]}}}],["环境",{"_index":85,"t":{"651":{"position":[[3,2]]},"664":{"position":[[3,2]]},"665":{"position":[[2,2]]},"669":{"position":[[2,2]]},"870":{"position":[[4,2]]},"918":{"position":[[2,2]]}}}],["生",{"_index":278,"t":{"891":{"position":[[3,1]]}}}],["生成",{"_index":80,"t":{"618":{"position":[[10,2]]}}}],["用户",{"_index":167,"t":{"743":{"position":[[13,2]]}}}],["登录",{"_index":4,"t":{"470":{"position":[[0,2]]},"624":{"position":[[0,2]]},"713":{"position":[[2,2]]},"927":{"position":[[0,2]]}}}],["相应",{"_index":225,"t":{"811":{"position":[[6,2]]}}}],["研",{"_index":276,"t":{"891":{"position":[[1,1]]}}}],["硬件",{"_index":115,"t":{"669":{"position":[[0,2]]}}}],["确认",{"_index":252,"t":{"853":{"position":[[3,2]]}}}],["社区",{"_index":76,"t":{"586":{"position":[[7,2]]},"602":{"position":[[7,2]]},"857":{"position":[[0,2]]},"908":{"position":[[2,2]]}}}],["端口",{"_index":120,"t":{"677":{"position":[[18,2]]}}}],["答疑",{"_index":196,"t":{"782":{"position":[[10,2]]}}}],["管理",{"_index":15,"t":{"478":{"position":[[3,2]]},"632":{"position":[[3,2]]},"729":{"position":[[22,2]]},"743":{"position":[[15,2]]},"929":{"position":[[3,2]]}}}],["类型",{"_index":153,"t":{"731":{"position":[[27,2]]},"733":{"position":[[31,2]]},"745":{"position":[[22,2]]}}}],["线",{"_index":291,"t":{"912":{"position":[[2,1]]}}}],["线下",{"_index":292,"t":{"912":{"position":[[5,2]]}}}],["线程",{"_index":258,"t":{"859":{"position":[[4,2]]}}}],["结构",{"_index":203,"t":{"789":{"position":[[6,2]]}}}],["结果",{"_index":262,"t":{"863":{"position":[[4,2]]}}}],["结语",{"_index":24,"t":{"497":{"position":[[0,2]]},"513":{"position":[[0,2]]},"598":{"position":[[0,2]]},"614":{"position":[[0,2]]},"881":{"position":[[0,2]]}}}],["统一",{"_index":226,"t":{"813":{"position":[[4,2]]}}}],["编译",{"_index":235,"t":{"836":{"position":[[2,2]]},"874":{"position":[[5,2]]},"876":{"position":[[4,2]]}}}],["联系",{"_index":281,"t":{"899":{"position":[[0,2]]}}}],["背景",{"_index":0,"t":{"466":{"position":[[0,2]]},"486":{"position":[[0,2]]},"503":{"position":[[0,2]]},"588":{"position":[[0,2]]},"604":{"position":[[0,2]]},"620":{"position":[[0,2]]}}}],["自动化",{"_index":133,"t":{"709":{"position":[[4,3]]}}}],["范畴",{"_index":188,"t":{"777":{"position":[[4,2]]}}}],["获取",{"_index":234,"t":{"834":{"position":[[6,2]]},"872":{"position":[[6,2]]}}}],["行为准则",{"_index":302,"t":{"922":{"position":[[2,4]]}}}],["表",{"_index":102,"t":{"659":{"position":[[9,1],[15,1]]}}}],["要求",{"_index":266,"t":{"870":{"position":[[6,2]]}}}],["规范",{"_index":305,"t":{"924":{"position":[[6,2]]}}}],["解决",{"_index":300,"t":{"920":{"position":[[2,2]]}}}],["解答",{"_index":269,"t":{"879":{"position":[[0,2]]}}}],["讲解",{"_index":84,"t":{"618":{"position":[[34,2]]},"754":{"position":[[4,2]]}}}],["设置",{"_index":156,"t":{"733":{"position":[[33,2]]},"745":{"position":[[24,2]]}}}],["设计",{"_index":17,"t":{"482":{"position":[[0,2]]},"636":{"position":[[0,2]]},"724":{"position":[[25,2]]},"933":{"position":[[0,2]]}}}],["访问",{"_index":112,"t":{"661":{"position":[[4,2]]},"679":{"position":[[4,2]]},"940":{"position":[[0,2]]}}}],["试用",{"_index":297,"t":{"918":{"position":[[0,2]]}}}],["语言",{"_index":279,"t":{"891":{"position":[[5,2]]}}}],["贡献",{"_index":187,"t":{"777":{"position":[[2,2]]},"788":{"position":[[2,2]]},"799":{"position":[[2,2]]},"897":{"position":[[0,2]]}}}],["贡献者",{"_index":27,"t":{"499":{"position":[[4,3]]},"515":{"position":[[4,3]]},"600":{"position":[[4,3]]},"616":{"position":[[4,3]]}}}],["资源共享",{"_index":298,"t":{"918":{"position":[[5,4]]}}}],["赞助",{"_index":285,"t":{"905":{"position":[[3,2]]}}}],["超时",{"_index":139,"t":{"718":{"position":[[6,2]]}}}],["软件",{"_index":113,"t":{"665":{"position":[[0,2]]}}}],["进阶",{"_index":213,"t":{"799":{"position":[[4,2]]}}}],["通信",{"_index":23,"t":{"495":{"position":[[7,2]]},"505":{"position":[[4,2]]},"509":{"position":[[9,2]]},"586":{"position":[[21,2]]},"590":{"position":[[4,2]]},"594":{"position":[[9,2]]},"602":{"position":[[17,2]]},"612":{"position":[[7,2]]}}}],["遵守",{"_index":301,"t":{"922":{"position":[[0,2]]}}}],["部署",{"_index":29,"t":{"505":{"position":[[2,2]]},"509":{"position":[[7,2]]},"586":{"position":[[12,2]]},"590":{"position":[[2,2]]},"594":{"position":[[7,2]]},"655":{"position":[[6,2]]},"699":{"position":[[4,2]]},"707":{"position":[[2,2]]},"709":{"position":[[7,2]]},"711":{"position":[[6,2]]}}}],["配置",{"_index":127,"t":{"689":{"position":[[2,2]]},"695":{"position":[[4,2]]}}}],["重构",{"_index":194,"t":{"780":{"position":[[12,2]]}}}],["量",{"_index":268,"t":{"876":{"position":[[3,1]]}}}],["镜像",{"_index":97,"t":{"657":{"position":[[6,2]]},"675":{"position":[[6,2]]},"823":{"position":[[2,2]]},"824":{"position":[[7,2]]},"826":{"position":[[7,2]]},"828":{"position":[[6,2]]}}}],["问题",{"_index":270,"t":{"879":{"position":[[2,2]]}}}],["阶段",{"_index":256,"t":{"857":{"position":[[4,2]]}}}],["需要",{"_index":260,"t":{"861":{"position":[[7,2]]}}}],["页",{"_index":5,"t":{"470":{"position":[[2,1]]},"624":{"position":[[2,1]]}}}],["页面",{"_index":18,"t":{"482":{"position":[[2,2]]},"636":{"position":[[2,2]]},"737":{"position":[[29,2]]},"739":{"position":[[20,2]]}}}],["项目",{"_index":1,"t":{"468":{"position":[[0,2]]},"618":{"position":[[21,2]]},"622":{"position":[[0,2]]},"839":{"position":[[7,2]]}}}],["项目管理",{"_index":16,"t":{"480":{"position":[[0,4]]},"634":{"position":[[0,4]]},"741":{"position":[[16,4]]},"931":{"position":[[0,4]]}}}],["首次",{"_index":121,"t":{"682":{"position":[[2,2]]}}}],["验证",{"_index":253,"t":{"854":{"position":[[0,2]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":465,"t":"背景​ 随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 https://github.com/CloudOrc/SolidUI","s":"SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"","p":464},{"i":467,"t":"随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 https://github.com/CloudOrc/SolidUI","s":"背景","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#背景","p":464},{"i":469,"t":"SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。","s":"项目名字含义","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#项目名字含义","p":464},{"i":471,"t":"登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。","s":"登录页含义","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#登录页含义","p":464},{"i":473,"t":"“少就是多” 少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。","s":"产品思维","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#产品思维","p":464},{"i":475,"t":"这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。","s":"0.1.0 版本内涵","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#010-版本内涵","p":464},{"i":477,"t":"下面介绍下整个第一个版本功能列表。","s":"功能列表","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#功能列表","p":464},{"i":479,"t":"显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* 成功添加MySQL数据源,并在数据源列表中显示。 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。 数据源过期:可以将选中的数据源设置为过期状态。","s":"数据源管理","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#数据源管理","p":464},{"i":481,"t":"添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。 查询项目列表:通过输入项目名称,可以查询并输出项目列表。 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。 项目预览","s":"项目管理","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#项目管理","p":464},{"i":483,"t":"场景,增加,修改,删除,重命名。 页,增加,修改,删除,重命名。 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。","s":"设计页面","u":"/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0","h":"#设计页面","p":464},{"i":485,"t":"背景​ 随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 项目地址: https://github.com/CloudOrc/SolidUI 项目镜像地址: https://gitee.com/CloudOrc/SolidUI","s":"SolidUI社区-Snakemq通信源码分析","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"","p":484},{"i":487,"t":"随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 项目地址: https://github.com/CloudOrc/SolidUI 项目镜像地址: https://gitee.com/CloudOrc/SolidUI","s":"背景","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#背景","p":484},{"i":489,"t":"SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。 SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。","s":"Snakemq介绍","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#snakemq介绍","p":484},{"i":492,"t":"轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。 SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq","s":"SolidUI社区-Snakemq通信源码分析","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"","p":484},{"i":494,"t":"Snakemq client.py import snakemq.link import snakemq.packeter import snakemq.messaging import snakemq.rpc import time import json import logging logging.basicConfig(format=\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\") logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) console_handler = logging.StreamHandler() console_handler.setLevel(logging.INFO) logger.addHandler(console_handler) logger.setLevel(logging.INFO) fh = logging.FileHandler('app.log') logger.addHandler(fh) link = snakemq.link.Link() packeter = snakemq.packeter.Packeter(link) messaging = snakemq.messaging.Messaging(\"client\", \"\", packeter) connector = (\"server\", 8765) link.add_connector(connector) def on_connect(connector_id): logger.info(f\"Connected to: {connector_id}\") link.on_connect.add(on_connect) def on_disconnect(connector_id): logger.info(f\"已断开: {connector_id}\") link.on_disconnect.add(on_disconnect) def on_recv(conn, ident, message): logger.info(f\"client接收到: {message.data}, 来自: {ident}\") messaging.on_message_recv.add(on_recv) message = snakemq.message.Message(json.dumps({\"type\": \"status\", \"value\": \"ready\"}).encode(\"utf-8\"), ttl=600) messaging.send_message(\"server\", message) while True: link.loop() time.sleep(0.1) Snakemq server.py import snakemq.link import snakemq.packeter import snakemq.messaging import snakemq.rpc import time import json import logging logging.basicConfig(format=\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\") logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) console_handler = logging.StreamHandler() console_handler.setLevel(logging.INFO) logger.addHandler(console_handler) logger.setLevel(logging.INFO) fh = logging.FileHandler('app.log') logger.addHandler(fh) link = snakemq.link.Link() packeter = snakemq.packeter.Packeter(link) messaging = snakemq.messaging.Messaging(\"server\", \"\", packeter) link.add_listener((\"0.0.0.0\", 8765)) def on_recv(conn, ident, message): logger.info(f\"server接收到: {message.data}, 来自: {ident}\") messaging.on_message_recv.add(on_recv) message = snakemq.message.Message(json.dumps( {\"type\": \"execute\", \"value\": \"abc\"}).encode(\"utf-8\"), ttl=600) messaging.send_message(\"client\", message) # Main loop while True: link.loop() time.sleep(0.1) Dockerfile FROM python:3.8 WORKDIR /opt/snaketmq-test RUN pip install snakemq RUN python -c \"import snakemq; print(snakemq.__file__); print(dir(snakemq))\" COPY . . CMD [\"python\", \"server.py\"] Dockerfile build & run docker build -t snaketmq-test . docker network create mynet docker run -d --name server --network mynet snaketmq-test docker run --network mynet snaketmq-test python client.py","s":"Snakemq 测试代码","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#snakemq-测试代码","p":484},{"i":496,"t":"注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener((\"0.0.0.0\", 8765)) 这行代码 server: 表示SnakeMQ的服务器实例。 link: server中的link属性,表示网络连接管理器。 add_listener: 向link中添加一个监听器。 (\"0.0.0.0\", 8765): 监听的地址和端口。\"0.0.0.0\"表示监听所有网卡地址,\"8765\"表示监听8765端口。 client connector = (\"server\", 8765) link.add_connector(connector) 这行代码 connector = (\"server\", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址\"server\"和端口8765。 link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。","s":"Snakemq通信","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#snakemq通信","p":484},{"i":498,"t":"本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。","s":"结语","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#结语","p":484},{"i":500,"t":"官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; 其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;","s":"如果成为贡献者","u":"/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysis","h":"#如果成为贡献者","p":484},{"i":502,"t":"背景​ 随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 项目地址: https://github.com/CloudOrc/SolidUI 项目镜像地址: https://gitee.com/CloudOrc/SolidUI","s":"SolidUI社区-独立部署和Docker通信分析","u":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","h":"","p":501},{"i":504,"t":"随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 项目地址: https://github.com/CloudOrc/SolidUI 项目镜像地址: https://gitee.com/CloudOrc/SolidUI","s":"背景","u":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","h":"#背景","p":501},{"i":506,"t":"单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。 单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。","s":"独立部署通信","u":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","h":"#独立部署通信","p":501},{"i":508,"t":"如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。 设置 Snakemq 通信 soliduimodelui/.env SNAKEMQ_LISTENER server 监听器 ,设置内网ip soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip","s":"例如","u":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","h":"#例如","p":501},{"i":510,"t":"容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。","s":"Docker 部署通信","u":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","h":"#docker-部署通信","p":501},{"i":512,"t":"数据库连接 在docker-compose.yml 中,设置了Mysql数据库名称为mysql 所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost soliduimodelui/.env DB_HOST mysql 替换 localhost soliduimodelui/.env Snakemq 通信 soliduimodelui/.env SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0 soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui","s":"例如","u":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","h":"#例如-1","p":501},{"i":514,"t":"本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。","s":"结语","u":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","h":"#结语","p":501},{"i":516,"t":"官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; 其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;","s":"如果成为贡献者","u":"/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysis","h":"#如果成为贡献者","p":501},{"i":518,"t":"Background​ With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation. Project URL: https://github.com/CloudOrc/SolidUI Project mirror URL: https://gitee.com/CloudOrc/SolidUI Community official website: https://cloudorc.github.io/SolidUI-Website/ Join the group: https://discord.gg/NGRNu2mGeQ","s":"SolidUI generates any graphics in one sentence, v0.2.0 function introduction","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"","p":517},{"i":520,"t":"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation. Project URL: https://github.com/CloudOrc/SolidUI Project mirror URL: https://gitee.com/CloudOrc/SolidUI Community official website: https://cloudorc.github.io/SolidUI-Website/ Join the group: https://discord.gg/NGRNu2mGeQ","s":"Background","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#background","p":517},{"i":522,"t":"One of the three main modules in SolidUI, the Model Agent, supports a variety of model APIs (ChatGLM, GPT3.5, GPT4, etc.). The Model Agent can dynamically add various models. The chat window interacts with the Model Agent, generating any graphics with a single sentence for display.","s":"Chat Window","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#chat-window","p":517},{"i":524,"t":"The principle of prompt words is referred to in the collection of prompt words on the SolidUI public account. The input data can be manually input or automatically generated, combined with text prompt words.","s":"Prompt Words","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#prompt-words","p":517},{"i":527,"t":"\\[{\"x\":\"A\",\"y\":5},{\"x\":\"B\",\"y\":8},{\"x\":\"C\",\"y\":12},{\"x\":\"D\",\"y\":6},{\"x\":\"E\",\"y\":15},{\"x\":\"F\",\"y\":10}\\] Generate a bar chart","s":"Input data format for bar chart","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#input-data-format-for-bar-chart","p":517},{"i":529,"t":"Prompt 1 Generate a simple 3D surface graph. Prompt 2 Generate a 3D surface graph, where x and y are a grid of 100 points from -5 to 5, and z is the sine of (x^2 + y^2)^(1/2). Use the 'viridis' color map and display the graph. Prompt 3 Create a 3D surface graph, where x and y range from -5 to 5, and z is the corresponding sine of (x^2 + y^2)^(1/2). Set the graph's color map to 'viridis', and set specific size and margins, finally display the graph. Prompt 4 Generate and display an interactive 3D surface graph, where the z value of the surface is the sine of the square root of the sum of x and y's squares.","s":"Surface Graph","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#surface-graph","p":517},{"i":531,"t":"Prompt 1 Generate a 3D scatter plot, where x, y, and z coordinates are 100 points randomly generated from a standard normal distribution. Prompt 2 A 3D scatter plot has been created, where each point's color is based on a random series, colors are rendered through a hot colormap, and a color bar is attached to represent the correspondence between colors and values. Prompt 3 A 3D scatter plot was generated with 200 points of size 6, where the coordinates of each point are based on a trivariate normal distribution.","s":"Scatter Plot","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#scatter-plot","p":517},{"i":533,"t":"Prompt 1 Draw a spiral line in a 3D graph.","s":"Spiral Line","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#spiral-line","p":517},{"i":535,"t":"Prompt 1 A pie chart is represented in five colors (gold, yellow-green, light coral, light sky blue, purple), where the sizes of the portions are 215, 130, 245, 210, 300 respectively, labeled as 'A', 'B', 'C', 'D', 'E', and the percentage of each portion is displayed in the corresponding area. The starting angle is 140 degrees.","s":"Pie Chart","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#pie-chart","p":517},{"i":537,"t":"Prompt 1 Download the Stanford Bunny model from \"https://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj\" and use the trimesh library to load and display this model. https://faculty.cc.gatech.edu/~turk/bunny/bunny.html","s":"Bunny Modeling","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#bunny-modeling","p":517},{"i":539,"t":"Prompt 1 Create a map, download link","s":"Map","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#map","p":517},{"i":542,"t":"Manage the layout of generated graphics, divided by scenes and pages.","s":"Page Layout","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#page-layout","p":517},{"i":544,"t":"Click on the project preview or Design Page -> Scene -> Page preview","s":"Preview","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#preview","p":517},{"i":546,"t":"For this situation, the SolidUI community has clear future plans. First, the community will focus on the development of the chat framework to better serve users. Secondly, the community will develop model agent APIs to better integrate various artificial intelligence models. Finally, the community will continue to research visualization models to convert text descriptions into graphics. This is what SolidUI always says in every weekly meeting, that its business boundaries only focus on these three areas. Overall, whether facing market difficulties or technical challenges, the SolidUI community has shown a firm determination and clear planning. We look forward to the SolidUI community bringing more innovation and value to users in future development.","s":"Future Plans of SolidUI Community","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#future-plans-of-solidui-community","p":517},{"i":548,"t":"Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54 Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12 Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10 Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.; Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;","s":"How to Become a Contributor","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introduction","h":"#how-to-become-a-contributor","p":517},{"i":550,"t":"Background​ With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation. Project URL: https://github.com/CloudOrc/SolidUI Project mirror URL: https://gitee.com/CloudOrc/SolidUI Community official website: https://cloudorc.github.io/SolidUI-Website/ Join the group: https://discord.gg/NGRNu2mGeQ","s":"Version Update | SolidUI 0.2.0 Release","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","h":"","p":549},{"i":552,"t":"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools, including 2D, 3D, and 3D scenes, for rapid construction of three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to realize the function of generating graphics from text. By building its own language model for generating graphics from text, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to realize the process from text description to graphics generation. Project URL: https://github.com/CloudOrc/SolidUI Project mirror URL: https://gitee.com/CloudOrc/SolidUI Community official website: https://cloudorc.github.io/SolidUI-Website/ Join the group: https://discord.gg/NGRNu2mGeQ","s":"Background","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","h":"#background","p":549},{"i":555,"t":"Design features, scene and page optimization Project Preview Design features, preview page Support for GPT-like model proxy Support for ChatGLM-like model proxy Support Hugging Face Spaces plugin, provide trial function Support for the ESLint code check tool Design page delete graphic optimization Login page, logout optimization Support for chat window interaction Support for the official website, internationalization Support for the official website, UI optimization Support for the official website, overview optimization Support for the official website, Blog optimization Support for the official website, all documents optimization Support for the official website, framework migration","s":"Features","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","h":"#features","p":549},{"i":557,"t":"Independent deployment related scripts docker-compose","s":"Deployment","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","h":"#deployment","p":549},{"i":559,"t":"All co-builders list ESLint & Prettier code specifications SolidUI AI-generated visualization, 0.1.0 version module division and source code explanation SolidUI community - Snakemq communication source code analysis Centos7.9 offline deployment of ChatGLM-6B SolidUI community - Independent deployment and Docker communication analysis SolidUI community - Introduction to the official website SolidUI community - Thinking from the perspective of the open-source community about Apple's removal of multiple ChatGPT apps SolidUI community - FAQ problem-solving process SolidUI community - General Prompt technique SolidUI community - Prompt design SolidUI community - Building a character based on Prompts SolidUI community - AI model proxy SolidUI community - Chain of Thought (CoT) in Prompts SolidUI community - Prompt self-consistency SolidUI community - Discord SolidUI - Generate any graphics with a single sentence, v0.2.0 feature introduction","s":"Documentation","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","h":"#documentation","p":549},{"i":561,"t":"This version overview: https://github.com/CloudOrc/SolidUI/releases/tag/release-0.2.0-rc1 Demo environment: http://www.solidui.top/ Quick Start: https://cloudorc.github.io/SolidUI-Website/docs/user-guide/quick-start/ Tutorial: https://www.youtube.com/watch?v=d55nVfW1KYY&t=10s Welcome users to fill in: https://github.com/CloudOrc/SolidUI/issues/1 Join the group: https://discord.gg/NGRNu2mGeQ","s":"Detailed Guide","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","h":"#detailed-guide","p":549},{"i":563,"t":"The release of SolidUI v0.2.0 would not be possible without the contributors from the SolidUI community. We thank all the community contributors, including but not limited to the following Contributors (in no particular order) dlimeng nutsjian jacktao007 15100399015 ziyu211 limingoo hgfdsa101","s":"Contributors","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","h":"#contributors","p":549},{"i":565,"t":"Official document contribution. Discovering deficiencies in documents, optimizing documents, continuously updating documents, etc. to participate in community contributions. Through document contribution, developers can familiarize themselves with how to submit PRs and truly participate in community construction. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54 Code contribution. We have sorted out simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute to the code. Please check the newbie task list: https://github.com/CloudOrc/SolidUI/issues/12 Content contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practice, etc., in any form, please submit to the little helper. For example: https://github.com/CloudOrc/SolidUI/issues/10 Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc.; Others: Actively participate in community activities, become community volunteers, help community publicity, provide effective suggestions for community development, etc.;","s":"How to Become a Contributor","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Release","h":"#how-to-become-a-contributor","p":549},{"i":567,"t":"Background​ With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation. Project link: https://github.com/CloudOrc/SolidUI Project mirror link: https://gitee.com/CloudOrc/SolidUI Community official website: https://cloudorc.github.io/SolidUI-Website/ Official website project address:https://github.com/CloudOrc/SolidUI-Website","s":"SolidUI Community - Official Website Introduction","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"","p":566},{"i":569,"t":"With the rise of language models for generating images from text, SolidUI aims to help people quickly build visualization tools. The visualization content includes 2D, 3D, and 3D scenes, thus quickly constructing three-dimensional data demonstration scenes. SolidUI is an innovative project that aims to combine natural language processing (NLP) with computer graphics to achieve text-to-graphic functions. By building its own text-to-graphic language model, SolidUI uses the RLHF (Reinforcement Learning Human Feedback) process to implement the process from text description to graphic generation. Project link: https://github.com/CloudOrc/SolidUI Project mirror link: https://gitee.com/CloudOrc/SolidUI Community official website: https://cloudorc.github.io/SolidUI-Website/ Official website project address:https://github.com/CloudOrc/SolidUI-Website","s":"Background","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"#background","p":566},{"i":571,"t":"The SolidUI official website serves as a hub for users to access basic information and latest updates about SolidUI. The website is divided into several sections: Document: This is where SolidUI's documentation is located, where users can find detailed product use guides and related materials, including user guides, development, deployment, operation, and test cases. Download: Users can download the latest version of SolidUI here. Releases: The release records of SolidUI can be found here, where users can view all version release and update information. Community: This is the community page of SolidUI where users can participate in discussions, share experiences, or seek help. Code of conduct: This is the code of conduct for the SolidUI community, providing an environment of mutual respect for community members. Become A Committer: A page for developers to submit code or become project contributors. Documentation Notice: Notices or updates about SolidUI's documentation. Submit Code: A page for submitting code where users can submit their own code for the SolidUI project. Team: Page introducing the SolidUI team members. Users: A page showcasing SolidUI users or customers, thanking partners for their participation. Our Users: A page likely introducing SolidUI's user groups. Blog: The SolidUI blog, where users can read the latest articles about SolidUI. Official website: https://cloudorc.github.io/SolidUI-Website/ Official website project address:https://github.com/CloudOrc/SolidUI-Website","s":"Introduction","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"#introduction","p":566},{"i":573,"t":"Based on the official website project address, you can submit Issues and PRs for joint construction, with PRs submitted to the dev branch.","s":"How to Contribute","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"#how-to-contribute","p":566},{"i":575,"t":"For documentation contributions, both Chinese and English versions need to be submitted as the official website supports internationalization. Submit an Issue First, visit the main page of the SolidUI-Website project. In the top menu bar of the project, click \"Issues\". Click the \"New issue\" button in the upper right corner. Enter the title and description of your Issue on the page that appears. When you're done, click \"Submit new issue\". Submit a Pull Request Before submitting a Pull Request, you need to first fork the project and make changes on your branch. Here are the steps: On the main page of the SolidUI-Website project, click the \"Fork\" button in the upper right corner. In your forked version, select or create the branch you want to modify. In this case, you should select or create a \"dev\" branch. Make the required changes on your branch. When you have completed the changes and submitted them to your GitHub repository, return to the main page of the SolidUI-Website project. Click \"Pull requests\", then click \"New pull request\". Click \"compare across forks\" and choose your fork and your \"dev\" branch. Confirm your changes, then click \"Create pull request\". Provide a title and description for your PR on the opened page, then click \"Create pull request\".","s":"Example","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"#example","p":566},{"i":577,"t":"Please note that the SolidUI-Doc community documentation project is no longer maintained. Future documentation resources will be maintained on the official website project. We've introduced the SolidUI official website and how to submit Issues and PRs on GitHub. SolidUI is an AI-generated visualization prototyping and editing platform that supports 2D, 3D models, and is combined with a Large Language Model (LLM) for quick editing. Participating in SolidUI's development, you can contribute by submitting Issues and PRs. Issues are used to report bugs or propose new feature suggestions, while PRs are used to submit your own code changes. When submitting a PR, you should first create or select an appropriate development branch (such as the dev branch) in your forked repository, then make changes on that branch. After completing the changes, you can create a PR, requesting to merge your changes into the original project. Whether you are a user of SolidUI or a developer hoping to contribute, we welcome you to submit Issues and PRs on GitHub to jointly promote the development of SolidUI.","s":"Conclusion","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"#conclusion","p":566},{"i":579,"t":"The release of the SolidUI-Website official website would not have been possible without the contributors of the SolidUI community. Thanks to all community contributors, including but not limited to the following Contributors (ranked in no particular order): dlimeng 15100399015 limingoo","s":"SolidUI-Website Contributors","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"#solidui-website-contributors","p":566},{"i":581,"t":"Thanks to the streampark-website for providing framework support.","s":"Acknowledgments","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"#acknowledgments","p":566},{"i":583,"t":"Here are some ways to contribute to the SolidUI community. Contribute to Official Documentation: Discover deficiencies in the documentation, optimize the documentation, and continually update the documentation to contribute to the community. By contributing to the documentation, developers can familiarize themselves with how to submit PRs and truly participate in community building. Reference strategy: https://github.com/CloudOrc/SolidUI/discussions/54 Contribute Code: We have combed through simple and easy-to-start tasks in the community, which are very suitable for newcomers to contribute code. Please check the newcomer task list: https://github.com/CloudOrc/SolidUI/issues/12 Content Contribution: Publish content related to SolidUI open source components, including but not limited to installation and deployment tutorials, usage experience, case practices, etc. The form is not limited, please contribute to the assistant. For example: https://github.com/CloudOrc/SolidUI/issues/10 Community Q&A: Actively answer questions in the community, share technology, help developers solve problems, etc. Others: Actively participate in community activities, become a community volunteer, help community publicity, provide effective suggestions for community development, etc.","s":"How to Become a Contributor","u":"/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introduction","h":"#how-to-become-a-contributor","p":566},{"i":587,"t":"2023年7月3日 · 阅读需 4 分钟","s":"SolidUI社区-独立部署和Docker通信分析","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"","p":585},{"i":589,"t":"随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 项目地址: https://github.com/CloudOrc/SolidUI 项目镜像地址: https://gitee.com/CloudOrc/SolidUI","s":"背景","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#背景","p":585},{"i":591,"t":"单独部署,与外网通信,这块不难只有相应公网,就可以正常访问。 单独部署,内部进程间通信,如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应。","s":"独立部署通信","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#独立部署通信","p":585},{"i":593,"t":"如果有多个网卡,ip addr 涉及多个ip ,需要设置内网ip 或者域名 ,去一一对应,没有的话用127.0.0.1 就可以。 设置 Snakemq 通信 soliduimodelui/.env SNAKEMQ_LISTENER server 监听器 ,设置内网ip soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置内网ip","s":"例如","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#例如","p":585},{"i":595,"t":"容器化部署,在此我简化描述,不带容器管理框架描述,因为通信最根本的明白后,其它在框架中也就明白了,外部通信,开放端口 ,内部通信,通过设置网段名称,不同容器通信,通过容器名称进行。","s":"Docker 部署通信","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#docker-部署通信","p":585},{"i":597,"t":"数据库连接 在docker-compose.yml 中,设置了Mysql数据库名称为mysql 所以solidui-entrance application.yaml 中 datasource.url mysql 替换 localhost soliduimodelui/.env DB_HOST mysql 替换 localhost soliduimodelui/.env Snakemq 通信 soliduimodelui/.env SNAKEMQ_LISTENER server 监听器 ,设置0.0.0.0 soliduimodelui/.env SNAKEMQ_CONNECTOR 与server 连接ip ,设置soliduimodelui","s":"例如","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#例如-1","p":585},{"i":599,"t":"本文通过讲解独立部署 和 Docker 通信分析 ,告诉部署设置ip时候方式,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。","s":"结语","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#结语","p":585},{"i":601,"t":"官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; 其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;","s":"如果成为贡献者","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#如果成为贡献者","p":585},{"i":603,"t":"2023年7月2日 · 阅读需 7 分钟","s":"SolidUI社区-Snakemq通信源码分析","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"","p":585},{"i":605,"t":"随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 项目地址: https://github.com/CloudOrc/SolidUI 项目镜像地址: https://gitee.com/CloudOrc/SolidUI","s":"背景","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#背景","p":585},{"i":607,"t":"SnakeMQ是一个轻量级的消息队列(MQ)系统,主要用于在Python中实现异步任务队列和消息传递。 SolidUI 模型代理模块(soliduimodelui) 用到Snakemq , 涉及到内部通信时候,如果client 和server 不一一对应,通信就有问题,虽然日志不报错,但是不回返回结果,本文主要讲相关通信问题,为后续共建伙伴提供解决思路。","s":"Snakemq介绍","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#snakemq介绍","p":585},{"i":609,"t":"轻量级和易于使用 - SnakeMQ使用纯Python编写,无任何外部依赖,可以很容易地在任何Python项目中集成使用。 支持主流协议 - SnakeMQ实现了STOMP和AMQP等主流的MQ协议。 多种消息模型 - 支持发布-订阅、工作队列、请求-响应等多种消息模型。 持久化支持 - 支持将消息持久化到不同的后端,如Redis、MongoDB等。 高性能 - SnakeMQ针对Python进行了优化,单机可以处理上万消息每秒。 可扩展 - 可以水平扩展以实现集群,提高系统整体吞吐量。 多语言支持 - 除了Python SDK,还提供了NodeJS、Java等语言的SDK。 SolidUI 中 soliduimodelui模块,是模型代理API,需要Web和 Kernel 通信用到Snakemq","s":"","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"","p":585},{"i":611,"t":"Snakemq client.py import snakemq.link import snakemq.packeter import snakemq.messaging import snakemq.rpc import time import json import logging logging.basicConfig(format=\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\") logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) console_handler = logging.StreamHandler() console_handler.setLevel(logging.INFO) logger.addHandler(console_handler) logger.setLevel(logging.INFO) fh = logging.FileHandler('app.log') logger.addHandler(fh) link = snakemq.link.Link() packeter = snakemq.packeter.Packeter(link) messaging = snakemq.messaging.Messaging(\"client\", \"\", packeter) connector = (\"server\", 8765) link.add_connector(connector) def on_connect(connector_id): logger.info(f\"Connected to: {connector_id}\") link.on_connect.add(on_connect) def on_disconnect(connector_id): logger.info(f\"已断开: {connector_id}\") link.on_disconnect.add(on_disconnect) def on_recv(conn, ident, message): logger.info(f\"client接收到: {message.data}, 来自: {ident}\") messaging.on_message_recv.add(on_recv) message = snakemq.message.Message(json.dumps({\"type\": \"status\", \"value\": \"ready\"}).encode(\"utf-8\"), ttl=600) messaging.send_message(\"server\", message) while True: link.loop() time.sleep(0.1) Snakemq server.py import snakemq.link import snakemq.packeter import snakemq.messaging import snakemq.rpc import time import json import logging logging.basicConfig(format=\"[%(asctime)s] %(levelname)s [%(name)s:%(lineno)s] %(message)s\") logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) console_handler = logging.StreamHandler() console_handler.setLevel(logging.INFO) logger.addHandler(console_handler) logger.setLevel(logging.INFO) fh = logging.FileHandler('app.log') logger.addHandler(fh) link = snakemq.link.Link() packeter = snakemq.packeter.Packeter(link) messaging = snakemq.messaging.Messaging(\"server\", \"\", packeter) link.add_listener((\"0.0.0.0\", 8765)) def on_recv(conn, ident, message): logger.info(f\"server接收到: {message.data}, 来自: {ident}\") messaging.on_message_recv.add(on_recv) message = snakemq.message.Message(json.dumps( {\"type\": \"execute\", \"value\": \"abc\"}).encode(\"utf-8\"), ttl=600) messaging.send_message(\"client\", message) # Main loop while True: link.loop() time.sleep(0.1) Dockerfile FROM python:3.8 WORKDIR /opt/snaketmq-test RUN pip install snakemq RUN python -c \"import snakemq; print(snakemq.__file__); print(dir(snakemq))\" COPY . . CMD [\"python\", \"server.py\"] Dockerfile build & run docker build -t snaketmq-test . docker network create mynet docker run -d --name server --network mynet snaketmq-test docker run --network mynet snaketmq-test python client.py","s":"Snakemq 测试代码","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#snakemq-测试代码","p":585},{"i":613,"t":"注意:Snakemq 测试代码,因为容器内通信,ip addr 会涉及到多个ip ,虽然容器设置网段mynet ,但是 server link.add_listener((\"0.0.0.0\", 8765)) 这行代码 server: 表示SnakeMQ的服务器实例。 link: server中的link属性,表示网络连接管理器。 add_listener: 向link中添加一个监听器。 (\"0.0.0.0\", 8765): 监听的地址和端口。\"0.0.0.0\"表示监听所有网卡地址,\"8765\"表示监听8765端口。 client connector = (\"server\", 8765) link.add_connector(connector) 这行代码 connector = (\"server\", 8765) : 创建一个元组connector,里面包含了SnakeMQ服务器的地址\"server\"和端口8765。 link.add_connector(connector): 调用link对象(这里应该是SnakeMQ的连接对象)的add_connector方法,传入参数connector,将上一步创建的连接信息添加到连接对象中。 综合来看,这行代码的作用就是创建一个连接元组,包含SnakeMQ服务器的地址和端口,然后将这个连接信息添加到SnakeMQ的连接对象中,以建立SnakeMQ的客户端连接。","s":"Snakemq通信","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#snakemq通信","p":585},{"i":615,"t":"本文通过Snakemq 案例 来解释SolidUI 内部通信,让大家明白配置地址时候ip 为什么这样设置,目的是为了一一对应,不是盲目设置localhost就能解决,为大家后续更好共建SolidUI提供思路。","s":"结语","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#结语","p":585},{"i":617,"t":"官方文档贡献。发现文档的不足、优化文档,持续更新文档等方式参与社区贡献。通过文档贡献,让开发者熟悉如何提交PR和真正参与到社区的建设。参考攻略:https://github.com/CloudOrc/SolidUI/discussions/54 代码贡献。我们梳理了社区中简单并且容易入门的的任务,非常适合新人做代码贡献。请查阅新手任务列表:https://github.com/CloudOrc/SolidUI/issues/12 内容贡献:发布SolidUI开源组件相关的内容,包括但不限于安装部署教程、使用经验、案例实践等,形式不限,请投稿给小助手。例如:https://github.com/CloudOrc/SolidUI/issues/10 社区答疑:积极在社区中进行答疑、分享技术、帮助开发者解决问题等; 其他:积极参与社区活动、成为社区志愿者、帮助社区宣传、为社区发展提供有效建议等;","s":"如果成为贡献者","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#如果成为贡献者","p":585},{"i":619,"t":"2023年7月1日 · 阅读需 6 分钟","s":"SolidUI AI生成可视化,开创性开源项目,版本0.1.0 功能讲解","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"","p":585},{"i":621,"t":"随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。 https://github.com/CloudOrc/SolidUI","s":"背景","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#背景","p":585},{"i":623,"t":"SolidUI Solid表示立方几何,UI表示设计交互,代表多维生成设计。","s":"项目名字含义","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#项目名字含义","p":585},{"i":625,"t":"登录页的含义,logo 用眼镜的形状,表示观察世界 ,背景那些线条是通过眼睛观看得出图形,深层意思表示创意生成世界。","s":"登录页含义","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#登录页含义","p":585},{"i":627,"t":"“少就是多” 少就是多,意思是不断精简方案里的元素,只留下有价值的;其余不重要的,要么直接删掉,要么从界面里隐藏起来。对于那些不常用的操作,隐藏之后,即使用户多进行几步操作也没有关系。","s":"产品思维","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#产品思维","p":585},{"i":629,"t":"这个版本作为第一个版本,设想作为应用框架,具有通用可视化框架能力,不因一些数据管理,BI等一些旧思维影响,只做应用框架,所以很多东西都被去除了,AI生成会彻底改变使用习惯。","s":"0.1.0 版本内涵","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#010-版本内涵","p":585},{"i":631,"t":"下面介绍下整个第一个版本功能列表。","s":"功能列表","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#功能列表","p":585},{"i":633,"t":"显示数据:显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮。 添加MySQL数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以* 成功添加MySQL数据源,并在数据源列表中显示。 添加Doris数据源:输入数据源名称,数据源驱动,URL,用户名,密码,备注后,可以成功添加Doris数据源,并在数据源列表中显示。 编辑数据源:可以编辑数据源的名称,数据源驱动,URL,用户名,密码,备注,并在数据源列表中查看编辑后的信息。 单行删除数据源:通过输入要删除的数据源名称,可以成功删除该数据源,并且该数据源不再显示在数据源列表中。 数据源过期:可以将选中的数据源设置为过期状态。","s":"数据源管理","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#数据源管理","p":585},{"i":635,"t":"添加项目:输入项目名称,项目描述,项目URL后,可以成功添加项目,并在项目列表中显示新增的项目信息。 查询项目列表:通过输入项目名称,可以查询并输出项目列表。 编辑项目名:可以编辑项目名称,并在项目列表中查看编辑后的项目信息。 删除项目:通过输入要删除的项目名称,可以成功删除该项目,并且该项目不再显示在项目列表中。 项目预览","s":"项目管理","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#项目管理","p":585},{"i":637,"t":"场景,增加,修改,删除,重命名。 页,增加,修改,删除,重命名。 添加图例:在指定场景和页下添加图例,并为其命名。创建成功后,所在页中显示对应的图例。 打开数据选择滑窗:在指定场景、页和图例下,打开数据选择滑窗。滑窗打开成功,显示数据源类型、数据源和SQL输入框。 选择数据源类型:选择数据源类型(如数据库),成功后显示与所选数据源类型相关的数据源选项。 选择数据源:选择特定的数据源(如MySQL数据库1),成功后可以输入SQL查询语句。 输入SQL查询语句:输入SQL查询语句并执行,柱形图根据查询返回的数据进行绘制。 保存页面:保存包括图例和关联数据设置在内的页面,以便后续查看和编辑。 预览场景:预览整个场景,按照场景和页的顺序查看已创建的图表。","s":"设计页面","u":"/SolidUI-Website/zh-CN/blog/page/2","h":"#设计页面","p":585},{"i":645,"t":"Submit Guide Documentation Notice 本页总览 Documentation Notice Good documentation is critical for any type of software. Any contribution that can improve the SolidUI documentation is welcome. Get the document project​ Documentation for the SolidUI project is maintained in a separate git repository. First you need to fork the document project into your own github repository, and then clone the document to your local computer. git clone git@github.com:/SolidUI-Website.git Preview and generate static files​ This website is compiled using node, using Docusaurus framework components Download and install nodejs (version>12.5.0) Clone the code to the local git clone git@github.com:CloudOrc/SolidUI-Website.git Run npm install to install the required dependent libraries. Run npm run start in the root directory, you can visit http://localhost:3000 to view the English mode preview of the site Run npm run start-zh in the root directory, you can visit http://localhost:3000 to view the Chinese mode preview of the site To generate static website resource files, run npm run build. The static resources of the build are in the build directory. Directory structure​ |-- community |-- docs // The next version of the document that will be released soon |-- download |-- faq // Q&A |-- i18n | `-- zh-CN //Internationalized Chinese | |-- code.json | |-- docusaurus-plugin-content-docs | |-- docusaurus-plugin-content-docs-community | |-- docusaurus-plugin-content-docs-download | |-- docusaurus-plugin-content-docs-faq | `-- docusaurus-theme-classic |-- resource // Original project files for architecture/timing diagram/flow chart, etc. |-- src | |-- components | |-- css | |-- js | |-- pages | | |-- home | | |-- index.jsx | | |-- team | | |-- user | | `-- versions | |-- styles |-- static // Picture static resource | |-- doc // document picture | |-- user // users picture | |-- home // homepage picture | |-- img // common picture |-- docusaurus.config.js Specification​ Directory naming convention​ Use all lowercase, separated by underscores. If there is a plural structure, use plural nomenclature, and do not use plural abbreviations Positive example: scripts / styles / components / images / utils / layouts / demo_styles / demo-scripts / img / doc Counter example: script / style / demoStyles / imgs / docs Vue and the naming convention of static resource files​ All lowercase, separated by a dash Positive example: render-dom.js / signup.css / index.html / company-logo.png Counter example: renderDom.js / UserManagement.html Resource Path​ Image resources are unified under static/{module name} css and other style files are placed in the src/css directory Page content modification​ Except for the homepage, team, user, Docs>All Version module page, all other pages can be directly jumped to the corresponding github resource modification page through the'Edit this page' button at the bottom Home page modification​ Visit the page https://cloudorc.github.io/SolidUI-Website/ Located in src/pages/home ├─home │ languages.json // Home page Chinese and English configuration │ index.less // homepage style Team page modification​ Visit the page https://cloudorc.github.io/SolidUI-Website/team Located in src/pages/team ├─team │ languages.json │ index.js │ index.less User list page modification​ Visit the page https://github.com/CloudOrc/SolidUI/issues/1 上一页 Become committer 下一页 Submit Code Get the document project Preview and generate static files Directory structure Specification Directory naming convention Vue and the naming convention of static resource files Resource Path Page content modification Home page modification Team page modification User list page modification","s":"Documentation Notice","u":"/SolidUI-Website/zh-CN/community/submit_guide/document","h":"","p":644},{"i":647,"t":"Contribution Guide Become committer 本页总览 How to participate in project contribution Many thanks for contributing to the SolidUI project! Before contributing, please read the following guidelines carefully. 1. Contribution category​ 1.1 Bug feedback and fixes​ We recommend that whether it is bug feedback or repair, first create an Issue to describe the status of the bug in detail, so that the community can find and review the problem and code through the Issue record. Bug feedback Issues usually need to include full information describing the bug and reproducible scenarios, so that the community can quickly locate the cause of the bug and fix it. Open Issues with #bug tags are those that need to be fixed. 1.2 Function communication, implementation, refactoring​ In the communication process, describing in detail the details, mechanism and usage scenarios of the new function (or refactoring) can promote its better and faster implementation (including test cases and codes, and CI/CD related work). If you plan to implement a major function (or refactoring), please be sure to communicate with the core development team via Issue or other means, so that everyone can promote it in the most efficient way. Open Issues containing #feature tags are all new features that need to be implemented, and open Issues containing #enhancement tags are all functions that need to be improved and refactored. 1.3 Issue Answers​ Helping to answer usage questions in Issues is a very valuable way to contribute to the SolidUI community; there are always new users in the community, and you can show your expertise while helping new users. 1.4 Documentation improvements​ The SolidUI documentation is located at SolidUI-Website, and the completion of the documentation is also crucial to the development of SolidUI. 1.5 Others​ Including participating in and helping to organize community exchanges, community operation activities, etc., and other activities that can help SolidUI projects and communities. 2. Contribution process​ 2.1 Branch structure​ The SolidUI source code may generate some temporary branches, but two are only the following three branches that are really meaningful: release-*: Stable release version; dev: The daily development branch, which is also the target branch for everyone to contribute code. If you want to contribute code, please create a new branch based on the dev branch. When the version is released, a new release branch will be created based on dev; 2.1.1 Concept​ Upstream warehouse: https://github.com/CloudOrc/SolidUI The SolidUI warehouse is called Upstream warehouse in the text Fork warehouse: Fork from https://github.com/CloudOrc/SolidUI to your own personal warehouse, called Fork warehouse 2.1.2 Synchronize the latest code from the Upstream warehouse branch to your own Fork warehouse​ step1 Enter the user project page, select the branch to be updated step2 Click Fetch upstream under the code download button, select Fetch and merge (if the branch of your own Fork warehouse is accidentally polluted, you can delete the branch, and then synchronize the new branch of the Upstream warehouse to your own Fork warehouse, see the guide [Synchronize Upstream Branch the latest code from the warehouse to your own Fork warehouse](#213-Synchronize the new branch of the Upstream warehouse to your own Fork warehouse)) 2.1.3 Synchronize the new branch of the Upstream warehouse to your own Fork warehouse​ Scenario: There is a new branch in the Upstream repository, but the forked repository does not have this branch (you can choose to delete it and re-fork, but the changes that have not been merged to the original repository will be lost) step1 Open the Git command line tool (such as Git Bash), clone your own Fork warehouse to the local git clone https://github.com/{your_github_username}/SolidUI.git step2 enter the local warehouse directory cd SolidUI step3 Add Upstream warehouse as remote warehouse git remote add upstream https://github.com/CloudOrc/SolidUI.git step4 Get the branch information of the Upstream warehouse git fetch upstream step5 Synchronize the new branch of the Upstream warehouse to the local git checkout -b {new_branch_name} upstream/{new_branch_name} step6 Push the new branch to your own Fork repository git push --set-upstream origin {new_branch_name} 2.1.4 A pr process​ step1 Confirm the base branch of the current development (usually the current version in progress, such as the version 0.2.0 currently under development in the community, then the branch is dev, if you are not sure, you can ask in the community group or @related in the issue classmate) step2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse branch, refer to the guide [2.1.2 Synchronize the latest code of the Upstream warehouse branch to your own Fork warehouse] step3 Based on the development branch, pull the new fix/feature branch (do not directly modify the original branch, if the subsequent pr is merged in squash mode, the submitted commit records will be merged into one) git checkout -b dev-fix dev git push origin dev-fix:dev-fix step4 for development step5 Submit pr (if it is in progress and the development has not been completely completed, please add the WIP logo to the pr title, such as [WIP] Dev 0.2.0 Add junit test code for [solidui-common]; associate the corresponding issue etc.) step6 waiting to be merged step7 delete the fix/future branch (you can do it on the github page) git branch -d dev-fix git push 2.2 Development Guidelines​ The front-end and back-end codes of SolidUI share the same code base, but are separated in development. Before starting development, please fork a copy of the SolidUI project to your own Github Repositories, and develop based on the SolidUI code base in your own Github Repositories. We recommend cloning the dev branch and naming it dev-fix for development. At the same time, create a new dev-fix branch in your warehouse and modify it directly on the original branch. If the subsequent pr is merged in squash mode, the submitted commit records will be merged into one # pull branch git clone https://github.com/{githubid}/SolidUI.git --branch dev #Generate local dev-fix branch according to dev git checkout -b dev-fix dev #Push the local dev-fix branch to your own warehouse git push origin dev-fix dev-fix 2.3 Issue submission guidelines​ If you don't know how to initiate a PR to an open source project, please refer to About issues The name of the issue, which should briefly describe your problem or suggestion in one sentence; for the international promotion of the project, please write the issue in English, or bilingual Chinese and English For each Issue, please bring at least a label. Reference: issue #63 2.4 Pull Request (PR) submission guidelines​ If you don't know how to initiate a PR to an open source project, please refer to [About pull requests](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull -requests) Whether it's a bug fix or a new feature development, please submit a PR to the dev branch PR and commit name follow the principle of (): , for details, please refer to Commit message and Change log writing guide If a PR includes new features, documentation updates should be included in this PR If the PR is not ready to be merged, prefix the name with [WIP] (WIP = work-in-progress) All commits to dev-* branches need to be reviewed at least once before they can be merged 2.5 Review Criteria​ Before contributing code, find out what kind of commits are welcome in Review. Simply put, if a commit brings as much gain as possible with as few side effects or risks as possible, the more likely it will be merged and the faster it will be reviewed. Commits with high risk and low value are almost impossible to be merged, and may be rejected for Review. 2.5.1 Gains​ Fix the main cause of the bug Add or fix a feature or bug that was requested by a large number of users simple and effective Easy to test, with test cases Reduce complexity and code size Issues identified for improvement discussed by the community 2.5.2 Side Effects and Risks​ only fix the surface of the bug Introducing new features with high complexity Adding complexity to meet niche needs Changes to stable existing APIs or semantics Cause other functions not to work properly Add a lot of dependencies Feel free to change dependency versions Commit a lot of code or changes at once 2.5.3 Reviewer Notes​ Please write comments in a constructive tone If the submitter needs to make changes, please clearly state all the changes that need to be made to complete this Pull Request If a PR is found to have brought new problems after merging, Reviewer needs to contact the PR author and communicate to solve the problem; if the PR author cannot be contacted, Reviewer needs to restore the PR 3. Advanced contribution​ 3.1 About Committers (Collaborators)​ 3.1.1 How to become a Committer​ If you have submitted a valuable PR to SolidUI and it has been merged, or have contributed continuously for more than half a year, and have led at least one version release, you can find a PMC of the SolidUI project through the official WeChat group, if he is willing to nominate you as a committer , and are willing to state your contribution to all PMCs and Committers for you, then a vote will be launched; PMC and other Committers will vote together to decide whether to allow you to join, if you get enough votes, you will become a Committer of the SolidUI project . 3.1.2 Committer's rights​ You can join the official developer WeChat group to participate in discussions and formulate SolidUI development plans Can manage Issues, including closing and adding tags Can create and manage project branches, except dev branch Ability to review PRs submitted to the dev branch Can apply to become a Committee member 3.2 About the Committee​ 3.2.1 How to become a Committee member​ If you are a Committer of the SolidUI project, and all the content you contributed has been recognized by other Committee members, you can apply to become a member of the SolidUI Committee, and other Committee members will vote together to decide whether to allow you to join. If all votes pass, you will Become a SolidUI Committee member. 3.2.2 Rights of Committee members​ Ability to merge PRs submitted by other Committers and contributors to the dev branch Participate in determining the roadmap and development direction of the SolidUI project Can participate in new version releases 下一页 Documentation Notice 1. Contribution category 1.1 Bug feedback and fixes 1.2 Function communication, implementation, refactoring 1.3 Issue Answers 1.4 Documentation improvements 1.5 Others 2. Contribution process 2.1 Branch structure 2.2 Development Guidelines 2.3 Issue submission guidelines 2.4 Pull Request (PR) submission guidelines 2.5 Review Criteria 3. Advanced contribution 3.1 About Committers (Collaborators) 3.2 About the Committee","s":"How to participate in project contribution","u":"/SolidUI-Website/zh-CN/community/contribution_guide/become_committer","h":"","p":646},{"i":649,"t":"Submit Guide Submit Code Submit Code First from the remote repository https://github.com/CloudOrc/SolidUI.git fork a copy of the code into your own repository There are currently three branches in the remote repository: dev daily development branch Every day dev development branch, newly submitted code can pull request to this branch. 1.0.0-release release version branch The release version branch, there will be 2.0...and other version branches in the future. Clone your repository to your local git clone git@github.com:CloudOrc/SolidUI.git Add remote repository address, named upstream git remote add upstream git@github.com:CloudOrc/SolidUI.git View repository git remote -v At this time, there will be two repositories: origin (your own repository) and upstream (remote repository) Get/Update remote repository code git fetch upstream Synchronize remote repository code to local repository git checkout origin/dev git merge --no-ff upstream/dev After modifying the code locally, submit it to your own repository: git commit -m 'commit content' git push Submit changes to the remote repository On the github page, click \"New pull request\". Select the modified local branch and the branch you want to merge with the past, click \"Create pull request\". Then the community Committers will do CodeReview, and then he will discuss some details (including design, implementation, performance, etc.) with you. When everyone on the team is satisfied with this modification, the commit will be merged into the dev branch Finally, congratulations, you have become an official contributor to SolidUI ! 上一页 Documentation Notice","s":"Submit Code","u":"/SolidUI-Website/zh-CN/community/submit_guide/submit_code","h":"","p":648},{"i":652,"t":"Docker 1.13.1+ Docker Compose 1.11.0+","s":"1. 环境准备","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker","h":"#1-环境准备","p":650},{"i":654,"t":"这种方式需要先安装 docker-compose, docker-compose 的安装网上已经有非常多的资料,请自行安装即可","s":"2.以 docker-compose 的方式启动 (推荐)","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker","h":"#2以-docker-compose-的方式启动-推荐","p":650},{"i":656,"t":"方式1:从github仓库 https://github.com/CloudOrc/SolidUI 获取项目的源代码。 方式2:从https://github.com/CloudOrc/SolidUI/releases 下载下载所需版本的源码包。 请下载源码包 solidui-x.x.x-bin.tar.gz","s":"2.1 下载部署包或者源码","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker","h":"#21-下载部署包或者源码","p":650},{"i":658,"t":"# 进入服务器(以Centos7为例) tar -zxvf solidui-x.x.x-bin.tar.gz cd solidui-x.x.x-bin/docker docker-compose up -d","s":"2.2 拉取镜像并启动服务","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker","h":"#22-拉取镜像并启动服务","p":650},{"i":660,"t":"token为模型API token baseurl为模型API基础地址,例如:https://api.openai.com(这是国外openai地址),https://api.chatanywhere.com.cn(openai国内代理地址),http://ip:port(chatGLM地址) # 进入Docker-Compose新建的mysql中 mysql -h ip -u root -p use solidui; update solidui_model_type set token = '' , baseurl='' where id = 'id';","s":"2.3 修改数据库表信息,修改表solidui_model_type,token和baseurl字段 (0.2.0版本支持)","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker","h":"#23-修改数据库表信息修改表solidui_model_typetoken和baseurl字段-020版本支持","p":650},{"i":662,"t":"访问链接 http://localhost:8099 默认用户名密码:admin/admin","s":"2.4 访问服务","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-docker","h":"#24-访问服务","p":650},{"i":666,"t":"Docker 1.13.1+ Kubernetes 1.19.0+ Helm 3.4.x+ ingress 1.3.0+","s":"软件环境","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#软件环境","p":663},{"i":668,"t":"Centos 7+, Ubuntu 20.04","s":"操作系统","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#操作系统","p":663},{"i":670,"t":"CPU 8核+,内存 16G+","s":"硬件环境","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#硬件环境","p":663},{"i":672,"t":"这种方式需要先安装 Helm, Helm 的安装网上已经有非常多的资料,请自行安装即可","s":"2.以 Helm 的方式启动 (推荐)","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#2以-helm-的方式启动-推荐","p":663},{"i":674,"t":"从github仓库 https://github.com/CloudOrc/SolidUI 获取项目的源代码。","s":"2.1 下载源码","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#21-下载源码","p":663},{"i":676,"t":"# 进入服务器(以Centos7为例) cd SolidUI/deploy/kubernetes/helm-solidui helm install solidui ./","s":"2.2 拉取镜像并启动服务","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#22-拉取镜像并启动服务","p":663},{"i":678,"t":"//查看pod状态 kubectl get pods -n solidui //查看ingress端口 kubectl get svc -A |grep ingress-nginx-controller //如果不使用ingress访问可通过port-forward转发端口进行访问 kubectl port-forward svc/solidui-web 80:8099 --address 0.0.0.0 -n solidui","s":"2.3 查看服务状态及ingress端口","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#23-查看服务状态及ingress端口","p":663},{"i":680,"t":"访问链接 http://ingress-ip-address:ingress-port 默认用户名密码:admin/admin","s":"2.4 访问服务","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetes","h":"#24-访问服务","p":663},{"i":684,"t":"硬件要求​ 安装SolidUI 微服务1个,至少512M内存。每个微服务默认配置启动的jvm -Xmx 内存大小为 512M(内存不够的情况下,可以尝试调小至256/128M,内存足够情况下也可以调大)。","s":"1.1 Linux 服务器","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#11-linux-服务器","p":681},{"i":686,"t":"java版本要求:jdk1.8.0_201 或以上版本","s":"1.2 JDK准备","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#12-jdk准备","p":681},{"i":688,"t":"Mysql5.7 或以上版本","s":"1.3 数据库准备","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#13-数据库准备","p":681},{"i":691,"t":"方式1:从官网下载地址: https://github.com/CloudOrc/SolidUI/releases ,下载对应的安装包(整体安装包)。 方式2:根据SolidUI 后端编译和前端编译自行编译出项目安装包。 上传安装包solidui-x.x.x-bin.tar.gz后,进行解压安装包 tar -zxvf solidui-x.x.x-bin.tar.gz 解压后的目录结构如下: drwxr-xr-x 2 root root 4096 Jun 10 20:31 docker drwxr-xr-x 6 root root 4096 Jun 11 17:57 entrance-server -rw-r--r-- 1 root root 27711 Jun 4 21:47 LICENSE drwxr-xr-x 3 root root 4096 Jun 11 18:03 licenses -rw-r--r-- 1 root root 24875 Jun 4 19:29 NOTICE drwxr-xr-x 4 root root 4096 Jun 11 18:26 solidui-web","s":"2.1 安装包准备","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#21-安装包准备","p":681},{"i":694,"t":"# 初始化数据库ddl 和 dml 路径 solidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql # 进入mysql数据库 mysql -h192.168.xx.xx -P3306 -uroot -p # 创建数据库 CREATE DATABASE solidui DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; # 修改数据库连接信息,修改表solidui_model_type,token和baseurl字段 (0.2.0版本支持) token为模型API token baseurl为模型API基础地址,例如:https://api.openai.com(这是国外openai地址),https://api.chatanywhere.com.cn(openai国内代理地址),http://ip:port(chatGLM地址) solidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql INSERT INTO `solidui_model_type` (`id`, `name`, `type_name`, `prompt`, `token`, `baseurl`) VALUES (1,'gpt-3.5-turbo','gpt',NULL,NULL,NULL), (2,'gpt-4','gpt',NULL,NULL,NULL), (3,'chatglm_lite','chatglm',NULL,NULL,NULL); # 执行数据库初始化脚本 source solidui-x.x.x-bin/entrance-server/conf/sql/mysql/solidui_mysql.sql","s":"3.1 准备工作","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#31-准备工作","p":681},{"i":696,"t":"cd solidui-x.x.x-bin/entrance-server/conf # 修改数据库连接信息 vi application.yaml datasource: url: jdbc:mysql://localhost:3306/solidui?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai username: root password: root # 0.2.0 版本增加python服务配置 vi solidui-x.x.x-bin/soliduimodelui/.env # 修改数据库连接信息 DB_HOST=localhost DB_PORT=3306 DB_NAME=solidui DB_USER=root DB_PASS=SolidUI@123","s":"3.2 配置修改","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#32-配置修改","p":681},{"i":698,"t":"cd solidui-x.x.x-bin/entrance-server # 启动服务 sh bin/start.sh # 停止服务 sh bin/stop.sh #0.2.0 版本增加python服务 cd solidui-x.x.x-bin pip install -e . modelui","s":"3.3 服务端启动","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#33-服务端启动","p":681},{"i":701,"t":"参考前端部署","s":"4.1 准备工作","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#41-准备工作","p":681},{"i":703,"t":"访问默认链接 http://localhost:8099 默认用户名密码:admin/admin","s":"4.2 启动","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-standalone","h":"#42-启动","p":681},{"i":706,"t":"方式1:从官网下载地址: https://github.com/CloudOrc/SolidUI/releases ,下载对应的安装包(整体安装包)。 方式2:根据SolidUI 自行编译出项目安装包。 tar -zxvf solidui-x.x.x-bin.tar.gz #前端目录 cd solidui-x.x.x/solidui-web","s":"1 准备工作","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","h":"#1-准备工作","p":704},{"i":708,"t":"分为两种部署方式,自动化部署和手动部署","s":"2 部署","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","h":"#2-部署","p":704},{"i":710,"t":"2.1.1 修改配置config.sh​ # solidui 服务地址 solidui_url=\"http://127.0.0.1:12345\" # 模型后端服务地址 solidui_url_models=\"http://127.0.0.1:5110\" # 模型内核后端服务地址 solidui_url_kernel=\"http://127.0.0.1:5010\" # 可以配置为安装机器的ip 也可以使用默认值 solidui_ipaddr=127.0.0.1 # 访问管理台的端口 solidui_port=8099 2.1.2 执行部署脚本​ # nginx 需要sudo权限进行安装 sudo sh install.sh 安装后,solidui的nginx配置文件默认是 在/etc/nginx/conf.d/solidui.conf nginx的日志文件在 /var/log/nginx/access.log 和/var/log/nginx/error.log 生成的solidui的nginx配置文件示例如下: server { listen 8099; server_name localhost; location / { root /opt/solidui/solidui-web/dist; # 静态文件目录 index index.html index.html; } location /solidui { proxy_pass $solidui_url; # 后端 SolidUI 的地址 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header x_real_ipP $remote_addr; proxy_set_header remote_addr $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_connect_timeout 4s; proxy_read_timeout 600s; proxy_send_timeout 12s; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } location /solidui/models { proxy_pass $solidui_url_models; # modelui 后端地址 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header x_real_ipP $remote_addr; proxy_set_header remote_addr $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_connect_timeout 4s; proxy_read_timeout 600s; proxy_send_timeout 12s; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } location /solidui/kernel { proxy_pass $solidui_url_kernel; # modelui kernel 后端地址 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header x_real_ipP $remote_addr; proxy_set_header remote_addr $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_connect_timeout 4s; proxy_read_timeout 600s; proxy_send_timeout 12s; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }","s":"2.1 自动化部署(推荐)","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","h":"#21-自动化部署推荐","p":704},{"i":712,"t":"2.2.1 安装Nginx​ 如果已经安装过nginx 可以跳过 sudo yum install nginx -y 2.2.2 修改配置文件​ sudo vi /etc/nginx/conf.d/solidui.conf 添加如下内容: server { listen 8099;# 访问端口 server_name localhost; #charset koi8-r; #access_log /var/log/nginx/host.access.log main; location / { root /opt/solidui/solidui-web/dist; # 前端包解压的目录 index index.html index.html; } location /solidui { proxy_pass http://127.0.0.1:12345; # solidui 服务地址 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header x_real_ipP $remote_addr; proxy_set_header remote_addr $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_connect_timeout 4s; proxy_read_timeout 600s; proxy_send_timeout 12s; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } location /solidui/models { proxy_pass http://127.0.0.1:5110; # modelui 后端地址 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header x_real_ipP $remote_addr; proxy_set_header remote_addr $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_connect_timeout 4s; proxy_read_timeout 600s; proxy_send_timeout 12s; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } location /solidui/kernel { proxy_pass http://127.0.0.1:5010; # modelui kernel 后端地址 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header x_real_ipP $remote_addr; proxy_set_header remote_addr $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_connect_timeout 4s; proxy_read_timeout 600s; proxy_send_timeout 12s; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } } 2.2.3 资源部署​ 假设前端npm run build后的产物路径是:/opt/solidui/solidui-web/dist 2.2.4 启动服务​ sudo systemctl restart nginx","s":"2.2 手动部署","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","h":"#22-手动部署","p":704},{"i":714,"t":"浏览器访问http://solidui_ipaddr:solidui_port 其中solidui_port为config.sh里面配置的端口,solidui_ipaddr为安装机器的IP,默认的账号密码是:admin/admin","s":"3 登录","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","h":"#3-登录","p":704},{"i":716,"t":"如果需要修改端口或则静态资源目录等,请修改/etc/nginx/conf.d/solidui.conf 文件后执行 sudo nginx -s reload 命令 注意 查看nginx是否正常启动:检查nginx进程是否存在 ps -ef |grep nginx 检查nginx的配置是否正确 sudo nginx -T 如果端口被占用,可以修改nginx启动的服务端口/etc/nginx/conf.d/solidui.conflisten端口值,保存后重新启动","s":"4 注意事项","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","h":"#4-注意事项","p":704},{"i":719,"t":"sudo vi /etc/nginx/conf.d/solidui.conf 更改接口超时时间 proxy_read_timeout 600s","s":"5.1 接口超时","u":"/SolidUI-Website/zh-CN/docs/deployment/deployment-web","h":"#51-接口超时","p":704},{"i":722,"t":"编辑器整体布局分为五个区域:图层/页面(Layer/Page),当前设计页面的组件列表区(SolidView List),SolidEditor编辑区(中间),组件配置区域(Configuration),组件选择区域(SolidViews Select List)。 图层/页面(Layer/Page):图层主要是配置场景,页面UI层是配置设计自己的组件。 组件列表区:方便选择要配置的组件,对组件做删除,锁定等管理操作。 SolidEditor编辑区:作为一个高内聚的组件,对外通过 EventBus 来完成事件的订阅、发布。组件内部由 RulerGuides、InfiniteView、Moveable、Selecto、Viewport 来搭配完成整个编辑区域的交互、操作逻辑。 配置区域:对选中的 SolidView 做所见即所得的样式、数据源、事件交互等配置。 组件选择区域:在顶部提供一个选择放置各个组件的按钮区域。","s":"1. 前端UI模块","u":"/SolidUI-Website/zh-CN/docs/design/front-end-architecture/","h":"#1-前端ui模块","p":720},{"i":725,"t":"SolidEditor内部集成RulerGuides(标尺、辅助线)、InfiniteView(编辑区无限滚动视图)、Viewport(可见区)、Moveable(拖放、大小、圆角、对齐、标线等基础能力)、Selecto(多选、组合)。 SolidView是一个可复用的基类组件,我们希望通过一个设计好的JSONSchema及其具体的JSON内容来展示各种不同的SolidView,即SolidView应该仅仅和JSONSchema的数据模型做绑定,注入EventBus来完成不同SolidView之间的交互。但是当我们在编辑设计的时候,需要对SolidView做包装来达到在设计器模式下具备的设计能力。所以我们需要在编辑模式下对SolidView做一层包装得到一个ProxyView。 当我们预览设计好的页面后,我们的SolidShowEngine会加载设计的JSONSchema具体的数据模型来完成最终的渲染。","s":"3. SolidEditor & Preview(设计所见即所得)","u":"/SolidUI-Website/zh-CN/docs/design/front-end-architecture/","h":"#3-solideditor--preview设计所见即所得","p":720},{"i":727,"t":"设计JSONSchema来定义一个SolidView组件应该有的样子,不同的SolidView组件可能会扩展JSONSchema。这样做的好处是我们把SolidView抽象成一份JSON描述文档,可以聚焦在JSONSchema上,每次修改都是针对JSONSchema来讨论可行性。 在有JSONSchema的基础上,来规划Configuration模块具备的配置能力。包括UI展示,UI需要的组件开发等。 交互流程:选中一个组件 -> 修改配置项 -> 发送修改事件 -> SolidEditor收到订阅的事件消息 -> 找到目标SolidView -> 找到对应的 JSONSchem -> 校验并保存修改 -> SolidView 对本次配置修改做出响应。","s":"4. SolidView & JSONSchema & Configuration","u":"/SolidUI-Website/zh-CN/docs/design/front-end-architecture/","h":"#4-solidview--jsonschema--configuration","p":720},{"i":730,"t":"id: 数据源的唯一标识符。 datasource_name: 数据源的名称。 datasource_desc: 数据源的描述。 datasource_type_id: 数据源类型的ID。 create_identify: 创建标识符。 parameter: 参数。 create_time: 创建时间。 create_user: 创建用户。 labels: 标签。 expire: 过期标识。","s":"solidui_datasource 数据源管理","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_datasource-数据源管理","p":728},{"i":732,"t":"id: 数据源类型的唯一标识符。 name: 类型名称。 description: 类型描述。 option: 选项。 classifier: 分类器。 icon: 图标。 layers: 层级。","s":"solidui_datasource_type 数据源类型","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_datasource_type-数据源类型","p":728},{"i":734,"t":"id: 数据源类型键的唯一标识符。 data_source_type_id: 数据源类型ID。 key: 键。 name: 名称。 name_en: 英文名称。 default_value: 默认值。 value_type: 值类型。 scope: 范围。 require: 是否必需。 description: 描述。 description_en: 英文描述。 value_regex: 值正则表达式。 update_time: 更新时间。 create_time: 创建时间。","s":"solidui_datasource_type_key 数据源类型设置","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_datasource_type_key-数据源类型设置","p":728},{"i":736,"t":"id: 工作元素的唯一标识符。 project_id: 项目ID。 name: 名称。 data: 数据。 data_type: 数据类型。 create_time: 创建时间。 update_time: 更新时间。","s":"solidui_job_element 工作元素","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_job_element-工作元素","p":728},{"i":738,"t":"id: 工作元素页面的唯一标识符。 job_page_id: 工作页面ID。 job_element_id: 工作元素ID。 position: 位置。 create_time: 创建时间。 update_time: 更新时间。","s":"solidui_job_element_page 工作元素页面","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_job_element_page-工作元素页面","p":728},{"i":740,"t":"id: 工作页面的唯一标识符。 project_id: 项目ID。 name: 名称。 parent_id: 父级ID。 layout: 布局。 orders: 排序。 create_time: 创建时间。 update_time: 更新时间。","s":"solidui_job_page 工作页面","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_job_page--工作页面","p":728},{"i":742,"t":"id: 项目的唯一标识符。 user_name: 用户名。 project_name: 项目名称。 image: 项目图片。 description: 描述。 create_time: 创建时间。 update_time: 更新时间。 status: 项目状态。","s":"solidui_project 项目管理","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_project-项目管理","p":728},{"i":744,"t":"id: 用户的唯一标识符。 user_name: 用户名。 user_password: 用户密码。 create_time: 创建时间。 update_time: 更新时间。 queue: 队列。","s":"solidui_user 用户管理","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_user-用户管理","p":728},{"i":746,"t":"id: 模型类型的唯一标识符。 name: 名称。 code: 输出代码类型。 type_name: 类型名称。 prompt: 提示。 token: 令牌。 baseurl: 基础URL。","s":"solidui_model_type 模型类型设置","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#solidui_model_type--模型类型设置","p":728},{"i":748,"t":"数据源(solidui_datasource)有一个数据源类型(solidui_datasource_type),通过datasource_type_id字段关联。 数据源类型(solidui_datasource_type)有一个或多个数据源类型键(solidui_datasource_type_key),通过id字段关联。 工作元素(solidui_job_element)存在于一个项目(solidui_project)中,通过project_id字段关联。 工作元素页面(solidui_job_element_page)关联到一个工作元素(solidui_job_element)和一个工作页面(solidui_job_page),分别通过job_element_id和job_page_id字段。 工作页面(solidui_job_page)存在于一个项目(solidui_project)中,通过project_id字段关联。 项目(solidui_project)由一个用户(solidui_user)创建,通过user_name字段关联。 这个图并没有包括所有的表和字段,只包含了一些主要的关联。","s":"E-R图","u":"/SolidUI-Website/zh-CN/docs/design/metadata/","h":"#e-r图","p":728},{"i":751,"t":"Entrance:API接口层,主要负责前端UI层的请求,该服务统一提供RESTful api向外部提供请求服务","s":"1. 架构总览","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#1-架构总览","p":749},{"i":753,"t":"solidui-bom: BOM(Bill of Materials)通常用于管理项目中的依赖版本,以确保所有模块都使用相同版本的依赖。 solidui-common: 这个模块包含整个项目中使用的通用代码和工具。 solidui-dao: DAO(Data Access Object)模块包含所有与数据库交互的代码。 solidui-datasource-plugin: 这个模块提供一种方式来扩展数据源,以便可以从多种不同类型的数据源获取数据。 solidui-dist: 这个模块负责项目的构建和分发。 solidui-entrance: 这个模块是项目的主入口点,包含启动和初始化应用程序的代码。 solidui-service: 这个模块包含业务逻辑代码。 solidui-spi: SPI(Service Provider Interface)模块提供一种方式来扩展项目的功能。 solidui-web: 这个模块包含前端代码,用于显示用户界面,聊天界面。 soliduimodelui: 这个模块模型代理层,用于前端UI层的数据模型转换。","s":"2.模块功能","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#2模块功能","p":749},{"i":756,"t":"这是一个 Maven 的项目对象模型(POM)文件,它是基于 XML 的项目配置文件,用于描述构建项目的信息,如项目依赖、构建插件、项目属性等。 此 POM 文件定义的是一个名为 solidui-bom 的项目,该项目的父项目是 solidui。 在这个 POM 文件中,主要有以下三个部分: Properties: 定义了各种依赖库的版本号。这是一种常见的管理项目中所有依赖库版本的方法,可以在一个地方定义和更新所有依赖的版本。 Parent: 定义了这个项目的父项目。在 Maven 中,可以通过定义父项目来继承一些通用的配置,如依赖管理、插件管理等。 Dependency Management: 这部分定义了项目的依赖库及其版本。所有在此定义的依赖,都可以在子模块中直接使用而不用指定版本号。如果子模块中的依赖和此处的依赖冲突,那么会优先使用此处定义的版本。 根据这个 POM 文件,你可以知道这个项目依赖了哪些库,以及这些库的版本。此外,如果你需要添加新的依赖库,或者更新现有依赖库的版本,也可以在这个文件中进行。","s":"3.1 solidui-bom","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#31-solidui-bom","p":749},{"i":758,"t":"Constants: 这个类定义了一些全局常量,这些常量在整个项目中可能会用到。例如,HTTP头的键名、加密的密钥等。 DateConstants: 这个类定义了日期时间的格式化字符串常量。 ByteTimeUtils: 这个类当前看起来是空的,可能是一个方便处理字节和时间的工具类。 DESUtil: 这个类提供了基于DES算法的加密和解密方法,用于数据的安全传输。 EncryptionUtils: 这个类提供了一个计算字符串MD5值的方法。 JSONUtils: 这个类提供了一系列的JSON处理方法,包括对象到JSON的序列化、JSON到对象的反序列化、JSON到List或Map的转换等。 LoginUtils: 这个类提供了一些处理登录用户的方法,例如设置登录用户、移除登录用户和获取登录用户。 Utils: 这个类提供了一些通用的工具方法,例如创建一个有自定义线程名和守护状态的线程工厂,创建一个默认的计划任务执行器。","s":"3.2 solidui-common","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#32-solidui-common","p":749},{"i":760,"t":"这个模块名为 solidui-dao,主要包含了与数据访问层相关的配置和对象模型。 SpringConnectionFactory: 这个配置类主要用于配置MyBatisPlus的相关设置,如分页插件、事务管理器、SqlSessionFactory等。 DataSource, DataSourceType, DataSourceTypeKey, JobElement, JobElementPage, JobPage, ModelType, Project, User: 这些类是实体类,代表数据库中的各个表的数据结构。 DataSourceMapper, DataSourceParamKeyMapper, DataSourceTypeMapper, JobElementMapper, JobElementPageMapper, JobPageMapper, ModelTypeMapper, ProjectMapper, UserMapper: 这些接口是MyBatis的Mapper接口,用于定义对应表的CRUD操作。 PageListingResult: 这是一个包装类,用于包装分页查询的结果。 DaoConfiguration: 这是一个Spring的配置类,用于启动Spring Boot的自动配置并扫描Mapper接口。 通过这个模块,你可以方便地进行数据库的操作。例如,你可以通过UserMapper的queryUserByNamePassword方法,查询给定用户名和密码的用户。所有的Mapper接口都继承自MyBatisPlus的BaseMapper接口,所以它们都具备了基础的CRUD操作。","s":"3.3 solidui-dao","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#33-solidui-dao","p":749},{"i":762,"t":"这个模块名为 solidui-datasource-plugin,包含了与数据源插件相关的配置和对象模型。 DorisClient: 这个类继承自BaseJdbcClient,实现了与Doris数据库进行交互的具体方法,包括获取所有数据库、获取数据库的所有表、以及执行查询语句并获取结果。 DorisClientFactory: 这个类继承自BaseJdbcClientFactory,实现了创建DorisClient的工厂方法。 DorisConnectionFactory: 这个类实现了ConnectionFactory接口,提供了创建连接Doris数据库的方法。 MysqlClient: 这个类继承自BaseJdbcClient,实现了与MySQL数据库进行交互的具体方法,包括获取所有数据库、获取数据库的所有表、以及执行查询语句并获取结果。 MysqlClientFactory: 这个类继承自BaseJdbcClientFactory,实现了创建MysqlClient的工厂方法。 MysqlConnectionFactory: 这个类实现了ConnectionFactory接口,提供了创建连接MySQL数据库的方法。 JdbcClientManager: 这个类用于加载配置的ConnectionFactory。 ConnectDTO: 这个类是一个简单的数据传输对象,包含了连接数据库需要的信息,如主机名、端口、用户名、密码、数据库名以及额外参数。 其他接口如JdbcClient、JdbcClientFactory、ConnectionFactory等定义了一些通用的方法,具体的实现类如DorisClient、DorisClientFactory、DorisConnectionFactory等提供了这些方法的具体实现。 此外,这个模块的pom.xml文件配置了solidui-datasource-all子模块,该子模块依赖于solidui-datasource-mysql和solidui-datasource-doris两个模块,这两个模块定义了如何与MySQL和Doris数据库交互。","s":"3.4 solidui-datasource-plugin","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#34-solidui-datasource-plugin","p":749},{"i":764,"t":"这个模块名为 solidui-dist,它主要负责项目的发布和部署。 docker-compose.yml: 这是一个 Docker Compose 配置文件,用于定义和运行多容器的 Docker 应用。在这个文件中,定义了几个服务:solidui-entrance、solidui-web、mysql 和 soliduimodelui。这些服务将会被 Docker 以容器的形式运行。 release-docs: 这个文件夹可能包含了一些发布文档,如 LICENSE 和 NOTICE。 assembly.xml: 这是 Maven Assembly 插件的配置文件,用于定义如何创建项目的发布包。在这个文件中,定义了需要包含哪些文件和文件夹。 这个模块的作用主要是定义如何打包项目和如何部署项目。通过 Docker Compose,可以非常方便地在任何装有 Docker 的机器上部署和运行这个项目。通过 Maven Assembly 插件,可以非常方便地创建项目的发布包,包含了运行项目所需的所有文件。","s":"3.5 solidui-dist","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#35-solidui-dist","p":749},{"i":766,"t":"这个模块名为 solidui-entrance,作为应用的入口,提供了多个控制器(Controller)用于处理用户的请求。 BaseController: 提供了一些通用的返回结果的方法,包括成功的结果和错误的结果。 DataSourceController: 提供了一系列与数据源相关的API,如获取所有的数据源类型、根据类型获取参数键、根据数据源名和类型查询数据库等。 JobController: 提供了一些与工作相关的API,如保存页面、更新工作、按项目ID查询工作等。 JobPageController: 提供了一些与工作页面相关的API,如创建工作页面、更新工作页面、按项目ID查询工作页面等。 LoginController: 提供了登录和登出的API。 MetadataQueryController: 提供了一些与元数据查询相关的API,如按数据源名查询数据库、按数据源名查询表、按SQL查询等。 ModelController: 提供了获取模型列表的API。 ProjectController: 提供了一些与项目相关的API,如创建项目、更新项目、按项目名查询项目、删除项目等。 每个Controller都依赖于相应的Service,Service中定义了对应的业务逻辑。例如,DataSourceController依赖于DataSourceService,在DataSourceService中定义了如何查询所有数据源类型、如何根据类型获取参数键等业务逻辑。 此外,还提供了一些Service的实现类,如DataSourceServiceImpl、DataSourceTypeServiceImpl、JobPageServiceImpl、JobServiceImpl、MetadataQueryServiceImpl、ModelServiceImpl、ProjectServiceImpl和UserServiceImpl。这些类实现了对应的Service接口,并提供了具体的业务逻辑。 总的来说,这个模块主要处理用户的请求,执行相应的业务逻辑,并返回结果。","s":"3.6 solidui-entrance","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#36-solidui-entrance","p":749},{"i":768,"t":"包含了一些服务层的代码。","s":"3.7 solidui-service","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#37-solidui-service","p":749},{"i":770,"t":"ConnectDTO: 这是一个简单的数据传输对象,包含了连接数据库所需的信息。 ConstantsSPI: 这个类定义了一些常量,这些常量在 SPI(服务提供接口)中可能会用到。","s":"3.8 solidui-spi","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#38-solidui-spi","p":749},{"i":772,"t":"这是一个基于React和Ant Design构建的前端项目,项目的主要内容包括: 主应用入口index.tsx,用于初始化并渲染整个应用。 App组件,是应用的主要组件,用于定义路由和渲染相应的组件。 routes定义了应用的所有路由,包括首页、登录页、项目列表页、数据源列表页、仪表盘页和预览页等。 DefaultLayout组件定义了应用的主要布局,包括头部、侧边栏和主要内容区域。 ProjectList和DataSourceList两个组件分别用于展示项目列表和数据源列表。 Dashboard组件用于展示仪表盘,展示数据可视化结果。 Login组件用于处理用户登录逻辑。 Home组件定义了应用的首页内容。 useProject和useDataSource两个自定义Hook,用于处理项目和数据源相关的业务逻辑。 ModelManager类,用于管理应用的状态。 ViewFactory类,用于创建视图。 SolidView类,定义了一个抽象的视图基类,所有的视图组件都需要继承这个基类。 此外,项目还包括了一些辅助性的模块,如ApiService用于封装API请求,theme用于定义主题样式,solidui-entrance和solidui-web分别是后端和前端的主要模块,api和service定义了一些API接口和服务,components包含了一些公共的组件。 项目使用了一些第三方库,如axios用于处理HTTP请求,lodash-es用于提供一些实用的工具函数,antd是一个基于React的UI组件库,echarts用于数据可视化,react-router-dom用于处理路由,react-window用于优化长列表的渲染性能等。 项目的构建工具是webpack,使用了babel来转译JavaScript代码,eslint和prettier用于代码规范和格式化,jest用于单元测试。此外,项目还使用了husky和lint-staged来在提交代码前自动检查和修复代码问题。","s":"3.9 solidui-web","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#39-solidui-web","p":749},{"i":774,"t":"这是一个基于 Flask 和 MySQL 的后端项目,主要用于处理前端发来的请求并执行相应的操作。主要的功能模块包括: kernel_manager:这个模块主要负责管理和操作 Python 内核,处理前端发来的代码执行请求。内核管理器实现了与 Python 内核的通信,接收和处理内核的输出结果,以及处理内核的各种状态。此外,它还提供了一个消息队列用于接收和发送内核的消息。 kernel_program:这个模块主要负责启动和管理 Python 内核的子进程。它通过子进程的方式启动 Python 内核,然后通过 SnakeMQ 消息队列与内核进行通信。 utils:这个模块提供了一些实用的工具函数,如发送 JSON 消息、初始化 SnakeMQ 消息队列等。 webapp:这是一个基于 Flask 的 Web 应用,它提供了一系列的 API 供前端调用,如执行代码、获取执行结果、管理 Python 内核等。这个应用使用了 CORS 中间件来处理跨域请求。 web_utils:这个模块提供了一些 Web 应用中常用的工具函数,如格式化响应数据、查询数据库等。 .env:这是一个环境变量配置文件,包含了数据库的连接信息、应用的端口号等配置信息。 项目的运行流程大致如下: 启动 Flask Web 应用,提供 API 接口供前端调用; 前端发起请求,如执行代码等; Web 应用接收请求,调用内核管理器执行相应的操作; 内核管理器通过 SnakeMQ 消息队列与 Python 内核进行通信,执行代码并获取结果; Web 应用将执行结果返回给前端。 此外,项目还提供了一些辅助功能,如日志输出、错误处理等。","s":"3.10 soliduimodelui","u":"/SolidUI-Website/zh-CN/docs/design/server-architecture/","h":"#310-soliduimodelui","p":749},{"i":776,"t":"非常感谢贡献 SolidUI 项目!在参与贡献之前,请仔细阅读以下指引。","s":"如何参与项目贡献","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"","p":775},{"i":779,"t":"我们建议无论是 Bug 反馈还是修复,都先创建一个 Issue 来仔细描述 Bug 的状况,以助于社区可以通过 Issue 记录来找到和回顾问题以及代码。Bug 反馈 Issue 通常需要包含完整描述 Bug 的信息以及可复现的场景,这样社区才能快速定位导致 Bug 的原因并修复它。包含 #bug 标签的打开的 Issue 都是需要被修复的。","s":"1.1 Bug 反馈与修复","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#11-bug-反馈与修复","p":775},{"i":781,"t":"在交流过程中,详细描述新功能(或重构)的细节、机制和使用场景,能够促使它更好更快地被实现(包括测试用例和代码,及 CI/CD 相关工作)。如果计划实现一个重大的功能(或重构),请务必通过 Issue 或其他方式与核心开发团队进行沟通,这样大家能以最效率的方式来推进它。包含 #feature 标签的打开的 Issue 都是需要被实现的新功能,包含 #enhancement 标签打开的 Issue 都是需要改进重构的功能。","s":"1.2 功能交流、实现、重构","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#12-功能交流实现重构","p":775},{"i":783,"t":"帮助回答 Issue 中的使用问题是为 SolidUI 社区做贡献的一个非常有价值的方式;社区中总会有新用户不断进来,在帮助新用户的同时,也可以展现您的专业知识。","s":"1.3 Issue 答疑","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#13-issue-答疑","p":775},{"i":785,"t":"SolidUI 文档位于SolidUI-Website ,文档的补充完善对于 SolidUI 的发展也至关重要。","s":"1.4 文档改进","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#14-文档改进","p":775},{"i":787,"t":"包括参与和帮助组织社区交流、社区运营活动等,其他能够帮助 SolidUI 项目和社区的活动。","s":"1.5 其他","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#15-其他","p":775},{"i":790,"t":"SolidUI 源码可能会产生一些临时分支,但真正有明确意义的只有以下二个分支: release-*: 稳定的 release 版本; dev: 日常开发分支,也是大家贡献代码的目标分支,如果你想贡献代码,请基于 dev 分支创建新分支,版本发布时会基于dev新建release分支; 2.1.1 概念​ Upstream 仓库:https://github.com/CloudOrc/SolidUI SolidUI 仓库文中称为 Upstream 仓库 Fork 仓库: 从 https://github.com/CloudOrc/SolidUI fork 到自己个人仓库 称为 Fork 仓库 2.1.2 同步 Upstream 仓库分支最新代码到自己的 Fork 仓库​ step1 进入用户项目页面,选中要更新的分支 step2 点击 code 下载按钮下方的 Fetch upstream,选择 Fetch and merge (如自己的 Fork 仓库 该分支不小心污染了,可以删除该分支后,同步 Upstream 仓库新分支到自己的 Fork 仓库 ,参见指引[同步 Upstream 仓库分支最新代码到自己的 Fork 仓库 ](#213-同步 Upstream 仓库新分支到自己的 Fork 仓库 )) 2.1.3 同步 Upstream 仓库新分支到自己的 Fork 仓库​ 场景:Upstream 仓库有新增分支,但是 fork 的库没有该分支 (可以选择删除后,重新 fork,但是会丢失未 merge 到原始仓库的变更) step1 打开 Git 命令行工具(如 Git Bash),克隆自己的 Fork 仓库到本地 git clone https://github.com/{your_github_username}/SolidUI.git step2 进入本地仓库目录 cd SolidUI step3 添加 Upstream 仓库为远程仓库 git remote add upstream https://github.com/CloudOrc/SolidUI.git step4 获取 Upstream 仓库的分支信息 git fetch upstream step5 同步 Upstream 仓库的新分支到本地 git checkout -b {new_branch_name} upstream/{new_branch_name} step6 将新分支推送到自己的 Fork 仓库 git push --set-upstream origin {new_branch_name} 2.1.4 一个 pr 的流程​ step1 确认当前开发的基础分支(一般是当前进行的中版本,如当前社区开发中的版本 0.2.0,那么分支就是 dev,不确定的话可以在社区群里问下或则在 issue 中@相关同学) step2 同步 Upstream 仓库分支最新代码到自己的 Fork 仓库 分支,参见指引 [2.1.2 同步 Upstream 仓库分支最新代码到自己的 Fork 仓库 ] step3 基于开发分支,拉取新 fix/feature 分支 (不要直接在原分支上修改,如果后续 pr 以 squash 方式 merge 后,提交的 commit 记录会被合并成一个) git checkout -b dev-fix dev git push origin dev-fix:dev-fix step4 进行开发 step5 提交 pr(如果是正在进行中,开发还未完全结束,请在 pr 标题上加上 WIP 标识 如 [WIP] Dev 0.2.0 Add junit test code for [solidui-common] ;关联对应的 issue 等) step6 等待被合并 step7 删除 fix/future 分支 (可以在 github 页面上进行操作) git branch -d dev-fix git push","s":"2.1 分支结构","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#21-分支结构","p":775},{"i":792,"t":"SolidUI 前后端代码共用同一个代码库,但在开发上是分离的。在着手开发之前,请先将 SolidUI 项目 fork 一份到自己的 Github Repositories 中, 开发时请基于自己 Github Repositories 中的 SolidUI 代码库进行开发。 我们建议克隆 dev 分支命名为 dev-fix 来开发,同时在自己仓库新建 dev-fix 分支,直接在原分支上修改,如果后续 pr 以 squash 方式 merge 后,提交的 commit 记录会被合并成一个 #拉取分支 git clone https://github.com/{githubid}/SolidUI.git --branch dev #根据 dev 生成本地 dev-fix 分支 git checkout -b dev-fix dev #把本地 dev-fix 分支推到自己的仓库 git push origin dev-fix dev-fix","s":"2.2 开发指引","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#22-开发指引","p":775},{"i":794,"t":"如果您还不知道怎样向开源项目发起 PR,请参考About issues Issue 名称,应一句话简单描述您的问题或建议;为了项目的国际化推广,请用英文,或中英文双语书写 issue 每个 Issue,请至少带上 label.参考:issue #63","s":"2.3 Issue 提交指引","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#23-issue-提交指引","p":775},{"i":796,"t":"如果您还不知道怎样向开源项目发起 PR,请参考About pull requests 无论是 Bug 修复,还是新功能开发,请将 PR 提交到 dev 分支 PR 和提交名称遵循 (): 原则,详情可以参考Commit message 和 Change log 编写指南 如果 PR 中包含新功能,理应将文档更新包含在本次 PR 中 如果本次 PR 尚未准备好合并,请在名称头部加上 [WIP] 前缀(WIP = work-in-progress) 所有提交到 dev-* 分支的提交至少需要经过一次 Review 才可以被合并","s":"2.4 Pull Request(PR) 提交指引","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#24-pull-requestpr-提交指引","p":775},{"i":798,"t":"在贡献代码之前,可以了解一下什么样的提交在 Review 中是受欢迎的。简单来说,如果一项提交能带来尽可能多增益和尽可能少的副作用或风险,那它被合并的几率就越高,Review 的速度也会越快。风险大、价值低地提交是几乎不可能被合并的,并且有可能会被拒绝 Review。 2.5.1 增益​ 修复导致 Bug 的主要原因 添加或修复一个大量用户亟需的功能或问题 简单有效 容易测试,有测试用例 减少复杂度以及代码量 经社区讨论过的、确定需要改进的问题 2.5.2 副作用和风险​ 仅仅修复 Bug 的表面现象 引入复杂度高的新功能 为满足小众需求添加复杂度 改动稳定的现有 API 或语义 导致其他功能不能正常运行 添加大量依赖 随意改变依赖版本 一次性提交大量代码或改动 2.5.3 Reviewer 注意事项​ 请使用建设性语气撰写评论 如果需要提交者进行修改,请明确说明完成此次 Pull Request 所需要修改的所有内容 如果某次 PR 在合并后发现带来了新问题,Reviewer 需要向 PR 作者联系并沟通解决问题;如果无法联系到 PR 作者,Reviewer 需要将此次 PR 进行还原","s":"2.5 Review 标准","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#25-review-标准","p":775},{"i":801,"t":"3.1.1 如何成为 Committer​ 如果您对 SolidUI 提过颇具价值的 PR 并且被合并,或是连续贡献超过半年,且至少主导过一次版本的发布,您可以通过官方微信群找到 SolidUI 项目的一个 PMC ,如果他愿意提名您为 committer,并愿意为您陈述您的贡献给所有 PMC 和 Committer,那么接下来会发起一次投票;PMC 和其他 Committers 将会一起投票决定是否允许您的加入,如果得到足够票数,您将成为 SolidUI 项目的 Committer。 3.1.2 Committer 的权利​ 可以加入官方开发者微信群,参与讨论和制定 SolidUI 开发计划 可以对 Issue 进行管理,包括关闭、添加标签 可以创建和管理项目分支,dev 分支除外 可以对提交到 dev 分支的 PR 进行 Review 可以申请成为 Committee 成员","s":"3.1 关于 Committers(Collaborators)","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#31-关于-committerscollaborators","p":775},{"i":803,"t":"3.2.1 如何成为 Committee 成员​ 如果您是 SolidUI 项目的 Committer,并且您贡献的所有内容得到了其他 Committee 成员的认可,您可以申请成为 SolidUI Committee 成员,其他 Committee 成员将会一起投票决定是否允许您的加入,如果全票通过,您将成为 SolidUI Committee 成员。 3.2.2 Committee 成员的权利​ 可以合并其他 Committers 和贡献者提交到 dev 分支的 PR 可以参与决定 SolidUI 项目的 roadmap 和发展方向 可以参与新版本发布","s":"3.2 关于 Committee","u":"/SolidUI-Website/zh-CN/docs/development/develop-contributing","h":"#32-关于-committee","p":775},{"i":805,"t":"https://linkis.apache.org/zh-CN/docs/latest/development/development-specification/commit-message","s":"SolidUI Commit Message 须知","u":"/SolidUI-Website/zh-CN/docs/development/development-commit","h":"","p":804},{"i":807,"t":"一个好的 commit message 是能够帮助其他的开发者(或者未来的开发者)快速理解相关变更的上下文,同时也可以帮助项目管理人员确定该提交是否适合包含在发行版中。但当我们在查看了很多开源项目的 commit log 后,发现一个有趣的问题,一部分开发者,代码质量很不错,但是 commit message 记录却比较混乱,当其他贡献者或者学习者在查看代码的时候,并不能通过 commit log 很直观的了解 该提交前后变更的目的,正如 Peter Hutterer 所言:Re-establishing the context of a piece of code is wasteful. We can’t avoid it completely, so our efforts should go to reducing it as much as possible. Commit messages can do exactly that and as a result, a commit message shows whether a developer is a good collaborator. 因此,SolidUI 结合其他社区以及 Apache 官方文档制定了该规约。","s":"1.前言","u":"/SolidUI-Website/zh-CN/docs/development/development-commit","h":"#1前言","p":804},{"i":810,"t":"commit message 应该明确说明该提交解决了哪些问题(bug 修复、功能增强等),以便于用户开发者更好的跟踪问题,明确版本迭代过程中的优化情况。","s":"2.1 明确修改内容","u":"/SolidUI-Website/zh-CN/docs/development/development-commit","h":"#21-明确修改内容","p":804},{"i":812,"t":"当我们的改动较大的时候,commit message 最好能够关联 GitHub 上的相关 Issue 或者 Pull Request,这样,我们的开发者在查阅代码的时候能够通过关联信息较为迅速的了解改代码提交的上下文情景,如果当前 commit 针对某个 issue,那么可以在 Footer 部分关闭这个 issue。","s":"2.2 关联相应的Pull Request 或者Issue","u":"/SolidUI-Website/zh-CN/docs/development/development-commit","h":"#22-关联相应的pull-request-或者issue","p":804},{"i":814,"t":"格式化后的 CommitMessage 能够帮助我们提供更多的历史信息,方便快速浏览,同时也可以直接从 commit 生成 Change Log。 Commit message 应该包括三个部分:Header,Body 和 Footer。其中,Header 是必需的,Body 和 Footer 可以省略。 header​ Header 部分只有一行,包括三个字段:type(必需)、scope(可选)和 subject(必需)。 [DS-ISSUE编号][type] subject (1) type 用于说明 commit 的类别,只允许使用下面7个标识。 feat:新功能(feature) fix:修补bug docs:文档(documentation) style: 格式(不影响代码运行的变动) refactor:重构(即不是新增功能,也不是修改bug的代码变动) test:增加测试 chore:构建过程或辅助工具的变动 如果 type 为 feat 和 fix,则该 commit 将肯定出现在 Change log 之中。其他情况(docs、chore、style、refactor、test)建议不放入。 (2)scope scope 用于说明 commit 影响的范围,比如 server、remote 等,如果没有更合适的范围,你可以用 *。 (3) subject subject 是 commit 目的的简短描述,不超过50个字符。 Body​ Body 部分是对本次 commit 的详细描述,可以分成多行,换行符将以72个字符换行,避免自动换行影响美观。 Body 部分需要注意以下几点: 使用动宾结构,注意使用现在时,比如使用 change 而非 changed 或 changes 首字母不要大写 语句最后不需要 ‘.’ (句号) 结尾 Footer​ Footer只适用于两种情况 (1) 不兼容变动 如果当前代码与上一个版本不兼容,则 Footer 部分以 BREAKING CHANGE 开头,后面是对变动的描述、以及变动理由和迁移方法。 (2) 关闭 Issue 如果当前 commit 针对某个issue,那么可以在 Footer 部分关闭这个 issue,也可以一次关闭多个 issue 。 举个例子​ [SolidUI-001][docs-zh] add commit message commit message RIP build some conventions help the commit messages become clean and tidy help developers and release managers better track issues and clarify the optimization in the version iteration This closes #001","s":"2.3 统一的格式","u":"/SolidUI-Website/zh-CN/docs/development/development-commit","h":"#23-统一的格式","p":804},{"i":816,"t":"Dolphinscheduler Commit Message 须知 提交消息格式 关于提交消息 RocketMQ 社区操作约定","s":"3.参考文档","u":"/SolidUI-Website/zh-CN/docs/development/development-commit","h":"#3参考文档","p":804},{"i":819,"t":"创建相关 issues —— 贡献者(主导版本) 提交 PR —— 贡献者(主导版本) code review —— PMC成员 PR merge —— PMC成员 PR 提交到 dev 分支 —— 贡献者(主导版本) 提交相关文档到 SolidUI-Website(安装部署文档、用户使用文档、架构设计文档)提交 PR —— 贡献者(主导版本) SolidUI-Website code review —— PMC成员 SolidUI-Website PR merge —— PMC成员 SolidUI-Website PR 提交到 dev 分支 —— 贡献者(主导版本) 基于 dev 分支进行打包 (建立打包分支) & 安装部署测试 —— 贡献者(主导版本)/测试人员 邀请社区用户内测 —— 运营员/PMC成员 准备 Release Notes —— 贡献者(主导版本) 正式发布版本 —— 贡献者(主导版本) 准备软文 —— 贡献者(主导版本) 公众号发文宣传 —— 运营员/PMC成员 MeetUp 宣传版本特性 —— 运营员/PMC成员","s":"流程列表","u":"/SolidUI-Website/zh-CN/docs/development/development-construction","h":"#流程列表","p":817},{"i":822,"t":"Docker 1.13.1+ 方式1:从官网下载地址: https://github.com/CloudOrc/SolidUI/releases ,下载对应的安装包(整体安装包)。 方式2:根据SolidUI 自行编译出项目安装包。","s":"1.前置条件","u":"/SolidUI-Website/zh-CN/docs/development/development-docker","h":"#1前置条件","p":820},{"i":825,"t":"tar -zxvf solidui-x.x.x-bin.tar.gz cd solidui-x.x.x-bin/entrance-server docker build -f ./docker/Dockerfile -t solidui-entrance:x.x.x .","s":"2.1 服务端镜像构建-entrance-server","u":"/SolidUI-Website/zh-CN/docs/development/development-docker","h":"#21-服务端镜像构建-entrance-server","p":820},{"i":827,"t":"tar -zxvf solidui-x.x.x-bin.tar.gz cd solidui-x.x.x-bin # 修改.env配置文件 vi soliduimodelui/.env SNAKEMQ_LISTENER=0.0.0.0 SNAKEMQ_CONNECTOR=soliduimodelui docker build -f ./soliduimodelui/docker/Dockerfile -t soliduimodelui:x.x.x .","s":"2.2 服务端镜像构建-soliduimodelui (0.2.0版本后)","u":"/SolidUI-Website/zh-CN/docs/development/development-docker","h":"#22-服务端镜像构建-soliduimodelui-020版本后","p":820},{"i":829,"t":"tar -zxvf solidui-x.x.x-bin.tar.gz cd solidui-x.x.x-bin/solidui-web docker build -f ./docker/Dockerfile -t solidui-web:x.x.x .","s":"2.3 前端镜像构建","u":"/SolidUI-Website/zh-CN/docs/development/development-docker","h":"#23-前端镜像构建","p":820},{"i":833,"t":"该步骤仅第一次使用时需要执行,如果已有node环境,可跳过 将Node.js下载到本地,安装即可。下载地址:http://nodejs.cn/download/ (建议使用node v16版本)","s":"1.1 安装Node.js","u":"/SolidUI-Website/zh-CN/docs/development/development-front","h":"#11-安装nodejs","p":830},{"i":835,"t":"方式1:从github仓库 https://github.com/CloudOrc/SolidUI 获取项目的源代码。 方式2:从https://github.com/CloudOrc/SolidUI/releases 下载下载所需版本的源码包。","s":"1.2 源码获取","u":"/SolidUI-Website/zh-CN/docs/development/development-front","h":"#12-源码获取","p":830},{"i":838,"t":"在终端命令行中执行以下指令: #进入项目WEB根目录 cd solidui-x.x.x/solidui-web #安装项目所需依赖 npm install --legacy-peer-deps 该步骤仅第一次使用时需要执行。","s":"2.1 安装npm依赖","u":"/SolidUI-Website/zh-CN/docs/development/development-front","h":"#21-安装npm依赖","p":830},{"i":840,"t":"在终端命令行中执行以下指令: npm run build 上述命令执行成功后,会生成前端管理台安装包 dist,可以直接将该文件夹放进您的静态服务器中,或者参考安装文档,使用脚本进行部署安装。","s":"2.2. 打包项目","u":"/SolidUI-Website/zh-CN/docs/development/development-front","h":"#22-打包项目","p":830},{"i":843,"t":"现在都是PMC成员发起发版流程,有发版本权限。","s":"授权","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#授权","p":841},{"i":846,"t":"从dev分支作为待发布分支,如现在要发布${release_version}版本,则从待发布分支拉取新分支release-${release_version}-${condition_version}, 此后所有操作都在release-${release_version}-${condition_version}分支上进行。","s":"分支","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#分支","p":841},{"i":848,"t":"如当前开发的源码分支为dev,需要发布0.1.0的版本,创建分支:release-0.1.0-rc1","s":"基于待发布的开发分支,创建release-${release_version}-rcx分支","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#基于待发布的开发分支创建release-release_version-rcx分支","p":841},{"i":850,"t":"git tag -a release-0.1.0-rc1 -m \"release 0.1.0-rc1\" git push origin release-0.1.0-rc1","s":"tag","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#tag","p":841},{"i":852,"t":"#-b release-0.1.0-rc1 指定clone分支 -c(config) 指定使用的配置 core.autocrlf=false 关闭自动换行符的转换 git clone -b release-0.1.0-rc1 -c core.autocrlf=false git@github.com:CloudOrc/SolidUI.git","s":"clone对应的release分支到本地","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#clone对应的release分支到本地","p":841},{"i":855,"t":"准备的物料最好在window和类unix系统中都进行验证,避免系统兼容问题 如换行符问题","s":"验证物料包","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#验证物料包","p":841},{"i":858,"t":"issue 发起投票,PMC需要先按照文档检查版本的正确性,然后再进行投票。 至少统计到3个+1 PMC member 票后,才能结束投票。","s":"社区投票阶段","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#社区投票阶段","p":841},{"i":860,"t":"如果投票已达到所需票数后,进行结果统计前,需要直接回复投票邮件,说明关闭本次投票线程。","s":"关闭投票线程","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#关闭投票线程","p":841},{"i":862,"t":"如果反馈了一些严重问题,需要修复后,重新发布,则需要取消投票,发布经理需要新起取消投票issue并进行说明。","s":"取消投票(如果需要取消)","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#取消投票如果需要取消","p":841},{"i":864,"t":"issue 公布结果","s":"宣布投票结果","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#宣布投票结果","p":841},{"i":867,"t":"进入到创建页面 https://github.com/CloudOrc/SolidUI/releases/new 基于之前SolidUI-0.1.0-rc1分支创建名为0.1.0的tag, 填写标题SolidUI Release-0.1.0,将该版本的release notes 写入 检查 合并${release_version}-RC分支到master分支(如果未合并)","s":"GitHub 版本创建","u":"/SolidUI-Website/zh-CN/docs/development/development-release","h":"#github-版本创建","p":841},{"i":871,"t":"编译环境要求: 必须 JDK8 以上,Oracle/Sun 和 OpenJDK都支持。 自行按照Maven环境,建议使用3.5.4以上版本。或者直接使用源码中的maven-wrapper。","s":"1.1 环境要求","u":"/SolidUI-Website/zh-CN/docs/development/development-server","h":"#11-环境要求","p":868},{"i":873,"t":"方式1:从github仓库 https://github.com/CloudOrc/SolidUI 获取项目的源代码。 方式2:从https://github.com/CloudOrc/SolidUI/releases 下载下载所需版本的源码包。","s":"1.2 源码获取","u":"/SolidUI-Website/zh-CN/docs/development/development-server","h":"#12-源码获取","p":868},{"i":875,"t":"cd solidui-x.x.x-src # 编译 mvn clean -N install mvn clean install -Dmaven.test.skip=true","s":"2.服务端编译","u":"/SolidUI-Website/zh-CN/docs/development/development-server","h":"#2服务端编译","p":868},{"i":877,"t":"cd solidui-x.x.x-src # 编译 mvn clean -N install mvn clean install -Dmaven.test.skip=true -Prelease","s":"3.全量编译(服务端和前端)","u":"/SolidUI-Website/zh-CN/docs/development/development-server","h":"#3全量编译服务端和前端","p":868},{"i":880,"t":"首先,用户应先参考公众号和SolidUI官网的相关信息。这两个平台可能已经包含了用户所需的答案或者相关的解决方案。这个步骤能有效节省用户的时间,也能减轻开发团队的工作压力。 社区官网: https://cloudorc.github.io/SolidUI-Website/ 公众号:SolidUI 然而,如果这个步骤不能满足用户的需求,我们进入到第二阶段:让用户提交issue。在这个阶段,用户可以将他们遇到的问题或者需求描述清楚,并提交到项目的issue追踪系统中。这不仅可以帮助开发团队更好地理解问题,也能让其他遇到相同问题的用户参考。 issue地址:https://github.com/CloudOrc/SolidUI/issues","s":"解答问题流程","u":"/SolidUI-Website/zh-CN/docs/faq/faq/","h":"#解答问题流程","p":878},{"i":882,"t":"总的来说,这个问题解答流程是一个旨在提高效率和透明度的方法。它不仅能帮助用户找到答案,也有助于项目团队更好地管理和追踪问题。通过公众号和官网的资料查阅,用户可以自我解决问题;而通过issue提交,用户和开发团队可以更好地沟通,共同推动项目的进步。","s":"结语","u":"/SolidUI-Website/zh-CN/docs/faq/faq/","h":"#结语","p":878},{"i":884,"t":"AI生成图形模型。","s":"介绍","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":886,"t":"极简流程,简洁设计 多种2D图例 多种3D图例 多种3D场景 支持多种数据源 支持Huggingface space 支持插件机器人 支持SolidUI-Model 支持Large Language Model 容器化部署","s":"核心特点","u":"/SolidUI-Website/zh-CN/docs/intro","h":"#核心特点","p":883},{"i":888,"t":"quick-start","s":"快速开始","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":890,"t":"随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相结合,实现文生图功能。通过构建自研的文生图语言模型,SolidUI 利用 RLHF (Reinforcement Learning Human Feedback) 流程实现从文本描述到图形生成的过程。","s":"这是什么?","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":892,"t":"SolidUI 的文生图语言模型是一个深度学习模型,可以将用户输入的自然语言描述转换为具体的图形表示。这个模型在大量文本和图形数据上进行训练,学习到从文本到图形的映射关系。为了实现这一目标,SolidUI 的自研文生图语言模型具有以下特点: 结合 NLP 和计算机图形学,实现从文本描述到图形生成的过程 可处理多种类型的图形,如 2D、3D 和场景等 模型训练过程涉及大量的文本和图形数据,以确保生成的图形质量和准确性","s":"自研文生图语言模型","u":"/SolidUI-Website/zh-CN/docs/intro","h":"#自研文生图语言模型","p":883},{"i":894,"t":"SolidUI 使用 RLHF (Reinforcement Learning Human Feedback) 流程来优化文生图语言模型的性能。该流程利用人类反馈来指导模型的学习过程,从而使模型能够更好地满足用户需求。RLHF 流程的主要步骤包括: 收集反馈:用户对生成的图形进行评价,提供关于图形质量和准确性的反馈。 更新模型:根据收集到的反馈,使用强化学习算法对模型进行更新,以提高生成图形的质量和准确性。 迭代优化:重复收集反馈和更新模型的过程,直到模型性能达到满意的水平。 通过这一流程,SolidUI 的文生图语言模型能够不断地从用户反馈中学习和进步,生成更高质量和准确性的图形。","s":"RLHF 流程","u":"/SolidUI-Website/zh-CN/docs/intro","h":"#rlhf-流程","p":883},{"i":896,"t":"SolidUI v0.1.0 的完整文档列表,请参见 SolidUI-Website","s":"文档","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":898,"t":"我们非常欢迎和期待更多的贡献者参与共建 SolidUI, 不论是代码、文档,或是其他能够帮助到社区的贡献形式。","s":"贡献","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":900,"t":"对 SolidUI 的任何问题和建议,可以提交 issue,以便跟踪处理和经验沉淀共享 twitter youtube bilibili (in Chinese) discord","s":"联系我们","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":902,"t":"我们创建了一个 issue [Who is Using SolidUI] 以便用户反馈和记录谁在使用 SolidUI.","s":"谁在使用 SolidUI","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":904,"t":"Thanks to everyone who contributed PR~ 🎉🎉🎉","s":"Contributors","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":906,"t":"我们非常感谢您对我们项目和开发工作的支持和认可。在开源软件开发过程中,我们深知用户和社区的反馈与支持是至关重要的。我们的项目已经提供了 README 和 Issue 系统,方便用户进行部署和解决问题,同时也有助于提升项目的活跃度。我们会优先关注 issue 中提出的问题。 如果您对于社区有兴趣,欢迎参与(代码,文档,使用),欢迎任何形式参与。 如果您觉得 SolidUI 项目对您有价值,并愿意支持我们的开发工作,请为项目点个小星星或赞助我们 。","s":"感谢与赞助","u":"/SolidUI-Website/zh-CN/docs/intro","h":"","p":883},{"i":909,"t":"本条款旨在为所有参与共建的社区成员提供一个友好、宽松且互利的环境。","s":"开源社区共建条款","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#开源社区共建条款","p":907},{"i":911,"t":"在各自的社区分享有价值的技术文章、教程、案例等,让成员了解并学习相关技术。 定期发布社区动态和进展,让成员了解共建社区的最新状况。","s":"分享有价值的内容","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#分享有价值的内容","p":907},{"i":913,"t":"组织线上或线下 Meetup、研讨会、技术沙龙等活动,邀请成员参加。 在活动中进行技术交流和讨论,以增进成员之间的了解和合作。","s":"举办线上或线下活动","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#举办线上或线下活动","p":907},{"i":915,"t":"鼓励成员在社区内互动和交流,提问、回答问题、分享经验等。 在社区内设立专门的讨论区,方便成员讨论共建议题和技术问题。","s":"互动与交流","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#互动与交流","p":907},{"i":917,"t":"与其他社区合作,共同举办活动、分享资源,交流技术经验。 鼓励成员参与共建项目,共同创作开源软件和技术解决方案。","s":"合作与共创","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#合作与共创","p":907},{"i":919,"t":"试用新功能和环境时,优先通知共建社区成员,并邀请他们一同测试和提出反馈。 在共建社区内分享有价值的资源,以便其他成员可以更好地了解和学习相关技术。","s":"试用环境及资源共享","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#试用环境及资源共享","p":907},{"i":921,"t":"当共建社区成员提出 Issue 时,优先予以关注和解决。 在解决 Issue 的过程中,积极与共建社区成员沟通,确保问题得到妥善处理。","s":"优先解决共建 Issue","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#优先解决共建-issue","p":907},{"i":923,"t":"尊重他人,积极参与社区建设,维护良好的社区氛围。 遵守社区的行为准则,不参与或纵容任何形式的歧视、骚扰或不当行为。 我们希望这些条款能为社区共建提供一个明确的指导方针,让大家共同运营好社区。感谢您的支持与参与!","s":"遵守行为准则","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#遵守行为准则","p":907},{"i":925,"t":"阮一峰-中文技术文档的写作规范","s":"中文文档写作规范","u":"/SolidUI-Website/zh-CN/docs/operational/community-operation/","h":"#中文文档写作规范","p":907},{"i":928,"t":"测试场景 输入 预期输出 正确的用户名和密码 正确的用户名和密码 成功登录 错误的用户名和密码 错误的用户名和密码 登录失败并提示错误信息 空用户名和密码 空用户名和密码 登录失败并提示错误信息","s":"登录","u":"/SolidUI-Website/zh-CN/docs/test/test-case/","h":"#登录","p":926},{"i":930,"t":"测试场景 输入 预期输出 显示数据 无 显示所有数据源,包括序号,数据源名称,数据源类型,用户,描述信息和操作按钮 添加MySQL数据源 数据源名称,数据源驱动,URL,用户名,密码,备注 添加成功后,能够在数据源列表中看到新增的MySQL数据源 添加Doris数据源 数据源名称,数据源驱动,URL,用户名,密码,备注 添加成功后,能够在数据源列表中看到新增的Doris数据源 编辑数据源 要编辑的数据源的名称,新的数据源驱动,URL,用户名,密码,备注 编辑成功后,能够在数据源列表中看到编辑后的数据源信息 单行删除数据源 要删除的数据源的名称 删除成功后,该数据源不再显示在数据源列表中 添加数据源,名称为空 空字符串 添加失败,并提示错误信息 添加MySQL数据源,URL/用户/密码为空 数据源名称,数据源驱动,URL,空字符串,密码,备注 添加失败,并提示错误信息 添加Doris数据源,URL/用户/密码为空 数据源名称,数据源驱动,URL,空字符串,密码,备注 添加失败,并提示错误信息 编辑数据源,名称/URL/用户/密码为空 不存在的名称/URL/用户/密码为空 编辑失败,并提示错误信息 数据源过期 单行选择数据源过期 成功","s":"数据源管理","u":"/SolidUI-Website/zh-CN/docs/test/test-case/","h":"#数据源管理","p":926},{"i":932,"t":"测试场景 输入 预期输出 添加项目 项目名称,项目描述,项目URL 添加成功后,能够在项目列表中看到新增的项目信息 查询项目列表 项目名称 输出项目列表 编辑项目名 项目名称 编辑成功后,能够在项目列表中看到编辑的项目信息 删除项目 要删除的项目的名称 删除成功后,该项目不再显示在项目列表中 添加项目,名称为空 空字符串 添加失败,并提示错误信息 添加项目,描述为空 空字符串 添加成功后,能够在项目列表中看到新增的项目信息,但描述信息为空 编辑项目,名称不存在 空字符串 编辑失败,并提示错误信息","s":"项目管理","u":"/SolidUI-Website/zh-CN/docs/test/test-case/","h":"#项目管理","p":926},{"i":934,"t":"编号 测试场景 输入 预期输出 1 创建场景 场景名称: \"测试场景1\" 新场景创建成功,场景列表中显示\"测试场景1\" 2 创建页 场景: \"测试场景1\", 页名称: \"测试页1\" 新页创建成功,场景\"测试场景1\"下的页列表中显示\"测试页1\" 3 添加柱形图图例 场景: \"测试场景1\", 页: \"测试页1\", 图例名称: \"柱形图1\" 图例创建成功,\"测试页1\"中显示\"柱形图1\" 4 打开数据选择滑窗 场景: \"测试场景1\", 页: \"测试页1\", 图例: \"柱形图1\" 数据选择滑窗打开成功,显示数据源类型、数据源和SQL输入框 5 选择数据源类型 数据源类型: \"数据库\" 数据源类型选择成功,显示数据库相关的数据源选项 6 选择数据源 数据源: \"MySQL数据库1\" 数据源选择成功,可以输入SQL查询语句 7 输入SQL查询语句 SQL: \"SELECT category, value FROM sample_data\" SQL查询语句输入成功,柱形图1显示SQL查询返回的数据 8 保存页面 场景: \"测试场景1\", 页: \"测试页1\" 页面保存成功,包括图例和关联的数据设置 9 预览场景 场景: \"测试场景1\" 预览成功,可以按照场景和页的顺序预览 10 编辑场景名称 原场景名称: \"测试场景1\", 新场景名称: \"测试场景1-修改\" 场景名称修改成功,场景列表中显示\"测试场景1-修改\" 11 删除场景 场景名称: \"测试场景1-修改\" 场景删除成功,场景列表中不再显示\"测试场景1-修改\" 12 编辑页名称 场景: \"测试场景1\", 原页名称: \"测试页1\", 新页名称: \"测试页1-修改\" 页名称修改成功,场景\"测试场景1\"下的页列表中显示\"测试页1-修改\" 13 删除页 场景: \"测试场景1\", 页名称: \"测试页1-修改\" 页删除成功,场景\"测试场景1\"下的页列表中不再显示\"测试页1-修改\" 14 编辑图例名称 场景: \"测试场景1\", 页: \"测试页1\", 原图例名称: \"柱形图1\", 新图例名称: \"柱形图1-修改\" 图例名称修改成功,\"测试页1\"中显示\"柱形图1-修改\" 15 删除图例 场景: \"测试场景1\", 页: \"测试页1\", 图例名称: \"柱形图1-修改\" 图例删除成功,\"测试页1\"中不再显示\"柱形图1-修改\" 16 编辑SQL查询语句 场景: \"测试场景1\", 页: \"测试页1\", 图例: \"柱形图1\", 新SQL: \"SELECT category, value * 2 AS double_value FROM sample_data\" SQL查询语句修改成功,柱形图1显示新SQL查询返回的数据 17 撤销图例编辑 场景: \"测试场景1\", 页: \"测试页1\", 图例: \"柱形图1\" 撤销成功,图例恢复到编辑前的状态","s":"设计","u":"/SolidUI-Website/zh-CN/docs/test/test-case/","h":"#设计","p":926},{"i":936,"t":"编号 测试场景 输入 预期输出 1 打开测试页面 场景: \"测试场景1\", 页: \"测试页1\" 显示测试页面 2 打开ModelUI选择滑窗 场景: \"测试场景1\", 页: \"测试页1\",在下拉框选择模型 页面右侧显示:ModelUI窗口,显示选中的模型 3 画图一个二维图形 在ModelUI会话面板,输入:画出方程:“3x^2 + 4x - 5 = 0”的图形 在坐标图中绘制出方程:画出方程:“3x^2 + 4x - 5 = 0”的图形","s":"ModelUI","u":"/SolidUI-Website/zh-CN/docs/test/test-case/","h":"#modelui","p":926},{"i":939,"t":"快速体验 从 Standalone 开始 从 Docker 开始 从 演示环境 开始","s":"开始","u":"/SolidUI-Website/zh-CN/docs/user-guide/quick-start","h":"#开始","p":937},{"i":941,"t":"默认用户名密码:admin/admin","s":"访问服务","u":"/SolidUI-Website/zh-CN/docs/user-guide/quick-start","h":"#访问服务","p":937}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/465",[0,3.671,1,3.025,2,4.033,3,3.051,4,3.025,5,3.715,6,2.834,7,3.025,8,1.229,9,2.934,10,3.025,11,3.025,12,3.715,13,3.715,14,3.813,15,2.635,16,2.405,17,1.894,18,2.405,19,3.11,20,3.051,21,2.934,22,3.025,23,3.025,24,2.219,25,2.934,26,1.674,27,3.025,28,1.515,29,2.85,30,1.958,31,2.934,32,2.458,33,2.514,34,2.934,35,2.934,36,3.025,37,3.307,38,3.919,39,3.919,40,3.715,41,2.355,42,1.626,43,2.934,44,2.934,45,2.514,46,2.514,47,2.514,48,2.514,49,2.458,50,2.514,51,1.991,52,2.572,53,2.514,54,1.434,55,1.626,56,1.65,57,1.725]],["t/467",[1,3.041,2,4.049,3,3.062,4,3.041,5,3.729,6,2.845,7,3.041,8,1.232,9,2.95,10,3.041,11,3.041,12,3.729,13,3.729,14,3.827,15,2.65,16,2.419,17,1.905,18,2.419,19,3.122,20,3.062,21,2.95,22,3.041,23,3.041,24,2.231,25,2.95,26,1.684,27,3.041,28,1.523,29,2.866,30,1.969,31,2.95,32,2.472,33,2.528,34,2.95,35,2.95,36,3.041,37,3.32,38,3.934,39,3.934,40,3.729,41,2.368,42,1.635,43,2.95,44,2.95,45,2.528,46,2.528,47,2.528,48,2.528,49,2.472,50,2.528,51,2.002,52,2.587,53,2.528,54,1.442,55,1.635,56,1.659,57,1.735]],["t/469",[3,3.347,8,1.096,58,6.728,59,6.015,60,6.728,61,6.728,62,4.882,63,6.271,64,5.07,65,6.22,66,6.728]],["t/471",[0,5.112,3,3.09,42,2.264,52,3.582,59,5.732,67,4.88,68,4.351,69,6.21,70,5.392,71,6.21,72,6.21,73,6.21,74,7.606,75,5.392,76,6.21,77,6.21,78,6.21,79,6.21,80,6.21,81,5.392,82,6.21]],["t/473",[75,4.834,81,4.834,83,7.104,84,5.847,85,5.146,86,4.834,87,5.568,88,5.568,89,6.568,90,4.583,91,5.568,92,4.04,93,5.568,94,5.568,95,7.104,96,3.901,97,5.568,98,5.147,99,7.104,100,5.568,101,4.834,102,5.147,103,4.672,104,5.568,105,5.568,106,2.77,107,2.255,108,5.568,109,4.196,110,5.147]],["t/475",[3,2.809,14,3.51,111,2.981,112,3.255,113,5.899,114,4.901,115,5.646,116,5.631,117,6.836,118,5.22,119,4.255,120,4.901,121,4.341,122,5.646,123,5.646,124,2.61,125,5.646,126,5.646,127,5.22,128,3.829,129,4.436,130,5.22,131,5.646,132,3.42,133,4.901,134,4.647,135,3.111,136,5.646,137,2.61,138,5.646]],["t/477",[41,3.74,112,3.217,114,6.149,139,6.548,140,7.082,141,5.139,142,3.992]],["t/479",[17,1.617,24,1.894,30,1.672,42,1.388,51,1.7,103,2.504,106,1.894,142,3.966,143,4.906,144,2.054,145,5.309,146,3.52,147,4.204,148,2.368,149,2.959,150,3.134,151,4.059,152,3.323,153,4.11,154,5.945,155,3.799,156,4.11,157,4.23,158,5.945,159,2.885,160,4.11,161,2.262,162,4.763,163,4.23,164,2.668,165,3.52,166,4.11,167,2.668,168,2.504,169,2.869,170,4.763,171,2.992,172,1.97,173,2.763]],["t/481",[28,3.124,42,2.333,51,2.12,142,4.557,143,4.209,149,3.451,151,3.691,153,4.626,155,2.806,159,2.996,160,4.09,161,2.327,163,4.761,164,3.327,166,4.626,167,3.327,168,3.123,169,3.579,174,6.725,175,3.731,176,4.483,177,3.327,178,3.731,179,3.579]],["t/483",[17,1.504,20,3.768,24,3.383,68,5.075,107,1.434,141,2.569,143,4.057,145,4.633,148,4.228,151,3.001,152,2.145,153,3.942,159,1.369,160,4.345,161,1.138,163,2.329,164,3.645,166,3.325,172,1.832,176,4.764,179,3.921,180,4.283,181,3.152,182,5.203,183,6.289,184,4.517,185,3.273,186,2.448,187,3.54,188,2.48,189,4.649,190,5.708,191,5.355,192,5.355,193,5.597,194,3.273,195,3.325,196,3.074,197,1.832,198,3.074,199,3.54,200,1.272,201,5.078,202,2.329,203,3.273,204,2.48,205,2.668,206,3.273,207,4.088,208,3.325,209,2.782,210,3.54,211,2.668,212,2.401,213,2.914,214,3.273,215,3.54]],["t/485",[0,3.479,1,2.866,2,3.886,3,2.939,4,2.866,5,3.579,6,2.731,7,2.866,8,1.264,9,2.78,10,2.866,11,2.866,12,3.579,13,3.579,14,3.673,15,2.497,16,2.279,17,1.795,18,2.279,19,2.997,20,2.939,21,2.78,22,2.866,23,2.866,24,2.103,25,2.78,26,1.587,27,2.866,28,2.313,29,2.701,30,1.855,31,2.78,32,2.329,33,2.382,34,2.78,35,2.78,36,2.866,37,3.186,38,3.775,39,3.775,40,3.579,41,2.232,42,1.541,43,2.78,44,2.78,45,2.382,46,2.382,47,2.382,48,2.382,49,2.329,50,2.382,51,1.887,52,2.438,53,2.382,54,1.899,55,1.541,56,2.185,57,2.285,216,3.186,217,3.321,218,2.701]],["t/487",[1,2.881,2,3.9,3,2.95,4,2.881,5,3.592,6,2.741,7,2.881,8,1.266,9,2.795,10,2.881,11,2.881,12,3.592,13,3.592,14,3.687,15,2.51,16,2.291,17,1.805,18,2.291,19,3.008,20,2.95,21,2.795,22,2.881,23,2.881,24,2.114,25,2.795,26,1.595,27,2.881,28,2.32,29,2.715,30,1.865,31,2.795,32,2.342,33,2.394,34,2.795,35,2.795,36,2.881,37,3.198,38,3.789,39,3.789,40,3.592,41,2.244,42,1.549,43,2.795,44,2.795,45,2.394,46,2.394,47,2.394,48,2.394,49,2.342,50,2.394,51,1.897,52,2.451,53,2.394,54,1.906,55,1.549,56,2.193,57,2.293,216,3.198,217,3.338,218,2.715]],["t/489",[6,2.332,8,0.822,26,1.894,37,2.721,161,1.622,197,2.611,205,3.802,212,3.422,219,3.756,220,4.38,221,3.802,222,5.236,223,4.38,224,3.802,225,4.143,226,3.224,227,3.535,228,5.045,229,3.802,230,5.045,231,3.802,232,3.137,233,3.224,234,3.964,235,3.535,236,3.422,237,4.024,238,3.535,239,2.374,240,3.964,241,2.781,242,3.661,243,3.137,244,3.756,245,4.38,246,4.38,247,5.045,248,3.802,249,5.045,250,3.535,251,3.964,252,5.045,253,3.056,254,5.045,255,2.374,256,3.661,257,3.964]],["t/492",[5,3.323,6,2.972,8,0.62,28,1.293,30,1.672,32,2.098,37,2.959,85,2.504,107,1.542,124,3.253,133,3.306,137,2.972,159,2.487,161,1.764,219,3.966,220,3.306,221,5.303,222,2.992,223,3.306,224,2.869,227,4.93,231,2.869,232,2.368,233,2.433,234,2.992,237,2.054,255,1.792,258,3.808,259,3.808,260,3.52,261,4.31,262,3.134,263,2.992,264,2.869,265,2.668,266,3.52,267,5.621,268,5.486,269,5.486,270,3.808,271,3.808,272,5.072,273,2.196,274,3.306,275,2.582,276,2.992,277,3.306,278,5.486,279,4.516,280,2.992,281,2.763,282,3.808,283,3.808,284,3.808,285,3.134,286,2.668,287,3.808,288,3.808,289,3.808,290,4.763,291,3.52,292,3.808,293,3.52,294,2.992,295,3.808,296,5.486,297,3.306,298,3.52,299,2.433,300,1.76,301,2.368,302,3.134]],["t/494",[200,1.005,219,4.502,227,3.049,240,3.847,241,3.149,303,4.352,304,7.351,305,5.628,306,6.533,307,5.7,308,2.796,309,2.781,310,3.28,311,5.566,312,2.796,313,2.796,314,2.796,315,4.577,316,2.796,317,2.641,318,2.796,319,7.222,320,2.796,321,2.796,322,5.343,323,6.533,324,5.343,325,5.343,326,5.343,327,2.796,328,4.352,329,4.352,330,2.796,331,2.428,332,4.004,333,2.428,334,1.416,335,3.514,336,4.352,337,3.671,338,3.778,339,4.352,340,2.571,341,3.419,342,3.671,343,3.671,344,1.63,345,4.352,346,5.343,347,2.796,348,4.352,349,2.585,350,1.694,351,2.796,352,2.796,353,2.796,354,1.739,355,1.416,356,1.959,357,1.507,358,2.796,359,2.585,360,2.767,361,2.796,362,2.302,363,2.796,364,2.428,365,2.302,366,3.671,367,2.796,368,2.307,369,1.416,370,1.072,371,1.63,372,1.63,373,1.281,374,2.302,375,0.879,376,1.63,377,1.416,378,4.352,379,3.158,380,4.031,381,1.507,382,1.014,383,1.342,384,2.796,385,1.63,386,1.507,387,1.63,388,1.416,389,1.63,390,1.576,391,2.298,392,1.142,393,3.671,394,0.919,395,3.187,396,1.072]],["t/496",[26,2.116,30,2.041,59,4.754,84,2.507,111,1.609,135,1.679,144,1.643,149,2.507,151,3.251,161,2.028,172,1.576,186,2.652,216,3.402,219,4.197,235,2.134,237,1.643,240,2.393,241,3.946,245,2.644,248,2.295,305,5.612,332,5.513,333,6.466,334,4.894,335,4.468,368,3.574,369,4.036,370,3.058,395,2.644,397,2.644,398,3.046,399,2.644,400,3.652,401,2.21,402,2.562,403,2.21,404,2.134,405,2.644,406,5.637,407,2.917,408,4.64,409,3.046,410,2.816,411,3.046,412,2.644,413,2.393,414,5.637,415,4.278,416,2.393,417,4.648,418,2.816,419,2.681,420,2.816,421,4.754,422,3.046,423,2.393,424,4.898,425,2.134,426,3.046,427,2.507,428,3.046,429,3.046,430,3.046,431,2.816,432,2.644,433,2.816,434,3.046]],["t/498",[8,1.177,42,2.088,172,3.741,212,3.883,216,3.088,219,3.227,236,3.883,237,3.088,238,4.011,242,4.154,243,3.56,251,4.499,253,3.468,255,2.694,256,4.154,257,4.499,402,3.156,435,4.315,436,5.726,437,5.449,438,4.971,439,3.468,440,5.726,441,4.499,442,4.713,443,4.971,444,4.713,445,4.971,446,3.659,447,4.011,448,3.883]],["t/500",[8,1.1,16,2.779,17,1.484,42,1.274,54,1.968,55,2.232,56,2.265,57,2.368,107,1.415,124,3.123,128,2.37,137,1.615,142,1.969,161,1.657,168,2.298,197,1.808,229,3.883,255,1.644,264,2.633,273,2.016,286,2.448,407,2.666,435,2.633,449,2.746,450,4.061,451,4.959,452,2.746,453,3.034,454,3.034,455,2.064,456,1.808,457,3.204,458,4.059,459,3.739,460,3.034,461,2.448,462,1.885,463,1.845,464,2.876,465,2.876,466,2.448,467,3.034,468,2.37,469,2.633,470,2.016,471,3.034,472,2.535,473,3.034,474,3.034,475,3.034,476,2.904,477,2.746,478,3.034,479,2.225,480,2.233,481,2.448,482,2.535,483,3.034,484,2.117,485,1.885,486,2.876,487,2.633,488,3.034,489,2.535,490,3.034,491,3.034,492,3.034,493,2.448,494,2.298,495,4.474,496,2.876,497,2.535,498,2.37,499,3.389,500,2.633,501,2.016,502,2.876,503,3.034,504,2.746,505,3.034,506,2.876,507,2.746,508,2.746,509,2.298]],["t/502",[0,3.479,1,2.866,2,3.886,3,2.939,4,2.866,5,3.579,6,2.731,7,2.866,8,1.264,9,2.78,10,2.866,11,2.866,12,3.579,13,3.579,14,3.673,15,2.497,16,2.279,17,1.795,18,2.279,19,2.997,20,2.939,21,2.78,22,2.866,23,2.866,24,2.103,25,2.78,26,1.587,27,2.866,28,2.313,29,2.701,30,1.855,31,2.78,32,2.329,33,2.382,34,2.78,35,2.78,36,2.866,37,3.186,38,3.775,39,3.775,40,3.579,41,2.232,42,1.541,43,2.78,44,2.78,45,2.382,46,2.382,47,2.382,48,2.382,49,2.329,50,2.382,51,1.887,52,2.438,53,2.382,54,1.899,55,1.541,56,2.185,57,2.285,216,3.186,217,3.321,218,2.701]],["t/504",[1,2.881,2,3.9,3,2.95,4,2.881,5,3.592,6,2.741,7,2.881,8,1.266,9,2.795,10,2.881,11,2.881,12,3.592,13,3.592,14,3.687,15,2.51,16,2.291,17,1.805,18,2.291,19,3.008,20,2.95,21,2.795,22,2.881,23,2.881,24,2.114,25,2.795,26,1.595,27,2.881,28,2.32,29,2.715,30,1.865,31,2.795,32,2.342,33,2.394,34,2.795,35,2.795,36,2.881,37,3.198,38,3.789,39,3.789,40,3.592,41,2.244,42,1.549,43,2.795,44,2.795,45,2.394,46,2.394,47,2.394,48,2.394,49,2.342,50,2.394,51,1.897,52,2.451,53,2.394,54,1.906,55,1.549,56,2.193,57,2.293,216,3.198,217,3.338,218,2.715]],["t/506",[159,2.199,172,2.942,235,3.983,236,3.856,237,3.066,239,2.675,242,4.125,243,3.535,300,2.628,401,4.125,402,4.354,403,4.125,404,5.043,416,4.467,485,3.882,510,7.199,511,5.685,512,5.043,513,5.685,514,5.685,515,4.936,516,4.68,517,5.685,518,4.936,519,3.856,520,4.936,521,5.685,522,3.856,523,4.936]],["t/508",[109,3.875,159,1.989,172,4.137,200,1.848,219,4.244,233,4.312,235,3.602,237,2.773,239,2.419,241,3.719,242,3.731,243,3.197,300,2.377,332,3.602,368,2.913,370,3.382,401,5.464,402,4.696,403,3.731,404,4.727,413,4.04,416,4.04,424,3.382,512,5.276,522,3.487,523,4.464,524,4.754,525,4.464,526,5.085,527,4.233,528,4.233]],["t/510",[42,2.613,51,3.2,107,2.286,117,6.222,147,4.039,161,1.815,172,2.921,236,3.829,237,4.467,243,3.51,262,4.647,279,4.647,280,4.436,399,4.901,400,6.508,405,4.901,415,3.829,438,6.222,485,3.045,529,5.646,530,5.646,531,3.713,532,5.646,533,5.646,534,5.646]],["t/512",[8,0.806,129,3.891,147,2.791,152,4.772,155,2.926,161,2.116,172,3.825,195,4.206,219,4.167,233,5.241,237,2.671,241,3.628,332,3.47,368,3.402,370,3.258,391,2.616,402,2.73,413,3.891,424,4.329,446,4.206,526,5.937,527,4.077,528,4.077,535,3.593,536,4.579,537,3.165,538,4.579,539,4.579,540,3.593,541,6.582,542,4.579,543,4.579,544,4.077]],["t/514",[8,0.974,42,2.18,172,3.845,212,4.056,237,3.225,238,4.19,243,3.718,251,4.699,253,3.623,255,2.814,256,4.339,257,4.699,391,3.158,402,3.296,437,4.507,444,4.923,445,5.192,446,3.822,447,4.19,448,4.056,456,3.094,485,4.008,545,5.98,546,5.98,547,5.98,548,5.98]],["t/516",[8,1.1,16,2.779,17,1.484,42,1.274,54,1.968,55,2.232,56,2.265,57,2.368,107,1.415,124,3.123,128,2.37,137,1.615,142,1.969,161,1.657,168,2.298,197,1.808,229,3.883,255,1.644,264,2.633,273,2.016,286,2.448,407,2.666,435,2.633,449,2.746,450,4.061,451,4.959,452,2.746,453,3.034,454,3.034,455,2.064,456,1.808,457,3.204,458,4.059,459,3.739,460,3.034,461,2.448,462,1.885,463,1.845,464,2.876,465,2.876,466,2.448,467,3.034,468,2.37,469,2.633,470,2.016,471,3.034,472,2.535,473,3.034,474,3.034,475,3.034,476,2.904,477,2.746,478,3.034,479,2.225,480,2.233,481,2.448,482,2.535,483,3.034,484,2.117,485,1.885,486,2.876,487,2.633,488,3.034,489,2.535,490,3.034,491,3.034,492,3.034,493,2.448,494,2.298,495,4.474,496,2.876,497,2.535,498,2.37,499,3.389,500,2.633,501,2.016,502,2.876,503,3.034,504,2.746,505,3.034,506,2.876,507,2.746,508,2.746,509,2.298]],["t/518",[8,1.29,18,2.177,19,2.901,33,2.275,45,2.275,46,2.275,47,2.275,48,2.275,49,2.224,54,2.323,55,2.085,56,2.116,57,2.569,155,3.379,218,2.579,350,2.445,390,3.223,549,3.732,550,3.171,551,4.654,552,3.223,553,4.072,554,2.928,555,5.062,556,4.494,557,2.579,558,3.171,559,3.042,560,2.828,561,2.928,562,2.445,563,4.007,564,3.504,565,2.737,566,2.737,567,3.171,568,3.171,569,3.042,570,3.582,571,2.928,572,3.171,573,4.819,574,3.042,575,4.618,576,4.965,577,2.928,578,2.51,579,2.655,580,3.171,581,2.224,582,2.224,583,2.959,584,2.737,585,3.171,586,3.042,587,3.042,588,3.322,589,3.322]],["t/520",[8,1.292,18,2.188,19,2.911,33,2.286,45,2.286,46,2.286,47,2.286,48,2.286,49,2.236,54,2.328,55,2.093,56,2.123,57,2.576,155,3.391,218,2.592,350,2.457,390,3.235,550,3.187,551,4.667,552,3.235,553,4.082,554,2.943,555,5.074,556,4.51,557,2.592,558,3.187,559,3.057,560,2.842,561,2.943,562,2.457,563,4.021,564,3.522,565,2.751,566,2.751,567,3.187,568,3.187,569,3.057,570,3.592,571,2.943,572,3.187,573,4.833,574,3.057,575,4.628,576,4.983,577,2.943,578,2.522,579,2.668,580,3.187,581,2.236,582,2.236,583,2.97,584,2.751,585,3.187,586,3.057,587,3.057,588,3.339,589,3.339]],["t/522",[8,0.946,299,3.712,335,3.82,373,4.563,552,4.859,553,3.273,566,3.939,575,3.712,590,5.808,591,5.37,592,7.978,593,4.781,594,6.473,595,4.781,596,6.473,597,3.939,598,6.473,599,3.82,600,6.473,601,5.808,602,5.37,603,5.042,604,5.37,605,5.808,606,5.37,607,5.042]],["t/524",[8,1.035,350,3.851,553,3.583,555,4.454,571,4.612,608,6.357,609,5.633,610,9.258,611,5.233,612,7.085,613,5.519,614,7.085,615,8.599,616,7.085,617,7.085]],["t/527",[341,4.769,360,4.575,383,4.997,396,3.993,480,3.879,494,3.993,553,3.421,597,4.117,618,4.798,619,7.724,620,4.769,621,4.997,622,5.612,623,6.07,624,5.612,625,5.612]],["t/529",[19,3.723,200,2.434,315,4.109,356,2.93,375,2.256,394,2.357,553,3.817,578,2.601,597,4.978,604,3.867,607,5.88,609,4.978,618,4.169,619,6.711,626,3.443,627,7.73,628,8.228,629,3.872,630,4.662,631,4.183,632,4.183,633,6.772,634,7.548,635,6.536,636,5.422,637,5.422,638,4.662,639,3.443,640,4.42,641,3.631,642,3.631,643,4.662,644,3.867,645,2.836,646,6.536,647,3.152,648,4.662]],["t/531",[19,3.705,200,1.737,315,3.387,356,3.387,375,2.607,394,2.724,553,4.116,609,4.953,618,2.607,619,4.197,621,3.979,624,4.469,629,2.275,631,4.834,632,7.802,633,4.834,636,7.213,639,3.979,642,4.197,649,8.14,650,8.14,651,7.218,652,5.388,653,5.388,654,7.218,655,7.218,656,5.988,657,5.623,658,5.388,659,5.388,660,4.834,661,3.798,662,5.388,663,5.388,664,5.388,665,4.834,666,5.388,667,5.388,668,5.388]],["t/533",[19,3.592,200,2.545,609,4.803,628,7.082,669,7.894,670,7.894,671,7.082]],["t/535",[200,1.987,383,4.552,396,3.637,607,4.801,609,3.75,620,4.345,622,5.112,625,5.112,636,5.112,639,4.552,642,4.801,656,5.112,665,5.529,672,6.163,673,6.163,674,6.163,675,6.163,676,6.163,677,7.883,678,6.163,679,6.163,680,6.163,681,6.163,682,7.883,683,6.163,684,6.163,685,6.163,686,6.163,687,6.163,688,5.529,689,4.801,690,6.163,691,5.529,692,3.874,693,6.163,694,6.163,695,6.163]],["t/537",[54,2.367,200,2.118,350,3.57,552,4.15,575,3.766,578,3.664,607,5.116,609,3.996,696,4.63,697,8.206,698,9.376,699,8.206,700,6.568,701,6.568,702,6.568,703,6.568,704,5.893,705,6.568,706,6.568,707,6.568,708,6.568,709,6.568,710,5.116]],["t/539",[200,2.568,305,5.385,394,4.027,609,4.846,637,6.606,696,5.614]],["t/542",[553,3.992,563,4.962,575,4.526,711,5.83,712,6.548,713,7.082,714,4.404]],["t/544",[563,4.919,570,3.787,714,5.089,715,6.095,716,7.567,717,5.779]],["t/546",[8,1.238,299,2.898,356,3.177,552,3.984,555,3.177,560,3.177,566,3.076,569,3.418,575,2.898,579,2.983,581,4.529,592,4.535,601,4.535,602,4.193,644,4.193,691,4.535,718,5.055,719,6.913,720,5.106,721,6.203,722,3.563,723,6.913,724,4.65,725,3.937,726,5.735,727,4.535,728,3.964,729,5.055,730,5.055,731,5.055,732,5.055,733,3.733,734,5.055,735,5.055,736,4.535,737,5.055,738,4.535,739,5.055,740,5.055,741,5.055,742,3.937,743,4.535,744,5.055,745,5.055,746,5.055,747,5.055,748,5.055,749,5.055,750,4.535,751,5.055,752,3.937,753,4.535,754,4.535]],["t/548",[8,1.1,54,1.968,55,2.232,56,2.265,57,2.368,382,2.173,463,1.845,468,2.37,469,2.633,479,2.225,480,2.233,494,2.298,557,3.293,562,2.117,565,2.37,581,4.502,582,1.926,599,4.444,611,2.876,613,3.034,626,2.876,661,2.746,692,2.448,724,4.027,733,2.876,755,4.739,756,5.47,757,3.231,758,3.231,759,2.876,760,2.173,761,4.81,762,3.231,763,3.231,764,3.495,765,3.231,766,3.231,767,3.122,768,3.494,769,3.231,770,3.034,771,4.764,772,3.034,773,3.231,774,3.231,775,4.242,776,3.034,777,3.494,778,2.633,779,3.739,780,3.231,781,2.746,782,2.746,783,2.633,784,2.876,785,2.876,786,2.633,787,3.034,788,3.034,789,3.034,790,2.746,791,3.231,792,3.231,793,3.494,794,3.494,795,3.034,796,3.034,797,5.315,798,3.034,799,3.034,800,2.633,801,3.231,802,2.876,803,2.876,804,3.034,805,2.535,806,3.231,807,2.535,808,3.034,809,2.876]],["t/550",[8,1.29,18,2.177,19,2.901,33,2.275,45,2.275,46,2.275,47,2.275,48,2.275,49,2.224,54,2.323,55,2.085,56,2.116,57,2.569,155,3.379,218,2.579,350,2.445,390,3.223,549,3.732,550,3.171,551,4.654,552,3.223,553,4.072,554,2.928,555,5.062,556,4.494,557,2.579,558,3.171,559,3.042,560,2.828,561,2.928,562,2.445,563,4.007,564,3.504,565,2.737,566,2.737,567,3.171,568,3.171,569,3.042,570,3.582,571,2.928,572,3.171,573,4.819,574,3.042,575,4.618,576,4.965,577,2.928,578,2.51,579,2.655,580,3.171,581,2.224,582,2.224,583,2.959,584,2.737,585,3.171,586,3.042,587,3.042,588,3.322,589,3.322]],["t/552",[8,1.292,18,2.188,19,2.911,33,2.286,45,2.286,46,2.286,47,2.286,48,2.286,49,2.236,54,2.328,55,2.093,56,2.123,57,2.576,155,3.391,218,2.592,350,2.457,390,3.235,550,3.187,551,4.667,552,3.235,553,4.082,554,2.943,555,5.074,556,4.51,557,2.592,558,3.187,559,3.057,560,2.842,561,2.943,562,2.457,563,4.021,564,3.522,565,2.751,566,2.751,567,3.187,568,3.187,569,3.057,570,3.592,571,2.943,572,3.187,573,4.833,574,3.057,575,4.628,576,4.983,577,2.943,578,2.522,579,2.668,580,3.187,581,2.236,582,2.236,583,2.97,584,2.751,585,3.187,586,3.057,587,3.057,588,3.339,589,3.339]],["t/555",[62,3.236,552,3.456,561,3.236,563,3.125,570,2.405,575,2.85,577,3.236,582,4.506,583,4.23,593,7.281,595,3.671,602,4.123,603,3.872,604,4.123,714,4.692,716,5.669,717,5.769,725,3.872,743,4.46,755,2.934,759,6.894,767,2.702,776,3.872,807,3.236,810,4.621,811,4.46,812,5.048,813,4.971,814,4.46,815,3.872,816,4.971,817,4.123,818,4.46,819,4.46,820,4.971,821,4.123,822,4.46,823,4.46,824,4.971]],["t/557",[391,3.773,535,5.184,781,5.614,786,5.385,825,7.145,826,7.145]],["t/559",[8,1.432,134,4.47,200,1.349,219,2.116,315,2.63,331,3.26,368,2.755,390,2.116,391,1.983,552,2.116,553,3.596,560,2.63,573,2.724,575,2.399,581,4.882,582,2.069,583,1.943,587,2.829,591,3.471,595,3.091,605,3.754,606,3.471,609,5.03,629,1.767,641,3.26,657,3.26,717,3.091,767,3.865,778,2.829,782,2.95,783,4.808,786,4.093,802,3.091,803,3.091,810,2.829,812,3.091,817,3.471,825,3.754,827,4.185,828,4.185,829,3.754,830,2.399,831,4.185,832,4.185,833,6.053,834,3.471,835,3.754,836,4.185,837,4.185,838,6.053,839,4.185,840,4.185,841,4.185,842,4.185,843,4.185,844,4.185,845,3.754,846,4.185,847,3.754,848,4.185,849,4.185,850,4.185,851,4.185,852,4.185,853,3.471]],["t/561",[8,1.274,54,2.697,55,2.671,56,2.71,57,2.833,200,1.748,368,2.808,392,3.407,479,2.1,494,3.199,583,2.516,584,3.298,585,3.821,586,3.665,587,3.665,588,4.003,589,4.003,629,2.288,692,4.556,728,4.156,787,4.222,822,4.863,830,3.108,854,3.298,855,4.222,856,4.003,857,4.863,858,4.863,859,7.247,860,4.863,861,6.012,862,3.665,863,4.003,864,4.863,865,5.42,866,4.863,867,5.42,868,4.222,869,5.42]],["t/563",[8,1.221,368,2.621,562,3.677,581,4.133,629,2.856,785,4.997,853,5.612,854,3.079,870,5.27,871,6.07,872,6.699,873,4.769,874,5.612,875,6.07,876,5.612,877,6.07,878,6.766,879,6.766,880,6.07,881,6.766,882,6.07,883,6.766]],["t/565",[8,1.1,54,1.968,55,2.232,56,2.265,57,2.368,382,2.173,463,1.845,468,2.37,469,2.633,479,2.225,480,2.233,494,2.298,557,3.293,562,2.117,565,2.37,581,4.502,582,1.926,599,4.444,611,2.876,613,3.034,626,2.876,661,2.746,692,2.448,724,4.027,733,2.876,755,4.739,756,5.47,757,3.231,758,3.231,759,2.876,760,2.173,761,4.81,762,3.231,763,3.231,764,3.495,765,3.231,766,3.231,767,3.122,768,3.494,769,3.231,770,3.034,771,4.764,772,3.034,773,3.231,774,3.231,775,4.242,776,3.034,777,3.494,778,2.633,779,3.739,780,3.231,781,2.746,782,2.746,783,2.633,784,2.876,785,2.876,786,2.633,787,3.034,788,3.034,789,3.034,790,2.746,791,3.231,792,3.231,793,3.494,794,3.494,795,3.034,796,3.034,797,5.315,798,3.034,799,3.034,800,2.633,801,3.231,802,2.876,803,2.876,804,3.034,805,2.535,806,3.231,807,2.535,808,3.034,809,2.876]],["t/567",[8,1.317,18,2.124,19,2.85,33,2.219,45,2.219,46,2.219,47,2.219,48,2.219,49,2.17,54,2.298,55,2.389,56,2.424,57,2.764,218,2.516,305,4.235,350,2.385,390,3.167,549,3.64,550,3.094,551,4.591,552,3.167,553,3.167,554,2.857,555,5.006,556,4.415,557,2.516,558,3.094,559,4.235,560,3.937,561,2.857,562,2.385,563,3.937,565,2.67,566,2.67,567,3.094,568,3.094,569,2.967,570,3.854,571,2.857,572,3.094,573,4.754,574,2.967,575,4.567,577,2.857,578,2.448,579,2.59,580,3.094,581,2.17,582,3.097,583,3.697,584,2.67,779,2.857,884,3.938,885,3.938,886,3.419,887,2.967]],["t/569",[8,1.319,18,2.134,19,2.86,33,2.23,45,2.23,46,2.23,47,2.23,48,2.23,49,2.181,54,2.303,55,2.396,56,2.431,57,2.77,218,2.529,305,4.25,350,2.397,390,3.178,550,3.109,551,4.603,552,3.178,553,3.178,554,2.871,555,5.017,556,4.431,557,2.529,558,3.109,559,4.25,560,3.951,561,2.871,562,2.397,563,3.951,565,2.683,566,2.683,567,3.109,568,3.109,569,2.982,570,3.862,571,2.871,572,3.109,573,4.767,574,2.982,575,4.577,577,2.871,578,2.46,579,2.603,580,3.109,581,2.181,582,3.108,583,3.706,584,2.683,779,2.871,884,3.957,885,3.957,886,3.435,887,2.982]],["t/571",[8,1.407,54,1.516,55,1.72,56,1.148,57,1.824,315,3.996,379,2.252,468,2.105,557,1.984,562,1.881,570,3.076,578,1.93,581,3.511,582,3.143,583,3.732,584,2.105,586,2.34,688,3.104,696,3.706,713,3.104,714,4.485,724,3.102,727,3.104,728,5.313,755,4.19,760,3.546,761,3.706,764,4.32,767,4.37,781,2.439,786,2.34,789,2.695,790,2.439,800,2.34,805,3.422,807,2.252,823,4.716,830,3.014,854,2.893,858,3.104,863,3.882,872,2.556,873,2.439,887,2.34,888,3.46,889,2.695,890,3.46,891,4.716,892,5.273,893,3.46,894,3.46,895,2.556,896,3.104,897,2.87,898,3.46,899,3.104,900,3.104,901,4.36,902,3.104,903,3.104,904,2.87,905,3.46,906,5.257,907,3.46,908,4.36,909,2.439,910,3.706,911,4.095,912,4.36,913,3.46,914,3.46,915,3.46,916,2.556,917,3.46]],["t/573",[463,4.195,479,2.881,565,4.525,570,3.599,582,3.677,583,3.453,657,5.793,764,5.386,887,5.029,918,7.437,919,4.149,920,5.029]],["t/575",[8,0.982,55,1.242,373,4.738,394,3.761,463,1.799,479,3.078,570,3.845,579,3.326,582,1.877,583,3.453,593,2.804,624,3.149,714,4.433,715,7.045,722,3.973,755,2.24,756,2.471,764,5.065,782,2.676,790,2.676,807,2.471,821,3.149,830,3.231,860,3.406,901,3.149,919,3.144,920,5.372,921,3.796,922,2.957,923,3.149,924,4.675,925,3.406,926,3.796,927,4.738,928,4.675,929,5.635,930,5.056,931,5.635,932,3.406,933,5.056,934,3.796,935,3.149,936,3.796,937,5.869,938,5.629,939,3.406,940,5.372,941,4.675,942,5.243,943,3.796,944,3.973,945,3.149,946,3.149,947,3.149,948,2.957,949,2.676,950,3.796,951,3.796,952,3.406,953,3.406]],["t/577",[8,1.267,18,2.063,19,1.94,55,2.007,134,3.149,315,2.68,394,3.102,463,4.109,479,3.045,551,2.68,552,3.102,553,2.156,560,2.68,570,3.477,571,2.776,578,3.423,581,2.108,582,3.034,583,2.848,593,3.149,720,3.149,722,3.006,724,4.639,728,2.445,742,3.321,755,3.621,756,3.994,761,3.006,764,5.067,767,2.317,775,3.149,809,3.149,810,2.883,861,3.537,862,2.883,868,3.321,912,3.537,919,2.379,920,4.859,927,3.006,938,2.883,940,2.883,941,3.537,942,5.541,944,3.006,948,3.321,949,3.006,954,3.321,955,4.264,956,5.505,957,3.826,958,4.264,959,4.264,960,5.505,961,4.264,962,3.537,963,4.264,964,4.264,965,2.883,966,4.264,967,4.264,968,3.826,969,3.006,970,2.883,971,4.264,972,4.264,973,3.826]],["t/579",[8,1.238,562,3.762,581,4.192,582,3.423,583,3.935,785,5.112,854,3.15,870,5.392,871,6.21,872,6.768,873,4.88,874,5.742,875,6.21,876,5.742,877,6.21,880,6.21,882,6.21,974,6.922]],["t/581",[583,3.697,593,5.882,725,6.203,807,5.184,873,5.614,975,7.964]],["t/583",[8,1.169,54,1.958,55,2.221,56,2.253,57,2.356,382,2.154,390,1.952,463,1.83,468,2.349,469,2.611,479,2.211,480,2.214,494,2.279,557,3.272,562,2.099,581,4.57,582,1.909,599,4.006,611,2.852,613,3.008,626,2.852,661,2.722,692,2.427,724,4.006,733,2.852,755,4.722,756,5.791,757,3.203,758,3.203,759,2.852,760,2.154,761,4.023,762,3.203,763,3.203,764,2.349,765,3.203,766,3.203,767,3.102,770,3.008,771,4.734,772,3.008,773,3.203,774,4.734,775,4.215,776,3.008,778,2.611,779,3.715,780,3.203,781,2.722,782,2.722,783,2.611,784,2.852,785,4.215,786,2.611,787,3.008,788,3.008,789,3.008,790,2.722,791,3.203,792,3.203,795,3.008,796,3.008,797,5.288,798,3.008,799,3.008,800,2.611,801,3.203,802,2.852,803,2.852,804,3.008,805,2.514,806,3.203,807,2.514,808,3.008,809,2.852,901,3.203,976,3.464,977,3.861,978,3.861]],["t/587",[375,3.722,645,4.68,979,6.38,980,6.38,981,5.201,982,6.38,983,6.38,984,6.38,985,4.539,986,6.38]],["t/589",[1,2.881,2,3.9,3,2.95,4,2.881,5,3.592,6,2.741,7,2.881,8,1.266,9,2.795,10,2.881,11,2.881,12,3.592,13,3.592,14,3.687,15,2.51,16,2.291,17,1.805,18,2.291,19,3.008,20,2.95,21,2.795,22,2.881,23,2.881,24,2.114,25,2.795,26,1.595,27,2.881,28,2.32,29,2.715,30,1.865,31,2.795,32,2.342,33,2.394,34,2.795,35,2.795,36,2.881,37,3.198,38,3.789,39,3.789,40,3.592,41,2.244,42,1.549,43,2.795,44,2.795,45,2.394,46,2.394,47,2.394,48,2.394,49,2.342,50,2.394,51,1.897,52,2.451,53,2.394,54,1.906,55,1.549,56,2.193,57,2.293,216,3.198,217,3.338,218,2.715]],["t/591",[159,2.199,172,2.942,235,3.983,236,3.856,237,3.066,239,2.675,242,4.125,243,3.535,300,2.628,401,4.125,402,4.354,403,4.125,404,5.043,416,4.467,485,3.882,510,7.199,511,5.685,512,5.043,513,5.685,514,5.685,515,4.936,516,4.68,517,5.685,518,4.936,519,3.856,520,4.936,521,5.685,522,3.856,523,4.936]],["t/593",[109,3.875,159,1.989,172,4.137,200,1.848,219,4.244,233,4.312,235,3.602,237,2.773,239,2.419,241,3.719,242,3.731,243,3.197,300,2.377,332,3.602,368,2.913,370,3.382,401,5.464,402,4.696,403,3.731,404,4.727,413,4.04,416,4.04,424,3.382,512,5.276,522,3.487,523,4.464,524,4.754,525,4.464,526,5.085,527,4.233,528,4.233]],["t/595",[42,2.613,51,3.2,107,2.286,117,6.222,147,4.039,161,1.815,172,2.921,236,3.829,237,4.467,243,3.51,262,4.647,279,4.647,280,4.436,399,4.901,400,6.508,405,4.901,415,3.829,438,6.222,485,3.045,529,5.646,530,5.646,531,3.713,532,5.646,533,5.646,534,5.646]],["t/597",[8,0.806,129,3.891,147,2.791,152,4.772,155,2.926,161,2.116,172,3.825,195,4.206,219,4.167,233,5.241,237,2.671,241,3.628,332,3.47,368,3.402,370,3.258,391,2.616,402,2.73,413,3.891,424,4.329,446,4.206,526,5.937,527,4.077,528,4.077,535,3.593,536,4.579,537,3.165,538,4.579,539,4.579,540,3.593,541,6.582,542,4.579,543,4.579,544,4.077]],["t/599",[8,0.974,42,2.18,172,3.845,212,4.056,237,3.225,238,4.19,243,3.718,251,4.699,253,3.623,255,2.814,256,4.339,257,4.699,391,3.158,402,3.296,437,4.507,444,4.923,445,5.192,446,3.822,447,4.19,448,4.056,456,3.094,485,4.008,545,5.98,546,5.98,547,5.98,548,5.98]],["t/601",[8,1.1,16,2.779,17,1.484,42,1.274,54,1.968,55,2.232,56,2.265,57,2.368,107,1.415,124,3.123,128,2.37,137,1.615,142,1.969,161,1.657,168,2.298,197,1.808,229,3.883,255,1.644,264,2.633,273,2.016,286,2.448,407,2.666,435,2.633,449,2.746,450,4.061,451,4.959,452,2.746,453,3.034,454,3.034,455,2.064,456,1.808,457,3.204,458,4.059,459,3.739,460,3.034,461,2.448,462,1.885,463,1.845,464,2.876,465,2.876,466,2.448,467,3.034,468,2.37,469,2.633,470,2.016,471,3.034,472,2.535,473,3.034,474,3.034,475,3.034,476,2.904,477,2.746,478,3.034,479,2.225,480,2.233,481,2.448,482,2.535,483,3.034,484,2.117,485,1.885,486,2.876,487,2.633,488,3.034,489,2.535,490,3.034,491,3.034,492,3.034,493,2.448,494,2.298,495,4.474,496,2.876,497,2.535,498,2.37,499,3.389,500,2.633,501,2.016,502,2.876,503,3.034,504,2.746,505,3.034,506,2.876,507,2.746,508,2.746,509,2.298]],["t/603",[629,3.247,979,6.38,980,6.38,981,6.106,982,6.38,983,6.38,984,6.38,985,4.539,986,6.38]],["t/605",[1,2.881,2,3.9,3,2.95,4,2.881,5,3.592,6,2.741,7,2.881,8,1.266,9,2.795,10,2.881,11,2.881,12,3.592,13,3.592,14,3.687,15,2.51,16,2.291,17,1.805,18,2.291,19,3.008,20,2.95,21,2.795,22,2.881,23,2.881,24,2.114,25,2.795,26,1.595,27,2.881,28,2.32,29,2.715,30,1.865,31,2.795,32,2.342,33,2.394,34,2.795,35,2.795,36,2.881,37,3.198,38,3.789,39,3.789,40,3.592,41,2.244,42,1.549,43,2.795,44,2.795,45,2.394,46,2.394,47,2.394,48,2.394,49,2.342,50,2.394,51,1.897,52,2.451,53,2.394,54,1.906,55,1.549,56,2.193,57,2.293,216,3.198,217,3.338,218,2.715]],["t/607",[6,2.332,8,0.822,26,1.894,37,2.721,161,1.622,197,2.611,205,3.802,212,3.422,219,3.756,220,4.38,221,3.802,222,5.236,223,4.38,224,3.802,225,4.143,226,3.224,227,3.535,228,5.045,229,3.802,230,5.045,231,3.802,232,3.137,233,3.224,234,3.964,235,3.535,236,3.422,237,4.024,238,3.535,239,2.374,240,3.964,241,2.781,242,3.661,243,3.137,244,3.756,245,4.38,246,4.38,247,5.045,248,3.802,249,5.045,250,3.535,251,3.964,252,5.045,253,3.056,254,5.045,255,2.374,256,3.661,257,3.964]],["t/609",[5,3.323,6,2.972,8,0.62,28,1.293,30,1.672,32,2.098,37,2.959,85,2.504,107,1.542,124,3.253,133,3.306,137,2.972,159,2.487,161,1.764,219,3.966,220,3.306,221,5.303,222,2.992,223,3.306,224,2.869,227,4.93,231,2.869,232,2.368,233,2.433,234,2.992,237,2.054,255,1.792,258,3.808,259,3.808,260,3.52,261,4.31,262,3.134,263,2.992,264,2.869,265,2.668,266,3.52,267,5.621,268,5.486,269,5.486,270,3.808,271,3.808,272,5.072,273,2.196,274,3.306,275,2.582,276,2.992,277,3.306,278,5.486,279,4.516,280,2.992,281,2.763,282,3.808,283,3.808,284,3.808,285,3.134,286,2.668,287,3.808,288,3.808,289,3.808,290,4.763,291,3.52,292,3.808,293,3.52,294,2.992,295,3.808,296,5.486,297,3.306,298,3.52,299,2.433,300,1.76,301,2.368,302,3.134]],["t/611",[200,1.005,219,4.502,227,3.049,240,3.847,241,3.149,303,4.352,304,7.351,305,5.628,306,6.533,307,5.7,308,2.796,309,2.781,310,3.28,311,5.566,312,2.796,313,2.796,314,2.796,315,4.577,316,2.796,317,2.641,318,2.796,319,7.222,320,2.796,321,2.796,322,5.343,323,6.533,324,5.343,325,5.343,326,5.343,327,2.796,328,4.352,329,4.352,330,2.796,331,2.428,332,4.004,333,2.428,334,1.416,335,3.514,336,4.352,337,3.671,338,3.778,339,4.352,340,2.571,341,3.419,342,3.671,343,3.671,344,1.63,345,4.352,346,5.343,347,2.796,348,4.352,349,2.585,350,1.694,351,2.796,352,2.796,353,2.796,354,1.739,355,1.416,356,1.959,357,1.507,358,2.796,359,2.585,360,2.767,361,2.796,362,2.302,363,2.796,364,2.428,365,2.302,366,3.671,367,2.796,368,2.307,369,1.416,370,1.072,371,1.63,372,1.63,373,1.281,374,2.302,375,0.879,376,1.63,377,1.416,378,4.352,379,3.158,380,4.031,381,1.507,382,1.014,383,1.342,384,2.796,385,1.63,386,1.507,387,1.63,388,1.416,389,1.63,390,1.576,391,2.298,392,1.142,393,3.671,394,0.919,395,3.187,396,1.072]],["t/613",[26,2.116,30,2.041,59,4.754,84,2.507,111,1.609,135,1.679,144,1.643,149,2.507,151,3.251,161,2.028,172,1.576,186,2.652,216,3.402,219,4.197,235,2.134,237,1.643,240,2.393,241,3.946,245,2.644,248,2.295,305,5.612,332,5.513,333,6.466,334,4.894,335,4.468,368,3.574,369,4.036,370,3.058,395,2.644,397,2.644,398,3.046,399,2.644,400,3.652,401,2.21,402,2.562,403,2.21,404,2.134,405,2.644,406,5.637,407,2.917,408,4.64,409,3.046,410,2.816,411,3.046,412,2.644,413,2.393,414,5.637,415,4.278,416,2.393,417,4.648,418,2.816,419,2.681,420,2.816,421,4.754,422,3.046,423,2.393,424,4.898,425,2.134,426,3.046,427,2.507,428,3.046,429,3.046,430,3.046,431,2.816,432,2.644,433,2.816,434,3.046]],["t/615",[8,1.177,42,2.088,172,3.741,212,3.883,216,3.088,219,3.227,236,3.883,237,3.088,238,4.011,242,4.154,243,3.56,251,4.499,253,3.468,255,2.694,256,4.154,257,4.499,402,3.156,435,4.315,436,5.726,437,5.449,438,4.971,439,3.468,440,5.726,441,4.499,442,4.713,443,4.971,444,4.713,445,4.971,446,3.659,447,4.011,448,3.883]],["t/617",[8,1.1,16,2.779,17,1.484,42,1.274,54,1.968,55,2.232,56,2.265,57,2.368,107,1.415,124,3.123,128,2.37,137,1.615,142,1.969,161,1.657,168,2.298,197,1.808,229,3.883,255,1.644,264,2.633,273,2.016,286,2.448,407,2.666,435,2.633,449,2.746,450,4.061,451,4.959,452,2.746,453,3.034,454,3.034,455,2.064,456,1.808,457,3.204,458,4.059,459,3.739,460,3.034,461,2.448,462,1.885,463,1.845,464,2.876,465,2.876,466,2.448,467,3.034,468,2.37,469,2.633,470,2.016,471,3.034,472,2.535,473,3.034,474,3.034,475,3.034,476,2.904,477,2.746,478,3.034,479,2.225,480,2.233,481,2.448,482,2.535,483,3.034,484,2.117,485,1.885,486,2.876,487,2.633,488,3.034,489,2.535,490,3.034,491,3.034,492,3.034,493,2.448,494,2.298,495,4.474,496,2.876,497,2.535,498,2.37,499,3.389,500,2.633,501,2.016,502,2.876,503,3.034,504,2.746,505,3.034,506,2.876,507,2.746,508,2.746,509,2.298]],["t/619",[200,2.48,621,5.68,979,6.38,980,6.38,981,5.201,982,6.38,983,6.38,984,6.38,985,4.539,986,6.38]],["t/621",[1,3.041,2,4.049,3,3.062,4,3.041,5,3.729,6,2.845,7,3.041,8,1.232,9,2.95,10,3.041,11,3.041,12,3.729,13,3.729,14,3.827,15,2.65,16,2.419,17,1.905,18,2.419,19,3.122,20,3.062,21,2.95,22,3.041,23,3.041,24,2.231,25,2.95,26,1.684,27,3.041,28,1.523,29,2.866,30,1.969,31,2.95,32,2.472,33,2.528,34,2.95,35,2.95,36,3.041,37,3.32,38,3.934,39,3.934,40,3.729,41,2.368,42,1.635,43,2.95,44,2.95,45,2.528,46,2.528,47,2.528,48,2.528,49,2.472,50,2.528,51,2.002,52,2.587,53,2.528,54,1.442,55,1.635,56,1.659,57,1.735]],["t/623",[3,3.347,8,1.096,58,6.728,59,6.015,60,6.728,61,6.728,62,4.882,63,6.271,64,5.07,65,6.22,66,6.728]],["t/625",[0,5.112,3,3.09,42,2.264,52,3.582,59,5.732,67,4.88,68,4.351,69,6.21,70,5.392,71,6.21,72,6.21,73,6.21,74,7.606,75,5.392,76,6.21,77,6.21,78,6.21,79,6.21,80,6.21,81,5.392,82,6.21]],["t/627",[75,4.834,81,4.834,83,7.104,84,5.847,85,5.146,86,4.834,87,5.568,88,5.568,89,6.568,90,4.583,91,5.568,92,4.04,93,5.568,94,5.568,95,7.104,96,3.901,97,5.568,98,5.147,99,7.104,100,5.568,101,4.834,102,5.147,103,4.672,104,5.568,105,5.568,106,2.77,107,2.255,108,5.568,109,4.196,110,5.147]],["t/629",[3,2.809,14,3.51,111,2.981,112,3.255,113,5.899,114,4.901,115,5.646,116,5.631,117,6.836,118,5.22,119,4.255,120,4.901,121,4.341,122,5.646,123,5.646,124,2.61,125,5.646,126,5.646,127,5.22,128,3.829,129,4.436,130,5.22,131,5.646,132,3.42,133,4.901,134,4.647,135,3.111,136,5.646,137,2.61,138,5.646]],["t/631",[41,3.74,112,3.217,114,6.149,139,6.548,140,7.082,141,5.139,142,3.992]],["t/633",[17,1.617,24,1.894,30,1.672,42,1.388,51,1.7,103,2.504,106,1.894,142,3.966,143,4.906,144,2.054,145,5.309,146,3.52,147,4.204,148,2.368,149,2.959,150,3.134,151,4.059,152,3.323,153,4.11,154,5.945,155,3.799,156,4.11,157,4.23,158,5.945,159,2.885,160,4.11,161,2.262,162,4.763,163,4.23,164,2.668,165,3.52,166,4.11,167,2.668,168,2.504,169,2.869,170,4.763,171,2.992,172,1.97,173,2.763]],["t/635",[28,3.124,42,2.333,51,2.12,142,4.557,143,4.209,149,3.451,151,3.691,153,4.626,155,2.806,159,2.996,160,4.09,161,2.327,163,4.761,164,3.327,166,4.626,167,3.327,168,3.123,169,3.579,174,6.725,175,3.731,176,4.483,177,3.327,178,3.731,179,3.579]],["t/637",[17,1.504,20,3.768,24,3.383,68,5.075,107,1.434,141,2.569,143,4.057,145,4.633,148,4.228,151,3.001,152,2.145,153,3.942,159,1.369,160,4.345,161,1.138,163,2.329,164,3.645,166,3.325,172,1.832,176,4.764,179,3.921,180,4.283,181,3.152,182,5.203,183,6.289,184,4.517,185,3.273,186,2.448,187,3.54,188,2.48,189,4.649,190,5.708,191,5.355,192,5.355,193,5.597,194,3.273,195,3.325,196,3.074,197,1.832,198,3.074,199,3.54,200,1.272,201,5.078,202,2.329,203,3.273,204,2.48,205,2.668,206,3.273,207,4.088,208,3.325,209,2.782,210,3.54,211,2.668,212,2.401,213,2.914,214,3.273,215,3.54]],["t/645",[8,0.9,54,1.512,55,2.131,56,1.292,57,1.609,68,1.069,70,1.325,200,0.548,297,1.325,309,0.975,310,2.631,317,2.777,354,0.949,368,0.659,380,4.548,382,2.171,386,5.108,390,1.968,446,1.688,479,0.659,480,0.975,551,1.85,553,1.968,554,1.916,570,2.536,574,1.15,578,2.924,581,1.455,583,2.665,584,1.791,591,2.441,597,1.035,599,1.004,625,1.411,639,1.256,641,2.293,647,1.99,660,1.526,661,1.199,692,1.85,696,2.743,704,1.526,710,2.293,712,1.411,714,4.744,716,3.847,722,1.199,725,1.325,728,3.53,755,4.32,756,1.107,764,1.791,767,2.115,778,1.99,779,3.736,784,2.874,795,3.613,796,1.325,805,1.107,815,3.613,821,1.411,826,3.491,830,2.659,845,2.641,854,0.774,857,2.641,862,4.611,863,1.256,868,1.325,895,2.174,904,2.441,909,1.199,910,2.075,911,4.796,922,3.031,923,2.441,924,1.411,925,4.703,928,1.411,940,1.15,947,1.411,949,2.075,956,1.526,957,6.358,960,1.526,970,1.15,987,1.411,988,1.526,989,1.526,990,1.7,991,1.7,992,1.526,993,3.491,994,4.163,995,3.269,996,2.441,997,6.819,998,1.7,999,1.526,1000,6.157,1001,3.613,1002,1.411,1003,5.844,1004,2.943,1005,2.641,1006,2.943,1007,2.441,1008,3.491,1009,1.7,1010,1.7,1011,1.7,1012,1.256,1013,1.526,1014,1.7,1015,1.7,1016,1.7,1017,1.7,1018,3.847,1019,4.638,1020,4.703,1021,5.524,1022,4.083,1023,1.7,1024,5.15,1025,5.241,1026,3.891,1027,3.891,1028,1.325,1029,1.325,1030,4.161,1031,2.943,1032,1.7,1033,3.891,1034,1.7,1035,1.7,1036,2.641,1037,1.411,1038,1.7,1039,2.943,1040,1.7,1041,2.943,1042,1.7,1043,1.526,1044,1.7,1045,1.7,1046,1.7,1047,1.7,1048,1.7,1049,2.943,1050,1.7,1051,1.526,1052,1.7,1053,6.118,1054,1.526,1055,1.526,1056,1.7,1057,1.7,1058,1.411,1059,2.943,1060,2.441]],["t/647",[8,1.016,49,1.146,54,0.907,55,1.521,56,1.043,57,0.637,68,0.433,70,0.536,200,2.33,299,0.395,307,0.419,309,0.395,311,0.448,315,0.815,317,1.693,335,1.855,354,0.384,355,0.536,356,0.433,357,0.571,368,0.898,373,0.486,375,2.742,379,1.508,388,0.536,392,0.815,394,1.391,396,0.406,463,3.033,468,0.788,479,2.527,553,0.655,555,0.433,557,1.329,559,0.466,561,0.448,562,1.708,565,0.419,566,0.419,570,2.467,573,1.508,577,2.046,581,2.715,582,0.641,583,0.32,585,1.294,586,1.241,590,2.079,597,2.129,599,0.765,606,0.571,608,0.618,611,2.031,620,1.294,626,0.509,627,0.618,629,3.239,639,0.509,640,0.466,642,0.536,645,1.674,656,0.571,657,2.725,661,0.913,671,0.618,689,0.536,692,0.433,696,0.486,711,0.957,714,0.723,715,0.536,720,0.509,721,1.163,722,0.486,724,3.533,726,0.571,728,1.329,733,0.509,736,0.618,738,0.618,742,1.805,750,0.618,753,1.163,754,1.163,755,1.855,756,3.796,760,0.723,761,1.939,764,2.129,767,3.169,769,0.571,770,0.536,772,0.536,775,3.766,779,0.448,781,0.913,782,2.215,783,1.241,788,1.009,790,0.913,797,1.009,798,1.429,799,0.536,800,0.466,802,0.509,803,1.711,804,1.009,805,2.278,808,1.429,809,0.509,810,2.366,818,1.646,830,2.006,854,1.43,855,1.805,862,0.466,863,1.711,868,0.536,870,1.009,872,0.509,873,0.486,874,1.522,886,2.143,891,1.163,892,1.922,895,0.957,896,1.646,897,1.922,900,0.618,902,1.646,903,0.618,908,2.902,909,3.277,910,0.486,911,0.536,912,0.571,916,0.509,919,3.88,920,5.644,922,0.536,923,1.075,924,3.646,927,4.598,928,0.571,930,1.163,932,1.163,933,0.618,935,0.571,937,2.696,938,2.366,939,2.079,940,3.831,941,0.571,942,2.466,944,0.913,945,0.571,946,1.075,948,1.805,949,2.215,952,0.618,953,0.618,954,0.536,962,0.571,965,3.301,968,1.646,969,3.737,970,2.125,973,1.646,976,1.163,987,0.571,988,0.618,992,2.079,993,0.618,994,3.943,995,1.633,996,2.282,1002,1.075,1003,0.618,1005,1.163,1008,1.163,1028,0.536,1051,1.163,1054,0.618,1055,1.163,1060,0.571,1061,0.689,1062,3.499,1063,0.689,1064,1.163,1065,4.985,1066,1.296,1067,0.689,1068,2.317,1069,3.433,1070,1.296,1071,0.689,1072,0.689,1073,1.835,1074,1.835,1075,0.689,1076,2.468,1077,0.689,1078,1.296,1079,0.571,1080,0.704,1081,1.646,1082,0.689,1083,1.296,1084,0.618,1085,0.689,1086,0.689,1087,1.075,1088,0.689,1089,1.296,1090,0.618,1091,1.296,1092,0.618,1093,0.689,1094,0.689,1095,0.689,1096,0.689,1097,0.689,1098,0.618,1099,0.689,1100,0.689,1101,1.296,1102,0.618,1103,0.689,1104,0.689,1105,4.966,1106,7.227,1107,1.296,1108,0.689,1109,3.431,1110,1.646,1111,1.646,1112,1.522,1113,0.689,1114,0.689,1115,0.689,1116,0.618,1117,0.689,1118,0.689,1119,0.618,1120,0.618,1121,0.571,1122,1.163,1123,0.913,1124,1.163,1125,1.163,1126,1.429,1127,1.646,1128,1.163,1129,2.321,1130,1.646,1131,1.646,1132,0.689,1133,0.689,1134,1.296,1135,1.075,1136,2.432,1137,1.922,1138,0.618,1139,0.689,1140,0.689,1141,0.618,1142,0.689,1143,1.296,1144,0.689,1145,1.296,1146,0.618,1147,0.689,1148,2.317,1149,1.296,1150,1.296,1151,1.296,1152,0.689,1153,0.689,1154,1.835,1155,0.689,1156,0.618,1157,0.618,1158,1.646,1159,0.536,1160,0.571,1161,0.689,1162,1.296,1163,1.296,1164,0.689,1165,0.689,1166,0.689,1167,0.618,1168,1.296,1169,0.689,1170,1.296,1171,1.835,1172,1.296,1173,0.689,1174,0.689,1175,0.689,1176,0.689,1177,0.618,1178,1.835,1179,0.618,1180,1.296,1181,0.689,1182,0.689,1183,0.689,1184,0.689,1185,1.296,1186,0.689,1187,0.689,1188,0.689,1189,0.689,1190,0.689,1191,0.689,1192,1.296,1193,0.689,1194,0.689,1195,1.296,1196,1.296,1197,0.689,1198,1.296,1199,0.689,1200,0.689,1201,0.689,1202,1.355,1203,1.296,1204,1.296,1205,0.689,1206,2.751,1207,0.689,1208,1.296,1209,1.296,1210,1.296,1211,0.689,1212,0.689,1213,0.618,1214,1.296,1215,1.296,1216,3.419,1217,0.689,1218,0.536,1219,0.618,1220,0.689]],["t/649",[8,0.992,54,0.917,55,2.222,56,2.002,57,2.093,200,1.025,309,1.823,317,1.538,335,2.907,368,2.336,388,2.476,394,1.607,468,1.934,562,1.728,566,1.934,581,1.572,582,1.572,599,1.876,629,1.342,644,2.637,714,1.773,715,3.837,717,2.348,720,2.348,722,2.241,724,2.907,755,1.876,760,1.773,764,4.73,767,4.407,779,2.069,805,2.069,830,3.458,854,2.744,863,2.348,866,2.852,872,2.348,886,2.476,887,2.149,897,2.637,904,2.637,909,2.241,910,2.241,911,2.476,919,4.1,920,5.943,927,2.241,937,4.251,938,4.077,940,2.149,942,2.241,944,2.241,945,2.637,946,4.086,949,6.564,969,4.251,970,3.331,994,6.225,995,3.472,996,5.634,1053,2.852,1060,2.637,1087,2.637,1098,2.852,1102,2.852,1105,6.096,1109,2.852,1112,2.637,1123,6.064,1126,2.476,1129,2.348,1130,2.852,1136,3.559,1221,3.179,1222,3.179,1223,3.179,1224,2.852,1225,3.179,1226,3.179,1227,3.179,1228,3.179,1229,3.179]],["t/652",[200,3.102,368,3.005,391,4.3,535,5.05,1230,6.043,1231,6.435]],["t/654",[85,4.215,300,2.962,391,4.094,456,3.315,476,3.611,484,5.049,535,5.624,1232,6.408,1233,5.035,1234,6.408,1235,5.275,1236,5.035,1237,5.924,1238,5.035,1239,5.924]],["t/656",[8,1.278,28,1.904,54,2.294,55,2.862,56,2.64,57,2.76,112,2.547,200,2.015,456,3.692,476,3.16,618,4.233,629,2.638,854,2.844,985,3.688,1240,4.405,1241,3.928,1242,4.867,1243,5.694,1244,5.606,1245,5.873,1246,3.802,1247,4.225,1248,4.225]],["t/658",[8,1.233,391,3.998,396,4.054,408,5.073,535,4.471,618,4.816,834,5.698,1080,3.733,1246,5.134,1247,5.705,1248,4.644,1249,4.471,1250,6.163,1251,4.842,1252,6.869]],["t/660",[6,3.055,8,1.076,54,2.384,56,2.445,152,4.004,161,1.602,216,4.259,231,3.755,299,5.047,340,3.905,354,3.099,391,2.632,402,3.642,493,3.491,535,3.616,552,2.809,578,3.099,595,4.102,640,3.755,647,3.755,760,3.099,1012,4.102,1249,3.616,1253,6.856,1254,6.11,1255,3.755,1256,7.416,1257,4.983,1258,4.983,1259,4.983,1260,3.755,1261,4.607,1262,5.554,1263,5.554,1264,4.983,1265,4.983]],["t/662",[54,2.219,156,4.41,157,4.539,446,4.41,519,4.68,1266,6.38,1267,5.68,1268,5.007,1269,6.669]],["t/666",[200,3.138,368,3.396,375,4.242,391,3.467,618,3.54,645,4.451,1230,5.699,1270,6.564,1271,6.564,1272,6.069,1273,6.069]],["t/668",[981,5.433,1274,8.035,1275,8.035,1276,7.209,1277,8.035]],["t/670",[360,5.433,1278,8.035,1279,8.035,1280,7.209,1281,8.035]],["t/672",[85,4.283,300,3.01,456,3.369,476,3.67,484,5.084,1232,6.511,1233,5.116,1234,6.511,1235,5.36,1236,5.116,1237,6.02,1238,5.116,1239,6.02,1272,7.236]],["t/674",[8,1.124,28,2.344,54,2.219,55,2.954,56,2.553,57,2.669,1240,5.422,1241,4.835,1242,5.991]],["t/676",[8,1.386,382,4.184,408,5.538,786,5.07,834,6.22,1080,4.076,1249,4.882,1250,6.728,1270,6.728,1272,7.38]],["t/678",[8,1.258,42,1.975,107,2.194,137,2.504,164,4.891,173,3.931,239,2.549,301,3.369,368,3.522,415,4.734,519,4.734,752,6.06,887,4.083,1260,5.261,1267,4.46,1273,7.14,1282,7.78,1283,8.608,1284,6.454,1285,7.78,1286,5.418,1287,4.46,1288,5.418,1289,6.039,1290,6.039]],["t/680",[54,2.163,156,4.3,157,4.425,402,3.708,519,4.563,887,5.07,1260,5.07,1266,6.22,1268,4.882,1269,6.57,1273,7.38]],["t/684",[8,0.932,159,2.797,200,2.058,439,3.468,484,3.468,1268,4.154,1280,7.925,1291,6.382,1292,5.294,1293,7.231,1294,4.756,1295,4.713,1296,8.059,1297,5.294,1298,4.315,1299,6.382,1300,6.382,1301,6.382,1302,6.382,1303,6.685,1304,6.382,1305,8.059,1306,6.382,1307,6.382,1308,5.726,1309,5.726]],["t/686",[112,3.68,298,6.38,360,5.201,368,2.98,1292,6.38,1310,7.691,1311,7.691,1312,7.691,1313,6.38]],["t/688",[112,3.304,981,5.482,1313,6.725,1314,8.107]],["t/691",[8,1.163,28,1.162,54,1.1,55,1.247,56,1.265,57,1.323,107,1.385,188,2.396,200,2.173,204,2.396,216,1.845,241,1.885,281,2.482,294,2.687,301,2.127,375,1.845,391,1.806,456,2.624,494,2.25,512,2.396,537,2.186,618,4.458,621,2.815,629,2.387,645,4.1,647,6.397,854,1.735,910,2.687,1231,5.589,1238,2.687,1243,3.68,1246,3.44,1247,4.556,1248,3.822,1251,2.687,1271,3.42,1276,3.42,1315,2.815,1316,6.2,1317,4.75,1318,2.396,1319,2.969,1320,3.812,1321,5.072,1322,2.815,1323,3.42,1324,2.969,1325,7.453,1326,7.453,1327,7.453,1328,8.338,1329,3.812,1330,3.42,1331,3.812,1332,5.653,1333,6.687,1334,3.812,1335,3.812,1336,3.812,1337,5.072,1338,5.653,1339,3.812,1340,3.812,1341,3.812,1342,3.812]],["t/694",[6,2.1,8,1.27,54,1.779,56,1.681,112,1.343,149,1.595,152,4.608,181,2.752,186,1.391,193,5.825,195,4.283,200,1.063,202,1.945,216,3.35,231,2.228,241,3.05,267,2.228,299,3.969,317,2.451,340,1.747,354,3.441,356,2.071,368,1.962,375,2.451,394,1.666,402,1.629,424,1.945,493,2.071,537,3.537,552,2.561,553,1.666,595,4.555,597,2.005,609,2.005,618,4.207,629,2.138,640,2.228,645,2.005,783,2.228,811,6.211,847,2.957,1012,2.434,1079,2.734,1246,3.753,1249,2.145,1253,5.742,1254,5.116,1255,2.228,1256,5.534,1257,2.957,1258,2.957,1259,2.957,1260,2.228,1264,2.957,1265,4.544,1343,3.945,1344,3.295,1345,3.295,1346,2.957,1347,4.348,1348,6.168,1349,3.295,1350,3.295,1351,5.064,1352,3.295,1353,3.295,1354,3.295,1355,4.544,1356,5.064,1357,3.295,1358,3.295,1359,2.434,1360,2.734,1361,2.734,1362,3.295,1363,2.957,1364,3.295,1365,8.694,1366,3.295,1367,3.295,1368,2.734]],["t/696",[8,1.278,112,1.982,149,3.258,152,2.643,155,2.578,180,3.592,181,3.659,195,3.86,227,3.057,233,2.788,241,2.405,317,2.353,359,4.034,360,3.288,365,3.592,368,2.608,424,3.973,439,2.643,446,3.86,526,3.288,537,2.788,538,4.034,539,4.034,540,3.166,542,4.034,543,7.258,544,3.592,618,4.38,629,2.053,647,5.221,728,2.788,1080,2.643,1121,4.034,1218,3.788,1246,4.096,1260,3.288,1294,2.87,1347,3.428,1369,5.244,1370,4.863,1371,6.732,1372,4.863,1373,4.363,1374,4.863,1375,4.863,1376,4.863,1377,4.863,1378,4.863,1379,4.363,1380,4.863,1381,4.863,1382,4.863,1383,4.863,1384,4.863]],["t/698",[8,1.162,112,2.547,180,4.615,227,3.928,241,3.09,368,3.081,381,5.183,382,3.486,537,3.583,618,4.703,622,5.183,629,2.638,692,3.928,1080,4.322,1246,5.602,1294,5.162,1298,4.225,1385,7.638,1386,6.249,1387,6.249,1388,4.867]],["t/701",[466,5.142,485,3.959,1318,5.142]],["t/703",[54,2.2,156,4.373,157,4.501,446,4.373,519,4.64,1266,6.326,1267,5.632,1268,5.849,1269,6.636]],["t/706",[8,1.369,28,1.816,54,1.719,55,1.949,56,1.978,57,2.068,188,3.746,200,1.921,204,3.746,216,2.883,294,4.201,301,3.324,456,3.581,512,3.746,618,4.644,629,2.516,854,2.712,1080,3.239,1238,4.201,1243,5.021,1246,3.626,1247,5.216,1248,4.029,1251,4.201,1315,4.401,1316,6.663,1317,4.201,1318,3.746,1319,4.642,1322,4.401]],["t/708",[456,3.633,485,4.672,1389,7.021,1390,7.021,1391,7.825,1392,7.825]],["t/710",[3,0.731,6,1.182,8,1.215,54,1.935,107,0.595,137,0.68,155,2.979,159,0.989,181,0.891,200,2.454,202,0.967,216,2.719,241,1.409,246,1.276,281,3.334,300,0.68,301,0.914,302,3.339,311,2.943,317,0.793,335,2.232,338,4.378,362,2.793,364,2.946,368,2.478,370,0.967,377,1.276,382,0.914,396,0.967,402,2.236,403,4.833,415,0.997,439,1.549,446,0.939,480,2.168,484,2.056,485,0.793,519,0.997,525,3.522,531,0.967,544,4.151,552,1.912,599,0.967,618,3.592,629,1.597,640,5.82,647,1.927,710,3.99,714,0.914,752,4.378,800,1.108,812,7.05,830,2.168,889,1.276,895,3.783,916,2.793,1022,2.946,1029,1.276,1123,5.234,1218,2.946,1260,1.108,1267,2.105,1268,1.067,1287,4.725,1294,2.232,1324,1.276,1347,2.009,1368,1.359,1385,3.137,1388,2.22,1393,2.85,1394,1.47,1395,2.85,1396,1.47,1397,1.47,1398,2.85,1399,1.47,1400,1.359,1401,1.47,1402,1.47,1403,1.47,1404,1.47,1405,1.47,1406,2.22,1407,1.47,1408,2.009,1409,1.21,1410,2.557,1411,2.557,1412,1.638,1413,1.47,1414,1.21,1415,1.359,1416,1.638,1417,3.393,1418,7.723,1419,7.141,1420,5.042,1421,6.661,1422,3.393,1423,3.393,1424,3.393,1425,3.393,1426,3.393,1427,5.563,1428,3.393,1429,3.137,1430,3.393,1431,6.017,1432,3.393,1433,1.47,1434,1.47,1435,1.47,1436,1.47,1437,1.47,1438,2.557,1439,1.47]],["t/712",[8,1.007,16,0.844,54,1.989,151,0.902,159,0.605,181,0.947,200,2.309,216,1.919,239,0.736,241,1.487,281,1.958,301,1.678,302,2.221,311,2.581,317,0.844,335,2.34,338,4.533,362,2.929,364,3.089,368,2.255,370,1.029,373,1.229,375,0.844,377,2.342,380,1.288,382,0.973,390,0.882,396,1.029,402,1.961,403,4.945,415,1.061,446,1,480,2.274,484,1.634,485,0.844,519,1.061,525,3.089,544,4.606,552,0.882,599,1.029,618,3.676,619,1.358,629,2.911,640,5.909,645,1.061,647,2.033,710,4.146,714,0.973,752,4.533,800,1.179,812,7.114,830,2.274,889,2.342,895,3.931,916,2.929,1001,1.358,1022,3.089,1123,5.355,1218,3.089,1235,1.288,1245,1.288,1267,1.288,1287,4.606,1294,1.775,1298,1.179,1318,1.89,1321,1.564,1322,1.288,1324,1.358,1333,1.564,1346,1.564,1347,2.12,1369,1.358,1388,2.342,1394,1.564,1396,1.564,1399,1.564,1406,3.089,1408,1.229,1410,1.564,1411,1.564,1413,1.564,1414,2.221,1417,3.558,1418,7.841,1419,7.25,1420,5.222,1421,6.816,1422,3.558,1423,3.558,1424,3.558,1425,3.558,1426,3.558,1427,5.719,1428,3.558,1429,3.289,1430,3.558,1431,6.186,1432,3.558,1433,1.564,1434,1.564,1435,1.564,1436,1.564,1437,1.564,1438,2.698,1439,1.564,1440,2.342,1441,1.564,1442,1.743,1443,1.743,1444,1.743,1445,1.743,1446,1.358,1447,1.743,1448,1.743,1449,1.743,1450,1.743]],["t/714",[8,1.377,54,1.923,402,3.296,415,4.056,418,5.529,439,3.623,484,3.623,519,4.056,1029,5.192,1260,5.6,1268,4.339,1269,6.117,1385,5.529,1400,5.529,1402,7.431,1403,7.431,1405,7.431,1451,6.665,1452,5.98,1453,6.665]],["t/716",[8,1.034,124,2.169,159,1.815,164,3.288,181,4.359,202,3.087,207,3.688,239,2.987,300,2.169,315,3.288,392,3.288,396,4.176,397,4.075,415,5.228,439,2.843,476,2.645,518,4.075,520,4.075,599,4.176,1286,4.693,1287,7.203,1294,3.087,1298,4.785,1322,3.863,1347,5.653,1406,5.512,1409,3.863,1415,4.339,1446,4.075,1454,5.231,1455,4.693,1456,5.923,1457,5.87,1458,4.075,1459,5.231,1460,5.231,1461,4.693,1462,5.231,1463,5.231,1464,4.339,1465,5.231]],["t/719",[8,1.06,362,5.36,396,4.283,599,4.283,812,5.36,916,5.36,1287,5.36,1347,6.15,1369,5.653,1406,5.653,1427,6.02,1429,6.02,1466,7.257,1467,4.724,1468,7.257,1469,4.415]],["t/722",[20,1.777,26,1.966,42,1.302,62,2.591,63,4.115,64,3.946,103,3.444,113,2.94,124,2.421,128,3.551,141,2.591,142,2.951,145,2.06,150,2.94,163,4.078,166,2.282,167,2.502,171,2.806,190,5.146,208,4.364,225,2.221,236,2.422,255,1.681,273,2.06,274,3.101,294,2.806,439,4.603,482,6.142,531,2.349,714,3.256,778,3.946,944,2.806,1058,3.302,1389,3.572,1470,3.981,1471,3.302,1472,3.981,1473,7.851,1474,6.91,1475,5.237,1476,2.806,1477,6.828,1478,5.383,1479,4.842,1480,3.981,1481,2.94,1482,3.302,1483,2.692,1484,3.799,1485,3.981,1486,3.572,1487,3.981,1488,3.981,1489,3.572,1490,4.842,1491,5.237,1492,3.572,1493,3.572,1494,3.572,1495,3.572,1496,3.572,1497,3.981,1498,3.101,1499,3.981,1500,3.981,1501,3.572,1502,3.981,1503,3.981,1504,3.572]],["t/725",[16,2.044,26,2.408,42,1.382,63,6.094,64,2.856,85,2.493,120,4.747,124,1.752,128,4.349,129,2.978,135,2.089,163,4.219,179,2.856,196,3.29,208,2.422,236,2.57,238,2.655,248,2.856,266,3.504,280,4.296,300,2.527,310,2.856,423,2.978,470,4.294,482,2.75,1255,2.856,1477,5.467,1478,6.734,1479,3.504,1484,3.967,1489,3.79,1490,5.055,1492,3.79,1493,3.79,1494,3.79,1495,3.79,1496,3.79,1505,4.224,1506,4.224,1507,4.224,1508,4.224,1509,3.79,1510,4.224,1511,4.224,1512,4.224,1513,4.224,1514,4.224,1515,4.224,1516,4.224,1517,4.224,1518,3.79,1519,3.79,1520,6.414,1521,3.79,1522,4.747,1523,3.504,1524,3.504,1525,3.79,1526,5.467,1527,4.224,1528,4.224,1529,3.79,1530,5.467,1531,3.504,1532,4.224,1533,6.094,1534,3.504,1535,4.224,1536,3.29,1537,4.224,1538,4.224,1539,3.79,1540,4.224,1541,3.79]],["t/727",[17,1.795,26,2.218,50,2.382,51,1.887,62,4.286,63,3.321,64,3.185,120,3.669,124,1.954,128,2.866,132,2.56,135,2.329,159,1.635,171,3.321,181,4.701,188,2.961,207,3.321,221,3.185,232,2.628,274,3.669,277,3.669,280,3.321,285,3.479,290,3.669,300,1.954,310,3.185,423,3.321,439,4.126,441,3.321,450,2.382,470,2.438,482,5.35,1058,3.907,1255,3.185,1478,6.737,1479,3.907,1484,3.066,1491,5.908,1520,7.76,1523,3.907,1534,3.907,1542,2.961,1543,4.711,1544,3.185,1545,4.711,1546,4.226,1547,3.907,1548,4.226,1549,4.711,1550,4.711,1551,3.479,1552,4.711,1553,4.711,1554,2.961,1555,4.711,1556,4.226,1557,4.711,1558,5.129,1559,3.907,1560,4.711,1561,4.711,1562,3.669,1563,4.711]],["t/730",[51,2.403,106,2.677,145,4.693,147,3.033,148,3.346,170,4.673,186,3.622,309,3.439,317,2.903,340,4.548,354,3.346,394,4.339,427,4.43,540,5.586,689,4.673,728,3.439,1179,5.382,1469,3.65,1564,3.771,1565,4.87,1566,5.999,1567,5.999,1568,5.999,1569,5.382,1570,5.999,1571,5.999,1572,4.056,1573,5.999,1574,4.673,1575,5.999,1576,4.976]],["t/732",[51,2.861,145,3.696,147,3.611,148,5.182,198,5.563,317,3.456,340,3.786,579,4.215,1475,6.408,1564,4.489,1565,4.489,1577,7.142,1578,7.142,1579,7.142,1580,7.142,1581,7.142,1582,7.142]],["t/734",[51,2.915,145,3.766,147,2.757,148,4.569,186,2.302,309,4.172,317,3.521,340,4.341,350,2.964,354,4.06,356,5.148,394,2.757,455,2.891,579,4.294,760,3.042,783,3.687,947,4.523,1157,6.529,1159,4.248,1355,4.893,1401,4.893,1456,4.027,1464,6.036,1469,4.428,1564,3.428,1565,3.428,1572,3.687,1583,6.036,1584,5.453,1585,4.893,1586,5.453,1587,5.453,1588,5.453,1589,5.453,1590,4.893,1591,4.893,1592,5.453,1593,4.893,1594,5.453,1595,5.453,1596,5.453,1597,3.844]],["t/736",[24,2.975,28,2.031,90,4.923,147,3.37,186,2.814,275,4.056,309,4.749,317,3.225,340,4.776,350,4.501,354,3.718,394,3.37,455,3.533,570,3.225,760,3.718,1469,5.039,1564,4.19,1565,4.19,1572,4.507,1597,4.699,1598,5.529,1599,6.665,1600,6.665]],["t/738",[90,6.006,186,2.733,208,4.663,275,5.41,309,4.663,340,5.094,394,3.273,455,3.431,714,3.611,760,3.611,1036,5.808,1469,4.948,1564,4.069,1565,4.069,1572,4.377,1597,4.563,1601,5.808,1602,7.296,1603,5.808,1604,5.808,1605,6.473]],["t/740",[28,1.973,147,3.273,186,2.733,208,3.712,275,3.939,309,4.663,317,3.132,340,5.094,394,3.273,455,3.431,570,3.132,712,5.37,760,3.611,876,5.37,1469,4.948,1471,5.37,1564,4.069,1565,4.069,1572,4.377,1597,4.563,1598,5.37,1606,6.473,1607,5.808,1608,5.808,1609,6.473,1610,6.473]],["t/742",[28,2.728,51,2.631,156,3.766,173,4.276,174,5.116,186,2.773,309,4.705,317,3.971,340,3.482,355,5.116,394,3.321,455,3.482,554,4.276,570,3.178,579,3.876,728,3.766,760,3.664,1469,4.993,1564,4.129,1565,4.129,1572,4.441,1597,4.63,1611,5.448,1612,6.568,1613,6.568]],["t/744",[106,3.748,156,3.909,157,4.023,186,2.878,222,4.806,309,4.815,317,3.299,340,3.614,394,3.447,455,3.614,728,4.815,760,3.803,1379,6.116,1469,5.11,1564,4.285,1565,4.285,1572,4.609,1597,4.806,1611,5.655,1614,6.817,1615,6.817]],["t/746",[6,2.871,147,4.287,148,5.112,155,3.669,177,4.351,317,4.102,340,3.669,354,3.862,407,3.213,609,4.212,767,3.762,1253,5.742,1254,5.742,1255,4.68,1363,6.21,1564,4.351,1565,4.351,1616,5.392,1617,6.922]],["t/748",[8,1.38,17,1.366,26,2.848,28,1.979,40,1.948,42,2.666,90,4.797,106,1.6,109,2.424,111,1.698,121,1.948,144,1.734,145,3.741,148,3.623,161,1.557,186,1.513,208,3.724,209,5.961,225,2,275,4.718,317,1.734,340,4.32,354,4.033,404,2.253,419,1.855,540,5.048,570,3.752,714,4.033,728,3.095,1359,2.647,1360,7.015,1361,7.015,1458,4.205,1569,3.216,1583,2.973,1585,3.216,1598,4.478,1601,3.216,1602,7.587,1603,3.216,1604,6.485,1611,2.973,1618,3.584,1619,5.399,1620,3.584,1621,5.399,1622,6.495,1623,3.584,1624,5.399,1625,3.216,1626,3.584]],["t/751",[62,4.649,225,3.984,255,3.648,262,5.275,276,6.091,299,4.954,537,4.095,1294,5.099,1318,4.489,1467,4.649,1481,6.381,1627,5.563,1628,7.142,1629,7.142]],["t/753",[6,1.601,8,1.327,13,2.099,15,2.047,28,2.439,41,1.83,62,2.514,64,2.611,98,3.203,111,4.106,112,2.326,119,2.611,132,2.099,137,2.367,141,2.514,143,2.279,144,2.762,145,2.953,148,2.154,159,1.34,161,1.646,195,2.214,211,2.611,226,3.892,231,2.611,232,5.155,233,2.214,255,2.409,263,4.023,290,4.445,301,2.154,350,2.099,407,3.715,419,4.141,456,2.649,531,2.279,537,2.214,540,2.514,807,2.514,815,3.008,889,3.008,899,3.464,1028,3.008,1298,2.611,1318,3.587,1343,3.008,1414,2.852,1481,4.215,1498,3.008,1526,3.464,1627,3.008,1630,5.12,1631,3.861,1632,3.464,1633,3.203,1634,3.464,1635,5.12,1636,3.861,1637,5.12,1638,3.861,1639,3.861,1640,3.861,1641,3.464,1642,3.203,1643,3.464,1644,3.861,1645,4.734,1646,3.203,1647,5.12,1648,3.861,1649,3.861,1650,3.861,1651,3.008]],["t/756",[6,1.397,8,0.753,13,2.8,26,2.106,28,2.841,42,1.102,51,1.35,96,2.118,107,1.224,111,3.575,112,3.243,119,2.278,121,1.831,124,2.136,132,1.831,135,1.666,137,2.136,144,3.026,149,1.63,151,1.744,159,2.618,161,2.295,184,2.625,204,2.118,225,1.88,226,1.932,232,2.874,239,2.175,263,6.493,300,1.397,410,2.795,421,2.278,425,2.118,439,1.831,442,2.489,455,2.731,522,2.05,531,3.691,711,2.489,1002,2.795,1408,2.375,1409,5.573,1521,3.023,1524,2.795,1542,5.204,1607,3.023,1608,4.622,1630,3.023,1637,3.023,1652,4.273,1653,6.283,1654,2.193,1655,2.795,1656,3.805,1657,2.375,1658,3.369,1659,2.375,1660,3.023,1661,2.795,1662,3.369,1663,6.449,1664,5.151,1665,3.369,1666,3.369,1667,3.369,1668,3.369,1669,2.625,1670,3.369,1671,4.273,1672,3.369,1673,5.151,1674,3.369,1675,2.489,1676,2.625,1677,2.795,1678,2.795,1679,2.278,1680,2.193,1681,2.489,1682,1.88,1683,3.023]],["t/758",[15,2.959,17,1.429,24,1.673,26,2.49,28,1.142,32,3.299,54,1.081,67,5.211,106,3.299,111,4.179,119,2.535,121,3.626,124,2.315,135,1.854,141,2.44,161,1.081,172,1.74,173,2.44,178,2.643,186,2.357,226,2.149,229,2.535,234,2.643,255,3.337,310,4.998,421,3.775,425,4.968,493,4.193,637,3.109,778,2.535,1037,3.109,1241,2.356,1268,2.44,1464,3.109,1469,3.397,1476,2.643,1483,2.535,1542,3.509,1544,3.775,1651,2.92,1654,2.44,1680,2.44,1684,3.749,1685,6.095,1686,3.749,1687,5.986,1688,3.749,1689,3.749,1690,5.583,1691,3.749,1692,3.749,1693,3.749,1694,2.92,1695,4.631,1696,3.749,1697,3.749,1698,2.92,1699,3.749,1700,3.749,1701,3.749,1702,3.363,1703,3.749,1704,3.749,1705,3.749,1706,3.749,1707,3.749,1708,3.749,1709,3.749,1710,3.109,1711,5.583,1712,3.749,1713,3.749,1714,3.749,1715,3.363,1716,5.009,1717,3.749,1718,3.363,1719,3.363,1720,3.749]],["t/760",[6,1.601,8,0.564,24,1.723,26,1.922,42,1.867,65,3.203,103,4.006,106,1.723,107,1.403,111,3.217,124,1.601,129,2.722,132,3.102,144,1.868,156,2.214,157,2.279,159,1.98,161,1.114,172,1.793,176,3.587,188,2.427,195,3.272,197,2.649,225,3.184,226,4.3,232,3.184,250,2.427,265,2.427,412,3.008,419,1.998,421,2.611,425,2.427,439,4.349,493,2.427,519,2.349,540,2.514,570,1.868,728,2.214,1255,2.611,1298,2.611,1359,4.215,1467,5.209,1481,2.852,1483,2.611,1504,3.464,1530,5.12,1534,3.203,1542,2.427,1635,3.464,1656,2.852,1657,2.722,1669,3.008,1680,3.715,1685,5.071,1721,3.861,1722,5.707,1723,5.707,1724,3.861,1725,3.861,1726,3.861,1727,3.861,1728,3.861,1729,3.861,1730,3.861,1731,3.861,1732,3.861,1733,3.861,1734,3.861,1735,3.861,1736,3.861,1737,3.861,1738,3.861,1739,3.861,1740,3.861,1741,3.861,1742,5.707,1743,3.861,1744,6.789,1745,5.707,1746,3.861,1747,3.861,1748,5.707,1749,3.861,1750,3.008,1751,3.861,1752,3.861,1753,3.861,1754,3.861,1755,3.861]],["t/762",[6,1.269,8,0.972,17,1.822,26,1.031,37,4.003,64,3.98,107,1.737,111,4.12,119,2.069,121,1.663,124,1.983,144,3.22,145,1.584,149,1.481,152,3.616,156,1.754,157,1.806,162,5.183,176,3.006,178,2.157,186,2.809,195,5.081,197,1.421,201,3.532,202,2.822,226,1.754,232,4.269,250,3.006,255,2.485,300,1.269,415,1.862,419,2.475,421,3.233,424,3.473,425,4.81,427,2.26,439,3.199,461,1.923,472,1.992,501,1.584,540,4.331,815,2.383,1241,4.81,1359,3.532,1409,2.26,1467,3.831,1522,3.725,1539,2.745,1542,3.006,1653,2.745,1655,2.538,1656,2.26,1657,2.157,1669,5.183,1671,3.966,1679,3.98,1680,1.992,1681,2.26,1685,5.749,1718,4.29,1756,5.885,1757,4.782,1758,4.782,1759,4.782,1760,4.782,1761,4.782,1762,6.653,1763,4.782,1764,3.06,1765,3.06,1766,3.06,1767,2.745,1768,2.745,1769,3.06,1770,3.06,1771,3.06,1772,3.06,1773,2.745,1774,3.966]],["t/764",[8,1.004,26,1.329,28,2.659,30,1.554,42,1.897,85,2.329,111,4,116,2.782,121,2.145,135,1.951,144,1.909,152,2.145,159,2.012,161,1.673,186,2.448,225,3.235,226,3.325,232,3.235,233,2.262,261,2.782,265,3.645,273,3.922,300,1.636,301,2.201,391,4,400,4.088,419,3.558,431,3.273,450,1.995,461,4.322,485,3.327,489,2.569,535,4.476,536,3.273,537,2.262,854,1.796,862,2.668,910,2.782,985,2.329,1236,4.088,1245,4.283,1294,3.422,1337,3.54,1400,3.273,1408,4.088,1409,5.597,1414,2.914,1483,3.921,1542,5.075,1544,2.668,1627,3.074,1652,4.81,1655,3.273,1656,4.283,1657,2.782,1678,3.273,1680,2.569,1775,6.286,1776,3.946,1777,5.203,1778,6.875,1779,3.54,1780,3.946]],["t/766",[6,1.196,8,0.421,17,1.099,24,1.287,28,2.47,32,2.256,37,2.208,67,2.033,106,2.037,111,2.162,113,2.13,116,2.033,119,1.95,121,4.055,124,3.094,132,1.567,142,1.458,144,2.208,145,3.861,148,3.914,160,1.653,161,1.316,166,1.653,176,4.913,178,4.539,186,1.927,188,2.868,193,2.13,197,3.257,202,1.702,204,3.56,205,3.085,207,2.033,208,4.023,225,1.609,226,1.653,232,2.546,250,4.048,255,3.681,275,4.756,276,3.217,299,4.482,340,2.419,404,1.812,425,1.812,427,3.37,455,3.002,461,2.868,493,1.812,516,3.37,537,1.653,1241,4.048,1288,4.094,1297,2.392,1359,2.13,1467,1.877,1498,5.016,1522,2.246,1542,2.868,1583,3.785,1642,2.392,1645,5.341,1646,5.341,1657,2.033,1680,1.877,1681,2.13,1685,3.085,1710,2.392,1773,4.094,1781,2.883,1782,2.883,1783,2.587,1784,4.563,1785,4.094,1786,2.883,1787,7.462,1788,2.883,1789,2.883,1790,2.883,1791,2.883,1792,2.883,1793,2.883,1794,2.883,1795,4.563,1796,2.883,1797,2.883,1798,2.883,1799,2.883,1800,2.883,1801,2.883,1802,2.883,1803,2.883,1804,2.587]],["t/768",[121,4.367,407,3.73,419,4.158,1294,4.742,1481,5.934]],["t/770",[26,2.279,111,3.206,121,3.677,135,3.345,149,3.274,161,1.952,195,3.879,234,4.769,255,2.856,419,3.501,421,4.575,424,3.993,472,4.404,985,3.993,1294,3.993,1467,4.404,1542,4.253,1544,4.575,1647,6.07,1680,4.404,1685,4.575,1687,7.5,1767,6.07,1768,6.07,1805,6.766]],["t/772",[8,0.598,13,2.226,14,2.285,15,2.171,16,2.504,17,2.271,24,1.828,26,1.743,28,2.43,32,2.947,54,0.727,62,1.64,67,2.887,68,4.121,106,1.125,111,1.194,116,5.218,121,3.563,124,1.699,132,1.37,137,2.146,141,1.64,142,3.315,144,1.982,145,2.678,173,1.64,179,1.704,186,1.064,197,1.17,225,3.657,226,5.24,232,2.285,244,1.274,250,1.584,255,1.064,276,2.887,281,1.64,286,1.584,299,2.967,300,1.045,301,1.406,331,1.963,407,2.767,419,1.304,462,1.219,482,5.46,516,1.861,531,1.487,537,1.445,603,1.963,717,1.861,784,1.861,817,2.09,819,2.261,829,2.261,1013,2.261,1021,2.261,1022,1.963,1043,2.261,1294,1.487,1318,2.575,1343,1.963,1467,1.64,1471,2.09,1473,2.261,1478,1.963,1498,3.19,1501,2.261,1509,4.643,1518,3.675,1523,4.292,1541,4.643,1542,4.653,1546,2.261,1625,3.675,1641,2.261,1642,2.09,1645,2.09,1646,2.09,1654,2.666,1663,3.19,1669,1.963,1681,3.025,1685,3.499,1694,1.963,1715,2.261,1750,1.963,1774,3.397,1806,5.959,1807,2.52,1808,2.52,1809,5.174,1810,2.52,1811,4.096,1812,4.096,1813,2.52,1814,2.261,1815,2.52,1816,2.52,1817,2.52,1818,2.52,1819,2.52,1820,2.52,1821,2.52,1822,2.52,1823,2.52,1824,2.52,1825,2.52,1826,2.52,1827,2.52,1828,2.52,1829,2.52,1830,2.52,1831,2.52,1832,2.52,1833,2.52,1834,2.261,1835,2.261,1836,2.52,1837,2.52,1838,2.52,1839,2.52,1840,2.261,1841,2.52,1842,2.52,1843,2.52,1844,2.52,1845,2.261,1846,2.52,1847,2.52,1848,2.52,1849,2.52,1850,2.52,1851,2.09,1852,2.52,1853,1.776]],["t/774",[15,2.297,17,1.03,24,1.206,26,2.09,28,1.653,30,1.064,32,3.359,37,1.307,41,1.28,42,1.774,50,1.366,102,2.241,103,3.201,107,1.574,111,3.219,116,5.37,121,2.948,124,3.007,137,1.12,149,2.096,152,1.468,161,0.779,173,1.759,177,2.723,195,1.549,202,4.495,205,1.827,219,2.743,221,4.903,222,4.375,225,3.462,226,2.484,227,4.558,232,3.462,237,2.625,246,2.104,250,3.901,255,3.061,276,4.789,277,2.104,281,1.759,299,2.484,301,4.045,302,3.2,310,1.827,349,4.499,407,2.518,412,4.225,419,1.398,420,4.499,424,1.594,432,2.104,439,1.468,456,1.254,516,3.2,520,3.375,526,1.827,531,2.557,711,1.995,1037,3.594,1241,2.723,1298,3.668,1318,4.558,1324,2.104,1343,2.104,1397,7.947,1408,1.904,1467,1.759,1524,2.241,1556,3.887,1627,2.104,1654,2.82,1671,3.594,1679,1.827,1681,3.2,1694,2.104,1710,2.241,1775,2.241,1785,2.424,1834,2.424,1835,3.887,1854,5.424,1855,4.332,1856,2.701,1857,2.701,1858,2.701,1859,2.701,1860,2.701,1861,2.701,1862,2.701,1863,4.332,1864,2.701,1865,2.701,1866,2.701,1867,2.701,1868,2.701,1869,2.701,1870,2.701,1871,2.701,1872,1.904,1873,2.701,1874,2.701]],["t/776",[8,1.114,28,2.324,451,5.303,457,4.254,476,3.856,1659,5.376,1875,7.626,1876,5.94,1877,7.626,1878,6.842]],["t/779",[12,2.982,20,2.449,26,1.848,42,1.795,51,2.927,132,3.971,149,2.655,159,1.904,186,2.316,189,3.71,244,2.774,300,3.03,407,2.547,419,3.781,441,3.868,458,3.325,470,2.839,479,3.393,509,3.238,965,6.343,1233,3.868,1558,4.274,1574,4.274,1632,4.922,1679,4.94,1853,5.791,1879,4.922,1880,5.151,1881,4.922,1882,5.486,1883,4.922,1884,5.486,1885,4.052,1886,5.486,1887,4.922,1888,5.486,1889,4.922,1890,5.486,1891,4.922,1892,4.922]],["t/781",[17,1.948,20,2.282,26,1.722,37,3.835,41,4.033,42,1.672,53,2.585,107,1.857,132,3.787,137,2.12,161,1.475,189,4.711,197,2.373,239,2.158,275,3.11,300,2.889,407,2.373,419,3.605,437,3.457,441,3.604,447,3.213,448,3.11,456,3.234,476,2.585,479,3.07,501,2.646,810,3.457,1079,4.241,1080,2.778,1090,4.587,1554,3.213,1574,5.427,1682,3.887,1719,4.587,1893,3.776,1894,4.587,1895,7.111,1896,5.112,1897,5.112,1898,3.213,1899,5.112,1900,3.982,1901,4.587,1902,5.112,1903,4.587,1904,5.112,1905,5.112,1906,5.112,1907,4.241,1908,3.982,1909,5.112,1910,5.112,1911,4.587]],["t/783",[8,0.974,26,2.245,86,5.192,92,4.339,106,3.697,128,4.056,137,2.764,159,2.313,161,2.389,244,3.37,451,3.934,456,3.094,458,3.769,479,2.582,499,4.888,1236,4.699,1682,4.62,1912,5.98,1913,6.665,1914,6.665,1915,4.923,1916,6.665,1917,6.665]],["t/785",[8,1.391,101,5.89,450,4.521,507,5.331,583,3.511,1918,7.562,1919,7.562,1920,7.562,1921,6.785]],["t/787",[8,1.06,17,2.766,28,2.212,124,3.01,457,4.049,458,4.257,499,5.148,501,3.755,1893,5.36,1898,4.562,1922,6.511,1923,6.02,1924,7.827]],["t/790",[8,0.943,9,0.985,15,0.885,20,0.745,26,0.975,28,0.509,30,0.657,50,0.844,54,1.321,55,1.858,56,1.52,57,1.331,84,1.233,89,1.384,96,1.049,103,0.985,106,0.745,107,1.664,109,1.128,112,1.866,121,0.907,124,0.692,135,1.897,149,0.808,150,1.233,151,0.864,159,1.589,161,1.321,166,2.199,167,1.049,171,1.176,175,1.176,181,0.907,186,0.705,188,1.049,189,1.128,190,1.958,197,0.775,200,1.831,208,1.66,209,1.176,212,1.015,239,1.619,248,1.958,273,0.864,317,1.856,335,1.709,368,1.774,375,0.808,379,1.086,396,0.985,407,2.637,437,1.128,451,1.709,455,0.885,456,0.775,458,1.318,462,1.401,463,2.17,464,1.233,476,1.464,479,1.122,515,1.3,524,1.384,620,2.041,629,2.855,640,1.128,645,1.015,720,1.233,767,1.574,810,1.128,854,1.746,919,3.922,920,3.096,927,2.704,940,5.396,969,2.704,970,1.958,994,5.181,995,1.176,1028,1.3,1065,4.424,1080,0.907,1105,6.932,1110,3.441,1111,3.441,1112,3.182,1116,1.497,1119,1.497,1120,1.497,1121,1.384,1122,2.598,1123,1.176,1124,2.598,1125,2.598,1126,2.256,1127,3.441,1128,2.598,1129,2.833,1135,1.384,1136,0.985,1137,2.402,1138,1.497,1141,1.497,1240,6.504,1241,1.049,1243,1.086,1244,1.176,1249,1.885,1255,1.128,1261,1.384,1322,1.233,1476,2.704,1482,6.028,1544,1.128,1547,1.384,1554,3.57,1559,1.384,1576,1.384,1654,2.497,1659,1.176,1663,1.3,1675,1.233,1682,3.402,1878,2.598,1885,1.233,1925,1.669,1926,1.669,1927,5.584,1928,1.3,1929,1.669,1930,1.669,1931,1.497,1932,1.669,1933,1.669,1934,1.669,1935,1.669,1936,2.896,1937,1.669,1938,6.455,1939,4.108,1940,1.669,1941,1.669,1942,1.669,1943,1.669,1944,2.598,1945,1.497,1946,1.669,1947,2.598,1948,1.669,1949,1.497,1950,1.384,1951,1.497,1952,3.182,1953,1.669,1954,1.669,1955,1.669,1956,1.669,1957,1.384,1958,1.497,1959,1.669,1960,1.669,1961,1.384,1962,1.384,1963,1.497,1964,1.384,1965,1.958,1966,1.669,1967,1.669,1968,1.497,1969,1.497,1970,1.497,1971,1.669]],["t/792",[3,1.851,8,1.133,26,1.396,28,1.263,30,1.633,54,1.196,55,2.314,56,1.376,96,2.606,107,1.506,135,2.05,161,1.734,181,2.253,185,3.439,204,2.606,212,2.523,239,1.75,281,2.699,407,3.284,456,1.925,462,2.006,463,1.964,470,2.146,476,3.04,509,2.447,620,2.923,919,5.309,920,2.803,940,2.803,949,4.238,969,2.923,970,2.803,994,5.246,995,2.923,1065,6.902,1126,3.229,1129,3.062,1135,3.439,1136,2.447,1146,3.72,1233,2.923,1240,4.238,1261,3.439,1482,6.436,1547,3.439,1548,3.72,1554,5.177,1654,2.699,1663,4.683,1876,3.229,1885,3.062,1915,3.062,1927,5.226,1951,3.72,1952,4.987,1961,3.439,1962,3.439,1964,3.439,1965,2.803,1972,3.72,1973,4.146,1974,4.146,1975,4.146,1976,4.146,1977,2.923,1978,4.146]],["t/794",[28,2.413,51,2.486,147,3.138,239,2.62,244,3.138,443,4.834,463,2.94,466,4.977,472,4.04,476,4.409,479,3.676,481,3.901,509,3.662,689,4.834,1156,5.568,1295,4.583,1297,5.147,1593,5.568,1677,5.147,1872,4.375,1979,5.568,1980,5.568,1981,6.205,1982,5.568,1983,6.205,1984,6.205,1985,6.205,1986,6.205,1987,6.205,1988,6.205]],["t/796",[28,1.443,30,2.603,41,3.131,144,2.291,147,3.342,159,2.293,161,1.906,239,3.214,260,3.928,300,1.964,307,2.881,311,3.083,354,2.642,419,3.42,450,2.394,455,2.51,462,3.986,463,4.253,466,4.154,476,3.849,481,2.977,919,3.687,937,3.338,938,3.202,942,3.338,965,3.202,1069,3.497,1081,4.249,1131,4.249,1136,2.795,1137,5.482,1159,3.689,1160,3.928,1295,3.497,1554,2.977,1562,5.148,1677,3.928,1682,3.687,1814,4.249,1853,3.338,1872,3.338,1879,4.249,1881,4.249,1927,4.021,1965,4.468,1970,4.249,1979,4.249,1989,4.735,1990,4.735,1991,4.735,1992,4.735,1993,4.735,1994,4.735,1995,3.928,1996,4.735,1997,4.735,1998,3.928,1999,4.735]],["t/798",[16,1.522,26,1.059,30,1.239,41,2.838,85,1.856,92,2.048,106,1.404,107,1.775,112,1.282,135,2.416,137,1.305,144,1.522,151,3.1,159,1.092,161,0.907,168,1.856,181,2.655,200,1.014,225,1.755,239,2.851,243,1.755,244,3.029,263,3.444,264,2.127,265,1.977,299,1.804,300,3.033,375,1.522,407,2.781,447,1.977,451,1.856,452,2.217,458,1.432,462,3.268,463,3.2,472,3.18,476,2.47,500,2.127,501,1.628,508,2.217,518,2.45,597,3.645,629,2.851,937,2.217,938,2.127,965,3.303,1069,5.716,1309,2.822,1440,2.45,1486,4.383,1490,2.609,1525,2.822,1544,3.303,1551,2.323,1679,2.127,1682,2.726,1683,2.822,1775,2.609,1853,4.223,1876,2.45,1891,4.383,1892,2.822,1901,2.822,1903,2.822,1908,2.45,1911,2.822,1928,2.45,1931,2.822,1957,2.609,1965,4.05,2000,2.217,2001,3.146,2002,3.146,2003,3.146,2004,3.146,2005,3.146,2006,4.886,2007,3.146,2008,4.886,2009,3.146,2010,4.886,2011,5.99,2012,3.146,2013,4.886,2014,3.146,2015,3.146,2016,3.146,2017,3.146,2018,5.374,2019,3.146,2020,1.977,2021,3.146,2022,5.99,2023,3.146,2024,3.146,2025,3.146,2026,3.146,2027,3.146,2028,3.146,2029,2.609,2030,4.383,2031,3.146,2032,2.609,2033,3.146,2034,3.146,2035,3.146,2036,3.146,2037,3.146,2038,3.146,2039,3.146,2040,3.146,2041,3.146,2042,2.323,2043,4.886,2044,3.146,2045,4.886,2046,4.886,2047,3.146,2048,3.146]],["t/801",[8,1.11,17,1.51,26,1.335,28,2.101,30,2.292,42,1.297,92,2.58,107,2.114,112,1.615,135,2.877,144,1.918,151,2.051,159,2.934,168,2.339,186,1.673,200,2.223,239,2.91,273,2.051,375,2.815,449,4.101,451,3.433,457,2.211,459,2.58,461,2.491,462,1.918,463,2.757,479,1.535,501,2.051,504,4.859,531,3.433,629,1.673,909,5.961,919,3.246,1069,2.927,1202,5.091,1216,3.288,1293,5.22,1295,2.927,1308,3.556,1440,4.532,1456,2.927,1484,4.487,1536,3.087,1551,2.927,1558,3.087,1574,3.087,1675,2.927,1872,2.794,1927,4.194,1958,5.22,1965,2.68,1998,4.826,2049,3.963,2050,3.963,2051,3.556,2052,3.963,2053,3.556,2054,3.963,2055,3.556,2056,5.818,2057,5.22,2058,3.963,2059,3.963,2060,3.963,2061,3.087,2062,3.556,2063,3.556,2064,3.288,2065,5.22,2066,3.556,2067,3.556,2068,3.556,2069,3.963,2070,2.927,2071,3.963,2072,3.556,2073,2.339]],["t/803",[8,1.235,16,2.432,28,2.099,30,2.713,42,1.644,112,2.048,135,2.485,144,2.432,159,2.933,168,2.966,200,1.621,239,2.907,273,2.601,375,3.332,451,2.966,457,3.842,461,3.16,462,2.432,463,2.382,501,4.066,504,5.538,507,3.543,629,3.317,909,4.855,919,2.804,1216,7.584,1219,4.51,1456,3.712,1536,3.915,1682,2.804,1927,3.058,1965,3.399,2062,4.51,2063,4.51,2064,4.169,2065,4.51,2067,4.51,2072,4.51,2073,5.396,2074,4.51,2075,5.026,2076,3.915,2077,5.026,2078,5.026]],["t/805",[54,2.163,307,4.563,641,5.841,724,5.25,862,5.07,892,6.22,1007,6.22,1012,5.538,1136,4.425,2079,7.499,2080,6.728,2081,7.499]],["t/807",[8,0.617,12,2.296,26,2.053,28,1.287,42,1.382,130,3.504,159,1.466,161,1.218,164,3.83,197,1.961,238,2.655,244,2.136,248,2.856,307,4.762,311,3.967,392,2.655,407,2.829,419,2.186,442,3.12,449,2.978,450,2.136,452,2.978,458,1.922,459,4.653,462,2.949,470,2.186,481,2.655,499,3.596,501,3.699,522,3.708,724,2.493,742,3.29,767,2.296,870,3.29,935,3.504,948,3.29,989,3.79,1092,3.79,1136,5.102,1158,3.79,1167,3.79,1177,3.79,1456,3.12,1679,2.856,1885,3.12,1898,2.655,1915,3.12,1949,5.467,1957,3.504,1972,3.79,2000,2.978,2032,3.504,2068,3.79,2076,3.29,2080,3.79,2082,4.224,2083,3.79,2084,3.79,2085,4.224,2086,4.224,2087,4.224,2088,4.224,2089,4.224,2090,4.224,2091,3.504,2092,4.224,2093,4.224,2094,4.224,2095,4.224,2096,4.224,2097,4.224,2098,4.224,2099,4.224,2100,4.224,2101,4.224,2102,4.224,2103,4.224,2104,4.224,2105,4.224,2106,4.224,2107,4.224,2108,4.224,2109,4.224,2110,4.224,2111,3.79,2112,4.224]],["t/810",[41,3.182,53,3.396,106,2.997,112,2.737,124,2.785,161,1.937,211,4.54,244,4.207,256,4.371,286,4.221,307,4.086,423,4.734,448,4.086,459,4.371,462,3.249,965,4.54,1136,3.963,1303,5.57,1678,5.57,1853,4.734,1928,6.481,2042,4.96,2113,6.715,2114,6.025,2115,6.025]],["t/812",[42,1.924,55,1.924,111,2.787,149,2.846,159,2.041,197,2.73,209,5.392,238,4.808,239,2.483,285,4.343,307,3.578,407,3.551,441,4.146,459,3.828,462,2.846,470,3.958,477,4.146,479,3.293,522,3.578,937,4.146,938,3.976,1136,4.513,1476,4.146,1661,4.878,1675,4.343,1898,4.808,2000,4.146,2030,5.276,2070,4.343,2084,5.276,2116,5.881,2117,5.276,2118,5.881,2119,5.881,2120,5.881,2121,5.881,2122,5.276,2123,5.276]],["t/814",[3,1.048,8,0.343,12,1.277,13,1.277,17,1.474,26,0.791,30,1.523,41,1.832,51,1.549,53,1.188,85,1.386,96,1.476,109,1.588,111,1.113,112,0.957,124,0.974,127,4.088,137,2.369,139,1.948,149,1.137,159,2.358,175,1.656,180,1.735,181,1.277,196,1.83,200,1.247,201,1.735,226,2.217,239,2.412,241,1.161,255,0.992,285,1.735,300,1.604,307,3.476,311,2.517,335,1.386,354,3.187,375,1.137,379,2.517,390,1.188,397,3.012,404,1.476,407,1.795,423,1.656,425,1.476,442,1.735,444,2.856,450,1.188,470,1.215,479,2.632,499,1.386,501,1.215,509,1.386,515,1.83,557,2.217,629,1.632,711,1.735,724,1.386,726,1.948,755,1.386,759,1.735,805,1.529,810,1.588,830,1.347,854,1.069,862,3.333,942,4.79,965,2.615,981,1.588,1007,1.948,1024,3.469,1030,2.107,1065,3.012,1076,3.469,1123,1.656,1136,4.843,1159,3.839,1160,4.739,1213,2.107,1303,3.208,1323,2.107,1360,1.948,1361,1.948,1390,2.107,1419,4.739,1452,2.107,1476,2.726,1483,1.588,1484,2.517,1562,1.83,1576,1.948,1590,3.469,1591,4.422,1660,3.469,1661,5.636,1675,1.735,1679,1.588,1682,1.31,1694,1.83,1750,1.83,1894,2.107,1895,2.107,1898,1.476,1900,3.012,1915,1.735,1963,2.107,1977,1.656,1998,1.948,2020,1.476,2042,2.856,2053,2.107,2064,1.948,2070,3.64,2122,2.107,2123,6.096,2124,2.349,2125,2.349,2126,2.349,2127,6.316,2128,2.349,2129,2.349,2130,2.349,2131,1.948,2132,2.349,2133,3.867,2134,2.349,2135,2.107,2136,2.349,2137,6.795,2138,3.867,2139,2.349,2140,2.349,2141,2.349,2142,2.349,2143,2.349,2144,3.867,2145,2.349,2146,2.349,2147,2.349,2148,3.867,2149,2.349,2150,2.349,2151,1.948,2152,2.349,2153,3.867,2154,2.107,2155,2.349,2156,2.349,2157,2.349,2158,1.948,2159,2.349,2160,2.349,2161,2.349,2162,2.349,2163,2.349,2164,2.349,2165,2.349,2166,3.867,2167,2.349,2168,2.349,2169,2.349,2170,2.349,2171,2.349,2172,2.349,2173,2.349,2174,3.867,2175,2.349,2176,1.948,2177,2.349,2178,2.349,2179,2.349,2180,2.349]],["t/816",[103,4.389,221,5.986,307,4.525,458,3.385,462,4.284,1136,4.389,2135,6.672,2181,7.437,2182,7.437,2183,6.672,2184,7.437,2185,7.437]],["t/819",[8,1.107,106,2.588,107,1.434,112,3.838,137,1.636,186,1.666,197,2.692,273,2.042,433,3.273,450,3.832,458,1.796,462,3.907,463,4,479,1.529,484,3.152,485,2.806,506,4.283,583,3.518,767,3.152,854,1.796,919,3.836,954,3.074,969,4.088,1069,4.283,1202,6.445,1654,2.569,1779,5.203,1923,5.703,1927,4.611,1995,4.81,2020,2.48,2055,8.197,2073,5.15,2076,7.116,2186,3.946,2187,3.946,2188,3.273,2189,3.946,2190,6.875,2191,3.946,2192,3.946,2193,3.273,2194,3.273,2195,3.946,2196,3.54,2197,3.946]],["t/822",[8,1.199,28,2.002,54,1.895,55,2.149,56,2.18,57,2.279,188,4.129,200,2.886,204,4.129,216,3.178,294,4.63,391,3.112,456,3.81,512,4.129,629,2.773,854,2.989,1230,5.116,1238,4.63,1243,5.342,1315,4.851,1316,6.972,1317,4.63,1319,5.116]],["t/825",[8,1.316,241,3.296,341,4.699,374,4.923,390,3.37,391,3.924,392,4.19,537,4.749,618,4.939,1080,3.623,1246,5.039,1247,5.6,1248,4.507,1251,4.699]],["t/827",[8,1.132,181,3.26,219,3.917,233,5.2,332,3.771,341,4.229,368,3.513,370,3.54,374,4.43,390,3.033,391,3.671,392,3.771,526,5.238,527,4.43,528,4.43,618,4.848,1080,3.26,1246,4.714,1247,5.238,1248,4.056,1251,4.229,1369,4.673,1408,4.229]],["t/829",[8,1.377,301,4.62,341,4.699,374,4.923,390,3.37,391,3.924,392,4.19,618,4.939,1080,3.623,1246,5.039,1247,5.6,1248,4.507,1251,4.699]],["t/833",[30,2.568,54,1.881,112,2.657,137,3.388,202,3.848,216,3.155,239,2.753,297,5.079,300,2.704,484,3.544,509,3.848,696,4.597,999,8.004,1012,4.816,1020,5.85,1239,5.409,1243,5.318,1440,5.079,1441,5.85,1952,5.409,1977,4.597,2198,5.079,2199,5.85,2200,5.85,2201,6.52,2202,4.816,2203,6.52]],["t/835",[8,1.221,28,2.062,54,2.411,55,2.967,56,2.774,57,2.901,112,2.757,200,2.182,456,3.881,629,2.856,854,3.079,985,3.993,1240,4.769,1241,4.253,1242,5.27,1243,5.441,1244,4.769,1245,4.997]],["t/838",[8,1.183,28,2.467,137,2.665,161,1.854,202,4.778,263,4.531,300,2.665,301,4.516,382,3.586,484,3.493,618,4.288,985,3.793,1001,5.006,1080,3.493,1249,4.184,1659,4.531,1950,5.331,1977,4.531,2198,5.006,2199,5.767,2200,5.767,2204,5.767,2205,5.767,2206,6.427,2207,6.427,2208,6.427,2209,6.427]],["t/840",[3,2.789,30,2.461,96,3.928,107,2.27,135,3.09,137,2.591,159,2.168,160,3.583,161,2.294,202,4.693,380,4.615,390,3.16,408,4.615,450,3.16,466,3.928,484,4.322,485,3.024,522,3.802,531,3.688,1001,4.867,1316,4.867,1318,3.928,1368,5.183,1404,5.606,1414,4.615,1415,5.183,1455,5.606,1659,4.405,1777,5.606,1950,5.183,2204,5.606,2205,5.606,2210,6.249,2211,6.249]],["t/843",[50,3.856,112,3.108,132,4.145,1202,5.632,1407,6.842,1872,5.376,2073,4.501,2158,6.326,2212,8.985,2213,7.626]],["t/846",[103,3.662,107,2.255,112,2.529,113,4.583,132,3.373,144,3.003,167,3.901,273,3.211,830,5.44,854,4.318,919,3.462,1682,3.462,1927,5.773,1961,5.147,1962,5.147,2158,5.147,2214,7.917,2215,7.823,2216,7.917,2217,7.917,2218,6.205]],["t/848",[112,2.934,186,3.039,200,2.799,273,3.725,300,2.985,368,3.749,854,3.276,856,5.317,919,4.016,1244,5.075,1476,5.075,1554,4.525,1927,5.282]],["t/850",[200,2.975,368,3.877,854,4.199,855,5.476,856,6.814,970,4.753,994,5.786,1129,5.192,1224,6.307]],["t/852",[8,0.9,55,2.016,56,2.046,57,2.139,137,2.556,184,6.14,200,2.542,368,3.549,383,5.822,439,3.35,620,5.557,854,3.587,856,5.822,994,5.877,995,5.557,1029,4.801,1084,7.072,1373,7.072,1651,4.801,1750,4.801,1927,3.75,2070,4.552,2151,5.112,2219,7.883]],["t/855",[107,2.658,132,3.976,161,2.11,224,5.927,244,3.699,603,5.699,1685,4.947,1995,6.069,2117,6.564,2151,6.069,2154,6.564,2220,7.316,2221,7.316,2222,7.316,2223,7.316]],["t/858",[107,2.496,112,2.799,200,2.215,213,5.073,300,2.849,375,3.324,432,5.351,450,3.473,479,2.661,908,5.698,1202,6.231,1233,4.842,1295,5.073,1457,5.698,1872,4.842,1889,6.163,1968,6.163,2061,7.114,2224,6.869,2225,6.163,2226,6.869]],["t/860",[96,4.489,107,2.595,239,3.015,250,4.489,300,2.962,985,4.215,1531,5.924,1562,5.563,1716,6.408,1851,5.924,2042,5.275,2061,7.236,2066,6.408,2070,5.275,2225,6.408,2227,7.142,2228,7.142]],["t/862",[107,2.554,121,3.821,239,2.968,244,3.555,273,4.429,300,3.826,479,2.723,1682,3.922,1853,4.956,1880,4.956,1945,6.307,2042,5.192,2061,6.666,2229,7.03,2230,8.558,2231,7.03]],["t/864",[250,5.142,479,3.169,2232,8.181]],["t/867",[8,1.234,30,2.287,54,1.675,55,1.899,56,1.927,57,2.014,112,2.366,186,3.202,200,2.723,208,3.328,239,2.451,368,3.692,830,3.328,854,4.076,855,4.522,856,4.287,927,4.092,954,4.522,1249,3.779,1457,4.815,1654,3.779,1657,4.092,1876,4.522,1927,5.139,1947,5.208,1965,5.128,1969,5.208,2215,5.208,2233,5.805,2234,5.805,2235,5.805,2236,5.805]],["t/871",[96,4.159,112,2.696,132,3.596,137,3.419,161,1.909,213,4.887,267,4.474,375,3.202,509,3.905,522,4.026,597,4.026,645,4.026,1238,4.664,1244,4.664,1292,5.488,1313,6.838,1317,4.664,1652,6.838,2202,6.089,2237,6.616,2238,6.616,2239,6.616,2240,6.616,2241,6.616,2242,6.616]],["t/873",[8,1.221,28,2.062,54,2.411,55,2.967,56,2.774,57,2.901,112,2.757,200,2.182,456,3.881,629,2.856,854,3.079,985,3.993,1240,4.769,1241,4.253,1242,5.27,1243,5.441,1244,4.769,1245,4.997]],["t/875",[8,1.052,365,5.317,379,4.686,382,4.843,618,4.511,1018,5.971,1080,3.913,1284,5.971,1317,5.075,2176,7.201,2243,7.789,2244,6.459,2245,6.459]],["t/877",[8,1.043,365,5.275,379,4.649,382,4.82,618,4.495,1018,5.924,1080,3.882,1284,5.924,1317,5.035,2176,7.167,2243,7.752,2244,6.408,2245,6.408,2246,7.142]],["t/880",[8,1.151,28,1.306,30,1.687,51,1.716,54,1.776,55,2.014,56,1.422,57,2.136,106,3.877,111,3.414,149,2.073,159,2.136,161,1.236,197,2.858,216,2.073,224,2.897,239,1.809,244,3.644,265,2.693,275,2.607,419,2.217,447,4.529,448,2.607,458,1.95,462,2.979,466,3.87,470,2.217,479,3.052,499,2.528,501,2.217,508,3.02,512,3.87,522,3.746,583,1.989,584,2.607,985,2.528,1233,3.02,1235,3.164,1249,2.789,1315,4.547,1469,2.607,1544,2.897,1554,3.87,1634,3.844,1774,3.554,1907,5.107,1980,3.844,2029,5.107,2032,3.554,2083,3.844,2193,5.107,2194,5.107,2198,4.795,2247,4.284,2248,4.284,2249,3.844,2250,3.844,2251,4.284,2252,4.284,2253,4.284,2254,4.284,2255,3.844,2256,4.284,2257,4.284,2258,3.844,2259,6.156,2260,4.284,2261,3.844,2262,3.844]],["t/882",[26,1.955,28,2.311,29,3.328,42,2.481,50,2.935,106,3.77,111,2.751,159,2.632,244,2.935,265,4.767,425,3.649,447,3.649,448,4.614,462,2.809,477,4.092,479,2.249,499,3.426,500,3.925,512,3.649,531,3.426,1237,4.815,1315,4.287,1554,3.649,1558,4.522,1804,5.208,1907,6.291,1908,4.522,2193,4.815,2194,4.815,2249,5.208,2261,5.208,2262,5.208,2263,5.805,2264,5.805,2265,5.805,2266,5.208,2267,5.805,2268,4.815,2269,5.805,2270,5.208]],["t/884",[3,3.619,6,3.362,52,4.196,134,5.988]],["t/886",[8,0.939,18,3.11,19,3.684,20,2.869,50,3.25,63,4.531,145,3.326,183,6.306,267,6.484,272,7.717,279,4.747,400,4.531,485,3.11,551,4.04,552,4.094,814,5.767,962,5.331,1656,4.747,2271,6.427,2272,6.427,2273,6.427,2274,6.427,2275,6.427]],["t/888",[692,5.19,861,6.848]],["t/890",[1,3.128,2,4.127,3,3.122,4,3.128,5,3.801,6,2.901,7,3.128,8,1.161,9,3.034,10,3.128,11,3.128,12,3.801,13,3.801,14,3.902,15,2.725,16,2.488,17,1.959,18,2.488,19,3.183,20,3.122,21,3.034,22,3.128,23,3.128,24,2.295,25,3.034,26,1.732,27,3.128,28,1.567,29,2.948,30,2.025,31,3.034,32,2.542,33,2.6,34,3.034,35,3.034,36,3.128,37,3.384,38,4.01,39,4.01,40,3.801,41,2.436,42,1.682,43,3.034,44,3.034,45,2.6,46,2.6,47,2.6,48,2.6,49,2.542,50,2.6,51,2.06,52,2.661,53,2.6]],["t/892",[2,4.941,3,3.028,5,3.687,6,3.643,8,0.991,18,2.379,19,2.237,20,2.194,24,3.028,26,1.656,30,1.937,31,2.901,32,2.431,33,2.486,34,2.901,35,2.901,37,3.282,38,3.889,39,3.889,40,3.687,43,2.901,51,2.717,52,4.816,53,3.43,59,3.324,106,2.194,107,1.786,110,4.078,111,2.33,118,4.078,124,2.039,153,2.819,159,1.706,235,3.09,443,3.83,1522,3.83,1559,4.078,1633,4.078,1651,3.83,1659,3.466,2018,6.086,2091,4.078,2111,4.411,2276,4.916,2277,5.284,2278,6.783,2279,4.916,2280,4.916,2281,4.916,2282,4.411]],["t/894",[3,3.234,5,3.369,6,3.722,8,0.906,17,1.648,21,2.553,38,3.554,39,3.554,40,3.369,42,1.415,44,2.553,45,3.134,46,2.187,47,2.187,48,2.187,49,2.139,50,4.001,52,4.094,53,3.134,86,3.369,106,2.767,107,2.252,137,2.571,161,1.248,204,2.719,225,2.413,255,1.826,265,3.896,286,3.896,291,3.588,293,3.588,448,2.632,455,3.84,1484,2.816,1531,3.588,1702,3.881,1840,5.561,1880,6.143,1898,3.896,1900,3.369,2029,3.588,2091,5.142,2115,3.881,2183,3.881,2198,3.369,2255,3.881,2270,3.881,2277,5.643,2282,6.5,2283,4.325,2284,4.325,2285,7.244,2286,4.325,2287,4.325,2288,4.325,2289,4.325,2290,4.325,2291,4.325,2292,4.325]],["t/896",[8,1.313,142,3.856,200,2.459,368,2.954,450,3.856,476,3.856,583,3.54,853,6.326,1887,6.842,1944,6.842]],["t/898",[8,1.035,85,4.181,253,3.851,407,3.289,450,3.583,451,4.181,457,3.953,458,3.225,470,3.667,489,4.612,499,4.181,501,3.667,1236,4.995,1898,4.454,1900,5.519,2051,6.357,2076,5.519,2293,6.357,2294,7.085,2295,7.085]],["t/900",[8,1.043,32,3.531,159,2.478,211,4.829,244,3.611,261,5.035,462,3.456,479,2.767,487,4.829,509,4.215,587,4.829,864,6.408,922,5.563,1484,4.649,2114,6.408,2296,7.142,2297,7.142,2298,7.142,2299,7.142]],["t/902",[8,1.306,26,2.547,106,3.375,137,3.136,186,3.192,211,5.113,470,3.913,479,2.929,578,4.219,1880,5.331,1885,5.585]],["t/904",[463,3.841,756,5.278,873,5.715,1087,6.725]],["t/906",[8,0.718,28,2.677,53,2.486,92,3.201,101,3.83,106,3.028,107,1.786,135,2.431,137,2.039,161,1.957,224,3.324,239,2.864,244,2.486,255,2.076,261,3.466,267,5.251,275,4.127,407,2.282,450,2.486,457,3.784,458,3.087,470,4.816,476,2.486,479,2.628,481,3.09,485,2.379,489,3.201,500,3.324,1235,3.631,1236,3.466,1483,3.324,1484,4.415,1554,4.264,1643,4.411,1676,3.83,1880,3.466,1915,3.631,1921,4.411,2057,4.411,2074,4.411,2266,4.411,2293,6.086,2300,4.411,2301,4.916,2302,4.916,2303,4.916,2304,4.916,2305,4.916,2306,4.411,2307,4.078,2308,4.916,2309,4.916,2310,4.916,2311,4.916]],["t/909",[26,2.505,29,4.264,144,3.599,253,4.042,255,3.14,457,4.149,458,3.385,987,6.169,2073,4.389,2202,5.493,2312,6.672,2313,7.437,2314,7.437,2315,7.437]],["t/911",[92,4.438,124,2.827,197,3.165,253,3.705,273,3.528,435,4.609,458,4.142,486,5.035,497,4.438,498,5.11,1883,6.116,1939,6.116,2000,5.92,2073,4.956,2277,5.31,2316,6.817,2317,6.817,2318,6.817,2319,6.817,2320,6.817]],["t/913",[107,2.515,124,2.871,161,1.997,498,5.158,1529,6.21,1551,5.112,1893,5.112,1922,6.21,1924,7.606,2000,4.88,2073,5.003,2188,5.742,2196,6.21,2321,6.922,2322,6.922,2323,6.922,2324,6.922,2325,6.922,2326,6.922,2327,6.21]],["t/915",[124,2.849,244,4.266,253,3.733,401,5.492,458,3.84,487,4.644,497,4.471,498,4.179,1483,4.644,1551,5.073,1893,5.073,1912,6.163,2073,4.979,2328,6.163,2329,6.869,2330,6.869,2331,6.869,2332,6.869,2333,6.869,2334,6.869]],["t/917",[28,2.142,253,3.821,457,3.922,458,3.199,481,4.419,487,4.753,497,4.576,498,5.207,501,3.638,1446,5.476,1893,5.192,2073,4.149,2250,6.307,2268,7.099,2327,6.307,2328,6.307,2335,7.03,2336,7.03,2337,7.03]],["t/919",[41,3.067,92,4.214,159,2.246,197,3.005,211,4.377,253,4.42,265,4.069,401,4.214,448,3.939,458,3.701,497,4.214,498,3.939,501,3.35,1446,5.042,1676,5.042,1682,3.611,1880,4.563,1977,4.563,2000,4.563,2020,4.069,2073,4.799,2188,5.37,2202,4.781,2258,5.808,2277,5.042,2307,5.37,2338,6.473,2339,6.473,2340,6.473]],["t/921",[53,3.5,161,1.997,244,3.5,253,4.607,256,5.518,458,3.858,479,3.284,496,5.112,1536,5.392,1633,5.742,1676,5.392,1908,5.392,1977,4.88,2073,5.003,2306,6.21,2307,5.742,2341,6.922,2342,6.922]],["t/923",[26,2.09,253,3.373,255,2.62,261,4.375,267,4.196,437,4.196,447,3.901,457,4.417,458,4.318,465,4.583,470,3.211,489,4.04,502,4.583,1519,5.568,1680,4.04,1923,5.147,1928,4.834,2268,5.147,2300,5.568,2312,5.568,2343,6.205,2344,6.205,2345,6.205,2346,6.205,2347,6.205,2348,6.205,2349,6.205,2350,6.205,2351,6.205,2352,6.205,2353,6.205,2354,6.205,2355,6.205]],["t/925",[450,3.992,498,4.803,1845,7.082,2356,7.894,2357,7.894,2358,7.894,2359,7.894]],["t/928",[20,2.869,67,6.248,153,3.685,156,5.613,157,5.777,160,3.685,177,4.04,1461,7.263,1616,6.306,1698,6.306,1783,7.263,2020,4.04,2360,4.747,2361,6.715,2362,6.715]],["t/930",[17,1.216,20,1.424,24,1.424,51,1.278,103,1.883,106,3.285,142,3.441,143,3.567,144,1.544,145,5.259,146,2.646,147,4.449,148,1.78,149,2.39,150,2.356,151,4.553,152,3.285,153,1.829,154,6.106,155,4.565,156,3.465,157,5.082,158,6.106,160,4.22,161,1.963,162,4.708,163,4.594,165,4.097,166,3.465,167,3.105,169,2.157,170,3.847,175,3.482,177,2.005,190,2.157,1458,2.485,1616,5.3,1682,1.78,1695,5.013,1698,6.534,1898,3.799,2020,2.005,2360,2.356,2361,5.644,2362,5.644,2363,5.422]],["t/932",[20,1.978,28,3.093,51,2.942,142,4.443,143,2.616,147,3.713,149,3.871,151,4.547,153,2.541,155,2.349,160,4.587,161,2.308,163,4.989,166,4.21,167,2.786,169,2.997,174,5.72,175,4.446,176,2.786,177,3.965,178,3.124,1458,3.452,1616,4.913,1695,6.091,1698,6.843,1898,4.616,2020,2.786,2360,3.273,2361,5.232,2362,5.232,2363,6.588]],["t/934",[17,0.629,20,4.395,24,2.297,68,5.987,142,2.854,143,4.504,145,3.482,147,4.213,148,2.535,151,0.854,152,0.897,153,2.605,159,0.995,160,4.711,161,1.941,163,3.33,166,3.236,169,2.572,172,0.766,173,1.074,176,3.811,177,1.038,179,2.572,181,4.397,183,6.302,186,2.172,189,1.939,190,3.816,191,2.234,192,2.234,193,5.168,194,1.369,195,2.181,197,0.766,198,1.286,200,3.181,201,3.8,203,6.331,205,1.939,207,2.022,208,1.644,209,1.164,213,1.219,214,1.369,350,1.559,356,2.391,360,1.116,375,0.799,480,0.946,494,0.974,597,1.004,621,1.219,623,1.481,629,1.211,645,1.004,835,1.481,944,2.022,981,1.116,1064,2.573,1230,1.286,1231,1.369,1330,1.481,1682,3.382,1851,1.369,1964,3.155,2020,6.007,2131,1.369,2360,1.219,2364,2.868,2365,2.868,2366,1.651,2367,1.651,2368,1.651,2369,1.651,2370,2.868,2371,1.651]],["t/936",[6,2.782,20,3.898,40,2.629,52,3.984,68,5.226,135,2.392,143,4.544,153,3.846,161,1.395,171,3.41,177,3.041,189,4.535,190,4.535,191,3.768,192,3.768,200,2.816,206,4.012,208,4.414,368,2.598,375,2.341,597,4.081,629,3.25,1319,5.997,1388,5.997,1982,4.34,2020,5.824,2131,4.012,2360,3.573,2372,4.837,2373,4.837,2374,4.837,2375,4.837,2376,4.837,2377,4.837,2378,6.707,2379,7.699,2380,6.707,2381,6.707,2382,4.837]],["t/939",[12,4.216,25,4.578,391,3.676,2202,5.729,2383,7.758,2384,7.758,2385,9.621]],["t/941",[156,4.607,157,4.742,1268,5.23,1269,6.841]]],"invertedIndex":[["0",{"_index":368,"t":{"494":{"position":[[1230,1],[1897,1],[1899,1],[1901,1],[1903,1],[2241,1]]},"496":{"position":[[87,1],[89,1],[91,1],[93,1],[197,1],[199,1],[201,1],[203,1],[224,1],[226,1],[228,1],[230,1]]},"508":{"position":[[54,1],[56,1]]},"512":{"position":[[249,1],[251,1],[253,1],[255,1]]},"559":{"position":[[95,1],[99,1],[926,1]]},"561":{"position":[[80,1],[84,1]]},"563":{"position":[[28,1]]},"593":{"position":[[54,1],[56,1]]},"597":{"position":[[249,1],[251,1],[253,1],[255,1]]},"611":{"position":[[1230,1],[1897,1],[1899,1],[1901,1],[1903,1],[2241,1]]},"613":{"position":[[87,1],[89,1],[91,1],[93,1],[197,1],[199,1],[201,1],[203,1],[224,1],[226,1],[228,1],[230,1]]},"645":{"position":[[647,1]]},"647":{"position":[[4465,1],[4469,1],[5301,1],[5305,1]]},"649":{"position":[[339,1],[341,1],[418,1]]},"652":{"position":[[35,1]]},"666":{"position":[[31,1],[58,1]]},"678":{"position":[[197,1],[199,1],[201,1],[203,1]]},"686":{"position":[[16,1]]},"694":{"position":[[283,1],[287,1]]},"696":{"position":[[241,1],[245,1]]},"698":{"position":[[83,1],[87,1]]},"710":{"position":[[60,1],[62,1],[115,1],[117,1],[171,1],[173,1],[226,1],[228,1]]},"712":{"position":[[370,1],[372,1],[841,1],[843,1],[1311,1],[1313,1]]},"790":{"position":[[1169,1],[1173,1],[1534,1],[1538,1]]},"827":{"position":[[109,1],[111,1],[113,1],[115,1]]},"848":{"position":[[19,1],[23,1],[41,1],[45,1]]},"850":{"position":[[19,1],[23,1],[41,1],[45,1],[76,1],[80,1]]},"852":{"position":[[12,1],[16,1],[103,1],[107,1]]},"867":{"position":[[69,1],[73,1],[84,1],[88,1],[115,1],[119,1]]},"896":{"position":[[13,1]]},"936":{"position":[[177,1],[216,1]]}}}],["001",{"_index":2174,"t":{"814":{"position":[[985,3],[1231,3]]}}}],["03",{"_index":1339,"t":{"691":{"position":[[389,2]]}}}],["04",{"_index":1277,"t":{"668":{"position":[[21,2]]}}}],["0_201",{"_index":1311,"t":{"686":{"position":[[16,5]]}}}],["1",{"_index":200,"t":{"483":{"position":[[202,1]]},"494":{"position":[[1232,1],[2243,1]]},"508":{"position":[[58,1]]},"529":{"position":[[7,1],[170,1],[345,1]]},"531":{"position":[[7,1]]},"533":{"position":[[7,1]]},"535":{"position":[[7,1]]},"537":{"position":[[7,1]]},"539":{"position":[[7,1]]},"559":{"position":[[97,1]]},"561":{"position":[[346,1]]},"593":{"position":[[58,1]]},"611":{"position":[[1232,1],[2243,1]]},"619":{"position":[[7,1]]},"637":{"position":[[202,1]]},"645":{"position":[[3382,1]]},"647":{"position":[[206,1],[232,1],[234,1],[714,1],[1406,1],[1634,1],[1810,1],[2028,1],[2486,1],[2488,1],[2736,1],[3360,1],[4328,1],[4757,1],[7891,1],[8921,1],[8959,1],[8961,1],[9564,1],[9936,1],[10586,1],[10611,1],[10613,1],[10638,1],[10694,1],[10712,1],[10743,1],[10780,1],[10949,1]]},"649":{"position":[[337,1]]},"652":{"position":[[7,1],[12,1],[30,1]]},"656":{"position":[[2,1]]},"666":{"position":[[7,1],[12,1],[26,1],[54,1]]},"684":{"position":[[19,1]]},"691":{"position":[[2,1],[313,1],[412,1]]},"694":{"position":[[608,1]]},"706":{"position":[[2,1]]},"710":{"position":[[2,1],[4,1],[64,1],[119,1],[175,1],[230,1],[263,1],[893,1],[895,1],[1361,1],[1363,1],[1836,1],[1838,1]]},"712":{"position":[[4,1],[374,1],[633,1],[635,1],[845,1],[1103,1],[1105,1],[1315,1],[1580,1],[1582,1]]},"790":{"position":[[145,1],[147,1],[301,1],[563,1],[1112,1],[1268,1]]},"798":{"position":[[139,1]]},"801":{"position":[[2,1],[4,1],[248,1]]},"803":{"position":[[4,1]]},"814":{"position":[[244,1],[811,1]]},"822":{"position":[[7,1],[12,1],[17,1]]},"835":{"position":[[2,1]]},"848":{"position":[[21,1],[43,1]]},"850":{"position":[[21,1],[43,1],[78,1]]},"852":{"position":[[14,1],[105,1]]},"858":{"position":[[47,1]]},"867":{"position":[[71,1],[86,1],[117,1]]},"873":{"position":[[2,1]]},"896":{"position":[[11,1]]},"934":{"position":[[16,1],[34,1],[57,1],[75,1],[88,1],[105,1],[119,1],[141,1],[152,1],[166,1],[180,1],[189,1],[212,1],[223,1],[235,1],[337,1],[434,1],[464,1],[475,1],[514,1],[558,1],[574,1],[601,1],[626,1],[653,1],[677,1],[691,1],[705,1],[726,1],[740,1],[762,1],[775,1],[794,1],[810,1],[835,1],[846,1],[861,1],[876,1],[895,1],[904,1],[927,1],[938,1],[952,1],[969,1],[980,1],[1008,1],[1019,1],[1031,1],[1118,1],[1152,1],[1163,1],[1175,1]]},"936":{"position":[[16,1],[34,1],[45,1],[80,1],[91,1]]}}}],["10",{"_index":494,"t":{"500":{"position":[[324,2]]},"516":{"position":[[324,2]]},"527":{"position":[[97,2]]},"548":{"position":[[912,2]]},"561":{"position":[[273,3]]},"565":{"position":[[912,2]]},"583":{"position":[[992,2]]},"601":{"position":[[324,2]]},"617":{"position":[[324,2]]},"691":{"position":[[229,2]]},"934":{"position":[[536,2]]}}}],["100",{"_index":631,"t":{"529":{"position":[[111,3]]},"531":{"position":[[71,3]]}}}],["11",{"_index":1231,"t":{"652":{"position":[[32,2]]},"691":{"position":[[277,2],[383,2],[481,2]]},"934":{"position":[[607,2]]}}}],["12",{"_index":480,"t":{"500":{"position":[[214,2]]},"516":{"position":[[214,2]]},"527":{"position":[[47,2]]},"548":{"position":[[616,2]]},"565":{"position":[[616,2]]},"583":{"position":[[684,2]]},"601":{"position":[[214,2]]},"617":{"position":[[214,2]]},"645":{"position":[[642,2]]},"710":{"position":[[968,3],[1436,3],[1911,3]]},"712":{"position":[[708,3],[1178,3],[1655,3]]},"934":{"position":[[659,2]]}}}],["123",{"_index":1384,"t":{"696":{"position":[[391,3]]}}}],["12345",{"_index":1394,"t":{"710":{"position":[[66,5]]},"712":{"position":[[376,5]]}}}],["127",{"_index":525,"t":{"508":{"position":[[50,3]]},"593":{"position":[[50,3]]},"710":{"position":[[56,3],[111,3],[167,3],[222,3]]},"712":{"position":[[366,3],[837,3],[1307,3]]}}}],["128m",{"_index":1307,"t":{"684":{"position":[[83,4]]}}}],["13",{"_index":1230,"t":{"652":{"position":[[9,2]]},"666":{"position":[[9,2]]},"822":{"position":[[9,2]]},"934":{"position":[[746,2]]}}}],["130",{"_index":684,"t":{"535":{"position":[[151,3]]}}}],["14",{"_index":2366,"t":{"934":{"position":[[816,2]]}}}],["140",{"_index":694,"t":{"535":{"position":[[317,3]]}}}],["15",{"_index":623,"t":{"527":{"position":[[80,2]]},"934":{"position":[[910,2]]}}}],["15100399015",{"_index":880,"t":{"563":{"position":[[255,11]]},"579":{"position":[[267,11]]}}}],["16",{"_index":2367,"t":{"934":{"position":[[986,2]]}}}],["168",{"_index":1350,"t":{"694":{"position":[[113,3]]}}}],["16g",{"_index":1281,"t":{"670":{"position":[[11,3]]}}}],["17",{"_index":1330,"t":{"691":{"position":[[280,2]]},"934":{"position":[[1133,2]]}}}],["18",{"_index":1338,"t":{"691":{"position":[[386,2],[484,2]]}}}],["19",{"_index":1271,"t":{"666":{"position":[[28,2]]},"691":{"position":[[436,2]]}}}],["2",{"_index":629,"t":{"529":{"position":[[52,1],[160,1],[166,1],[172,1],[335,1],[341,1],[347,1]]},"531":{"position":[[145,1]]},"559":{"position":[[924,1]]},"561":{"position":[[82,1]]},"563":{"position":[[26,1]]},"603":{"position":[[7,1]]},"647":{"position":[[716,1],[2001,1],[2026,1],[2484,1],[2734,1],[2738,1],[3358,1],[4326,1],[4467,1],[4755,1],[4759,1],[5303,1],[5517,1],[5519,1],[6355,1],[6764,1],[7509,1],[7887,1],[8148,1],[8152,1],[8488,1],[9566,1],[9909,1],[9934,1],[10314,1],[10316,1],[10640,1],[10754,1],[10778,1],[10799,1],[10801,1],[10826,1],[10858,1],[10902,1],[10986,1]]},"649":{"position":[[416,1]]},"656":{"position":[[62,1]]},"691":{"position":[[78,1],[208,1]]},"694":{"position":[[285,1],[650,1]]},"696":{"position":[[243,1]]},"698":{"position":[[85,1]]},"706":{"position":[[78,1]]},"710":{"position":[[0,1],[261,1],[265,1]]},"712":{"position":[[0,1],[2,1],[59,1],[61,1],[63,1],[1832,1],[1834,1],[1899,1],[1901,1]]},"790":{"position":[[143,1],[299,1],[303,1],[561,1],[1110,1],[1171,1],[1266,1],[1270,1],[1536,1]]},"798":{"position":[[135,1],[225,1],[229,1],[336,1]]},"801":{"position":[[250,1]]},"803":{"position":[[2,1],[181,1],[183,1]]},"814":{"position":[[514,1],[892,1]]},"822":{"position":[[93,1]]},"835":{"position":[[62,1]]},"873":{"position":[[62,1]]},"934":{"position":[[60,1],[1067,1]]},"936":{"position":[[55,1],[164,1],[203,1]]}}}],["20",{"_index":1276,"t":{"668":{"position":[[18,2]]},"691":{"position":[[232,2]]}}}],["200",{"_index":667,"t":{"531":{"position":[[414,3]]}}}],["201",{"_index":1312,"t":{"686":{"position":[[18,3]]}}}],["2023",{"_index":979,"t":{"587":{"position":[[0,4]]},"603":{"position":[[0,4]]},"619":{"position":[[0,4]]}}}],["21",{"_index":1335,"t":{"691":{"position":[[337,2]]}}}],["210",{"_index":686,"t":{"535":{"position":[[161,3]]}}}],["213",{"_index":1116,"t":{"647":{"position":[[3272,3]]},"790":{"position":[[524,3]]}}}],["215",{"_index":683,"t":{"535":{"position":[[146,3]]}}}],["245",{"_index":685,"t":{"535":{"position":[[156,3]]}}}],["24875",{"_index":1340,"t":{"691":{"position":[[424,5]]}}}],["256",{"_index":1306,"t":{"684":{"position":[[79,3]]}}}],["26",{"_index":1342,"t":{"691":{"position":[[487,2]]}}}],["27711",{"_index":1334,"t":{"691":{"position":[[325,5]]}}}],["29",{"_index":1341,"t":{"691":{"position":[[439,2]]}}}],["2d",{"_index":18,"t":{"465":{"position":[[48,2]]},"467":{"position":[[44,2]]},"485":{"position":[[48,2]]},"487":{"position":[[44,2]]},"502":{"position":[[48,2]]},"504":{"position":[[44,2]]},"518":{"position":[[151,2]]},"520":{"position":[[139,2]]},"550":{"position":[[151,2]]},"552":{"position":[[139,2]]},"567":{"position":[[176,2]]},"569":{"position":[[164,2]]},"577":{"position":[[351,2]]},"589":{"position":[[44,2]]},"605":{"position":[[44,2]]},"621":{"position":[[44,2]]},"886":{"position":[[12,2]]},"890":{"position":[[44,2]]},"892":{"position":[[165,2]]}}}],["3",{"_index":375,"t":{"494":{"position":[[2269,1]]},"529":{"position":[[234,1]]},"531":{"position":[[375,1]]},"587":{"position":[[7,1]]},"611":{"position":[[2269,1]]},"647":{"position":[[1408,1],[3362,1],[6357,1],[8492,1],[8893,1],[8919,1],[8957,1],[9562,1],[9907,1],[9932,1],[10312,1],[10696,1],[10828,1],[10922,1],[10947,1],[10984,1]]},"666":{"position":[[39,1],[56,1]]},"691":{"position":[[362,1]]},"694":{"position":[[615,1],[684,1]]},"712":{"position":[[1836,1]]},"790":{"position":[[565,1]]},"798":{"position":[[340,1]]},"801":{"position":[[0,1],[246,1]]},"803":{"position":[[0,1],[179,1]]},"814":{"position":[[585,1]]},"858":{"position":[[44,1]]},"871":{"position":[[60,1]]},"934":{"position":[[122,1]]},"936":{"position":[[128,1]]}}}],["300",{"_index":687,"t":{"535":{"position":[[166,3]]}}}],["3000",{"_index":1004,"t":{"645":{"position":[[865,4],[990,4]]}}}],["31",{"_index":1329,"t":{"691":{"position":[[235,2]]}}}],["3306",{"_index":1371,"t":{"696":{"position":[[114,4],[341,4]]}}}],["3d",{"_index":19,"t":{"465":{"position":[[51,2],[54,2]]},"467":{"position":[[47,2],[50,2]]},"485":{"position":[[51,2],[54,2]]},"487":{"position":[[47,2],[50,2]]},"502":{"position":[[51,2],[54,2]]},"504":{"position":[[47,2],[50,2]]},"518":{"position":[[155,2],[163,2]]},"520":{"position":[[143,2],[151,2]]},"529":{"position":[[27,2],[65,2],[245,2],[498,2]]},"531":{"position":[[20,2],[149,2],[379,2]]},"533":{"position":[[33,2]]},"550":{"position":[[155,2],[163,2]]},"552":{"position":[[143,2],[151,2]]},"567":{"position":[[180,2],[188,2]]},"569":{"position":[[168,2],[176,2]]},"577":{"position":[[355,2]]},"589":{"position":[[47,2],[50,2]]},"605":{"position":[[47,2],[50,2]]},"621":{"position":[[47,2],[50,2]]},"886":{"position":[[19,2],[26,2]]},"890":{"position":[[47,2],[50,2]]},"892":{"position":[[168,2]]}}}],["3x",{"_index":2380,"t":{"936":{"position":[[161,2],[200,2]]}}}],["4",{"_index":645,"t":{"529":{"position":[[460,1]]},"587":{"position":[[16,1]]},"647":{"position":[[1636,1],[4330,1],[6766,1],[10714,1],[10860,1]]},"666":{"position":[[41,1]]},"691":{"position":[[335,1],[434,1],[460,1]]},"694":{"position":[[657,1]]},"712":{"position":[[1903,1]]},"790":{"position":[[1114,1]]},"871":{"position":[[64,1]]},"934":{"position":[[192,1]]}}}],["4096",{"_index":1327,"t":{"691":{"position":[[220,4],[268,4],[374,4],[472,4]]}}}],["47",{"_index":1336,"t":{"691":{"position":[[340,2]]}}}],["4s",{"_index":1428,"t":{"710":{"position":[[920,2],[1388,2],[1863,2]]},"712":{"position":[[660,2],[1130,2],[1607,2]]}}}],["4x",{"_index":2381,"t":{"936":{"position":[[168,2],[207,2]]}}}],["5",{"_index":597,"t":{"522":{"position":[[107,1]]},"527":{"position":[[15,1]]},"529":{"position":[[128,1],[133,1],[289,1],[294,1]]},"645":{"position":[[645,1]]},"647":{"position":[[1812,1],[7511,1],[7889,1],[8150,1],[8490,1],[10745,1],[10904,1]]},"694":{"position":[[617,1]]},"798":{"position":[[137,1],[227,1],[338,1]]},"871":{"position":[[62,1]]},"934":{"position":[[268,1]]},"936":{"position":[[173,1],[212,1]]}}}],["50",{"_index":2147,"t":{"814":{"position":[[624,2]]}}}],["500",{"_index":1434,"t":{"710":{"position":[[2006,3]]},"712":{"position":[[1750,3]]}}}],["5010",{"_index":1399,"t":{"710":{"position":[[177,4]]},"712":{"position":[[1317,4]]}}}],["502",{"_index":1435,"t":{"710":{"position":[[2010,3]]},"712":{"position":[[1754,3]]}}}],["503",{"_index":1436,"t":{"710":{"position":[[2014,3]]},"712":{"position":[[1758,3]]}}}],["504",{"_index":1437,"t":{"710":{"position":[[2018,3]]},"712":{"position":[[1762,3]]}}}],["50x",{"_index":1438,"t":{"710":{"position":[[2023,3],[2045,3]]},"712":{"position":[[1767,3],[1789,3]]}}}],["5110",{"_index":1396,"t":{"710":{"position":[[121,4]]},"712":{"position":[[847,4]]}}}],["512m",{"_index":1296,"t":{"684":{"position":[[24,4],[58,4]]}}}],["54",{"_index":469,"t":{"500":{"position":[[120,2]]},"516":{"position":[[120,2]]},"548":{"position":[[383,2]]},"565":{"position":[[383,2]]},"583":{"position":[[454,2]]},"601":{"position":[[120,2]]},"617":{"position":[[120,2]]}}}],["57",{"_index":1331,"t":{"691":{"position":[[283,2]]}}}],["6",{"_index":621,"t":{"527":{"position":[[64,1]]},"531":{"position":[[433,1]]},"619":{"position":[[16,1]]},"691":{"position":[[256,1]]},"934":{"position":[[315,1]]}}}],["600",{"_index":362,"t":{"494":{"position":[[1148,3],[2147,3]]},"611":{"position":[[1148,3],[2147,3]]},"710":{"position":[[943,4],[1411,4],[1886,4]]},"712":{"position":[[683,4],[1153,4],[1630,4]]},"719":{"position":[[67,4]]}}}],["63",{"_index":1156,"t":{"647":{"position":[[6761,2]]},"794":{"position":[[123,2]]}}}],["6b",{"_index":837,"t":{"559":{"position":[[256,2]]}}}],["7",{"_index":981,"t":{"587":{"position":[[5,1]]},"603":{"position":[[5,1],[16,1]]},"619":{"position":[[5,1]]},"668":{"position":[[7,1]]},"688":{"position":[[7,1]]},"814":{"position":[[275,1]]},"934":{"position":[[360,1]]}}}],["72",{"_index":2152,"t":{"814":{"position":[[674,2]]}}}],["8",{"_index":360,"t":{"494":{"position":[[1139,1],[2138,1],[2271,1]]},"527":{"position":[[31,1]]},"611":{"position":[[1139,1],[2138,1],[2271,1]]},"670":{"position":[[4,1]]},"686":{"position":[[14,1]]},"696":{"position":[[178,1]]},"934":{"position":[[448,1]]}}}],["80",{"_index":1290,"t":{"678":{"position":[[179,2]]}}}],["8099",{"_index":1267,"t":{"662":{"position":[[22,4]]},"678":{"position":[[182,4]]},"703":{"position":[[24,4]]},"710":{"position":[[256,4],[478,4]]},"712":{"position":[[136,4]]}}}],["8765",{"_index":333,"t":{"494":{"position":[[665,4],[1907,4]]},"496":{"position":[[97,4],[207,4],[244,4],[253,4],[291,4],[355,4],[408,4]]},"611":{"position":[[665,4],[1907,4]]},"613":{"position":[[97,4],[207,4],[244,4],[253,4],[291,4],[355,4],[408,4]]}}}],["9",{"_index":835,"t":{"559":{"position":[[224,1]]},"934":{"position":[[498,1]]}}}],["__file__",{"_index":385,"t":{"494":{"position":[[2369,8]]},"611":{"position":[[2369,8]]}}}],["__name__",{"_index":321,"t":{"494":{"position":[[264,8],[1499,8]]},"611":{"position":[[264,8],[1499,8]]}}}],["abbrevi",{"_index":1035,"t":{"645":{"position":[[2145,13]]}}}],["abc",{"_index":372,"t":{"494":{"position":[[2119,3]]},"611":{"position":[[2119,3]]}}}],["abil",{"_index":1214,"t":{"647":{"position":[[9818,7],[10347,7]]}}}],["access",{"_index":889,"t":{"571":{"position":[[58,6]]},"710":{"position":[[399,6]]},"712":{"position":[[189,6],[220,6]]},"753":{"position":[[130,6]]}}}],["access_log",{"_index":1445,"t":{"712":{"position":[[189,10]]}}}],["accident",{"_index":1113,"t":{"647":{"position":[[3025,12]]}}}],["accord",{"_index":1147,"t":{"647":{"position":[[6225,9]]}}}],["account",{"_index":614,"t":{"524":{"position":[[101,7]]}}}],["achiev",{"_index":885,"t":{"567":{"position":[[384,7]]},"569":{"position":[[372,7]]}}}],["activ",{"_index":797,"t":{"548":{"position":[[930,8],[1038,8],[1072,10]]},"565":{"position":[[930,8],[1038,8],[1072,10]]},"583":{"position":[[1010,8],[1117,8],[1151,10]]},"647":{"position":[[1914,10],[1942,10]]}}}],["ad",{"_index":1180,"t":{"647":{"position":[[8256,6],[9748,6]]}}}],["add",{"_index":335,"t":{"494":{"position":[[676,3],[792,3],[896,3],[1031,3],[1882,3],[2030,3]]},"496":{"position":[[72,3],[166,3],[302,3],[419,3],[473,3]]},"522":{"position":[[155,3]]},"611":{"position":[[676,3],[792,3],[896,3],[1031,3],[1882,3],[2030,3]]},"613":{"position":[[72,3],[166,3],[302,3],[419,3],[473,3]]},"647":{"position":[[3905,3],[3959,3],[5249,3],[5307,3],[7930,3],[8382,3]]},"649":{"position":[[546,3],[603,3]]},"710":{"position":[[853,3],[1321,3],[1796,3]]},"712":{"position":[[593,3],[1063,3],[1540,3]]},"790":{"position":[[849,3],[1540,3]]},"814":{"position":[[999,3]]}}}],["add_connector",{"_index":334,"t":{"494":{"position":[[676,13]]},"496":{"position":[[302,13],[419,13],[473,13]]},"611":{"position":[[676,13]]},"613":{"position":[[302,13],[419,13],[473,13]]}}}],["add_listen",{"_index":369,"t":{"494":{"position":[[1882,12]]},"496":{"position":[[72,12],[166,12]]},"611":{"position":[[1882,12]]},"613":{"position":[[72,12],[166,12]]}}}],["addhandl",{"_index":328,"t":{"494":{"position":[[392,10],[493,10],[1627,10],[1728,10]]},"611":{"position":[[392,10],[493,10],[1627,10],[1728,10]]}}}],["addr",{"_index":403,"t":{"496":{"position":[[27,4]]},"506":{"position":[[55,4]]},"508":{"position":[[11,4]]},"591":{"position":[[55,4]]},"593":{"position":[[11,4]]},"613":{"position":[[27,4]]},"710":{"position":[[722,4],[764,4],[794,4],[807,4],[1190,4],[1232,4],[1262,4],[1275,4],[1665,4],[1707,4],[1737,4],[1750,4]]},"712":{"position":[[462,4],[504,4],[534,4],[547,4],[932,4],[974,4],[1004,4],[1017,4],[1409,4],[1451,4],[1481,4],[1494,4]]}}}],["address",{"_index":887,"t":{"567":{"position":[[814,7]]},"569":{"position":[[802,7]]},"571":{"position":[[1460,7]]},"573":{"position":[[38,7]]},"649":{"position":[[568,7]]},"678":{"position":[[189,7]]},"680":{"position":[[23,7]]}}}],["admin",{"_index":1269,"t":{"662":{"position":[[35,5],[41,5]]},"680":{"position":[[52,5],[58,5]]},"703":{"position":[[37,5],[43,5]]},"714":{"position":[[104,5],[110,5]]},"941":{"position":[[8,5],[14,5]]}}}],["advanc",{"_index":1198,"t":{"647":{"position":[[8896,8],[10925,8]]}}}],["agent",{"_index":592,"t":{"522":{"position":[[52,5],[133,5],[216,5]]},"546":{"position":[[205,5]]}}}],["ai",{"_index":134,"t":{"475":{"position":[[72,2]]},"559":{"position":[[67,2],[724,2]]},"577":{"position":[[277,2]]},"629":{"position":[[72,2]]},"884":{"position":[[0,2]]}}}],["aim",{"_index":556,"t":{"518":{"position":[[86,4],[283,4]]},"520":{"position":[[74,4],[271,4]]},"550":{"position":[[86,4],[283,4]]},"552":{"position":[[74,4],[271,4]]},"567":{"position":[[86,4],[308,4]]},"569":{"position":[[74,4],[296,4]]}}}],["allow",{"_index":1210,"t":{"647":{"position":[[9465,5],[10230,5]]}}}],["alway",{"_index":736,"t":{"546":{"position":[[411,6]]},"647":{"position":[[1542,6]]}}}],["amqp",{"_index":271,"t":{"492":{"position":[[87,4]]},"609":{"position":[[87,4]]}}}],["analysi",{"_index":833,"t":{"559":{"position":[[207,8],[327,8]]}}}],["angl",{"_index":693,"t":{"535":{"position":[[308,5]]}}}],["answer",{"_index":798,"t":{"548":{"position":[[939,6]]},"565":{"position":[[939,6]]},"583":{"position":[[1019,6]]},"647":{"position":[[1416,7],[1436,6],[10704,7]]}}}],["ant",{"_index":1807,"t":{"772":{"position":[[12,3]]}}}],["antd",{"_index":1836,"t":{"772":{"position":[[644,4]]}}}],["apach",{"_index":2080,"t":{"805":{"position":[[15,6]]},"807":{"position":[[531,6]]}}}],["api",{"_index":299,"t":{"492":{"position":[[324,3]]},"522":{"position":[[87,4]]},"546":{"position":[[211,4]]},"609":{"position":[[324,3]]},"647":{"position":[[8321,4]]},"660":{"position":[[8,3],[28,3],[47,3],[84,3]]},"694":{"position":[[302,3],[322,3],[341,3],[378,3]]},"751":{"position":[[9,3],[44,3]]},"766":{"position":[[145,3],[214,3],[273,3],[332,3],[376,3],[437,3],[472,3]]},"772":{"position":[[483,3],[545,3],[561,3]]},"774":{"position":[[372,3],[561,3]]},"798":{"position":[[286,3]]}}}],["apiservic",{"_index":1826,"t":{"772":{"position":[[469,10]]}}}],["app",{"_index":331,"t":{"494":{"position":[[476,3],[1711,3]]},"559":{"position":[[514,4]]},"611":{"position":[[476,3],[1711,3]]},"772":{"position":[[70,3]]}}}],["appear",{"_index":934,"t":{"575":{"position":[[389,7]]}}}],["appl",{"_index":841,"t":{"559":{"position":[[478,5]]}}}],["appli",{"_index":1215,"t":{"647":{"position":[[9872,5],[10111,5]]}}}],["applic",{"_index":538,"t":{"512":{"position":[[67,11]]},"597":{"position":[[67,11]]},"696":{"position":[[57,11]]}}}],["appropri",{"_index":967,"t":{"577":{"position":[[702,11]]}}}],["architectur",{"_index":1015,"t":{"645":{"position":[[1609,12]]}}}],["area",{"_index":691,"t":{"535":{"position":[[289,4]]},"546":{"position":[[503,5]]}}}],["articl",{"_index":917,"t":{"571":{"position":[[1349,8]]}}}],["artifici",{"_index":731,"t":{"546":{"position":[[244,10]]}}}],["asctim",{"_index":314,"t":{"494":{"position":[[176,7],[1411,7]]},"611":{"position":[[176,7],[1411,7]]}}}],["asia",{"_index":1377,"t":{"696":{"position":[[195,4]]}}}],["ask",{"_index":1132,"t":{"647":{"position":[[4570,3]]}}}],["assembl",{"_index":1778,"t":{"764":{"position":[[245,8],[268,8],[411,8]]}}}],["assist",{"_index":978,"t":{"583":{"position":[[925,9]]}}}],["associ",{"_index":1139,"t":{"647":{"position":[[5349,9]]}}}],["attach",{"_index":664,"t":{"531":{"position":[[300,8]]}}}],["author",{"_index":1196,"t":{"647":{"position":[[8777,6],[8832,6]]}}}],["autocrlf",{"_index":2219,"t":{"852":{"position":[[56,8],[121,8]]}}}],["automat",{"_index":617,"t":{"524":{"position":[[150,13]]}}}],["avoid",{"_index":2105,"t":{"807":{"position":[[309,5]]}}}],["axio",{"_index":1831,"t":{"772":{"position":[[605,5]]}}}],["b",{"_index":620,"t":{"527":{"position":[[24,1]]},"535":{"position":[[201,1]]},"647":{"position":[[4176,1],[5081,1],[6256,1]]},"790":{"position":[[989,1],[1416,1]]},"792":{"position":[[357,1]]},"852":{"position":[[2,1],[93,1]]}}}],["babel",{"_index":1842,"t":{"772":{"position":[[749,5]]}}}],["back",{"_index":1144,"t":{"647":{"position":[[5563,4]]}}}],["background",{"_index":549,"t":{"518":{"position":[[0,10]]},"550":{"position":[[0,10]]},"567":{"position":[[0,10]]}}}],["bar",{"_index":624,"t":{"527":{"position":[[114,3]]},"531":{"position":[[293,3]]},"575":{"position":[[234,3]]}}}],["base",{"_index":657,"t":{"531":{"position":[[211,5],[476,5]]},"559":{"position":[[687,5]]},"573":{"position":[[0,5]]},"647":{"position":[[2378,5],[2470,5],[4364,4],[4856,5],[5609,4],[5765,5],[5791,4]]}}}],["basecontrol",{"_index":1782,"t":{"766":{"position":[[63,14]]}}}],["basejdbccli",{"_index":1757,"t":{"762":{"position":[[73,14],[305,14]]}}}],["basejdbcclientfactori",{"_index":1760,"t":{"762":{"position":[[171,21],[403,21]]}}}],["basemapp",{"_index":1754,"t":{"760":{"position":[[679,10]]}}}],["baseurl",{"_index":1254,"t":{"660":{"position":[[18,7],[255,7]]},"694":{"position":[[272,7],[312,7],[590,7]]},"746":{"position":[[80,7]]}}}],["bash",{"_index":1119,"t":{"647":{"position":[[3732,4]]},"790":{"position":[[699,4]]}}}],["basic",{"_index":890,"t":{"571":{"position":[[65,5]]}}}],["basicconfig",{"_index":312,"t":{"494":{"position":[[153,11],[1388,11]]},"611":{"position":[[153,11],[1388,11]]}}}],["becom",{"_index":805,"t":{"548":{"position":[[1084,6]]},"565":{"position":[[1084,6]]},"571":{"position":[[824,6],[884,6]]},"583":{"position":[[1163,6]]},"645":{"position":[[3388,6]]},"647":{"position":[[19,6],[8970,6],[9518,6],[9881,6],[9945,6],[10120,6],[10277,6]]},"649":{"position":[[1553,6]]},"814":{"position":[[1085,6]]}}}],["befor",{"_index":939,"t":{"575":{"position":[[464,6]]},"647":{"position":[[137,6],[5649,6],[7483,6],[7530,6]]}}}],["better",{"_index":726,"t":{"546":{"position":[[142,6],[219,6]]},"647":{"position":[[918,6]]},"814":{"position":[[1144,6]]}}}],["between",{"_index":666,"t":{"531":{"position":[[341,7]]}}}],["bi",{"_index":123,"t":{"475":{"position":[[42,2]]},"629":{"position":[[42,2]]}}}],["bilibili",{"_index":2299,"t":{"900":{"position":[[60,8]]}}}],["bilingu",{"_index":1155,"t":{"647":{"position":[[6666,9]]}}}],["bill",{"_index":1631,"t":{"753":{"position":[[17,4]]}}}],["bin",{"_index":1246,"t":{"656":{"position":[[145,3]]},"658":{"position":[[44,3],[72,3]]},"691":{"position":[[130,3],[174,3]]},"694":{"position":[[35,3],[456,3],[762,3]]},"696":{"position":[[17,3],[279,3]]},"698":{"position":[[17,3],[47,3],[70,3],[119,3]]},"706":{"position":[[126,3]]},"825":{"position":[[24,3],[52,3]]},"827":{"position":[[24,3],[52,3]]},"829":{"position":[[24,3],[52,3]]}}}],["blog",{"_index":823,"t":{"555":{"position":[[562,4]]},"571":{"position":[[1293,4],[1311,4]]}}}],["blue",{"_index":680,"t":{"535":{"position":[[95,4]]}}}],["bodi",{"_index":2127,"t":{"814":{"position":[[105,4],[134,4],[631,4],[637,4],[694,4]]}}}],["bom",{"_index":1630,"t":{"753":{"position":[[8,3],[13,3]]},"756":{"position":[[98,3]]}}}],["boot",{"_index":1749,"t":{"760":{"position":[[549,4]]}}}],["both",{"_index":921,"t":{"575":{"position":[[33,4]]}}}],["bottom",{"_index":1057,"t":{"645":{"position":[[2916,6]]}}}],["boundari",{"_index":740,"t":{"546":{"position":[[466,10]]}}}],["branch",{"_index":920,"t":{"573":{"position":[[131,6]]},"575":{"position":[[558,6],[731,6],[808,6],[850,6],[1115,6]]},"577":{"position":[[726,6],[750,6],[811,6]]},"647":{"position":[[2030,6],[2100,8],[2147,8],[2246,6],[2279,6],[2371,6],[2395,6],[2447,6],[2796,6],[2877,6],[2988,6],[3067,6],[3104,6],[3201,6],[3296,6],[3384,6],[3470,6],[3550,6],[4026,6],[4116,6],[4183,6],[4210,6],[4242,6],[4313,6],[4369,6],[4526,6],[4693,6],[4727,6],[4815,6],[4881,6],[4914,6],[4958,6],[5444,6],[5490,6],[5858,6],[5943,6],[6007,6],[6122,6],[6183,6],[6218,6],[6294,6],[7096,6],[7440,8],[9790,8],[9811,6],[9861,6],[10426,6],[10782,6]]},"649":{"position":[[185,8],[242,6],[275,6],[329,6],[367,6],[394,6],[440,8],[1173,6],[1188,6],[1511,6]]},"790":{"position":[[996,6],[1023,6],[1097,6],[1657,6]]},"792":{"position":[[308,6]]}}}],["break",{"_index":2167,"t":{"814":{"position":[[849,8]]}}}],["briefli",{"_index":1152,"t":{"647":{"position":[[6519,7]]}}}],["bring",{"_index":753,"t":{"546":{"position":[[693,8]]},"647":{"position":[[6719,5],[7633,6]]}}}],["brought",{"_index":1194,"t":{"647":{"position":[[8708,7]]}}}],["bug",{"_index":965,"t":{"577":{"position":[[550,4]]},"647":{"position":[[236,3],[292,3],[368,3],[472,3],[548,3],[638,3],[672,3],[7028,3],[7926,3],[7954,3],[8206,3],[10615,3]]},"779":{"position":[[8,3],[38,3],[77,3],[101,3],[130,3],[146,3]]},"796":{"position":[[47,3]]},"798":{"position":[[150,3],[244,3]]},"810":{"position":[[32,3]]},"814":{"position":[[305,3],[379,3]]}}}],["build",{"_index":390,"t":{"494":{"position":[[2449,5],[2468,5]]},"518":{"position":[[114,5],[417,8]]},"520":{"position":[[102,5],[405,8]]},"550":{"position":[[114,5],[417,8]]},"552":{"position":[[102,5],[405,8]]},"559":{"position":[[666,8]]},"567":{"position":[[114,5],[422,8]]},"569":{"position":[[102,5],[410,8]]},"583":{"position":[[376,8]]},"611":{"position":[[2449,5],[2468,5]]},"645":{"position":[[1095,5],[1130,5],[1147,5]]},"712":{"position":[[1856,5]]},"814":{"position":[[1037,5]]},"825":{"position":[[79,5]]},"827":{"position":[[157,5]]},"829":{"position":[[75,5]]},"840":{"position":[[23,5]]}}}],["builder",{"_index":828,"t":{"559":{"position":[[7,8]]}}}],["bunni",{"_index":698,"t":{"537":{"position":[[31,5],[101,5],[208,5],[214,5]]}}}],["busi",{"_index":739,"t":{"546":{"position":[[457,8]]}}}],["button",{"_index":928,"t":{"575":{"position":[[292,6],[652,6]]},"645":{"position":[[2902,6]]},"647":{"position":[[2949,6]]}}}],["bytetimeutil",{"_index":1696,"t":{"758":{"position":[[96,13]]}}}],["c",{"_index":383,"t":{"494":{"position":[[2336,1]]},"527":{"position":[[40,1]]},"535":{"position":[[206,1]]},"611":{"position":[[2336,1]]},"852":{"position":[[33,1],[114,1]]}}}],["call",{"_index":1107,"t":{"647":{"position":[[2580,6],[2712,6]]}}}],["carefulli",{"_index":1063,"t":{"647":{"position":[[195,9]]}}}],["case",{"_index":790,"t":{"548":{"position":[[786,4]]},"565":{"position":[[786,4]]},"571":{"position":[[363,5]]},"575":{"position":[[766,4]]},"583":{"position":[[854,4]]},"647":{"position":[[967,5],[8049,5]]}}}],["categori",{"_index":1064,"t":{"647":{"position":[[222,8],[10602,8]]},"934":{"position":[[385,8],[1049,8]]}}}],["caus",{"_index":1074,"t":{"647":{"position":[[625,5],[7913,5],[8339,5]]}}}],["cc",{"_index":707,"t":{"537":{"position":[[188,2]]}}}],["cd",{"_index":1080,"t":{"647":{"position":[[991,2],[3888,2]]},"658":{"position":[[55,2]]},"676":{"position":[[20,2]]},"696":{"position":[[0,2]]},"698":{"position":[[0,2],[102,2]]},"706":{"position":[[143,2]]},"781":{"position":[[60,2]]},"790":{"position":[[801,2]]},"825":{"position":[[35,2]]},"827":{"position":[[35,2]]},"829":{"position":[[35,2]]},"838":{"position":[[27,2]]},"875":{"position":[[0,2]]},"877":{"position":[[0,2]]}}}],["cento",{"_index":1274,"t":{"668":{"position":[[0,6]]}}}],["centos7",{"_index":834,"t":{"559":{"position":[[216,7]]},"658":{"position":[[9,7]]},"676":{"position":[[9,7]]}}}],["chain",{"_index":848,"t":{"559":{"position":[[759,5]]}}}],["challeng",{"_index":747,"t":{"546":{"position":[[567,10]]}}}],["chang",{"_index":942,"t":{"575":{"position":[[542,7],[834,7],[886,7],[1136,7]]},"577":{"position":[[634,7],[795,7],[840,7],[895,7]]},"647":{"position":[[3607,7],[7222,6],[8294,7],[8421,6],[8472,7],[8586,7],[8624,7]]},"649":{"position":[[1068,7]]},"796":{"position":[[143,6]]},"814":{"position":[[62,6],[456,6],[731,6],[741,7],[751,7],[858,6]]}}}],["charact",{"_index":847,"t":{"559":{"position":[[677,9]]},"694":{"position":[[180,9]]}}}],["characterencod",{"_index":1375,"t":{"696":{"position":[[156,17]]}}}],["charset",{"_index":1443,"t":{"712":{"position":[[172,7]]}}}],["chart",{"_index":625,"t":{"527":{"position":[[118,5]]},"535":{"position":[[15,5]]},"645":{"position":[[1642,5]]}}}],["chat",{"_index":602,"t":{"522":{"position":[[179,4]]},"546":{"position":[[124,4]]},"555":{"position":[[343,4]]}}}],["chatanywher",{"_index":1258,"t":{"660":{"position":[[88,12]]},"694":{"position":[[382,12]]}}}],["chatglm",{"_index":595,"t":{"522":{"position":[[93,7]]},"555":{"position":[[136,7]]},"559":{"position":[[248,7]]},"660":{"position":[[137,7]]},"694":{"position":[[431,7],[687,7],[702,7]]}}}],["chatglm_lit",{"_index":1366,"t":{"694":{"position":[[687,12]]}}}],["chatgpt",{"_index":844,"t":{"559":{"position":[[506,7]]}}}],["check",{"_index":776,"t":{"548":{"position":[[545,5]]},"555":{"position":[[248,5]]},"565":{"position":[[545,5]]},"583":{"position":[[611,5]]}}}],["checkout",{"_index":1126,"t":{"647":{"position":[[4166,8],[5071,8],[6246,8]]},"649":{"position":[[902,8]]},"790":{"position":[[979,8],[1406,8]]},"792":{"position":[[347,8]]}}}],["chines",{"_index":922,"t":{"575":{"position":[[38,7]]},"645":{"position":[[1007,7],[1340,7],[3069,7]]},"647":{"position":[[6676,7]]},"900":{"position":[[73,7]]}}}],["choos",{"_index":952,"t":{"575":{"position":[[1083,6]]},"647":{"position":[[3566,6]]}}}],["chore",{"_index":2138,"t":{"814":{"position":[[399,5],[480,5]]}}}],["ci",{"_index":1079,"t":{"647":{"position":[[988,2]]},"694":{"position":[[228,2]]},"781":{"position":[[57,2]]}}}],["clarifi",{"_index":2179,"t":{"814":{"position":[[1168,7]]}}}],["classic",{"_index":1014,"t":{"645":{"position":[[1558,7]]}}}],["classifi",{"_index":1578,"t":{"732":{"position":[[60,10]]}}}],["classmat",{"_index":1133,"t":{"647":{"position":[[4622,9]]}}}],["clean",{"_index":2176,"t":{"814":{"position":[[1092,5]]},"875":{"position":[[30,5],[51,5]]},"877":{"position":[[30,5],[51,5]]}}}],["clear",{"_index":719,"t":{"546":{"position":[[46,5],[636,5]]}}}],["clearli",{"_index":1191,"t":{"647":{"position":[[8602,7]]}}}],["click",{"_index":715,"t":{"544":{"position":[[0,5]]},"575":{"position":[[254,5],[270,5],[416,5],[635,5],[996,5],[1024,5],[1050,5],[1150,5],[1248,5]]},"647":{"position":[[2904,5]]},"649":{"position":[[1121,5],[1228,5]]}}}],["client",{"_index":240,"t":{"489":{"position":[[107,6]]},"494":{"position":[[8,6],[619,6],[964,6],[2176,6],[2627,6]]},"496":{"position":[[261,6]]},"607":{"position":[[107,6]]},"611":{"position":[[8,6],[619,6],[964,6],[2176,6],[2627,6]]},"613":{"position":[[261,6]]}}}],["clone",{"_index":995,"t":{"645":{"position":[[383,5],[430,5],[650,5],[682,5]]},"647":{"position":[[3739,5],[3786,5],[5842,7],[6133,5]]},"649":{"position":[[464,5],[504,5]]},"790":{"position":[[726,5]]},"792":{"position":[[258,5]]},"852":{"position":[[24,5],[86,5]]}}}],["close",{"_index":1213,"t":{"647":{"position":[[9736,7]]},"814":{"position":[[1223,6]]}}}],["cloudorc",{"_index":57,"t":{"465":{"position":[[232,8]]},"467":{"position":[[228,8]]},"485":{"position":[[238,8],[281,8]]},"487":{"position":[[234,8],[277,8]]},"500":{"position":[[91,8],[190,8],[300,8]]},"502":{"position":[[238,8],[281,8]]},"504":{"position":[[234,8],[277,8]]},"516":{"position":[[91,8],[190,8],[300,8]]},"518":{"position":[[655,8],[710,8],[763,8]]},"520":{"position":[[643,8],[698,8],[751,8]]},"548":{"position":[[354,8],[592,8],[888,8]]},"550":{"position":[[655,8],[710,8],[763,8]]},"552":{"position":[[643,8],[698,8],[751,8]]},"561":{"position":[[42,8],[153,8],[322,8]]},"565":{"position":[[354,8],[592,8],[888,8]]},"567":{"position":[[644,8],[700,8],[753,8],[841,8]]},"569":{"position":[[632,8],[688,8],[741,8],[829,8]]},"571":{"position":[[1399,8],[1487,8]]},"583":{"position":[[425,8],[660,8],[968,8]]},"589":{"position":[[234,8],[277,8]]},"601":{"position":[[91,8],[190,8],[300,8]]},"605":{"position":[[234,8],[277,8]]},"617":{"position":[[91,8],[190,8],[300,8]]},"621":{"position":[[228,8]]},"645":{"position":[[703,8],[2970,8],[3181,8],[3358,8]]},"647":{"position":[[2538,8],[2663,8],[3991,8]]},"649":{"position":[[89,8],[525,8],[631,8]]},"656":{"position":[[33,8],[84,8]]},"674":{"position":[[29,8]]},"691":{"position":[[32,8]]},"706":{"position":[[32,8]]},"790":{"position":[[184,8],[258,8],[881,8]]},"822":{"position":[[47,8]]},"835":{"position":[[33,8],[84,8]]},"852":{"position":[[151,8]]},"867":{"position":[[27,8]]},"873":{"position":[[33,8],[84,8]]},"880":{"position":[[101,8],[298,8]]}}}],["cmd",{"_index":389,"t":{"494":{"position":[[2410,3]]},"611":{"position":[[2410,3]]}}}],["cn",{"_index":1012,"t":{"645":{"position":[[1317,2]]},"660":{"position":[[105,2]]},"694":{"position":[[399,2]]},"805":{"position":[[29,2]]},"833":{"position":[[68,2]]}}}],["co",{"_index":827,"t":{"559":{"position":[[4,2]]}}}],["code",{"_index":767,"t":{"548":{"position":[[386,4],[532,4]]},"555":{"position":[[243,4]]},"559":{"position":[[39,4],[136,4],[202,4]]},"565":{"position":[[386,4],[532,4]]},"571":{"position":[[686,4],[715,4],[876,4],[992,4],[1020,4],[1058,4]]},"577":{"position":[[629,4]]},"583":{"position":[[468,4],[598,4]]},"645":{"position":[[660,4],[1354,4],[3416,4]]},"647":{"position":[[441,4],[977,5],[2067,4],[2313,4],[2345,4],[2763,4],[2935,4],[3219,4],[4662,4],[4784,4],[5322,4],[5572,5],[5604,4],[5786,4],[7550,4],[8077,4],[8464,4]]},"649":{"position":[[20,4],[32,4],[129,4],[299,4],[819,4],[873,4],[973,4]]},"746":{"position":[[26,4]]},"790":{"position":[[372,4],[1555,4]]},"807":{"position":[[282,4]]},"819":{"position":[[44,4],[190,4]]}}}],["codereview",{"_index":1226,"t":{"649":{"position":[[1295,10]]}}}],["collabor",{"_index":1158,"t":{"647":{"position":[[6947,13],[8941,13],[10969,13]]},"807":{"position":[[497,12]]}}}],["collat",{"_index":1357,"t":{"694":{"position":[[207,7]]}}}],["collect",{"_index":612,"t":{"524":{"position":[[52,10]]}}}],["color",{"_index":636,"t":{"529":{"position":[[194,5],[367,5]]},"531":{"position":[[202,5],[237,6],[287,5],[349,6]]},"535":{"position":[[44,6]]}}}],["colormap",{"_index":663,"t":{"531":{"position":[[271,8]]}}}],["com",{"_index":56,"t":{"465":{"position":[[228,3]]},"467":{"position":[[224,3]]},"485":{"position":[[234,3],[277,3]]},"487":{"position":[[230,3],[273,3]]},"500":{"position":[[87,3],[186,3],[296,3]]},"502":{"position":[[234,3],[277,3]]},"504":{"position":[[230,3],[273,3]]},"516":{"position":[[87,3],[186,3],[296,3]]},"518":{"position":[[651,3],[706,3]]},"520":{"position":[[639,3],[694,3]]},"548":{"position":[[350,3],[588,3],[884,3]]},"550":{"position":[[651,3],[706,3]]},"552":{"position":[[639,3],[694,3]]},"561":{"position":[[38,3],[247,3],[318,3]]},"565":{"position":[[350,3],[588,3],[884,3]]},"567":{"position":[[640,3],[696,3],[837,3]]},"569":{"position":[[628,3],[684,3],[825,3]]},"571":{"position":[[1483,3]]},"583":{"position":[[421,3],[656,3],[964,3]]},"589":{"position":[[230,3],[273,3]]},"601":{"position":[[87,3],[186,3],[296,3]]},"605":{"position":[[230,3],[273,3]]},"617":{"position":[[87,3],[186,3],[296,3]]},"621":{"position":[[224,3]]},"645":{"position":[[447,3],[699,3],[3354,3]]},"647":{"position":[[2534,3],[2659,3],[3807,3],[3987,3],[6154,3],[6933,3]]},"649":{"position":[[85,3],[521,3],[627,3]]},"656":{"position":[[29,3],[80,3]]},"660":{"position":[[58,3],[101,3]]},"674":{"position":[[25,3]]},"691":{"position":[[28,3]]},"694":{"position":[[352,3],[395,3]]},"706":{"position":[[28,3]]},"790":{"position":[[180,3],[254,3],[747,3],[877,3]]},"792":{"position":[[279,3]]},"822":{"position":[[43,3]]},"835":{"position":[[29,3],[80,3]]},"852":{"position":[[147,3]]},"867":{"position":[[23,3]]},"873":{"position":[[29,3],[80,3]]},"880":{"position":[[294,3]]}}}],["comb",{"_index":977,"t":{"583":{"position":[[482,6]]}}}],["combin",{"_index":571,"t":{"518":{"position":[[291,7]]},"520":{"position":[[279,7]]},"524":{"position":[[175,8]]},"550":{"position":[[291,7]]},"552":{"position":[[279,7]]},"567":{"position":[[316,7]]},"569":{"position":[[304,7]]},"577":{"position":[[373,8]]}}}],["command",{"_index":1118,"t":{"647":{"position":[[3701,7]]}}}],["comment",{"_index":1188,"t":{"647":{"position":[[8523,8]]}}}],["commit",{"_index":1136,"t":{"647":{"position":[[5027,6],[6076,6],[7110,6],[7203,6],[7423,7],[7578,7],[7626,6],[7782,7],[8448,6]]},"649":{"position":[[1025,6],[1036,6],[1476,6]]},"790":{"position":[[1384,6]]},"792":{"position":[[231,6]]},"796":{"position":[[126,6]]},"805":{"position":[[82,6]]},"807":{"position":[[5,6],[100,6],[141,6],[190,6],[391,6],[446,6]]},"810":{"position":[[0,6]]},"812":{"position":[[12,6],[117,6]]},"814":{"position":[[52,6],[74,6],[257,6],[442,6],[533,6],[606,6],[649,6],[909,6],[1003,6],[1018,6],[1069,6]]},"816":{"position":[[17,6]]}}}],["commitmessag",{"_index":2124,"t":{"814":{"position":[[6,13]]}}}],["committ",{"_index":909,"t":{"571":{"position":[[833,9]]},"645":{"position":[[3395,9]]},"647":{"position":[[26,9],[8929,10],[8979,9],[9279,9],[9350,10],[9414,10],[9527,9],[9568,9],[9985,9],[10387,10],[10957,10]]},"649":{"position":[[1276,10]]},"801":{"position":[[11,9],[119,9],[150,9],[181,10],[235,9],[252,9]]},"803":{"position":[[42,9],[209,10]]}}}],["committe",{"_index":1216,"t":{"647":{"position":[[9890,9],[9921,9],[9954,9],[10084,9],[10151,9],[10172,9],[10294,9],[10328,9],[10998,9]]},"801":{"position":[[382,9]]},"803":{"position":[[11,9],[68,9],[100,9],[116,9],[165,9],[185,9]]}}}],["common",{"_index":1028,"t":{"645":{"position":[[1937,6]]},"647":{"position":[[5340,6]]},"753":{"position":[[77,6]]},"790":{"position":[[1573,6]]}}}],["commun",{"_index":581,"t":{"518":{"position":[[727,9]]},"520":{"position":[[715,9]]},"546":{"position":[[32,9],[77,9],[176,9],[289,9],[591,9],[683,9]]},"548":{"position":[[149,9],[291,9],[462,9],[915,9],[963,9],[1062,9],[1091,9],[1118,9],[1173,9]]},"550":{"position":[[727,9]]},"552":{"position":[[715,9]]},"559":{"position":[[161,9],[181,13],[267,9],[313,13],[344,9],[401,9],[462,9],[527,9],[575,9],[620,9],[654,9],[712,9],[747,9],[801,9],[845,9]]},"563":{"position":[[94,9],[122,9]]},"565":{"position":[[149,9],[291,9],[462,9],[915,9],[963,9],[1062,9],[1091,9],[1118,9],[1173,9]]},"567":{"position":[[717,9]]},"569":{"position":[[705,9]]},"571":{"position":[[560,9],[583,9],[747,9],[805,9]]},"577":{"position":[[33,9]]},"579":{"position":[[121,9],[146,9]]},"583":{"position":[[48,9],[231,9],[366,9],[535,9],[995,9],[1043,9],[1141,9],[1172,9],[1198,9],[1253,9]]},"645":{"position":[[1189,9],[1438,9]]},"647":{"position":[[395,9],[592,9],[727,13],[778,13],[1087,11],[1521,9],[1566,9],[1873,9],[1894,9],[1988,11],[4506,9],[4581,9],[8138,9],[8788,11],[10651,13]]},"649":{"position":[[1266,9]]}}}],["compani",{"_index":1045,"t":{"645":{"position":[[2485,7]]}}}],["compar",{"_index":951,"t":{"575":{"position":[[1057,7]]}}}],["compil",{"_index":998,"t":{"645":{"position":[[546,8]]}}}],["complet",{"_index":948,"t":{"575":{"position":[[872,9]]},"577":{"position":[[825,10]]},"647":{"position":[[1731,10],[5220,10],[5231,9],[8656,8]]},"807":{"position":[[318,10]]}}}],["complex",{"_index":1178,"t":{"647":{"position":[[8062,10],[8245,10],[8263,10]]}}}],["compon",{"_index":784,"t":{"548":{"position":[[688,10]]},"565":{"position":[[688,10]]},"583":{"position":[[756,10]]},"645":{"position":[[594,10],[1668,10],[2196,10]]},"772":{"position":[[570,10]]}}}],["compos",{"_index":535,"t":{"512":{"position":[[14,7]]},"557":{"position":[[46,7]]},"597":{"position":[[14,7]]},"652":{"position":[[22,7]]},"654":{"position":[[17,7],[33,7]]},"658":{"position":[[90,7]]},"660":{"position":[[159,7]]},"764":{"position":[[42,7],[67,7],[360,7]]}}}],["comput",{"_index":574,"t":{"518":{"position":[[338,8]]},"520":{"position":[[326,8]]},"550":{"position":[[338,8]]},"552":{"position":[[326,8]]},"567":{"position":[[363,8]]},"569":{"position":[[351,8]]},"645":{"position":[[416,8]]}}}],["concept",{"_index":1104,"t":{"647":{"position":[[2490,7]]}}}],["condit",{"_index":2217,"t":{"846":{"position":[[82,9],[139,9]]}}}],["condition_vers",{"_index":2216,"t":{"846":{"position":[[82,17],[139,17]]}}}],["conduct",{"_index":906,"t":{"571":{"position":[[694,7],[723,7]]}}}],["conf",{"_index":1347,"t":{"694":{"position":[[55,4],[476,4],[782,4]]},"696":{"position":[[37,4]]},"710":{"position":[[352,4],[367,4]]},"712":{"position":[[92,4],[107,4]]},"716":{"position":[[32,4],[47,4],[196,4]]},"719":{"position":[[19,4],[34,4]]}}}],["config",{"_index":1029,"t":{"645":{"position":[[1967,6]]},"710":{"position":[[10,6]]},"714":{"position":[[55,6]]},"852":{"position":[[35,6]]}}}],["configur",{"_index":1058,"t":{"645":{"position":[[3089,13]]},"722":{"position":[[87,13]]},"727":{"position":[[161,13]]}}}],["confirm",{"_index":953,"t":{"575":{"position":[[1123,7]]},"647":{"position":[[4352,7]]}}}],["conflisten",{"_index":1463,"t":{"716":{"position":[[211,10]]}}}],["congratul",{"_index":1229,"t":{"649":{"position":[[1527,15]]}}}],["conn",{"_index":347,"t":{"494":{"position":[[927,4],[1926,4]]},"611":{"position":[[927,4],[1926,4]]}}}],["connect",{"_index":338,"t":{"494":{"position":[[708,7],[745,9],[784,7],[799,7]]},"611":{"position":[[708,7],[745,9],[784,7],[799,7]]},"710":{"position":[[904,7],[1030,10],[1372,7],[1498,10],[1847,7],[1973,10]]},"712":{"position":[[644,7],[770,10],[1114,7],[1240,10],[1591,7],[1717,10]]}}}],["connectdto",{"_index":1767,"t":{"762":{"position":[[566,10]]},"770":{"position":[[0,10]]}}}],["connectionfactori",{"_index":1762,"t":{"762":{"position":[[246,17],[478,17],[547,17],[669,17]]}}}],["connector",{"_index":332,"t":{"494":{"position":[[642,9],[680,9],[690,9],[716,9],[760,9],[826,9],[861,9]]},"496":{"position":[[268,9],[306,9],[316,9],[332,9],[369,9],[423,9],[433,9],[477,9],[493,9]]},"508":{"position":[[163,9]]},"512":{"position":[[285,9]]},"593":{"position":[[163,9]]},"597":{"position":[[285,9]]},"611":{"position":[[642,9],[680,9],[690,9],[716,9],[760,9],[826,9],[861,9]]},"613":{"position":[[268,9],[306,9],[316,9],[332,9],[369,9],[423,9],[433,9],[477,9],[493,9]]},"827":{"position":[[125,9]]}}}],["connector_id",{"_index":339,"t":{"494":{"position":[[716,12],[760,12],[826,12],[861,12]]},"611":{"position":[[716,12],[760,12],[826,12],[861,12]]}}}],["consist",{"_index":852,"t":{"559":{"position":[[825,11]]}}}],["consol",{"_index":325,"t":{"494":{"position":[[304,7],[346,7],[403,7],[1539,7],[1581,7],[1638,7]]},"611":{"position":[[304,7],[346,7],[403,7],[1539,7],[1581,7],[1638,7]]}}}],["console_handl",{"_index":324,"t":{"494":{"position":[[304,15],[346,15],[403,15],[1539,15],[1581,15],[1638,15]]},"611":{"position":[[304,15],[346,15],[403,15],[1539,15],[1581,15],[1638,15]]}}}],["constant",{"_index":1684,"t":{"758":{"position":[[0,9]]}}}],["constantsspi",{"_index":1805,"t":{"770":{"position":[[41,12]]}}}],["construct",{"_index":565,"t":{"518":{"position":[[184,12]]},"520":{"position":[[172,12]]},"548":{"position":[[301,12]]},"550":{"position":[[184,12]]},"552":{"position":[[172,12]]},"565":{"position":[[301,12]]},"567":{"position":[[212,12]]},"569":{"position":[[200,12]]},"573":{"position":[[87,12]]},"647":{"position":[[8537,12]]}}}],["contact",{"_index":1195,"t":{"647":{"position":[[8762,7],[8849,9]]}}}],["contain",{"_index":1089,"t":{"647":{"position":[[1227,10],[1318,10]]}}}],["content",{"_index":779,"t":{"548":{"position":[[619,7],[649,7]]},"565":{"position":[[619,7],[649,7]]},"567":{"position":[[159,7]]},"569":{"position":[[147,7]]},"583":{"position":[[687,7],[717,7]]},"645":{"position":[[1388,7],[1425,7],[1472,7],[1518,7],[2691,7],[3616,7]]},"647":{"position":[[10031,7]]},"649":{"position":[[1043,7]]}}}],["context",{"_index":2102,"t":{"807":{"position":[[260,7]]}}}],["continu",{"_index":733,"t":{"546":{"position":[[304,8]]},"548":{"position":[[93,12]]},"565":{"position":[[93,12]]},"583":{"position":[[173,11]]},"647":{"position":[[9081,12]]}}}],["contribut",{"_index":756,"t":{"548":{"position":[[18,12],[159,13],[191,12],[391,12],[514,10],[627,12]]},"565":{"position":[[18,12],[159,13],[191,12],[391,12],[514,10],[627,12]]},"575":{"position":[[18,13]]},"577":{"position":[[483,10],[989,10]]},"583":{"position":[[22,10],[59,10],[213,10],[245,12],[457,10],[587,10],[695,12],[907,10]]},"645":{"position":[[121,12]]},"647":{"position":[[0,12],[71,12],[100,12],[144,12],[209,12],[1495,10],[2004,12],[2302,10],[2334,10],[7537,12],[8905,12],[9069,11],[9321,12],[10043,11],[10589,12],[10757,12],[10934,12]]},"904":{"position":[[23,11]]}}}],["contributor",{"_index":872,"t":{"563":{"position":[[64,12],[132,12],[189,12]]},"571":{"position":[[899,12]]},"579":{"position":[[93,12],[156,12],[213,12]]},"647":{"position":[[10402,12]]},"649":{"position":[[1572,11]]}}}],["control",{"_index":1288,"t":{"678":{"position":[[91,10]]},"766":{"position":[[41,10],[505,10]]}}}],["convent",{"_index":1030,"t":{"645":{"position":[[2009,10],[2353,10],[3531,10],[3561,10]]},"814":{"position":[[1048,11]]}}}],["convert",{"_index":735,"t":{"546":{"position":[[349,7]]}}}],["coordin",{"_index":651,"t":{"531":{"position":[[55,11],[446,11]]}}}],["copi",{"_index":388,"t":{"494":{"position":[[2401,4]]},"611":{"position":[[2401,4]]},"647":{"position":[[5692,4]]},"649":{"position":[[117,4]]}}}],["cor",{"_index":1864,"t":{"774":{"position":[[417,4]]}}}],["coral",{"_index":678,"t":{"535":{"position":[[78,5]]}}}],["core",{"_index":1084,"t":{"647":{"position":[[1108,4]]},"852":{"position":[[51,4],[116,4]]}}}],["corner",{"_index":931,"t":{"575":{"position":[[318,6],[678,6]]}}}],["correspond",{"_index":639,"t":{"529":{"position":[[310,13]]},"531":{"position":[[326,14]]},"535":{"position":[[275,13]]},"645":{"position":[[2826,13]]},"647":{"position":[[5363,13]]}}}],["cot",{"_index":850,"t":{"559":{"position":[[777,3]]}}}],["counter",{"_index":1039,"t":{"645":{"position":[[2275,7],[2502,7]]}}}],["cpu",{"_index":1278,"t":{"670":{"position":[[0,3]]}}}],["creat",{"_index":394,"t":{"494":{"position":[[2508,6]]},"529":{"position":[[236,6]]},"531":{"position":[[174,7]]},"539":{"position":[[9,6]]},"575":{"position":[[720,6],[793,6],[1157,6],[1255,6]]},"577":{"position":[[682,6],[857,6]]},"611":{"position":[[2508,6]]},"647":{"position":[[322,6],[2358,6],[2462,7],[5922,6],[9764,6]]},"649":{"position":[[1235,6]]},"694":{"position":[[148,6]]},"730":{"position":[[95,6],[134,6],[153,6]]},"734":{"position":[[223,6]]},"736":{"position":[[71,6]]},"738":{"position":[[77,6]]},"740":{"position":[[85,6]]},"742":{"position":[[80,6]]},"744":{"position":[[51,6]]}}}],["create_identifi",{"_index":1570,"t":{"730":{"position":[[95,15]]}}}],["create_tim",{"_index":1572,"t":{"730":{"position":[[134,11]]},"734":{"position":[[223,11]]},"736":{"position":[[71,11]]},"738":{"position":[[77,11]]},"740":{"position":[[85,11]]},"742":{"position":[[80,11]]},"744":{"position":[[51,11]]}}}],["create_us",{"_index":1573,"t":{"730":{"position":[[153,11]]}}}],["criteria",{"_index":1163,"t":{"647":{"position":[[7520,8],[10913,8]]}}}],["critic",{"_index":990,"t":{"645":{"position":[[82,8]]}}}],["crucial",{"_index":1094,"t":{"647":{"position":[[1771,7]]}}}],["crud",{"_index":1745,"t":{"760":{"position":[[457,4],[703,4]]}}}],["css",{"_index":1019,"t":{"645":{"position":[[1685,3],[2466,3],[2624,3],[2672,3]]}}}],["current",{"_index":1130,"t":{"647":{"position":[[4383,7],[4416,7],[4471,9]]},"649":{"position":[[169,9]]}}}],["custom",{"_index":914,"t":{"571":{"position":[[1179,9]]}}}],["d",{"_index":396,"t":{"494":{"position":[[2533,1]]},"527":{"position":[[57,1]]},"535":{"position":[[211,1]]},"611":{"position":[[2533,1]]},"647":{"position":[[5498,1]]},"658":{"position":[[102,1]]},"710":{"position":[[357,1]]},"712":{"position":[[97,1]]},"716":{"position":[[37,1],[201,1]]},"719":{"position":[[24,1]]},"790":{"position":[[1665,1]]}}}],["d55nvfw1kyi",{"_index":867,"t":{"561":{"position":[[259,11]]}}}],["daili",{"_index":1102,"t":{"647":{"position":[[2228,5]]},"649":{"position":[[224,5]]}}}],["dao",{"_index":1635,"t":{"753":{"position":[[116,3],[121,3]]},"760":{"position":[[15,3]]}}}],["daoconfigur",{"_index":1747,"t":{"760":{"position":[[505,16]]}}}],["dash",{"_index":1042,"t":{"645":{"position":[[2420,4]]}}}],["dashboard",{"_index":1819,"t":{"772":{"position":[[242,9]]}}}],["data",{"_index":350,"t":{"494":{"position":[[984,4],[1983,4]]},"518":{"position":[[218,4]]},"520":{"position":[[206,4]]},"524":{"position":[[120,4]]},"537":{"position":[[89,4]]},"550":{"position":[[218,4]]},"552":{"position":[[206,4]]},"567":{"position":[[243,4]]},"569":{"position":[[231,4]]},"611":{"position":[[984,4],[1983,4]]},"734":{"position":[[18,4]]},"736":{"position":[[44,4],[54,4]]},"753":{"position":[[125,4]]},"934":{"position":[[413,4],[1097,4]]}}}],["data_source_type_id",{"_index":1584,"t":{"734":{"position":[[18,19]]}}}],["data_typ",{"_index":1599,"t":{"736":{"position":[[54,9]]}}}],["databas",{"_index":1354,"t":{"694":{"position":[[155,8]]}}}],["datasourc",{"_index":540,"t":{"512":{"position":[[86,10]]},"597":{"position":[[86,10]]},"696":{"position":[[74,10]]},"730":{"position":[[15,10],[40,10],[65,10]]},"748":{"position":[[12,10],[40,10],[59,10],[97,10],[134,10]]},"753":{"position":[[169,10]]},"760":{"position":[[127,10]]},"762":{"position":[[15,10],[801,10],[834,10],[859,10]]}}}],["datasource_desc",{"_index":1567,"t":{"730":{"position":[[40,15]]}}}],["datasource_nam",{"_index":1566,"t":{"730":{"position":[[15,15]]}}}],["datasource_type_id",{"_index":1569,"t":{"730":{"position":[[65,18]]},"748":{"position":[[59,18]]}}}],["datasourcecontrol",{"_index":1784,"t":{"766":{"position":[[110,20],[552,20]]}}}],["datasourcelist",{"_index":1818,"t":{"772":{"position":[[206,14]]}}}],["datasourcemapp",{"_index":1734,"t":{"760":{"position":[[262,16]]}}}],["datasourceparamkeymapp",{"_index":1735,"t":{"760":{"position":[[280,24]]}}}],["datasourceservic",{"_index":1795,"t":{"766":{"position":[[575,17],[594,17]]}}}],["datasourceserviceimpl",{"_index":1796,"t":{"766":{"position":[[667,21]]}}}],["datasourcetyp",{"_index":1726,"t":{"760":{"position":[[139,14]]}}}],["datasourcetypekey",{"_index":1727,"t":{"760":{"position":[[155,17]]}}}],["datasourcetypemapp",{"_index":1736,"t":{"760":{"position":[[306,20]]}}}],["datasourcetypeserviceimpl",{"_index":1797,"t":{"766":{"position":[[689,25]]}}}],["dateconst",{"_index":1692,"t":{"758":{"position":[[60,13]]}}}],["day",{"_index":1221,"t":{"649":{"position":[[255,3]]}}}],["db",{"_index":543,"t":{"512":{"position":[[140,2]]},"597":{"position":[[140,2]]},"696":{"position":[[315,2],[333,2],[346,2],[362,2],[375,2]]}}}],["db_host",{"_index":542,"t":{"512":{"position":[[140,7]]},"597":{"position":[[140,7]]},"696":{"position":[[315,7]]}}}],["db_name",{"_index":1381,"t":{"696":{"position":[[346,7]]}}}],["db_pass",{"_index":1383,"t":{"696":{"position":[[375,7]]}}}],["db_port",{"_index":1380,"t":{"696":{"position":[[333,7]]}}}],["db_user",{"_index":1382,"t":{"696":{"position":[[362,7]]}}}],["ddl",{"_index":1344,"t":{"694":{"position":[[8,3]]}}}],["de",{"_index":1701,"t":{"758":{"position":[[160,3]]}}}],["decid",{"_index":1209,"t":{"647":{"position":[[9447,6],[10212,6]]}}}],["def",{"_index":336,"t":{"494":{"position":[[701,3],[808,3],[915,3],[1914,3]]},"611":{"position":[[701,3],[808,3],[915,3],[1914,3]]}}}],["default",{"_index":1355,"t":{"694":{"position":[[172,7],[199,7]]},"734":{"position":[[81,7]]}}}],["default_valu",{"_index":1588,"t":{"734":{"position":[[81,13]]}}}],["defaultlayout",{"_index":1813,"t":{"772":{"position":[[151,13]]}}}],["defici",{"_index":758,"t":{"548":{"position":[[44,12]]},"565":{"position":[[44,12]]},"583":{"position":[[106,12]]}}}],["degre",{"_index":695,"t":{"535":{"position":[[321,7]]}}}],["delet",{"_index":818,"t":{"555":{"position":[[271,6]]},"647":{"position":[[3056,6],[3576,6],[5422,6]]}}}],["demo",{"_index":857,"t":{"561":{"position":[[90,4]]},"645":{"position":[[2236,4],[2250,4]]}}}],["demo_styl",{"_index":1038,"t":{"645":{"position":[[2236,11]]}}}],["demonstr",{"_index":568,"t":{"518":{"position":[[223,13]]},"520":{"position":[[211,13]]},"550":{"position":[[223,13]]},"552":{"position":[[211,13]]},"567":{"position":[[248,13]]},"569":{"position":[[236,13]]}}}],["demostyl",{"_index":1040,"t":{"645":{"position":[[2309,10]]}}}],["dep",{"_index":2209,"t":{"838":{"position":[[92,4]]}}}],["depend",{"_index":1002,"t":{"645":{"position":[[772,9]]},"647":{"position":[[8395,12],[8428,10]]},"756":{"position":[[279,10]]}}}],["deploy",{"_index":786,"t":{"548":{"position":[[746,10]]},"557":{"position":[[12,10]]},"559":{"position":[[234,10],[291,10]]},"565":{"position":[[746,10]]},"571":{"position":[[331,10]]},"583":{"position":[[814,10]]},"676":{"position":[[31,6]]}}}],["desc",{"_index":1568,"t":{"730":{"position":[[51,4]]}}}],["describ",{"_index":1068,"t":{"647":{"position":[[341,8],[533,10],[801,10],[6527,8]]}}}],["descript",{"_index":579,"t":{"518":{"position":[[587,11]]},"520":{"position":[[575,11]]},"546":{"position":[[362,12]]},"550":{"position":[[587,11]]},"552":{"position":[[575,11]]},"567":{"position":[[576,11]]},"569":{"position":[[564,11]]},"575":{"position":[[346,11],[1199,11]]},"732":{"position":[[29,11]]},"734":{"position":[[144,11],[161,11]]},"742":{"position":[[63,11]]}}}],["description_en",{"_index":1592,"t":{"734":{"position":[[161,14]]}}}],["design",{"_index":717,"t":{"544":{"position":[[32,6]]},"555":{"position":[[0,6],[61,6],[259,6]]},"559":{"position":[[639,6]]},"649":{"position":[[1356,6]]},"772":{"position":[[16,6]]}}}],["desutil",{"_index":1700,"t":{"758":{"position":[[143,7]]}}}],["detail",{"_index":897,"t":{"571":{"position":[[244,8]]},"647":{"position":[[375,6],[815,6],[826,7],[7178,7]]},"649":{"position":[[1337,7]]}}}],["determin",{"_index":750,"t":{"546":{"position":[[618,13]]},"647":{"position":[[10448,11]]}}}],["dev",{"_index":919,"t":{"573":{"position":[[127,3]]},"575":{"position":[[803,3],[1110,3]]},"577":{"position":[[746,3]]},"647":{"position":[[2219,3],[2391,3],[2479,3],[4536,3],[5083,3],[5091,3],[5111,3],[5119,3],[5297,3],[5500,3],[5854,3],[5879,3],[5935,3],[6190,3],[6210,3],[6238,3],[6258,3],[6266,3],[6286,3],[6339,3],[6347,3],[7092,3],[7434,3],[9807,3],[9857,3],[10422,3]]},"649":{"position":[[220,3],[259,3],[918,3],[949,3],[1507,3]]},"790":{"position":[[68,3],[107,3],[127,3],[1182,3],[1418,3],[1426,3],[1446,3],[1454,3],[1530,3],[1667,3]]},"792":{"position":[[146,3],[156,3],[178,3],[315,3],[323,3],[332,3],[359,3],[367,3],[376,3],[410,3],[418,3]]},"796":{"position":[[72,3],[254,3]]},"801":{"position":[[338,3],[354,3]]},"803":{"position":[[228,3]]},"819":{"position":[[90,3],[268,3],[291,3]]},"846":{"position":[[1,3]]},"848":{"position":[[11,3]]}}}],["develop",{"_index":724,"t":{"546":{"position":[[105,11],[191,7],[747,11]]},"548":{"position":[[205,10],[997,10],[1183,11]]},"565":{"position":[[205,10],[997,10],[1183,11]]},"571":{"position":[[318,11],[855,10]]},"577":{"position":[[462,11],[714,11],[969,9],[1074,11]]},"583":{"position":[[280,10],[1077,10],[1263,11]]},"647":{"position":[[1113,11],[1786,11],[2234,11],[4391,11],[4487,11],[4869,11],[5137,11],[5195,11],[5521,11],[5636,11],[5665,11],[5757,7],[5891,11],[7053,11],[9614,9],[9689,11],[10476,11],[10803,11]]},"649":{"position":[[230,11],[263,11]]},"805":{"position":[[44,11],[56,11]]},"807":{"position":[[477,9]]},"814":{"position":[[1112,10]]}}}],["diagram",{"_index":1016,"t":{"645":{"position":[[1629,7]]}}}],["difficulti",{"_index":745,"t":{"546":{"position":[[541,12]]}}}],["dimension",{"_index":567,"t":{"518":{"position":[[206,11]]},"520":{"position":[[194,11]]},"550":{"position":[[206,11]]},"552":{"position":[[194,11]]},"567":{"position":[[231,11]]},"569":{"position":[[219,11]]}}}],["dir",{"_index":387,"t":{"494":{"position":[[2386,3]]},"611":{"position":[[2386,3]]}}}],["direct",{"_index":1220,"t":{"647":{"position":[[10488,9]]}}}],["directli",{"_index":1055,"t":{"645":{"position":[[2803,8]]},"647":{"position":[[4929,8],[5982,8]]}}}],["directori",{"_index":1003,"t":{"645":{"position":[[823,9],[948,9],[1153,9],[1164,9],[1992,9],[2676,9],[3480,9],[3514,9]]},"647":{"position":[[3878,9]]}}}],["disconnect",{"_index":343,"t":{"494":{"position":[[815,10],[885,10],[903,10]]},"611":{"position":[[815,10],[885,10],[903,10]]}}}],["discord",{"_index":587,"t":{"518":{"position":[[823,7]]},"520":{"position":[[811,7]]},"550":{"position":[[823,7]]},"552":{"position":[[811,7]]},"559":{"position":[[857,7]]},"561":{"position":[[372,7]]},"900":{"position":[[82,7]]}}}],["discov",{"_index":757,"t":{"548":{"position":[[32,11]]},"565":{"position":[[32,11]]},"583":{"position":[[97,8]]}}}],["discuss",{"_index":468,"t":{"500":{"position":[[108,11]]},"516":{"position":[[108,11]]},"548":{"position":[[371,11]]},"565":{"position":[[371,11]]},"571":{"position":[[640,11]]},"583":{"position":[[442,11]]},"601":{"position":[[108,11]]},"617":{"position":[[108,11]]},"647":{"position":[[8121,9],[9655,11]]},"649":{"position":[[1324,7]]}}}],["display",{"_index":607,"t":{"522":{"position":[[274,7]]},"529":{"position":[[208,7],[434,7],[475,7]]},"535":{"position":[[258,9]]},"537":{"position":[[152,7]]}}}],["dist",{"_index":1414,"t":{"710":{"position":[[550,4]]},"712":{"position":[[280,4],[1894,4]]},"753":{"position":[[234,4]]},"764":{"position":[[15,4]]},"840":{"position":[[51,4]]}}}],["distribut",{"_index":655,"t":{"531":{"position":[[124,12],[505,12]]}}}],["divid",{"_index":713,"t":{"542":{"position":[[41,7]]},"571":{"position":[[132,7]]}}}],["divis",{"_index":831,"t":{"559":{"position":[[116,8]]}}}],["dlimeng",{"_index":877,"t":{"563":{"position":[[227,7]]},"579":{"position":[[259,7]]}}}],["dmaven",{"_index":2244,"t":{"875":{"position":[[66,6]]},"877":{"position":[[66,6]]}}}],["dml",{"_index":1345,"t":{"694":{"position":[[14,3]]}}}],["doc",{"_index":862,"t":{"561":{"position":[[188,4]]},"577":{"position":[[29,3]]},"645":{"position":[[1203,4],[1396,4],[1433,4],[1480,4],[1526,4],[1841,3],[2271,3],[2329,4],[2750,4]]},"647":{"position":[[6921,4]]},"764":{"position":[[202,4]]},"805":{"position":[[32,4]]},"814":{"position":[[309,4],[475,4],[990,4]]}}}],["docker",{"_index":391,"t":{"494":{"position":[[2461,6],[2493,6],[2521,6],[2579,6]]},"512":{"position":[[7,6]]},"514":{"position":[[13,6]]},"557":{"position":[[39,6]]},"559":{"position":[[306,6]]},"597":{"position":[[7,6]]},"599":{"position":[[13,6]]},"611":{"position":[[2461,6],[2493,6],[2521,6],[2579,6]]},"652":{"position":[[0,6],[15,6]]},"654":{"position":[[10,6],[26,6]]},"658":{"position":[[76,6],[83,6]]},"660":{"position":[[152,6]]},"666":{"position":[[0,6]]},"691":{"position":[[238,6]]},"764":{"position":[[35,6],[60,6],[92,6],[177,6],[353,6],[381,6]]},"822":{"position":[[0,6]]},"825":{"position":[[72,6],[90,6]]},"827":{"position":[[150,6],[183,6]]},"829":{"position":[[68,6],[86,6]]},"939":{"position":[[23,6]]}}}],["dockerfil",{"_index":374,"t":{"494":{"position":[[2246,10],[2438,10]]},"611":{"position":[[2246,10],[2438,10]]},"825":{"position":[[97,10]]},"827":{"position":[[190,10]]},"829":{"position":[[93,10]]}}}],["document",{"_index":755,"t":{"548":{"position":[[9,8],[60,9],[82,9],[115,9],[182,8]]},"555":{"position":[[618,9]]},"565":{"position":[[9,8],[60,9],[82,9],[115,9],[182,8]]},"571":{"position":[[163,8],[197,13],[913,13],[970,13]]},"575":{"position":[[4,13]]},"577":{"position":[[43,13],[97,13]]},"583":{"position":[[82,13],[126,13],[154,13],[196,13],[265,13]]},"645":{"position":[[13,13],[39,13],[65,13],[163,13],[197,8],[215,13],[324,8],[393,8],[1235,8],[1848,8],[3429,8]]},"647":{"position":[[1638,13],[1678,13],[1749,13],[7278,13],[10565,13],[10716,13]]},"649":{"position":[[1601,13]]},"814":{"position":[[317,13]]}}}],["docusauru",{"_index":1000,"t":{"645":{"position":[[573,10],[1370,10],[1407,10],[1454,10],[1500,10],[1541,10],[1956,10]]}}}],["dolphinschedul",{"_index":2181,"t":{"816":{"position":[[0,16]]}}}],["dom",{"_index":1043,"t":{"645":{"position":[[2450,3]]},"772":{"position":[[693,3]]}}}],["don",{"_index":1149,"t":{"647":{"position":[[6395,3],[6816,3]]}}}],["done",{"_index":936,"t":{"575":{"position":[[410,4]]}}}],["dori",{"_index":162,"t":{"479":{"position":[[115,5],[159,5]]},"633":{"position":[[115,5],[159,5]]},"762":{"position":[[92,5],[273,5],[870,5],[897,5]]},"930":{"position":[[126,5],[181,5],[391,5]]}}}],["doriscli",{"_index":1756,"t":{"762":{"position":[[54,11],[198,11],[705,11]]}}}],["dorisclientfactori",{"_index":1759,"t":{"762":{"position":[[145,18],[717,18]]}}}],["dorisconnectionfactori",{"_index":1761,"t":{"762":{"position":[[216,22],[736,22]]}}}],["doubl",{"_index":2369,"t":{"934":{"position":[[1072,6]]}}}],["double_valu",{"_index":2368,"t":{"934":{"position":[[1072,12]]}}}],["download",{"_index":696,"t":{"537":{"position":[[9,8]]},"539":{"position":[[23,8]]},"571":{"position":[[370,8],[390,8]]},"645":{"position":[[605,8],[1275,8],[1485,8]]},"647":{"position":[[2940,8]]},"833":{"position":[[71,8]]}}}],["draw",{"_index":669,"t":{"533":{"position":[[9,4]]}}}],["drwxr",{"_index":1325,"t":{"691":{"position":[[197,5],[245,5],[351,5],[449,5]]}}}],["ds",{"_index":2130,"t":{"814":{"position":[[217,2]]}}}],["dump",{"_index":353,"t":{"494":{"position":[[1083,5],[2082,5]]},"611":{"position":[[1083,5],[2082,5]]}}}],["dynam",{"_index":600,"t":{"522":{"position":[[143,11]]}}}],["e",{"_index":622,"t":{"527":{"position":[[73,1]]},"535":{"position":[[216,1]]},"698":{"position":[[136,1]]}}}],["each",{"_index":656,"t":{"531":{"position":[[189,4],[461,4]]},"535":{"position":[[242,4]]},"647":{"position":[[6700,4]]}}}],["easi",{"_index":770,"t":{"548":{"position":[[435,4]]},"565":{"position":[[435,4]]},"583":{"position":[[508,4]]},"647":{"position":[[8025,4]]}}}],["echart",{"_index":1837,"t":{"772":{"position":[[665,7]]}}}],["edit",{"_index":960,"t":{"577":{"position":[[320,7],[426,7]]},"645":{"position":[[2886,4]]}}}],["edu",{"_index":699,"t":{"537":{"position":[[75,3],[198,3]]}}}],["ef",{"_index":1460,"t":{"716":{"position":[[117,2]]}}}],["effect",{"_index":808,"t":{"548":{"position":[[1147,9]]},"565":{"position":[[1147,9]]},"583":{"position":[[1227,9]]},"647":{"position":[[7682,7],[8015,9],[8159,7]]}}}],["effici",{"_index":1088,"t":{"647":{"position":[[1200,9]]}}}],["effort",{"_index":2106,"t":{"807":{"position":[[337,7]]}}}],["element",{"_index":1604,"t":{"738":{"position":[[43,7]]},"748":{"position":[[182,7],[253,7],[288,7],[330,7]]}}}],["en",{"_index":1157,"t":{"647":{"position":[[6937,2]]},"734":{"position":[[71,2],[173,2]]}}}],["encod",{"_index":358,"t":{"494":{"position":[[1127,6],[2126,6]]},"611":{"position":[[1127,6],[2126,6]]}}}],["encryptionutil",{"_index":1706,"t":{"758":{"position":[[185,15]]}}}],["end",{"_index":1143,"t":{"647":{"position":[[5555,3],[5568,3]]}}}],["english",{"_index":923,"t":{"575":{"position":[[50,7]]},"645":{"position":[[882,7],[3081,7]]},"647":{"position":[[6654,7],[6688,7]]}}}],["enhanc",{"_index":1090,"t":{"647":{"position":[[1330,11]]},"781":{"position":[[175,11]]}}}],["enough",{"_index":1211,"t":{"647":{"position":[[9495,6]]}}}],["enter",{"_index":932,"t":{"575":{"position":[[326,5]]},"647":{"position":[[2837,5],[3852,5]]}}}],["entranc",{"_index":537,"t":{"512":{"position":[[58,8]]},"597":{"position":[[58,8]]},"691":{"position":[[286,8]]},"694":{"position":[[39,8],[460,8],[766,8]]},"696":{"position":[[21,8]]},"698":{"position":[[21,8]]},"751":{"position":[[0,8]]},"753":{"position":[[264,8]]},"764":{"position":[[125,8]]},"766":{"position":[[15,8]]},"772":{"position":[[511,8]]},"825":{"position":[[56,8],[119,8]]}}}],["env",{"_index":526,"t":{"508":{"position":[[95,3],[151,3]]},"512":{"position":[[136,3],[183,3],[214,3],[273,3]]},"593":{"position":[[95,3],[151,3]]},"597":{"position":[[136,3],[183,3],[214,3],[273,3]]},"696":{"position":[[299,3]]},"774":{"position":[[487,3]]},"827":{"position":[[61,3],[88,3]]}}}],["environ",{"_index":858,"t":{"561":{"position":[[95,11]]},"571":{"position":[[771,11]]}}}],["error",{"_index":1411,"t":{"710":{"position":[[426,5],[1995,5]]},"712":{"position":[[1739,5]]}}}],["error_pag",{"_index":1433,"t":{"710":{"position":[[1995,10]]},"712":{"position":[[1739,10]]}}}],["es",{"_index":1833,"t":{"772":{"position":[[628,2]]}}}],["eslint",{"_index":817,"t":{"555":{"position":[[236,6]]},"559":{"position":[[21,6]]},"772":{"position":[[770,6]]}}}],["establish",{"_index":2101,"t":{"807":{"position":[[243,12]]}}}],["etc",{"_index":599,"t":{"522":{"position":[[116,3]]},"548":{"position":[[126,3],[801,3],[1024,3],[1196,3]]},"565":{"position":[[126,3],[801,3],[1024,3],[1196,3]]},"583":{"position":[[870,3],[1104,3],[1276,3]]},"645":{"position":[[1649,3]]},"647":{"position":[[1926,3],[5383,3]]},"649":{"position":[[1393,3]]},"710":{"position":[[342,3]]},"712":{"position":[[82,3]]},"716":{"position":[[22,3],[186,3]]},"719":{"position":[[9,3]]}}}],["eventbu",{"_index":1489,"t":{"722":{"position":[[243,8]]},"725":{"position":[[227,8]]}}}],["everyon",{"_index":1087,"t":{"647":{"position":[[1164,8],[2290,8]]},"649":{"position":[[1414,8]]},"904":{"position":[[10,8]]}}}],["exactli",{"_index":2108,"t":{"807":{"position":[[414,7]]}}}],["exampl",{"_index":795,"t":{"548":{"position":[[860,7]]},"565":{"position":[[860,7]]},"583":{"position":[[940,7]]},"645":{"position":[[2168,7],[2283,7],[2434,7],[2510,7]]}}}],["except",{"_index":1054,"t":{"645":{"position":[[2713,6]]},"647":{"position":[[9800,6]]}}}],["exchang",{"_index":1096,"t":{"647":{"position":[[1883,9]]}}}],["execut",{"_index":371,"t":{"494":{"position":[[2099,7]]},"611":{"position":[[2099,7]]}}}],["exist",{"_index":1182,"t":{"647":{"position":[[8312,8]]}}}],["experi",{"_index":789,"t":{"548":{"position":[[774,10]]},"565":{"position":[[774,10]]},"571":{"position":[[659,11]]},"583":{"position":[[842,10]]}}}],["expertis",{"_index":1093,"t":{"647":{"position":[[1599,9]]}}}],["expir",{"_index":1575,"t":{"730":{"position":[[184,6]]}}}],["explan",{"_index":832,"t":{"559":{"position":[[141,11]]}}}],["f",{"_index":341,"t":{"494":{"position":[[743,1],[853,1],[962,1],[1961,1]]},"527":{"position":[[90,1]]},"611":{"position":[[743,1],[853,1],[962,1],[1961,1]]},"825":{"position":[[86,1]]},"827":{"position":[[164,1]]},"829":{"position":[[82,1]]}}}],["face",{"_index":743,"t":{"546":{"position":[[527,6]]},"555":{"position":[[177,4]]}}}],["faculti",{"_index":706,"t":{"537":{"position":[[180,7]]}}}],["fals",{"_index":1373,"t":{"696":{"position":[[134,5]]},"852":{"position":[[65,5],[130,5]]}}}],["familiar",{"_index":762,"t":{"548":{"position":[[220,11]]},"565":{"position":[[220,11]]},"583":{"position":[[295,11]]}}}],["faq",{"_index":845,"t":{"559":{"position":[[539,3]]},"645":{"position":[[1288,3],[1531,3]]}}}],["faster",{"_index":1078,"t":{"647":{"position":[[929,6],[7754,6]]}}}],["feat",{"_index":2133,"t":{"814":{"position":[[281,4],[428,4]]}}}],["featur",{"_index":810,"t":{"555":{"position":[[7,8],[68,8]]},"559":{"position":[[928,7]]},"577":{"position":[[570,7]]},"647":{"position":[[1239,7],[1264,8],[4906,7],[7045,7],[7268,8],[7943,7],[8226,8]]},"781":{"position":[[138,7]]},"790":{"position":[[1328,7]]},"814":{"position":[[290,7]]}}}],["feedback",{"_index":49,"t":{"465":{"position":[[184,8]]},"467":{"position":[[180,8]]},"485":{"position":[[184,8]]},"487":{"position":[[180,8]]},"502":{"position":[[184,8]]},"504":{"position":[[180,8]]},"518":{"position":[[536,8]]},"520":{"position":[[524,8]]},"550":{"position":[[536,8]]},"552":{"position":[[524,8]]},"567":{"position":[[523,8]]},"569":{"position":[[511,8]]},"589":{"position":[[180,8]]},"605":{"position":[[180,8]]},"621":{"position":[[180,8]]},"647":{"position":[[240,8],[296,8],[476,8],[10619,8]]},"890":{"position":[[180,8]]},"894":{"position":[[46,8]]}}}],["feel",{"_index":1186,"t":{"647":{"position":[[8408,4]]}}}],["fetch",{"_index":1112,"t":{"647":{"position":[[2910,5],[2964,5],[4075,5]]},"649":{"position":[[828,5]]},"790":{"position":[[385,5],[403,5],[932,5]]}}}],["few",{"_index":1169,"t":{"647":{"position":[[7673,3]]}}}],["ff",{"_index":1223,"t":{"649":{"position":[[937,2]]}}}],["fh",{"_index":329,"t":{"494":{"position":[[450,2],[504,2],[1685,2],[1739,2]]},"611":{"position":[[450,2],[504,2],[1685,2],[1739,2]]}}}],["file",{"_index":386,"t":{"494":{"position":[[2371,4]]},"611":{"position":[[2371,4]]},"645":{"position":[[523,5],[1076,5],[1599,5],[2383,5],[2644,5],[3474,5],[3591,5]]}}}],["filehandl",{"_index":330,"t":{"494":{"position":[[463,11],[1698,11]]},"611":{"position":[[463,11],[1698,11]]}}}],["fill",{"_index":869,"t":{"561":{"position":[[294,4]]}}}],["final",{"_index":644,"t":{"529":{"position":[[426,7]]},"546":{"position":[[276,7]]},"649":{"position":[[1518,7]]}}}],["find",{"_index":896,"t":{"571":{"position":[[239,4]]},"647":{"position":[[409,4],[7556,4],[9172,4]]}}}],["firm",{"_index":749,"t":{"546":{"position":[[613,4]]}}}],["first",{"_index":722,"t":{"546":{"position":[[66,5]]},"575":{"position":[[159,5],[510,5]]},"577":{"position":[[676,5]]},"645":{"position":[[297,5]]},"647":{"position":[[316,5]]},"649":{"position":[[37,5]]}}}],["five",{"_index":673,"t":{"535":{"position":[[39,4]]}}}],["fix",{"_index":1065,"t":{"647":{"position":[[253,5],[646,3],[707,5],[4902,3],[5087,3],[5115,3],[5123,3],[5433,3],[5504,3],[5883,3],[5939,3],[6214,3],[6262,3],[6290,3],[6343,3],[6351,3],[7032,3],[7900,3],[7937,3],[8183,3],[10632,5]]},"790":{"position":[[1324,3],[1422,3],[1450,3],[1458,3],[1618,3],[1671,3]]},"792":{"position":[[160,3],[182,3],[336,3],[363,3],[380,3],[414,3],[422,3]]},"814":{"position":[[299,3],[435,3]]}}}],["flask",{"_index":1854,"t":{"774":{"position":[[7,5],[348,5],[545,5]]}}}],["flow",{"_index":1017,"t":{"645":{"position":[[1637,4]]}}}],["focu",{"_index":723,"t":{"546":{"position":[[92,5],[482,5]]}}}],["follow",{"_index":874,"t":{"563":{"position":[[179,9]]},"579":{"position":[[203,9]]},"647":{"position":[[174,9],[2131,9],[7122,6]]}}}],["footer",{"_index":2123,"t":{"812":{"position":[[141,6]]},"814":{"position":[[112,6],[141,6],[787,6],[795,6],[838,6],[932,6]]}}}],["fork",{"_index":940,"t":{"575":{"position":[[516,4],[646,4],[694,6],[1072,5],[1095,4]]},"577":{"position":[[766,6]]},"645":{"position":[[315,4]]},"647":{"position":[[2618,4],[2634,4],[2719,4],[2815,4],[3007,4],[3149,4],[3255,4],[3341,4],[3429,4],[3513,6],[3593,4],[3754,4],[4261,4],[4712,4],[4834,4],[5685,4]]},"649":{"position":[[110,4]]},"790":{"position":[[228,4],[275,4],[291,4],[330,4],[425,4],[474,4],[513,4],[550,4],[589,4],[621,4],[646,4],[711,4],[1053,4],[1249,4],[1297,4]]},"792":{"position":[[55,4]]}}}],["form",{"_index":792,"t":{"548":{"position":[[814,4]]},"565":{"position":[[814,4]]},"583":{"position":[[879,4]]}}}],["format",{"_index":313,"t":{"494":{"position":[[165,6],[1400,6]]},"611":{"position":[[165,6],[1400,6]]}}}],["formul",{"_index":1212,"t":{"647":{"position":[[9671,9]]}}}],["forward",{"_index":752,"t":{"546":{"position":[[660,7]]},"678":{"position":[[126,7],[155,7]]},"710":{"position":[[832,9],[859,9],[1300,9],[1327,9],[1775,9],[1802,9]]},"712":{"position":[[572,9],[599,9],[1042,9],[1069,9],[1519,9],[1546,9]]}}}],["found",{"_index":903,"t":{"571":{"position":[[483,5]]},"647":{"position":[[8694,5]]}}}],["framework",{"_index":725,"t":{"546":{"position":[[129,9]]},"555":{"position":[[675,9]]},"581":{"position":[[47,9]]},"645":{"position":[[584,9]]}}}],["free",{"_index":1187,"t":{"647":{"position":[[8413,4]]}}}],["front",{"_index":1142,"t":{"647":{"position":[[5549,5]]}}}],["full",{"_index":1071,"t":{"647":{"position":[[516,4]]}}}],["function",{"_index":577,"t":{"518":{"position":[[371,8]]},"520":{"position":[[359,8]]},"550":{"position":[[371,8]]},"552":{"position":[[359,8]]},"555":{"position":[[211,8]]},"567":{"position":[[408,9]]},"569":{"position":[[396,9]]},"647":{"position":[[718,8],[876,8],[1042,8],[1355,9],[8351,9],[10642,8]]}}}],["futur",{"_index":720,"t":{"546":{"position":[[52,6],[740,6]]},"577":{"position":[[90,6]]},"647":{"position":[[5437,6]]},"649":{"position":[[456,6]]},"790":{"position":[[1622,6]]}}}],["gain",{"_index":1168,"t":{"647":{"position":[[7648,4],[7893,5]]}}}],["gatech",{"_index":708,"t":{"537":{"position":[[191,6]]}}}],["gener",{"_index":553,"t":{"518":{"position":[[49,10],[383,10],[453,10],[611,10]]},"520":{"position":[[37,10],[371,10],[441,10],[599,10]]},"522":{"position":[[223,10]]},"524":{"position":[[164,9]]},"527":{"position":[[103,8]]},"529":{"position":[[9,8],[54,8],[462,8]]},"531":{"position":[[9,8],[91,9],[399,9]]},"542":{"position":[[21,9]]},"550":{"position":[[49,10],[383,10],[453,10],[611,10]]},"552":{"position":[[37,10],[371,10],[441,10],[599,10]]},"559":{"position":[[70,9],[587,7],[875,8]]},"567":{"position":[[49,10],[599,10]]},"569":{"position":[[37,10],[587,10]]},"577":{"position":[[280,9]]},"645":{"position":[[507,8],[1043,8],[3458,8]]},"647":{"position":[[2076,8],[6195,8]]},"694":{"position":[[220,7]]}}}],["getlogg",{"_index":320,"t":{"494":{"position":[[254,9],[1489,9]]},"611":{"position":[[254,9],[1489,9]]}}}],["gg",{"_index":588,"t":{"518":{"position":[[831,2]]},"520":{"position":[[819,2]]},"550":{"position":[[831,2]]},"552":{"position":[[819,2]]},"561":{"position":[[380,2]]}}}],["git",{"_index":994,"t":{"645":{"position":[[281,3],[426,3],[436,3],[491,3],[678,3],[688,3],[728,3]]},"647":{"position":[[3697,3],[3728,3],[3782,3],[3842,3],[3948,3],[4008,3],[4071,3],[4162,3],[4277,3],[5067,3],[5095,3],[5486,3],[5508,3],[6129,3],[6177,3],[6242,3],[6323,3]]},"649":{"position":[[106,3],[500,3],[510,3],[542,3],[592,3],[616,3],[648,3],[668,3],[824,3],[898,3],[922,3],[1021,3],[1052,3]]},"790":{"position":[[683,3],[695,3],[722,3],[782,3],[838,3],[898,3],[928,3],[975,3],[1061,3],[1402,3],[1430,3],[1653,3],[1675,3]]},"792":{"position":[[254,3],[302,3],[343,3],[394,3]]},"850":{"position":[[0,3],[52,3]]},"852":{"position":[[82,3],[136,3],[168,3]]}}}],["gite",{"_index":218,"t":{"485":{"position":[[271,5]]},"487":{"position":[[267,5]]},"502":{"position":[[271,5]]},"504":{"position":[[267,5]]},"518":{"position":[[700,5]]},"520":{"position":[[688,5]]},"550":{"position":[[700,5]]},"552":{"position":[[688,5]]},"567":{"position":[[690,5]]},"569":{"position":[[678,5]]},"589":{"position":[[267,5]]},"605":{"position":[[267,5]]}}}],["github",{"_index":55,"t":{"465":{"position":[[221,6]]},"467":{"position":[[217,6]]},"485":{"position":[[227,6]]},"487":{"position":[[223,6]]},"500":{"position":[[80,6],[179,6],[289,6]]},"502":{"position":[[227,6]]},"504":{"position":[[223,6]]},"516":{"position":[[80,6],[179,6],[289,6]]},"518":{"position":[[644,6],[772,6]]},"520":{"position":[[632,6],[760,6]]},"548":{"position":[[343,6],[581,6],[877,6]]},"550":{"position":[[644,6],[772,6]]},"552":{"position":[[632,6],[760,6]]},"561":{"position":[[31,6],[162,6],[311,6]]},"565":{"position":[[343,6],[581,6],[877,6]]},"567":{"position":[[633,6],[762,6],[830,6]]},"569":{"position":[[621,6],[750,6],[818,6]]},"571":{"position":[[1408,6],[1476,6]]},"575":{"position":[[921,6]]},"577":{"position":[[255,6],[1044,6]]},"583":{"position":[[414,6],[649,6],[957,6]]},"589":{"position":[[223,6]]},"601":{"position":[[80,6],[179,6],[289,6]]},"605":{"position":[[223,6]]},"617":{"position":[[80,6],[179,6],[289,6]]},"621":{"position":[[217,6]]},"645":{"position":[[355,6],[440,6],[457,6],[692,6],[2840,6],[2979,6],[3190,6],[3347,6]]},"647":{"position":[[2527,6],[2652,6],[3800,6],[3817,6],[3980,6],[5473,6],[5732,6],[5808,6],[6147,6],[6926,6],[6940,6]]},"649":{"position":[[78,6],[514,6],[620,6],[1108,6]]},"656":{"position":[[5,6],[22,6],[73,6]]},"674":{"position":[[1,6],[18,6]]},"691":{"position":[[21,6]]},"706":{"position":[[21,6]]},"790":{"position":[[173,6],[247,6],[740,6],[757,6],[870,6],[1637,6]]},"792":{"position":[[67,6],[99,6],[272,6]]},"812":{"position":[[34,6]]},"822":{"position":[[36,6]]},"835":{"position":[[5,6],[22,6],[73,6]]},"852":{"position":[[140,6]]},"867":{"position":[[16,6]]},"873":{"position":[[5,6],[22,6],[73,6]]},"880":{"position":[[110,6],[287,6]]}}}],["githubid",{"_index":1146,"t":{"647":{"position":[[6159,8]]},"792":{"position":[[284,8]]}}}],["go",{"_index":2107,"t":{"807":{"position":[[352,2]]}}}],["gold",{"_index":674,"t":{"535":{"position":[[52,4]]}}}],["good",{"_index":989,"t":{"645":{"position":[[60,4]]},"807":{"position":[[492,4]]}}}],["gpt",{"_index":811,"t":{"555":{"position":[[103,3]]},"694":{"position":[[611,3],[627,3],[653,3],[661,3]]}}}],["gpt3",{"_index":596,"t":{"522":{"position":[[102,4]]}}}],["gpt4",{"_index":598,"t":{"522":{"position":[[110,4]]}}}],["graph",{"_index":628,"t":{"529":{"position":[[38,5],[76,5],[220,5],[256,5],[359,5],[446,5],[509,5]]},"533":{"position":[[36,5]]}}}],["graphic",{"_index":575,"t":{"518":{"position":[[347,8],[394,8],[464,8],[602,8]]},"520":{"position":[[335,8],[382,8],[452,8],[590,8]]},"522":{"position":[[238,8]]},"537":{"position":[[57,8]]},"542":{"position":[[31,8]]},"546":{"position":[[380,8]]},"550":{"position":[[347,8],[394,8],[464,8],[602,8]]},"552":{"position":[[335,8],[382,8],[452,8],[590,8]]},"555":{"position":[[278,7]]},"559":{"position":[[888,8]]},"567":{"position":[[372,8],[400,7],[447,7],[591,7]]},"569":{"position":[[360,8],[388,7],[435,7],[579,7]]}}}],["green",{"_index":676,"t":{"535":{"position":[[65,5]]}}}],["grep",{"_index":1286,"t":{"678":{"position":[[72,4]]},"716":{"position":[[121,4]]}}}],["grid",{"_index":630,"t":{"529":{"position":[[103,4]]}}}],["group",{"_index":586,"t":{"518":{"position":[[808,5]]},"520":{"position":[[796,5]]},"550":{"position":[[808,5]]},"552":{"position":[[796,5]]},"561":{"position":[[357,5]]},"571":{"position":[[1285,6]]},"647":{"position":[[4591,5],[9234,5],[9631,5]]}}}],["guid",{"_index":863,"t":{"561":{"position":[[198,5]]},"571":{"position":[[265,6],[310,6]]},"645":{"position":[[7,5]]},"647":{"position":[[13,5],[3173,5],[4748,5],[7241,5]]},"649":{"position":[[7,5]]}}}],["guidelin",{"_index":1062,"t":{"647":{"position":[[184,10],[5533,10],[6376,10],[6797,10],[10815,10],[10847,10],[10891,10]]}}}],["gz",{"_index":1248,"t":{"656":{"position":[[153,2]]},"658":{"position":[[52,2]]},"691":{"position":[[138,2],[182,2]]},"706":{"position":[[134,2]]},"825":{"position":[[32,2]]},"827":{"position":[[32,2]]},"829":{"position":[[32,2]]}}}],["h",{"_index":1262,"t":{"660":{"position":[[183,1]]}}}],["h192",{"_index":1349,"t":{"694":{"position":[[108,4]]}}}],["half",{"_index":1199,"t":{"647":{"position":[[9108,4]]}}}],["handler",{"_index":326,"t":{"494":{"position":[[312,7],[354,7],[411,7],[1547,7],[1589,7],[1646,7]]},"611":{"position":[[312,7],[354,7],[411,7],[1547,7],[1589,7],[1646,7]]}}}],["header",{"_index":1419,"t":{"710":{"position":[[668,6],[697,6],[738,6],[780,6],[823,6],[983,6],[1023,6],[1136,6],[1165,6],[1206,6],[1248,6],[1291,6],[1451,6],[1491,6],[1611,6],[1640,6],[1681,6],[1723,6],[1766,6],[1926,6],[1966,6]]},"712":{"position":[[408,6],[437,6],[478,6],[520,6],[563,6],[723,6],[763,6],[878,6],[907,6],[948,6],[990,6],[1033,6],[1193,6],[1233,6],[1355,6],[1384,6],[1425,6],[1467,6],[1510,6],[1670,6],[1710,6]]},"814":{"position":[[98,6],[122,6],[154,6],[162,6]]}}}],["helm",{"_index":1272,"t":{"666":{"position":[[34,4]]},"672":{"position":[[10,4],[16,4]]},"676":{"position":[[49,4],[62,4]]}}}],["help",{"_index":557,"t":{"518":{"position":[[94,4]]},"520":{"position":[[82,4]]},"548":{"position":[[992,4],[1113,4]]},"550":{"position":[[94,4]]},"552":{"position":[[82,4]]},"565":{"position":[[992,4],[1113,4]]},"567":{"position":[[94,4]]},"569":{"position":[[82,4]]},"571":{"position":[[680,4]]},"583":{"position":[[1072,4],[1193,4]]},"647":{"position":[[1425,7],[1615,7],[1853,7],[1962,4]]},"814":{"position":[[1060,4],[1107,4]]}}}],["helper",{"_index":794,"t":{"548":{"position":[[848,6]]},"565":{"position":[[848,6]]}}}],["here",{"_index":901,"t":{"571":{"position":[[429,4],[489,4]]},"575":{"position":[[566,4]]},"583":{"position":[[0,4]]}}}],["hgfdsa101",{"_index":883,"t":{"563":{"position":[[284,9]]}}}],["high",{"_index":1172,"t":{"647":{"position":[[7795,4],[8240,4]]}}}],["home",{"_index":1021,"t":{"645":{"position":[[1718,4],[1899,4],[2923,4],[3027,4],[3034,4],[3059,4],[3637,4]]},"772":{"position":[[291,4]]}}}],["homepag",{"_index":1026,"t":{"645":{"position":[[1907,8],[2728,8],[3119,8]]}}}],["hook",{"_index":1822,"t":{"772":{"position":[[338,4]]}}}],["hope",{"_index":971,"t":{"577":{"position":[[979,6]]}}}],["host",{"_index":544,"t":{"512":{"position":[[143,4]]},"597":{"position":[[143,4]]},"696":{"position":[[318,4]]},"710":{"position":[[675,4],[681,4],[1143,4],[1149,4],[1618,4],[1624,4]]},"712":{"position":[[215,4],[415,4],[421,4],[885,4],[891,4],[1362,4],[1368,4]]}}}],["hot",{"_index":662,"t":{"531":{"position":[[267,3]]}}}],["html",{"_index":710,"t":{"537":{"position":[[220,4]]},"645":{"position":[[2478,4],[2549,4]]},"710":{"position":[[577,4],[588,4],[2027,4],[2049,4],[2078,4]]},"712":{"position":[[309,4],[320,4],[1771,4],[1793,4],[1822,4]]}}}],["http",{"_index":54,"t":{"465":{"position":[[213,5]]},"467":{"position":[[209,5]]},"485":{"position":[[219,5],[263,5]]},"487":{"position":[[215,5],[259,5]]},"500":{"position":[[72,5],[171,5],[281,5]]},"502":{"position":[[219,5],[263,5]]},"504":{"position":[[215,5],[259,5]]},"516":{"position":[[72,5],[171,5],[281,5]]},"518":{"position":[[636,5],[692,5],[755,5],[815,5]]},"520":{"position":[[624,5],[680,5],[743,5],[803,5]]},"537":{"position":[[49,5],[172,5]]},"548":{"position":[[335,5],[573,5],[869,5]]},"550":{"position":[[636,5],[692,5],[755,5],[815,5]]},"552":{"position":[[624,5],[680,5],[743,5],[803,5]]},"561":{"position":[[23,5],[108,4],[145,5],[227,5],[303,5],[364,5]]},"565":{"position":[[335,5],[573,5],[869,5]]},"567":{"position":[[625,5],[682,5],[745,5],[822,5]]},"569":{"position":[[613,5],[670,5],[733,5],[810,5]]},"571":{"position":[[1391,5],[1468,5]]},"583":{"position":[[406,5],[641,5],[949,5]]},"589":{"position":[[215,5],[259,5]]},"601":{"position":[[72,5],[171,5],[281,5]]},"605":{"position":[[215,5],[259,5]]},"617":{"position":[[72,5],[171,5],[281,5]]},"621":{"position":[[209,5]]},"645":{"position":[[848,4],[973,4],[2962,5],[3173,5],[3339,5]]},"647":{"position":[[2519,5],[2644,5],[3792,5],[3972,5],[6139,5],[6913,5]]},"649":{"position":[[70,5]]},"656":{"position":[[14,5],[65,5]]},"660":{"position":[[39,5],[76,5],[122,4]]},"662":{"position":[[5,4]]},"674":{"position":[[10,5]]},"680":{"position":[[5,4]]},"691":{"position":[[13,5]]},"694":{"position":[[333,5],[370,5],[416,4]]},"703":{"position":[[7,4]]},"706":{"position":[[13,5]]},"710":{"position":[[49,4],[104,4],[160,4],[880,4],[999,4],[1348,4],[1467,4],[1823,4],[1942,4]]},"712":{"position":[[359,4],[620,4],[739,4],[830,4],[1090,4],[1209,4],[1300,4],[1567,4],[1686,4]]},"714":{"position":[[5,4]]},"758":{"position":[[43,4]]},"772":{"position":[[614,4]]},"790":{"position":[[165,5],[239,5],[732,5],[862,5]]},"792":{"position":[[264,5]]},"805":{"position":[[0,5]]},"822":{"position":[[28,5]]},"833":{"position":[[54,4]]},"835":{"position":[[14,5],[65,5]]},"867":{"position":[[8,5]]},"873":{"position":[[14,5],[65,5]]},"880":{"position":[[93,5],[279,5]]}}}],["http_upgrad",{"_index":1432,"t":{"710":{"position":[[999,12],[1467,12],[1942,12]]},"712":{"position":[[739,12],[1209,12],[1686,12]]}}}],["hub",{"_index":888,"t":{"571":{"position":[[41,3]]}}}],["hug",{"_index":813,"t":{"555":{"position":[[169,7]]}}}],["huggingfac",{"_index":2274,"t":{"886":{"position":[[41,11]]}}}],["human",{"_index":48,"t":{"465":{"position":[[178,5]]},"467":{"position":[[174,5]]},"485":{"position":[[178,5]]},"487":{"position":[[174,5]]},"502":{"position":[[178,5]]},"504":{"position":[[174,5]]},"518":{"position":[[530,5]]},"520":{"position":[[518,5]]},"550":{"position":[[530,5]]},"552":{"position":[[518,5]]},"567":{"position":[[517,5]]},"569":{"position":[[505,5]]},"589":{"position":[[174,5]]},"605":{"position":[[174,5]]},"621":{"position":[[174,5]]},"890":{"position":[[174,5]]},"894":{"position":[[40,5]]}}}],["huski",{"_index":1848,"t":{"772":{"position":[[816,5]]}}}],["hutter",{"_index":2099,"t":{"807":{"position":[[228,8]]}}}],["i18n",{"_index":1011,"t":{"645":{"position":[[1303,4]]}}}],["icon",{"_index":1580,"t":{"732":{"position":[[77,4]]}}}],["id",{"_index":340,"t":{"494":{"position":[[726,2],[770,2],[836,2],[871,2]]},"611":{"position":[[726,2],[770,2],[836,2],[871,2]]},"660":{"position":[[272,2],[278,2]]},"694":{"position":[[544,2]]},"730":{"position":[[0,2],[81,2],[91,2]]},"732":{"position":[[0,2]]},"734":{"position":[[0,2],[35,2],[44,2]]},"736":{"position":[[0,2],[24,2],[30,2]]},"738":{"position":[[0,2],[27,2],[35,2],[51,2],[59,2]]},"740":{"position":[[0,2],[24,2],[30,2],[51,2],[57,2]]},"742":{"position":[[0,2]]},"744":{"position":[[0,2]]},"746":{"position":[[0,2]]},"748":{"position":[[75,2],[157,2],[226,2],[338,2],[350,2],[414,2]]},"766":{"position":[[232,2],[295,2]]}}}],["ident",{"_index":348,"t":{"494":{"position":[[933,5],[996,5],[1932,5],[1995,5]]},"611":{"position":[[933,5],[996,5],[1932,5],[1995,5]]}}}],["identifi",{"_index":1179,"t":{"647":{"position":[[8094,10]]},"730":{"position":[[102,8]]}}}],["imag",{"_index":554,"t":{"518":{"position":[[60,6]]},"520":{"position":[[48,6]]},"550":{"position":[[60,6]]},"552":{"position":[[48,6]]},"567":{"position":[[60,6]]},"569":{"position":[[48,6]]},"645":{"position":[[2209,6],[2569,5]]},"742":{"position":[[50,5]]}}}],["img",{"_index":1027,"t":{"645":{"position":[[1930,3],[2265,3],[2322,4]]}}}],["implement",{"_index":886,"t":{"567":{"position":[[544,9]]},"569":{"position":[[532,9]]},"647":{"position":[[742,14],[936,14],[1024,9],[1289,11],[10666,14]]},"649":{"position":[[1364,14]]}}}],["import",{"_index":304,"t":{"494":{"position":[[18,6],[38,6],[62,6],[87,6],[106,6],[118,6],[130,6],[1253,6],[1273,6],[1297,6],[1322,6],[1341,6],[1353,6],[1365,6],[2339,6]]},"611":{"position":[[18,6],[38,6],[62,6],[87,6],[106,6],[118,6],[130,6],[1253,6],[1273,6],[1297,6],[1322,6],[1341,6],[1353,6],[1365,6],[2339,6]]}}}],["imposs",{"_index":1174,"t":{"647":{"position":[[7830,10]]}}}],["improv",{"_index":992,"t":{"645":{"position":[[143,7]]},"647":{"position":[[1381,8],[1652,12],[8109,11],[10730,12]]}}}],["includ",{"_index":562,"t":{"518":{"position":[[141,9]]},"520":{"position":[[129,9]]},"548":{"position":[[700,9]]},"550":{"position":[[141,9]]},"552":{"position":[[129,9]]},"563":{"position":[[146,9]]},"565":{"position":[[700,9]]},"567":{"position":[[167,8]]},"569":{"position":[[155,8]]},"571":{"position":[[295,9]]},"579":{"position":[[170,9]]},"583":{"position":[[768,9]]},"647":{"position":[[508,7],[952,9],[1822,9],[7255,8],[7310,8],[9726,9]]},"649":{"position":[[1346,9]]}}}],["independ",{"_index":825,"t":{"557":{"position":[[0,11]]},"559":{"position":[[279,11]]}}}],["index",{"_index":1022,"t":{"645":{"position":[[1731,5],[2472,5],[3105,5],[3273,5],[3284,5]]},"710":{"position":[[565,5],[571,5],[582,5]]},"712":{"position":[[297,5],[303,5],[314,5]]},"772":{"position":[[46,5]]}}}],["infiniteview",{"_index":1493,"t":{"722":{"position":[[282,12]]},"725":{"position":[[35,12]]}}}],["info",{"_index":323,"t":{"494":{"position":[[298,4],[379,4],[444,4],[738,4],[848,4],[957,4],[1533,4],[1614,4],[1679,4],[1956,4]]},"611":{"position":[[298,4],[379,4],[444,4],[738,4],[848,4],[957,4],[1533,4],[1614,4],[1679,4],[1956,4]]}}}],["inform",{"_index":891,"t":{"571":{"position":[[71,11],[547,11]]},"647":{"position":[[521,11],[4033,11]]}}}],["ingress",{"_index":1273,"t":{"666":{"position":[[46,7]]},"678":{"position":[[42,7],[77,7],[109,7]]},"680":{"position":[[12,7],[31,7]]}}}],["initi",{"_index":1151,"t":{"647":{"position":[[6413,8],[6834,8]]}}}],["innov",{"_index":569,"t":{"518":{"position":[[259,10]]},"520":{"position":[[247,10]]},"546":{"position":[[707,10]]},"550":{"position":[[259,10]]},"552":{"position":[[247,10]]},"567":{"position":[[284,10]]},"569":{"position":[[272,10]]}}}],["input",{"_index":615,"t":{"524":{"position":[[114,5],[141,5]]}}}],["insert",{"_index":1362,"t":{"694":{"position":[[509,6]]}}}],["instal",{"_index":382,"t":{"494":{"position":[[2308,7]]},"548":{"position":[[729,12]]},"565":{"position":[[729,12]]},"583":{"position":[[797,12]]},"611":{"position":[[2308,7]]},"645":{"position":[[618,7],[740,7],[751,7]]},"676":{"position":[[67,7]]},"698":{"position":[[127,7]]},"710":{"position":[[304,7]]},"712":{"position":[[42,7]]},"838":{"position":[[70,7]]},"875":{"position":[[39,7],[57,7]]},"877":{"position":[[39,7],[57,7]]}}}],["integr",{"_index":730,"t":{"546":{"position":[[226,9]]}}}],["intellig",{"_index":732,"t":{"546":{"position":[[255,12]]}}}],["interact",{"_index":604,"t":{"522":{"position":[[191,9]]},"529":{"position":[[486,11]]},"555":{"position":[[355,11]]}}}],["interfac",{"_index":1648,"t":{"753":{"position":[[369,9]]}}}],["intern",{"_index":1153,"t":{"647":{"position":[[6588,13]]}}}],["internation",{"_index":821,"t":{"555":{"position":[[401,20]]},"575":{"position":[[121,20]]},"645":{"position":[[1322,17]]}}}],["introduc",{"_index":912,"t":{"571":{"position":[[1099,11],[1258,11]]},"577":{"position":[[179,10]]},"647":{"position":[[8210,11]]}}}],["introduct",{"_index":838,"t":{"559":{"position":[[356,12],[936,12]]}}}],["io",{"_index":584,"t":{"518":{"position":[[779,2]]},"520":{"position":[[767,2]]},"550":{"position":[[779,2]]},"552":{"position":[[767,2]]},"561":{"position":[[169,2]]},"567":{"position":[[769,2]]},"569":{"position":[[757,2]]},"571":{"position":[[1415,2]]},"645":{"position":[[2986,2],[3197,2]]},"880":{"position":[[117,2]]}}}],["ip",{"_index":402,"t":{"496":{"position":[[24,2],[38,2]]},"498":{"position":[[42,2]]},"506":{"position":[[52,2],[64,2],[74,2]]},"508":{"position":[[8,2],[20,2],[30,2],[132,2],[183,2],[191,2]]},"512":{"position":[[305,2]]},"514":{"position":[[32,2]]},"591":{"position":[[52,2],[64,2],[74,2]]},"593":{"position":[[8,2],[20,2],[30,2],[132,2],[183,2],[191,2]]},"597":{"position":[[305,2]]},"599":{"position":[[32,2]]},"613":{"position":[[24,2],[38,2]]},"615":{"position":[[42,2]]},"660":{"position":[[129,2],[185,2]]},"680":{"position":[[20,2]]},"694":{"position":[[423,2]]},"710":{"position":[[195,2],[711,2],[1179,2],[1654,2]]},"712":{"position":[[451,2],[921,2],[1398,2]]},"714":{"position":[[92,2]]}}}],["ipaddr",{"_index":1403,"t":{"710":{"position":[[215,6]]},"714":{"position":[[20,6],[80,6]]}}}],["ipp",{"_index":1423,"t":{"710":{"position":[[752,3],[1220,3],[1695,3]]},"712":{"position":[[492,3],[962,3],[1439,3]]}}}],["issu",{"_index":479,"t":{"500":{"position":[[207,6],[317,6]]},"516":{"position":[[207,6],[317,6]]},"548":{"position":[[609,6],[905,6]]},"561":{"position":[[339,6]]},"565":{"position":[[609,6],[905,6]]},"573":{"position":[[62,6]]},"575":{"position":[[153,5],[261,6],[285,5],[366,5],[434,5]]},"577":{"position":[[237,6],[508,6],[524,6],[1026,6]]},"583":{"position":[[677,6],[985,6]]},"601":{"position":[[207,6],[317,6]]},"617":{"position":[[207,6],[317,6]]},"645":{"position":[[3375,6]]},"647":{"position":[[332,5],[458,5],[485,6],[659,6],[1134,5],[1220,6],[1311,6],[1410,5],[1462,6],[4616,5],[5377,5],[6359,5],[6476,6],[6499,5],[6645,5],[6705,5],[6754,5],[6966,6],[8087,6],[9718,6],[10698,5],[10830,5]]},"779":{"position":[[26,5],[56,5],[84,5],[157,5]]},"781":{"position":[[94,5],[153,5],[193,5]]},"783":{"position":[[5,5]]},"790":{"position":[[1204,5],[1588,5]]},"794":{"position":[[29,6],[36,5],[86,5],[95,5],[116,5]]},"801":{"position":[[305,5]]},"812":{"position":[[46,5],[129,5],[155,5]]},"814":{"position":[[220,5],[898,5],[920,5],[946,5],[962,5],[1157,6]]},"819":{"position":[[5,6]]},"858":{"position":[[0,5]]},"862":{"position":[[43,5]]},"864":{"position":[[0,5]]},"880":{"position":[[183,5],[223,5],[271,5],[315,6]]},"882":{"position":[[90,5]]},"900":{"position":[[24,5]]},"902":{"position":[[8,5]]},"906":{"position":[[77,5],[123,5]]},"921":{"position":[[10,5],[33,5]]}}}],["iter",{"_index":2180,"t":{"814":{"position":[[1208,9]]}}}],["jacktao007",{"_index":879,"t":{"563":{"position":[[244,10]]}}}],["java",{"_index":298,"t":{"492":{"position":[[279,4]]},"609":{"position":[[279,4]]},"686":{"position":[[0,4]]}}}],["javascript",{"_index":1844,"t":{"772":{"position":[[757,10]]}}}],["jdbc",{"_index":1370,"t":{"696":{"position":[[91,4]]}}}],["jdbcclient",{"_index":1771,"t":{"762":{"position":[[640,10]]}}}],["jdbcclientfactori",{"_index":1772,"t":{"762":{"position":[[651,17]]}}}],["jdbcclientmanag",{"_index":1766,"t":{"762":{"position":[[518,17]]}}}],["jdk1",{"_index":1310,"t":{"686":{"position":[[9,4]]}}}],["jdk8",{"_index":2238,"t":{"871":{"position":[[11,4]]}}}],["jest",{"_index":1846,"t":{"772":{"position":[[796,4]]}}}],["job",{"_index":1602,"t":{"738":{"position":[[18,3],[39,3]]},"748":{"position":[[178,3],[249,3],[284,3],[312,3],[326,3],[341,3],[369,3]]}}}],["job_element_id",{"_index":1603,"t":{"738":{"position":[[39,14]]},"748":{"position":[[326,14]]}}}],["job_page_id",{"_index":1601,"t":{"738":{"position":[[18,11]]},"748":{"position":[[341,11]]}}}],["jobcontrol",{"_index":1786,"t":{"766":{"position":[[188,13]]}}}],["jobel",{"_index":1728,"t":{"760":{"position":[[174,10]]}}}],["jobelementmapp",{"_index":1737,"t":{"760":{"position":[[328,16]]}}}],["jobelementpag",{"_index":1729,"t":{"760":{"position":[[186,14]]}}}],["jobelementpagemapp",{"_index":1738,"t":{"760":{"position":[[346,20]]}}}],["jobpag",{"_index":1730,"t":{"760":{"position":[[202,7]]}}}],["jobpagecontrol",{"_index":1788,"t":{"766":{"position":[[241,17]]}}}],["jobpagemapp",{"_index":1739,"t":{"760":{"position":[[368,13]]}}}],["jobpageserviceimpl",{"_index":1798,"t":{"766":{"position":[[715,18]]}}}],["jobserviceimpl",{"_index":1799,"t":{"766":{"position":[[734,14]]}}}],["join",{"_index":585,"t":{"518":{"position":[[799,4]]},"520":{"position":[[787,4]]},"550":{"position":[[799,4]]},"552":{"position":[[787,4]]},"561":{"position":[[348,4]]},"647":{"position":[[9478,4],[9596,4],[10243,4]]}}}],["joint",{"_index":918,"t":{"573":{"position":[[81,5]]}}}],["jointli",{"_index":972,"t":{"577":{"position":[[1054,7]]}}}],["js",{"_index":1020,"t":{"645":{"position":[[1695,2],[1974,2],[2454,2],[2529,2],[3279,2]]},"833":{"position":[[36,2]]}}}],["json",{"_index":310,"t":{"494":{"position":[[125,4],[1078,4],[1360,4],[2077,4]]},"611":{"position":[[125,4],[1078,4],[1360,4],[2077,4]]},"645":{"position":[[1359,4],[3051,4],[3266,4]]},"725":{"position":[[167,4]]},"727":{"position":[[89,4]]},"758":{"position":[[245,4],[259,4],[268,4],[281,4]]},"774":{"position":[[307,4]]}}}],["jsonschem",{"_index":1560,"t":{"727":{"position":[[284,9]]}}}],["jsonschema",{"_index":1520,"t":{"725":{"position":[[152,10],[206,10],[381,10]]},"727":{"position":[[2,10],[54,10],[103,10],[123,10],[143,10]]}}}],["jsonutil",{"_index":1709,"t":{"758":{"position":[[224,9]]}}}],["jsx",{"_index":1023,"t":{"645":{"position":[[1737,3]]}}}],["jump",{"_index":1056,"t":{"645":{"position":[[2812,6]]}}}],["jun",{"_index":1328,"t":{"691":{"position":[[225,3],[273,3],[331,3],[379,3],[430,3],[477,3]]}}}],["junit",{"_index":1138,"t":{"647":{"position":[[5311,5]]},"790":{"position":[[1544,5]]}}}],["jvm",{"_index":1299,"t":{"684":{"position":[[43,3]]}}}],["kernel",{"_index":302,"t":{"492":{"position":[[335,6]]},"609":{"position":[[335,6]]},"710":{"position":[[152,6],[1538,6],[1571,6],[1589,6]]},"712":{"position":[[1280,6],[1333,6]]},"774":{"position":[[60,6],[189,6]]}}}],["kernel_manag",{"_index":1857,"t":{"774":{"position":[[60,14]]}}}],["kernel_program",{"_index":1860,"t":{"774":{"position":[[189,14]]}}}],["key",{"_index":1585,"t":{"734":{"position":[[48,3]]},"748":{"position":[[150,3]]}}}],["kind",{"_index":1164,"t":{"647":{"position":[[7570,4]]}}}],["know",{"_index":1150,"t":{"647":{"position":[[6401,4],[6822,4]]}}}],["koi8",{"_index":1444,"t":{"712":{"position":[[180,4]]}}}],["kubectl",{"_index":1283,"t":{"678":{"position":[[10,7],[52,7],[142,7]]}}}],["kubernet",{"_index":1270,"t":{"666":{"position":[[15,10]]},"676":{"position":[[38,10]]}}}],["label",{"_index":689,"t":{"535":{"position":[[184,7]]},"647":{"position":[[6736,5]]},"730":{"position":[[172,6]]},"794":{"position":[[107,5]]}}}],["languag",{"_index":551,"t":{"518":{"position":[[29,8],[307,8],[434,8]]},"520":{"position":[[17,8],[295,8],[422,8]]},"550":{"position":[[29,8],[307,8],[434,8]]},"552":{"position":[[17,8],[295,8],[422,8]]},"567":{"position":[[29,8],[332,8],[455,8]]},"569":{"position":[[17,8],[320,8],[443,8]]},"577":{"position":[[395,8]]},"645":{"position":[[3041,9],[3256,9]]},"886":{"position":[[91,8]]}}}],["larg",{"_index":962,"t":{"577":{"position":[[389,5]]},"647":{"position":[[7982,5]]},"886":{"position":[[85,5]]}}}],["latest",{"_index":892,"t":{"571":{"position":[[87,6],[403,6],[1342,6]]},"647":{"position":[[2756,6],[3212,6],[4655,6],[4777,6]]},"805":{"position":[[37,6]]}}}],["launch",{"_index":1207,"t":{"647":{"position":[[9390,8]]}}}],["layer",{"_index":1475,"t":{"722":{"position":[[20,5],[140,5]]},"732":{"position":[[87,6]]}}}],["layout",{"_index":712,"t":{"542":{"position":[[11,6]]},"645":{"position":[[2226,7]]},"740":{"position":[[61,6]]}}}],["learn",{"_index":47,"t":{"465":{"position":[[169,8]]},"467":{"position":[[165,8]]},"485":{"position":[[169,8]]},"487":{"position":[[165,8]]},"502":{"position":[[169,8]]},"504":{"position":[[165,8]]},"518":{"position":[[521,8]]},"520":{"position":[[509,8]]},"550":{"position":[[521,8]]},"552":{"position":[[509,8]]},"567":{"position":[[508,8]]},"569":{"position":[[496,8]]},"589":{"position":[[165,8]]},"605":{"position":[[165,8]]},"621":{"position":[[165,8]]},"890":{"position":[[165,8]]},"894":{"position":[[31,8]]}}}],["led",{"_index":1201,"t":{"647":{"position":[[9130,3]]}}}],["legaci",{"_index":2207,"t":{"838":{"position":[[80,6]]}}}],["less",{"_index":1059,"t":{"645":{"position":[[3111,4],[3290,4]]}}}],["levelnam",{"_index":316,"t":{"494":{"position":[[189,9],[1424,9]]},"611":{"position":[[189,9],[1424,9]]}}}],["librari",{"_index":704,"t":{"537":{"position":[[132,7]]},"645":{"position":[[782,9]]}}}],["licens",{"_index":1337,"t":{"691":{"position":[[343,7],[392,8]]},"764":{"position":[[227,7]]}}}],["light",{"_index":677,"t":{"535":{"position":[[72,5],[85,5]]}}}],["limingoo",{"_index":882,"t":{"563":{"position":[[275,8]]},"579":{"position":[[279,8]]}}}],["limit",{"_index":785,"t":{"548":{"position":[[718,7]]},"563":{"position":[[164,7]]},"565":{"position":[[718,7]]},"579":{"position":[[188,7]]},"583":{"position":[[786,7],[891,7]]}}}],["line",{"_index":671,"t":{"533":{"position":[[23,4]]},"647":{"position":[[3709,4]]}}}],["lineno",{"_index":318,"t":{"494":{"position":[[213,6],[1448,6]]},"611":{"position":[[213,6],[1448,6]]}}}],["link",{"_index":305,"t":{"494":{"position":[[33,4],[508,4],[523,4],[528,4],[572,4],[671,4],[776,4],[877,4],[1207,4],[1268,4],[1743,4],[1758,4],[1763,4],[1807,4],[1877,4],[2218,4]]},"496":{"position":[[67,4],[134,4],[148,4],[181,4],[297,4],[414,4],[447,4]]},"539":{"position":[[32,4]]},"567":{"position":[[619,4],[676,4]]},"569":{"position":[[607,4],[664,4]]},"611":{"position":[[33,4],[508,4],[523,4],[528,4],[572,4],[671,4],[776,4],[877,4],[1207,4],[1268,4],[1743,4],[1758,4],[1763,4],[1807,4],[1877,4],[2218,4]]},"613":{"position":[[67,4],[134,4],[148,4],[181,4],[297,4],[414,4],[447,4]]}}}],["linki",{"_index":2079,"t":{"805":{"position":[[8,6]]}}}],["lint",{"_index":1849,"t":{"772":{"position":[[822,4]]}}}],["list",{"_index":778,"t":{"548":{"position":[[567,4]]},"559":{"position":[[16,4]]},"565":{"position":[[567,4]]},"583":{"position":[[635,4]]},"645":{"position":[[3300,4],[3688,4]]},"722":{"position":[[55,4],[127,4]]},"758":{"position":[[286,4]]}}}],["listen",{"_index":370,"t":{"494":{"position":[[1886,8]]},"496":{"position":[[76,8],[170,8]]},"508":{"position":[[107,8]]},"512":{"position":[[226,8]]},"593":{"position":[[107,8]]},"597":{"position":[[226,8]]},"611":{"position":[[1886,8]]},"613":{"position":[[76,8],[170,8]]},"710":{"position":[[471,6]]},"712":{"position":[[129,6]]},"827":{"position":[[100,8]]}}}],["lite",{"_index":1367,"t":{"694":{"position":[[695,4]]}}}],["littl",{"_index":793,"t":{"548":{"position":[[841,6]]},"565":{"position":[[841,6]]}}}],["llm",{"_index":963,"t":{"577":{"position":[[411,3]]}}}],["load",{"_index":705,"t":{"537":{"position":[[143,4]]}}}],["local",{"_index":996,"t":{"645":{"position":[[410,5],[672,5]]},"647":{"position":[[3776,5],[3862,5],[4156,5],[6204,5],[6280,5]]},"649":{"position":[[494,5],[881,5],[978,7],[1167,5]]}}}],["localhost",{"_index":446,"t":{"498":{"position":[[69,9]]},"512":{"position":[[110,9],[157,9]]},"514":{"position":[[45,9]]},"597":{"position":[[110,9],[157,9]]},"599":{"position":[[45,9]]},"615":{"position":[[69,9]]},"645":{"position":[[855,9],[980,9]]},"662":{"position":[[12,9]]},"696":{"position":[[104,9],[323,9]]},"703":{"position":[[14,9]]},"710":{"position":[[496,9]]},"712":{"position":[[160,9]]}}}],["locat",{"_index":895,"t":{"571":{"position":[[214,7]]},"645":{"position":[[3006,7],[3221,7]]},"647":{"position":[[614,6],[1695,7]]},"710":{"position":[[507,8],[596,8],[1052,8],[1520,8],[2033,8]]},"712":{"position":[[237,8],[328,8],[792,8],[1262,8],[1777,8]]}}}],["lodash",{"_index":1832,"t":{"772":{"position":[[621,6]]}}}],["log",{"_index":311,"t":{"494":{"position":[[137,7],[145,7],[246,7],[290,7],[322,7],[371,7],[436,7],[455,7],[480,3],[1372,7],[1380,7],[1481,7],[1525,7],[1557,7],[1606,7],[1671,7],[1690,7],[1715,3]]},"611":{"position":[[137,7],[145,7],[246,7],[290,7],[322,7],[371,7],[436,7],[455,7],[480,3],[1372,7],[1380,7],[1481,7],[1525,7],[1557,7],[1606,7],[1671,7],[1690,7],[1715,3]]},"647":{"position":[[7229,3]]},"710":{"position":[[389,3],[406,3],[416,3],[432,3]]},"712":{"position":[[196,3],[205,3],[227,3]]},"796":{"position":[[150,3]]},"807":{"position":[[107,3],[197,3]]},"814":{"position":[[69,3],[463,3]]}}}],["logger",{"_index":319,"t":{"494":{"position":[[237,6],[274,6],[385,6],[420,6],[486,6],[731,6],[841,6],[950,6],[1472,6],[1509,6],[1620,6],[1655,6],[1721,6],[1949,6]]},"611":{"position":[[237,6],[274,6],[385,6],[420,6],[486,6],[731,6],[841,6],[950,6],[1472,6],[1509,6],[1620,6],[1655,6],[1721,6],[1949,6]]}}}],["login",{"_index":819,"t":{"555":{"position":[[299,5]]},"772":{"position":[[272,5]]}}}],["logincontrol",{"_index":1789,"t":{"766":{"position":[[306,15]]}}}],["loginutil",{"_index":1713,"t":{"758":{"position":[[300,10]]}}}],["logo",{"_index":70,"t":{"471":{"position":[[7,4]]},"625":{"position":[[7,4]]},"645":{"position":[[2493,4]]},"647":{"position":[[5261,4]]}}}],["logout",{"_index":820,"t":{"555":{"position":[[311,6]]}}}],["longer",{"_index":955,"t":{"577":{"position":[[71,6]]}}}],["look",{"_index":751,"t":{"546":{"position":[[655,4]]}}}],["loop",{"_index":366,"t":{"494":{"position":[[1212,4],[2201,4],[2223,4]]},"611":{"position":[[1212,4],[2201,4],[2223,4]]}}}],["lost",{"_index":1117,"t":{"647":{"position":[[3676,4]]}}}],["lot",{"_index":1185,"t":{"647":{"position":[[8388,3],[8457,3]]}}}],["low",{"_index":1173,"t":{"647":{"position":[[7809,3]]}}}],["lowercas",{"_index":1031,"t":{"645":{"position":[[2029,9],[2394,9]]}}}],["m",{"_index":1224,"t":{"649":{"position":[[1033,1]]},"850":{"position":[[30,1]]}}}],["made",{"_index":1193,"t":{"647":{"position":[[8648,4]]}}}],["main",{"_index":373,"t":{"494":{"position":[[2196,4]]},"522":{"position":[[17,4]]},"575":{"position":[[176,4],[593,4],[954,4]]},"611":{"position":[[2196,4]]},"647":{"position":[[7908,4]]},"712":{"position":[[231,4]]}}}],["maintain",{"_index":956,"t":{"577":{"position":[[78,10],[129,10]]},"645":{"position":[[256,10]]}}}],["major",{"_index":1082,"t":{"647":{"position":[[1036,5]]}}}],["make",{"_index":941,"t":{"575":{"position":[[537,4],[816,4]]},"577":{"position":[[790,4]]},"647":{"position":[[8581,4]]}}}],["manag",{"_index":711,"t":{"542":{"position":[[0,6]]},"647":{"position":[[9711,6],[9775,6]]},"756":{"position":[[290,10]]},"774":{"position":[[67,7]]},"814":{"position":[[1135,8]]}}}],["mani",{"_index":1061,"t":{"647":{"position":[[84,4]]}}}],["manual",{"_index":616,"t":{"524":{"position":[[132,8]]}}}],["map",{"_index":637,"t":{"529":{"position":[[200,3],[373,3]]},"539":{"position":[[18,3]]},"758":{"position":[[291,3]]}}}],["mapper",{"_index":1744,"t":{"760":{"position":[[440,6],[561,6],[655,6]]}}}],["margin",{"_index":643,"t":{"529":{"position":[[417,7]]}}}],["market",{"_index":744,"t":{"546":{"position":[[534,6]]}}}],["master",{"_index":2236,"t":{"867":{"position":[[172,6]]}}}],["materi",{"_index":899,"t":{"571":{"position":[[284,9]]},"753":{"position":[[25,9]]}}}],["maven",{"_index":1652,"t":{"756":{"position":[[5,5],[238,5]]},"764":{"position":[[262,5],[405,5]]},"871":{"position":[[48,5],[80,5]]}}}],["md5",{"_index":1708,"t":{"758":{"position":[[215,3]]}}}],["mdfisher",{"_index":700,"t":{"537":{"position":[[80,8]]}}}],["mean",{"_index":1086,"t":{"647":{"position":[[1149,5]]}}}],["meaning",{"_index":1100,"t":{"647":{"position":[[2172,10]]}}}],["mechan",{"_index":1077,"t":{"647":{"position":[[835,9]]}}}],["meet",{"_index":738,"t":{"546":{"position":[[439,7]]},"647":{"position":[[8277,4]]}}}],["meetup",{"_index":2196,"t":{"819":{"position":[[449,6]]},"913":{"position":[[8,6]]}}}],["member",{"_index":908,"t":{"571":{"position":[[815,7],[1128,7]]},"647":{"position":[[9900,6],[9964,6],[10094,7],[10129,6],[10182,7],[10304,6],[10338,7]]},"858":{"position":[[53,6]]}}}],["menu",{"_index":926,"t":{"575":{"position":[[229,4]]}}}],["merg",{"_index":969,"t":{"577":{"position":[[884,5]]},"647":{"position":[[2974,5],[3634,6],[4990,6],[5050,6],[5409,6],[6039,6],[6099,6],[7359,6],[7502,6],[7739,6],[7847,6],[8735,7],[9053,6],[10358,5]]},"649":{"position":[[926,5],[1207,5],[1491,6]]},"790":{"position":[[413,5],[658,5],[1372,5]]},"792":{"position":[[219,5]]},"819":{"position":[[68,5],[230,5]]}}}],["mesh",{"_index":701,"t":{"537":{"position":[[94,6]]}}}],["messag",{"_index":307,"t":{"494":{"position":[[77,9],[225,7],[578,9],[598,9],[608,9],[940,7],[976,7],[1005,9],[1018,7],[1044,7],[1062,7],[1070,7],[1153,9],[1168,7],[1186,7],[1312,9],[1460,7],[1813,9],[1833,9],[1843,9],[1939,7],[1975,7],[2004,9],[2017,7],[2043,7],[2061,7],[2069,7],[2152,9],[2167,7],[2185,7]]},"611":{"position":[[77,9],[225,7],[578,9],[598,9],[608,9],[940,7],[976,7],[1005,9],[1018,7],[1044,7],[1062,7],[1070,7],[1153,9],[1168,7],[1186,7],[1312,9],[1460,7],[1813,9],[1833,9],[1843,9],[1939,7],[1975,7],[2004,9],[2017,7],[2043,7],[2061,7],[2069,7],[2152,9],[2167,7],[2185,7]]},"647":{"position":[[7210,7]]},"796":{"position":[[133,7]]},"805":{"position":[[89,7]]},"807":{"position":[[12,7],[148,7],[398,8],[453,7]]},"810":{"position":[[7,7]]},"812":{"position":[[19,7]]},"814":{"position":[[81,7],[1010,7],[1025,7],[1076,8]]},"816":{"position":[[24,7]]}}}],["metadataquerycontrol",{"_index":1791,"t":{"766":{"position":[[337,23]]}}}],["metadataqueryserviceimpl",{"_index":1800,"t":{"766":{"position":[[749,24]]}}}],["migrat",{"_index":824,"t":{"555":{"position":[[685,9]]}}}],["mirror",{"_index":580,"t":{"518":{"position":[[680,6]]},"520":{"position":[[668,6]]},"550":{"position":[[680,6]]},"552":{"position":[[668,6]]},"567":{"position":[[669,6]]},"569":{"position":[[657,6]]}}}],["mode",{"_index":1005,"t":{"645":{"position":[[890,4],[1015,4]]},"647":{"position":[[5007,4],[6056,4]]}}}],["model",{"_index":552,"t":{"518":{"position":[[38,6],[443,5]]},"520":{"position":[[26,6],[431,5]]},"522":{"position":[[46,5],[81,5],[127,5],[167,6],[210,5]]},"537":{"position":[[37,5],[165,5]]},"546":{"position":[[199,5],[268,6],[339,6]]},"550":{"position":[[38,6],[443,5]]},"552":{"position":[[26,6],[431,5]]},"555":{"position":[[112,5],[149,5]]},"559":{"position":[[727,5]]},"567":{"position":[[38,6],[464,5]]},"569":{"position":[[26,6],[452,5]]},"577":{"position":[[358,6],[404,5]]},"660":{"position":[[227,5]]},"694":{"position":[[255,5],[530,5]]},"710":{"position":[[96,6],[1070,6],[1103,6]]},"712":{"position":[[810,6]]},"886":{"position":[[77,5],[100,5]]}}}],["modelcontrol",{"_index":1793,"t":{"766":{"position":[[410,15]]}}}],["modelmanag",{"_index":1823,"t":{"772":{"position":[[362,12]]}}}],["modelserviceimpl",{"_index":1801,"t":{"766":{"position":[[774,16]]}}}],["modeltyp",{"_index":1731,"t":{"760":{"position":[[211,9]]}}}],["modeltypemapp",{"_index":1740,"t":{"760":{"position":[[383,15]]}}}],["modelui",{"_index":1388,"t":{"698":{"position":[[140,7]]},"710":{"position":[[1113,7],[1581,7]]},"712":{"position":[[855,7],[1325,7]]},"936":{"position":[[59,7],[110,7],[140,7]]}}}],["modif",{"_index":1053,"t":{"645":{"position":[[2699,12],[2856,12],[2933,12],[3144,12],[3310,12],[3624,12],[3647,12],[3670,12],[3698,12]]},"649":{"position":[[1458,12]]}}}],["modifi",{"_index":946,"t":{"575":{"position":[[750,6]]},"647":{"position":[[4938,6],[5972,6]]},"649":{"position":[[959,9],[1158,8]]}}}],["modul",{"_index":591,"t":{"522":{"position":[[22,7]]},"559":{"position":[[109,6]]},"645":{"position":[[2611,6],[2767,6]]}}}],["mongodb",{"_index":283,"t":{"492":{"position":[[167,7]]},"609":{"position":[[167,7]]}}}],["more",{"_index":754,"t":{"546":{"position":[[702,4]]},"647":{"position":[[7716,4],[9098,4]]}}}],["moveabl",{"_index":1494,"t":{"722":{"position":[[295,8]]},"725":{"position":[[73,8]]}}}],["mq",{"_index":223,"t":{"489":{"position":[[19,2]]},"492":{"position":[[95,2]]},"607":{"position":[[19,2]]},"609":{"position":[[95,2]]}}}],["much",{"_index":1167,"t":{"647":{"position":[[7643,4]]},"807":{"position":[[373,4]]}}}],["multipl",{"_index":843,"t":{"559":{"position":[[497,8]]}}}],["mutual",{"_index":907,"t":{"571":{"position":[[786,6]]}}}],["mvn",{"_index":2243,"t":{"875":{"position":[[26,3],[47,3]]},"877":{"position":[[26,3],[47,3]]}}}],["mybati",{"_index":1743,"t":{"760":{"position":[[432,7]]}}}],["mybatisplu",{"_index":1722,"t":{"760":{"position":[[78,11],[667,11]]}}}],["mynet",{"_index":395,"t":{"494":{"position":[[2515,5],[2559,5],[2600,5]]},"496":{"position":[[50,5]]},"611":{"position":[[2515,5],[2559,5],[2600,5]]},"613":{"position":[[50,5]]}}}],["mysql",{"_index":152,"t":{"479":{"position":[[46,5],[92,5]]},"483":{"position":[[194,5]]},"512":{"position":[[31,5],[42,5],[101,5],[148,5]]},"597":{"position":[[31,5],[42,5],[101,5],[148,5]]},"633":{"position":[[46,5],[92,5]]},"637":{"position":[[194,5]]},"660":{"position":[[169,5],[176,5]]},"694":{"position":[[64,5],[78,5],[92,5],[101,5],[485,5],[499,5],[791,5],[805,5]]},"696":{"position":[[96,5]]},"762":{"position":[[324,5],[505,5],[845,5],[891,5]]},"764":{"position":[[146,5]]},"774":{"position":[[15,5]]},"930":{"position":[[60,5],[115,5],[328,5]]},"934":{"position":[[329,5]]}}}],["mysql5",{"_index":1314,"t":{"688":{"position":[[0,6]]}}}],["mysqlclient",{"_index":1763,"t":{"762":{"position":[[286,11],[430,11]]}}}],["mysqlclientfactori",{"_index":1764,"t":{"762":{"position":[[377,18]]}}}],["mysqlconnectionfactori",{"_index":1765,"t":{"762":{"position":[[448,22]]}}}],["n",{"_index":1284,"t":{"678":{"position":[[28,1],[206,1]]},"875":{"position":[[37,1]]},"877":{"position":[[37,1]]}}}],["name",{"_index":317,"t":{"494":{"position":[[204,4],[266,4],[1439,4],[1501,4],[2537,4]]},"611":{"position":[[204,4],[266,4],[1439,4],[1501,4],[2537,4]]},"645":{"position":[[469,4],[2002,6],[2346,6],[2618,4],[3524,6],[3554,6]]},"647":{"position":[[4190,4],[4217,4],[4320,4],[5869,6],[6487,4],[7117,4],[7378,4]]},"649":{"position":[[577,5]]},"694":{"position":[[550,4],[563,4]]},"696":{"position":[[349,4]]},"710":{"position":[[491,4]]},"712":{"position":[[155,4]]},"730":{"position":[[26,4]]},"732":{"position":[[17,4]]},"734":{"position":[[56,4],[66,4]]},"736":{"position":[[34,4]]},"740":{"position":[[34,4]]},"742":{"position":[[19,4],[38,4]]},"744":{"position":[[19,4]]},"746":{"position":[[16,4],[45,4]]},"748":{"position":[[470,4]]},"790":{"position":[[1003,4],[1030,4],[1104,4]]}}}],["name_en",{"_index":1586,"t":{"734":{"position":[[66,7]]}}}],["natur",{"_index":572,"t":{"518":{"position":[[299,7]]},"520":{"position":[[287,7]]},"550":{"position":[[299,7]]},"552":{"position":[[287,7]]},"567":{"position":[[324,7]]},"569":{"position":[[312,7]]}}}],["need",{"_index":924,"t":{"575":{"position":[[67,4],[502,4]]},"645":{"position":[[307,4]]},"647":{"position":[[500,4],[696,4],[1278,4],[1370,4],[7449,4],[8288,5],[8572,5],[8637,4],[8753,5],[8869,5]]}}}],["network",{"_index":393,"t":{"494":{"position":[[2500,7],[2551,7],[2592,7]]},"611":{"position":[[2500,7],[2551,7],[2592,7]]}}}],["new",{"_index":927,"t":{"575":{"position":[[281,3],[430,3],[1031,3]]},"577":{"position":[[566,3]]},"647":{"position":[[872,3],[1260,3],[1549,3],[1623,3],[2367,3],[2435,3],[3100,3],[3292,3],[3380,3],[3466,3],[4112,3],[4179,3],[4206,3],[4238,3],[4309,3],[4898,3],[5931,3],[7041,3],[7264,3],[8222,3],[8716,3],[10540,3]]},"649":{"position":[[1128,3]]},"790":{"position":[[992,3],[1019,3],[1093,3]]},"867":{"position":[[53,3]]}}}],["new_branch_nam",{"_index":1127,"t":{"647":{"position":[[4179,15],[4206,15],[4309,15]]},"790":{"position":[[992,15],[1019,15],[1093,15]]}}}],["newbi",{"_index":777,"t":{"548":{"position":[[555,6]]},"565":{"position":[[555,6]]}}}],["newcom",{"_index":774,"t":{"548":{"position":[[501,9]]},"565":{"position":[[501,9]]},"583":{"position":[[574,9],[621,8]]}}}],["newli",{"_index":1222,"t":{"649":{"position":[[283,5]]}}}],["next",{"_index":1009,"t":{"645":{"position":[[1215,4]]}}}],["nginx",{"_index":1287,"t":{"678":{"position":[[85,5]]},"710":{"position":[[277,5],[327,5],[346,5],[372,5],[393,5],[420,5],[447,5],[2072,5]]},"712":{"position":[[8,5],[22,5],[50,5],[86,5],[209,5],[1816,5],[1934,5]]},"716":{"position":[[26,5],[63,5],[87,5],[101,5],[126,5],[134,5],[152,5],[173,5],[190,5]]},"719":{"position":[[13,5]]}}}],["ngrnu2mgeq",{"_index":589,"t":{"518":{"position":[[834,10]]},"520":{"position":[[822,10]]},"550":{"position":[[834,10]]},"552":{"position":[[822,10]]},"561":{"position":[[383,10]]}}}],["nich",{"_index":1181,"t":{"647":{"position":[[8282,5]]}}}],["nlp",{"_index":33,"t":{"465":{"position":[[100,3]]},"467":{"position":[[96,3]]},"485":{"position":[[100,3]]},"487":{"position":[[96,3]]},"502":{"position":[[100,3]]},"504":{"position":[[96,3]]},"518":{"position":[[328,3]]},"520":{"position":[[316,3]]},"550":{"position":[[328,3]]},"552":{"position":[[316,3]]},"567":{"position":[[353,3]]},"569":{"position":[[341,3]]},"589":{"position":[[96,3]]},"605":{"position":[[96,3]]},"621":{"position":[[96,3]]},"890":{"position":[[96,3]]},"892":{"position":[[124,3]]}}}],["node",{"_index":999,"t":{"645":{"position":[[561,4]]},"833":{"position":[[19,4],[31,4],[86,4]]}}}],["nodej",{"_index":297,"t":{"492":{"position":[[272,6]]},"609":{"position":[[272,6]]},"645":{"position":[[626,6]]},"833":{"position":[[61,6]]}}}],["nomenclatur",{"_index":1034,"t":{"645":{"position":[[2109,12]]}}}],["nomin",{"_index":1205,"t":{"647":{"position":[[9261,8]]}}}],["normal",{"_index":654,"t":{"531":{"position":[[117,6],[498,6]]}}}],["note",{"_index":954,"t":{"577":{"position":[[7,4]]},"647":{"position":[[8503,5]]},"819":{"position":[[371,5]]},"867":{"position":[[134,5]]}}}],["notic",{"_index":910,"t":{"571":{"position":[[927,6],[935,7]]},"645":{"position":[[27,6],[53,6]]},"647":{"position":[[10579,6]]},"649":{"position":[[1615,6]]},"691":{"position":[[442,6]]},"764":{"position":[[237,6]]}}}],["npm",{"_index":1001,"t":{"645":{"position":[[736,3],[797,3],[919,3],[1087,3]]},"712":{"position":[[1848,3]]},"838":{"position":[[66,3]]},"840":{"position":[[15,3]]}}}],["null",{"_index":1365,"t":{"694":{"position":[[632,4],[637,4],[642,4],[666,4],[671,4],[676,4],[711,4],[716,4],[721,4]]}}}],["number",{"_index":1176,"t":{"647":{"position":[[7988,6]]}}}],["nutsjian",{"_index":878,"t":{"563":{"position":[[235,8]]}}}],["obj",{"_index":702,"t":{"537":{"position":[[107,3]]}}}],["object",{"_index":1636,"t":{"753":{"position":[[137,6]]}}}],["offici",{"_index":582,"t":{"518":{"position":[[737,8]]},"520":{"position":[[725,8]]},"548":{"position":[[0,8]]},"550":{"position":[[737,8]]},"552":{"position":[[725,8]]},"555":{"position":[[383,8],[438,8],[488,8],[544,8],[596,8],[657,8]]},"559":{"position":[[376,8]]},"565":{"position":[[0,8]]},"567":{"position":[[727,8],[789,8]]},"569":{"position":[[715,8],[777,8]]},"571":{"position":[[12,8],[1373,8],[1435,8]]},"573":{"position":[[13,8]]},"575":{"position":[[95,8]]},"577":{"position":[[147,8],[202,8]]},"579":{"position":[[35,8]]},"583":{"position":[[73,8]]},"647":{"position":[[9218,8],[9605,8]]},"649":{"position":[[1563,8]]}}}],["offlin",{"_index":836,"t":{"559":{"position":[[226,7]]}}}],["on",{"_index":590,"t":{"522":{"position":[[0,3]]},"647":{"position":[[5062,3],[6111,3],[6566,3],[9143,3]]}}}],["on_connect",{"_index":337,"t":{"494":{"position":[[705,10],[781,10],[796,10]]},"611":{"position":[[705,10],[781,10],[796,10]]}}}],["on_disconnect",{"_index":342,"t":{"494":{"position":[[812,13],[882,13],[900,13]]},"611":{"position":[[812,13],[882,13],[900,13]]}}}],["on_message_recv",{"_index":352,"t":{"494":{"position":[[1015,15],[2014,15]]},"611":{"position":[[1015,15],[2014,15]]}}}],["on_recv",{"_index":345,"t":{"494":{"position":[[919,7],[1035,7],[1918,7],[2034,7]]},"611":{"position":[[919,7],[1035,7],[1918,7],[2034,7]]}}}],["onc",{"_index":1162,"t":{"647":{"position":[[7478,4],[8483,4]]}}}],["open",{"_index":782,"t":{"548":{"position":[[676,4]]},"559":{"position":[[450,4]]},"565":{"position":[[676,4]]},"575":{"position":[[1230,6]]},"583":{"position":[[744,4]]},"647":{"position":[[654,4],[1215,4],[1306,4],[3688,4],[6433,4],[6854,4]]}}}],["openai",{"_index":1256,"t":{"660":{"position":[[51,6],[66,6],[108,6]]},"694":{"position":[[345,6],[360,6],[402,6]]}}}],["openjdk",{"_index":2241,"t":{"871":{"position":[[32,7]]}}}],["oper",{"_index":900,"t":{"571":{"position":[[343,9]]},"647":{"position":[[1904,9]]}}}],["opt",{"_index":377,"t":{"494":{"position":[[2282,3]]},"611":{"position":[[2282,3]]},"710":{"position":[[526,3]]},"712":{"position":[[256,3],[1870,3]]}}}],["optim",{"_index":759,"t":{"548":{"position":[[71,10]]},"555":{"position":[[32,12],[286,12],[318,12],[459,12],[515,12],[567,12],[628,12]]},"565":{"position":[[71,10]]},"583":{"position":[[141,8]]},"814":{"position":[[1180,12]]}}}],["option",{"_index":1577,"t":{"732":{"position":[[48,6]]}}}],["oracl",{"_index":2239,"t":{"871":{"position":[[19,6]]}}}],["order",{"_index":876,"t":{"563":{"position":[[220,5]]},"579":{"position":[[251,5]]},"740":{"position":[[73,6]]}}}],["org",{"_index":2081,"t":{"805":{"position":[[22,3]]}}}],["organ",{"_index":1095,"t":{"647":{"position":[[1864,8]]}}}],["origin",{"_index":970,"t":{"577":{"position":[[912,8]]},"645":{"position":[[1582,8]]},"647":{"position":[[3648,8],[4301,6],[4949,8],[5104,6],[5998,8],[6332,6]]},"649":{"position":[[728,6],[911,6]]},"790":{"position":[[1085,6],[1439,6]]},"792":{"position":[[403,6]]},"850":{"position":[[61,6]]}}}],["other",{"_index":804,"t":{"548":{"position":[[1030,6]]},"565":{"position":[[1030,6]]},"583":{"position":[[1109,6]]},"647":{"position":[[1814,6],[10747,6]]}}}],["out",{"_index":769,"t":{"548":{"position":[[420,3]]},"565":{"position":[[420,3]]},"647":{"position":[[7561,3]]}}}],["overal",{"_index":741,"t":{"546":{"position":[[510,7]]}}}],["overview",{"_index":822,"t":{"555":{"position":[[506,8]]},"561":{"position":[[13,8]]}}}],["p",{"_index":1264,"t":{"660":{"position":[[197,1]]},"694":{"position":[[138,1]]}}}],["p3306",{"_index":1352,"t":{"694":{"position":[[124,5]]}}}],["packet",{"_index":306,"t":{"494":{"position":[[53,8],[535,8],[554,8],[563,8],[632,8],[1288,8],[1770,8],[1789,8],[1798,8],[1867,8]]},"611":{"position":[[53,8],[535,8],[554,8],[563,8],[632,8],[1288,8],[1770,8],[1789,8],[1798,8],[1867,8]]}}}],["page",{"_index":714,"t":{"542":{"position":[[63,5]]},"544":{"position":[[39,4],[56,4]]},"555":{"position":[[27,4],[86,4],[266,4],[305,4]]},"571":{"position":[[593,4],[846,4],[1000,4],[1094,4],[1146,4],[1246,4]]},"575":{"position":[[181,4],[379,4],[598,4],[959,4],[1237,4]]},"645":{"position":[[1704,5],[2686,4],[2774,4],[2790,5],[2869,4],[2896,4],[2928,4],[2957,4],[3021,5],[3064,4],[3139,4],[3168,4],[3236,5],[3305,4],[3334,4],[3611,4],[3642,4],[3665,4],[3693,4]]},"647":{"position":[[2860,4],[5480,4]]},"649":{"position":[[1115,4]]},"710":{"position":[[2001,4]]},"712":{"position":[[1745,4]]},"722":{"position":[[26,4],[146,4]]},"738":{"position":[[22,4]]},"748":{"position":[[261,4],[316,4],[345,4],[373,4]]}}}],["pagelistingresult",{"_index":1746,"t":{"760":{"position":[[465,17]]}}}],["paramet",{"_index":1571,"t":{"730":{"position":[[119,9]]}}}],["parent",{"_index":1607,"t":{"740":{"position":[[44,6]]},"756":{"position":[[216,6]]}}}],["parent_id",{"_index":1606,"t":{"740":{"position":[[44,9]]}}}],["particip",{"_index":761,"t":{"548":{"position":[[134,11],[276,11],[1047,11]]},"565":{"position":[[134,11],[276,11],[1047,11]]},"571":{"position":[[625,11],[1218,13]]},"577":{"position":[[435,13]]},"583":{"position":[[351,11],[1126,11]]},"647":{"position":[[48,11],[1832,13],[9640,11],[10433,11],[10525,11]]}}}],["particular",{"_index":875,"t":{"563":{"position":[[209,10]]},"579":{"position":[[240,10]]}}}],["partner",{"_index":915,"t":{"571":{"position":[[1199,8]]}}}],["pass",{"_index":1218,"t":{"647":{"position":[[10262,4]]},"696":{"position":[[378,4]]},"710":{"position":[[622,4],[1085,4],[1553,4]]},"712":{"position":[[354,4],[825,4],[1295,4]]}}}],["password",{"_index":1379,"t":{"696":{"position":[[224,8]]},"744":{"position":[[35,8]]}}}],["past",{"_index":1225,"t":{"649":{"position":[[1222,4]]}}}],["path",{"_index":1049,"t":{"645":{"position":[[2563,4],[3606,4]]}}}],["peer",{"_index":2208,"t":{"838":{"position":[[87,4]]}}}],["peopl",{"_index":558,"t":{"518":{"position":[[99,6]]},"520":{"position":[[87,6]]},"550":{"position":[[99,6]]},"552":{"position":[[87,6]]},"567":{"position":[[99,6]]},"569":{"position":[[87,6]]}}}],["percentag",{"_index":690,"t":{"535":{"position":[[228,10]]}}}],["perform",{"_index":1227,"t":{"649":{"position":[[1380,11]]}}}],["person",{"_index":1108,"t":{"647":{"position":[[2692,8]]}}}],["perspect",{"_index":840,"t":{"559":{"position":[[431,11]]}}}],["peter",{"_index":2098,"t":{"807":{"position":[[222,5]]}}}],["pictur",{"_index":1025,"t":{"645":{"position":[[1811,7],[1857,7],[1885,7],[1916,7],[1944,7]]}}}],["pie",{"_index":672,"t":{"535":{"position":[[11,3]]}}}],["piec",{"_index":2103,"t":{"807":{"position":[[273,5]]}}}],["pip",{"_index":381,"t":{"494":{"position":[[2304,3]]},"611":{"position":[[2304,3]]},"698":{"position":[[123,3]]}}}],["place",{"_index":1052,"t":{"645":{"position":[[2654,6]]}}}],["plan",{"_index":721,"t":{"546":{"position":[[59,5],[642,8]]},"647":{"position":[[1016,4],[9701,5]]}}}],["platform",{"_index":961,"t":{"577":{"position":[[328,8]]}}}],["pleas",{"_index":775,"t":{"548":{"position":[[538,6],[820,6]]},"565":{"position":[[538,6],[820,6]]},"577":{"position":[[0,6]]},"583":{"position":[[604,6],[900,6]]},"647":{"position":[[158,6],[1069,6],[2351,6],[5242,6],[5678,6],[6454,6],[6628,6],[6712,6],[6875,6],[7066,6],[7187,6],[8510,6],[8595,6]]}}}],["plot",{"_index":650,"t":{"531":{"position":[[31,4],[160,4],[390,4]]}}}],["plugin",{"_index":815,"t":{"555":{"position":[[189,6]]},"645":{"position":[[1381,6],[1418,6],[1465,6],[1511,6]]},"753":{"position":[[180,6]]},"762":{"position":[[26,6]]}}}],["plural",{"_index":1033,"t":{"645":{"position":[[2080,6],[2102,6],[2138,6]]}}}],["pmc",{"_index":1202,"t":{"647":{"position":[[9179,3],[9341,4],[9400,3]]},"801":{"position":[[104,3],[144,3],[173,3]]},"819":{"position":[[59,3],[77,3],[205,3],[239,3],[354,3],[443,3],[470,3]]},"843":{"position":[[4,3]]},"858":{"position":[[11,3],[49,3]]}}}],["png",{"_index":1046,"t":{"645":{"position":[[2498,3]]}}}],["pod",{"_index":1282,"t":{"678":{"position":[[4,3],[22,4]]}}}],["point",{"_index":632,"t":{"529":{"position":[[115,6]]},"531":{"position":[[75,6],[194,5],[418,6],[466,5]]}}}],["pollut",{"_index":1114,"t":{"647":{"position":[[3038,8]]}}}],["pom",{"_index":1653,"t":{"756":{"position":[[19,3],[75,3],[128,3],[389,3]]},"762":{"position":[[781,3]]}}}],["port",{"_index":1260,"t":{"660":{"position":[[132,4]]},"678":{"position":[[121,4],[150,4]]},"680":{"position":[[39,4]]},"694":{"position":[[426,4]]},"696":{"position":[[336,4]]},"710":{"position":[[251,4]]},"714":{"position":[[35,4],[50,4]]}}}],["portion",{"_index":682,"t":{"535":{"position":[[133,8],[247,7]]}}}],["posit",{"_index":1036,"t":{"645":{"position":[[2159,8],[2425,8]]},"738":{"position":[[63,8]]}}}],["possibl",{"_index":870,"t":{"563":{"position":[[43,8]]},"579":{"position":[[72,8]]},"647":{"position":[[7656,8],[7702,8]]},"807":{"position":[[381,8]]}}}],["pr",{"_index":463,"t":{"500":{"position":[[53,2]]},"516":{"position":[[53,2]]},"548":{"position":[[262,3]]},"565":{"position":[[262,3]]},"573":{"position":[[73,3],[106,3]]},"575":{"position":[[1220,2]]},"577":{"position":[[248,3],[519,3],[597,3],[661,2],[866,2],[1037,3]]},"583":{"position":[[337,3]]},"601":{"position":[[53,2]]},"617":{"position":[[53,2]]},"647":{"position":[[4334,2],[4984,2],[5162,2],[5273,2],[6033,2],[6424,2],[6782,2],[6845,2],[7082,2],[7103,2],[7252,2],[7327,2],[7337,2],[8688,2],[8774,2],[8829,2],[8890,2],[9023,2],[9836,3],[10364,3],[10876,2]]},"790":{"position":[[1119,2],[1357,2],[1482,2],[1506,2]]},"792":{"position":[[204,2]]},"794":{"position":[[17,2]]},"796":{"position":[[17,2],[65,2],[79,2],[162,2],[185,2],[195,2]]},"798":{"position":[[421,2],[450,2],[473,2],[494,2]]},"801":{"position":[[43,2],[362,2]]},"803":{"position":[[236,2]]},"819":{"position":[[28,2],[65,2],[83,2],[158,2],[227,2],[261,2]]},"904":{"position":[[35,2]]}}}],["practic",{"_index":791,"t":{"548":{"position":[[791,8]]},"565":{"position":[[791,8]]},"583":{"position":[[859,9]]}}}],["prefix",{"_index":1161,"t":{"647":{"position":[[7367,6]]}}}],["preleas",{"_index":2246,"t":{"877":{"position":[[89,8]]}}}],["prettier",{"_index":829,"t":{"559":{"position":[[30,8]]},"772":{"position":[[777,8]]}}}],["preview",{"_index":716,"t":{"544":{"position":[[21,7],[61,7]]},"555":{"position":[[53,7],[78,7]]},"645":{"position":[[495,7],[895,7],[1020,7],[3446,7]]}}}],["principl",{"_index":608,"t":{"524":{"position":[[4,9]]},"647":{"position":[[7133,9]]}}}],["print",{"_index":384,"t":{"494":{"position":[[2355,5],[2380,5]]},"611":{"position":[[2355,5],[2380,5]]}}}],["problem",{"_index":803,"t":{"548":{"position":[[1014,8]]},"559":{"position":[[543,7]]},"565":{"position":[[1014,8]]},"583":{"position":[[1094,8]]},"647":{"position":[[429,7],[6541,7],[8720,8],[8813,7]]}}}],["process",{"_index":573,"t":{"518":{"position":[[316,10],[546,7],[569,7]]},"520":{"position":[[304,10],[534,7],[557,7]]},"550":{"position":[[316,10],[546,7],[569,7]]},"552":{"position":[[304,10],[534,7],[557,7]]},"559":{"position":[[559,7]]},"567":{"position":[[341,10],[533,7],[558,7]]},"569":{"position":[[329,10],[521,7],[546,7]]},"647":{"position":[[792,7],[2017,7],[4337,7],[10770,7]]}}}],["product",{"_index":898,"t":{"571":{"position":[[253,7]]}}}],["program",{"_index":1861,"t":{"774":{"position":[[196,7]]}}}],["progress",{"_index":1131,"t":{"647":{"position":[[4435,8],[5178,8],[7409,8]]},"796":{"position":[[238,8]]}}}],["project",{"_index":570,"t":{"518":{"position":[[270,7],[623,7],[672,7]]},"520":{"position":[[258,7],[611,7],[660,7]]},"544":{"position":[[13,7]]},"550":{"position":[[270,7],[623,7],[672,7]]},"552":{"position":[[258,7],[611,7],[660,7]]},"555":{"position":[[45,7]]},"567":{"position":[[295,7],[611,7],[661,7],[806,7]]},"569":{"position":[[283,7],[599,7],[649,7],[794,7]]},"571":{"position":[[891,7],[1079,7],[1452,7]]},"573":{"position":[[30,7]]},"575":{"position":[[209,7],[245,7],[525,7],[626,7],[987,7]]},"577":{"position":[[57,7],[164,7],[921,7]]},"645":{"position":[[206,7],[245,7],[333,7],[1591,7],[3438,7]]},"647":{"position":[[63,7],[128,7],[1975,8],[2852,7],[5712,7],[6445,7],[6619,7],[6866,7],[9198,7],[9552,7],[9782,7],[10010,7],[10513,7]]},"736":{"position":[[16,7]]},"740":{"position":[[16,7]]},"742":{"position":[[30,7]]},"748":{"position":[[206,7],[218,7],[394,7],[406,7],[433,7]]},"760":{"position":[[222,7]]}}}],["project_id",{"_index":1598,"t":{"736":{"position":[[16,10]]},"740":{"position":[[16,10]]},"748":{"position":[[218,10],[406,10]]}}}],["project_nam",{"_index":1612,"t":{"742":{"position":[[30,12]]}}}],["projectcontrol",{"_index":1794,"t":{"766":{"position":[[442,17]]}}}],["projectlist",{"_index":1817,"t":{"772":{"position":[[194,11]]}}}],["projectmapp",{"_index":1741,"t":{"760":{"position":[[400,13]]}}}],["projectserviceimpl",{"_index":1802,"t":{"766":{"position":[[791,18]]}}}],["promot",{"_index":973,"t":{"577":{"position":[[1062,7]]},"647":{"position":[[906,7],[1177,7],[6602,9]]}}}],["prompt",{"_index":609,"t":{"524":{"position":[[17,6],[66,6],[194,6]]},"529":{"position":[[0,6],[45,6],[227,6],[453,6]]},"531":{"position":[[0,6],[138,6],[368,6]]},"533":{"position":[[0,6]]},"535":{"position":[[0,6]]},"537":{"position":[[0,6]]},"539":{"position":[[0,6]]},"559":{"position":[[595,6],[632,6],[696,7],[785,7],[813,6]]},"694":{"position":[[571,6]]},"746":{"position":[[57,6]]}}}],["properli",{"_index":1184,"t":{"647":{"position":[[8373,8]]}}}],["properti",{"_index":1662,"t":{"756":{"position":[[147,10]]}}}],["propos",{"_index":966,"t":{"577":{"position":[[558,7]]}}}],["prototyp",{"_index":959,"t":{"577":{"position":[[304,11]]}}}],["provid",{"_index":807,"t":{"548":{"position":[[1139,7]]},"555":{"position":[[197,7]]},"565":{"position":[[1139,7]]},"571":{"position":[[758,9]]},"575":{"position":[[1179,7]]},"581":{"position":[[37,9]]},"583":{"position":[[1219,7]]},"753":{"position":[[360,8]]}}}],["proxi",{"_index":812,"t":{"555":{"position":[[118,5],[155,5]]},"559":{"position":[[733,5]]},"710":{"position":[[616,5],[658,5],[687,5],[728,5],[770,5],[813,5],[847,5],[874,5],[898,5],[924,5],[949,5],[973,5],[1013,5],[1079,5],[1126,5],[1155,5],[1196,5],[1238,5],[1281,5],[1315,5],[1342,5],[1366,5],[1392,5],[1417,5],[1441,5],[1481,5],[1547,5],[1601,5],[1630,5],[1671,5],[1713,5],[1756,5],[1790,5],[1817,5],[1841,5],[1867,5],[1892,5],[1916,5],[1956,5]]},"712":{"position":[[348,5],[398,5],[427,5],[468,5],[510,5],[553,5],[587,5],[614,5],[638,5],[664,5],[689,5],[713,5],[753,5],[819,5],[868,5],[897,5],[938,5],[980,5],[1023,5],[1057,5],[1084,5],[1108,5],[1134,5],[1159,5],[1183,5],[1223,5],[1289,5],[1345,5],[1374,5],[1415,5],[1457,5],[1500,5],[1534,5],[1561,5],[1585,5],[1611,5],[1636,5],[1660,5],[1700,5]]},"719":{"position":[[48,5]]}}}],["proxy_add_x_forwarded_for",{"_index":1424,"t":{"710":{"position":[[847,25],[1315,25],[1790,25]]},"712":{"position":[[587,25],[1057,25],[1534,25]]}}}],["proxy_connect_timeout",{"_index":1426,"t":{"710":{"position":[[898,21],[1366,21],[1841,21]]},"712":{"position":[[638,21],[1108,21],[1585,21]]}}}],["proxy_http_vers",{"_index":1425,"t":{"710":{"position":[[874,18],[1342,18],[1817,18]]},"712":{"position":[[614,18],[1084,18],[1561,18]]}}}],["proxy_pass",{"_index":1417,"t":{"710":{"position":[[616,10],[1079,10],[1547,10]]},"712":{"position":[[348,10],[819,10],[1289,10]]}}}],["proxy_read_timeout",{"_index":1429,"t":{"710":{"position":[[924,18],[1392,18],[1867,18]]},"712":{"position":[[664,18],[1134,18],[1611,18]]},"719":{"position":[[48,18]]}}}],["proxy_send_timeout",{"_index":1430,"t":{"710":{"position":[[949,18],[1417,18],[1892,18]]},"712":{"position":[[689,18],[1159,18],[1636,18]]}}}],["proxy_set_head",{"_index":1418,"t":{"710":{"position":[[658,16],[687,16],[728,16],[770,16],[813,16],[973,16],[1013,16],[1126,16],[1155,16],[1196,16],[1238,16],[1281,16],[1441,16],[1481,16],[1601,16],[1630,16],[1671,16],[1713,16],[1756,16],[1916,16],[1956,16]]},"712":{"position":[[398,16],[427,16],[468,16],[510,16],[553,16],[713,16],[753,16],[868,16],[897,16],[938,16],[980,16],[1023,16],[1183,16],[1223,16],[1345,16],[1374,16],[1415,16],[1457,16],[1500,16],[1660,16],[1700,16]]}}}],["proxyview",{"_index":1537,"t":{"725":{"position":[[333,9]]}}}],["ps",{"_index":1459,"t":{"716":{"position":[[113,2]]}}}],["public",{"_index":613,"t":{"524":{"position":[[94,6]]},"548":{"position":[[1128,9]]},"565":{"position":[[1128,9]]},"583":{"position":[[1208,9]]}}}],["publish",{"_index":780,"t":{"548":{"position":[[641,7]]},"565":{"position":[[641,7]]},"583":{"position":[[709,7]]}}}],["pull",{"_index":937,"t":{"575":{"position":[[451,4],[484,4],[1003,4],[1035,4],[1164,4],[1262,4]]},"647":{"position":[[4889,4],[6117,4],[6768,4],[6898,4],[6977,4],[6997,4],[8670,4],[10862,4]]},"649":{"position":[[308,4],[1132,4],[1242,4]]},"796":{"position":[[29,4]]},"798":{"position":[[392,4]]},"812":{"position":[[55,4]]}}}],["purpl",{"_index":681,"t":{"535":{"position":[[101,6]]}}}],["push",{"_index":1129,"t":{"647":{"position":[[4229,4],[4281,4],[5099,4],[5512,4],[6271,4],[6327,4]]},"649":{"position":[[1056,4]]},"790":{"position":[[1065,4],[1434,4],[1679,4]]},"792":{"position":[[398,4]]},"850":{"position":[[56,4]]}}}],["put",{"_index":1166,"t":{"647":{"position":[[7616,3]]}}}],["py",{"_index":303,"t":{"494":{"position":[[15,2],[1250,2],[2433,2],[2634,2]]},"611":{"position":[[15,2],[1250,2],[2433,2],[2634,2]]}}}],["python",{"_index":227,"t":{"489":{"position":[[30,6]]},"492":{"position":[[21,6],[47,6],[192,6],[257,6]]},"494":{"position":[[2262,6],[2328,6],[2416,6],[2620,6]]},"607":{"position":[[30,6]]},"609":{"position":[[21,6],[47,6],[192,6],[257,6]]},"611":{"position":[[2262,6],[2328,6],[2416,6],[2620,6]]},"696":{"position":[[251,6]]},"698":{"position":[[93,6]]},"774":{"position":[[89,6],[123,6],[218,6],[244,6],[398,6],[638,6]]}}}],["q",{"_index":796,"t":{"548":{"position":[[925,1]]},"565":{"position":[[925,1]]},"583":{"position":[[1005,1]]},"645":{"position":[[1295,1]]}}}],["queryuserbynamepassword",{"_index":1752,"t":{"760":{"position":[[612,23]]}}}],["question",{"_index":799,"t":{"548":{"position":[[946,9]]},"565":{"position":[[946,9]]},"583":{"position":[[1026,9]]},"647":{"position":[[1449,9]]}}}],["queue",{"_index":1615,"t":{"744":{"position":[[89,5]]}}}],["quick",{"_index":861,"t":{"561":{"position":[[132,5],[204,5]]},"577":{"position":[[420,5]]},"888":{"position":[[0,5]]}}}],["quickli",{"_index":559,"t":{"518":{"position":[[106,7]]},"520":{"position":[[94,7]]},"550":{"position":[[106,7]]},"552":{"position":[[94,7]]},"567":{"position":[[106,7],[204,7]]},"569":{"position":[[94,7],[192,7]]},"647":{"position":[[606,7]]}}}],["r",{"_index":1333,"t":{"691":{"position":[[306,1],[309,1],[405,1],[408,1]]},"712":{"position":[[185,1]]}}}],["random",{"_index":658,"t":{"531":{"position":[[222,6]]}}}],["randomli",{"_index":652,"t":{"531":{"position":[[82,8]]}}}],["rang",{"_index":638,"t":{"529":{"position":[[277,5]]}}}],["rank",{"_index":974,"t":{"579":{"position":[[227,6]]}}}],["rapid",{"_index":564,"t":{"518":{"position":[[178,5]]},"520":{"position":[[166,5]]},"550":{"position":[[178,5]]},"552":{"position":[[166,5]]}}}],["rc",{"_index":2235,"t":{"867":{"position":[[167,2]]}}}],["rc1",{"_index":856,"t":{"561":{"position":[[86,3]]},"848":{"position":[[47,3]]},"850":{"position":[[25,3],[47,3],[82,3]]},"852":{"position":[[18,3],[109,3]]},"867":{"position":[[75,3]]}}}],["re",{"_index":935,"t":{"575":{"position":[[407,2]]},"647":{"position":[[3590,2]]},"807":{"position":[[240,2]]}}}],["react",{"_index":1806,"t":{"772":{"position":[[6,5],[653,5],[680,5],[703,5]]}}}],["read",{"_index":916,"t":{"571":{"position":[[1333,4]]},"647":{"position":[[165,4]]},"710":{"position":[[930,4],[1398,4],[1873,4]]},"712":{"position":[[670,4],[1140,4],[1617,4]]},"719":{"position":[[54,4]]}}}],["readi",{"_index":357,"t":{"494":{"position":[[1118,5]]},"611":{"position":[[1118,5]]},"647":{"position":[[7347,5]]}}}],["readm",{"_index":2303,"t":{"906":{"position":[[68,6]]}}}],["real",{"_index":1420,"t":{"710":{"position":[[706,4],[747,4],[1174,4],[1215,4],[1649,4],[1690,4]]},"712":{"position":[[446,4],[487,4],[916,4],[957,4],[1393,4],[1434,4]]}}}],["realiz",{"_index":576,"t":{"518":{"position":[[359,7],[557,7]]},"520":{"position":[[347,7],[545,7]]},"550":{"position":[[359,7],[557,7]]},"552":{"position":[[347,7],[545,7]]}}}],["realli",{"_index":1099,"t":{"647":{"position":[[2165,6]]}}}],["recogn",{"_index":1217,"t":{"647":{"position":[[10064,10]]}}}],["recommend",{"_index":1066,"t":{"647":{"position":[[263,9],[5832,9]]}}}],["record",{"_index":902,"t":{"571":{"position":[[457,7]]},"647":{"position":[[464,6],[5034,7],[6083,7]]}}}],["recv",{"_index":346,"t":{"494":{"position":[[922,4],[1026,4],[1038,4],[1921,4],[2025,4],[2037,4]]},"611":{"position":[[922,4],[1026,4],[1038,4],[1921,4],[2025,4],[2037,4]]}}}],["redi",{"_index":282,"t":{"492":{"position":[[161,5]]},"609":{"position":[[161,5]]}}}],["reduc",{"_index":1177,"t":{"647":{"position":[[8055,6]]},"807":{"position":[[358,8]]}}}],["refactor",{"_index":1076,"t":{"647":{"position":[[758,11],[889,11],[1055,11],[1394,10],[10682,11]]},"814":{"position":[[354,8],[492,8]]}}}],["refer",{"_index":611,"t":{"524":{"position":[[33,8]]},"548":{"position":[[315,9]]},"565":{"position":[[315,9]]},"583":{"position":[[386,9]]},"647":{"position":[[4735,5],[6461,5],[6743,9],[6882,5],[7194,5]]}}}],["regex",{"_index":1595,"t":{"734":{"position":[[189,5]]}}}],["reinforc",{"_index":46,"t":{"465":{"position":[[155,13]]},"467":{"position":[[151,13]]},"485":{"position":[[155,13]]},"487":{"position":[[151,13]]},"502":{"position":[[155,13]]},"504":{"position":[[151,13]]},"518":{"position":[[507,13]]},"520":{"position":[[495,13]]},"550":{"position":[[507,13]]},"552":{"position":[[495,13]]},"567":{"position":[[494,13]]},"569":{"position":[[482,13]]},"589":{"position":[[151,13]]},"605":{"position":[[151,13]]},"621":{"position":[[151,13]]},"890":{"position":[[151,13]]},"894":{"position":[[17,13]]}}}],["reject",{"_index":1175,"t":{"647":{"position":[[7866,8]]}}}],["relat",{"_index":781,"t":{"548":{"position":[[657,7]]},"557":{"position":[[23,7]]},"565":{"position":[[657,7]]},"571":{"position":[[276,7]]},"583":{"position":[[725,7]]},"647":{"position":[[994,7],[4601,7]]}}}],["releas",{"_index":854,"t":{"561":{"position":[[59,8],[72,7]]},"563":{"position":[[4,7]]},"571":{"position":[[435,8],[449,7],[528,7]]},"579":{"position":[[4,7]]},"645":{"position":[[1257,8]]},"647":{"position":[[2184,7],[2202,7],[2423,8],[2439,7],[9155,7],[10552,8]]},"649":{"position":[[343,7],[351,7],[378,7]]},"656":{"position":[[101,8]]},"691":{"position":[[49,8]]},"706":{"position":[[49,8]]},"764":{"position":[[194,7]]},"790":{"position":[[41,7],[56,7],[132,7]]},"814":{"position":[[1127,7]]},"819":{"position":[[363,7]]},"822":{"position":[[64,8]]},"835":{"position":[[101,8]]},"846":{"position":[[22,7],[53,7],[63,7],[110,7],[120,7]]},"848":{"position":[[33,7]]},"850":{"position":[[11,7],[33,7],[68,7]]},"852":{"position":[[4,7],[95,7]]},"867":{"position":[[44,8],[107,7],[126,7],[150,7]]},"873":{"position":[[101,8]]}}}],["release_vers",{"_index":2215,"t":{"846":{"position":[[22,15],[63,15],[120,15]]},"867":{"position":[[150,15]]}}}],["reload",{"_index":1454,"t":{"716":{"position":[[72,6]]}}}],["remot",{"_index":1123,"t":{"647":{"position":[[3931,6],[3952,6]]},"649":{"position":[[52,6],[201,6],[550,6],[596,6],[672,6],[771,6],[801,6],[855,6],[1083,6]]},"710":{"position":[[715,6],[757,6],[787,6],[800,6],[1183,6],[1225,6],[1255,6],[1268,6],[1658,6],[1700,6],[1730,6],[1743,6]]},"712":{"position":[[455,6],[497,6],[527,6],[540,6],[925,6],[967,6],[997,6],[1010,6],[1402,6],[1444,6],[1474,6],[1487,6]]},"790":{"position":[[842,6]]},"814":{"position":[[556,6]]}}}],["remote_addr",{"_index":1421,"t":{"710":{"position":[[715,11],[757,11],[787,11],[800,11],[1183,11],[1225,11],[1255,11],[1268,11],[1658,11],[1700,11],[1730,11],[1743,11]]},"712":{"position":[[455,11],[497,11],[527,11],[540,11],[925,11],[967,11],[997,11],[1010,11],[1402,11],[1444,11],[1474,11],[1487,11]]}}}],["remov",{"_index":842,"t":{"559":{"position":[[486,7]]}}}],["render",{"_index":660,"t":{"531":{"position":[[248,8]]},"645":{"position":[[2443,6]]}}}],["renderdom",{"_index":1047,"t":{"645":{"position":[[2519,9]]}}}],["repair",{"_index":1067,"t":{"647":{"position":[[308,6]]}}}],["report",{"_index":964,"t":{"577":{"position":[[543,6]]}}}],["repositori",{"_index":949,"t":{"575":{"position":[[928,10]]},"577":{"position":[[773,10]]},"645":{"position":[[285,10],[362,10]]},"647":{"position":[[3493,10],[3520,10],[3657,10],[4266,10],[5739,12],[5815,12]]},"649":{"position":[[59,10],[148,10],[208,10],[475,10],[557,10],[657,10],[714,12],[745,10],[778,10],[808,10],[862,10],[887,10],[1009,10],[1090,10]]},"792":{"position":[[74,12],[106,12]]}}}],["repres",{"_index":665,"t":{"531":{"position":[[312,9]]},"535":{"position":[[24,11]]}}}],["reproduc",{"_index":1072,"t":{"647":{"position":[[556,12]]}}}],["request",{"_index":938,"t":{"575":{"position":[[456,7],[489,7],[1008,8],[1040,7],[1169,7],[1267,7]]},"577":{"position":[[870,10]]},"647":{"position":[[6773,7],[6903,8],[6982,8],[7003,8],[7967,9],[8675,7],[10867,7]]},"649":{"position":[[313,7],[1137,7],[1247,7]]},"796":{"position":[[34,8]]},"798":{"position":[[397,7]]},"812":{"position":[[60,7]]}}}],["requir",{"_index":947,"t":{"575":{"position":[[825,8]]},"645":{"position":[[763,8]]},"734":{"position":[[129,7]]}}}],["research",{"_index":734,"t":{"546":{"position":[[316,8]]}}}],["resourc",{"_index":957,"t":{"577":{"position":[[111,9]]},"645":{"position":[[1067,8],[1113,9],[1570,8],[1826,8],[2374,8],[2554,8],[2575,9],[2847,8],[3582,8],[3597,8]]}}}],["respect",{"_index":688,"t":{"535":{"position":[[170,12]]},"571":{"position":[[793,7]]}}}],["rest",{"_index":1629,"t":{"751":{"position":[[36,7]]}}}],["restart",{"_index":1450,"t":{"712":{"position":[[1926,7]]}}}],["restor",{"_index":1197,"t":{"647":{"position":[[8878,7]]}}}],["result",{"_index":2109,"t":{"807":{"position":[[436,6]]}}}],["return",{"_index":950,"t":{"575":{"position":[[940,6]]}}}],["review",{"_index":1069,"t":{"647":{"position":[[418,6],[7460,8],[7513,6],[7601,6],[7772,8],[7879,6],[8494,8],[8744,8],[8860,8],[9829,6],[10906,6]]},"796":{"position":[[274,6]]},"798":{"position":[[22,6],[81,6],[127,6],[342,8],[437,8],[479,8]]},"801":{"position":[[368,6]]},"819":{"position":[[49,6],[195,6]]}}}],["right",{"_index":930,"t":{"575":{"position":[[312,5],[672,5]]},"647":{"position":[[9580,6],[10318,6]]}}}],["rip",{"_index":2175,"t":{"814":{"position":[[1033,3]]}}}],["rise",{"_index":550,"t":{"518":{"position":[[21,4]]},"520":{"position":[[9,4]]},"550":{"position":[[21,4]]},"552":{"position":[[9,4]]},"567":{"position":[[21,4]]},"569":{"position":[[9,4]]}}}],["risk",{"_index":1171,"t":{"647":{"position":[[7693,5],[7800,4],[8171,5]]}}}],["rlhf",{"_index":45,"t":{"465":{"position":[[149,4]]},"467":{"position":[[145,4]]},"485":{"position":[[149,4]]},"487":{"position":[[145,4]]},"502":{"position":[[149,4]]},"504":{"position":[[145,4]]},"518":{"position":[[501,4]]},"520":{"position":[[489,4]]},"550":{"position":[[501,4]]},"552":{"position":[[489,4]]},"567":{"position":[[488,4]]},"569":{"position":[[476,4]]},"589":{"position":[[145,4]]},"605":{"position":[[145,4]]},"621":{"position":[[145,4]]},"890":{"position":[[145,4]]},"894":{"position":[[11,4],[109,4]]}}}],["roadmap",{"_index":1219,"t":{"647":{"position":[[10464,7]]},"803":{"position":[[258,7]]}}}],["rocketmq",{"_index":2184,"t":{"816":{"position":[[49,8]]}}}],["root",{"_index":647,"t":{"529":{"position":[[575,4]]},"645":{"position":[[818,4],[943,4]]},"660":{"position":[[191,4]]},"691":{"position":[[210,4],[215,4],[258,4],[263,4],[315,4],[320,4],[364,4],[369,4],[414,4],[419,4],[462,4],[467,4]]},"696":{"position":[[219,4],[234,4],[370,4]]},"710":{"position":[[520,4],[2056,4]]},"712":{"position":[[250,4],[1800,4]]}}}],["rout",{"_index":1810,"t":{"772":{"position":[[101,6]]}}}],["router",{"_index":1838,"t":{"772":{"position":[[686,6]]}}}],["rpc",{"_index":308,"t":{"494":{"position":[[102,3],[1337,3]]},"611":{"position":[[102,3],[1337,3]]}}}],["rulerguid",{"_index":1492,"t":{"722":{"position":[[270,11]]},"725":{"position":[[15,11]]}}}],["run",{"_index":380,"t":{"494":{"position":[[2300,3],[2324,3],[2457,3],[2528,3],[2586,3]]},"611":{"position":[[2300,3],[2324,3],[2457,3],[2528,3],[2586,3]]},"645":{"position":[[732,3],[793,3],[801,3],[915,3],[923,3],[1083,3],[1091,3]]},"712":{"position":[[1852,3]]},"840":{"position":[[19,3]]}}}],["rw",{"_index":1332,"t":{"691":{"position":[[303,2],[402,2]]}}}],["s",{"_index":315,"t":{"494":{"position":[[184,1],[199,1],[209,1],[220,1],[233,1],[1419,1],[1434,1],[1444,1],[1455,1],[1468,1]]},"529":{"position":[[365,1],[602,1]]},"531":{"position":[[200,1]]},"559":{"position":[[484,1]]},"571":{"position":[[195,1],[968,1],[1278,1]]},"577":{"position":[[460,1]]},"611":{"position":[[184,1],[199,1],[209,1],[220,1],[233,1],[1419,1],[1434,1],[1444,1],[1455,1],[1468,1]]},"647":{"position":[[7024,1],[9578,1]]},"716":{"position":[[70,1]]}}}],["same",{"_index":1145,"t":{"647":{"position":[[5599,4],[5911,4]]}}}],["sampl",{"_index":2365,"t":{"934":{"position":[[406,6],[1090,6]]}}}],["sample_data",{"_index":2364,"t":{"934":{"position":[[406,11],[1090,11]]}}}],["satisfi",{"_index":1228,"t":{"649":{"position":[[1438,9]]}}}],["scatter",{"_index":649,"t":{"531":{"position":[[23,7],[152,7],[382,7]]}}}],["scenario",{"_index":1073,"t":{"647":{"position":[[569,9],[855,9],[3445,8]]}}}],["scene",{"_index":563,"t":{"518":{"position":[[166,6],[237,6]]},"520":{"position":[[154,6],[225,6]]},"542":{"position":[[52,6]]},"544":{"position":[[47,5]]},"550":{"position":[[166,6],[237,6]]},"552":{"position":[[154,6],[225,6]]},"555":{"position":[[17,5]]},"567":{"position":[[191,6],[262,6]]},"569":{"position":[[179,6],[250,6]]}}}],["scope",{"_index":1159,"t":{"647":{"position":[[7154,5]]},"734":{"position":[[118,5]]},"796":{"position":[[98,5]]},"814":{"position":[[192,5],[516,5],[522,5]]}}}],["script",{"_index":826,"t":{"557":{"position":[[31,7]]},"645":{"position":[[2177,7],[2255,7],[2292,6]]}}}],["sdk",{"_index":296,"t":{"492":{"position":[[264,3],[287,3]]},"609":{"position":[[264,3],[287,3]]}}}],["secondli",{"_index":729,"t":{"546":{"position":[[162,8]]}}}],["section",{"_index":894,"t":{"571":{"position":[[153,8]]}}}],["see",{"_index":1115,"t":{"647":{"position":[[3165,3]]}}}],["seek",{"_index":905,"t":{"571":{"position":[[675,4]]}}}],["select",{"_index":944,"t":{"575":{"position":[[710,6],[783,6]]},"577":{"position":[[692,6]]},"647":{"position":[[2866,6],[2957,6]]},"649":{"position":[[1147,6]]},"722":{"position":[[120,6]]},"934":{"position":[[378,6],[1042,6]]}}}],["selecto",{"_index":1495,"t":{"722":{"position":[[304,7]]},"725":{"position":[[103,7]]}}}],["self",{"_index":851,"t":{"559":{"position":[[820,4]]}}}],["semant",{"_index":1183,"t":{"647":{"position":[[8329,9]]}}}],["send",{"_index":364,"t":{"494":{"position":[[1163,4],[2162,4]]},"611":{"position":[[1163,4],[2162,4]]},"710":{"position":[[955,4],[1423,4],[1898,4]]},"712":{"position":[[695,4],[1165,4],[1642,4]]}}}],["send_messag",{"_index":363,"t":{"494":{"position":[[1163,12],[2162,12]]},"611":{"position":[[1163,12],[2162,12]]}}}],["sentenc",{"_index":606,"t":{"522":{"position":[[261,8]]},"559":{"position":[[911,8]]},"647":{"position":[[6570,8]]}}}],["separ",{"_index":993,"t":{"645":{"position":[[272,8],[2040,9],[2405,9]]},"647":{"position":[[5623,9]]}}}],["seri",{"_index":659,"t":{"531":{"position":[[229,6]]}}}],["serv",{"_index":727,"t":{"546":{"position":[[149,5]]},"571":{"position":[[29,6]]}}}],["server",{"_index":241,"t":{"489":{"position":[[115,6]]},"494":{"position":[[656,6],[1177,6],[1243,6],[1854,6],[1963,6],[2426,6],[2542,6]]},"496":{"position":[[60,6],[109,6],[140,6],[282,6],[346,6],[398,6]]},"508":{"position":[[116,6],[174,6]]},"512":{"position":[[235,6],[296,6]]},"593":{"position":[[116,6],[174,6]]},"597":{"position":[[235,6],[296,6]]},"607":{"position":[[115,6]]},"611":{"position":[[656,6],[1177,6],[1243,6],[1854,6],[1963,6],[2426,6],[2542,6]]},"613":{"position":[[60,6],[109,6],[140,6],[282,6],[346,6],[398,6]]},"691":{"position":[[295,6]]},"694":{"position":[[48,6],[469,6],[775,6]]},"696":{"position":[[30,6]]},"698":{"position":[[30,6]]},"710":{"position":[[462,6],[484,6]]},"712":{"position":[[120,6],[148,6]]},"814":{"position":[[549,6]]},"825":{"position":[[65,6]]}}}],["server_nam",{"_index":1413,"t":{"710":{"position":[[484,11]]},"712":{"position":[[148,11]]}}}],["servertimezon",{"_index":1376,"t":{"696":{"position":[[180,14]]}}}],["servic",{"_index":1645,"t":{"753":{"position":[[312,7],[352,7]]},"766":{"position":[[522,7],[530,7],[654,7],[835,7]]},"772":{"position":[[549,7]]}}}],["set",{"_index":640,"t":{"529":{"position":[[351,3],[395,3]]},"647":{"position":[[4288,3]]},"660":{"position":[[238,3]]},"694":{"position":[[190,3]]},"710":{"position":[[664,3],[693,3],[734,3],[776,3],[819,3],[979,3],[1019,3],[1132,3],[1161,3],[1202,3],[1244,3],[1287,3],[1447,3],[1487,3],[1607,3],[1636,3],[1677,3],[1719,3],[1762,3],[1922,3],[1962,3]]},"712":{"position":[[404,3],[433,3],[474,3],[516,3],[559,3],[719,3],[759,3],[874,3],[903,3],[944,3],[986,3],[1029,3],[1189,3],[1229,3],[1351,3],[1380,3],[1421,3],[1463,3],[1506,3],[1666,3],[1706,3]]},"790":{"position":[[1072,3]]}}}],["setlevel",{"_index":322,"t":{"494":{"position":[[281,8],[362,8],[427,8],[1516,8],[1597,8],[1662,8]]},"611":{"position":[[281,8],[362,8],[427,8],[1516,8],[1597,8],[1662,8]]}}}],["sever",{"_index":893,"t":{"571":{"position":[[145,7]]}}}],["sh",{"_index":1385,"t":{"698":{"position":[[44,2],[57,2],[67,2],[79,2]]},"710":{"position":[[17,2],[301,2],[312,2]]},"714":{"position":[[62,2]]}}}],["shanghai",{"_index":1378,"t":{"696":{"position":[[200,8]]}}}],["share",{"_index":800,"t":{"548":{"position":[[974,5]]},"565":{"position":[[974,5]]},"571":{"position":[[653,5]]},"583":{"position":[[1054,5]]},"647":{"position":[[5589,5]]},"710":{"position":[[2066,5]]},"712":{"position":[[1810,5]]}}}],["show",{"_index":1092,"t":{"647":{"position":[[1589,4]]},"807":{"position":[[461,5]]}}}],["showcas",{"_index":913,"t":{"571":{"position":[[1151,10]]}}}],["shown",{"_index":748,"t":{"546":{"position":[[605,5]]}}}],["side",{"_index":1170,"t":{"647":{"position":[[7677,4],[8154,4]]}}}],["signup",{"_index":1044,"t":{"645":{"position":[[2459,6]]}}}],["simpl",{"_index":626,"t":{"529":{"position":[[20,6]]},"548":{"position":[[424,6]]},"565":{"position":[[424,6]]},"583":{"position":[[497,6]]},"647":{"position":[[8004,6]]}}}],["simpli",{"_index":1165,"t":{"647":{"position":[[7609,6]]}}}],["sine",{"_index":634,"t":{"529":{"position":[[149,4],[324,4],[556,4]]}}}],["singl",{"_index":605,"t":{"522":{"position":[[254,6]]},"559":{"position":[[904,6]]}}}],["site",{"_index":1006,"t":{"645":{"position":[[910,4],[1035,4]]}}}],["situat",{"_index":718,"t":{"546":{"position":[[9,9]]}}}],["size",{"_index":642,"t":{"529":{"position":[[408,4]]},"531":{"position":[[428,4]]},"535":{"position":[[120,5]]},"647":{"position":[[8082,4]]}}}],["ski",{"_index":679,"t":{"535":{"position":[[91,3]]}}}],["skip",{"_index":2245,"t":{"875":{"position":[[78,4]]},"877":{"position":[[78,4]]}}}],["sleep",{"_index":367,"t":{"494":{"position":[[1224,5],[2235,5]]},"611":{"position":[[1224,5],[2235,5]]}}}],["snakemq",{"_index":219,"t":{"489":{"position":[[0,7],[85,7]]},"492":{"position":[[11,7],[71,7],[183,7],[346,7]]},"494":{"position":[[0,7],[25,7],[45,7],[69,7],[94,7],[515,7],[546,7],[590,7],[1054,7],[1235,7],[1260,7],[1280,7],[1304,7],[1329,7],[1750,7],[1781,7],[1825,7],[2053,7],[2316,7],[2346,7],[2361,7],[2390,7]]},"496":{"position":[[3,7],[119,7],[384,7],[459,7],[549,7],[578,7],[595,7]]},"498":{"position":[[4,7]]},"508":{"position":[[68,7],[99,7],[155,7]]},"512":{"position":[[187,7],[218,7],[277,7]]},"559":{"position":[[173,7]]},"593":{"position":[[68,7],[99,7],[155,7]]},"597":{"position":[[187,7],[218,7],[277,7]]},"607":{"position":[[0,7],[85,7]]},"609":{"position":[[11,7],[71,7],[183,7],[346,7]]},"611":{"position":[[0,7],[25,7],[45,7],[69,7],[94,7],[515,7],[546,7],[590,7],[1054,7],[1235,7],[1260,7],[1280,7],[1304,7],[1329,7],[1750,7],[1781,7],[1825,7],[2053,7],[2316,7],[2346,7],[2361,7],[2390,7]]},"613":{"position":[[3,7],[119,7],[384,7],[459,7],[549,7],[578,7],[595,7]]},"615":{"position":[[4,7]]},"774":{"position":[[259,7],[319,7],[624,7]]},"827":{"position":[[92,7],[117,7]]}}}],["snakemq_connector",{"_index":528,"t":{"508":{"position":[[155,17]]},"512":{"position":[[277,17]]},"593":{"position":[[155,17]]},"597":{"position":[[277,17]]},"827":{"position":[[117,17]]}}}],["snakemq_listen",{"_index":527,"t":{"508":{"position":[[99,16]]},"512":{"position":[[218,16]]},"593":{"position":[[99,16]]},"597":{"position":[[218,16]]},"827":{"position":[[92,16]]}}}],["snaketmq",{"_index":378,"t":{"494":{"position":[[2286,8],[2477,8],[2565,8],[2606,8]]},"611":{"position":[[2286,8],[2477,8],[2565,8],[2606,8]]}}}],["softwar",{"_index":991,"t":{"645":{"position":[[107,8]]}}}],["solid",{"_index":58,"t":{"469":{"position":[[8,5]]},"623":{"position":[[8,5]]}}}],["solideditor",{"_index":1479,"t":{"722":{"position":[[61,11],[212,11]]},"725":{"position":[[0,11]]},"727":{"position":[[237,11]]}}}],["solidshowengin",{"_index":1538,"t":{"725":{"position":[[360,15]]}}}],["solidui",{"_index":8,"t":{"465":{"position":[[20,7],[73,7],[138,7],[241,7]]},"467":{"position":[[16,7],[69,7],[134,7],[237,7]]},"469":{"position":[[0,7]]},"485":{"position":[[20,7],[73,7],[138,7],[247,7],[290,7]]},"487":{"position":[[16,7],[69,7],[134,7],[243,7],[286,7]]},"489":{"position":[[52,7]]},"492":{"position":[[292,7]]},"498":{"position":[[18,7],[92,7]]},"500":{"position":[[100,7],[199,7],[224,7],[309,7]]},"502":{"position":[[20,7],[73,7],[138,7],[247,7],[290,7]]},"504":{"position":[[16,7],[69,7],[134,7],[243,7],[286,7]]},"512":{"position":[[50,7]]},"514":{"position":[[68,7]]},"516":{"position":[[100,7],[199,7],[224,7],[309,7]]},"518":{"position":[[78,7],[245,7],[484,7],[664,7],[719,7],[782,7]]},"520":{"position":[[66,7],[233,7],[472,7],[652,7],[707,7],[770,7]]},"522":{"position":[[33,7]]},"524":{"position":[[86,7]]},"546":{"position":[[24,7],[403,7],[583,7],[675,7]]},"548":{"position":[[363,7],[601,7],[668,7],[897,7]]},"550":{"position":[[78,7],[245,7],[484,7],[664,7],[719,7],[782,7]]},"552":{"position":[[66,7],[233,7],[472,7],[652,7],[707,7],[770,7]]},"559":{"position":[[59,7],[153,7],[259,7],[336,7],[393,7],[519,7],[567,7],[612,7],[646,7],[704,7],[739,7],[793,7],[837,7],[865,7]]},"561":{"position":[[51,7],[119,7],[172,7],[331,7]]},"563":{"position":[[15,7],[86,7]]},"565":{"position":[[363,7],[601,7],[668,7],[897,7]]},"567":{"position":[[78,7],[270,7],[471,7],[653,7],[709,7],[772,7],[850,7]]},"569":{"position":[[66,7],[258,7],[459,7],[641,7],[697,7],[760,7],[838,7]]},"571":{"position":[[4,7],[108,7],[187,7],[421,7],[468,7],[601,7],[739,7],[960,7],[1071,7],[1115,7],[1162,7],[1270,7],[1303,7],[1364,7],[1418,7],[1496,7]]},"575":{"position":[[193,7],[610,7],[971,7]]},"577":{"position":[[21,7],[194,7],[263,7],[452,7],[956,7],[1089,7]]},"579":{"position":[[19,7],[113,7]]},"583":{"position":[[40,7],[434,7],[669,7],[736,7],[977,7]]},"589":{"position":[[16,7],[69,7],[134,7],[243,7],[286,7]]},"597":{"position":[[50,7]]},"599":{"position":[[68,7]]},"601":{"position":[[100,7],[199,7],[224,7],[309,7]]},"605":{"position":[[16,7],[69,7],[134,7],[243,7],[286,7]]},"607":{"position":[[52,7]]},"609":{"position":[[292,7]]},"615":{"position":[[18,7],[92,7]]},"617":{"position":[[100,7],[199,7],[224,7],[309,7]]},"621":{"position":[[16,7],[69,7],[134,7],[237,7]]},"623":{"position":[[0,7]]},"645":{"position":[[155,7],[237,7],[475,7],[712,7],[2989,7],[3200,7],[3367,7]]},"647":{"position":[[120,7],[1513,7],[1670,7],[1706,7],[1801,7],[1967,7],[2052,7],[2547,7],[2559,7],[2672,7],[3834,7],[3891,7],[4000,7],[5332,7],[5581,7],[5704,7],[5778,7],[6169,7],[9029,7],[9190,7],[9544,7],[9681,7],[10002,7],[10143,7],[10286,7],[10505,7]]},"649":{"position":[[98,7],[534,7],[640,7],[1587,7]]},"656":{"position":[[42,7],[93,7],[131,7]]},"658":{"position":[[30,7],[58,7]]},"660":{"position":[[203,7],[219,7]]},"674":{"position":[[38,7]]},"676":{"position":[[23,7],[54,7],[75,7]]},"678":{"position":[[30,7],[167,7],[208,7]]},"684":{"position":[[8,7]]},"691":{"position":[[41,7],[82,7],[116,7],[160,7],[490,7]]},"694":{"position":[[21,7],[70,7],[164,7],[247,7],[442,7],[491,7],[522,7],[748,7],[797,7]]},"696":{"position":[[3,7],[119,7],[265,7],[354,7],[383,7]]},"698":{"position":[[3,7],[105,7]]},"706":{"position":[[41,7],[82,7],[112,7],[146,7],[160,7]]},"710":{"position":[[23,7],[36,7],[84,7],[140,7],[207,7],[243,7],[319,7],[359,7],[439,7],[530,7],[538,7],[606,7],[628,7],[646,7],[1062,7],[1091,7],[1530,7],[1559,7]]},"712":{"position":[[99,7],[260,7],[268,7],[338,7],[385,7],[802,7],[1272,7],[1874,7],[1882,7]]},"714":{"position":[[12,7],[27,7],[42,7],[72,7]]},"716":{"position":[[39,7],[203,7]]},"719":{"position":[[26,7]]},"748":{"position":[[4,7],[32,7],[89,7],[126,7],[170,7],[198,7],[241,7],[276,7],[304,7],[361,7],[386,7],[425,7],[447,7]]},"753":{"position":[[0,7],[69,7],[108,7],[161,7],[226,7],[256,7],[304,7],[335,7],[397,7]]},"756":{"position":[[90,7],[115,7]]},"760":{"position":[[7,7]]},"762":{"position":[[7,7],[793,7],[826,7],[851,7]]},"764":{"position":[[7,7],[117,7],[134,7]]},"766":{"position":[[7,7]]},"772":{"position":[[503,7],[520,7]]},"776":{"position":[[7,7]]},"783":{"position":[[20,7]]},"785":{"position":[[0,7],[12,7],[39,7]]},"787":{"position":[[29,7]]},"790":{"position":[[0,7],[193,7],[201,7],[267,7],[774,7],[804,7],[890,7],[1565,7]]},"792":{"position":[[0,7],[44,7],[122,7],[294,7]]},"801":{"position":[[27,7],[90,7],[223,7],[288,7]]},"803":{"position":[[30,7],[92,7],[157,7],[246,7]]},"807":{"position":[[514,7]]},"814":{"position":[[977,7]]},"819":{"position":[[118,7],[174,7],[211,7],[245,7]]},"822":{"position":[[56,7],[97,7]]},"825":{"position":[[10,7],[38,7],[111,7]]},"827":{"position":[[10,7],[38,7]]},"829":{"position":[[10,7],[38,7],[56,7],[107,7]]},"835":{"position":[[42,7],[93,7]]},"838":{"position":[[30,7],[44,7]]},"852":{"position":[[160,7]]},"867":{"position":[[36,7],[61,7],[99,7]]},"873":{"position":[[42,7],[93,7]]},"875":{"position":[[3,7]]},"877":{"position":[[3,7]]},"880":{"position":[[13,7],[120,7],[141,7],[307,7]]},"886":{"position":[[69,7]]},"890":{"position":[[16,7],[69,7],[134,7]]},"892":{"position":[[0,7],[95,7]]},"894":{"position":[[0,7],[248,7]]},"896":{"position":[[0,7],[27,7]]},"898":{"position":[[20,7]]},"900":{"position":[[2,7]]},"902":{"position":[[28,7],[51,7]]},"906":{"position":[[179,7]]}}}],["solidui_datasourc",{"_index":1618,"t":{"748":{"position":[[4,18]]}}}],["solidui_datasource_typ",{"_index":1619,"t":{"748":{"position":[[32,23],[89,23]]}}}],["solidui_datasource_type_key",{"_index":1620,"t":{"748":{"position":[[126,27]]}}}],["solidui_ipaddr",{"_index":1402,"t":{"710":{"position":[[207,14]]},"714":{"position":[[12,14],[72,14]]}}}],["solidui_job_el",{"_index":1621,"t":{"748":{"position":[[170,19],[276,19]]}}}],["solidui_job_element_pag",{"_index":1623,"t":{"748":{"position":[[241,24]]}}}],["solidui_job_pag",{"_index":1624,"t":{"748":{"position":[[304,16],[361,16]]}}}],["solidui_model_typ",{"_index":1265,"t":{"660":{"position":[[219,18]]},"694":{"position":[[247,18],[522,18]]}}}],["solidui_mysql",{"_index":1348,"t":{"694":{"position":[[70,13],[491,13],[797,13]]}}}],["solidui_port",{"_index":1405,"t":{"710":{"position":[[243,12]]},"714":{"position":[[27,12],[42,12]]}}}],["solidui_project",{"_index":1622,"t":{"748":{"position":[[198,15],[386,15],[425,15]]}}}],["solidui_url",{"_index":1393,"t":{"710":{"position":[[36,11],[628,11]]}}}],["solidui_url_kernel",{"_index":1398,"t":{"710":{"position":[[140,18],[1559,18]]}}}],["solidui_url_model",{"_index":1395,"t":{"710":{"position":[[84,18],[1091,18]]}}}],["solidui_us",{"_index":1626,"t":{"748":{"position":[[447,12]]}}}],["soliduimodelui",{"_index":233,"t":{"489":{"position":[[67,14]]},"492":{"position":[[302,14]]},"508":{"position":[[79,14],[135,14]]},"512":{"position":[[120,14],[167,14],[198,14],[257,14],[311,14]]},"593":{"position":[[79,14],[135,14]]},"597":{"position":[[120,14],[167,14],[198,14],[257,14],[311,14]]},"607":{"position":[[67,14]]},"609":{"position":[[302,14]]},"696":{"position":[[283,14]]},"753":{"position":[[436,14]]},"764":{"position":[[154,14]]},"827":{"position":[[72,14],[135,14],[168,14],[204,14]]}}}],["solidview",{"_index":1478,"t":{"722":{"position":[[45,9],[109,10],[352,9]]},"725":{"position":[[119,9],[181,9],[192,9],[240,9],[272,9],[315,9]]},"727":{"position":[[17,9],[38,9],[75,9],[265,9],[308,9]]},"772":{"position":[[408,9]]}}}],["solv",{"_index":802,"t":{"548":{"position":[[1008,5]]},"559":{"position":[[551,7]]},"565":{"position":[[1008,5]]},"583":{"position":[[1088,5]]},"647":{"position":[[8803,5]]}}}],["soon",{"_index":1010,"t":{"645":{"position":[[1266,4]]}}}],["sort",{"_index":768,"t":{"548":{"position":[[413,6]]},"565":{"position":[[413,6]]}}}],["sourc",{"_index":783,"t":{"548":{"position":[[681,6]]},"559":{"position":[[129,6],[195,6],[455,6]]},"565":{"position":[[681,6]]},"583":{"position":[[749,6]]},"647":{"position":[[2060,6],[6438,6],[6859,6]]},"694":{"position":[[741,6]]},"734":{"position":[[23,6]]}}}],["space",{"_index":814,"t":{"555":{"position":[[182,6]]},"886":{"position":[[53,5]]}}}],["specif",{"_index":641,"t":{"529":{"position":[[399,8]]},"559":{"position":[[44,14]]},"645":{"position":[[1977,13],[3500,13]]},"805":{"position":[[68,13]]}}}],["spi",{"_index":1647,"t":{"753":{"position":[[343,3],[348,3]]},"770":{"position":[[72,3]]}}}],["spiral",{"_index":670,"t":{"533":{"position":[[16,6]]}}}],["spring",{"_index":1748,"t":{"760":{"position":[[527,6],[542,6]]}}}],["springconnectionfactori",{"_index":1721,"t":{"760":{"position":[[42,23]]}}}],["sql",{"_index":193,"t":{"483":{"position":[[125,3],[212,3],[223,3],[233,3]]},"637":{"position":[[125,3],[212,3],[223,3],[233,3]]},"694":{"position":[[60,3],[84,3],[481,3],[505,3],[787,3],[811,3]]},"766":{"position":[[402,3]]},"934":{"position":[[261,3],[352,3],[364,3],[372,3],[419,3],[437,3],[991,3],[1036,3],[1103,3],[1122,3]]}}}],["sqlsessionfactori",{"_index":1725,"t":{"760":{"position":[[107,17]]}}}],["squar",{"_index":646,"t":{"529":{"position":[[568,6],[604,7]]}}}],["squash",{"_index":1135,"t":{"647":{"position":[[5000,6],[6049,6]]},"790":{"position":[[1362,6]]},"792":{"position":[[209,6]]}}}],["src",{"_index":1018,"t":{"645":{"position":[[1658,3],[2668,3],[3017,3],[3232,3]]},"875":{"position":[[17,3]]},"877":{"position":[[17,3]]}}}],["stabl",{"_index":1101,"t":{"647":{"position":[[2195,6],[8305,6]]}}}],["stage",{"_index":1850,"t":{"772":{"position":[[827,6]]}}}],["standalon",{"_index":2384,"t":{"939":{"position":[[7,10]]}}}],["standard",{"_index":653,"t":{"531":{"position":[[108,8]]}}}],["stanford",{"_index":697,"t":{"537":{"position":[[22,8],[66,8]]}}}],["start",{"_index":692,"t":{"535":{"position":[[299,8]]},"548":{"position":[[443,5]]},"561":{"position":[[138,5],[210,5]]},"565":{"position":[[443,5]]},"583":{"position":[[516,5]]},"645":{"position":[[805,5],[927,5]]},"647":{"position":[[5656,8]]},"698":{"position":[[51,5]]},"888":{"position":[[6,5]]}}}],["state",{"_index":1192,"t":{"647":{"position":[[8610,5],[9310,5]]}}}],["static",{"_index":997,"t":{"645":{"position":[[516,6],[1052,6],[1106,6],[1801,6],[1819,6],[2367,6],[2603,6],[3467,6],[3575,6]]}}}],["statu",{"_index":355,"t":{"494":{"position":[[1099,6]]},"611":{"position":[[1099,6]]},"647":{"position":[[354,6]]},"742":{"position":[[118,6]]}}}],["step",{"_index":943,"t":{"575":{"position":[[579,5]]}}}],["step1",{"_index":1110,"t":{"647":{"position":[[2831,5],[3682,5],[4346,5]]},"790":{"position":[[339,5],[674,5],[1127,5]]}}}],["step2",{"_index":1111,"t":{"647":{"position":[[2898,5],[3846,5],[4633,5]]},"790":{"position":[[363,5],[786,5],[1218,5]]}}}],["step3",{"_index":1122,"t":{"647":{"position":[[3899,5],[4850,5]]},"790":{"position":[[812,5],[1307,5]]}}}],["step4",{"_index":1124,"t":{"647":{"position":[[4012,5],[5127,5]]},"790":{"position":[[902,5],[1462,5]]}}}],["step5",{"_index":1125,"t":{"647":{"position":[[4090,5],[5149,5]]},"790":{"position":[[947,5],[1473,5]]}}}],["step6",{"_index":1128,"t":{"647":{"position":[[4223,5],[5389,5]]},"790":{"position":[[1036,5],[1597,5]]}}}],["step7",{"_index":1141,"t":{"647":{"position":[[5416,5]]},"790":{"position":[[1609,5]]}}}],["stomp",{"_index":270,"t":{"492":{"position":[[81,5]]},"609":{"position":[[81,5]]}}}],["stop",{"_index":1387,"t":{"698":{"position":[[74,4]]}}}],["strategi",{"_index":766,"t":{"548":{"position":[[325,8]]},"565":{"position":[[325,8]]},"583":{"position":[[396,8]]}}}],["streamhandl",{"_index":327,"t":{"494":{"position":[[330,13],[1565,13]]},"611":{"position":[[330,13],[1565,13]]}}}],["streampark",{"_index":975,"t":{"581":{"position":[[14,10]]}}}],["structur",{"_index":1008,"t":{"645":{"position":[[1174,9],[2087,9],[3490,9]]},"647":{"position":[[2037,9],[10789,9]]}}}],["style",{"_index":1024,"t":{"645":{"position":[[1790,6],[2187,6],[2241,6],[2301,5],[2638,5],[3128,5]]},"814":{"position":[[332,5],[486,5]]}}}],["subject",{"_index":1160,"t":{"647":{"position":[[7164,7]]},"796":{"position":[[108,7]]},"814":{"position":[[203,7],[235,7],[588,7],[596,7]]}}}],["submiss",{"_index":1148,"t":{"647":{"position":[[6365,10],[6786,10],[10836,10],[10880,10]]}}}],["submit",{"_index":764,"t":{"548":{"position":[[255,6],[827,6]]},"565":{"position":[[255,6],[827,6]]},"571":{"position":[[869,6],[985,6],[1009,10],[1041,6]]},"573":{"position":[[55,6],[110,9]]},"575":{"position":[[78,9],[143,6],[423,6],[442,6],[471,10],[898,9]]},"577":{"position":[[230,6],[497,10],[613,6],[648,10],[1019,6]]},"583":{"position":[[330,6]]},"645":{"position":[[0,6],[3409,6]]},"647":{"position":[[5017,9],[5155,6],[6066,9],[7073,6],[9002,9],[9840,9],[10368,9]]},"649":{"position":[[0,6],[13,6],[25,6],[289,9],[987,6],[1061,6]]}}}],["submitt",{"_index":1190,"t":{"647":{"position":[[8562,9]]}}}],["subsequ",{"_index":1134,"t":{"647":{"position":[[4973,10],[6022,10]]}}}],["such",{"_index":968,"t":{"577":{"position":[[734,4]]},"647":{"position":[[3720,4],[4445,4],[5283,4]]}}}],["sudo",{"_index":1406,"t":{"710":{"position":[[285,4],[296,4]]},"712":{"position":[[33,4],[73,4],[1911,4]]},"716":{"position":[[58,4],[147,4]]},"719":{"position":[[0,4]]}}}],["suggest",{"_index":809,"t":{"548":{"position":[[1157,11]]},"565":{"position":[[1157,11]]},"577":{"position":[[578,11]]},"583":{"position":[[1237,11]]},"647":{"position":[[6552,10]]}}}],["suitabl",{"_index":773,"t":{"548":{"position":[[488,8]]},"565":{"position":[[488,8]]},"583":{"position":[[561,8]]}}}],["sum",{"_index":648,"t":{"529":{"position":[[587,3]]}}}],["sun",{"_index":2240,"t":{"871":{"position":[[26,3]]}}}],["support",{"_index":593,"t":{"522":{"position":[[59,8]]},"555":{"position":[[91,7],[124,7],[161,7],[220,7],[331,7],[367,7],[422,7],[472,7],[528,7],[580,7],[641,7]]},"575":{"position":[[112,8]]},"577":{"position":[[342,8]]},"581":{"position":[[57,7]]}}}],["sure",{"_index":1083,"t":{"647":{"position":[[1079,4],[4556,4]]}}}],["surfac",{"_index":627,"t":{"529":{"position":[[30,7],[68,7],[248,7],[501,7],[541,7]]},"647":{"position":[[8191,7]]}}}],["svc",{"_index":1285,"t":{"678":{"position":[[64,3],[163,3]]}}}],["synchron",{"_index":1109,"t":{"647":{"position":[[2740,11],[3084,11],[3180,11],[3276,11],[3364,11],[4096,11],[4639,11],[4761,11]]},"649":{"position":[[843,11]]}}}],["systemctl",{"_index":1449,"t":{"712":{"position":[[1916,9]]}}}],["t",{"_index":392,"t":{"494":{"position":[[2475,1]]},"561":{"position":[[271,1]]},"611":{"position":[[2475,1]]},"647":{"position":[[6399,1],[6820,1]]},"716":{"position":[[159,1]]},"807":{"position":[[307,1]]},"825":{"position":[[109,1]]},"827":{"position":[[202,1]]},"829":{"position":[[105,1]]}}}],["tag",{"_index":855,"t":{"561":{"position":[[68,3]]},"647":{"position":[[676,4],[1247,4],[1342,4],[9755,4]]},"850":{"position":[[4,3]]},"867":{"position":[[90,3]]}}}],["tar",{"_index":1247,"t":{"656":{"position":[[149,3]]},"658":{"position":[[20,3],[48,3]]},"691":{"position":[[134,3],[150,3],[178,3]]},"706":{"position":[[102,3],[130,3]]},"825":{"position":[[0,3],[28,3]]},"827":{"position":[[0,3],[28,3]]},"829":{"position":[[0,3],[28,3]]}}}],["target",{"_index":1103,"t":{"647":{"position":[[2272,6]]}}}],["task",{"_index":771,"t":{"548":{"position":[[449,5],[562,4]]},"565":{"position":[[449,5],[562,4]]},"583":{"position":[[522,5],[630,4]]}}}],["team",{"_index":911,"t":{"571":{"position":[[1088,4],[1123,4]]},"645":{"position":[[1749,4],[2738,4],[3134,4],[3216,4],[3242,4],[3249,4],[3660,4]]},"647":{"position":[[1125,4]]},"649":{"position":[[1430,4]]}}}],["technic",{"_index":746,"t":{"546":{"position":[[557,9]]}}}],["techniqu",{"_index":846,"t":{"559":{"position":[[602,9]]}}}],["technolog",{"_index":801,"t":{"548":{"position":[[980,10]]},"565":{"position":[[980,10]]},"583":{"position":[[1060,10]]}}}],["temporari",{"_index":1097,"t":{"647":{"position":[[2090,9]]}}}],["test",{"_index":379,"t":{"494":{"position":[[2295,4],[2486,4],[2574,4],[2615,4]]},"571":{"position":[[358,4]]},"611":{"position":[[2295,4],[2486,4],[2574,4],[2615,4]]},"647":{"position":[[962,4],[5317,4],[8033,4],[8044,4]]},"790":{"position":[[1550,4]]},"814":{"position":[[389,4],[501,4]]},"875":{"position":[[73,4]]},"877":{"position":[[73,4]]}}}],["text",{"_index":555,"t":{"518":{"position":[[72,4],[408,4],[478,4],[582,4]]},"520":{"position":[[60,4],[396,4],[466,4],[570,4]]},"524":{"position":[[189,4]]},"546":{"position":[[357,4]]},"550":{"position":[[72,4],[408,4],[478,4],[582,4]]},"552":{"position":[[60,4],[396,4],[466,4],[570,4]]},"567":{"position":[[72,4],[392,4],[439,4],[571,4]]},"569":{"position":[[60,4],[380,4],[427,4],[559,4]]},"647":{"position":[[2613,4]]}}}],["thank",{"_index":873,"t":{"563":{"position":[[108,5]]},"571":{"position":[[1190,8]]},"579":{"position":[[132,6]]},"581":{"position":[[0,6]]},"647":{"position":[[89,6]]},"904":{"position":[[0,6]]}}}],["theme",{"_index":1013,"t":{"645":{"position":[[1552,5]]},"772":{"position":[[489,5]]}}}],["themselv",{"_index":763,"t":{"548":{"position":[[232,10]]},"565":{"position":[[232,10]]},"583":{"position":[[307,10]]}}}],["think",{"_index":839,"t":{"559":{"position":[[413,8]]}}}],["those",{"_index":1075,"t":{"647":{"position":[[685,5]]}}}],["thought",{"_index":849,"t":{"559":{"position":[[768,7]]}}}],["three",{"_index":566,"t":{"518":{"position":[[200,5]]},"520":{"position":[[188,5]]},"522":{"position":[[11,5]]},"546":{"position":[[497,5]]},"550":{"position":[[200,5]]},"552":{"position":[[188,5]]},"567":{"position":[[225,5]]},"569":{"position":[[213,5]]},"647":{"position":[[2141,5]]},"649":{"position":[[179,5]]}}}],["through",{"_index":661,"t":{"531":{"position":[[257,7]]},"548":{"position":[[174,7]]},"565":{"position":[[174,7]]},"583":{"position":[[489,7]]},"645":{"position":[[2874,7]]},"647":{"position":[[446,7],[9206,7]]}}}],["thu",{"_index":884,"t":{"567":{"position":[[199,4]]},"569":{"position":[[187,4]]}}}],["tidi",{"_index":2177,"t":{"814":{"position":[[1102,4]]}}}],["time",{"_index":309,"t":{"494":{"position":[[113,4],[1219,4],[1348,4],[2230,4]]},"611":{"position":[[113,4],[1219,4],[1348,4],[2230,4]]},"645":{"position":[[1622,6]]},"647":{"position":[[5916,4]]},"649":{"position":[[690,4]]},"730":{"position":[[141,4]]},"734":{"position":[[211,4],[230,4]]},"736":{"position":[[78,4],[97,4]]},"738":{"position":[[84,4],[103,4]]},"740":{"position":[[92,4],[111,4]]},"742":{"position":[[87,4],[106,4]]},"744":{"position":[[58,4],[77,4]]}}}],["timeout",{"_index":1427,"t":{"710":{"position":[[912,7],[935,7],[960,7],[1380,7],[1403,7],[1428,7],[1855,7],[1878,7],[1903,7]]},"712":{"position":[[652,7],[675,7],[700,7],[1122,7],[1145,7],[1170,7],[1599,7],[1622,7],[1647,7]]},"719":{"position":[[59,7]]}}}],["titl",{"_index":933,"t":{"575":{"position":[[336,5],[1189,5]]},"647":{"position":[[5276,5]]}}}],["togeth",{"_index":1208,"t":{"647":{"position":[[9435,8],[10200,8]]}}}],["token",{"_index":1253,"t":{"660":{"position":[[0,5],[12,5],[242,5]]},"694":{"position":[[266,5],[294,5],[306,5],[581,5]]},"746":{"position":[[69,5]]}}}],["tone",{"_index":1189,"t":{"647":{"position":[[8550,4]]}}}],["tool",{"_index":561,"t":{"518":{"position":[[134,5]]},"520":{"position":[[122,5]]},"550":{"position":[[134,5]]},"552":{"position":[[122,5]]},"555":{"position":[[254,4]]},"567":{"position":[[134,5]]},"569":{"position":[[122,5]]},"647":{"position":[[3714,4]]}}}],["top",{"_index":860,"t":{"561":{"position":[[127,3]]},"575":{"position":[[225,3]]}}}],["track",{"_index":2178,"t":{"814":{"position":[[1151,5]]}}}],["trial",{"_index":816,"t":{"555":{"position":[[205,5]]}}}],["trimesh",{"_index":703,"t":{"537":{"position":[[124,7]]}}}],["trivari",{"_index":668,"t":{"531":{"position":[[487,10]]}}}],["true",{"_index":365,"t":{"494":{"position":[[1201,4],[2212,4]]},"611":{"position":[[1201,4],[2212,4]]},"696":{"position":[[151,4]]},"875":{"position":[[83,4]]},"877":{"position":[[83,4]]}}}],["truli",{"_index":765,"t":{"548":{"position":[[270,5]]},"565":{"position":[[270,5]]},"583":{"position":[[345,5]]}}}],["tsx",{"_index":1808,"t":{"772":{"position":[[52,3]]}}}],["ttl",{"_index":361,"t":{"494":{"position":[[1144,3],[2143,3]]},"611":{"position":[[1144,3],[2143,3]]}}}],["turbo",{"_index":1364,"t":{"694":{"position":[[619,5]]}}}],["turk",{"_index":709,"t":{"537":{"position":[[203,4]]}}}],["tutori",{"_index":787,"t":{"548":{"position":[[757,9]]},"561":{"position":[[217,8]]},"565":{"position":[[757,9]]},"583":{"position":[[825,9]]}}}],["twitter",{"_index":2298,"t":{"900":{"position":[[44,7]]}}}],["two",{"_index":1098,"t":{"647":{"position":[[2114,3]]},"649":{"position":[[710,3]]}}}],["type",{"_index":354,"t":{"494":{"position":[[1091,4],[2091,4]]},"611":{"position":[[1091,4],[2091,4]]},"645":{"position":[[99,4]]},"647":{"position":[[7147,4]]},"660":{"position":[[233,4]]},"694":{"position":[[261,4],[536,4],[558,4]]},"730":{"position":[[76,4]]},"734":{"position":[[30,4],[107,4]]},"736":{"position":[[59,4]]},"746":{"position":[[40,4]]},"748":{"position":[[51,4],[70,4],[108,4],[145,4]]},"796":{"position":[[91,4]]},"814":{"position":[[183,4],[229,4],[247,4],[421,4]]}}}],["type_nam",{"_index":1363,"t":{"694":{"position":[[558,9]]},"746":{"position":[[40,9]]}}}],["u",{"_index":1263,"t":{"660":{"position":[[189,1]]}}}],["ubuntu",{"_index":1275,"t":{"668":{"position":[[11,6]]}}}],["ui",{"_index":62,"t":{"469":{"position":[[20,2]]},"555":{"position":[[456,2]]},"623":{"position":[[20,2]]},"722":{"position":[[164,2]]},"727":{"position":[[186,2],[191,2]]},"751":{"position":[[22,2]]},"753":{"position":[[466,2]]},"772":{"position":[[659,2]]}}}],["under",{"_index":1051,"t":{"645":{"position":[[2597,5]]},"647":{"position":[[2925,5],[4481,5]]}}}],["underscor",{"_index":1032,"t":{"645":{"position":[[2053,11]]}}}],["unifi",{"_index":1050,"t":{"645":{"position":[[2589,7]]}}}],["unix",{"_index":2221,"t":{"855":{"position":[[16,4]]}}}],["up",{"_index":1252,"t":{"658":{"position":[[98,2]]}}}],["updat",{"_index":760,"t":{"548":{"position":[[106,8]]},"565":{"position":[[106,8]]},"571":{"position":[[94,7],[540,6],[946,7]]},"583":{"position":[[185,6]]},"647":{"position":[[2890,7],[7292,7]]},"649":{"position":[[794,6]]},"660":{"position":[[212,6]]},"734":{"position":[[204,6]]},"736":{"position":[[90,6]]},"738":{"position":[[96,6]]},"740":{"position":[[104,6]]},"742":{"position":[[99,6]]},"744":{"position":[[70,6]]}}}],["update_tim",{"_index":1597,"t":{"734":{"position":[[204,11]]},"736":{"position":[[90,11]]},"738":{"position":[[96,11]]},"740":{"position":[[104,11]]},"742":{"position":[[99,11]]},"744":{"position":[[70,11]]}}}],["upgrad",{"_index":1431,"t":{"710":{"position":[[990,7],[1004,7],[1041,7],[1458,7],[1472,7],[1509,7],[1933,7],[1947,7],[1984,7]]},"712":{"position":[[730,7],[744,7],[781,7],[1200,7],[1214,7],[1251,7],[1677,7],[1691,7],[1728,7]]}}}],["upper",{"_index":929,"t":{"575":{"position":[[306,5],[666,5]]}}}],["upstream",{"_index":1105,"t":{"647":{"position":[[2499,8],[2587,8],[2777,8],[2916,8],[3118,8],[3192,8],[3310,8],[3398,8],[3484,8],[3909,8],[3963,8],[4052,8],[4081,8],[4130,8],[4196,8],[4292,8],[4674,8],[4796,8]]},"649":{"position":[[583,8],[607,8],[761,8],[834,8],[940,8]]},"790":{"position":[[153,8],[216,8],[308,8],[391,8],[455,8],[491,8],[531,8],[570,8],[601,8],[821,8],[853,8],[911,8],[938,8],[956,8],[1009,8],[1076,8],[1227,8],[1275,8]]}}}],["url",{"_index":155,"t":{"479":{"position":[[69,3],[138,3],[203,3]]},"481":{"position":[[19,3]]},"512":{"position":[[97,3]]},"518":{"position":[[631,3],[687,3]]},"520":{"position":[[619,3],[675,3]]},"550":{"position":[[631,3],[687,3]]},"552":{"position":[[619,3],[675,3]]},"597":{"position":[[97,3]]},"633":{"position":[[69,3],[138,3],[203,3]]},"635":{"position":[[19,3]]},"696":{"position":[[86,3]]},"710":{"position":[[44,3],[92,3],[148,3],[636,3],[1099,3],[1567,3]]},"746":{"position":[[91,3]]},"930":{"position":[[81,3],[147,3],[215,3],[337,3],[361,3],[400,3],[424,3],[461,3],[480,3]]},"932":{"position":[[30,3]]}}}],["uroot",{"_index":1353,"t":{"694":{"position":[[131,5]]}}}],["us",{"_index":578,"t":{"518":{"position":[[492,4]]},"520":{"position":[[480,4]]},"529":{"position":[[176,3]]},"537":{"position":[[116,3]]},"550":{"position":[[492,4]]},"552":{"position":[[480,4]]},"567":{"position":[[479,4]]},"569":{"position":[[467,4]]},"571":{"position":[[261,3]]},"577":{"position":[[535,4],[605,4]]},"645":{"position":[[555,5],[567,5],[2021,3],[2098,3],[2134,3]]},"660":{"position":[[199,3]]},"902":{"position":[[22,5]]}}}],["usag",{"_index":788,"t":{"548":{"position":[[768,5]]},"565":{"position":[[768,5]]},"583":{"position":[[836,5]]},"647":{"position":[[849,5],[1443,5]]}}}],["usedatasourc",{"_index":1821,"t":{"772":{"position":[[320,13]]}}}],["useproject",{"_index":1820,"t":{"772":{"position":[[309,10]]}}}],["user",{"_index":728,"t":{"546":{"position":[[155,5],[731,5]]},"561":{"position":[[193,4],[285,5]]},"571":{"position":[[49,5],[229,5],[305,4],[380,5],[501,5],[615,5],[1031,5],[1137,5],[1170,5],[1237,5],[1280,4],[1323,5]]},"577":{"position":[[948,4]]},"645":{"position":[[464,4],[1762,4],[1871,4],[1879,5],[2744,4],[3295,4],[3683,4]]},"647":{"position":[[1553,5],[1627,5],[2847,4],[7998,5]]},"696":{"position":[[365,4]]},"730":{"position":[[160,4]]},"742":{"position":[[14,4]]},"744":{"position":[[14,4],[30,4]]},"748":{"position":[[455,4],[465,4]]},"760":{"position":[[231,4]]}}}],["user_nam",{"_index":1611,"t":{"742":{"position":[[14,9]]},"744":{"position":[[14,9]]},"748":{"position":[[465,9]]}}}],["user_password",{"_index":1614,"t":{"744":{"position":[[30,13]]}}}],["usermanag",{"_index":1048,"t":{"645":{"position":[[2534,14]]}}}],["usermapp",{"_index":1742,"t":{"760":{"position":[[415,10],[601,10]]}}}],["usernam",{"_index":1121,"t":{"647":{"position":[[3824,8]]},"696":{"position":[[209,8]]},"790":{"position":[[764,8]]}}}],["userserviceimpl",{"_index":1803,"t":{"766":{"position":[[810,15]]}}}],["usessl",{"_index":1372,"t":{"696":{"position":[[127,6]]}}}],["useunicod",{"_index":1374,"t":{"696":{"position":[[140,10]]}}}],["usr",{"_index":1439,"t":{"710":{"position":[[2062,3]]},"712":{"position":[[1806,3]]}}}],["usual",{"_index":1070,"t":{"647":{"position":[[492,7],[4404,7]]}}}],["utf",{"_index":359,"t":{"494":{"position":[[1135,3],[2134,3]]},"611":{"position":[[1135,3],[2134,3]]},"696":{"position":[[174,3]]}}}],["utf8",{"_index":1356,"t":{"694":{"position":[[194,4],[215,4]]}}}],["utf8_general_ci",{"_index":1358,"t":{"694":{"position":[[215,15]]}}}],["util",{"_index":1037,"t":{"645":{"position":[[2218,5]]},"758":{"position":[[354,5]]},"774":{"position":[[280,5],[438,5]]}}}],["v",{"_index":866,"t":{"561":{"position":[[257,1]]},"649":{"position":[[680,1]]}}}],["v0",{"_index":853,"t":{"559":{"position":[[921,2]]},"563":{"position":[[23,2]]},"896":{"position":[[8,2]]}}}],["v16",{"_index":2203,"t":{"833":{"position":[[91,3]]}}}],["valu",{"_index":356,"t":{"494":{"position":[[1109,5],[2110,5]]},"529":{"position":[[528,5]]},"531":{"position":[[360,6]]},"546":{"position":[[722,5]]},"611":{"position":[[1109,5],[2110,5]]},"647":{"position":[[7813,5]]},"694":{"position":[[600,6]]},"734":{"position":[[89,5],[101,5],[183,5]]},"934":{"position":[[395,5],[1059,5],[1079,5]]}}}],["valuabl",{"_index":1091,"t":{"647":{"position":[[1479,8],[9014,8]]}}}],["value_regex",{"_index":1594,"t":{"734":{"position":[[183,11]]}}}],["value_typ",{"_index":1589,"t":{"734":{"position":[[101,10]]}}}],["var",{"_index":1410,"t":{"710":{"position":[[385,3],[412,3]]},"712":{"position":[[201,3]]}}}],["varieti",{"_index":594,"t":{"522":{"position":[[70,7]]}}}],["variou",{"_index":601,"t":{"522":{"position":[[159,7]]},"546":{"position":[[236,7]]}}}],["ve",{"_index":958,"t":{"577":{"position":[[176,2]]}}}],["veri",{"_index":772,"t":{"548":{"position":[[483,4]]},"565":{"position":[[483,4]]},"583":{"position":[[556,4]]},"647":{"position":[[1474,4]]}}}],["version",{"_index":830,"t":{"559":{"position":[[101,7]]},"561":{"position":[[5,7]]},"571":{"position":[[410,7],[520,7]]},"575":{"position":[[58,8],[701,7]]},"645":{"position":[[634,7],[1220,7],[1775,8],[2759,7]]},"647":{"position":[[2210,7],[2412,7],[4424,7],[4457,7],[8439,8],[9147,7],[10544,7]]},"649":{"position":[[359,7],[386,7],[432,7]]},"710":{"position":[[885,7],[1353,7],[1828,7]]},"712":{"position":[[625,7],[1095,7],[1572,7]]},"814":{"position":[[1200,7]]},"846":{"position":[[30,7],[71,7],[92,7],[128,7],[149,7]]},"867":{"position":[[158,7]]}}}],["vi",{"_index":1369,"t":{"696":{"position":[[54,2],[262,2]]},"712":{"position":[[78,2]]},"719":{"position":[[5,2]]},"827":{"position":[[69,2]]}}}],["via",{"_index":1085,"t":{"647":{"position":[[1130,3]]}}}],["view",{"_index":904,"t":{"571":{"position":[[511,4]]},"645":{"position":[[873,4],[998,4]]},"649":{"position":[[652,4]]}}}],["viewfactori",{"_index":1824,"t":{"772":{"position":[[387,11]]}}}],["viewport",{"_index":1496,"t":{"722":{"position":[[312,8]]},"725":{"position":[[59,8]]}}}],["viridi",{"_index":635,"t":{"529":{"position":[[185,7],[381,7]]}}}],["visit",{"_index":925,"t":{"575":{"position":[[166,5]]},"645":{"position":[[842,5],[967,5],[2947,5],[3158,5],[3324,5]]}}}],["visual",{"_index":560,"t":{"518":{"position":[[120,13]]},"520":{"position":[[108,13]]},"546":{"position":[[325,13]]},"550":{"position":[[120,13]]},"552":{"position":[[108,13]]},"559":{"position":[[80,13]]},"567":{"position":[[120,13],[145,13]]},"569":{"position":[[108,13],[133,13]]},"577":{"position":[[290,13]]}}}],["volunt",{"_index":806,"t":{"548":{"position":[[1101,10]]},"565":{"position":[[1101,10]]},"583":{"position":[[1182,9]]}}}],["vote",{"_index":1206,"t":{"647":{"position":[[9377,4],[9430,4],[9502,5],[10195,4],[10256,5]]}}}],["vue",{"_index":1041,"t":{"645":{"position":[[2334,3],[3542,3]]}}}],["wait",{"_index":1140,"t":{"647":{"position":[[5395,7]]}}}],["want",{"_index":945,"t":{"575":{"position":[[742,4]]},"647":{"position":[[2326,4]]},"649":{"position":[[1199,4]]}}}],["warehous",{"_index":1106,"t":{"647":{"position":[[2508,9],[2567,9],[2596,9],[2623,9],[2701,9],[2724,9],[2786,9],[2820,9],[3012,9],[3127,9],[3154,9],[3233,9],[3260,9],[3319,9],[3346,9],[3407,9],[3434,9],[3759,9],[3868,9],[3918,9],[3938,9],[4061,9],[4139,9],[4683,9],[4717,9],[4805,9],[4839,9],[5958,9],[6313,9]]}}}],["wast",{"_index":2104,"t":{"807":{"position":[[290,8]]}}}],["watch",{"_index":865,"t":{"561":{"position":[[251,5]]}}}],["way",{"_index":976,"t":{"583":{"position":[[14,4]]},"647":{"position":[[1210,3],[1488,3]]}}}],["web",{"_index":301,"t":{"492":{"position":[[330,3]]},"609":{"position":[[330,3]]},"678":{"position":[[175,3]]},"691":{"position":[[498,3]]},"706":{"position":[[168,3]]},"710":{"position":[[546,3]]},"712":{"position":[[276,3],[1890,3]]},"753":{"position":[[405,3]]},"764":{"position":[[142,3]]},"772":{"position":[[528,3]]},"774":{"position":[[356,3],[434,3],[454,3],[551,3],[589,3],[663,3]]},"829":{"position":[[64,3],[115,3]]},"838":{"position":[[20,3],[52,3]]}}}],["web_util",{"_index":1868,"t":{"774":{"position":[[434,9]]}}}],["webapp",{"_index":1862,"t":{"774":{"position":[[334,6]]}}}],["webpack",{"_index":1841,"t":{"772":{"position":[[738,7]]}}}],["websit",{"_index":583,"t":{"518":{"position":[[746,7],[790,7]]},"520":{"position":[[734,7],[778,7]]},"550":{"position":[[746,7],[790,7]]},"552":{"position":[[734,7],[778,7]]},"555":{"position":[[392,7],[447,7],[497,7],[553,7],[605,7],[666,7]]},"559":{"position":[[385,7]]},"561":{"position":[[180,7]]},"567":{"position":[[736,7],[780,7],[798,7],[858,7]]},"569":{"position":[[724,7],[768,7],[786,7],[846,7]]},"571":{"position":[[21,7],[121,7],[1382,7],[1426,7],[1444,7],[1504,7]]},"573":{"position":[[22,7]]},"575":{"position":[[104,7],[201,7],[618,7],[979,7]]},"577":{"position":[[156,7],[211,7]]},"579":{"position":[[27,7],[44,7]]},"581":{"position":[[25,7]]},"645":{"position":[[483,7],[535,7],[720,7],[1059,7],[2997,7],[3208,7]]},"647":{"position":[[1714,7]]},"785":{"position":[[20,7]]},"819":{"position":[[126,7],[182,7],[219,7],[253,7]]},"880":{"position":[[128,7]]},"896":{"position":[[35,7]]}}}],["wechat",{"_index":1203,"t":{"647":{"position":[[9227,6],[9624,6]]}}}],["weekli",{"_index":737,"t":{"546":{"position":[[432,6]]}}}],["welcom",{"_index":868,"t":{"561":{"position":[[277,7]]},"577":{"position":[[1004,7]]},"645":{"position":[[180,7]]},"647":{"position":[[7590,7]]}}}],["whether",{"_index":742,"t":{"546":{"position":[[519,7]]},"577":{"position":[[930,7]]},"647":{"position":[[278,7],[7013,7],[9454,7],[10219,7]]},"807":{"position":[[467,7]]}}}],["will",{"_index":1204,"t":{"647":{"position":[[9250,7],[9299,7]]}}}],["window",{"_index":603,"t":{"522":{"position":[[184,6]]},"555":{"position":[[348,6]]},"772":{"position":[[709,6]]},"855":{"position":[[8,6]]}}}],["wip",{"_index":1137,"t":{"647":{"position":[[5257,3],[5292,3],[7389,3],[7395,3]]},"790":{"position":[[1515,3],[1525,3]]},"796":{"position":[[216,3],[224,3]]}}}],["without",{"_index":871,"t":{"563":{"position":[[52,7]]},"579":{"position":[[81,7]]}}}],["word",{"_index":610,"t":{"524":{"position":[[24,5],[73,5],[201,5]]}}}],["work",{"_index":1081,"t":{"647":{"position":[[1002,4],[7401,4],[8368,4]]},"796":{"position":[[230,4]]}}}],["workdir",{"_index":376,"t":{"494":{"position":[[2273,7]]},"611":{"position":[[2273,7]]}}}],["wrapper",{"_index":2242,"t":{"871":{"position":[[86,7]]}}}],["write",{"_index":1154,"t":{"647":{"position":[[6635,5],[7233,7],[8517,5]]}}}],["www",{"_index":859,"t":{"561":{"position":[[115,3],[235,3]]}}}],["x",{"_index":618,"t":{"527":{"position":[[4,1],[20,1],[36,1],[53,1],[69,1],[86,1]]},"529":{"position":[[89,1],[158,1],[269,1],[333,1],[594,1]]},"531":{"position":[[43,1]]},"656":{"position":[[139,1],[141,1],[143,1]]},"658":{"position":[[38,1],[40,1],[42,1],[66,1],[68,1],[70,1]]},"666":{"position":[[43,1]]},"691":{"position":[[124,1],[126,1],[128,1],[168,1],[170,1],[172,1],[206,1],[254,1],[360,1],[458,1]]},"694":{"position":[[29,1],[31,1],[33,1],[450,1],[452,1],[454,1],[756,1],[758,1],[760,1]]},"696":{"position":[[11,1],[13,1],[15,1],[273,1],[275,1],[277,1]]},"698":{"position":[[11,1],[13,1],[15,1],[113,1],[115,1],[117,1]]},"706":{"position":[[120,1],[122,1],[124,1],[154,1],[156,1],[158,1]]},"710":{"position":[[704,1],[745,1],[830,1],[857,1],[1172,1],[1213,1],[1298,1],[1325,1],[1647,1],[1688,1],[1773,1],[1800,1]]},"712":{"position":[[444,1],[485,1],[570,1],[597,1],[914,1],[955,1],[1040,1],[1067,1],[1391,1],[1432,1],[1517,1],[1544,1]]},"825":{"position":[[18,1],[20,1],[22,1],[46,1],[48,1],[50,1],[128,1],[130,1],[132,1]]},"827":{"position":[[18,1],[20,1],[22,1],[46,1],[48,1],[50,1],[219,1],[221,1],[223,1]]},"829":{"position":[[18,1],[20,1],[22,1],[46,1],[48,1],[50,1],[119,1],[121,1],[123,1]]},"838":{"position":[[38,1],[40,1],[42,1]]},"875":{"position":[[11,1],[13,1],[15,1]]},"877":{"position":[[11,1],[13,1],[15,1]]}}}],["x_real_ipp",{"_index":1422,"t":{"710":{"position":[[745,10],[1213,10],[1688,10]]},"712":{"position":[[485,10],[955,10],[1432,10]]}}}],["xml",{"_index":1655,"t":{"756":{"position":[[31,3]]},"762":{"position":[[785,3]]},"764":{"position":[[254,3]]}}}],["xmx",{"_index":1300,"t":{"684":{"position":[[48,3]]}}}],["xr",{"_index":1326,"t":{"691":{"position":[[203,2],[251,2],[357,2],[455,2]]}}}],["xx",{"_index":1351,"t":{"694":{"position":[[117,2],[120,2]]}}}],["y",{"_index":619,"t":{"527":{"position":[[12,1],[28,1],[44,1],[61,1],[77,1],[94,1]]},"529":{"position":[[95,1],[164,1],[275,1],[339,1],[600,1]]},"531":{"position":[[46,1]]},"712":{"position":[[57,1]]}}}],["yaml",{"_index":539,"t":{"512":{"position":[[79,4]]},"597":{"position":[[79,4]]},"696":{"position":[[69,4]]}}}],["year",{"_index":1200,"t":{"647":{"position":[[9115,4]]}}}],["yellow",{"_index":675,"t":{"535":{"position":[[58,6]]}}}],["yml",{"_index":536,"t":{"512":{"position":[[22,3]]},"597":{"position":[[22,3]]},"764":{"position":[[50,3]]}}}],["your_github_usernam",{"_index":1120,"t":{"647":{"position":[[3812,20]]},"790":{"position":[[752,20]]}}}],["youtub",{"_index":864,"t":{"561":{"position":[[239,7]]},"900":{"position":[[52,7]]}}}],["yum",{"_index":1442,"t":{"712":{"position":[[38,3]]}}}],["z",{"_index":633,"t":{"529":{"position":[[140,1],[301,1],[526,1]]},"531":{"position":[[53,1]]}}}],["zh",{"_index":1007,"t":{"645":{"position":[[933,2],[1314,2]]},"805":{"position":[[26,2]]},"814":{"position":[[995,2]]}}}],["ziyu211",{"_index":881,"t":{"563":{"position":[[267,7]]}}}],["zxvf",{"_index":1251,"t":{"658":{"position":[[25,4]]},"691":{"position":[[155,4]]},"706":{"position":[[107,4]]},"825":{"position":[[5,4]]},"827":{"position":[[5,4]]},"829":{"position":[[5,4]]}}}],["一一对应",{"_index":242,"t":{"489":{"position":[[123,4]]},"498":{"position":[[58,4]]},"506":{"position":[[84,4]]},"508":{"position":[[40,4]]},"591":{"position":[[84,4]]},"593":{"position":[[40,4]]},"607":{"position":[[123,4]]},"615":{"position":[[58,4]]}}}],["一下",{"_index":2001,"t":{"798":{"position":[[12,2]]}}}],["一个",{"_index":26,"t":{"465":{"position":[[82,2]]},"467":{"position":[[78,2]]},"485":{"position":[[82,2]]},"487":{"position":[[78,2]]},"489":{"position":[[8,2]]},"496":{"position":[[188,2],[365,2],[540,2]]},"502":{"position":[[82,2]]},"504":{"position":[[78,2]]},"589":{"position":[[78,2]]},"605":{"position":[[78,2]]},"607":{"position":[[8,2]]},"613":{"position":[[188,2],[365,2],[540,2]]},"621":{"position":[[78,2]]},"722":{"position":[[229,2],[397,2]]},"725":{"position":[[129,2],[146,2],[331,2]]},"727":{"position":[[15,2],[210,2]]},"748":{"position":[[24,2],[114,2],[193,2],[269,2],[297,2],[381,2],[442,2]]},"756":{"position":[[2,2],[85,2],[198,2]]},"758":{"position":[[126,2],[208,2],[381,2],[403,2]]},"760":{"position":[[486,2],[525,2]]},"762":{"position":[[582,2]]},"764":{"position":[[57,2]]},"770":{"position":[[14,2]]},"772":{"position":[[2,2],[422,2],[649,2]]},"774":{"position":[[2,2],[169,2],[343,2],[493,2]]},"779":{"position":[[23,2]]},"781":{"position":[[75,2]]},"783":{"position":[[34,2]]},"790":{"position":[[1116,2],[1398,2]]},"792":{"position":[[245,2]]},"798":{"position":[[165,2]]},"801":{"position":[[101,2]]},"807":{"position":[[0,2],[115,2]]},"814":{"position":[[828,2]]},"882":{"position":[[14,2]]},"890":{"position":[[78,2]]},"892":{"position":[[17,2]]},"902":{"position":[[5,2]]},"909":{"position":[[19,2]]},"923":{"position":[[74,2]]}}}],["一个二维",{"_index":2376,"t":{"936":{"position":[[132,4]]}}}],["一些",{"_index":121,"t":{"475":{"position":[[35,2],[45,2]]},"629":{"position":[[35,2],[45,2]]},"748":{"position":[[500,2]]},"756":{"position":[[258,2]]},"758":{"position":[[17,2],[318,2],[367,2]]},"762":{"position":[[690,2]]},"764":{"position":[[218,2]]},"766":{"position":[[82,2],[206,2],[263,2],[365,2],[464,2],[652,2]]},"768":{"position":[[3,2]]},"770":{"position":[[61,2]]},"772":{"position":[[459,2],[559,2],[583,2],[597,2],[634,2]]},"774":{"position":[[293,2],[451,2],[690,2]]},"790":{"position":[[15,2]]},"862":{"position":[[5,2]]}}}],["一份",{"_index":1548,"t":{"727":{"position":[[87,2]]},"792":{"position":[[60,2]]}}}],["一句",{"_index":1981,"t":{"794":{"position":[[46,2]]}}}],["一同",{"_index":2340,"t":{"919":{"position":[[26,2]]}}}],["一层",{"_index":1535,"t":{"725":{"position":[[325,2]]}}}],["一峰",{"_index":2357,"t":{"925":{"position":[[1,2]]}}}],["一次",{"_index":1998,"t":{"796":{"position":[[271,2]]},"801":{"position":[[69,2],[168,2]]},"814":{"position":[[955,2]]}}}],["一次性",{"_index":2035,"t":{"798":{"position":[[323,3]]}}}],["一步",{"_index":428,"t":{"496":{"position":[[505,2]]},"613":{"position":[[505,2]]}}}],["一种",{"_index":1637,"t":{"753":{"position":[[194,2],[383,2]]},"756":{"position":[[174,2]]}}}],["一系列",{"_index":1710,"t":{"758":{"position":[[241,3]]},"766":{"position":[[135,3]]},"774":{"position":[[367,3]]}}}],["一般",{"_index":1956,"t":{"790":{"position":[[1145,2]]}}}],["一行",{"_index":2129,"t":{"814":{"position":[[173,2]]}}}],["一起",{"_index":2062,"t":{"801":{"position":[[194,2]]},"803":{"position":[[130,2]]}}}],["一部分",{"_index":2090,"t":{"807":{"position":[[123,3]]}}}],["一页",{"_index":1060,"t":{"645":{"position":[[3385,2],[3406,2]]},"647":{"position":[[10562,2]]},"649":{"position":[[1598,2]]}}}],["一项",{"_index":2005,"t":{"798":{"position":[[43,2]]}}}],["三个",{"_index":1660,"t":{"756":{"position":[[141,2]]},"814":{"position":[[93,2],[178,2]]}}}],["三维",{"_index":23,"t":{"465":{"position":[[64,2]]},"467":{"position":[[60,2]]},"485":{"position":[[64,2]]},"487":{"position":[[60,2]]},"502":{"position":[[64,2]]},"504":{"position":[[60,2]]},"589":{"position":[[60,2]]},"605":{"position":[[60,2]]},"621":{"position":[[60,2]]},"890":{"position":[[60,2]]}}}],["上万",{"_index":288,"t":{"492":{"position":[[210,2]]},"609":{"position":[[210,2]]}}}],["上下文",{"_index":2084,"t":{"807":{"position":[[50,3]]},"812":{"position":[[106,3]]}}}],["上传",{"_index":1320,"t":{"691":{"position":[[111,2]]}}}],["上述",{"_index":2210,"t":{"840":{"position":[[29,2]]}}}],["下拉框",{"_index":2372,"t":{"936":{"position":[[95,3]]}}}],["下方",{"_index":1941,"t":{"790":{"position":[[381,2]]}}}],["下载",{"_index":1243,"t":{"656":{"position":[[110,2],[112,2],[125,2]]},"691":{"position":[[7,2],[59,2]]},"706":{"position":[[7,2],[59,2]]},"790":{"position":[[377,2]]},"822":{"position":[[22,2],[74,2]]},"833":{"position":[[38,2],[49,2]]},"835":{"position":[[110,2],[112,2]]},"873":{"position":[[110,2],[112,2]]}}}],["下面",{"_index":139,"t":{"477":{"position":[[0,2]]},"631":{"position":[[0,2]]},"814":{"position":[[273,2]]}}}],["不仅",{"_index":2262,"t":{"880":{"position":[[235,2]]},"882":{"position":[[31,2]]}}}],["不再",{"_index":169,"t":{"479":{"position":[[274,2]]},"481":{"position":[[147,2]]},"633":{"position":[[274,2]]},"635":{"position":[[147,2]]},"930":{"position":[[285,2]]},"932":{"position":[[136,2]]},"934":{"position":[[644,2],[802,2],[972,2]]}}}],["不同",{"_index":280,"t":{"492":{"position":[[154,2]]},"510":{"position":[[74,2]]},"595":{"position":[[74,2]]},"609":{"position":[[154,2]]},"725":{"position":[[178,2],[238,2]]},"727":{"position":[[35,2]]}}}],["不够",{"_index":1302,"t":{"684":{"position":[[65,2]]}}}],["不当",{"_index":2353,"t":{"923":{"position":[[52,2]]}}}],["不断",{"_index":86,"t":{"473":{"position":[[15,2]]},"627":{"position":[[15,2]]},"783":{"position":[[54,2]]},"894":{"position":[[266,2]]}}}],["不是",{"_index":444,"t":{"498":{"position":[[63,2]]},"514":{"position":[[39,2]]},"599":{"position":[[39,2]]},"615":{"position":[[63,2]]},"814":{"position":[[367,2],[375,2]]}}}],["不用",{"_index":1672,"t":{"756":{"position":[[342,2]]}}}],["不能",{"_index":2032,"t":{"798":{"position":[[300,2]]},"807":{"position":[[185,2]]},"880":{"position":[[158,2]]}}}],["不要",{"_index":1963,"t":{"790":{"position":[[1340,2]]},"814":{"position":[[762,2]]}}}],["不论是",{"_index":2295,"t":{"898":{"position":[[29,3]]}}}],["不足",{"_index":453,"t":{"500":{"position":[[12,2]]},"516":{"position":[[12,2]]},"601":{"position":[[12,2]]},"617":{"position":[[12,2]]}}}],["不错",{"_index":2092,"t":{"807":{"position":[[135,2]]}}}],["不难",{"_index":514,"t":{"506":{"position":[[13,2]]},"591":{"position":[[13,2]]}}}],["专业知识",{"_index":1917,"t":{"783":{"position":[[76,4]]}}}],["专门",{"_index":2332,"t":{"915":{"position":[[35,2]]}}}],["世界",{"_index":74,"t":{"471":{"position":[[23,2],[55,2]]},"625":{"position":[[23,2],[55,2]]}}}],["业务",{"_index":1646,"t":{"753":{"position":[[327,2]]},"766":{"position":[[544,2],[639,2],[852,2],[882,2]]},"772":{"position":[[356,2]]}}}],["东西",{"_index":131,"t":{"475":{"position":[[64,2]]},"629":{"position":[[64,2]]}}}],["丢失",{"_index":1946,"t":{"790":{"position":[[654,2]]}}}],["两个",{"_index":1774,"t":{"762":{"position":[[875,2],[881,2]]},"772":{"position":[[220,2],[333,2]]},"880":{"position":[[29,2]]}}}],["两种",{"_index":1390,"t":{"708":{"position":[[2,2]]},"814":{"position":[[805,2]]}}}],["严重",{"_index":2229,"t":{"862":{"position":[[7,2]]}}}],["个人",{"_index":1937,"t":{"790":{"position":[[283,2]]}}}],["个字符",{"_index":2148,"t":{"814":{"position":[[626,3],[676,3]]}}}],["中",{"_index":161,"t":{"479":{"position":[[108,1],[175,1],[224,1],[284,1]]},"481":{"position":[[39,1],[101,1],[156,1]]},"483":{"position":[[66,1]]},"489":{"position":[[36,1]]},"492":{"position":[[55,1],[300,1]]},"496":{"position":[[146,1],[185,1],[521,1],[590,1]]},"500":{"position":[[135,1],[337,1]]},"510":{"position":[[42,1]]},"512":{"position":[[26,1],[84,1]]},"516":{"position":[[135,1],[337,1]]},"595":{"position":[[42,1]]},"597":{"position":[[26,1],[84,1]]},"601":{"position":[[135,1],[337,1]]},"607":{"position":[[36,1]]},"609":{"position":[[55,1],[300,1]]},"613":{"position":[[146,1],[185,1],[521,1],[590,1]]},"617":{"position":[[135,1],[337,1]]},"633":{"position":[[108,1],[175,1],[224,1],[284,1]]},"635":{"position":[[39,1],[101,1],[156,1]]},"637":{"position":[[66,1]]},"660":{"position":[[174,1]]},"748":{"position":[[214,1],[402,1]]},"753":{"position":[[43,1],[95,1]]},"756":{"position":[[134,1],[183,1],[244,1],[336,1],[355,1],[458,1]]},"758":{"position":[[33,1]]},"760":{"position":[[250,1]]},"764":{"position":[[107,1],[305,1]]},"766":{"position":[[537,1],[611,1]]},"770":{"position":[[83,1]]},"774":{"position":[[460,1]]},"781":{"position":[[5,1]]},"783":{"position":[[11,1],[47,1]]},"790":{"position":[[1153,1],[1164,1],[1210,1],[1492,1]]},"792":{"position":[[87,1],[119,1]]},"796":{"position":[[165,1],[188,1]]},"798":{"position":[[29,1]]},"807":{"position":[[82,1]]},"810":{"position":[[70,1]]},"838":{"position":[[6,1]]},"840":{"position":[[6,1],[74,1]]},"855":{"position":[[22,1]]},"871":{"position":[[78,1]]},"880":{"position":[[232,1]]},"894":{"position":[[274,1]]},"906":{"position":[[33,1],[129,1]]},"913":{"position":[[38,1]]},"921":{"position":[[42,1]]},"930":{"position":[[109,1],[175,1],[243,1],[295,1]]},"932":{"position":[[47,1],[101,1],[145,1],[203,1]]},"934":{"position":[[49,1],[112,1],[182,1],[593,1],[643,1],[733,1],[801,1],[897,1],[971,1]]},"936":{"position":[[187,1]]}}}],["中文",{"_index":2358,"t":{"925":{"position":[[4,2]]}}}],["中英文",{"_index":1985,"t":{"794":{"position":[[78,3]]}}}],["中间",{"_index":1480,"t":{"722":{"position":[[76,2]]}}}],["中间件",{"_index":1865,"t":{"774":{"position":[[422,3]]}}}],["临时",{"_index":1926,"t":{"790":{"position":[[17,2]]}}}],["为了",{"_index":443,"t":{"498":{"position":[[56,2]]},"615":{"position":[[56,2]]},"794":{"position":[[61,2]]},"892":{"position":[[86,2]]}}}],["为什么",{"_index":440,"t":{"498":{"position":[[45,3]]},"615":{"position":[[45,3]]}}}],["主",{"_index":1641,"t":{"753":{"position":[[282,1]]},"772":{"position":[[41,1]]}}}],["主导",{"_index":2055,"t":{"801":{"position":[[66,2]]},"819":{"position":[[19,2],[38,2],[104,2],[168,2],[282,2],[327,2],[384,2],[404,2],[422,2]]}}}],["主机名",{"_index":1769,"t":{"762":{"position":[[609,3]]}}}],["主流",{"_index":268,"t":{"492":{"position":[[64,2],[92,2]]},"609":{"position":[[64,2],[92,2]]}}}],["主要",{"_index":225,"t":{"489":{"position":[[25,2],[154,2]]},"607":{"position":[[25,2],[154,2]]},"722":{"position":[[154,2]]},"748":{"position":[[502,2]]},"751":{"position":[[16,2]]},"756":{"position":[[136,2]]},"760":{"position":[[19,2],[72,2]]},"764":{"position":[[21,2],[331,2]]},"766":{"position":[[867,2]]},"772":{"position":[[33,2],[80,2],[172,2],[186,2],[540,2]]},"774":{"position":[[27,2],[49,2],[79,2],[208,2]]},"798":{"position":[[155,2]]},"894":{"position":[[117,2]]}}}],["主题",{"_index":1828,"t":{"772":{"position":[[498,2]]}}}],["举",{"_index":2172,"t":{"814":{"position":[[970,1]]}}}],["举办活动",{"_index":2335,"t":{"917":{"position":[[10,4]]}}}],["义父",{"_index":1668,"t":{"756":{"position":[[251,2]]}}}],["之中",{"_index":2142,"t":{"814":{"position":[[467,2]]}}}],["之前",{"_index":1876,"t":{"776":{"position":[[23,2]]},"792":{"position":[[37,2]]},"798":{"position":[[5,2]]},"867":{"position":[[59,2]]}}}],["之后",{"_index":104,"t":{"473":{"position":[[72,2]]},"627":{"position":[[72,2]]}}}],["之间",{"_index":1529,"t":{"725":{"position":[[249,2]]},"913":{"position":[[54,2]]}}}],["习惯",{"_index":138,"t":{"475":{"position":[[83,2]]},"629":{"position":[[83,2]]}}}],["书写",{"_index":1987,"t":{"794":{"position":[[83,2]]}}}],["了解",{"_index":2000,"t":{"798":{"position":[[10,2]]},"807":{"position":[[205,2]]},"812":{"position":[[98,2]]},"911":{"position":[[27,2],[53,2]]},"913":{"position":[[57,2]]},"919":{"position":[[63,2]]}}}],["予以",{"_index":2341,"t":{"921":{"position":[[20,2]]}}}],["事件",{"_index":1491,"t":{"722":{"position":[[255,2],[376,2]]},"727":{"position":[[231,2],[253,2]]}}}],["事务",{"_index":1724,"t":{"760":{"position":[[101,2]]}}}],["二个",{"_index":1930,"t":{"790":{"position":[[35,2]]}}}],["互利",{"_index":2315,"t":{"909":{"position":[[27,2]]}}}],["互动",{"_index":2329,"t":{"915":{"position":[[8,2]]}}}],["五个",{"_index":1472,"t":{"722":{"position":[[9,2]]}}}],["亟需",{"_index":2019,"t":{"798":{"position":[[171,2]]}}}],["交互",{"_index":64,"t":{"469":{"position":[[26,2]]},"623":{"position":[[26,2]]},"722":{"position":[[333,2],[378,2]]},"725":{"position":[[252,2]]},"727":{"position":[[203,2]]},"753":{"position":[[154,2]]},"762":{"position":[[102,2],[334,2],[905,2]]}}}],["交流",{"_index":1893,"t":{"781":{"position":[[1,2]]},"787":{"position":[[11,2]]},"913":{"position":[[43,2]]},"915":{"position":[[11,2]]},"917":{"position":[[20,2]]}}}],["产物",{"_index":1448,"t":{"712":{"position":[[1863,2]]}}}],["产生",{"_index":1925,"t":{"790":{"position":[[13,2]]}}}],["人们",{"_index":11,"t":{"465":{"position":[[29,2]]},"467":{"position":[[25,2]]},"485":{"position":[[29,2]]},"487":{"position":[[25,2]]},"502":{"position":[[29,2]]},"504":{"position":[[25,2]]},"589":{"position":[[25,2]]},"605":{"position":[[25,2]]},"621":{"position":[[25,2]]},"890":{"position":[[25,2]]}}}],["人员",{"_index":2086,"t":{"807":{"position":[[65,2]]}}}],["人类",{"_index":2283,"t":{"894":{"position":[[77,2]]}}}],["什么样",{"_index":2002,"t":{"798":{"position":[[14,3]]}}}],["仅",{"_index":2199,"t":{"833":{"position":[[3,1]]},"838":{"position":[[100,1]]}}}],["仅仅",{"_index":1525,"t":{"725":{"position":[[203,2]]},"798":{"position":[[239,2]]}}}],["介绍",{"_index":140,"t":{"477":{"position":[[2,2]]},"631":{"position":[[2,2]]}}}],["从而",{"_index":21,"t":{"465":{"position":[[59,2]]},"467":{"position":[[55,2]]},"485":{"position":[[59,2]]},"487":{"position":[[55,2]]},"502":{"position":[[59,2]]},"504":{"position":[[55,2]]},"589":{"position":[[55,2]]},"605":{"position":[[55,2]]},"621":{"position":[[55,2]]},"890":{"position":[[55,2]]},"894":{"position":[[92,2]]}}}],["仓库",{"_index":1240,"t":{"656":{"position":[[11,2]]},"674":{"position":[[7,2]]},"790":{"position":[[162,2],[209,2],[225,2],[233,2],[285,2],[296,2],[317,2],[335,2],[430,2],[464,2],[479,2],[500,2],[518,2],[540,2],[555,2],[579,2],[594,2],[610,2],[667,2],[716,2],[796,2],[830,2],[835,2],[920,2],[965,2],[1058,2],[1236,2],[1254,2],[1284,2],[1302,2]]},"792":{"position":[[173,2],[391,2]]},"835":{"position":[[11,2]]},"873":{"position":[[11,2]]}}}],["仔细",{"_index":1882,"t":{"779":{"position":[[33,2]]}}}],["仔细阅读",{"_index":1877,"t":{"776":{"position":[[27,4]]}}}],["他人",{"_index":2344,"t":{"923":{"position":[[2,2]]}}}],["他们",{"_index":2258,"t":{"880":{"position":[[200,2]]},"919":{"position":[[24,2]]}}}],["代理",{"_index":231,"t":{"489":{"position":[[62,2]]},"492":{"position":[[322,2]]},"607":{"position":[[62,2]]},"609":{"position":[[322,2]]},"660":{"position":[[116,2]]},"694":{"position":[[410,2]]},"753":{"position":[[458,2]]}}}],["代码",{"_index":407,"t":{"496":{"position":[[106,2],[329,2],[531,2]]},"500":{"position":[[123,2],[156,2]]},"516":{"position":[[123,2],[156,2]]},"601":{"position":[[123,2],[156,2]]},"613":{"position":[[106,2],[329,2],[531,2]]},"617":{"position":[[123,2],[156,2]]},"746":{"position":[[34,2]]},"753":{"position":[[101,2],[157,2],[300,2],[331,2],[418,2]]},"768":{"position":[[9,2]]},"772":{"position":[[767,2],[787,2],[837,2],[847,2]]},"774":{"position":[[385,2],[584,2],[654,2]]},"779":{"position":[[74,2]]},"781":{"position":[[52,2]]},"790":{"position":[[86,2],[100,2],[323,2],[506,2],[1242,2],[1290,2]]},"792":{"position":[[11,2],[18,2],[130,2]]},"798":{"position":[[3,2],[203,2],[330,2]]},"807":{"position":[[130,2],[178,2]]},"812":{"position":[[80,2],[101,2]]},"814":{"position":[[383,2],[824,2]]},"898":{"position":[[32,2]]},"906":{"position":[[153,2]]}}}],["代码执行",{"_index":1859,"t":{"774":{"position":[[106,4]]}}}],["代码运行",{"_index":2136,"t":{"814":{"position":[[345,4]]}}}],["代表",{"_index":65,"t":{"469":{"position":[[29,2]]},"623":{"position":[[29,2]]},"760":{"position":[[245,2]]}}}],["令牌",{"_index":1617,"t":{"746":{"position":[[76,2]]}}}],["以上",{"_index":1313,"t":{"686":{"position":[[23,2]]},"688":{"position":[[10,2]]},"871":{"position":[[16,2],[65,2]]}}}],["以下",{"_index":1659,"t":{"756":{"position":[[139,2]]},"776":{"position":[[31,2]]},"790":{"position":[[33,2]]},"838":{"position":[[9,2]]},"840":{"position":[[9,2]]},"892":{"position":[[115,2]]}}}],["以下几点",{"_index":2156,"t":{"814":{"position":[[705,4]]}}}],["以便",{"_index":211,"t":{"483":{"position":[[286,2]]},"637":{"position":[[286,2]]},"753":{"position":[[205,2]]},"810":{"position":[[46,2]]},"900":{"position":[[30,2]]},"902":{"position":[[37,2]]},"919":{"position":[[52,2]]}}}],["以及",{"_index":1679,"t":{"756":{"position":[[412,2]]},"762":{"position":[[130,2],[362,2],[627,2]]},"774":{"position":[[149,2]]},"779":{"position":[[72,2],[108,2]]},"798":{"position":[[201,2]]},"807":{"position":[[528,2]]},"814":{"position":[[878,2]]}}}],["仪表盘",{"_index":1812,"t":{"772":{"position":[[140,3],[257,3]]}}}],["价值",{"_index":92,"t":{"473":{"position":[[30,2]]},"627":{"position":[[30,2]]},"783":{"position":[[39,2]]},"798":{"position":[[100,2]]},"801":{"position":[[39,2]]},"906":{"position":[[192,2]]},"911":{"position":[[9,2]]},"919":{"position":[[46,2]]}}}],["任何",{"_index":261,"t":{"492":{"position":[[31,2],[45,2]]},"609":{"position":[[31,2],[45,2]]},"764":{"position":[[376,2]]},"900":{"position":[[11,2]]},"906":{"position":[[165,2]]},"923":{"position":[[41,2]]}}}],["任务",{"_index":229,"t":{"489":{"position":[[41,2]]},"500":{"position":[[146,2],[166,2]]},"516":{"position":[[146,2],[166,2]]},"601":{"position":[[146,2],[166,2]]},"607":{"position":[[41,2]]},"617":{"position":[[146,2],[166,2]]},"758":{"position":[[410,2]]}}}],["众",{"_index":2028,"t":{"798":{"position":[[269,1]]}}}],["优先",{"_index":1676,"t":{"756":{"position":[[371,2]]},"906":{"position":[[118,2]]},"919":{"position":[[10,2]]},"921":{"position":[[18,2]]}}}],["优化",{"_index":286,"t":{"492":{"position":[[201,2]]},"500":{"position":[[15,2]]},"516":{"position":[[15,2]]},"601":{"position":[[15,2]]},"609":{"position":[[201,2]]},"617":{"position":[[15,2]]},"772":{"position":[[717,2]]},"810":{"position":[[72,2]]},"894":{"position":[[59,2],[208,2]]}}}],["伙伴",{"_index":254,"t":{"489":{"position":[[169,2]]},"607":{"position":[[169,2]]}}}],["会",{"_index":135,"t":{"475":{"position":[[76,1]]},"496":{"position":[[32,1]]},"613":{"position":[[32,1]]},"629":{"position":[[76,1]]},"725":{"position":[[375,1]]},"727":{"position":[[51,1]]},"756":{"position":[[370,1]]},"758":{"position":[[36,1]]},"764":{"position":[[174,1]]},"770":{"position":[[86,1]]},"790":{"position":[[12,1],[653,1],[1393,1]]},"792":{"position":[[240,1]]},"798":{"position":[[92,1],[122,1]]},"801":{"position":[[165,1],[193,1]]},"803":{"position":[[129,1]]},"840":{"position":[[39,1]]},"906":{"position":[[117,1]]},"936":{"position":[[147,1]]}}}],["传入",{"_index":426,"t":{"496":{"position":[[489,2]]},"613":{"position":[[489,2]]}}}],["传输",{"_index":1705,"t":{"758":{"position":[[181,2]]}}}],["但是",{"_index":248,"t":{"489":{"position":[[143,2]]},"496":{"position":[[57,2]]},"607":{"position":[[143,2]]},"613":{"position":[[57,2]]},"725":{"position":[[255,2]]},"790":{"position":[[618,2],[651,2]]},"807":{"position":[[138,2]]}}}],["位于",{"_index":1918,"t":{"785":{"position":[[10,2]]}}}],["位置",{"_index":1605,"t":{"738":{"position":[[73,2]]}}}],["低",{"_index":2015,"t":{"798":{"position":[[102,1]]}}}],["体验",{"_index":2383,"t":{"939":{"position":[[2,2]]}}}],["作为",{"_index":113,"t":{"475":{"position":[[4,2],[14,2]]},"629":{"position":[[4,2],[14,2]]},"722":{"position":[[227,2]]},"766":{"position":[[24,2]]},"846":{"position":[[6,2]]}}}],["作用",{"_index":431,"t":{"496":{"position":[[534,2]]},"613":{"position":[[534,2]]},"764":{"position":[[329,2]]}}}],["作者",{"_index":2045,"t":{"798":{"position":[[453,2],[476,2]]}}}],["使用",{"_index":137,"t":{"475":{"position":[[81,2]]},"492":{"position":[[6,2],[18,2],[58,2]]},"500":{"position":[[254,2]]},"516":{"position":[[254,2]]},"601":{"position":[[254,2]]},"609":{"position":[[6,2],[18,2],[58,2]]},"617":{"position":[[254,2]]},"629":{"position":[[81,2]]},"678":{"position":[[107,2]]},"710":{"position":[[201,2]]},"753":{"position":[[58,2],[96,2]]},"756":{"position":[[339,2],[373,2]]},"772":{"position":[[594,2],[746,2],[813,2]]},"774":{"position":[[413,2]]},"781":{"position":[[26,2]]},"783":{"position":[[13,2]]},"798":{"position":[[358,2]]},"814":{"position":[[271,2],[711,2],[720,2],[728,2]]},"819":{"position":[[143,2]]},"833":{"position":[[7,2],[84,2]]},"838":{"position":[[104,2]]},"840":{"position":[[85,2]]},"852":{"position":[[45,2]]},"871":{"position":[[58,2],[74,2]]},"894":{"position":[[8,2],[174,2]]},"902":{"position":[[48,2]]},"906":{"position":[[159,2]]}}}],["例",{"_index":1250,"t":{"658":{"position":[[17,1]]},"676":{"position":[[17,1]]}}}],["例如",{"_index":493,"t":{"500":{"position":[[278,2]]},"516":{"position":[[278,2]]},"601":{"position":[[278,2]]},"617":{"position":[[278,2]]},"660":{"position":[[36,2]]},"694":{"position":[[330,2]]},"758":{"position":[[40,2],[330,2],[377,2]]},"760":{"position":[[593,2]]},"766":{"position":[[549,2]]}}}],["例子",{"_index":2173,"t":{"814":{"position":[[972,2]]}}}],["供",{"_index":1863,"t":{"774":{"position":[[376,1],[567,1]]}}}],["依赖",{"_index":263,"t":{"492":{"position":[[35,2]]},"609":{"position":[[35,2]]},"753":{"position":[[45,2],[65,2]]},"756":{"position":[[58,2],[164,2],[186,2],[209,2],[267,2],[311,2],[326,2],[357,2],[363,2],[405,2],[433,2],[443,2]]},"798":{"position":[[311,2],[318,2]]},"838":{"position":[[63,2]]}}}],["依赖于",{"_index":1773,"t":{"762":{"position":[[823,3]]},"766":{"position":[[516,3],[572,3]]}}}],["侧边",{"_index":1815,"t":{"772":{"position":[[182,2]]}}}],["促使",{"_index":1899,"t":{"781":{"position":[[33,2]]}}}],["保存",{"_index":207,"t":{"483":{"position":[[262,2],[267,2]]},"637":{"position":[[262,2],[267,2]]},"716":{"position":[[225,2]]},"727":{"position":[[300,2]]},"766":{"position":[[219,2]]},"934":{"position":[[450,2],[480,2]]}}}],["信",{"_index":2056,"t":{"801":{"position":[[85,1],[277,1]]}}}],["信息",{"_index":149,"t":{"479":{"position":[[35,2],[231,2]]},"481":{"position":[[47,2],[110,2]]},"496":{"position":[[512,2],[573,2]]},"613":{"position":[[512,2],[573,2]]},"633":{"position":[[35,2],[231,2]]},"635":{"position":[[47,2],[110,2]]},"694":{"position":[[241,2]]},"696":{"position":[[51,2],[312,2]]},"756":{"position":[[52,2]]},"762":{"position":[[605,2]]},"770":{"position":[[37,2]]},"774":{"position":[[513,2],[525,2]]},"779":{"position":[[106,2]]},"790":{"position":[[925,2]]},"812":{"position":[[91,2]]},"814":{"position":[[33,2]]},"880":{"position":[[25,2]]},"930":{"position":[[50,2],[253,2]]},"932":{"position":[[55,2],[109,2],[211,2],[217,2]]}}}],["修复",{"_index":1853,"t":{"772":{"position":[[845,2]]},"779":{"position":[[16,2],[138,2],[168,2]]},"796":{"position":[[51,2]]},"798":{"position":[[145,2],[163,2],[241,2]]},"810":{"position":[[36,2]]},"862":{"position":[[14,2]]}}}],["修改",{"_index":181,"t":{"483":{"position":[[6,2],[22,2]]},"637":{"position":[[6,2],[22,2]]},"694":{"position":[[234,2],[244,2]]},"696":{"position":[[44,2],[305,2]]},"710":{"position":[[6,2]]},"712":{"position":[[65,2]]},"716":{"position":[[4,2],[19,2],[171,2]]},"727":{"position":[[117,2],[218,2],[229,2],[302,2],[323,2]]},"790":{"position":[[1349,2]]},"792":{"position":[[196,2]]},"798":{"position":[[379,2],[408,2]]},"814":{"position":[[377,2]]},"827":{"position":[[58,2]]},"934":{"position":[[576,2],[584,2],[603,2],[628,2],[655,2],[707,2],[714,2],[742,2],[777,2],[812,2],[878,2],[886,2],[906,2],[954,2],[982,2],[1110,2]]}}}],["修补",{"_index":2134,"t":{"814":{"position":[[303,2]]}}}],["值",{"_index":1464,"t":{"716":{"position":[[223,1]]},"734":{"position":[[113,1],[196,1]]},"758":{"position":[[218,1]]}}}],["假设",{"_index":1447,"t":{"712":{"position":[[1844,2]]}}}],["做",{"_index":128,"t":{"475":{"position":[[54,1]]},"500":{"position":[[155,1]]},"516":{"position":[[155,1]]},"601":{"position":[[155,1]]},"617":{"position":[[155,1]]},"629":{"position":[[54,1]]},"722":{"position":[[199,1],[362,1]]},"725":{"position":[[221,1],[281,1],[324,1]]},"727":{"position":[[67,1]]},"783":{"position":[[30,1]]}}}],["做出",{"_index":1563,"t":{"727":{"position":[[325,2]]}}}],["停止",{"_index":1386,"t":{"698":{"position":[[62,2]]}}}],["允许",{"_index":2064,"t":{"801":{"position":[[202,2]]},"803":{"position":[[138,2]]},"814":{"position":[[269,2]]}}}],["元",{"_index":1792,"t":{"766":{"position":[[368,1]]}}}],["元素",{"_index":90,"t":{"473":{"position":[[23,2]]},"627":{"position":[[23,2]]},"736":{"position":[[6,2]]},"738":{"position":[[6,2],[57,2]]},"748":{"position":[[167,2],[236,2],[273,2]]}}}],["元组",{"_index":417,"t":{"496":{"position":[[367,2],[544,2]]},"613":{"position":[[367,2],[544,2]]}}}],["先",{"_index":1233,"t":{"654":{"position":[[6,1]]},"672":{"position":[[6,1]]},"779":{"position":[[20,1]]},"792":{"position":[[41,1]]},"858":{"position":[[16,1]]},"880":{"position":[[6,1]]}}}],["克隆",{"_index":1951,"t":{"790":{"position":[[705,2]]},"792":{"position":[[143,2]]}}}],["入口",{"_index":1642,"t":{"753":{"position":[[283,2]]},"766":{"position":[[29,2]]},"772":{"position":[[44,2]]}}}],["入门",{"_index":473,"t":{"500":{"position":[[142,2]]},"516":{"position":[[142,2]]},"601":{"position":[[142,2]]},"617":{"position":[[142,2]]}}}],["全局",{"_index":1686,"t":{"758":{"position":[[19,2]]}}}],["全票",{"_index":2075,"t":{"803":{"position":[[147,2]]}}}],["公众",{"_index":2193,"t":{"819":{"position":[[428,2]]},"880":{"position":[[9,2],[137,2]]},"882":{"position":[[64,2]]}}}],["公共",{"_index":1829,"t":{"772":{"position":[[585,2]]}}}],["公布",{"_index":2232,"t":{"864":{"position":[[6,2]]}}}],["公网",{"_index":517,"t":{"506":{"position":[[19,2]]},"591":{"position":[[19,2]]}}}],["共享",{"_index":2297,"t":{"900":{"position":[[41,2]]}}}],["共同",{"_index":2268,"t":{"882":{"position":[[113,2]]},"917":{"position":[[8,2],[39,2]]},"923":{"position":[[87,2]]}}}],["共建",{"_index":253,"t":{"489":{"position":[[167,2]]},"498":{"position":[[90,2]]},"514":{"position":[[66,2]]},"599":{"position":[[66,2]]},"607":{"position":[[167,2]]},"615":{"position":[[90,2]]},"898":{"position":[[17,2]]},"909":{"position":[[10,2]]},"911":{"position":[[55,2]]},"915":{"position":[[48,2]]},"917":{"position":[[34,2]]},"919":{"position":[[14,2],[38,2]]},"921":{"position":[[1,2],[47,2]]},"923":{"position":[[70,2]]}}}],["共用",{"_index":1973,"t":{"792":{"position":[[13,2]]}}}],["关于",{"_index":2183,"t":{"816":{"position":[[42,2]]},"894":{"position":[[145,2]]}}}],["关注",{"_index":2306,"t":{"906":{"position":[[120,2]]},"921":{"position":[[22,2]]}}}],["关系",{"_index":110,"t":{"473":{"position":[[89,2]]},"627":{"position":[[89,2]]},"892":{"position":[[83,2]]}}}],["关联",{"_index":209,"t":{"483":{"position":[[274,2]]},"637":{"position":[[274,2]]},"748":{"position":[[79,2],[161,2],[230,2],[266,2],[418,2],[476,2],[505,2]]},"790":{"position":[[1582,2]]},"812":{"position":[[31,2],[89,2]]},"934":{"position":[[490,2]]}}}],["关闭",{"_index":2070,"t":{"801":{"position":[[318,2]]},"812":{"position":[[150,2]]},"814":{"position":[[895,2],[941,2],[957,2]]},"852":{"position":[[71,2]]},"860":{"position":[[34,2]]}}}],["兴起",{"_index":7,"t":{"465":{"position":[[17,2]]},"467":{"position":[[13,2]]},"485":{"position":[[17,2]]},"487":{"position":[[13,2]]},"502":{"position":[[17,2]]},"504":{"position":[[13,2]]},"589":{"position":[[13,2]]},"605":{"position":[[13,2]]},"621":{"position":[[13,2]]},"890":{"position":[[13,2]]}}}],["兴趣",{"_index":2308,"t":{"906":{"position":[[145,2]]}}}],["其中",{"_index":1452,"t":{"714":{"position":[[40,2]]},"814":{"position":[[119,2]]}}}],["其他",{"_index":501,"t":{"500":{"position":[[360,2]]},"516":{"position":[[360,2]]},"601":{"position":[[360,2]]},"617":{"position":[[360,2]]},"762":{"position":[[635,2]]},"781":{"position":[[101,2]]},"787":{"position":[[22,2]]},"798":{"position":[[296,2]]},"801":{"position":[[178,2]]},"803":{"position":[[65,2],[113,2],[206,2]]},"807":{"position":[[25,2],[165,2],[524,2]]},"814":{"position":[[470,2]]},"880":{"position":[[256,2]]},"898":{"position":[[40,2]]},"917":{"position":[[1,2]]},"919":{"position":[[54,2]]}}}],["其余",{"_index":93,"t":{"473":{"position":[[34,2]]},"627":{"position":[[34,2]]}}}],["其它",{"_index":533,"t":{"510":{"position":[[37,2]]},"595":{"position":[[37,2]]}}}],["具体",{"_index":1522,"t":{"725":{"position":[[164,2],[391,2]]},"762":{"position":[[698,2],[767,2]]},"766":{"position":[[849,2]]},"892":{"position":[[43,2]]}}}],["具体方法",{"_index":1758,"t":{"762":{"position":[[105,4],[337,4]]}}}],["具备",{"_index":1534,"t":{"725":{"position":[[294,2]]},"727":{"position":[[176,2]]},"760":{"position":[[697,2]]}}}],["具有",{"_index":118,"t":{"475":{"position":[[21,2]]},"629":{"position":[[21,2]]},"892":{"position":[[113,2]]}}}],["兼容",{"_index":2166,"t":{"814":{"position":[[815,2],[833,2]]}}}],["兼容问题",{"_index":2223,"t":{"855":{"position":[[33,4]]}}}],["内",{"_index":401,"t":{"496":{"position":[[20,1]]},"506":{"position":[[72,1]]},"508":{"position":[[28,1],[130,1],[189,1]]},"591":{"position":[[72,1]]},"593":{"position":[[28,1],[130,1],[189,1]]},"613":{"position":[[20,1]]},"915":{"position":[[7,1],[32,1]]},"919":{"position":[[42,1]]}}}],["内存",{"_index":1280,"t":{"670":{"position":[[8,2]]},"684":{"position":[[28,2],[63,2],[88,2]]}}}],["内存大小",{"_index":1301,"t":{"684":{"position":[[52,4]]}}}],["内容",{"_index":16,"t":{"465":{"position":[[44,2]]},"467":{"position":[[40,2]]},"485":{"position":[[44,2]]},"487":{"position":[[40,2]]},"500":{"position":[[217,2],[238,2]]},"502":{"position":[[44,2]]},"504":{"position":[[40,2]]},"516":{"position":[[217,2],[238,2]]},"589":{"position":[[40,2]]},"601":{"position":[[217,2],[238,2]]},"605":{"position":[[40,2]]},"617":{"position":[[217,2],[238,2]]},"621":{"position":[[40,2]]},"712":{"position":[[116,2]]},"725":{"position":[[171,2]]},"772":{"position":[[35,2],[188,2],[305,2]]},"798":{"position":[[413,2]]},"803":{"position":[[60,2]]},"890":{"position":[[40,2]]}}}],["内核",{"_index":1397,"t":{"710":{"position":[[131,2]]},"774":{"position":[[96,2],[113,2],[130,2],[141,2],[153,2],[182,2],[225,2],[251,2],[272,2],[405,2],[602,2],[616,2],[645,2]]}}}],["内测",{"_index":2189,"t":{"819":{"position":[[344,2]]}}}],["内聚",{"_index":1487,"t":{"722":{"position":[[232,2]]}}}],["内部",{"_index":236,"t":{"489":{"position":[[98,2]]},"498":{"position":[[26,2]]},"506":{"position":[[36,2]]},"510":{"position":[[60,2]]},"591":{"position":[[36,2]]},"595":{"position":[[60,2]]},"607":{"position":[[98,2]]},"615":{"position":[[26,2]]},"722":{"position":[[266,2]]},"725":{"position":[[11,2]]}}}],["写作",{"_index":2359,"t":{"925":{"position":[[11,2]]}}}],["写入",{"_index":2234,"t":{"867":{"position":[[140,2]]}}}],["冲突",{"_index":1674,"t":{"756":{"position":[[365,2]]}}}],["决定",{"_index":2077,"t":{"803":{"position":[[243,2]]}}}],["准备",{"_index":1995,"t":{"796":{"position":[[200,2]]},"819":{"position":[[360,2],[410,2]]},"855":{"position":[[0,2]]}}}],["准确性",{"_index":2282,"t":{"892":{"position":[[206,3]]},"894":{"position":[[152,3],[201,3],[288,3]]}}}],["减少",{"_index":2021,"t":{"798":{"position":[[196,2]]}}}],["减轻",{"_index":2252,"t":{"880":{"position":[[74,2]]}}}],["几个",{"_index":1776,"t":{"764":{"position":[[112,2]]}}}],["几乎",{"_index":2016,"t":{"798":{"position":[[107,2]]}}}],["几何",{"_index":61,"t":{"469":{"position":[[17,2]]},"623":{"position":[[17,2]]}}}],["几步",{"_index":108,"t":{"473":{"position":[[82,2]]},"627":{"position":[[82,2]]}}}],["几率",{"_index":2012,"t":{"798":{"position":[[75,2]]}}}],["出",{"_index":1319,"t":{"691":{"position":[[103,1]]},"706":{"position":[[94,1]]},"822":{"position":[[109,1]]},"936":{"position":[[156,1],[190,1],[195,1]]}}}],["出现",{"_index":2141,"t":{"814":{"position":[[452,2]]}}}],["函数",{"_index":1835,"t":{"772":{"position":[[641,2]]},"774":{"position":[[300,2],[466,2]]}}}],["分为",{"_index":1389,"t":{"708":{"position":[[0,2]]},"722":{"position":[[7,2]]}}}],["分享",{"_index":497,"t":{"500":{"position":[[343,2]]},"516":{"position":[[343,2]]},"601":{"position":[[343,2]]},"617":{"position":[[343,2]]},"911":{"position":[[6,2]]},"915":{"position":[[22,2]]},"917":{"position":[[15,2]]},"919":{"position":[[43,2]]}}}],["分别",{"_index":1625,"t":{"748":{"position":[[322,2]]},"772":{"position":[[224,2],[531,2]]}}}],["分发",{"_index":1640,"t":{"753":{"position":[[252,2]]}}}],["分成",{"_index":2149,"t":{"814":{"position":[[664,2]]}}}],["分支",{"_index":1927,"t":{"790":{"position":[[19,2],[37,2],[77,2],[91,2],[111,2],[116,2],[139,2],[319,2],[360,2],[434,2],[448,2],[467,2],[502,2],[543,2],[582,2],[615,2],[631,2],[923,2],[969,2],[1044,2],[1142,2],[1177,2],[1238,2],[1257,2],[1286,2],[1317,2],[1336,2],[1346,2],[1629,2]]},"792":{"position":[[150,2],[186,2],[193,2],[251,2],[340,2],[384,2]]},"796":{"position":[[76,2],[260,2]]},"801":{"position":[[335,2],[342,2],[358,2]]},"803":{"position":[[232,2]]},"819":{"position":[[94,2],[272,2],[295,2],[307,2]]},"846":{"position":[[4,2],[11,2],[46,2],[51,2],[157,2]]},"848":{"position":[[8,2],[30,2]]},"852":{"position":[[29,2]]},"867":{"position":[[78,2],[169,2],[178,2]]}}}],["分析",{"_index":547,"t":{"514":{"position":[[22,2]]},"599":{"position":[[22,2]]}}}],["分离",{"_index":1975,"t":{"792":{"position":[[28,2]]}}}],["分类器",{"_index":1579,"t":{"732":{"position":[[72,3]]}}}],["分钟",{"_index":986,"t":{"587":{"position":[[18,2]]},"603":{"position":[[18,2]]},"619":{"position":[[18,2]]}}}],["分页",{"_index":1723,"t":{"760":{"position":[[96,2],[496,2]]}}}],["列表",{"_index":142,"t":{"477":{"position":[[14,2]]},"479":{"position":[[106,2],[173,2],[222,2],[282,2]]},"481":{"position":[[37,2],[55,2],[76,2],[99,2],[154,2]]},"500":{"position":[[168,2]]},"516":{"position":[[168,2]]},"601":{"position":[[168,2]]},"617":{"position":[[168,2]]},"631":{"position":[[14,2]]},"633":{"position":[[106,2],[173,2],[222,2],[282,2]]},"635":{"position":[[37,2],[55,2],[76,2],[99,2],[154,2]]},"722":{"position":[[41,2],[181,2]]},"766":{"position":[[434,2]]},"772":{"position":[[129,2],[136,2],[232,2],[238,2],[720,2]]},"896":{"position":[[20,2]]},"930":{"position":[[107,2],[173,2],[241,2],[293,2]]},"932":{"position":[[45,2],[62,2],[74,2],[99,2],[143,2],[201,2]]},"934":{"position":[[47,2],[110,2],[591,2],[641,2],[731,2],[799,2]]}}}],["创作",{"_index":2336,"t":{"917":{"position":[[41,2]]}}}],["创建",{"_index":186,"t":{"483":{"position":[[57,2],[321,2]]},"496":{"position":[[363,2],[507,2],[538,2]]},"613":{"position":[[363,2],[507,2],[538,2]]},"637":{"position":[[57,2],[321,2]]},"694":{"position":[[142,2]]},"730":{"position":[[112,2],[147,2],[166,2]]},"734":{"position":[[236,2]]},"736":{"position":[[84,2]]},"738":{"position":[[90,2]]},"740":{"position":[[98,2]]},"742":{"position":[[93,2]]},"744":{"position":[[64,2]]},"748":{"position":[[460,2]]},"758":{"position":[[379,2],[401,2]]},"762":{"position":[[196,2],[269,2],[428,2],[501,2]]},"764":{"position":[[291,2],[430,2]]},"766":{"position":[[278,2],[477,2]]},"772":{"position":[[402,2]]},"779":{"position":[[21,2]]},"790":{"position":[[113,2]]},"801":{"position":[[328,2]]},"819":{"position":[[0,2]]},"848":{"position":[[28,2]]},"867":{"position":[[3,2],[80,2]]},"902":{"position":[[2,2]]},"934":{"position":[[18,2],[40,2],[62,2],[93,2],[171,2]]}}}],["创意",{"_index":82,"t":{"471":{"position":[[51,2]]},"625":{"position":[[51,2]]}}}],["创新",{"_index":27,"t":{"465":{"position":[[84,2]]},"467":{"position":[[80,2]]},"485":{"position":[[84,2]]},"487":{"position":[[80,2]]},"502":{"position":[[84,2]]},"504":{"position":[[80,2]]},"589":{"position":[[80,2]]},"605":{"position":[[80,2]]},"621":{"position":[[80,2]]},"890":{"position":[[80,2]]}}}],["初始化",{"_index":1343,"t":{"694":{"position":[[2,3],[735,3]]},"753":{"position":[[292,3]]},"772":{"position":[[58,3]]},"774":{"position":[[315,3]]}}}],["删掉",{"_index":97,"t":{"473":{"position":[[45,2]]},"627":{"position":[[45,2]]}}}],["删除",{"_index":166,"t":{"479":{"position":[[237,2],[248,2],[261,2]]},"481":{"position":[[114,2],[124,2],[136,2]]},"483":{"position":[[9,2],[25,2]]},"633":{"position":[[237,2],[248,2],[261,2]]},"635":{"position":[[114,2],[124,2],[136,2]]},"637":{"position":[[9,2],[25,2]]},"722":{"position":[[200,2]]},"766":{"position":[[496,2]]},"790":{"position":[[445,2],[639,2],[1615,2]]},"930":{"position":[[258,2],[265,2],[275,2]]},"932":{"position":[[112,2],[118,2],[127,2]]},"934":{"position":[[610,2],[634,2],[749,2],[782,2],[913,2],[960,2]]}}}],["利用",{"_index":44,"t":{"465":{"position":[[146,2]]},"467":{"position":[[142,2]]},"485":{"position":[[146,2]]},"487":{"position":[[142,2]]},"502":{"position":[[146,2]]},"504":{"position":[[142,2]]},"589":{"position":[[142,2]]},"605":{"position":[[142,2]]},"621":{"position":[[142,2]]},"890":{"position":[[142,2]]},"894":{"position":[[75,2]]}}}],["制定",{"_index":2068,"t":{"801":{"position":[[285,2]]},"807":{"position":[[542,2]]}}}],["前",{"_index":1851,"t":{"772":{"position":[[839,1]]},"860":{"position":[[19,1]]},"934":{"position":[[1190,1]]}}}],["前后",{"_index":1972,"t":{"792":{"position":[[8,2]]},"807":{"position":[[211,2]]}}}],["前端",{"_index":1318,"t":{"691":{"position":[[95,2]]},"701":{"position":[[2,2]]},"706":{"position":[[138,2]]},"712":{"position":[[288,2],[1846,2]]},"751":{"position":[[20,2]]},"753":{"position":[[416,2],[464,2]]},"772":{"position":[[25,2],[537,2]]},"774":{"position":[[33,2],[101,2],[377,2],[568,2],[574,2],[677,2]]},"840":{"position":[[42,2]]}}}],["前缀",{"_index":1996,"t":{"796":{"position":[[221,2]]}}}],["副作用",{"_index":2010,"t":{"798":{"position":[[62,3],[231,3]]}}}],["功能",{"_index":41,"t":{"465":{"position":[[120,2]]},"467":{"position":[[116,2]]},"477":{"position":[[12,2]]},"485":{"position":[[120,2]]},"487":{"position":[[116,2]]},"502":{"position":[[120,2]]},"504":{"position":[[116,2]]},"589":{"position":[[116,2]]},"605":{"position":[[116,2]]},"621":{"position":[[116,2]]},"631":{"position":[[12,2]]},"753":{"position":[[393,2]]},"774":{"position":[[694,2]]},"781":{"position":[[12,2],[80,2],[168,2],[208,2]]},"796":{"position":[[57,2],[169,2]]},"798":{"position":[[174,2],[262,2],[298,2]]},"810":{"position":[[39,2]]},"814":{"position":[[287,2],[371,2]]},"890":{"position":[[116,2]]},"919":{"position":[[3,2]]}}}],["功能模块",{"_index":1856,"t":{"774":{"position":[[52,4]]}}}],["加上",{"_index":1970,"t":{"790":{"position":[[1512,2]]},"796":{"position":[[212,2]]}}}],["加入",{"_index":2065,"t":{"801":{"position":[[206,2],[269,2]]},"803":{"position":[[142,2]]}}}],["加密",{"_index":1690,"t":{"758":{"position":[[52,2],[166,2]]}}}],["加载",{"_index":1539,"t":{"725":{"position":[[376,2]]},"762":{"position":[[542,2]]}}}],["务必",{"_index":1905,"t":{"781":{"position":[[89,2]]}}}],["动宾",{"_index":2157,"t":{"814":{"position":[[713,2]]}}}],["动态",{"_index":2319,"t":{"911":{"position":[[44,2]]}}}],["助于",{"_index":1884,"t":{"779":{"position":[[47,2]]}}}],["助手",{"_index":492,"t":{"500":{"position":[[275,2]]},"516":{"position":[[275,2]]},"601":{"position":[[275,2]]},"617":{"position":[[275,2]]}}}],["包",{"_index":1245,"t":{"656":{"position":[[121,1],[129,1]]},"712":{"position":[[290,1]]},"764":{"position":[[298,1],[437,1]]},"835":{"position":[[121,1]]},"873":{"position":[[121,1]]}}}],["包含",{"_index":419,"t":{"496":{"position":[[381,2],[547,2]]},"613":{"position":[[381,2],[547,2]]},"748":{"position":[[497,2]]},"753":{"position":[[89,2],[146,2],[287,2],[325,2],[414,2]]},"760":{"position":[[21,2]]},"762":{"position":[[33,2],[594,2]]},"764":{"position":[[215,2],[312,2],[439,2]]},"768":{"position":[[0,2]]},"770":{"position":[[26,2]]},"772":{"position":[[580,2]]},"774":{"position":[[504,2]]},"779":{"position":[[94,2],[142,2]]},"781":{"position":[[134,2],[171,2]]},"796":{"position":[[166,2],[179,2]]},"807":{"position":[[76,2]]},"880":{"position":[[37,2]]}}}],["包括",{"_index":17,"t":{"465":{"position":[[46,2]]},"467":{"position":[[42,2]]},"479":{"position":[[13,2]]},"483":{"position":[[269,2]]},"485":{"position":[[46,2]]},"487":{"position":[[42,2]]},"500":{"position":[[241,2]]},"502":{"position":[[46,2]]},"504":{"position":[[42,2]]},"516":{"position":[[241,2]]},"589":{"position":[[42,2]]},"601":{"position":[[241,2]]},"605":{"position":[[42,2]]},"617":{"position":[[241,2]]},"621":{"position":[[42,2]]},"633":{"position":[[13,2]]},"637":{"position":[[269,2]]},"727":{"position":[[184,2]]},"748":{"position":[[486,2]]},"758":{"position":[[254,2]]},"762":{"position":[[110,2],[342,2]]},"766":{"position":[[95,2]]},"772":{"position":[[37,2],[118,2],[177,2],[456,2]]},"774":{"position":[[56,2]]},"781":{"position":[[45,2]]},"787":{"position":[[0,2]]},"801":{"position":[[316,2]]},"814":{"position":[[91,2],[176,2]]},"890":{"position":[[42,2]]},"894":{"position":[[121,2]]},"930":{"position":[[28,2]]},"934":{"position":[[485,2]]}}}],["包装",{"_index":1530,"t":{"725":{"position":[[282,2],[327,2]]},"760":{"position":[[488,2],[494,2]]}}}],["化",{"_index":279,"t":{"492":{"position":[[139,1],[152,1]]},"510":{"position":[[2,1]]},"595":{"position":[[2,1]]},"609":{"position":[[139,1],[152,1]]},"886":{"position":[[108,1]]}}}],["区",{"_index":1477,"t":{"722":{"position":[[43,1],[74,1],[183,1],[225,1]]},"725":{"position":[[50,1],[70,1]]}}}],["区域",{"_index":1473,"t":{"722":{"position":[[11,2],[84,2],[106,2],[330,2],[344,2],[389,2],[410,2]]},"772":{"position":[[190,2]]}}}],["半年",{"_index":2054,"t":{"801":{"position":[[60,2]]}}}],["协议",{"_index":269,"t":{"492":{"position":[[66,2],[97,2]]},"609":{"position":[[66,2],[97,2]]}}}],["单元测试",{"_index":1847,"t":{"772":{"position":[[802,4]]}}}],["单机",{"_index":287,"t":{"492":{"position":[[204,2]]},"609":{"position":[[204,2]]}}}],["单独",{"_index":510,"t":{"506":{"position":[[0,2],[31,2]]},"591":{"position":[[0,2],[31,2]]}}}],["单行",{"_index":165,"t":{"479":{"position":[[235,2]]},"633":{"position":[[235,2]]},"930":{"position":[[256,2],[511,2]]}}}],["占用",{"_index":1462,"t":{"716":{"position":[[166,2]]}}}],["即使",{"_index":105,"t":{"473":{"position":[[75,2]]},"627":{"position":[[75,2]]}}}],["即可",{"_index":1239,"t":{"654":{"position":[[61,2]]},"672":{"position":[[41,2]]},"833":{"position":[[46,2]]}}}],["历史",{"_index":2125,"t":{"814":{"position":[[31,2]]}}}],["压力",{"_index":2253,"t":{"880":{"position":[[83,2]]}}}],["原",{"_index":1964,"t":{"790":{"position":[[1345,1]]},"792":{"position":[[192,1]]},"934":{"position":[[546,1],[681,1],[850,1]]}}}],["原则",{"_index":1990,"t":{"796":{"position":[[117,2]]}}}],["原因",{"_index":1892,"t":{"779":{"position":[[135,2]]},"798":{"position":[[157,2]]}}}],["原始",{"_index":1948,"t":{"790":{"position":[[665,2]]}}}],["参与",{"_index":457,"t":{"500":{"position":[[29,2],[58,2]]},"516":{"position":[[29,2],[58,2]]},"601":{"position":[[29,2],[58,2]]},"617":{"position":[[29,2],[58,2]]},"776":{"position":[[19,2]]},"787":{"position":[[2,2]]},"801":{"position":[[280,2]]},"803":{"position":[[241,2],[274,2]]},"898":{"position":[[15,2]]},"906":{"position":[[150,2],[169,2]]},"909":{"position":[[8,2]]},"917":{"position":[[32,2]]},"923":{"position":[[36,2],[102,2]]}}}],["参加",{"_index":2325,"t":{"913":{"position":[[31,2]]}}}],["参数",{"_index":427,"t":{"496":{"position":[[491,2]]},"613":{"position":[[491,2]]},"730":{"position":[[130,2]]},"762":{"position":[[631,2]]},"766":{"position":[[167,2],[635,2]]}}}],["参考",{"_index":466,"t":{"500":{"position":[[67,2]]},"516":{"position":[[67,2]]},"601":{"position":[[67,2]]},"617":{"position":[[67,2]]},"701":{"position":[[0,2]]},"794":{"position":[[21,2],[113,2]]},"796":{"position":[[21,2],[124,2]]},"840":{"position":[[78,2]]},"880":{"position":[[7,2],[267,2]]}}}],["参见",{"_index":1944,"t":{"790":{"position":[[483,2],[1260,2]]},"896":{"position":[[24,2]]}}}],["及其",{"_index":1521,"t":{"725":{"position":[[162,2]]},"756":{"position":[[314,2]]}}}],["友好",{"_index":2313,"t":{"909":{"position":[[21,2]]}}}],["双语",{"_index":1986,"t":{"794":{"position":[[81,2]]}}}],["反",{"_index":1712,"t":{"758":{"position":[[276,1]]}}}],["反馈",{"_index":1880,"t":{"779":{"position":[[12,2],[81,2]]},"862":{"position":[[2,2]]},"894":{"position":[[79,2],[127,2],[156,2],[171,2],[215,2],[272,2]]},"902":{"position":[[41,2]]},"906":{"position":[[45,2]]},"919":{"position":[[33,2]]}}}],["发",{"_index":2212,"t":{"843":{"position":[[11,1],[17,1]]}}}],["发展",{"_index":507,"t":{"500":{"position":[[390,2]]},"516":{"position":[[390,2]]},"601":{"position":[[390,2]]},"617":{"position":[[390,2]]},"785":{"position":[[48,2]]},"803":{"position":[[267,2]]}}}],["发布",{"_index":273,"t":{"492":{"position":[[112,2]]},"500":{"position":[[222,2]]},"516":{"position":[[222,2]]},"601":{"position":[[222,2]]},"609":{"position":[[112,2]]},"617":{"position":[[222,2]]},"722":{"position":[[261,2]]},"764":{"position":[[28,2],[220,2],[296,2],[435,2]]},"790":{"position":[[121,2]]},"801":{"position":[[74,2]]},"803":{"position":[[279,2]]},"819":{"position":[[392,2]]},"846":{"position":[[18,2]]},"848":{"position":[[17,2]]},"862":{"position":[[20,2],[31,2]]},"911":{"position":[[40,2]]}}}],["发文",{"_index":2195,"t":{"819":{"position":[[431,2]]}}}],["发来",{"_index":1855,"t":{"774":{"position":[[35,2],[103,2]]}}}],["发现",{"_index":452,"t":{"500":{"position":[[7,2]]},"516":{"position":[[7,2]]},"601":{"position":[[7,2]]},"617":{"position":[[7,2]]},"798":{"position":[[428,2]]},"807":{"position":[[113,2]]}}}],["发行版",{"_index":2088,"t":{"807":{"position":[[79,3]]}}}],["发起",{"_index":1872,"t":{"774":{"position":[[576,2]]},"794":{"position":[[14,2]]},"796":{"position":[[14,2]]},"801":{"position":[[166,2]]},"843":{"position":[[9,2]]},"858":{"position":[[6,2]]}}}],["发送",{"_index":1556,"t":{"727":{"position":[[227,2]]},"774":{"position":[[180,2],[304,2]]}}}],["取",{"_index":1962,"t":{"790":{"position":[[1321,1]]},"792":{"position":[[250,1]]},"846":{"position":[[49,1]]}}}],["取消",{"_index":2230,"t":{"862":{"position":[[26,2],[39,2]]}}}],["受欢迎",{"_index":2003,"t":{"798":{"position":[[31,3]]}}}],["变动",{"_index":2137,"t":{"814":{"position":[[350,2],[385,2],[415,2],[817,2],[872,2],[880,2]]}}}],["变更",{"_index":1949,"t":{"790":{"position":[[670,2]]},"807":{"position":[[47,2],[213,2]]}}}],["句号",{"_index":2163,"t":{"814":{"position":[[780,2]]}}}],["只有",{"_index":515,"t":{"506":{"position":[[15,2]]},"591":{"position":[[15,2]]},"790":{"position":[[31,2]]},"814":{"position":[[171,2]]}}}],["可以",{"_index":159,"t":{"479":{"position":[[84,2],[153,2],[186,2],[257,2],[293,2]]},"481":{"position":[[24,2],[67,2],[86,2],[132,2]]},"483":{"position":[[208,2]]},"492":{"position":[[38,2],[206,2],[224,2]]},"506":{"position":[[23,2]]},"508":{"position":[[61,2]]},"591":{"position":[[23,2]]},"593":{"position":[[61,2]]},"609":{"position":[[38,2],[206,2],[224,2]]},"633":{"position":[[84,2],[153,2],[186,2],[257,2],[293,2]]},"635":{"position":[[24,2],[67,2],[86,2],[132,2]]},"637":{"position":[[208,2]]},"684":{"position":[[72,2],[96,2]]},"710":{"position":[[185,2],[199,2]]},"712":{"position":[[28,2]]},"716":{"position":[[169,2]]},"727":{"position":[[98,2]]},"753":{"position":[[207,2]]},"756":{"position":[[195,2],[246,2],[330,2],[397,2],[451,2]]},"760":{"position":[[579,2],[597,2]]},"764":{"position":[[368,2],[423,2]]},"779":{"position":[[51,2]]},"783":{"position":[[70,2]]},"790":{"position":[[443,2],[635,2],[1191,2],[1633,2]]},"796":{"position":[[122,2],[282,2]]},"798":{"position":[[8,2]]},"801":{"position":[[78,2],[267,2],[301,2],[326,2],[347,2],[375,2]]},"803":{"position":[[85,2],[202,2],[239,2],[272,2]]},"807":{"position":[[57,2]]},"812":{"position":[[137,2]]},"814":{"position":[[46,2],[148,2],[577,2],[662,2],[928,2],[953,2]]},"840":{"position":[[56,2]]},"880":{"position":[[197,2],[237,2]]},"882":{"position":[[78,2],[105,2]]},"892":{"position":[[26,2]]},"900":{"position":[[19,2]]},"919":{"position":[[58,2]]},"934":{"position":[[348,2],[522,2]]}}}],["可能",{"_index":1544,"t":{"727":{"position":[[49,2]]},"758":{"position":[[34,2],[123,2]]},"764":{"position":[[213,2]]},"770":{"position":[[84,2]]},"790":{"position":[[10,2]]},"798":{"position":[[110,2],[120,2]]},"880":{"position":[[33,2]]}}}],["可行性",{"_index":1552,"t":{"727":{"position":[[136,3]]}}}],["可见",{"_index":1510,"t":{"725":{"position":[[68,2]]}}}],["可视化",{"_index":14,"t":{"465":{"position":[[35,3],[41,3]]},"467":{"position":[[31,3],[37,3]]},"475":{"position":[[25,3]]},"485":{"position":[[35,3],[41,3]]},"487":{"position":[[31,3],[37,3]]},"502":{"position":[[35,3],[41,3]]},"504":{"position":[[31,3],[37,3]]},"589":{"position":[[31,3],[37,3]]},"605":{"position":[[31,3],[37,3]]},"621":{"position":[[31,3],[37,3]]},"629":{"position":[[25,3]]},"772":{"position":[[265,3],[676,3]]},"890":{"position":[[31,3],[37,3]]}}}],["台",{"_index":1404,"t":{"710":{"position":[[238,1]]},"840":{"position":[[46,1]]}}}],["右侧",{"_index":2373,"t":{"936":{"position":[[105,2]]}}}],["号",{"_index":2194,"t":{"819":{"position":[[430,1]]},"880":{"position":[[11,1],[139,1]]},"882":{"position":[[66,1]]}}}],["各个",{"_index":1504,"t":{"722":{"position":[[403,2]]},"760":{"position":[[252,2]]}}}],["各种",{"_index":1524,"t":{"725":{"position":[[176,2]]},"756":{"position":[[162,2]]},"774":{"position":[[156,2]]}}}],["各自",{"_index":2316,"t":{"911":{"position":[[1,2]]}}}],["合作",{"_index":2327,"t":{"913":{"position":[[60,2]]},"917":{"position":[[5,2]]}}}],["合并",{"_index":1965,"t":{"790":{"position":[[1395,2],[1606,2]]},"792":{"position":[[242,2]]},"796":{"position":[[203,2],[285,2]]},"798":{"position":[[72,2],[113,2],[425,2]]},"801":{"position":[[49,2]]},"803":{"position":[[204,2]]},"867":{"position":[[146,2],[184,2]]}}}],["合适",{"_index":2145,"t":{"814":{"position":[[570,2]]}}}],["同一个",{"_index":1974,"t":{"792":{"position":[[15,3]]}}}],["同学",{"_index":1960,"t":{"790":{"position":[[1214,2]]}}}],["同时",{"_index":1915,"t":{"783":{"position":[[66,2]]},"792":{"position":[[168,2]]},"807":{"position":[[54,2]]},"814":{"position":[[43,2]]},"906":{"position":[[100,2]]}}}],["同步",{"_index":1938,"t":{"790":{"position":[[305,2],[452,2],[488,2],[528,2],[567,2],[953,2],[1224,2],[1272,2]]}}}],["名",{"_index":178,"t":{"481":{"position":[[84,1]]},"635":{"position":[[84,1]]},"758":{"position":[[389,1]]},"762":{"position":[[626,1]]},"766":{"position":[[176,1],[385,1],[396,1],[490,1]]},"932":{"position":[[81,1]]}}}],["名为",{"_index":1657,"t":{"756":{"position":[[87,2]]},"760":{"position":[[4,2]]},"762":{"position":[[4,2]]},"764":{"position":[[4,2]]},"766":{"position":[[4,2]]},"867":{"position":[[82,2]]}}}],["名称",{"_index":147,"t":{"479":{"position":[[21,2],[60,2],[129,2],[194,2],[254,2]]},"510":{"position":[[71,2],[85,2]]},"512":{"position":[[39,2]]},"595":{"position":[[71,2],[85,2]]},"597":{"position":[[39,2]]},"633":{"position":[[21,2],[60,2],[129,2],[194,2],[254,2]]},"730":{"position":[[36,2]]},"732":{"position":[[25,2]]},"734":{"position":[[62,2]]},"736":{"position":[[40,2]]},"740":{"position":[[40,2]]},"746":{"position":[[22,2],[53,2]]},"794":{"position":[[42,2]]},"796":{"position":[[85,2],[208,2]]},"930":{"position":[[36,2],[72,2],[138,2],[204,2],[272,2],[303,2],[352,2],[415,2],[458,2],[477,2]]},"932":{"position":[[124,2],[152,2],[227,2]]},"934":{"position":[[25,2],[80,2],[158,2],[543,2],[549,2],[565,2],[582,2],[617,2],[665,2],[683,2],[697,2],[712,2],[767,2],[823,2],[853,2],[868,2],[884,2],[944,2]]}}}],["后续",{"_index":212,"t":{"483":{"position":[[288,2]]},"489":{"position":[[165,2]]},"498":{"position":[[86,2]]},"514":{"position":[[62,2]]},"599":{"position":[[62,2]]},"607":{"position":[[165,2]]},"615":{"position":[[86,2]]},"637":{"position":[[288,2]]},"790":{"position":[[1354,2]]},"792":{"position":[[201,2]]}}}],["后面",{"_index":2169,"t":{"814":{"position":[[868,2]]}}}],["吞吐量",{"_index":295,"t":{"492":{"position":[[242,3]]},"609":{"position":[[242,3]]}}}],["含义",{"_index":69,"t":{"471":{"position":[[4,2]]},"625":{"position":[[4,2]]}}}],["启动",{"_index":1298,"t":{"684":{"position":[[40,2]]},"698":{"position":[[39,2]]},"712":{"position":[[1905,2]]},"716":{"position":[[96,2],[178,2]]},"753":{"position":[[289,2]]},"760":{"position":[[540,2]]},"774":{"position":[[212,2],[241,2],[542,2]]}}}],["告诉",{"_index":548,"t":{"514":{"position":[[26,2]]},"599":{"position":[[26,2]]}}}],["员",{"_index":2190,"t":{"819":{"position":[[352,1],[441,1],[468,1]]}}}],["命令",{"_index":1455,"t":{"716":{"position":[[79,2]]},"840":{"position":[[31,2]]}}}],["命令行",{"_index":1950,"t":{"790":{"position":[[687,3]]},"838":{"position":[[3,3]]},"840":{"position":[[3,3]]}}}],["命名",{"_index":185,"t":{"483":{"position":[[54,2]]},"637":{"position":[[54,2]]},"792":{"position":[[152,2]]}}}],["响应",{"_index":277,"t":{"492":{"position":[[126,2]]},"609":{"position":[[126,2]]},"727":{"position":[[327,2]]},"774":{"position":[[473,2]]}}}],["哪些",{"_index":1678,"t":{"756":{"position":[[408,2]]},"764":{"position":[[314,2]]},"810":{"position":[[27,2]]}}}],["唯一",{"_index":1564,"t":{"730":{"position":[[8,2]]},"732":{"position":[[10,2]]},"734":{"position":[[11,2]]},"736":{"position":[[9,2]]},"738":{"position":[[11,2]]},"740":{"position":[[9,2]]},"742":{"position":[[7,2]]},"744":{"position":[[7,2]]},"746":{"position":[[9,2]]}}}],["器",{"_index":1532,"t":{"725":{"position":[[290,1]]}}}],["回",{"_index":249,"t":{"489":{"position":[[146,1]]},"607":{"position":[[146,1]]}}}],["回复",{"_index":2227,"t":{"860":{"position":[[25,2]]}}}],["回答",{"_index":1912,"t":{"783":{"position":[[2,2]]},"915":{"position":[[17,2]]}}}],["回顾",{"_index":1886,"t":{"779":{"position":[[68,2]]}}}],["因为",{"_index":399,"t":{"496":{"position":[[16,2]]},"510":{"position":[[25,2]]},"595":{"position":[[25,2]]},"613":{"position":[[16,2]]}}}],["因此",{"_index":2110,"t":{"807":{"position":[[511,2]]}}}],["团队",{"_index":1907,"t":{"781":{"position":[[110,2]]},"880":{"position":[[78,2],[243,2]]},"882":{"position":[[49,2],[103,2]]}}}],["国内",{"_index":1259,"t":{"660":{"position":[[114,2]]},"694":{"position":[[408,2]]}}}],["国外",{"_index":1257,"t":{"660":{"position":[[64,2]]},"694":{"position":[[358,2]]}}}],["国际化",{"_index":1983,"t":{"794":{"position":[[66,3]]}}}],["图",{"_index":40,"t":{"465":{"position":[[119,1],[132,1]]},"467":{"position":[[115,1],[128,1]]},"485":{"position":[[119,1],[132,1]]},"487":{"position":[[115,1],[128,1]]},"502":{"position":[[119,1],[132,1]]},"504":{"position":[[115,1],[128,1]]},"589":{"position":[[115,1],[128,1]]},"605":{"position":[[115,1],[128,1]]},"621":{"position":[[115,1],[128,1]]},"748":{"position":[[482,1]]},"890":{"position":[[115,1],[128,1]]},"892":{"position":[[11,1],[108,1]]},"894":{"position":[[63,1],[259,1]]},"936":{"position":[[186,1]]}}}],["图例",{"_index":183,"t":{"483":{"position":[[35,2],[48,2],[72,2],[93,2],[271,2]]},"637":{"position":[[35,2],[48,2],[72,2],[93,2],[271,2]]},"886":{"position":[[14,2],[21,2]]},"934":{"position":[[129,2],[156,2],[169,2],[227,2],[487,2],[821,2],[851,2],[866,2],[882,2],[915,2],[942,2],[958,2],[1023,2],[1138,2],[1167,2],[1183,2]]}}}],["图像",{"_index":4,"t":{"465":{"position":[[10,2]]},"467":{"position":[[6,2]]},"485":{"position":[[10,2]]},"487":{"position":[[6,2]]},"502":{"position":[[10,2]]},"504":{"position":[[6,2]]},"589":{"position":[[6,2]]},"605":{"position":[[6,2]]},"621":{"position":[[6,2]]},"890":{"position":[[6,2]]}}}],["图层",{"_index":1474,"t":{"722":{"position":[[14,2],[134,2],[152,2]]}}}],["图形",{"_index":52,"t":{"465":{"position":[[204,2]]},"467":{"position":[[200,2]]},"471":{"position":[[42,2]]},"485":{"position":[[204,2]]},"487":{"position":[[200,2]]},"502":{"position":[[204,2]]},"504":{"position":[[200,2]]},"589":{"position":[[200,2]]},"605":{"position":[[200,2]]},"621":{"position":[[200,2]]},"625":{"position":[[42,2]]},"884":{"position":[[4,2]]},"890":{"position":[[200,2]]},"892":{"position":[[46,2],[61,2],[78,2],[144,2],[160,2],[190,2],[201,2]]},"894":{"position":[[136,2],[147,2],[195,2],[292,2]]},"936":{"position":[[136,2],[180,2],[219,2]]}}}],["图形学",{"_index":35,"t":{"465":{"position":[[108,3]]},"467":{"position":[[104,3]]},"485":{"position":[[108,3]]},"487":{"position":[[104,3]]},"502":{"position":[[108,3]]},"504":{"position":[[104,3]]},"589":{"position":[[104,3]]},"605":{"position":[[104,3]]},"621":{"position":[[104,3]]},"890":{"position":[[104,3]]},"892":{"position":[[132,3]]}}}],["图标",{"_index":1581,"t":{"732":{"position":[[83,2]]}}}],["图片",{"_index":1613,"t":{"742":{"position":[[59,2]]}}}],["图表",{"_index":215,"t":{"483":{"position":[[324,2]]},"637":{"position":[[324,2]]}}}],["圆角",{"_index":1513,"t":{"725":{"position":[[88,2]]}}}],["在内",{"_index":210,"t":{"483":{"position":[[280,2]]},"637":{"position":[[280,2]]}}}],["地",{"_index":265,"t":{"492":{"position":[[43,1]]},"609":{"position":[[43,1]]},"760":{"position":[[583,1]]},"764":{"position":[[374,1],[429,1]]},"798":{"position":[[103,1]]},"880":{"position":[[247,1]]},"882":{"position":[[53,1],[109,1]]},"894":{"position":[[101,1],[268,1]]},"919":{"position":[[62,1]]}}}],["地址",{"_index":216,"t":{"485":{"position":[[215,2],[259,2]]},"487":{"position":[[211,2],[255,2]]},"496":{"position":[[217,2],[240,2],[395,2],[560,2]]},"498":{"position":[[38,2]]},"502":{"position":[[215,2],[259,2]]},"504":{"position":[[211,2],[255,2]]},"589":{"position":[[211,2],[255,2]]},"605":{"position":[[211,2],[255,2]]},"613":{"position":[[217,2],[240,2],[395,2],[560,2]]},"615":{"position":[[38,2]]},"660":{"position":[[33,2],[72,2],[118,2],[144,2]]},"691":{"position":[[9,2]]},"694":{"position":[[327,2],[366,2],[412,2],[438,2]]},"706":{"position":[[9,2]]},"710":{"position":[[33,2],[81,2],[137,2],[655,2],[1123,2],[1598,2]]},"712":{"position":[[395,2],[865,2],[1342,2]]},"822":{"position":[[24,2]]},"833":{"position":[[51,2]]},"880":{"position":[[276,2]]}}}],["地方",{"_index":1666,"t":{"756":{"position":[[200,2]]}}}],["地被",{"_index":1902,"t":{"781":{"position":[[40,2]]}}}],["场景",{"_index":20,"t":{"465":{"position":[[56,2],[70,2]]},"467":{"position":[[52,2],[66,2]]},"483":{"position":[[0,2],[41,2],[88,2],[299,2],[306,2],[311,2]]},"485":{"position":[[56,2],[70,2]]},"487":{"position":[[52,2],[66,2]]},"502":{"position":[[56,2],[70,2]]},"504":{"position":[[52,2],[66,2]]},"589":{"position":[[52,2],[66,2]]},"605":{"position":[[52,2],[66,2]]},"621":{"position":[[52,2],[66,2]]},"637":{"position":[[0,2],[41,2],[88,2],[299,2],[306,2],[311,2]]},"722":{"position":[[159,2]]},"779":{"position":[[114,2]]},"781":{"position":[[28,2]]},"790":{"position":[[598,2]]},"886":{"position":[[28,2]]},"890":{"position":[[52,2],[66,2]]},"892":{"position":[[172,2]]},"928":{"position":[[2,2]]},"930":{"position":[[2,2]]},"932":{"position":[[2,2]]},"934":{"position":[[5,2],[20,2],[23,2],[32,2],[38,2],[45,2],[55,2],[66,2],[73,2],[98,2],[103,2],[132,2],[139,2],[203,2],[210,2],[455,2],[462,2],[502,2],[505,2],[512,2],[526,2],[541,2],[547,2],[556,2],[563,2],[572,2],[580,2],[589,2],[599,2],[612,2],[615,2],[624,2],[632,2],[639,2],[651,2],[668,2],[675,2],[719,2],[724,2],[753,2],[760,2],[787,2],[792,2],[826,2],[833,2],[918,2],[925,2],[999,2],[1006,2],[1143,2],[1150,2]]},"936":{"position":[[5,2],[25,2],[32,2],[71,2],[78,2]]}}}],["坐标",{"_index":2382,"t":{"936":{"position":[[184,2]]}}}],["域",{"_index":1867,"t":{"774":{"position":[[429,1]]}}}],["域名",{"_index":523,"t":{"506":{"position":[[79,2]]},"508":{"position":[[35,2]]},"591":{"position":[[79,2]]},"593":{"position":[[35,2]]}}}],["基于",{"_index":1654,"t":{"756":{"position":[[28,2]]},"758":{"position":[[158,2]]},"772":{"position":[[4,2],[651,2]]},"774":{"position":[[4,2],[345,2]]},"790":{"position":[[104,2],[125,2],[1313,2]]},"792":{"position":[[94,2]]},"819":{"position":[[288,2]]},"867":{"position":[[57,2]]}}}],["基础",{"_index":1255,"t":{"660":{"position":[[31,2]]},"694":{"position":[[325,2]]},"725":{"position":[[97,2]]},"727":{"position":[[154,2]]},"746":{"position":[[89,2]]},"760":{"position":[[700,2]]},"790":{"position":[[1140,2]]}}}],["基类",{"_index":1518,"t":{"725":{"position":[[135,2]]},"772":{"position":[[429,2],[446,2]]}}}],["填写",{"_index":2233,"t":{"867":{"position":[[95,2]]}}}],["增加",{"_index":180,"t":{"483":{"position":[[3,2],[19,2]]},"637":{"position":[[3,2],[19,2]]},"696":{"position":[[249,2]]},"698":{"position":[[91,2]]},"814":{"position":[[394,2]]}}}],["增强",{"_index":2113,"t":{"810":{"position":[[41,2]]}}}],["增益",{"_index":2008,"t":{"798":{"position":[[54,2],[141,2]]}}}],["增进",{"_index":2326,"t":{"913":{"position":[[50,2]]}}}],["处理",{"_index":32,"t":{"465":{"position":[[97,2]]},"467":{"position":[[93,2]]},"485":{"position":[[97,2]]},"487":{"position":[[93,2]]},"492":{"position":[[208,2]]},"502":{"position":[[97,2]]},"504":{"position":[[93,2]]},"589":{"position":[[93,2]]},"605":{"position":[[93,2]]},"609":{"position":[[208,2]]},"621":{"position":[[93,2]]},"758":{"position":[[130,2],[249,2],[320,2]]},"766":{"position":[[54,2],[869,2]]},"772":{"position":[[281,2],[345,2],[612,2],[698,2]]},"774":{"position":[[31,2],[99,2],[139,2],[151,2],[426,2]]},"890":{"position":[[93,2]]},"892":{"position":[[153,2]]},"900":{"position":[[34,2]]}}}],["备注",{"_index":158,"t":{"479":{"position":[[80,2],[149,2],[214,2]]},"633":{"position":[[80,2],[149,2],[214,2]]},"930":{"position":[[92,2],[158,2],[226,2],[373,2],[436,2]]}}}],["复杂度",{"_index":2022,"t":{"798":{"position":[[198,3],[256,3],[274,3]]}}}],["复现",{"_index":1888,"t":{"779":{"position":[[111,2]]}}}],["复用",{"_index":1517,"t":{"725":{"position":[[132,2]]}}}],["外",{"_index":511,"t":{"506":{"position":[[6,1]]},"591":{"position":[[6,1]]}}}],["外部",{"_index":262,"t":{"492":{"position":[[33,2]]},"510":{"position":[[49,2]]},"595":{"position":[[49,2]]},"609":{"position":[[33,2]]},"751":{"position":[[48,2]]}}}],["多",{"_index":85,"t":{"473":{"position":[[4,1],[10,1],[79,1]]},"492":{"position":[[247,1]]},"609":{"position":[[247,1]]},"627":{"position":[[4,1],[10,1],[79,1]]},"654":{"position":[[51,1]]},"672":{"position":[[31,1]]},"725":{"position":[[111,1]]},"764":{"position":[[87,1]]},"798":{"position":[[53,1]]},"814":{"position":[[29,1]]},"898":{"position":[[10,1]]}}}],["多个",{"_index":404,"t":{"496":{"position":[[36,2]]},"506":{"position":[[47,2],[62,2]]},"508":{"position":[[3,2],[18,2]]},"591":{"position":[[47,2],[62,2]]},"593":{"position":[[3,2],[18,2]]},"613":{"position":[[36,2]]},"748":{"position":[[117,2]]},"766":{"position":[[35,2]]},"814":{"position":[[959,2]]}}}],["多种",{"_index":272,"t":{"492":{"position":[[101,2],[129,2]]},"609":{"position":[[101,2],[129,2]]},"886":{"position":[[10,2],[17,2],[24,2],[33,2]]}}}],["多种不同",{"_index":1638,"t":{"753":{"position":[[210,4]]}}}],["多种类型",{"_index":2281,"t":{"892":{"position":[[155,4]]}}}],["多维",{"_index":66,"t":{"469":{"position":[[31,2]]},"623":{"position":[[31,2]]}}}],["多行",{"_index":2150,"t":{"814":{"position":[[666,2]]}}}],["大",{"_index":1309,"t":{"684":{"position":[[99,1]]},"798":{"position":[[98,1]]}}}],["大写",{"_index":2161,"t":{"814":{"position":[[764,2]]}}}],["大家",{"_index":437,"t":{"498":{"position":[[32,2],[84,2]]},"514":{"position":[[60,2]]},"599":{"position":[[60,2]]},"615":{"position":[[32,2],[84,2]]},"781":{"position":[[119,2]]},"790":{"position":[[82,2]]},"923":{"position":[[85,2]]}}}],["大小",{"_index":1512,"t":{"725":{"position":[[85,2]]}}}],["大致",{"_index":1871,"t":{"774":{"position":[[536,2]]}}}],["大量",{"_index":2018,"t":{"798":{"position":[[167,2],[309,2],[328,2]]},"892":{"position":[[56,2],[184,2]]}}}],["失败",{"_index":2361,"t":{"928":{"position":[[60,2],[88,2]]},"930":{"position":[[315,2],[378,2],[441,2],[494,2]]},"932":{"position":[[164,2],[240,2]]}}}],["头",{"_index":1688,"t":{"758":{"position":[[47,1]]}}}],["头部",{"_index":1814,"t":{"772":{"position":[[179,2]]},"796":{"position":[[210,2]]}}}],["好处",{"_index":1545,"t":{"727":{"position":[[69,2]]}}}],["如下",{"_index":1324,"t":{"691":{"position":[[193,2]]},"710":{"position":[[458,2]]},"712":{"position":[[114,2]]},"774":{"position":[[538,2]]}}}],["如何",{"_index":461,"t":{"500":{"position":[[49,2]]},"516":{"position":[[49,2]]},"601":{"position":[[49,2]]},"617":{"position":[[49,2]]},"762":{"position":[[888,2]]},"764":{"position":[[289,2],[336,2],[343,2]]},"766":{"position":[[615,2],[627,2]]},"801":{"position":[[6,2]]},"803":{"position":[[6,2]]}}}],["如果",{"_index":239,"t":{"489":{"position":[[105,2]]},"506":{"position":[[44,2]]},"508":{"position":[[0,2]]},"591":{"position":[[44,2]]},"593":{"position":[[0,2]]},"607":{"position":[[105,2]]},"678":{"position":[[104,2]]},"712":{"position":[[15,2]]},"716":{"position":[[0,2],[161,2]]},"756":{"position":[[350,2],[424,2]]},"781":{"position":[[69,2]]},"790":{"position":[[94,2],[1352,2],[1485,2]]},"792":{"position":[[199,2]]},"794":{"position":[[0,2]]},"796":{"position":[[0,2],[159,2],[190,2]]},"798":{"position":[[41,2],[370,2],[416,2],[465,2]]},"801":{"position":[[22,2],[109,2],[209,2]]},"803":{"position":[[25,2],[145,2]]},"812":{"position":[[112,2]]},"814":{"position":[[418,2],[565,2],[820,2],[904,2]]},"833":{"position":[[15,2]]},"860":{"position":[[0,2]]},"862":{"position":[[0,2]]},"867":{"position":[[181,2]]},"880":{"position":[[152,2]]},"906":{"position":[[137,2],[173,2]]}}}],["妥善处理",{"_index":2342,"t":{"921":{"position":[[62,4]]}}}],["子",{"_index":1671,"t":{"756":{"position":[[333,1],[352,1]]},"762":{"position":[[815,1],[820,1]]},"774":{"position":[[228,1],[235,1]]}}}],["字",{"_index":1360,"t":{"694":{"position":[[279,1]]},"748":{"position":[[77,1],[159,1],[228,1],[352,1],[416,1],[474,1],[493,1]]},"814":{"position":[[180,1]]}}}],["字符串",{"_index":1695,"t":{"758":{"position":[[89,3],[212,3]]},"930":{"position":[[309,3],[366,3],[429,3]]},"932":{"position":[[158,3],[186,3],[234,3]]}}}],["字节",{"_index":1699,"t":{"758":{"position":[[132,2]]}}}],["存在",{"_index":1458,"t":{"716":{"position":[[110,2]]},"748":{"position":[[190,2],[378,2]]},"930":{"position":[[474,2]]},"932":{"position":[[230,2]]}}}],["学习",{"_index":2277,"t":{"892":{"position":[[21,2],[71,2]]},"894":{"position":[[87,2],[178,2],[275,2]]},"911":{"position":[[30,2]]},"919":{"position":[[66,2]]}}}],["学习者",{"_index":2095,"t":{"807":{"position":[[172,3]]}}}],["它们",{"_index":1755,"t":{"760":{"position":[[694,2]]}}}],["守护",{"_index":1717,"t":{"758":{"position":[[391,2]]}}}],["安全",{"_index":1704,"t":{"758":{"position":[[179,2]]}}}],["安装",{"_index":484,"t":{"500":{"position":[[247,2]]},"516":{"position":[[247,2]]},"601":{"position":[[247,2]]},"617":{"position":[[247,2]]},"654":{"position":[[7,2],[42,2],[59,2]]},"672":{"position":[[7,2],[22,2],[39,2]]},"684":{"position":[[6,2]]},"710":{"position":[[190,2],[293,2],[315,2]]},"712":{"position":[[6,2],[19,2]]},"714":{"position":[[87,2]]},"819":{"position":[[134,2],[313,2]]},"833":{"position":[[44,2]]},"838":{"position":[[57,2]]},"840":{"position":[[80,2],[93,2]]}}}],["安装包",{"_index":1316,"t":{"691":{"position":[[64,3],[70,3],[106,3],[113,3],[146,3]]},"706":{"position":[[64,3],[70,3],[97,3]]},"822":{"position":[[79,3],[85,3],[112,3]]},"840":{"position":[[47,3]]}}}],["完全",{"_index":1967,"t":{"790":{"position":[[1498,2]]}}}],["完善",{"_index":1920,"t":{"785":{"position":[[34,2]]}}}],["完成",{"_index":1490,"t":{"722":{"position":[[253,2],[324,2]]},"725":{"position":[[236,2],[399,2]]},"798":{"position":[[387,2]]}}}],["完整",{"_index":1887,"t":{"779":{"position":[[96,2]]},"896":{"position":[[16,2]]}}}],["官",{"_index":1315,"t":{"691":{"position":[[5,1]]},"706":{"position":[[5,1]]},"822":{"position":[[20,1]]},"880":{"position":[[20,1],[89,1]]},"882":{"position":[[68,1]]}}}],["官方",{"_index":449,"t":{"500":{"position":[[0,2]]},"516":{"position":[[0,2]]},"601":{"position":[[0,2]]},"617":{"position":[[0,2]]},"801":{"position":[[82,2],[271,2]]},"807":{"position":[[538,2]]}}}],["定",{"_index":1667,"t":{"756":{"position":[[250,1]]}}}],["定义",{"_index":1542,"t":{"727":{"position":[[13,2]]},"756":{"position":[[81,2],[159,2],[202,2],[224,2],[305,2],[323,2],[377,2]]},"758":{"position":[[14,2],[78,2]]},"760":{"position":[[451,2]]},"762":{"position":[[687,2],[885,2]]},"764":{"position":[[82,2],[109,2],[287,2],[307,2],[334,2]]},"766":{"position":[[538,2],[612,2]]},"770":{"position":[[58,2]]},"772":{"position":[[87,2],[107,2],[166,2],[297,2],[419,2],[496,2],[556,2]]}}}],["定位",{"_index":1890,"t":{"779":{"position":[[125,2]]}}}],["定期",{"_index":2318,"t":{"911":{"position":[[38,2]]}}}],["实体类",{"_index":1732,"t":{"760":{"position":[[241,3]]}}}],["实例",{"_index":409,"t":{"496":{"position":[[130,2]]},"613":{"position":[[130,2]]}}}],["实现",{"_index":37,"t":{"465":{"position":[[115,2],[196,2]]},"467":{"position":[[111,2],[192,2]]},"485":{"position":[[115,2],[196,2]]},"487":{"position":[[111,2],[192,2]]},"489":{"position":[[37,2]]},"492":{"position":[[78,2],[231,2]]},"502":{"position":[[115,2],[196,2]]},"504":{"position":[[111,2],[192,2]]},"589":{"position":[[111,2],[192,2]]},"605":{"position":[[111,2],[192,2]]},"607":{"position":[[37,2]]},"609":{"position":[[78,2],[231,2]]},"621":{"position":[[111,2],[192,2]]},"762":{"position":[[88,2],[193,2],[243,2],[320,2],[425,2],[475,2],[701,2],[769,2]]},"766":{"position":[[662,2],[829,2]]},"774":{"position":[[118,2]]},"781":{"position":[[42,2],[73,2],[164,2]]},"890":{"position":[[111,2],[192,2]]},"892":{"position":[[88,2],[136,2]]}}}],["实用",{"_index":1834,"t":{"772":{"position":[[636,2]]},"774":{"position":[[295,2]]}}}],["实践",{"_index":488,"t":{"500":{"position":[[261,2]]},"516":{"position":[[261,2]]},"601":{"position":[[261,2]]},"617":{"position":[[261,2]]}}}],["客户端",{"_index":434,"t":{"496":{"position":[[603,3]]},"613":{"position":[[603,3]]}}}],["宣传",{"_index":506,"t":{"500":{"position":[[384,2]]},"516":{"position":[[384,2]]},"601":{"position":[[384,2]]},"617":{"position":[[384,2]]},"819":{"position":[[433,2],[456,2]]}}}],["容器",{"_index":400,"t":{"496":{"position":[[18,2],[44,2]]},"510":{"position":[[0,2],[16,2],[76,2],[83,2]]},"595":{"position":[[0,2],[16,2],[76,2],[83,2]]},"613":{"position":[[18,2],[44,2]]},"764":{"position":[[88,2],[185,2]]},"886":{"position":[[106,2]]}}}],["容易",{"_index":264,"t":{"492":{"position":[[41,2]]},"500":{"position":[[140,2]]},"516":{"position":[[140,2]]},"601":{"position":[[140,2]]},"609":{"position":[[41,2]]},"617":{"position":[[140,2]]},"798":{"position":[[185,2]]}}}],["宽松",{"_index":2314,"t":{"909":{"position":[[24,2]]}}}],["密码",{"_index":157,"t":{"479":{"position":[[77,2],[146,2],[211,2]]},"633":{"position":[[77,2],[146,2],[211,2]]},"662":{"position":[[32,2]]},"680":{"position":[[49,2]]},"703":{"position":[[34,2]]},"744":{"position":[[47,2]]},"760":{"position":[[646,2]]},"762":{"position":[[620,2]]},"928":{"position":[[20,2],[30,2],[45,2],[55,2],[75,2],[83,2]]},"930":{"position":[[89,2],[155,2],[223,2],[344,2],[370,2],[407,2],[433,2],[468,2],[487,2]]},"941":{"position":[[5,2]]}}}],["密钥",{"_index":1691,"t":{"758":{"position":[[55,2]]}}}],["对",{"_index":1484,"t":{"722":{"position":[[196,1],[347,1]]},"725":{"position":[[271,1],[314,1]]},"727":{"position":[[318,1]]},"801":{"position":[[25,1],[303,1],[349,1]]},"814":{"position":[[645,1],[871,1]]},"894":{"position":[[132,1]]},"900":{"position":[[0,1]]},"906":{"position":[[7,1],[189,1]]}}}],["对于",{"_index":101,"t":{"473":{"position":[[59,2]]},"627":{"position":[[59,2]]},"785":{"position":[[36,2]]},"906":{"position":[[140,2]]}}}],["对外",{"_index":1488,"t":{"722":{"position":[[238,2]]}}}],["对应",{"_index":188,"t":{"483":{"position":[[69,2]]},"637":{"position":[[69,2]]},"691":{"position":[[61,2]]},"706":{"position":[[61,2]]},"727":{"position":[[280,2]]},"760":{"position":[[453,2]]},"766":{"position":[[541,2],[832,2]]},"790":{"position":[[1584,2]]},"822":{"position":[[76,2]]}}}],["对模型",{"_index":2288,"t":{"894":{"position":[[182,3]]}}}],["对象",{"_index":421,"t":{"496":{"position":[[451,2],[469,2],[519,2],[588,2]]},"613":{"position":[[451,2],[469,2],[519,2],[588,2]]},"756":{"position":[[14,2]]},"758":{"position":[[256,2],[273,2]]},"760":{"position":[[36,2]]},"762":{"position":[[48,2],[591,2]]},"770":{"position":[[23,2]]}}}],["对齐",{"_index":1514,"t":{"725":{"position":[[91,2]]}}}],["导致",{"_index":1891,"t":{"779":{"position":[[127,2]]},"798":{"position":[[147,2],[294,2]]}}}],["封装",{"_index":1827,"t":{"772":{"position":[[481,2]]}}}],["将",{"_index":30,"t":{"465":{"position":[[92,1]]},"467":{"position":[[88,1]]},"479":{"position":[[295,1]]},"485":{"position":[[92,1]]},"487":{"position":[[88,1]]},"492":{"position":[[147,1]]},"496":{"position":[[503,1],[568,1]]},"502":{"position":[[92,1]]},"504":{"position":[[88,1]]},"589":{"position":[[88,1]]},"605":{"position":[[88,1]]},"609":{"position":[[147,1]]},"613":{"position":[[503,1],[568,1]]},"621":{"position":[[88,1]]},"633":{"position":[[295,1]]},"764":{"position":[[173,1]]},"774":{"position":[[669,1]]},"790":{"position":[[1042,1]]},"792":{"position":[[42,1]]},"796":{"position":[[63,1],[174,1]]},"798":{"position":[[490,1]]},"801":{"position":[[192,1],[219,1]]},"803":{"position":[[128,1],[153,1]]},"814":{"position":[[449,1],[672,1]]},"833":{"position":[[30,1]]},"840":{"position":[[60,1]]},"867":{"position":[[121,1]]},"880":{"position":[[199,1]]},"890":{"position":[[88,1]]},"892":{"position":[[28,1]]}}}],["尊重",{"_index":2343,"t":{"923":{"position":[[0,2]]}}}],["小心",{"_index":1942,"t":{"790":{"position":[[437,2]]}}}],["小星星",{"_index":2310,"t":{"906":{"position":[[214,3]]}}}],["少",{"_index":83,"t":{"473":{"position":[[1,1],[7,1]]},"627":{"position":[[1,1],[7,1]]}}}],["尚未",{"_index":1994,"t":{"796":{"position":[[198,2]]}}}],["尝试",{"_index":1304,"t":{"684":{"position":[[74,2]]}}}],["就",{"_index":243,"t":{"489":{"position":[[130,1]]},"498":{"position":[[78,1]]},"506":{"position":[[22,1]]},"508":{"position":[[60,1]]},"510":{"position":[[44,1]]},"514":{"position":[[54,1]]},"591":{"position":[[22,1]]},"593":{"position":[[60,1]]},"595":{"position":[[44,1]]},"599":{"position":[[54,1]]},"607":{"position":[[130,1]]},"615":{"position":[[78,1]]},"798":{"position":[[77,1]]}}}],["就是",{"_index":84,"t":{"473":{"position":[[2,2],[8,2]]},"496":{"position":[[536,2]]},"613":{"position":[[536,2]]},"627":{"position":[[2,2],[8,2]]},"790":{"position":[[1179,2]]}}}],["尽可能",{"_index":2007,"t":{"798":{"position":[[50,3]]}}}],["尽可能少",{"_index":2009,"t":{"798":{"position":[[57,4]]}}}],["层",{"_index":1481,"t":{"722":{"position":[[166,1]]},"751":{"position":[[14,1],[24,1]]},"753":{"position":[[460,1],[468,1]]},"760":{"position":[[29,1]]},"768":{"position":[[7,1]]}}}],["层级",{"_index":1582,"t":{"732":{"position":[[95,2]]}}}],["展现",{"_index":1916,"t":{"783":{"position":[[72,2]]}}}],["展示",{"_index":1523,"t":{"725":{"position":[[174,2]]},"727":{"position":[[188,2]]},"772":{"position":[[228,2],[255,2],[261,2]]}}}],["属性",{"_index":410,"t":{"496":{"position":[[152,2]]},"613":{"position":[[152,2]]},"756":{"position":[[68,2]]}}}],["工作",{"_index":275,"t":{"492":{"position":[[118,2]]},"609":{"position":[[118,2]]},"736":{"position":[[4,2]]},"738":{"position":[[4,2],[31,2],[55,2]]},"740":{"position":[[4,2]]},"748":{"position":[[165,2],[234,2],[271,2],[299,2],[356,2]]},"766":{"position":[[209,2],[226,2],[236,2],[266,2],[280,2],[287,2],[299,2]]},"781":{"position":[[65,2]]},"880":{"position":[[81,2]]},"906":{"position":[[15,2],[205,2]]}}}],["工具",{"_index":15,"t":{"465":{"position":[[38,2]]},"467":{"position":[[34,2]]},"485":{"position":[[38,2]]},"487":{"position":[[34,2]]},"502":{"position":[[38,2]]},"504":{"position":[[34,2]]},"589":{"position":[[34,2]]},"605":{"position":[[34,2]]},"621":{"position":[[34,2]]},"753":{"position":[[104,2]]},"758":{"position":[[138,2],[372,2]]},"772":{"position":[[639,2],[735,2]]},"774":{"position":[[298,2],[464,2]]},"790":{"position":[[690,2]]},"890":{"position":[[34,2]]}}}],["工厂",{"_index":1718,"t":{"758":{"position":[[398,2]]},"762":{"position":[[210,2],[442,2]]}}}],["已有",{"_index":2201,"t":{"833":{"position":[[17,2]]}}}],["已经",{"_index":1235,"t":{"654":{"position":[[46,2]]},"672":{"position":[[26,2]]},"712":{"position":[[17,2]]},"880":{"position":[[35,2]]},"906":{"position":[[62,2]]}}}],["布局",{"_index":1471,"t":{"722":{"position":[[5,2]]},"740":{"position":[[69,2]]},"772":{"position":[[174,2]]}}}],["希望",{"_index":1519,"t":{"725":{"position":[[142,2]]},"923":{"position":[[60,2]]}}}],["带",{"_index":530,"t":{"510":{"position":[[15,1]]},"595":{"position":[[15,1]]}}}],["带上",{"_index":1988,"t":{"794":{"position":[[104,2]]}}}],["带来",{"_index":2006,"t":{"798":{"position":[[48,2],[430,2]]}}}],["帮",{"_index":10,"t":{"465":{"position":[[28,1]]},"467":{"position":[[24,1]]},"485":{"position":[[28,1]]},"487":{"position":[[24,1]]},"502":{"position":[[28,1]]},"504":{"position":[[24,1]]},"589":{"position":[[24,1]]},"605":{"position":[[24,1]]},"621":{"position":[[24,1]]},"890":{"position":[[24,1]]}}}],["帮助",{"_index":499,"t":{"500":{"position":[[348,2],[380,2]]},"516":{"position":[[348,2],[380,2]]},"601":{"position":[[348,2],[380,2]]},"617":{"position":[[348,2],[380,2]]},"783":{"position":[[0,2],[60,2]]},"787":{"position":[[5,2],[26,2]]},"807":{"position":[[23,2],[59,2]]},"814":{"position":[[22,2]]},"880":{"position":[[239,2]]},"882":{"position":[[34,2]]},"898":{"position":[[44,2]]}}}],["常用",{"_index":102,"t":{"473":{"position":[[64,2]]},"627":{"position":[[64,2]]},"774":{"position":[[461,2]]}}}],["常见",{"_index":1665,"t":{"756":{"position":[[176,2]]}}}],["常量",{"_index":1687,"t":{"758":{"position":[[21,2],[26,2],[92,2]]},"770":{"position":[[63,2],[68,2]]}}}],["平台",{"_index":2248,"t":{"880":{"position":[[31,2]]}}}],["年",{"_index":980,"t":{"587":{"position":[[4,1]]},"603":{"position":[[4,1]]},"619":{"position":[[4,1]]}}}],["并且",{"_index":168,"t":{"479":{"position":[[268,2]]},"481":{"position":[[142,2]]},"500":{"position":[[138,2]]},"516":{"position":[[138,2]]},"601":{"position":[[138,2]]},"617":{"position":[[138,2]]},"633":{"position":[[268,2]]},"635":{"position":[[142,2]]},"798":{"position":[[117,2]]},"801":{"position":[[46,2]]},"803":{"position":[[52,2]]}}}],["序列化",{"_index":1711,"t":{"758":{"position":[[264,3],[277,3]]}}}],["序号",{"_index":146,"t":{"479":{"position":[[15,2]]},"633":{"position":[[15,2]]},"930":{"position":[[30,2]]}}}],["库",{"_index":1663,"t":{"756":{"position":[[166,1],[188,1],[313,1],[410,1],[416,1],[435,1],[445,1]]},"772":{"position":[[602,1],[663,1]]},"790":{"position":[[627,1]]},"792":{"position":[[20,1],[132,1]]}}}],["应",{"_index":1980,"t":{"794":{"position":[[45,1]]},"880":{"position":[[5,1]]}}}],["应用",{"_index":116,"t":{"475":{"position":[[16,2],[55,2]]},"629":{"position":[[16,2],[55,2]]},"764":{"position":[[99,2]]},"766":{"position":[[26,2]]},"772":{"position":[[42,2],[66,2],[77,2],[110,2],[169,2],[300,2],[380,2]]},"774":{"position":[[360,2],[411,2],[458,2],[516,2],[555,2],[593,2],[667,2]]}}}],["应用程序",{"_index":1644,"t":{"753":{"position":[[295,4]]}}}],["应该",{"_index":423,"t":{"496":{"position":[[456,2]]},"613":{"position":[[456,2]]},"725":{"position":[[201,2]]},"727":{"position":[[28,2]]},"810":{"position":[[15,2]]},"814":{"position":[[89,2]]}}}],["建立",{"_index":433,"t":{"496":{"position":[[593,2]]},"613":{"position":[[593,2]]},"819":{"position":[[303,2]]}}}],["建议",{"_index":509,"t":{"500":{"position":[[396,2]]},"516":{"position":[[396,2]]},"601":{"position":[[396,2]]},"617":{"position":[[396,2]]},"779":{"position":[[2,2]]},"792":{"position":[[141,2]]},"794":{"position":[[58,2]]},"814":{"position":[[506,2]]},"833":{"position":[[82,2]]},"871":{"position":[[56,2]]},"900":{"position":[[16,2]]}}}],["建设",{"_index":465,"t":{"500":{"position":[[64,2]]},"516":{"position":[[64,2]]},"601":{"position":[[64,2]]},"617":{"position":[[64,2]]},"923":{"position":[[11,2]]}}}],["建设性",{"_index":2037,"t":{"798":{"position":[[360,3]]}}}],["开发",{"_index":1554,"t":{"727":{"position":[[198,2]]},"781":{"position":[[108,2]]},"790":{"position":[[75,2],[1137,2],[1162,2],[1315,2],[1470,2],[1494,2]]},"792":{"position":[[24,2],[35,2],[90,2],[135,2],[165,2]]},"796":{"position":[[59,2]]},"848":{"position":[[3,2]]},"880":{"position":[[76,2],[241,2]]},"882":{"position":[[101,2]]},"906":{"position":[[13,2],[203,2]]}}}],["开发者",{"_index":459,"t":{"500":{"position":[[44,3],[350,3]]},"516":{"position":[[44,3],[350,3]]},"601":{"position":[[44,3],[350,3]]},"617":{"position":[[44,3],[350,3]]},"801":{"position":[[273,3]]},"807":{"position":[[28,3],[37,3],[126,3]]},"810":{"position":[[51,3]]},"812":{"position":[[74,3]]}}}],["开发计划",{"_index":2069,"t":{"801":{"position":[[296,4]]}}}],["开头",{"_index":2168,"t":{"814":{"position":[[865,2]]}}}],["开始",{"_index":2385,"t":{"939":{"position":[[18,2],[30,2],[40,2]]}}}],["开放",{"_index":534,"t":{"510":{"position":[[54,2]]},"595":{"position":[[54,2]]}}}],["开源",{"_index":481,"t":{"500":{"position":[[231,2]]},"516":{"position":[[231,2]]},"601":{"position":[[231,2]]},"617":{"position":[[231,2]]},"794":{"position":[[10,2]]},"796":{"position":[[10,2]]},"807":{"position":[[94,2]]},"906":{"position":[[25,2]]},"917":{"position":[[43,2]]}}}],["异步",{"_index":228,"t":{"489":{"position":[[39,2]]},"607":{"position":[[39,2]]}}}],["引入",{"_index":2026,"t":{"798":{"position":[[254,2]]}}}],["强化",{"_index":2287,"t":{"894":{"position":[[176,2]]}}}],["当前",{"_index":1476,"t":{"722":{"position":[[32,2]]},"758":{"position":[[114,2]]},"790":{"position":[[1135,2],[1148,2],[1158,2]]},"812":{"position":[[114,2]]},"814":{"position":[[822,2],[906,2]]},"848":{"position":[[1,2]]}}}],["形式",{"_index":489,"t":{"500":{"position":[[265,2]]},"516":{"position":[[265,2]]},"601":{"position":[[265,2]]},"617":{"position":[[265,2]]},"764":{"position":[[188,2]]},"898":{"position":[[52,2]]},"906":{"position":[[167,2]]},"923":{"position":[[43,2]]}}}],["形状",{"_index":72,"t":{"471":{"position":[[16,2]]},"625":{"position":[[16,2]]}}}],["影响",{"_index":127,"t":{"475":{"position":[[50,2]]},"629":{"position":[[50,2]]},"814":{"position":[[343,2],[540,2],[688,2]]}}}],["彻底改变",{"_index":136,"t":{"475":{"position":[[77,4]]},"629":{"position":[[77,4]]}}}],["待发布",{"_index":2214,"t":{"846":{"position":[[8,3],[43,3]]}}}],["很多",{"_index":130,"t":{"475":{"position":[[62,2]]},"629":{"position":[[62,2]]},"807":{"position":[[92,2]]}}}],["得出",{"_index":79,"t":{"471":{"position":[[40,2]]},"625":{"position":[[40,2]]}}}],["得到",{"_index":1536,"t":{"725":{"position":[[329,2]]},"801":{"position":[[211,2]]},"803":{"position":[[62,2]]},"921":{"position":[[60,2]]}}}],["微",{"_index":1293,"t":{"684":{"position":[[16,1],[33,1]]},"801":{"position":[[84,1],[276,1]]}}}],["必需",{"_index":1591,"t":{"734":{"position":[[140,2]]},"814":{"position":[[130,2],[188,2],[211,2]]}}}],["必须",{"_index":2237,"t":{"871":{"position":[[8,2]]}}}],["志愿者",{"_index":505,"t":{"500":{"position":[[376,3]]},"516":{"position":[[376,3]]},"601":{"position":[[376,3]]},"617":{"position":[[376,3]]}}}],["快",{"_index":1901,"t":{"781":{"position":[[39,1]]},"798":{"position":[[94,1]]}}}],["快速",{"_index":12,"t":{"465":{"position":[[31,2],[61,2]]},"467":{"position":[[27,2],[57,2]]},"485":{"position":[[31,2],[61,2]]},"487":{"position":[[27,2],[57,2]]},"502":{"position":[[31,2],[61,2]]},"504":{"position":[[27,2],[57,2]]},"589":{"position":[[27,2],[57,2]]},"605":{"position":[[27,2],[57,2]]},"621":{"position":[[27,2],[57,2]]},"779":{"position":[[123,2]]},"807":{"position":[[41,2]]},"814":{"position":[[38,2]]},"890":{"position":[[27,2],[57,2]]},"939":{"position":[[0,2]]}}}],["怎样",{"_index":1979,"t":{"794":{"position":[[7,2]]},"796":{"position":[[7,2]]}}}],["思维",{"_index":126,"t":{"475":{"position":[[48,2]]},"629":{"position":[[48,2]]}}}],["思路",{"_index":257,"t":{"489":{"position":[[175,2]]},"498":{"position":[[101,2]]},"514":{"position":[[77,2]]},"599":{"position":[[77,2]]},"607":{"position":[[175,2]]},"615":{"position":[[101,2]]}}}],["性能",{"_index":1840,"t":{"772":{"position":[[725,2]]},"894":{"position":[[69,2],[230,2]]}}}],["总会",{"_index":1913,"t":{"783":{"position":[[48,2]]}}}],["总的来说",{"_index":1804,"t":{"766":{"position":[[858,4]]},"882":{"position":[[0,4]]}}}],["总览",{"_index":988,"t":{"645":{"position":[[36,2]]},"647":{"position":[[38,2]]}}}],["恢复",{"_index":2371,"t":{"934":{"position":[[1185,2]]}}}],["情况",{"_index":1303,"t":{"684":{"position":[[68,2],[92,2]]},"810":{"position":[[74,2]]},"814":{"position":[[472,2],[807,2]]}}}],["情景",{"_index":2121,"t":{"812":{"position":[[109,2]]}}}],["想",{"_index":9,"t":{"465":{"position":[[27,1]]},"467":{"position":[[23,1]]},"485":{"position":[[27,1]]},"487":{"position":[[23,1]]},"502":{"position":[[27,1]]},"504":{"position":[[23,1]]},"589":{"position":[[23,1]]},"605":{"position":[[23,1]]},"621":{"position":[[23,1]]},"790":{"position":[[97,1]]},"890":{"position":[[23,1]]}}}],["意义",{"_index":1929,"t":{"790":{"position":[[28,2]]}}}],["意思",{"_index":81,"t":{"471":{"position":[[47,2]]},"473":{"position":[[12,2]]},"625":{"position":[[47,2]]},"627":{"position":[[12,2]]}}}],["感谢您",{"_index":2300,"t":{"906":{"position":[[4,3]]},"923":{"position":[[95,3]]}}}],["愿意",{"_index":2057,"t":{"801":{"position":[[112,2],[130,2]]},"906":{"position":[[196,2]]}}}],["成",{"_index":1547,"t":{"727":{"position":[[86,1]]},"790":{"position":[[1397,1]]},"792":{"position":[[244,1]]}}}],["成为",{"_index":504,"t":{"500":{"position":[[372,2]]},"516":{"position":[[372,2]]},"601":{"position":[[372,2]]},"617":{"position":[[372,2]]},"801":{"position":[[8,2],[220,2],[379,2]]},"803":{"position":[[8,2],[89,2],[154,2]]}}}],["成功",{"_index":160,"t":{"479":{"position":[[88,2],[155,2],[259,2]]},"481":{"position":[[26,2],[134,2]]},"483":{"position":[[59,2],[110,2],[155,2],[205,2]]},"633":{"position":[[88,2],[155,2],[259,2]]},"635":{"position":[[26,2],[134,2]]},"637":{"position":[[59,2],[110,2],[155,2],[205,2]]},"766":{"position":[[97,2]]},"840":{"position":[[35,2]]},"928":{"position":[[33,2]]},"930":{"position":[[97,2],[163,2],[231,2],[277,2],[521,2]]},"932":{"position":[[36,2],[90,2],[129,2],[192,2]]},"934":{"position":[[42,2],[95,2],[173,2],[246,2],[298,2],[345,2],[428,2],[482,2],[519,2],[586,2],[636,2],[716,2],[784,2],[888,2],[962,2],[1112,2],[1180,2]]}}}],["成员",{"_index":2073,"t":{"801":{"position":[[392,2]]},"803":{"position":[[21,2],[78,2],[110,2],[126,2],[175,2],[195,2]]},"819":{"position":[[62,2],[80,2],[208,2],[242,2],[357,2],[446,2],[473,2]]},"843":{"position":[[7,2]]},"909":{"position":[[15,2]]},"911":{"position":[[25,2],[51,2]]},"913":{"position":[[29,2],[52,2]]},"915":{"position":[[2,2],[44,2]]},"917":{"position":[[30,2]]},"919":{"position":[[18,2],[56,2]]},"921":{"position":[[5,2],[51,2]]}}}],["我们",{"_index":470,"t":{"500":{"position":[[128,2]]},"516":{"position":[[128,2]]},"601":{"position":[[128,2]]},"617":{"position":[[128,2]]},"725":{"position":[[140,2],[258,2],[304,2],[345,2],[357,2]]},"727":{"position":[[72,2]]},"779":{"position":[[0,2]]},"792":{"position":[[139,2]]},"807":{"position":[[86,2]]},"812":{"position":[[1,2],[71,2]]},"814":{"position":[[24,2]]},"880":{"position":[[168,2]]},"898":{"position":[[0,2]]},"902":{"position":[[0,2]]},"906":{"position":[[0,2],[8,2],[35,2],[57,2],[115,2],[200,2],[220,2]]},"923":{"position":[[58,2]]}}}],["或是",{"_index":2051,"t":{"801":{"position":[[52,2]]},"898":{"position":[[38,2]]}}}],["或者",{"_index":522,"t":{"506":{"position":[[77,2]]},"508":{"position":[[33,2]]},"591":{"position":[[77,2]]},"593":{"position":[[33,2]]},"756":{"position":[[437,2]]},"807":{"position":[[32,2],[170,2]]},"812":{"position":[[52,2]]},"840":{"position":[[76,2]]},"871":{"position":[[70,2]]},"880":{"position":[[47,2],[207,2]]}}}],["所以",{"_index":129,"t":{"475":{"position":[[60,2]]},"512":{"position":[[48,2]]},"597":{"position":[[48,2]]},"629":{"position":[[60,2]]},"725":{"position":[[302,2]]},"760":{"position":[[692,2]]}}}],["所在",{"_index":187,"t":{"483":{"position":[[63,2]]},"637":{"position":[[63,2]]}}}],["所得",{"_index":1500,"t":{"722":{"position":[[366,2]]}}}],["所有",{"_index":144,"t":{"479":{"position":[[7,2]]},"496":{"position":[[236,2]]},"613":{"position":[[236,2]]},"633":{"position":[[7,2]]},"748":{"position":[[488,2]]},"753":{"position":[[53,2],[148,2]]},"756":{"position":[[184,2],[207,2],[319,2]]},"760":{"position":[[652,2]]},"762":{"position":[[114,2],[126,2],[346,2],[358,2]]},"764":{"position":[[449,2]]},"766":{"position":[[152,2],[619,2]]},"772":{"position":[[113,2],[432,2]]},"796":{"position":[[248,2]]},"798":{"position":[[411,2]]},"801":{"position":[[141,2]]},"803":{"position":[[58,2]]},"846":{"position":[[104,2]]},"909":{"position":[[6,2]]},"930":{"position":[[22,2]]}}}],["所见即",{"_index":1499,"t":{"722":{"position":[[363,3]]}}}],["手动",{"_index":1392,"t":{"708":{"position":[[15,2]]}}}],["才",{"_index":1999,"t":{"796":{"position":[[281,1]]}}}],["才能",{"_index":1889,"t":{"779":{"position":[[121,2]]},"858":{"position":[[63,2]]}}}],["打包",{"_index":1779,"t":{"764":{"position":[[338,2]]},"819":{"position":[[299,2],[305,2]]}}}],["打开",{"_index":189,"t":{"483":{"position":[[76,2],[97,2],[108,2]]},"637":{"position":[[76,2],[97,2],[108,2]]},"779":{"position":[[153,2]]},"781":{"position":[[149,2],[189,2]]},"790":{"position":[[680,2]]},"934":{"position":[[194,2],[244,2]]},"936":{"position":[[18,2],[57,2]]}}}],["执行",{"_index":202,"t":{"483":{"position":[[241,2]]},"637":{"position":[[241,2]]},"694":{"position":[[730,2]]},"710":{"position":[[267,2]]},"716":{"position":[[55,2]]},"762":{"position":[[132,2],[364,2]]},"766":{"position":[[877,2]]},"774":{"position":[[41,2],[383,2],[390,2],[582,2],[607,2],[652,2],[670,2]]},"833":{"position":[[12,2]]},"838":{"position":[[7,2],[109,2]]},"840":{"position":[[7,2],[33,2]]}}}],["执行器",{"_index":1720,"t":{"758":{"position":[[412,3]]}}}],["扩展",{"_index":290,"t":{"492":{"position":[[219,2],[228,2]]},"609":{"position":[[219,2],[228,2]]},"727":{"position":[[52,2]]},"753":{"position":[[199,2],[388,2]]}}}],["扫描",{"_index":1751,"t":{"760":{"position":[[559,2]]}}}],["找到",{"_index":1558,"t":{"727":{"position":[[261,2],[278,2]]},"779":{"position":[[65,2]]},"801":{"position":[[87,2]]},"882":{"position":[[38,2]]}}}],["技术",{"_index":498,"t":{"500":{"position":[[345,2]]},"516":{"position":[[345,2]]},"601":{"position":[[345,2]]},"617":{"position":[[345,2]]},"911":{"position":[[12,2],[34,2]]},"913":{"position":[[19,2],[41,2]]},"915":{"position":[[53,2]]},"917":{"position":[[22,2],[48,2]]},"919":{"position":[[70,2]]},"925":{"position":[[6,2]]}}}],["投票",{"_index":2061,"t":{"801":{"position":[[170,2]]},"858":{"position":[[8,2],[35,2],[67,2]]},"860":{"position":[[2,2],[27,2],[38,2]]},"862":{"position":[[28,2],[41,2]]}}}],["投票决定",{"_index":2063,"t":{"801":{"position":[[196,4]]},"803":{"position":[[132,4]]}}}],["投稿",{"_index":491,"t":{"500":{"position":[[271,2]]},"516":{"position":[[271,2]]},"601":{"position":[[271,2]]},"617":{"position":[[271,2]]}}}],["报错",{"_index":247,"t":{"489":{"position":[[140,2]]},"607":{"position":[[140,2]]}}}],["抽象",{"_index":1546,"t":{"727":{"position":[[84,2]]},"772":{"position":[[424,2]]}}}],["拉",{"_index":1961,"t":{"790":{"position":[[1320,1]]},"792":{"position":[[249,1]]},"846":{"position":[[48,1]]}}}],["拒绝",{"_index":2017,"t":{"798":{"position":[[124,2]]}}}],["拖放",{"_index":1511,"t":{"725":{"position":[[82,2]]}}}],["持久",{"_index":278,"t":{"492":{"position":[[137,2],[150,2]]},"609":{"position":[[137,2],[150,2]]}}}],["持续",{"_index":454,"t":{"500":{"position":[[20,2]]},"516":{"position":[[20,2]]},"601":{"position":[[20,2]]},"617":{"position":[[20,2]]}}}],["指令",{"_index":2205,"t":{"838":{"position":[[11,2]]},"840":{"position":[[11,2]]}}}],["指南",{"_index":1992,"t":{"796":{"position":[[156,2]]}}}],["指定",{"_index":184,"t":{"483":{"position":[[39,2],[86,2]]},"637":{"position":[[39,2],[86,2]]},"756":{"position":[[344,2]]},"852":{"position":[[22,2],[43,2]]}}}],["指导",{"_index":2284,"t":{"894":{"position":[[82,2]]}}}],["指导方针",{"_index":2355,"t":{"923":{"position":[[79,4]]}}}],["指引",{"_index":1878,"t":{"776":{"position":[[33,2]]},"790":{"position":[[485,2],[1262,2]]}}}],["按",{"_index":1787,"t":{"766":{"position":[[229,1],[292,1],[381,1],[392,1],[401,1],[487,1]]}}}],["按照",{"_index":213,"t":{"483":{"position":[[309,2]]},"637":{"position":[[309,2]]},"858":{"position":[[17,2]]},"871":{"position":[[46,2]]},"934":{"position":[[524,2]]}}}],["按钮",{"_index":150,"t":{"479":{"position":[[40,2]]},"633":{"position":[[40,2]]},"722":{"position":[[408,2]]},"790":{"position":[[379,2]]},"930":{"position":[[55,2]]}}}],["换行",{"_index":2153,"t":{"814":{"position":[[679,2],[686,2]]}}}],["换行符",{"_index":2151,"t":{"814":{"position":[[669,3]]},"852":{"position":[[75,3]]},"855":{"position":[[39,3]]}}}],["排序",{"_index":1610,"t":{"740":{"position":[[81,2]]}}}],["接下来",{"_index":2060,"t":{"801":{"position":[[162,3]]}}}],["接口",{"_index":1467,"t":{"719":{"position":[[41,2]]},"751":{"position":[[12,2]]},"760":{"position":[[429,2],[446,2],[567,2],[661,2],[689,2]]},"762":{"position":[[263,2],[495,2],[637,2]]},"766":{"position":[[842,2]]},"770":{"position":[[80,2]]},"772":{"position":[[564,2]]},"774":{"position":[[565,2]]}}}],["接收",{"_index":349,"t":{"494":{"position":[[970,2],[1969,2]]},"611":{"position":[[970,2],[1969,2]]},"774":{"position":[[136,2],[177,2],[595,2]]}}}],["控制器",{"_index":1781,"t":{"766":{"position":[[37,3]]}}}],["推",{"_index":1978,"t":{"792":{"position":[[386,1]]}}}],["推动",{"_index":2269,"t":{"882":{"position":[[115,2]]}}}],["推广",{"_index":1984,"t":{"794":{"position":[[69,2]]}}}],["推进",{"_index":1910,"t":{"781":{"position":[[130,2]]}}}],["推送",{"_index":1954,"t":{"790":{"position":[[1046,2]]}}}],["描述",{"_index":51,"t":{"465":{"position":[[201,2]]},"467":{"position":[[197,2]]},"479":{"position":[[33,2]]},"481":{"position":[[14,2]]},"485":{"position":[[201,2]]},"487":{"position":[[197,2]]},"502":{"position":[[201,2]]},"504":{"position":[[197,2]]},"510":{"position":[[11,2],[22,2]]},"589":{"position":[[197,2]]},"595":{"position":[[11,2],[22,2]]},"605":{"position":[[197,2]]},"621":{"position":[[197,2]]},"633":{"position":[[33,2]]},"635":{"position":[[14,2]]},"727":{"position":[[93,2]]},"730":{"position":[[61,2]]},"732":{"position":[[44,2]]},"734":{"position":[[157,2],[179,2]]},"742":{"position":[[76,2]]},"756":{"position":[[45,2]]},"779":{"position":[[35,2],[98,2]]},"794":{"position":[[51,2]]},"814":{"position":[[618,2],[875,2]]},"880":{"position":[[211,2]]},"890":{"position":[[197,2]]},"892":{"position":[[38,2],[141,2]]},"930":{"position":[[48,2]]},"932":{"position":[[25,2],[180,2],[215,2]]}}}],["提",{"_index":2049,"t":{"801":{"position":[[35,1]]}}}],["提交",{"_index":462,"t":{"500":{"position":[[51,2]]},"516":{"position":[[51,2]]},"601":{"position":[[51,2]]},"617":{"position":[[51,2]]},"772":{"position":[[835,2]]},"790":{"position":[[1380,2],[1479,2]]},"792":{"position":[[227,2]]},"796":{"position":[[68,2],[83,2],[250,2],[263,2]]},"798":{"position":[[18,2],[45,2],[104,2],[326,2]]},"801":{"position":[[350,2]]},"803":{"position":[[224,2]]},"807":{"position":[[70,2],[209,2]]},"810":{"position":[[22,2]]},"812":{"position":[[103,2]]},"816":{"position":[[35,2],[44,2]]},"819":{"position":[[25,2],[86,2],[110,2],[155,2],[264,2]]},"880":{"position":[[181,2],[217,2]]},"882":{"position":[[95,2]]},"900":{"position":[[21,2]]}}}],["提交者",{"_index":2041,"t":{"798":{"position":[[374,3]]}}}],["提供",{"_index":255,"t":{"489":{"position":[[171,2]]},"492":{"position":[[269,2]]},"498":{"position":[[99,2]]},"500":{"position":[[392,2]]},"514":{"position":[[75,2]]},"516":{"position":[[392,2]]},"599":{"position":[[75,2]]},"601":{"position":[[392,2]]},"607":{"position":[[171,2]]},"609":{"position":[[269,2]]},"615":{"position":[[99,2]]},"617":{"position":[[392,2]]},"722":{"position":[[395,2]]},"751":{"position":[[34,2],[50,2]]},"753":{"position":[[192,2],[381,2]]},"758":{"position":[[155,2],[205,2],[238,2],[315,2],[364,2]]},"762":{"position":[[266,2],[498,2],[759,2]]},"766":{"position":[[32,2],[79,2],[132,2],[203,2],[260,2],[323,2],[362,2],[427,2],[461,2],[649,2],[846,2]]},"770":{"position":[[78,2]]},"772":{"position":[[632,2]]},"774":{"position":[[166,2],[290,2],[364,2],[448,2],[558,2],[687,2]]},"814":{"position":[[26,2]]},"894":{"position":[[143,2]]},"906":{"position":[[64,2]]},"909":{"position":[[17,2]]},"923":{"position":[[72,2]]}}}],["提出",{"_index":2307,"t":{"906":{"position":[[130,2]]},"919":{"position":[[31,2]]},"921":{"position":[[7,2]]}}}],["提升",{"_index":2304,"t":{"906":{"position":[[106,2]]}}}],["提名",{"_index":2058,"t":{"801":{"position":[[114,2]]}}}],["提示",{"_index":1616,"t":{"746":{"position":[[65,2]]},"928":{"position":[[63,2],[91,2]]},"930":{"position":[[319,2],[382,2],[445,2],[498,2]]},"932":{"position":[[168,2],[244,2]]}}}],["提问",{"_index":2330,"t":{"915":{"position":[[14,2]]}}}],["提高",{"_index":293,"t":{"492":{"position":[[236,2]]},"609":{"position":[[236,2]]},"894":{"position":[[191,2]]}}}],["提高效率",{"_index":2264,"t":{"882":{"position":[[18,4]]}}}],["插件",{"_index":1656,"t":{"756":{"position":[[63,2],[272,2]]},"760":{"position":[[98,2]]},"762":{"position":[[40,2]]},"764":{"position":[[277,2],[420,2]]},"886":{"position":[[61,2]]}}}],["搭配",{"_index":1497,"t":{"722":{"position":[[322,2]]}}}],["撤销",{"_index":2370,"t":{"934":{"position":[[1136,2],[1178,2]]}}}],["撰写",{"_index":2039,"t":{"798":{"position":[[365,2]]}}}],["操作",{"_index":103,"t":{"473":{"position":[[67,2],[84,2]]},"479":{"position":[[38,2]]},"627":{"position":[[67,2],[84,2]]},"633":{"position":[[38,2]]},"722":{"position":[[208,2],[336,2]]},"760":{"position":[[461,2],[590,2],[707,2]]},"774":{"position":[[46,2],[86,2],[612,2]]},"790":{"position":[[1649,2]]},"816":{"position":[[60,2]]},"846":{"position":[[106,2]]},"930":{"position":[[53,2]]}}}],["支持",{"_index":267,"t":{"492":{"position":[[62,2],[110,2],[140,2],[145,2],[250,2]]},"609":{"position":[[62,2],[110,2],[140,2],[145,2],[250,2]]},"694":{"position":[[290,2]]},"871":{"position":[[40,2]]},"886":{"position":[[31,2],[39,2],[59,2],[67,2],[83,2]]},"906":{"position":[[18,2],[48,2],[198,2]]},"923":{"position":[[99,2]]}}}],["收到",{"_index":1557,"t":{"727":{"position":[[248,2]]}}}],["收集",{"_index":2285,"t":{"894":{"position":[[125,2],[167,2],[213,2]]}}}],["改",{"_index":2120,"t":{"812":{"position":[[100,1]]}}}],["改动",{"_index":2030,"t":{"798":{"position":[[278,2],[333,2]]},"812":{"position":[[4,2]]}}}],["改变",{"_index":2034,"t":{"798":{"position":[[316,2]]}}}],["改进",{"_index":1911,"t":{"781":{"position":[[203,2]]},"798":{"position":[[219,2]]}}}],["攻略",{"_index":467,"t":{"500":{"position":[[69,2]]},"516":{"position":[[69,2]]},"601":{"position":[[69,2]]},"617":{"position":[[69,2]]}}}],["放入",{"_index":2143,"t":{"814":{"position":[[509,2]]}}}],["放置",{"_index":1503,"t":{"722":{"position":[[401,2]]}}}],["放进",{"_index":2211,"t":{"840":{"position":[[65,2]]}}}],["效率",{"_index":1909,"t":{"781":{"position":[[124,2]]}}}],["教程",{"_index":486,"t":{"500":{"position":[[251,2]]},"516":{"position":[[251,2]]},"601":{"position":[[251,2]]},"617":{"position":[[251,2]]},"911":{"position":[[17,2]]}}}],["数据",{"_index":24,"t":{"465":{"position":[[66,2]]},"467":{"position":[[62,2]]},"479":{"position":[[2,2]]},"483":{"position":[[78,2],[99,2],[254,2],[276,2]]},"485":{"position":[[66,2]]},"487":{"position":[[62,2]]},"502":{"position":[[66,2]]},"504":{"position":[[62,2]]},"589":{"position":[[62,2]]},"605":{"position":[[62,2]]},"621":{"position":[[62,2]]},"633":{"position":[[2,2]]},"637":{"position":[[78,2],[99,2],[254,2],[276,2]]},"736":{"position":[[50,2]]},"758":{"position":[[176,2]]},"760":{"position":[[25,2]]},"766":{"position":[[369,2]]},"772":{"position":[[263,2],[674,2]]},"774":{"position":[[475,2]]},"890":{"position":[[62,2]]},"892":{"position":[[63,2],[192,2]]},"930":{"position":[[15,2]]},"934":{"position":[[196,2],[238,2],[445,2],[493,2],[1130,2]]}}}],["数据传输",{"_index":1768,"t":{"762":{"position":[[587,4]]},"770":{"position":[[19,4]]}}}],["数据库",{"_index":195,"t":{"483":{"position":[[150,3],[199,3]]},"512":{"position":[[0,3],[36,3]]},"597":{"position":[[0,3],[36,3]]},"637":{"position":[[150,3],[199,3]]},"694":{"position":[[5,3],[97,3],[144,3],[236,3],[732,3]]},"696":{"position":[[46,3],[307,3]]},"753":{"position":[[151,3]]},"760":{"position":[[247,3],[586,3]]},"762":{"position":[[97,3],[116,3],[122,3],[278,3],[329,3],[348,3],[354,3],[510,3],[599,3],[623,3],[902,3]]},"770":{"position":[[31,3]]},"774":{"position":[[507,3]]},"934":{"position":[[286,3],[303,3],[334,3]]}}}],["数据模型",{"_index":1526,"t":{"725":{"position":[[217,4],[394,4]]},"753":{"position":[[470,4]]}}}],["数据源",{"_index":145,"t":{"479":{"position":[[9,3],[18,3],[24,3],[51,3],[57,3],[63,3],[97,3],[103,3],[120,3],[126,3],[132,3],[164,3],[170,3],[182,3],[190,3],[197,3],[219,3],[239,3],[251,3],[264,3],[271,3],[279,3],[287,3],[299,3]]},"483":{"position":[[115,3],[121,3],[135,3],[143,3],[163,3],[171,3],[180,3],[189,3]]},"633":{"position":[[9,3],[18,3],[24,3],[51,3],[57,3],[63,3],[97,3],[103,3],[120,3],[126,3],[132,3],[164,3],[170,3],[182,3],[190,3],[197,3],[219,3],[239,3],[251,3],[264,3],[271,3],[279,3],[287,3],[299,3]]},"637":{"position":[[115,3],[121,3],[135,3],[143,3],[163,3],[171,3],[180,3],[189,3]]},"722":{"position":[[372,3]]},"730":{"position":[[4,3],[32,3],[57,3],[85,3]]},"732":{"position":[[4,3]]},"734":{"position":[[4,3],[39,3]]},"748":{"position":[[0,3],[26,3],[83,3],[119,3]]},"753":{"position":[[201,3],[217,3]]},"762":{"position":[[37,3]]},"766":{"position":[[139,3],[155,3],[173,3],[382,3],[393,3],[621,3]]},"772":{"position":[[133,3],[235,3],[350,3]]},"886":{"position":[[35,3]]},"930":{"position":[[24,3],[33,3],[39,3],[65,3],[69,3],[75,3],[104,3],[120,3],[131,3],[135,3],[141,3],[170,3],[186,3],[192,3],[200,3],[209,3],[238,3],[250,3],[260,3],[268,3],[282,3],[290,3],[299,3],[333,3],[349,3],[355,3],[396,3],[412,3],[418,3],[454,3],[505,3],[515,3]]},"934":{"position":[[251,3],[257,3],[272,3],[278,3],[291,3],[309,3],[319,3],[323,3],[340,3]]}}}],["数据管理",{"_index":122,"t":{"475":{"position":[[37,4]]},"629":{"position":[[37,4]]}}}],["数据类型",{"_index":1600,"t":{"736":{"position":[[65,4]]}}}],["数据结构",{"_index":1733,"t":{"760":{"position":[[256,4]]}}}],["整个",{"_index":141,"t":{"477":{"position":[[5,2]]},"483":{"position":[[304,2]]},"631":{"position":[[5,2]]},"637":{"position":[[304,2]]},"722":{"position":[[326,2]]},"753":{"position":[[91,2]]},"758":{"position":[[29,2]]},"772":{"position":[[64,2]]}}}],["整体",{"_index":294,"t":{"492":{"position":[[240,2]]},"609":{"position":[[240,2]]},"691":{"position":[[68,2]]},"706":{"position":[[68,2]]},"722":{"position":[[3,2]]},"822":{"position":[[83,2]]}}}],["文",{"_index":38,"t":{"465":{"position":[[117,1],[130,1]]},"467":{"position":[[113,1],[126,1]]},"485":{"position":[[117,1],[130,1]]},"487":{"position":[[113,1],[126,1]]},"502":{"position":[[117,1],[130,1]]},"504":{"position":[[113,1],[126,1]]},"589":{"position":[[113,1],[126,1]]},"605":{"position":[[113,1],[126,1]]},"621":{"position":[[113,1],[126,1]]},"890":{"position":[[113,1],[126,1]]},"892":{"position":[[9,1],[106,1]]},"894":{"position":[[61,1],[257,1]]}}}],["文中",{"_index":1935,"t":{"790":{"position":[[211,2]]}}}],["文件",{"_index":1409,"t":{"710":{"position":[[380,2]]},"716":{"position":[[52,2]]},"756":{"position":[[23,2],[79,2],[132,2],[393,2],[456,2]]},"762":{"position":[[788,2]]},"764":{"position":[[105,2],[303,2],[316,2],[451,2]]}}}],["文件夹",{"_index":1777,"t":{"764":{"position":[[210,3],[319,3]]},"840":{"position":[[62,3]]}}}],["文件目录",{"_index":1416,"t":{"710":{"position":[[560,4]]}}}],["文本",{"_index":2,"t":{"465":{"position":[[6,2],[199,2]]},"467":{"position":[[2,2],[195,2]]},"485":{"position":[[6,2],[199,2]]},"487":{"position":[[2,2],[195,2]]},"502":{"position":[[6,2],[199,2]]},"504":{"position":[[2,2],[195,2]]},"589":{"position":[[2,2],[195,2]]},"605":{"position":[[2,2],[195,2]]},"621":{"position":[[2,2],[195,2]]},"890":{"position":[[2,2],[195,2]]},"892":{"position":[[58,2],[75,2],[139,2],[187,2]]}}}],["文档",{"_index":450,"t":{"500":{"position":[[2,2],[9,2],[17,2],[24,2],[38,2]]},"516":{"position":[[2,2],[9,2],[17,2],[24,2],[38,2]]},"601":{"position":[[2,2],[9,2],[17,2],[24,2],[38,2]]},"617":{"position":[[2,2],[9,2],[17,2],[24,2],[38,2]]},"727":{"position":[[95,2]]},"764":{"position":[[222,2]]},"785":{"position":[[8,2],[29,2]]},"796":{"position":[[175,2]]},"807":{"position":[[540,2]]},"814":{"position":[[314,2]]},"819":{"position":[[114,2],[138,2],[145,2],[152,2]]},"840":{"position":[[82,2]]},"858":{"position":[[19,2]]},"896":{"position":[[18,2]]},"898":{"position":[[35,2]]},"906":{"position":[[156,2]]},"925":{"position":[[8,2]]}}}],["文章",{"_index":2317,"t":{"911":{"position":[[14,2]]}}}],["断开",{"_index":344,"t":{"494":{"position":[[856,2]]},"611":{"position":[[856,2]]}}}],["新",{"_index":1682,"t":{"756":{"position":[[431,1]]},"781":{"position":[[11,1],[167,1]]},"783":{"position":[[51,1],[62,1]]},"790":{"position":[[115,1],[466,1],[542,1],[581,1],[968,1],[1043,1],[1322,1]]},"796":{"position":[[56,1],[168,1]]},"798":{"position":[[261,1],[433,1]]},"803":{"position":[[276,1]]},"814":{"position":[[286,1]]},"846":{"position":[[50,1]]},"862":{"position":[[37,1]]},"919":{"position":[[2,1]]},"930":{"position":[[207,1]]},"934":{"position":[[37,1],[91,1],[562,1],[695,1],[865,1],[1035,1],[1121,1]]}}}],["新人",{"_index":475,"t":{"500":{"position":[[153,2]]},"516":{"position":[[153,2]]},"601":{"position":[[153,2]]},"617":{"position":[[153,2]]}}}],["新增",{"_index":175,"t":{"481":{"position":[[42,2]]},"635":{"position":[[42,2]]},"790":{"position":[[613,2]]},"814":{"position":[[369,2]]},"930":{"position":[[112,2],[178,2]]},"932":{"position":[[50,2],[206,2]]}}}],["新建",{"_index":1261,"t":{"660":{"position":[[166,2]]},"790":{"position":[[130,2]]},"792":{"position":[[175,2]]}}}],["新手",{"_index":478,"t":{"500":{"position":[[164,2]]},"516":{"position":[[164,2]]},"601":{"position":[[164,2]]},"617":{"position":[[164,2]]}}}],["方便",{"_index":1483,"t":{"722":{"position":[[185,2]]},"758":{"position":[[128,2]]},"760":{"position":[[581,2]]},"764":{"position":[[372,2],[427,2]]},"814":{"position":[[36,2]]},"906":{"position":[[86,2]]},"915":{"position":[[42,2]]}}}],["方向",{"_index":2078,"t":{"803":{"position":[[269,2]]}}}],["方式",{"_index":456,"t":{"500":{"position":[[27,2]]},"514":{"position":[[36,2]]},"516":{"position":[[27,2]]},"599":{"position":[[36,2]]},"601":{"position":[[27,2]]},"617":{"position":[[27,2]]},"654":{"position":[[2,2]]},"656":{"position":[[0,2],[60,2]]},"672":{"position":[[2,2]]},"691":{"position":[[0,2],[76,2]]},"706":{"position":[[0,2],[76,2]]},"708":{"position":[[6,2]]},"753":{"position":[[196,2],[385,2]]},"774":{"position":[[239,2]]},"781":{"position":[[103,2],[127,2]]},"783":{"position":[[42,2]]},"790":{"position":[[1369,2]]},"792":{"position":[[216,2]]},"822":{"position":[[15,2],[91,2]]},"835":{"position":[[0,2],[60,2]]},"873":{"position":[[0,2],[60,2]]}}}],["方案",{"_index":88,"t":{"473":{"position":[[19,2]]},"627":{"position":[[19,2]]}}}],["方法",{"_index":425,"t":{"496":{"position":[[486,2]]},"613":{"position":[[486,2]]},"756":{"position":[[192,2]]},"758":{"position":[[171,2],[220,2],[251,2],[327,2],[374,2]]},"760":{"position":[[635,2]]},"762":{"position":[[212,2],[282,2],[444,2],[514,2],[695,2],[764,2]]},"766":{"position":[[92,2]]},"814":{"position":[[887,2]]},"882":{"position":[[27,2]]}}}],["方程",{"_index":2379,"t":{"936":{"position":[[157,2],[191,2],[196,2]]}}}],["无法",{"_index":2047,"t":{"798":{"position":[[467,2]]}}}],["无论是",{"_index":1879,"t":{"779":{"position":[[4,3]]},"796":{"position":[[43,3]]}}}],["无限",{"_index":1507,"t":{"725":{"position":[[51,2]]}}}],["日",{"_index":983,"t":{"587":{"position":[[8,1]]},"603":{"position":[[8,1]]},"619":{"position":[[8,1]]}}}],["日常",{"_index":1932,"t":{"790":{"position":[[73,2]]}}}],["日志",{"_index":246,"t":{"489":{"position":[[137,2]]},"607":{"position":[[137,2]]},"710":{"position":[[378,2]]},"774":{"position":[[698,2]]}}}],["日期",{"_index":1693,"t":{"758":{"position":[[81,2]]}}}],["旧",{"_index":125,"t":{"475":{"position":[[47,1]]},"629":{"position":[[47,1]]}}}],["旨在",{"_index":29,"t":{"465":{"position":[[90,2]]},"467":{"position":[[86,2]]},"485":{"position":[[90,2]]},"487":{"position":[[86,2]]},"502":{"position":[[90,2]]},"504":{"position":[[86,2]]},"589":{"position":[[86,2]]},"605":{"position":[[86,2]]},"621":{"position":[[86,2]]},"882":{"position":[[16,2]]},"890":{"position":[[86,2]]},"909":{"position":[[3,2]]}}}],["时",{"_index":1977,"t":{"792":{"position":[[92,1]]},"814":{"position":[[724,1]]},"833":{"position":[[9,1]]},"838":{"position":[[106,1]]},"919":{"position":[[8,1]]},"921":{"position":[[16,1]]}}}],["时会",{"_index":1933,"t":{"790":{"position":[[123,2]]}}}],["时候",{"_index":238,"t":{"489":{"position":[[102,2]]},"498":{"position":[[40,2]]},"514":{"position":[[34,2]]},"599":{"position":[[34,2]]},"607":{"position":[[102,2]]},"615":{"position":[[40,2]]},"725":{"position":[[266,2]]},"807":{"position":[[181,2]]},"812":{"position":[[9,2],[83,2]]}}}],["时间",{"_index":1469,"t":{"719":{"position":[[45,2]]},"730":{"position":[[149,2]]},"734":{"position":[[219,2],[238,2]]},"736":{"position":[[86,2],[105,2]]},"738":{"position":[[92,2],[111,2]]},"740":{"position":[[100,2],[119,2]]},"742":{"position":[[95,2],[114,2]]},"744":{"position":[[66,2],[85,2]]},"758":{"position":[[83,2],[135,2]]},"880":{"position":[[69,2]]}}}],["明白",{"_index":438,"t":{"498":{"position":[[34,2]]},"510":{"position":[[33,2],[45,2]]},"595":{"position":[[33,2],[45,2]]},"615":{"position":[[34,2]]}}}],["明确",{"_index":1928,"t":{"790":{"position":[[26,2]]},"798":{"position":[[383,2]]},"810":{"position":[[17,2],[62,2]]},"923":{"position":[[76,2]]}}}],["易于",{"_index":258,"t":{"492":{"position":[[4,2]]},"609":{"position":[[4,2]]}}}],["映射",{"_index":2279,"t":{"892":{"position":[[81,2]]}}}],["是否",{"_index":1456,"t":{"716":{"position":[[92,2],[108,2],[142,2]]},"734":{"position":[[138,2]]},"801":{"position":[[200,2]]},"803":{"position":[[136,2]]},"807":{"position":[[72,2]]}}}],["显示",{"_index":143,"t":{"479":{"position":[[0,2],[5,2],[109,2],[176,2],[276,2]]},"481":{"position":[[40,2],[149,2]]},"483":{"position":[[67,2],[113,2],[158,2]]},"633":{"position":[[0,2],[5,2],[109,2],[176,2],[276,2]]},"635":{"position":[[40,2],[149,2]]},"637":{"position":[[67,2],[113,2],[158,2]]},"753":{"position":[[423,2]]},"930":{"position":[[13,2],[20,2],[287,2]]},"932":{"position":[[138,2]]},"934":{"position":[[50,2],[113,2],[183,2],[249,2],[301,2],[435,2],[594,2],[646,2],[734,2],[804,2],[898,2],[974,2],[1119,2]]},"936":{"position":[[48,2],[107,2],[120,2]]}}}],["更",{"_index":1900,"t":{"781":{"position":[[38,1]]},"814":{"position":[[28,1],[569,1]]},"894":{"position":[[283,1]]},"898":{"position":[[9,1]]}}}],["更好",{"_index":448,"t":{"498":{"position":[[88,2]]},"514":{"position":[[64,2]]},"599":{"position":[[64,2]]},"615":{"position":[[88,2]]},"781":{"position":[[36,2]]},"810":{"position":[[54,2]]},"880":{"position":[[245,2]]},"882":{"position":[[51,2],[107,2]]},"894":{"position":[[99,2]]},"919":{"position":[[60,2]]}}}],["更改",{"_index":1466,"t":{"719":{"position":[[39,2]]}}}],["更新",{"_index":455,"t":{"500":{"position":[[22,2]]},"516":{"position":[[22,2]]},"601":{"position":[[22,2]]},"617":{"position":[[22,2]]},"734":{"position":[[217,2]]},"736":{"position":[[103,2]]},"738":{"position":[[109,2]]},"740":{"position":[[117,2]]},"742":{"position":[[112,2]]},"744":{"position":[[83,2]]},"756":{"position":[[205,2],[439,2]]},"766":{"position":[[224,2],[285,2],[482,2]]},"790":{"position":[[357,2]]},"796":{"position":[[177,2]]},"894":{"position":[[160,2],[187,2],[218,2]]}}}],["替换",{"_index":541,"t":{"512":{"position":[[107,2],[154,2]]},"597":{"position":[[107,2],[154,2]]}}}],["最后",{"_index":2162,"t":{"814":{"position":[[769,2]]}}}],["最好",{"_index":2117,"t":{"812":{"position":[[27,2]]},"855":{"position":[[5,2]]}}}],["最新",{"_index":1939,"t":{"790":{"position":[[321,2],[504,2],[1240,2],[1288,2]]},"911":{"position":[[60,2]]}}}],["最终",{"_index":1540,"t":{"725":{"position":[[401,2]]}}}],["月",{"_index":982,"t":{"587":{"position":[[6,1]]},"603":{"position":[[6,1]]},"619":{"position":[[6,1]]}}}],["有助于",{"_index":2266,"t":{"882":{"position":[[44,3]]},"906":{"position":[[103,3]]}}}],["有效",{"_index":508,"t":{"500":{"position":[[394,2]]},"516":{"position":[[394,2]]},"601":{"position":[[394,2]]},"617":{"position":[[394,2]]},"798":{"position":[[182,2]]},"880":{"position":[[62,2]]}}}],["有趣",{"_index":2089,"t":{"807":{"position":[[117,2]]}}}],["服务",{"_index":1294,"t":{"684":{"position":[[17,2],[34,2]]},"696":{"position":[[257,2]]},"698":{"position":[[41,2],[64,2],[99,2]]},"710":{"position":[[31,2],[79,2],[135,2]]},"712":{"position":[[393,2],[1907,2]]},"716":{"position":[[181,2]]},"751":{"position":[[30,2],[54,2]]},"764":{"position":[[114,2],[171,2]]},"768":{"position":[[5,2]]},"770":{"position":[[76,2]]},"772":{"position":[[567,2]]}}}],["服务器",{"_index":408,"t":{"496":{"position":[[127,3],[391,3],[556,3]]},"613":{"position":[[127,3],[391,3],[556,3]]},"658":{"position":[[4,3]]},"676":{"position":[[4,3]]},"840":{"position":[[71,3]]}}}],["期待",{"_index":2294,"t":{"898":{"position":[[7,2]]}}}],["未",{"_index":1947,"t":{"790":{"position":[[656,1],[1497,1]]},"867":{"position":[[183,1]]}}}],["未来",{"_index":2082,"t":{"807":{"position":[[34,2]]}}}],["本",{"_index":987,"t":{"645":{"position":[[34,1]]},"647":{"position":[[36,1]]},"909":{"position":[[0,1]]}}}],["本地",{"_index":1952,"t":{"790":{"position":[[719,2],[794,2],[972,2]]},"792":{"position":[[329,2],[373,2]]},"833":{"position":[[41,2]]}}}],["本文",{"_index":251,"t":{"489":{"position":[[152,2]]},"498":{"position":[[0,2]]},"514":{"position":[[0,2]]},"599":{"position":[[0,2]]},"607":{"position":[[152,2]]},"615":{"position":[[0,2]]}}}],["本次",{"_index":1562,"t":{"727":{"position":[[319,2]]},"796":{"position":[[182,2],[192,2]]},"814":{"position":[[646,2]]},"860":{"position":[[36,2]]}}}],["机制",{"_index":1897,"t":{"781":{"position":[[23,2]]}}}],["机器",{"_index":1400,"t":{"710":{"position":[[192,2]]},"714":{"position":[[89,2]]},"764":{"position":[[389,2]]}}}],["机器人",{"_index":2275,"t":{"886":{"position":[[63,3]]}}}],["权利",{"_index":2067,"t":{"801":{"position":[[263,2]]},"803":{"position":[[198,2]]}}}],["权限",{"_index":1407,"t":{"710":{"position":[[289,2]]},"843":{"position":[[20,2]]}}}],["条款",{"_index":2312,"t":{"909":{"position":[[1,2]]},"923":{"position":[[64,2]]}}}],["来看",{"_index":430,"t":{"496":{"position":[[526,2]]},"613":{"position":[[526,2]]}}}],["来自",{"_index":351,"t":{"494":{"position":[[991,2],[1990,2]]},"611":{"position":[[991,2],[1990,2]]}}}],["来说",{"_index":2004,"t":{"798":{"position":[[38,2]]}}}],["极",{"_index":2271,"t":{"886":{"position":[[0,1]]}}}],["构",{"_index":22,"t":{"465":{"position":[[63,1]]},"467":{"position":[[59,1]]},"485":{"position":[[63,1]]},"487":{"position":[[59,1]]},"502":{"position":[[63,1]]},"504":{"position":[[59,1]]},"589":{"position":[[59,1]]},"605":{"position":[[59,1]]},"621":{"position":[[59,1]]},"890":{"position":[[59,1]]}}}],["构建",{"_index":13,"t":{"465":{"position":[[33,2],[125,2]]},"467":{"position":[[29,2],[121,2]]},"485":{"position":[[33,2],[125,2]]},"487":{"position":[[29,2],[121,2]]},"502":{"position":[[33,2],[125,2]]},"504":{"position":[[29,2],[121,2]]},"589":{"position":[[29,2],[121,2]]},"605":{"position":[[29,2],[121,2]]},"621":{"position":[[29,2],[121,2]]},"753":{"position":[[249,2]]},"756":{"position":[[47,2],[61,2]]},"772":{"position":[[22,2],[733,2]]},"814":{"position":[[405,2]]},"890":{"position":[[29,2],[121,2]]}}}],["架构设计",{"_index":2186,"t":{"819":{"position":[[148,4]]}}}],["某个",{"_index":2122,"t":{"812":{"position":[[126,2]]},"814":{"position":[[918,2]]}}}],["某次",{"_index":2044,"t":{"798":{"position":[[418,2]]}}}],["查看",{"_index":164,"t":{"479":{"position":[[225,2]]},"481":{"position":[[102,2]]},"483":{"position":[[290,2],[318,2]]},"633":{"position":[[225,2]]},"635":{"position":[[102,2]]},"637":{"position":[[290,2],[318,2]]},"678":{"position":[[2,2],[40,2]]},"716":{"position":[[85,2]]},"807":{"position":[[89,2],[176,2]]}}}],["查询",{"_index":176,"t":{"481":{"position":[[51,2],[69,2]]},"483":{"position":[[215,2],[226,2],[236,2],[249,2]]},"635":{"position":[[51,2],[69,2]]},"637":{"position":[[215,2],[226,2],[236,2],[249,2]]},"760":{"position":[[498,2],[638,2]]},"762":{"position":[[134,2],[366,2]]},"766":{"position":[[234,2],[297,2],[371,2],[397,2],[405,2],[491,2],[617,2]]},"932":{"position":[[58,2]]},"934":{"position":[[355,2],[367,2],[422,2],[440,2],[994,2],[1106,2],[1125,2]]}}}],["查询数据库",{"_index":1785,"t":{"766":{"position":[[180,5],[386,5]]},"774":{"position":[[478,5]]}}}],["查阅",{"_index":477,"t":{"500":{"position":[[162,2]]},"516":{"position":[[162,2]]},"601":{"position":[[162,2]]},"617":{"position":[[162,2]]},"812":{"position":[[78,2]]},"882":{"position":[[73,2]]}}}],["柱形图",{"_index":203,"t":{"483":{"position":[[244,3]]},"637":{"position":[[244,3]]},"934":{"position":[[126,3],[163,3],[186,3],[232,3],[431,3],[858,3],[873,3],[901,3],[949,3],[977,3],[1028,3],[1115,3],[1172,3]]}}}],["标尺",{"_index":1505,"t":{"725":{"position":[[27,2]]}}}],["标签",{"_index":1574,"t":{"730":{"position":[[180,2]]},"779":{"position":[[150,2]]},"781":{"position":[[146,2],[187,2]]},"801":{"position":[[323,2]]}}}],["标线",{"_index":1515,"t":{"725":{"position":[[94,2]]}}}],["标识",{"_index":1576,"t":{"730":{"position":[[194,2]]},"790":{"position":[[1519,2]]},"814":{"position":[[277,2]]}}}],["标识符",{"_index":1565,"t":{"730":{"position":[[10,3],[114,3]]},"732":{"position":[[12,3]]},"734":{"position":[[13,3]]},"736":{"position":[[11,3]]},"738":{"position":[[13,3]]},"740":{"position":[[11,3]]},"742":{"position":[[9,3]]},"744":{"position":[[9,3]]},"746":{"position":[[11,3]]}}}],["标题",{"_index":1969,"t":{"790":{"position":[[1509,2]]},"867":{"position":[[97,2]]}}}],["栏",{"_index":1816,"t":{"772":{"position":[[184,1]]}}}],["校验",{"_index":1561,"t":{"727":{"position":[[297,2]]}}}],["样子",{"_index":1543,"t":{"727":{"position":[[32,2]]}}}],["样式",{"_index":1501,"t":{"722":{"position":[[369,2]]},"772":{"position":[[500,2]]}}}],["核",{"_index":1279,"t":{"670":{"position":[[5,1]]}}}],["核心",{"_index":1906,"t":{"781":{"position":[[106,2]]}}}],["根据",{"_index":204,"t":{"483":{"position":[[247,2]]},"637":{"position":[[247,2]]},"691":{"position":[[80,2]]},"706":{"position":[[80,2]]},"756":{"position":[[384,2]]},"766":{"position":[[161,2],[171,2],[629,2]]},"792":{"position":[[320,2]]},"822":{"position":[[95,2]]},"894":{"position":[[165,2]]}}}],["根本",{"_index":532,"t":{"510":{"position":[[30,2]]},"595":{"position":[[30,2]]}}}],["根目录",{"_index":2206,"t":{"838":{"position":[[23,3]]}}}],["格式",{"_index":2135,"t":{"814":{"position":[[339,2]]},"816":{"position":[[39,2]]}}}],["格式化",{"_index":1694,"t":{"758":{"position":[[86,3]]},"772":{"position":[[792,3]]},"774":{"position":[[470,3]]},"814":{"position":[[0,3]]}}}],["框架",{"_index":117,"t":{"475":{"position":[[18,2],[28,2],[57,2]]},"510":{"position":[[20,2],[40,2]]},"595":{"position":[[20,2],[40,2]]},"629":{"position":[[18,2],[28,2],[57,2]]}}}],["案例",{"_index":435,"t":{"498":{"position":[[12,2]]},"500":{"position":[[259,2]]},"516":{"position":[[259,2]]},"601":{"position":[[259,2]]},"615":{"position":[[12,2]]},"617":{"position":[[259,2]]},"911":{"position":[[20,2]]}}}],["梳理",{"_index":471,"t":{"500":{"position":[[130,2]]},"516":{"position":[[130,2]]},"601":{"position":[[130,2]]},"617":{"position":[[130,2]]}}}],["检查",{"_index":1457,"t":{"716":{"position":[[99,2],[132,2]]},"858":{"position":[[21,2]]},"867":{"position":[[143,2]]}}}],["检查和",{"_index":1852,"t":{"772":{"position":[[842,3]]}}}],["概念",{"_index":1934,"t":{"790":{"position":[[149,2]]}}}],["模块",{"_index":232,"t":{"489":{"position":[[64,2]]},"492":{"position":[[316,2]]},"607":{"position":[[64,2]]},"609":{"position":[[316,2]]},"727":{"position":[[174,2]]},"753":{"position":[[55,2],[87,2],[144,2],[190,2],[242,2],[276,2],[323,2],[379,2],[412,2],[454,2]]},"756":{"position":[[334,2],[353,2]]},"760":{"position":[[2,2],[575,2]]},"762":{"position":[[2,2],[778,2],[816,2],[821,2],[877,2],[883,2]]},"764":{"position":[[2,2],[326,2]]},"766":{"position":[[2,2],[865,2]]},"772":{"position":[[465,2],[542,2]]},"774":{"position":[[77,2],[206,2],[288,2],[446,2]]}}}],["模型",{"_index":6,"t":{"465":{"position":[[15,2],[135,2]]},"467":{"position":[[11,2],[131,2]]},"485":{"position":[[15,2],[135,2]]},"487":{"position":[[11,2],[131,2]]},"489":{"position":[[60,2]]},"492":{"position":[[105,2],[133,2],[320,2]]},"502":{"position":[[15,2],[135,2]]},"504":{"position":[[11,2],[131,2]]},"589":{"position":[[11,2],[131,2]]},"605":{"position":[[11,2],[131,2]]},"607":{"position":[[60,2]]},"609":{"position":[[105,2],[133,2],[320,2]]},"621":{"position":[[11,2],[131,2]]},"660":{"position":[[6,2],[26,2]]},"694":{"position":[[300,2],[320,2]]},"710":{"position":[[75,2],[129,2]]},"746":{"position":[[4,2]]},"753":{"position":[[456,2]]},"756":{"position":[[16,2]]},"760":{"position":[[38,2]]},"762":{"position":[[50,2]]},"766":{"position":[[432,2]]},"884":{"position":[[6,2]]},"890":{"position":[[11,2],[131,2]]},"892":{"position":[[14,2],[23,2],[53,2],[111,2],[176,2]]},"894":{"position":[[66,2],[84,2],[95,2],[162,2],[220,2],[228,2],[262,2]]},"936":{"position":[[100,2],[125,2]]}}}],["模式",{"_index":1533,"t":{"725":{"position":[[291,2],[311,2]]}}}],["欢迎",{"_index":2293,"t":{"898":{"position":[[4,2]]},"906":{"position":[[148,2],[163,2]]}}}],["正则表达式",{"_index":1596,"t":{"734":{"position":[[197,5]]}}}],["正在",{"_index":1966,"t":{"790":{"position":[[1488,2]]}}}],["正如",{"_index":2097,"t":{"807":{"position":[[219,2]]}}}],["正常",{"_index":518,"t":{"506":{"position":[[25,2]]},"591":{"position":[[25,2]]},"716":{"position":[[94,2]]},"798":{"position":[[302,2]]}}}],["正式",{"_index":2191,"t":{"819":{"position":[[390,2]]}}}],["正确",{"_index":1461,"t":{"716":{"position":[[144,2]]},"928":{"position":[[13,2],[23,2]]}}}],["正确性",{"_index":2224,"t":{"858":{"position":[[26,3]]}}}],["此后",{"_index":2218,"t":{"846":{"position":[[102,2]]}}}],["此处",{"_index":1673,"t":{"756":{"position":[[360,2],[375,2]]}}}],["此外",{"_index":1681,"t":{"756":{"position":[[421,2]]},"762":{"position":[[773,2]]},"766":{"position":[[645,2]]},"772":{"position":[[450,2],[807,2]]},"774":{"position":[[161,2],[681,2]]}}}],["此次",{"_index":2043,"t":{"798":{"position":[[389,2],[491,2]]}}}],["步骤",{"_index":2198,"t":{"833":{"position":[[1,2]]},"838":{"position":[[98,2]]},"880":{"position":[[59,2],[156,2]]},"894":{"position":[[119,2]]}}}],["歧视",{"_index":2351,"t":{"923":{"position":[[46,2]]}}}],["段",{"_index":1361,"t":{"694":{"position":[[280,1]]},"748":{"position":[[78,1],[160,1],[229,1],[353,1],[417,1],[475,1],[494,1]]},"814":{"position":[[181,1]]}}}],["每个",{"_index":1297,"t":{"684":{"position":[[31,2]]},"766":{"position":[[503,2]]},"794":{"position":[[92,2]]}}}],["每次",{"_index":1550,"t":{"727":{"position":[[115,2]]}}}],["每秒",{"_index":289,"t":{"492":{"position":[[214,2]]},"609":{"position":[[214,2]]}}}],["比如",{"_index":2144,"t":{"814":{"position":[[546,2],[726,2]]}}}],["比较",{"_index":2093,"t":{"807":{"position":[[159,2]]}}}],["氛围",{"_index":2347,"t":{"923":{"position":[[21,2]]}}}],["水平",{"_index":291,"t":{"492":{"position":[[226,2]]},"609":{"position":[[226,2]]},"894":{"position":[[237,2]]}}}],["污染",{"_index":1943,"t":{"790":{"position":[[439,2]]}}}],["沉淀",{"_index":2296,"t":{"900":{"position":[[39,2]]}}}],["沙龙",{"_index":2324,"t":{"913":{"position":[[21,2]]}}}],["沟通",{"_index":1908,"t":{"781":{"position":[[114,2]]},"798":{"position":[[458,2]]},"882":{"position":[[110,2]]},"921":{"position":[[53,2]]}}}],["没有",{"_index":109,"t":{"473":{"position":[[87,2]]},"508":{"position":[[45,2]]},"593":{"position":[[45,2]]},"627":{"position":[[87,2]]},"748":{"position":[[484,2]]},"790":{"position":[[628,2]]},"814":{"position":[[567,2]]}}}],["注入",{"_index":1528,"t":{"725":{"position":[[225,2]]}}}],["注意",{"_index":397,"t":{"496":{"position":[[0,2]]},"613":{"position":[[0,2]]},"716":{"position":[[82,2]]},"814":{"position":[[703,2],[718,2]]}}}],["注意事项",{"_index":2036,"t":{"798":{"position":[[351,4]]}}}],["活动",{"_index":1924,"t":{"787":{"position":[[18,2],[43,2]]},"913":{"position":[[24,2],[36,2]]}}}],["活跃度",{"_index":2305,"t":{"906":{"position":[[111,3]]}}}],["流程",{"_index":50,"t":{"465":{"position":[[194,2]]},"467":{"position":[[190,2]]},"485":{"position":[[194,2]]},"487":{"position":[[190,2]]},"502":{"position":[[194,2]]},"504":{"position":[[190,2]]},"589":{"position":[[190,2]]},"605":{"position":[[190,2]]},"621":{"position":[[190,2]]},"727":{"position":[[205,2]]},"774":{"position":[[534,2]]},"790":{"position":[[1123,2]]},"843":{"position":[[13,2]]},"882":{"position":[[11,2]]},"886":{"position":[[2,2]]},"890":{"position":[[190,2]]},"894":{"position":[[56,2],[73,2],[114,2],[245,2]]}}}],["测试",{"_index":2020,"t":{"798":{"position":[[187,2]]},"814":{"position":[[396,2]]},"819":{"position":[[317,2]]},"919":{"position":[[28,2]]},"928":{"position":[[0,2]]},"930":{"position":[[0,2]]},"932":{"position":[[0,2]]},"934":{"position":[[3,2],[30,2],[53,2],[71,2],[85,2],[101,2],[116,2],[137,2],[149,2],[177,2],[208,2],[220,2],[460,2],[472,2],[510,2],[554,2],[570,2],[597,2],[622,2],[649,2],[673,2],[688,2],[702,2],[722,2],[737,2],[758,2],[772,2],[790,2],[807,2],[831,2],[843,2],[892,2],[923,2],[935,2],[966,2],[1004,2],[1016,2],[1148,2],[1160,2]]},"936":{"position":[[3,2],[20,2],[30,2],[42,2],[50,2],[76,2],[88,2]]}}}],["测试人员",{"_index":2187,"t":{"819":{"position":[[333,4]]}}}],["测试代码",{"_index":398,"t":{"496":{"position":[[11,4]]},"613":{"position":[[11,4]]}}}],["测试用例",{"_index":1903,"t":{"781":{"position":[[47,4]]},"798":{"position":[[191,4]]}}}],["浏览",{"_index":2126,"t":{"814":{"position":[[40,2]]}}}],["浏览器",{"_index":1451,"t":{"714":{"position":[[0,3]]}}}],["消息",{"_index":221,"t":{"489":{"position":[[14,2]]},"492":{"position":[[103,2],[131,2],[148,2],[212,2]]},"607":{"position":[[14,2]]},"609":{"position":[[103,2],[131,2],[148,2],[212,2]]},"727":{"position":[[255,2]]},"774":{"position":[[171,2],[185,2],[267,2],[312,2],[327,2],[632,2]]},"816":{"position":[[37,2],[46,2]]}}}],["消息传递",{"_index":230,"t":{"489":{"position":[[46,4]]},"607":{"position":[[46,4]]}}}],["涉及",{"_index":235,"t":{"489":{"position":[[95,2]]},"496":{"position":[[33,2]]},"506":{"position":[[60,2]]},"508":{"position":[[16,2]]},"591":{"position":[[60,2]]},"593":{"position":[[16,2]]},"607":{"position":[[95,2]]},"613":{"position":[[33,2]]},"892":{"position":[[182,2]]}}}],["深层",{"_index":80,"t":{"471":{"position":[[45,2]]},"625":{"position":[[45,2]]}}}],["深度",{"_index":2276,"t":{"892":{"position":[[19,2]]}}}],["深知",{"_index":2302,"t":{"906":{"position":[[37,2]]}}}],["混乱",{"_index":2094,"t":{"807":{"position":[[161,2]]}}}],["添加",{"_index":151,"t":{"479":{"position":[[44,2],[90,2],[113,2],[157,2]]},"481":{"position":[[0,2],[28,2]]},"483":{"position":[[33,2],[46,2]]},"496":{"position":[[186,2],[514,2],[575,2]]},"613":{"position":[[186,2],[514,2],[575,2]]},"633":{"position":[[44,2],[90,2],[113,2],[157,2]]},"635":{"position":[[0,2],[28,2]]},"637":{"position":[[33,2],[46,2]]},"712":{"position":[[112,2]]},"756":{"position":[[429,2]]},"790":{"position":[[818,2]]},"798":{"position":[[160,2],[272,2],[307,2]]},"801":{"position":[[321,2]]},"930":{"position":[[58,2],[95,2],[124,2],[161,2],[297,2],[313,2],[326,2],[376,2],[389,2],[439,2]]},"932":{"position":[[13,2],[34,2],[147,2],[162,2],[175,2],[190,2]]},"934":{"position":[[124,2]]}}}],["清楚",{"_index":2260,"t":{"880":{"position":[[213,2]]}}}],["渲染",{"_index":1541,"t":{"725":{"position":[[404,2]]},"772":{"position":[[62,2],[92,2],[723,2]]}}}],["源代码",{"_index":1242,"t":{"656":{"position":[[55,3]]},"674":{"position":[[51,3]]},"835":{"position":[[55,3]]},"873":{"position":[[55,3]]}}}],["源码",{"_index":1244,"t":{"656":{"position":[[119,2],[127,2]]},"790":{"position":[[8,2]]},"835":{"position":[[119,2]]},"848":{"position":[[6,2]]},"871":{"position":[[76,2]]},"873":{"position":[[119,2]]}}}],["滑",{"_index":191,"t":{"483":{"position":[[82,1],[103,1],[106,1]]},"637":{"position":[[82,1],[103,1],[106,1]]},"934":{"position":[[200,1],[242,1]]},"936":{"position":[[68,1]]}}}],["滚动",{"_index":1508,"t":{"725":{"position":[[53,2]]}}}],["满意",{"_index":2291,"t":{"894":{"position":[[234,2]]}}}],["满足",{"_index":2027,"t":{"798":{"position":[[266,2]]}}}],["满足用户",{"_index":2255,"t":{"880":{"position":[[160,4]]},"894":{"position":[[102,4]]}}}],["演示",{"_index":25,"t":{"465":{"position":[[68,2]]},"467":{"position":[[64,2]]},"485":{"position":[[68,2]]},"487":{"position":[[64,2]]},"502":{"position":[[68,2]]},"504":{"position":[[64,2]]},"589":{"position":[[64,2]]},"605":{"position":[[64,2]]},"621":{"position":[[64,2]]},"890":{"position":[[64,2]]},"939":{"position":[[35,2]]}}}],["点",{"_index":1643,"t":{"753":{"position":[[285,1]]},"906":{"position":[[212,1]]}}}],["点击",{"_index":1940,"t":{"790":{"position":[[369,2]]}}}],["然后",{"_index":432,"t":{"496":{"position":[[566,2]]},"613":{"position":[[566,2]]},"774":{"position":[[254,2]]},"858":{"position":[[30,2]]}}}],["然而",{"_index":2254,"t":{"880":{"position":[[149,2]]}}}],["熟悉",{"_index":460,"t":{"500":{"position":[[47,2]]},"516":{"position":[[47,2]]},"601":{"position":[[47,2]]},"617":{"position":[[47,2]]}}}],["父",{"_index":1608,"t":{"740":{"position":[[55,1]]},"756":{"position":[[110,1],[232,1]]}}}],["版",{"_index":2213,"t":{"843":{"position":[[12,1]]}}}],["版本",{"_index":112,"t":{"475":{"position":[[2,2],[9,2]]},"477":{"position":[[10,2]]},"629":{"position":[[2,2],[9,2]]},"631":{"position":[[10,2]]},"656":{"position":[[116,2]]},"686":{"position":[[4,2],[25,2]]},"688":{"position":[[12,2]]},"694":{"position":[[288,2]]},"696":{"position":[[247,2]]},"698":{"position":[[89,2]]},"753":{"position":[[47,2],[62,2]]},"756":{"position":[[189,2],[212,2],[316,2],[380,2],[418,2],[447,2]]},"790":{"position":[[64,2],[119,2],[1154,2],[1166,2]]},"798":{"position":[[320,2]]},"801":{"position":[[71,2]]},"803":{"position":[[277,2]]},"810":{"position":[[64,2]]},"814":{"position":[[830,2]]},"819":{"position":[[21,2],[40,2],[106,2],[170,2],[284,2],[329,2],[386,2],[394,2],[406,2],[424,2],[458,2]]},"833":{"position":[[94,2]]},"835":{"position":[[116,2]]},"843":{"position":[[18,2]]},"846":{"position":[[38,2]]},"848":{"position":[[25,2]]},"858":{"position":[[23,2]]},"867":{"position":[[123,2]]},"871":{"position":[[67,2]]},"873":{"position":[[116,2]]}}}],["版本号",{"_index":1664,"t":{"756":{"position":[[168,3],[346,3]]}}}],["物料",{"_index":2220,"t":{"855":{"position":[[3,2]]}}}],["特定",{"_index":199,"t":{"483":{"position":[[186,2]]},"637":{"position":[[186,2]]}}}],["特性",{"_index":2197,"t":{"819":{"position":[[460,2]]}}}],["特点",{"_index":2280,"t":{"892":{"position":[[117,2]]}}}],["状况",{"_index":1883,"t":{"779":{"position":[[43,2]]},"911":{"position":[[62,2]]}}}],["状态",{"_index":173,"t":{"479":{"position":[[307,2]]},"633":{"position":[[307,2]]},"678":{"position":[[7,2]]},"742":{"position":[[128,2]]},"758":{"position":[[393,2]]},"772":{"position":[[383,2]]},"774":{"position":[[158,2]]},"934":{"position":[[1192,2]]}}}],["独立",{"_index":546,"t":{"514":{"position":[[6,2]]},"599":{"position":[[6,2]]}}}],["环境",{"_index":2202,"t":{"833":{"position":[[23,2]]},"871":{"position":[[2,2],[53,2]]},"909":{"position":[[30,2]]},"919":{"position":[[6,2]]},"939":{"position":[[37,2]]}}}],["环境变量",{"_index":1869,"t":{"774":{"position":[[495,4]]}}}],["现在",{"_index":2158,"t":{"814":{"position":[[722,2]]},"843":{"position":[[0,2]]},"846":{"position":[[15,2]]}}}],["现有",{"_index":1683,"t":{"756":{"position":[[441,2]]},"798":{"position":[[283,2]]}}}],["理应",{"_index":1993,"t":{"796":{"position":[[172,2]]}}}],["理由",{"_index":2170,"t":{"814":{"position":[[882,2]]}}}],["理解",{"_index":2083,"t":{"807":{"position":[[43,2]]},"880":{"position":[[248,2]]}}}],["生",{"_index":39,"t":{"465":{"position":[[118,1],[131,1]]},"467":{"position":[[114,1],[127,1]]},"485":{"position":[[118,1],[131,1]]},"487":{"position":[[114,1],[127,1]]},"502":{"position":[[118,1],[131,1]]},"504":{"position":[[114,1],[127,1]]},"589":{"position":[[114,1],[127,1]]},"605":{"position":[[114,1],[127,1]]},"621":{"position":[[114,1],[127,1]]},"890":{"position":[[114,1],[127,1]]},"892":{"position":[[10,1],[107,1]]},"894":{"position":[[62,1],[258,1]]}}}],["生成",{"_index":3,"t":{"465":{"position":[[8,2],[206,2]]},"467":{"position":[[4,2],[202,2]]},"469":{"position":[[33,2]]},"471":{"position":[[53,2]]},"475":{"position":[[74,2]]},"485":{"position":[[8,2],[206,2]]},"487":{"position":[[4,2],[202,2]]},"502":{"position":[[8,2],[206,2]]},"504":{"position":[[4,2],[202,2]]},"589":{"position":[[4,2],[202,2]]},"605":{"position":[[4,2],[202,2]]},"621":{"position":[[4,2],[202,2]]},"623":{"position":[[33,2]]},"625":{"position":[[53,2]]},"629":{"position":[[74,2]]},"710":{"position":[[436,2]]},"792":{"position":[[327,2]]},"814":{"position":[[59,2]]},"840":{"position":[[40,2]]},"884":{"position":[[2,2]]},"890":{"position":[[4,2],[202,2]]},"892":{"position":[[146,2],[198,2]]},"894":{"position":[[133,2],[193,2],[281,2]]}}}],["用于",{"_index":226,"t":{"489":{"position":[[27,2]]},"607":{"position":[[27,2]]},"753":{"position":[[37,2],[421,2],[462,2]]},"756":{"position":[[43,2]]},"758":{"position":[[174,2]]},"760":{"position":[[74,2],[449,2],[492,2],[538,2]]},"762":{"position":[[540,2]]},"764":{"position":[[80,2],[285,2]]},"766":{"position":[[52,2]]},"772":{"position":[[56,2],[85,2],[226,2],[253,2],[279,2],[343,2],[376,2],[400,2],[479,2],[494,2],[610,2],[630,2],[672,2],[696,2],[715,2],[785,2],[800,2]]},"774":{"position":[[29,2],[175,2]]},"814":{"position":[[252,2],[528,2]]}}}],["用到",{"_index":234,"t":{"489":{"position":[[83,2]]},"492":{"position":[[344,2]]},"607":{"position":[[83,2]]},"609":{"position":[[344,2]]},"758":{"position":[[37,2]]},"770":{"position":[[87,2]]}}}],["用户",{"_index":106,"t":{"473":{"position":[[77,2]]},"479":{"position":[[30,2]]},"627":{"position":[[77,2]]},"633":{"position":[[30,2]]},"730":{"position":[[168,2]]},"744":{"position":[[4,2],[45,2]]},"748":{"position":[[444,2]]},"758":{"position":[[324,2],[336,2],[343,2],[350,2]]},"760":{"position":[[649,2]]},"766":{"position":[[56,2],[871,2]]},"772":{"position":[[283,2]]},"783":{"position":[[52,2],[63,2]]},"790":{"position":[[347,2]]},"798":{"position":[[169,2]]},"810":{"position":[[49,2]]},"819":{"position":[[141,2],[342,2]]},"880":{"position":[[3,2],[40,2],[66,2],[179,2],[195,2],[265,2]]},"882":{"position":[[36,2],[76,2],[98,2]]},"892":{"position":[[29,2]]},"894":{"position":[[130,2],[270,2]]},"902":{"position":[[39,2]]},"906":{"position":[[39,2],[88,2]]},"930":{"position":[[45,2],[341,2],[404,2],[465,2],[484,2]]}}}],["用户名",{"_index":156,"t":{"479":{"position":[[73,3],[142,3],[207,3]]},"633":{"position":[[73,3],[142,3],[207,3]]},"662":{"position":[[29,3]]},"680":{"position":[[46,3]]},"703":{"position":[[31,3]]},"742":{"position":[[25,3]]},"744":{"position":[[25,3]]},"760":{"position":[[642,3]]},"762":{"position":[[616,3]]},"928":{"position":[[16,3],[26,3],[41,3],[51,3],[71,3],[79,3]]},"930":{"position":[[85,3],[151,3],[219,3]]},"941":{"position":[[2,3]]}}}],["用户界面",{"_index":1649,"t":{"753":{"position":[[425,4]]}}}],["申请",{"_index":2072,"t":{"801":{"position":[[377,2]]},"803":{"position":[[87,2]]}}}],["画",{"_index":2378,"t":{"936":{"position":[[155,1],[194,1]]}}}],["画图",{"_index":2375,"t":{"936":{"position":[[130,2]]}}}],["界面",{"_index":98,"t":{"473":{"position":[[51,2]]},"627":{"position":[[51,2]]},"753":{"position":[[432,2]]}}}],["留下",{"_index":91,"t":{"473":{"position":[[27,2]]},"627":{"position":[[27,2]]}}}],["登出",{"_index":1790,"t":{"766":{"position":[[329,2]]}}}],["登录",{"_index":67,"t":{"471":{"position":[[0,2]]},"625":{"position":[[0,2]]},"758":{"position":[[322,2],[334,2],[341,2],[348,2]]},"766":{"position":[[326,2]]},"772":{"position":[[123,2],[285,2]]},"928":{"position":[[35,2],[58,2],[86,2]]}}}],["的话",{"_index":524,"t":{"508":{"position":[[47,2]]},"593":{"position":[[47,2]]},"790":{"position":[[1189,2]]}}}],["监听",{"_index":414,"t":{"496":{"position":[[214,2],[234,2],[251,2]]},"613":{"position":[[214,2],[234,2],[251,2]]}}}],["监听器",{"_index":413,"t":{"496":{"position":[[190,3]]},"508":{"position":[[123,3]]},"512":{"position":[[242,3]]},"593":{"position":[[123,3]]},"597":{"position":[[242,3]]},"613":{"position":[[190,3]]}}}],["目录",{"_index":1322,"t":{"691":{"position":[[189,2]]},"706":{"position":[[140,2]]},"712":{"position":[[294,2]]},"716":{"position":[[14,2]]},"790":{"position":[[798,2]]}}}],["目标",{"_index":1559,"t":{"727":{"position":[[263,2]]},"790":{"position":[[89,2]]},"892":{"position":[[92,2]]}}}],["目的",{"_index":442,"t":{"498":{"position":[[53,2]]},"615":{"position":[[53,2]]},"756":{"position":[[108,2]]},"807":{"position":[[216,2]]},"814":{"position":[[613,2]]}}}],["盲目",{"_index":445,"t":{"498":{"position":[[65,2]]},"514":{"position":[[41,2]]},"599":{"position":[[41,2]]},"615":{"position":[[65,2]]}}}],["直到",{"_index":2290,"t":{"894":{"position":[[226,2]]}}}],["直接",{"_index":96,"t":{"473":{"position":[[43,2]]},"627":{"position":[[43,2]]},"756":{"position":[[337,2]]},"790":{"position":[[1342,2]]},"792":{"position":[[189,2]]},"814":{"position":[[48,2]]},"840":{"position":[[58,2]]},"860":{"position":[[23,2]]},"871":{"position":[[72,2]]}}}],["直观",{"_index":2096,"t":{"807":{"position":[[202,2]]}}}],["相关",{"_index":197,"t":{"483":{"position":[[168,2]]},"489":{"position":[[157,2]]},"500":{"position":[[235,2]]},"516":{"position":[[235,2]]},"601":{"position":[[235,2]]},"607":{"position":[[157,2]]},"617":{"position":[[235,2]]},"637":{"position":[[168,2]]},"760":{"position":[[30,2],[90,2]]},"762":{"position":[[42,2]]},"766":{"position":[[142,2],[211,2],[270,2],[373,2],[469,2]]},"772":{"position":[[353,2]]},"781":{"position":[[63,2]]},"790":{"position":[[1212,2]]},"807":{"position":[[45,2]]},"812":{"position":[[43,2]]},"819":{"position":[[2,2],[112,2]]},"880":{"position":[[23,2],[49,2]]},"911":{"position":[[32,2]]},"919":{"position":[[68,2]]},"934":{"position":[[306,2]]}}}],["相同",{"_index":1634,"t":{"753":{"position":[[60,2]]},"880":{"position":[[260,2]]}}}],["相应",{"_index":516,"t":{"506":{"position":[[17,2]]},"591":{"position":[[17,2]]},"766":{"position":[[519,2],[879,2]]},"772":{"position":[[94,2]]},"774":{"position":[[43,2],[609,2]]}}}],["相结合",{"_index":36,"t":{"465":{"position":[[111,3]]},"467":{"position":[[107,3]]},"485":{"position":[[111,3]]},"487":{"position":[[107,3]]},"502":{"position":[[111,3]]},"504":{"position":[[107,3]]},"589":{"position":[[107,3]]},"605":{"position":[[107,3]]},"621":{"position":[[107,3]]},"890":{"position":[[107,3]]}}}],["省略",{"_index":2128,"t":{"814":{"position":[[150,2]]}}}],["看到",{"_index":2363,"t":{"930":{"position":[[110,2],[176,2],[244,2]]},"932":{"position":[[48,2],[102,2],[204,2]]}}}],["看起来",{"_index":1697,"t":{"758":{"position":[[116,3]]}}}],["真正",{"_index":464,"t":{"500":{"position":[[56,2]]},"516":{"position":[[56,2]]},"601":{"position":[[56,2]]},"617":{"position":[[56,2]]},"790":{"position":[[23,2]]}}}],["眼睛",{"_index":77,"t":{"471":{"position":[[36,2]]},"625":{"position":[[36,2]]}}}],["眼镜",{"_index":71,"t":{"471":{"position":[[13,2]]},"625":{"position":[[13,2]]}}}],["着手",{"_index":1976,"t":{"792":{"position":[[33,2]]}}}],["知道",{"_index":1677,"t":{"756":{"position":[[399,2]]},"794":{"position":[[5,2]]},"796":{"position":[[5,2]]}}}],["研",{"_index":43,"t":{"465":{"position":[[128,1]]},"467":{"position":[[124,1]]},"485":{"position":[[128,1]]},"487":{"position":[[124,1]]},"502":{"position":[[128,1]]},"504":{"position":[[124,1]]},"589":{"position":[[124,1]]},"605":{"position":[[124,1]]},"621":{"position":[[124,1]]},"890":{"position":[[124,1]]},"892":{"position":[[105,1]]}}}],["研讨会",{"_index":2323,"t":{"913":{"position":[[15,3]]}}}],["硬件",{"_index":1291,"t":{"684":{"position":[[0,2]]}}}],["确保",{"_index":1633,"t":{"753":{"position":[[51,2]]},"892":{"position":[[196,2]]},"921":{"position":[[56,2]]}}}],["确定",{"_index":1957,"t":{"790":{"position":[[1187,2]]},"798":{"position":[[215,2]]},"807":{"position":[[67,2]]}}}],["确认",{"_index":1955,"t":{"790":{"position":[[1133,2]]}}}],["示例",{"_index":1412,"t":{"710":{"position":[[456,2]]}}}],["社区",{"_index":458,"t":{"500":{"position":[[31,2],[61,2],[133,2],[327,2],[335,2],[374,2],[382,2],[388,2]]},"516":{"position":[[31,2],[61,2],[133,2],[327,2],[335,2],[374,2],[382,2],[388,2]]},"601":{"position":[[31,2],[61,2],[133,2],[327,2],[335,2],[374,2],[382,2],[388,2]]},"617":{"position":[[31,2],[61,2],[133,2],[327,2],[335,2],[374,2],[382,2],[388,2]]},"779":{"position":[[49,2],[119,2]]},"783":{"position":[[28,2],[45,2]]},"787":{"position":[[9,2],[14,2],[40,2]]},"790":{"position":[[1160,2],[1194,2]]},"798":{"position":[[208,2]]},"807":{"position":[[526,2]]},"816":{"position":[[58,2]]},"819":{"position":[[340,2]]},"880":{"position":[[87,2]]},"898":{"position":[[47,2]]},"906":{"position":[[42,2],[142,2]]},"909":{"position":[[13,2]]},"911":{"position":[[4,2],[42,2],[57,2]]},"915":{"position":[[5,2],[30,2]]},"917":{"position":[[3,2]]},"919":{"position":[[16,2],[40,2]]},"921":{"position":[[3,2],[49,2]]},"923":{"position":[[9,2],[19,2],[27,2],[68,2],[92,2]]}}}],["社区活动",{"_index":503,"t":{"500":{"position":[[367,4]]},"516":{"position":[[367,4]]},"601":{"position":[[367,4]]},"617":{"position":[[367,4]]}}}],["票",{"_index":2226,"t":{"858":{"position":[[60,1]]}}}],["票数",{"_index":2066,"t":{"801":{"position":[[215,2]]},"860":{"position":[[9,2]]}}}],["积极",{"_index":496,"t":{"500":{"position":[[332,2]]},"516":{"position":[[332,2]]},"601":{"position":[[332,2]]},"617":{"position":[[332,2]]},"921":{"position":[[44,2]]}}}],["积极参与",{"_index":502,"t":{"500":{"position":[[363,4]]},"516":{"position":[[363,4]]},"601":{"position":[[363,4]]},"617":{"position":[[363,4]]},"923":{"position":[[5,4]]}}}],["称为",{"_index":1936,"t":{"790":{"position":[[213,2],[288,2]]}}}],["移除",{"_index":1714,"t":{"758":{"position":[[339,2]]}}}],["稳定",{"_index":1931,"t":{"790":{"position":[[52,2]]},"798":{"position":[[280,2]]}}}],["空",{"_index":1698,"t":{"758":{"position":[[120,1]]},"928":{"position":[[70,1],[78,1]]},"930":{"position":[[306,1],[308,1],[347,1],[365,1],[410,1],[428,1],[471,1],[490,1]]},"932":{"position":[[155,1],[157,1],[183,1],[185,1],[220,1],[233,1]]}}}],["窗",{"_index":192,"t":{"483":{"position":[[83,1],[104,1],[107,1]]},"637":{"position":[[83,1],[104,1],[107,1]]},"934":{"position":[[201,1],[243,1]]},"936":{"position":[[69,1]]}}}],["窗口",{"_index":2374,"t":{"936":{"position":[[117,2]]}}}],["立方",{"_index":60,"t":{"469":{"position":[[15,2]]},"623":{"position":[[15,2]]}}}],["端",{"_index":281,"t":{"492":{"position":[[158,1]]},"609":{"position":[[158,1]]},"691":{"position":[[91,1]]},"710":{"position":[[78,1],[134,1],[644,1],[1122,1],[1597,1]]},"712":{"position":[[864,1],[1341,1]]},"772":{"position":[[535,1]]},"774":{"position":[[23,1]]},"792":{"position":[[10,1]]}}}],["端口",{"_index":415,"t":{"496":{"position":[[220,2],[257,2],[406,2],[563,2]]},"510":{"position":[[56,2]]},"595":{"position":[[56,2]]},"613":{"position":[[220,2],[257,2],[406,2],[563,2]]},"678":{"position":[[49,2],[135,2]]},"710":{"position":[[240,2]]},"712":{"position":[[145,2]]},"714":{"position":[[69,2]]},"716":{"position":[[6,2],[163,2],[183,2],[221,2]]},"762":{"position":[[613,2]]}}}],["端口号",{"_index":1870,"t":{"774":{"position":[[519,3]]}}}],["第一个",{"_index":114,"t":{"475":{"position":[[6,3]]},"477":{"position":[[7,3]]},"629":{"position":[[6,3]]},"631":{"position":[[7,3]]}}}],["第一次",{"_index":2200,"t":{"833":{"position":[[4,3]]},"838":{"position":[[101,3]]}}}],["第三方",{"_index":1830,"t":{"772":{"position":[[599,3]]}}}],["第二阶段",{"_index":2256,"t":{"880":{"position":[[173,4]]}}}],["等",{"_index":124,"t":{"475":{"position":[[44,1]]},"492":{"position":[[91,1],[128,1],[174,1],[283,1]]},"500":{"position":[[26,1],[263,1],[357,1],[398,1]]},"516":{"position":[[26,1],[263,1],[357,1],[398,1]]},"601":{"position":[[26,1],[263,1],[357,1],[398,1]]},"609":{"position":[[91,1],[128,1],[174,1],[283,1]]},"617":{"position":[[26,1],[263,1],[357,1],[398,1]]},"629":{"position":[[44,1]]},"716":{"position":[[16,1]]},"722":{"position":[[205,1],[380,1]]},"725":{"position":[[96,1]]},"727":{"position":[[200,1]]},"756":{"position":[[70,1],[276,1]]},"758":{"position":[[57,1],[297,1]]},"760":{"position":[[124,1]]},"762":{"position":[[686,1],[758,1]]},"766":{"position":[[185,1],[238,1],[303,1],[407,1],[500,1],[638,1]]},"772":{"position":[[148,1],[727,1]]},"774":{"position":[[331,1],[407,1],[483,1],[522,1],[586,1],[707,1]]},"787":{"position":[[20,1]]},"790":{"position":[[1594,1]]},"810":{"position":[[43,1]]},"814":{"position":[[563,1]]},"892":{"position":[[174,1]]},"911":{"position":[[22,1]]},"913":{"position":[[23,1]]},"915":{"position":[[26,1]]}}}],["等待",{"_index":1971,"t":{"790":{"position":[[1603,2]]}}}],["答案",{"_index":2249,"t":{"880":{"position":[[45,2]]},"882":{"position":[[40,2]]}}}],["答疑",{"_index":495,"t":{"500":{"position":[[329,2],[340,2]]},"516":{"position":[[329,2],[340,2]]},"601":{"position":[[329,2],[340,2]]},"617":{"position":[[329,2],[340,2]]}}}],["简",{"_index":2272,"t":{"886":{"position":[[1,1]]}}}],["简化",{"_index":529,"t":{"510":{"position":[[9,2]]},"595":{"position":[[9,2]]}}}],["简单",{"_index":472,"t":{"500":{"position":[[136,2]]},"516":{"position":[[136,2]]},"601":{"position":[[136,2]]},"617":{"position":[[136,2]]},"762":{"position":[[584,2]]},"770":{"position":[[16,2]]},"794":{"position":[[49,2]]},"798":{"position":[[36,2],[180,2]]}}}],["简洁",{"_index":2273,"t":{"886":{"position":[[5,2]]}}}],["简短",{"_index":2146,"t":{"814":{"position":[[616,2]]}}}],["算法",{"_index":1702,"t":{"758":{"position":[[163,2]]},"894":{"position":[[180,2]]}}}],["管理",{"_index":531,"t":{"510":{"position":[[18,2]]},"595":{"position":[[18,2]]},"710":{"position":[[236,2]]},"722":{"position":[[206,2]]},"753":{"position":[[39,2]]},"756":{"position":[[179,2],[269,2],[274,2]]},"772":{"position":[[378,2]]},"774":{"position":[[215,2],[395,2]]},"801":{"position":[[313,2],[331,2]]},"840":{"position":[[44,2]]},"882":{"position":[[54,2]]}}}],["管理器",{"_index":412,"t":{"496":{"position":[[161,3]]},"613":{"position":[[161,3]]},"760":{"position":[[103,3]]},"774":{"position":[[115,3],[604,3],[618,3]]}}}],["类",{"_index":1685,"t":{"758":{"position":[[13,1],[77,1],[113,1],[140,1],[154,1],[204,1],[237,1],[314,1],[363,1]]},"760":{"position":[[71,1],[239,1],[490,1],[536,1]]},"762":{"position":[[69,1],[167,1],[242,1],[301,1],[399,1],[474,1],[539,1],[580,1],[703,1]]},"766":{"position":[[664,1],[828,1]]},"770":{"position":[[57,1]]},"772":{"position":[[374,1],[398,1],[417,1]]},"855":{"position":[[15,1]]}}}],["类别",{"_index":2132,"t":{"814":{"position":[[265,2]]}}}],["类型",{"_index":148,"t":{"479":{"position":[[27,2]]},"483":{"position":[[118,2],[138,2],[146,2],[166,2]]},"633":{"position":[[27,2]]},"637":{"position":[[118,2],[138,2],[146,2],[166,2]]},"730":{"position":[[88,2]]},"732":{"position":[[7,2],[23,2],[42,2]]},"734":{"position":[[7,2],[42,2],[114,2]]},"746":{"position":[[6,2],[36,2],[51,2]]},"748":{"position":[[29,2],[86,2],[122,2]]},"753":{"position":[[214,2]]},"766":{"position":[[158,2],[163,2],[178,2],[624,2],[631,2]]},"930":{"position":[[42,2]]},"934":{"position":[[254,2],[275,2],[281,2],[294,2]]}}}],["精简",{"_index":87,"t":{"473":{"position":[[17,2]]},"627":{"position":[[17,2]]}}}],["系统",{"_index":224,"t":{"489":{"position":[[22,2]]},"492":{"position":[[238,2]]},"607":{"position":[[22,2]]},"609":{"position":[[238,2]]},"855":{"position":[[20,2],[31,2]]},"880":{"position":[[230,2]]},"906":{"position":[[83,2]]}}}],["约定",{"_index":2185,"t":{"816":{"position":[[62,2]]}}}],["级",{"_index":1609,"t":{"740":{"position":[[56,1]]}}}],["纯",{"_index":259,"t":{"492":{"position":[[20,1]]},"609":{"position":[[20,1]]}}}],["纵容",{"_index":2350,"t":{"923":{"position":[[39,2]]}}}],["线",{"_index":2321,"t":{"913":{"position":[[2,1]]}}}],["线下",{"_index":2322,"t":{"913":{"position":[[5,2]]}}}],["线条",{"_index":76,"t":{"471":{"position":[[31,2]]},"625":{"position":[[31,2]]}}}],["线程",{"_index":1716,"t":{"758":{"position":[[387,2],[396,2]]},"860":{"position":[[40,2]]}}}],["组件",{"_index":482,"t":{"500":{"position":[[233,2]]},"516":{"position":[[233,2]]},"601":{"position":[[233,2]]},"617":{"position":[[233,2]]},"722":{"position":[[39,2],[80,2],[102,2],[175,2],[179,2],[193,2],[197,2],[235,2],[264,2],[385,2],[405,2]]},"725":{"position":[[137,2]]},"727":{"position":[[26,2],[47,2],[196,2],[212,2]]},"772":{"position":[[73,2],[82,2],[97,2],[164,2],[222,2],[251,2],[277,2],[295,2],[437,2],[588,2],[661,2]]}}}],["组合",{"_index":1516,"t":{"725":{"position":[[114,2]]}}}],["组织",{"_index":1922,"t":{"787":{"position":[[7,2]]},"913":{"position":[[0,2]]}}}],["细节",{"_index":1896,"t":{"781":{"position":[[20,2]]}}}],["终端",{"_index":2204,"t":{"838":{"position":[[1,2]]},"840":{"position":[[1,2]]}}}],["经",{"_index":2024,"t":{"798":{"position":[[207,1]]}}}],["经理",{"_index":2231,"t":{"862":{"position":[[33,2]]}}}],["经过",{"_index":1997,"t":{"796":{"position":[[269,2]]}}}],["经验",{"_index":487,"t":{"500":{"position":[[256,2]]},"516":{"position":[[256,2]]},"601":{"position":[[256,2]]},"617":{"position":[[256,2]]},"900":{"position":[[37,2]]},"915":{"position":[[24,2]]},"917":{"position":[[24,2]]}}}],["绑定",{"_index":1527,"t":{"725":{"position":[[222,2]]}}}],["结合",{"_index":2111,"t":{"807":{"position":[[522,2]]},"892":{"position":[[121,2]]}}}],["结尾",{"_index":2164,"t":{"814":{"position":[[784,2]]}}}],["结束",{"_index":1968,"t":{"790":{"position":[[1500,2]]},"858":{"position":[[65,2]]}}}],["结构",{"_index":1323,"t":{"691":{"position":[[191,2]]},"814":{"position":[[715,2]]}}}],["结果",{"_index":250,"t":{"489":{"position":[[149,2]]},"607":{"position":[[149,2]]},"760":{"position":[[501,2]]},"762":{"position":[[141,2],[373,2]]},"766":{"position":[[89,2],[100,2],[106,2],[890,2]]},"772":{"position":[[268,2]]},"774":{"position":[[146,2],[392,2],[659,2],[672,2]]},"860":{"position":[[15,2]]},"864":{"position":[[8,2]]}}}],["绘制",{"_index":206,"t":{"483":{"position":[[258,2]]},"637":{"position":[[258,2]]},"936":{"position":[[188,2]]}}}],["给定",{"_index":1753,"t":{"760":{"position":[[640,2]]}}}],["统一",{"_index":1628,"t":{"751":{"position":[[32,2]]}}}],["统计",{"_index":2225,"t":{"858":{"position":[[41,2]]},"860":{"position":[[17,2]]}}}],["继承",{"_index":1669,"t":{"756":{"position":[[256,2]]},"760":{"position":[[664,2]]},"762":{"position":[[70,2],[168,2],[302,2],[400,2]]},"772":{"position":[[442,2]]}}}],["维护",{"_index":2345,"t":{"923":{"position":[[14,2]]}}}],["综合",{"_index":429,"t":{"496":{"position":[[524,2]]},"613":{"position":[[524,2]]}}}],["编写",{"_index":260,"t":{"492":{"position":[[27,2]]},"609":{"position":[[27,2]]},"796":{"position":[[154,2]]}}}],["编号",{"_index":2131,"t":{"814":{"position":[[225,2]]},"934":{"position":[[0,2]]},"936":{"position":[[0,2]]}}}],["编译",{"_index":1317,"t":{"691":{"position":[[92,2],[97,2],[101,2]]},"706":{"position":[[92,2]]},"822":{"position":[[107,2]]},"871":{"position":[[0,2]]},"875":{"position":[[23,2]]},"877":{"position":[[23,2]]}}}],["编辑",{"_index":163,"t":{"479":{"position":[[180,2],[188,2],[227,2]]},"481":{"position":[[80,2],[88,2],[104,2]]},"483":{"position":[[293,2]]},"633":{"position":[[180,2],[188,2],[227,2]]},"635":{"position":[[80,2],[88,2],[104,2]]},"637":{"position":[[293,2]]},"722":{"position":[[72,2],[223,2],[328,2]]},"725":{"position":[[48,2],[261,2],[309,2]]},"930":{"position":[[190,2],[197,2],[229,2],[246,2],[452,2],[492,2]]},"932":{"position":[[77,2],[88,2],[104,2],[222,2],[238,2]]},"934":{"position":[[539,2],[662,2],[819,2],[989,2],[1140,2],[1188,2]]}}}],["编辑器",{"_index":1470,"t":{"722":{"position":[[0,3]]}}}],["网",{"_index":512,"t":{"506":{"position":[[7,1],[73,1]]},"508":{"position":[[29,1],[131,1],[190,1]]},"591":{"position":[[7,1],[73,1]]},"593":{"position":[[29,1],[131,1],[190,1]]},"691":{"position":[[6,1]]},"706":{"position":[[6,1]]},"822":{"position":[[21,1]]},"880":{"position":[[21,1],[90,1]]},"882":{"position":[[69,1]]}}}],["网上",{"_index":1234,"t":{"654":{"position":[[44,2]]},"672":{"position":[[24,2]]}}}],["网卡",{"_index":416,"t":{"496":{"position":[[238,2]]},"506":{"position":[[49,2]]},"508":{"position":[[5,2]]},"591":{"position":[[49,2]]},"593":{"position":[[5,2]]},"613":{"position":[[238,2]]}}}],["网段",{"_index":405,"t":{"496":{"position":[[48,2]]},"510":{"position":[[69,2]]},"595":{"position":[[69,2]]},"613":{"position":[[48,2]]}}}],["网络连接",{"_index":411,"t":{"496":{"position":[[157,4]]},"613":{"position":[[157,4]]}}}],["美观",{"_index":2155,"t":{"814":{"position":[[690,2]]}}}],["群",{"_index":1958,"t":{"790":{"position":[[1196,1]]},"801":{"position":[[86,1],[278,1]]}}}],["聊天",{"_index":1650,"t":{"753":{"position":[[430,2]]}}}],["联系",{"_index":2046,"t":{"798":{"position":[[455,2],[469,2]]}}}],["聚焦",{"_index":1549,"t":{"727":{"position":[[100,2]]}}}],["肯定",{"_index":2140,"t":{"814":{"position":[[450,2]]}}}],["背景",{"_index":0,"t":{"465":{"position":[[0,2]]},"471":{"position":[[27,2]]},"485":{"position":[[0,2]]},"502":{"position":[[0,2]]},"625":{"position":[[27,2]]}}}],["能",{"_index":447,"t":{"498":{"position":[[79,1]]},"514":{"position":[[55,1]]},"599":{"position":[[55,1]]},"615":{"position":[[79,1]]},"781":{"position":[[121,1]]},"798":{"position":[[47,1]]},"880":{"position":[[61,1],[73,1],[254,1]]},"882":{"position":[[33,1]]},"923":{"position":[[66,1]]}}}],["能力",{"_index":120,"t":{"475":{"position":[[30,2]]},"629":{"position":[[30,2]]},"725":{"position":[[99,2],[299,2]]},"727":{"position":[[181,2]]}}}],["能够",{"_index":1898,"t":{"781":{"position":[[31,2]]},"787":{"position":[[24,2]]},"807":{"position":[[21,2]]},"812":{"position":[[29,2],[85,2]]},"814":{"position":[[20,2]]},"894":{"position":[[97,2],[264,2]]},"898":{"position":[[42,2]]},"930":{"position":[[101,2],[167,2],[235,2]]},"932":{"position":[[40,2],[94,2],[196,2]]}}}],["脚本",{"_index":1368,"t":{"694":{"position":[[738,2]]},"710":{"position":[[271,2]]},"840":{"position":[[87,2]]}}}],["自动",{"_index":1750,"t":{"760":{"position":[[554,2]]},"772":{"position":[[840,2]]},"814":{"position":[[684,2]]},"852":{"position":[[73,2]]}}}],["自动化",{"_index":1391,"t":{"708":{"position":[[9,3]]}}}],["自定义",{"_index":1715,"t":{"758":{"position":[[384,3]]},"772":{"position":[[335,3]]}}}],["自己",{"_index":1482,"t":{"722":{"position":[[172,2]]},"790":{"position":[[281,2],[326,2],[421,2],[470,2],[509,2],[546,2],[585,2],[707,2],[1049,2],[1245,2],[1293,2]]},"792":{"position":[[63,2],[96,2],[171,2],[388,2]]}}}],["自我",{"_index":2267,"t":{"882":{"position":[[80,2]]}}}],["自然语言",{"_index":31,"t":{"465":{"position":[[93,4]]},"467":{"position":[[89,4]]},"485":{"position":[[93,4]]},"487":{"position":[[89,4]]},"502":{"position":[[93,4]]},"504":{"position":[[89,4]]},"589":{"position":[[89,4]]},"605":{"position":[[89,4]]},"621":{"position":[[89,4]]},"890":{"position":[[89,4]]},"892":{"position":[[34,4]]}}}],["自行",{"_index":1238,"t":{"654":{"position":[[57,2]]},"672":{"position":[[37,2]]},"691":{"position":[[99,2]]},"706":{"position":[[90,2]]},"822":{"position":[[105,2]]},"871":{"position":[[44,2]]}}}],["至关重要",{"_index":1921,"t":{"785":{"position":[[51,4]]},"906":{"position":[[51,4]]}}}],["至少",{"_index":1295,"t":{"684":{"position":[[22,2]]},"794":{"position":[[102,2]]},"796":{"position":[[265,2]]},"801":{"position":[[64,2]]},"858":{"position":[[39,2]]}}}],["良好",{"_index":2346,"t":{"923":{"position":[[16,2]]}}}],["节省",{"_index":2251,"t":{"880":{"position":[[64,2]]}}}],["英文",{"_index":1593,"t":{"734":{"position":[[177,2]]},"794":{"position":[[74,2]]}}}],["英文名称",{"_index":1587,"t":{"734":{"position":[[75,4]]}}}],["范围",{"_index":1590,"t":{"734":{"position":[[125,2]]},"814":{"position":[[543,2],[573,2]]}}}],["获取",{"_index":1241,"t":{"656":{"position":[[50,2]]},"674":{"position":[[46,2]]},"758":{"position":[[346,2]]},"762":{"position":[[112,2],[120,2],[139,2],[344,2],[352,2],[371,2]]},"766":{"position":[[150,2],[165,2],[430,2],[633,2]]},"774":{"position":[[388,2],[657,2]]},"790":{"position":[[908,2]]},"835":{"position":[[50,2]]},"873":{"position":[[50,2]]}}}],["获取数据",{"_index":1639,"t":{"753":{"position":[[220,4]]}}}],["虽然",{"_index":245,"t":{"489":{"position":[[135,2]]},"496":{"position":[[42,2]]},"607":{"position":[[135,2]]},"613":{"position":[[42,2]]}}}],["行",{"_index":406,"t":{"496":{"position":[[105,1],[328,1],[530,1]]},"613":{"position":[[105,1],[328,1],[530,1]]}}}],["行为",{"_index":2354,"t":{"923":{"position":[[54,2]]}}}],["行为准则",{"_index":2349,"t":{"923":{"position":[[30,4]]}}}],["补充",{"_index":1919,"t":{"785":{"position":[[32,2]]}}}],["表",{"_index":1359,"t":{"694":{"position":[[246,1]]},"748":{"position":[[491,1]]},"760":{"position":[[254,1],[455,1]]},"762":{"position":[[128,1],[360,1]]},"766":{"position":[[399,1]]}}}],["表示",{"_index":59,"t":{"469":{"position":[[13,2],[22,2]]},"471":{"position":[[19,2],[49,2]]},"496":{"position":[[117,2],[155,2],[232,2],[249,2]]},"613":{"position":[[117,2],[155,2],[232,2],[249,2]]},"623":{"position":[[13,2],[22,2]]},"625":{"position":[[19,2],[49,2]]},"892":{"position":[[48,2]]}}}],["表面现象",{"_index":2025,"t":{"798":{"position":[[249,4]]}}}],["装有",{"_index":1780,"t":{"764":{"position":[[378,2]]}}}],["要",{"_index":167,"t":{"479":{"position":[[247,1]]},"481":{"position":[[123,1]]},"633":{"position":[[247,1]]},"635":{"position":[[123,1]]},"722":{"position":[[189,1]]},"790":{"position":[[356,1]]},"846":{"position":[[17,1]]},"930":{"position":[[196,1],[264,1]]},"932":{"position":[[117,1]]}}}],["要么",{"_index":95,"t":{"473":{"position":[[41,2],[48,2]]},"627":{"position":[[41,2],[48,2]]}}}],["要求",{"_index":1292,"t":{"684":{"position":[[2,2]]},"686":{"position":[[6,2]]},"871":{"position":[[4,2]]}}}],["观察",{"_index":73,"t":{"471":{"position":[[21,2]]},"625":{"position":[[21,2]]}}}],["观看",{"_index":78,"t":{"471":{"position":[[38,2]]},"625":{"position":[[38,2]]}}}],["规划",{"_index":1553,"t":{"727":{"position":[[159,2]]}}}],["规约",{"_index":2112,"t":{"807":{"position":[[546,2]]}}}],["规范",{"_index":1845,"t":{"772":{"position":[[789,2]]},"925":{"position":[[13,2]]}}}],["视图",{"_index":1509,"t":{"725":{"position":[[55,2]]},"772":{"position":[[404,2],[427,2],[435,2]]}}}],["觉得",{"_index":2309,"t":{"906":{"position":[[176,2]]}}}],["解决",{"_index":256,"t":{"489":{"position":[[173,2]]},"498":{"position":[[80,2]]},"514":{"position":[[56,2]]},"599":{"position":[[56,2]]},"607":{"position":[[173,2]]},"615":{"position":[[80,2]]},"810":{"position":[[24,2]]},"921":{"position":[[25,2],[30,2]]}}}],["解决方案",{"_index":2250,"t":{"880":{"position":[[52,4]]},"917":{"position":[[50,4]]}}}],["解决问题",{"_index":500,"t":{"500":{"position":[[353,4]]},"516":{"position":[[353,4]]},"601":{"position":[[353,4]]},"617":{"position":[[353,4]]},"798":{"position":[[460,4]]},"882":{"position":[[82,4]]},"906":{"position":[[95,4]]}}}],["解压",{"_index":1321,"t":{"691":{"position":[[144,2],[185,2]]},"712":{"position":[[291,2]]}}}],["解密",{"_index":1703,"t":{"758":{"position":[[169,2]]}}}],["解释",{"_index":436,"t":{"498":{"position":[[16,2]]},"615":{"position":[[16,2]]}}}],["言",{"_index":2100,"t":{"807":{"position":[[238,1]]}}}],["计划",{"_index":1719,"t":{"758":{"position":[[408,2]]},"781":{"position":[[71,2]]}}}],["计算",{"_index":1707,"t":{"758":{"position":[[210,2]]}}}],["计算机",{"_index":34,"t":{"465":{"position":[[105,3]]},"467":{"position":[[101,3]]},"485":{"position":[[105,3]]},"487":{"position":[[101,3]]},"502":{"position":[[105,3]]},"504":{"position":[[101,3]]},"589":{"position":[[101,3]]},"605":{"position":[[101,3]]},"621":{"position":[[101,3]]},"890":{"position":[[101,3]]},"892":{"position":[[129,3]]}}}],["订阅",{"_index":274,"t":{"492":{"position":[[115,2]]},"609":{"position":[[115,2]]},"722":{"position":[[258,2]]},"727":{"position":[[250,2]]}}}],["认可",{"_index":2074,"t":{"803":{"position":[[81,2]]},"906":{"position":[[21,2]]}}}],["讨论",{"_index":1551,"t":{"727":{"position":[[134,2]]},"798":{"position":[[210,2]]},"801":{"position":[[282,2]]},"913":{"position":[[46,2]]},"915":{"position":[[46,2]]}}}],["讨论区",{"_index":2333,"t":{"915":{"position":[[38,3]]}}}],["训练",{"_index":2278,"t":{"892":{"position":[[68,2],[178,2]]}}}],["议题",{"_index":2334,"t":{"915":{"position":[[50,2]]}}}],["记录",{"_index":1885,"t":{"779":{"position":[[62,2]]},"790":{"position":[[1391,2]]},"792":{"position":[[238,2]]},"807":{"position":[[156,2]]},"902":{"position":[[44,2]]}}}],["讲",{"_index":252,"t":{"489":{"position":[[156,1]]},"607":{"position":[[156,1]]}}}],["讲解",{"_index":545,"t":{"514":{"position":[[4,2]]},"599":{"position":[[4,2]]}}}],["设想",{"_index":115,"t":{"475":{"position":[[12,2]]},"629":{"position":[[12,2]]}}}],["设立",{"_index":2331,"t":{"915":{"position":[[33,2]]}}}],["设置",{"_index":172,"t":{"479":{"position":[[302,2]]},"483":{"position":[[278,2]]},"496":{"position":[[46,2]]},"498":{"position":[[50,2],[67,2]]},"506":{"position":[[70,2]]},"508":{"position":[[26,2],[65,2],[128,2],[187,2]]},"510":{"position":[[67,2]]},"512":{"position":[[28,2],[247,2],[309,2]]},"514":{"position":[[30,2],[43,2]]},"591":{"position":[[70,2]]},"593":{"position":[[26,2],[65,2],[128,2],[187,2]]},"595":{"position":[[67,2]]},"597":{"position":[[28,2],[247,2],[309,2]]},"599":{"position":[[30,2],[43,2]]},"613":{"position":[[46,2]]},"615":{"position":[[50,2],[67,2]]},"633":{"position":[[302,2]]},"637":{"position":[[278,2]]},"758":{"position":[[332,2]]},"760":{"position":[[92,2]]},"934":{"position":[[495,2]]}}}],["设计",{"_index":63,"t":{"469":{"position":[[24,2],[35,2]]},"623":{"position":[[24,2],[35,2]]},"722":{"position":[[34,2],[170,2]]},"725":{"position":[[148,2],[263,2],[288,2],[297,2],[349,2],[378,2]]},"727":{"position":[[0,2]]},"886":{"position":[[7,2]]}}}],["访问",{"_index":519,"t":{"506":{"position":[[27,2]]},"591":{"position":[[27,2]]},"662":{"position":[[0,2]]},"678":{"position":[[116,2],[139,2]]},"680":{"position":[[0,2]]},"703":{"position":[[0,2]]},"710":{"position":[[234,2]]},"712":{"position":[[143,2]]},"714":{"position":[[3,2]]},"760":{"position":[[27,2]]}}}],["评价",{"_index":2286,"t":{"894":{"position":[[140,2]]}}}],["评论",{"_index":2040,"t":{"798":{"position":[[367,2]]}}}],["试用",{"_index":2338,"t":{"919":{"position":[[0,2]]}}}],["话",{"_index":1982,"t":{"794":{"position":[[48,1]]},"936":{"position":[[148,1]]}}}],["该项",{"_index":1658,"t":{"756":{"position":[[106,2]]}}}],["详情",{"_index":1991,"t":{"796":{"position":[[120,2]]}}}],["详细描述",{"_index":1894,"t":{"781":{"position":[[7,4]]},"814":{"position":[[657,4]]}}}],["语义",{"_index":2031,"t":{"798":{"position":[[291,2]]}}}],["语句",{"_index":201,"t":{"483":{"position":[[217,2],[228,2],[238,2]]},"637":{"position":[[217,2],[228,2],[238,2]]},"762":{"position":[[136,2],[368,2]]},"814":{"position":[[767,2]]},"934":{"position":[[357,2],[369,2],[424,2],[996,2],[1108,2]]}}}],["语气",{"_index":2038,"t":{"798":{"position":[[363,2]]}}}],["语言",{"_index":5,"t":{"465":{"position":[[13,2],[133,2]]},"467":{"position":[[9,2],[129,2]]},"485":{"position":[[13,2],[133,2]]},"487":{"position":[[9,2],[129,2]]},"492":{"position":[[248,2],[284,2]]},"502":{"position":[[13,2],[133,2]]},"504":{"position":[[9,2],[129,2]]},"589":{"position":[[9,2],[129,2]]},"605":{"position":[[9,2],[129,2]]},"609":{"position":[[248,2],[284,2]]},"621":{"position":[[9,2],[129,2]]},"890":{"position":[[9,2],[129,2]]},"892":{"position":[[12,2],[109,2]]},"894":{"position":[[64,2],[260,2]]}}}],["说明",{"_index":2042,"t":{"798":{"position":[[385,2]]},"810":{"position":[[19,2]]},"814":{"position":[[254,2],[530,2]]},"860":{"position":[[32,2]]},"862":{"position":[[51,2]]}}}],["请",{"_index":476,"t":{"500":{"position":[[161,1],[270,1]]},"516":{"position":[[161,1],[270,1]]},"601":{"position":[[161,1],[270,1]]},"617":{"position":[[161,1],[270,1]]},"654":{"position":[[56,1]]},"656":{"position":[[124,1]]},"672":{"position":[[36,1]]},"716":{"position":[[18,1]]},"776":{"position":[[26,1]]},"781":{"position":[[88,1]]},"790":{"position":[[103,1],[1503,1]]},"792":{"position":[[40,1],[93,1]]},"794":{"position":[[20,1],[72,1],[101,1]]},"796":{"position":[[20,1],[62,1],[206,1]]},"798":{"position":[[357,1],[382,1]]},"896":{"position":[[23,1]]},"906":{"position":[[208,1]]}}}],["请求",{"_index":276,"t":{"492":{"position":[[123,2]]},"609":{"position":[[123,2]]},"751":{"position":[[26,2],[52,2]]},"766":{"position":[[59,2],[874,2]]},"772":{"position":[[486,2],[618,2]]},"774":{"position":[[38,2],[110,2],[430,2],[578,2],[597,2]]}}}],["调",{"_index":1305,"t":{"684":{"position":[[76,1],[98,1]]}}}],["调用",{"_index":420,"t":{"496":{"position":[[445,2]]},"613":{"position":[[445,2]]},"774":{"position":[[379,2],[570,2],[600,2]]}}}],["负责",{"_index":1627,"t":{"751":{"position":[[18,2]]},"753":{"position":[[244,2]]},"764":{"position":[[23,2]]},"774":{"position":[[210,2]]}}}],["负责管理",{"_index":1858,"t":{"774":{"position":[[81,4]]}}}],["贡献",{"_index":451,"t":{"500":{"position":[[4,2],[33,2],[40,2],[125,2],[158,2],[219,2]]},"516":{"position":[[4,2],[33,2],[40,2],[125,2],[158,2],[219,2]]},"601":{"position":[[4,2],[33,2],[40,2],[125,2],[158,2],[219,2]]},"617":{"position":[[4,2],[33,2],[40,2],[125,2],[158,2],[219,2]]},"776":{"position":[[4,2],[21,2]]},"783":{"position":[[31,2]]},"790":{"position":[[84,2],[98,2]]},"798":{"position":[[1,2]]},"801":{"position":[[56,2],[138,2]]},"803":{"position":[[55,2]]},"898":{"position":[[50,2]]}}}],["贡献者",{"_index":2076,"t":{"803":{"position":[[221,3]]},"807":{"position":[[167,3]]},"819":{"position":[[15,3],[34,3],[100,3],[164,3],[278,3],[323,3],[380,3],[400,3],[418,3]]},"898":{"position":[[12,3]]}}}],["账号密码",{"_index":1453,"t":{"714":{"position":[[98,4]]}}}],["质量",{"_index":2091,"t":{"807":{"position":[[132,2]]},"892":{"position":[[203,2]]},"894":{"position":[[149,2],[198,2]]}}}],["资料",{"_index":1237,"t":{"654":{"position":[[53,2]]},"672":{"position":[[33,2]]},"882":{"position":[[71,2]]}}}],["资源",{"_index":1446,"t":{"712":{"position":[[1838,2]]},"716":{"position":[[12,2]]},"917":{"position":[[17,2]]},"919":{"position":[[49,2]]}}}],["赞助",{"_index":2311,"t":{"906":{"position":[[218,2]]}}}],["起来",{"_index":100,"t":{"473":{"position":[[56,2]]},"627":{"position":[[56,2]]}}}],["超时",{"_index":1468,"t":{"719":{"position":[[43,2]]}}}],["超过",{"_index":2053,"t":{"801":{"position":[[58,2]]},"814":{"position":[[622,2]]}}}],["越",{"_index":2013,"t":{"798":{"position":[[78,1],[93,1]]}}}],["足够",{"_index":1308,"t":{"684":{"position":[[90,2]]},"801":{"position":[[213,2]]}}}],["跟踪",{"_index":2114,"t":{"810":{"position":[[57,2]]},"900":{"position":[[32,2]]}}}],["跨",{"_index":1866,"t":{"774":{"position":[[428,1]]}}}],["路径",{"_index":1346,"t":{"694":{"position":[[18,2]]},"712":{"position":[[1865,2]]}}}],["路由",{"_index":1809,"t":{"772":{"position":[[89,2],[115,2],[700,2]]}}}],["跳",{"_index":1441,"t":{"712":{"position":[[30,1]]},"833":{"position":[[27,1]]}}}],["转发",{"_index":1289,"t":{"678":{"position":[[133,2]]}}}],["转换",{"_index":1651,"t":{"753":{"position":[[474,2]]},"758":{"position":[[295,2]]},"852":{"position":[[79,2]]},"892":{"position":[[40,2]]}}}],["转译",{"_index":1843,"t":{"772":{"position":[[755,2]]}}}],["软件",{"_index":2337,"t":{"917":{"position":[[45,2]]}}}],["软件开发",{"_index":2301,"t":{"906":{"position":[[27,4]]}}}],["软文",{"_index":2192,"t":{"819":{"position":[[412,2]]}}}],["轻量级",{"_index":220,"t":{"489":{"position":[[10,3]]},"492":{"position":[[0,3]]},"607":{"position":[[10,3]]},"609":{"position":[[0,3]]}}}],["较为",{"_index":2118,"t":{"812":{"position":[[93,2]]}}}],["较大",{"_index":2116,"t":{"812":{"position":[[6,2]]}}}],["辅助",{"_index":1873,"t":{"774":{"position":[[692,2]]}}}],["辅助工具",{"_index":2139,"t":{"814":{"position":[[410,4]]}}}],["辅助性",{"_index":1825,"t":{"772":{"position":[[461,3]]}}}],["辅助线",{"_index":1506,"t":{"725":{"position":[[30,3]]}}}],["输入",{"_index":153,"t":{"479":{"position":[[55,2],[124,2],[245,2]]},"481":{"position":[[5,2],[60,2],[121,2]]},"483":{"position":[[210,2],[221,2],[231,2]]},"633":{"position":[[55,2],[124,2],[245,2]]},"635":{"position":[[5,2],[60,2],[121,2]]},"637":{"position":[[210,2],[221,2],[231,2]]},"892":{"position":[[31,2]]},"928":{"position":[[5,2]]},"930":{"position":[[5,2]]},"932":{"position":[[5,2]]},"934":{"position":[[8,2],[350,2],[362,2],[426,2]]},"936":{"position":[[8,2],[152,2]]}}}],["输入框",{"_index":194,"t":{"483":{"position":[[128,3]]},"637":{"position":[[128,3]]},"934":{"position":[[264,3]]}}}],["输出",{"_index":177,"t":{"481":{"position":[[72,2]]},"635":{"position":[[72,2]]},"746":{"position":[[32,2]]},"774":{"position":[[144,2],[700,2]]},"928":{"position":[[10,2]]},"930":{"position":[[10,2]]},"932":{"position":[[10,2],[70,2]]},"934":{"position":[[13,2]]},"936":{"position":[[13,2]]}}}],["达到",{"_index":1531,"t":{"725":{"position":[[285,2]]},"860":{"position":[[5,2]]},"894":{"position":[[232,2]]}}}],["迁移",{"_index":2171,"t":{"814":{"position":[[885,2]]}}}],["迅速",{"_index":2119,"t":{"812":{"position":[[95,2]]}}}],["过",{"_index":1440,"t":{"712":{"position":[[21,1],[31,1]]},"798":{"position":[[212,1]]},"801":{"position":[[36,1],[68,1]]},"833":{"position":[[28,1]]}}}],["过期",{"_index":170,"t":{"479":{"position":[[290,2],[305,2]]},"633":{"position":[[290,2],[305,2]]},"730":{"position":[[192,2]]},"930":{"position":[[508,2],[518,2]]}}}],["过程",{"_index":53,"t":{"465":{"position":[[209,2]]},"467":{"position":[[205,2]]},"485":{"position":[[209,2]]},"487":{"position":[[205,2]]},"502":{"position":[[209,2]]},"504":{"position":[[205,2]]},"589":{"position":[[205,2]]},"605":{"position":[[205,2]]},"621":{"position":[[205,2]]},"781":{"position":[[3,2]]},"810":{"position":[[68,2]]},"814":{"position":[[407,2]]},"890":{"position":[[205,2]]},"892":{"position":[[149,2],[180,2]]},"894":{"position":[[89,2],[223,2]]},"906":{"position":[[31,2]]},"921":{"position":[[40,2]]}}}],["运营",{"_index":1923,"t":{"787":{"position":[[16,2]]},"819":{"position":[[350,2],[439,2],[466,2]]},"923":{"position":[[89,2]]}}}],["运行",{"_index":1775,"t":{"764":{"position":[[85,2],[190,2],[395,2],[442,2]]},"774":{"position":[[532,2]]},"798":{"position":[[304,2]]}}}],["返回",{"_index":205,"t":{"483":{"position":[[251,2]]},"489":{"position":[[147,2]]},"607":{"position":[[147,2]]},"637":{"position":[[251,2]]},"766":{"position":[[87,2],[888,2]]},"774":{"position":[[674,2]]},"934":{"position":[[442,2],[1127,2]]}}}],["还原",{"_index":2048,"t":{"798":{"position":[[499,2]]}}}],["还是",{"_index":1881,"t":{"779":{"position":[[14,2]]},"796":{"position":[[54,2]]}}}],["这个",{"_index":111,"t":{"475":{"position":[[0,2]]},"496":{"position":[[569,2]]},"613":{"position":[[569,2]]},"629":{"position":[[0,2]]},"748":{"position":[[480,2]]},"753":{"position":[[85,2],[188,2],[240,2],[274,2],[321,2],[410,2],[452,2]]},"756":{"position":[[125,2],[227,2],[386,2],[401,2],[454,2]]},"758":{"position":[[11,2],[75,2],[111,2],[152,2],[202,2],[235,2],[312,2],[361,2]]},"760":{"position":[[0,2],[67,2],[573,2]]},"762":{"position":[[0,2],[67,2],[165,2],[240,2],[299,2],[397,2],[472,2],[537,2],[578,2],[776,2]]},"764":{"position":[[0,2],[103,2],[208,2],[301,2],[324,2],[397,2]]},"766":{"position":[[0,2],[863,2]]},"770":{"position":[[55,2]]},"772":{"position":[[444,2]]},"774":{"position":[[75,2],[204,2],[286,2],[409,2],[444,2]]},"812":{"position":[[152,2]]},"814":{"position":[[943,2]]},"880":{"position":[[57,2],[154,2],[190,2]]},"882":{"position":[[5,2]]},"892":{"position":[[51,2]]}}}],["这些",{"_index":1680,"t":{"756":{"position":[[414,2]]},"758":{"position":[[24,2]]},"760":{"position":[[237,2],[427,2]]},"762":{"position":[[762,2]]},"764":{"position":[[169,2]]},"766":{"position":[[826,2]]},"770":{"position":[[66,2]]},"923":{"position":[[62,2]]}}}],["这块",{"_index":513,"t":{"506":{"position":[[11,2]]},"591":{"position":[[11,2]]}}}],["这样",{"_index":441,"t":{"498":{"position":[[48,2]]},"615":{"position":[[48,2]]},"727":{"position":[[65,2]]},"779":{"position":[[117,2]]},"781":{"position":[[117,2]]},"812":{"position":[[68,2]]}}}],["这种",{"_index":1232,"t":{"654":{"position":[[0,2]]},"672":{"position":[[0,2]]}}}],["这部分",{"_index":1670,"t":{"756":{"position":[[302,3]]}}}],["这里",{"_index":422,"t":{"496":{"position":[[454,2]]},"613":{"position":[[454,2]]}}}],["进入",{"_index":1249,"t":{"658":{"position":[[2,2]]},"660":{"position":[[150,2]]},"676":{"position":[[2,2]]},"694":{"position":[[90,2]]},"790":{"position":[[345,2],[792,2]]},"838":{"position":[[16,2]]},"867":{"position":[[0,2]]},"880":{"position":[[170,2]]}}}],["进展",{"_index":2320,"t":{"911":{"position":[[47,2]]}}}],["进来",{"_index":1914,"t":{"783":{"position":[[56,2]]}}}],["进步",{"_index":2270,"t":{"882":{"position":[[120,2]]},"894":{"position":[[278,2]]}}}],["进程",{"_index":520,"t":{"506":{"position":[[38,2]]},"591":{"position":[[38,2]]},"716":{"position":[[106,2]]},"774":{"position":[[229,2],[236,2]]}}}],["进行",{"_index":107,"t":{"473":{"position":[[80,2]]},"483":{"position":[[256,2]]},"492":{"position":[[198,2]]},"500":{"position":[[338,2]]},"510":{"position":[[87,2]]},"516":{"position":[[338,2]]},"595":{"position":[[87,2]]},"601":{"position":[[338,2]]},"609":{"position":[[198,2]]},"617":{"position":[[338,2]]},"627":{"position":[[80,2]]},"637":{"position":[[256,2]]},"678":{"position":[[137,2]]},"691":{"position":[[142,2]]},"710":{"position":[[291,2]]},"756":{"position":[[459,2]]},"760":{"position":[[584,2]]},"762":{"position":[[100,2],[332,2]]},"774":{"position":[[274,2],[647,2]]},"781":{"position":[[112,2]]},"790":{"position":[[1150,2],[1468,2],[1490,2],[1647,2]]},"792":{"position":[[133,2]]},"798":{"position":[[377,2],[497,2]]},"801":{"position":[[311,2],[365,2]]},"819":{"position":[[297,2]]},"840":{"position":[[89,2]]},"846":{"position":[[160,2]]},"855":{"position":[[24,2]]},"858":{"position":[[33,2]]},"860":{"position":[[13,2]]},"862":{"position":[[49,2]]},"892":{"position":[[66,2]]},"894":{"position":[[138,2],[185,2]]},"906":{"position":[[90,2]]},"913":{"position":[[39,2]]}}}],["远程",{"_index":1953,"t":{"790":{"position":[[833,2]]}}}],["连接",{"_index":424,"t":{"496":{"position":[[467,2],[510,2],[517,2],[542,2],[571,2],[586,2],[606,2]]},"508":{"position":[[181,2]]},"512":{"position":[[3,2],[303,2]]},"593":{"position":[[181,2]]},"597":{"position":[[3,2],[303,2]]},"613":{"position":[[467,2],[510,2],[517,2],[542,2],[571,2],[586,2],[606,2]]},"694":{"position":[[239,2]]},"696":{"position":[[49,2],[310,2]]},"762":{"position":[[271,2],[503,2],[597,2]]},"770":{"position":[[29,2]]},"774":{"position":[[511,2]]}}}],["连续",{"_index":2052,"t":{"801":{"position":[[54,2]]}}}],["迭代",{"_index":2115,"t":{"810":{"position":[[66,2]]},"894":{"position":[[206,2]]}}}],["追踪",{"_index":2261,"t":{"880":{"position":[[228,2]]},"882":{"position":[[57,2]]}}}],["适合",{"_index":2087,"t":{"807":{"position":[[74,2]]}}}],["适用",{"_index":2165,"t":{"814":{"position":[[802,2]]}}}],["选",{"_index":196,"t":{"483":{"position":[[162,1]]},"637":{"position":[[162,1]]},"725":{"position":[[112,1]]},"814":{"position":[[199,1]]}}}],["选中",{"_index":171,"t":{"479":{"position":[[296,2]]},"633":{"position":[[296,2]]},"722":{"position":[[348,2]]},"727":{"position":[[208,2]]},"790":{"position":[[354,2]]},"936":{"position":[[122,2]]}}}],["选择",{"_index":190,"t":{"483":{"position":[[80,2],[101,2],[133,2],[141,2],[178,2],[184,2]]},"637":{"position":[[80,2],[101,2],[133,2],[141,2],[178,2],[184,2]]},"722":{"position":[[104,2],[187,2],[387,2],[399,2]]},"790":{"position":[[400,2],[637,2]]},"930":{"position":[[513,2]]},"934":{"position":[[198,2],[240,2],[270,2],[296,2],[317,2],[343,2]]},"936":{"position":[[66,2],[98,2]]}}}],["选项",{"_index":198,"t":{"483":{"position":[[174,2]]},"637":{"position":[[174,2]]},"732":{"position":[[56,2]]},"934":{"position":[[312,2]]}}}],["透明度",{"_index":2265,"t":{"882":{"position":[[23,3]]}}}],["通信",{"_index":237,"t":{"489":{"position":[[100,2],[128,2],[159,2]]},"492":{"position":[[342,2]]},"496":{"position":[[21,2]]},"498":{"position":[[28,2]]},"506":{"position":[[8,2]]},"508":{"position":[[76,2]]},"510":{"position":[[27,2],[51,2],[62,2],[78,2]]},"512":{"position":[[195,2]]},"514":{"position":[[20,2]]},"591":{"position":[[8,2]]},"593":{"position":[[76,2]]},"595":{"position":[[27,2],[51,2],[62,2],[78,2]]},"597":{"position":[[195,2]]},"599":{"position":[[20,2]]},"607":{"position":[[100,2],[128,2],[159,2]]},"609":{"position":[[342,2]]},"613":{"position":[[21,2]]},"615":{"position":[[28,2]]},"774":{"position":[[133,2],[276,2],[649,2]]}}}],["通常",{"_index":1632,"t":{"753":{"position":[[35,2]]},"779":{"position":[[90,2]]}}}],["通用",{"_index":119,"t":{"475":{"position":[[23,2]]},"629":{"position":[[23,2]]},"753":{"position":[[99,2]]},"756":{"position":[[260,2]]},"758":{"position":[[369,2]]},"762":{"position":[[692,2]]},"766":{"position":[[84,2]]}}}],["通知",{"_index":2339,"t":{"919":{"position":[[12,2]]}}}],["通过",{"_index":42,"t":{"465":{"position":[[123,2]]},"467":{"position":[[119,2]]},"471":{"position":[[34,2]]},"479":{"position":[[243,2]]},"481":{"position":[[58,2],[119,2]]},"485":{"position":[[123,2]]},"487":{"position":[[119,2]]},"498":{"position":[[2,2]]},"500":{"position":[[36,2]]},"502":{"position":[[123,2]]},"504":{"position":[[119,2]]},"510":{"position":[[65,2],[81,2]]},"514":{"position":[[2,2]]},"516":{"position":[[36,2]]},"589":{"position":[[119,2]]},"595":{"position":[[65,2],[81,2]]},"599":{"position":[[2,2]]},"601":{"position":[[36,2]]},"605":{"position":[[119,2]]},"615":{"position":[[2,2]]},"617":{"position":[[36,2]]},"621":{"position":[[119,2]]},"625":{"position":[[34,2]]},"633":{"position":[[243,2]]},"635":{"position":[[58,2],[119,2]]},"678":{"position":[[119,2]]},"722":{"position":[[240,2]]},"725":{"position":[[144,2]]},"748":{"position":[[57,2],[155,2],[216,2],[324,2],[404,2],[463,2]]},"756":{"position":[[248,2]]},"760":{"position":[[571,2],[599,2]]},"764":{"position":[[350,2],[402,2]]},"774":{"position":[[233,2],[256,2],[621,2]]},"779":{"position":[[53,2]]},"781":{"position":[[91,2]]},"801":{"position":[[80,2]]},"803":{"position":[[149,2]]},"807":{"position":[[187,2]]},"812":{"position":[[87,2]]},"882":{"position":[[62,2],[88,2]]},"890":{"position":[[119,2]]},"894":{"position":[[241,2]]}}}],["速度",{"_index":2014,"t":{"798":{"position":[[89,2]]}}}],["逻辑",{"_index":1498,"t":{"722":{"position":[[338,2]]},"753":{"position":[[329,2]]},"766":{"position":[[546,2],[641,2],[854,2],[884,2]]},"772":{"position":[[287,2],[358,2]]}}}],["遇到",{"_index":2259,"t":{"880":{"position":[[202,2],[258,2]]}}}],["遵守",{"_index":2348,"t":{"923":{"position":[[25,2]]}}}],["遵循",{"_index":1989,"t":{"796":{"position":[[87,2]]}}}],["避免",{"_index":2154,"t":{"814":{"position":[[682,2]]},"855":{"position":[[29,2]]}}}],["邀请",{"_index":2188,"t":{"819":{"position":[[338,2]]},"913":{"position":[[27,2]]},"919":{"position":[[22,2]]}}}],["那么",{"_index":1675,"t":{"756":{"position":[[368,2]]},"790":{"position":[[1175,2]]},"801":{"position":[[160,2]]},"812":{"position":[[135,2]]},"814":{"position":[[926,2]]}}}],["那些",{"_index":75,"t":{"471":{"position":[[29,2]]},"473":{"position":[[61,2]]},"625":{"position":[[29,2]]},"627":{"position":[[61,2]]}}}],["邮件",{"_index":2228,"t":{"860":{"position":[[29,2]]}}}],["部分",{"_index":1661,"t":{"756":{"position":[[143,2]]},"812":{"position":[[148,2]]},"814":{"position":[[95,2],[169,2],[642,2],[699,2],[845,2],[939,2]]}}}],["部署",{"_index":485,"t":{"500":{"position":[[249,2]]},"506":{"position":[[2,2],[33,2]]},"510":{"position":[[3,2]]},"514":{"position":[[8,2],[28,2]]},"516":{"position":[[249,2]]},"591":{"position":[[2,2],[33,2]]},"595":{"position":[[3,2]]},"599":{"position":[[8,2],[28,2]]},"601":{"position":[[249,2]]},"617":{"position":[[249,2]]},"701":{"position":[[4,2]]},"708":{"position":[[4,2],[12,2],[17,2]]},"710":{"position":[[269,2]]},"712":{"position":[[1840,2]]},"764":{"position":[[31,2],[345,2],[392,2]]},"819":{"position":[[136,2],[315,2]]},"840":{"position":[[91,2]]},"886":{"position":[[109,2]]},"906":{"position":[[92,2]]}}}],["都",{"_index":132,"t":{"475":{"position":[[66,1]]},"629":{"position":[[66,1]]},"727":{"position":[[119,1]]},"753":{"position":[[57,1]]},"756":{"position":[[329,1]]},"760":{"position":[[663,1],[696,1]]},"766":{"position":[[515,1]]},"772":{"position":[[439,1]]},"779":{"position":[[19,1],[163,1]]},"781":{"position":[[159,1],[199,1]]},"843":{"position":[[2,1]]},"846":{"position":[[108,1]]},"855":{"position":[[23,1]]},"871":{"position":[[39,1]]}}}],["配置",{"_index":439,"t":{"498":{"position":[[36,2]]},"615":{"position":[[36,2]]},"684":{"position":[[38,2]]},"696":{"position":[[259,2]]},"710":{"position":[[8,2],[187,2]]},"714":{"position":[[66,2]]},"716":{"position":[[140,2]]},"722":{"position":[[82,2],[157,2],[168,2],[190,2],[342,2],[381,2]]},"727":{"position":[[179,2],[220,2],[321,2]]},"756":{"position":[[263,2]]},"760":{"position":[[33,2],[69,2],[76,2],[534,2],[556,2]]},"762":{"position":[[45,2],[544,2],[790,2]]},"774":{"position":[[523,2]]},"852":{"position":[[48,2]]}}}],["配置文件",{"_index":1408,"t":{"710":{"position":[[332,4],[452,4]]},"712":{"position":[[67,4]]},"756":{"position":[[38,4]]},"764":{"position":[[75,4],[280,4]]},"774":{"position":[[499,4]]},"827":{"position":[[64,4]]}}}],["里",{"_index":89,"t":{"473":{"position":[[21,1],[53,1]]},"627":{"position":[[21,1],[53,1]]},"790":{"position":[[1197,1]]}}}],["里面",{"_index":418,"t":{"496":{"position":[[379,2]]},"613":{"position":[[379,2]]},"714":{"position":[[64,2]]}}}],["重命名",{"_index":182,"t":{"483":{"position":[[12,3],[28,3]]},"637":{"position":[[12,3],[28,3]]}}}],["重复",{"_index":2289,"t":{"894":{"position":[[211,2]]}}}],["重大",{"_index":1904,"t":{"781":{"position":[[77,2]]}}}],["重新",{"_index":1945,"t":{"790":{"position":[[643,2]]},"862":{"position":[[18,2]]}}}],["重新启动",{"_index":1465,"t":{"716":{"position":[[228,4]]}}}],["重构",{"_index":1895,"t":{"781":{"position":[[16,2],[84,2],[205,2]]},"814":{"position":[[363,2]]}}}],["重要",{"_index":94,"t":{"473":{"position":[[37,2]]},"627":{"position":[[37,2]]}}}],["量",{"_index":2023,"t":{"798":{"position":[[205,1]]}}}],["针对",{"_index":285,"t":{"492":{"position":[[190,2]]},"609":{"position":[[190,2]]},"727":{"position":[[121,2]]},"812":{"position":[[124,2]]},"814":{"position":[[916,2]]}}}],["链接",{"_index":1266,"t":{"662":{"position":[[2,2]]},"680":{"position":[[2,2]]},"703":{"position":[[4,2]]}}}],["锁定",{"_index":1485,"t":{"722":{"position":[[203,2]]}}}],["错误",{"_index":1783,"t":{"766":{"position":[[103,2]]},"928":{"position":[[38,2],[48,2]]}}}],["错误信息",{"_index":2362,"t":{"928":{"position":[[65,4],[93,4]]},"930":{"position":[[321,4],[384,4],[447,4],[500,4]]},"932":{"position":[[170,4],[246,4]]}}}],["错误处理",{"_index":1874,"t":{"774":{"position":[[703,4]]}}}],["键",{"_index":1583,"t":{"734":{"position":[[9,1],[53,1]]},"748":{"position":[[124,1]]},"766":{"position":[[169,1],[637,1]]}}}],["键名",{"_index":1689,"t":{"758":{"position":[[49,2]]}}}],["镜像",{"_index":217,"t":{"485":{"position":[[257,2]]},"487":{"position":[[253,2]]},"502":{"position":[[257,2]]},"504":{"position":[[253,2]]},"589":{"position":[[253,2]]},"605":{"position":[[253,2]]}}}],["长",{"_index":1839,"t":{"772":{"position":[[719,1]]}}}],["问",{"_index":1959,"t":{"790":{"position":[[1198,1]]}}}],["问题",{"_index":244,"t":{"489":{"position":[[132,2],[161,2]]},"607":{"position":[[132,2],[161,2]]},"772":{"position":[[849,2]]},"779":{"position":[[70,2]]},"783":{"position":[[15,2]]},"794":{"position":[[55,2]]},"798":{"position":[[177,2],[222,2],[434,2]]},"807":{"position":[[120,2]]},"810":{"position":[[29,2],[59,2]]},"855":{"position":[[42,2]]},"862":{"position":[[9,2]]},"880":{"position":[[205,2],[250,2],[262,2]]},"882":{"position":[[59,2]]},"900":{"position":[[13,2]]},"906":{"position":[[133,2]]},"915":{"position":[[19,2],[55,2]]},"921":{"position":[[58,2]]}}}],["问题解答",{"_index":2263,"t":{"882":{"position":[[7,4]]}}}],["间通信",{"_index":521,"t":{"506":{"position":[[40,3]]},"591":{"position":[[40,3]]}}}],["阅读",{"_index":984,"t":{"587":{"position":[[12,2]]},"603":{"position":[[12,2]]},"619":{"position":[[12,2]]}}}],["队列",{"_index":222,"t":{"489":{"position":[[16,2],[43,2]]},"492":{"position":[[120,2]]},"607":{"position":[[16,2],[43,2]]},"609":{"position":[[120,2]]},"744":{"position":[[96,2]]},"774":{"position":[[173,2],[269,2],[329,2],[634,2]]}}}],["阮",{"_index":2356,"t":{"925":{"position":[[0,1]]}}}],["阶段",{"_index":2257,"t":{"880":{"position":[[192,2]]}}}],["陈述",{"_index":2059,"t":{"801":{"position":[[134,2]]}}}],["限",{"_index":490,"t":{"500":{"position":[[268,1]]},"516":{"position":[[268,1]]},"601":{"position":[[268,1]]},"617":{"position":[[268,1]]}}}],["限于",{"_index":483,"t":{"500":{"position":[[245,2]]},"516":{"position":[[245,2]]},"601":{"position":[[245,2]]},"617":{"position":[[245,2]]}}}],["除了",{"_index":133,"t":{"475":{"position":[[69,2]]},"492":{"position":[[255,2]]},"609":{"position":[[255,2]]},"629":{"position":[[69,2]]}}}],["除外",{"_index":2071,"t":{"801":{"position":[[344,2]]}}}],["随意",{"_index":2033,"t":{"798":{"position":[[314,2]]}}}],["随着",{"_index":1,"t":{"465":{"position":[[4,2]]},"467":{"position":[[0,2]]},"485":{"position":[[4,2]]},"487":{"position":[[0,2]]},"502":{"position":[[4,2]]},"504":{"position":[[0,2]]},"589":{"position":[[0,2]]},"605":{"position":[[0,2]]},"621":{"position":[[0,2]]},"890":{"position":[[0,2]]}}}],["隐藏",{"_index":99,"t":{"473":{"position":[[54,2],[70,2]]},"627":{"position":[[54,2],[70,2]]}}}],["集成",{"_index":266,"t":{"492":{"position":[[56,2]]},"609":{"position":[[56,2]]},"725":{"position":[[13,2]]}}}],["集群",{"_index":292,"t":{"492":{"position":[[233,2]]},"609":{"position":[[233,2]]}}}],["需",{"_index":985,"t":{"587":{"position":[[14,1]]},"603":{"position":[[14,1]]},"619":{"position":[[14,1]]},"656":{"position":[[115,1]]},"764":{"position":[[447,1]]},"770":{"position":[[35,1]]},"835":{"position":[[115,1]]},"838":{"position":[[62,1]]},"860":{"position":[[8,1]]},"873":{"position":[[115,1]]},"880":{"position":[[43,1]]}}}],["需求",{"_index":2029,"t":{"798":{"position":[[270,2]]},"880":{"position":[[165,2],[209,2]]},"894":{"position":[[106,2]]}}}],["需要",{"_index":300,"t":{"492":{"position":[[328,2]]},"506":{"position":[[68,2]]},"508":{"position":[[24,2]]},"591":{"position":[[68,2]]},"593":{"position":[[24,2]]},"609":{"position":[[328,2]]},"654":{"position":[[4,2]]},"672":{"position":[[4,2]]},"710":{"position":[[283,2]]},"716":{"position":[[2,2]]},"725":{"position":[[269,2],[306,2]]},"727":{"position":[[193,2]]},"756":{"position":[[427,2]]},"762":{"position":[[602,2]]},"764":{"position":[[310,2]]},"772":{"position":[[440,2]]},"779":{"position":[[92,2],[165,2]]},"781":{"position":[[161,2],[201,2]]},"796":{"position":[[267,2]]},"798":{"position":[[217,2],[372,2],[406,2],[446,2],[488,2]]},"814":{"position":[[701,2],[772,2]]},"833":{"position":[[10,2]]},"838":{"position":[[107,2]]},"848":{"position":[[15,2]]},"858":{"position":[[14,2]]},"860":{"position":[[21,2]]},"862":{"position":[[12,2],[24,2],[35,2]]}}}],["静态",{"_index":1415,"t":{"710":{"position":[[558,2]]},"716":{"position":[[10,2]]},"840":{"position":[[69,2]]}}}],["非",{"_index":2159,"t":{"814":{"position":[[739,1]]}}}],["非常",{"_index":1236,"t":{"654":{"position":[[49,2]]},"672":{"position":[[29,2]]},"764":{"position":[[370,2],[425,2]]},"783":{"position":[[36,2]]},"898":{"position":[[2,2]]},"906":{"position":[[2,2]]}}}],["非常感谢",{"_index":1875,"t":{"776":{"position":[[0,4]]}}}],["非常适合",{"_index":474,"t":{"500":{"position":[[149,4]]},"516":{"position":[[149,4]]},"601":{"position":[[149,4]]},"617":{"position":[[149,4]]}}}],["面板",{"_index":2377,"t":{"936":{"position":[[149,2]]}}}],["页",{"_index":68,"t":{"471":{"position":[[2,1]]},"483":{"position":[[17,1],[44,1],[65,1],[91,1],[314,1]]},"625":{"position":[[2,1]]},"637":{"position":[[17,1],[44,1],[65,1],[91,1],[314,1]]},"645":{"position":[[35,1]]},"647":{"position":[[37,1]]},"772":{"position":[[125,1],[131,1],[138,1],[143,1],[147,1]]},"934":{"position":[[64,1],[79,1],[87,1],[92,1],[109,1],[118,1],[145,1],[151,1],[179,1],[216,1],[222,1],[468,1],[474,1],[529,1],[664,1],[682,1],[690,1],[696,1],[704,1],[711,1],[730,1],[739,1],[751,1],[766,1],[774,1],[781,1],[798,1],[809,1],[839,1],[845,1],[894,1],[931,1],[937,1],[968,1],[1012,1],[1018,1],[1156,1],[1162,1]]},"936":{"position":[[38,1],[44,1],[84,1],[90,1]]}}}],["页面",{"_index":208,"t":{"483":{"position":[[264,2],[283,2]]},"637":{"position":[[264,2],[283,2]]},"722":{"position":[[17,2],[36,2],[137,2],[162,2]]},"725":{"position":[[353,2]]},"738":{"position":[[8,2],[33,2]]},"740":{"position":[[6,2]]},"748":{"position":[[238,2],[301,2],[358,2]]},"766":{"position":[[221,2],[268,2],[282,2],[289,2],[301,2]]},"790":{"position":[[351,2],[1644,2]]},"867":{"position":[[5,2]]},"934":{"position":[[452,2],[478,2]]},"936":{"position":[[22,2],[52,2],[103,2]]}}}],["顶部",{"_index":1502,"t":{"722":{"position":[[393,2]]}}}],["项",{"_index":1555,"t":{"727":{"position":[[222,1]]}}}],["项目",{"_index":28,"t":{"465":{"position":[[87,2]]},"467":{"position":[[83,2]]},"481":{"position":[[2,2],[12,2],[17,2],[30,2],[35,2],[45,2],[53,2],[74,2],[82,2],[97,2],[108,2],[116,2],[139,2],[145,2],[152,2],[159,2]]},"485":{"position":[[87,2],[213,2],[255,2]]},"487":{"position":[[83,2],[209,2],[251,2]]},"492":{"position":[[53,2]]},"502":{"position":[[87,2],[213,2],[255,2]]},"504":{"position":[[83,2],[209,2],[251,2]]},"589":{"position":[[83,2],[209,2],[251,2]]},"605":{"position":[[83,2],[209,2],[251,2]]},"609":{"position":[[53,2]]},"621":{"position":[[83,2]]},"635":{"position":[[2,2],[12,2],[17,2],[30,2],[35,2],[45,2],[53,2],[74,2],[82,2],[97,2],[108,2],[116,2],[139,2],[145,2],[152,2],[159,2]]},"656":{"position":[[52,2]]},"674":{"position":[[48,2]]},"691":{"position":[[104,2]]},"706":{"position":[[95,2]]},"736":{"position":[[28,2]]},"740":{"position":[[28,2]]},"742":{"position":[[4,2],[57,2],[126,2]]},"748":{"position":[[195,2],[383,2],[422,2]]},"753":{"position":[[41,2],[93,2],[246,2],[279,2],[390,2]]},"756":{"position":[[12,2],[36,2],[49,2],[56,2],[66,2],[103,2],[111,2],[181,2],[229,2],[233,2],[253,2],[308,2],[403,2]]},"758":{"position":[[31,2]]},"764":{"position":[[25,2],[293,2],[340,2],[347,2],[399,2],[432,2],[444,2]]},"766":{"position":[[230,2],[293,2],[467,2],[479,2],[484,2],[488,2],[493,2],[498,2]]},"772":{"position":[[27,2],[30,2],[127,2],[230,2],[347,2],[453,2],[592,2],[730,2],[810,2]]},"774":{"position":[[24,2],[529,2],[684,2]]},"776":{"position":[[15,2]]},"787":{"position":[[37,2]]},"790":{"position":[[349,2]]},"792":{"position":[[52,2]]},"794":{"position":[[12,2],[63,2]]},"796":{"position":[[12,2]]},"801":{"position":[[98,2],[231,2],[333,2]]},"803":{"position":[[38,2],[254,2]]},"807":{"position":[[96,2]]},"822":{"position":[[110,2]]},"835":{"position":[[52,2]]},"838":{"position":[[18,2],[59,2]]},"873":{"position":[[52,2]]},"880":{"position":[[220,2]]},"882":{"position":[[47,2],[117,2]]},"890":{"position":[[83,2]]},"906":{"position":[[10,2],[60,2],[108,2],[187,2],[210,2]]},"917":{"position":[[36,2]]},"932":{"position":[[15,2],[23,2],[28,2],[43,2],[53,2],[60,2],[72,2],[79,2],[97,2],[107,2],[114,2],[121,2],[134,2],[141,2],[149,2],[177,2],[199,2],[209,2],[224,2]]}}}],["项目名称",{"_index":174,"t":{"481":{"position":[[7,4],[62,4],[90,4],[127,4]]},"635":{"position":[[7,4],[62,4],[90,4],[127,4]]},"742":{"position":[[44,4]]},"932":{"position":[[18,4],[65,4],[83,4]]}}}],["项目管理",{"_index":2085,"t":{"807":{"position":[[61,4]]}}}],["顺序",{"_index":214,"t":{"483":{"position":[[316,2]]},"637":{"position":[[316,2]]},"934":{"position":[[531,2]]}}}],["须知",{"_index":2182,"t":{"816":{"position":[[32,2]]}}}],["预期",{"_index":2360,"t":{"928":{"position":[[8,2]]},"930":{"position":[[8,2]]},"932":{"position":[[8,2]]},"934":{"position":[[11,2]]},"936":{"position":[[11,2]]}}}],["预览",{"_index":179,"t":{"481":{"position":[[161,2]]},"483":{"position":[[297,2],[302,2]]},"635":{"position":[[161,2]]},"637":{"position":[[297,2],[302,2]]},"725":{"position":[[347,2]]},"772":{"position":[[145,2]]},"934":{"position":[[500,2],[517,2],[533,2]]}}}],["颇具",{"_index":2050,"t":{"801":{"position":[[37,2]]}}}],["额外",{"_index":1770,"t":{"762":{"position":[[629,2]]}}}],["风险",{"_index":2011,"t":{"798":{"position":[[66,2],[96,2],[235,2]]}}}],["首先",{"_index":2247,"t":{"880":{"position":[[0,2]]}}}],["首字母",{"_index":2160,"t":{"814":{"position":[[759,3]]}}}],["首页",{"_index":1811,"t":{"772":{"position":[[120,2],[303,2]]}}}],["驱动",{"_index":154,"t":{"479":{"position":[[66,2],[135,2],[200,2]]},"633":{"position":[[66,2],[135,2],[200,2]]},"930":{"position":[[78,2],[144,2],[212,2],[358,2],[421,2]]}}}],["验证",{"_index":2222,"t":{"855":{"position":[[26,2]]}}}],["骚扰",{"_index":2352,"t":{"923":{"position":[[49,2]]}}}],["高",{"_index":1486,"t":{"722":{"position":[[231,1]]},"798":{"position":[[79,1],[259,1]]}}}],["高性能",{"_index":284,"t":{"492":{"position":[[177,3]]},"609":{"position":[[177,3]]}}}],["高质量",{"_index":2292,"t":{"894":{"position":[[284,3]]}}}],["默认",{"_index":1268,"t":{"662":{"position":[[27,2]]},"680":{"position":[[44,2]]},"684":{"position":[[36,2]]},"703":{"position":[[2,2],[29,2]]},"710":{"position":[[336,2]]},"714":{"position":[[95,2]]},"758":{"position":[[405,2]]},"941":{"position":[[0,2]]}}}],["默认值",{"_index":1401,"t":{"710":{"position":[[203,3]]},"734":{"position":[[96,3]]}}}],["鼓励",{"_index":2328,"t":{"915":{"position":[[0,2]]},"917":{"position":[[28,2]]}}}]],"pipeline":["stemmer"]}}] \ No newline at end of file diff --git a/zh-CN/search/index.html b/zh-CN/search/index.html new file mode 100644 index 00000000..27663881 --- /dev/null +++ b/zh-CN/search/index.html @@ -0,0 +1,65 @@ + + + + + +搜索文档 + + + + + + +
+

搜索文档

+ + + + \ No newline at end of file diff --git a/zh-CN/sitemap.xml b/zh-CN/sitemap.xml new file mode 100644 index 00000000..312e4964 --- /dev/null +++ b/zh-CN/sitemap.xml @@ -0,0 +1 @@ +https://cloudorc.github.io/SolidUI-Website/zh-CN/blogweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/01/function-explanation-0.1.0weekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/02/snakemq-communication-source-code-analysisweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/07/03/independent-deployment-communication-analysisweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-introductionweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/0.2.0-Releaseweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/2023/09/05/Official-Website-Introductionweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/archiveweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/page/2weekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/tagsweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/tags/aiweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/tags/aigcweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/tags/solid-uiweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/tags/solid-ui/page/2weekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/tags/stable-diffusionweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/blog/tags/stable-diffusion/page/2weekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/home/weekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/home/featureweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/home/heroweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/home/performanceweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/searchweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/team/weekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/user/weekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/community/contribution_guide/become_committerweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/community/submit_guide/documentweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/community/submit_guide/submit_codeweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/deployment/deployment-dockerweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/deployment/deployment-kubernetesweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/deployment/deployment-standaloneweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/deployment/deployment-webweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/design/front-end-architecture/weekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/design/metadata/weekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/design/server-architecture/weekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/development/develop-contributingweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/development/development-commitweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/development/development-constructionweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/development/development-dockerweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/development/development-frontweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/development/development-releaseweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/development/development-serverweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/faq/faq/weekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/introweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/operational/community-operation/weekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/test/test-case/weekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/docs/user-guide/quick-startweekly0.5https://cloudorc.github.io/SolidUI-Website/zh-CN/weekly0.5 \ No newline at end of file diff --git a/zh-CN/team/index.html b/zh-CN/team/index.html new file mode 100644 index 00000000..53f7410f --- /dev/null +++ b/zh-CN/team/index.html @@ -0,0 +1,18 @@ + + + + + +SolidUI + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/zh-CN/user/atguigu.png b/zh-CN/user/atguigu.png new file mode 100644 index 00000000..3e04ab7b Binary files /dev/null and b/zh-CN/user/atguigu.png differ diff --git a/zh-CN/user/baidu.png b/zh-CN/user/baidu.png new file mode 100644 index 00000000..6bd79751 Binary files /dev/null and b/zh-CN/user/baidu.png differ diff --git a/zh-CN/user/banggood.png b/zh-CN/user/banggood.png new file mode 100644 index 00000000..8344e4c5 Binary files /dev/null and b/zh-CN/user/banggood.png differ diff --git a/zh-CN/user/belle.png b/zh-CN/user/belle.png new file mode 100644 index 00000000..6e590782 Binary files /dev/null and b/zh-CN/user/belle.png differ diff --git a/zh-CN/user/bondex.png b/zh-CN/user/bondex.png new file mode 100644 index 00000000..eb1b8f59 Binary files /dev/null and b/zh-CN/user/bondex.png differ diff --git a/zh-CN/user/china-unicon.png b/zh-CN/user/china-unicon.png new file mode 100644 index 00000000..03b2d911 Binary files /dev/null and b/zh-CN/user/china-unicon.png differ diff --git a/zh-CN/user/ctyun.png b/zh-CN/user/ctyun.png new file mode 100644 index 00000000..b8945681 Binary files /dev/null and b/zh-CN/user/ctyun.png differ diff --git a/zh-CN/user/deepway.png b/zh-CN/user/deepway.png new file mode 100644 index 00000000..67dd311c Binary files /dev/null and b/zh-CN/user/deepway.png differ diff --git a/zh-CN/user/doctorglasses.png b/zh-CN/user/doctorglasses.png new file mode 100644 index 00000000..6e2285d1 Binary files /dev/null and b/zh-CN/user/doctorglasses.png differ diff --git a/zh-CN/user/dtsclouds.png b/zh-CN/user/dtsclouds.png new file mode 100644 index 00000000..a37642fe Binary files /dev/null and b/zh-CN/user/dtsclouds.png differ diff --git a/zh-CN/user/dustess.png b/zh-CN/user/dustess.png new file mode 100644 index 00000000..97f4cd10 Binary files /dev/null and b/zh-CN/user/dustess.png differ diff --git a/zh-CN/user/fy-data.png b/zh-CN/user/fy-data.png new file mode 100644 index 00000000..80563787 Binary files /dev/null and b/zh-CN/user/fy-data.png differ diff --git a/zh-CN/user/gigacloud_technology.png b/zh-CN/user/gigacloud_technology.png new file mode 100644 index 00000000..1b917cbf Binary files /dev/null and b/zh-CN/user/gigacloud_technology.png differ diff --git a/zh-CN/user/haibo.png b/zh-CN/user/haibo.png new file mode 100644 index 00000000..678363e2 Binary files /dev/null and b/zh-CN/user/haibo.png differ diff --git a/zh-CN/user/hopson.png b/zh-CN/user/hopson.png new file mode 100644 index 00000000..8c91276d Binary files /dev/null and b/zh-CN/user/hopson.png differ diff --git a/zh-CN/user/index.html b/zh-CN/user/index.html new file mode 100644 index 00000000..91d5a2e4 --- /dev/null +++ b/zh-CN/user/index.html @@ -0,0 +1,18 @@ + + + + + +SolidUI + + + + + + +
+
+ + + + \ No newline at end of file diff --git a/zh-CN/user/inmobi.png b/zh-CN/user/inmobi.png new file mode 100644 index 00000000..ea1ba608 Binary files /dev/null and b/zh-CN/user/inmobi.png differ diff --git a/zh-CN/user/itcast.png b/zh-CN/user/itcast.png new file mode 100644 index 00000000..b7812b8c Binary files /dev/null and b/zh-CN/user/itcast.png differ diff --git a/zh-CN/user/joyme.png b/zh-CN/user/joyme.png new file mode 100644 index 00000000..7e41285b Binary files /dev/null and b/zh-CN/user/joyme.png differ diff --git a/zh-CN/user/relx.png b/zh-CN/user/relx.png new file mode 100644 index 00000000..04e418df Binary files /dev/null and b/zh-CN/user/relx.png differ diff --git a/zh-CN/user/shunwang.png b/zh-CN/user/shunwang.png new file mode 100644 index 00000000..554a1812 Binary files /dev/null and b/zh-CN/user/shunwang.png differ diff --git a/zh-CN/user/sobot.png b/zh-CN/user/sobot.png new file mode 100644 index 00000000..3f08005b Binary files /dev/null and b/zh-CN/user/sobot.png differ diff --git a/zh-CN/user/tencent.png b/zh-CN/user/tencent.png new file mode 100644 index 00000000..26fdb929 Binary files /dev/null and b/zh-CN/user/tencent.png differ diff --git a/zh-CN/user/vphonor.png b/zh-CN/user/vphonor.png new file mode 100644 index 00000000..a351b6a3 Binary files /dev/null and b/zh-CN/user/vphonor.png differ diff --git a/zh-CN/user/yipage.png b/zh-CN/user/yipage.png new file mode 100644 index 00000000..754e8fb6 Binary files /dev/null and b/zh-CN/user/yipage.png differ diff --git a/zh-CN/user/yonghui.png b/zh-CN/user/yonghui.png new file mode 100644 index 00000000..a272fd27 Binary files /dev/null and b/zh-CN/user/yonghui.png differ diff --git a/zh-CN/user/yto.png b/zh-CN/user/yto.png new file mode 100644 index 00000000..0d46d140 Binary files /dev/null and b/zh-CN/user/yto.png differ diff --git a/zh-CN/user/yucun.png b/zh-CN/user/yucun.png new file mode 100644 index 00000000..fbb34382 Binary files /dev/null and b/zh-CN/user/yucun.png differ diff --git a/zh-CN/user/yunlizhi.png b/zh-CN/user/yunlizhi.png new file mode 100644 index 00000000..99dd2558 Binary files /dev/null and b/zh-CN/user/yunlizhi.png differ diff --git a/zh-CN/user/zehoo.png b/zh-CN/user/zehoo.png new file mode 100644 index 00000000..85e49039 Binary files /dev/null and b/zh-CN/user/zehoo.png differ diff --git a/zh-CN/user/ziroom.png b/zh-CN/user/ziroom.png new file mode 100644 index 00000000..4a45f5ad Binary files /dev/null and b/zh-CN/user/ziroom.png differ diff --git a/zh-CN/user/zoomlion.png b/zh-CN/user/zoomlion.png new file mode 100644 index 00000000..1d4f1f8d Binary files /dev/null and b/zh-CN/user/zoomlion.png differ