diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/docs/404.html b/docs/404.html index af4126d..10e9193 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1 +1,14 @@ - \ No newline at end of file + + + + + +Page Not Found | Welcome to @rhtml documentation page + + + + + +
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/docs/assets/css/styles.b3985e85.css b/docs/assets/css/styles.b3985e85.css new file mode 100644 index 0000000..716210f --- /dev/null +++ b/docs/assets/css/styles.b3985e85.css @@ -0,0 +1 @@ +.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}.clean-list,.containsTaskList_mC6p,.details_lb9f>summary,.dropdown__menu,.menu__list{list-style:none}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#2e8555;--ifm-color-primary-dark:#29784c;--ifm-color-primary-darker:#277148;--ifm-color-primary-darkest:#205d3b;--ifm-color-primary-light:#33925d;--ifm-color-primary-lighter:#359962;--ifm-color-primary-lightest:#3cad6e;--ifm-code-font-size:95%;--docusaurus-highlighted-code-line-bg:#0000001a;--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;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300)}.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}*{box-sizing:border-box}html{background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;text-size-adjust:100%}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.list_eTzJ article:last-child,.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_NmtK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.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>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_Gvgb,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;-webkit-user-select:none;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.sidebar_re4s,.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_BuS1>:last-child,.cardContainer_fWXF :last-child,.collapsibleContent_i85q p:last-child,.details_lb9f>summary>p:last-child,.footer__items{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}.hero__subtitle{font-size:1.5rem}.menu__list{margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.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{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter)}.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)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;margin-right:1rem;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover,.sidebarItemLink_mo7H:hover{text-decoration:none}.pagination-nav{display:grid;grid-gap:var(--ifm-spacing-horizontal);gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.sidebarItemTitle_pO2u,.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)}.tabs,:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.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}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}[data-theme=dark]{--ifm-color-primary:#25c2a0;--ifm-color-primary-dark:#21af90;--ifm-color-primary-darker:#1fa588;--ifm-color-primary-darkest:#1a8870;--ifm-color-primary-light:#29d5b0;--ifm-color-primary-lighter:#32d8b4;--ifm-color-primary-lightest:#4fddbf;--docusaurus-highlighted-code-line-bg:#0000004d}.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}.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;text-align:center}.content_knG7 a{color:inherit;text-decoration:underline}.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)}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_YfHR,.navbarSearchContainer_Bca1:empty,.sidebarLogo_isFc,.themedComponent_mlkZ,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_xIcU,[data-theme=light] .themedComponent--light_NVdE,html:not([data-theme]) .themedComponent--light_NVdE{display:initial}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.iconExternalLink_nPIU{margin-left:.3rem}.docMainContainer_TBSr,.docRoot_UBD9{display:flex;width:100%}.docsWrapper_hBAB{display:flex;flex:1 0 auto}.dropdownNavbarItemMobile_S0Fm{cursor:pointer}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}.errorBoundaryFallback_VBag{color:red;padding:.55rem}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_BH7S:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.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:"#"}.cardContainer_fWXF{--ifm-link-color:var(--ifm-color-emphasis-800);--ifm-link-hover-color:var(--ifm-color-emphasis-700);--ifm-link-hover-decoration:none;border:1px solid var(--ifm-color-emphasis-200);box-shadow:0 1.5px 3px 0 #00000026;transition:all var(--ifm-transition-fast) ease;transition-property:border,box-shadow}.cardContainer_fWXF:hover{border-color:var(--ifm-color-primary);box-shadow:0 3px 6px 0 #0003}.cardTitle_rnsV{font-size:1.2rem}.cardDescription_PWke{font-size:.8rem}.features_t9lD{align-items:center;display:flex;padding:2rem 0;width:100%}.featureSvg_GfXr{height:200px;width:200px}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.sidebar_re4s{overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 2rem)}.sidebarItemTitle_pO2u{font-size:var(--ifm-h3-font-size)}.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}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}.heroBanner_qdFl{overflow:hidden;padding:4rem 0;position:relative;text-align:center}.buttons_AeoN{align-items:center;display:flex;justify-content:center}.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}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{left:0;position:absolute;top:0;fill:currentColor;height:inherit;opacity:inherit;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.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}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}.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;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}.lastUpdated_JAkA{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.tocCollapsibleContent_vkbj a{display:block}.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)}.img_ev3q{height:auto}.tableOfContents_bqdL{overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.admonition_xJq3{margin-bottom:1em}.admonitionHeading_Gvgb{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_Gvgb:not(:last-child){margin-bottom:.3rem}.admonitionHeading_Gvgb code{text-transform:none}.admonitionIcon_Rf37{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_Rf37 svg{display:inline-block;height:1.6em;width:1.6em;fill:var(--ifm-alert-foreground-color)}.breadcrumbHomeIcon_YNFT{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.title_kItE{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-leading)*1.25)}.mdxPageWrapper_j9I6{justify-content:center}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_TmdG{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_i1dp,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_TmdG:focus,.expandButton_TmdG:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_isFc img{height:2rem;margin-right:.5rem}.expandButton_TmdG{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_i1dp{transform:rotate(180deg)}.docSidebarContainer_YfHR{border-right:1px solid var(--ifm-toc-border-color);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_DPk8{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_aRkj{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_TBSr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_lQrH{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_JWYK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.navbarSearchContainer_Bca1{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_JAkA{text-align:right}.tocMobile_ITEo{display:none}.docItemCol_VOVn,.generatedIndexPage_vN6x{max-width:75%!important}.list_eTzJ article:nth-last-child(-n+2){margin-bottom:0!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@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}.navbarSearchContainer_Bca1{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media screen and (max-width:996px){.heroBanner_qdFl{padding:2rem}}@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}.title_f1Hy{font-size:2rem}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/docs/assets/js/main.fce9b08a.js.LICENSE.txt b/docs/assets/js/main.fce9b08a.js.LICENSE.txt new file mode 100644 index 0000000..91dc894 --- /dev/null +++ b/docs/assets/js/main.fce9b08a.js.LICENSE.txt @@ -0,0 +1,64 @@ +/* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress + * @license MIT */ + +/*! Bundled license information: + +prismjs/prism.js: + (** + * Prism: Lightweight, robust, elegant syntax highlighting + * + * @license MIT + * @author Lea Verou + * @namespace + * @public + *) +*/ + +/** + * @license React + * 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 + * react-jsx-runtime.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 + * 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. + */ + +/** + * @license React + * 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. + */ diff --git a/docs/blog/archive/index.html b/docs/blog/archive/index.html new file mode 100644 index 0000000..00f78b5 --- /dev/null +++ b/docs/blog/archive/index.html @@ -0,0 +1,14 @@ + + + + + +Archive | Welcome to @rhtml documentation page + + + + + +
Skip to main content

Archive

Archive

+ + \ No newline at end of file diff --git a/docs/blog/atom.xml b/docs/blog/atom.xml new file mode 100644 index 0000000..c538daa --- /dev/null +++ b/docs/blog/atom.xml @@ -0,0 +1,27 @@ + + + https://your-docusaurus-site.example.com/blog + Welcome to @rhtml documentation page Blog + 2024-05-19T00:00:00.000Z + https://github.com/jpmonette/feed + + Welcome to @rhtml documentation page Blog + https://your-docusaurus-site.example.com/img/favicon.ico + + <![CDATA[Welcome]]> + https://your-docusaurus-site.example.com/blog/welcome + + 2024-05-19T00:00:00.000Z + + Welcome to @rhtml documentation

]]>
+ + Kristiyan Tachev + https://github.com/Stradivario + + + + + + +
+
\ No newline at end of file diff --git a/docs/blog/index.html b/docs/blog/index.html new file mode 100644 index 0000000..af64cac --- /dev/null +++ b/docs/blog/index.html @@ -0,0 +1,14 @@ + + + + + +Blog | Welcome to @rhtml documentation page + + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/docs/blog/rss.xml b/docs/blog/rss.xml new file mode 100644 index 0000000..732224b --- /dev/null +++ b/docs/blog/rss.xml @@ -0,0 +1,25 @@ + + + + Welcome to @rhtml documentation page Blog + https://your-docusaurus-site.example.com/blog + Welcome to @rhtml documentation page Blog + Sun, 19 May 2024 00:00:00 GMT + https://validator.w3.org/feed/docs/rss2.html + https://github.com/jpmonette/feed + en + + <![CDATA[Welcome]]> + https://your-docusaurus-site.example.com/blog/welcome + https://your-docusaurus-site.example.com/blog/welcome + Sun, 19 May 2024 00:00:00 GMT + + Welcome to @rhtml documentation

]]>
+ rtml + dependency + injection + functional programming + component as a service +
+
+
\ No newline at end of file diff --git a/docs/blog/tags/component-as-a-service/index.html b/docs/blog/tags/component-as-a-service/index.html new file mode 100644 index 0000000..cc85315 --- /dev/null +++ b/docs/blog/tags/component-as-a-service/index.html @@ -0,0 +1,14 @@ + + + + + +One post tagged with "component as a service" | Welcome to @rhtml documentation page + + + + + +
Skip to main content

One post tagged with "component as a service"

View All Tags
+ + \ No newline at end of file diff --git a/docs/blog/tags/dependency/index.html b/docs/blog/tags/dependency/index.html new file mode 100644 index 0000000..ca0b586 --- /dev/null +++ b/docs/blog/tags/dependency/index.html @@ -0,0 +1,14 @@ + + + + + +One post tagged with "dependency" | Welcome to @rhtml documentation page + + + + + +
Skip to main content

One post tagged with "dependency"

View All Tags
+ + \ No newline at end of file diff --git a/docs/blog/tags/functional-programming/index.html b/docs/blog/tags/functional-programming/index.html new file mode 100644 index 0000000..4bf9d12 --- /dev/null +++ b/docs/blog/tags/functional-programming/index.html @@ -0,0 +1,14 @@ + + + + + +One post tagged with "functional programming" | Welcome to @rhtml documentation page + + + + + +
Skip to main content

One post tagged with "functional programming"

View All Tags
+ + \ No newline at end of file diff --git a/docs/blog/tags/index.html b/docs/blog/tags/index.html new file mode 100644 index 0000000..197d14d --- /dev/null +++ b/docs/blog/tags/index.html @@ -0,0 +1,14 @@ + + + + + +Tags | Welcome to @rhtml documentation page + + + + + + + + \ No newline at end of file diff --git a/docs/blog/tags/injection/index.html b/docs/blog/tags/injection/index.html new file mode 100644 index 0000000..f37c156 --- /dev/null +++ b/docs/blog/tags/injection/index.html @@ -0,0 +1,14 @@ + + + + + +One post tagged with "injection" | Welcome to @rhtml documentation page + + + + + +
Skip to main content

One post tagged with "injection"

View All Tags
+ + \ No newline at end of file diff --git a/docs/blog/tags/rtml/index.html b/docs/blog/tags/rtml/index.html new file mode 100644 index 0000000..ff7af4b --- /dev/null +++ b/docs/blog/tags/rtml/index.html @@ -0,0 +1,14 @@ + + + + + +One post tagged with "rtml" | Welcome to @rhtml documentation page + + + + + +
Skip to main content

One post tagged with "rtml"

View All Tags
+ + \ No newline at end of file diff --git a/docs/blog/welcome/index.html b/docs/blog/welcome/index.html new file mode 100644 index 0000000..7541e03 --- /dev/null +++ b/docs/blog/welcome/index.html @@ -0,0 +1,14 @@ + + + + + +Welcome | Welcome to @rhtml documentation page + + + + + +
Skip to main content
+ + \ No newline at end of file diff --git a/docs/docs/category/getting-started/index.html b/docs/docs/category/getting-started/index.html new file mode 100644 index 0000000..c9e6dc2 --- /dev/null +++ b/docs/docs/category/getting-started/index.html @@ -0,0 +1,14 @@ + + + + + +Getting started | Welcome to @rhtml documentation page + + + + + + + + \ No newline at end of file diff --git a/docs/docs/getting-started/controllers/index.html b/docs/docs/getting-started/controllers/index.html new file mode 100644 index 0000000..fd4dd9c --- /dev/null +++ b/docs/docs/getting-started/controllers/index.html @@ -0,0 +1,29 @@ + + + + + +Controllers | Welcome to @rhtml documentation page + + + + + +
Skip to main content

Controllers

+

Introduction

+

In the context of the @rhtml/fastify package, the @Controller decorator plays a role similar to other web framework libraries like Express or NestJS. Here's an explanation of what @Controller is and how it's used:

+

Controller Definition: The @Controller decorator is used to define a controller within your application. Controllers are responsible for handling incoming HTTP requests and returning appropriate responses.

+

Routing: Controllers typically define routes for different HTTP methods (e.g., GET, POST, PUT, DELETE). Each route is associated with a specific endpoint URL and handler function within the controller.

+

Request Handling: When a request matches a route defined by a controller, the corresponding handler function is invoked to process the request. Inside the handler function, you can access request parameters, headers, body, and other data, and perform any necessary processing or business logic.

+

Response Generation: Controller handler functions are responsible for generating and returning HTTP responses to the client. This includes setting response headers, status codes, and sending back data or content in the response body.

+

Middleware Support: Controllers in @rhtml/fastify may support the use of middleware functions to intercept and process requests before they reach the controller handler functions. This allows for common functionality such as authentication, logging, or input validation to be applied to multiple routes within the controller.

+

Organizational Structure: Controllers help to organize your application's routes and request handling logic into logical units based on functionality or resource type. This improves code readability, maintainability, and scalability.

+

In summary, the @Controller decorator in @rhtml/fastify is used to define HTTP request handlers and routes within your application, facilitating the development of web APIs or server-side applications.

+

Basic controller

+
import { Module } from '@rhtml/di';
import { FastifyModule, Controller, Route } from '@rhtml/fastify';
import fastify from 'fastify';

@Module({
imports: [
FastifyModule.forRoot(fastify, {
server: {
port: 3000,
host: 'localhost',
},
}),
],
bootstraps: [HealthCheckController],
})
export class AppModule {}

@Controller({
route: '/status',
})
export class HealthCheckController {
@Route({
method: 'GET',
})
healthCheck(
request: FastifyRequest<{
Params: { myParams: string };
Body: { myBody: string };
Querystring: { myQueryString: string };
}>
) {
request.body.myBody;
request.query.myQueryString;
request.params.myParams;
return {
server: {
status: 'working',
},
};
}
}
+

Defining a custom JSON Schema to validate request parameters

+
import { Controller, Route } from '@rhtml/fastify';

@Controller({
route: '/status',
})
export class HealthCheckController {
@Route({
method: 'GET',
schema: {
body: {
$id: 'MyBody.json',
title: 'MyBody',
type: 'object',
properties: {},
required: [],
},
response: {
200: {
$id: 'MyResponse.json',
title: 'MyResponse',
type: 'object',
properties: {
status: {
type: 'string',
minLength: 1,
},
},
required: ['status'],
},
},
},
})
myRequest(
request: FastifyRequest<{
Body: { myBody: string };
}>
) {
return {
status: 'working',
};
}
}
+

Defining a path parameter

+
import { Controller, Route } from '@rhtml/fastify';
import { FastifyRequest } from 'fastify';

@Controller({
route: '/status',
})
export class MyCustomController {
@Route({
method: 'GET',
url: '/:myParam',
})
myRequest(
request: FastifyRequest<{
Params: { myParam: string };
}>
) {
request.params.myParam;
return {
status: 'working',
};
}
}
+ + \ No newline at end of file diff --git a/docs/docs/getting-started/modules/index.html b/docs/docs/getting-started/modules/index.html new file mode 100644 index 0000000..f2eb947 --- /dev/null +++ b/docs/docs/getting-started/modules/index.html @@ -0,0 +1,32 @@ + + + + + +Modules | Welcome to @rhtml documentation page + + + + + +
Skip to main content

Modules

+

Introduction

+

The @Module() decorator is used to define modules within your application. These modules help organize and encapsulate related functionality.

+

Provider Registration: Inside the providers array passed to @Module(), you list the various providers or services. +These providers could include any objects or services needed within the module.

+

Dependency Injection Context: By specifying providers within a module, you're registering them with the dependency injection (DI) system of @rhtml. This enables the framework to manage the creation and injection of dependencies throughout your application.

+

Organizational Structure: Using modules helps maintain a well-organized codebase, especially as the application grows. Each module in @rhtml could encapsulate a specific set of features or functionalities, making the codebase easier to understand and maintain.

+

Defining a Module

+
import { Module } from '@rhtml/di';

@Module({
imports: [],
providers: [],
bootstraps: [],
})
export class AppModule {}
+

Importing a module inside a module

+
import { Module } from '@rhtml/di';

@Module()
export class MyModule {}

@Module({
imports: [MyModule],
})
export class AppModule {}
+

Importing a provider inside a module

+
import { Module, Injectable } from '@rhtml/di';

@Injectable()
export class MyProvider {}

@Module({
providers: [MyProvider],
})
export class AppModule {}
+

Importing a provider inside a module using an custom InjectionToken and usage inside a Service Provider

+
import { Module, Injectable, InjectionToken } from '@rhtml/di';

export const MyInjectable = new InjectionToken();

export type MyInjectable = { myValue: string };

@Module({
providers: [
{
provide: MyInjectable,
useFactory: () => ({ myValue: '1234' }),
},
],
})
export class AppModule {}

@Injectable()
export class MyService {
constructor(@Inject(MyInjectable) private myInjectable: MyInjectable) {}
}
+

Importing a Controller using @rhtml/fastify package

+
import { Module } from '@rhtml/di';
import { FastifyModule, Controller, Route } from '@rhtml/fastify';

@Module({
imports: [
FastifyModule.forRoot({
server: {
port: 3000,
host: 'localhost',
},
}),
],
bootstraps: [HealthCheckController],
})
export class AppModule {}

@Controller({
route: '/status',
})
export class HealthCheckController {
@Route({
method: 'GET',
})
healthCheck() {
return {
server: {
status: 'working',
},
};
}
}
+

Bootstrap an application

+
import { Module, Injectable, Bootstrap } from '@rhtml/di';

@Injectable()
export class MyProvider {}

@Module({
providers: [MyProvider],
})
export class AppModule {}

Bootstrap(AppModule)
.then(() => console.log('Application started'))
.catch((e) => console.error(e));
+ + \ No newline at end of file diff --git a/docs/docs/getting-started/providers/index.html b/docs/docs/getting-started/providers/index.html new file mode 100644 index 0000000..c51444f --- /dev/null +++ b/docs/docs/getting-started/providers/index.html @@ -0,0 +1,34 @@ + + + + + +Providers | Welcome to @rhtml documentation page + + + + + +
Skip to main content

Providers

+

Introduction

+

Service Declaration: The @Injectable decorator is used to declare a class as a service within your application. Services typically encapsulate reusable functionality, such as data access, logging, or business logic.

+

Dependency Injection Support: When a class is decorated with @Injectable, it signals to the dependency injection container that instances of this class may be injected into other classes or components within your application. This allows you to use dependency injection to manage the instantiation and lifecycle of the service.

+

Constructor Injection: Services decorated with @Injectable typically utilize constructor injection to receive their dependencies. This promotes loose coupling and makes the service easier to test.

+

Providing Dependencies: Services decorated with @Injectable can have their dependencies automatically resolved and injected by the dependency injection container. This simplifies the process of managing dependencies and promotes modular, reusable code.

+

Lifecycle Management: Services decorated with @Injectable support lifecycle hooks such as initialization, destruction. These hooks allow you to perform setup or cleanup tasks when the service is created or destroyed.

+

Defining a class Provider

+
import { Injectable } from '@rhtml/di';

@Injectable()
export class MyProvider {
myMethod() {
return 'Hello World';
}
}
+

Importing InjectionToken into a Provider, first we need to define it in the respective Module

+
+

NOTE: Custom injection tokens can be also async by using useFactory: async () => ({ myValue: '1234' })

+
+
+

NOTE: When injection token is async the application will not Bootstrap until every async provider returns value

+
+
import { Module, Injectable, InjectionToken } from '@rhtml/di';

export const MyInjectable = new InjectionToken();

export type MyInjectable = { myValue: string };

@Module({
providers: [
{
provide: MyInjectable,
useFactory: () => ({ myValue: '1234' }),
},
],
})
export class AppModule {}

@Injectable()
export class MyProvider {
constructor(@Inject(MyInjectable) private myInjectable: MyInjectable) {}

myMethod() {
return this.myInjectable.myValue; // '1234'
}
}
+

Usage of Providers

+
import { Module, Injectable, InjectionToken } from '@rhtml/di';

@Module({
providers: [MyProvider, MyProviderSecond],
})
export class AppModule {}

@Injectable()
export class MyProvider {
myMethod() {
return '1234';
}
}

@Injectable()
export class MyProviderSecond {
constructor(private myProvider: MyProvider) {}
myMethod() {
return '1234';
}
}
+

Hooks

+
import { Injectable, OnInit, OnDestroy } from '@rhtml/di';

@Injectable()
export class MyClass implements OnInit, OnDestroy {
OnInit() {
// When class is instantiated
}
OnDestroy() {
// When class is about to be removed from the DI container
}
}
+ + \ No newline at end of file diff --git a/docs/docs/getting-started/testing/index.html b/docs/docs/getting-started/testing/index.html new file mode 100644 index 0000000..8f5f8af --- /dev/null +++ b/docs/docs/getting-started/testing/index.html @@ -0,0 +1,77 @@ + + + + + +Testing | Welcome to @rhtml documentation page + + + + + +
Skip to main content

Testing

+

Testing a @Controller

+
import { Bootstrap, get, Module } from '@rhtml/di';
import { FastifyModule } from '@rhtml/fastify';
import fastify from 'fastify';

import { HealthCheckController } from './healthcheck.controller';
import { HealthCheckService } from './healthcheck.service';
import { HealthCheckStatus } from './types';

describe('healthcheck controller', () => {
let healthCheckController: HealthCheckController;
let healthCheckService: HealthCheckService;

beforeEach(async () => {
@Module({
imports: [
FastifyModule.forRoot(fastify, {
logger: true,
}),
],
providers: [HealthCheckService],
bootstrap: [HealthCheckController],
})
class AppModule {}

await Bootstrap(AppModule);
healthCheckController = get(HealthCheckController);
healthCheckService = get(HealthCheckService);
});

afterEach(() => {
jest.restoreAllMocks();
});

it('should be defined', () => {
expect(healthCheckController).toBeDefined();
});

it('should call the healthcheck service', async () => {
const response = {
server: { status: HealthCheckStatus.WORKING },
database: { status: 'ok' },
} as never;
const spy = jest
.spyOn(healthCheckService, 'checkServicesStatus')
.mockResolvedValue(response);
const result = await healthCheckController.healthCheck();
expect(spy).toHaveBeenCalled();
expect(result).toEqual(response);
});
});
+

The provided TypeScript code is a test suite written using the Jest framework for testing. It tests a controller called HealthCheckController, which utilizes @rhtml/di for dependency injection and @rhtml/fastify for web server functionality.

+

Imports:

+
    +
  • @rhtml/di: Used for dependency injection.
  • +
  • @rhtml/fastify: Used for integrating Fastify with the application.
  • +
  • fastify: Represents the Fastify instance.
  • +
  • jest: Testing framework.
  • +
+

Describing Test Suite:

+
    +
  • The describe() function is used to group test cases related to the "healthcheck controller".
  • +
+

Test Setup:

+
    +
  • healthCheckController and healthCheckService are declared outside the beforeEach() block to make them accessible across test cases.
  • +
  • Inside beforeEach(), a module (AppModule) is defined using @Module decorator from @rhtml/di. It imports FastifyModule.forRoot() from @rhtml/fastify to configure Fastify.
  • +
  • HealthCheckService is registered as a provider within the module.
  • +
  • Bootstrap(AppModule) is awaited to initialize the module.
  • +
  • Instances of HealthCheckController and HealthCheckService are obtained using get() function from @rhtml/di and assigned to healthCheckController and healthCheckService respectively.
  • +
+

Test Teardown:

+
    +
  • jest.restoreAllMocks() is used in the afterEach() block to restore all mocked functions after each test case.
  • +
+

Test Cases:

+
    +
  • The first test case checks if healthCheckController is defined.
  • +
  • The second test case verifies if the healthCheck() method of HealthCheckController calls the checkServicesStatus() method of HealthCheckService. It mocks the checkServicesStatus() method using jest.spyOn() and verifies if it's called.
  • +
  • It also checks if the result returned by healthCheckController.healthCheck() matches the expected response.
  • +
+

Overall, this code tests the behavior of the HealthCheckController by mocking its dependencies and ensuring that it interacts correctly with the HealthCheckService. It validates that the controller functions as expected when handling health check requests.

+

Testing a @Service

+
import { Bootstrap, Module, set } from '@rhtml/di';

import { HealthCheckService } from './healthcheck.service';
import { HealthCheckStatus } from './types';

describe('health check service', () => {
let healthCheckService: HealthCheckService;

beforeEach(async () => {
@Module({
providers: [HealthCheckService],
})
class AppModule {}

await Bootstrap(AppModule);

healthCheckService = set(HealthCheckService);
});

afterEach(() => {
jest.restoreAllMocks();
});

it('should return WORKING status for the server and the correct status for the database', () => {
const response = {
server: {
status: HealthCheckStatus.WORKING,
},
} as never;

const result = healthCheckService.checkServicesStatus();

expect(result).toEqual(response);
});
});
+

The provided TypeScript code is a test suite written using the Jest framework for testing. It tests a service called HealthCheckService, which utilizes @rhtml/di for dependency injection.

+

Imports:

+
    +
  • The code imports necessary modules and libraries from @rhtml/di.
  • +
+

Describing Test Suite:

+
    +
  • The describe() function is used to group test cases related to the "health check service".
  • +
+

Test Setup:

+
    +
  • healthCheckService is declared outside the beforeEach() block to make it accessible across test cases.
  • +
  • Inside beforeEach(), a module (AppModule) is defined using @Module decorator from @rhtml/di. It only provides the HealthCheckService as a provider.
  • +
  • Bootstrap(AppModule) is awaited to initialize the module.
  • +
  • The set() function from @rhtml/di is used to obtain an instance of HealthCheckService and assign it to healthCheckService.
  • +
+

Test Teardown:

+
    +
  • jest.restoreAllMocks() is used in the afterEach() block to restore all mocked functions after each test case.
  • +
+

Test Case:

+
    +
  • The test case verifies that the checkServicesStatus() method of HealthCheckService returns the expected response.
  • +
  • It defines a response object with the expected structure and values.
  • +
  • It calls the checkServicesStatus() method and assigns the result to result.
  • +
  • It asserts that the result matches the response object using expect().toEqual().
  • +
+

Overall, this code tests the behavior of the HealthCheckService by verifying that its checkServicesStatus() method returns the expected response. It ensures that the service functions correctly when checking the status of services.

+ + \ No newline at end of file diff --git a/docs/docs/intro/index.html b/docs/docs/intro/index.html new file mode 100644 index 0000000..72578da --- /dev/null +++ b/docs/docs/intro/index.html @@ -0,0 +1,38 @@ + + + + + +Introduction | Welcome to @rhtml documentation page + + + + + +
Skip to main content

Introduction

+

Understanding @rhtml/di npm library

+

The @rhtml/di npm library is likely a dependency injection (DI) library for JavaScript or TypeScript projects. Dependency injection is a software design pattern used to manage dependencies between different components of an application.

+

Key Features:

+
    +
  1. +

    Dependency Management: @rhtml/di provides a way to manage dependencies between different parts of your application. Instead of hard-coding dependencies within a component, you define them externally, typically in a configuration file or through code annotations.

    +
  2. +
  3. +

    Injection: The library facilitates the injection of dependencies into components. When a component needs access to another object or service, it doesn't create that dependency itself; rather, it receives it from the DI container. This promotes loose coupling between components and makes them easier to replace or modify.

    +
  4. +
  5. +

    Configuration: @rhtml/di likely offers a configuration mechanism where you specify how dependencies are wired together. This could involve defining bindings between interfaces and concrete implementations, setting up lifecycle management for objects, and handling scopes (e.g., singleton instances vs. transient objects).

    +
  6. +
  7. +

    Scoping: Dependency injection containers often support different scopes for objects. For instance, you might want a singleton instance of a service that's shared across your application, while other objects are created anew each time they're needed.

    +
  8. +
  9. +

    Testing: DI facilitates unit testing by allowing you to inject mock or fake dependencies into components during testing. This makes it easier to isolate and test individual parts of your application.

    +
  10. +
  11. +

    Maintainability: By decoupling components from their dependencies, @rhtml/di promotes better code organization and maintainability. Changes to one part of the system are less likely to have ripple effects throughout the codebase.

    +
  12. +
+

Overall, @rhtml/di likely aims to simplify the management of dependencies in your JavaScript or TypeScript projects, leading to more modular, scalable, and maintainable code.

+ + \ No newline at end of file diff --git a/docs/img/docusaurus-social-card.jpg b/docs/img/docusaurus-social-card.jpg new file mode 100644 index 0000000..ffcb448 Binary files /dev/null and b/docs/img/docusaurus-social-card.jpg differ diff --git a/docs/img/docusaurus.png b/docs/img/docusaurus.png new file mode 100644 index 0000000..f458149 Binary files /dev/null and b/docs/img/docusaurus.png differ diff --git a/docs/img/favicon.ico b/docs/img/favicon.ico new file mode 100644 index 0000000..c01d54b Binary files /dev/null and b/docs/img/favicon.ico differ diff --git a/docs/img/logo2.svg b/docs/img/logo2.svg new file mode 100644 index 0000000..9db6d0d --- /dev/null +++ b/docs/img/logo2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/img/reactive-logo.png b/docs/img/reactive-logo.png new file mode 100644 index 0000000..1e54c16 Binary files /dev/null and b/docs/img/reactive-logo.png differ diff --git a/docs/img/undraw_docusaurus_mountain.svg b/docs/img/undraw_docusaurus_mountain.svg new file mode 100644 index 0000000..af961c4 --- /dev/null +++ b/docs/img/undraw_docusaurus_mountain.svg @@ -0,0 +1,171 @@ + + Easy to Use + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/img/undraw_docusaurus_react.svg b/docs/img/undraw_docusaurus_react.svg new file mode 100644 index 0000000..94b5cf0 --- /dev/null +++ b/docs/img/undraw_docusaurus_react.svg @@ -0,0 +1,170 @@ + + Powered by React + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/img/undraw_docusaurus_tree.svg b/docs/img/undraw_docusaurus_tree.svg new file mode 100644 index 0000000..d9161d3 --- /dev/null +++ b/docs/img/undraw_docusaurus_tree.svg @@ -0,0 +1,40 @@ + + Focus on What Matters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/index.html b/docs/index.html index af4126d..d9f6af2 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1,14 @@ - \ No newline at end of file + + + + + +Hello from Welcome to @rhtml documentation page | Welcome to @rhtml documentation page + + + + + +
Skip to main content

Welcome to @rhtml documentation page

Programming can be easy using @rhtml

Easy to Use

Easy to Use

Docusaurus was designed from the ground up to be easily installed and used to get your website up and running quickly.

Focus on What Matters

Focus on What Matters

Docusaurus lets you focus on your docs, and we'll do the chores. Go ahead and move your docs into the docs directory.

Powered by React

Powered by React

Extend or customize your website layout by reusing React. Docusaurus can be extended while reusing the same header and footer.

+ + \ No newline at end of file diff --git a/docs/main.11b20df2.js b/docs/main.11b20df2.js deleted file mode 100644 index 2878d69..0000000 --- a/docs/main.11b20df2.js +++ /dev/null @@ -1,124 +0,0 @@ -parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;ct}):void 0,n=`lit$${(Math.random()+"").slice(9)}$`,o="?"+n,r=`<${o}>`,l=document,h=(t="")=>l.createComment(t),$=t=>null===t||"object"!=typeof t&&"function"!=typeof t,d=Array.isArray,a=t=>d(t)||"function"==typeof(null==t?void 0:t[Symbol.iterator]),A=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,c=/-->/g,u=/>/g,_=RegExp(">|[ \t\n\f\r](?:([^\\s\"'>=/]+)([ \t\n\f\r]*=[ \t\n\f\r]*(?:[^ \t\n\f\r\"'`<>=]|(\"|')|))|$)","g"),p=/'/g,v=/"/g,g=/^(?:script|style|textarea|title)$/i,m=t=>(e,...i)=>({_$litType$:t,strings:e,values:i}),f=m(1),x=m(2),y=Symbol.for("lit-noChange"),H=Symbol.for("lit-nothing"),N=new WeakMap,C=l.createTreeWalker(l,129,null,!1),b=(t,e)=>{const i=t.length-1,o=[];let l,h=2===e?"":"",$=A;for(let s=0;s"===d[0]?($=null!=l?l:A,a=-1):void 0===d[1]?a=-2:(a=$.lastIndex-d[2].length,i=d[1],$=void 0===d[3]?_:'"'===d[3]?v:p):$===v||$===p?$=_:$===c||$===u?$=A:($=_,l=void 0);const f=$===_&&t[s+1].startsWith("/>")?" ":"";h+=$===A?e+r:a>=0?(o.push(i),e.slice(0,a)+"$lit$"+e.slice(a)+n+f):e+n+(-2===a?(o.push(void 0),s):f)}const d=h+(t[i]||"")+(2===e?"":"");if(!Array.isArray(t)||!t.hasOwnProperty("raw"))throw Error("invalid template strings array");return[void 0!==s?s.createHTML(d):d,o]};exports.nothing=H,exports.noChange=y,exports.svg=x,exports.html=f;class T{constructor({strings:t,_$litType$:e},s){let r;this.parts=[];let l=0,$=0;const d=t.length-1,a=this.parts,[A,c]=b(t,e);if(this.el=T.createElement(A,s),C.currentNode=this.el.content,2===e){const t=this.el.content,e=t.firstChild;e.remove(),t.append(...e.childNodes)}for(;null!==(r=C.nextNode())&&a.length0){r.textContent=i?i.emptyScript:"";for(let i=0;i2||""!==i[0]||""!==i[1]?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=H}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,e=this,i,s){const n=this.strings;let o=!1;if(void 0===n)t=M(this,t,e,0),(o=!$(t)||t!==this._$AH&&t!==y)&&(this._$AH=t);else{const s=t;let r,l;for(t=n[0],r=0;r{var s,n;const o=null!==(s=null==i?void 0:i.renderBefore)&&void 0!==s?s:e;let r=o._$litPart$;if(void 0===r){const t=null!==(n=null==i?void 0:i.renderBefore)&&void 0!==n?n:null;o._$litPart$=r=new S(e.insertBefore(h(),t),t,void 0,null!=i?i:{})}return r._$AI(t),r};exports.render=j; -},{}],"Xj1L":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Component=void 0;const e=require("lit-html"),t=(e,t,n)=>(window.customElements.define(e,t,n),t),n=(e,t,n)=>{const{kind:o,elements:s}=t;return{kind:o,elements:s,finisher(t){window.customElements.define(e,t,n)}}},o=e=>"function"==typeof e,s=(s,i={})=>r=>{var l,c;if(null===(l=window._excluded_components)||void 0===l?void 0:l.includes(i.selector))return r;if(!s||s&&s.indexOf("-")<=0)throw new Error(`You need at least 1 dash in the custom element name! ${r}`);i.styles=i.styles||[],i.components=i.components||[];const d=r.prototype.OnInit||function(){},p=r.prototype.OnDestroy||function(){},a=r.prototype.OnUpdate||function(){},u=r.prototype.OnUpdateFirst||function(){},m=r.prototype.connectedCallback||function(){},f=r.prototype.disconnectedCallback||function(){},y=r.prototype.update||function(){},h=r.prototype.firstUpdated||function(){};let w;i.template||(i.template=r.prototype.render||(()=>e.html``)),i.style&&i.styles.push(i.style);const g=((c=class extends r{static is(){return s}getTemplateResult(){return this}OnInit(){if(i.container&&((0,e.render)(i.template.call(this),i.container),i.style)){const e=document.createElement("style");e.type="text/css",e.styleSheet?e.styleSheet.cssText=i.style.toString():e.appendChild(document.createTextNode(i.style.toString())),i.container.prepend(e)}return d.call(this)}disconnectedCallback(){p.call(this),f.call(this),null==w||w.unsubscribe(),w=null}connectedCallback(){var e,t;if(m.call(this),d.call(this),o(i.registry)&&(w=i.registry.call(this)),null===(e=i.modifiers)||void 0===e?void 0:e.length)for(const n of i.modifiers){if(!n)throw new Error(`Provided null value inside modifiers for component "${i.selector}"`);if(!n.options)throw new Error(`Missing options for attribute inside ${i.selector}`);if(!(null===(t=n.options)||void 0===t?void 0:t.selector))throw new Error(`Missing attribute selector inside component "${i.selector}"`);if(w||"function"!=typeof n.options.registry||(w=n.options.registry.call(this)),!w)throw new Error(`Missing attribute registry for attribute "${n.options.selector}" and no default registry specified inside component "${i.selector}"`);w.define(n.options.selector,n)}}render(){return i.template.call(this)}update(){y.call(this),a.call(this)}firstUpdated(){h.call(this),u.call(this)}}).styles=i.styles,c),v=window.customElements.get(s);return v?(console.error(`** IMPORTANT!!! **\n ------------------------------------------\n< ${s} > Component re-defined multiple times and it is already registered inside customElements registry\nPossible Solutions:\n* Bundle problem where multiple versions of the component are used\n * @Component decorator is used twice for the same component\n * Defined "selector" with the same name in multiple components\n\n ** If this is Server Side Rendering you can ignore this message **\n ------------------------------------------\n `),v):("function"==typeof g?t(s,g,{extends:i.extends}):n(s,g,{extends:i.extends}),g)},i=e=>s(e.selector,e);exports.Component=i; -},{"lit-html":"SP/d"}],"WQiD":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}); -},{}],"C2sA":[function(require,module,exports) { -"use strict";var e=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),t=this&&this.__exportStar||function(t,r){for(var o in t)"default"===o||Object.prototype.hasOwnProperty.call(r,o)||e(r,t,o)};Object.defineProperty(exports,"__esModule",{value:!0}),t(require("./on-destroy"),exports),t(require("./on-init"),exports),t(require("./on-update"),exports),t(require("./on-update-first"),exports); -},{"./on-destroy":"WQiD","./on-init":"WQiD","./on-update":"WQiD","./on-update-first":"WQiD"}],"Ee/x":[function(require,module,exports) { -"use strict";var e=this&&this.__createBinding||(Object.create?function(e,t,r,o){void 0===o&&(o=r),Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,o){void 0===o&&(o=r),e[o]=t[r]}),t=this&&this.__exportStar||function(t,r){for(var o in t)"default"===o||Object.prototype.hasOwnProperty.call(r,o)||e(r,t,o)};Object.defineProperty(exports,"__esModule",{value:!0}),t(require("./component.decorator"),exports),t(require("./hooks/index"),exports); -},{"./component.decorator":"Xj1L","./hooks/index":"C2sA"}],"Tngu":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.directive=exports.PartType=exports.Directive=void 0;const e={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},t=e=>(...t)=>({_$litDirective$:e,values:t});exports.directive=t,exports.PartType=e;class r{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,r){this._$Ct=e,this._$AM=t,this._$Ci=r}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}}exports.Directive=r; -},{}],"8Ij6":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.setCommittedValue=exports.setChildPartValue=exports.removePart=exports.isTemplateResult=exports.isSingleExpression=exports.isPrimitive=exports.isDirectiveResult=exports.insertPart=exports.getDirectiveClass=exports.getCommittedValue=exports.clearPart=exports.TemplateResultType=void 0;var e=require("./lit-html.js");const{I:t}=e._$LH,i=e=>null===e||"object"!=typeof e&&"function"!=typeof e,o={HTML:1,SVG:2},r=(e,t)=>void 0===t?void 0!==(null==e?void 0:e._$litType$):(null==e?void 0:e._$litType$)===t,s=e=>void 0!==(null==e?void 0:e._$litDirective$),l=e=>null==e?void 0:e._$litDirective$,n=e=>void 0===e.strings,p=()=>document.createComment(""),x=(e,i,o)=>{var r;const s=e._$AA.parentNode,l=void 0===i?e._$AB:i._$AA;if(void 0===o){const i=s.insertBefore(p(),l),r=s.insertBefore(p(),l);o=new t(i,r,e,e.options)}else{const t=o._$AB.nextSibling,i=o._$AM,n=i!==e;if(n){let t;null===(r=o._$AQ)||void 0===r||r.call(o,e),o._$AM=e,void 0!==o._$AP&&(t=e._$AU)!==i._$AU&&o._$AP(t)}if(t!==l||n){let e=o._$AA;for(;e!==t;){const t=e.nextSibling;s.insertBefore(e,l),e=t}}}return o},a=(e,t,i=e)=>(e._$AI(t,i),e),v={},$=(e,t=v)=>e._$AH=t,u=e=>e._$AH,_=e=>{var t;null===(t=e._$AP)||void 0===t||t.call(e,!1,!0);let i=e._$AA;const o=e._$AB.nextSibling;for(;i!==o;){const e=i.nextSibling;i.remove(),i=e}},d=e=>{e._$AR()};exports.clearPart=d,exports.removePart=_,exports.getCommittedValue=u,exports.setCommittedValue=$,exports.setChildPartValue=a,exports.insertPart=x,exports.isSingleExpression=n,exports.getDirectiveClass=l,exports.isDirectiveResult=s,exports.isTemplateResult=r,exports.TemplateResultType=o,exports.isPrimitive=i; -},{"./lit-html.js":"SP/d"}],"RoIY":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.AsyncDirective=void 0,Object.defineProperty(exports,"Directive",{enumerable:!0,get:function(){return t.Directive}}),Object.defineProperty(exports,"PartType",{enumerable:!0,get:function(){return t.PartType}}),Object.defineProperty(exports,"directive",{enumerable:!0,get:function(){return t.directive}});var e=require("./directive-helpers.js"),t=require("./directive.js");const i=(e,t)=>{var s,r;const n=e._$AN;if(void 0===n)return!1;for(const o of n)null===(r=(s=o)._$AO)||void 0===r||r.call(s,t,!1),i(o,t);return!0},s=e=>{let t,i;do{if(void 0===(t=e._$AM))break;(i=t._$AN).delete(e),e=t}while(0===(null==i?void 0:i.size))},r=e=>{for(let t;t=e._$AM;e=t){let i=t._$AN;if(void 0===i)t._$AN=i=new Set;else if(i.has(e))break;i.add(e),c(t)}};function n(e){void 0!==this._$AN?(s(this),this._$AM=e,r(this)):this._$AM=e}function o(e,t=!1,r=0){const n=this._$AH,o=this._$AN;if(void 0!==o&&0!==o.size)if(t)if(Array.isArray(n))for(let c=r;c{var i,s,r,c;e.type==t.PartType.CHILD&&(null!==(i=(r=e)._$AP)&&void 0!==i||(r._$AP=o),null!==(s=(c=e)._$AQ)&&void 0!==s||(c._$AQ=n))};class l extends t.Directive{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,i){super._$AT(e,t,i),r(this),this.isConnected=e._$AU}_$AO(e,t=!0){var r,n;e!==this.isConnected&&(this.isConnected=e,e?null===(r=this.reconnected)||void 0===r||r.call(this):null===(n=this.disconnected)||void 0===n||n.call(this)),t&&(i(this,e),s(this))}setValue(t){if((0,e.isSingleExpression)(this._$Ct))this._$Ct._$AI(t,this);else{const e=[...this._$Ct._$AH];e[this._$Ci]=t,this._$Ct._$AI(e,this,0)}}disconnected(){}reconnected(){}}exports.AsyncDirective=l; -},{"./directive-helpers.js":"8Ij6","./directive.js":"Tngu"}],"atLA":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.async=void 0;const e=require("lit-html/directive"),s=require("lit-html/async-directive"),i=require("lit-html");class t extends s.AsyncDirective{render(e){return"then"in e?(Promise.resolve(e).then(e=>this.setValue(e)),""):(this.observable!==e&&(this.unsubscribe(),this.observable=e,this.isConnected&&this.subscribe(e)),i.noChange)}subscribe(e){this.subscription=e.subscribe(e=>{this.setValue(e)})}disconnected(){this.unsubscribe()}unsubscribe(){this.subscription&&this.subscription.unsubscribe()}reconnected(){this.subscribe(this.observable)}}exports.async=(0,e.directive)(t); -},{"lit-html/directive":"Tngu","lit-html/async-directive":"RoIY","lit-html":"SP/d"}],"xKdD":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.hydrate=exports.digestForTemplateResult=void 0;var e=require("./lit-html.js"),t=require("./directive.js"),r=require("./directive-helpers.js");const{R:n,D:a,V:i,I:l,F:o}=e._$LH,s=(e,t,r={})=>{if(void 0!==t._$litPart$)throw Error("container already contains a live render");let n,a;const i=[],l=document.createTreeWalker(t,NodeFilter.SHOW_COMMENT,null,!1);let o;for(;null!==(o=l.nextNode());){const t=o.data;if(t.startsWith("lit-part")){if(0===i.length&&void 0!==n)throw Error("there must be only one root part per container");a=p(e,o,i,r),null!=n||(n=a)}else if(t.startsWith("lit-node"))u(o,i,r);else if(t.startsWith("/lit-part")){if(1===i.length&&a!==n)throw Error("internal error");a=d(o,a,i)}}console.assert(void 0!==n,"there should be exactly one root part in a render container"),t._$litPart$=n},p=(t,o,s,p)=>{let d,u;if(0===s.length)u=new l(o,null,void 0,p),d=t;else{const e=s[s.length-1];if("template-instance"===e.type)u=new l(o,null,e.instance,p),e.instance.u.push(u),d=e.result.values[e.instancePartIndex++],e.templatePartIndex++;else if("iterable"===e.type){u=new l(o,null,e.part,p);const t=e.iterator.next();if(t.done)throw d=void 0,e.done=!0,Error("Unhandled shorter than expected iterable");d=t.value,e.part._$AH.push(u)}else u=new l(o,null,e.part,p)}if((d=i(u,d))===e.noChange)s.push({part:u,type:"leaf"});else if((0,r.isPrimitive)(d))s.push({part:u,type:"leaf"}),u._$AH=d;else if((0,r.isTemplateResult)(d)){const e="lit-part "+c(d);if(o.data!==e)throw Error("Hydration value mismatch: Unexpected TemplateResult rendered to part");{const e=l.prototype._$AC(d),t=new n(e,u);s.push({type:"template-instance",instance:t,part:u,templatePartIndex:0,instancePartIndex:0,result:d}),u._$AH=t}}else a(d)?(s.push({part:u,type:"iterable",value:d,iterator:d[Symbol.iterator](),done:!1}),u._$AH=[]):(s.push({part:u,type:"leaf"}),u._$AH=null==d?"":d);return u},d=(e,t,r)=>{if(void 0===t)throw Error("unbalanced part marker");t._$AB=e;const n=r.pop();if("iterable"===n.type&&!n.iterator.next().done)throw Error("unexpected longer than expected iterable");if(r.length>0)return r[r.length-1].part},u=(e,n,a)=>{var l;const s=/lit-node (\d+)/.exec(e.data),p=parseInt(s[1]),d=null!==(l=e.previousElementSibling)&&void 0!==l?l:e.parentElement;if(null===d)throw Error("could not find node for attribute parts");d.removeAttribute("defer-hydration");const u=n[n.length-1];if("template-instance"!==u.type)throw Error("internal error");{const e=u.instance;for(;;){const n=e._$AD.parts[u.templatePartIndex];if(void 0===n||n.type!==t.PartType.ATTRIBUTE&&n.type!==t.PartType.ELEMENT||n.index!==p)break;if(n.type===t.PartType.ATTRIBUTE){const i=new n.ctor(d,n.name,n.strings,u.instance,a),l=(0,r.isSingleExpression)(i)?u.result.values[u.instancePartIndex]:u.result.values,o=!(i.type===t.PartType.EVENT||i.type===t.PartType.PROPERTY);i._$AI(l,i,u.instancePartIndex,o),u.instancePartIndex+=n.strings.length-1,e.u.push(i)}else{const t=new o(d,u.instance,a);i(t,u.result.values[u.instancePartIndex++]),e.u.push(t)}u.templatePartIndex++}}},c=e=>{const t=new Uint32Array(2).fill(5381);for(const r of e.strings)for(let e=0;e{const o=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(r),"observedAttributes").get;Object.defineProperty(r,"observedAttributes",{get(){return[...o.call(this),"defer-hydration"]}});const i=r.prototype.attributeChangedCallback;r.prototype.attributeChangedCallback=function(t,e,r){"defer-hydration"===t&&null===r&&n.call(this),i.call(this,t,e,r)};const n=r.prototype.connectedCallback;r.prototype.connectedCallback=function(){this.hasAttribute("defer-hydration")||n.call(this)};const s=r.prototype.createRenderRoot;r.prototype.createRenderRoot=function(){return this.shadowRoot?(this._$AG=!0,this.shadowRoot):s.call(this)};const a=Object.getPrototypeOf(r.prototype).update;r.prototype.update=function(r){const o=this.render();a.call(this,r),this._$AG?(this._$AG=!1,(0,e.hydrate)(o,this.renderRoot,this.renderOptions)):(0,t.render)(o,this.renderRoot,this.renderOptions)}}); -},{"lit-html":"SP/d","lit-html/experimental-hydrate.js":"xKdD"}],"nlEq":[function(require,module,exports) { -var define; -var e;!function(t){"function"==typeof e&&e.amd?e(t):t()}(function(){"use strict";var e,t=new Set,n=new Map;null!==(e=globalThis.litHtmlPolyfillSupport)&&void 0!==e||(globalThis.litHtmlPolyfillSupport=function(e,o){if(void 0!==window.ShadyCSS&&(!window.ShadyCSS.nativeShadow||window.ShadyCSS.ApplyShim)){var i=function(e){return void 0!==e&&!t.has(e)},l=function(e){var t=n.get(e);return void 0===t&&n.set(e,t=[]),t},a=new Map,d=e.createElement;e.createElement=function(t,n){var o=d.call(e,t,n),a=null==n?void 0:n.scope;if(void 0!==a&&(window.ShadyCSS.nativeShadow||window.ShadyCSS.prepareTemplateDom(o,a),i(a))){var r=l(a),s=o.content.querySelectorAll("style");r.push.apply(r,Array.from(s).map(function(e){var t;return null===(t=e.parentNode)||void 0===t||t.removeChild(e),e.textContent}))}return o};var r=document.createDocumentFragment(),s=document.createComment(""),p=o.prototype,c=p._$AI;p._$AI=function(e,o){var a,d;void 0===o&&(o=this);var p=this._$AA.parentNode,h=null===(a=this.options)||void 0===a?void 0:a.scope;if(p instanceof ShadowRoot&&i(h)){var v=this._$AA,u=this._$AB;r.appendChild(s),this._$AA=s,this._$AB=null,c.call(this,e,o);var S=(null==e?void 0:e._$litType$)?this._$AH._$AD.el:document.createElement("template");if(function(e,o){var i,a=l(e),d=0!==a.length;d&&((i=document.createElement("style")).textContent=a.join("\n"),o.content.appendChild(i)),t.add(e),n.delete(e),window.ShadyCSS.prepareTemplateStyles(o,e),d&&window.ShadyCSS.nativeShadow&&null!==(i=o.content.querySelector("style"))&&o.content.appendChild(i)}(h,S),r.removeChild(s),null===(d=window.ShadyCSS)||void 0===d?void 0:d.nativeShadow){var w=S.content.querySelector("style");null!==w&&r.appendChild(w.cloneNode(!0))}p.insertBefore(r,u),this._$AA=v,this._$AB=u}else c.call(this,e,o)},p._$AC=function(t){var n,o=null===(n=this.options)||void 0===n?void 0:n.scope,i=a.get(o);void 0===i&&a.set(o,i=new Map);var l=i.get(t.strings);return void 0===l&&i.set(t.strings,l=new e(t,this.options)),l}}})}); -},{}],"jMeY":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.unsafeCSS=exports.supportsAdoptingStyleSheets=exports.getCompatibleStyle=exports.css=exports.adoptStyles=exports.CSSResult=void 0;const t=window,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;exports.supportsAdoptingStyleSheets=e;class r{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}exports.CSSResult=r;const n=t=>new r("string"==typeof t?t:t+"",void 0,s),S=(t,...e)=>{const o=1===t.length?t[0]:e.reduce((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if("number"==typeof t)return t;throw Error("Value passed to 'css' function must be a 'css' function result: "+t+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+t[o+1],t[0]);return new r(o,t,s)},c=(s,o)=>{e?s.adoptedStyleSheets=o.map(t=>t instanceof CSSStyleSheet?t:t.styleSheet):o.forEach(e=>{const o=document.createElement("style"),r=t.litNonce;void 0!==r&&o.setAttribute("nonce",r),o.textContent=e.cssText,s.appendChild(o)})},i=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e="";for(const s of t.cssRules)e+=s.cssText;return n(e)})(t):t;exports.getCompatibleStyle=i,exports.adoptStyles=c,exports.css=S,exports.unsafeCSS=n; -},{}],"8iQt":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"CSSResult",{enumerable:!0,get:function(){return e.CSSResult}}),exports.ReactiveElement=void 0,Object.defineProperty(exports,"adoptStyles",{enumerable:!0,get:function(){return e.adoptStyles}}),Object.defineProperty(exports,"css",{enumerable:!0,get:function(){return e.css}}),exports.defaultConverter=void 0,Object.defineProperty(exports,"getCompatibleStyle",{enumerable:!0,get:function(){return e.getCompatibleStyle}}),exports.notEqual=void 0,Object.defineProperty(exports,"supportsAdoptingStyleSheets",{enumerable:!0,get:function(){return e.supportsAdoptingStyleSheets}}),Object.defineProperty(exports,"unsafeCSS",{enumerable:!0,get:function(){return e.unsafeCSS}});var t,e=require("./css-tag.js");const i=window,s=i.trustedTypes,r=s?s.emptyScript:"",o=i.reactiveElementPolyfillSupport,n={toAttribute(t,e){switch(e){case Boolean:t=t?r:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,e){let i=t;switch(e){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},a=(t,e)=>e!==t&&(e==e||t==t),l={attribute:!0,type:String,converter:n,reflect:!1,hasChanged:a};exports.notEqual=a,exports.defaultConverter=n;class h extends HTMLElement{constructor(){super(),this._$Ei=new Map,this.isUpdatePending=!1,this.hasUpdated=!1,this._$El=null,this.u()}static addInitializer(t){var e;this.finalize(),(null!==(e=this.h)&&void 0!==e?e:this.h=[]).push(t)}static get observedAttributes(){this.finalize();const t=[];return this.elementProperties.forEach((e,i)=>{const s=this._$Ep(i,e);void 0!==s&&(this._$Ev.set(s,i),t.push(s))}),t}static createProperty(t,e=l){if(e.state&&(e.attribute=!1),this.finalize(),this.elementProperties.set(t,e),!e.noAccessor&&!this.prototype.hasOwnProperty(t)){const i="symbol"==typeof t?Symbol():"__"+t,s=this.getPropertyDescriptor(t,i,e);void 0!==s&&Object.defineProperty(this.prototype,t,s)}}static getPropertyDescriptor(t,e,i){return{get(){return this[e]},set(s){const r=this[t];this[e]=s,this.requestUpdate(t,r,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)||l}static finalize(){if(this.hasOwnProperty("finalized"))return!1;this.finalized=!0;const t=Object.getPrototypeOf(this);if(t.finalize(),void 0!==t.h&&(this.h=[...t.h]),this.elementProperties=new Map(t.elementProperties),this._$Ev=new Map,this.hasOwnProperty("properties")){const t=this.properties,e=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(const i of e)this.createProperty(i,t[i])}return this.elementStyles=this.finalizeStyles(this.styles),!0}static finalizeStyles(t){const i=[];if(Array.isArray(t)){const s=new Set(t.flat(1/0).reverse());for(const t of s)i.unshift((0,e.getCompatibleStyle)(t))}else void 0!==t&&i.push((0,e.getCompatibleStyle)(t));return i}static _$Ep(t,e){const i=e.attribute;return!1===i?void 0:"string"==typeof i?i:"string"==typeof t?t.toLowerCase():void 0}u(){var t;this._$E_=new Promise(t=>this.enableUpdating=t),this._$AL=new Map,this._$Eg(),this.requestUpdate(),null===(t=this.constructor.h)||void 0===t||t.forEach(t=>t(this))}addController(t){var e,i;(null!==(e=this._$ES)&&void 0!==e?e:this._$ES=[]).push(t),void 0!==this.renderRoot&&this.isConnected&&(null===(i=t.hostConnected)||void 0===i||i.call(t))}removeController(t){var e;null===(e=this._$ES)||void 0===e||e.splice(this._$ES.indexOf(t)>>>0,1)}_$Eg(){this.constructor.elementProperties.forEach((t,e)=>{this.hasOwnProperty(e)&&(this._$Ei.set(e,this[e]),delete this[e])})}createRenderRoot(){var t;const i=null!==(t=this.shadowRoot)&&void 0!==t?t:this.attachShadow(this.constructor.shadowRootOptions);return(0,e.adoptStyles)(i,this.constructor.elementStyles),i}connectedCallback(){var t;void 0===this.renderRoot&&(this.renderRoot=this.createRenderRoot()),this.enableUpdating(!0),null===(t=this._$ES)||void 0===t||t.forEach(t=>{var e;return null===(e=t.hostConnected)||void 0===e?void 0:e.call(t)})}enableUpdating(t){}disconnectedCallback(){var t;null===(t=this._$ES)||void 0===t||t.forEach(t=>{var e;return null===(e=t.hostDisconnected)||void 0===e?void 0:e.call(t)})}attributeChangedCallback(t,e,i){this._$AK(t,i)}_$EO(t,e,i=l){var s;const r=this.constructor._$Ep(t,i);if(void 0!==r&&!0===i.reflect){const o=(void 0!==(null===(s=i.converter)||void 0===s?void 0:s.toAttribute)?i.converter:n).toAttribute(e,i.type);this._$El=t,null==o?this.removeAttribute(r):this.setAttribute(r,o),this._$El=null}}_$AK(t,e){var i;const s=this.constructor,r=s._$Ev.get(t);if(void 0!==r&&this._$El!==r){const t=s.getPropertyOptions(r),o="function"==typeof t.converter?{fromAttribute:t.converter}:void 0!==(null===(i=t.converter)||void 0===i?void 0:i.fromAttribute)?t.converter:n;this._$El=r,this[r]=o.fromAttribute(e,t.type),this._$El=null}}requestUpdate(t,e,i){let s=!0;void 0!==t&&(((i=i||this.constructor.getPropertyOptions(t)).hasChanged||a)(this[t],e)?(this._$AL.has(t)||this._$AL.set(t,e),!0===i.reflect&&this._$El!==t&&(void 0===this._$EC&&(this._$EC=new Map),this._$EC.set(t,i))):s=!1),!this.isUpdatePending&&s&&(this._$E_=this._$Ej())}async _$Ej(){this.isUpdatePending=!0;try{await this._$E_}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){var t;if(!this.isUpdatePending)return;this.hasUpdated,this._$Ei&&(this._$Ei.forEach((t,e)=>this[e]=t),this._$Ei=void 0);let e=!1;const i=this._$AL;try{(e=this.shouldUpdate(i))?(this.willUpdate(i),null===(t=this._$ES)||void 0===t||t.forEach(t=>{var e;return null===(e=t.hostUpdate)||void 0===e?void 0:e.call(t)}),this.update(i)):this._$Ek()}catch(t){throw e=!1,this._$Ek(),t}e&&this._$AE(i)}willUpdate(t){}_$AE(t){var e;null===(e=this._$ES)||void 0===e||e.forEach(t=>{var e;return null===(e=t.hostUpdated)||void 0===e?void 0:e.call(t)}),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$Ek(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$E_}shouldUpdate(t){return!0}update(t){void 0!==this._$EC&&(this._$EC.forEach((t,e)=>this._$EO(e,this[e],t)),this._$EC=void 0),this._$Ek()}updated(t){}firstUpdated(t){}}exports.ReactiveElement=h,h.finalized=!0,h.elementProperties=new Map,h.elementStyles=[],h.shadowRootOptions={mode:"open"},null==o||o({ReactiveElement:h}),(null!==(t=i.reactiveElementVersions)&&void 0!==t?t:i.reactiveElementVersions=[]).push("1.5.0"); -},{"./css-tag.js":"jMeY"}],"+bhx":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e={LitElement:!0,UpdatingElement:!0,_$LE:!0};exports._$LE=exports.UpdatingElement=exports.LitElement=void 0;var t=require("@lit/reactive-element");Object.keys(t).forEach(function(n){"default"!==n&&"__esModule"!==n&&(Object.prototype.hasOwnProperty.call(e,n)||n in exports&&exports[n]===t[n]||Object.defineProperty(exports,n,{enumerable:!0,get:function(){return t[n]}}))});var n,r,o=require("lit-html");Object.keys(o).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(e,t)||t in exports&&exports[t]===o[t]||Object.defineProperty(exports,t,{enumerable:!0,get:function(){return o[t]}}))});const l=t.ReactiveElement;exports.UpdatingElement=l;class s extends t.ReactiveElement{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e,t;const n=super.createRenderRoot();return null!==(e=(t=this.renderOptions).renderBefore)&&void 0!==e||(t.renderBefore=n.firstChild),n}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=(0,o.render)(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),null===(e=this._$Do)||void 0===e||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),null===(e=this._$Do)||void 0===e||e.setConnected(!1)}render(){return o.noChange}}exports.LitElement=s,s.finalized=!0,s._$litElement$=!0,null===(n=globalThis.litElementHydrateSupport)||void 0===n||n.call(globalThis,{LitElement:s});const i=globalThis.litElementPolyfillSupport;null==i||i({LitElement:s});const d={_$AK:(e,t,n)=>{e._$AK(t,n)},_$AL:e=>e._$AL};exports._$LE=d,(null!==(r=globalThis.litElementVersions)&&void 0!==r?r:globalThis.litElementVersions=[]).push("3.2.2"); -},{"@lit/reactive-element":"8iQt","lit-html":"SP/d"}],"9W9w":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.standardPrototypeMethod=exports.legacyPrototypeMethod=exports.decorateProperty=void 0;const e=(e,t,o)=>{Object.defineProperty(t,o,e)},t=(e,t)=>({kind:"method",placement:"prototype",key:t.key,descriptor:e}),o=({finisher:e,descriptor:t})=>(o,r)=>{var d;if(void 0===r){const r=null!==(d=o.originalKey)&&void 0!==d?d:o.key,p=null!=t?{kind:"method",placement:"prototype",key:r,descriptor:t(o.key)}:{...o,key:r};return null!=e&&(p.finisher=function(t){e(t,r)}),p}{const d=o.constructor;void 0!==t&&Object.defineProperty(o,r,t(r)),null==e||e(d,r)}};exports.decorateProperty=o,exports.standardPrototypeMethod=t,exports.legacyPrototypeMethod=e; -},{}],"Rxmf":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.customElement=void 0;const e=e=>t=>"function"==typeof t?((e,t)=>(customElements.define(e,t),t))(e,t):((e,t)=>{const{kind:n,elements:s}=t;return{kind:n,elements:s,finisher(t){customElements.define(e,t)}}})(e,t);exports.customElement=e; -},{}],"Edwr":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.property=i;const e=(e,i)=>"method"!==i.kind||!i.descriptor||"value"in i.descriptor?{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:i.key,initializer(){"function"==typeof i.initializer&&(this[i.key]=i.initializer.call(this))},finisher(r){r.createProperty(i.key,e)}}:{...i,finisher(r){r.createProperty(i.key,e)}};function i(i){return(r,t)=>void 0!==t?((e,i,r)=>{i.constructor.createProperty(r,e)})(i,r,t):e(i,r)} -},{}],"CgqQ":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.state=r;var e=require("./property.js");function r(r){return(0,e.property)({...r,state:!0})} -},{"./property.js":"Edwr"}],"GPbx":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.eventOptions=r;var e=require("./base.js");function r(r){return(0,e.decorateProperty)({finisher:(e,t)=>{Object.assign(e.prototype[t],r)}})} -},{"./base.js":"9W9w"}],"CECV":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.query=r;var e=require("./base.js");function r(r,t){return(0,e.decorateProperty)({descriptor:e=>{const o={get(){var e,t;return null!==(t=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(r))&&void 0!==t?t:null},enumerable:!0,configurable:!0};if(t){const t="symbol"==typeof e?Symbol():"__"+e;o.get=function(){var e,o;return void 0===this[t]&&(this[t]=null!==(o=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(r))&&void 0!==o?o:null),this[t]}}return o}})} -},{"./base.js":"9W9w"}],"w2oO":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.queryAll=r;var e=require("./base.js");function r(r){return(0,e.decorateProperty)({descriptor:e=>({get(){var e,t;return null!==(t=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelectorAll(r))&&void 0!==t?t:[]},enumerable:!0,configurable:!0})})} -},{"./base.js":"9W9w"}],"i+wl":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.queryAsync=r;var e=require("./base.js");function r(r){return(0,e.decorateProperty)({descriptor:e=>({async get(){var e;return await this.updateComplete,null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(r)},enumerable:!0,configurable:!0})})} -},{"./base.js":"9W9w"}],"3kxG":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.queryAssignedElements=n;var e,t=require("./base.js");const o=null!=(null===(e=window.HTMLSlotElement)||void 0===e?void 0:e.prototype.assignedElements)?(e,t)=>e.assignedElements(t):(e,t)=>e.assignedNodes(t).filter(e=>e.nodeType===Node.ELEMENT_NODE);function n(e){const{slot:n,selector:r}=null!=e?e:{};return(0,t.decorateProperty)({descriptor:t=>({get(){var t;const s="slot"+(n?`[name=${n}]`:":not([name])"),l=null===(t=this.renderRoot)||void 0===t?void 0:t.querySelector(s),i=null!=l?o(l,e):[];return r?i.filter(e=>e.matches(r)):i},enumerable:!0,configurable:!0})})} -},{"./base.js":"9W9w"}],"KvUK":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.queryAssignedNodes=r;var e=require("./base.js"),t=require("./query-assigned-elements.js");function r(r,s,o){let n,l=r;return"object"==typeof r?(l=r.slot,n=r):n={flatten:s},o?(0,t.queryAssignedElements)({slot:l,flatten:s,selector:o}):(0,e.decorateProperty)({descriptor:e=>({get(){var e,t;const r="slot"+(l?`[name=${l}]`:":not([name])"),s=null===(e=this.renderRoot)||void 0===e?void 0:e.querySelector(r);return null!==(t=null==s?void 0:s.assignedNodes(n))&&void 0!==t?t:[]},enumerable:!0,configurable:!0})})} -},{"./base.js":"9W9w","./query-assigned-elements.js":"3kxG"}],"naA1":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e={LitElement:!0,UpdatingElement:!0,_$LE:!0};Object.defineProperty(exports,"LitElement",{enumerable:!0,get:function(){return o.LitElement}}),Object.defineProperty(exports,"UpdatingElement",{enumerable:!0,get:function(){return o.UpdatingElement}}),Object.defineProperty(exports,"_$LE",{enumerable:!0,get:function(){return o._$LE}});var t=require("@lit/reactive-element");Object.keys(t).forEach(function(r){"default"!==r&&"__esModule"!==r&&(Object.prototype.hasOwnProperty.call(e,r)||r in exports&&exports[r]===t[r]||Object.defineProperty(exports,r,{enumerable:!0,get:function(){return t[r]}}))});var r=require("lit-html");Object.keys(r).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(e,t)||t in exports&&exports[t]===r[t]||Object.defineProperty(exports,t,{enumerable:!0,get:function(){return r[t]}}))});var o=require("./lit-element.js"),n=require("@lit/reactive-element/decorators/base.js");Object.keys(n).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(e,t)||t in exports&&exports[t]===n[t]||Object.defineProperty(exports,t,{enumerable:!0,get:function(){return n[t]}}))});var s=require("@lit/reactive-element/decorators/custom-element.js");Object.keys(s).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(e,t)||t in exports&&exports[t]===s[t]||Object.defineProperty(exports,t,{enumerable:!0,get:function(){return s[t]}}))});var c=require("@lit/reactive-element/decorators/property.js");Object.keys(c).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(e,t)||t in exports&&exports[t]===c[t]||Object.defineProperty(exports,t,{enumerable:!0,get:function(){return c[t]}}))});var a=require("@lit/reactive-element/decorators/state.js");Object.keys(a).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(e,t)||t in exports&&exports[t]===a[t]||Object.defineProperty(exports,t,{enumerable:!0,get:function(){return a[t]}}))});var i=require("@lit/reactive-element/decorators/event-options.js");Object.keys(i).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(e,t)||t in exports&&exports[t]===i[t]||Object.defineProperty(exports,t,{enumerable:!0,get:function(){return i[t]}}))});var l=require("@lit/reactive-element/decorators/query.js");Object.keys(l).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(e,t)||t in exports&&exports[t]===l[t]||Object.defineProperty(exports,t,{enumerable:!0,get:function(){return l[t]}}))});var p=require("@lit/reactive-element/decorators/query-all.js");Object.keys(p).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(e,t)||t in exports&&exports[t]===p[t]||Object.defineProperty(exports,t,{enumerable:!0,get:function(){return p[t]}}))});var u=require("@lit/reactive-element/decorators/query-async.js");Object.keys(u).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(e,t)||t in exports&&exports[t]===u[t]||Object.defineProperty(exports,t,{enumerable:!0,get:function(){return u[t]}}))});var f=require("@lit/reactive-element/decorators/query-assigned-elements.js");Object.keys(f).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(e,t)||t in exports&&exports[t]===f[t]||Object.defineProperty(exports,t,{enumerable:!0,get:function(){return f[t]}}))});var d=require("@lit/reactive-element/decorators/query-assigned-nodes.js");Object.keys(d).forEach(function(t){"default"!==t&&"__esModule"!==t&&(Object.prototype.hasOwnProperty.call(e,t)||t in exports&&exports[t]===d[t]||Object.defineProperty(exports,t,{enumerable:!0,get:function(){return d[t]}}))}),console.warn("The main 'lit-element' module entrypoint is deprecated. Please update your imports to use the 'lit' package: 'lit' and 'lit/decorators.ts' or import from 'lit-element/lit-element.ts'. See https://lit.dev/msg/deprecated-import-path for more information."); -},{"@lit/reactive-element":"8iQt","lit-html":"SP/d","./lit-element.js":"+bhx","@lit/reactive-element/decorators/base.js":"9W9w","@lit/reactive-element/decorators/custom-element.js":"Rxmf","@lit/reactive-element/decorators/property.js":"Edwr","@lit/reactive-element/decorators/state.js":"CgqQ","@lit/reactive-element/decorators/event-options.js":"GPbx","@lit/reactive-element/decorators/query.js":"CECV","@lit/reactive-element/decorators/query-all.js":"w2oO","@lit/reactive-element/decorators/query-async.js":"i+wl","@lit/reactive-element/decorators/query-assigned-elements.js":"3kxG","@lit/reactive-element/decorators/query-assigned-nodes.js":"KvUK"}],"U8nX":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.classMap=void 0;var t=require("../lit-html.js"),e=require("../directive.js");const s=(0,e.directive)(class extends e.Directive{constructor(t){var s;if(super(t),t.type!==e.PartType.ATTRIBUTE||"class"!==t.name||(null===(s=t.strings)||void 0===s?void 0:s.length)>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(t){return" "+Object.keys(t).filter(e=>t[e]).join(" ")+" "}update(e,[s]){var i,r;if(void 0===this.nt){this.nt=new Set,void 0!==e.strings&&(this.st=new Set(e.strings.join(" ").split(/\s/).filter(t=>""!==t)));for(const t in s)s[t]&&!(null===(i=this.st)||void 0===i?void 0:i.has(t))&&this.nt.add(t);return this.render(s)}const n=e.element.classList;this.nt.forEach(t=>{t in s||(n.remove(t),this.nt.delete(t))});for(const t in s){const e=!!s[t];e===this.nt.has(t)||(null===(r=this.st)||void 0===r?void 0:r.has(t))||(e?(n.add(t),this.nt.add(t)):(n.remove(t),this.nt.delete(t)))}return t.noChange}});exports.classMap=s; -},{"../lit-html.js":"SP/d","../directive.js":"Tngu"}],"6X7M":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.forAwaitOf=exports.PseudoWeakRef=exports.Pauser=void 0;const s=async(s,t)=>{for await(const e of s)if(!1===await t(e))return};exports.forAwaitOf=s;class t{constructor(s){this.Y=s}disconnect(){this.Y=void 0}reconnect(s){this.Y=s}deref(){return this.Y}}exports.PseudoWeakRef=t;class e{constructor(){this.Z=void 0,this.q=void 0}get(){return this.Z}pause(){var s;null!==(s=this.Z)&&void 0!==s||(this.Z=new Promise(s=>this.q=s))}resume(){var s;null===(s=this.q)||void 0===s||s.call(this),this.Z=this.q=void 0}}exports.Pauser=e; -},{}],"+6xT":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.asyncReplace=exports.AsyncReplaceDirective=void 0;var e=require("../lit-html.js"),t=require("../async-directive.js"),s=require("./private-async-helpers.js"),i=require("../directive.js");class r extends t.AsyncDirective{constructor(){super(...arguments),this._$CK=new s.PseudoWeakRef(this),this._$CX=new s.Pauser}render(t,s){return e.noChange}update(t,[i,r]){if(this.isConnected||this.disconnected(),i===this._$CJ)return;this._$CJ=i;let c=0;const{_$CK:n,_$CX:o}=this;return(0,s.forAwaitOf)(i,async e=>{for(;o.get();)await o.get();const t=n.deref();if(void 0!==t){if(t._$CJ!==i)return!1;void 0!==r&&(e=r(e,c)),t.commitValue(e,c),c++}return!0}),e.noChange}commitValue(e,t){this.setValue(e)}disconnected(){this._$CK.disconnect(),this._$CX.pause()}reconnected(){this._$CK.reconnect(this),this._$CX.resume()}}exports.AsyncReplaceDirective=r;const c=(0,i.directive)(r);exports.asyncReplace=c; -},{"../lit-html.js":"SP/d","../async-directive.js":"RoIY","./private-async-helpers.js":"6X7M","../directive.js":"Tngu"}],"cZru":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.asyncAppend=void 0;var e=require("../directive.js"),t=require("./async-replace.js"),r=require("../directive-helpers.js");const s=(0,e.directive)(class extends t.AsyncReplaceDirective{constructor(t){if(super(t),t.type!==e.PartType.CHILD)throw Error("asyncAppend can only be used in child expressions")}update(e,t){return this._$Ctt=e,super.update(e,t)}commitValue(e,t){0===t&&(0,r.clearPart)(this._$Ctt);const s=(0,r.insertPart)(this._$Ctt);(0,r.setChildPartValue)(s,e)}});exports.asyncAppend=s; -},{"../directive.js":"Tngu","./async-replace.js":"+6xT","../directive-helpers.js":"8Ij6"}],"aDMC":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.cache=void 0;var t=require("../lit-html.js"),e=require("../directive.js"),i=require("../directive-helpers.js");const s=(0,e.directive)(class extends e.Directive{constructor(t){super(t),this.et=new WeakMap}render(t){return[t]}update(e,[s]){if((0,i.isTemplateResult)(this.it)&&(!(0,i.isTemplateResult)(s)||this.it.strings!==s.strings)){const s=(0,i.getCommittedValue)(e).pop();let r=this.et.get(this.it.strings);if(void 0===r){const e=document.createDocumentFragment();(r=(0,t.render)(t.nothing,e)).setConnected(!1),this.et.set(this.it.strings,r)}(0,i.setCommittedValue)(r,[s]),(0,i.insertPart)(r,void 0,s)}if((0,i.isTemplateResult)(s)){if(!(0,i.isTemplateResult)(this.it)||this.it.strings!==s.strings){const t=this.et.get(s.strings);if(void 0!==t){const s=(0,i.getCommittedValue)(t).pop();(0,i.clearPart)(e),(0,i.insertPart)(e,void 0,s),(0,i.setCommittedValue)(e,[s])}}this.it=s}else this.it=void 0;return this.render(s)}});exports.cache=s; -},{"../lit-html.js":"SP/d","../directive.js":"Tngu","../directive-helpers.js":"8Ij6"}],"TRhx":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.guard=void 0;var r=require("../lit-html.js"),e=require("../directive.js");const t={},i=(0,e.directive)(class extends e.Directive{constructor(){super(...arguments),this.ot=t}render(r,e){return e()}update(e,[t,i]){if(Array.isArray(t)){if(Array.isArray(this.ot)&&this.ot.length===t.length&&t.every((r,e)=>r===this.ot[e]))return r.noChange}else if(this.ot===t)return r.noChange;return this.ot=Array.isArray(t)?Array.from(t):t,this.render(t,i)}});exports.guard=i; -},{"../lit-html.js":"SP/d","../directive.js":"Tngu"}],"qOoD":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ifDefined=void 0;var e=require("../lit-html.js");const t=t=>null!=t?t:e.nothing;exports.ifDefined=t; -},{"../lit-html.js":"SP/d"}],"RaiV":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.live=void 0;var e=require("../lit-html.js"),r=require("../directive.js"),t=require("../directive-helpers.js");const i=(0,r.directive)(class extends r.Directive{constructor(e){if(super(e),e.type!==r.PartType.PROPERTY&&e.type!==r.PartType.ATTRIBUTE&&e.type!==r.PartType.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!(0,t.isSingleExpression)(e))throw Error("`live` bindings can only contain a single expression")}render(e){return e}update(i,[n]){if(n===e.noChange||n===e.nothing)return n;const s=i.element,o=i.name;if(i.type===r.PartType.PROPERTY){if(n===s[o])return e.noChange}else if(i.type===r.PartType.BOOLEAN_ATTRIBUTE){if(!!n===s.hasAttribute(o))return e.noChange}else if(i.type===r.PartType.ATTRIBUTE&&s.getAttribute(o)===n+"")return e.noChange;return(0,t.setCommittedValue)(i),n}});exports.live=i; -},{"../lit-html.js":"SP/d","../directive.js":"Tngu","../directive-helpers.js":"8Ij6"}],"p+W8":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ref=exports.createRef=void 0;var t=require("../lit-html.js"),e=require("../async-directive.js"),i=require("../directive.js");const s=()=>new o;exports.createRef=s;class o{}const r=new WeakMap,n=(0,i.directive)(class extends e.AsyncDirective{render(e){return t.nothing}update(e,[i]){var s;const o=i!==this.Y;return o&&void 0!==this.Y&&this.rt(void 0),(o||this.lt!==this.ct)&&(this.Y=i,this.dt=null===(s=e.options)||void 0===s?void 0:s.host,this.rt(this.ct=e.element)),t.nothing}rt(t){var e;if("function"==typeof this.Y){const i=null!==(e=this.dt)&&void 0!==e?e:globalThis;let s=r.get(i);void 0===s&&(s=new WeakMap,r.set(i,s)),void 0!==s.get(this.Y)&&this.Y.call(this.dt,void 0),s.set(this.Y,t),void 0!==t&&this.Y.call(this.dt,t)}else this.Y.value=t}get lt(){var t,e,i;return"function"==typeof this.Y?null===(e=r.get(null!==(t=this.dt)&&void 0!==t?t:globalThis))||void 0===e?void 0:e.get(this.Y):null===(i=this.Y)||void 0===i?void 0:i.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}});exports.ref=n; -},{"../lit-html.js":"SP/d","../async-directive.js":"RoIY","../directive.js":"Tngu"}],"cGPc":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.repeat=void 0;var e=require("../lit-html.js"),t=require("../directive.js"),r=require("../directive-helpers.js");const s=(e,t,r)=>{const s=new Map;for(let l=t;l<=r;l++)s.set(e[l],l);return s},l=(0,t.directive)(class extends t.Directive{constructor(e){if(super(e),e.type!==t.PartType.CHILD)throw Error("repeat() can only be used in text expressions")}ht(e,t,r){let s;void 0===r?r=t:void 0!==t&&(s=t);const l=[],i=[];let a=0;for(const n of e)l[a]=s?s(n,a):a,i[a]=r(n,a),a++;return{values:i,keys:l}}render(e,t,r){return this.ht(e,t,r).values}update(t,[l,i,a]){var n;const o=(0,r.getCommittedValue)(t),{values:u,keys:d}=this.ht(l,i,a);if(!Array.isArray(o))return this.ut=d,u;const h=null!==(n=this.ut)&&void 0!==n?n:this.ut=[],c=[];let v,f,P=0,p=o.length-1,C=0,V=u.length-1;for(;P<=p&&C<=V;)if(null===o[P])P++;else if(null===o[p])p--;else if(h[P]===d[C])c[C]=(0,r.setChildPartValue)(o[P],u[C]),P++,C++;else if(h[p]===d[V])c[V]=(0,r.setChildPartValue)(o[p],u[V]),p--,V--;else if(h[P]===d[V])c[V]=(0,r.setChildPartValue)(o[P],u[V]),(0,r.insertPart)(t,c[V+1],o[P]),P++,V--;else if(h[p]===d[C])c[C]=(0,r.setChildPartValue)(o[p],u[C]),(0,r.insertPart)(t,o[P],o[p]),p--,C++;else if(void 0===v&&(v=s(d,C,V),f=s(h,P,p)),v.has(h[P]))if(v.has(h[p])){const e=f.get(d[C]),s=void 0!==e?o[e]:null;if(null===s){const e=(0,r.insertPart)(t,o[P]);(0,r.setChildPartValue)(e,u[C]),c[C]=e}else c[C]=(0,r.setChildPartValue)(s,u[C]),(0,r.insertPart)(t,o[P],s),o[e]=null;C++}else(0,r.removePart)(o[p]),p--;else(0,r.removePart)(o[P]),P++;for(;C<=V;){const e=(0,r.insertPart)(t,c[V+1]);(0,r.setChildPartValue)(e,u[C]),c[C++]=e}for(;P<=p;){const e=o[P++];null!==e&&(0,r.removePart)(e)}return this.ut=d,(0,r.setCommittedValue)(t,c),e.noChange}});exports.repeat=l; -},{"../lit-html.js":"SP/d","../directive.js":"Tngu","../directive-helpers.js":"8Ij6"}],"3QXw":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.styleMap=void 0;var e=require("../lit-html.js"),t=require("../directive.js");const r=(0,t.directive)(class extends t.Directive{constructor(e){var r;if(super(e),e.type!==t.PartType.ATTRIBUTE||"style"!==e.name||(null===(r=e.strings)||void 0===r?void 0:r.length)>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce((t,r)=>{const s=e[r];return null==s?t:t+`${r=r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${s};`},"")}update(t,[r]){const{style:s}=t.element;if(void 0===this.vt){this.vt=new Set;for(const e in r)this.vt.add(e);return this.render(r)}this.vt.forEach(e=>{null==r[e]&&(this.vt.delete(e),e.includes("-")?s.removeProperty(e):s[e]="")});for(const e in r){const t=r[e];null!=t&&(this.vt.add(e),e.includes("-")?s.setProperty(e,t):s[e]=t)}return e.noChange}});exports.styleMap=r; -},{"../lit-html.js":"SP/d","../directive.js":"Tngu"}],"BRt+":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.templateContent=void 0;var e=require("../lit-html.js"),t=require("../directive.js");const r=(0,t.directive)(class extends t.Directive{constructor(e){if(super(e),e.type!==t.PartType.CHILD)throw Error("templateContent can only be used in child bindings")}render(t){return this.ft===t?e.noChange:(this.ft=t,document.importNode(t.content,!0))}});exports.templateContent=r; -},{"../lit-html.js":"SP/d","../directive.js":"Tngu"}],"/jTP":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.unsafeHTML=exports.UnsafeHTMLDirective=void 0;var t=require("../lit-html.js"),e=require("../directive.js");class r extends e.Directive{constructor(r){if(super(r),this.it=t.nothing,r.type!==e.PartType.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(e){if(e===t.nothing||null==e)return this._t=void 0,this.it=e;if(e===t.noChange)return e;if("string"!=typeof e)throw Error(this.constructor.directiveName+"() called with a non-string value");if(e===this.it)return this._t;this.it=e;const r=[e];return r.raw=r,this._t={_$litType$:this.constructor.resultType,strings:r,values:[]}}}exports.UnsafeHTMLDirective=r,r.directiveName="unsafeHTML",r.resultType=1;const i=(0,e.directive)(r);exports.unsafeHTML=i; -},{"../lit-html.js":"SP/d","../directive.js":"Tngu"}],"0/Ea":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.unsafeSVG=void 0;var e=require("../directive.js"),s=require("./unsafe-html.js");class r extends s.UnsafeHTMLDirective{}r.directiveName="unsafeSVG",r.resultType=2;const t=(0,e.directive)(r);exports.unsafeSVG=t; -},{"../directive.js":"Tngu","./unsafe-html.js":"/jTP"}],"OVQQ":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.until=exports.UntilDirective=void 0;var e=require("../lit-html.js"),t=require("../directive-helpers.js"),i=require("../async-directive.js"),s=require("./private-async-helpers.js"),r=require("../directive.js");const n=e=>!(0,t.isPrimitive)(e)&&"function"==typeof e.then;class c extends i.AsyncDirective{constructor(){super(...arguments),this._$Cwt=1073741823,this._$Cyt=[],this._$CK=new s.PseudoWeakRef(this),this._$CX=new s.Pauser}render(...t){var i;return null!==(i=t.find(e=>!n(e)))&&void 0!==i?i:e.noChange}update(t,i){const s=this._$Cyt;let r=s.length;this._$Cyt=i;const c=this._$CK,o=this._$CX;this.isConnected||this.disconnected();for(let e=0;ethis._$Cwt);e++){const t=i[e];if(!n(t))return this._$Cwt=e,t;e{for(;o.get();)await o.get();const i=c.deref();if(void 0!==i){const s=i._$Cyt.indexOf(t);s>-1&&s{for(const t of o)if(t[0]===e)return(0,t[1])();return null==r?void 0:r()};exports.choose=e; -},{}],"+NOY":[function(require,module,exports) { -"use strict";function*e(e,o){const t="function"==typeof o;if(void 0!==e){let i=-1;for(const n of e)i>-1&&(yield t?o(i):o),i++,yield n}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.join=e; -},{}],"tA73":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.keyed=void 0;var e=require("../lit-html.js"),t=require("../directive.js"),r=require("../directive-helpers.js");const i=(0,t.directive)(class extends t.Directive{constructor(){super(...arguments),this.key=e.nothing}render(e,t){return this.key=e,t}update(e,[t,i]){return t!==this.key&&((0,r.setCommittedValue)(e),this.key=t),i}});exports.keyed=i; -},{"../lit-html.js":"SP/d","../directive.js":"Tngu","../directive-helpers.js":"8Ij6"}],"1iDs":[function(require,module,exports) { -"use strict";function*e(e,o){if(void 0!==e){let t=0;for(const i of e)yield o(i,t++)}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.map=e; -},{}],"xs/e":[function(require,module,exports) { -"use strict";function*e(e,t,o=1){const r=void 0===t?0:e;null!=t||(t=e);for(let l=r;o>0?l=0;h--)(o=t[h])&&(r=(n<3?o(r):n>3?o(e,i,r):o(e,i))||r);return n>3&&r&&Object.defineProperty(e,i,r),r},e=this&&this.__metadata||function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},i=this&&this.__awaiter||function(t,e,i,s){return new(i||(i=Promise))(function(o,n){function r(t){try{a(s.next(t))}catch(e){n(e)}}function h(t){try{a(s.throw(t))}catch(e){n(e)}}function a(t){var e;t.done?o(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(r,h)}a((s=s.apply(t,e||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.Renderer=void 0;const s=require("@rxdi/lit-html");function o(t){return function(e){if(!window.customElements.get(t.selector))return(0,s.Component)(t)(e)}}let n=class extends s.LitElement{constructor(){super(...arguments),this.options={state:{},render:(t,e,i)=>s.html` ${t} `,style:s.css``,deepCloneState:!1,loading:()=>s.html``,error:t=>s.html``},this.loading=!0,this.error="",this.state={}}OnUpdateFirst(){return i(this,void 0,void 0,function*(){this.options.state=yield this.options.state,this.options.state&&(this.isObservable(this.options.state)?this.subscription=this.options.state.subscribe(t=>{this.state=t,this.loading=!1,this.dispatchEvent(new CustomEvent("onData",{detail:t}))},t=>{this.state=null,this.error=t,this.loading=!1,this.dispatchEvent(new CustomEvent("onError",{detail:t}))}):(this.loading=!1,this.state=this.options.state))})}isObservable(t){return this.isFunction(t.lift)&&this.isFunction(t.subscribe)}isFunction(t){return"function"==typeof t}OnDestroy(){this.subscription&&this.subscription.unsubscribe()}renderContent(){if(!this.error&&this.options.render){const t=this.options.render(this.options.deepCloneState?JSON.parse(JSON.stringify(this.state)):this.state,t=>this.state=Object.assign({},t),this.shadowRoot);return(null==t?void 0:t.strings)?t:s.html``}return this.state}};t([(0,s.property)({type:Object}),e("design:type",Object)],n.prototype,"options",void 0),t([(0,s.property)({type:Boolean}),e("design:type",Object)],n.prototype,"loading",void 0),t([(0,s.property)({type:String}),e("design:type",Object)],n.prototype,"error",void 0),t([(0,s.property)(),e("design:type",Object)],n.prototype,"state",void 0),n=t([o({selector:"r-renderer",template(){var t;return s.html` - ${(null===(t=this.options)||void 0===t?void 0:t.style)?s.html` - - `:s.html``} - ${this.loading?"":this.renderContent()} - ${this.loading?s.html` - ${this.isFunction(this.options.loading)?this.options.loading():s.html``} - `:""} - ${this.error?s.html` - ${this.isFunction(this.options.error)?this.options.error(this.error):s.html` ${this.error} `} - `:""} - `}})],n),exports.Renderer=n; -},{"@rxdi/lit-html":"R8ie"}],"nEMX":[function(require,module,exports) { -"use strict";var e=this&&this.__createBinding||(Object.create?function(e,t,r,i){void 0===i&&(i=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&("get"in n?t.__esModule:!n.writable&&!n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,i,n)}:function(e,t,r,i){void 0===i&&(i=r),e[i]=t[r]}),t=this&&this.__exportStar||function(t,r){for(var i in t)"default"===i||Object.prototype.hasOwnProperty.call(r,i)||e(r,t,i)};Object.defineProperty(exports,"__esModule",{value:!0}),t(require("./renderer"),exports); -},{"./renderer":"ZvP+"}],"4Zfw":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Component=exports.Partial=exports.DefineDependencies=void 0,require("@rhtml/renderer");const e=require("@rxdi/lit-html"),t=(...e)=>t=>{for(const[r,n]of e.entries())Object.defineProperty(e,r,{get:()=>t&&t.has(n)?t.get(n):n});return e};exports.DefineDependencies=t;const r=t=>(r=[])=>(n=(()=>({})))=>o=>s=>(i=(()=>n))=>(0,e.Component)(Object.assign(Object.assign({},t),{template(){return e.html` - (this.shadowRoot.append(n),i(r).bind(this).call(this,e,t,n))}} - > - `}}));function n({Settings:e,Providers:t,State:r,Render:n,Loading:o,Error:s}){return(0,exports.Partial)(e)(t)(r)(o)(s)(n)}exports.Partial=r,exports.Component=n; -},{"@rhtml/renderer":"nEMX","@rxdi/lit-html":"R8ie"}],"ZCfc":[function(require,module,exports) { -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.RHtmlViewComponent=void 0;var e=require("@rhtml/component"),t=require("@rxdi/lit-html"),r=function(e,t,r,o){var n,l=arguments.length,i=l<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,o);else for(var c=e.length-1;c>=0;c--)(n=e[c])&&(i=(l<3?n(i):l>3?n(t,r,i):n(t,r))||i);return l>3&&i&&Object.defineProperty(t,r,i),i};let o=class extends t.LitElement{};exports.RHtmlViewComponent=o,exports.RHtmlViewComponent=o=r([(0,e.Component)({Settings:{selector:"r-html-view"},Render:()=>(function(){return t.html` dada `})})],o); -},{"@rhtml/component":"4Zfw","@rxdi/lit-html":"R8ie"}]},{},["ZCfc"], null) -//# sourceMappingURL=rhtml/main.11b20df2.js.map \ No newline at end of file diff --git a/docs/main.11b20df2.js.map b/docs/main.11b20df2.js.map deleted file mode 100644 index 3a488d6..0000000 --- a/docs/main.11b20df2.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["src/lit-html.ts","../node_modules/@rxdi/lit-html/dist/decorators/component.decorator.js","../node_modules/@rxdi/lit-html/dist/decorators/hooks/on-destroy.js","../node_modules/@rxdi/lit-html/dist/decorators/hooks/on-init.js","../node_modules/@rxdi/lit-html/dist/decorators/hooks/on-update.js","../node_modules/@rxdi/lit-html/dist/decorators/hooks/on-update-first.js","../node_modules/@rxdi/lit-html/dist/decorators/hooks/index.js","../node_modules/@rxdi/lit-html/dist/decorators/index.js","src/directive.ts","src/directive-helpers.ts","src/async-directive.ts","../node_modules/@rxdi/lit-html/dist/async.js","src/experimental-hydrate.ts","src/experimental-hydrate-support.ts","src/polyfill-support.ts","src/css-tag.ts","src/reactive-element.ts","src/lit-element.ts","../src/decorators/base.ts","../src/decorators/custom-element.ts","../src/decorators/property.ts","../src/decorators/state.ts","../src/decorators/event-options.ts","../src/decorators/query.ts","../src/decorators/query-all.ts","../src/decorators/query-async.ts","../src/decorators/query-assigned-elements.ts","../src/decorators/query-assigned-nodes.ts","src/index.ts","../src/directives/class-map.ts","../src/directives/private-async-helpers.ts","../src/directives/async-replace.ts","../src/directives/async-append.ts","../src/directives/cache.ts","../src/directives/guard.ts","../src/directives/if-defined.ts","../src/directives/live.ts","../src/directives/ref.ts","../src/directives/repeat.ts","../src/directives/style-map.ts","../src/directives/template-content.ts","../src/directives/unsafe-html.ts","../src/directives/unsafe-svg.ts","../src/directives/until.ts","../src/directives/choose.ts","../src/directives/join.ts","../src/directives/keyed.ts","../src/directives/map.ts","../src/directives/range.ts","../src/directives/when.ts","../node_modules/@rxdi/lit-html/dist/index.js","../src/renderer.ts","../src/index.ts","main.ts"],"names":["global","window","trustedTypes","policy","createPolicy","createHTML","s","marker","Math","random","String","slice","markerMatch","nodeMarker","d","document","createMarker","v","createComment","isPrimitive","value","isArray","Array","isIterable","Symbol","iterator","textEndRegex","commentEndRegex","comment2EndRegex","tagEndRegex","RegExp","singleQuoteAttrEndRegex","doubleQuoteAttrEndRegex","rawTextElement","tag","type","strings","values","_$litType$","html","svg","noChange","for","nothing","templateCache","WeakMap","walker","createTreeWalker","getTemplateHtml","l","length","attrNames","rawTextEndRegex","regex","i","attrName","match","attrNameEndIndex","lastIndex","exec","test","end","startsWith","push","htmlResult","hasOwnProperty","Error","Template","constructor","options","node","parts","nodeIndex","attrNameIndex","partCount","this","el","createElement","currentNode","content","svgElement","firstChild","remove","append","childNodes","nextNode","nodeType","hasAttributes","attrsToRemove","name","getAttributeNames","endsWith","realName","statics","getAttribute","toLowerCase","split","m","index","ctor","PropertyPart","BooleanAttributePart","EventPart","AttributePart","removeAttribute","tagName","textContent","emptyScript","data","indexOf","static","_options","innerHTML","resolveDirective","part","parent","attributeIndex","currentDirective","_a","__directives","__directive","nextDirectiveConstructor","_b","call","_$initialize","_c","_d","_$resolve","TemplateInstance","template","_parts","_$disconnectableChildren","_$template","_$parent","parentNode","_$isConnected","_clone","fragment","creationScope","importNode","partIndex","templatePart","ChildPart","nextSibling","ElementPart","_update","_$setValue","startNode","endNode","_$committedValue","_$startNode","_$endNode","__isConnected","isConnected","directiveParent","_$clear","_commitText","_commitTemplateResult","_commitNode","_commitIterable","_insert","ref","insertBefore","createTextNode","result","_$getTemplate","h","instance","get","set","itemParts","itemPart","item","start","from","_$notifyConnectionChanged","n","setConnected","undefined","element","fill","valueIndex","noCommit","change","_commitValue","setAttribute","emptyStringForBooleanAttribute","newListener","oldListener","shouldRemoveListener","capture","once","passive","shouldAddListener","removeEventListener","addEventListener","handleEvent","event","host","_$LH","_boundAttributeSuffix","_marker","_markerMatch","_HTML_RESULT","_getTemplateHtml","_TemplateInstance","_isIterable","_resolveDirective","_ChildPart","_AttributePart","_BooleanAttributePart","_EventPart","_PropertyPart","_ElementPart","polyfillSupport","litHtmlPolyfillSupport","litHtmlVersions","render","container","partOwnerNode","renderBefore","Directive","PartType","ATTRIBUTE","CHILD","PROPERTY","BOOLEAN_ATTRIBUTE","EVENT","ELEMENT","directive","c","_$litDirective$","_partInfo","__part","__attributeIndex","props","update","_part","TemplateResultType","HTML","SVG","isTemplateResult","isDirectiveResult","getDirectiveClass","isSingleExpression","insertPart","containerPart","refPart","refNode","oldParent","parentChanged","newConnectionState","_$reparentDisconnectables","setChildPartValue","RESET_VALUE","setCommittedValue","getCommittedValue","removePart","clearPart","notifyChildrenConnectedChanged","children","obj","removeDisconnectableFromParent","delete","size","addDisconnectableToParent","Set","has","add","installDisconnectAPI","reparentDisconnectables","newParent","notifyChildPartConnectedChanged","isClearingValue","fromPartIndex","AsyncDirective","_$AO","isClearingDirective","reconnected","disconnected","setValue","newValues","hydrate","rootValue","rootPart","currentChildPart","stack","NodeFilter","SHOW_COMMENT","markerText","openChildPart","createAttributeParts","closeChildPart","console","assert","state","instancePartIndex","templatePartIndex","next","done","markerWithDigest","digestForTemplateResult","prototype","currentState","pop","comment","parseInt","previousElementSibling","parentElement","instancePart","templateResult","hashes","Uint32Array","charCodeAt","btoa","fromCharCode","Uint8Array","buffer","globalThis","litElementHydrateSupport","LitElement","observedAttributes","Object","getOwnPropertyDescriptor","getPrototypeOf","defineProperty","attributeChangedCallback","old","connectedCallback","hasAttribute","createRenderRoot","shadowRoot","_$needsHydration","changedProperties","renderRoot","renderOptions","styledScopes","scopeCssStore","Map","ShadyCSS","nativeShadow","ApplyShim","needsPrepareStyles","cssForScope","scopeCss","scopedTemplateCache","originalCreateElement","scope","prepareTemplateDom","styles","querySelectorAll","apply","map","style","removeChild","renderContainer","createDocumentFragment","renderContainerMarker","childPartProto","ShadowRoot","appendChild","hasScopeCss","join","prepareTemplateStyles","querySelector","cloneNode","supportsAdoptingStyleSheets","Document","CSSStyleSheet","constructionToken","cssTagCache","CSSResult","cssText","safeToken","_strings","styleSheet","_styleSheet","cacheable","replaceSync","toString","unsafeCSS","css","reduce","acc","idx","adoptStyles","adoptedStyleSheets","forEach","nonce","getCompatibleStyle","sheet","rule","cssRules","ReactiveElement","reactiveElementPolyfillSupport","defaultConverter","toAttribute","Boolean","JSON","stringify","fromAttribute","fromValue","Number","parse","e","notEqual","defaultPropertyDeclaration","attribute","converter","reflect","hasChanged","HTMLElement","__instanceProperties","isUpdatePending","hasUpdated","__reflectingProperty","_initialize","initializer","finalize","_initializers","attributes","elementProperties","p","attr","__attributeNameForProperty","__attributeToPropertyMap","noAccessor","key","descriptor","getPropertyDescriptor","oldValue","requestUpdate","configurable","enumerable","superCtor","properties","propKeys","getOwnPropertyNames","getOwnPropertySymbols","createProperty","elementStyles","finalizeStyles","flat","Infinity","reverse","unshift","__updatePromise","Promise","res","enableUpdating","_$changedProperties","__saveInstanceProperties","addController","controller","__controllers","hostConnected","removeController","splice","_v","attachShadow","shadowRootOptions","_requestedUpdate","disconnectedCallback","hostDisconnected","_old","_$attributeToProperty","__propertyToAttribute","attrValue","propName","getPropertyOptions","shouldRequestUpdate","__reflectingProperties","__enqueueUpdate","async","reject","scheduleUpdate","performUpdate","shouldUpdate","willUpdate","hostUpdate","__markUpdated","_$didUpdate","_changedProperties","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","k","mode","reactiveElementVersions","UpdatingElement","__childPart","super","litElementPolyfillSupport","_$LE","litElementVersions","legacyPrototypeMethod","proto","standardPrototypeMethod","kind","placement","decorateProperty","finisher","protoOrDescriptor","originalKey","info","customElement","classOrDescriptor","clazz","customElements","define","elements","standardProperty","property","eventOptions","assign","query","selector","cache","queryAll","_name","queryAsync","slotAssignedElements","HTMLSlotElement","assignedElements","slot","opts","assignedNodes","filter","Node","ELEMENT_NODE","queryAssignedElements","slotSelector","slotEl","matches","queryAssignedNodes","slotOrOptions","flatten","assignedNodesOptions","warn","classMap","partInfo","classInfo","keys","_previousClasses","_staticClasses","classList","Pauser","forAwaitOf","iterable","callback","PseudoWeakRef","_ref","disconnect","reconnect","deref","_promise","_resolve","pause","resolve","resume","AsyncReplaceDirective","__weakThis","__pauser","_mapper","mapper","__value","weakThis","pauser","_this","commitValue","_index","asyncReplace","asyncAppend","params","newPart","_templateCache","_value","childPart","cachedContainerPart","cachedPart","initialValue","guard","_previousValue","f","every","ifDefined","live","createRef","Ref","lastElementForContextAndCallback","refChanged","_updateRefValue","_lastElementForRef","_element","_context","context","lastElementForCallback","generateMap","list","repeat","_getValuesAndKeys","items","keyFnOrTemplate","keyFn","oldParts","newKeys","_itemKeys","oldKeys","newParts","newKeyToIndexMap","oldKeyToIndexMap","oldHead","oldTail","newHead","newTail","oldIndex","oldPart","styleMap","styleInfo","prop","replace","_previousStyleProperties","includes","removeProperty","setProperty","templateContent","_previousTemplate","UnsafeHTMLDirective","directiveName","_templateResult","raw","resultType","unsafeHTML","UnsafeSVGDirective","unsafeSVG","isPromise","x","then","UntilDirective","__lastRenderedIndex","__values","args","find","previousValues","previousLength","until","choose","cases","defaultCase","joiner","isFunction","keyed","range","startOrEnd","step","when","condition","trueCase","falseCase"],"mappings":"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","file":"main.11b20df2.js","sourceRoot":"../examples/main","sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n// IMPORTANT: these imports must be type-only\nimport type {Directive, DirectiveResult, PartInfo} from './directive.js';\n\nconst DEV_MODE = true;\nconst ENABLE_EXTRA_SECURITY_HOOKS = true;\nconst ENABLE_SHADYDOM_NOPATCH = true;\nconst NODE_MODE = false;\n// Use window for browser builds because IE11 doesn't have globalThis.\nconst global = NODE_MODE ? globalThis : window;\n\n/**\n * Contains types that are part of the unstable debug API.\n *\n * Everything in this API is not stable and may change or be removed in the future,\n * even on patch releases.\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace LitUnstable {\n /**\n * When Lit is running in dev mode and `window.emitLitDebugLogEvents` is true,\n * we will emit 'lit-debug' events to window, with live details about the update and render\n * lifecycle. These can be useful for writing debug tooling and visualizations.\n *\n * Please be aware that running with window.emitLitDebugLogEvents has performance overhead,\n * making certain operations that are normally very cheap (like a no-op render) much slower,\n * because we must copy data and dispatch events.\n */\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace DebugLog {\n export type Entry =\n | TemplatePrep\n | TemplateInstantiated\n | TemplateInstantiatedAndUpdated\n | TemplateUpdating\n | BeginRender\n | EndRender\n | CommitPartEntry\n | SetPartValue;\n export interface TemplatePrep {\n kind: 'template prep';\n template: Template;\n strings: TemplateStringsArray;\n clonableTemplate: HTMLTemplateElement;\n parts: TemplatePart[];\n }\n export interface BeginRender {\n kind: 'begin render';\n id: number;\n value: unknown;\n container: HTMLElement | DocumentFragment;\n options: RenderOptions | undefined;\n part: ChildPart | undefined;\n }\n export interface EndRender {\n kind: 'end render';\n id: number;\n value: unknown;\n container: HTMLElement | DocumentFragment;\n options: RenderOptions | undefined;\n part: ChildPart;\n }\n export interface TemplateInstantiated {\n kind: 'template instantiated';\n template: Template | CompiledTemplate;\n instance: TemplateInstance;\n options: RenderOptions | undefined;\n fragment: Node;\n parts: Array;\n values: unknown[];\n }\n export interface TemplateInstantiatedAndUpdated {\n kind: 'template instantiated and updated';\n template: Template | CompiledTemplate;\n instance: TemplateInstance;\n options: RenderOptions | undefined;\n fragment: Node;\n parts: Array;\n values: unknown[];\n }\n export interface TemplateUpdating {\n kind: 'template updating';\n template: Template | CompiledTemplate;\n instance: TemplateInstance;\n options: RenderOptions | undefined;\n parts: Array;\n values: unknown[];\n }\n export interface SetPartValue {\n kind: 'set part';\n part: Part;\n value: unknown;\n valueIndex: number;\n values: unknown[];\n templateInstance: TemplateInstance;\n }\n\n export type CommitPartEntry =\n | CommitNothingToChildEntry\n | CommitText\n | CommitNode\n | CommitAttribute\n | CommitProperty\n | CommitBooleanAttribute\n | CommitEventListener\n | CommitToElementBinding;\n\n export interface CommitNothingToChildEntry {\n kind: 'commit nothing to child';\n start: ChildNode;\n end: ChildNode | null;\n parent: Disconnectable | undefined;\n options: RenderOptions | undefined;\n }\n\n export interface CommitText {\n kind: 'commit text';\n node: Text;\n value: unknown;\n options: RenderOptions | undefined;\n }\n\n export interface CommitNode {\n kind: 'commit node';\n start: Node;\n parent: Disconnectable | undefined;\n value: Node;\n options: RenderOptions | undefined;\n }\n\n export interface CommitAttribute {\n kind: 'commit attribute';\n element: Element;\n name: string;\n value: unknown;\n options: RenderOptions | undefined;\n }\n\n export interface CommitProperty {\n kind: 'commit property';\n element: Element;\n name: string;\n value: unknown;\n options: RenderOptions | undefined;\n }\n\n export interface CommitBooleanAttribute {\n kind: 'commit boolean attribute';\n element: Element;\n name: string;\n value: boolean;\n options: RenderOptions | undefined;\n }\n\n export interface CommitEventListener {\n kind: 'commit event listener';\n element: Element;\n name: string;\n value: unknown;\n oldListener: unknown;\n options: RenderOptions | undefined;\n // True if we're removing the old event listener (e.g. because settings changed, or value is nothing)\n removeListener: boolean;\n // True if we're adding a new event listener (e.g. because first render, or settings changed)\n addListener: boolean;\n }\n\n export interface CommitToElementBinding {\n kind: 'commit to element binding';\n element: Element;\n value: unknown;\n options: RenderOptions | undefined;\n }\n }\n}\n\ninterface DebugLoggingWindow {\n // Even in dev mode, we generally don't want to emit these events, as that's\n // another level of cost, so only emit them when DEV_MODE is true _and_ when\n // window.emitLitDebugEvents is true.\n emitLitDebugLogEvents?: boolean;\n}\n\n/**\n * Useful for visualizing and logging insights into what the Lit template system is doing.\n *\n * Compiled out of prod mode builds.\n */\nconst debugLogEvent = DEV_MODE\n ? (event: LitUnstable.DebugLog.Entry) => {\n const shouldEmit = (global as unknown as DebugLoggingWindow)\n .emitLitDebugLogEvents;\n if (!shouldEmit) {\n return;\n }\n global.dispatchEvent(\n new CustomEvent('lit-debug', {\n detail: event,\n })\n );\n }\n : undefined;\n// Used for connecting beginRender and endRender events when there are nested\n// renders when errors are thrown preventing an endRender event from being\n// called.\nlet debugLogRenderId = 0;\n\nlet issueWarning: (code: string, warning: string) => void;\n\nif (DEV_MODE) {\n global.litIssuedWarnings ??= new Set();\n\n // Issue a warning, if we haven't already.\n issueWarning = (code: string, warning: string) => {\n warning += code\n ? ` See https://lit.dev/msg/${code} for more information.`\n : '';\n if (!global.litIssuedWarnings!.has(warning)) {\n console.warn(warning);\n global.litIssuedWarnings!.add(warning);\n }\n };\n\n issueWarning(\n 'dev-mode',\n `Lit is in dev mode. Not recommended for production!`\n );\n}\n\nconst wrap =\n ENABLE_SHADYDOM_NOPATCH &&\n global.ShadyDOM?.inUse &&\n global.ShadyDOM?.noPatch === true\n ? global.ShadyDOM!.wrap\n : (node: Node) => node;\n\nconst trustedTypes = (global as unknown as Partial).trustedTypes;\n\n/**\n * Our TrustedTypePolicy for HTML which is declared using the html template\n * tag function.\n *\n * That HTML is a developer-authored constant, and is parsed with innerHTML\n * before any untrusted expressions have been mixed in. Therefor it is\n * considered safe by construction.\n */\nconst policy = trustedTypes\n ? trustedTypes.createPolicy('lit-html', {\n createHTML: (s) => s,\n })\n : undefined;\n\n/**\n * Used to sanitize any value before it is written into the DOM. This can be\n * used to implement a security policy of allowed and disallowed values in\n * order to prevent XSS attacks.\n *\n * One way of using this callback would be to check attributes and properties\n * against a list of high risk fields, and require that values written to such\n * fields be instances of a class which is safe by construction. Closure's Safe\n * HTML Types is one implementation of this technique (\n * https://github.com/google/safe-html-types/blob/master/doc/safehtml-types.md).\n * The TrustedTypes polyfill in API-only mode could also be used as a basis\n * for this technique (https://github.com/WICG/trusted-types).\n *\n * @param node The HTML node (usually either a #text node or an Element) that\n * is being written to. Note that this is just an exemplar node, the write\n * may take place against another instance of the same class of node.\n * @param name The name of an attribute or property (for example, 'href').\n * @param type Indicates whether the write that's about to be performed will\n * be to a property or a node.\n * @return A function that will sanitize this class of writes.\n */\nexport type SanitizerFactory = (\n node: Node,\n name: string,\n type: 'property' | 'attribute'\n) => ValueSanitizer;\n\n/**\n * A function which can sanitize values that will be written to a specific kind\n * of DOM sink.\n *\n * See SanitizerFactory.\n *\n * @param value The value to sanitize. Will be the actual value passed into\n * the lit-html template literal, so this could be of any type.\n * @return The value to write to the DOM. Usually the same as the input value,\n * unless sanitization is needed.\n */\nexport type ValueSanitizer = (value: unknown) => unknown;\n\nconst identityFunction: ValueSanitizer = (value: unknown) => value;\nconst noopSanitizer: SanitizerFactory = (\n _node: Node,\n _name: string,\n _type: 'property' | 'attribute'\n) => identityFunction;\n\n/** Sets the global sanitizer factory. */\nconst setSanitizer = (newSanitizer: SanitizerFactory) => {\n if (!ENABLE_EXTRA_SECURITY_HOOKS) {\n return;\n }\n if (sanitizerFactoryInternal !== noopSanitizer) {\n throw new Error(\n `Attempted to overwrite existing lit-html security policy.` +\n ` setSanitizeDOMValueFactory should be called at most once.`\n );\n }\n sanitizerFactoryInternal = newSanitizer;\n};\n\n/**\n * Only used in internal tests, not a part of the public API.\n */\nconst _testOnlyClearSanitizerFactoryDoNotCallOrElse = () => {\n sanitizerFactoryInternal = noopSanitizer;\n};\n\nconst createSanitizer: SanitizerFactory = (node, name, type) => {\n return sanitizerFactoryInternal(node, name, type);\n};\n\n// Added to an attribute name to mark the attribute as bound so we can find\n// it easily.\nconst boundAttributeSuffix = '$lit$';\n\n// This marker is used in many syntactic positions in HTML, so it must be\n// a valid element name and attribute name. We don't support dynamic names (yet)\n// but this at least ensures that the parse tree is closer to the template\n// intention.\nconst marker = `lit$${String(Math.random()).slice(9)}$`;\n\n// String used to tell if a comment is a marker comment\nconst markerMatch = '?' + marker;\n\n// Text used to insert a comment marker node. We use processing instruction\n// syntax because it's slightly smaller, but parses as a comment node.\nconst nodeMarker = `<${markerMatch}>`;\n\nconst d =\n NODE_MODE && global.document === undefined\n ? ({\n createTreeWalker() {\n return {};\n },\n } as unknown as Document)\n : document;\n\n// Creates a dynamic marker. We never have to search for these in the DOM.\nconst createMarker = (v = '') => d.createComment(v);\n\n// https://tc39.github.io/ecma262/#sec-typeof-operator\ntype Primitive = null | undefined | boolean | number | string | symbol | bigint;\nconst isPrimitive = (value: unknown): value is Primitive =>\n value === null || (typeof value != 'object' && typeof value != 'function');\nconst isArray = Array.isArray;\nconst isIterable = (value: unknown): value is Iterable =>\n isArray(value) ||\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n typeof (value as any)?.[Symbol.iterator] === 'function';\n\nconst SPACE_CHAR = `[ \\t\\n\\f\\r]`;\nconst ATTR_VALUE_CHAR = `[^ \\t\\n\\f\\r\"'\\`<>=]`;\nconst NAME_CHAR = `[^\\\\s\"'>=/]`;\n\n// These regexes represent the five parsing states that we care about in the\n// Template's HTML scanner. They match the *end* of the state they're named\n// after.\n// Depending on the match, we transition to a new state. If there's no match,\n// we stay in the same state.\n// Note that the regexes are stateful. We utilize lastIndex and sync it\n// across the multiple regexes used. In addition to the five regexes below\n// we also dynamically create a regex to find the matching end tags for raw\n// text elements.\n\n/**\n * End of text is: `<` followed by:\n * (comment start) or (tag) or (dynamic tag binding)\n */\nconst textEndRegex = /<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g;\nconst COMMENT_START = 1;\nconst TAG_NAME = 2;\nconst DYNAMIC_TAG_NAME = 3;\n\nconst commentEndRegex = /-->/g;\n/**\n * Comments not started with # Start marker for the root ChildPart created\n * # by render(). Includes the digest of the\n * # template\n *
\n * # Indicates there are attribute bindings here\n * # The number is the depth-first index of the parent\n * # node in the template.\n * # Start marker for the ${x} expression\n * TEST_Y\n * # End marker for the ${x} expression\n *
\n *\n * # End marker for the root ChildPart\n *\n * @param rootValue\n * @param container\n * @param userOptions\n */\nexport const hydrate = (\n rootValue: unknown,\n container: Element | DocumentFragment,\n options: Partial = {}\n) => {\n // TODO(kschaaf): Do we need a helper for _$litPart$ (\"part for node\")?\n // This property needs to remain unminified.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if ((container as any)['_$litPart$'] !== undefined) {\n throw new Error('container already contains a live render');\n }\n\n // Since render() creates a ChildPart to render into, we'll always have\n // exactly one root part. We need to hold a reference to it so we can set\n // it in the parts cache.\n let rootPart: ChildPart | undefined = undefined;\n\n // When we are in-between ChildPart markers, this is the current ChildPart.\n // It's needed to be able to set the ChildPart's endNode when we see a\n // close marker\n let currentChildPart: ChildPart | undefined = undefined;\n\n // Used to remember parent template state as we recurse into nested\n // templates\n const stack: Array = [];\n\n const walker = document.createTreeWalker(\n container,\n NodeFilter.SHOW_COMMENT,\n null,\n false\n );\n let marker: Comment | null;\n\n // Walk the DOM looking for part marker comments\n while ((marker = walker.nextNode() as Comment | null) !== null) {\n const markerText = marker.data;\n if (markerText.startsWith('lit-part')) {\n if (stack.length === 0 && rootPart !== undefined) {\n throw new Error('there must be only one root part per container');\n }\n // Create a new ChildPart and push it onto the stack\n currentChildPart = openChildPart(rootValue, marker, stack, options);\n rootPart ??= currentChildPart;\n } else if (markerText.startsWith('lit-node')) {\n // Create and hydrate attribute parts into the current ChildPart on the\n // stack\n createAttributeParts(marker, stack, options);\n } else if (markerText.startsWith('/lit-part')) {\n // Close the current ChildPart, and pop the previous one off the stack\n if (stack.length === 1 && currentChildPart !== rootPart) {\n throw new Error('internal error');\n }\n currentChildPart = closeChildPart(marker, currentChildPart, stack);\n }\n }\n console.assert(\n rootPart !== undefined,\n 'there should be exactly one root part in a render container'\n );\n // This property needs to remain unminified.\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (container as any)['_$litPart$'] = rootPart;\n};\n\nconst openChildPart = (\n rootValue: unknown,\n marker: Comment,\n stack: Array,\n options: RenderOptions\n) => {\n let value: unknown;\n // We know the startNode now. We'll know the endNode when we get to\n // the matching marker and set it in closeChildPart()\n // TODO(kschaaf): Current constructor takes both nodes\n let part;\n if (stack.length === 0) {\n part = new ChildPart(marker, null, undefined, options);\n value = rootValue;\n } else {\n const state = stack[stack.length - 1];\n if (state.type === 'template-instance') {\n part = new ChildPart(marker, null, state.instance, options);\n state.instance._parts.push(part);\n value = state.result.values[state.instancePartIndex++];\n state.templatePartIndex++;\n } else if (state.type === 'iterable') {\n part = new ChildPart(marker, null, state.part, options);\n const result = state.iterator.next();\n if (result.done) {\n value = undefined;\n state.done = true;\n throw new Error('Unhandled shorter than expected iterable');\n } else {\n value = result.value;\n }\n (state.part._$committedValue as Array).push(part);\n } else {\n // state.type === 'leaf'\n // TODO(kschaaf): This is unexpected, and likely a result of a primitive\n // been rendered on the client when a TemplateResult was rendered on the\n // server; this part will be hydrated but not used. We can detect it, but\n // we need to decide what to do in this case. Note that this part won't be\n // retained by any parent TemplateInstance, since a primitive had been\n // rendered in its place.\n // https://github.com/lit/lit/issues/1434\n // throw new Error('Hydration value mismatch: Found a TemplateInstance' +\n // 'where a leaf value was expected');\n part = new ChildPart(marker, null, state.part, options);\n }\n }\n\n // Initialize the ChildPart state depending on the type of value and push\n // it onto the stack. This logic closely follows the ChildPart commit()\n // cascade order:\n // 1. directive\n // 2. noChange\n // 3. primitive (note strings must be handled before iterables, since they\n // are iterable)\n // 4. TemplateResult\n // 5. Node (not yet implemented, but fallback handling is fine)\n // 6. Iterable\n // 7. nothing (handled in fallback)\n // 8. Fallback for everything else\n value = resolveDirective(part, value);\n if (value === noChange) {\n stack.push({part, type: 'leaf'});\n } else if (isPrimitive(value)) {\n stack.push({part, type: 'leaf'});\n part._$committedValue = value;\n // TODO(kschaaf): We can detect when a primitive is being hydrated on the\n // client where a TemplateResult was rendered on the server, but we need to\n // decide on a strategy for what to do next.\n // https://github.com/lit/lit/issues/1434\n // if (marker.data !== 'lit-part') {\n // throw new Error('Hydration value mismatch: Primitive found where TemplateResult expected');\n // }\n } else if (isTemplateResult(value)) {\n // Check for a template result digest\n const markerWithDigest = `lit-part ${digestForTemplateResult(value)}`;\n if (marker.data === markerWithDigest) {\n const template = ChildPart.prototype._$getTemplate(value);\n const instance = new TemplateInstance(template, part);\n stack.push({\n type: 'template-instance',\n instance,\n part,\n templatePartIndex: 0,\n instancePartIndex: 0,\n result: value,\n });\n // For TemplateResult values, we set the part value to the\n // generated TemplateInstance\n part._$committedValue = instance;\n } else {\n // TODO: if this isn't the server-rendered template, do we\n // need to stop hydrating this subtree? Clear it? Add tests.\n throw new Error(\n 'Hydration value mismatch: Unexpected TemplateResult rendered to part'\n );\n }\n } else if (isIterable(value)) {\n // currentChildPart.value will contain an array of ChildParts\n stack.push({\n part: part,\n type: 'iterable',\n value,\n iterator: value[Symbol.iterator](),\n done: false,\n });\n part._$committedValue = [];\n } else {\n // Fallback for everything else (nothing, Objects, Functions,\n // etc.): we just initialize the part's value\n // Note that `Node` value types are not currently supported during\n // SSR, so that part of the cascade is missing.\n stack.push({part: part, type: 'leaf'});\n part._$committedValue = value == null ? '' : value;\n }\n return part;\n};\n\nconst closeChildPart = (\n marker: Comment,\n part: ChildPart | undefined,\n stack: Array\n): ChildPart | undefined => {\n if (part === undefined) {\n throw new Error('unbalanced part marker');\n }\n\n part._$endNode = marker;\n\n const currentState = stack.pop()!;\n\n if (currentState.type === 'iterable') {\n if (!currentState.iterator.next().done) {\n throw new Error('unexpected longer than expected iterable');\n }\n }\n\n if (stack.length > 0) {\n const state = stack[stack.length - 1];\n return state.part;\n } else {\n return undefined;\n }\n};\n\nconst createAttributeParts = (\n comment: Comment,\n stack: Array,\n options: RenderOptions\n) => {\n // Get the nodeIndex from DOM. We're only using this for an integrity\n // check right now, we might not need it.\n const match = /lit-node (\\d+)/.exec(comment.data)!;\n const nodeIndex = parseInt(match[1]);\n\n // For void elements, the node the comment was referring to will be\n // the previousSibling; for non-void elements, the comment is guaranteed\n // to be the first child of the element (i.e. it won't have a previousSibling\n // meaning it should use the parentElement)\n const node = comment.previousElementSibling ?? comment.parentElement;\n if (node === null) {\n throw new Error('could not find node for attribute parts');\n }\n // Remove `defer-hydration` attribute, if any\n node.removeAttribute('defer-hydration');\n\n const state = stack[stack.length - 1];\n if (state.type === 'template-instance') {\n const instance = state.instance;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n // If the next template part is in attribute-position on the current node,\n // create the instance part for it and prime its state\n const templatePart = instance._$template.parts[state.templatePartIndex];\n if (\n templatePart === undefined ||\n (templatePart.type !== PartType.ATTRIBUTE &&\n templatePart.type !== PartType.ELEMENT) ||\n templatePart.index !== nodeIndex\n ) {\n break;\n }\n\n if (templatePart.type === PartType.ATTRIBUTE) {\n // The instance part is created based on the constructor saved in the\n // template part\n const instancePart = new templatePart.ctor(\n node as HTMLElement,\n templatePart.name,\n templatePart.strings,\n state.instance,\n options\n );\n\n const value = isSingleExpression(\n instancePart as unknown as AttributePartInfo\n )\n ? state.result.values[state.instancePartIndex]\n : state.result.values;\n\n // Setting the attribute value primes committed value with the resolved\n // directive value; we only then commit that value for event/property\n // parts since those were not serialized, and pass `noCommit` for the\n // others to avoid perf impact of touching the DOM unnecessarily\n const noCommit = !(\n instancePart.type === PartType.EVENT ||\n instancePart.type === PartType.PROPERTY\n );\n instancePart._$setValue(\n value,\n instancePart,\n state.instancePartIndex,\n noCommit\n );\n state.instancePartIndex += templatePart.strings.length - 1;\n instance._parts.push(instancePart);\n } else {\n // templatePart.type === PartType.ELEMENT\n const instancePart = new ElementPart(node, state.instance, options);\n resolveDirective(\n instancePart,\n state.result.values[state.instancePartIndex++]\n );\n instance._parts.push(instancePart);\n }\n state.templatePartIndex++;\n }\n } else {\n throw new Error('internal error');\n }\n};\n\n// Number of 32 bit elements to use to create template digests\nconst digestSize = 2;\n// We need to specify a digest to use across rendering environments. This is a\n// simple digest build from a DJB2-ish hash modified from:\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\n// It has been changed to an array of hashes to add additional bits.\n// Goals:\n// - Extremely low collision rate. We may not be able to detect collisions.\n// - Extremely fast.\n// - Extremely small code size.\n// - Safe to include in HTML comment text or attribute value.\n// - Easily specifiable and implementable in multiple languages.\n// We don't care about cryptographic suitability.\nexport const digestForTemplateResult = (templateResult: TemplateResult) => {\n const hashes = new Uint32Array(digestSize).fill(5381);\n\n for (const s of templateResult.strings) {\n for (let i = 0; i < s.length; i++) {\n hashes[i % digestSize] = (hashes[i % digestSize] * 33) ^ s.charCodeAt(i);\n }\n }\n return btoa(String.fromCharCode(...new Uint8Array(hashes.buffer)));\n};\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * LitElement support for hydration of content rendered using lit-ssr.\n *\n * @packageDocumentation\n */\n\nimport type {PropertyValues} from '@lit/reactive-element';\nimport {render, RenderOptions} from 'lit-html';\nimport {hydrate} from 'lit-html/experimental-hydrate.js';\n\ninterface PatchableLitElement extends HTMLElement {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-misused-new\n new (...args: any[]): PatchableLitElement;\n enableUpdating(requestedUpdate?: boolean): void;\n createRenderRoot(): Element | ShadowRoot;\n renderRoot: HTMLElement | DocumentFragment;\n render(): unknown;\n renderOptions: RenderOptions;\n _$needsHydration: boolean;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nglobalThis.litElementHydrateSupport = ({\n LitElement,\n}: {\n LitElement: PatchableLitElement;\n}) => {\n const observedAttributes = Object.getOwnPropertyDescriptor(\n Object.getPrototypeOf(LitElement),\n 'observedAttributes'\n )!.get!;\n\n // Add `defer-hydration` to observedAttributes\n Object.defineProperty(LitElement, 'observedAttributes', {\n get() {\n return [...observedAttributes.call(this), 'defer-hydration'];\n },\n });\n\n // Enable element when 'defer-hydration' attribute is removed by calling the\n // super.connectedCallback()\n const attributeChangedCallback =\n LitElement.prototype.attributeChangedCallback;\n LitElement.prototype.attributeChangedCallback = function (\n name: string,\n old: string | null,\n value: string | null\n ) {\n if (name === 'defer-hydration' && value === null) {\n connectedCallback.call(this);\n }\n attributeChangedCallback.call(this, name, old, value);\n };\n\n // Override `connectedCallback` to capture whether we need hydration, and\n // defer `super.connectedCallback()` if the 'defer-hydration' attribute is set\n const connectedCallback = LitElement.prototype.connectedCallback;\n LitElement.prototype.connectedCallback = function (\n this: PatchableLitElement\n ) {\n // If the outer scope of this element has not yet been hydrated, wait until\n // 'defer-hydration' attribute has been removed to enable\n if (!this.hasAttribute('defer-hydration')) {\n connectedCallback.call(this);\n }\n };\n\n // If we've been server-side rendered, just return `this.shadowRoot`, don't\n // call the base implementation, which would also adopt styles (for now)\n const createRenderRoot = LitElement.prototype.createRenderRoot;\n LitElement.prototype.createRenderRoot = function (this: PatchableLitElement) {\n if (this.shadowRoot) {\n this._$needsHydration = true;\n return this.shadowRoot;\n } else {\n return createRenderRoot.call(this);\n }\n };\n\n // Hydrate on first update when needed\n const update = Object.getPrototypeOf(LitElement.prototype).update;\n LitElement.prototype.update = function (\n this: PatchableLitElement,\n changedProperties: PropertyValues\n ) {\n const value = this.render();\n // Since this is a patch, we can't call super.update(), so we capture\n // it off the proto chain and call it instead\n update.call(this, changedProperties);\n if (this._$needsHydration) {\n this._$needsHydration = false;\n hydrate(value, this.renderRoot, this.renderOptions);\n } else {\n render(value, this.renderRoot, this.renderOptions);\n }\n };\n};\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\n\n/**\n * lit-html patch to support browsers without native web components.\n *\n * This module should be used in addition to loading the web components\n * polyfills via @webcomponents/webcomponentjs. When using those polyfills\n * support for polyfilled Shadow DOM is automatic via the ShadyDOM polyfill.\n * Scoping classes are added to DOM nodes to facilitate CSS scoping that\n * simulates the style scoping Shadow DOM provides. ShadyDOM does this scoping\n * to all elements added to the DOM. This module provides an important\n * optimization for this process by pre-scoping lit-html template\n * DOM. This means ShadyDOM does not have to scope each instance of the\n * template DOM. Instead, each template is scoped only once.\n *\n * Creating scoped CSS is not covered by this module. It is, however, integrated\n * into the lit-element and @lit/reactive-element packages. See the ShadyCSS docs\n * for how to apply scoping to CSS:\n * https://github.com/webcomponents/polyfills/tree/master/packages/shadycss#usage.\n *\n * @packageDocumentation\n */\n\nexport {};\n\ninterface RenderOptions {\n readonly renderBefore?: ChildNode | null;\n scope?: string;\n}\n\ninterface ShadyTemplateResult {\n strings: TemplateStringsArray;\n // This property needs to remain unminified.\n ['_$litType$']?: string;\n}\n\n// Note, this is a dummy type as the full type here is big.\ninterface Directive {\n __directive?: Directive;\n}\n\ninterface DirectiveParent {\n _$parent?: DirectiveParent;\n __directive?: Directive;\n __directives?: Array;\n}\n\ninterface PatchableChildPartConstructor {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-misused-new\n new (...args: any[]): PatchableChildPart;\n}\n\ninterface PatchableChildPart {\n __directive?: Directive;\n _$committedValue: unknown;\n _$startNode: ChildNode;\n _$endNode: ChildNode | null;\n options: RenderOptions;\n _$setValue(value: unknown, directiveParent: DirectiveParent): void;\n _$getTemplate(result: ShadyTemplateResult): HTMLTemplateElement;\n}\n\ninterface PatchableTemplate {\n el: HTMLTemplateElement;\n}\n\ninterface PatchableTemplateConstructor {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-misused-new\n new (...args: any[]): PatchableTemplate;\n createElement(html: string, options?: RenderOptions): HTMLTemplateElement;\n}\n\ninterface PatchableTemplateInstance {\n _$template: PatchableTemplate;\n}\n\n// Scopes that have had styling prepared. Note, must only be done once per\n// scope.\nconst styledScopes: Set = new Set();\n// Map of css per scope. This is collected during first scope render, used when\n// styling is prepared, and then discarded.\nconst scopeCssStore: Map = new Map();\n\nconst ENABLE_SHADYDOM_NOPATCH = true;\n\n// Note, explicitly use `var` here so that this can be re-defined when\n// bundled.\n// eslint-disable-next-line no-var\nvar DEV_MODE = true;\n\n/**\n * lit-html patches. These properties cannot be renamed.\n * * ChildPart.prototype._$getTemplate\n * * ChildPart.prototype._$setValue\n */\nconst polyfillSupport: NonNullable = (\n Template: PatchableTemplateConstructor,\n ChildPart: PatchableChildPartConstructor\n) => {\n // polyfill-support is only needed if ShadyCSS or the ApplyShim is in use\n // We test at the point of patching, which makes it safe to load\n // webcomponentsjs and polyfill-support in either order\n if (\n window.ShadyCSS === undefined ||\n (window.ShadyCSS.nativeShadow && !window.ShadyCSS.ApplyShim)\n ) {\n return;\n }\n\n // console.log(\n // '%c Making lit-html compatible with ShadyDOM/CSS.',\n // 'color: lightgreen; font-style: italic'\n // );\n\n const wrap =\n ENABLE_SHADYDOM_NOPATCH &&\n window.ShadyDOM?.inUse &&\n window.ShadyDOM?.noPatch === true\n ? window.ShadyDOM!.wrap\n : (node: Node) => node;\n\n const needsPrepareStyles = (name: string | undefined) =>\n name !== undefined && !styledScopes.has(name);\n\n const cssForScope = (name: string) => {\n let scopeCss = scopeCssStore.get(name);\n if (scopeCss === undefined) {\n scopeCssStore.set(name, (scopeCss = []));\n }\n return scopeCss;\n };\n\n const prepareStyles = (name: string, template: HTMLTemplateElement) => {\n // Get styles\n const scopeCss = cssForScope(name);\n const hasScopeCss = scopeCss.length !== 0;\n if (hasScopeCss) {\n const style = document.createElement('style');\n style.textContent = scopeCss.join('\\n');\n // Note, it's important to add the style to the *end* of the template so\n // it doesn't mess up part indices.\n template.content.appendChild(style);\n }\n // Mark this scope as styled.\n styledScopes.add(name);\n // Remove stored data since it's no longer needed.\n scopeCssStore.delete(name);\n // ShadyCSS removes scopes and removes the style under ShadyDOM and leaves\n // it under native Shadow DOM\n window.ShadyCSS!.prepareTemplateStyles(template, name);\n // Note, under native Shadow DOM, the style is added to the beginning of the\n // template. It must be moved to the *end* of the template so it doesn't\n // mess up part indices.\n if (hasScopeCss && window.ShadyCSS!.nativeShadow) {\n // If there were styles but the CSS text was empty, ShadyCSS will\n // eliminate the style altogether, so the style here could be null\n const style = template.content.querySelector('style');\n if (style !== null) {\n template.content.appendChild(style);\n }\n }\n };\n\n const scopedTemplateCache = new Map<\n string | undefined,\n Map\n >();\n\n /**\n * Override to extract style elements from the template\n * and store all style.textContent in the shady scope data.\n * Note, it's ok to patch Template since it's only used via ChildPart.\n */\n const originalCreateElement = Template.createElement;\n Template.createElement = function (html: string, options?: RenderOptions) {\n const element = originalCreateElement.call(Template, html, options);\n const scope = options?.scope;\n if (scope !== undefined) {\n if (!window.ShadyCSS!.nativeShadow) {\n window.ShadyCSS!.prepareTemplateDom(element, scope);\n }\n // Process styles only if this scope is being prepared. Otherwise,\n // leave styles as is for back compat with Lit1.\n if (needsPrepareStyles(scope)) {\n const scopeCss = cssForScope(scope);\n // Remove styles and store textContent.\n const styles = element.content.querySelectorAll(\n 'style'\n ) as NodeListOf;\n // Store the css in this template in the scope css and remove the