diff --git a/app/vmselect/vmui/asset-manifest.json b/app/vmselect/vmui/asset-manifest.json index 41b7ed7ae..27a964eea 100644 --- a/app/vmselect/vmui/asset-manifest.json +++ b/app/vmselect/vmui/asset-manifest.json @@ -1,13 +1,13 @@ { "files": { - "main.css": "./static/css/main.d0b400e3.css", - "main.js": "./static/js/main.59c17910.js", + "main.css": "./static/css/main.fce049bf.css", + "main.js": "./static/js/main.ff9af61b.js", "static/js/685.bebe1265.chunk.js": "./static/js/685.bebe1265.chunk.js", - "static/media/MetricsQL.md": "./static/media/MetricsQL.df7574389d8f8bbcf0c7.md", + "static/media/MetricsQL.md": "./static/media/MetricsQL.cb83d071da309a358bc0.md", "index.html": "./index.html" }, "entrypoints": [ - "static/css/main.d0b400e3.css", - "static/js/main.59c17910.js" + "static/css/main.fce049bf.css", + "static/js/main.ff9af61b.js" ] } \ No newline at end of file diff --git a/app/vmselect/vmui/index.html b/app/vmselect/vmui/index.html index 7d9893af7..c71da4601 100644 --- a/app/vmselect/vmui/index.html +++ b/app/vmselect/vmui/index.html @@ -1 +1 @@ -VM UI
\ No newline at end of file +VM UI
\ No newline at end of file diff --git a/app/vmselect/vmui/static/css/main.d0b400e3.css b/app/vmselect/vmui/static/css/main.d0b400e3.css deleted file mode 100644 index e37c72423..000000000 --- a/app/vmselect/vmui/static/css/main.d0b400e3.css +++ /dev/null @@ -1 +0,0 @@ -.vm-tabs{gap:12px;height:100%;position:relative;-webkit-user-select:none;user-select:none}.vm-tabs,.vm-tabs-item{align-items:center;display:flex;justify-content:center}.vm-tabs-item{color:inherit;cursor:pointer;font-size:inherit;font-weight:inherit;opacity:.6;padding:12px 8px;text-decoration:none;text-transform:capitalize;transition:opacity .2s}.vm-tabs-item_active{opacity:1}.vm-tabs-item:hover{opacity:.8}.vm-tabs-item__icon{display:grid;margin-right:8px;width:16px}.vm-tabs-item__icon_single{margin-right:0}.vm-tabs__indicator{border-bottom:2px solid;position:absolute;transition:width .2s ease,left .3s cubic-bezier(.28,.84,.42,1)}.vm-alert{grid-gap:8px;align-items:center;background-color:var(--color-background-block);border-radius:8px;box-shadow:var(--box-shadow);color:var(--color-text);display:grid;font-size:14px;font-weight:400;gap:8px;grid-template-columns:20px 1fr;line-height:1.5;padding:12px;position:relative}.vm-alert_mobile{align-items:flex-start;border-radius:0}.vm-alert:after{border-radius:8px;content:"";height:100%;left:0;opacity:.1;position:absolute;top:0;width:100%;z-index:1}.vm-alert_mobile:after{border-radius:0}.vm-alert__content,.vm-alert__icon{position:relative;z-index:2}.vm-alert__icon{align-items:center;display:flex;justify-content:center}.vm-alert__content{filter:brightness(.6);white-space:pre-line}.vm-alert_success{color:var(--color-success)}.vm-alert_success:after{background-color:var(--color-success)}.vm-alert_error{color:var(--color-error)}.vm-alert_error:after{background-color:var(--color-error)}.vm-alert_info{color:var(--color-info)}.vm-alert_info:after{background-color:var(--color-info)}.vm-alert_warning{color:var(--color-warning)}.vm-alert_warning:after{background-color:var(--color-warning)}.vm-alert_dark:after{opacity:.1}.vm-alert_dark .vm-alert__content{filter:none}.vm-header{align-items:center;display:flex;flex-wrap:wrap;gap:0 16px;justify-content:flex-start;min-height:51px;padding:8px 12px;z-index:99}.vm-header_app{padding:8px 0}@media(max-width:1000px){.vm-header{gap:8px;padding:8px;position:-webkit-sticky;position:sticky;top:0}}.vm-header_sidebar{display:grid;grid-template-columns:40px auto 1fr}.vm-header_mobile{display:grid;grid-template-columns:33px 1fr 33px;justify-content:space-between}.vm-header_dark .vm-header-button,.vm-header_dark button,.vm-header_dark button:before{background-color:var(--color-background-block)}.vm-header-logo{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;margin-bottom:2px;overflow:hidden;position:relative;width:100%}.vm-header-logo,.vm-header-logo svg,.vm-header-logo_mobile{max-width:65px;min-width:65px}.vm-header-logo_mobile{margin:0 auto}.vm-header-logo_logs,.vm-header-logo_logs svg{max-width:75px;min-width:75px}.vm-header-nav{align-items:center;display:flex;gap:12px;justify-content:flex-start}.vm-header-nav_column{align-items:stretch;flex-direction:column;gap:8px}.vm-header-nav_column .vm-header-nav-item{padding:12px 0}.vm-header-nav_column .vm-header-nav-item_sub{justify-content:stretch}.vm-header-nav-item{cursor:pointer;font-size:14px;font-weight:400;opacity:1;padding:12px 8px;position:relative;text-transform:capitalize;transition:opacity .2s ease-in}.vm-header-nav-item_sub{grid-gap:4px;align-items:center;cursor:default;display:grid;gap:4px;grid-template-columns:auto 14px;justify-content:center}.vm-header-nav-item:hover{opacity:.7}.vm-header-nav-item_active{border-bottom:2px solid #110f0f33}.vm-header-nav-item svg{transform:rotate(0deg);transition:transform .2s ease-in}.vm-header-nav-item_open svg{transform:rotate(180deg)}.vm-header-nav-item-submenu{border-radius:4px;color:#fff;display:grid;opacity:1;padding:8px;transform-origin:top center;white-space:nowrap}.vm-header-nav-item-submenu-item{cursor:pointer}.vm-popper{background-color:var(--color-background-block);border-radius:4px;box-shadow:var(--box-shadow-popper);opacity:0;pointer-events:none;position:fixed;transition:opacity .1s ease-in-out;z-index:-99}.vm-popper_open{animation:vm-slider .15s cubic-bezier(.28,.84,.42,1.1);opacity:1;pointer-events:auto;transform-origin:top center;z-index:101}.vm-popper_mobile{animation:none;border-radius:0;bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0;width:100%}.vm-popper-header{grid-gap:8px;align-items:center;background-color:var(--color-background-block);border-bottom:var(--border-divider);border-radius:4px 4px 0 0;color:var(--color-text);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:space-between;margin-bottom:12px;min-height:51px;padding:8px 8px 8px 12px}.vm-popper-header__title{font-weight:700;-webkit-user-select:none;user-select:none}.vm-popper_dark{background-color:var(--color-background-tooltip);color:#fff}.vm-popper_dark .vm-popper-header{background-color:#0000;color:#fff}@keyframes vm-slider{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.vm-modal{align-items:center;background:#110f0f8c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:100}.vm-modal_mobile{align-items:flex-start;max-height:calc(var(--vh)*100);min-height:calc(var(--vh)*100);overflow:auto}.vm-modal_mobile .vm-modal-content{border-radius:0;grid-template-rows:70px -webkit-max-content;grid-template-rows:70px max-content;max-height:-webkit-max-content;max-height:max-content;min-height:100%;overflow:visible;width:100vw}.vm-modal_mobile .vm-modal-content-header{margin-bottom:12px;padding:8px 8px 8px 12px}.vm-modal_mobile .vm-modal-content-header__title{max-width:80vw}.vm-modal_mobile .vm-modal-content-body{align-items:flex-start;display:grid;min-height:100%;padding:0 12px 12px}.vm-modal-content{background:var(--color-background-block);border-radius:4px;box-shadow:0 0 24px #110f0f12;max-height:calc(var(--vh)*90);overflow:auto}.vm-modal-content-header{grid-gap:8px;align-items:center;background-color:var(--color-background-block);border-bottom:var(--border-divider);border-radius:4px 4px 0 0;color:var(--color-text);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:space-between;margin-bottom:12px;min-height:51px;padding:12px;position:-webkit-sticky;position:sticky;top:0;z-index:3}.vm-modal-content-header__title{font-weight:700;max-width:50vw;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;white-space:nowrap}.vm-modal-content-header__close{align-items:center;box-sizing:initial;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:10px;width:24px}.vm-modal-content-body{padding:0 12px 12px}.vm-shortcuts{min-width:400px}@media(max-width:500px){.vm-shortcuts{min-width:100%}}.vm-shortcuts-section{border-bottom:var(--border-divider);margin-bottom:12px;padding-bottom:12px;position:relative}.vm-shortcuts-section__title{font-weight:700;margin-bottom:12px}.vm-shortcuts-section__read-more{position:absolute;right:0;top:-8px}.vm-shortcuts-section-list{grid-gap:12px;display:grid;gap:12px}@media(max-width:500px){.vm-shortcuts-section-list{gap:12px}}.vm-shortcuts-section-list-item{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:210px 1fr}@media(max-width:500px){.vm-shortcuts-section-list-item{grid-template-columns:1fr}}.vm-shortcuts-section-list-item__key{align-items:center;display:flex;gap:4px}.vm-shortcuts-section-list-item__key code,.vm-shortcuts-section-list-item__key svg{background-color:var(--color-background-body);background-repeat:repeat-x;border:var(--border-divider);border-radius:4px;color:var(--color-text);display:inline-block;font-size:12px;line-height:2;padding:2px 8px 0;text-align:center}.vm-shortcuts-section-list-item__key svg{color:var(--color-primary);padding:4px;width:24px}.vm-shortcuts-section-list-item__description{font-size:14px}.vm-tooltip{animation:vm-scale .15s cubic-bezier(.28,.84,.42,1);background-color:var(--color-background-tooltip);border-radius:4px;box-shadow:var(--box-shadow-popper);color:#fff;font-size:12px;line-height:150%;opacity:1;padding:3px 8px;pointer-events:auto;position:fixed;transition:opacity .1s ease-in-out;white-space:nowrap;z-index:101}@keyframes vm-scale{0%{transform:scale(0)}to{transform:scale(1)}}.fc-graph-tips{grid-gap:12px;display:grid;gap:12px;max-width:520px}.fc-graph-tips-item{grid-gap:8px;border-bottom:var(--border-divider);display:grid;gap:8px;line-height:1.3;padding-bottom:12px}.fc-graph-tips-item__action{color:var(--color-text-secondary);font-weight:700}.fc-graph-tips-item__description{display:inline-block;line-height:1.5}.fc-graph-tips-item__description code,.fc-graph-tips-item__description svg{align-items:center;background-color:var(--color-background-body);border:var(--border-divider);border-radius:4px;color:var(--color-text);display:inline-flex;font-size:12px;justify-content:center;margin:0 2px 2px;min-height:20px;min-width:20px;padding:0 4px}.fc-graph-tips-item svg{color:var(--color-primary);margin-top:-8px;padding:2px;transform:translateY(8px);width:18px}.vm-menu-burger{background:none;border:none;cursor:pointer;height:18px;outline:none;padding:0;position:relative;transform-style:preserve-3d;width:18px}.vm-menu-burger:after{background-color:#110f0f1a;border-radius:50%;content:"";height:calc(100% + 12px);left:-6px;position:absolute;top:-6px;transform:scale(0) translateZ(-2px);transition:transform .14s ease-in-out;width:calc(100% + 12px)}.vm-menu-burger:hover:after{transform:scale(1) translateZ(-2px)}.vm-menu-burger span{border-top:2px solid #fff;display:block;top:50%;transform:translateY(-50%);transition:transform .3s ease,border-color .3s ease}.vm-menu-burger span,.vm-menu-burger span:after,.vm-menu-burger span:before{border-radius:6px;height:2px;left:0;position:absolute;width:100%}.vm-menu-burger span:after,.vm-menu-burger span:before{animation-duration:.6s;animation-fill-mode:forwards;animation-timing-function:cubic-bezier(.645,.045,.355,1);background:#fff;content:"";top:0}.vm-menu-burger span:before{animation-name:topLineBurger}.vm-menu-burger span:after{animation-name:bottomLineBurger}.vm-menu-burger_opened span{border-color:#0000}.vm-menu-burger_opened span:before{animation-name:topLineCross}.vm-menu-burger_opened span:after{animation-name:bottomLineCross}@keyframes topLineCross{0%{transform:translateY(-7px)}50%{transform:translateY(0)}to{transform:translateY(-2px) translateX(30%) rotate(45deg);width:60%}}@keyframes bottomLineCross{0%{transform:translateY(3px)}50%{transform:translateY(0)}to{transform:translateY(-2px) translateX(30%) rotate(-45deg);width:60%}}@keyframes topLineBurger{0%{transform:translateY(0) rotate(45deg)}50%{transform:rotate(0deg)}to{transform:translateY(-7px) rotate(0deg)}}@keyframes bottomLineBurger{0%{transform:translateY(0) rotate(-45deg)}50%{transform:rotate(0deg)}to{transform:translateY(3px) rotate(0deg)}}.vm-header-sidebar{background-color:inherit;color:inherit;height:24px;width:24px}.vm-header-sidebar-button{align-items:center;display:flex;height:51px;justify-content:center;left:0;position:absolute;top:0;transition:left .35s cubic-bezier(.28,.84,.42,1);width:51px}.vm-header-sidebar-button_open{left:149px;position:fixed;z-index:102}.vm-header-sidebar-menu{grid-gap:12px;background-color:inherit;box-shadow:var(--box-shadow-popper);display:grid;gap:12px;grid-template-rows:1fr auto;height:100%;left:0;padding:12px;position:fixed;top:0;transform:translateX(-100%);transform-origin:left;transition:transform .3s cubic-bezier(.28,.84,.42,1);width:200px;z-index:101}.vm-header-sidebar-menu_open{transform:translateX(0)}.vm-header-sidebar-menu__logo{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;position:relative;width:65px}.vm-header-sidebar-menu-settings{grid-gap:8px;align-items:center;display:grid;gap:8px}.vm-header-controls{align-items:center;display:flex;flex-grow:1;gap:8px;justify-content:flex-end}.vm-header-controls_mobile{display:grid;grid-template-columns:1fr;padding:0}.vm-header-controls_mobile .vm-header-button{border:none}.vm-header-controls-modal{transform:scale(0)}.vm-header-controls-modal_open{transform:scale(1)}.vm-container{display:flex;flex-direction:column;min-height:calc(var(--vh)*100 - var(--scrollbar-height))}.vm-container-body{background-color:var(--color-background-body);flex-grow:1;min-height:100%;padding:12px}.vm-container-body_mobile{padding:8px 0 0}@media(max-width:768px){.vm-container-body{padding:8px 0 0}}.vm-container-body_app{background-color:#0000;padding:8px 0}.vm-footer{align-items:center;background:var(--color-background-body);border-top:var(--border-divider);color:var(--color-text-secondary);display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:12px}@media(max-width:768px){.vm-footer{gap:12px;padding:12px}}.vm-footer__link,.vm-footer__website{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:12px auto;justify-content:center}.vm-footer__website{margin-right:12px}@media(max-width:768px){.vm-footer__website{margin-right:0}}.vm-footer__link{grid-template-columns:14px auto}.vm-footer__copyright{flex-grow:1;text-align:right}@media(max-width:768px){.vm-footer__copyright{font-size:12px;text-align:center;width:100%}}.vm-tenant-input{position:relative}.vm-tenant-input-list{border-radius:8px;max-height:300px;overflow:auto;overscroll-behavior:none}.vm-tenant-input-list_mobile{max-height:calc(var(--vh)*100 - 70px)}.vm-tenant-input-list_mobile .vm-tenant-input-list__search{padding:0 12px 8px}.vm-tenant-input-list__search{background-color:var(--color-background-block);padding:8px 12px;position:-webkit-sticky;position:sticky;top:0}.vm-text-field{display:grid;margin:6px 0;position:relative;width:100%}.vm-text-field_textarea:after{content:attr(data-replicated-value) " ";overflow-wrap:break-word;visibility:hidden;white-space:pre-wrap}.vm-text-field:after,.vm-text-field__input{background-color:#0000;border:var(--border-divider);box-sizing:border-box;font-family:monospace;font-size:14px;grid-area:1/1/2/2;line-height:18px;overflow:hidden;padding:8px 12px;width:100%}.vm-text-field__error,.vm-text-field__helper-text,.vm-text-field__label,.vm-text-field__warning{-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;background-color:var(--color-background-block);display:-webkit-box;font-size:12px;left:6px;line-height:14px;max-width:calc(100% - 12px);overflow:hidden;padding:0 3px;pointer-events:none;position:absolute;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;z-index:2}.vm-text-field__label{color:var(--color-text-secondary);top:-8px}.vm-text-field__error,.vm-text-field__helper-text,.vm-text-field__warning{overflow-wrap:anywhere;pointer-events:auto;position:relative;top:-6px;-webkit-user-select:text;user-select:text;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.vm-text-field__error_full,.vm-text-field__helper-text_full,.vm-text-field__warning_full{display:block;overflow:visible}.vm-text-field__error_overflowed,.vm-text-field__helper-text_overflowed,.vm-text-field__warning_overflowed{cursor:pointer}.vm-text-field__error{color:var(--color-error)}.vm-text-field__warning{color:var(--color-warning)}.vm-text-field__helper-text{color:var(--color-text-secondary)}.vm-text-field__input{background-color:#0000;border-radius:4px;color:var(--color-text);display:block;overflow:hidden;resize:none;transition:border .2s ease}.vm-text-field__input:focus,.vm-text-field__input:hover{border:1px solid var(--color-primary)}.vm-text-field__input_error,.vm-text-field__input_error:focus,.vm-text-field__input_error:hover{border-color:var(--color-error)}.vm-text-field__input_warning,.vm-text-field__input_warning:focus,.vm-text-field__input_warning:hover{border-color:var(--color-warning)}.vm-text-field__input_icon-start{padding-left:31px}.vm-text-field__input:disabled{background-color:inherit;color:inherit}.vm-text-field__input:disabled:hover{border-color:var(--color-text-disabled)}.vm-text-field__icon-end,.vm-text-field__icon-start{align-items:center;color:var(--color-text-secondary);display:flex;height:40px;justify-content:center;left:8px;max-width:15px;position:absolute;top:0}.vm-text-field__icon-end{left:auto;right:8px}.vm-text-field__controls-info{bottom:8px;color:var(--color-text-secondary);font-size:12px;opacity:.8;position:absolute;right:12px}.vm-step-control{display:inline-flex}.vm-step-control button{text-transform:none}.vm-step-control__value{display:inline;margin-left:3px}.vm-step-control-popper{grid-gap:8px;display:grid;font-size:14px;gap:8px;max-height:208px;max-width:300px;overflow:auto;padding:12px}.vm-step-control-popper_mobile{max-height:calc(var(--vh)*100 - 70px);max-width:100%;padding:0 12px 8px}.vm-step-control-popper_mobile .vm-step-control-popper-info{font-size:14px}.vm-step-control-popper-info{font-size:12px;line-height:1.8}.vm-step-control-popper-info a{margin:0 .4em}.vm-step-control-popper-info code{background-color:var(--color-hover-black);border-radius:6px;margin:0 .2em;padding:.2em .4em}.vm-time-duration{font-size:14px;max-height:227px;overflow:auto}.vm-time-duration_mobile{max-height:100%}.vm-time-selector{display:grid;grid-template-columns:repeat(2,230px);padding:12px 0}.vm-time-selector_mobile{grid-template-columns:1fr;max-height:calc(var(--vh)*100 - 70px);min-width:250px;overflow:auto;width:100%}.vm-time-selector_mobile .vm-time-selector-left{border-bottom:var(--border-divider);border-right:none;padding-bottom:12px}.vm-time-selector-left{border-right:var(--border-divider);display:flex;flex-direction:column;gap:8px;padding:0 12px}.vm-time-selector-left-inputs{align-items:flex-start;display:grid;flex-grow:1;justify-content:stretch}.vm-time-selector-left-timezone{align-items:center;display:flex;font-size:12px;gap:8px;justify-content:space-between;margin-bottom:8px}.vm-time-selector-left-timezone__utc{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;justify-content:center;padding:4px}.vm-time-selector-left__controls{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.vm-calendar{background-color:var(--color-background-block);border-radius:8px;display:grid;font-size:14px;grid-template-rows:auto 1fr auto;padding:12px;-webkit-user-select:none;user-select:none}.vm-calendar_mobile{padding:0 12px}.vm-calendar-header{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto;justify-content:center;min-height:36px;padding-bottom:12px}.vm-calendar-header-left{grid-gap:8px;align-items:center;cursor:pointer;display:grid;gap:8px;grid-template-columns:auto auto;justify-content:flex-start;transition:opacity .2s ease-in-out}.vm-calendar-header-left:hover{opacity:.8}.vm-calendar-header-left__date{color:var(--color-text);font-size:14px;font-weight:700}.vm-calendar-header-left__select-year{align-items:center;display:grid;height:14px;justify-content:center;width:14px}.vm-calendar-header-right{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:18px 18px;justify-content:center}.vm-calendar-header-right__next,.vm-calendar-header-right__prev{cursor:pointer;margin:-8px;padding:8px;transition:opacity .2s ease-in-out}.vm-calendar-header-right__next:hover,.vm-calendar-header-right__prev:hover{opacity:.8}.vm-calendar-header-right__prev{transform:rotate(90deg)}.vm-calendar-header-right__next{transform:rotate(-90deg)}.vm-calendar-body{grid-gap:2px;align-items:center;display:grid;gap:2px;grid-template-columns:repeat(7,32px);grid-template-rows:repeat(7,32px);justify-content:center}@media(max-width:500px){.vm-calendar-body{grid-template-columns:repeat(7,calc(14.28571vw - 5.14286px));grid-template-rows:repeat(7,calc(14.28571vw - 5.14286px))}}.vm-calendar-body-cell{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;text-align:center}.vm-calendar-body-cell_weekday{color:var(--color-text-secondary)}.vm-calendar-body-cell_day{cursor:pointer;transition:color .2s ease,background-color .3s ease-in-out}.vm-calendar-body-cell_day:hover{background-color:var(--color-hover-black)}.vm-calendar-body-cell_day_empty{pointer-events:none}.vm-calendar-body-cell_day_active{color:#fff}.vm-calendar-body-cell_day_active,.vm-calendar-body-cell_day_active:hover{background-color:var(--color-primary)}.vm-calendar-body-cell_day_today{border:1px solid var(--color-primary)}.vm-calendar-years{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);max-height:400px;overflow:auto}.vm-calendar-years__year{align-items:center;border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:8px 16px;transition:color .2s ease,background-color .3s ease-in-out}.vm-calendar-years__year:hover{background-color:var(--color-hover-black)}.vm-calendar-years__year_selected{color:#fff}.vm-calendar-years__year_selected,.vm-calendar-years__year_selected:hover{background-color:var(--color-primary)}.vm-calendar-years__year_today{border:1px solid var(--color-primary)}.vm-calendar-footer{align-items:center;display:flex;justify-content:flex-end}.vm-date-time-input{grid-gap:8px 0;align-items:center;cursor:pointer;display:grid;gap:8px 0;grid-template-columns:1fr;justify-content:center;margin-bottom:12px;position:relative;transition:color .2s ease-in-out,border-bottom-color .3s ease}.vm-date-time-input:hover input{border-bottom-color:var(--color-primary)}.vm-date-time-input label{color:var(--color-text-secondary);font-size:12px;grid-column:1/3;-webkit-user-select:none;user-select:none;width:100%}.vm-date-time-input__icon{bottom:2px;position:absolute;right:0}.vm-date-time-input input{background:#0000;border:none;border-bottom:var(--border-divider);color:var(--color-text);padding:0 0 8px}.vm-date-time-input input:focus{border-bottom-color:var(--color-primary)}.vm-date-time-input_error input{border-color:var(--color-error)}.vm-date-time-input_error input:focus{border-bottom-color:var(--color-error)}.vm-date-time-input__error-text{bottom:-12px;color:var(--color-error);font-size:12px;left:0;position:absolute}.vm-button{align-items:center;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:400;justify-content:center;line-height:15px;min-height:31px;padding:6px 14px;position:relative;text-transform:uppercase;transform-style:preserve-3d;-webkit-user-select:none;user-select:none;white-space:nowrap}.vm-button:hover:after{background-color:var(--color-hover-black)}.vm-button:after,.vm-button:before{border-radius:6px;content:"";height:100%;left:0;position:absolute;top:0;transition:background-color .2s ease;width:100%}.vm-button:before{transform:translateZ(-2px)}.vm-button:after{background-color:#0000;transform:translateZ(-1px)}.vm-button:active:after{transform:scale(.9)}.vm-button span{align-items:center;display:grid;justify-content:center;transform:translateZ(1px)}.vm-button span svg{width:15px}.vm-button__start-icon{margin-right:6px}.vm-button__end-icon{margin-left:6px}.vm-button_disabled{cursor:not-allowed;opacity:.3}.vm-button_icon{padding:6px 8px}.vm-button_icon .vm-button__end-icon,.vm-button_icon .vm-button__start-icon{margin:0}.vm-button_small{min-height:25px;padding:4px 8px}.vm-button_small span svg{width:13px}.vm-button_contained_primary{color:var(--color-primary-text)}.vm-button_contained_primary,.vm-button_contained_primary:before{background-color:var(--color-primary)}.vm-button_contained_primary:hover:after{background-color:#110f0f33}.vm-button_contained_secondary{color:var(--color-secondary-text)}.vm-button_contained_secondary:before{background-color:var(--color-secondary)}.vm-button_contained_secondary:hover:after{background-color:#110f0f33}.vm-button_contained_success{color:var(--color-success-text)}.vm-button_contained_success:before{background-color:var(--color-success)}.vm-button_contained_success:hover:after{background-color:#110f0f33}.vm-button_contained_error{color:var(--color-error-text)}.vm-button_contained_error:before{background-color:var(--color-error)}.vm-button_contained_gray{color:var(--color-text-secondary)}.vm-button_contained_gray:before{background-color:var(--color-text-secondary)}.vm-button_contained_warning{color:var(--color-warning)}.vm-button_contained_warning:before{background-color:var(--color-warning);opacity:.2}.vm-button_text_primary{color:var(--color-primary)}.vm-button_text_secondary{color:var(--color-secondary)}.vm-button_text_success{color:var(--color-success)}.vm-button_text_error{color:var(--color-error)}.vm-button_text_gray{color:var(--color-text-secondary)}.vm-button_text_white{color:#fff}.vm-button_text_warning{color:var(--color-warning)}.vm-button_outlined_primary{border:1px solid var(--color-primary);color:var(--color-primary)}.vm-button_outlined_error{border:1px solid var(--color-error);color:var(--color-error)}.vm-button_outlined_secondary{border:1px solid var(--color-secondary);color:var(--color-secondary)}.vm-button_outlined_success{border:1px solid var(--color-success);color:var(--color-success)}.vm-button_outlined_gray{border:1px solid var(--color-text-secondary);color:var(--color-text-secondary)}.vm-button_outlined_white{border:1px solid #fff;color:#fff}.vm-button_outlined_warning{border:1px solid var(--color-warning);color:var(--color-warning)}.vm-execution-controls-buttons{border-radius:7px;display:flex;justify-content:space-between;min-width:107px}.vm-execution-controls-buttons_mobile{flex-direction:column;gap:12px}.vm-execution-controls-buttons__arrow{align-items:center;display:flex;justify-content:center;transform:rotate(0);transition:transform .2s ease-in-out}.vm-execution-controls-buttons__arrow_open{transform:rotate(180deg)}.vm-execution-controls-list{font-size:14px;max-height:208px;overflow:auto;padding:8px 0;width:124px}.vm-execution-controls-list_mobile{max-height:calc(var(--vh)*100 - 70px);padding:0;width:100%}.vm-server-configurator{align-items:center;display:flex;flex-direction:column;gap:12px;padding-bottom:12px;width:600px}.vm-server-configurator_mobile{align-items:flex-start;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content;height:100%;width:100%}@media(max-width:768px){.vm-server-configurator{width:100%}}.vm-server-configurator__input{width:100%}.vm-server-configurator__input_flex{align-items:flex-start;display:flex;gap:12px}.vm-server-configurator__title{align-items:center;display:flex;font-size:14px;font-weight:700;grid-column:auto/span 2;justify-content:flex-start;margin-bottom:12px}.vm-server-configurator-url{align-items:flex-start;display:flex;gap:8px}.vm-server-configurator-url__button{margin-top:8px}.vm-server-configurator-footer{align-items:center;display:flex;gap:8px;justify-content:flex-end;width:100%}.vm-server-configurator_mobile .vm-server-configurator-footer{display:grid;grid-template-columns:1fr 1fr}.vm-limits-configurator-title__reset{align-items:center;display:flex;flex-grow:1;justify-content:flex-end}.vm-limits-configurator__inputs{grid-gap:12px;align-items:center;display:grid;flex-wrap:wrap;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));justify-content:space-between}.vm-limits-configurator__inputs_mobile{gap:8px}.vm-accordion-header{align-items:center;cursor:pointer;display:grid;font-size:inherit;position:relative}.vm-accordion-header__arrow{align-items:center;display:flex;justify-content:center;position:absolute;right:14px;top:auto;transform:rotate(0);transition:transform .2s ease-in-out}.vm-accordion-header__arrow_open{transform:rotate(180deg)}.vm-accordion-header__arrow svg{height:auto;width:14px}.accordion-section{overflow:hidden}.vm-timezones-item{align-items:center;cursor:pointer;display:flex;gap:8px;justify-content:space-between}.vm-timezones-item_selected{border:var(--border-divider);border-radius:4px;padding:8px 12px}.vm-timezones-item__title{align-items:center;display:flex;gap:8px;text-transform:capitalize}.vm-timezones-item__title svg{color:var(--color-warning);width:14px}.vm-timezones-item__utc{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;justify-content:center;padding:4px}.vm-timezones-item__icon{align-items:center;display:inline-flex;justify-content:flex-end;margin:0 0 0 auto;transition:transform .2s ease-in}.vm-timezones-item__icon svg{width:14px}.vm-timezones-item__icon_open{transform:rotate(180deg)}.vm-timezones-list{background-color:var(--color-background-block);border-radius:8px;max-height:300px;overflow:auto}.vm-timezones-list_mobile{max-height:calc(var(--vh)*100 - 70px)}.vm-timezones-list_mobile .vm-timezones-list-header__search{padding:0 12px}.vm-timezones-list-header{background-color:var(--color-background-block);border-bottom:var(--border-divider);position:-webkit-sticky;position:sticky;top:0;z-index:2}.vm-timezones-list-header__search{padding:8px}.vm-timezones-list-group{border-bottom:var(--border-divider);padding:8px 0}.vm-timezones-list-group:last-child{border-bottom:none}.vm-timezones-list-group__title{color:var(--color-text-secondary);font-weight:700;padding:8px 12px}.vm-timezones-list-group-options{align-items:flex-start;display:grid}.vm-timezones-list-group-options__item{padding:8px 12px;transition:background-color .2s ease}.vm-timezones-list-group-options__item:hover{background-color:#110f0f1a}.vm-theme-control__toggle{display:inline-flex;min-width:300px;text-transform:capitalize}.vm-theme-control_mobile .vm-theme-control__toggle{display:flex;min-width:100%}.vm-toggles{grid-gap:3px;display:grid;gap:3px;position:relative;width:100%}.vm-toggles__label{color:var(--color-text-secondary);font-size:12px;line-height:1;padding:0 12px}.vm-toggles-group{overflow:hidden;width:100%}.vm-toggles-group,.vm-toggles-group-item{align-items:center;display:grid;justify-content:center;position:relative}.vm-toggles-group-item{border-bottom:var(--border-divider);border-right:var(--border-divider);border-top:var(--border-divider);color:var(--color-text-secondary);cursor:pointer;font-size:12px;font-weight:700;padding:8px;text-align:center;transition:color .15s ease-in;-webkit-user-select:none;user-select:none;z-index:2}.vm-toggles-group-item_first{border-left:var(--border-divider);border-radius:16px 0 0 16px}.vm-toggles-group-item:last-child{border-left:none;border-radius:0 16px 16px 0}.vm-toggles-group-item_icon{gap:4px;grid-template-columns:14px auto}.vm-toggles-group-item:hover{color:var(--color-primary)}.vm-toggles-group-item_active{border-color:#0000;color:var(--color-primary)}.vm-toggles-group-item_active:hover{background-color:#0000}.vm-toggles-group__highlight{background-color:rgba(var(--color-primary),.08);border:1px solid var(--color-primary);height:100%;position:absolute;top:0;transition:left .2s cubic-bezier(.28,.84,.42,1),border-radius .2s linear;z-index:1}.vm-autocomplete{max-height:300px;overflow:auto;overscroll-behavior:none;position:relative}.vm-autocomplete_mobile{max-height:calc(var(--vh)*100 - 70px)}.vm-autocomplete__no-options{color:var(--color-text-disabled);padding:12px;text-align:center}.vm-autocomplete__loader{grid-gap:8px;align-items:center;color:var(--color-text-secondary);display:grid;gap:8px;grid-template-columns:14px auto;justify-content:center;padding:12px;pointer-events:none;z-index:2}.vm-autocomplete__loader svg{animation:half-circle-spinner-animation 1s linear infinite,vm-fade .5s ease-in}.vm-autocomplete-info,.vm-autocomplete-message{background-color:var(--color-background-block);border-top:var(--border-divider);padding:12px}.vm-autocomplete-message{color:var(--color-warning);font-size:12px;position:relative}.vm-autocomplete-message:after{background:var(--color-warning);content:"";height:100%;left:0;opacity:.1;position:absolute;top:0;width:100%}.vm-autocomplete-info{max-width:500px;min-width:450px;overflow-wrap:anywhere}.vm-autocomplete-info__type{color:var(--color-text-secondary);margin-bottom:8px}.vm-autocomplete-info__description{line-height:130%}.vm-autocomplete-info__description p{margin:12px 0}.vm-autocomplete-info__description p:last-child{margin:0}.vm-query-editor{position:relative}.vm-query-editor .marker-detection{left:0;pointer-events:none;position:absolute;top:0;visibility:hidden;z-index:-9999}.vm-additional-settings{align-items:center;display:inline-flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}.vm-additional-settings__input{flex-basis:160px;margin-bottom:-6px}.vm-additional-settings_mobile{grid-gap:12px;align-items:flex-start;display:grid;gap:12px;grid-template-columns:1fr;padding:0 12px;width:100%}.vm-switch{align-items:center;cursor:pointer;display:flex;font-size:12px;justify-content:flex-start;-webkit-user-select:none;user-select:none}.vm-switch_full-width{flex-direction:row-reverse;justify-content:space-between}.vm-switch_full-width .vm-switch__label{margin-left:0}.vm-switch_disabled{cursor:default;opacity:.6}.vm-switch_secondary_active .vm-switch-track{background-color:var(--color-secondary)}.vm-switch_primary_active .vm-switch-track{background-color:var(--color-primary)}.vm-switch_active .vm-switch-track__thumb{left:20px}.vm-switch:hover .vm-switch-track{opacity:.8}.vm-switch-track{align-items:center;background-color:#110f0f66;border-radius:17px;display:flex;height:17px;justify-content:flex-start;padding:3px;position:relative;transition:background-color .2s ease,opacity .3s ease-out;width:34px}.vm-switch-track__thumb{background-color:var(--color-background-block);border-radius:50%;left:3px;min-height:11px;min-width:11px;position:absolute;top:auto;transform-style:preserve-3d;transition:right .2s ease-out,left .2s ease-out}.vm-switch__label{color:var(--color-text-secondary);font-size:inherit;margin-left:8px;transition:color .2s ease;white-space:nowrap}.vm-switch_active .vm-switch__label{color:var(--color-text)}.vm-query-configurator{grid-gap:12px;display:grid;gap:12px}.vm-query-configurator-list{display:grid}.vm-query-configurator-list-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto auto auto}.vm-query-configurator-list-row_mobile{gap:4px}.vm-query-configurator-list-row_disabled{filter:grayscale(100%);opacity:.5}.vm-query-configurator-list-row__button{align-items:start;display:grid;min-height:36px;width:36px}.vm-query-configurator-settings{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.vm-query-configurator-settings__buttons{grid-gap:8px;display:grid;flex-grow:1;gap:8px;grid-template-columns:repeat(3,auto);justify-content:flex-end}.vm-query-history{max-width:80vw;min-width:500px}.vm-query-history_mobile{max-width:100vw;min-width:100vw}.vm-query-history__tabs{border-bottom:var(--border-divider);margin:-12px -12px 0;padding:0 8px}.vm-query-history__tabs_mobile{margin:-12px -12px 0}.vm-query-history-list{align-items:flex-start;display:grid}.vm-query-history-list__group-title{font-weight:700;margin:0 -12px;padding:12px 12px 8px}.vm-query-history-list__group-title_first{padding-top:12px}.vm-query-history-list__no-data{align-items:center;color:var(--color-text-secondary);display:flex;justify-content:center;line-height:18px;padding:16px 12px;text-align:center;white-space:pre-line}.vm-query-history-item{grid-gap:8px;align-items:center;border-bottom:var(--border-divider);display:grid;gap:8px;grid-template-columns:1fr auto;margin:0 -12px;padding:8px 12px}.vm-query-history-item__value{font-family:monospace;overflow-wrap:anywhere;white-space:pre-wrap}.vm-query-history-item__buttons{display:flex}.vm-query-history-footer{display:flex;justify-content:flex-end;padding-top:12px}.vm-spinner{align-items:center;animation:vm-fade 2s cubic-bezier(.28,.84,.42,1.1);background-color:#ffffff80;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:99}.vm-spinner_dark{background-color:#110f0f33}.vm-spinner__message{color:rgba(var(--color-text),.9);font-size:16px;line-height:1.3;margin-top:12px;text-align:center;white-space:pre-line}.half-circle-spinner,.half-circle-spinner *{box-sizing:border-box}.half-circle-spinner{border-radius:100%;height:60px;position:relative;width:60px}.half-circle-spinner .circle{border:6px solid #0000;border-radius:100%;content:"";height:100%;position:absolute;width:100%}.half-circle-spinner .circle.circle-1{animation:half-circle-spinner-animation 1s infinite;border-top-color:var(--color-primary)}.half-circle-spinner .circle.circle-2{animation:half-circle-spinner-animation 1s infinite alternate;border-bottom-color:var(--color-primary)}@keyframes half-circle-spinner-animation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes vm-fade{0%{opacity:0}to{opacity:1}}.vm-custom-panel{grid-gap:12px;align-items:flex-start;display:grid;gap:12px;grid-template-columns:100%;height:100%}.vm-custom-panel_mobile{gap:8px}.vm-custom-panel__warning{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:space-between}.vm-custom-panel__warning_mobile{grid-template-columns:1fr}.vm-custom-panel-body{position:relative}.vm-custom-panel-body-header{align-items:center;border-bottom:var(--border-divider);display:flex;font-size:12px;justify-content:space-between;margin:-12px -12px 12px;padding:0 12px;position:relative;z-index:1}.vm-custom-panel-body-header__tabs{display:flex;flex-grow:1;justify-content:flex-start}.vm-custom-panel-body-header__graph-controls{align-items:center;display:flex;gap:8px;margin:5px 10px}.vm-custom-panel-body_mobile .vm-custom-panel-body-header{margin:-12px -12px 12px;padding:0 12px}.vm-tracings-view{grid-gap:12px;display:grid;gap:12px}.vm-tracings-view-trace-header{align-items:center;border-bottom:var(--border-divider);display:flex;justify-content:space-between;padding:8px 8px 8px 12px}.vm-tracings-view-trace-header-title{flex-grow:1;font-size:16px;margin-right:8px}.vm-tracings-view-trace-header-title__query{font-weight:700}.vm-tracings-view-trace-header__expand-icon{align-items:center;color:var(--color-text-secondary);display:flex;justify-content:center;transform:rotate(-90deg);transition:transform .2s ease-in-out;width:20px}.vm-tracings-view-trace-header__expand-icon_open{transform:rotate(0)}.vm-tracings-view-trace__nav{padding:12px 12px 12px 0}.vm-tracings-view-trace__nav_mobile{padding:8px 8px 8px 0}.vm-line-progress{grid-gap:8px;align-items:center;color:var(--color-text-secondary);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:center}.vm-line-progress-track{background-color:var(--color-hover-black);border-radius:4px;height:20px;width:100%}.vm-line-progress-track__thumb{background-color:#1a90ff;border-radius:4px;height:100%}.vm-nested-nav{border-radius:4px;margin-left:16px;position:relative}.vm-nested-nav_dark .vm-nested-nav-header,.vm-nested-nav_dark .vm-nested-nav-header:after,.vm-nested-nav_dark .vm-nested-nav-header:before{background-color:var(--color-background-body)}.vm-nested-nav_dark .vm-nested-nav-header:hover{box-shadow:0 0 0 1px #ffffff14}.vm-nested-nav_mobile{margin-left:8px}.vm-nested-nav_root>.vm-nested-nav-header:after,.vm-nested-nav_root>.vm-nested-nav-header:before{display:none}.vm-nested-nav-header{grid-gap:8px;background-color:#c9e3f666;border-radius:4px;cursor:pointer;display:grid;gap:8px;grid-template-columns:auto 1fr;margin-bottom:8px;padding:8px;position:relative;transition:box-shadow .2s ease-in-out;z-index:2}.vm-nested-nav-header:after{height:2px;top:calc(50% - 1px);width:12px}.vm-nested-nav-header:after,.vm-nested-nav-header:before{background-color:#c9e3f6;content:"";left:-12px;position:absolute}.vm-nested-nav-header:before{bottom:50%;height:calc(50% + 8px);width:2px}.vm-nested-nav-header:hover{box-shadow:0 0 0 1px #110f0f14}.vm-nested-nav-header__icon{align-items:center;color:var(--color-text-secondary);display:flex;justify-content:center;transform:rotate(-90deg);transition:transform .2s ease-in-out;width:20px}.vm-nested-nav-header__icon_open{transform:rotate(0)}.vm-nested-nav-header__progress{grid-column:2}.vm-nested-nav-header__message{-webkit-line-clamp:3;-webkit-box-orient:vertical;line-clamp:3;display:-moz-box;display:-webkit-box;grid-column:2;line-height:130%;overflow:hidden;position:relative;text-overflow:ellipsis}.vm-nested-nav-header__message_show-full{display:block;overflow:visible}.vm-nested-nav-header__message_duration{color:var(--color-text-secondary)}.vm-nested-nav-header-bottom{align-items:center;display:grid;grid-column:2;grid-template-columns:1fr auto}.vm-nested-nav__childrens>.vm-nested-nav:not(:last-child):before{background-color:#c9e3f6;content:"";height:calc(100% + 32px);left:-12px;position:absolute;top:0;width:2px}.vm-nested-nav__childrens>.vm-nested-nav_dark:not(:last-child):before{background-color:var(--color-background-body)}.vm-nested-nav__childrens>.vm-nested-nav:last-child{margin-bottom:32px}.uplot,.uplot *,.uplot :after,.uplot :before{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;width:-webkit-min-content;width:min-content}.u-title{font-size:18px;font-weight:700;text-align:center}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;height:100%;position:relative;width:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{display:inline-block;vertical-align:middle}.u-legend .u-marker{background-clip:padding-box!important;height:1em;margin-right:4px;width:1em}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012}.u-cursor-x,.u-cursor-y,.u-select{pointer-events:none;position:absolute}.u-cursor-x,.u-cursor-y{left:0;top:0;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{background-clip:padding-box!important;border:0 solid;border-radius:50%;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.u-axis.u-off,.u-cursor-pt.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-select.u-off{display:none}.vm-line-chart{pointer-events:auto}.vm-line-chart_panning{pointer-events:none}.vm-line-chart__u-plot{position:relative}.vm-chart-tooltip{grid-gap:12px;word-wrap:break-word;background:var(--color-background-tooltip);border-radius:8px;color:#fff;display:grid;font-family:monospace;font-size:12px;font-weight:400;gap:12px;line-height:150%;padding:12px;pointer-events:none;position:absolute;-webkit-user-select:text;user-select:text;width:370px;z-index:98}.vm-chart-tooltip_sticky{pointer-events:auto;z-index:99}.vm-chart-tooltip_moved{margin-left:-316.5px;margin-top:-24.5px;position:fixed}.vm-chart-tooltip-header{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr 25px 25px;justify-content:center;min-height:25px}.vm-chart-tooltip-header__title{grid-row:1}.vm-chart-tooltip-header__close{color:#fff;grid-column:3;grid-row:1}.vm-chart-tooltip-header__drag{color:#fff;cursor:move;grid-column:2;grid-row:1}.vm-chart-tooltip-header__date{grid-gap:2px;display:grid;gap:2px;grid-column:1}.vm-chart-tooltip-data{align-items:center;display:flex;gap:8px;justify-content:flex-start}.vm-chart-tooltip-data__marker{border:1px solid #ffffff80;height:14px;width:14px}.vm-chart-tooltip-data__value{font-size:14px;line-height:1}.vm-chart-tooltip-stats{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:flex-start}.vm-chart-tooltip-stats-row{align-items:center;display:grid;justify-content:flex-start}.vm-chart-tooltip-stats-row:not(:last-child){padding-right:8px}.vm-chart-tooltip-stats-row__key{line-height:1;margin-right:4px}.vm-chart-tooltip-stats-row__value{font-weight:700}.vm-chart-tooltip__info{white-space:pre-wrap;word-break:break-all}.vm-legend-item{grid-gap:8px;align-items:start;background-color:var(--color-background-block);cursor:pointer;display:grid;font-size:12px;grid-template-columns:auto auto;justify-content:start;padding:8px;transition:.2s ease}.vm-legend-item:hover{background-color:#0000001a}.vm-legend-item_hide{opacity:.5;text-decoration:line-through}.vm-legend-item_static{cursor:default;grid-template-columns:1fr;margin:0;padding:0}.vm-legend-item_static:hover{background-color:var(--color-background-block)}.vm-legend-item__marker{border-radius:2px;box-sizing:border-box;height:14px;position:relative;transition:.2s ease;width:14px}.vm-legend-item-info{font-weight:400;word-break:break-all}.vm-legend-item-info__label{margin-right:2px}.vm-legend-item-info__free-fields{cursor:pointer;padding:2px}.vm-legend-item-info__free-fields:hover{text-decoration:underline}.vm-legend-item-stats{align-items:center;display:flex;gap:8px;grid-column:2}.vm-legend-item-stats-row{align-items:center;display:flex;justify-content:flex-start}.vm-legend-item-stats-row:not(:last-child){padding-right:12px}.vm-legend-item-stats-row__key{color:var(--color-text-secondary);line-height:1;margin-right:4px}.vm-legend{cursor:default;display:flex;flex-wrap:wrap;position:relative}.vm-legend-group{margin:0 12px 12px 0;min-width:23%;width:100%}.vm-legend-group-title{align-items:center;border-bottom:var(--border-divider);display:flex;margin-bottom:1px;padding:8px}.vm-legend-group-title__count{font-weight:700;margin-right:8px}.vm-legend-heatmap{align-items:center;display:inline-grid;gap:4px;grid-template-columns:auto auto;justify-content:space-between}.vm-legend-heatmap__wrapper{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.vm-legend-heatmap__value{color:var(--color-text);font-size:12px}.vm-legend-heatmap__value:last-child{text-align:right}.vm-legend-heatmap-gradient{align-items:center;display:flex;grid-column:1/-1;height:12px;justify-content:center;position:relative;width:200px}.vm-legend-heatmap-gradient__value{align-items:center;border:2px solid var(--color-text);border-radius:50%;display:flex;height:16px;justify-content:center;position:absolute;top:-2px;transform:translateX(-8px);transition:left .1s ease;width:16px}.vm-legend-heatmap-gradient__value span{background-color:var(--color-background-block);box-shadow:var(--box-shadow);color:var(--color-text);font-size:12px;left:auto;padding:4px 8px;position:absolute;top:18px}.vm-legend-heatmap__labels{word-break:break-all}.vm-graph-view{width:100%}.vm-graph-view_full-width{width:calc(100vw - 48px - var(--scrollbar-width))}@media(max-width:768px){.vm-graph-view_full-width{width:calc(100vw - 24px - var(--scrollbar-width))}}.vm-graph-view_full-width_mobile{width:calc(100vw - 24px - var(--scrollbar-width))}.vm-legend-anomaly{cursor:default;flex-wrap:wrap;gap:32px;position:relative}.vm-legend-anomaly,.vm-legend-anomaly-item{align-items:center;display:flex;justify-content:center}.vm-legend-anomaly-item{gap:8px}.vm-legend-anomaly-item svg{height:14px;width:30px}.vm-axes-limits{grid-gap:12px;align-items:center;display:grid;gap:12px;max-width:300px}.vm-axes-limits_mobile{gap:12px;max-width:100%;width:100%}.vm-axes-limits_mobile .vm-axes-limits-list__inputs{grid-template-columns:repeat(2,1fr)}.vm-axes-limits-list{grid-gap:12px;align-items:center;display:grid;gap:12px}.vm-axes-limits-list__inputs{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,120px)}.vm-graph-settings-popper{grid-gap:12px;display:grid;gap:12px;padding:0 0 12px}.vm-graph-settings-popper__body{grid-gap:16px;display:grid;gap:16px;padding:0 12px}.vm-json-view__copy{display:flex;justify-content:flex-end;position:-webkit-sticky;position:sticky;top:0;z-index:2}.vm-json-view__code{font-size:14px;line-height:1.4;transform:translateY(-32px);white-space:pre-wrap}.vm-table-view{max-width:100%;overflow:auto}.vm-table-view,.vm-table-view_mobile{margin-top:-12px}.vm-table-view table{margin-top:0}.vm-table-settings-popper{display:grid;min-width:250px}.vm-table-settings-popper_mobile .vm-table-settings-popper-list{gap:12px}.vm-table-settings-popper_mobile .vm-table-settings-popper-list:first-child{padding-top:0}.vm-table-settings-popper-list{grid-gap:12px;border-bottom:var(--border-divider);display:grid;gap:12px;max-height:350px;overflow:auto;padding:12px}.vm-table-settings-popper-list_first{padding-top:0}.vm-table-settings-popper-list-header{align-items:center;display:grid;grid-template-columns:1fr auto;justify-content:space-between;min-height:25px}.vm-table-settings-popper-list-header__title{font-weight:700}.vm-table-settings-popper-list__item{font-size:14px}.vm-checkbox{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;-webkit-user-select:none;user-select:none}.vm-checkbox_disabled{cursor:default;opacity:.6}.vm-checkbox_secondary_active .vm-checkbox-track{background-color:var(--color-secondary)}.vm-checkbox_secondary .vm-checkbox-track{border:1px solid var(--color-secondary)}.vm-checkbox_primary_active .vm-checkbox-track{background-color:var(--color-primary)}.vm-checkbox_primary .vm-checkbox-track{border:1px solid var(--color-primary)}.vm-checkbox_active .vm-checkbox-track__thumb{transform:scale(1)}.vm-checkbox:hover .vm-checkbox-track{opacity:.8}.vm-checkbox-track{align-items:center;background-color:#0000;border-radius:4px;display:flex;height:16px;justify-content:center;padding:2px;position:relative;transition:background-color .2s ease,opacity .3s ease-out;width:16px}.vm-checkbox-track__thumb{align-items:center;color:#fff;display:grid;height:12px;justify-content:center;transform:scale(0);transition:transform .1s ease-in-out;width:12px}.vm-checkbox__label{color:inherit;font-size:inherit;margin-left:8px;transition:color .2s ease;white-space:nowrap}.vm-download-report{grid-gap:16px;display:grid;gap:16px;min-width:400px;padding-top:4px}.vm-download-report-settings{grid-gap:12px;display:grid;gap:12px}.vm-download-report-settings textarea{min-height:100px}.vm-download-report__buttons{align-items:center;display:flex;gap:12px;justify-content:flex-end}.vm-download-report-helper{grid-gap:8px;display:grid;gap:8px;padding:12px}.vm-download-report-helper__description{line-height:1.3;max-width:400px;white-space:pre-line}.vm-download-report-helper__description p{margin-bottom:4px}.vm-download-report-helper__buttons{align-items:center;display:flex;gap:8px;justify-content:flex-end}.vm-predefined-panel-header{grid-gap:8px;align-items:center;border-bottom:var(--border-divider);display:grid;gap:8px;grid-template-columns:auto 1fr auto;justify-content:flex-start;padding:8px 16px}.vm-predefined-panel-header__description{line-height:1.3;white-space:pre-wrap}.vm-predefined-panel-header__description ol,.vm-predefined-panel-header__description ul{list-style-position:inside}.vm-predefined-panel-header__description a{color:#c9e3f6;text-decoration:underline}.vm-predefined-panel-header__info{align-items:center;color:var(--color-primary);display:flex;justify-content:center;width:18px}.vm-predefined-panel-body{min-height:500px;padding:8px 16px}@media(max-width:500px){.vm-predefined-panel-body{padding:0}}.vm-predefined-dashboard{background-color:#0000}.vm-predefined-dashboard-header{align-items:center;border-radius:4px;box-shadow:var(--box-shadow);display:grid;font-weight:700;grid-template-columns:1fr auto;justify-content:space-between;line-height:1;overflow:hidden;padding:12px;position:relative;transform-style:preserve-3d;transition:box-shadow .2s ease-in-out}.vm-predefined-dashboard-header_open{border-radius:4px 4px 0 0;box-shadow:none}.vm-predefined-dashboard-header__title{font-size:14px}.vm-predefined-dashboard-header__count{font-size:12px;grid-column:2;margin-right:26px}.vm-predefined-dashboard-panels{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(12,1fr);padding:0}@media(max-width:1000px){.vm-predefined-dashboard-panels{grid-template-columns:1fr}}.vm-predefined-dashboard-panels-panel{border-radius:8px;overflow:hidden;position:relative}.vm-predefined-dashboard-panels-panel:hover .vm-predefined-dashboard-panels-panel__resizer{transform:scale(1)}.vm-predefined-dashboard-panels-panel__resizer{bottom:0;cursor:ew-resize;height:20px;position:absolute;right:0;transform:scale(0);transition:transform .2s ease-in-out;width:20px;z-index:1}.vm-predefined-dashboard-panels-panel__resizer:after{border-bottom:2px solid #110f0f33;border-right:2px solid #110f0f33;bottom:5px;content:"";height:5px;position:absolute;right:5px;width:5px}.vm-predefined-dashboard-panels-panel__alert{grid-column:span 12}.vm-predefined-panels{grid-gap:12px;align-items:flex-start;display:grid;gap:12px}@media(max-width:768px){.vm-predefined-panels{padding:12px 0}}@media(max-width:500px){.vm-predefined-panels{padding:8px 0}}.vm-predefined-panels-tabs{align-items:center;display:flex;flex-wrap:wrap;font-size:12px;gap:8px;justify-content:flex-start;overflow:hidden}@media(max-width:768px){.vm-predefined-panels-tabs{padding:0 12px}}.vm-predefined-panels-tabs__tab{background:var(--color-background-block);border:1px solid #110f0f33;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;padding:8px 12px;text-align:center;text-transform:uppercase;transition:background .2s ease-in-out,color .15s ease-in}@media(max-width:500px){.vm-predefined-panels-tabs__tab{flex-grow:1}}.vm-predefined-panels-tabs__tab:hover{color:var(--color-primary)}.vm-predefined-panels-tabs__tab_active{border-color:var(--color-primary);color:var(--color-primary)}.vm-predefined-panels__dashboards{grid-gap:12px;display:grid;gap:12px}.vm-cardinality-configurator{grid-gap:8px;display:grid;gap:8px}.vm-cardinality-configurator-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:flex-start}.vm-cardinality-configurator-controls__query{flex-grow:10}.vm-cardinality-configurator-controls__item{flex-grow:2}.vm-cardinality-configurator-controls__item_limit{flex-grow:1}.vm-cardinality-configurator-controls__item svg{color:var(--color-text-disabled)}.vm-cardinality-configurator-bottom{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;width:100%}.vm-cardinality-configurator-bottom-helpful{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:flex-end}.vm-cardinality-configurator-bottom-helpful a{color:var(--color-text-secondary)}.vm-cardinality-configurator-bottom__execute{align-items:center;display:flex;gap:8px}.vm-cardinality-configurator_mobile .vm-cardinality-configurator-bottom{justify-content:center}.vm-cardinality-configurator_mobile .vm-cardinality-configurator-bottom-helpful{flex-grow:1;justify-content:center}.vm-cardinality-configurator_mobile .vm-cardinality-configurator-bottom__execute,.vm-cardinality-configurator_mobile .vm-cardinality-configurator-bottom__execute button:nth-child(3){width:100%}.vm-cardinality-totals{align-content:flex-start;display:inline-flex;flex-grow:1;flex-wrap:wrap;gap:12px;justify-content:flex-start}.vm-cardinality-totals_mobile{gap:12px;justify-content:center}.vm-cardinality-totals-card{grid-gap:8px 4px;align-items:center;display:grid;gap:8px 4px;grid-template-columns:auto 1fr;justify-content:center}.vm-cardinality-totals-card__info-icon{align-items:center;color:var(--color-primary);display:flex;justify-content:center;width:12px}.vm-cardinality-totals-card__title{align-items:center;color:var(--color-text);display:flex;gap:4px;grid-column:1/-1;justify-content:flex-start}.vm-cardinality-totals-card__tooltip{max-width:280px;padding:8px;white-space:normal}.vm-cardinality-totals-card__value{color:var(--color-primary);font-size:18px;font-weight:700;line-height:14px;text-align:center}.vm-metrics-content-header{margin:-12px -12px 0}.vm-metrics-content-header__title{align-items:center;display:flex;justify-content:flex-start}.vm-metrics-content-header__tip{max-width:300px;padding:8px;white-space:normal}.vm-metrics-content-header__tip p{margin-bottom:8px}.vm-metrics-content-header__tip-icon{align-items:center;color:var(--color-primary);display:flex;justify-content:center;margin-right:4px;width:12px}.vm-metrics-content_mobile .vm-metrics-content-header{margin:-12px -12px 0}.vm-metrics-content__table{overflow:auto;padding-top:12px;width:calc(100vw - 48px - var(--scrollbar-width))}@media(max-width:768px){.vm-metrics-content__table{width:calc(100vw - 24px - var(--scrollbar-width))}}.vm-metrics-content__table_mobile{width:calc(100vw - 24px - var(--scrollbar-width))}.vm-metrics-content__table .vm-table-cell_header{white-space:nowrap}.vm-metrics-content_mobile .vm-metrics-content__table{width:calc(100vw - 24px - var(--scrollbar-width))}.vm-metrics-content__chart{padding-top:12px}.vm-metrics-content-prom-data{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center;margin-top:12px;text-align:center;width:100%}.vm-metrics-content-prom-data__icon{align-items:center;color:var(--color-primary);display:flex;height:30px;justify-content:center;margin-bottom:8px;width:30px}.vm-metrics-content-prom-data__title{font-size:16px;font-weight:700}.vm-metrics-content-prom-data__text{line-height:1.3;max-width:700px}.vm-simple-bar-chart{display:grid;grid-template-columns:auto 1fr;height:100%;overflow:hidden;padding-bottom:6px}.vm-simple-bar-chart-y-axis{display:grid;position:relative;transform:translateY(12px)}.vm-simple-bar-chart-y-axis__tick{align-items:center;display:flex;font-size:12px;justify-content:flex-end;line-height:2;padding-right:8px;position:relative;text-align:right;transform-style:preserve-3d;z-index:1}.vm-simple-bar-chart-y-axis__tick:after{border-bottom:var(--border-divider);content:"";height:0;left:100%;position:absolute;top:auto;transform:translateY(-1px) translateZ(-1);width:100vw}.vm-simple-bar-chart-data{align-items:flex-end;display:flex;gap:1%;justify-content:space-between;position:relative}.vm-simple-bar-chart-data-item{align-items:flex-start;background-color:#3b5;display:flex;flex-grow:1;height:calc(100% - 48px);justify-content:center;min-width:1px;transition:background-color .2s ease-in;width:100%}.vm-simple-bar-chart-data-item:hover{background-color:#51d071}.vm-simple-bar-chart-data-item:first-child{background-color:#f79420}.vm-simple-bar-chart-data-item:first-child:hover{background-color:#f9ac51}.vm-cardinality-panel{grid-gap:12px;align-items:flex-start;display:grid;gap:12px}.vm-cardinality-panel_mobile,.vm-cardinality-panel_mobile .vm-cardinality-panel-tips{gap:8px}.vm-cardinality-panel-tips{align-content:flex-start;display:inline-flex;flex-grow:1;flex-wrap:wrap;gap:12px;justify-content:flex-start;width:100%}.vm-cardinality-panel-table__header th:first-child{width:60%}.vm-cardinality-panel-table__header th:not(:first-child){width:auto}.vm-cardinality-panel-table__progress{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:minmax(200px,1fr) 70px;justify-content:flex-start}.vm-cardinality-tip{background-color:var(--color-background-block);border-radius:8px;box-shadow:var(--box-shadow);color:var(--color-text-secondary);display:grid;flex-grow:1;grid-template-rows:auto 1fr;overflow:hidden;width:300px}.vm-cardinality-tip-header{align-items:center;border-bottom:var(--border-divider);display:flex;gap:4px;justify-content:center;padding:8px 12px;position:relative}.vm-cardinality-tip-header:after{background:var(--color-warning);content:"";height:100%;left:0;opacity:.1;pointer-events:none;position:absolute;top:0;width:100%}.vm-cardinality-tip-header__tip-icon{align-items:center;color:var(--color-warning);display:flex;justify-content:center;width:12px}.vm-cardinality-tip-header__title{color:var(--color-text);font-weight:700;text-align:center}.vm-cardinality-tip-header__tooltip{font-size:14px;line-height:130%;max-width:280px;padding:8px;white-space:normal}.vm-cardinality-tip__description{line-height:130%;padding:8px 12px}.vm-cardinality-tip__description p{margin-bottom:8px}.vm-cardinality-tip__description p:last-child{margin-bottom:0}.vm-cardinality-tip__description ol,.vm-cardinality-tip__description ul{list-style-position:inside}.vm-cardinality-tip__description ol li,.vm-cardinality-tip__description ul li{margin-bottom:4px}.vm-top-queries-panel-header,.vm-top-queries-panel-header_mobile{margin:-12px -12px 0}.vm-top-queries-panel__table{overflow:auto;padding-top:12px;width:calc(100vw - 48px - var(--scrollbar-width))}@media(max-width:768px){.vm-top-queries-panel__table{width:calc(100vw - 24px - var(--scrollbar-width))}}.vm-top-queries-panel__table_mobile{width:calc(100vw - 24px - var(--scrollbar-width))}.vm-top-queries-panel__table .vm-table-cell_header{white-space:nowrap}.vm-top-queries{grid-gap:12px;align-items:flex-start;display:grid;gap:12px}.vm-top-queries_mobile{gap:8px}.vm-top-queries-controls{grid-gap:8px;display:grid;gap:8px}.vm-top-queries-controls-fields{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.vm-top-queries-controls-fields__item{flex-grow:1;min-width:200px}.vm-top-queries-controls-bottom{grid-gap:12px;align-items:flex-end;display:grid;gap:12px;grid-template-columns:1fr auto;justify-content:space-between}.vm-top-queries-controls-bottom_mobile{gap:8px;grid-template-columns:1fr}.vm-top-queries-controls-bottom__button{align-items:center;display:flex;justify-content:flex-end}.vm-top-queries-panels{grid-gap:12px;display:grid;gap:12px}.vm-top-queries-panels__table-actions{align-items:center;display:flex;gap:8px;height:100%;justify-content:flex-end;padding:0 8px}.vm-trace-page{display:flex;flex-direction:column;min-height:100%}@media(max-width:768px){.vm-trace-page{padding:12px 0}}.vm-trace-page-header{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:1fr auto;margin-bottom:12px}@media(max-width:768px){.vm-trace-page-header{grid-template-columns:1fr;padding:0 12px}}.vm-trace-page-header-errors{grid-gap:12px;align-items:flex-start;display:grid;gap:12px;grid-template-columns:1fr;justify-content:stretch}@media(max-width:768px){.vm-trace-page-header-errors{grid-row:2}}.vm-trace-page-header-errors-item{align-items:center;display:grid;justify-content:stretch;position:relative}.vm-trace-page-header-errors-item_margin-bottom{margin-bottom:12px}.vm-trace-page-header-errors-item__filename{min-height:20px}.vm-trace-page-header-errors-item__close{position:absolute;right:8px;top:auto;z-index:2}.vm-trace-page-preview{align-items:center;display:flex;flex-direction:column;flex-grow:1;justify-content:center}.vm-trace-page-preview__text{font-size:14px;line-height:1.8;margin-bottom:12px;text-align:center;white-space:pre-line}.vm-trace-page__dropzone{align-items:center;box-shadow:inset var(--color-primary) 0 0 10px;display:flex;height:100%;justify-content:center;left:0;opacity:.5;pointer-events:none;position:fixed;top:0;width:100%;z-index:100}.vm-upload-json-buttons{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:1fr 1fr;justify-content:center}.vm-explore-metrics{grid-gap:12px;align-items:flex-start;display:grid;gap:12px}@media(max-width:500px){.vm-explore-metrics{gap:8px}}.vm-explore-metrics-body{grid-gap:12px;align-items:flex-start;display:grid;gap:12px}@media(max-width:500px){.vm-explore-metrics-body{gap:8px}}.vm-explore-metrics-graph,.vm-explore-metrics-graph_mobile{padding:0 12px 12px}.vm-explore-metrics-graph__warning{align-items:center;display:grid;grid-template-columns:1fr auto;justify-content:space-between}.vm-explore-metrics-item-header{grid-gap:12px;align-items:center;border-bottom:var(--border-divider);display:grid;gap:12px;grid-template-columns:auto 1fr auto auto;justify-content:flex-start;padding:12px}.vm-explore-metrics-item-header_mobile{grid-template-columns:1fr auto;padding:8px 12px}.vm-explore-metrics-item-header__index{color:var(--color-text-secondary);font-size:12px}.vm-explore-metrics-item-header__name{flex-grow:1;font-weight:700;line-height:130%;max-width:100%;overflow:hidden;text-overflow:ellipsis}.vm-explore-metrics-item-header-order{align-items:center;display:grid;grid-column:1;grid-template-columns:auto 20px auto;justify-content:flex-start;text-align:center}.vm-explore-metrics-item-header-order__up{transform:rotate(180deg)}.vm-explore-metrics-item-header__rate{grid-column:3}.vm-explore-metrics-item-header__close{align-items:center;display:grid;grid-column:4;grid-row:1}.vm-explore-metrics-item-header code{background-color:var(--color-hover-black);border-radius:6px;font-size:85%;padding:.2em .4em}.vm-explore-metrics-item-header-modal{grid-gap:12px;align-items:flex-start;display:grid;gap:12px}.vm-explore-metrics-item-header-modal-order{align-items:center;display:flex;gap:12px;justify-content:space-between}.vm-explore-metrics-item-header-modal-order p{align-items:center;display:flex}.vm-explore-metrics-item-header-modal-order__index{margin-left:4px}.vm-explore-metrics-item-header-modal__rate{grid-gap:8px;display:grid;gap:8px}.vm-explore-metrics-item-header-modal__rate p{color:var(--color-text-secondary)}.vm-explore-metrics-item{position:relative}.vm-select-input{align-items:center;border:var(--border-divider);border-radius:4px;cursor:pointer;display:flex;min-height:40px;padding:8px 0 8px 12px;position:relative}.vm-select-input-content{align-items:center;display:flex;flex-grow:1;flex-wrap:wrap;gap:8px;justify-content:flex-start}.vm-select-input-content_mobile{flex-wrap:nowrap}.vm-select-input-content__counter{font-size:14px;line-height:14px}.vm-select-input-content__selected{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;font-size:14px;justify-content:center;line-height:14px;max-width:100%;padding:2px 2px 2px 6px}.vm-select-input-content__selected span{overflow:hidden;text-overflow:ellipsis;width:100%}.vm-select-input-content__selected svg{align-items:center;background-color:#0000;border-radius:4px;display:flex;justify-content:center;margin-left:10px;padding:4px;transition:background-color .2s ease-in-out;width:20px}.vm-select-input-content__selected svg:hover{background-color:#110f0f1a}.vm-select-input input{background-color:#0000;border:none;border-radius:4px;color:var(--color-text);display:inline-block;flex-grow:1;font-size:14px;height:18px;line-height:18px;min-width:100px;padding:0;position:relative;z-index:2}.vm-select-input input:placeholder-shown{width:auto}.vm-select-input__icon{align-items:center;border-right:var(--border-divider);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;justify-content:flex-end;padding:0 8px;transition:transform .2s ease-in,opacity .2s ease-in}.vm-select-input__icon:last-child{border:none}.vm-select-input__icon svg{width:14px}.vm-select-input__icon_open{transform:rotate(180deg)}.vm-select-input__icon:hover{opacity:.7}.vm-select-options{grid-gap:8px;display:grid;font-size:14px;gap:8px;max-height:208px;max-width:300px;overflow:auto;padding:12px}.vm-select-options_mobile{max-height:calc(var(--vh)*100 - 70px);max-width:100%;padding:0 12px 8px}.vm-select_disabled *{cursor:not-allowed}.vm-select_disabled .vm-select-input-content input{color:var(--color-text-disabled)}.vm-explore-metrics-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px 18px;justify-content:flex-start;max-width:calc(100vw - var(--scrollbar-width))}.vm-explore-metrics-header_mobile{align-items:stretch;flex-direction:column}.vm-explore-metrics-header__job{flex-grow:1;min-width:150px}.vm-explore-metrics-header__instance{flex-grow:2;min-width:150px}.vm-explore-metrics-header__size{grid-gap:12px;align-items:center;display:grid;flex-grow:1;gap:12px;grid-template-columns:1fr auto;min-width:150px}.vm-explore-metrics-header-description{grid-gap:8px;align-items:flex-start;display:grid;gap:8px;grid-template-columns:1fr auto}.vm-explore-metrics-header-description button{color:inherit;min-height:29px}.vm-explore-metrics-header-description code{margin:0 3px}.vm-explore-metrics-header-metrics{flex-grow:1;width:100%}.vm-explore-metrics-header__clear-icon{align-items:center;cursor:pointer;display:flex;justify-content:center;padding:2px}.vm-explore-metrics-header__clear-icon:hover{opacity:.7}.vm-preview-icons{grid-gap:12px;align-items:flex-start;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,100px);justify-content:center}.vm-preview-icons-item{grid-gap:8px;align-items:stretch;border:1px solid #0000;border-radius:4px;cursor:pointer;display:grid;gap:8px;grid-template-rows:1fr auto;height:100px;justify-content:center;padding:12px 8px;transition:box-shadow .2s ease-in-out}.vm-preview-icons-item:hover{box-shadow:0 1px 4px #00000029}.vm-preview-icons-item:active .vm-preview-icons-item__svg{transform:scale(.9)}.vm-preview-icons-item__name{font-size:12px;line-height:2;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.vm-preview-icons-item__svg{align-items:center;display:flex;height:100%;justify-content:center;transition:transform .1s ease-out}.vm-preview-icons-item__svg svg{height:24px;width:auto}.vm-with-template,.vm-with-template-body{grid-gap:12px;display:grid;gap:12px}.vm-with-template-body{align-items:flex-start;width:100%}.vm-with-template-body-top{align-items:center;display:flex;gap:8px;justify-content:flex-end}.vm-with-template-body__expr textarea{min-height:200px}.vm-with-template-body__result textarea{min-height:60px}.vm-with-template-body textarea{font-family:monospace;height:100%;overflow:auto;width:100%}.vm-with-template-tutorial{grid-gap:16px;display:grid;gap:16px}.vm-with-template-tutorial__title{font-size:16px;font-weight:700}.vm-with-template-tutorial-section{grid-gap:12px;display:grid;gap:12px}.vm-with-template-tutorial-section__text{font-size:14px;line-height:130%;max-width:720px}.vm-code-example{background-color:#110f0f0d;border-radius:4px;display:block;overflow:auto;padding:12px;position:relative;white-space:pre-wrap}.vm-code-example__copy{position:absolute;right:10px;top:10px}.vm-relabeling,.vm-relabeling-header{grid-gap:12px;display:grid;gap:12px}.vm-relabeling-header{align-items:flex-start;width:100%}.vm-relabeling-header-configs textarea{min-height:200px}.vm-relabeling-header__labels textarea{min-height:60px}.vm-relabeling-header textarea{font-family:monospace;height:100%;overflow:auto;width:100%}.vm-relabeling-header-bottom{align-items:center;display:flex;gap:12px;justify-content:flex-end}.vm-relabeling-header-bottom a{color:var(--color-text-secondary)}.vm-relabeling-steps,.vm-relabeling-steps-item{grid-gap:12px;display:grid;gap:12px}.vm-relabeling-steps-item{border-bottom:var(--border-divider);padding:0 12px 12px}.vm-relabeling-steps-item:last-child{border-bottom:none;padding-bottom:0}.vm-relabeling-steps-item__row{display:grid;grid-template-columns:100px 1fr}@media(max-width:500px){.vm-relabeling-steps-item__row{gap:4px;grid-template-columns:1fr}}.vm-relabeling-steps-item__row pre{white-space:pre-wrap}.vm-active-queries-header{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto;justify-content:space-between;margin-bottom:12px}.vm-active-queries-header-controls{grid-gap:8px;display:grid;gap:8px;grid-column:2}.vm-active-queries-header__update-msg{color:var(--color-text-secondary);font-size:12px;white-space:nowrap}.vm-json-form{grid-gap:12px;display:grid;gap:12px;grid-template-rows:auto calc(var(--vh)*70 - 114px) auto;max-height:900px;max-width:1000px;overflow:hidden;width:70vw}.vm-json-form_mobile{grid-template-rows:auto calc(var(--vh)*100 - 236px) auto;min-height:100%;width:100%}.vm-json-form_one-field{grid-template-rows:calc(var(--vh)*70 - 114px) auto}.vm-json-form_one-field_mobile{grid-template-rows:calc(var(--vh)*100 - 184px) auto}.vm-json-form textarea{height:100%;max-height:900px;overflow:auto;width:100%}.vm-json-form-footer{align-items:center;display:flex;gap:8px;justify-content:space-between}@media(max-width:500px){.vm-json-form-footer{flex-direction:column}.vm-json-form-footer button{flex-grow:1}}.vm-json-form-footer__controls{align-items:center;display:flex;flex-grow:1;gap:8px;justify-content:flex-start}@media(max-width:500px){.vm-json-form-footer__controls{grid-template-columns:repeat(2,1fr);justify-content:center;width:100%}}.vm-json-form-footer__controls_right{display:grid;grid-template-columns:repeat(2,90px);justify-content:flex-end}@media(max-width:500px){.vm-json-form-footer__controls_right{grid-template-columns:repeat(2,1fr);justify-content:center;width:100%}}.vm-query-analyzer-view{grid-gap:12px;display:grid;gap:12px;position:relative}.vm-query-analyzer-view-header{align-items:center;border-bottom:var(--border-divider);display:flex;font-size:12px;justify-content:space-between;margin:-12px -12px 12px;padding:0 12px;position:relative;z-index:1}.vm-query-analyzer-view-header__left{align-items:center;display:flex;gap:8px}.vm-query-analyzer-view_mobile .vm-query-analyzer-view-header{margin:-12px -12px 12px;padding:0 12px}.vm-query-analyzer-info-header{display:flex;gap:12px}.vm-query-analyzer-info-header__period{align-items:center;border:var(--border-divider);border-radius:4px;display:flex;gap:8px;padding:6px 12px}.vm-query-analyzer-info-header__period svg{color:var(--color-primary);width:13px}.vm-query-analyzer-info{grid-gap:16px;display:grid;gap:16px;min-width:300px}.vm-query-analyzer-info-type{color:var(--color-text-secondary);font-style:italic;text-align:center}.vm-query-analyzer-info-item{border-bottom:var(--border-divider);display:grid;line-height:130%;padding-bottom:16px}.vm-query-analyzer-info-item__title{font-weight:700}.vm-query-analyzer-info-item__text{white-space:pre-wrap}#root,body,html{background-attachment:fixed;background-color:#fefeff;background-color:var(--color-background-body);background-repeat:no-repeat;color:#110f0f;color:var(--color-text);cursor:default;font-family:system-ui;font-size:14px;margin:0;min-height:100%}body{overflow:auto}*{-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:inherit;font:inherit;touch-action:pan-x pan-y}code{font-family:monospace}b{font-weight:700}input,textarea{cursor:text}input::placeholder,textarea::placeholder{-webkit-user-select:none;user-select:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.vm-snackbar{animation:vm-slide-snackbar .15s cubic-bezier(.28,.84,.42,1.1);bottom:12px;left:12px;position:fixed;z-index:999}.vm-snackbar-content{align-items:center;display:grid;grid-template-columns:1fr auto}.vm-snackbar-content__close{color:inherit;height:24px;opacity:.8;padding:4px;width:24px}.vm-snackbar_mobile{bottom:0;left:0;right:0}@keyframes vm-slide-snackbar{0%{transform:translateY(100%)}to{transform:translateY(0)}}svg{width:100%}*{scrollbar-color:#a09f9f #fff;scrollbar-color:var(--color-text-disabled) var(--color-background-block);scrollbar-width:thin}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#fff;background:var(--color-background-block)}::-webkit-scrollbar-thumb{background-color:#a09f9f;background-color:var(--color-text-disabled);border:3px solid #fff;border:3px solid var(--color-background-block);border-radius:20px}a,abbr,acronym,address,applet,article,aside,audio,big,body,canvas,caption,center,cite,code,del,details,dfn,div,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;margin:0;padding:0;vertical-align:initial}h1,h2,h3,h4,h5,h6{font-weight:400}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}q:after,q:before{content:""}table{border-collapse:collapse;border-spacing:0}input::placeholder{opacity:1;transition:opacity .3s ease}input:focus::placeholder{opacity:0;transition:opacity .3s ease}*{box-sizing:border-box;outline:none}button{background:none;border:none;border-radius:0;padding:0}strong{letter-spacing:1px}input[type=file]{cursor:pointer;font-size:0;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}input[type=file]:disabled{cursor:not-allowed}a{color:inherit;text-decoration:inherit}input,textarea{-webkit-text-fill-color:inherit;appearance:none;-webkit-appearance:none}input:disabled,textarea:disabled{opacity:1!important}input:placeholder-shown,textarea:placeholder-shown{width:100%}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-box-shadow:inset 0 0 0 0 #fff!important;width:100%;z-index:2}.vm-header-button{border:1px solid #110f0f33}.vm-list-item{background-color:#0000;cursor:pointer;padding:12px;transition:background-color .2s ease}.vm-list-item_mobile{padding:12px}.vm-list-item:hover,.vm-list-item_active{background-color:#0000000f;background-color:var(--color-hover-black)}.vm-list-item_multiselect{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:10px 1fr;justify-content:flex-start}.vm-list-item_multiselect svg{animation:vm-scale .15s cubic-bezier(.28,.84,.42,1)}.vm-list-item_multiselect span{grid-column:2}.vm-list-item_multiselect_selected{color:#3f51b5;color:var(--color-primary)}.vm-list-item_with-icon{grid-gap:4px;display:grid;gap:4px;grid-template-columns:14px 1fr}.vm-list-item_with-icon,.vm-mobile-option{align-items:center;justify-content:flex-start}.vm-mobile-option{display:flex;gap:8px;padding:6px 0;-webkit-user-select:none;user-select:none;width:100%}.vm-mobile-option__arrow,.vm-mobile-option__icon{align-items:center;display:flex;justify-content:center}.vm-mobile-option__icon{color:#3f51b5;color:var(--color-primary);height:22px;width:22px}.vm-mobile-option__arrow{color:#3f51b5;color:var(--color-primary);height:14px;transform:rotate(-90deg);width:14px}.vm-mobile-option-text{grid-gap:2px;align-items:center;display:grid;flex-grow:1;gap:2px}.vm-mobile-option-text__label{font-weight:700}.vm-mobile-option-text__value{color:#706f6f;color:var(--color-text-secondary);font-size:12px}.vm-block{background-color:#fff;background-color:var(--color-background-block);border-radius:8px;box-shadow:1px 2px 6px #00000014;box-shadow:var(--box-shadow);padding:12px}.vm-block_mobile{border-radius:0;padding:12px}.vm-block_empty-padding{padding:0}.vm-section-header{align-items:center;border-bottom:1px solid #00000026;border-bottom:var(--border-divider);border-radius:8px 8px 0 0;display:grid;grid-template-columns:1fr auto;justify-content:center;padding:0 12px}.vm-section-header__title{font-size:14px;font-weight:700}.vm-section-header__title_mobile{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.vm-section-header__tabs{align-items:center;display:flex;font-size:12px;justify-content:flex-start}.vm-table{border-collapse:initial;border-spacing:0;margin-top:-12px;width:100%}.vm-table,.vm-table__row{background-color:#fff;background-color:var(--color-background-block)}.vm-table__row{transition:background-color .2s ease}.vm-table__row:hover:not(.vm-table__row_header){background-color:#0000000f;background-color:var(--color-hover-black)}.vm-table__row_header{position:relative;z-index:2}.vm-table__row_selected{background-color:#1a90ff0d}.vm-table-cell{border-bottom:1px solid #00000026;border-bottom:var(--border-divider);line-height:1.5;overflow-wrap:anywhere;padding:4px;vertical-align:top}.vm-table-cell__content{align-items:center;display:flex;justify-content:flex-start}.vm-table-cell_sort{cursor:pointer}.vm-table-cell_sort:hover{background-color:#0000000f;background-color:var(--color-hover-black)}.vm-table-cell_header{font-weight:700;overflow-wrap:normal;text-align:left}.vm-table-cell_gray{color:#110f0f;color:var(--color-text);opacity:.4}.vm-table-cell_right{text-align:right}.vm-table-cell_right .vm-table-cell__content{justify-content:flex-end}.vm-table-cell_no-wrap{white-space:nowrap}.vm-table-cell_no-padding{padding:0}.vm-table-cell_pre{white-space:pre-wrap}.vm-table-cell_logs-time{overflow-wrap:normal;white-space:pre}.vm-table-cell_logs{font-family:monospace;line-height:1.2}.vm-table__sort-icon{align-items:center;display:flex;justify-content:center;margin:0 8px;opacity:.4;transition:opacity .2s ease,transform .2s ease-in-out;width:15px}.vm-table__sort-icon_active{opacity:1}.vm-table__sort-icon_desc{transform:rotate(180deg)}.vm-link{cursor:pointer;transition:color .2s ease}.vm-link_colored{color:#3f51b5;color:var(--color-primary)}.vm-link_underlined{text-decoration:underline}.vm-link_with-icon{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:14px auto;justify-content:center}.vm-link:hover{color:#3f51b5;color:var(--color-primary);text-decoration:underline}.vm-dynamic-number{color:#a09f9f;color:var(--color-text-disabled);font-size:12px}.vm-dynamic-number_positive{color:#4caf50;color:var(--color-success)}.vm-dynamic-number_negative{color:#fd080e;color:var(--color-error)}.vm-dynamic-number_down:before{content:"↓"}.vm-dynamic-number_up:before{content:"↑"}:root{--color-primary:#3f51b5;--color-secondary:#e91e63;--color-error:#fd080e;--color-warning:#ff8308;--color-info:#03a9f4;--color-success:#4caf50;--color-primary-text:#fff;--color-secondary-text:#fff;--color-error-text:#fff;--color-warning-text:#fff;--color-info-text:#fff;--color-success-text:#fff;--color-background-body:#fefeff;--color-background-block:#fff;--color-background-tooltip:#505050e6;--color-text:#110f0f;--color-text-secondary:#706f6f;--color-text-disabled:#a09f9f;--box-shadow:#00000014 1px 2px 6px;--box-shadow-popper:#0000001a 0px 2px 8px 0px;--border-divider:1px solid #00000026;--color-hover-black:#0000000f} \ No newline at end of file diff --git a/app/vmselect/vmui/static/css/main.fce049bf.css b/app/vmselect/vmui/static/css/main.fce049bf.css new file mode 100644 index 000000000..7eca510a8 --- /dev/null +++ b/app/vmselect/vmui/static/css/main.fce049bf.css @@ -0,0 +1 @@ +.vm-tabs{gap:12px;height:100%;position:relative;-webkit-user-select:none;user-select:none}.vm-tabs,.vm-tabs-item{align-items:center;display:flex;justify-content:center}.vm-tabs-item{color:inherit;cursor:pointer;font-size:inherit;font-weight:inherit;opacity:.6;padding:12px 8px;text-decoration:none;text-transform:capitalize;transition:opacity .2s}.vm-tabs-item_active{opacity:1}.vm-tabs-item:hover{opacity:.8}.vm-tabs-item__icon{display:grid;margin-right:8px;width:16px}.vm-tabs-item__icon_single{margin-right:0}.vm-tabs__indicator{border-bottom:2px solid;position:absolute;transition:width .2s ease,left .3s cubic-bezier(.28,.84,.42,1)}.vm-alert{grid-gap:8px;align-items:center;background-color:var(--color-background-block);border-radius:8px;box-shadow:var(--box-shadow);color:var(--color-text);display:grid;font-size:14px;font-weight:400;gap:8px;grid-template-columns:20px 1fr;line-height:1.5;padding:12px;position:relative}.vm-alert_mobile{align-items:flex-start;border-radius:0}.vm-alert:after{border-radius:8px;content:"";height:100%;left:0;opacity:.1;position:absolute;top:0;width:100%;z-index:1}.vm-alert_mobile:after{border-radius:0}.vm-alert__content,.vm-alert__icon{position:relative;z-index:2}.vm-alert__icon{align-items:center;display:flex;justify-content:center}.vm-alert__content{filter:brightness(.6);white-space:pre-line}.vm-alert_success{color:var(--color-success)}.vm-alert_success:after{background-color:var(--color-success)}.vm-alert_error{color:var(--color-error)}.vm-alert_error:after{background-color:var(--color-error)}.vm-alert_info{color:var(--color-info)}.vm-alert_info:after{background-color:var(--color-info)}.vm-alert_warning{color:var(--color-warning)}.vm-alert_warning:after{background-color:var(--color-warning)}.vm-alert_dark:after{opacity:.1}.vm-alert_dark .vm-alert__content{filter:none}.vm-header{align-items:center;display:flex;flex-wrap:wrap;gap:0 16px;justify-content:flex-start;min-height:51px;padding:8px 12px;z-index:99}.vm-header_app{padding:8px 0}@media(max-width:1000px){.vm-header{gap:8px;padding:8px;position:-webkit-sticky;position:sticky;top:0}}.vm-header_sidebar{display:grid;grid-template-columns:40px auto 1fr}.vm-header_mobile{display:grid;grid-template-columns:33px 1fr 33px;justify-content:space-between}.vm-header_dark .vm-header-button,.vm-header_dark button,.vm-header_dark button:before{background-color:var(--color-background-block)}.vm-header-logo{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;margin-bottom:2px;overflow:hidden;position:relative;width:100%}.vm-header-logo,.vm-header-logo svg,.vm-header-logo_mobile{max-width:65px;min-width:65px}.vm-header-logo_mobile{margin:0 auto}.vm-header-logo_logs,.vm-header-logo_logs svg{max-width:75px;min-width:75px}.vm-header-nav{align-items:center;display:flex;gap:12px;justify-content:flex-start}.vm-header-nav_column{align-items:stretch;flex-direction:column;gap:8px}.vm-header-nav_column .vm-header-nav-item{padding:12px 0}.vm-header-nav_column .vm-header-nav-item_sub{justify-content:stretch}.vm-header-nav-item{cursor:pointer;font-size:14px;font-weight:400;opacity:1;padding:12px 8px;position:relative;text-transform:capitalize;transition:opacity .2s ease-in}.vm-header-nav-item_sub{grid-gap:4px;align-items:center;cursor:default;display:grid;gap:4px;grid-template-columns:auto 14px;justify-content:center}.vm-header-nav-item:hover{opacity:.7}.vm-header-nav-item_active{border-bottom:2px solid #110f0f33}.vm-header-nav-item svg{transform:rotate(0deg);transition:transform .2s ease-in}.vm-header-nav-item_open svg{transform:rotate(180deg)}.vm-header-nav-item-submenu{border-radius:4px;color:#fff;display:grid;opacity:1;padding:8px;transform-origin:top center;white-space:nowrap}.vm-header-nav-item-submenu-item{cursor:pointer}.vm-popper{background-color:var(--color-background-block);border-radius:4px;box-shadow:var(--box-shadow-popper);opacity:0;pointer-events:none;position:fixed;transition:opacity .1s ease-in-out;z-index:-99}.vm-popper_open{animation:vm-slider .15s cubic-bezier(.28,.84,.42,1.1);opacity:1;pointer-events:auto;transform-origin:top center;z-index:101}.vm-popper_mobile{animation:none;border-radius:0;bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0;width:100%}.vm-popper-header{grid-gap:8px;align-items:center;background-color:var(--color-background-block);border-bottom:var(--border-divider);border-radius:4px 4px 0 0;color:var(--color-text);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:space-between;margin-bottom:12px;min-height:51px;padding:8px 8px 8px 12px}.vm-popper-header__title{font-weight:700;-webkit-user-select:none;user-select:none}.vm-popper_dark{background-color:var(--color-background-tooltip);color:#fff}.vm-popper_dark .vm-popper-header{background-color:#0000;color:#fff}@keyframes vm-slider{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.vm-modal{align-items:center;background:#110f0f8c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:100}.vm-modal_mobile{align-items:flex-start;max-height:calc(var(--vh)*100);min-height:calc(var(--vh)*100);overflow:auto}.vm-modal_mobile .vm-modal-content{border-radius:0;grid-template-rows:70px -webkit-max-content;grid-template-rows:70px max-content;max-height:-webkit-max-content;max-height:max-content;min-height:100%;overflow:visible;width:100vw}.vm-modal_mobile .vm-modal-content-header{margin-bottom:12px;padding:8px 8px 8px 12px}.vm-modal_mobile .vm-modal-content-header__title{max-width:80vw}.vm-modal_mobile .vm-modal-content-body{align-items:flex-start;display:grid;min-height:100%;padding:0 12px 12px}.vm-modal-content{background:var(--color-background-block);border-radius:4px;box-shadow:0 0 24px #110f0f12;max-height:calc(var(--vh)*90);overflow:auto}.vm-modal-content-header{grid-gap:8px;align-items:center;background-color:var(--color-background-block);border-bottom:var(--border-divider);border-radius:4px 4px 0 0;color:var(--color-text);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:space-between;margin-bottom:12px;min-height:51px;padding:12px;position:-webkit-sticky;position:sticky;top:0;z-index:3}.vm-modal-content-header__title{font-weight:700;max-width:50vw;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;white-space:nowrap}.vm-modal-content-header__close{align-items:center;box-sizing:initial;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:10px;width:24px}.vm-modal-content-body{padding:0 12px 12px}.vm-shortcuts{min-width:400px}@media(max-width:500px){.vm-shortcuts{min-width:100%}}.vm-shortcuts-section{border-bottom:var(--border-divider);margin-bottom:12px;padding-bottom:12px;position:relative}.vm-shortcuts-section__title{font-weight:700;margin-bottom:12px}.vm-shortcuts-section__read-more{position:absolute;right:0;top:-8px}.vm-shortcuts-section-list{grid-gap:12px;display:grid;gap:12px}@media(max-width:500px){.vm-shortcuts-section-list{gap:12px}}.vm-shortcuts-section-list-item{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:210px 1fr}@media(max-width:500px){.vm-shortcuts-section-list-item{grid-template-columns:1fr}}.vm-shortcuts-section-list-item__key{align-items:center;display:flex;gap:4px}.vm-shortcuts-section-list-item__key code,.vm-shortcuts-section-list-item__key svg{background-color:var(--color-background-body);background-repeat:repeat-x;border:var(--border-divider);border-radius:4px;color:var(--color-text);display:inline-block;font-size:12px;line-height:2;padding:2px 8px 0;text-align:center}.vm-shortcuts-section-list-item__key svg{color:var(--color-primary);padding:4px;width:24px}.vm-shortcuts-section-list-item__description{font-size:14px}.vm-tooltip{animation:vm-scale .15s cubic-bezier(.28,.84,.42,1);background-color:var(--color-background-tooltip);border-radius:4px;box-shadow:var(--box-shadow-popper);color:#fff;font-size:12px;line-height:150%;opacity:1;padding:3px 8px;pointer-events:auto;position:fixed;transition:opacity .1s ease-in-out;white-space:nowrap;z-index:101}@keyframes vm-scale{0%{transform:scale(0)}to{transform:scale(1)}}.fc-graph-tips{grid-gap:12px;display:grid;gap:12px;max-width:520px}.fc-graph-tips-item{grid-gap:8px;border-bottom:var(--border-divider);display:grid;gap:8px;line-height:1.3;padding-bottom:12px}.fc-graph-tips-item__action{color:var(--color-text-secondary);font-weight:700}.fc-graph-tips-item__description{display:inline-block;line-height:1.5}.fc-graph-tips-item__description code,.fc-graph-tips-item__description svg{align-items:center;background-color:var(--color-background-body);border:var(--border-divider);border-radius:4px;color:var(--color-text);display:inline-flex;font-size:12px;justify-content:center;margin:0 2px 2px;min-height:20px;min-width:20px;padding:0 4px}.fc-graph-tips-item svg{color:var(--color-primary);margin-top:-8px;padding:2px;transform:translateY(8px);width:18px}.vm-menu-burger{background:none;border:none;cursor:pointer;height:18px;outline:none;padding:0;position:relative;transform-style:preserve-3d;width:18px}.vm-menu-burger:after{background-color:#110f0f1a;border-radius:50%;content:"";height:calc(100% + 12px);left:-6px;position:absolute;top:-6px;transform:scale(0) translateZ(-2px);transition:transform .14s ease-in-out;width:calc(100% + 12px)}.vm-menu-burger:hover:after{transform:scale(1) translateZ(-2px)}.vm-menu-burger span{border-top:2px solid #fff;display:block;top:50%;transform:translateY(-50%);transition:transform .3s ease,border-color .3s ease}.vm-menu-burger span,.vm-menu-burger span:after,.vm-menu-burger span:before{border-radius:6px;height:2px;left:0;position:absolute;width:100%}.vm-menu-burger span:after,.vm-menu-burger span:before{animation-duration:.6s;animation-fill-mode:forwards;animation-timing-function:cubic-bezier(.645,.045,.355,1);background:#fff;content:"";top:0}.vm-menu-burger span:before{animation-name:topLineBurger}.vm-menu-burger span:after{animation-name:bottomLineBurger}.vm-menu-burger_opened span{border-color:#0000}.vm-menu-burger_opened span:before{animation-name:topLineCross}.vm-menu-burger_opened span:after{animation-name:bottomLineCross}@keyframes topLineCross{0%{transform:translateY(-7px)}50%{transform:translateY(0)}to{transform:translateY(-2px) translateX(30%) rotate(45deg);width:60%}}@keyframes bottomLineCross{0%{transform:translateY(3px)}50%{transform:translateY(0)}to{transform:translateY(-2px) translateX(30%) rotate(-45deg);width:60%}}@keyframes topLineBurger{0%{transform:translateY(0) rotate(45deg)}50%{transform:rotate(0deg)}to{transform:translateY(-7px) rotate(0deg)}}@keyframes bottomLineBurger{0%{transform:translateY(0) rotate(-45deg)}50%{transform:rotate(0deg)}to{transform:translateY(3px) rotate(0deg)}}.vm-header-sidebar{background-color:inherit;color:inherit;height:24px;width:24px}.vm-header-sidebar-button{align-items:center;display:flex;height:51px;justify-content:center;left:0;position:absolute;top:0;transition:left .35s cubic-bezier(.28,.84,.42,1);width:51px}.vm-header-sidebar-button_open{left:149px;position:fixed;z-index:102}.vm-header-sidebar-menu{grid-gap:12px;background-color:inherit;box-shadow:var(--box-shadow-popper);display:grid;gap:12px;grid-template-rows:1fr auto;height:100%;left:0;padding:12px;position:fixed;top:0;transform:translateX(-100%);transform-origin:left;transition:transform .3s cubic-bezier(.28,.84,.42,1);width:200px;z-index:101}.vm-header-sidebar-menu_open{transform:translateX(0)}.vm-header-sidebar-menu__logo{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;position:relative;width:65px}.vm-header-sidebar-menu-settings{grid-gap:8px;align-items:center;display:grid;gap:8px}.vm-header-controls{align-items:center;display:flex;flex-grow:1;gap:8px;justify-content:flex-end}.vm-header-controls_mobile{display:grid;grid-template-columns:1fr;padding:0}.vm-header-controls_mobile .vm-header-button{border:none}.vm-header-controls-modal{transform:scale(0)}.vm-header-controls-modal_open{transform:scale(1)}.vm-container{display:flex;flex-direction:column;min-height:calc(var(--vh)*100 - var(--scrollbar-height))}.vm-container-body{background-color:var(--color-background-body);flex-grow:1;min-height:100%;padding:12px}.vm-container-body_mobile{padding:8px 0 0}@media(max-width:768px){.vm-container-body{padding:8px 0 0}}.vm-container-body_app{background-color:#0000;padding:8px 0}.vm-footer{align-items:center;background:var(--color-background-body);border-top:var(--border-divider);color:var(--color-text-secondary);display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:12px}@media(max-width:768px){.vm-footer{gap:12px;padding:12px}}.vm-footer__link,.vm-footer__website{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:12px auto;justify-content:center}.vm-footer__website{margin-right:12px}@media(max-width:768px){.vm-footer__website{margin-right:0}}.vm-footer__link{grid-template-columns:14px auto}.vm-footer__copyright{flex-grow:1;text-align:right}@media(max-width:768px){.vm-footer__copyright{font-size:12px;text-align:center;width:100%}}.vm-tenant-input{position:relative}.vm-tenant-input-list{border-radius:8px;max-height:300px;overflow:auto;overscroll-behavior:none}.vm-tenant-input-list_mobile{max-height:calc(var(--vh)*100 - 70px)}.vm-tenant-input-list_mobile .vm-tenant-input-list__search{padding:0 12px 8px}.vm-tenant-input-list__search{background-color:var(--color-background-block);padding:8px 12px;position:-webkit-sticky;position:sticky;top:0}.vm-text-field{display:grid;margin:6px 0;position:relative;width:100%}.vm-text-field_textarea:after{content:attr(data-replicated-value) " ";overflow-wrap:break-word;visibility:hidden;white-space:pre-wrap}.vm-text-field:after,.vm-text-field__input{background-color:#0000;border:var(--border-divider);box-sizing:border-box;font-family:monospace;font-size:14px;grid-area:1/1/2/2;line-height:18px;overflow:hidden;padding:8px 12px;width:100%}.vm-text-field__error,.vm-text-field__helper-text,.vm-text-field__label,.vm-text-field__warning{-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;background-color:var(--color-background-block);display:-webkit-box;font-size:12px;left:6px;line-height:14px;max-width:calc(100% - 12px);overflow:hidden;padding:0 3px;pointer-events:none;position:absolute;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;z-index:2}.vm-text-field__label{color:var(--color-text-secondary);top:-8px}.vm-text-field__error,.vm-text-field__helper-text,.vm-text-field__warning{overflow-wrap:anywhere;pointer-events:auto;position:relative;top:-6px;-webkit-user-select:text;user-select:text;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.vm-text-field__error_full,.vm-text-field__helper-text_full,.vm-text-field__warning_full{display:block;overflow:visible}.vm-text-field__error_overflowed,.vm-text-field__helper-text_overflowed,.vm-text-field__warning_overflowed{cursor:pointer}.vm-text-field__error{color:var(--color-error)}.vm-text-field__warning{color:var(--color-warning)}.vm-text-field__helper-text{color:var(--color-text-secondary)}.vm-text-field__input{background-color:#0000;border-radius:4px;color:var(--color-text);display:block;overflow:hidden;resize:none;transition:border .2s ease}.vm-text-field__input:focus,.vm-text-field__input:hover{border:1px solid var(--color-primary)}.vm-text-field__input_error,.vm-text-field__input_error:focus,.vm-text-field__input_error:hover{border-color:var(--color-error)}.vm-text-field__input_warning,.vm-text-field__input_warning:focus,.vm-text-field__input_warning:hover{border-color:var(--color-warning)}.vm-text-field__input_icon-start{padding-left:31px}.vm-text-field__input:disabled{background-color:inherit;color:inherit}.vm-text-field__input:disabled:hover{border-color:var(--color-text-disabled)}.vm-text-field__icon-end,.vm-text-field__icon-start{align-items:center;color:var(--color-text-secondary);display:flex;height:40px;justify-content:center;left:8px;max-width:15px;position:absolute;top:0}.vm-text-field__icon-end{left:auto;right:8px}.vm-text-field__controls-info{bottom:8px;color:var(--color-text-secondary);font-size:12px;opacity:.8;position:absolute;right:12px}.vm-step-control{display:inline-flex}.vm-step-control button{text-transform:none}.vm-step-control__value{display:inline;margin-left:3px}.vm-step-control-popper{grid-gap:8px;display:grid;font-size:14px;gap:8px;max-height:208px;max-width:300px;overflow:auto;padding:12px}.vm-step-control-popper_mobile{max-height:calc(var(--vh)*100 - 70px);max-width:100%;padding:0 12px 8px}.vm-step-control-popper_mobile .vm-step-control-popper-info{font-size:14px}.vm-step-control-popper-info{font-size:12px;line-height:1.8}.vm-step-control-popper-info a{margin:0 .4em}.vm-step-control-popper-info code{background-color:var(--color-hover-black);border-radius:6px;margin:0 .2em;padding:.2em .4em}.vm-time-duration{font-size:14px;max-height:227px;overflow:auto}.vm-time-duration_mobile{max-height:100%}.vm-time-selector{display:grid;grid-template-columns:repeat(2,230px);padding:12px 0}.vm-time-selector_mobile{grid-template-columns:1fr;max-height:calc(var(--vh)*100 - 70px);min-width:250px;overflow:auto;width:100%}.vm-time-selector_mobile .vm-time-selector-left{border-bottom:var(--border-divider);border-right:none;padding-bottom:12px}.vm-time-selector-left{border-right:var(--border-divider);display:flex;flex-direction:column;gap:8px;padding:0 12px}.vm-time-selector-left-inputs{align-items:flex-start;display:grid;flex-grow:1;justify-content:stretch}.vm-time-selector-left-timezone{align-items:center;display:flex;font-size:12px;gap:8px;justify-content:space-between;margin-bottom:8px}.vm-time-selector-left-timezone__utc{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;justify-content:center;padding:4px}.vm-time-selector-left__controls{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.vm-calendar{background-color:var(--color-background-block);border-radius:8px;display:grid;font-size:14px;grid-template-rows:auto 1fr auto;padding:12px;-webkit-user-select:none;user-select:none}.vm-calendar_mobile{padding:0 12px}.vm-calendar-header{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto;justify-content:center;min-height:36px;padding-bottom:12px}.vm-calendar-header-left{grid-gap:8px;align-items:center;cursor:pointer;display:grid;gap:8px;grid-template-columns:auto auto;justify-content:flex-start;transition:opacity .2s ease-in-out}.vm-calendar-header-left:hover{opacity:.8}.vm-calendar-header-left__date{color:var(--color-text);font-size:14px;font-weight:700}.vm-calendar-header-left__select-year{align-items:center;display:grid;height:14px;justify-content:center;width:14px}.vm-calendar-header-right{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:18px 18px;justify-content:center}.vm-calendar-header-right__next,.vm-calendar-header-right__prev{cursor:pointer;margin:-8px;padding:8px;transition:opacity .2s ease-in-out}.vm-calendar-header-right__next:hover,.vm-calendar-header-right__prev:hover{opacity:.8}.vm-calendar-header-right__prev{transform:rotate(90deg)}.vm-calendar-header-right__next{transform:rotate(-90deg)}.vm-calendar-body{grid-gap:2px;align-items:center;display:grid;gap:2px;grid-template-columns:repeat(7,32px);grid-template-rows:repeat(7,32px);justify-content:center}@media(max-width:500px){.vm-calendar-body{grid-template-columns:repeat(7,calc(14.28571vw - 5.14286px));grid-template-rows:repeat(7,calc(14.28571vw - 5.14286px))}}.vm-calendar-body-cell{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;text-align:center}.vm-calendar-body-cell_weekday{color:var(--color-text-secondary)}.vm-calendar-body-cell_day{cursor:pointer;transition:color .2s ease,background-color .3s ease-in-out}.vm-calendar-body-cell_day:hover{background-color:var(--color-hover-black)}.vm-calendar-body-cell_day_empty{pointer-events:none}.vm-calendar-body-cell_day_active{color:#fff}.vm-calendar-body-cell_day_active,.vm-calendar-body-cell_day_active:hover{background-color:var(--color-primary)}.vm-calendar-body-cell_day_today{border:1px solid var(--color-primary)}.vm-calendar-years{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);max-height:400px;overflow:auto}.vm-calendar-years__year{align-items:center;border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:8px 16px;transition:color .2s ease,background-color .3s ease-in-out}.vm-calendar-years__year:hover{background-color:var(--color-hover-black)}.vm-calendar-years__year_selected{color:#fff}.vm-calendar-years__year_selected,.vm-calendar-years__year_selected:hover{background-color:var(--color-primary)}.vm-calendar-years__year_today{border:1px solid var(--color-primary)}.vm-calendar-footer{align-items:center;display:flex;justify-content:flex-end}.vm-date-time-input{grid-gap:8px 0;align-items:center;cursor:pointer;display:grid;gap:8px 0;grid-template-columns:1fr;justify-content:center;margin-bottom:12px;position:relative;transition:color .2s ease-in-out,border-bottom-color .3s ease}.vm-date-time-input:hover input{border-bottom-color:var(--color-primary)}.vm-date-time-input label{color:var(--color-text-secondary);font-size:12px;grid-column:1/3;-webkit-user-select:none;user-select:none;width:100%}.vm-date-time-input__icon{bottom:2px;position:absolute;right:0}.vm-date-time-input input{background:#0000;border:none;border-bottom:var(--border-divider);color:var(--color-text);padding:0 0 8px}.vm-date-time-input input:focus{border-bottom-color:var(--color-primary)}.vm-date-time-input_error input{border-color:var(--color-error)}.vm-date-time-input_error input:focus{border-bottom-color:var(--color-error)}.vm-date-time-input__error-text{bottom:-12px;color:var(--color-error);font-size:12px;left:0;position:absolute}.vm-button{align-items:center;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:12px;font-weight:400;justify-content:center;line-height:15px;min-height:31px;padding:6px 14px;position:relative;text-transform:uppercase;transform-style:preserve-3d;-webkit-user-select:none;user-select:none;white-space:nowrap}.vm-button:hover:after{background-color:var(--color-hover-black)}.vm-button:after,.vm-button:before{border-radius:6px;content:"";height:100%;left:0;position:absolute;top:0;transition:background-color .2s ease;width:100%}.vm-button:before{transform:translateZ(-2px)}.vm-button:after{background-color:#0000;transform:translateZ(-1px)}.vm-button:active:after{transform:scale(.9)}.vm-button span{align-items:center;display:grid;justify-content:center;transform:translateZ(1px)}.vm-button span svg{width:15px}.vm-button__start-icon{margin-right:6px}.vm-button__end-icon{margin-left:6px}.vm-button_disabled{cursor:not-allowed;opacity:.3}.vm-button_icon{padding:6px 8px}.vm-button_icon .vm-button__end-icon,.vm-button_icon .vm-button__start-icon{margin:0}.vm-button_small{min-height:25px;padding:4px 8px}.vm-button_small span svg{width:13px}.vm-button_contained_primary{color:var(--color-primary-text)}.vm-button_contained_primary,.vm-button_contained_primary:before{background-color:var(--color-primary)}.vm-button_contained_primary:hover:after{background-color:#110f0f33}.vm-button_contained_secondary{color:var(--color-secondary-text)}.vm-button_contained_secondary:before{background-color:var(--color-secondary)}.vm-button_contained_secondary:hover:after{background-color:#110f0f33}.vm-button_contained_success{color:var(--color-success-text)}.vm-button_contained_success:before{background-color:var(--color-success)}.vm-button_contained_success:hover:after{background-color:#110f0f33}.vm-button_contained_error{color:var(--color-error-text)}.vm-button_contained_error:before{background-color:var(--color-error)}.vm-button_contained_gray{color:var(--color-text-secondary)}.vm-button_contained_gray:before{background-color:var(--color-text-secondary)}.vm-button_contained_warning{color:var(--color-warning)}.vm-button_contained_warning:before{background-color:var(--color-warning);opacity:.2}.vm-button_text_primary{color:var(--color-primary)}.vm-button_text_secondary{color:var(--color-secondary)}.vm-button_text_success{color:var(--color-success)}.vm-button_text_error{color:var(--color-error)}.vm-button_text_gray{color:var(--color-text-secondary)}.vm-button_text_white{color:#fff}.vm-button_text_warning{color:var(--color-warning)}.vm-button_outlined_primary{border:1px solid var(--color-primary);color:var(--color-primary)}.vm-button_outlined_error{border:1px solid var(--color-error);color:var(--color-error)}.vm-button_outlined_secondary{border:1px solid var(--color-secondary);color:var(--color-secondary)}.vm-button_outlined_success{border:1px solid var(--color-success);color:var(--color-success)}.vm-button_outlined_gray{border:1px solid var(--color-text-secondary);color:var(--color-text-secondary)}.vm-button_outlined_white{border:1px solid #fff;color:#fff}.vm-button_outlined_warning{border:1px solid var(--color-warning);color:var(--color-warning)}.vm-execution-controls-buttons{border-radius:7px;display:flex;justify-content:space-between;min-width:107px}.vm-execution-controls-buttons_mobile{flex-direction:column;gap:12px}.vm-execution-controls-buttons__arrow{align-items:center;display:flex;justify-content:center;transform:rotate(0);transition:transform .2s ease-in-out}.vm-execution-controls-buttons__arrow_open{transform:rotate(180deg)}.vm-execution-controls-list{font-size:14px;max-height:208px;overflow:auto;padding:8px 0;width:124px}.vm-execution-controls-list_mobile{max-height:calc(var(--vh)*100 - 70px);padding:0;width:100%}.vm-server-configurator{align-items:center;display:flex;flex-direction:column;gap:12px;padding-bottom:12px;width:600px}.vm-server-configurator_mobile{align-items:flex-start;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content;height:100%;width:100%}@media(max-width:768px){.vm-server-configurator{width:100%}}.vm-server-configurator__input{width:100%}.vm-server-configurator__input_flex{align-items:flex-start;display:flex;gap:12px}.vm-server-configurator__title{align-items:center;display:flex;font-size:14px;font-weight:700;grid-column:auto/span 2;justify-content:flex-start;margin-bottom:12px}.vm-server-configurator-url{align-items:flex-start;display:flex;gap:8px}.vm-server-configurator-url__button{margin-top:8px}.vm-server-configurator-footer{align-items:center;display:flex;gap:8px;justify-content:flex-end;width:100%}.vm-server-configurator_mobile .vm-server-configurator-footer{display:grid;grid-template-columns:1fr 1fr}.vm-limits-configurator-title__reset{align-items:center;display:flex;flex-grow:1;justify-content:flex-end}.vm-limits-configurator__inputs{grid-gap:12px;align-items:center;display:grid;flex-wrap:wrap;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));justify-content:space-between}.vm-limits-configurator__inputs_mobile{gap:8px}.vm-accordion-header{align-items:center;cursor:pointer;display:grid;font-size:inherit;position:relative}.vm-accordion-header__arrow{align-items:center;display:flex;justify-content:center;position:absolute;right:14px;top:auto;transform:rotate(0);transition:transform .2s ease-in-out}.vm-accordion-header__arrow_open{transform:rotate(180deg)}.vm-accordion-header__arrow svg{height:auto;width:14px}.accordion-section{overflow:hidden}.vm-timezones-item{align-items:center;cursor:pointer;display:flex;gap:8px;justify-content:space-between}.vm-timezones-item_selected{border:var(--border-divider);border-radius:4px;padding:8px 12px}.vm-timezones-item__title{align-items:center;display:flex;gap:8px;text-transform:capitalize}.vm-timezones-item__title svg{color:var(--color-warning);width:14px}.vm-timezones-item__utc{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;justify-content:center;padding:4px}.vm-timezones-item__icon{align-items:center;display:inline-flex;justify-content:flex-end;margin:0 0 0 auto;transition:transform .2s ease-in}.vm-timezones-item__icon svg{width:14px}.vm-timezones-item__icon_open{transform:rotate(180deg)}.vm-timezones-list{background-color:var(--color-background-block);border-radius:8px;max-height:300px;overflow:auto}.vm-timezones-list_mobile{max-height:calc(var(--vh)*100 - 70px)}.vm-timezones-list_mobile .vm-timezones-list-header__search{padding:0 12px}.vm-timezones-list-header{background-color:var(--color-background-block);border-bottom:var(--border-divider);position:-webkit-sticky;position:sticky;top:0;z-index:2}.vm-timezones-list-header__search{padding:8px}.vm-timezones-list-group{border-bottom:var(--border-divider);padding:8px 0}.vm-timezones-list-group:last-child{border-bottom:none}.vm-timezones-list-group__title{color:var(--color-text-secondary);font-weight:700;padding:8px 12px}.vm-timezones-list-group-options{align-items:flex-start;display:grid}.vm-timezones-list-group-options__item{padding:8px 12px;transition:background-color .2s ease}.vm-timezones-list-group-options__item:hover{background-color:#110f0f1a}.vm-theme-control__toggle{display:inline-flex;min-width:300px;text-transform:capitalize}.vm-theme-control_mobile .vm-theme-control__toggle{display:flex;min-width:100%}.vm-toggles{grid-gap:3px;display:grid;gap:3px;position:relative;width:100%}.vm-toggles__label{color:var(--color-text-secondary);font-size:12px;line-height:1;padding:0 12px}.vm-toggles-group{overflow:hidden;width:100%}.vm-toggles-group,.vm-toggles-group-item{align-items:center;display:grid;justify-content:center;position:relative}.vm-toggles-group-item{border-bottom:var(--border-divider);border-right:var(--border-divider);border-top:var(--border-divider);color:var(--color-text-secondary);cursor:pointer;font-size:12px;font-weight:700;padding:8px;text-align:center;transition:color .15s ease-in;-webkit-user-select:none;user-select:none;z-index:2}.vm-toggles-group-item_first{border-left:var(--border-divider);border-radius:16px 0 0 16px}.vm-toggles-group-item:last-child{border-left:none;border-radius:0 16px 16px 0}.vm-toggles-group-item_icon{gap:4px;grid-template-columns:14px auto}.vm-toggles-group-item:hover{color:var(--color-primary)}.vm-toggles-group-item_active{border-color:#0000;color:var(--color-primary)}.vm-toggles-group-item_active:hover{background-color:#0000}.vm-toggles-group__highlight{background-color:rgba(var(--color-primary),.08);border:1px solid var(--color-primary);height:100%;position:absolute;top:0;transition:left .2s cubic-bezier(.28,.84,.42,1),border-radius .2s linear;z-index:1}.vm-autocomplete{max-height:300px;overflow:auto;overscroll-behavior:none;position:relative}.vm-autocomplete_mobile{max-height:calc(var(--vh)*100 - 70px)}.vm-autocomplete__no-options{color:var(--color-text-disabled);padding:12px;text-align:center}.vm-autocomplete__loader{grid-gap:8px;align-items:center;color:var(--color-text-secondary);display:grid;gap:8px;grid-template-columns:14px auto;justify-content:center;padding:12px;pointer-events:none;z-index:2}.vm-autocomplete__loader svg{animation:half-circle-spinner-animation 1s linear infinite,vm-fade .5s ease-in}.vm-autocomplete-info,.vm-autocomplete-message{background-color:var(--color-background-block);border-top:var(--border-divider);padding:12px}.vm-autocomplete-message{color:var(--color-warning);font-size:12px;position:relative}.vm-autocomplete-message:after{background:var(--color-warning);content:"";height:100%;left:0;opacity:.1;position:absolute;top:0;width:100%}.vm-autocomplete-info{max-width:500px;min-width:450px;overflow-wrap:anywhere}.vm-autocomplete-info__type{color:var(--color-text-secondary);margin-bottom:8px}.vm-autocomplete-info__description{line-height:130%}.vm-autocomplete-info__description p{margin:12px 0}.vm-autocomplete-info__description p:last-child{margin:0}.vm-query-editor{position:relative}.vm-query-editor .marker-detection{left:0;pointer-events:none;position:absolute;top:0;visibility:hidden;z-index:-9999}.vm-additional-settings{align-items:center;display:inline-flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}.vm-additional-settings__input{flex-basis:160px;margin-bottom:-6px}.vm-additional-settings_mobile{grid-gap:12px;align-items:flex-start;display:grid;gap:12px;grid-template-columns:1fr;padding:0 12px;width:100%}.vm-switch{align-items:center;cursor:pointer;display:flex;font-size:12px;justify-content:flex-start;-webkit-user-select:none;user-select:none}.vm-switch_full-width{flex-direction:row-reverse;justify-content:space-between}.vm-switch_full-width .vm-switch__label{margin-left:0}.vm-switch_disabled{cursor:default;opacity:.6}.vm-switch_secondary_active .vm-switch-track{background-color:var(--color-secondary)}.vm-switch_primary_active .vm-switch-track{background-color:var(--color-primary)}.vm-switch_active .vm-switch-track__thumb{left:20px}.vm-switch:hover .vm-switch-track{opacity:.8}.vm-switch-track{align-items:center;background-color:#110f0f66;border-radius:17px;display:flex;height:17px;justify-content:flex-start;padding:3px;position:relative;transition:background-color .2s ease,opacity .3s ease-out;width:34px}.vm-switch-track__thumb{background-color:var(--color-background-block);border-radius:50%;left:3px;min-height:11px;min-width:11px;position:absolute;top:auto;transform-style:preserve-3d;transition:right .2s ease-out,left .2s ease-out}.vm-switch__label{color:var(--color-text-secondary);font-size:inherit;margin-left:8px;transition:color .2s ease;white-space:nowrap}.vm-switch_active .vm-switch__label{color:var(--color-text)}.vm-query-configurator{grid-gap:12px;display:grid;gap:12px}.vm-query-configurator-list{display:grid}.vm-query-configurator-list-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto auto auto}.vm-query-configurator-list-row_mobile{gap:4px}.vm-query-configurator-list-row_disabled{filter:grayscale(100%);opacity:.5}.vm-query-configurator-list-row__button{align-items:start;display:grid;min-height:36px;width:36px}.vm-query-configurator-settings{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.vm-query-configurator-settings__buttons{grid-gap:8px;display:grid;flex-grow:1;gap:8px;grid-template-columns:repeat(3,auto);justify-content:flex-end}.vm-query-history{max-width:80vw;min-width:500px}.vm-query-history_mobile{max-width:100vw;min-width:100vw}.vm-query-history__tabs{border-bottom:var(--border-divider);margin:-12px -12px 0;padding:0 8px}.vm-query-history__tabs_mobile{margin:-12px -12px 0}.vm-query-history-list{align-items:flex-start;display:grid}.vm-query-history-list__group-title{font-weight:700;margin:0 -12px;padding:12px 12px 8px}.vm-query-history-list__group-title_first{padding-top:12px}.vm-query-history-list__no-data{align-items:center;color:var(--color-text-secondary);display:flex;justify-content:center;line-height:18px;padding:16px 12px;text-align:center;white-space:pre-line}.vm-query-history-item{grid-gap:8px;align-items:center;border-bottom:var(--border-divider);display:grid;gap:8px;grid-template-columns:1fr auto;margin:0 -12px;padding:8px 12px}.vm-query-history-item__value{font-family:monospace;overflow-wrap:anywhere;white-space:pre-wrap}.vm-query-history-item__buttons{display:flex}.vm-query-history-footer{display:flex;justify-content:flex-end;padding-top:12px}.vm-spinner{align-items:center;animation:vm-fade 2s cubic-bezier(.28,.84,.42,1.1);background-color:#ffffff80;bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:99}.vm-spinner_dark{background-color:#110f0f33}.vm-spinner__message{color:rgba(var(--color-text),.9);font-size:16px;line-height:1.3;margin-top:12px;text-align:center;white-space:pre-line}.half-circle-spinner,.half-circle-spinner *{box-sizing:border-box}.half-circle-spinner{border-radius:100%;height:60px;position:relative;width:60px}.half-circle-spinner .circle{border:6px solid #0000;border-radius:100%;content:"";height:100%;position:absolute;width:100%}.half-circle-spinner .circle.circle-1{animation:half-circle-spinner-animation 1s infinite;border-top-color:var(--color-primary)}.half-circle-spinner .circle.circle-2{animation:half-circle-spinner-animation 1s infinite alternate;border-bottom-color:var(--color-primary)}@keyframes half-circle-spinner-animation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes vm-fade{0%{opacity:0}to{opacity:1}}.vm-anomaly-config{grid-gap:12px;display:grid;gap:12px;grid-template-rows:calc(var(--vh)*70 - 114px) auto;max-width:80vw;min-height:300px;min-width:400px}.vm-anomaly-config_mobile{grid-template-rows:calc(var(--vh)*100 - 114px) auto;max-width:none;min-height:100%;width:100%}.vm-anomaly-config textarea{height:100%;max-height:900px;overflow:auto;width:100%}.vm-anomaly-config-error{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center;text-align:center;width:100%}.vm-anomaly-config-error__icon{align-items:center;color:var(--color-error);display:flex;height:30px;justify-content:center;margin-bottom:8px;width:30px}.vm-anomaly-config-error__title{font-size:16px;font-weight:700}.vm-anomaly-config-error__text{line-height:1.3;max-width:700px}.vm-anomaly-config-footer{align-items:center;display:flex;gap:8px;justify-content:flex-end}.vm-custom-panel{grid-gap:12px;align-items:flex-start;display:grid;gap:12px;grid-template-columns:100%;height:100%}.vm-custom-panel_mobile{gap:8px}.vm-custom-panel__warning{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:space-between}.vm-custom-panel__warning_mobile{grid-template-columns:1fr}.vm-custom-panel-body{position:relative}.vm-custom-panel-body-header{align-items:center;border-bottom:var(--border-divider);display:flex;font-size:12px;justify-content:space-between;margin:-12px -12px 12px;padding:0 12px;position:relative;z-index:1}.vm-custom-panel-body-header__tabs{display:flex;flex-grow:1;justify-content:flex-start}.vm-custom-panel-body-header__graph-controls{align-items:center;display:flex;gap:8px;margin:5px 10px}.vm-custom-panel-body_mobile .vm-custom-panel-body-header{margin:-12px -12px 12px;padding:0 12px}.vm-tracings-view{grid-gap:12px;display:grid;gap:12px}.vm-tracings-view-trace-header{align-items:center;border-bottom:var(--border-divider);display:flex;justify-content:space-between;padding:8px 8px 8px 12px}.vm-tracings-view-trace-header-title{flex-grow:1;font-size:16px;margin-right:8px}.vm-tracings-view-trace-header-title__query{font-weight:700}.vm-tracings-view-trace-header__expand-icon{align-items:center;color:var(--color-text-secondary);display:flex;justify-content:center;transform:rotate(-90deg);transition:transform .2s ease-in-out;width:20px}.vm-tracings-view-trace-header__expand-icon_open{transform:rotate(0)}.vm-tracings-view-trace__nav{padding:12px 12px 12px 0}.vm-tracings-view-trace__nav_mobile{padding:8px 8px 8px 0}.vm-line-progress{grid-gap:8px;align-items:center;color:var(--color-text-secondary);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:center}.vm-line-progress-track{background-color:var(--color-hover-black);border-radius:4px;height:20px;width:100%}.vm-line-progress-track__thumb{background-color:#1a90ff;border-radius:4px;height:100%}.vm-nested-nav{border-radius:4px;margin-left:16px;position:relative}.vm-nested-nav_dark .vm-nested-nav-header,.vm-nested-nav_dark .vm-nested-nav-header:after,.vm-nested-nav_dark .vm-nested-nav-header:before{background-color:var(--color-background-body)}.vm-nested-nav_dark .vm-nested-nav-header:hover{box-shadow:0 0 0 1px #ffffff14}.vm-nested-nav_mobile{margin-left:8px}.vm-nested-nav_root>.vm-nested-nav-header:after,.vm-nested-nav_root>.vm-nested-nav-header:before{display:none}.vm-nested-nav-header{grid-gap:8px;background-color:#c9e3f666;border-radius:4px;cursor:pointer;display:grid;gap:8px;grid-template-columns:auto 1fr;margin-bottom:8px;padding:8px;position:relative;transition:box-shadow .2s ease-in-out;z-index:2}.vm-nested-nav-header:after{height:2px;top:calc(50% - 1px);width:12px}.vm-nested-nav-header:after,.vm-nested-nav-header:before{background-color:#c9e3f6;content:"";left:-12px;position:absolute}.vm-nested-nav-header:before{bottom:50%;height:calc(50% + 8px);width:2px}.vm-nested-nav-header:hover{box-shadow:0 0 0 1px #110f0f14}.vm-nested-nav-header__icon{align-items:center;color:var(--color-text-secondary);display:flex;justify-content:center;transform:rotate(-90deg);transition:transform .2s ease-in-out;width:20px}.vm-nested-nav-header__icon_open{transform:rotate(0)}.vm-nested-nav-header__progress{grid-column:2}.vm-nested-nav-header__message{-webkit-line-clamp:3;-webkit-box-orient:vertical;line-clamp:3;display:-moz-box;display:-webkit-box;grid-column:2;line-height:130%;overflow:hidden;position:relative;text-overflow:ellipsis}.vm-nested-nav-header__message_show-full{display:block;overflow:visible}.vm-nested-nav-header__message_duration{color:var(--color-text-secondary)}.vm-nested-nav-header-bottom{align-items:center;display:grid;grid-column:2;grid-template-columns:1fr auto}.vm-nested-nav__childrens>.vm-nested-nav:not(:last-child):before{background-color:#c9e3f6;content:"";height:calc(100% + 32px);left:-12px;position:absolute;top:0;width:2px}.vm-nested-nav__childrens>.vm-nested-nav_dark:not(:last-child):before{background-color:var(--color-background-body)}.vm-nested-nav__childrens>.vm-nested-nav:last-child{margin-bottom:32px}.uplot,.uplot *,.uplot :after,.uplot :before{box-sizing:border-box}.uplot{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;width:-webkit-min-content;width:min-content}.u-title{font-size:18px;font-weight:700;text-align:center}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;height:100%;position:relative;width:100%}.u-axis{position:absolute}.u-legend{font-size:14px;margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{display:inline-block;vertical-align:middle}.u-legend .u-marker{background-clip:padding-box!important;height:1em;margin-right:4px;width:1em}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:#00000012}.u-cursor-x,.u-cursor-y,.u-select{pointer-events:none;position:absolute}.u-cursor-x,.u-cursor-y{left:0;top:0;will-change:transform}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{background-clip:padding-box!important;border:0 solid;border-radius:50%;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.u-axis.u-off,.u-cursor-pt.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-select.u-off{display:none}.vm-line-chart{pointer-events:auto}.vm-line-chart_panning{pointer-events:none}.vm-line-chart__u-plot{position:relative}.vm-chart-tooltip{grid-gap:12px;word-wrap:break-word;background:var(--color-background-tooltip);border-radius:8px;color:#fff;display:grid;font-family:monospace;font-size:12px;font-weight:400;gap:12px;line-height:150%;padding:12px;pointer-events:none;position:absolute;-webkit-user-select:text;user-select:text;width:370px;z-index:98}.vm-chart-tooltip_sticky{pointer-events:auto;z-index:99}.vm-chart-tooltip_moved{margin-left:-316.5px;margin-top:-24.5px;position:fixed}.vm-chart-tooltip-header{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr 25px 25px;justify-content:center;min-height:25px}.vm-chart-tooltip-header__title{grid-row:1}.vm-chart-tooltip-header__close{color:#fff;grid-column:3;grid-row:1}.vm-chart-tooltip-header__drag{color:#fff;cursor:move;grid-column:2;grid-row:1}.vm-chart-tooltip-header__date{grid-gap:2px;display:grid;gap:2px;grid-column:1}.vm-chart-tooltip-data{align-items:center;display:flex;gap:8px;justify-content:flex-start}.vm-chart-tooltip-data__marker{border:1px solid #ffffff80;height:14px;width:14px}.vm-chart-tooltip-data__value{font-size:14px;line-height:1}.vm-chart-tooltip-stats{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:flex-start}.vm-chart-tooltip-stats-row{align-items:center;display:grid;justify-content:flex-start}.vm-chart-tooltip-stats-row:not(:last-child){padding-right:8px}.vm-chart-tooltip-stats-row__key{line-height:1;margin-right:4px}.vm-chart-tooltip-stats-row__value{font-weight:700}.vm-chart-tooltip__info{white-space:pre-wrap;word-break:break-all}.vm-legend-item{grid-gap:8px;align-items:start;background-color:var(--color-background-block);cursor:pointer;display:grid;font-size:12px;grid-template-columns:auto auto;justify-content:start;padding:8px;transition:.2s ease}.vm-legend-item:hover{background-color:#0000001a}.vm-legend-item_hide{opacity:.5;text-decoration:line-through}.vm-legend-item_static{cursor:default;grid-template-columns:1fr;margin:0;padding:0}.vm-legend-item_static:hover{background-color:var(--color-background-block)}.vm-legend-item__marker{border-radius:2px;box-sizing:border-box;height:14px;position:relative;transition:.2s ease;width:14px}.vm-legend-item-info{font-weight:400;word-break:break-all}.vm-legend-item-info__label{margin-right:2px}.vm-legend-item-info__free-fields{cursor:pointer;padding:2px}.vm-legend-item-info__free-fields:hover{text-decoration:underline}.vm-legend-item-stats{align-items:center;display:flex;gap:8px;grid-column:2}.vm-legend-item-stats-row{align-items:center;display:flex;justify-content:flex-start}.vm-legend-item-stats-row:not(:last-child){padding-right:12px}.vm-legend-item-stats-row__key{color:var(--color-text-secondary);line-height:1;margin-right:4px}.vm-legend{cursor:default;display:flex;flex-wrap:wrap;position:relative}.vm-legend-group{margin:0 12px 12px 0;min-width:23%;width:100%}.vm-legend-group-title{align-items:center;border-bottom:var(--border-divider);display:flex;margin-bottom:1px;padding:8px}.vm-legend-group-title__count{font-weight:700;margin-right:8px}.vm-legend-heatmap{align-items:center;display:inline-grid;gap:4px;grid-template-columns:auto auto;justify-content:space-between}.vm-legend-heatmap__wrapper{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.vm-legend-heatmap__value{color:var(--color-text);font-size:12px}.vm-legend-heatmap__value:last-child{text-align:right}.vm-legend-heatmap-gradient{align-items:center;display:flex;grid-column:1/-1;height:12px;justify-content:center;position:relative;width:200px}.vm-legend-heatmap-gradient__value{align-items:center;border:2px solid var(--color-text);border-radius:50%;display:flex;height:16px;justify-content:center;position:absolute;top:-2px;transform:translateX(-8px);transition:left .1s ease;width:16px}.vm-legend-heatmap-gradient__value span{background-color:var(--color-background-block);box-shadow:var(--box-shadow);color:var(--color-text);font-size:12px;left:auto;padding:4px 8px;position:absolute;top:18px}.vm-legend-heatmap__labels{word-break:break-all}.vm-graph-view{width:100%}.vm-graph-view_full-width{width:calc(100vw - 48px - var(--scrollbar-width))}@media(max-width:768px){.vm-graph-view_full-width{width:calc(100vw - 24px - var(--scrollbar-width))}}.vm-graph-view_full-width_mobile{width:calc(100vw - 24px - var(--scrollbar-width))}.vm-legend-anomaly{cursor:default;flex-wrap:wrap;gap:32px;position:relative}.vm-legend-anomaly,.vm-legend-anomaly-item{align-items:center;display:flex;justify-content:center}.vm-legend-anomaly-item{gap:8px}.vm-legend-anomaly-item svg{height:14px;width:30px}.vm-axes-limits{grid-gap:12px;align-items:center;display:grid;gap:12px;max-width:300px}.vm-axes-limits_mobile{gap:12px;max-width:100%;width:100%}.vm-axes-limits_mobile .vm-axes-limits-list__inputs{grid-template-columns:repeat(2,1fr)}.vm-axes-limits-list{grid-gap:12px;align-items:center;display:grid;gap:12px}.vm-axes-limits-list__inputs{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,120px)}.vm-graph-settings-popper{grid-gap:12px;display:grid;gap:12px;padding:0 0 12px}.vm-graph-settings-popper__body{grid-gap:16px;display:grid;gap:16px;padding:0 12px}.vm-json-view__copy{display:flex;justify-content:flex-end;position:-webkit-sticky;position:sticky;top:0;z-index:2}.vm-json-view__code{font-size:14px;line-height:1.4;transform:translateY(-32px);white-space:pre-wrap}.vm-table-view{max-width:100%;overflow:auto}.vm-table-view,.vm-table-view_mobile{margin-top:-12px}.vm-table-view table{margin-top:0}.vm-table-settings-popper{display:grid;min-width:250px}.vm-table-settings-popper_mobile .vm-table-settings-popper-list{gap:12px}.vm-table-settings-popper_mobile .vm-table-settings-popper-list:first-child{padding-top:0}.vm-table-settings-popper-list{grid-gap:12px;border-bottom:var(--border-divider);display:grid;gap:12px;max-height:350px;overflow:auto;padding:12px}.vm-table-settings-popper-list_first{padding-top:0}.vm-table-settings-popper-list-header{align-items:center;display:grid;grid-template-columns:1fr auto;justify-content:space-between;min-height:25px}.vm-table-settings-popper-list-header__title{font-weight:700}.vm-table-settings-popper-list__item{font-size:14px}.vm-checkbox{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;-webkit-user-select:none;user-select:none}.vm-checkbox_disabled{cursor:default;opacity:.6}.vm-checkbox_secondary_active .vm-checkbox-track{background-color:var(--color-secondary)}.vm-checkbox_secondary .vm-checkbox-track{border:1px solid var(--color-secondary)}.vm-checkbox_primary_active .vm-checkbox-track{background-color:var(--color-primary)}.vm-checkbox_primary .vm-checkbox-track{border:1px solid var(--color-primary)}.vm-checkbox_active .vm-checkbox-track__thumb{transform:scale(1)}.vm-checkbox:hover .vm-checkbox-track{opacity:.8}.vm-checkbox-track{align-items:center;background-color:#0000;border-radius:4px;display:flex;height:16px;justify-content:center;padding:2px;position:relative;transition:background-color .2s ease,opacity .3s ease-out;width:16px}.vm-checkbox-track__thumb{align-items:center;color:#fff;display:grid;height:12px;justify-content:center;transform:scale(0);transition:transform .1s ease-in-out;width:12px}.vm-checkbox__label{color:inherit;font-size:inherit;margin-left:8px;transition:color .2s ease;white-space:nowrap}.vm-download-report{grid-gap:16px;display:grid;gap:16px;min-width:400px;padding-top:4px}.vm-download-report-settings{grid-gap:12px;display:grid;gap:12px}.vm-download-report-settings textarea{min-height:100px}.vm-download-report__buttons{align-items:center;display:flex;gap:12px;justify-content:flex-end}.vm-download-report-helper{grid-gap:8px;display:grid;gap:8px;padding:12px}.vm-download-report-helper__description{line-height:1.3;max-width:400px;white-space:pre-line}.vm-download-report-helper__description p{margin-bottom:4px}.vm-download-report-helper__buttons{align-items:center;display:flex;gap:8px;justify-content:flex-end}.vm-predefined-panel-header{grid-gap:8px;align-items:center;border-bottom:var(--border-divider);display:grid;gap:8px;grid-template-columns:auto 1fr auto;justify-content:flex-start;padding:8px 16px}.vm-predefined-panel-header__description{line-height:1.3;white-space:pre-wrap}.vm-predefined-panel-header__description ol,.vm-predefined-panel-header__description ul{list-style-position:inside}.vm-predefined-panel-header__description a{color:#c9e3f6;text-decoration:underline}.vm-predefined-panel-header__info{align-items:center;color:var(--color-primary);display:flex;justify-content:center;width:18px}.vm-predefined-panel-body{min-height:500px;padding:8px 16px}@media(max-width:500px){.vm-predefined-panel-body{padding:0}}.vm-predefined-dashboard{background-color:#0000}.vm-predefined-dashboard-header{align-items:center;border-radius:4px;box-shadow:var(--box-shadow);display:grid;font-weight:700;grid-template-columns:1fr auto;justify-content:space-between;line-height:1;overflow:hidden;padding:12px;position:relative;transform-style:preserve-3d;transition:box-shadow .2s ease-in-out}.vm-predefined-dashboard-header_open{border-radius:4px 4px 0 0;box-shadow:none}.vm-predefined-dashboard-header__title{font-size:14px}.vm-predefined-dashboard-header__count{font-size:12px;grid-column:2;margin-right:26px}.vm-predefined-dashboard-panels{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(12,1fr);padding:0}@media(max-width:1000px){.vm-predefined-dashboard-panels{grid-template-columns:1fr}}.vm-predefined-dashboard-panels-panel{border-radius:8px;overflow:hidden;position:relative}.vm-predefined-dashboard-panels-panel:hover .vm-predefined-dashboard-panels-panel__resizer{transform:scale(1)}.vm-predefined-dashboard-panels-panel__resizer{bottom:0;cursor:ew-resize;height:20px;position:absolute;right:0;transform:scale(0);transition:transform .2s ease-in-out;width:20px;z-index:1}.vm-predefined-dashboard-panels-panel__resizer:after{border-bottom:2px solid #110f0f33;border-right:2px solid #110f0f33;bottom:5px;content:"";height:5px;position:absolute;right:5px;width:5px}.vm-predefined-dashboard-panels-panel__alert{grid-column:span 12}.vm-predefined-panels{grid-gap:12px;align-items:flex-start;display:grid;gap:12px}@media(max-width:768px){.vm-predefined-panels{padding:12px 0}}@media(max-width:500px){.vm-predefined-panels{padding:8px 0}}.vm-predefined-panels-tabs{align-items:center;display:flex;flex-wrap:wrap;font-size:12px;gap:8px;justify-content:flex-start;overflow:hidden}@media(max-width:768px){.vm-predefined-panels-tabs{padding:0 12px}}.vm-predefined-panels-tabs__tab{background:var(--color-background-block);border:1px solid #110f0f33;border-radius:8px;color:var(--color-text-secondary);cursor:pointer;padding:8px 12px;text-align:center;text-transform:uppercase;transition:background .2s ease-in-out,color .15s ease-in}@media(max-width:500px){.vm-predefined-panels-tabs__tab{flex-grow:1}}.vm-predefined-panels-tabs__tab:hover{color:var(--color-primary)}.vm-predefined-panels-tabs__tab_active{border-color:var(--color-primary);color:var(--color-primary)}.vm-predefined-panels__dashboards{grid-gap:12px;display:grid;gap:12px}.vm-cardinality-configurator{grid-gap:8px;display:grid;gap:8px}.vm-cardinality-configurator-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:flex-start}.vm-cardinality-configurator-controls__query{flex-grow:10}.vm-cardinality-configurator-controls__item{flex-grow:2}.vm-cardinality-configurator-controls__item_limit{flex-grow:1}.vm-cardinality-configurator-controls__item svg{color:var(--color-text-disabled)}.vm-cardinality-configurator-bottom{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;width:100%}.vm-cardinality-configurator-bottom-helpful{align-items:center;display:flex;flex-wrap:wrap;gap:8px 12px;justify-content:flex-end}.vm-cardinality-configurator-bottom-helpful a{color:var(--color-text-secondary)}.vm-cardinality-configurator-bottom__execute{align-items:center;display:flex;gap:8px}.vm-cardinality-configurator_mobile .vm-cardinality-configurator-bottom{justify-content:center}.vm-cardinality-configurator_mobile .vm-cardinality-configurator-bottom-helpful{flex-grow:1;justify-content:center}.vm-cardinality-configurator_mobile .vm-cardinality-configurator-bottom__execute,.vm-cardinality-configurator_mobile .vm-cardinality-configurator-bottom__execute button:nth-child(3){width:100%}.vm-cardinality-totals{align-content:flex-start;display:inline-flex;flex-grow:1;flex-wrap:wrap;gap:12px;justify-content:flex-start}.vm-cardinality-totals_mobile{gap:12px;justify-content:center}.vm-cardinality-totals-card{grid-gap:8px 4px;align-items:center;display:grid;gap:8px 4px;grid-template-columns:auto 1fr;justify-content:center}.vm-cardinality-totals-card__info-icon{align-items:center;color:var(--color-primary);display:flex;justify-content:center;width:12px}.vm-cardinality-totals-card__title{align-items:center;color:var(--color-text);display:flex;gap:4px;grid-column:1/-1;justify-content:flex-start}.vm-cardinality-totals-card__tooltip{max-width:280px;padding:8px;white-space:normal}.vm-cardinality-totals-card__value{color:var(--color-primary);font-size:18px;font-weight:700;line-height:14px;text-align:center}.vm-metrics-content-header{margin:-12px -12px 0}.vm-metrics-content-header__title{align-items:center;display:flex;justify-content:flex-start}.vm-metrics-content-header__tip{max-width:300px;padding:8px;white-space:normal}.vm-metrics-content-header__tip p{margin-bottom:8px}.vm-metrics-content-header__tip-icon{align-items:center;color:var(--color-primary);display:flex;justify-content:center;margin-right:4px;width:12px}.vm-metrics-content_mobile .vm-metrics-content-header{margin:-12px -12px 0}.vm-metrics-content__table{overflow:auto;padding-top:12px;width:calc(100vw - 48px - var(--scrollbar-width))}@media(max-width:768px){.vm-metrics-content__table{width:calc(100vw - 24px - var(--scrollbar-width))}}.vm-metrics-content__table_mobile{width:calc(100vw - 24px - var(--scrollbar-width))}.vm-metrics-content__table .vm-table-cell_header{white-space:nowrap}.vm-metrics-content_mobile .vm-metrics-content__table{width:calc(100vw - 24px - var(--scrollbar-width))}.vm-metrics-content__chart{padding-top:12px}.vm-metrics-content-prom-data{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center;margin-top:12px;text-align:center;width:100%}.vm-metrics-content-prom-data__icon{align-items:center;color:var(--color-primary);display:flex;height:30px;justify-content:center;margin-bottom:8px;width:30px}.vm-metrics-content-prom-data__title{font-size:16px;font-weight:700}.vm-metrics-content-prom-data__text{line-height:1.3;max-width:700px}.vm-simple-bar-chart{display:grid;grid-template-columns:auto 1fr;height:100%;overflow:hidden;padding-bottom:6px}.vm-simple-bar-chart-y-axis{display:grid;position:relative;transform:translateY(12px)}.vm-simple-bar-chart-y-axis__tick{align-items:center;display:flex;font-size:12px;justify-content:flex-end;line-height:2;padding-right:8px;position:relative;text-align:right;transform-style:preserve-3d;z-index:1}.vm-simple-bar-chart-y-axis__tick:after{border-bottom:var(--border-divider);content:"";height:0;left:100%;position:absolute;top:auto;transform:translateY(-1px) translateZ(-1);width:100vw}.vm-simple-bar-chart-data{align-items:flex-end;display:flex;gap:1%;justify-content:space-between;position:relative}.vm-simple-bar-chart-data-item{align-items:flex-start;background-color:#3b5;display:flex;flex-grow:1;height:calc(100% - 48px);justify-content:center;min-width:1px;transition:background-color .2s ease-in;width:100%}.vm-simple-bar-chart-data-item:hover{background-color:#51d071}.vm-simple-bar-chart-data-item:first-child{background-color:#f79420}.vm-simple-bar-chart-data-item:first-child:hover{background-color:#f9ac51}.vm-cardinality-panel{grid-gap:12px;align-items:flex-start;display:grid;gap:12px}.vm-cardinality-panel_mobile,.vm-cardinality-panel_mobile .vm-cardinality-panel-tips{gap:8px}.vm-cardinality-panel-tips{align-content:flex-start;display:inline-flex;flex-grow:1;flex-wrap:wrap;gap:12px;justify-content:flex-start;width:100%}.vm-cardinality-panel-table__header th:first-child{width:60%}.vm-cardinality-panel-table__header th:not(:first-child){width:auto}.vm-cardinality-panel-table__progress{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:minmax(200px,1fr) 70px;justify-content:flex-start}.vm-cardinality-tip{background-color:var(--color-background-block);border-radius:8px;box-shadow:var(--box-shadow);color:var(--color-text-secondary);display:grid;flex-grow:1;grid-template-rows:auto 1fr;overflow:hidden;width:300px}.vm-cardinality-tip-header{align-items:center;border-bottom:var(--border-divider);display:flex;gap:4px;justify-content:center;padding:8px 12px;position:relative}.vm-cardinality-tip-header:after{background:var(--color-warning);content:"";height:100%;left:0;opacity:.1;pointer-events:none;position:absolute;top:0;width:100%}.vm-cardinality-tip-header__tip-icon{align-items:center;color:var(--color-warning);display:flex;justify-content:center;width:12px}.vm-cardinality-tip-header__title{color:var(--color-text);font-weight:700;text-align:center}.vm-cardinality-tip-header__tooltip{font-size:14px;line-height:130%;max-width:280px;padding:8px;white-space:normal}.vm-cardinality-tip__description{line-height:130%;padding:8px 12px}.vm-cardinality-tip__description p{margin-bottom:8px}.vm-cardinality-tip__description p:last-child{margin-bottom:0}.vm-cardinality-tip__description ol,.vm-cardinality-tip__description ul{list-style-position:inside}.vm-cardinality-tip__description ol li,.vm-cardinality-tip__description ul li{margin-bottom:4px}.vm-top-queries-panel-header,.vm-top-queries-panel-header_mobile{margin:-12px -12px 0}.vm-top-queries-panel__table{overflow:auto;padding-top:12px;width:calc(100vw - 48px - var(--scrollbar-width))}@media(max-width:768px){.vm-top-queries-panel__table{width:calc(100vw - 24px - var(--scrollbar-width))}}.vm-top-queries-panel__table_mobile{width:calc(100vw - 24px - var(--scrollbar-width))}.vm-top-queries-panel__table .vm-table-cell_header{white-space:nowrap}.vm-top-queries{grid-gap:12px;align-items:flex-start;display:grid;gap:12px}.vm-top-queries_mobile{gap:8px}.vm-top-queries-controls{grid-gap:8px;display:grid;gap:8px}.vm-top-queries-controls-fields{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.vm-top-queries-controls-fields__item{flex-grow:1;min-width:200px}.vm-top-queries-controls-bottom{grid-gap:12px;align-items:flex-end;display:grid;gap:12px;grid-template-columns:1fr auto;justify-content:space-between}.vm-top-queries-controls-bottom_mobile{gap:8px;grid-template-columns:1fr}.vm-top-queries-controls-bottom__button{align-items:center;display:flex;justify-content:flex-end}.vm-top-queries-panels{grid-gap:12px;display:grid;gap:12px}.vm-top-queries-panels__table-actions{align-items:center;display:flex;gap:8px;height:100%;justify-content:flex-end;padding:0 8px}.vm-trace-page{display:flex;flex-direction:column;min-height:100%}@media(max-width:768px){.vm-trace-page{padding:12px 0}}.vm-trace-page-header{grid-gap:12px;align-items:start;display:grid;gap:12px;grid-template-columns:1fr auto;margin-bottom:12px}@media(max-width:768px){.vm-trace-page-header{grid-template-columns:1fr;padding:0 12px}}.vm-trace-page-header-errors{grid-gap:12px;align-items:flex-start;display:grid;gap:12px;grid-template-columns:1fr;justify-content:stretch}@media(max-width:768px){.vm-trace-page-header-errors{grid-row:2}}.vm-trace-page-header-errors-item{align-items:center;display:grid;justify-content:stretch;position:relative}.vm-trace-page-header-errors-item_margin-bottom{margin-bottom:12px}.vm-trace-page-header-errors-item__filename{min-height:20px}.vm-trace-page-header-errors-item__close{position:absolute;right:8px;top:auto;z-index:2}.vm-trace-page-preview{align-items:center;display:flex;flex-direction:column;flex-grow:1;justify-content:center}.vm-trace-page-preview__text{font-size:14px;line-height:1.8;margin-bottom:12px;text-align:center;white-space:pre-line}.vm-trace-page__dropzone{align-items:center;box-shadow:inset var(--color-primary) 0 0 10px;display:flex;height:100%;justify-content:center;left:0;opacity:.5;pointer-events:none;position:fixed;top:0;width:100%;z-index:100}.vm-upload-json-buttons{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:1fr 1fr;justify-content:center}.vm-explore-metrics{grid-gap:12px;align-items:flex-start;display:grid;gap:12px}@media(max-width:500px){.vm-explore-metrics{gap:8px}}.vm-explore-metrics-body{grid-gap:12px;align-items:flex-start;display:grid;gap:12px}@media(max-width:500px){.vm-explore-metrics-body{gap:8px}}.vm-explore-metrics-graph,.vm-explore-metrics-graph_mobile{padding:0 12px 12px}.vm-explore-metrics-graph__warning{align-items:center;display:grid;grid-template-columns:1fr auto;justify-content:space-between}.vm-explore-metrics-item-header{grid-gap:12px;align-items:center;border-bottom:var(--border-divider);display:grid;gap:12px;grid-template-columns:auto 1fr auto auto;justify-content:flex-start;padding:12px}.vm-explore-metrics-item-header_mobile{grid-template-columns:1fr auto;padding:8px 12px}.vm-explore-metrics-item-header__index{color:var(--color-text-secondary);font-size:12px}.vm-explore-metrics-item-header__name{flex-grow:1;font-weight:700;line-height:130%;max-width:100%;overflow:hidden;text-overflow:ellipsis}.vm-explore-metrics-item-header-order{align-items:center;display:grid;grid-column:1;grid-template-columns:auto 20px auto;justify-content:flex-start;text-align:center}.vm-explore-metrics-item-header-order__up{transform:rotate(180deg)}.vm-explore-metrics-item-header__rate{grid-column:3}.vm-explore-metrics-item-header__close{align-items:center;display:grid;grid-column:4;grid-row:1}.vm-explore-metrics-item-header code{background-color:var(--color-hover-black);border-radius:6px;font-size:85%;padding:.2em .4em}.vm-explore-metrics-item-header-modal{grid-gap:12px;align-items:flex-start;display:grid;gap:12px}.vm-explore-metrics-item-header-modal-order{align-items:center;display:flex;gap:12px;justify-content:space-between}.vm-explore-metrics-item-header-modal-order p{align-items:center;display:flex}.vm-explore-metrics-item-header-modal-order__index{margin-left:4px}.vm-explore-metrics-item-header-modal__rate{grid-gap:8px;display:grid;gap:8px}.vm-explore-metrics-item-header-modal__rate p{color:var(--color-text-secondary)}.vm-explore-metrics-item{position:relative}.vm-select-input{align-items:center;border:var(--border-divider);border-radius:4px;cursor:pointer;display:flex;min-height:40px;padding:8px 0 8px 12px;position:relative}.vm-select-input-content{align-items:center;display:flex;flex-grow:1;flex-wrap:wrap;gap:8px;justify-content:flex-start}.vm-select-input-content_mobile{flex-wrap:nowrap}.vm-select-input-content__counter{font-size:14px;line-height:14px}.vm-select-input-content__selected{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;font-size:14px;justify-content:center;line-height:14px;max-width:100%;padding:2px 2px 2px 6px}.vm-select-input-content__selected span{overflow:hidden;text-overflow:ellipsis;width:100%}.vm-select-input-content__selected svg{align-items:center;background-color:#0000;border-radius:4px;display:flex;justify-content:center;margin-left:10px;padding:4px;transition:background-color .2s ease-in-out;width:20px}.vm-select-input-content__selected svg:hover{background-color:#110f0f1a}.vm-select-input input{background-color:#0000;border:none;border-radius:4px;color:var(--color-text);display:inline-block;flex-grow:1;font-size:14px;height:18px;line-height:18px;min-width:100px;padding:0;position:relative;z-index:2}.vm-select-input input:placeholder-shown{width:auto}.vm-select-input__icon{align-items:center;border-right:var(--border-divider);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;justify-content:flex-end;padding:0 8px;transition:transform .2s ease-in,opacity .2s ease-in}.vm-select-input__icon:last-child{border:none}.vm-select-input__icon svg{width:14px}.vm-select-input__icon_open{transform:rotate(180deg)}.vm-select-input__icon:hover{opacity:.7}.vm-select-options{grid-gap:8px;display:grid;font-size:14px;gap:8px;max-height:208px;max-width:300px;overflow:auto;padding:12px}.vm-select-options_mobile{max-height:calc(var(--vh)*100 - 70px);max-width:100%;padding:0 12px 8px}.vm-select_disabled *{cursor:not-allowed}.vm-select_disabled .vm-select-input-content input{color:var(--color-text-disabled)}.vm-explore-metrics-header{align-items:center;display:flex;flex-wrap:wrap;gap:12px 18px;justify-content:flex-start;max-width:calc(100vw - var(--scrollbar-width))}.vm-explore-metrics-header_mobile{align-items:stretch;flex-direction:column}.vm-explore-metrics-header__job{flex-grow:1;min-width:150px}.vm-explore-metrics-header__instance{flex-grow:2;min-width:150px}.vm-explore-metrics-header__size{grid-gap:12px;align-items:center;display:grid;flex-grow:1;gap:12px;grid-template-columns:1fr auto;min-width:150px}.vm-explore-metrics-header-description{grid-gap:8px;align-items:flex-start;display:grid;gap:8px;grid-template-columns:1fr auto}.vm-explore-metrics-header-description button{color:inherit;min-height:29px}.vm-explore-metrics-header-description code{margin:0 3px}.vm-explore-metrics-header-metrics{flex-grow:1;width:100%}.vm-explore-metrics-header__clear-icon{align-items:center;cursor:pointer;display:flex;justify-content:center;padding:2px}.vm-explore-metrics-header__clear-icon:hover{opacity:.7}.vm-preview-icons{grid-gap:12px;align-items:flex-start;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,100px);justify-content:center}.vm-preview-icons-item{grid-gap:8px;align-items:stretch;border:1px solid #0000;border-radius:4px;cursor:pointer;display:grid;gap:8px;grid-template-rows:1fr auto;height:100px;justify-content:center;padding:12px 8px;transition:box-shadow .2s ease-in-out}.vm-preview-icons-item:hover{box-shadow:0 1px 4px #00000029}.vm-preview-icons-item:active .vm-preview-icons-item__svg{transform:scale(.9)}.vm-preview-icons-item__name{font-size:12px;line-height:2;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.vm-preview-icons-item__svg{align-items:center;display:flex;height:100%;justify-content:center;transition:transform .1s ease-out}.vm-preview-icons-item__svg svg{height:24px;width:auto}.vm-with-template,.vm-with-template-body{grid-gap:12px;display:grid;gap:12px}.vm-with-template-body{align-items:flex-start;width:100%}.vm-with-template-body-top{align-items:center;display:flex;gap:8px;justify-content:flex-end}.vm-with-template-body__expr textarea{min-height:200px}.vm-with-template-body__result textarea{min-height:60px}.vm-with-template-body textarea{font-family:monospace;height:100%;overflow:auto;width:100%}.vm-with-template-tutorial{grid-gap:16px;display:grid;gap:16px}.vm-with-template-tutorial__title{font-size:16px;font-weight:700}.vm-with-template-tutorial-section{grid-gap:12px;display:grid;gap:12px}.vm-with-template-tutorial-section__text{font-size:14px;line-height:130%;max-width:720px}.vm-code-example{background-color:#110f0f0d;border-radius:4px;display:block;overflow:auto;padding:12px;position:relative;white-space:pre-wrap}.vm-code-example__copy{position:absolute;right:10px;top:10px}.vm-relabeling,.vm-relabeling-header{grid-gap:12px;display:grid;gap:12px}.vm-relabeling-header{align-items:flex-start;width:100%}.vm-relabeling-header-configs textarea{min-height:200px}.vm-relabeling-header__labels textarea{min-height:60px}.vm-relabeling-header textarea{font-family:monospace;height:100%;overflow:auto;width:100%}.vm-relabeling-header-bottom{align-items:center;display:flex;gap:12px;justify-content:flex-end}.vm-relabeling-header-bottom a{color:var(--color-text-secondary)}.vm-relabeling-steps,.vm-relabeling-steps-item{grid-gap:12px;display:grid;gap:12px}.vm-relabeling-steps-item{border-bottom:var(--border-divider);padding:0 12px 12px}.vm-relabeling-steps-item:last-child{border-bottom:none;padding-bottom:0}.vm-relabeling-steps-item__row{display:grid;grid-template-columns:100px 1fr}@media(max-width:500px){.vm-relabeling-steps-item__row{gap:4px;grid-template-columns:1fr}}.vm-relabeling-steps-item__row pre{white-space:pre-wrap}.vm-active-queries-header{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:1fr auto;justify-content:space-between;margin-bottom:12px}.vm-active-queries-header-controls{grid-gap:8px;display:grid;gap:8px;grid-column:2}.vm-active-queries-header__update-msg{color:var(--color-text-secondary);font-size:12px;white-space:nowrap}.vm-json-form{grid-gap:12px;display:grid;gap:12px;grid-template-rows:auto calc(var(--vh)*70 - 114px) auto;max-height:900px;max-width:1000px;overflow:hidden;width:70vw}.vm-json-form_mobile{grid-template-rows:auto calc(var(--vh)*100 - 236px) auto;min-height:100%;width:100%}.vm-json-form_one-field{grid-template-rows:calc(var(--vh)*70 - 114px) auto}.vm-json-form_one-field_mobile{grid-template-rows:calc(var(--vh)*100 - 184px) auto}.vm-json-form textarea{height:100%;max-height:900px;overflow:auto;width:100%}.vm-json-form-footer{align-items:center;display:flex;gap:8px;justify-content:space-between}@media(max-width:500px){.vm-json-form-footer{flex-direction:column}.vm-json-form-footer button{flex-grow:1}}.vm-json-form-footer__controls{align-items:center;display:flex;flex-grow:1;gap:8px;justify-content:flex-start}@media(max-width:500px){.vm-json-form-footer__controls{grid-template-columns:repeat(2,1fr);justify-content:center;width:100%}}.vm-json-form-footer__controls_right{display:grid;grid-template-columns:repeat(2,90px);justify-content:flex-end}@media(max-width:500px){.vm-json-form-footer__controls_right{grid-template-columns:repeat(2,1fr);justify-content:center;width:100%}}.vm-query-analyzer-view{grid-gap:12px;display:grid;gap:12px;position:relative}.vm-query-analyzer-view-header{align-items:center;border-bottom:var(--border-divider);display:flex;font-size:12px;justify-content:space-between;margin:-12px -12px 12px;padding:0 12px;position:relative;z-index:1}.vm-query-analyzer-view-header__left{align-items:center;display:flex;gap:8px}.vm-query-analyzer-view_mobile .vm-query-analyzer-view-header{margin:-12px -12px 12px;padding:0 12px}.vm-query-analyzer-info-header{display:flex;gap:12px}.vm-query-analyzer-info-header__period{align-items:center;border:var(--border-divider);border-radius:4px;display:flex;gap:8px;padding:6px 12px}.vm-query-analyzer-info-header__period svg{color:var(--color-primary);width:13px}.vm-query-analyzer-info{grid-gap:16px;display:grid;gap:16px;min-width:300px}.vm-query-analyzer-info-type{color:var(--color-text-secondary);font-style:italic;text-align:center}.vm-query-analyzer-info-item{border-bottom:var(--border-divider);display:grid;line-height:130%;padding-bottom:16px}.vm-query-analyzer-info-item__title{font-weight:700}.vm-query-analyzer-info-item__text{white-space:pre-wrap}#root,body,html{background-attachment:fixed;background-color:#fefeff;background-color:var(--color-background-body);background-repeat:no-repeat;color:#110f0f;color:var(--color-text);cursor:default;font-family:system-ui;font-size:14px;margin:0;min-height:100%}body{overflow:auto}*{-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:inherit;font:inherit;touch-action:pan-x pan-y}code{font-family:monospace}b{font-weight:700}input,textarea{cursor:text}input::placeholder,textarea::placeholder{-webkit-user-select:none;user-select:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.vm-snackbar{animation:vm-slide-snackbar .15s cubic-bezier(.28,.84,.42,1.1);bottom:12px;left:12px;position:fixed;z-index:999}.vm-snackbar-content{align-items:center;display:grid;grid-template-columns:1fr auto}.vm-snackbar-content__close{color:inherit;height:24px;opacity:.8;padding:4px;width:24px}.vm-snackbar_mobile{bottom:0;left:0;right:0}@keyframes vm-slide-snackbar{0%{transform:translateY(100%)}to{transform:translateY(0)}}svg{width:100%}*{scrollbar-color:#a09f9f #fff;scrollbar-color:var(--color-text-disabled) var(--color-background-block);scrollbar-width:thin}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#fff;background:var(--color-background-block)}::-webkit-scrollbar-thumb{background-color:#a09f9f;background-color:var(--color-text-disabled);border:3px solid #fff;border:3px solid var(--color-background-block);border-radius:20px}a,abbr,acronym,address,applet,article,aside,audio,big,body,canvas,caption,center,cite,code,del,details,dfn,div,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;margin:0;padding:0;vertical-align:initial}h1,h2,h3,h4,h5,h6{font-weight:400}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}q:after,q:before{content:""}table{border-collapse:collapse;border-spacing:0}input::placeholder{opacity:1;transition:opacity .3s ease}input:focus::placeholder{opacity:0;transition:opacity .3s ease}*{box-sizing:border-box;outline:none}button{background:none;border:none;border-radius:0;padding:0}strong{letter-spacing:1px}input[type=file]{cursor:pointer;font-size:0;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}input[type=file]:disabled{cursor:not-allowed}a{color:inherit;text-decoration:inherit}input,textarea{-webkit-text-fill-color:inherit;appearance:none;-webkit-appearance:none}input:disabled,textarea:disabled{opacity:1!important}input:placeholder-shown,textarea:placeholder-shown{width:100%}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-box-shadow:inset 0 0 0 0 #fff!important;width:100%;z-index:2}.vm-header-button{border:1px solid #110f0f33}.vm-list-item{background-color:#0000;cursor:pointer;padding:12px;transition:background-color .2s ease}.vm-list-item_mobile{padding:12px}.vm-list-item:hover,.vm-list-item_active{background-color:#0000000f;background-color:var(--color-hover-black)}.vm-list-item_multiselect{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:10px 1fr;justify-content:flex-start}.vm-list-item_multiselect svg{animation:vm-scale .15s cubic-bezier(.28,.84,.42,1)}.vm-list-item_multiselect span{grid-column:2}.vm-list-item_multiselect_selected{color:#3f51b5;color:var(--color-primary)}.vm-list-item_with-icon{grid-gap:4px;display:grid;gap:4px;grid-template-columns:14px 1fr}.vm-list-item_with-icon,.vm-mobile-option{align-items:center;justify-content:flex-start}.vm-mobile-option{display:flex;gap:8px;padding:6px 0;-webkit-user-select:none;user-select:none;width:100%}.vm-mobile-option__arrow,.vm-mobile-option__icon{align-items:center;display:flex;justify-content:center}.vm-mobile-option__icon{color:#3f51b5;color:var(--color-primary);height:22px;width:22px}.vm-mobile-option__arrow{color:#3f51b5;color:var(--color-primary);height:14px;transform:rotate(-90deg);width:14px}.vm-mobile-option-text{grid-gap:2px;align-items:center;display:grid;flex-grow:1;gap:2px}.vm-mobile-option-text__label{font-weight:700}.vm-mobile-option-text__value{color:#706f6f;color:var(--color-text-secondary);font-size:12px}.vm-block{background-color:#fff;background-color:var(--color-background-block);border-radius:8px;box-shadow:1px 2px 6px #00000014;box-shadow:var(--box-shadow);padding:12px}.vm-block_mobile{border-radius:0;padding:12px}.vm-block_empty-padding{padding:0}.vm-section-header{align-items:center;border-bottom:1px solid #00000026;border-bottom:var(--border-divider);border-radius:8px 8px 0 0;display:grid;grid-template-columns:1fr auto;justify-content:center;padding:0 12px}.vm-section-header__title{font-size:14px;font-weight:700}.vm-section-header__title_mobile{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.vm-section-header__tabs{align-items:center;display:flex;font-size:12px;justify-content:flex-start}.vm-table{border-collapse:initial;border-spacing:0;margin-top:-12px;width:100%}.vm-table,.vm-table__row{background-color:#fff;background-color:var(--color-background-block)}.vm-table__row{transition:background-color .2s ease}.vm-table__row:hover:not(.vm-table__row_header){background-color:#0000000f;background-color:var(--color-hover-black)}.vm-table__row_header{position:relative;z-index:2}.vm-table__row_selected{background-color:#1a90ff0d}.vm-table-cell{border-bottom:1px solid #00000026;border-bottom:var(--border-divider);line-height:1.5;overflow-wrap:anywhere;padding:4px;vertical-align:top}.vm-table-cell__content{align-items:center;display:flex;justify-content:flex-start}.vm-table-cell_sort{cursor:pointer}.vm-table-cell_sort:hover{background-color:#0000000f;background-color:var(--color-hover-black)}.vm-table-cell_header{font-weight:700;overflow-wrap:normal;text-align:left}.vm-table-cell_gray{color:#110f0f;color:var(--color-text);opacity:.4}.vm-table-cell_right{text-align:right}.vm-table-cell_right .vm-table-cell__content{justify-content:flex-end}.vm-table-cell_no-wrap{white-space:nowrap}.vm-table-cell_no-padding{padding:0}.vm-table-cell_pre{white-space:pre-wrap}.vm-table-cell_logs-time{overflow-wrap:normal;white-space:nowrap}.vm-table-cell_logs{font-family:monospace;line-height:1.2;overflow-wrap:normal;width:100%}.vm-table__sort-icon{align-items:center;display:flex;justify-content:center;margin:0 8px;opacity:.4;transition:opacity .2s ease,transform .2s ease-in-out;width:15px}.vm-table__sort-icon_active{opacity:1}.vm-table__sort-icon_desc{transform:rotate(180deg)}.vm-link{cursor:pointer;transition:color .2s ease}.vm-link_colored{color:#3f51b5;color:var(--color-primary)}.vm-link_underlined{text-decoration:underline}.vm-link_with-icon{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:14px auto;justify-content:center}.vm-link:hover{color:#3f51b5;color:var(--color-primary);text-decoration:underline}.vm-dynamic-number{color:#a09f9f;color:var(--color-text-disabled);font-size:12px}.vm-dynamic-number_positive{color:#4caf50;color:var(--color-success)}.vm-dynamic-number_negative{color:#fd080e;color:var(--color-error)}.vm-dynamic-number_down:before{content:"↓"}.vm-dynamic-number_up:before{content:"↑"}:root{--color-primary:#3f51b5;--color-secondary:#e91e63;--color-error:#fd080e;--color-warning:#ff8308;--color-info:#03a9f4;--color-success:#4caf50;--color-primary-text:#fff;--color-secondary-text:#fff;--color-error-text:#fff;--color-warning-text:#fff;--color-info-text:#fff;--color-success-text:#fff;--color-background-body:#fefeff;--color-background-block:#fff;--color-background-tooltip:#505050e6;--color-text:#110f0f;--color-text-secondary:#706f6f;--color-text-disabled:#a09f9f;--box-shadow:#00000014 1px 2px 6px;--box-shadow-popper:#0000001a 0px 2px 8px 0px;--border-divider:1px solid #00000026;--color-hover-black:#0000000f} \ No newline at end of file diff --git a/app/vmselect/vmui/static/js/main.59c17910.js b/app/vmselect/vmui/static/js/main.59c17910.js deleted file mode 100644 index 49c700607..000000000 --- a/app/vmselect/vmui/static/js/main.59c17910.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.59c17910.js.LICENSE.txt */ -(()=>{var e={61:(e,t,n)=>{"use strict";var r=n(375),a=n(629),i=a(r("String.prototype.indexOf"));e.exports=function(e,t){var n=r(e,!!t);return"function"===typeof n&&i(e,".prototype.")>-1?a(n):n}},629:(e,t,n)=>{"use strict";var r=n(989),a=n(375),i=n(259),o=n(277),l=a("%Function.prototype.apply%"),s=a("%Function.prototype.call%"),c=a("%Reflect.apply%",!0)||r.call(s,l),u=n(709),d=a("%Math.max%");e.exports=function(e){if("function"!==typeof e)throw new o("a function is required");var t=c(r,s,arguments);return i(t,1+d(0,e.length-(arguments.length-1)),!0)};var h=function(){return c(r,l,arguments)};u?u(e.exports,"apply",{value:h}):e.exports.apply=h},159:function(e){e.exports=function(){"use strict";var e=1e3,t=6e4,n=36e5,r="millisecond",a="second",i="minute",o="hour",l="day",s="week",c="month",u="quarter",d="year",h="date",m="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,v={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],n=e%100;return"["+e+(t[(n-20)%10]||t[n]||t[0])+"]"}},g=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},y={s:g,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),a=n%60;return(t<=0?"+":"-")+g(r,2,"0")+":"+g(a,2,"0")},m:function e(t,n){if(t.date()1)return e(o[0])}else{var l=t.name;b[l]=t,a=l}return!r&&a&&(_=a),a||!r&&_},S=function(e,t){if(k(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new E(n)},C=y;C.l=x,C.i=k,C.w=function(e,t){return S(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function v(e){this.$L=x(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[w]=!0}var g=v.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(C.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(p);if(r){var a=r[2]-1||0,i=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],a,r[3]||1,r[4]||0,r[5]||0,r[6]||0,i)):new Date(r[1],a,r[3]||1,r[4]||0,r[5]||0,r[6]||0,i)}}return new Date(t)}(e),this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return C},g.isValid=function(){return!(this.$d.toString()===m)},g.isSame=function(e,t){var n=S(e);return this.startOf(t)<=n&&n<=this.endOf(t)},g.isAfter=function(e,t){return S(e)=0&&(i[d]=parseInt(u,10))}var h=i[3],m=24===h?0:h,p=i[0]+"-"+i[1]+"-"+i[2]+" "+m+":"+i[4]+":"+i[5]+":000",f=+t;return(a.utc(p).valueOf()-(f-=f%1e3))/6e4},s=r.prototype;s.tz=function(e,t){void 0===e&&(e=i);var n=this.utcOffset(),r=this.toDate(),o=r.toLocaleString("en-US",{timeZone:e}),l=Math.round((r-new Date(o))/1e3/60),s=a(o,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(r.getTimezoneOffset()/15)-l,!0);if(t){var c=s.utcOffset();s=s.add(n-c,"minute")}return s.$x.$timezone=e,s},s.offsetName=function(e){var t=this.$x.$timezone||a.tz.guess(),n=o(this.valueOf(),t,{timeZoneName:e}).find((function(e){return"timezonename"===e.type.toLowerCase()}));return n&&n.value};var c=s.startOf;s.startOf=function(e,t){if(!this.$x||!this.$x.$timezone)return c.call(this,e,t);var n=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return c.call(n,e,t).tz(this.$x.$timezone,!0)},a.tz=function(e,t,n){var r=n&&t,o=n||t||i,s=l(+a(),o);if("string"!=typeof e)return a(e).tz(o);var c=function(e,t,n){var r=e-60*t*1e3,a=l(r,n);if(t===a)return[r,t];var i=l(r-=60*(a-t)*1e3,n);return a===i?[r,a]:[e-60*Math.min(a,i)*1e3,Math.max(a,i)]}(a.utc(e,r).valueOf(),s,o),u=c[0],d=c[1],h=a(u).utcOffset(d);return h.$x.$timezone=o,h},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(e){i=e}}}()},220:function(e){e.exports=function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(r,a,i){var o=a.prototype;i.utc=function(e){return new a({date:e,utc:!0,args:arguments})},o.utc=function(t){var n=i(this.toDate(),{locale:this.$L,utc:!0});return t?n.add(this.utcOffset(),e):n},o.local=function(){return i(this.toDate(),{locale:this.$L,utc:!1})};var l=o.parse;o.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),l.call(this,e)};var s=o.init;o.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else s.call(this)};var c=o.utcOffset;o.utcOffset=function(r,a){var i=this.$utils().u;if(i(r))return this.$u?0:i(this.$offset)?c.call(this):this.$offset;if("string"==typeof r&&(r=function(e){void 0===e&&(e="");var r=e.match(t);if(!r)return null;var a=(""+r[0]).match(n)||["-",0,0],i=a[0],o=60*+a[1]+ +a[2];return 0===o?0:"+"===i?o:-o}(r),null===r))return this;var o=Math.abs(r)<=16?60*r:r,l=this;if(a)return l.$offset=o,l.$u=0===r,l;if(0!==r){var s=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(l=this.local().add(o+s,e)).$offset=o,l.$x.$localOffset=s}else l=this.utc();return l};var u=o.format;o.format=function(e){var t=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return u.call(this,t)},o.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*e},o.isUTC=function(){return!!this.$u},o.toISOString=function(){return this.toDate().toISOString()},o.toString=function(){return this.toDate().toUTCString()};var d=o.toDate;o.toDate=function(e){return"s"===e&&this.$offset?i(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():d.call(this)};var h=o.diff;o.diff=function(e,t,n){if(e&&this.$u===e.$u)return h.call(this,e,t,n);var r=this.local(),a=i(e).local();return h.call(r,a,t,n)}}}()},411:(e,t,n)=>{"use strict";var r=n(709),a=n(430),i=n(277),o=n(553);e.exports=function(e,t,n){if(!e||"object"!==typeof e&&"function"!==typeof e)throw new i("`obj` must be an object or a function`");if("string"!==typeof t&&"symbol"!==typeof t)throw new i("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!==typeof arguments[3]&&null!==arguments[3])throw new i("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!==typeof arguments[4]&&null!==arguments[4])throw new i("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!==typeof arguments[5]&&null!==arguments[5])throw new i("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!==typeof arguments[6])throw new i("`loose`, if provided, must be a boolean");var l=arguments.length>3?arguments[3]:null,s=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,u=arguments.length>6&&arguments[6],d=!!o&&o(e,t);if(r)r(e,t,{configurable:null===c&&d?d.configurable:!c,enumerable:null===l&&d?d.enumerable:!l,value:n,writable:null===s&&d?d.writable:!s});else{if(!u&&(l||s||c))throw new a("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[t]=n}}},709:(e,t,n)=>{"use strict";var r=n(375)("%Object.defineProperty%",!0)||!1;if(r)try{r({},"a",{value:1})}catch(a){r=!1}e.exports=r},123:e=>{"use strict";e.exports=EvalError},953:e=>{"use strict";e.exports=Error},780:e=>{"use strict";e.exports=RangeError},768:e=>{"use strict";e.exports=ReferenceError},430:e=>{"use strict";e.exports=SyntaxError},277:e=>{"use strict";e.exports=TypeError},619:e=>{"use strict";e.exports=URIError},307:e=>{"use strict";var t=Object.prototype.toString,n=Math.max,r=function(e,t){for(var n=[],r=0;r{"use strict";var r=n(307);e.exports=Function.prototype.bind||r},375:(e,t,n)=>{"use strict";var r,a=n(953),i=n(123),o=n(780),l=n(768),s=n(430),c=n(277),u=n(619),d=Function,h=function(e){try{return d('"use strict"; return ('+e+").constructor;")()}catch(t){}},m=Object.getOwnPropertyDescriptor;if(m)try{m({},"")}catch(R){m=null}var p=function(){throw new c},f=m?function(){try{return p}catch(e){try{return m(arguments,"callee").get}catch(t){return p}}}():p,v=n(757)(),g=n(442)(),y=Object.getPrototypeOf||(g?function(e){return e.__proto__}:null),_={},b="undefined"!==typeof Uint8Array&&y?y(Uint8Array):r,w={__proto__:null,"%AggregateError%":"undefined"===typeof AggregateError?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"===typeof ArrayBuffer?r:ArrayBuffer,"%ArrayIteratorPrototype%":v&&y?y([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":_,"%AsyncGenerator%":_,"%AsyncGeneratorFunction%":_,"%AsyncIteratorPrototype%":_,"%Atomics%":"undefined"===typeof Atomics?r:Atomics,"%BigInt%":"undefined"===typeof BigInt?r:BigInt,"%BigInt64Array%":"undefined"===typeof BigInt64Array?r:BigInt64Array,"%BigUint64Array%":"undefined"===typeof BigUint64Array?r:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"===typeof DataView?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":a,"%eval%":eval,"%EvalError%":i,"%Float32Array%":"undefined"===typeof Float32Array?r:Float32Array,"%Float64Array%":"undefined"===typeof Float64Array?r:Float64Array,"%FinalizationRegistry%":"undefined"===typeof FinalizationRegistry?r:FinalizationRegistry,"%Function%":d,"%GeneratorFunction%":_,"%Int8Array%":"undefined"===typeof Int8Array?r:Int8Array,"%Int16Array%":"undefined"===typeof Int16Array?r:Int16Array,"%Int32Array%":"undefined"===typeof Int32Array?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":v&&y?y(y([][Symbol.iterator]())):r,"%JSON%":"object"===typeof JSON?JSON:r,"%Map%":"undefined"===typeof Map?r:Map,"%MapIteratorPrototype%":"undefined"!==typeof Map&&v&&y?y((new Map)[Symbol.iterator]()):r,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"===typeof Promise?r:Promise,"%Proxy%":"undefined"===typeof Proxy?r:Proxy,"%RangeError%":o,"%ReferenceError%":l,"%Reflect%":"undefined"===typeof Reflect?r:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"===typeof Set?r:Set,"%SetIteratorPrototype%":"undefined"!==typeof Set&&v&&y?y((new Set)[Symbol.iterator]()):r,"%SharedArrayBuffer%":"undefined"===typeof SharedArrayBuffer?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":v&&y?y(""[Symbol.iterator]()):r,"%Symbol%":v?Symbol:r,"%SyntaxError%":s,"%ThrowTypeError%":f,"%TypedArray%":b,"%TypeError%":c,"%Uint8Array%":"undefined"===typeof Uint8Array?r:Uint8Array,"%Uint8ClampedArray%":"undefined"===typeof Uint8ClampedArray?r:Uint8ClampedArray,"%Uint16Array%":"undefined"===typeof Uint16Array?r:Uint16Array,"%Uint32Array%":"undefined"===typeof Uint32Array?r:Uint32Array,"%URIError%":u,"%WeakMap%":"undefined"===typeof WeakMap?r:WeakMap,"%WeakRef%":"undefined"===typeof WeakRef?r:WeakRef,"%WeakSet%":"undefined"===typeof WeakSet?r:WeakSet};if(y)try{null.error}catch(R){var k=y(y(R));w["%Error.prototype%"]=k}var x=function e(t){var n;if("%AsyncFunction%"===t)n=h("async function () {}");else if("%GeneratorFunction%"===t)n=h("function* () {}");else if("%AsyncGeneratorFunction%"===t)n=h("async function* () {}");else if("%AsyncGenerator%"===t){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if("%AsyncIteratorPrototype%"===t){var a=e("%AsyncGenerator%");a&&y&&(n=y(a.prototype))}return w[t]=n,n},S={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},C=n(989),E=n(155),N=C.call(Function.call,Array.prototype.concat),A=C.call(Function.apply,Array.prototype.splice),M=C.call(Function.call,String.prototype.replace),T=C.call(Function.call,String.prototype.slice),L=C.call(Function.call,RegExp.prototype.exec),P=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,O=/\\(\\)?/g,I=function(e,t){var n,r=e;if(E(S,r)&&(r="%"+(n=S[r])[0]+"%"),E(w,r)){var a=w[r];if(a===_&&(a=x(r)),"undefined"===typeof a&&!t)throw new c("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:n,name:r,value:a}}throw new s("intrinsic "+e+" does not exist!")};e.exports=function(e,t){if("string"!==typeof e||0===e.length)throw new c("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!==typeof t)throw new c('"allowMissing" argument must be a boolean');if(null===L(/^%?[^%]*%?$/,e))throw new s("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=function(e){var t=T(e,0,1),n=T(e,-1);if("%"===t&&"%"!==n)throw new s("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==t)throw new s("invalid intrinsic syntax, expected opening `%`");var r=[];return M(e,P,(function(e,t,n,a){r[r.length]=n?M(a,O,"$1"):t||e})),r}(e),r=n.length>0?n[0]:"",a=I("%"+r+"%",t),i=a.name,o=a.value,l=!1,u=a.alias;u&&(r=u[0],A(n,N([0,1],u)));for(var d=1,h=!0;d=n.length){var g=m(o,p);o=(h=!!g)&&"get"in g&&!("originalValue"in g.get)?g.get:o[p]}else h=E(o,p),o=o[p];h&&!l&&(w[i]=o)}}return o}},553:(e,t,n)=>{"use strict";var r=n(375)("%Object.getOwnPropertyDescriptor%",!0);if(r)try{r([],"length")}catch(a){r=null}e.exports=r},734:(e,t,n)=>{"use strict";var r=n(709),a=function(){return!!r};a.hasArrayLengthDefineBug=function(){if(!r)return null;try{return 1!==r([],"length",{value:1}).length}catch(e){return!0}},e.exports=a},442:e=>{"use strict";var t={foo:{}},n=Object;e.exports=function(){return{__proto__:t}.foo===t.foo&&!({__proto__:null}instanceof n)}},757:(e,t,n)=>{"use strict";var r="undefined"!==typeof Symbol&&Symbol,a=n(175);e.exports=function(){return"function"===typeof r&&("function"===typeof Symbol&&("symbol"===typeof r("foo")&&("symbol"===typeof Symbol("bar")&&a())))}},175:e=>{"use strict";e.exports=function(){if("function"!==typeof Symbol||"function"!==typeof Object.getOwnPropertySymbols)return!1;if("symbol"===typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"===typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"===typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"===typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"===typeof Object.getOwnPropertyDescriptor){var a=Object.getOwnPropertyDescriptor(e,t);if(42!==a.value||!0!==a.enumerable)return!1}return!0}},155:(e,t,n)=>{"use strict";var r=Function.prototype.call,a=Object.prototype.hasOwnProperty,i=n(989);e.exports=i.call(r,a)},267:(e,t,n)=>{var r=NaN,a="[object Symbol]",i=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,s=/^0o[0-7]+$/i,c=parseInt,u="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,d="object"==typeof self&&self&&self.Object===Object&&self,h=u||d||Function("return this")(),m=Object.prototype.toString,p=Math.max,f=Math.min,v=function(){return h.Date.now()};function g(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function y(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&m.call(e)==a}(e))return r;if(g(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=g(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var n=l.test(e);return n||s.test(e)?c(e.slice(2),n?2:8):o.test(e)?r:+e}e.exports=function(e,t,n){var r,a,i,o,l,s,c=0,u=!1,d=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function m(t){var n=r,i=a;return r=a=void 0,c=t,o=e.apply(i,n)}function _(e){var n=e-s;return void 0===s||n>=t||n<0||d&&e-c>=i}function b(){var e=v();if(_(e))return w(e);l=setTimeout(b,function(e){var n=t-(e-s);return d?f(n,i-(e-c)):n}(e))}function w(e){return l=void 0,h&&r?m(e):(r=a=void 0,o)}function k(){var e=v(),n=_(e);if(r=arguments,a=this,s=e,n){if(void 0===l)return function(e){return c=e,l=setTimeout(b,t),u?m(e):o}(s);if(d)return l=setTimeout(b,t),m(s)}return void 0===l&&(l=setTimeout(b,t)),o}return t=y(t)||0,g(n)&&(u=!!n.leading,i=(d="maxWait"in n)?p(y(n.maxWait)||0,t):i,h="trailing"in n?!!n.trailing:h),k.cancel=function(){void 0!==l&&clearTimeout(l),c=0,r=s=a=l=void 0},k.flush=function(){return void 0===l?o:w(v())},k}},424:(e,t,n)=>{var r="__lodash_hash_undefined__",a=1/0,i="[object Function]",o="[object GeneratorFunction]",l="[object Symbol]",s=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,c=/^\w*$/,u=/^\./,d=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,h=/\\(\\)?/g,m=/^\[object .+?Constructor\]$/,p="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,f="object"==typeof self&&self&&self.Object===Object&&self,v=p||f||Function("return this")();var g=Array.prototype,y=Function.prototype,_=Object.prototype,b=v["__core-js_shared__"],w=function(){var e=/[^.]+$/.exec(b&&b.keys&&b.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),k=y.toString,x=_.hasOwnProperty,S=_.toString,C=RegExp("^"+k.call(x).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),E=v.Symbol,N=g.splice,A=j(v,"Map"),M=j(Object,"create"),T=E?E.prototype:void 0,L=T?T.toString:void 0;function P(e){var t=-1,n=e?e.length:0;for(this.clear();++t-1},O.prototype.set=function(e,t){var n=this.__data__,r=R(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},I.prototype.clear=function(){this.__data__={hash:new P,map:new(A||O),string:new P}},I.prototype.delete=function(e){return F(this,e).delete(e)},I.prototype.get=function(e){return F(this,e).get(e)},I.prototype.has=function(e){return F(this,e).has(e)},I.prototype.set=function(e,t){return F(this,e).set(e,t),this};var H=$((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(q(e))return L?L.call(e):"";var t=e+"";return"0"==t&&1/e==-a?"-0":t}(t);var n=[];return u.test(e)&&n.push(""),e.replace(d,(function(e,t,r,a){n.push(r?a.replace(h,"$1"):t||e)})),n}));function V(e){if("string"==typeof e||q(e))return e;var t=e+"";return"0"==t&&1/e==-a?"-0":t}function $(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,a=t?t.apply(this,r):r[0],i=n.cache;if(i.has(a))return i.get(a);var o=e.apply(this,r);return n.cache=i.set(a,o),o};return n.cache=new($.Cache||I),n}$.Cache=I;var U=Array.isArray;function B(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function q(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&S.call(e)==l}e.exports=function(e,t,n){var r=null==e?void 0:D(e,t);return void 0===r?n:r}},141:(e,t,n)=>{var r="function"===typeof Map&&Map.prototype,a=Object.getOwnPropertyDescriptor&&r?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,i=r&&a&&"function"===typeof a.get?a.get:null,o=r&&Map.prototype.forEach,l="function"===typeof Set&&Set.prototype,s=Object.getOwnPropertyDescriptor&&l?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,c=l&&s&&"function"===typeof s.get?s.get:null,u=l&&Set.prototype.forEach,d="function"===typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,h="function"===typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,m="function"===typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,p=Boolean.prototype.valueOf,f=Object.prototype.toString,v=Function.prototype.toString,g=String.prototype.match,y=String.prototype.slice,_=String.prototype.replace,b=String.prototype.toUpperCase,w=String.prototype.toLowerCase,k=RegExp.prototype.test,x=Array.prototype.concat,S=Array.prototype.join,C=Array.prototype.slice,E=Math.floor,N="function"===typeof BigInt?BigInt.prototype.valueOf:null,A=Object.getOwnPropertySymbols,M="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?Symbol.prototype.toString:null,T="function"===typeof Symbol&&"object"===typeof Symbol.iterator,L="function"===typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===T||"symbol")?Symbol.toStringTag:null,P=Object.prototype.propertyIsEnumerable,O=("function"===typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function I(e,t){if(e===1/0||e===-1/0||e!==e||e&&e>-1e3&&e<1e3||k.call(/e/,t))return t;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"===typeof e){var r=e<0?-E(-e):E(e);if(r!==e){var a=String(r),i=y.call(t,a.length+1);return _.call(a,n,"$&_")+"."+_.call(_.call(i,/([0-9]{3})/g,"$&_"),/_$/,"")}}return _.call(t,n,"$&_")}var R=n(634),D=R.custom,z=$(D)?D:null;function F(e,t,n){var r="double"===(n.quoteStyle||t)?'"':"'";return r+e+r}function j(e){return _.call(String(e),/"/g,""")}function H(e){return"[object Array]"===q(e)&&(!L||!("object"===typeof e&&L in e))}function V(e){return"[object RegExp]"===q(e)&&(!L||!("object"===typeof e&&L in e))}function $(e){if(T)return e&&"object"===typeof e&&e instanceof Symbol;if("symbol"===typeof e)return!0;if(!e||"object"!==typeof e||!M)return!1;try{return M.call(e),!0}catch(t){}return!1}e.exports=function e(t,r,a,l){var s=r||{};if(B(s,"quoteStyle")&&"single"!==s.quoteStyle&&"double"!==s.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(B(s,"maxStringLength")&&("number"===typeof s.maxStringLength?s.maxStringLength<0&&s.maxStringLength!==1/0:null!==s.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var f=!B(s,"customInspect")||s.customInspect;if("boolean"!==typeof f&&"symbol"!==f)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(B(s,"indent")&&null!==s.indent&&"\t"!==s.indent&&!(parseInt(s.indent,10)===s.indent&&s.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(B(s,"numericSeparator")&&"boolean"!==typeof s.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var b=s.numericSeparator;if("undefined"===typeof t)return"undefined";if(null===t)return"null";if("boolean"===typeof t)return t?"true":"false";if("string"===typeof t)return W(t,s);if("number"===typeof t){if(0===t)return 1/0/t>0?"0":"-0";var k=String(t);return b?I(t,k):k}if("bigint"===typeof t){var E=String(t)+"n";return b?I(t,E):E}var A="undefined"===typeof s.depth?5:s.depth;if("undefined"===typeof a&&(a=0),a>=A&&A>0&&"object"===typeof t)return H(t)?"[Array]":"[Object]";var D=function(e,t){var n;if("\t"===e.indent)n="\t";else{if(!("number"===typeof e.indent&&e.indent>0))return null;n=S.call(Array(e.indent+1)," ")}return{base:n,prev:S.call(Array(t+1),n)}}(s,a);if("undefined"===typeof l)l=[];else if(Y(l,t)>=0)return"[Circular]";function U(t,n,r){if(n&&(l=C.call(l)).push(n),r){var i={depth:s.depth};return B(s,"quoteStyle")&&(i.quoteStyle=s.quoteStyle),e(t,i,a+1,l)}return e(t,s,a+1,l)}if("function"===typeof t&&!V(t)){var K=function(e){if(e.name)return e.name;var t=g.call(v.call(e),/^function\s*([\w$]+)/);if(t)return t[1];return null}(t),ee=X(t,U);return"[Function"+(K?": "+K:" (anonymous)")+"]"+(ee.length>0?" { "+S.call(ee,", ")+" }":"")}if($(t)){var te=T?_.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):M.call(t);return"object"!==typeof t||T?te:Q(te)}if(function(e){if(!e||"object"!==typeof e)return!1;if("undefined"!==typeof HTMLElement&&e instanceof HTMLElement)return!0;return"string"===typeof e.nodeName&&"function"===typeof e.getAttribute}(t)){for(var ne="<"+w.call(String(t.nodeName)),re=t.attributes||[],ae=0;ae"}if(H(t)){if(0===t.length)return"[]";var ie=X(t,U);return D&&!function(e){for(var t=0;t=0)return!1;return!0}(ie)?"["+J(ie,D)+"]":"[ "+S.call(ie,", ")+" ]"}if(function(e){return"[object Error]"===q(e)&&(!L||!("object"===typeof e&&L in e))}(t)){var oe=X(t,U);return"cause"in Error.prototype||!("cause"in t)||P.call(t,"cause")?0===oe.length?"["+String(t)+"]":"{ ["+String(t)+"] "+S.call(oe,", ")+" }":"{ ["+String(t)+"] "+S.call(x.call("[cause]: "+U(t.cause),oe),", ")+" }"}if("object"===typeof t&&f){if(z&&"function"===typeof t[z]&&R)return R(t,{depth:A-a});if("symbol"!==f&&"function"===typeof t.inspect)return t.inspect()}if(function(e){if(!i||!e||"object"!==typeof e)return!1;try{i.call(e);try{c.call(e)}catch(ne){return!0}return e instanceof Map}catch(t){}return!1}(t)){var le=[];return o&&o.call(t,(function(e,n){le.push(U(n,t,!0)+" => "+U(e,t))})),G("Map",i.call(t),le,D)}if(function(e){if(!c||!e||"object"!==typeof e)return!1;try{c.call(e);try{i.call(e)}catch(t){return!0}return e instanceof Set}catch(n){}return!1}(t)){var se=[];return u&&u.call(t,(function(e){se.push(U(e,t))})),G("Set",c.call(t),se,D)}if(function(e){if(!d||!e||"object"!==typeof e)return!1;try{d.call(e,d);try{h.call(e,h)}catch(ne){return!0}return e instanceof WeakMap}catch(t){}return!1}(t))return Z("WeakMap");if(function(e){if(!h||!e||"object"!==typeof e)return!1;try{h.call(e,h);try{d.call(e,d)}catch(ne){return!0}return e instanceof WeakSet}catch(t){}return!1}(t))return Z("WeakSet");if(function(e){if(!m||!e||"object"!==typeof e)return!1;try{return m.call(e),!0}catch(t){}return!1}(t))return Z("WeakRef");if(function(e){return"[object Number]"===q(e)&&(!L||!("object"===typeof e&&L in e))}(t))return Q(U(Number(t)));if(function(e){if(!e||"object"!==typeof e||!N)return!1;try{return N.call(e),!0}catch(t){}return!1}(t))return Q(U(N.call(t)));if(function(e){return"[object Boolean]"===q(e)&&(!L||!("object"===typeof e&&L in e))}(t))return Q(p.call(t));if(function(e){return"[object String]"===q(e)&&(!L||!("object"===typeof e&&L in e))}(t))return Q(U(String(t)));if("undefined"!==typeof window&&t===window)return"{ [object Window] }";if(t===n.g)return"{ [object globalThis] }";if(!function(e){return"[object Date]"===q(e)&&(!L||!("object"===typeof e&&L in e))}(t)&&!V(t)){var ce=X(t,U),ue=O?O(t)===Object.prototype:t instanceof Object||t.constructor===Object,de=t instanceof Object?"":"null prototype",he=!ue&&L&&Object(t)===t&&L in t?y.call(q(t),8,-1):de?"Object":"",me=(ue||"function"!==typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(he||de?"["+S.call(x.call([],he||[],de||[]),": ")+"] ":"");return 0===ce.length?me+"{}":D?me+"{"+J(ce,D)+"}":me+"{ "+S.call(ce,", ")+" }"}return String(t)};var U=Object.prototype.hasOwnProperty||function(e){return e in this};function B(e,t){return U.call(e,t)}function q(e){return f.call(e)}function Y(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;nt.maxStringLength){var n=e.length-t.maxStringLength,r="... "+n+" more character"+(n>1?"s":"");return W(y.call(e,0,t.maxStringLength),t)+r}return F(_.call(_.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,K),"single",t)}function K(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+b.call(t.toString(16))}function Q(e){return"Object("+e+")"}function Z(e){return e+" { ? }"}function G(e,t,n,r){return e+" ("+t+") {"+(r?J(n,r):S.call(n,", "))+"}"}function J(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+S.call(e,","+n)+"\n"+t.prev}function X(e,t){var n=H(e),r=[];if(n){r.length=e.length;for(var a=0;a{"use strict";n.r(t),n.d(t,{Children:()=>Y,Component:()=>l.uA,Fragment:()=>l.FK,PureComponent:()=>H,StrictMode:()=>Pe,Suspense:()=>G,SuspenseList:()=>ee,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>ke,cloneElement:()=>Ne,createContext:()=>l.q6,createElement:()=>l.n,createFactory:()=>Se,createPortal:()=>ae,createRef:()=>l._3,default:()=>He,findDOMNode:()=>Me,flushSync:()=>Le,forwardRef:()=>B,hydrate:()=>he,isElement:()=>ze,isFragment:()=>Ee,isValidElement:()=>Ce,lazy:()=>X,memo:()=>V,render:()=>de,startTransition:()=>Oe,unmountComponentAtNode:()=>Ae,unstable_batchedUpdates:()=>Te,useCallback:()=>E,useContext:()=>N,useDebugValue:()=>A,useDeferredValue:()=>Ie,useEffect:()=>w,useErrorBoundary:()=>M,useId:()=>T,useImperativeHandle:()=>S,useInsertionEffect:()=>De,useLayoutEffect:()=>k,useMemo:()=>C,useReducer:()=>b,useRef:()=>x,useState:()=>_,useSyncExternalStore:()=>Fe,useTransition:()=>Re,version:()=>xe});var r,a,i,o,l=n(746),s=0,c=[],u=[],d=l.fF,h=d.__b,m=d.__r,p=d.diffed,f=d.__c,v=d.unmount,g=d.__;function y(e,t){d.__h&&d.__h(a,e,s||t),s=0;var n=a.__H||(a.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({__V:u}),n.__[e]}function _(e){return s=1,b(z,e)}function b(e,t,n){var i=y(r++,2);if(i.t=e,!i.__c&&(i.__=[n?n(t):z(void 0,t),function(e){var t=i.__N?i.__N[0]:i.__[0],n=i.t(t,e);t!==n&&(i.__N=[n,i.__[1]],i.__c.setState({}))}],i.__c=a,!a.u)){var o=function(e,t,n){if(!i.__c.__H)return!0;var r=i.__c.__H.__.filter((function(e){return!!e.__c}));if(r.every((function(e){return!e.__N})))return!l||l.call(this,e,t,n);var a=!1;return r.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(a=!0)}})),!(!a&&i.__c.props===e)&&(!l||l.call(this,e,t,n))};a.u=!0;var l=a.shouldComponentUpdate,s=a.componentWillUpdate;a.componentWillUpdate=function(e,t,n){if(this.__e){var r=l;l=void 0,o(e,t,n),l=r}s&&s.call(this,e,t,n)},a.shouldComponentUpdate=o}return i.__N||i.__}function w(e,t){var n=y(r++,3);!d.__s&&D(n.__H,t)&&(n.__=e,n.i=t,a.__H.__h.push(n))}function k(e,t){var n=y(r++,4);!d.__s&&D(n.__H,t)&&(n.__=e,n.i=t,a.__h.push(n))}function x(e){return s=5,C((function(){return{current:e}}),[])}function S(e,t,n){s=6,k((function(){return"function"==typeof e?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0}),null==n?n:n.concat(e))}function C(e,t){var n=y(r++,7);return D(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function E(e,t){return s=8,C((function(){return e}),t)}function N(e){var t=a.context[e.__c],n=y(r++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(a)),t.props.value):e.__}function A(e,t){d.useDebugValue&&d.useDebugValue(t?t(e):e)}function M(e){var t=y(r++,10),n=_();return t.__=e,a.componentDidCatch||(a.componentDidCatch=function(e,r){t.__&&t.__(e,r),n[1](e)}),[n[0],function(){n[1](void 0)}]}function T(){var e=y(r++,11);if(!e.__){for(var t=a.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function L(){for(var e;e=c.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(I),e.__H.__h.forEach(R),e.__H.__h=[]}catch(r){e.__H.__h=[],d.__e(r,e.__v)}}d.__b=function(e){a=null,h&&h(e)},d.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),g&&g(e,t)},d.__r=function(e){m&&m(e),r=0;var t=(a=e.__c).__H;t&&(i===a?(t.__h=[],a.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.__V=u,e.__N=e.i=void 0}))):(t.__h.forEach(I),t.__h.forEach(R),t.__h=[],r=0)),i=a},d.diffed=function(e){p&&p(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==c.push(t)&&o===d.requestAnimationFrame||((o=d.requestAnimationFrame)||O)(L)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.__V!==u&&(e.__=e.__V),e.i=void 0,e.__V=u}))),i=a=null},d.__c=function(e,t){t.some((function(e){try{e.__h.forEach(I),e.__h=e.__h.filter((function(e){return!e.__||R(e)}))}catch(a){t.some((function(e){e.__h&&(e.__h=[])})),t=[],d.__e(a,e.__v)}})),f&&f(e,t)},d.unmount=function(e){v&&v(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{I(e)}catch(e){t=e}})),n.__H=void 0,t&&d.__e(t,n.__v))};var P="function"==typeof requestAnimationFrame;function O(e){var t,n=function(){clearTimeout(r),P&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);P&&(t=requestAnimationFrame(n))}function I(e){var t=a,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),a=t}function R(e){var t=a;e.__c=e.__(),a=t}function D(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function z(e,t){return"function"==typeof t?t(e):t}function F(e,t){for(var n in t)e[n]=t[n];return e}function j(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var r in t)if("__source"!==r&&e[r]!==t[r])return!0;return!1}function H(e,t){this.props=e,this.context=t}function V(e,t){function n(e){var n=this.props.ref,r=n==e.ref;return!r&&n&&(n.call?n(null):n.current=null),t?!t(this.props,e)||!r:j(this.props,e)}function r(t){return this.shouldComponentUpdate=n,(0,l.n)(e,t)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(H.prototype=new l.uA).isPureReactComponent=!0,H.prototype.shouldComponentUpdate=function(e,t){return j(this.props,e)||j(this.state,t)};var $=l.fF.__b;l.fF.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),$&&$(e)};var U="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function B(e){function t(t){var n=F({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=U,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var q=function(e,t){return null==e?null:(0,l.v2)((0,l.v2)(e).map(t))},Y={map:q,forEach:q,count:function(e){return e?(0,l.v2)(e).length:0},only:function(e){var t=(0,l.v2)(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:l.v2},W=l.fF.__e;l.fF.__e=function(e,t,n,r){if(e.then)for(var a,i=t;i=i.__;)if((a=i.__c)&&a.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),a.__c(e,t);W(e,t,n,r)};var K=l.fF.unmount;function Q(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),e.__c.__H=null),null!=(e=F({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map((function(e){return Q(e,t,n)}))),e}function Z(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map((function(e){return Z(e,t,n)})),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function G(){this.__u=0,this.t=null,this.__b=null}function J(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function X(e){var t,n,r;function a(a){if(t||(t=e()).then((function(e){n=e.default||e}),(function(e){r=e})),r)throw r;if(!n)throw t;return(0,l.n)(n,a)}return a.displayName="Lazy",a.__f=!0,a}function ee(){this.u=null,this.o=null}l.fF.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),K&&K(e)},(G.prototype=new l.uA).__c=function(e,t){var n=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(n);var a=J(r.__v),i=!1,o=function(){i||(i=!0,n.__R=null,a?a(l):l())};n.__R=o;var l=function(){if(! --r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=Z(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(o,o)},G.prototype.componentWillUnmount=function(){this.t=[]},G.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=Q(this.__b,n,r.__O=r.__P)}this.__b=null}var a=t.__a&&(0,l.n)(l.FK,null,e.fallback);return a&&(a.__u&=-33),[(0,l.n)(l.FK,null,t.__a?null:e.children),a]};var te=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(e)}}),(0,l.XX)((0,l.n)(ne,{context:t.context},e.__v),t.l)}function ae(e,t){var n=(0,l.n)(re,{__v:e,i:t});return n.containerInfo=t,n}(ee.prototype=new l.uA).__a=function(e){var t=this,n=J(t.__v),r=t.o.get(e);return r[0]++,function(a){var i=function(){t.props.revealOrder?(r.push(a),te(t,e,r)):a()};n?n(i):i()}},ee.prototype.render=function(e){this.u=null,this.o=new Map;var t=(0,l.v2)(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},ee.prototype.componentDidUpdate=ee.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){te(e,n,t)}))};var ie="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,oe=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,le=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,se=/[A-Z0-9]/g,ce="undefined"!=typeof document,ue=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(e)};function de(e,t,n){return null==t.__k&&(t.textContent=""),(0,l.XX)(e,t),"function"==typeof n&&n(),e?e.__c:null}function he(e,t,n){return(0,l.Qv)(e,t),"function"==typeof n&&n(),e?e.__c:null}l.uA.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(l.uA.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var me=l.fF.event;function pe(){}function fe(){return this.cancelBubble}function ve(){return this.defaultPrevented}l.fF.event=function(e){return me&&(e=me(e)),e.persist=pe,e.isPropagationStopped=fe,e.isDefaultPrevented=ve,e.nativeEvent=e};var ge,ye={enumerable:!1,configurable:!0,get:function(){return this.class}},_e=l.fF.vnode;l.fF.vnode=function(e){"string"==typeof e.type&&function(e){var t=e.props,n=e.type,r={};for(var a in t){var i=t[a];if(!("value"===a&&"defaultValue"in t&&null==i||ce&&"children"===a&&"noscript"===n||"class"===a||"className"===a)){var o=a.toLowerCase();"defaultValue"===a&&"value"in t&&null==t.value?a="value":"download"===a&&!0===i?i="":"translate"===o&&"no"===i?i=!1:"ondoubleclick"===o?a="ondblclick":"onchange"!==o||"input"!==n&&"textarea"!==n||ue(t.type)?"onfocus"===o?a="onfocusin":"onblur"===o?a="onfocusout":le.test(a)?a=o:-1===n.indexOf("-")&&oe.test(a)?a=a.replace(se,"-$&").toLowerCase():null===i&&(i=void 0):o=a="oninput","oninput"===o&&r[a=o]&&(a="oninputCapture"),r[a]=i}}"select"==n&&r.multiple&&Array.isArray(r.value)&&(r.value=(0,l.v2)(t.children).forEach((function(e){e.props.selected=-1!=r.value.indexOf(e.props.value)}))),"select"==n&&null!=r.defaultValue&&(r.value=(0,l.v2)(t.children).forEach((function(e){e.props.selected=r.multiple?-1!=r.defaultValue.indexOf(e.props.value):r.defaultValue==e.props.value}))),t.class&&!t.className?(r.class=t.class,Object.defineProperty(r,"className",ye)):(t.className&&!t.class||t.class&&t.className)&&(r.class=r.className=t.className),e.props=r}(e),e.$$typeof=ie,_e&&_e(e)};var be=l.fF.__r;l.fF.__r=function(e){be&&be(e),ge=e.__c};var we=l.fF.diffed;l.fF.diffed=function(e){we&&we(e);var t=e.props,n=e.__e;null!=n&&"textarea"===e.type&&"value"in t&&t.value!==n.value&&(n.value=null==t.value?"":t.value),ge=null};var ke={ReactCurrentDispatcher:{current:{readContext:function(e){return ge.__n[e.__c].props.value}}}},xe="17.0.2";function Se(e){return l.n.bind(null,e)}function Ce(e){return!!e&&e.$$typeof===ie}function Ee(e){return Ce(e)&&e.type===l.FK}function Ne(e){return Ce(e)?l.Ob.apply(null,arguments):e}function Ae(e){return!!e.__k&&((0,l.XX)(null,e),!0)}function Me(e){return e&&(e.base||1===e.nodeType&&e)||null}var Te=function(e,t){return e(t)},Le=function(e,t){return e(t)},Pe=l.FK;function Oe(e){e()}function Ie(e){return e}function Re(){return[!1,Oe]}var De=k,ze=Ce;function Fe(e,t){var n=t(),r=_({h:{__:n,v:t}}),a=r[0].h,i=r[1];return k((function(){a.__=n,a.v=t,je(a)&&i({h:a})}),[e,n,t]),w((function(){return je(a)&&i({h:a}),e((function(){je(a)&&i({h:a})}))}),[e]),n}function je(e){var t,n,r=e.v,a=e.__;try{var i=r();return!((t=a)===(n=i)&&(0!==t||1/t==1/n)||t!=t&&n!=n)}catch(e){return!0}}var He={useState:_,useId:T,useReducer:b,useEffect:w,useLayoutEffect:k,useInsertionEffect:De,useTransition:Re,useDeferredValue:Ie,useSyncExternalStore:Fe,startTransition:Oe,useRef:x,useImperativeHandle:S,useMemo:C,useCallback:E,useContext:N,useDebugValue:A,version:"17.0.2",Children:Y,render:de,hydrate:he,unmountComponentAtNode:Ae,createPortal:ae,createElement:l.n,createContext:l.q6,createFactory:Se,cloneElement:Ne,createRef:l._3,Fragment:l.FK,isValidElement:Ce,isElement:ze,isFragment:Ee,findDOMNode:Me,Component:l.uA,PureComponent:H,memo:V,forwardRef:B,flushSync:Le,unstable_batchedUpdates:Te,StrictMode:Pe,Suspense:G,SuspenseList:ee,lazy:X,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:ke}},746:(e,t,n)=>{"use strict";n.d(t,{FK:()=>b,Ob:()=>B,Qv:()=>U,XX:()=>$,_3:()=>_,fF:()=>a,n:()=>g,q6:()=>q,uA:()=>w,v2:()=>T});var r,a,i,o,l,s,c,u,d={},h=[],m=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,p=Array.isArray;function f(e,t){for(var n in t)e[n]=t[n];return e}function v(e){var t=e.parentNode;t&&t.removeChild(e)}function g(e,t,n){var a,i,o,l={};for(o in t)"key"==o?a=t[o]:"ref"==o?i=t[o]:l[o]=t[o];if(arguments.length>2&&(l.children=arguments.length>3?r.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(o in e.defaultProps)void 0===l[o]&&(l[o]=e.defaultProps[o]);return y(e,l,a,i,null)}function y(e,t,n,r,o){var l={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==o?++i:o,__i:-1,__u:0};return null==o&&null!=a.vnode&&a.vnode(l),l}function _(){return{current:null}}function b(e){return e.children}function w(e,t){this.props=e,this.context=t}function k(e,t){if(null==t)return e.__?k(e.__,e.__i+1):null;for(var n;tn?(z(r,t,i),i.length=r.length=0,t=void 0,o.sort(c)):t&&a.__c&&a.__c(t,h));t&&z(r,t,i),E.__r=0}function N(e,t,n,r,a,i,o,l,s,c,u){var m,p,f,v,g,y=r&&r.__k||h,_=t.length;for(n.__d=s,A(n,t,y),s=n.__d,m=0;m<_;m++)null!=(f=n.__k[m])&&"boolean"!=typeof f&&"function"!=typeof f&&(p=-1===f.__i?d:y[f.__i]||d,f.__i=m,D(e,f,p,a,i,o,l,s,c,u),v=f.__e,f.ref&&p.ref!=f.ref&&(p.ref&&j(p.ref,null,f),u.push(f.ref,f.__c||v,f)),null==g&&null!=v&&(g=v),65536&f.__u||p.__k===f.__k?s=M(f,s,e):"function"==typeof f.type&&void 0!==f.__d?s=f.__d:v&&(s=v.nextSibling),f.__d=void 0,f.__u&=-196609);n.__d=s,n.__e=g}function A(e,t,n){var r,a,i,o,l,s=t.length,c=n.length,u=c,d=0;for(e.__k=[],r=0;r0?y(a.type,a.props,a.key,a.ref?a.ref:null,a.__v):a)?(a.__=e,a.__b=e.__b+1,l=L(a,n,o=r+d,u),a.__i=l,i=null,-1!==l&&(u--,(i=n[l])&&(i.__u|=131072)),null==i||null===i.__v?(-1==l&&d--,"function"!=typeof a.type&&(a.__u|=65536)):l!==o&&(l===o+1?d++:l>o?u>s-o?d+=l-o:d--:d=l(null!=s&&0==(131072&s.__u)?1:0))for(;o>=0||l=0){if((s=t[o])&&0==(131072&s.__u)&&a==s.key&&i===s.type)return o;o--}if(l2&&(s.children=arguments.length>3?r.call(arguments,2):n),y(e.type,s,a||e.key,i||e.ref,null)}function q(e,t){var n={__c:t="__cC"+u++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var n,r;return this.getChildContext||(n=[],(r={})[t]=this,this.getChildContext=function(){return r},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&n.some((function(e){e.__e=!0,C(e)}))},this.sub=function(e){n.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n.splice(n.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Provider.__=n.Consumer.contextType=n}r=h.slice,a={__e:function(e,t,n,r){for(var a,i,o;t=t.__;)if((a=t.__c)&&!a.__)try{if((i=a.constructor)&&null!=i.getDerivedStateFromError&&(a.setState(i.getDerivedStateFromError(e)),o=a.__d),null!=a.componentDidCatch&&(a.componentDidCatch(e,r||{}),o=a.__d),o)return a.__E=a}catch(t){e=t}throw e}},i=0,w.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=f({},this.state),"function"==typeof e&&(e=e(f({},n),this.props)),e&&f(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),C(this))},w.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),C(this))},w.prototype.render=b,o=[],s="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,c=function(e,t){return e.__v.__b-t.__v.__b},E.__r=0,u=0},640:e=>{"use strict";var t=String.prototype.replace,n=/%20/g,r="RFC1738",a="RFC3986";e.exports={default:a,formatters:{RFC1738:function(e){return t.call(e,n,"+")},RFC3986:function(e){return String(e)}},RFC1738:r,RFC3986:a}},215:(e,t,n)=>{"use strict";var r=n(518),a=n(968),i=n(640);e.exports={formats:i,parse:a,stringify:r}},968:(e,t,n)=>{"use strict";var r=n(570),a=Object.prototype.hasOwnProperty,i=Array.isArray,o={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:r.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},l=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},s=function(e,t){return e&&"string"===typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},c=function(e,t,n,r){if(e){var i=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,l=n.depth>0&&/(\[[^[\]]*])/.exec(i),c=l?i.slice(0,l.index):i,u=[];if(c){if(!n.plainObjects&&a.call(Object.prototype,c)&&!n.allowPrototypes)return;u.push(c)}for(var d=0;n.depth>0&&null!==(l=o.exec(i))&&d=0;--i){var o,l=e[i];if("[]"===l&&n.parseArrays)o=[].concat(a);else{o=n.plainObjects?Object.create(null):{};var c="["===l.charAt(0)&&"]"===l.charAt(l.length-1)?l.slice(1,-1):l,u=parseInt(c,10);n.parseArrays||""!==c?!isNaN(u)&&l!==c&&String(u)===c&&u>=0&&n.parseArrays&&u<=n.arrayLimit?(o=[])[u]=a:"__proto__"!==c&&(o[c]=a):o={0:a}}a=o}return a}(u,t,n,r)}};e.exports=function(e,t){var n=function(e){if(!e)return o;if(null!==e.decoder&&void 0!==e.decoder&&"function"!==typeof e.decoder)throw new TypeError("Decoder has to be a function.");if("undefined"!==typeof e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t="undefined"===typeof e.charset?o.charset:e.charset;return{allowDots:"undefined"===typeof e.allowDots?o.allowDots:!!e.allowDots,allowPrototypes:"boolean"===typeof e.allowPrototypes?e.allowPrototypes:o.allowPrototypes,allowSparse:"boolean"===typeof e.allowSparse?e.allowSparse:o.allowSparse,arrayLimit:"number"===typeof e.arrayLimit?e.arrayLimit:o.arrayLimit,charset:t,charsetSentinel:"boolean"===typeof e.charsetSentinel?e.charsetSentinel:o.charsetSentinel,comma:"boolean"===typeof e.comma?e.comma:o.comma,decoder:"function"===typeof e.decoder?e.decoder:o.decoder,delimiter:"string"===typeof e.delimiter||r.isRegExp(e.delimiter)?e.delimiter:o.delimiter,depth:"number"===typeof e.depth||!1===e.depth?+e.depth:o.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"===typeof e.interpretNumericEntities?e.interpretNumericEntities:o.interpretNumericEntities,parameterLimit:"number"===typeof e.parameterLimit?e.parameterLimit:o.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"===typeof e.plainObjects?e.plainObjects:o.plainObjects,strictNullHandling:"boolean"===typeof e.strictNullHandling?e.strictNullHandling:o.strictNullHandling}}(t);if(""===e||null===e||"undefined"===typeof e)return n.plainObjects?Object.create(null):{};for(var u="string"===typeof e?function(e,t){var n,c={__proto__:null},u=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,d=t.parameterLimit===1/0?void 0:t.parameterLimit,h=u.split(t.delimiter,d),m=-1,p=t.charset;if(t.charsetSentinel)for(n=0;n-1&&(v=i(v)?[v]:v),a.call(c,f)?c[f]=r.combine(c[f],v):c[f]=v}return c}(e,n):e,d=n.plainObjects?Object.create(null):{},h=Object.keys(u),m=0;m{"use strict";var r=n(670),a=n(570),i=n(640),o=Object.prototype.hasOwnProperty,l={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},s=Array.isArray,c=Array.prototype.push,u=function(e,t){c.apply(e,s(t)?t:[t])},d=Date.prototype.toISOString,h=i.default,m={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:a.encode,encodeValuesOnly:!1,format:h,formatter:i.formatters[h],indices:!1,serializeDate:function(e){return d.call(e)},skipNulls:!1,strictNullHandling:!1},p={},f=function e(t,n,i,o,l,c,d,h,f,v,g,y,_,b,w,k){for(var x,S=t,C=k,E=0,N=!1;void 0!==(C=C.get(p))&&!N;){var A=C.get(t);if(E+=1,"undefined"!==typeof A){if(A===E)throw new RangeError("Cyclic object value");N=!0}"undefined"===typeof C.get(p)&&(E=0)}if("function"===typeof h?S=h(n,S):S instanceof Date?S=g(S):"comma"===i&&s(S)&&(S=a.maybeMap(S,(function(e){return e instanceof Date?g(e):e}))),null===S){if(l)return d&&!b?d(n,m.encoder,w,"key",y):n;S=""}if("string"===typeof(x=S)||"number"===typeof x||"boolean"===typeof x||"symbol"===typeof x||"bigint"===typeof x||a.isBuffer(S))return d?[_(b?n:d(n,m.encoder,w,"key",y))+"="+_(d(S,m.encoder,w,"value",y))]:[_(n)+"="+_(String(S))];var M,T=[];if("undefined"===typeof S)return T;if("comma"===i&&s(S))b&&d&&(S=a.maybeMap(S,d)),M=[{value:S.length>0?S.join(",")||null:void 0}];else if(s(h))M=h;else{var L=Object.keys(S);M=f?L.sort(f):L}for(var P=o&&s(S)&&1===S.length?n+"[]":n,O=0;O0?w+b:""}},570:(e,t,n)=>{"use strict";var r=n(640),a=Object.prototype.hasOwnProperty,i=Array.isArray,o=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),l=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r1;){var t=e.pop(),n=t.obj[t.prop];if(i(n)){for(var r=[],a=0;a=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||i===r.RFC1738&&(40===u||41===u)?s+=l.charAt(c):u<128?s+=o[u]:u<2048?s+=o[192|u>>6]+o[128|63&u]:u<55296||u>=57344?s+=o[224|u>>12]+o[128|u>>6&63]+o[128|63&u]:(c+=1,u=65536+((1023&u)<<10|1023&l.charCodeAt(c)),s+=o[240|u>>18]+o[128|u>>12&63]+o[128|u>>6&63]+o[128|63&u])}return s},isBuffer:function(e){return!(!e||"object"!==typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(i(e)){for(var n=[],r=0;r{e.exports=n(204)},204:(e,t,n)=>{"use strict";var r=function(e){return e&&"object"==typeof e&&"default"in e?e.default:e}(n(609)),a=n(609);function i(){return(i=Object.assign||function(e){for(var t=1;tr.length&&h(e,t.length-1);)t=t.slice(0,t.length-1);return t.length}for(var a=r.length,i=t.length;i>=r.length;i--){var o=t[i];if(!h(e,i)&&m(e,i,o)){a=i+1;break}}return a}function v(e,t){return f(e,t)===e.mask.length}function g(e,t){var n=e.maskChar,r=e.mask,a=e.prefix;if(!n){for((t=y(e,"",t,0)).lengtht.length&&(t+=a.slice(t.length,r)),l.every((function(n){for(;u=n,h(e,c=r)&&u!==a[c];){if(r>=t.length&&(t+=a[r]),l=n,i&&h(e,r)&&l===i)return!0;if(++r>=a.length)return!1}var l,c,u;return!m(e,r,n)&&n!==i||(ra.start?d=(u=function(e,t,n,r){var a=e.mask,i=e.maskChar,o=n.split(""),l=r;return o.every((function(t){for(;o=t,h(e,n=r)&&o!==a[n];)if(++r>=a.length)return!1;var n,o;return(m(e,r,t)||t===i)&&r++,r=i.length?p=i.length:p=o.length&&p{"use strict";var r=n(375),a=n(411),i=n(734)(),o=n(553),l=n(277),s=r("%Math.floor%");e.exports=function(e,t){if("function"!==typeof e)throw new l("`fn` is not a function");if("number"!==typeof t||t<0||t>4294967295||s(t)!==t)throw new l("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],r=!0,c=!0;if("length"in e&&o){var u=o(e,"length");u&&!u.configurable&&(r=!1),u&&!u.writable&&(c=!1)}return(r||c||!n)&&(i?a(e,"length",t,!0,!0):a(e,"length",t)),e}},670:(e,t,n)=>{"use strict";var r=n(375),a=n(61),i=n(141),o=n(277),l=r("%WeakMap%",!0),s=r("%Map%",!0),c=a("WeakMap.prototype.get",!0),u=a("WeakMap.prototype.set",!0),d=a("WeakMap.prototype.has",!0),h=a("Map.prototype.get",!0),m=a("Map.prototype.set",!0),p=a("Map.prototype.has",!0),f=function(e,t){for(var n,r=e;null!==(n=r.next);r=n)if(n.key===t)return r.next=n.next,n.next=e.next,e.next=n,n};e.exports=function(){var e,t,n,r={assert:function(e){if(!r.has(e))throw new o("Side channel does not contain "+i(e))},get:function(r){if(l&&r&&("object"===typeof r||"function"===typeof r)){if(e)return c(e,r)}else if(s){if(t)return h(t,r)}else if(n)return function(e,t){var n=f(e,t);return n&&n.value}(n,r)},has:function(r){if(l&&r&&("object"===typeof r||"function"===typeof r)){if(e)return d(e,r)}else if(s){if(t)return p(t,r)}else if(n)return function(e,t){return!!f(e,t)}(n,r);return!1},set:function(r,a){l&&r&&("object"===typeof r||"function"===typeof r)?(e||(e=new l),u(e,r,a)):s?(t||(t=new s),m(t,r,a)):(n||(n={key:{},next:null}),function(e,t,n){var r=f(e,t);r?r.value=n:e.next={key:t,next:e.next,value:n}}(n,r,a))}};return r}},634:()=>{},738:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e="",t=0;t{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((t,r)=>(n.f[r](e,t),t)),[])),n.u=e=>"static/js/"+e+".bebe1265.chunk.js",n.miniCssF=e=>{},n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="vmui:";n.l=(r,a,i,o)=>{if(e[r])e[r].push(a);else{var l,s;if(void 0!==i)for(var c=document.getElementsByTagName("script"),u=0;u{l.onerror=l.onload=null,clearTimeout(m);var a=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach((e=>e(n))),t)return t(n)},m=setTimeout(h.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=h.bind(null,l.onerror),l.onload=h.bind(null,l.onload),s&&document.head.appendChild(l)}}})(),n.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="./",(()=>{var e={792:0};n.f.j=(t,r)=>{var a=n.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else{var i=new Promise(((n,r)=>a=e[t]=[n,r]));r.push(a[2]=i);var o=n.p+n.u(t),l=new Error;n.l(o,(r=>{if(n.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var i=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+i+": "+o+")",l.name="ChunkLoadError",l.type=i,l.request=o,a[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var a,i,o=r[0],l=r[1],s=r[2],c=0;if(o.some((t=>0!==e[t]))){for(a in l)n.o(l,a)&&(n.m[a]=l[a]);if(s)s(n)}for(t&&t(r);c{"use strict";var e={};n.r(e),n.d(e,{AlarmIcon:()=>Bn,ArrowDownIcon:()=>Hn,ArrowDropDownIcon:()=>Vn,CalendarIcon:()=>Un,ChartIcon:()=>Kn,ClockIcon:()=>$n,CloseIcon:()=>On,CodeIcon:()=>Zn,CopyIcon:()=>ar,DeleteIcon:()=>Gn,DoneIcon:()=>er,DownloadIcon:()=>wr,DragIcon:()=>ir,ErrorIcon:()=>zn,FunctionIcon:()=>yr,InfoIcon:()=>Rn,IssueIcon:()=>sr,KeyboardIcon:()=>qn,LabelIcon:()=>_r,ListIcon:()=>pr,LogoAnomalyIcon:()=>Tn,LogoIcon:()=>An,LogoLogsIcon:()=>Mn,LogoShortIcon:()=>Ln,MetricIcon:()=>gr,MinusIcon:()=>Xn,MoreIcon:()=>dr,PlayCircleOutlineIcon:()=>Wn,PlayIcon:()=>Yn,PlusIcon:()=>Jn,Prettify:()=>rr,QuestionIcon:()=>cr,RefreshIcon:()=>jn,RestartIcon:()=>In,SettingsIcon:()=>Pn,StarBorderIcon:()=>fr,StarIcon:()=>vr,StorageIcon:()=>ur,SuccessIcon:()=>Fn,TableIcon:()=>Qn,TimelineIcon:()=>or,TipIcon:()=>mr,TuneIcon:()=>hr,ValueIcon:()=>br,VisibilityIcon:()=>tr,VisibilityOffIcon:()=>nr,WarningIcon:()=>Dn,WikiIcon:()=>lr});var t,r=n(609),a=n(159),i=n.n(a),o=n(7),l=n.n(o),s=n(648),c=n.n(s),u=n(220),d=n.n(u);function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function b(e,n,r,a){void 0===a&&(a={});let{window:i=document.defaultView,v5Compat:o=!1}=a,l=i.history,s=t.Pop,c=null,u=d();function d(){return(l.state||{idx:null}).idx}function f(){s=t.Pop;let e=d(),n=null==e?null:e-u;u=e,c&&c({action:s,location:b.location,delta:n})}function _(e){let t="null"!==i.location.origin?i.location.origin:i.location.href,n="string"===typeof e?e:y(e);return n=n.replace(/ $/,"%20"),p(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}null==u&&(u=0,l.replaceState(h({},l.state,{idx:u}),""));let b={get action(){return s},get location(){return e(i,l)},listen(e){if(c)throw new Error("A history only accepts one active listener");return i.addEventListener(m,f),c=e,()=>{i.removeEventListener(m,f),c=null}},createHref:e=>n(i,e),createURL:_,encodeLocation(e){let t=_(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,n){s=t.Push;let a=g(b.location,e,n);r&&r(a,e),u=d()+1;let h=v(a,u),m=b.createHref(a);try{l.pushState(h,"",m)}catch(p){if(p instanceof DOMException&&"DataCloneError"===p.name)throw p;i.location.assign(m)}o&&c&&c({action:s,location:b.location,delta:1})},replace:function(e,n){s=t.Replace;let a=g(b.location,e,n);r&&r(a,e),u=d();let i=v(a,u),h=b.createHref(a);l.replaceState(i,"",h),o&&c&&c({action:s,location:b.location,delta:0})},go:e=>l.go(e)};return b}var w;!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(w||(w={}));new Set(["lazy","caseSensitive","path","id","index","children"]);function k(e,t,n){void 0===n&&(n="/");let r=D(("string"===typeof t?_(t):t).pathname||"/",n);if(null==r)return null;let a=x(e);!function(e){e.sort(((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){let n=e.length===t.length&&e.slice(0,-1).every(((e,n)=>e===t[n]));return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((e=>e.childrenIndex)),t.routesMeta.map((e=>e.childrenIndex)))))}(a);let i=null;for(let o=0;null==i&&o{let o={relativePath:void 0===i?e.path||"":i,caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};o.relativePath.startsWith("/")&&(p(o.relativePath.startsWith(r),'Absolute route path "'+o.relativePath+'" nested under path "'+r+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),o.relativePath=o.relativePath.slice(r.length));let l=V([r,o.relativePath]),s=n.concat(o);e.children&&e.children.length>0&&(p(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+l+'".'),x(e.children,t,s,l)),(null!=e.path||e.index)&&t.push({path:l,score:P(l,e.index),routesMeta:s})};return e.forEach(((e,t)=>{var n;if(""!==e.path&&null!=(n=e.path)&&n.includes("?"))for(let r of S(e.path))a(e,t,r);else a(e,t)})),t}function S(e){let t=e.split("/");if(0===t.length)return[];let[n,...r]=t,a=n.endsWith("?"),i=n.replace(/\?$/,"");if(0===r.length)return a?[i,""]:[i];let o=S(r.join("/")),l=[];return l.push(...o.map((e=>""===e?i:[i,e].join("/")))),a&&l.push(...o),l.map((t=>e.startsWith("/")&&""===t?"/":t))}const C=/^:[\w-]+$/,E=3,N=2,A=1,M=10,T=-2,L=e=>"*"===e;function P(e,t){let n=e.split("/"),r=n.length;return n.some(L)&&(r+=T),t&&(r+=N),n.filter((e=>!L(e))).reduce(((e,t)=>e+(C.test(t)?E:""===t?A:M)),r)}function O(e,t){let{routesMeta:n}=e,r={},a="/",i=[];for(let o=0;o(r.push({paramName:t,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)")));e.endsWith("*")?(r.push({paramName:"*"}),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))");let i=new RegExp(a,t?void 0:"i");return[i,r]}(e.path,e.caseSensitive,e.end),a=t.match(n);if(!a)return null;let i=a[0],o=i.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:r.reduce(((e,t,n)=>{let{paramName:r,isOptional:a}=t;if("*"===r){let e=l[n]||"";o=i.slice(0,i.length-e.length).replace(/(.)\/+$/,"$1")}const s=l[n];return e[r]=a&&!s?void 0:(s||"").replace(/%2F/g,"/"),e}),{}),pathname:i,pathnameBase:o,pattern:e}}function R(e){try{return e.split("/").map((e=>decodeURIComponent(e).replace(/\//g,"%2F"))).join("/")}catch(t){return f(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function D(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}function z(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the `to."+n+'` field. Alternatively you may provide the full path as a string in and the router will parse it for you.'}function F(e){return e.filter(((e,t)=>0===t||e.route.path&&e.route.path.length>0))}function j(e,t){let n=F(e);return t?n.map(((t,n)=>n===e.length-1?t.pathname:t.pathnameBase)):n.map((e=>e.pathnameBase))}function H(e,t,n,r){let a;void 0===r&&(r=!1),"string"===typeof e?a=_(e):(a=h({},e),p(!a.pathname||!a.pathname.includes("?"),z("?","pathname","search",a)),p(!a.pathname||!a.pathname.includes("#"),z("#","pathname","hash",a)),p(!a.search||!a.search.includes("#"),z("#","search","hash",a)));let i,o=""===e||""===a.pathname,l=o?"/":a.pathname;if(null==l)i=n;else{let e=t.length-1;if(!r&&l.startsWith("..")){let t=l.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}i=e>=0?t[e]:"/"}let s=function(e,t){void 0===t&&(t="/");let{pathname:n,search:r="",hash:a=""}="string"===typeof e?_(e):e,i=n?n.startsWith("/")?n:function(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(n,t):t;return{pathname:i,search:U(r),hash:B(a)}}(a,i),c=l&&"/"!==l&&l.endsWith("/"),u=(o||"."===l)&&n.endsWith("/");return s.pathname.endsWith("/")||!c&&!u||(s.pathname+="/"),s}const V=e=>e.join("/").replace(/\/\/+/g,"/"),$=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),U=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",B=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";Error;function q(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"boolean"===typeof e.internal&&"data"in e}const Y=["post","put","patch","delete"],W=(new Set(Y),["get",...Y]);new Set(W),new Set([301,302,303,307,308]),new Set([307,308]);Symbol("deferred");function K(){return K=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.current=!0}));let a=r.useCallback((function(r,a){void 0===a&&(a={}),n.current&&("number"===typeof r?e.navigate(r):e.navigate(r,K({fromRouteId:t},a)))}),[e,t]);return a}():function(){te()||p(!1);let e=r.useContext(Q),{basename:t,future:n,navigator:a}=r.useContext(G),{matches:i}=r.useContext(X),{pathname:o}=ne(),l=JSON.stringify(j(i,n.v7_relativeSplatPath)),s=r.useRef(!1);re((()=>{s.current=!0}));let c=r.useCallback((function(n,r){if(void 0===r&&(r={}),!s.current)return;if("number"===typeof n)return void a.go(n);let i=H(n,JSON.parse(l),o,"path"===r.relative);null==e&&"/"!==t&&(i.pathname="/"===i.pathname?t:V([t,i.pathname])),(r.replace?a.replace:a.push)(i,r.state,r)}),[t,a,l,o,e]);return c}()}const ie=r.createContext(null);function oe(e,t){let{relative:n}=void 0===t?{}:t,{future:a}=r.useContext(G),{matches:i}=r.useContext(X),{pathname:o}=ne(),l=JSON.stringify(j(i,a.v7_relativeSplatPath));return r.useMemo((()=>H(e,JSON.parse(l),o,"path"===n)),[e,l,o,n])}function le(e,n,a,i){te()||p(!1);let{navigator:o}=r.useContext(G),{matches:l}=r.useContext(X),s=l[l.length-1],c=s?s.params:{},u=(s&&s.pathname,s?s.pathnameBase:"/");s&&s.route;let d,h=ne();if(n){var m;let e="string"===typeof n?_(n):n;"/"===u||(null==(m=e.pathname)?void 0:m.startsWith(u))||p(!1),d=e}else d=h;let f=d.pathname||"/",v=f;if("/"!==u){let e=u.replace(/^\//,"").split("/");v="/"+f.replace(/^\//,"").split("/").slice(e.length).join("/")}let g=k(e,{pathname:v});let y=he(g&&g.map((e=>Object.assign({},e,{params:Object.assign({},c,e.params),pathname:V([u,o.encodeLocation?o.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?u:V([u,o.encodeLocation?o.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])}))),l,a,i);return n&&y?r.createElement(J.Provider,{value:{location:K({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:t.Pop}},y):y}function se(){let e=function(){var e;let t=r.useContext(ee),n=ve(pe.UseRouteError),a=ge(pe.UseRouteError);if(void 0!==t)return t;return null==(e=n.errors)?void 0:e[a]}(),t=q(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,a="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:a};return r.createElement(r.Fragment,null,r.createElement("h2",null,"Unexpected Application Error!"),r.createElement("h3",{style:{fontStyle:"italic"}},t),n?r.createElement("pre",{style:i},n):null,null)}const ce=r.createElement(se,null);class ue extends r.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?r.createElement(X.Provider,{value:this.props.routeContext},r.createElement(ee.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function de(e){let{routeContext:t,match:n,children:a}=e,i=r.useContext(Q);return i&&i.static&&i.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),r.createElement(X.Provider,{value:t},a)}function he(e,t,n,a){var i;if(void 0===t&&(t=[]),void 0===n&&(n=null),void 0===a&&(a=null),null==e){var o;if(null==(o=n)||!o.errors)return null;e=n.matches}let l=e,s=null==(i=n)?void 0:i.errors;if(null!=s){let e=l.findIndex((e=>e.route.id&&(null==s?void 0:s[e.route.id])));e>=0||p(!1),l=l.slice(0,Math.min(l.length,e+1))}let c=!1,u=-1;if(n&&a&&a.v7_partialHydration)for(let r=0;r=0?l.slice(0,u+1):[l[0]];break}}}return l.reduceRight(((e,a,i)=>{let o,d=!1,h=null,m=null;var p;n&&(o=s&&a.route.id?s[a.route.id]:void 0,h=a.route.errorElement||ce,c&&(u<0&&0===i?(p="route-fallback",!1||ye[p]||(ye[p]=!0),d=!0,m=null):u===i&&(d=!0,m=a.route.hydrateFallbackElement||null)));let f=t.concat(l.slice(0,i+1)),v=()=>{let t;return t=o?h:d?m:a.route.Component?r.createElement(a.route.Component,null):a.route.element?a.route.element:e,r.createElement(de,{match:a,routeContext:{outlet:e,matches:f,isDataRoute:null!=n},children:t})};return n&&(a.route.ErrorBoundary||a.route.errorElement||0===i)?r.createElement(ue,{location:n.location,revalidation:n.revalidation,component:h,error:o,children:v(),routeContext:{outlet:null,matches:f,isDataRoute:!0}}):v()}),null)}var me=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(me||{}),pe=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(pe||{});function fe(e){let t=r.useContext(Q);return t||p(!1),t}function ve(e){let t=r.useContext(Z);return t||p(!1),t}function ge(e){let t=function(e){let t=r.useContext(X);return t||p(!1),t}(),n=t.matches[t.matches.length-1];return n.route.id||p(!1),n.route.id}const ye={};r.startTransition;function _e(e){return function(e){let t=r.useContext(X).outlet;return t?r.createElement(ie.Provider,{value:e},t):t}(e.context)}function be(e){p(!1)}function we(e){let{basename:n="/",children:a=null,location:i,navigationType:o=t.Pop,navigator:l,static:s=!1,future:c}=e;te()&&p(!1);let u=n.replace(/^\/*/,"/"),d=r.useMemo((()=>({basename:u,navigator:l,static:s,future:K({v7_relativeSplatPath:!1},c)})),[u,c,l,s]);"string"===typeof i&&(i=_(i));let{pathname:h="/",search:m="",hash:f="",state:v=null,key:g="default"}=i,y=r.useMemo((()=>{let e=D(h,u);return null==e?null:{location:{pathname:e,search:m,hash:f,state:v,key:g},navigationType:o}}),[u,h,m,f,v,g,o]);return null==y?null:r.createElement(G.Provider,{value:d},r.createElement(J.Provider,{children:a,value:y}))}function ke(e){let{children:t,location:n}=e;return le(xe(t),n)}new Promise((()=>{}));r.Component;function xe(e,t){void 0===t&&(t=[]);let n=[];return r.Children.forEach(e,((e,a)=>{if(!r.isValidElement(e))return;let i=[...t,a];if(e.type===r.Fragment)return void n.push.apply(n,xe(e.props.children,i));e.type!==be&&p(!1),e.props.index&&e.props.children&&p(!1);let o={id:e.props.id||i.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(o.children=xe(e.props.children,i)),n.push(o)})),n}function Se(){return Se=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(a[n]=e[n]);return a}function Ee(e){return void 0===e&&(e=""),new URLSearchParams("string"===typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce(((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map((e=>[n,e])):[[n,r]])}),[]))}new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);const Ne=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],Ae=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"];try{window.__reactRouterVersion="6"}catch(rp){}const Me=r.createContext({isTransitioning:!1});new Map;const Te=r.startTransition;r.flushSync,r.useId;function Le(e){let{basename:t,children:n,future:a,window:i}=e,o=r.useRef();null==o.current&&(o.current=function(e){return void 0===e&&(e={}),b((function(e,t){let{pathname:n="/",search:r="",hash:a=""}=_(e.location.hash.substr(1));return n.startsWith("/")||n.startsWith(".")||(n="/"+n),g("",{pathname:n,search:r,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){let n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){let t=e.location.href,n=t.indexOf("#");r=-1===n?t:t.slice(0,n)}return r+"#"+("string"===typeof t?t:y(t))}),(function(e,t){f("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),e)}({window:i,v5Compat:!0}));let l=o.current,[s,c]=r.useState({action:l.action,location:l.location}),{v7_startTransition:u}=a||{},d=r.useCallback((e=>{u&&Te?Te((()=>c(e))):c(e)}),[c,u]);return r.useLayoutEffect((()=>l.listen(d)),[l,d]),r.createElement(we,{basename:t,children:n,location:s.location,navigationType:s.action,navigator:l,future:a})}const Pe="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,Oe=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ie=r.forwardRef((function(e,t){let n,{onClick:a,relative:i,reloadDocument:o,replace:l,state:s,target:c,to:u,preventScrollReset:d,unstable_viewTransition:h}=e,m=Ce(e,Ne),{basename:f}=r.useContext(G),v=!1;if("string"===typeof u&&Oe.test(u)&&(n=u,Pe))try{let e=new URL(window.location.href),t=u.startsWith("//")?new URL(e.protocol+u):new URL(u),n=D(t.pathname,f);t.origin===e.origin&&null!=n?u=n+t.search+t.hash:v=!0}catch(rp){}let g=function(e,t){let{relative:n}=void 0===t?{}:t;te()||p(!1);let{basename:a,navigator:i}=r.useContext(G),{hash:o,pathname:l,search:s}=oe(e,{relative:n}),c=l;return"/"!==a&&(c="/"===l?a:V([a,l])),i.createHref({pathname:c,search:s,hash:o})}(u,{relative:i}),_=function(e,t){let{target:n,replace:a,state:i,preventScrollReset:o,relative:l,unstable_viewTransition:s}=void 0===t?{}:t,c=ae(),u=ne(),d=oe(e,{relative:l});return r.useCallback((t=>{if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,n)){t.preventDefault();let n=void 0!==a?a:y(u)===y(d);c(e,{replace:n,state:i,preventScrollReset:o,relative:l,unstable_viewTransition:s})}}),[u,c,d,a,i,n,e,o,l,s])}(u,{replace:l,state:s,target:c,preventScrollReset:d,relative:i,unstable_viewTransition:h});return r.createElement("a",Se({},m,{href:n||g,onClick:v||o?a:function(e){a&&a(e),e.defaultPrevented||_(e)},ref:t,target:c}))}));const Re=r.forwardRef((function(e,t){let{"aria-current":n="page",caseSensitive:a=!1,className:i="",end:o=!1,style:l,to:s,unstable_viewTransition:c,children:u}=e,d=Ce(e,Ae),h=oe(s,{relative:d.relative}),m=ne(),f=r.useContext(Z),{navigator:v,basename:g}=r.useContext(G),y=null!=f&&function(e,t){void 0===t&&(t={});let n=r.useContext(Me);null==n&&p(!1);let{basename:a}=Fe(De.useViewTransitionState),i=oe(e,{relative:t.relative});if(!n.isTransitioning)return!1;let o=D(n.currentLocation.pathname,a)||n.currentLocation.pathname,l=D(n.nextLocation.pathname,a)||n.nextLocation.pathname;return null!=I(i.pathname,l)||null!=I(i.pathname,o)}(h)&&!0===c,_=v.encodeLocation?v.encodeLocation(h).pathname:h.pathname,b=m.pathname,w=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;a||(b=b.toLowerCase(),w=w?w.toLowerCase():null,_=_.toLowerCase()),w&&g&&(w=D(w,g)||w);const k="/"!==_&&_.endsWith("/")?_.length-1:_.length;let x,S=b===_||!o&&b.startsWith(_)&&"/"===b.charAt(k),C=null!=w&&(w===_||!o&&w.startsWith(_)&&"/"===w.charAt(_.length)),E={isActive:S,isPending:C,isTransitioning:y},N=S?n:void 0;x="function"===typeof i?i(E):[i,S?"active":null,C?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let A="function"===typeof l?l(E):l;return r.createElement(Ie,Se({},d,{"aria-current":N,className:x,ref:t,style:A,to:s,unstable_viewTransition:c}),"function"===typeof u?u(E):u)}));var De,ze;function Fe(e){let t=r.useContext(Q);return t||p(!1),t}function je(e){let t=r.useRef(Ee(e)),n=r.useRef(!1),a=ne(),i=r.useMemo((()=>function(e,t){let n=Ee(e);return t&&t.forEach(((e,r)=>{n.has(r)||t.getAll(r).forEach((e=>{n.append(r,e)}))})),n}(a.search,n.current?null:t.current)),[a.search]),o=ae(),l=r.useCallback(((e,t)=>{const r=Ee("function"===typeof e?e(i):e);n.current=!0,o("?"+r,t)}),[o,i]);return[i,l]}(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(De||(De={})),function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(ze||(ze={}));let He=function(e){return e.logs="logs",e.anomaly="anomaly",e}({});const Ve={home:"/",metrics:"/metrics",dashboards:"/dashboards",cardinality:"/cardinality",topQueries:"/top-queries",trace:"/trace",withTemplate:"/expand-with-exprs",relabel:"/relabeling",logs:"/logs",activeQueries:"/active-queries",queryAnalyzer:"/query-analyzer",icons:"/icons",anomaly:"/anomaly",query:"/query"},{REACT_APP_TYPE:$e}={},Ue=$e===He.logs,Be={header:{tenant:!0,stepControl:!Ue,timeSelector:!Ue,executionControls:!Ue}},qe={[Ve.home]:{title:"Query",...Be},[Ve.metrics]:{title:"Explore Prometheus metrics",header:{tenant:!0,stepControl:!0,timeSelector:!0}},[Ve.cardinality]:{title:"Explore cardinality",header:{tenant:!0,cardinalityDatePicker:!0}},[Ve.topQueries]:{title:"Top queries",header:{tenant:!0}},[Ve.trace]:{title:"Trace analyzer",header:{}},[Ve.queryAnalyzer]:{title:"Query analyzer",header:{}},[Ve.dashboards]:{title:"Dashboards",...Be},[Ve.withTemplate]:{title:"WITH templates",header:{}},[Ve.relabel]:{title:"Metric relabel debug",header:{}},[Ve.logs]:{title:"Logs Explorer",header:{}},[Ve.activeQueries]:{title:"Active Queries",header:{}},[Ve.icons]:{title:"Icons",header:{}},[Ve.anomaly]:{title:"Anomaly exploration",...Be},[Ve.query]:{title:"Query",...Be}},Ye=Ve,We=()=>{var e;const t=(null===(e=document.getElementById("root"))||void 0===e?void 0:e.dataset.params)||"{}";try{return JSON.parse(t)}catch(rp){return console.error(rp),{}}},Ke=()=>!!Object.keys(We()).length,Qe=/(\/select\/)(\d+|\d.+)(\/)(.+)/,Ze=(e,t)=>e.replace(Qe,"$1".concat(t,"/$4")),Ge=e=>{var t;return(null===(t=e.match(Qe))||void 0===t?void 0:t[2])||""},Je=(e,t)=>{t?window.localStorage.setItem(e,JSON.stringify({value:t})):et([e]),window.dispatchEvent(new Event("storage"))},Xe=e=>{const t=window.localStorage.getItem(e);if(null!==t)try{var n;return null===(n=JSON.parse(t))||void 0===n?void 0:n.value}catch(rp){return t}},et=e=>e.forEach((e=>window.localStorage.removeItem(e))),{REACT_APP_TYPE:tt}={};var nt=n(215),rt=n.n(nt),at=n(424),it=n.n(at);const ot={table:100,chart:20,code:1e3},lt=[{id:"small",isDefault:!0,height:()=>.2*window.innerHeight},{id:"medium",height:()=>.4*window.innerHeight},{id:"large",height:()=>.8*window.innerHeight}],st=["min","median","max"],ct=(e,t)=>{const n=window.location.hash.split("?")[1],r=rt().parse(n,{ignoreQueryPrefix:!0});return it()(r,e,t||"")};let ut=function(e){return e.yhat="yhat",e.yhatUpper="yhat_upper",e.yhatLower="yhat_lower",e.anomaly="vmui_anomalies_points",e.training="vmui_training_data",e.actual="actual",e.anomalyScore="anomaly_score",e}({}),dt=function(e){return e.table="table",e.chart="chart",e.code="code",e}({}),ht=function(e){return e.emptyServer="Please enter Server URL",e.validServer="Please provide a valid Server URL",e.validQuery="Please enter a valid Query and execute it",e.traceNotFound="Not found the tracing information",e.emptyTitle="Please enter title",e.positiveNumber="Please enter positive number",e.validStep="Please enter a valid step",e.unknownType="Unknown server response format: must have 'errorType'",e}({}),mt=function(e){return e.system="system",e.light="light",e.dark="dark",e}({}),pt=function(e){return e.empty="empty",e.metricsql="metricsql",e.label="label",e.labelValue="labelValue",e}({});const ft=e=>getComputedStyle(document.documentElement).getPropertyValue("--".concat(e)),vt=(e,t)=>{document.documentElement.style.setProperty("--".concat(e),t)},gt=()=>window.matchMedia("(prefers-color-scheme: dark)").matches,yt=e=>{let t;try{t=new URL(e)}catch(n){return!1}return"http:"===t.protocol||"https:"===t.protocol},_t=e=>e.replace(/\/$/,""),bt=ct("g0.tenantID",""),wt={serverUrl:_t((e=>{const{serverURL:t}=We(),n=Xe("SERVER_URL"),r=window.location.href.replace(/\/(select\/)?(vmui)\/.*/,""),a=window.location.href.replace(/(?:graph|vmui)\/.*/,""),i=window.location.href.replace(/\/(?:prometheus\/)?(?:graph|vmui)\/.*/,"/prometheus"),o=t||n||i;switch(tt){case He.logs:return r;case He.anomaly:return t||n||a;default:return e?Ze(o,e):o}})(bt)),tenantId:bt,theme:Xe("THEME")||mt.system,isDarkTheme:null};function kt(e,t){switch(t.type){case"SET_SERVER":return{...e,serverUrl:_t(t.payload)};case"SET_TENANT_ID":return{...e,tenantId:t.payload};case"SET_THEME":return Je("THEME",t.payload),{...e,theme:t.payload};case"SET_DARK_THEME":return{...e,isDarkTheme:(n=e.theme,n===mt.system&>()||n===mt.dark)};default:throw new Error}var n}var xt=n(746);var St=0;Array.isArray;function Ct(e,t,n,r,a,i){var o,l,s={};for(l in t)"ref"==l?o=t[l]:s[l]=t[l];var c={type:e,props:s,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:--St,__i:-1,__u:0,__source:a,__self:i};if("function"==typeof e&&(o=e.defaultProps))for(l in o)void 0===s[l]&&(s[l]=o[l]);return xt.fF.vnode&&xt.fF.vnode(c),c}const Et=(0,r.createContext)({}),Nt=()=>(0,r.useContext)(Et).state,At=()=>(0,r.useContext)(Et).dispatch,Mt=Object.entries(wt).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:ct(n)||r}}),{}),Tt="YYYY-MM-DD",Lt="YYYY-MM-DD HH:mm:ss",Pt="YYYY-MM-DD HH:mm:ss:SSS (Z)",Ot="YYYY-MM-DD[T]HH:mm:ss",It="YYYY-MM-DD_HHmmss",Rt=window.innerWidth/4,Dt=window.innerWidth/40,zt=1,Ft=1578e8,jt=Intl.supportedValuesOf,Ht=jt?jt("timeZone"):["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/La_Rioja","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Monticello","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Katmandu","Asia/Khandyga","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis"],Vt=[{long:"years",short:"y",possible:"year"},{long:"weeks",short:"w",possible:"week"},{long:"days",short:"d",possible:"day"},{long:"hours",short:"h",possible:"hour"},{long:"minutes",short:"m",possible:"min"},{long:"seconds",short:"s",possible:"sec"},{long:"milliseconds",short:"ms",possible:"millisecond"}],$t=Vt.map((e=>e.short)),Ut=e=>Math.round(1e3*e)/1e3,Bt=e=>Jt(i().duration(e,"seconds").asMilliseconds()),qt=e=>{let t=Ut(e);const n=Math.round(e);e>=100&&(t=n-n%10),e<100&&e>=10&&(t=n-n%5),e<10&&e>=1&&(t=n),e<1&&e>.01&&(t=Math.round(40*e)/40);return Bt(t||.001).replace(/\s/g,"")},Yt=e=>{const t=e.match(/\d+/g),n=e.match(/[a-zA-Z]+/g);if(n&&t&&$t.includes(n[0]))return{[n[0]]:t[0]}},Wt=e=>{const t=Vt.map((e=>e.short)).join("|"),n=new RegExp("\\d+(\\.\\d+)?[".concat(t,"]+"),"g"),r=(e.match(n)||[]).reduce(((e,t)=>{const n=Yt(t);return n?{...e,...n}:{...e}}),{});return i().duration(r).asSeconds()},Kt=(e,t)=>qt(e/(t?Dt:Rt)),Qt=(e,t)=>{const n=(t||i()().toDate()).valueOf()/1e3,r=Wt(e);return{start:n-r,end:n,step:Kt(r),date:Zt(t||i()().toDate())}},Zt=e=>i().tz(e).utc().format(Ot),Gt=e=>i().tz(e).format(Ot),Jt=e=>{const t=Math.floor(e%1e3),n=Math.floor(e/1e3%60),r=Math.floor(e/1e3/60%60),a=Math.floor(e/1e3/3600%24),i=Math.floor(e/864e5),o=["d","h","m","s","ms"],l=[i,a,r,n,t].map(((e,t)=>e?"".concat(e).concat(o[t]):""));return l.filter((e=>e)).join("")},Xt=e=>{const t=i()(1e3*e);return t.isValid()?t.toDate():new Date},en=[{title:"Last 5 minutes",duration:"5m"},{title:"Last 15 minutes",duration:"15m"},{title:"Last 30 minutes",duration:"30m",isDefault:!0},{title:"Last 1 hour",duration:"1h"},{title:"Last 3 hours",duration:"3h"},{title:"Last 6 hours",duration:"6h"},{title:"Last 12 hours",duration:"12h"},{title:"Last 24 hours",duration:"24h"},{title:"Last 2 days",duration:"2d"},{title:"Last 7 days",duration:"7d"},{title:"Last 30 days",duration:"30d"},{title:"Last 90 days",duration:"90d"},{title:"Last 180 days",duration:"180d"},{title:"Last 1 year",duration:"1y"},{title:"Yesterday",duration:"1d",until:()=>i()().tz().subtract(1,"day").endOf("day").toDate()},{title:"Today",duration:"1d",until:()=>i()().tz().endOf("day").toDate()}].map((e=>({id:e.title.replace(/\s/g,"_").toLocaleLowerCase(),until:e.until?e.until:()=>i()().tz().toDate(),...e}))),tn=e=>{var t;let{relativeTimeId:n,defaultDuration:r,defaultEndInput:a}=e;const i=null===(t=en.find((e=>e.isDefault)))||void 0===t?void 0:t.id,o=n||ct("g0.relative_time",i),l=en.find((e=>e.id===o));return{relativeTimeId:l?o:"none",duration:l?l.duration:r,endInput:l?l.until():a}},nn=e=>{const t=i()().tz(e);return"UTC".concat(t.format("Z"))},rn=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";const t=new RegExp(e,"i");return Ht.reduce(((n,r)=>{const a=(r.match(/^(.*?)\//)||[])[1]||"unknown",i=nn(r),o=i.replace(/UTC|0/,""),l=r.replace(/[/_]/g," "),s={region:r,utc:i,search:"".concat(r," ").concat(i," ").concat(l," ").concat(o)},c=!e||e&&t.test(s.search);return c&&n[a]?n[a].push(s):c&&(n[a]=[s]),n}),{})},an=e=>{i().tz.setDefault(e)},on=()=>{const e=i().tz.guess(),t=(e=>{try{return i()().tz(e),!0}catch(rp){return!1}})(e);return{isValid:t,title:t?"Browser Time (".concat(e,")"):"Browser timezone (UTC)",region:t?e:"UTC"}},ln=Xe("TIMEZONE")||on().region;an(ln);const sn=ct("g0.range_input"),{duration:cn,endInput:un,relativeTimeId:dn}=tn({defaultDuration:sn||"1h",defaultEndInput:(hn=ct("g0.end_input",i()().utc().format(Ot)),i()(hn).utcOffset(0,!0).toDate()),relativeTimeId:sn?ct("g0.relative_time","none"):void 0});var hn;const mn={duration:cn,period:Qt(cn,un),relativeTime:dn,timezone:ln};function pn(e,t){switch(t.type){case"SET_DURATION":return{...e,duration:t.payload,period:Qt(t.payload,Xt(e.period.end)),relativeTime:"none"};case"SET_RELATIVE_TIME":return{...e,duration:t.payload.duration,period:Qt(t.payload.duration,t.payload.until),relativeTime:t.payload.id};case"SET_PERIOD":const n=(e=>{const t=e.to.valueOf()-e.from.valueOf();return Jt(t)})(t.payload);return{...e,duration:n,period:Qt(n,t.payload.to),relativeTime:"none"};case"RUN_QUERY":const{duration:r,endInput:a}=tn({relativeTimeId:e.relativeTime,defaultDuration:e.duration,defaultEndInput:Xt(e.period.end)});return{...e,period:Qt(r,a)};case"RUN_QUERY_TO_NOW":return{...e,period:Qt(e.duration)};case"SET_TIMEZONE":return an(t.payload),Je("TIMEZONE",t.payload),e.defaultTimezone&&Je("DISABLED_DEFAULT_TIMEZONE",t.payload!==e.defaultTimezone),{...e,timezone:t.payload};case"SET_DEFAULT_TIMEZONE":return{...e,defaultTimezone:t.payload};default:throw new Error}}const fn=(0,r.createContext)({}),vn=()=>(0,r.useContext)(fn).state,gn=()=>(0,r.useContext)(fn).dispatch,yn=e=>{const t=Xe(e);return t?JSON.parse(t):[]},_n=50,bn=1e3,wn=1e3;const kn=(()=>{var e;const t=(null===(e=(window.location.hash.split("?")[1]||"").match(/g\d+\.expr/g))||void 0===e?void 0:e.length)||1;return new Array(t>4?4:t).fill(1).map(((e,t)=>ct("g".concat(t,".expr"),"")))})(),xn={query:kn,queryHistory:kn.map((e=>({index:0,values:[e]}))),autocomplete:Xe("AUTOCOMPLETE")||!1,autocompleteQuick:!1,autocompleteCache:new class{constructor(){this.maxSize=void 0,this.map=void 0,this.maxSize=wn,this.map=new Map}get(e){for(const[t,n]of this.map){const r=JSON.parse(t),a=r.start===e.start&&r.end===e.end,i=r.type===e.type,o=e.value&&r.value&&e.value.includes(r.value),l=r.match===e.match||o,s=n.length=this.maxSize){const e=this.map.keys().next().value;this.map.delete(e)}this.map.set(JSON.stringify(e),t)}},metricsQLFunctions:[]};function Sn(e,t){switch(t.type){case"SET_QUERY":return{...e,query:t.payload.map((e=>e))};case"SET_QUERY_HISTORY":return(e=>{const t=e.map((e=>e.values[e.index])),n=yn("QUERY_HISTORY");n[0]||(n[0]=[]);const r=n[0];t.forEach((e=>{!r.includes(e)&&e&&r.unshift(e),r.length>100&&r.shift()})),Je("QUERY_HISTORY",JSON.stringify(n))})(t.payload),{...e,queryHistory:t.payload};case"SET_QUERY_HISTORY_BY_INDEX":return e.queryHistory.splice(t.payload.queryNumber,1,t.payload.value),{...e,queryHistory:e.queryHistory};case"TOGGLE_AUTOCOMPLETE":return Je("AUTOCOMPLETE",!e.autocomplete),{...e,autocomplete:!e.autocomplete};case"SET_AUTOCOMPLETE_QUICK":return{...e,autocompleteQuick:t.payload};case"SET_AUTOCOMPLETE_CACHE":return e.autocompleteCache.put(t.payload.key,t.payload.value),{...e};case"SET_METRICSQL_FUNCTIONS":return{...e,metricsQLFunctions:t.payload};default:throw new Error}}const Cn=(0,r.createContext)({}),En=()=>(0,r.useContext)(Cn).state,Nn=()=>(0,r.useContext)(Cn).dispatch,An=()=>Ct("svg",{viewBox:"0 0 74 24",fill:"currentColor",children:Ct("path",{d:"M6.12 10.48c.36.28.8.43 1.26.43h.05c.48 0 .96-.19 1.25-.44 1.5-1.28 5.88-5.29 5.88-5.29C15.73 4.1 12.46 3.01 7.43 3h-.06C2.33 3-.93 4.1.24 5.18c0 0 4.37 4 5.88 5.3Zm2.56 2.16c-.36.28-.8.44-1.26.45h-.04c-.46 0-.9-.17-1.26-.45-1.04-.88-4.74-4.22-6.12-5.5v1.94c0 .21.08.5.22.63l.07.06c1.05.96 4.55 4.16 5.83 5.25.36.28.8.43 1.26.44h.04c.49-.02.96-.2 1.26-.44 1.3-1.11 4.94-4.45 5.88-5.31.15-.14.23-.42.23-.63V7.15a454.94 454.94 0 0 1-6.11 5.5Zm-1.26 4.99c.46 0 .9-.16 1.26-.44a454.4 454.4 0 0 0 6.1-5.5v1.94c0 .2-.07.48-.22.62-.94.87-4.57 4.2-5.88 5.3-.3.26-.77.44-1.26.45h-.04c-.46 0-.9-.16-1.26-.44-1.2-1.02-4.38-3.92-5.62-5.06l-.28-.25c-.14-.14-.22-.42-.22-.62v-1.94c1.38 1.26 5.08 4.6 6.12 5.5.36.28.8.43 1.26.44h.04ZM35 5l-5.84 14.46h-2.43L20.89 5h2.16a.9.9 0 0 1 .9.61l3.41 8.82a18.8 18.8 0 0 1 .62 2.02 19.44 19.44 0 0 1 .57-2.02l3.39-8.82c.05-.15.16-.3.31-.42a.9.9 0 0 1 .58-.19H35Zm17.18 0v14.46H49.8v-9.34c0-.37.02-.78.06-1.21l-4.37 8.21c-.21.4-.53.59-.95.59h-.38c-.43 0-.75-.2-.95-.59L38.8 8.88a22.96 22.96 0 0 1 .07 1.24v9.34H36.5V5h2.03l.3.01c.1 0 .17.02.24.05.07.03.13.07.19.13a1 1 0 0 1 .17.24l4.33 8.03a16.97 16.97 0 0 1 .6 1.36 14.34 14.34 0 0 1 .6-1.38l4.28-8.01c.05-.1.1-.18.17-.24.06-.06.12-.1.19-.13a.9.9 0 0 1 .24-.05l.3-.01h2.04Zm8.88 13.73a4.5 4.5 0 0 0 1.82-.35 3.96 3.96 0 0 0 2.22-2.47c.2-.57.3-1.19.3-1.85V5.31h1.02v8.75c0 .78-.12 1.51-.37 2.19a4.88 4.88 0 0 1-2.76 2.95c-.66.29-1.4.43-2.23.43-.82 0-1.57-.14-2.24-.43a5.01 5.01 0 0 1-2.75-2.95 6.37 6.37 0 0 1-.37-2.19V5.31h1.03v8.74c0 .66.1 1.28.3 1.85a3.98 3.98 0 0 0 2.21 2.47c.53.24 1.14.36 1.82.36Zm10.38.73h-1.03V5.31h1.03v14.15Z"})}),Mn=()=>Ct("svg",{viewBox:"0 0 85 38",fill:"currentColor",children:[Ct("path",{d:"M11.12 10.48c.36.28.8.43 1.26.43h.05c.48 0 .96-.19 1.25-.44 1.5-1.28 5.88-5.29 5.88-5.29 1.17-1.09-2.1-2.17-7.13-2.18h-.06c-5.04 0-8.3 1.1-7.13 2.18 0 0 4.37 4 5.88 5.3Zm2.56 2.16c-.36.28-.8.44-1.26.45h-.04c-.46 0-.9-.17-1.26-.45-1.04-.88-4.74-4.22-6.12-5.5v1.94c0 .21.08.5.22.63l.07.06c1.05.96 4.55 4.16 5.83 5.25.36.28.8.43 1.26.44h.04c.49-.02.96-.2 1.26-.44 1.3-1.11 4.94-4.45 5.88-5.31.15-.14.23-.42.23-.63V7.15a455.13 455.13 0 0 1-6.11 5.5Zm-1.26 4.99c.46 0 .9-.16 1.26-.44 2.05-1.82 4.09-3.65 6.1-5.5v1.94c0 .2-.07.48-.22.62-.94.87-4.57 4.2-5.88 5.3-.3.26-.77.44-1.26.45h-.04c-.46 0-.9-.16-1.26-.44-1.2-1.02-4.38-3.92-5.62-5.06l-.28-.25c-.14-.14-.22-.42-.22-.62v-1.94c1.38 1.26 5.08 4.6 6.12 5.5.36.28.8.43 1.26.44h.04ZM40 5l-5.84 14.46h-2.43L25.89 5h2.16a.9.9 0 0 1 .9.61l3.41 8.82a18.8 18.8 0 0 1 .62 2.02 19.44 19.44 0 0 1 .57-2.02l3.39-8.82c.05-.15.16-.3.31-.42a.9.9 0 0 1 .58-.19H40Zm17.18 0v14.46H54.8v-9.34c0-.37.02-.78.06-1.21l-4.37 8.21c-.21.4-.53.59-.95.59h-.38c-.43 0-.75-.2-.95-.59L43.8 8.88a22.96 22.96 0 0 1 .07 1.24v9.34H41.5V5h2.03l.3.01c.1 0 .17.02.24.05.07.03.13.07.19.13a1 1 0 0 1 .17.24l4.33 8.03a16.97 16.97 0 0 1 .6 1.36 14.34 14.34 0 0 1 .6-1.38l4.28-8.01c.05-.1.1-.18.17-.24.06-.06.12-.1.19-.13a.9.9 0 0 1 .24-.05l.3-.01h2.04Zm8.88 13.73a4.5 4.5 0 0 0 1.82-.35 3.96 3.96 0 0 0 2.22-2.47c.2-.57.3-1.19.3-1.85V5.31h1.02v8.75c0 .78-.12 1.51-.37 2.19a4.88 4.88 0 0 1-2.76 2.95c-.66.29-1.4.43-2.23.43-.82 0-1.57-.14-2.24-.43a5.01 5.01 0 0 1-2.75-2.95 6.37 6.37 0 0 1-.37-2.19V5.31h1.03v8.74c0 .66.1 1.28.3 1.85a3.98 3.98 0 0 0 2.21 2.47c.53.24 1.14.36 1.82.36Zm10.38.73h-1.03V5.31h1.03v14.15ZM1.73 36v-5.17l-.67-.07a.6.6 0 0 1-.21-.1.23.23 0 0 1-.08-.18v-.44h.96v-.59c0-.34.05-.65.14-.92a1.79 1.79 0 0 1 1.08-1.11 2.45 2.45 0 0 1 1.62-.02l-.03.53c0 .1-.06.15-.16.16H4c-.18 0-.35.03-.5.08a.95.95 0 0 0-.39.23c-.1.11-.19.25-.25.43-.05.18-.08.4-.08.65v.56h1.75v.78H2.8V36H1.73Zm6.17-6.17c.45 0 .85.07 1.2.22a2.57 2.57 0 0 1 1.5 1.62c.13.38.2.81.2 1.29s-.07.91-.2 1.3a2.57 2.57 0 0 1-1.49 1.61c-.36.14-.76.21-1.2.21-.45 0-.86-.07-1.22-.21a2.57 2.57 0 0 1-1.5-1.62c-.12-.38-.19-.81-.19-1.3 0-.47.07-.9.2-1.28a2.57 2.57 0 0 1 1.5-1.62c.35-.15.76-.22 1.2-.22Zm0 5.42c.6 0 1.05-.2 1.35-.6.3-.4.44-.97.44-1.69s-.15-1.28-.44-1.69c-.3-.4-.75-.6-1.35-.6-.3 0-.57.05-.8.15-.22.1-.4.26-.56.45-.15.2-.26.44-.33.73-.08.28-.11.6-.11.96 0 .72.15 1.29.44 1.69.3.4.76.6 1.36.6Zm5.26-4.11c.2-.42.43-.74.71-.97.28-.24.62-.36 1.03-.36.13 0 .25.02.36.05.12.02.23.07.32.13l-.08.8c-.02.1-.08.15-.18.15l-.24-.04a1.7 1.7 0 0 0-.88.05c-.15.05-.29.14-.4.25-.12.1-.23.24-.32.4-.1.17-.18.35-.26.56V36h-1.07v-6.08h.61c.12 0 .2.02.24.07.05.04.08.12.1.23l.06.92Zm13.73-3.82L23.39 36h-1.46l-3.5-8.68h1.29a.54.54 0 0 1 .54.37l2.04 5.3a11.31 11.31 0 0 1 .37 1.21 11.65 11.65 0 0 1 .35-1.22l2.03-5.29c.03-.1.1-.18.19-.25.1-.08.21-.12.35-.12h1.3Zm2.2 2.52V36H27.6v-6.16h1.49Zm.2-1.79c0 .13-.02.25-.08.36a1 1 0 0 1-.51.5.96.96 0 0 1-.73 0 1.02 1.02 0 0 1-.5-.5.96.96 0 0 1 0-.73.93.93 0 0 1 .86-.58.9.9 0 0 1 .37.08c.12.05.22.11.3.2a.94.94 0 0 1 .3.67Zm5.72 3.1a.68.68 0 0 1-.13.13c-.04.03-.1.05-.18.05a.42.42 0 0 1-.22-.07 3.95 3.95 0 0 0-.62-.31c-.14-.05-.3-.07-.51-.07-.26 0-.5.04-.69.14-.2.1-.36.23-.49.4-.13.18-.22.4-.29.64-.06.25-.1.53-.1.85 0 .33.04.62.1.88.08.25.18.47.32.64.13.18.29.3.48.4.18.09.4.13.63.13a1.6 1.6 0 0 0 .94-.27l.26-.2a.4.4 0 0 1 .25-.09.3.3 0 0 1 .27.14l.43.54a2.76 2.76 0 0 1-1.77.96c-.22.03-.43.05-.65.05a2.57 2.57 0 0 1-1.96-.83c-.25-.28-.45-.6-.6-1-.14-.4-.21-.85-.21-1.35 0-.45.06-.87.2-1.25a2.61 2.61 0 0 1 1.51-1.67c.37-.16.8-.24 1.28-.24.46 0 .86.07 1.2.22.35.15.66.36.94.64l-.4.54Zm3.43 4.95c-.54 0-.95-.15-1.24-.45-.28-.3-.42-.73-.42-1.26v-3.44h-.63a.29.29 0 0 1-.2-.07c-.06-.06-.09-.13-.09-.24v-.59l.99-.16.31-1.68a.33.33 0 0 1 .12-.18.34.34 0 0 1 .21-.07h.77v1.94h1.64v1.05h-1.64v3.34c0 .2.05.34.14.45.1.1.22.16.39.16a.73.73 0 0 0 .39-.1l.12-.07a.2.2 0 0 1 .11-.03c.05 0 .08.01.11.03l.09.1.44.72c-.21.18-.46.32-.74.4-.28.1-.57.15-.87.15Zm5.09-6.35c.46 0 .87.07 1.24.22a2.7 2.7 0 0 1 1.58 1.63c.14.39.22.83.22 1.31 0 .49-.08.93-.22 1.32-.14.4-.35.73-.62 1-.26.28-.58.49-.96.64-.37.15-.78.22-1.24.22a3.4 3.4 0 0 1-1.25-.22 2.71 2.71 0 0 1-1.59-1.64 3.8 3.8 0 0 1-.21-1.32c0-.48.07-.92.21-1.31a2.75 2.75 0 0 1 1.58-1.63c.38-.15.8-.22 1.26-.22Zm0 5.2c.51 0 .89-.17 1.13-.52.25-.34.38-.84.38-1.5a2.6 2.6 0 0 0-.38-1.53c-.24-.34-.62-.52-1.13-.52-.52 0-.9.18-1.16.53-.25.35-.37.85-.37 1.51s.12 1.17.37 1.51c.25.35.64.52 1.16.52Zm5.56-4.04c.2-.37.42-.65.69-.86.26-.21.57-.32.94-.32.28 0 .5.06.68.19l-.1 1.1a.3.3 0 0 1-.09.16.24.24 0 0 1-.15.04 1.8 1.8 0 0 1-.27-.03 2.01 2.01 0 0 0-.34-.03c-.16 0-.3.03-.44.08a1.1 1.1 0 0 0-.34.2c-.1.1-.2.2-.27.33-.08.13-.15.27-.22.44V36H47.7v-6.16h.87c.15 0 .26.03.31.09.06.05.1.15.13.29l.09.7Zm4.62-1.07V36h-1.49v-6.16h1.49Zm.2-1.79c0 .13-.02.25-.07.36a1 1 0 0 1-.51.5.96.96 0 0 1-.74 0 1.02 1.02 0 0 1-.5-.5.96.96 0 0 1 0-.73.93.93 0 0 1 .86-.58.9.9 0 0 1 .38.08c.11.05.21.11.3.2a.94.94 0 0 1 .28.67Zm4.56 5.32a7.8 7.8 0 0 0-1.08.12c-.29.05-.52.12-.7.2a.92.92 0 0 0-.38.3.64.64 0 0 0-.11.36c0 .26.07.45.23.56.15.11.35.17.6.17.3 0 .57-.06.79-.17.22-.1.44-.28.65-.5v-1.04Zm-3.4-2.67c.71-.65 1.57-.97 2.56-.97.36 0 .68.06.97.18a1.99 1.99 0 0 1 1.16 1.24c.1.3.16.61.16.96V36h-.67a.7.7 0 0 1-.33-.06c-.07-.04-.13-.13-.18-.26l-.13-.44c-.16.14-.3.26-.46.37a2.8 2.8 0 0 1-.97.43 2.77 2.77 0 0 1-1.32-.05 1.62 1.62 0 0 1-.57-.31 1.41 1.41 0 0 1-.38-.53 1.85 1.85 0 0 1-.05-1.18c.05-.16.14-.3.25-.45.12-.14.28-.27.46-.4a3 3 0 0 1 .7-.32 9.19 9.19 0 0 1 2.2-.33v-.36c0-.41-.09-.71-.26-.91-.18-.2-.43-.3-.76-.3a1.84 1.84 0 0 0-1.02.28l-.33.18c-.1.06-.2.09-.32.09-.1 0-.2-.03-.27-.08a.72.72 0 0 1-.17-.2l-.26-.47Zm11.49 4.32V36h-4.88v-8.6h1.16v7.62h3.72Zm3.16-5.2c.44 0 .84.08 1.2.23a2.57 2.57 0 0 1 1.49 1.62c.13.38.2.81.2 1.29s-.07.91-.2 1.3a2.57 2.57 0 0 1-1.49 1.61c-.36.14-.76.21-1.2.21-.45 0-.85-.07-1.21-.21a2.57 2.57 0 0 1-1.5-1.62c-.13-.38-.2-.81-.2-1.3 0-.47.07-.9.2-1.28.14-.39.33-.72.59-1 .25-.26.55-.47.9-.62.37-.15.77-.22 1.22-.22Zm0 5.43c.6 0 1.05-.2 1.34-.6.3-.4.45-.97.45-1.69s-.15-1.28-.45-1.69c-.3-.4-.74-.6-1.34-.6-.3 0-.57.05-.8.15-.22.1-.4.26-.56.45-.15.2-.26.44-.34.73-.07.28-.1.6-.1.96 0 .72.14 1.29.44 1.69.3.4.75.6 1.36.6Zm6.33-2.22c.22 0 .4-.03.57-.09.16-.06.3-.14.41-.25.12-.11.2-.24.26-.39.05-.15.08-.31.08-.5 0-.37-.11-.66-.34-.88-.23-.22-.55-.33-.98-.33-.43 0-.76.1-.99.33-.22.22-.34.51-.34.89 0 .18.03.34.09.5a1.1 1.1 0 0 0 .67.63c.16.06.35.09.57.09Zm1.93 3.3a.51.51 0 0 0-.13-.36.84.84 0 0 0-.34-.22 8.57 8.57 0 0 0-1.73-.2 7.5 7.5 0 0 1-.62-.05c-.23.1-.41.23-.56.4a.8.8 0 0 0-.1.92c.07.12.18.22.32.3.14.1.32.16.54.21a3.5 3.5 0 0 0 1.55 0c.23-.05.42-.12.57-.22.16-.1.29-.21.37-.34a.8.8 0 0 0 .13-.44Zm1.08-6.17v.4c0 .13-.08.21-.25.25l-.69.09c.14.26.2.56.2.88a1.86 1.86 0 0 1-1.36 1.82 3.07 3.07 0 0 1-1.72.04c-.12.08-.22.16-.29.25a.44.44 0 0 0-.1.27c0 .15.06.26.17.33.12.08.28.13.47.16a5 5 0 0 0 .66.06 16.56 16.56 0 0 1 1.5.13c.26.05.48.12.67.22.19.1.34.24.46.41.12.18.18.4.18.69 0 .26-.07.5-.2.75s-.31.46-.56.65c-.24.2-.54.34-.9.46a4.57 4.57 0 0 1-2.36.04c-.33-.09-.6-.2-.82-.36a1.56 1.56 0 0 1-.5-.51c-.1-.2-.16-.4-.16-.6 0-.3.1-.56.28-.77.19-.2.45-.37.77-.5a1.15 1.15 0 0 1-.43-.32.88.88 0 0 1-.15-.54c0-.09.01-.18.04-.27.04-.1.08-.2.15-.28a1.55 1.55 0 0 1 .58-.5c-.3-.16-.53-.39-.7-.66-.17-.28-.25-.6-.25-.97 0-.3.05-.57.16-.8.12-.25.28-.46.48-.63.2-.17.45-.3.73-.4a3 3 0 0 1 2.3.21h1.64Zm4.65.76a.24.24 0 0 1-.23.14.42.42 0 0 1-.2-.07 3.59 3.59 0 0 0-.67-.3 1.8 1.8 0 0 0-1.03 0c-.14.05-.27.11-.37.2a.87.87 0 0 0-.23.27.75.75 0 0 0-.08.35c0 .15.04.28.13.39.1.1.21.19.36.27.15.07.32.14.5.2a13.63 13.63 0 0 1 1.16.4c.2.08.36.18.5.3a1.33 1.33 0 0 1 .5 1.07 2 2 0 0 1-.15.78c-.1.24-.25.44-.45.62-.2.17-.43.3-.72.4a3.1 3.1 0 0 1-2.14-.05 2.97 2.97 0 0 1-.87-.53l.25-.41c.04-.05.07-.1.12-.12a.3.3 0 0 1 .17-.04.4.4 0 0 1 .22.08l.3.19a1.91 1.91 0 0 0 1.03.27c.2 0 .38-.03.54-.08.16-.06.29-.13.4-.22a.96.96 0 0 0 .3-.7c0-.17-.05-.31-.14-.42-.09-.11-.2-.2-.36-.28a2.6 2.6 0 0 0-.5-.2l-.59-.19c-.2-.06-.39-.14-.58-.22a2.14 2.14 0 0 1-.5-.3 1.45 1.45 0 0 1-.36-.46c-.1-.19-.14-.41-.14-.67a1.6 1.6 0 0 1 .57-1.23c.18-.16.4-.3.68-.39.26-.1.57-.14.91-.14a2.84 2.84 0 0 1 1.9.7l-.23.4Z"}),Ct("defs",{children:Ct("path",{d:"M0 0h85v38H0z"})})]}),Tn=()=>Ct("svg",{viewBox:"0 0 85 38",fill:"currentColor",children:Ct("path",{d:"M11.118 10.476c.36.28.801.433 1.257.436h.052c.48-.007.961-.192 1.25-.444 1.509-1.279 5.88-5.287 5.88-5.287 1.168-1.087-2.093-2.174-7.13-2.181h-.06c-5.036.007-8.298 1.094-7.13 2.181 0 0 4.372 4.008 5.88 5.295zm2.559 2.166c-.359.283-.801.439-1.258.444h-.044a2.071 2.071 0 0 1-1.257-.444C10.082 11.755 6.384 8.42 5 7.148v1.93c0 .215.081.496.222.629l.07.064c1.045.955 4.546 4.154 5.825 5.245.358.283.8.438 1.257.444h.044c.489-.015.962-.2 1.258-.444 1.309-1.11 4.948-4.444 5.887-5.31.148-.132.222-.413.222-.628v-1.93a455.127 455.127 0 0 1-6.11 5.494zm-1.258 4.984a2.071 2.071 0 0 0 1.258-.436c2.053-1.815 4.09-3.65 6.11-5.502v1.938c0 .207-.075.488-.223.621-.94.873-4.578 4.2-5.887 5.31-.296.25-.77.436-1.258.443h-.044a2.071 2.071 0 0 1-1.257-.436c-1.204-1.027-4.376-3.928-5.616-5.062l-.28-.255c-.14-.133-.221-.414-.221-.621v-1.938c1.383 1.265 5.081 4.607 6.117 5.495.358.282.8.438 1.257.443h.044zM40 5l-5.84 14.46h-2.43L25.89 5h2.16c.233 0 .423.057.57.17.146.113.256.26.33.44l3.41 8.82c.113.287.22.603.32.95.106.34.206.697.3 1.07.08-.373.166-.73.26-1.07a8.84 8.84 0 0 1 .31-.95l3.39-8.82a.959.959 0 0 1 .31-.42.906.906 0 0 1 .58-.19H40zm17.176 0v14.46h-2.37v-9.34c0-.373.02-.777.06-1.21l-4.37 8.21c-.206.393-.523.59-.95.59h-.38c-.426 0-.743-.197-.95-.59l-4.42-8.24c.02.22.037.437.05.65.014.213.02.41.02.59v9.34h-2.37V5h2.03c.12 0 .224.003.31.01a.778.778 0 0 1 .23.05c.074.027.137.07.19.13.06.06.117.14.17.24l4.33 8.03c.114.213.217.433.31.66.1.227.197.46.29.7.094-.247.19-.483.29-.71.1-.233.207-.457.32-.67l4.27-8.01c.054-.1.11-.18.17-.24a.57.57 0 0 1 .19-.13.903.903 0 0 1 .24-.05c.087-.007.19-.01.31-.01h2.03zm8.887 13.73c.68 0 1.286-.117 1.82-.35.54-.24.996-.57 1.37-.99a4.28 4.28 0 0 0 .85-1.48c.2-.573.3-1.19.3-1.85V5.31h1.02v8.75c0 .78-.124 1.51-.37 2.19a5.248 5.248 0 0 1-1.07 1.77c-.46.5-1.024.893-1.69 1.18-.66.287-1.404.43-2.23.43-.827 0-1.574-.143-2.24-.43a5.012 5.012 0 0 1-1.69-1.18 5.33 5.33 0 0 1-1.06-1.77 6.373 6.373 0 0 1-.37-2.19V5.31h1.03v8.74c0 .66.096 1.277.29 1.85.2.567.483 1.06.85 1.48.373.42.826.75 1.36.99.54.24 1.15.36 1.83.36zm10.38.73h-1.03V5.31h1.03v14.15zM4.242 35v-5.166l-.672-.078a.595.595 0 0 1-.21-.09.23.23 0 0 1-.078-.186v-.438h.96v-.588c0-.348.048-.656.144-.924.1-.272.24-.5.42-.684a1.79 1.79 0 0 1 .66-.426c.256-.096.544-.144.864-.144.272 0 .522.04.75.12l-.024.534c-.008.096-.062.148-.162.156a4.947 4.947 0 0 1-.39.012c-.184 0-.352.024-.504.072a.949.949 0 0 0-.384.234c-.108.108-.192.25-.252.426a2.184 2.184 0 0 0-.084.654v.558h1.752v.774H5.316V35H4.242zM10.416 28.826a3.1 3.1 0 0 1 1.2.222c.356.148.66.358.912.63s.444.602.576.99c.136.384.204.814.204 1.29 0 .48-.068.912-.204 1.296a2.735 2.735 0 0 1-.576.984 2.572 2.572 0 0 1-.912.63 3.175 3.175 0 0 1-1.2.216c-.448 0-.852-.072-1.212-.216a2.572 2.572 0 0 1-.912-.63 2.805 2.805 0 0 1-.582-.984 3.972 3.972 0 0 1-.198-1.296c0-.476.066-.906.198-1.29.136-.388.33-.718.582-.99.252-.272.556-.482.912-.63.36-.148.764-.222 1.212-.222zm0 5.424c.6 0 1.048-.2 1.344-.6.296-.404.444-.966.444-1.686 0-.724-.148-1.288-.444-1.692-.296-.404-.744-.606-1.344-.606-.304 0-.57.052-.798.156a1.507 1.507 0 0 0-.564.45c-.148.196-.26.438-.336.726a3.941 3.941 0 0 0-.108.966c0 .72.148 1.282.444 1.686.3.4.754.6 1.362.6zM15.677 30.14c.192-.416.428-.74.708-.972.28-.236.622-.354 1.026-.354.128 0 .25.014.366.042.12.028.226.072.318.132l-.078.798c-.024.1-.084.15-.18.15-.056 0-.138-.012-.246-.036a1.694 1.694 0 0 0-.366-.036c-.192 0-.364.028-.516.084-.148.056-.282.14-.402.252a1.782 1.782 0 0 0-.318.408c-.092.16-.176.344-.252.552V35h-1.074v-6.078h.612c.116 0 .196.022.24.066.044.044.074.12.09.228l.072.924zM26.761 28.922 24.283 35h-.96l-2.478-6.078h.87a.33.33 0 0 1 .33.222l1.542 3.912c.048.148.09.292.126.432.036.14.07.28.102.42.032-.14.066-.28.102-.42.036-.14.08-.284.132-.432l1.56-3.912a.33.33 0 0 1 .12-.156.311.311 0 0 1 .198-.066h.834zM27.74 35v-6.078h.643c.152 0 .246.074.282.222l.078.624c.224-.276.476-.502.756-.678.28-.176.604-.264.972-.264.408 0 .738.114.99.342.256.228.44.536.552.924.088-.22.2-.41.336-.57a1.987 1.987 0 0 1 1.014-.624c.196-.048.394-.072.594-.072.32 0 .604.052.852.156.252.1.464.248.636.444.176.196.31.438.402.726.092.284.138.61.138.978V35H34.91v-3.87c0-.476-.104-.836-.312-1.08-.208-.248-.508-.372-.9-.372-.176 0-.344.032-.504.096-.156.06-.294.15-.414.27-.12.12-.216.272-.288.456-.068.18-.102.39-.102.63V35h-1.074v-3.87c0-.488-.098-.852-.294-1.092-.196-.24-.482-.36-.858-.36-.264 0-.508.072-.732.216a2.38 2.38 0 0 0-.618.576V35H27.74zM40.746 32.372c-.428.02-.788.058-1.08.114-.292.052-.526.12-.702.204a.923.923 0 0 0-.378.294.639.639 0 0 0-.114.366c0 .26.076.446.228.558.156.112.358.168.606.168.304 0 .566-.054.786-.162.224-.112.442-.28.654-.504v-1.038zm-3.396-2.67c.708-.648 1.56-.972 2.556-.972.36 0 .682.06.966.18.284.116.524.28.72.492.196.208.344.458.444.75.104.292.156.612.156.96V35h-.672a.708.708 0 0 1-.324-.06c-.076-.044-.136-.13-.18-.258l-.132-.444c-.156.14-.308.264-.456.372a2.804 2.804 0 0 1-.462.264c-.16.072-.332.126-.516.162-.18.04-.38.06-.6.06-.26 0-.5-.034-.72-.102a1.618 1.618 0 0 1-.57-.318 1.414 1.414 0 0 1-.372-.522 1.852 1.852 0 0 1-.132-.726 1.419 1.419 0 0 1 .33-.906c.12-.14.274-.272.462-.396s.418-.232.69-.324c.276-.092.596-.166.96-.222.364-.06.78-.096 1.248-.108v-.36c0-.412-.088-.716-.264-.912-.176-.2-.43-.3-.762-.3-.24 0-.44.028-.6.084-.156.056-.294.12-.414.192l-.33.186a.631.631 0 0 1-.324.084.439.439 0 0 1-.264-.078.716.716 0 0 1-.174-.192l-.264-.474zM44.974 29.6c.124-.124.254-.238.39-.342a2.395 2.395 0 0 1 .936-.444c.176-.044.368-.066.576-.066.336 0 .634.058.894.174.26.112.476.272.648.48.176.204.308.45.396.738.092.284.138.598.138.942V35H47.47v-3.918c0-.376-.086-.666-.258-.87-.172-.208-.434-.312-.786-.312-.256 0-.496.058-.72.174a2.58 2.58 0 0 0-.636.474V35h-1.482v-6.156h.906c.192 0 .318.09.378.27l.102.486zM53.085 28.748c.456 0 .87.074 1.242.222a2.692 2.692 0 0 1 1.578 1.626c.144.392.216.83.216 1.314 0 .488-.072.928-.216 1.32-.144.392-.35.726-.618 1.002a2.653 2.653 0 0 1-.96.636 3.333 3.333 0 0 1-1.242.222c-.46 0-.878-.074-1.254-.222a2.712 2.712 0 0 1-.966-.636 2.922 2.922 0 0 1-.618-1.002 3.807 3.807 0 0 1-.216-1.32c0-.484.072-.922.216-1.314.148-.392.354-.724.618-.996.268-.272.59-.482.966-.63a3.397 3.397 0 0 1 1.254-.222zm0 5.202c.512 0 .89-.172 1.134-.516.248-.344.372-.848.372-1.512s-.124-1.17-.372-1.518c-.244-.348-.622-.522-1.134-.522-.52 0-.906.176-1.158.528-.248.348-.372.852-.372 1.512s.124 1.164.372 1.512c.252.344.638.516 1.158.516zM57.252 35v-6.156h.906c.192 0 .318.09.378.27l.096.456c.108-.12.22-.23.336-.33a2.017 2.017 0 0 1 1.32-.492c.388 0 .706.106.954.318.252.208.44.486.564.834a1.93 1.93 0 0 1 .834-.882c.172-.092.354-.16.546-.204.196-.044.392-.066.588-.066.34 0 .642.052.906.156.264.104.486.256.666.456.18.2.316.444.408.732.096.288.144.618.144.99V35h-1.482v-3.918c0-.392-.086-.686-.258-.882-.172-.2-.424-.3-.756-.3-.152 0-.294.026-.426.078a1.026 1.026 0 0 0-.342.228 1.019 1.019 0 0 0-.228.366 1.435 1.435 0 0 0-.084.51V35h-1.488v-3.918c0-.412-.084-.712-.252-.9-.164-.188-.406-.282-.726-.282-.216 0-.418.054-.606.162a1.979 1.979 0 0 0-.516.432V35h-1.482zM70.558 32.372c-.428.02-.788.058-1.08.114-.292.052-.526.12-.702.204a.923.923 0 0 0-.378.294.639.639 0 0 0-.114.366c0 .26.076.446.228.558.156.112.358.168.606.168.304 0 .566-.054.786-.162.224-.112.442-.28.654-.504v-1.038zm-3.396-2.67c.708-.648 1.56-.972 2.556-.972.36 0 .682.06.966.18.284.116.524.28.72.492.196.208.344.458.444.75.104.292.156.612.156.96V35h-.672a.708.708 0 0 1-.324-.06c-.076-.044-.136-.13-.18-.258l-.132-.444c-.156.14-.308.264-.456.372a2.804 2.804 0 0 1-.462.264c-.16.072-.332.126-.516.162-.18.04-.38.06-.6.06-.26 0-.5-.034-.72-.102a1.618 1.618 0 0 1-.57-.318 1.414 1.414 0 0 1-.372-.522 1.852 1.852 0 0 1-.132-.726 1.419 1.419 0 0 1 .33-.906c.12-.14.274-.272.462-.396s.418-.232.69-.324c.276-.092.596-.166.96-.222.364-.06.78-.096 1.248-.108v-.36c0-.412-.088-.716-.264-.912-.176-.2-.43-.3-.762-.3-.24 0-.44.028-.6.084-.156.056-.294.12-.414.192l-.33.186a.631.631 0 0 1-.324.084.439.439 0 0 1-.264-.078.716.716 0 0 1-.174-.192l-.264-.474zM74.9 26.084V35h-1.482v-8.916H74.9zM81.969 28.844l-3.354 7.848a.538.538 0 0 1-.174.234c-.068.056-.174.084-.318.084h-1.104l1.152-2.472-2.49-5.694h1.302c.116 0 .206.028.27.084.068.056.118.12.15.192l1.308 3.192c.044.108.08.216.108.324.032.108.062.218.09.33a32.3 32.3 0 0 1 .108-.33c.036-.112.076-.222.12-.33l1.236-3.186a.437.437 0 0 1 .408-.276h1.188z"})}),Ln=()=>Ct("svg",{viewBox:"0 0 15 17",fill:"currentColor",children:Ct("path",{d:"M6.11767 7.47586C6.47736 7.75563 6.91931 7.90898 7.37503 7.91213H7.42681C7.90756 7.90474 8.38832 7.71987 8.67677 7.46846C10.1856 6.18921 14.5568 2.18138 14.5568 2.18138C15.7254 1.09438 12.4637 0.00739 7.42681 0H7.36764C2.3308 0.00739 -0.930935 1.09438 0.237669 2.18138C0.237669 2.18138 4.60884 6.18921 6.11767 7.47586ZM8.67677 9.64243C8.31803 9.92483 7.87599 10.0808 7.41941 10.0861H7.37503C6.91845 10.0808 6.47641 9.92483 6.11767 9.64243C5.0822 8.75513 1.38409 5.42018 0.000989555 4.14832V6.07829C0.000989555 6.29273 0.0823481 6.57372 0.222877 6.70682L0.293316 6.7712L0.293344 6.77122C1.33784 7.72579 4.83903 10.9255 6.11767 12.0161C6.47641 12.2985 6.91845 12.4545 7.37503 12.4597H7.41941C7.90756 12.4449 8.38092 12.2601 8.67677 12.0161C9.9859 10.9069 13.6249 7.57198 14.5642 6.70682C14.7121 6.57372 14.7861 6.29273 14.7861 6.07829V4.14832C12.7662 5.99804 10.7297 7.82949 8.67677 9.64243ZM7.41941 14.6263C7.87513 14.6232 8.31708 14.4698 8.67677 14.19C10.7298 12.3746 12.7663 10.5407 14.7861 8.68853V10.6259C14.7861 10.8329 14.7121 11.1139 14.5642 11.247C13.6249 12.1196 9.9859 15.4471 8.67677 16.5563C8.38092 16.8077 7.90756 16.9926 7.41941 17H7.37503C6.91931 16.9968 6.47736 16.8435 6.11767 16.5637C4.91427 15.5373 1.74219 12.6364 0.502294 11.5025C0.393358 11.4029 0.299337 11.3169 0.222877 11.247C0.0823481 11.1139 0.000989555 10.8329 0.000989555 10.6259V8.68853C1.38409 9.95303 5.0822 13.2953 6.11767 14.1827C6.47641 14.4651 6.91845 14.6211 7.37503 14.6263H7.41941Z"})}),Pn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"})}),On=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})}),In=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8zm-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91z"})}),Rn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"})}),Dn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"})}),zn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"})}),Fn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})}),jn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z"})}),Hn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"})}),Vn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"m7 10 5 5 5-5z"})}),$n=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:[Ct("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),Ct("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]}),Un=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"})}),Bn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"m22 5.72-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39 6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"})}),qn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-9 3h2v2h-2V8zm0 3h2v2h-2v-2zM8 8h2v2H8V8zm0 3h2v2H8v-2zm-1 2H5v-2h2v2zm0-3H5V8h2v2zm9 7H8v-2h8v2zm0-4h-2v-2h2v2zm0-3h-2V8h2v2zm3 3h-2v-2h2v2zm0-3h-2V8h2v2z"})}),Yn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M8 5v14l11-7z"})}),Wn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"m10 16.5 6-4.5-6-4.5v9zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"})}),Kn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"m3.5 18.49 6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z"})}),Qn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M10 10.02h5V21h-5zM17 21h3c1.1 0 2-.9 2-2v-9h-5v11zm3-18H5c-1.1 0-2 .9-2 2v3h19V5c0-1.1-.9-2-2-2zM3 19c0 1.1.9 2 2 2h3V10H3v9z"})}),Zn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"})}),Gn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"})}),Jn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})}),Xn=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M19 13H5v-2h14v2z"})}),er=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M8.9999 14.7854L18.8928 4.8925C19.0803 4.70497 19.3347 4.59961 19.5999 4.59961C19.8651 4.59961 20.1195 4.70497 20.307 4.8925L21.707 6.2925C22.0975 6.68303 22.0975 7.31619 21.707 7.70672L9.70701 19.7067C9.31648 20.0972 8.68332 20.0972 8.2928 19.7067L2.6928 14.1067C2.50526 13.9192 2.3999 13.6648 2.3999 13.3996C2.3999 13.1344 2.50526 12.88 2.6928 12.6925L4.0928 11.2925C4.48332 10.902 5.11648 10.902 5.50701 11.2925L8.9999 14.7854Z"})}),tr=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"})}),nr=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"})}),rr=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M19 9l1.25-2.75L23 5l-2.75-1.25L19 1l-1.25 2.75L15 5l2.75 1.25L19 9zm-7.5.5L9 4 6.5 9.5 1 12l5.5 2.5L9 20l2.5-5.5L17 12l-5.5-2.5zM19 15l-1.25 2.75L15 19l2.75 1.25L19 23l1.25-2.75L23 19l-2.75-1.25L19 15z"})}),ar=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})}),ir=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M20 9H4v2h16V9zM4 15h16v-2H4v2z"})}),or=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M23 8c0 1.1-.9 2-2 2-.18 0-.35-.02-.51-.07l-3.56 3.55c.05.16.07.34.07.52 0 1.1-.9 2-2 2s-2-.9-2-2c0-.18.02-.36.07-.52l-2.55-2.55c-.16.05-.34.07-.52.07s-.36-.02-.52-.07l-4.55 4.56c.05.16.07.33.07.51 0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.18 0 .35.02.51.07l4.56-4.55C8.02 9.36 8 9.18 8 9c0-1.1.9-2 2-2s2 .9 2 2c0 .18-.02.36-.07.52l2.55 2.55c.16-.05.34-.07.52-.07s.36.02.52.07l3.55-3.56C19.02 8.35 19 8.18 19 8c0-1.1.9-2 2-2s2 .9 2 2z"})}),lr=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:[Ct("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M21 5C19.89 4.65 18.67 4.5 17.5 4.5C15.55 4.5 13.45 4.9 12 6C10.55 4.9 8.45 4.5 6.5 4.5C5.33 4.5 4.11 4.65 3 5C2.25 5.25 1.6 5.55 1 6V20.6C1 20.85 1.25 21.1 1.5 21.1C1.6 21.1 1.65 21.1 1.75 21.05C3.15 20.3 4.85 20 6.5 20C8.2 20 10.65 20.65 12 21.5C13.35 20.65 15.8 20 17.5 20C19.15 20 20.85 20.3 22.25 21.05C22.35 21.1 22.4 21.1 22.5 21.1C22.75 21.1 23 20.85 23 20.6V6C22.4 5.55 21.75 5.25 21 5ZM21 18.5C19.9 18.15 18.7 18 17.5 18C15.8 18 13.35 18.65 12 19.5C10.65 18.65 8.2 18 6.5 18C5.3 18 4.1 18.15 3 18.5V7C4.1 6.65 5.3 6.5 6.5 6.5C8.2 6.5 10.65 7.15 12 8C13.35 7.15 15.8 6.5 17.5 6.5C18.7 6.5 19.9 6.65 21 7V18.5Z"}),Ct("path",{d:"M17.5 10.5C18.38 10.5 19.23 10.59 20 10.76V9.24C19.21 9.09 18.36 9 17.5 9C15.8 9 14.26 9.29 13 9.83V11.49C14.13 10.85 15.7 10.5 17.5 10.5ZM13 12.49V14.15C14.13 13.51 15.7 13.16 17.5 13.16C18.38 13.16 19.23 13.25 20 13.42V11.9C19.21 11.75 18.36 11.66 17.5 11.66C15.8 11.66 14.26 11.96 13 12.49ZM17.5 14.33C15.8 14.33 14.26 14.62 13 15.16V16.82C14.13 16.18 15.7 15.83 17.5 15.83C18.38 15.83 19.23 15.92 20 16.09V14.57C19.21 14.41 18.36 14.33 17.5 14.33Z"}),Ct("path",{d:"M6.5 10.5C5.62 10.5 4.77 10.59 4 10.76V9.24C4.79 9.09 5.64 9 6.5 9C8.2 9 9.74 9.29 11 9.83V11.49C9.87 10.85 8.3 10.5 6.5 10.5ZM11 12.49V14.15C9.87 13.51 8.3 13.16 6.5 13.16C5.62 13.16 4.77 13.25 4 13.42V11.9C4.79 11.75 5.64 11.66 6.5 11.66C8.2 11.66 9.74 11.96 11 12.49ZM6.5 14.33C8.2 14.33 9.74 14.62 11 15.16V16.82C9.87 16.18 8.3 15.83 6.5 15.83C5.62 15.83 4.77 15.92 4 16.09V14.57C4.79 14.41 5.64 14.33 6.5 14.33Z"})]}),sr=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10 10-4.49 10-10S17.51 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm3-8c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3 3 1.34 3 3z"})}),cr=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 6C9.79 6 8 7.79 8 10H10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 10.8792 13.4202 11.3236 12.7704 11.8217C11.9421 12.4566 11 13.1787 11 15H13C13 13.9046 13.711 13.2833 14.4408 12.6455C15.21 11.9733 16 11.2829 16 10C16 7.79 14.21 6 12 6ZM13 16V18H11V16H13Z"})}),ur=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M4 20h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm0-3h2v2H4v-2zM2 6c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2zm4 1H4V5h2v2zm-2 7h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm0-3h2v2H4v-2z"})}),dr=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"})}),hr=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z"})}),mr=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M7 20h4c0 1.1-.9 2-2 2s-2-.9-2-2zm-2-1h8v-2H5v2zm11.5-9.5c0 3.82-2.66 5.86-3.77 6.5H5.27c-1.11-.64-3.77-2.68-3.77-6.5C1.5 5.36 4.86 2 9 2s7.5 3.36 7.5 7.5zm4.87-2.13L20 8l1.37.63L22 10l.63-1.37L24 8l-1.37-.63L22 6l-.63 1.37zM19 6l.94-2.06L22 3l-2.06-.94L19 0l-.94 2.06L16 3l2.06.94L19 6z"})}),pr=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M3 14h4v-4H3v4zm0 5h4v-4H3v4zM3 9h4V5H3v4zm5 5h13v-4H8v4zm0 5h13v-4H8v4zM8 5v4h13V5H8z"})}),fr=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"m22 9.24-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z"})}),vr=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"})}),gr=()=>Ct("svg",{viewBox:"0 0 16 16",fill:ft("color-error"),children:Ct("path",{d:"M13.5095 4L8.50952 1H7.50952L2.50952 4L2.01953 4.85999V10.86L2.50952 11.71L7.50952 14.71H8.50952L13.5095 11.71L13.9995 10.86V4.85999L13.5095 4ZM7.50952 13.5601L3.00952 10.86V5.69995L7.50952 8.15002V13.5601ZM3.26953 4.69995L8.00952 1.85999L12.7495 4.69995L8.00952 7.29004L3.26953 4.69995ZM13.0095 10.86L8.50952 13.5601V8.15002L13.0095 5.69995V10.86Z"})}),yr=()=>Ct("svg",{viewBox:"0 0 16 16",fill:ft("color-primary"),children:Ct("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2 5H4V4H1.5L1 4.5V12.5L1.5 13H4V12H2V5ZM14.5 4H12V5H14V12H12V13H14.5L15 12.5V4.5L14.5 4ZM11.76 6.56995L12 7V9.51001L11.7 9.95996L7.19995 11.96H6.73999L4.23999 10.46L4 10.03V7.53003L4.30005 7.06995L8.80005 5.06995H9.26001L11.76 6.56995ZM5 9.70996L6.5 10.61V9.28003L5 8.38V9.70996ZM5.57996 7.56006L7.03003 8.43005L10.42 6.93005L8.96997 6.06006L5.57996 7.56006ZM7.53003 10.73L11.03 9.17004V7.77002L7.53003 9.31995V10.73Z"})}),_r=()=>Ct("svg",{viewBox:"0 0 16 16",fill:ft("color-warning"),children:Ct("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M14 2H8L7 3V6H8V3H14V8H10V9H14L15 8V3L14 2ZM9 6H13V7H9.41L9 6.59V6ZM7 7H2L1 8V13L2 14H8L9 13V8L8 7H7ZM8 13H2V8H8V9V13ZM3 9H7V10H3V9ZM3 11H7V12H3V11ZM9 4H13V5H9V4Z"})}),br=()=>Ct("svg",{viewBox:"0 0 16 16",fill:ft("color-primary"),children:Ct("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7 3L8 2H14L15 3V8L14 9H10V8H14V3H8V6H7V3ZM9 9V8L8 7H7H2L1 8V13L2 14H8L9 13V9ZM8 8V9V13H2V8H7H8ZM9.41421 7L9 6.58579V6H13V7H9.41421ZM9 4H13V5H9V4ZM7 10H3V11H7V10Z"})}),wr=()=>Ct("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Ct("path",{d:"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"})});var kr=n(738),xr=n.n(kr);const Sr=e=>{let{to:t,isNavLink:n,children:r,...a}=e;return n?Ct(Re,{to:t,...a,children:r}):Ct("div",{...a,children:r})},Cr=e=>{let{activeItem:t,item:n,color:r=ft("color-primary"),activeNavRef:a,onChange:i,isNavLink:o}=e;return Ct(Sr,{className:xr()({"vm-tabs-item":!0,"vm-tabs-item_active":t===n.value,[n.className||""]:n.className}),isNavLink:o,to:n.value,style:{color:r},onClick:(l=n.value,()=>{i&&i(l)}),ref:t===n.value?a:void 0,children:[n.icon&&Ct("div",{className:xr()({"vm-tabs-item__icon":!0,"vm-tabs-item__icon_single":!n.label}),children:n.icon}),n.label]});var l},Er="undefined"!==typeof window?r.useLayoutEffect:r.useEffect;const Nr=function(e,t,n,a){const i=(0,r.useRef)(t);Er((()=>{i.current=t}),[t]),(0,r.useEffect)((()=>{var t;const r=null!==(t=null===n||void 0===n?void 0:n.current)&&void 0!==t?t:window;if(!r||!r.addEventListener)return;const o=e=>i.current(e);return r.addEventListener(e,o,a),()=>{r.removeEventListener(e,o,a)}}),[e,n,a])},Ar=()=>{const[e,t]=(0,r.useState)({width:0,height:0}),n=()=>{t({width:window.innerWidth,height:window.innerHeight})};return Nr("resize",n),Er(n,[]),e},Mr=e=>{let{activeItem:t,items:n,color:a=ft("color-primary"),onChange:i,indicatorPlacement:o="bottom",isNavLink:l}=e;const s=Ar(),c=(0,r.useRef)(null),[u,d]=(0,r.useState)({left:0,width:0,bottom:0});return(0,r.useEffect)((()=>{var e;if((null===(e=c.current)||void 0===e?void 0:e.base)instanceof HTMLElement){const{offsetLeft:e,offsetWidth:t,offsetHeight:n}=c.current.base;d({left:e,width:t,bottom:"top"===o?n-2:0})}}),[s,t,c,n]),Ct("div",{className:"vm-tabs",children:[n.map((e=>Ct(Cr,{activeItem:t,item:e,onChange:i,color:a,activeNavRef:c,isNavLink:l},e.value))),Ct("div",{className:"vm-tabs__indicator",style:{...u,borderColor:a}})]})},Tr=[{value:dt.chart,icon:Ct(Kn,{}),label:"Graph",prometheusCode:0},{value:dt.code,icon:Ct(Zn,{}),label:"JSON",prometheusCode:3},{value:dt.table,icon:Ct(Qn,{}),label:"Table",prometheusCode:1}],Lr=()=>{const{displayType:e}=Fr(),t=jr();return Ct(Mr,{activeItem:e,items:Tr,onChange:n=>{var r;t({type:"SET_DISPLAY_TYPE",payload:null!==(r=n)&&void 0!==r?r:e})}})},Pr=ct("g0.tab",0),Or=Tr.find((e=>e.prometheusCode===+Pr||e.value===Pr)),Ir=Xe("SERIES_LIMITS"),Rr={displayType:(null===Or||void 0===Or?void 0:Or.value)||dt.chart,nocache:!1,isTracingEnabled:!1,seriesLimits:Ir?JSON.parse(Ir):ot,tableCompact:Xe("TABLE_COMPACT")||!1};function Dr(e,t){switch(t.type){case"SET_DISPLAY_TYPE":return{...e,displayType:t.payload};case"SET_SERIES_LIMITS":return Je("SERIES_LIMITS",JSON.stringify(t.payload)),{...e,seriesLimits:t.payload};case"TOGGLE_QUERY_TRACING":return{...e,isTracingEnabled:!e.isTracingEnabled};case"TOGGLE_NO_CACHE":return{...e,nocache:!e.nocache};case"TOGGLE_TABLE_COMPACT":return Je("TABLE_COMPACT",!e.tableCompact),{...e,tableCompact:!e.tableCompact};default:throw new Error}}const zr=(0,r.createContext)({}),Fr=()=>(0,r.useContext)(zr).state,jr=()=>(0,r.useContext)(zr).dispatch,Hr={customStep:ct("g0.step_input",""),yaxis:{limits:{enable:!1,range:{1:[0,0]}}},isHistogram:!1,spanGaps:!1};function Vr(e,t){switch(t.type){case"TOGGLE_ENABLE_YAXIS_LIMITS":return{...e,yaxis:{...e.yaxis,limits:{...e.yaxis.limits,enable:!e.yaxis.limits.enable}}};case"SET_CUSTOM_STEP":return{...e,customStep:t.payload};case"SET_YAXIS_LIMITS":return{...e,yaxis:{...e.yaxis,limits:{...e.yaxis.limits,range:t.payload}}};case"SET_IS_HISTOGRAM":return{...e,isHistogram:t.payload};case"SET_SPAN_GAPS":return{...e,spanGaps:t.payload};default:throw new Error}}const $r=(0,r.createContext)({}),Ur=()=>(0,r.useContext)($r).state,Br=()=>(0,r.useContext)($r).dispatch,qr={windows:"Windows",mac:"Mac OS",linux:"Linux"},Yr=()=>(Object.values(qr).find((e=>navigator.userAgent.indexOf(e)>=0))||"unknown")===qr.mac;function Wr(){const e=Ar(),t=()=>{const e=["Android","webOS","iPhone","iPad","iPod","BlackBerry","Windows Phone"].map((e=>navigator.userAgent.match(new RegExp(e,"i")))).some((e=>e)),t=window.innerWidth<500;return e||t},[n,a]=(0,r.useState)(t());return(0,r.useEffect)((()=>{a(t())}),[e]),{isMobile:n}}const Kr={success:Ct(Fn,{}),error:Ct(zn,{}),warning:Ct(Dn,{}),info:Ct(Rn,{})},Qr=e=>{let{variant:t,children:n}=e;const{isDarkTheme:r}=Nt(),{isMobile:a}=Wr();return Ct("div",{className:xr()({"vm-alert":!0,["vm-alert_".concat(t)]:t,"vm-alert_dark":r,"vm-alert_mobile":a}),children:[Ct("div",{className:"vm-alert__icon",children:Kr[t||"info"]}),Ct("div",{className:"vm-alert__content",children:n})]})},Zr=(0,r.createContext)({showInfoMessage:()=>{}}),Gr={dashboardsSettings:[],dashboardsLoading:!1,dashboardsError:""};function Jr(e,t){switch(t.type){case"SET_DASHBOARDS_SETTINGS":return{...e,dashboardsSettings:t.payload};case"SET_DASHBOARDS_LOADING":return{...e,dashboardsLoading:t.payload};case"SET_DASHBOARDS_ERROR":return{...e,dashboardsError:t.payload};default:throw new Error}}const Xr=(0,r.createContext)({}),ea=()=>(0,r.useContext)(Xr).state,ta=function(){for(var e=arguments.length,t=new Array(e),n=0;nn=>{let{children:r}=n;return Ct(e,{children:Ct(t,{children:r})})}),(e=>{let{children:t}=e;return Ct(xt.FK,{children:t})}))}(...[e=>{let{children:t}=e;const[n,a]=(0,r.useReducer)(kt,Mt),i=(0,r.useMemo)((()=>({state:n,dispatch:a})),[n,a]);return Ct(Et.Provider,{value:i,children:t})},e=>{let{children:t}=e;const[n,a]=(0,r.useReducer)(pn,mn),i=(0,r.useMemo)((()=>({state:n,dispatch:a})),[n,a]);return Ct(fn.Provider,{value:i,children:t})},e=>{let{children:t}=e;const[n,a]=(0,r.useReducer)(Sn,xn),i=(0,r.useMemo)((()=>({state:n,dispatch:a})),[n,a]);return Ct(Cn.Provider,{value:i,children:t})},e=>{let{children:t}=e;const[n,a]=(0,r.useReducer)(Dr,Rr),i=(0,r.useMemo)((()=>({state:n,dispatch:a})),[n,a]);return Ct(zr.Provider,{value:i,children:t})},e=>{let{children:t}=e;const[n,a]=(0,r.useReducer)(Vr,Hr),i=(0,r.useMemo)((()=>({state:n,dispatch:a})),[n,a]);return Ct($r.Provider,{value:i,children:t})},e=>{let{children:t}=e;const{isMobile:n}=Wr(),[a,i]=(0,r.useState)({}),[o,l]=(0,r.useState)(!1),[s,c]=(0,r.useState)(void 0);(0,r.useEffect)((()=>{if(!s)return;i({message:s.text,variant:s.type,key:Date.now()}),l(!0);const e=setTimeout(u,4e3);return()=>clearTimeout(e)}),[s]);const u=()=>{c(void 0),l(!1)};return Ct(Zr.Provider,{value:{showInfoMessage:c},children:[o&&Ct("div",{className:xr()({"vm-snackbar":!0,"vm-snackbar_mobile":n}),children:Ct(Qr,{variant:a.variant,children:Ct("div",{className:"vm-snackbar-content",children:[Ct("span",{children:a.message}),Ct("div",{className:"vm-snackbar-content__close",onClick:u,children:Ct(On,{})})]})})}),t]})},e=>{let{children:t}=e;const[n,a]=(0,r.useReducer)(Jr,Gr),i=(0,r.useMemo)((()=>({state:n,dispatch:a})),[n,a]);return Ct(Xr.Provider,{value:i,children:t})}]),na=e=>{let{activeMenu:t,label:n,value:r,color:a}=e;return Ct(Re,{className:xr()({"vm-header-nav-item":!0,"vm-header-nav-item_active":t===r}),style:{color:a},to:r,children:n})},ra=(e,t,n)=>{const a=(0,r.useCallback)((r=>{const a=null===e||void 0===e?void 0:e.current,i=r.target,o=(null===n||void 0===n?void 0:n.current)&&n.current.contains(i);!a||a.contains((null===r||void 0===r?void 0:r.target)||null)||o||t(r)}),[e,t]);Nr("mousedown",a),Nr("touchstart",a)},aa=e=>{let{variant:t="contained",color:n="primary",size:r="medium",ariaLabel:a,children:i,endIcon:o,startIcon:l,fullWidth:s=!1,className:c,disabled:u,onClick:d,onMouseDown:h}=e;return Ct("button",{className:xr()({"vm-button":!0,["vm-button_".concat(t,"_").concat(n)]:!0,["vm-button_".concat(r)]:r,"vm-button_icon":(l||o)&&!i,"vm-button_full-width":s,"vm-button_with-icon":l||o,"vm-button_disabled":u,[c||""]:c}),disabled:u,"aria-label":a,onClick:d,onMouseDown:h,children:Ct(xt.FK,{children:[l&&Ct("span",{className:"vm-button__start-icon",children:l}),i&&Ct("span",{children:i}),o&&Ct("span",{className:"vm-button__end-icon",children:o})]})})},ia=e=>{let{children:t,buttonRef:n,placement:a="bottom-left",open:i=!1,onClose:o,offset:l={top:6,left:0},clickOutside:s=!0,fullWidth:c,title:u,disabledFullScreen:d,variant:h}=e;const{isMobile:m}=Wr(),p=ae(),f=ne(),[v,g]=(0,r.useState)({width:0,height:0}),[y,_]=(0,r.useState)(!1),b=(0,r.useRef)(null);(0,r.useEffect)((()=>(_(i),!i&&o&&o(),i&&m&&!d&&(document.body.style.overflow="hidden"),()=>{document.body.style.overflow="auto"})),[i]),(0,r.useEffect)((()=>{var e,t;g({width:(null===b||void 0===b||null===(e=b.current)||void 0===e?void 0:e.clientWidth)||0,height:(null===b||void 0===b||null===(t=b.current)||void 0===t?void 0:t.clientHeight)||0}),_(!1)}),[b]);const w=(0,r.useMemo)((()=>{const e=n.current;if(!e||!y)return{};const t=e.getBoundingClientRect(),r={top:0,left:0,width:"auto"},i="bottom-right"===a||"top-right"===a,o=null===a||void 0===a?void 0:a.includes("top"),s=(null===l||void 0===l?void 0:l.top)||0,u=(null===l||void 0===l?void 0:l.left)||0;r.left=r.left=t.left+u,r.top=t.height+t.top+s,i&&(r.left=t.right-v.width),o&&(r.top=t.top-v.height-s);const{innerWidth:d,innerHeight:h}=window,m=r.top+v.height+20>h,p=r.top-20<0,f=r.left+v.width+20>d,g=r.left-20<0;return m&&(r.top=t.top-v.height-s),p&&(r.top=t.height+t.top+s),f&&(r.left=t.right-v.width-u),g&&(r.left=t.left+u),c&&(r.width="".concat(t.width,"px")),r.top<0&&(r.top=20),r.left<0&&(r.left=20),r}),[n,a,y,t,c]),k=()=>{_(!1),o()};(0,r.useEffect)((()=>{if(!b.current||!y||m&&!d)return;const{right:e,width:t}=b.current.getBoundingClientRect();if(e>window.innerWidth){const e=window.innerWidth-20-t;b.current.style.left=e{y&&m&&!d&&(p(f,{replace:!0}),o())}),[y,m,d,f,o]);return Nr("scroll",k),Nr("popstate",x),ra(b,(()=>{s&&k()}),n),Ct(xt.FK,{children:(y||!v.width)&&r.default.createPortal(Ct("div",{className:xr()({"vm-popper":!0,["vm-popper_".concat(h)]:h,"vm-popper_mobile":m&&!d,"vm-popper_open":(m||Object.keys(w).length)&&y}),ref:b,style:m&&!d?{}:w,children:[(u||m&&!d)&&Ct("div",{className:"vm-popper-header",children:[Ct("p",{className:"vm-popper-header__title",children:u}),Ct(aa,{variant:"text",color:"dark"===h?"white":"primary",size:"small",onClick:e=>{e.stopPropagation(),o()},ariaLabel:"close",children:Ct(On,{})})]}),t]}),document.body)})},oa=e=>{const[t,n]=(0,r.useState)(!!e),a=(0,r.useCallback)((()=>n(!0)),[]),i=(0,r.useCallback)((()=>n(!1)),[]),o=(0,r.useCallback)((()=>n((e=>!e))),[]);return{value:t,setValue:n,setTrue:a,setFalse:i,toggle:o}},la=e=>{let{activeMenu:t,label:n,color:a,background:i,submenu:o,direction:l}=e;const{pathname:s}=ne(),[c,u]=(0,r.useState)(null),d=(0,r.useRef)(null),{value:h,setFalse:m,setTrue:p}=oa(!1),f=()=>{c&&clearTimeout(c);const e=setTimeout(m,300);u(e)};return(0,r.useEffect)((()=>{m()}),[s]),"column"===l?Ct(xt.FK,{children:o.map((e=>Ct(na,{activeMenu:t,value:e.value||"",label:e.label||""},e.value)))}):Ct("div",{className:xr()({"vm-header-nav-item":!0,"vm-header-nav-item_sub":!0,"vm-header-nav-item_open":h,"vm-header-nav-item_active":o.find((e=>e.value===t))}),style:{color:a},onMouseEnter:()=>{p(),c&&clearTimeout(c)},onMouseLeave:f,ref:d,children:[n,Ct(Vn,{}),Ct(ia,{open:h,placement:"bottom-left",offset:{top:12,left:0},onClose:m,buttonRef:d,children:Ct("div",{className:"vm-header-nav-item-submenu",style:{background:i},onMouseLeave:f,onMouseEnter:()=>{c&&clearTimeout(c)},children:o.map((e=>Ct(na,{activeMenu:t,value:e.value||"",label:e.label||"",color:a},e.value)))})})]})},sa={label:"Explore",submenu:[{label:qe[Ye.metrics].title,value:Ye.metrics},{label:qe[Ye.cardinality].title,value:Ye.cardinality},{label:qe[Ye.topQueries].title,value:Ye.topQueries},{label:qe[Ye.activeQueries].title,value:Ye.activeQueries}]},ca={label:"Tools",submenu:[{label:qe[Ye.trace].title,value:Ye.trace},{label:qe[Ye.queryAnalyzer].title,value:Ye.queryAnalyzer},{label:qe[Ye.withTemplate].title,value:Ye.withTemplate},{label:qe[Ye.relabel].title,value:Ye.relabel}]},ua=[{label:qe[Ye.logs].title,value:Ye.home}],da=[{label:qe[Ye.anomaly].title,value:Ye.home}],ha=[{label:qe[Ye.home].title,value:Ye.home},sa,ca],ma=e=>{let{color:t,background:n,direction:a}=e;const i=Ke(),{dashboardsSettings:o}=ea(),{pathname:l}=ne(),[s,c]=(0,r.useState)(l),u=(0,r.useMemo)((()=>{switch({NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!1}.REACT_APP_TYPE){case He.logs:return ua;case He.anomaly:return da;default:return[...ha,{label:qe[Ye.dashboards].title,value:Ye.dashboards,hide:i||!o.length}].filter((e=>!e.hide))}}),[i,o]);return(0,r.useEffect)((()=>{c(l)}),[l]),Ct("nav",{className:xr()({"vm-header-nav":!0,["vm-header-nav_".concat(a)]:a}),children:u.map((e=>e.submenu?Ct(la,{activeMenu:s,label:e.label||"",submenu:e.submenu,color:t,background:n,direction:a},e.label):Ct(na,{activeMenu:s,value:e.value||"",label:e.label||"",color:t},e.value)))})},pa=e=>{let{title:t,children:n,onClose:a,className:i,isOpen:o=!0}=e;const{isMobile:l}=Wr(),s=ae(),c=ne(),u=(0,r.useCallback)((e=>{o&&"Escape"===e.key&&a()}),[o]),d=e=>{e.stopPropagation()},h=(0,r.useCallback)((()=>{o&&(s(c,{replace:!0}),a())}),[o,c,a]);return(0,r.useEffect)((()=>{if(o)return document.body.style.overflow="hidden",()=>{document.body.style.overflow="auto"}}),[o]),Nr("popstate",h),Nr("keyup",u),r.default.createPortal(Ct("div",{className:xr()({"vm-modal":!0,"vm-modal_mobile":l,["".concat(i)]:i}),onMouseDown:a,children:Ct("div",{className:"vm-modal-content",children:[Ct("div",{className:"vm-modal-content-header",onMouseDown:d,children:[t&&Ct("div",{className:"vm-modal-content-header__title",children:t}),Ct("div",{className:"vm-modal-header__close",children:Ct(aa,{variant:"text",size:"small",onClick:a,ariaLabel:"close",children:Ct(On,{})})})]}),Ct("div",{className:"vm-modal-content-body",onMouseDown:d,children:n})]})}),document.body)},fa=e=>{let{children:t,title:n,open:a,placement:i="bottom-center",offset:o={top:6,left:0}}=e;const{isMobile:l}=Wr(),[s,c]=(0,r.useState)(!1),[u,d]=(0,r.useState)({width:0,height:0}),h=(0,r.useRef)(null),m=(0,r.useRef)(null),p=()=>c(!1);(0,r.useEffect)((()=>{if(m.current&&s)return d({width:m.current.clientWidth,height:m.current.clientHeight}),window.addEventListener("scroll",p),()=>{window.removeEventListener("scroll",p)}}),[s,n]);const f=(0,r.useMemo)((()=>{var e;const t=null===h||void 0===h||null===(e=h.current)||void 0===e?void 0:e.base;if(!t||!s)return{};const n=t.getBoundingClientRect(),r={top:0,left:0},a="bottom-right"===i||"top-right"===i,l="bottom-left"===i||"top-left"===i,c=null===i||void 0===i?void 0:i.includes("top"),d=(null===o||void 0===o?void 0:o.top)||0,m=(null===o||void 0===o?void 0:o.left)||0;r.left=n.left-(u.width-n.width)/2+m,r.top=n.height+n.top+d,a&&(r.left=n.right-u.width),l&&(r.left=n.left+m),c&&(r.top=n.top-u.height-d);const{innerWidth:p,innerHeight:f}=window,v=r.top+u.height+20>f,g=r.top-20<0,y=r.left+u.width+20>p,_=r.left-20<0;return v&&(r.top=n.top-u.height-d),g&&(r.top=n.height+n.top+d),y&&(r.left=n.right-u.width-m),_&&(r.left=n.left+m),r.top<0&&(r.top=20),r.left<0&&(r.left=20),r}),[h,i,s,u]),v=()=>{"boolean"!==typeof a&&c(!0)},g=()=>{c(!1)};return(0,r.useEffect)((()=>{"boolean"===typeof a&&c(a)}),[a]),(0,r.useEffect)((()=>{var e;const t=null===h||void 0===h||null===(e=h.current)||void 0===e?void 0:e.base;if(t)return t.addEventListener("mouseenter",v),t.addEventListener("mouseleave",g),()=>{t.removeEventListener("mouseenter",v),t.removeEventListener("mouseleave",g)}}),[h]),Ct(xt.FK,{children:[Ct(r.Fragment,{ref:h,children:t}),!l&&s&&r.default.createPortal(Ct("div",{className:"vm-tooltip",ref:m,style:f,children:n}),document.body)]})},va=Ct("code",{children:Yr()?"Cmd":"Ctrl"}),ga=[{title:"Zoom in",description:Ct(xt.FK,{children:["To zoom in, hold down the ",va," + ",Ct("code",{children:"scroll up"}),", or press the ",Ct("code",{children:"+"}),". Also, you can zoom in on a range on the graph by holding down your mouse button and selecting the range."]})},{title:"Zoom out",description:Ct(xt.FK,{children:["To zoom out, hold down the ",va," + ",Ct("code",{children:"scroll down"}),", or press the ",Ct("code",{children:"-"}),"."]})},{title:"Move horizontal axis",description:Ct(xt.FK,{children:["To move the graph, hold down the ",va," + ",Ct("code",{children:"drag"})," the graph to the right or left."]})},{title:"Fixing a tooltip",description:Ct(xt.FK,{children:["To fix the tooltip, ",Ct("code",{children:"click"})," mouse when it's open. Then, you can drag the fixed tooltip by ",Ct("code",{children:"clicking"})," and ",Ct("code",{children:"dragging"})," on the ",Ct(ir,{})," icon."]})},{title:"Set a custom range for the vertical axis",description:Ct(xt.FK,{children:["To set a custom range for the vertical axis, click on the ",Ct(Pn,{})," icon located in the upper right corner of the graph, activate the toggle, and set the values."]})}],ya=[{title:"Show/hide a legend item",description:Ct(xt.FK,{children:[Ct("code",{children:"click"})," on a legend item to isolate it on the graph.",va," + ",Ct("code",{children:"click"})," on a legend item to remove it from the graph. To revert to the previous state, click again."]})},{title:"Copy label key-value pairs",description:Ct(xt.FK,{children:[Ct("code",{children:"click"})," on a label key-value pair to save it to the clipboard."]})},{title:"Collapse/Expand the legend group",description:Ct(xt.FK,{children:[Ct("code",{children:"click"})," on the group name (e.g. ",Ct("b",{children:'Query 1: {__name__!=""}'}),") to collapse or expand the legend."]})}],_a=ga.concat(ya),ba=()=>{const{value:e,setFalse:t,setTrue:n}=oa(!1);return Ct(xt.FK,{children:[Ct(fa,{title:"Show tips on working with the graph",children:Ct(aa,{variant:"text",color:"gray",startIcon:Ct(mr,{}),onClick:n,ariaLabel:"open the tips"})}),e&&Ct(pa,{title:"Tips on working with the graph and the legend",onClose:t,children:Ct("div",{className:"fc-graph-tips",children:_a.map((e=>{let{title:t,description:n}=e;return Ct("div",{className:"fc-graph-tips-item",children:[Ct("h4",{className:"fc-graph-tips-item__action",children:t}),Ct("p",{className:"fc-graph-tips-item__description",children:n})]},t)}))})})]})},wa=Ct("code",{children:Yr()?"Cmd":"Ctrl"}),ka=Ct(xt.FK,{children:[Ct("code",{children:Yr()?"Option":"Ctrl"})," + ",Ct("code",{children:"Space"})]}),xa=[{title:"Query",list:[{keys:Ct("code",{children:"Enter"}),description:"Run"},{keys:Ct(xt.FK,{children:[Ct("code",{children:"Shift"})," + ",Ct("code",{children:"Enter"})]}),description:"Multi-line queries"},{keys:Ct(xt.FK,{children:[wa," + ",Ct("code",{children:"Arrow Up"})]}),description:"Previous command from the Query history"},{keys:Ct(xt.FK,{children:[wa," + ",Ct("code",{children:"Arrow Down"})]}),description:"Next command from the Query history"},{keys:Ct(xt.FK,{children:[wa," + ",Ct("code",{children:"click"})," by ",Ct(tr,{})]}),description:"Toggle multiple queries"},{keys:ka,description:"Show quick autocomplete tips"}]},{title:"Graph",readMore:Ct(ba,{}),list:[{keys:Ct(xt.FK,{children:[wa," + ",Ct("code",{children:"scroll Up"})," or ",Ct("code",{children:"+"})]}),description:"Zoom in"},{keys:Ct(xt.FK,{children:[wa," + ",Ct("code",{children:"scroll Down"})," or ",Ct("code",{children:"-"})]}),description:"Zoom out"},{keys:Ct(xt.FK,{children:[wa," + ",Ct("code",{children:"drag"})]}),description:"Move the graph left/right"},{keys:Ct(xt.FK,{children:Ct("code",{children:"click"})}),description:"Select the series in the legend"},{keys:Ct(xt.FK,{children:[wa," + ",Ct("code",{children:"click"})]}),description:"Toggle multiple series in the legend"}]}],Sa="Shortcut keys",Ca=Yr(),Ea=Ca?"Cmd + /":"F1",Na=e=>{let{showTitle:t}=e;const n=Ke(),{value:a,setTrue:i,setFalse:o}=oa(!1),l=(0,r.useCallback)((e=>{const t=Ca&&"/"===e.key&&e.metaKey,n=!Ca&&"F1"===e.key&&!e.metaKey;(t||n)&&i()}),[i]);return Nr("keydown",l),Ct(xt.FK,{children:[Ct(fa,{open:!0!==t&&void 0,title:"".concat(Sa," (").concat(Ea,")"),placement:"bottom-center",children:Ct(aa,{className:n?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Ct(qn,{}),onClick:i,ariaLabel:Sa,children:t&&Sa})}),a&&Ct(pa,{title:"Shortcut keys",onClose:o,children:Ct("div",{className:"vm-shortcuts",children:xa.map((e=>Ct("div",{className:"vm-shortcuts-section",children:[e.readMore&&Ct("div",{className:"vm-shortcuts-section__read-more",children:e.readMore}),Ct("h3",{className:"vm-shortcuts-section__title",children:e.title}),Ct("div",{className:"vm-shortcuts-section-list",children:e.list.map(((t,n)=>Ct("div",{className:"vm-shortcuts-section-list-item",children:[Ct("div",{className:"vm-shortcuts-section-list-item__key",children:t.keys}),Ct("p",{className:"vm-shortcuts-section-list-item__description",children:t.description})]},"".concat(e.title,"_").concat(n))))})]},e.title)))})})]})},Aa=e=>{let{open:t}=e;return Ct("button",{className:xr()({"vm-menu-burger":!0,"vm-menu-burger_opened":t}),"aria-label":"menu",children:Ct("span",{})})},{REACT_APP_TYPE:Ma}={},Ta=Ma===He.logs,La=e=>{let{background:t,color:n}=e;const{pathname:a}=ne(),{isMobile:i}=Wr(),o=(0,r.useRef)(null),{value:l,toggle:s,setFalse:c}=oa(!1);return(0,r.useEffect)(c,[a]),ra(o,c),Ct("div",{className:"vm-header-sidebar",ref:o,children:[Ct("div",{className:xr()({"vm-header-sidebar-button":!0,"vm-header-sidebar-button_open":l}),onClick:s,children:Ct(Aa,{open:l})}),Ct("div",{className:xr()({"vm-header-sidebar-menu":!0,"vm-header-sidebar-menu_open":l}),children:[Ct("div",{children:Ct(ma,{color:n,background:t,direction:"column"})}),Ct("div",{className:"vm-header-sidebar-menu-settings",children:!i&&!Ta&&Ct(Na,{showTitle:!0})})]})]})},Pa=e=>{let{controlsComponent:t,isMobile:n,...a}=e;const i=Ke(),{pathname:o}=ne(),{accountIds:l}=(()=>{const{useTenantID:e}=We(),t=Ke(),{serverUrl:n}=Nt(),[a,i]=(0,r.useState)(!1),[o,l]=(0,r.useState)(),[s,c]=(0,r.useState)([]),u=(0,r.useMemo)((()=>"".concat(n.replace(/^(.+)(\/select.+)/,"$1"),"/admin/tenants")),[n]),d=(0,r.useMemo)((()=>!!Ge(n)),[n]),h=t?!e:!d;return(0,r.useEffect)((()=>{h||(async()=>{i(!0);try{const e=await fetch(u),t=await e.json(),n=t.data||[];c(n.sort(((e,t)=>e.localeCompare(t)))),e.ok?l(void 0):l("".concat(t.errorType,"\r\n").concat(null===t||void 0===t?void 0:t.error))}catch(rp){rp instanceof Error&&l("".concat(rp.name,": ").concat(rp.message))}i(!1)})().catch(console.error)}),[u]),{accountIds:s,isLoading:a,error:o}})(),{value:s,toggle:c,setFalse:u}=oa(!1),d=Ct(t,{...a,isMobile:n,accountIds:l,headerSetup:(0,r.useMemo)((()=>(qe[o]||{}).header||{}),[o])});return n?Ct(xt.FK,{children:[Ct("div",{children:Ct(aa,{className:xr()({"vm-header-button":!i}),startIcon:Ct(dr,{}),onClick:c,ariaLabel:"controls"})}),Ct(pa,{title:"Controls",onClose:u,isOpen:s,className:xr()({"vm-header-controls-modal":!0,"vm-header-controls-modal_open":s}),children:d})]}):d},{REACT_APP_TYPE:Oa}={},Ia=Oa===He.logs||Oa===He.anomaly,Ra=()=>{switch(Oa){case He.logs:return Ct(Mn,{});case He.anomaly:return Ct(Tn,{});default:return Ct(An,{})}},Da=e=>{let{controlsComponent:t}=e;const{isMobile:n}=Wr(),a=Ar(),i=(0,r.useMemo)((()=>window.innerWidth<1e3),[a]),{isDarkTheme:o}=Nt(),l=Ke(),s=(0,r.useMemo)((()=>ft(o?"color-background-block":"color-primary")),[o]),{background:c,color:u}=(0,r.useMemo)((()=>{const{headerStyles:{background:e=(l?"#FFF":s),color:t=(l?s:"#FFF")}={}}=We();return{background:e,color:t}}),[s]),d=ae(),h=()=>{d({pathname:Ye.home}),window.location.reload()};return Ct("header",{className:xr()({"vm-header":!0,"vm-header_app":l,"vm-header_dark":o,"vm-header_sidebar":i,"vm-header_mobile":n}),style:{background:c,color:u},children:[i?Ct(La,{background:c,color:u}):Ct(xt.FK,{children:[!l&&Ct("div",{className:xr()({"vm-header-logo":!0,"vm-header-logo_logs":Ia}),onClick:h,style:{color:u},children:Ct(Ra,{})}),Ct(ma,{color:u,background:c})]}),i&&Ct("div",{className:xr()({"vm-header-logo":!0,"vm-header-logo_mobile":!0,"vm-header-logo_logs":Ia}),onClick:h,style:{color:u},children:Ct(Ra,{})}),Ct(Pa,{controlsComponent:t,displaySidebar:i,isMobile:n})]})},za=(0,r.memo)((()=>{const e="2019-".concat((new Date).getFullYear());return Ct("footer",{className:"vm-footer",children:[Ct("a",{className:"vm-link vm-footer__website",target:"_blank",href:"https://victoriametrics.com/",rel:"me noreferrer",children:[Ct(Ln,{}),"victoriametrics.com"]}),Ct("a",{className:"vm-link vm-footer__link",target:"_blank",href:"https://docs.victoriametrics.com/MetricsQL.html",rel:"help noreferrer",children:[Ct(Zn,{}),"MetricsQL"]}),Ct("a",{className:"vm-link vm-footer__link",target:"_blank",href:"https://docs.victoriametrics.com/#vmui",rel:"help noreferrer",children:[Ct(lr,{}),"Documentation"]}),Ct("a",{className:"vm-link vm-footer__link",target:"_blank",href:"https://github.com/VictoriaMetrics/VictoriaMetrics/issues/new/choose",rel:"noreferrer",children:[Ct(sr,{}),"Create an issue"]}),Ct("div",{className:"vm-footer__copyright",children:["\xa9 ",e," VictoriaMetrics"]})]})})),Fa=()=>{const e=Ke(),{serverUrl:t}=Nt(),n=(0,r.useContext)(Xr).dispatch,[a,i]=(0,r.useState)(!1),[o,l]=(0,r.useState)(""),[s,c]=(0,r.useState)([]),u=async()=>{try{const e=window.__VMUI_PREDEFINED_DASHBOARDS__;if(null===e||void 0===e||!e.length)return[];const t=await Promise.all(e.map((async e=>(async e=>{const t=await fetch("./dashboards/".concat(e));return await t.json()})(e))));c((e=>[...t,...e]))}catch(rp){rp instanceof Error&&l("".concat(rp.name,": ").concat(rp.message))}};return(0,r.useEffect)((()=>{e||(c([]),(async()=>{if(t&&!{NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!1}.REACT_APP_TYPE){l(""),i(!0);try{const e=await fetch("".concat(t,"/vmui/custom-dashboards")),n=await e.json();if(e.ok){const{dashboardsSettings:e}=n;e&&e.length>0?c((t=>[...t,...e])):await u(),i(!1)}else await u(),l(n.error),i(!1)}catch(rp){i(!1),rp instanceof Error&&l("".concat(rp.name,": ").concat(rp.message)),await u()}}})())}),[t]),(0,r.useEffect)((()=>{n({type:"SET_DASHBOARDS_SETTINGS",payload:s})}),[s]),(0,r.useEffect)((()=>{n({type:"SET_DASHBOARDS_LOADING",payload:a})}),[a]),(0,r.useEffect)((()=>{n({type:"SET_DASHBOARDS_ERROR",payload:o})}),[o]),{dashboardsSettings:s,isLoading:a,error:o}},ja=e=>{let{error:t,warning:n,info:a}=e;const i=(0,r.useRef)(null),[o,l]=(0,r.useState)(!1),[s,c]=(0,r.useState)(!1),u=(0,r.useMemo)((()=>t?"ERROR: ":n?"WARNING: ":""),[t,n]),d="".concat(u).concat(t||n||a),h=()=>{const e=i.current;if(e){const{offsetWidth:t,scrollWidth:n,offsetHeight:r,scrollHeight:a}=e;l(t+1{c(!1),h()}),[i,d]),Nr("resize",h),t||n||a?Ct("span",{className:xr()({"vm-text-field__error":!0,"vm-text-field__warning":n&&!t,"vm-text-field__helper-text":!n&&!t,"vm-text-field__error_overflowed":o,"vm-text-field__error_full":s}),"data-show":!!d,ref:i,onClick:()=>{o&&(c(!0),l(!1))},children:d}):null},Ha=e=>{let{label:t,value:n,type:a="text",error:i="",warning:o="",helperText:l="",placeholder:s,endIcon:c,startIcon:u,disabled:d=!1,autofocus:h=!1,inputmode:m="text",caretPosition:p,onChange:f,onEnter:v,onKeyDown:g,onFocus:y,onBlur:_,onChangeCaret:b}=e;const{isDarkTheme:w}=Nt(),{isMobile:k}=Wr(),x=(0,r.useRef)(null),S=(0,r.useRef)(null),C=(0,r.useMemo)((()=>"textarea"===a?S:x),[a]),[E,N]=(0,r.useState)([0,0]),A=xr()({"vm-text-field__input":!0,"vm-text-field__input_error":i,"vm-text-field__input_warning":!i&&o,"vm-text-field__input_icon-start":u,"vm-text-field__input_disabled":d,"vm-text-field__input_textarea":"textarea"===a}),M=e=>{const{selectionStart:t,selectionEnd:n}=e;N([t||0,n||0])},T=e=>{M(e.currentTarget)},L=e=>{g&&g(e);const{key:t,ctrlKey:n,metaKey:r}=e,i="Enter"===t;("textarea"!==a?i:i&&(r||n))&&v&&(e.preventDefault(),v())},P=e=>{M(e.currentTarget)},O=e=>{d||(f&&f(e.currentTarget.value),M(e.currentTarget))},I=()=>{y&&y()},R=()=>{_&&_()},D=e=>{try{C.current&&C.current.setSelectionRange(e[0],e[1])}catch(rp){return rp}};return(0,r.useEffect)((()=>{var e;h&&!k&&(null===C||void 0===C||null===(e=C.current)||void 0===e?void 0:e.focus)&&C.current.focus()}),[C,h]),(0,r.useEffect)((()=>{b&&b(E)}),[E]),(0,r.useEffect)((()=>{D(E)}),[n]),(0,r.useEffect)((()=>{p&&D(p)}),[p]),Ct("label",{className:xr()({"vm-text-field":!0,"vm-text-field_textarea":"textarea"===a,"vm-text-field_dark":w}),"data-replicated-value":n,children:[u&&Ct("div",{className:"vm-text-field__icon-start",children:u}),c&&Ct("div",{className:"vm-text-field__icon-end",children:c}),"textarea"===a?Ct("textarea",{className:A,disabled:d,ref:S,value:n,rows:1,inputMode:m,placeholder:s,autoCapitalize:"none",onInput:O,onKeyDown:L,onKeyUp:P,onFocus:I,onBlur:R,onMouseUp:T}):Ct("input",{className:A,disabled:d,ref:x,value:n,type:a,placeholder:s,inputMode:m,autoCapitalize:"none",onInput:O,onKeyDown:L,onKeyUp:P,onFocus:I,onBlur:R,onMouseUp:T}),t&&Ct("span",{className:"vm-text-field__label",children:t}),Ct(ja,{error:i,warning:o,info:l})]})},Va=e=>{let{accountIds:t}=e;const n=Ke(),{isMobile:a}=Wr(),{tenantId:i,serverUrl:o}=Nt(),l=At(),s=gn(),[c,u]=(0,r.useState)(""),d=(0,r.useRef)(null),{value:h,toggle:m,setFalse:p}=oa(!1),f=(0,r.useMemo)((()=>{if(!c)return t;try{const e=new RegExp(c,"i");return t.filter((t=>e.test(t))).sort(((t,n)=>{var r,a;return((null===(r=t.match(e))||void 0===r?void 0:r.index)||0)-((null===(a=n.match(e))||void 0===a?void 0:a.index)||0)}))}catch(rp){return[]}}),[c,t]),v=(0,r.useMemo)((()=>t.length>1),[t]),g=e=>()=>{const t=e;if(l({type:"SET_TENANT_ID",payload:t}),o){const e=Ze(o,t);if(e===o)return;l({type:"SET_SERVER",payload:e}),s({type:"RUN_QUERY"})}p()};return(0,r.useEffect)((()=>{const e=Ge(o);i&&i!==e?g(i)():g(e)()}),[o]),v?Ct("div",{className:"vm-tenant-input",children:[Ct(fa,{title:"Define Tenant ID if you need request to another storage",children:Ct("div",{ref:d,children:a?Ct("div",{className:"vm-mobile-option",onClick:m,children:[Ct("span",{className:"vm-mobile-option__icon",children:Ct(ur,{})}),Ct("div",{className:"vm-mobile-option-text",children:[Ct("span",{className:"vm-mobile-option-text__label",children:"Tenant ID"}),Ct("span",{className:"vm-mobile-option-text__value",children:i})]}),Ct("span",{className:"vm-mobile-option__arrow",children:Ct(Hn,{})})]}):Ct(aa,{className:n?"":"vm-header-button",variant:"contained",color:"primary",fullWidth:!0,startIcon:Ct(ur,{}),endIcon:Ct("div",{className:xr()({"vm-execution-controls-buttons__arrow":!0,"vm-execution-controls-buttons__arrow_open":h}),children:Ct(Hn,{})}),onClick:m,children:i})})}),Ct(ia,{open:h,placement:"bottom-right",onClose:p,buttonRef:d,title:a?"Define Tenant ID":void 0,children:Ct("div",{className:xr()({"vm-list vm-tenant-input-list":!0,"vm-list vm-tenant-input-list_mobile":a}),children:[Ct("div",{className:"vm-tenant-input-list__search",children:Ct(Ha,{autofocus:!0,label:"Search",value:c,onChange:u,type:"search"})}),f.map((e=>Ct("div",{className:xr()({"vm-list-item":!0,"vm-list-item_mobile":a,"vm-list-item_active":e===i}),onClick:g(e),children:e},e)))]})})]}):null};const $a=function(e){const t=(0,r.useRef)();return(0,r.useEffect)((()=>{t.current=e}),[e]),t.current},Ua=()=>{const e=Ke(),{isMobile:t}=Wr(),{customStep:n,isHistogram:a}=Ur(),{period:{step:i,end:o,start:l}}=vn(),s=Br(),c=$a(o-l),u=(0,r.useMemo)((()=>Kt(o-l,a)),[i,a]),[d,h]=(0,r.useState)(n||u),[m,p]=(0,r.useState)(""),{value:f,toggle:v,setFalse:g}=oa(!1),y=(0,r.useRef)(null),_=e=>{const t=e||d||u||"1s",n=(t.match(/[a-zA-Z]+/g)||[]).length?t:"".concat(t,"s");s({type:"SET_CUSTOM_STEP",payload:n}),h(n),p("")},b=()=>{_(),g()},w=e=>{const t=e.match(/[-+]?([0-9]*\.[0-9]+|[0-9]+)/g)||[],n=e.match(/[a-zA-Z]+/g)||[],r=t.length&&t.every((e=>parseFloat(e)>0)),a=n.every((e=>Vt.find((t=>t.short===e)))),i=r&&a;h(e),p(i?"":ht.validStep)};return(0,r.useEffect)((()=>{n&&_(n)}),[n]),(0,r.useEffect)((()=>{!n&&u&&_(u)}),[u]),(0,r.useEffect)((()=>{o-l!==c&&c&&u&&_(u)}),[o,l,c,u]),(0,r.useEffect)((()=>{i!==n&&i!==u||_(u)}),[a]),Ct("div",{className:"vm-step-control",ref:y,children:[t?Ct("div",{className:"vm-mobile-option",onClick:v,children:[Ct("span",{className:"vm-mobile-option__icon",children:Ct(or,{})}),Ct("div",{className:"vm-mobile-option-text",children:[Ct("span",{className:"vm-mobile-option-text__label",children:"Step"}),Ct("span",{className:"vm-mobile-option-text__value",children:d})]}),Ct("span",{className:"vm-mobile-option__arrow",children:Ct(Hn,{})})]}):Ct(fa,{title:"Query resolution step width",children:Ct(aa,{className:e?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Ct(or,{}),onClick:v,children:Ct("p",{children:["STEP",Ct("p",{className:"vm-step-control__value",children:d})]})})}),Ct(ia,{open:f,placement:"bottom-right",onClose:b,buttonRef:y,title:t?"Query resolution step width":void 0,children:Ct("div",{className:xr()({"vm-step-control-popper":!0,"vm-step-control-popper_mobile":t}),children:[Ct(Ha,{autofocus:!0,label:"Step value",value:d,error:m,onChange:w,onEnter:()=>{_(),b()},onFocus:()=>{document.activeElement instanceof HTMLInputElement&&document.activeElement.select()},onBlur:_,endIcon:Ct(fa,{title:"Set default step value: ".concat(u),children:Ct(aa,{size:"small",variant:"text",color:"primary",startIcon:Ct(In,{}),onClick:()=>{const e=u||"1s";w(e),_(e)},ariaLabel:"reset step"})})}),Ct("div",{className:"vm-step-control-popper-info",children:[Ct("code",{children:"step"})," - the ",Ct("a",{className:"vm-link vm-link_colored",href:"https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations",target:"_blank",rel:"noreferrer",children:"interval"}),"between datapoints, which must be returned from the range query. The ",Ct("code",{children:"query"})," is executed at",Ct("code",{children:"start"}),", ",Ct("code",{children:"start+step"}),", ",Ct("code",{children:"start+2*step"}),", \u2026, ",Ct("code",{children:"end"})," timestamps.",Ct("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/keyConcepts.html#range-query",target:"_blank",rel:"help noreferrer",children:"Read more about Range query"})]})]})})]})},Ba=e=>{let{relativeTime:t,setDuration:n}=e;const{isMobile:r}=Wr();return Ct("div",{className:xr()({"vm-time-duration":!0,"vm-time-duration_mobile":r}),children:en.map((e=>{let{id:a,duration:i,until:o,title:l}=e;return Ct("div",{className:xr()({"vm-list-item":!0,"vm-list-item_mobile":r,"vm-list-item_active":a===t}),onClick:(s={duration:i,until:o(),id:a},()=>{n(s)}),children:l||i},a);var s}))})},qa=e=>{let{viewDate:t,showArrowNav:n,onChangeViewDate:r,toggleDisplayYears:a}=e;return Ct("div",{className:"vm-calendar-header",children:[Ct("div",{className:"vm-calendar-header-left",onClick:a,children:[Ct("span",{className:"vm-calendar-header-left__date",children:t.format("MMMM YYYY")}),Ct("div",{className:"vm-calendar-header-left__select-year",children:Ct(Vn,{})})]}),n&&Ct("div",{className:"vm-calendar-header-right",children:[Ct("div",{className:"vm-calendar-header-right__prev",onClick:()=>{r(t.subtract(1,"month"))},children:Ct(Hn,{})}),Ct("div",{className:"vm-calendar-header-right__next",onClick:()=>{r(t.add(1,"month"))},children:Ct(Hn,{})})]})]})},Ya=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Wa=e=>{let{viewDate:t,selectDate:n,onChangeSelectDate:a}=e;const o="YYYY-MM-DD",l=i()().tz().startOf("day"),s=(0,r.useMemo)((()=>{const e=new Array(42).fill(null),n=t.startOf("month"),r=t.endOf("month").diff(n,"day")+1,a=new Array(r).fill(n).map(((e,t)=>e.add(t,"day"))),i=n.day();return e.splice(i,r,...a),e}),[t]),c=e=>()=>{e&&a(e)};return Ct("div",{className:"vm-calendar-body",children:[Ya.map((e=>Ct("div",{className:"vm-calendar-body-cell vm-calendar-body-cell_weekday",children:e[0]},e))),s.map(((e,t)=>Ct("div",{className:xr()({"vm-calendar-body-cell":!0,"vm-calendar-body-cell_day":!0,"vm-calendar-body-cell_day_empty":!e,"vm-calendar-body-cell_day_active":(e&&e.format(o))===n.format(o),"vm-calendar-body-cell_day_today":(e&&e.format(o))===l.format(o)}),onClick:c(e),children:e&&e.format("D")},e?e.format(o):t)))]})},Ka=e=>{let{viewDate:t,onChangeViewDate:n}=e;const a=i()().format("YYYY"),o=(0,r.useMemo)((()=>t.format("YYYY")),[t]),l=(0,r.useMemo)((()=>{const e=i()().subtract(9,"year");return new Array(18).fill(e).map(((e,t)=>e.add(t,"year")))}),[t]);(0,r.useEffect)((()=>{const e=document.getElementById("vm-calendar-year-".concat(o));e&&e.scrollIntoView({block:"center"})}),[]);return Ct("div",{className:"vm-calendar-years",children:l.map((e=>{return Ct("div",{className:xr()({"vm-calendar-years__year":!0,"vm-calendar-years__year_selected":e.format("YYYY")===o,"vm-calendar-years__year_today":e.format("YYYY")===a}),id:"vm-calendar-year-".concat(e.format("YYYY")),onClick:(t=e,()=>{n(t)}),children:e.format("YYYY")},e.format("YYYY"));var t}))})},Qa=e=>{let{viewDate:t,selectDate:n,onChangeViewDate:a}=e;const o=i()().format("MM"),l=(0,r.useMemo)((()=>n.format("MM")),[n]),s=(0,r.useMemo)((()=>new Array(12).fill("").map(((e,n)=>i()(t).month(n)))),[t]);(0,r.useEffect)((()=>{const e=document.getElementById("vm-calendar-year-".concat(l));e&&e.scrollIntoView({block:"center"})}),[]);const c=e=>()=>{a(e)};return Ct("div",{className:"vm-calendar-years",children:s.map((e=>Ct("div",{className:xr()({"vm-calendar-years__year":!0,"vm-calendar-years__year_selected":e.format("MM")===l,"vm-calendar-years__year_today":e.format("MM")===o}),id:"vm-calendar-year-".concat(e.format("MM")),onClick:c(e),children:e.format("MMMM")},e.format("MM"))))})};var Za=function(e){return e[e.days=0]="days",e[e.months=1]="months",e[e.years=2]="years",e}(Za||{});const Ga=e=>{let{date:t,format:n=Lt,onChange:a}=e;const[o,l]=(0,r.useState)(Za.days),[s,c]=(0,r.useState)(i().tz(t)),[u,d]=(0,r.useState)(i().tz(t)),h=i()().startOf("day").tz(),m=h.format()===s.format(),{isMobile:p}=Wr(),f=e=>{c(e),l((e=>e===Za.years?Za.months:Za.days))};return(0,r.useEffect)((()=>{u.format()!==i().tz(t).format()&&a(u.format(n))}),[u]),(0,r.useEffect)((()=>{const e=i().tz(t);c(e),d(e)}),[t]),Ct("div",{className:xr()({"vm-calendar":!0,"vm-calendar_mobile":p}),children:[Ct(qa,{viewDate:s,onChangeViewDate:f,toggleDisplayYears:()=>{l((e=>e===Za.years?Za.days:Za.years))},showArrowNav:o===Za.days}),o===Za.days&&Ct(Wa,{viewDate:s,selectDate:u,onChangeSelectDate:e=>{d(e)}}),o===Za.years&&Ct(Ka,{viewDate:s,onChangeViewDate:f}),o===Za.months&&Ct(Qa,{selectDate:u,viewDate:s,onChangeViewDate:f}),!m&&o===Za.days&&Ct("div",{className:"vm-calendar-footer",children:Ct(aa,{variant:"text",size:"small",onClick:()=>{c(h)},children:"show today"})})]})},Ja=(0,r.forwardRef)(((e,t)=>{let{date:n,targetRef:a,format:o=Lt,onChange:l,label:s}=e;const c=(0,r.useMemo)((()=>i()(n).isValid()?i().tz(n):i()().tz()),[n]),{isMobile:u}=Wr(),{value:d,toggle:h,setFalse:m}=oa(!1);return Nr("click",h,a),Nr("keyup",(e=>{"Escape"!==e.key&&"Enter"!==e.key||m()})),Ct(xt.FK,{children:Ct(ia,{open:d,buttonRef:a,placement:"bottom-right",onClose:m,title:u?s:void 0,children:Ct("div",{ref:t,children:Ct(Ga,{date:c,format:o,onChange:e=>{l(e),m()}})})})})})),Xa=Ja;var ei=n(494),ti=n.n(ei);const ni=e=>i()(e).isValid()?i().tz(e).format(Lt):e,ri=e=>{let{value:t="",label:n,pickerLabel:a,pickerRef:o,onChange:l,onEnter:s}=e;const c=(0,r.useRef)(null),[u,d]=(0,r.useState)(null),[h,m]=(0,r.useState)(ni(t)),[p,f]=(0,r.useState)(!1),[v,g]=(0,r.useState)(!1),y=i()(h).isValid()?"":"Invalid date format";return(0,r.useEffect)((()=>{const e=ni(t);e!==h&&m(e),v&&(s(),g(!1))}),[t]),(0,r.useEffect)((()=>{p&&u&&(u.focus(),u.setSelectionRange(11,11),f(!1))}),[p]),Ct("div",{className:xr()({"vm-date-time-input":!0,"vm-date-time-input_error":y}),children:[Ct("label",{children:n}),Ct(ti(),{tabIndex:1,inputRef:d,mask:"9999-99-99 99:99:99",placeholder:"YYYY-MM-DD HH:mm:ss",value:h,autoCapitalize:"none",inputMode:"numeric",maskChar:null,onChange:e=>{m(e.currentTarget.value)},onBlur:()=>{l(h)},onKeyUp:e=>{"Enter"===e.key&&(l(h),g(!0))}}),y&&Ct("span",{className:"vm-date-time-input__error-text",children:y}),Ct("div",{className:"vm-date-time-input__icon",ref:c,children:Ct(aa,{variant:"text",color:"gray",size:"small",startIcon:Ct(Un,{}),ariaLabel:"calendar"})}),Ct(Xa,{label:a,ref:o,date:h,onChange:e=>{m(e),f(!0)},targetRef:c})]})},ai=()=>{const{isMobile:e}=Wr(),{isDarkTheme:t}=Nt(),n=(0,r.useRef)(null),a=Ar(),o=(0,r.useMemo)((()=>a.width>1120),[a]),[l,s]=(0,r.useState)(),[c,u]=(0,r.useState)(),{period:{end:d,start:h},relativeTime:m,timezone:p,duration:f}=vn(),v=gn(),g=Ke(),y=$a(p),{value:_,toggle:b,setFalse:w}=oa(!1),k=(0,r.useMemo)((()=>({region:p,utc:nn(p)})),[p]);(0,r.useEffect)((()=>{s(Gt(Xt(d)))}),[p,d]),(0,r.useEffect)((()=>{u(Gt(Xt(h)))}),[p,h]);const x=e=>{let{duration:t,until:n,id:r}=e;v({type:"SET_RELATIVE_TIME",payload:{duration:t,until:n,id:r}}),w()},S=(0,r.useMemo)((()=>({start:i().tz(Xt(h)).format(Lt),end:i().tz(Xt(d)).format(Lt)})),[h,d,p]),C=(0,r.useMemo)((()=>m&&"none"!==m?m.replace(/_/g," "):"".concat(S.start," - ").concat(S.end)),[m,S]),E=(0,r.useRef)(null),N=(0,r.useRef)(null),A=(0,r.useRef)(null),M=()=>{c&&l&&v({type:"SET_PERIOD",payload:{from:i().tz(c).toDate(),to:i().tz(l).toDate()}}),w()};return(0,r.useEffect)((()=>{const e=tn({relativeTimeId:m,defaultDuration:f,defaultEndInput:Xt(d)});y&&p!==y&&x({id:e.relativeTimeId,duration:e.duration,until:e.endInput})}),[p,y]),ra(n,(t=>{var n,r;if(e)return;const a=t.target,i=(null===E||void 0===E?void 0:E.current)&&(null===E||void 0===E||null===(n=E.current)||void 0===n?void 0:n.contains(a)),o=(null===N||void 0===N?void 0:N.current)&&(null===N||void 0===N||null===(r=N.current)||void 0===r?void 0:r.contains(a));i||o||w()})),Ct(xt.FK,{children:[Ct("div",{ref:A,children:e?Ct("div",{className:"vm-mobile-option",onClick:b,children:[Ct("span",{className:"vm-mobile-option__icon",children:Ct($n,{})}),Ct("div",{className:"vm-mobile-option-text",children:[Ct("span",{className:"vm-mobile-option-text__label",children:"Time range"}),Ct("span",{className:"vm-mobile-option-text__value",children:C})]}),Ct("span",{className:"vm-mobile-option__arrow",children:Ct(Hn,{})})]}):Ct(fa,{title:o?"Time range controls":C,children:Ct(aa,{className:g?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Ct($n,{}),onClick:b,ariaLabel:"time range controls",children:o&&Ct("span",{children:C})})})}),Ct(ia,{open:_,buttonRef:A,placement:"bottom-right",onClose:w,clickOutside:!1,title:e?"Time range controls":"",children:Ct("div",{className:xr()({"vm-time-selector":!0,"vm-time-selector_mobile":e}),ref:n,children:[Ct("div",{className:"vm-time-selector-left",children:[Ct("div",{className:xr()({"vm-time-selector-left-inputs":!0,"vm-time-selector-left-inputs_dark":t}),children:[Ct(ri,{value:c,label:"From:",pickerLabel:"Date From",pickerRef:E,onChange:u,onEnter:M}),Ct(ri,{value:l,label:"To:",pickerLabel:"Date To",pickerRef:N,onChange:s,onEnter:M})]}),Ct("div",{className:"vm-time-selector-left-timezone",children:[Ct("div",{className:"vm-time-selector-left-timezone__title",children:k.region}),Ct("div",{className:"vm-time-selector-left-timezone__utc",children:k.utc})]}),Ct(aa,{variant:"text",startIcon:Ct(Bn,{}),onClick:()=>v({type:"RUN_QUERY_TO_NOW"}),children:"switch to now"}),Ct("div",{className:"vm-time-selector-left__controls",children:[Ct(aa,{color:"error",variant:"outlined",onClick:()=>{s(Gt(Xt(d))),u(Gt(Xt(h))),w()},children:"Cancel"}),Ct(aa,{color:"primary",onClick:M,children:"Apply"})]})]}),Ct(Ba,{relativeTime:m||"",setDuration:x})]})})]})},ii=()=>{const e=ae(),[t,n]=je();return{setSearchParamsFromKeys:(0,r.useCallback)((r=>{const a=!!Array.from(t.values()).length;let i=!1;Object.entries(r).forEach((e=>{let[n,r]=e;t.get(n)!=="".concat(r)&&(t.set(n,"".concat(r)),i=!0)})),i&&(a?n(t):e("?".concat(t.toString()),{replace:!0}))}),[t,e])}},oi=()=>{const{isMobile:e}=Wr(),t=Ke(),n=(0,r.useRef)(null),[a]=je(),{setSearchParamsFromKeys:o}=ii(),l=a.get("date")||i()().tz().format(Tt),s=(0,r.useMemo)((()=>i().tz(l).format(Tt)),[l]),c=e=>{o({date:e})};return(0,r.useEffect)((()=>{c(l)}),[]),Ct("div",{children:[Ct("div",{ref:n,children:e?Ct("div",{className:"vm-mobile-option",children:[Ct("span",{className:"vm-mobile-option__icon",children:Ct(Un,{})}),Ct("div",{className:"vm-mobile-option-text",children:[Ct("span",{className:"vm-mobile-option-text__label",children:"Date control"}),Ct("span",{className:"vm-mobile-option-text__value",children:s})]}),Ct("span",{className:"vm-mobile-option__arrow",children:Ct(Hn,{})})]}):Ct(fa,{title:"Date control",children:Ct(aa,{className:t?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Ct(Un,{}),children:s})})}),Ct(Xa,{label:"Date control",date:l||"",format:Tt,onChange:c,targetRef:n})]})},li=[{seconds:0,title:"Off"},{seconds:1,title:"1s"},{seconds:2,title:"2s"},{seconds:5,title:"5s"},{seconds:10,title:"10s"},{seconds:30,title:"30s"},{seconds:60,title:"1m"},{seconds:300,title:"5m"},{seconds:900,title:"15m"},{seconds:1800,title:"30m"},{seconds:3600,title:"1h"},{seconds:7200,title:"2h"}],si=()=>{const{isMobile:e}=Wr(),t=gn(),n=Ke(),[a,i]=(0,r.useState)(!1),[o,l]=(0,r.useState)(li[0]),{value:s,toggle:c,setFalse:u}=oa(!1),d=(0,r.useRef)(null);(0,r.useEffect)((()=>{const e=o.seconds;let n;return a?n=setInterval((()=>{t({type:"RUN_QUERY"})}),1e3*e):l(li[0]),()=>{n&&clearInterval(n)}}),[o,a]);const h=e=>()=>{(e=>{(a&&!e.seconds||!a&&e.seconds)&&i((e=>!e)),l(e),u()})(e)};return Ct(xt.FK,{children:[Ct("div",{className:"vm-execution-controls",children:Ct("div",{className:xr()({"vm-execution-controls-buttons":!0,"vm-execution-controls-buttons_mobile":e,"vm-header-button":!n}),children:[!e&&Ct(fa,{title:"Refresh dashboard",children:Ct(aa,{variant:"contained",color:"primary",onClick:()=>{t({type:"RUN_QUERY"})},startIcon:Ct(jn,{}),ariaLabel:"refresh dashboard"})}),e?Ct("div",{className:"vm-mobile-option",onClick:c,children:[Ct("span",{className:"vm-mobile-option__icon",children:Ct(In,{})}),Ct("div",{className:"vm-mobile-option-text",children:[Ct("span",{className:"vm-mobile-option-text__label",children:"Auto-refresh"}),Ct("span",{className:"vm-mobile-option-text__value",children:o.title})]}),Ct("span",{className:"vm-mobile-option__arrow",children:Ct(Hn,{})})]}):Ct(fa,{title:"Auto-refresh control",children:Ct("div",{ref:d,children:Ct(aa,{variant:"contained",color:"primary",fullWidth:!0,endIcon:Ct("div",{className:xr()({"vm-execution-controls-buttons__arrow":!0,"vm-execution-controls-buttons__arrow_open":s}),children:Ct(Hn,{})}),onClick:c,children:o.title})})})]})}),Ct(ia,{open:s,placement:"bottom-right",onClose:u,buttonRef:d,title:e?"Auto-refresh duration":void 0,children:Ct("div",{className:xr()({"vm-execution-controls-list":!0,"vm-execution-controls-list_mobile":e}),children:li.map((t=>Ct("div",{className:xr()({"vm-list-item":!0,"vm-list-item_mobile":e,"vm-list-item_active":t.seconds===o.seconds}),onClick:h(t),children:t.title},t.seconds)))})})]})},ci="Enable to save the modified server URL to local storage, preventing reset upon page refresh.",ui="Disable to stop saving the server URL to local storage, reverting to the default URL on page refresh.",di=e=>{let{serverUrl:t,stateServerUrl:n,onChange:a,onEnter:i}=e;const{value:o,toggle:l}=oa(!!Xe("SERVER_URL")),[s,c]=(0,r.useState)("");return(0,r.useEffect)((()=>{n||c(ht.emptyServer),yt(n)||c(ht.validServer)}),[n]),(0,r.useEffect)((()=>{o?Je("SERVER_URL",t):et(["SERVER_URL"])}),[o]),(0,r.useEffect)((()=>{o&&Je("SERVER_URL",t)}),[t]),Ct("div",{children:[Ct("div",{className:"vm-server-configurator__title",children:"Server URL"}),Ct("div",{className:"vm-server-configurator-url",children:[Ct(Ha,{autofocus:!0,value:t,error:s,onChange:e=>{a(e||""),c("")},onEnter:i,inputmode:"url"}),Ct(fa,{title:o?ui:ci,children:Ct(aa,{className:"vm-server-configurator-url__button",variant:"text",color:o?"primary":"gray",onClick:l,startIcon:Ct(ur,{})})})]})]})},hi=[{label:"Graph",type:dt.chart},{label:"JSON",type:dt.code},{label:"Table",type:dt.table}],mi=e=>{let{limits:t,onChange:n,onEnter:a}=e;const{isMobile:i}=Wr(),[o,l]=(0,r.useState)({table:"",chart:"",code:""}),s=e=>r=>{((e,r)=>{const a=e||"";l((e=>({...e,[r]:+a<0?ht.positiveNumber:""}))),n({...t,[r]:a||1/0})})(r,e)};return Ct("div",{className:"vm-limits-configurator",children:[Ct("div",{className:"vm-server-configurator__title",children:["Series limits by tabs",Ct(fa,{title:"Set to 0 to disable the limit",children:Ct(aa,{variant:"text",color:"primary",size:"small",startIcon:Ct(Rn,{})})}),Ct("div",{className:"vm-limits-configurator-title__reset",children:Ct(aa,{variant:"text",color:"primary",size:"small",startIcon:Ct(In,{}),onClick:()=>{n(ot)},children:"Reset limits"})})]}),Ct("div",{className:xr()({"vm-limits-configurator__inputs":!0,"vm-limits-configurator__inputs_mobile":i}),children:hi.map((e=>Ct("div",{children:Ct(Ha,{label:e.label,value:t[e.type],error:o[e.type],onChange:s(e.type),onEnter:a,type:"number"})},e.type)))})]})},pi=e=>{let{defaultExpanded:t=!1,onChange:n,title:a,children:i}=e;const[o,l]=(0,r.useState)(t);return(0,r.useEffect)((()=>{n&&n(o)}),[o]),Ct(xt.FK,{children:[Ct("header",{className:"vm-accordion-header ".concat(o&&"vm-accordion-header_open"),onClick:()=>{l((e=>!e))},children:[a,Ct("div",{className:"vm-accordion-header__arrow ".concat(o&&"vm-accordion-header__arrow_open"),children:Ct(Hn,{})})]}),o&&Ct("section",{className:"vm-accordion-section",children:i},"content")]})},fi=()=>Ct(fa,{title:"Browser timezone is not recognized, supported, or could not be determined.",children:Ct(Dn,{})}),vi=on(),gi=e=>{let{timezoneState:t,defaultTimezone:n,onChange:a}=e;const{isMobile:i}=Wr(),o=rn(),[l,s]=(0,r.useState)(""),c=(0,r.useRef)(null),{value:u,toggle:d,setFalse:h}=oa(!1),m=(0,r.useMemo)((()=>[{title:"Default time (".concat(n,")"),region:n,utc:n?nn(n):"UTC"},{title:vi.title,region:vi.region,utc:nn(vi.region),isInvalid:!vi.isValid},{title:"UTC (Coordinated Universal Time)",region:"UTC",utc:"UTC"}].filter((e=>e.region))),[n]),p=(0,r.useMemo)((()=>{if(!l)return o;try{return rn(l)}catch(rp){return{}}}),[l,o]),f=(0,r.useMemo)((()=>Object.keys(p)),[p]),v=(0,r.useMemo)((()=>({region:t,utc:nn(t)})),[t]),g=e=>()=>{(e=>{a(e.region),s(""),h()})(e)};return Ct("div",{className:"vm-timezones",children:[Ct("div",{className:"vm-server-configurator__title",children:"Time zone"}),Ct("div",{className:"vm-timezones-item vm-timezones-item_selected",onClick:d,ref:c,children:[Ct("div",{className:"vm-timezones-item__title",children:v.region}),Ct("div",{className:"vm-timezones-item__utc",children:v.utc}),Ct("div",{className:xr()({"vm-timezones-item__icon":!0,"vm-timezones-item__icon_open":u}),children:Ct(Vn,{})})]}),Ct(ia,{open:u,buttonRef:c,placement:"bottom-left",onClose:h,fullWidth:!0,title:i?"Time zone":void 0,children:Ct("div",{className:xr()({"vm-timezones-list":!0,"vm-timezones-list_mobile":i}),children:[Ct("div",{className:"vm-timezones-list-header",children:[Ct("div",{className:"vm-timezones-list-header__search",children:Ct(Ha,{autofocus:!0,label:"Search",value:l,onChange:e=>{s(e)}})}),m.map(((e,t)=>e&&Ct("div",{className:"vm-timezones-item vm-timezones-list-group-options__item",onClick:g(e),children:[Ct("div",{className:"vm-timezones-item__title",children:[e.title,e.isInvalid&&Ct(fi,{})]}),Ct("div",{className:"vm-timezones-item__utc",children:e.utc})]},"".concat(t,"_").concat(e.region))))]}),f.map((e=>Ct("div",{className:"vm-timezones-list-group",children:Ct(pi,{defaultExpanded:!0,title:Ct("div",{className:"vm-timezones-list-group__title",children:e}),children:Ct("div",{className:"vm-timezones-list-group-options",children:p[e]&&p[e].map((e=>Ct("div",{className:"vm-timezones-item vm-timezones-list-group-options__item",onClick:g(e),children:[Ct("div",{className:"vm-timezones-item__title",children:e.region}),Ct("div",{className:"vm-timezones-item__utc",children:e.utc})]},e.search)))})})},e)))]})})]})},yi=e=>{let{options:t,value:n,label:a,onChange:i}=e;const o=(0,r.useRef)(null),[l,s]=(0,r.useState)({width:"0px",left:"0px",borderRadius:"0px"}),c=e=>()=>{i(e)};return(0,r.useEffect)((()=>{if(!o.current)return void s({width:"0px",left:"0px",borderRadius:"0px"});const e=t.findIndex((e=>e.value===n)),{width:r}=o.current.getBoundingClientRect();let a=r,i=e*a,l="0";0===e&&(l="16px 0 0 16px"),e===t.length-1&&(l="10px",i-=1,l="0 16px 16px 0"),0!==e&&e!==t.length-1&&(a+=1,i-=1),s({width:"".concat(a,"px"),left:"".concat(i,"px"),borderRadius:l})}),[o,n,t]),Ct("div",{className:"vm-toggles",children:[a&&Ct("label",{className:"vm-toggles__label",children:a}),Ct("div",{className:"vm-toggles-group",style:{gridTemplateColumns:"repeat(".concat(t.length,", 1fr)")},children:[l.borderRadius&&Ct("div",{className:"vm-toggles-group__highlight",style:l}),t.map(((e,t)=>Ct("div",{className:xr()({"vm-toggles-group-item":!0,"vm-toggles-group-item_first":0===t,"vm-toggles-group-item_active":e.value===n,"vm-toggles-group-item_icon":e.icon&&e.title}),onClick:c(e.value),ref:e.value===n?o:null,children:[e.icon,e.title]},e.value)))]})]})},_i=Object.values(mt).map((e=>({title:e,value:e}))),bi=e=>{let{theme:t,onChange:n}=e;const{isMobile:r}=Wr();return Ct("div",{className:xr()({"vm-theme-control":!0,"vm-theme-control_mobile":r}),children:[Ct("div",{className:"vm-server-configurator__title",children:"Theme preferences"}),Ct("div",{className:"vm-theme-control__toggle",children:Ct(yi,{options:_i,value:t,onChange:e=>{n(e)}})},"".concat(r))]})},wi="Settings",{REACT_APP_TYPE:ki}={},xi=ki===He.logs,Si=()=>{const{isMobile:e}=Wr(),t=Ke(),{serverUrl:n,theme:a}=Nt(),{timezone:i,defaultTimezone:o}=vn(),{seriesLimits:l}=Fr(),s=At(),c=gn(),u=jr(),[d,h]=(0,r.useState)(n),[m,p]=(0,r.useState)(l),[f,v]=(0,r.useState)(i),{value:g,setTrue:y,setFalse:_}=oa(!1),b=()=>{_(),h(n),p(l),v(i)},w=()=>{const e=Ge(d);""!==e&&s({type:"SET_TENANT_ID",payload:e}),s({type:"SET_SERVER",payload:d}),c({type:"SET_TIMEZONE",payload:f}),u({type:"SET_SERIES_LIMITS",payload:m}),_()};(0,r.useEffect)((()=>{n!==d&&h(n)}),[n]),(0,r.useEffect)((()=>{v(i)}),[i]);const k=[{show:!t&&!xi,component:Ct(di,{stateServerUrl:n,serverUrl:d,onChange:h,onEnter:w})},{show:!xi,component:Ct(mi,{limits:m,onChange:p,onEnter:w})},{show:!0,component:Ct(gi,{timezoneState:f,defaultTimezone:o,onChange:v})},{show:!t,component:Ct(bi,{theme:a,onChange:e=>{s({type:"SET_THEME",payload:e})}})}].filter((e=>e.show));return Ct(xt.FK,{children:[e?Ct("div",{className:"vm-mobile-option",onClick:y,children:[Ct("span",{className:"vm-mobile-option__icon",children:Ct(Pn,{})}),Ct("div",{className:"vm-mobile-option-text",children:Ct("span",{className:"vm-mobile-option-text__label",children:wi})}),Ct("span",{className:"vm-mobile-option__arrow",children:Ct(Hn,{})})]}):Ct(fa,{title:wi,children:Ct(aa,{className:xr()({"vm-header-button":!t}),variant:"contained",color:"primary",startIcon:Ct(Pn,{}),onClick:y,ariaLabel:"settings"})}),g&&Ct(pa,{title:wi,onClose:b,children:Ct("div",{className:xr()({"vm-server-configurator":!0,"vm-server-configurator_mobile":e}),children:[k.map(((e,t)=>Ct("div",{className:"vm-server-configurator__input",children:e.component},t))),Ct("div",{className:"vm-server-configurator-footer",children:[Ct(aa,{color:"error",variant:"outlined",onClick:b,children:"Cancel"}),Ct(aa,{color:"primary",variant:"contained",onClick:w,children:"Apply"})]})]})})]})},Ci=e=>{let{displaySidebar:t,isMobile:n,headerSetup:r,accountIds:a}=e;return Ct("div",{className:xr()({"vm-header-controls":!0,"vm-header-controls_mobile":n}),children:[(null===r||void 0===r?void 0:r.tenant)&&Ct(Va,{accountIds:a||[]}),(null===r||void 0===r?void 0:r.stepControl)&&Ct(Ua,{}),(null===r||void 0===r?void 0:r.timeSelector)&&Ct(ai,{}),(null===r||void 0===r?void 0:r.cardinalityDatePicker)&&Ct(oi,{}),(null===r||void 0===r?void 0:r.executionControls)&&Ct(si,{}),Ct(Si,{}),!t&&Ct(Na,{})]})},Ei=Boolean(Xe("DISABLED_DEFAULT_TIMEZONE")),Ni=()=>{const{serverUrl:e}=Nt(),t=gn(),[n,a]=(0,r.useState)(!1),[o,l]=(0,r.useState)(""),s=async()=>{if(e&&!{NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!1}.REACT_APP_TYPE){l(""),a(!0);try{const n=await fetch("".concat(e,"/vmui/timezone")),r=await n.json();n.ok?((e=>{const n="local"===e.toLowerCase()?on().region:e;try{if(i()().tz(n).isValid(),t({type:"SET_DEFAULT_TIMEZONE",payload:n}),Ei)return;t({type:"SET_TIMEZONE",payload:n})}catch(rp){rp instanceof Error&&l("".concat(rp.name,": ").concat(rp.message))}})(r.timezone),a(!1)):(l(r.error),a(!1))}catch(rp){a(!1),rp instanceof Error&&l("".concat(rp.name,": ").concat(rp.message))}}};return(0,r.useEffect)((()=>{s()}),[e]),{isLoading:n,error:o}},Ai=()=>{const e=Ke(),{isMobile:t}=Wr(),{pathname:n}=ne(),[a,i]=je();Fa(),Ni();return(0,r.useEffect)((()=>{var e;const t="vmui",r=null===(e=qe[n])||void 0===e?void 0:e.title;document.title=r?"".concat(r," - ").concat(t):t}),[n]),(0,r.useEffect)((()=>{const{search:e,href:t}=window.location;if(e){const t=rt().parse(e,{ignoreQueryPrefix:!0});Object.entries(t).forEach((e=>{let[t,n]=e;return a.set(t,n)})),i(a),window.location.search=""}const n=t.replace(/\/\?#\//,"/#/");n!==t&&window.location.replace(n)}),[]),Ct("section",{className:"vm-container",children:[Ct(Da,{controlsComponent:Ci}),Ct("div",{className:xr()({"vm-container-body":!0,"vm-container-body_mobile":t,"vm-container-body_app":e}),children:Ct(_e,{})}),!e&&Ct(za,{})]})};var Mi=function(e){return e[e.mouse=0]="mouse",e[e.keyboard=1]="keyboard",e}(Mi||{});const Ti=e=>{var t;let{value:n,options:a,anchor:i,disabled:o,minLength:l=2,fullWidth:s,selected:c,noOptionsText:u,label:d,disabledFullScreen:h,offset:m,maxDisplayResults:p,loading:f,onSelect:v,onOpenAutocomplete:g,onFoundOptions:y,onChangeWrapperRef:_}=e;const{isMobile:b}=Wr(),w=(0,r.useRef)(null),[k,x]=(0,r.useState)({index:-1}),[S,C]=(0,r.useState)(""),[E,N]=(0,r.useState)(0),{value:A,setValue:M,setFalse:T}=oa(!1),L=(0,r.useMemo)((()=>{if(!A)return[];try{const e=new RegExp(String(n.trim()),"i"),t=a.filter((t=>e.test(t.value))).sort(((t,r)=>{var a,i;return t.value.toLowerCase()===n.trim().toLowerCase()?-1:r.value.toLowerCase()===n.trim().toLowerCase()?1:((null===(a=t.value.match(e))||void 0===a?void 0:a.index)||0)-((null===(i=r.value.match(e))||void 0===i?void 0:i.index)||0)}));return N(t.length),C(t.length>Number(null===p||void 0===p?void 0:p.limit)&&(null===p||void 0===p?void 0:p.message)||""),null!==p&&void 0!==p&&p.limit?t.slice(0,p.limit):t}catch(rp){return[]}}),[A,a,n]),P=(0,r.useMemo)((()=>{var e;return 1===L.length&&(null===(e=L[0])||void 0===e?void 0:e.value)===n}),[L]),O=(0,r.useMemo)((()=>u&&!L.length),[u,L]),I=()=>{x({index:-1})},R=(0,r.useCallback)((e=>{const{key:t,ctrlKey:n,metaKey:r,shiftKey:a}=e,i=n||r||a,o=L.length&&!P;if("ArrowUp"===t&&!i&&o&&(e.preventDefault(),x((e=>{let{index:t}=e;return{index:t<=0?0:t-1,type:Mi.keyboard}}))),"ArrowDown"===t&&!i&&o){e.preventDefault();const t=L.length-1;x((e=>{let{index:n}=e;return{index:n>=t?t:n+1,type:Mi.keyboard}}))}if("Enter"===t){const e=L[k.index];e&&v(e.value),c||T()}"Escape"===t&&T()}),[k,L,P,T,v,c]);return(0,r.useEffect)((()=>{M(n.length>=l)}),[n,a]),Nr("keydown",R),(0,r.useEffect)((()=>{if(!w.current||k.type===Mi.mouse)return;const e=w.current.childNodes[k.index];null!==e&&void 0!==e&&e.scrollIntoView&&e.scrollIntoView({block:"center"})}),[k,L]),(0,r.useEffect)((()=>{x({index:-1})}),[L]),(0,r.useEffect)((()=>{g&&g(A)}),[A]),(0,r.useEffect)((()=>{y&&y(P?[]:L)}),[L,P]),(0,r.useEffect)((()=>{_&&_(w)}),[w]),Ct(ia,{open:A,buttonRef:i,placement:"bottom-left",onClose:T,fullWidth:s,title:b?d:void 0,disabledFullScreen:h,offset:m,children:[Ct("div",{className:xr()({"vm-autocomplete":!0,"vm-autocomplete_mobile":b&&!h}),ref:w,children:[f&&Ct("div",{className:"vm-autocomplete__loader",children:[Ct(jn,{}),Ct("span",{children:"Loading..."})]}),O&&Ct("div",{className:"vm-autocomplete__no-options",children:u}),!P&&L.map(((e,t)=>{return Ct("div",{className:xr()({"vm-list-item":!0,"vm-list-item_mobile":b,"vm-list-item_active":t===k.index,"vm-list-item_multiselect":c,"vm-list-item_multiselect_selected":null===c||void 0===c?void 0:c.includes(e.value),"vm-list-item_with-icon":e.icon}),id:"$autocomplete$".concat(e.value),onClick:(r=e.value,()=>{o||(v(r),c||T())}),onMouseEnter:(n=t,()=>{x({index:n,type:Mi.mouse})}),onMouseLeave:I,children:[(null===c||void 0===c?void 0:c.includes(e.value))&&Ct(er,{}),Ct(xt.FK,{children:e.icon}),Ct("span",{children:e.value})]},"".concat(t).concat(e.value));var n,r}))]}),S&&Ct("div",{className:"vm-autocomplete-message",children:["Shown ",null===p||void 0===p?void 0:p.limit," results out of ",E,". ",S]}),(null===(t=L[k.index])||void 0===t?void 0:t.description)&&Ct("div",{className:"vm-autocomplete-info",children:[Ct("div",{className:"vm-autocomplete-info__type",children:L[k.index].type}),Ct("div",{className:"vm-autocomplete-info__description",dangerouslySetInnerHTML:{__html:L[k.index].description||""}})]})]})};var Li=n(267),Pi=n.n(Li);const Oi=e=>e.replace(/[/\-\\^$*+?.()|[\]{}]/g,"\\$&"),Ii=e=>JSON.stringify(e).slice(1,-1);var Ri=function(e){return e.metric="metric",e.label="label",e.labelValue="labelValue",e}(Ri||{});const Di={[Ri.metric]:Ct(gr,{}),[Ri.label]:Ct(_r,{}),[Ri.labelValue]:Ct(br,{})};function zi(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}function Fi(e,t,n){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return n}function ji(e){return ji="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ji(e)}function Hi(e){var t=function(e,t){if("object"!=ji(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=ji(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==ji(t)?t:String(t)}function Vi(e,t,n){return(t=Hi(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function $i(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}let Ui={async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};function Bi(e){Ui=e}const qi=/[&<>"']/,Yi=new RegExp(qi.source,"g"),Wi=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Ki=new RegExp(Wi.source,"g"),Qi={"&":"&","<":"<",">":">",'"':""","'":"'"},Zi=e=>Qi[e];function Gi(e,t){if(t){if(qi.test(e))return e.replace(Yi,Zi)}else if(Wi.test(e))return e.replace(Ki,Zi);return e}const Ji=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function Xi(e){return e.replace(Ji,((e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""))}const eo=/(^|[^\[])\^/g;function to(e,t){e="string"===typeof e?e:e.source,t=t||"";const n={replace:(t,r)=>(r=(r=r.source||r).replace(eo,"$1"),e=e.replace(t,r),n),getRegex:()=>new RegExp(e,t)};return n}const no=/[^\w:]/g,ro=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function ao(e,t,n){if(e){let e;try{e=decodeURIComponent(Xi(n)).replace(no,"").toLowerCase()}catch(rp){return null}if(0===e.indexOf("javascript:")||0===e.indexOf("vbscript:")||0===e.indexOf("data:"))return null}t&&!ro.test(n)&&(n=function(e,t){io[" "+e]||(oo.test(e)?io[" "+e]=e+"/":io[" "+e]=ho(e,"/",!0));e=io[" "+e];const n=-1===e.indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(lo,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(so,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(rp){return null}return n}const io={},oo=/^[^:]+:\/*[^/]*$/,lo=/^([^:]+:)[\s\S]*$/,so=/^([^:]+:\/*[^/]*)[\s\S]*$/;const co={exec:function(){}};function uo(e,t){const n=e.replace(/\|/g,((e,t,n)=>{let r=!1,a=t;for(;--a>=0&&"\\"===n[a];)r=!r;return r?"|":" |"})).split(/ \|/);let r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),n.length>t)n.splice(t);else for(;n.length0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:ho(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\s+)(?:```)/);if(null===n)return t;const r=n[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=r.length?e.slice(r.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline._escapes,"$1"):t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=ho(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){const e=t[0].replace(/^ *>[ \t]?/gm,""),n=this.lexer.state.top;this.lexer.state.top=!0;const r=this.lexer.blockTokens(e);return this.lexer.state.top=n,{type:"blockquote",raw:t[0],tokens:r,text:e}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n,r,a,i,o,l,s,c,u,d,h,m,p=t[1].trim();const f=p.length>1,v={type:"list",raw:"",ordered:f,start:f?+p.slice(0,-1):"",loose:!1,items:[]};p=f?"\\d{1,9}\\".concat(p.slice(-1)):"\\".concat(p),this.options.pedantic&&(p=f?p:"[*+-]");const g=new RegExp("^( {0,3}".concat(p,")((?:[\t ][^\\n]*)?(?:\\n|$))"));for(;e&&(m=!1,t=g.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),c=t[2].split("\n",1)[0].replace(/^\t+/,(e=>" ".repeat(3*e.length))),u=e.split("\n",1)[0],this.options.pedantic?(i=2,h=c.trimLeft()):(i=t[2].search(/[^ ]/),i=i>4?1:i,h=c.slice(i),i+=t[1].length),l=!1,!c&&/^ *$/.test(u)&&(n+=u+"\n",e=e.substring(u.length+1),m=!0),!m){const t=new RegExp("^ {0,".concat(Math.min(3,i-1),"}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))")),r=new RegExp("^ {0,".concat(Math.min(3,i-1),"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)")),a=new RegExp("^ {0,".concat(Math.min(3,i-1),"}(?:```|~~~)")),o=new RegExp("^ {0,".concat(Math.min(3,i-1),"}#"));for(;e&&(d=e.split("\n",1)[0],u=d,this.options.pedantic&&(u=u.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!a.test(u))&&!o.test(u)&&!t.test(u)&&!r.test(e);){if(u.search(/[^ ]/)>=i||!u.trim())h+="\n"+u.slice(i);else{if(l)break;if(c.search(/[^ ]/)>=4)break;if(a.test(c))break;if(o.test(c))break;if(r.test(c))break;h+="\n"+u}l||u.trim()||(l=!0),n+=d+"\n",e=e.substring(d.length+1),c=u.slice(i)}}v.loose||(s?v.loose=!0:/\n *\n *$/.test(n)&&(s=!0)),this.options.gfm&&(r=/^\[[ xX]\] /.exec(h),r&&(a="[ ] "!==r[0],h=h.replace(/^\[[ xX]\] +/,""))),v.items.push({type:"list_item",raw:n,task:!!r,checked:a,loose:!1,text:h}),v.raw+=n}v.items[v.items.length-1].raw=n.trimRight(),v.items[v.items.length-1].text=h.trimRight(),v.raw=v.raw.trimRight();const y=v.items.length;for(o=0;o"space"===e.type)),t=e.length>0&&e.some((e=>/\n.*\n/.test(e.raw)));v.loose=t}if(v.loose)for(o=0;o$/,"$1").replace(this.rules.inline._escapes,"$1"):"",r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline._escapes,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:n,title:r}}}table(e){const t=this.rules.block.table.exec(e);if(t){const e={type:"table",header:uo(t[1]).map((e=>({text:e}))),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(e.header.length===e.align.length){e.raw=t[0];let n,r,a,i,o=e.align.length;for(n=0;n({text:e})));for(o=e.header.length,r=0;r/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):Gi(t[0]):t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const t=ho(e.slice(0,-1),"\\");if((e.length-t.length)%2===0)return}else{const e=function(e,t){if(-1===e.indexOf(t[1]))return-1;const n=e.length;let r=0,a=0;for(;a-1){const n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],r="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^$/.test(e)?n.slice(1):n.slice(1,-1)),mo(t,{href:n?n.replace(this.rules.inline._escapes,"$1"):n,title:r?r.replace(this.rules.inline._escapes,"$1"):r},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=(n[2]||n[1]).replace(/\s+/g," ");if(e=t[e.toLowerCase()],!e){const e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return mo(n,e,n[0],this.lexer)}}emStrong(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.emStrong.lDelim.exec(e);if(!r)return;if(r[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(r[1]||r[2]||"")||!n||this.rules.inline.punctuation.exec(n)){const n=r[0].length-1;let a,i,o=n,l=0;const s="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(s.lastIndex=0,t=t.slice(-1*e.length+n);null!=(r=s.exec(t));){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(i=a.length,r[3]||r[4]){o+=i;continue}if((r[5]||r[6])&&n%3&&!((n+i)%3)){l+=i;continue}if(o-=i,o>0)continue;i=Math.min(i,i+o+l);const t=e.slice(0,n+r.index+i+1);if(Math.min(n,i)%2){const e=t.slice(1,-1);return{type:"em",raw:t,text:e,tokens:this.lexer.inlineTokens(e)}}const s=t.slice(2,-2);return{type:"strong",raw:t,text:s,tokens:this.lexer.inlineTokens(s)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const n=/[^ ]/.test(e),r=/^ /.test(e)&&/ $/.test(e);return n&&r&&(e=e.substring(1,e.length-1)),e=Gi(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e,t){const n=this.rules.inline.autolink.exec(e);if(n){let e,r;return"@"===n[2]?(e=Gi(this.options.mangle?t(n[1]):n[1]),r="mailto:"+e):(e=Gi(n[1]),r=e),{type:"link",raw:n[0],text:e,href:r,tokens:[{type:"text",raw:e,text:e}]}}}url(e,t){let n;if(n=this.rules.inline.url.exec(e)){let e,r;if("@"===n[2])e=Gi(this.options.mangle?t(n[0]):n[0]),r="mailto:"+e;else{let t;do{t=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(t!==n[0]);e=Gi(n[0]),r="www."===n[1]?"http://"+n[0]:n[0]}return{type:"link",raw:n[0],text:e,href:r,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e,t){const n=this.rules.inline.text.exec(e);if(n){let e;return e=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):Gi(n[0]):n[0]:Gi(this.options.smartypants?t(n[0]):n[0]),{type:"text",raw:n[0],text:e}}}}const fo={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:co,lheading:/^((?:(?!^bull ).|\n(?!\n|bull ))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};fo.def=to(fo.def).replace("label",fo._label).replace("title",fo._title).getRegex(),fo.bullet=/(?:[*+-]|\d{1,9}[.)])/,fo.listItemStart=to(/^( *)(bull) */).replace("bull",fo.bullet).getRegex(),fo.list=to(fo.list).replace(/bull/g,fo.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+fo.def.source+")").getRegex(),fo._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",fo._comment=/|$)/,fo.html=to(fo.html,"i").replace("comment",fo._comment).replace("tag",fo._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),fo.lheading=to(fo.lheading).replace(/bull/g,fo.bullet).getRegex(),fo.paragraph=to(fo._paragraph).replace("hr",fo.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",fo._tag).getRegex(),fo.blockquote=to(fo.blockquote).replace("paragraph",fo.paragraph).getRegex(),fo.normal={...fo},fo.gfm={...fo.normal,table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"},fo.gfm.table=to(fo.gfm.table).replace("hr",fo.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",fo._tag).getRegex(),fo.gfm.paragraph=to(fo._paragraph).replace("hr",fo.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",fo.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",fo._tag).getRegex(),fo.pedantic={...fo.normal,html:to("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",fo._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:co,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:to(fo.normal._paragraph).replace("hr",fo.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",fo.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()};const vo={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:co,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,rDelimAst:/^[^_*]*?__[^_*]*?\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\*)[punct](\*+)(?=[\s]|$)|[^punct\s](\*+)(?!\*)(?=[punct\s]|$)|(?!\*)[punct\s](\*+)(?=[^punct\s])|[\s](\*+)(?!\*)(?=[punct])|(?!\*)[punct](\*+)(?!\*)(?=[punct])|[^punct\s](\*+)(?=[^punct\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\s]|$)|[^punct\s](_+)(?!_)(?=[punct\s]|$)|(?!_)[punct\s](_+)(?=[^punct\s])|[\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:co,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}vo._punctuation="\\p{P}$+<=>`^|~",vo.punctuation=to(vo.punctuation,"u").replace(/punctuation/g,vo._punctuation).getRegex(),vo.blockSkip=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,vo.anyPunctuation=/\\[punct]/g,vo._escapes=/\\([punct])/g,vo._comment=to(fo._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),vo.emStrong.lDelim=to(vo.emStrong.lDelim,"u").replace(/punct/g,vo._punctuation).getRegex(),vo.emStrong.rDelimAst=to(vo.emStrong.rDelimAst,"gu").replace(/punct/g,vo._punctuation).getRegex(),vo.emStrong.rDelimUnd=to(vo.emStrong.rDelimUnd,"gu").replace(/punct/g,vo._punctuation).getRegex(),vo.anyPunctuation=to(vo.anyPunctuation,"gu").replace(/punct/g,vo._punctuation).getRegex(),vo._escapes=to(vo._escapes,"gu").replace(/punct/g,vo._punctuation).getRegex(),vo._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,vo._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,vo.autolink=to(vo.autolink).replace("scheme",vo._scheme).replace("email",vo._email).getRegex(),vo._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,vo.tag=to(vo.tag).replace("comment",vo._comment).replace("attribute",vo._attribute).getRegex(),vo._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,vo._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,vo._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,vo.link=to(vo.link).replace("label",vo._label).replace("href",vo._href).replace("title",vo._title).getRegex(),vo.reflink=to(vo.reflink).replace("label",vo._label).replace("ref",fo._label).getRegex(),vo.nolink=to(vo.nolink).replace("ref",fo._label).getRegex(),vo.reflinkSearch=to(vo.reflinkSearch,"g").replace("reflink",vo.reflink).replace("nolink",vo.nolink).getRegex(),vo.normal={...vo},vo.pedantic={...vo.normal,strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:to(/^!?\[(label)\]\((.*?)\)/).replace("label",vo._label).getRegex(),reflink:to(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",vo._label).getRegex()},vo.gfm={...vo.normal,escape:to(vo.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\1&&void 0!==arguments[1]?arguments[1]:[];for(e=this.options.pedantic?e.replace(/\t/g," ").replace(/^ +$/gm,""):e.replace(/^( *)(\t+)/gm,((e,t,n)=>t+" ".repeat(n.length)));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((n=>!!(t=n.call({lexer:this},e,i))&&(e=e.substring(t.raw.length),i.push(t),!0)))))if(t=this.tokenizer.space(e))e=e.substring(t.raw.length),1===t.raw.length&&i.length>0?i[i.length-1].raw+="\n":i.push(t);else if(t=this.tokenizer.code(e))e=e.substring(t.raw.length),n=i[i.length-1],!n||"paragraph"!==n.type&&"text"!==n.type?i.push(t):(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.fences(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.heading(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.hr(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.blockquote(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.list(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.html(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.def(e))e=e.substring(t.raw.length),n=i[i.length-1],!n||"paragraph"!==n.type&&"text"!==n.type?this.tokens.links[t.tag]||(this.tokens.links[t.tag]={href:t.href,title:t.title}):(n.raw+="\n"+t.raw,n.text+="\n"+t.raw,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.table(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.lheading(e))e=e.substring(t.raw.length),i.push(t);else{if(r=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const n=e.slice(1);let a;this.options.extensions.startBlock.forEach((function(e){a=e.call({lexer:this},n),"number"===typeof a&&a>=0&&(t=Math.min(t,a))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}if(this.state.top&&(t=this.tokenizer.paragraph(r)))n=i[i.length-1],a&&"paragraph"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):i.push(t),a=r.length!==e.length,e=e.substring(t.raw.length);else if(t=this.tokenizer.text(e))e=e.substring(t.raw.length),n=i[i.length-1],n&&"text"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):i.push(t);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,i}inline(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e){let t,n,r,a,i,o,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],s=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(a=this.tokenizer.rules.inline.reflinkSearch.exec(s));)e.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(a=this.tokenizer.rules.inline.blockSkip.exec(s));)s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(a=this.tokenizer.rules.inline.anyPunctuation.exec(s));)s=s.slice(0,a.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(i||(o=""),i=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((n=>!!(t=n.call({lexer:this},e,l))&&(e=e.substring(t.raw.length),l.push(t),!0)))))if(t=this.tokenizer.escape(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.tag(e))e=e.substring(t.raw.length),n=l[l.length-1],n&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(t=this.tokenizer.link(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(t.raw.length),n=l[l.length-1],n&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(t=this.tokenizer.emStrong(e,s,o))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.codespan(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.br(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.del(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.autolink(e,yo))e=e.substring(t.raw.length),l.push(t);else if(this.state.inLink||!(t=this.tokenizer.url(e,yo))){if(r=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const n=e.slice(1);let a;this.options.extensions.startInline.forEach((function(e){a=e.call({lexer:this},n),"number"===typeof a&&a>=0&&(t=Math.min(t,a))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}if(t=this.tokenizer.inlineText(r,go))e=e.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(o=t.raw.slice(-1)),i=!0,n=l[l.length-1],n&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(t.raw.length),l.push(t);return l}}class bo{constructor(e){this.options=e||Ui}code(e,t,n){const r=(t||"").match(/\S*/)[0];if(this.options.highlight){const t=this.options.highlight(e,r);null!=t&&t!==e&&(n=!0,e=t)}return e=e.replace(/\n$/,"")+"\n",r?'
'+(n?e:Gi(e,!0))+"
\n":"
"+(n?e:Gi(e,!0))+"
\n"}blockquote(e){return"
\n".concat(e,"
\n")}html(e,t){return e}heading(e,t,n,r){if(this.options.headerIds){const a=this.options.headerPrefix+r.slug(n);return"').concat(e,"\n")}return"").concat(e,"\n")}hr(){return this.options.xhtml?"
\n":"
\n"}list(e,t,n){const r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"}listitem(e){return"
  • ".concat(e,"
  • \n")}checkbox(e){return" "}paragraph(e){return"

    ".concat(e,"

    \n")}table(e,t){return t&&(t="".concat(t,"")),"\n\n"+e+"\n"+t+"
    \n"}tablerow(e){return"\n".concat(e,"\n")}tablecell(e,t){const n=t.header?"th":"td";return(t.align?"<".concat(n,' align="').concat(t.align,'">'):"<".concat(n,">"))+e+"\n")}strong(e){return"".concat(e,"")}em(e){return"".concat(e,"")}codespan(e){return"".concat(e,"")}br(){return this.options.xhtml?"
    ":"
    "}del(e){return"".concat(e,"")}link(e,t,n){if(null===(e=ao(this.options.sanitize,this.options.baseUrl,e)))return n;let r='",r}image(e,t,n){if(null===(e=ao(this.options.sanitize,this.options.baseUrl,e)))return n;let r='').concat(n,'":">",r}text(e){return e}}class wo{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,n){return""+n}image(e,t,n){return""+n}br(){return""}}class ko{constructor(){this.seen={}}serialize(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(e,t){let n=e,r=0;if(this.seen.hasOwnProperty(n)){r=this.seen[e];do{r++,n=e+"-"+r}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=r,this.seen[n]=0),n}slug(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)}}class xo{constructor(e){this.options=e||Ui,this.options.renderer=this.options.renderer||new bo,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new wo,this.slugger=new ko}static parse(e,t){return new xo(t).parse(e)}static parseInline(e,t){return new xo(t).parseInline(e)}parse(e){let t,n,r,a,i,o,l,s,c,u,d,h,m,p,f,v,g,y,_,b=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],w="";const k=e.length;for(t=0;t0&&"paragraph"===f.tokens[0].type?(f.tokens[0].text=y+" "+f.tokens[0].text,f.tokens[0].tokens&&f.tokens[0].tokens.length>0&&"text"===f.tokens[0].tokens[0].type&&(f.tokens[0].tokens[0].text=y+" "+f.tokens[0].tokens[0].text)):f.tokens.unshift({type:"text",text:y}):p+=y),p+=this.parse(f.tokens,m),c+=this.renderer.listitem(p,g,v);w+=this.renderer.list(c,d,h);continue;case"html":w+=this.renderer.html(u.text,u.block);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(u.tokens));continue;case"text":for(c=u.tokens?this.parseInline(u.tokens):u.text;t+1{"function"===typeof r&&(a=r,r=null);const i={...r};r={...this.defaults,...i};const o=Fi(this,Eo,Ao).call(this,r.silent,r.async,a);if("undefined"===typeof n||null===n)return o(new Error("marked(): input parameter is undefined or null"));if("string"!==typeof n)return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(function(e,t){e&&!e.silent&&(t&&console.warn("marked(): callback is deprecated since version 5.0.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/using_pro#async"),(e.sanitize||e.sanitizer)&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options"),(e.highlight||"language-"!==e.langPrefix)&&console.warn("marked(): highlight and langPrefix parameters are deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-highlight."),e.mangle&&console.warn("marked(): mangle parameter is enabled by default, but is deprecated since version 5.0.0, and will be removed in the future. To clear this warning, install https://www.npmjs.com/package/marked-mangle, or disable by setting `{mangle: false}`."),e.baseUrl&&console.warn("marked(): baseUrl parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-base-url."),e.smartypants&&console.warn("marked(): smartypants parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-smartypants."),e.xhtml&&console.warn("marked(): xhtml parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-xhtml."),(e.headerIds||e.headerPrefix)&&console.warn("marked(): headerIds and headerPrefix parameters enabled by default, but are deprecated since version 5.0.0, and will be removed in the future. To clear this warning, install https://www.npmjs.com/package/marked-gfm-heading-id, or disable by setting `{headerIds: false}`."))}(r,a),r.hooks&&(r.hooks.options=r),a){const i=r.highlight;let l;try{r.hooks&&(n=r.hooks.preprocess(n)),l=e(n,r)}catch(rp){return o(rp)}const s=e=>{let n;if(!e)try{r.walkTokens&&this.walkTokens(l,r.walkTokens),n=t(l,r),r.hooks&&(n=r.hooks.postprocess(n))}catch(rp){e=rp}return r.highlight=i,e?o(e):a(null,n)};if(!i||i.length<3)return s();if(delete r.highlight,!l.length)return s();let c=0;return this.walkTokens(l,(e=>{"code"===e.type&&(c++,setTimeout((()=>{i(e.text,e.lang,((t,n)=>{if(t)return s(t);null!=n&&n!==e.text&&(e.text=n,e.escaped=!0),c--,0===c&&s()}))}),0))})),void(0===c&&s())}if(r.async)return Promise.resolve(r.hooks?r.hooks.preprocess(n):n).then((t=>e(t,r))).then((e=>r.walkTokens?Promise.all(this.walkTokens(e,r.walkTokens)).then((()=>e)):e)).then((e=>t(e,r))).then((e=>r.hooks?r.hooks.postprocess(e):e)).catch(o);try{r.hooks&&(n=r.hooks.preprocess(n));const a=e(n,r);r.walkTokens&&this.walkTokens(a,r.walkTokens);let i=t(a,r);return r.hooks&&(i=r.hooks.postprocess(i)),i}catch(rp){return o(rp)}}}function Ao(e,t,n){return r=>{if(r.message+="\nPlease report this to https://github.com/markedjs/marked.",e){const e="

    An error occurred:

    "+Gi(r.message+"",!0)+"
    ";return t?Promise.resolve(e):n?void n(null,e):e}if(t)return Promise.reject(r);if(!n)throw r;n(r)}}const Mo=new class{constructor(){zi(this,Eo),zi(this,Co),Vi(this,"defaults",{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}),Vi(this,"options",this.setOptions),Vi(this,"parse",Fi(this,Co,No).call(this,_o.lex,xo.parse)),Vi(this,"parseInline",Fi(this,Co,No).call(this,_o.lexInline,xo.parseInline)),Vi(this,"Parser",xo),Vi(this,"parser",xo.parse),Vi(this,"Renderer",bo),Vi(this,"TextRenderer",wo),Vi(this,"Lexer",_o),Vi(this,"lexer",_o.lex),Vi(this,"Tokenizer",po),Vi(this,"Slugger",ko),Vi(this,"Hooks",So),this.use(...arguments)}walkTokens(e,t){let n=[];for(const r of e)switch(n=n.concat(t.call(this,r)),r.type){case"table":for(const e of r.header)n=n.concat(this.walkTokens(e.tokens,t));for(const e of r.rows)for(const r of e)n=n.concat(this.walkTokens(r.tokens,t));break;case"list":n=n.concat(this.walkTokens(r.items,t));break;default:this.defaults.extensions&&this.defaults.extensions.childTokens&&this.defaults.extensions.childTokens[r.type]?this.defaults.extensions.childTokens[r.type].forEach((e=>{n=n.concat(this.walkTokens(r[e],t))})):r.tokens&&(n=n.concat(this.walkTokens(r.tokens,t)))}return n}use(){const e=this.defaults.extensions||{renderers:{},childTokens:{}};for(var t=arguments.length,n=new Array(t),r=0;r{const n={...t};if(n.async=this.defaults.async||n.async||!1,t.extensions&&(t.extensions.forEach((t=>{if(!t.name)throw new Error("extension name required");if(t.renderer){const n=e.renderers[t.name];e.renderers[t.name]=n?function(){for(var e=arguments.length,r=new Array(e),a=0;a{if(this.defaults.async)return Promise.resolve(t.hooks[n].call(e,a)).then((t=>r.call(e,t)));const i=t.hooks[n].call(e,a);return r.call(e,i)}:e[n]=function(){for(var a=arguments.length,i=new Array(a),o=0;o{const t='$1 target="_blank" class="'.concat("vm-link vm-link_colored",'" $2').concat("https://docs.victoriametrics.com/MetricsQL.html","#");return e.replace(/({var n;const r="h3"===e.tagName.toLowerCase();return t=r?null!==(n=e.textContent)&&void 0!==n?n:"":t,r?null:((e,t)=>{var n;const r=null!==(n=t.textContent)&&void 0!==n?n:"",a=(e=>{const t=[];let n=e.nextElementSibling;for(;n&&"p"===n.tagName.toLowerCase();)n&&t.push(n),n=n.nextElementSibling;return t})(t).map((e=>{var t;return null!==(t=e.outerHTML)&&void 0!==t?t:""})).join("\n");return{type:e,value:r,description:Po(a),icon:Ct(yr,{})}})(t,e)})).filter(Boolean)},Io=()=>{const{metricsQLFunctions:e}=En(),t=Nn();return(0,r.useEffect)((()=>{e.length||(async()=>{try{const e=await fetch(Lo),n=(e=>{const t=document.createElement("div");t.innerHTML=To(e);const n=t.querySelectorAll("".concat("h3",", ").concat("h4"));return Oo(n)})(await e.text());t({type:"SET_METRICSQL_FUNCTIONS",payload:n})}catch(rp){console.error("Error fetching or processing the MetricsQL.md file:",rp)}})()}),[]),e},Ro=e=>{let{value:t,anchorEl:n,caretPosition:a,hasHelperText:o,onSelect:l,onFoundOptions:s}=e;const[c,u]=(0,r.useState)({top:0,left:0}),d=Io(),h=(0,r.useMemo)((()=>{if(a[0]!==a[1])return{beforeCursor:t,afterCursor:""};return{beforeCursor:t.substring(0,a[0]),afterCursor:t.substring(a[1])}}),[t,a]),m=(0,r.useMemo)((()=>{const e=h.beforeCursor.split("}");return e[e.length-1]}),[h]),p=(0,r.useMemo)((()=>{const e=m.match(/\b[^{}(),\s]+(?={|$)/g);return e?e[0]:""}),[m]),f=(0,r.useMemo)((()=>{const e=m.match(/[a-z_:-][\w\-.:/]*\b(?=\s*(=|!=|=~|!~))/g);return e?e[e.length-1]:""}),[m]),v=(0,r.useMemo)((()=>{if(!h.beforeCursor||h.beforeCursor.endsWith("}")||(e=>{const t=e.split(/\s+/),n=t.length,r=t[n-1],a=t[n-2],i=!r&&(e=>{const t=e.match(/"/g);return!!t&&t.length%2!==0})(e),o=(!r||t.length>1)&&!/([{(),+\-*/^]|\b(?:or|and|unless|default|ifnot|if|group_left|group_right)\b)/.test(a);return i||o})(h.beforeCursor))return pt.empty;const e=/\{[^}]*$/;switch(!0){case new RegExp("(".concat(Oi(p),")?{?.+").concat(Oi(f),'(=|!=|=~|!~)"?([^"]*)$'),"g").test(h.beforeCursor):return pt.labelValue;case e.test(h.beforeCursor):return pt.label;default:return pt.metricsql}}),[h,p,f]),g=(0,r.useMemo)((()=>{const e=h.beforeCursor.match(/([\w_\-.:/]+(?![},]))$/);return e?e[0]:""}),[h.beforeCursor]),{metrics:y,labels:_,labelValues:b,loading:w}=(e=>{let{valueByContext:t,metric:n,label:a,context:o}=e;const{serverUrl:l}=Nt(),{period:{start:s,end:c}}=vn(),{autocompleteCache:u}=En(),d=Nn(),[h,m]=(0,r.useState)(!1),[p,f]=(0,r.useState)(t),v=Pi()(f,500);(0,r.useEffect)((()=>(v(t),v.cancel)),[t,v]);const[g,y]=(0,r.useState)([]),[_,b]=(0,r.useState)([]),[w,k]=(0,r.useState)([]),x=(0,r.useRef)(new AbortController),S=(0,r.useCallback)((e=>{const t=i()(1e3*s).startOf("day").valueOf()/1e3,n=i()(1e3*c).endOf("day").valueOf()/1e3;return new URLSearchParams({...e||{},limit:"".concat(bn),start:"".concat(t),end:"".concat(n)})}),[s,c]),C=(e,t)=>e.map((e=>({value:e,type:"".concat(t),icon:Di[t]}))),E=async e=>{let{value:t,urlSuffix:n,setter:r,type:a,params:i}=e;if(!t&&a===Ri.metric)return;x.current.abort(),x.current=new AbortController;const{signal:o}=x.current,s={type:a,value:t,start:(null===i||void 0===i?void 0:i.get("start"))||"",end:(null===i||void 0===i?void 0:i.get("end"))||"",match:(null===i||void 0===i?void 0:i.get("match[]"))||""};m(!0);try{const e=u.get(s);if(e)return r(C(e,a)),void m(!1);const t=await fetch("".concat(l,"/api/v1/").concat(n,"?").concat(i),{signal:o});if(t.ok){const{data:e}=await t.json();r(C(e,a)),d({type:"SET_AUTOCOMPLETE_CACHE",payload:{key:s,value:e}})}m(!1)}catch(rp){rp instanceof Error&&"AbortError"!==rp.name&&(d({type:"SET_AUTOCOMPLETE_CACHE",payload:{key:s,value:[]}}),m(!1),console.error(rp))}};return(0,r.useEffect)((()=>{const e=o!==pt.metricsql&&o!==pt.empty;if(!l||!n||e)return;y([]);const t=Ii(Oi(n));return E({value:p,urlSuffix:"label/__name__/values",setter:y,type:Ri.metric,params:S({"match[]":'{__name__=~".*'.concat(t,'.*"}')})}),()=>{var e;return null===(e=x.current)||void 0===e?void 0:e.abort()}}),[l,p,o,n]),(0,r.useEffect)((()=>{if(!l||!n||o!==pt.label)return;b([]);const e=Ii(n);return E({value:p,urlSuffix:"labels",setter:b,type:Ri.label,params:S({"match[]":'{__name__="'.concat(e,'"}')})}),()=>{var e;return null===(e=x.current)||void 0===e?void 0:e.abort()}}),[l,p,o,n]),(0,r.useEffect)((()=>{if(!l||!n||!a||o!==pt.labelValue)return;k([]);const e=Ii(n),t=Ii(Oi(p));return E({value:p,urlSuffix:"label/".concat(a,"/values"),setter:k,type:Ri.labelValue,params:S({"match[]":'{__name__="'.concat(e,'", ').concat(a,'=~".*').concat(t,'.*"}')})}),()=>{var e;return null===(e=x.current)||void 0===e?void 0:e.abort()}}),[l,p,o,n,a]),{metrics:g,labels:_,labelValues:w,loading:h}})({valueByContext:g,metric:p,label:f,context:v}),k=(0,r.useMemo)((()=>{switch(v){case pt.metricsql:return[...y,...d];case pt.label:return _;case pt.labelValue:return b;default:return[]}}),[v,y,_,b]),x=(0,r.useCallback)((e=>{const t=h.beforeCursor;let n=h.afterCursor;const r=t.lastIndexOf(g,a[0]),i=r+g.length,o=t.substring(0,r),s=t.substring(i);if(v===pt.labelValue){const t='"',r=/(?:=|!=|=~|!~)$/.test(o);n=n.replace(/^[^\s"|},]*/,""),e="".concat(r?t:"").concat(e)}v===pt.label&&(n=n.replace(/^[^\s=!,{}()"|+\-/*^]*/,"")),v===pt.metricsql&&(n=n.replace(/^[^\s[\]{}()"|+\-/*^]*/,""));const c="".concat(o).concat(e).concat(s).concat(n);l(c,o.length+e.length)}),[h]);return(0,r.useEffect)((()=>{if(!n.current)return void u({top:0,left:0});const e=n.current.querySelector("textarea")||n.current,t=window.getComputedStyle(e),r="".concat(t.getPropertyValue("font-size")),a="".concat(t.getPropertyValue("font-family")),i=parseInt("".concat(t.getPropertyValue("line-height"))),l=document.createElement("div");l.style.font="".concat(r," ").concat(a),l.style.padding=t.getPropertyValue("padding"),l.style.lineHeight="".concat(i,"px"),l.style.width="".concat(e.offsetWidth,"px"),l.style.maxWidth="".concat(e.offsetWidth,"px"),l.style.whiteSpace=t.getPropertyValue("white-space"),l.style.overflowWrap=t.getPropertyValue("overflow-wrap");const s=document.createElement("span");l.appendChild(document.createTextNode(h.beforeCursor)),l.appendChild(s),l.appendChild(document.createTextNode(h.afterCursor)),document.body.appendChild(l);const c=l.getBoundingClientRect(),d=s.getBoundingClientRect(),m=d.left-c.left,p=d.bottom-c.bottom-(o?i:0);u({top:p,left:m}),l.remove(),s.remove()}),[n,a,o]),Ct(xt.FK,{children:Ct(Ti,{loading:w,disabledFullScreen:!0,value:g,options:k,anchor:n,minLength:0,offset:c,onSelect:x,onFoundOptions:s,maxDisplayResults:{limit:_n,message:"Please, specify the query more precisely."}})})},Do="No match! \nThis query hasn't selected any time series from database.\nEither the requested metrics are missing in the database,\nor there is a typo in series selector.",zo="The shown results are marked as PARTIAL.\nThe result is marked as partial if one or more vmstorage nodes failed to respond to the query.",Fo=e=>{let{value:t,onChange:n,onEnter:a,onArrowUp:i,onArrowDown:o,autocomplete:l,error:s,stats:c,label:u,disabled:d=!1}=e;const{autocompleteQuick:h}=En(),{isMobile:m}=Wr(),[p,f]=(0,r.useState)(!1),[v,g]=(0,r.useState)([0,0]),y=(0,r.useRef)(null),[_,b]=(0,r.useState)(l),w=(0,r.useRef)(Pi()(b,500)).current,k=[{show:"0"===(null===c||void 0===c?void 0:c.seriesFetched)&&!c.resultLength,text:Do},{show:null===c||void 0===c?void 0:c.isPartial,text:zo}].filter((e=>e.show)).map((e=>e.text)).join("");c&&(u="".concat(u," (").concat(c.executionTimeMsec||0,"ms)"));return(0,r.useEffect)((()=>{f(l)}),[h]),(0,r.useEffect)((()=>{b(!1),w(!0)}),[v]),Ct("div",{className:"vm-query-editor",ref:y,children:[Ct(Ha,{value:t,label:u,type:"textarea",autofocus:!m,error:s,warning:k,onKeyDown:e=>{const{key:t,ctrlKey:n,metaKey:r,shiftKey:l}=e,s=(e.target.value||"").split("\n").length>1,c=n||r,u="ArrowDown"===t,d="Enter"===t;"ArrowUp"===t&&c&&(e.preventDefault(),i()),u&&c&&(e.preventDefault(),o()),d&&p&&e.preventDefault(),!d||l||s&&!c||p||(e.preventDefault(),a())},onChange:n,onChangeCaret:e=>{g((t=>t[0]===e[0]&&t[1]===e[1]?t:e))},disabled:d,inputmode:"search",caretPosition:v}),_&&l&&Ct(Ro,{value:t,anchorEl:y,caretPosition:v,hasHelperText:Boolean(k||s),onSelect:(e,t)=>{n(e),g([t,t])},onFoundOptions:e=>{f(!!e.length)}})]})},jo=e=>{let{value:t=!1,disabled:n=!1,label:r,color:a="secondary",fullWidth:i,onChange:o}=e;return Ct("div",{className:xr()({"vm-switch":!0,"vm-switch_full-width":i,"vm-switch_disabled":n,"vm-switch_active":t,["vm-switch_".concat(a,"_active")]:t,["vm-switch_".concat(a)]:a}),onClick:()=>{n||o(!t)},children:[Ct("div",{className:"vm-switch-track",children:Ct("div",{className:"vm-switch-track__thumb"})}),r&&Ct("span",{className:"vm-switch__label",children:r})]})},Ho=e=>{let{isMobile:t,hideButtons:n}=e;const{autocomplete:r}=En(),a=Nn(),{nocache:i,isTracingEnabled:o}=Fr(),l=jr();return Nr("keydown",(e=>{const{code:t,ctrlKey:n,altKey:r}=e;"Space"===t&&(n||r)&&(e.preventDefault(),a({type:"SET_AUTOCOMPLETE_QUICK",payload:!0}))})),Ct("div",{className:xr()({"vm-additional-settings":!0,"vm-additional-settings_mobile":t}),children:[!(null!==n&&void 0!==n&&n.autocomplete)&&Ct(fa,{title:Ct(xt.FK,{children:["Quick tip: ",ka]}),children:Ct(jo,{label:"Autocomplete",value:r,onChange:()=>{a({type:"TOGGLE_AUTOCOMPLETE"})},fullWidth:t})}),Ct(jo,{label:"Disable cache",value:i,onChange:()=>{l({type:"TOGGLE_NO_CACHE"})},fullWidth:t}),!(null!==n&&void 0!==n&&n.traceQuery)&&Ct(jo,{label:"Trace query",value:o,onChange:()=>{l({type:"TOGGLE_QUERY_TRACING"})},fullWidth:t})]})},Vo=e=>{const{isMobile:t}=Wr(),n=(0,r.useRef)(null),{value:a,toggle:i,setFalse:o}=oa(!1);return t?Ct(xt.FK,{children:[Ct("div",{ref:n,children:Ct(aa,{variant:"outlined",startIcon:Ct(hr,{}),onClick:i,ariaLabel:"additional the query settings"})}),Ct(ia,{open:a,buttonRef:n,placement:"bottom-left",onClose:o,title:"Query settings",children:Ct(Ho,{isMobile:t,...e})})]}):Ct(Ho,{...e})},$o=(e,t)=>e.length===t.length&&e.every(((e,n)=>e===t[n]));const Uo=()=>{const{showInfoMessage:e}=(0,r.useContext)(Zr);return async(t,n)=>{var r;if(null===(r=navigator)||void 0===r||!r.clipboard)return e({text:"Clipboard not supported",type:"error"}),console.warn("Clipboard not supported"),!1;try{return await navigator.clipboard.writeText(t),n&&e({text:n,type:"success"}),!0}catch(a){return a instanceof Error&&e({text:"".concat(a.name,": ").concat(a.message),type:"error"}),console.warn("Copy failed",a),!1}}},Bo=e=>{let{query:t,favorites:n,onRun:a,onToggleFavorite:i}=e;const o=Uo(),l=(0,r.useMemo)((()=>n.includes(t)),[t,n]);return Ct("div",{className:"vm-query-history-item",children:[Ct("span",{className:"vm-query-history-item__value",children:t}),Ct("div",{className:"vm-query-history-item__buttons",children:[Ct(fa,{title:"Execute query",children:Ct(aa,{size:"small",variant:"text",onClick:()=>{a(t)},startIcon:Ct(Wn,{})})}),Ct(fa,{title:"Copy query",children:Ct(aa,{size:"small",variant:"text",onClick:async()=>{await o(t,"Query has been copied")},startIcon:Ct(ar,{})})}),Ct(fa,{title:l?"Remove Favorite":"Add to Favorites",children:Ct(aa,{size:"small",variant:"text",color:l?"warning":"primary",onClick:()=>{i(t,l)},startIcon:Ct(l?vr:fr,{})})})]})]})},qo="saved",Yo="favorite",Wo=[{label:"Session history",value:"session"},{label:"Saved history",value:qo},{label:"Favorite queries",value:Yo}],Ko=e=>{let{handleSelectQuery:t}=e;const{queryHistory:n}=En(),{isMobile:a}=Wr(),{value:i,setTrue:o,setFalse:l}=oa(!1),[s,c]=(0,r.useState)(Wo[0].value),[u,d]=(0,r.useState)(yn("QUERY_HISTORY")),[h,m]=(0,r.useState)(yn("QUERY_FAVORITES")),p=(0,r.useMemo)((()=>n.map((e=>e.values.filter((e=>e)).reverse()))),[n]),f=(0,r.useMemo)((()=>{switch(s){case Yo:return h;case qo:return u;default:return p}}),[s,h,u,p]),v=null===f||void 0===f?void 0:f.every((e=>!e.length)),g=(0,r.useMemo)((()=>s===Yo?"Favorites queries are empty.\nTo see your favorites, mark a query as a favorite.":"Query history is empty.\nTo see the history, please make a query."),[s]),y=e=>n=>{t(n,e),l()},_=(e,t)=>{m((n=>{const r=n[0]||[];return t?[r.filter((t=>t!==e))]:t||r.includes(e)?n:[[...r,e]]}))};return(0,r.useEffect)((()=>{const e=h[0]||[],t=yn("QUERY_FAVORITES")[0]||[];$o(e,t)||Je("QUERY_FAVORITES",JSON.stringify(h))}),[h]),Nr("storage",(()=>{d(yn("QUERY_HISTORY")),m(yn("QUERY_FAVORITES"))})),Ct(xt.FK,{children:[Ct(fa,{title:"Show history",children:Ct(aa,{color:"primary",variant:"text",onClick:o,startIcon:Ct($n,{}),ariaLabel:"Show history"})}),i&&Ct(pa,{title:"Query history",onClose:l,children:Ct("div",{className:xr()({"vm-query-history":!0,"vm-query-history_mobile":a}),children:[Ct("div",{className:xr()({"vm-query-history__tabs":!0,"vm-section-header__tabs":!0,"vm-query-history__tabs_mobile":a}),children:Ct(Mr,{activeItem:s,items:Wo,onChange:c})}),Ct("div",{className:"vm-query-history-list",children:[v&&Ct("div",{className:"vm-query-history-list__no-data",children:g}),f.map(((e,t)=>Ct("div",{children:[f.length>1&&Ct("div",{className:xr()({"vm-query-history-list__group-title":!0,"vm-query-history-list__group-title_first":0===t}),children:["Query ",t+1]}),e.map(((e,n)=>Ct(Bo,{query:e,favorites:h.flat(),onRun:y(t),onToggleFavorite:_},n)))]},t))),s===qo&&!v&&Ct("div",{className:"vm-query-history-footer",children:Ct(aa,{color:"error",variant:"outlined",size:"small",startIcon:Ct(Gn,{}),onClick:()=>{Je("QUERY_HISTORY","")},children:"clear history"})})]})]})})]})},Qo=e=>{let{queryErrors:t,setQueryErrors:n,setHideError:a,stats:i,onHideQuery:o,onRunQuery:l,hideButtons:s}=e;const{isMobile:c}=Wr(),{query:u,queryHistory:d,autocomplete:h,autocompleteQuick:m}=En(),p=Nn(),f=gn(),[v,g]=(0,r.useState)(u||[]),[y,_]=(0,r.useState)([]),[b,w]=(0,r.useState)(!1),k=$a(v),x=(()=>{const{serverUrl:e}=Nt();return async t=>{try{const n=encodeURIComponent(t),r="".concat(e,"/prettify-query?query=").concat(n),a=await fetch(r);if(200!=a.status)return{query:t,error:"Error requesting /prettify-query, status: "+a.status};const i=await a.json();return"success"!=i.status?{query:t,error:String(i.msg)}:{query:String(i.query),error:""}}catch(rp){return console.error(rp),rp instanceof Error&&"AbortError"!==rp.name?{query:t,error:"".concat(rp.name,": ").concat(rp.message)}:{query:t,error:String(rp)}}}})(),S=()=>{p({type:"SET_QUERY_HISTORY",payload:v.map(((e,t)=>{const n=d[t]||{values:[]},r=e===n.values[n.values.length-1],a=!r&&e?[...n.values,e]:n.values;return a.length>25&&a.shift(),{index:n.values.length-Number(r),values:a}}))}),p({type:"SET_QUERY",payload:v}),f({type:"RUN_QUERY"}),l()},C=(e,t)=>{g((n=>n.map(((n,r)=>r===t?e:n))))},E=(e,t)=>()=>{((e,t)=>{const{index:n,values:r}=d[t],a=n+e;a<0||a>=r.length||(C(r[a]||"",t),p({type:"SET_QUERY_HISTORY_BY_INDEX",payload:{value:{values:r,index:a},queryNumber:t}}))})(e,t)},N=e=>t=>{C(t,e),p({type:"SET_AUTOCOMPLETE_QUICK",payload:!1})},A=e=>()=>{var t;t=e,g((e=>e.filter(((e,n)=>n!==t)))),_((t=>t.includes(e)?t.filter((t=>t!==e)):t.map((t=>t>e?t-1:t))))},M=e=>t=>{((e,t)=>{const{ctrlKey:n,metaKey:r}=e;if(n||r){const e=v.map(((e,t)=>t)).filter((e=>e!==t));_((t=>$o(e,t)?[]:e))}else _((e=>e.includes(t)?e.filter((e=>e!==t)):[...e,t]))})(t,e)};return(0,r.useEffect)((()=>{k&&v.length{o&&o(y)}),[y]),(0,r.useEffect)((()=>{b&&(S(),w(!1))}),[v,b]),Ct("div",{className:xr()({"vm-query-configurator":!0,"vm-block":!0,"vm-block_mobile":c}),children:[Ct("div",{className:"vm-query-configurator-list",children:v.map(((e,r)=>Ct("div",{className:xr()({"vm-query-configurator-list-row":!0,"vm-query-configurator-list-row_disabled":y.includes(r),"vm-query-configurator-list-row_mobile":c}),children:[Ct(Fo,{value:v[r],autocomplete:!(null!==s&&void 0!==s&&s.autocomplete)&&(h||m),error:t[r],stats:i[r],onArrowUp:E(-1,r),onArrowDown:E(1,r),onEnter:S,onChange:N(r),label:"Query ".concat(v.length>1?r+1:""),disabled:y.includes(r)}),o&&Ct(fa,{title:y.includes(r)?"Enable query":"Disable query",children:Ct("div",{className:"vm-query-configurator-list-row__button",children:Ct(aa,{variant:"text",color:"gray",startIcon:y.includes(r)?Ct(nr,{}):Ct(tr,{}),onClick:M(r),ariaLabel:"visibility query"})})}),!(null!==s&&void 0!==s&&s.prettify)&&Ct(fa,{title:"Prettify query",children:Ct("div",{className:"vm-query-configurator-list-row__button",children:Ct(aa,{variant:"text",color:"gray",startIcon:Ct(rr,{}),onClick:async()=>await(async e=>{const t=await x(v[e]);a(!1),C(t.query,e),n((n=>(n[e]=t.error,[...n])))})(r),className:"prettify",ariaLabel:"prettify the query"})})}),v.length>1&&Ct(fa,{title:"Remove Query",children:Ct("div",{className:"vm-query-configurator-list-row__button",children:Ct(aa,{variant:"text",color:"error",startIcon:Ct(Gn,{}),onClick:A(r),ariaLabel:"remove query"})})})]},r)))}),Ct("div",{className:"vm-query-configurator-settings",children:[Ct(Vo,{hideButtons:s}),Ct("div",{className:"vm-query-configurator-settings__buttons",children:[Ct(Ko,{handleSelectQuery:(e,t)=>{C(e,t),w(!0)}}),!(null!==s&&void 0!==s&&s.addQuery)&&v.length<4&&Ct(aa,{variant:"outlined",onClick:()=>{g((e=>[...e,""]))},startIcon:Ct(Jn,{}),children:"Add Query"}),Ct(aa,{variant:"contained",onClick:S,startIcon:Ct(Yn,{}),children:c?"Execute":"Execute Query"})]})]})]})};let Zo=0;class Go{constructor(e,t){this.tracing=void 0,this.query=void 0,this.tracingChildren=void 0,this.originalTracing=void 0,this.id=void 0,this.tracing=e,this.originalTracing=JSON.parse(JSON.stringify(e)),this.query=t,this.id=Zo++;const n=e.children||[];this.tracingChildren=n.map((e=>new Go(e,t)))}get queryValue(){return this.query}get idValue(){return this.id}get children(){return this.tracingChildren}get message(){return this.tracing.message}get duration(){return this.tracing.duration_msec}get JSON(){return JSON.stringify(this.tracing,null,2)}get originalJSON(){return JSON.stringify(this.originalTracing,null,2)}setTracing(e){this.tracing=e;const t=e.children||[];this.tracingChildren=t.map((e=>new Go(e,this.query)))}setQuery(e){this.query=e}resetTracing(){this.tracing=this.originalTracing}}const Jo=function(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const{__name__:r,...a}=e.metric,i=t||"".concat(n?"[Query ".concat(e.group,"] "):"").concat(r||"");return 0==Object.keys(a).length?i||"value":"".concat(i,"{").concat(Object.entries(a).map((e=>"".concat(e[0],"=").concat(JSON.stringify(e[1])))).join(", "),"}")},Xo=e=>{switch(e){case"NaN":return NaN;case"Inf":case"+Inf":return 1/0;case"-Inf":return-1/0;default:return parseFloat(e)}},el=e=>{if(e.length<2)return!1;const t=["le","vmrange"],n=Object.keys(e[0].metric).filter((e=>!t.includes(e))),r=e.every((r=>{const a=Object.keys(r.metric).filter((e=>!t.includes(e)));return n.length===a.length&&a.every((t=>r.metric[t]===e[0].metric[t]))}));return r&&e.every((e=>t.some((t=>t in e.metric))))},tl=He.anomaly==={NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!1}.REACT_APP_TYPE,nl=e=>{let{predefinedQuery:t,visible:n,display:a,customStep:i,hideQuery:o,showAllSeries:l}=e;const{query:s}=En(),{period:c}=vn(),{displayType:u,nocache:d,isTracingEnabled:h,seriesLimits:m}=Fr(),{serverUrl:p}=Nt(),{isHistogram:f}=Ur(),[v,g]=(0,r.useState)(!1),[y,_]=(0,r.useState)(),[b,w]=(0,r.useState)(),[k,x]=(0,r.useState)(),[S,C]=(0,r.useState)(),[E,N]=(0,r.useState)([]),[A,M]=(0,r.useState)([]),[T,L]=(0,r.useState)(),[P,O]=(0,r.useState)([]),[I,R]=(0,r.useState)(!1),D=(0,r.useMemo)((()=>{const{end:e,start:t}=c;return Kt(e-t,f)}),[c,f]),z=(0,r.useCallback)(Pi()((async e=>{let{fetchUrl:t,fetchQueue:n,displayType:r,query:a,stateSeriesLimits:i,showAllSeries:o,hideQuery:l}=e;const s=new AbortController;O([...n,s]);try{const e=r===dt.chart,n=o?1/0:+i[r]||1/0;let c=n;const u=[],d=[];let h=1,m=0,p=!1;for await(const r of t){if(null===l||void 0===l?void 0:l.includes(h-1)){N((e=>[...e,""])),M((e=>[...e,{}])),h++;continue}const t=await fetch(r,{signal:s.signal}),i=await t.json();if(t.ok){if(M((e=>[...e,{...null===i||void 0===i?void 0:i.stats,isPartial:null===i||void 0===i?void 0:i.isPartial,resultLength:i.data.result.length}])),N((e=>[...e,""])),i.trace){const e=new Go(i.trace,a[h-1]);d.push(e)}p=!tl&&e&&el(i.data.result),c=p?1/0:n;const t=c-u.length;i.data.result.slice(0,t).forEach((e=>{e.group=h,u.push(e)})),m+=i.data.result.length}else{u.push({metric:{},values:[],group:h});const e=i.errorType||ht.unknownType,t=[e,(null===i||void 0===i?void 0:i.error)||(null===i||void 0===i?void 0:i.message)||"see console for more details"].join(",\r\n");N((e=>[...e,"".concat(t)])),console.error("Fetch query error: ".concat(e),i)}h++}const f="Showing ".concat(u.length," series out of ").concat(m," series due to performance reasons. Please narrow down the query, so it returns less series");L(m>c?f:""),e?_(u):w(u),x(d),R((e=>m?p:e))}catch(rp){const t=rp;if("AbortError"===t.name)return;const n="Please check your serverURL settings and confirm server availability.";let r="Error executing query: ".concat(t.message,". ").concat(n);"Unexpected end of JSON input"===t.message&&(r+="\nAdditionally, this error can occur if the server response is too large to process. Apply more specific filters to reduce the data volume."),C(r)}g(!1)}),300),[]),F=(0,r.useMemo)((()=>{C(""),N([]),M([]);const e=null!==t&&void 0!==t?t:s,n=(a||u)===dt.chart;if(c)if(p)if(e.every((e=>!e.trim())))N(e.map((()=>ht.validQuery)));else{if(yt(p)){const t={...c};return t.step=tl?"".concat(1e3*Wt(i),"ms"):i,e.map((e=>n?((e,t,n,r,a)=>"".concat(e,"/api/v1/query_range?query=").concat(encodeURIComponent(t),"&start=").concat(n.start,"&end=").concat(n.end,"&step=").concat(n.step).concat(r?"&nocache=1":"").concat(a?"&trace=1":""))(p,e,t,d,h):((e,t,n,r,a)=>"".concat(e,"/api/v1/query?query=").concat(encodeURIComponent(t),"&time=").concat(n.end,"&step=").concat(n.step).concat(r?"&nocache=1":"").concat(a?"&trace=1":""))(p,e,t,d,h)))}C(ht.validServer)}else C(ht.emptyServer)}),[p,c,u,i,o]),[j,H]=(0,r.useState)([]);return(0,r.useEffect)((()=>{const e=F===j&&!!t;if(!n||null===F||void 0===F||!F.length||e)return;g(!0);z({fetchUrl:F,fetchQueue:P,displayType:a||u,query:null!==t&&void 0!==t?t:s,stateSeriesLimits:m,showAllSeries:l,hideQuery:o}),H(F)}),[F,n,m,l]),(0,r.useEffect)((()=>{const e=P.slice(0,-1);e.length&&(e.map((e=>e.abort())),O(P.filter((e=>!e.signal.aborted))))}),[P]),(0,r.useEffect)((()=>{D===i&&_([])}),[I]),{fetchUrl:F,isLoading:v,graphData:y,liveData:b,error:S,queryErrors:E,setQueryErrors:N,queryStats:A,warning:T,traces:k,isHistogram:I}},rl=e=>{let{containerStyles:t={},message:n}=e;const{isDarkTheme:r}=Nt();return Ct("div",{className:xr()({"vm-spinner":!0,"vm-spinner_dark":r}),style:t&&{},children:[Ct("div",{className:"half-circle-spinner",children:[Ct("div",{className:"circle circle-1"}),Ct("div",{className:"circle circle-2"})]}),n&&Ct("div",{className:"vm-spinner__message",children:n})]})};function al(e){return function(e,t){return Object.fromEntries(Object.entries(e).filter(t))}(e,(e=>!!e[1]||"number"===typeof e[1]))}const il=e=>{let{text:t,href:n,children:r,colored:a=!0,underlined:i=!1,withIcon:o=!1}=e;return Ct("a",{href:n,className:xr()({"vm-link":!0,"vm-link_colored":a,"vm-link_underlined":i,"vm-link_with-icon":o}),target:"_blank",rel:"noreferrer",children:t||r})},ol=Ct(il,{text:"last_over_time",href:"https://docs.victoriametrics.com/MetricsQL.html#last_over_time",underlined:!0}),ll=Ct(il,{text:"instant query",href:"https://docs.victoriametrics.com/keyConcepts.html#instant-query",underlined:!0}),sl=()=>Ct("div",{children:[Ct("p",{children:["This tab shows ",ll," results for the last 5 minutes ending at the selected time range."]}),Ct("p",{children:["Please wrap the query into ",ol," if you need results over arbitrary lookbehind interval."]})]}),cl=e=>{let{value:t}=e;return Ct("div",{className:"vm-line-progress",children:[Ct("div",{className:"vm-line-progress-track",children:Ct("div",{className:"vm-line-progress-track__thumb",style:{width:"".concat(t,"%")}})}),Ct("span",{children:[t.toFixed(2),"%"]})]})},ul=e=>{let{isRoot:t,trace:n,totalMsec:a,isExpandedAll:i}=e;const{isDarkTheme:o}=Nt(),{isMobile:l}=Wr(),[s,c]=(0,r.useState)({}),u=(0,r.useRef)(null),[d,h]=(0,r.useState)(!1),[m,p]=(0,r.useState)(!1),f=Bt(n.duration/1e3)||"".concat(n.duration,"ms");(0,r.useEffect)((()=>{if(!u.current)return;const e=u.current,t=u.current.children[0],{height:n}=t.getBoundingClientRect();h(n>e.clientHeight)}),[n]);const v=n.children&&!!n.children.length,g=n.duration/a*100,y=e=>{var t;const n=[e.idValue];return null===e||void 0===e||null===(t=e.children)||void 0===t||t.forEach((e=>{n.push(...y(e))})),n};return(0,r.useEffect)((()=>{if(!i)return void c([]);const e=y(n),t={};e.forEach((e=>{t[e]=!0})),c(t)}),[i]),Ct("div",{className:xr()({"vm-nested-nav":!0,"vm-nested-nav_root":t,"vm-nested-nav_dark":o,"vm-nested-nav_mobile":l}),children:[Ct("div",{className:xr()({"vm-nested-nav-header":!0,"vm-nested-nav-header_open":s[n.idValue]}),onClick:(_=n.idValue,()=>{v&&c((e=>({...e,[_]:!e[_]})))}),children:[v&&Ct("div",{className:xr()({"vm-nested-nav-header__icon":!0,"vm-nested-nav-header__icon_open":s[n.idValue]}),children:Ct(Hn,{})}),Ct("div",{className:"vm-nested-nav-header__progress",children:Ct(cl,{value:g})}),Ct("div",{className:xr()({"vm-nested-nav-header__message":!0,"vm-nested-nav-header__message_show-full":m}),ref:u,children:[Ct("span",{className:"vm-nested-nav-header__message_duration",children:f}),":\xa0",Ct("span",{children:n.message})]}),Ct("div",{className:"vm-nested-nav-header-bottom",children:(d||m)&&Ct(aa,{variant:"text",size:"small",onClick:e=>{e.stopPropagation(),p((e=>!e))},children:m?"Hide":"Show full query"})})]}),s[n.idValue]&&Ct("div",{className:"vm-nested-nav__childrens",children:v&&n.children.map((e=>Ct(ul,{trace:e,totalMsec:a,isExpandedAll:i},e.duration)))})]});var _},dl=ul,hl=e=>{let{editable:t=!1,defaultTile:n="JSON",displayTitle:a=!0,defaultJson:i="",resetValue:o="",onClose:l,onUpload:s}=e;const c=Uo(),{isMobile:u}=Wr(),[d,h]=(0,r.useState)(i),[m,p]=(0,r.useState)(n),[f,v]=(0,r.useState)(""),[g,y]=(0,r.useState)(""),_=(0,r.useMemo)((()=>{try{const e=JSON.parse(d),t=e.trace||e;return t.duration_msec?(new Go(t,""),""):ht.traceNotFound}catch(rp){return rp instanceof Error?rp.message:"Unknown error"}}),[d]),b=()=>{y(_);m.trim()||v(ht.emptyTitle),_||f||(s(d,m),l())};return Ct("div",{className:xr()({"vm-json-form":!0,"vm-json-form_one-field":!a,"vm-json-form_one-field_mobile":!a&&u,"vm-json-form_mobile":u}),children:[a&&Ct(Ha,{value:m,label:"Title",error:f,onEnter:b,onChange:e=>{p(e)}}),Ct(Ha,{value:d,label:"JSON",type:"textarea",error:g,autofocus:!0,onChange:e=>{y(""),h(e)},onEnter:b,disabled:!t}),Ct("div",{className:"vm-json-form-footer",children:[Ct("div",{className:"vm-json-form-footer__controls",children:[Ct(aa,{variant:"outlined",startIcon:Ct(ar,{}),onClick:async()=>{await c(d,"Formatted JSON has been copied")},children:"Copy JSON"}),o&&Ct(aa,{variant:"text",startIcon:Ct(In,{}),onClick:()=>{h(o)},children:"Reset JSON"})]}),Ct("div",{className:"vm-json-form-footer__controls vm-json-form-footer__controls_right",children:[Ct(aa,{variant:"outlined",color:"error",onClick:l,children:"Cancel"}),Ct(aa,{variant:"contained",onClick:b,children:"apply"})]})]})]})},ml=e=>{let{traces:t,jsonEditor:n=!1,onDeleteClick:a}=e;const{isMobile:i}=Wr(),[o,l]=(0,r.useState)(null),[s,c]=(0,r.useState)([]),u=()=>{l(null)};if(!t.length)return Ct(Qr,{variant:"info",children:"Please re-run the query to see results of the tracing"});const d=e=>()=>{a(e)},h=e=>()=>{l(e)},m=e=>()=>{const t=new Blob([e.originalJSON],{type:"application/json"}),n=URL.createObjectURL(t),r=document.createElement("a");r.href=n,r.download="vmui_trace_".concat(e.queryValue,".json"),document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)};return Ct(xt.FK,{children:[Ct("div",{className:"vm-tracings-view",children:t.map((e=>{return Ct("div",{className:"vm-tracings-view-trace vm-block vm-block_empty-padding",children:[Ct("div",{className:"vm-tracings-view-trace-header",children:[Ct("h3",{className:"vm-tracings-view-trace-header-title",children:["Trace for ",Ct("b",{className:"vm-tracings-view-trace-header-title__query",children:e.queryValue})]}),Ct(fa,{title:s.includes(e.idValue)?"Collapse All":"Expand All",children:Ct(aa,{variant:"text",startIcon:Ct("div",{className:xr()({"vm-tracings-view-trace-header__expand-icon":!0,"vm-tracings-view-trace-header__expand-icon_open":s.includes(e.idValue)}),children:Ct(Hn,{})}),onClick:(t=e,()=>{c((e=>e.includes(t.idValue)?e.filter((e=>e!==t.idValue)):[...e,t.idValue]))}),ariaLabel:s.includes(e.idValue)?"Collapse All":"Expand All"})}),Ct(fa,{title:"Save Trace to JSON",children:Ct(aa,{variant:"text",startIcon:Ct(wr,{}),onClick:m(e),ariaLabel:"Save trace to JSON"})}),Ct(fa,{title:"Open JSON",children:Ct(aa,{variant:"text",startIcon:Ct(Zn,{}),onClick:h(e),ariaLabel:"open JSON"})}),Ct(fa,{title:"Remove trace",children:Ct(aa,{variant:"text",color:"error",startIcon:Ct(Gn,{}),onClick:d(e),ariaLabel:"remove trace"})})]}),Ct("nav",{className:xr()({"vm-tracings-view-trace__nav":!0,"vm-tracings-view-trace__nav_mobile":i}),children:Ct(dl,{isRoot:!0,trace:e,totalMsec:e.duration,isExpandedAll:s.includes(e.idValue)})})]},e.idValue);var t}))}),o&&Ct(pa,{title:o.queryValue,onClose:u,children:Ct(hl,{editable:n,displayTitle:n,defaultTile:o.queryValue,defaultJson:o.JSON,resetValue:o.originalJSON,onClose:u,onUpload:(e,t)=>{if(n&&o)try{o.setTracing(JSON.parse(e)),o.setQuery(t),l(null)}catch(rp){console.error(rp)}}})})]})},pl=e=>{let{traces:t,displayType:n}=e;const{isTracingEnabled:a}=Fr(),[i,o]=(0,r.useState)([]);return(0,r.useEffect)((()=>{t&&o([...i,...t])}),[t]),(0,r.useEffect)((()=>{o([])}),[n]),Ct(xt.FK,{children:a&&Ct("div",{className:"vm-custom-panel__trace",children:Ct(ml,{traces:i,onDeleteClick:e=>{const t=i.filter((t=>t.idValue!==e.idValue));o([...t])}})})})},fl=e=>{let{warning:t,query:n,onChange:a}=e;const{isMobile:i}=Wr(),{value:o,setTrue:l,setFalse:s}=oa(!1);return(0,r.useEffect)(s,[n]),(0,r.useEffect)((()=>{a(o)}),[o]),Ct(Qr,{variant:"warning",children:Ct("div",{className:xr()({"vm-custom-panel__warning":!0,"vm-custom-panel__warning_mobile":i}),children:[Ct("p",{children:t}),Ct(aa,{color:"warning",variant:"outlined",onClick:l,children:"Show all"})]})})},vl="u-off",gl="u-label",yl="width",_l="height",bl="top",wl="bottom",kl="left",xl="right",Sl="#000",Cl=Sl+"0",El="mousemove",Nl="mousedown",Al="mouseup",Ml="mouseenter",Tl="mouseleave",Ll="dblclick",Pl="change",Ol="dppxchange",Il="--",Rl="undefined"!=typeof window,Dl=Rl?document:null,zl=Rl?window:null,Fl=Rl?navigator:null;let jl,Hl;function Vl(e,t){if(null!=t){let n=e.classList;!n.contains(t)&&n.add(t)}}function $l(e,t){let n=e.classList;n.contains(t)&&n.remove(t)}function Ul(e,t,n){e.style[t]=n+"px"}function Bl(e,t,n,r){let a=Dl.createElement(e);return null!=t&&Vl(a,t),null!=n&&n.insertBefore(a,r),a}function ql(e,t){return Bl("div",e,t)}const Yl=new WeakMap;function Wl(e,t,n,r,a){let i="translate("+t+"px,"+n+"px)";i!=Yl.get(e)&&(e.style.transform=i,Yl.set(e,i),t<0||n<0||t>r||n>a?Vl(e,vl):$l(e,vl))}const Kl=new WeakMap;function Ql(e,t,n){let r=t+n;r!=Kl.get(e)&&(Kl.set(e,r),e.style.background=t,e.style.borderColor=n)}const Zl=new WeakMap;function Gl(e,t,n,r){let a=t+""+n;a!=Zl.get(e)&&(Zl.set(e,a),e.style.height=n+"px",e.style.width=t+"px",e.style.marginLeft=r?-t/2+"px":0,e.style.marginTop=r?-n/2+"px":0)}const Jl={passive:!0},Xl={...Jl,capture:!0};function es(e,t,n,r){t.addEventListener(e,n,r?Xl:Jl)}function ts(e,t,n,r){t.removeEventListener(e,n,r?Xl:Jl)}function ns(e,t,n,r){let a;n=n||0;let i=(r=r||t.length-1)<=2147483647;for(;r-n>1;)a=i?n+r>>1:ys((n+r)/2),t[a]=t&&a<=n;a+=r)if(null!=e[a])return a;return-1}function as(e,t,n,r){let a=Ss(e),i=Ss(t);e==t&&(-1==a?(e*=n,t/=n):(e/=n,t*=n));let o=10==n?Cs:Es,l=1==i?bs:ys,s=(1==a?ys:bs)(o(gs(e))),c=l(o(gs(t))),u=xs(n,s),d=xs(n,c);return 10==n&&(s<0&&(u=Vs(u,-s)),c<0&&(d=Vs(d,-c))),r||2==n?(e=u*a,t=d*i):(e=Hs(e,u),t=js(t,d)),[e,t]}function is(e,t,n,r){let a=as(e,t,n,r);return 0==e&&(a[0]=0),0==t&&(a[1]=0),a}Rl&&function e(){let t=devicePixelRatio;jl!=t&&(jl=t,Hl&&ts(Pl,Hl,e),Hl=matchMedia("(min-resolution: ".concat(jl-.001,"dppx) and (max-resolution: ").concat(jl+.001,"dppx)")),es(Pl,Hl,e),zl.dispatchEvent(new CustomEvent(Ol)))}();const os=.1,ls={mode:3,pad:os},ss={pad:0,soft:null,mode:0},cs={min:ss,max:ss};function us(e,t,n,r){return Gs(n)?hs(e,t,n):(ss.pad=n,ss.soft=r?0:null,ss.mode=r?3:0,hs(e,t,cs))}function ds(e,t){return null==e?t:e}function hs(e,t,n){let r=n.min,a=n.max,i=ds(r.pad,0),o=ds(a.pad,0),l=ds(r.hard,-As),s=ds(a.hard,As),c=ds(r.soft,As),u=ds(a.soft,-As),d=ds(r.mode,0),h=ds(a.mode,0),m=t-e,p=Cs(m),f=ks(gs(e),gs(t)),v=Cs(f),g=gs(v-p);(m<1e-9||g>10)&&(m=0,0!=e&&0!=t||(m=1e-9,2==d&&c!=As&&(i=0),2==h&&u!=-As&&(o=0)));let y=m||f||1e3,_=Cs(y),b=xs(10,ys(_)),w=Vs(Hs(e-y*(0==m?0==e?.1:1:i),b/10),9),k=e>=c&&(1==d||3==d&&w<=c||2==d&&w>=c)?c:As,x=ks(l,w=k?k:ws(k,w)),S=Vs(js(t+y*(0==m?0==t?.1:1:o),b/10),9),C=t<=u&&(1==h||3==h&&S>=u||2==h&&S<=u)?u:-As,E=ws(s,S>C&&t<=C?C:ks(C,S));return x==E&&0==x&&(E=100),[x,E]}const ms=new Intl.NumberFormat(Rl?Fl.language:"en-US"),ps=e=>ms.format(e),fs=Math,vs=fs.PI,gs=fs.abs,ys=fs.floor,_s=fs.round,bs=fs.ceil,ws=fs.min,ks=fs.max,xs=fs.pow,Ss=fs.sign,Cs=fs.log10,Es=fs.log2,Ns=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return fs.asinh(e/t)},As=1/0;function Ms(e){return 1+(0|Cs((e^e>>31)-(e>>31)))}function Ts(e,t,n){return ws(ks(e,t),n)}function Ls(e){return"function"==typeof e?e:()=>e}const Ps=e=>e,Os=(e,t)=>t,Is=e=>null,Rs=e=>!0,Ds=(e,t)=>e==t,zs=e=>Vs(e,14);function Fs(e,t){return zs(Vs(zs(e/t))*t)}function js(e,t){return zs(bs(zs(e/t))*t)}function Hs(e,t){return zs(ys(zs(e/t))*t)}function Vs(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(Qs(e))return e;let n=10**t,r=e*n*(1+Number.EPSILON);return _s(r)/n}const $s=new Map;function Us(e){return((""+e).split(".")[1]||"").length}function Bs(e,t,n,r){let a=[],i=r.map(Us);for(let o=t;o=0&&o>=0?0:t)+(o>=i[e]?0:i[e]),c=Vs(l,s);a.push(c),$s.set(c,s)}}return a}const qs={},Ys=[],Ws=[null,null],Ks=Array.isArray,Qs=Number.isInteger;function Zs(e){return"string"==typeof e}function Gs(e){let t=!1;if(null!=e){let n=e.constructor;t=null==n||n==Object}return t}function Js(e){return null!=e&&"object"==typeof e}const Xs=Object.getPrototypeOf(Uint8Array);function ec(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gs;if(Ks(e)){let r=e.find((e=>null!=e));if(Ks(r)||n(r)){t=Array(e.length);for(let r=0;ri){for(r=o-1;r>=0&&null==e[r];)e[r--]=null;for(r=o+1;rPromise.resolve().then(e):queueMicrotask;const ac=["January","February","March","April","May","June","July","August","September","October","November","December"],ic=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function oc(e){return e.slice(0,3)}const lc=ic.map(oc),sc=ac.map(oc),cc={MMMM:ac,MMM:sc,WWWW:ic,WWW:lc};function uc(e){return(e<10?"0":"")+e}const dc={YYYY:e=>e.getFullYear(),YY:e=>(e.getFullYear()+"").slice(2),MMMM:(e,t)=>t.MMMM[e.getMonth()],MMM:(e,t)=>t.MMM[e.getMonth()],MM:e=>uc(e.getMonth()+1),M:e=>e.getMonth()+1,DD:e=>uc(e.getDate()),D:e=>e.getDate(),WWWW:(e,t)=>t.WWWW[e.getDay()],WWW:(e,t)=>t.WWW[e.getDay()],HH:e=>uc(e.getHours()),H:e=>e.getHours(),h:e=>{let t=e.getHours();return 0==t?12:t>12?t-12:t},AA:e=>e.getHours()>=12?"PM":"AM",aa:e=>e.getHours()>=12?"pm":"am",a:e=>e.getHours()>=12?"p":"a",mm:e=>uc(e.getMinutes()),m:e=>e.getMinutes(),ss:e=>uc(e.getSeconds()),s:e=>e.getSeconds(),fff:e=>{return((t=e.getMilliseconds())<10?"00":t<100?"0":"")+t;var t}};function hc(e,t){t=t||cc;let n,r=[],a=/\{([a-z]+)\}|[^{]+/gi;for(;n=a.exec(e);)r.push("{"==n[0][0]?dc[n[1]]:n[0]);return e=>{let n="";for(let a=0;ae%1==0,fc=[1,2,2.5,5],vc=Bs(10,-16,0,fc),gc=Bs(10,0,16,fc),yc=gc.filter(pc),_c=vc.concat(gc),bc="{YYYY}",wc="\n"+bc,kc="{M}/{D}",xc="\n"+kc,Sc=xc+"/{YY}",Cc="{aa}",Ec="{h}:{mm}"+Cc,Nc="\n"+Ec,Ac=":{ss}",Mc=null;function Tc(e){let t=1e3*e,n=60*t,r=60*n,a=24*r,i=30*a,o=365*a;return[(1==e?Bs(10,0,3,fc).filter(pc):Bs(10,-3,0,fc)).concat([t,5*t,10*t,15*t,30*t,n,5*n,10*n,15*n,30*n,r,2*r,3*r,4*r,6*r,8*r,12*r,a,2*a,3*a,4*a,5*a,6*a,7*a,8*a,9*a,10*a,15*a,i,2*i,3*i,4*i,6*i,o,2*o,5*o,10*o,25*o,50*o,100*o]),[[o,bc,Mc,Mc,Mc,Mc,Mc,Mc,1],[28*a,"{MMM}",wc,Mc,Mc,Mc,Mc,Mc,1],[a,kc,wc,Mc,Mc,Mc,Mc,Mc,1],[r,"{h}"+Cc,Sc,Mc,xc,Mc,Mc,Mc,1],[n,Ec,Sc,Mc,xc,Mc,Mc,Mc,1],[t,Ac,Sc+" "+Ec,Mc,xc+" "+Ec,Mc,Nc,Mc,1],[e,Ac+".{fff}",Sc+" "+Ec,Mc,xc+" "+Ec,Mc,Nc,Mc,1]],function(t){return(l,s,c,u,d,h)=>{let m=[],p=d>=o,f=d>=i&&d=a?a:d,o=_+(ys(c)-ys(g))+js(g-_,i);m.push(o);let p=t(o),f=p.getHours()+p.getMinutes()/n+p.getSeconds()/r,v=d/r,y=h/l.axes[s]._space;for(;o=Vs(o+d,1==e?0:3),!(o>u);)if(v>1){let e=ys(Vs(f+v,6))%24,n=t(o).getHours()-e;n>1&&(n=-1),o-=n*r,f=(f+v)%24,Vs((o-m[m.length-1])/d,3)*y>=.7&&m.push(o)}else m.push(o)}return m}}]}const[Lc,Pc,Oc]=Tc(1),[Ic,Rc,Dc]=Tc(.001);function zc(e,t){return e.map((e=>e.map(((n,r)=>0==r||8==r||null==n?n:t(1==r||0==e[8]?n:e[1]+n)))))}function Fc(e,t){return(n,r,a,i,o)=>{let l,s,c,u,d,h,m=t.find((e=>o>=e[0]))||t[t.length-1];return r.map((t=>{let n=e(t),r=n.getFullYear(),a=n.getMonth(),i=n.getDate(),o=n.getHours(),p=n.getMinutes(),f=n.getSeconds(),v=r!=l&&m[2]||a!=s&&m[3]||i!=c&&m[4]||o!=u&&m[5]||p!=d&&m[6]||f!=h&&m[7]||m[1];return l=r,s=a,c=i,u=o,d=p,h=f,v(n)}))}}function jc(e,t,n){return new Date(e,t,n)}function Hc(e,t){return t(e)}Bs(2,-53,53,[1]);function Vc(e,t){return(n,r,a,i)=>null==i?Il:t(e(r))}const $c={show:!0,live:!0,isolate:!1,mount:()=>{},markers:{show:!0,width:2,stroke:function(e,t){let n=e.series[t];return n.width?n.stroke(e,t):n.points.width?n.points.stroke(e,t):null},fill:function(e,t){return e.series[t].fill(e,t)},dash:"solid"},idx:null,idxs:null,values:[]};const Uc=[0,0];function Bc(e,t,n){let r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return e=>{0==e.button&&(!r||e.target==t)&&n(e)}}function qc(e,t,n){let r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return e=>{(!r||e.target==t)&&n(e)}}const Yc={show:!0,x:!0,y:!0,lock:!1,move:function(e,t,n){return Uc[0]=t,Uc[1]=n,Uc},points:{show:function(e,t){let n=e.cursor.points,r=ql(),a=n.size(e,t);Ul(r,yl,a),Ul(r,_l,a);let i=a/-2;Ul(r,"marginLeft",i),Ul(r,"marginTop",i);let o=n.width(e,t,a);return o&&Ul(r,"borderWidth",o),r},size:function(e,t){return e.series[t].points.size},width:0,stroke:function(e,t){let n=e.series[t].points;return n._stroke||n._fill},fill:function(e,t){let n=e.series[t].points;return n._fill||n._stroke}},bind:{mousedown:Bc,mouseup:Bc,click:Bc,dblclick:Bc,mousemove:qc,mouseleave:qc,mouseenter:qc},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,click:(e,t)=>{t.stopPropagation(),t.stopImmediatePropagation()},_x:!1,_y:!1},focus:{dist:(e,t,n,r,a)=>r-a,prox:-1,bias:0},hover:{skip:[void 0],prox:null,bias:0},left:-10,top:-10,idx:null,dataIdx:null,idxs:null,event:null},Wc={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},Kc=tc({},Wc,{filter:Os}),Qc=tc({},Kc,{size:10}),Zc=tc({},Wc,{show:!1}),Gc='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',Jc="bold "+Gc,Xc={show:!0,scale:"x",stroke:Sl,space:50,gap:5,size:50,labelGap:0,labelSize:30,labelFont:Jc,side:2,grid:Kc,ticks:Qc,border:Zc,font:Gc,lineGap:1.5,rotate:0},eu={show:!0,scale:"x",auto:!1,sorted:1,min:As,max:-As,idxs:[]};function tu(e,t,n,r,a){return t.map((e=>null==e?"":ps(e)))}function nu(e,t,n,r,a,i,o){let l=[],s=$s.get(a)||0;for(let c=n=o?n:Vs(js(n,a),s);c<=r;c=Vs(c+a,s))l.push(Object.is(c,-0)?0:c);return l}function ru(e,t,n,r,a,i,o){const l=[],s=e.scales[e.axes[t].scale].log,c=ys((10==s?Cs:Es)(n));a=xs(s,c),10==s&&c<0&&(a=Vs(a,-c));let u=n;do{l.push(u),u+=a,10==s&&(u=Vs(u,$s.get(a))),u>=a*s&&(a=u)}while(u<=r);return l}function au(e,t,n,r,a,i,o){let l=e.scales[e.axes[t].scale].asinh,s=r>l?ru(e,t,ks(l,n),r,a):[l],c=r>=0&&n<=0?[0]:[];return(n<-l?ru(e,t,ks(l,-r),-n,a):[l]).reverse().map((e=>-e)).concat(c,s)}const iu=/./,ou=/[12357]/,lu=/[125]/,su=/1/,cu=(e,t,n,r)=>e.map(((e,a)=>4==t&&0==e||a%r==0&&n.test(e.toExponential()[e<0?1:0])?e:null));function uu(e,t,n,r,a){let i=e.axes[n],o=i.scale,l=e.scales[o],s=e.valToPos,c=i._space,u=s(10,o),d=s(9,o)-u>=c?iu:s(7,o)-u>=c?ou:s(5,o)-u>=c?lu:su;if(d==su){let e=gs(s(1,o)-u);if(ea,vu={show:!0,auto:!0,sorted:0,gaps:fu,alpha:1,facets:[tc({},pu,{scale:"x"}),tc({},pu,{scale:"y"})]},gu={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:fu,alpha:1,points:{show:function(e,t){let{scale:n,idxs:r}=e.series[0],a=e._data[0],i=e.valToPos(a[r[0]],n,!0),o=e.valToPos(a[r[1]],n,!0),l=gs(o-i)/(e.series[t].points.space*jl);return r[1]-r[0]<=l},filter:null},values:null,min:As,max:-As,idxs:[],path:null,clip:null};function yu(e,t,n,r,a){return n/10}const _u={time:!0,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},bu=tc({},_u,{time:!1,ori:1}),wu={};function ku(e,t){let n=wu[e];return n||(n={key:e,plots:[],sub(e){n.plots.push(e)},unsub(e){n.plots=n.plots.filter((t=>t!=e))},pub(e,t,r,a,i,o,l){for(let s=0;s{let f=e.pxRound;const v=l.dir*(0==l.ori?1:-1),g=0==l.ori?Iu:Ru;let y,_;1==v?(y=n,_=r):(y=r,_=n);let b=f(c(t[y],l,m,d)),w=f(u(o[y],s,p,h)),k=f(c(t[_],l,m,d)),x=f(u(1==i?s.max:s.min,s,p,h)),S=new Path2D(a);return g(S,k,x),g(S,b,x),g(S,b,w),S}))}function Au(e,t,n,r,a,i){let o=null;if(e.length>0){o=new Path2D;const l=0==t?Du:zu;let s=n;for(let t=0;tn[0]){let e=n[0]-s;e>0&&l(o,s,r,e,r+i),s=n[1]}}let c=n+a-s,u=10;c>0&&l(o,s,r-u/2,c,r+i+u)}return o}function Mu(e,t,n,r,a,i,o){let l=[],s=e.length;for(let c=1==a?n:r;c>=n&&c<=r;c+=a){if(null===t[c]){let u=c,d=c;if(1==a)for(;++c<=r&&null===t[c];)d=c;else for(;--c>=n&&null===t[c];)d=c;let h=i(e[u]),m=d==u?h:i(e[d]),p=u-a;h=o<=0&&p>=0&&p=0&&f>=0&&f=h&&l.push([h,m])}}return l}function Tu(e){return 0==e?Ps:1==e?_s:t=>Fs(t,e)}function Lu(e){let t=0==e?Pu:Ou,n=0==e?(e,t,n,r,a,i)=>{e.arcTo(t,n,r,a,i)}:(e,t,n,r,a,i)=>{e.arcTo(n,t,a,r,i)},r=0==e?(e,t,n,r,a)=>{e.rect(t,n,r,a)}:(e,t,n,r,a)=>{e.rect(n,t,a,r)};return function(e,a,i,o,l){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0;0==s&&0==c?r(e,a,i,o,l):(s=ws(s,o/2,l/2),c=ws(c,o/2,l/2),t(e,a+s,i),n(e,a+o,i,a+o,i+l,s),n(e,a+o,i+l,a,i+l,c),n(e,a,i+l,a,i,c),n(e,a,i,a+o,i,s),e.closePath())}}const Pu=(e,t,n)=>{e.moveTo(t,n)},Ou=(e,t,n)=>{e.moveTo(n,t)},Iu=(e,t,n)=>{e.lineTo(t,n)},Ru=(e,t,n)=>{e.lineTo(n,t)},Du=Lu(0),zu=Lu(1),Fu=(e,t,n,r,a,i)=>{e.arc(t,n,r,a,i)},ju=(e,t,n,r,a,i)=>{e.arc(n,t,r,a,i)},Hu=(e,t,n,r,a,i,o)=>{e.bezierCurveTo(t,n,r,a,i,o)},Vu=(e,t,n,r,a,i,o)=>{e.bezierCurveTo(n,t,a,r,o,i)};function $u(e){return(e,t,n,r,a)=>Su(e,t,((t,i,o,l,s,c,u,d,h,m,p)=>{let f,v,{pxRound:g,points:y}=t;0==l.ori?(f=Pu,v=Fu):(f=Ou,v=ju);const _=Vs(y.width*jl,3);let b=(y.size-y.width)/2*jl,w=Vs(2*b,3),k=new Path2D,x=new Path2D,{left:S,top:C,width:E,height:N}=e.bbox;Du(x,S-w,C-w,E+2*w,N+2*w);const A=e=>{if(null!=o[e]){let t=g(c(i[e],l,m,d)),n=g(u(o[e],s,p,h));f(k,t+b,n),v(k,t,n,b,0,2*vs)}};if(a)a.forEach(A);else for(let e=n;e<=r;e++)A(e);return{stroke:_>0?k:null,fill:k,clip:x,flags:2|xu}}))}function Uu(e){return(t,n,r,a,i,o)=>{r!=a&&(i!=r&&o!=r&&e(t,n,r),i!=a&&o!=a&&e(t,n,a),e(t,n,o))}}const Bu=Uu(Iu),qu=Uu(Ru);function Yu(e){const t=ds(null===e||void 0===e?void 0:e.alignGaps,0);return(e,n,r,a)=>Su(e,n,((i,o,l,s,c,u,d,h,m,p,f)=>{let v,g,y=i.pxRound,_=e=>y(u(e,s,p,h)),b=e=>y(d(e,c,f,m));0==s.ori?(v=Iu,g=Bu):(v=Ru,g=qu);const w=s.dir*(0==s.ori?1:-1),k={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:xu},x=k.stroke;let S,C,E,N=As,A=-As,M=_(o[1==w?r:a]),T=rs(l,r,a,1*w),L=rs(l,r,a,-1*w),P=_(o[T]),O=_(o[L]),I=!1;for(let e=1==w?r:a;e>=r&&e<=a;e+=w){let t=_(o[e]),n=l[e];t==M?null!=n?(C=b(n),N==As&&(v(x,t,C),S=C),N=ws(C,N),A=ks(C,A)):null===n&&(I=!0):(N!=As&&(g(x,M,N,A,S,C),E=M),null!=n?(C=b(n),v(x,t,C),N=A=S=C):(N=As,A=-As,null===n&&(I=!0)),M=t)}N!=As&&N!=A&&E!=M&&g(x,M,N,A,S,C);let[R,D]=Cu(e,n);if(null!=i.fill||0!=R){let t=k.fill=new Path2D(x),r=b(i.fillTo(e,n,i.min,i.max,R));v(t,O,r),v(t,P,r)}if(!i.spanGaps){let c=[];I&&c.push(...Mu(o,l,r,a,w,_,t)),k.gaps=c=i.gaps(e,n,r,a,c),k.clip=Au(c,s.ori,h,m,p,f)}return 0!=D&&(k.band=2==D?[Nu(e,n,r,a,x,-1),Nu(e,n,r,a,x,1)]:Nu(e,n,r,a,x,D)),k}))}function Wu(e,t,n,r,a,i){let o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:As;if(e.length>1){let l=null;for(let s=0,c=1/0;s0!==r[e]>0?n[e]=0:(n[e]=3*(s[e-1]+s[e])/((2*s[e]+s[e-1])/r[e-1]+(s[e]+2*s[e-1])/r[e]),isFinite(n[e])||(n[e]=0));n[o-1]=r[o-2];for(let c=0;c{dd.pxRatio=jl})));const Gu=Yu(),Ju=$u();function Xu(e,t,n,r){return(r?[e[0],e[1]].concat(e.slice(2)):[e[0]].concat(e.slice(1))).map(((e,r)=>ed(e,r,t,n)))}function ed(e,t,n,r){return tc({},0==t?n:r,e)}function td(e,t,n){return null==t?Ws:[t,n]}const nd=td;function rd(e,t,n){return null==t?Ws:us(t,n,os,!0)}function ad(e,t,n,r){return null==t?Ws:as(t,n,e.scales[r].log,!1)}const id=ad;function od(e,t,n,r){return null==t?Ws:is(t,n,e.scales[r].log,!1)}const ld=od;function sd(e,t,n,r,a){let i=ks(Ms(e),Ms(t)),o=t-e,l=ns(a/r*o,n);do{let e=n[l],t=r*e/o;if(t>=a&&i+(e<5?$s.get(e):0)<=17)return[e,t]}while(++l(t=_s((n=+r)*jl))+"px")),t,n]}function ud(e){e.show&&[e.font,e.labelFont].forEach((e=>{let t=Vs(e[2]*jl,1);e[0]=e[0].replace(/[0-9.]+px/,t+"px"),e[1]=t}))}function dd(e,t,n){const r={mode:ds(e.mode,1)},a=r.mode;function i(e,t){return((3==t.distr?Cs(e>0?e:t.clamp(r,e,t.min,t.max,t.key)):4==t.distr?Ns(e,t.asinh):e)-t._min)/(t._max-t._min)}function o(e,t,n,r){let a=i(e,t);return r+n*(-1==t.dir?1-a:a)}function l(e,t,n,r){let a=i(e,t);return r+n*(-1==t.dir?a:1-a)}function s(e,t,n,r){return 0==t.ori?o(e,t,n,r):l(e,t,n,r)}r.valToPosH=o,r.valToPosV=l;let c=!1;r.status=0;const u=r.root=ql("uplot");if(null!=e.id&&(u.id=e.id),Vl(u,e.class),e.title){ql("u-title",u).textContent=e.title}const d=Bl("canvas"),h=r.ctx=d.getContext("2d"),m=ql("u-wrap",u);es("click",m,(e=>{if(e.target===f){(Mt!=Ct||Tt!=Et)&&jt.click(r,e)}}),!0);const p=r.under=ql("u-under",m);m.appendChild(d);const f=r.over=ql("u-over",m),v=+ds((e=ec(e)).pxAlign,1),g=Tu(v);(e.plugins||[]).forEach((t=>{t.opts&&(e=t.opts(r,e)||e)}));const y=e.ms||.001,_=r.series=1==a?Xu(e.series||[],eu,gu,!1):(b=e.series||[null],w=vu,b.map(((e,t)=>0==t?null:tc({},w,e))));var b,w;const k=r.axes=Xu(e.axes||[],Xc,mu,!0),x=r.scales={},S=r.bands=e.bands||[];S.forEach((e=>{e.fill=Ls(e.fill||null),e.dir=ds(e.dir,-1)}));const C=2==a?_[1].facets[0].scale:_[0].scale,E={axes:function(){for(let e=0;ett[e])):y,b=2==m.distr?tt[y[1]]-tt[y[0]]:u,w=t.ticks,S=t.border,C=w.show?_s(w.size*jl):0,E=t._rotate*-vs/180,N=g(t._pos*jl),A=N+(C+v)*c;a=0==o?A:0,n=1==o?A:0,ot(t.font[0],l,1==t.align?kl:2==t.align?xl:E>0?kl:E<0?xl:0==o?"center":3==i?xl:kl,E||1==o?"middle":2==i?bl:wl);let M=t.font[1]*t.lineGap,T=y.map((e=>g(s(e,m,p,f)))),L=t._values;for(let e=0;e0&&(_.forEach(((e,n)=>{if(n>0&&e.show&&(ct(n,!1),ct(n,!0),null==e._paths)){et!=e.alpha&&(h.globalAlpha=et=e.alpha);let i=2==a?[0,t[n][0].length-1]:function(e){let t=Ts($e-1,0,Ve-1),n=Ts(Ue+1,0,Ve-1);for(;null==e[t]&&t>0;)t--;for(;null==e[n]&&n{if(t>0&&e.show){et!=e.alpha&&(h.globalAlpha=et=e.alpha),null!=e._paths&&ut(t,!1);{let n=null!=e._paths?e._paths.gaps:null,a=e.points.show(r,t,$e,Ue,n),i=e.points.filter(r,t,a,n);(a||i)&&(e.points._paths=e.points.paths(r,t,$e,Ue,i),ut(t,!0))}1!=et&&(h.globalAlpha=et=1),kn("drawSeries",t)}})))}},N=(e.drawOrder||["axes","series"]).map((e=>E[e]));function A(t){let n=x[t];if(null==n){let r=(e.scales||qs)[t]||qs;if(null!=r.from)A(r.from),x[t]=tc({},x[r.from],r,{key:t});else{n=x[t]=tc({},t==C?_u:bu,r),n.key=t;let e=n.time,i=n.range,o=Ks(i);if((t!=C||2==a&&!e)&&(!o||null!=i[0]&&null!=i[1]||(i={min:null==i[0]?ls:{mode:1,hard:i[0],soft:i[0]},max:null==i[1]?ls:{mode:1,hard:i[1],soft:i[1]}},o=!1),!o&&Gs(i))){let e=i;i=(t,n,r)=>null==n?Ws:us(n,r,e)}n.range=Ls(i||(e?nd:t==C?3==n.distr?id:4==n.distr?ld:td:3==n.distr?ad:4==n.distr?od:rd)),n.auto=Ls(!o&&n.auto),n.clamp=Ls(n.clamp||yu),n._min=n._max=null}}}A("x"),A("y"),1==a&&_.forEach((e=>{A(e.scale)})),k.forEach((e=>{A(e.scale)}));for(let Mn in e.scales)A(Mn);const M=x[C],T=M.distr;let L,P;0==M.ori?(Vl(u,"u-hz"),L=o,P=l):(Vl(u,"u-vt"),L=l,P=o);const O={};for(let Mn in x){let e=x[Mn];null==e.min&&null==e.max||(O[Mn]={min:e.min,max:e.max},e.min=e.max=null)}const I=e.tzDate||(e=>new Date(_s(e/y))),R=e.fmtDate||hc,D=1==y?Oc(I):Dc(I),z=Fc(I,zc(1==y?Pc:Rc,R)),F=Vc(I,Hc("{YYYY}-{MM}-{DD} {h}:{mm}{aa}",R)),j=[],H=r.legend=tc({},$c,e.legend),V=H.show,$=H.markers;let U,B,q;H.idxs=j,$.width=Ls($.width),$.dash=Ls($.dash),$.stroke=Ls($.stroke),$.fill=Ls($.fill);let Y,W=[],K=[],Q=!1,Z={};if(H.live){const e=_[1]?_[1].values:null;Q=null!=e,Y=Q?e(r,1,0):{_:0};for(let t in Y)Z[t]=Il}if(V)if(U=Bl("table","u-legend",u),q=Bl("tbody",null,U),H.mount(r,U),Q){B=Bl("thead",null,U,q);let e=Bl("tr",null,B);for(var G in Bl("th",null,e),Y)Bl("th",gl,e).textContent=G}else Vl(U,"u-inline"),H.live&&Vl(U,"u-live");const J={show:!0},X={show:!1};const ee=new Map;function te(e,t,n){let a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const i=ee.get(t)||{},o=Ee.bind[e](r,t,n,a);o&&(es(e,t,i[e]=o),ee.set(t,i))}function ne(e,t,n){const r=ee.get(t)||{};for(let a in r)null!=e&&a!=e||(ts(a,t,r[a]),delete r[a]);null==e&&ee.delete(t)}let re=0,ae=0,ie=0,oe=0,le=0,se=0,ce=le,ue=se,de=ie,he=oe,me=0,pe=0,fe=0,ve=0;r.bbox={};let ge=!1,ye=!1,_e=!1,be=!1,we=!1,ke=!1;function xe(e,t,n){(n||e!=r.width||t!=r.height)&&Se(e,t),yt(!1),_e=!0,ye=!0,Rt()}function Se(e,t){r.width=re=ie=e,r.height=ae=oe=t,le=se=0,function(){let e=!1,t=!1,n=!1,r=!1;k.forEach(((a,i)=>{if(a.show&&a._show){let{side:i,_size:o}=a,l=i%2,s=o+(null!=a.label?a.labelSize:0);s>0&&(l?(ie-=s,3==i?(le+=s,r=!0):n=!0):(oe-=s,0==i?(se+=s,e=!0):t=!0))}})),ze[0]=e,ze[1]=n,ze[2]=t,ze[3]=r,ie-=He[1]+He[3],le+=He[3],oe-=He[2]+He[0],se+=He[0]}(),function(){let e=le+ie,t=se+oe,n=le,r=se;function a(a,i){switch(a){case 1:return e+=i,e-i;case 2:return t+=i,t-i;case 3:return n-=i,n+i;case 0:return r-=i,r+i}}k.forEach(((e,t)=>{if(e.show&&e._show){let t=e.side;e._pos=a(t,e._size),null!=e.label&&(e._lpos=a(t,e.labelSize))}}))}();let n=r.bbox;me=n.left=Fs(le*jl,.5),pe=n.top=Fs(se*jl,.5),fe=n.width=Fs(ie*jl,.5),ve=n.height=Fs(oe*jl,.5)}const Ce=3;r.setSize=function(e){let{width:t,height:n}=e;xe(t,n)};const Ee=r.cursor=tc({},Yc,{drag:{y:2==a}},e.cursor);if(null==Ee.dataIdx){var Ne,Ae;let e=Ee.hover,n=e.skip=new Set(null!==(Ne=e.skip)&&void 0!==Ne?Ne:[]);n.add(void 0);let r=e.prox=Ls(e.prox),a=null!==(Ae=e.bias)&&void 0!==Ae?Ae:e.bias=0;Ee.dataIdx=(e,i,o,l)=>{var s;if(0==i)return o;let c=o,u=null!==(s=r(e,i,o,l))&&void 0!==s?s:As,d=u>=0&&u0;)n.has(f[e])||(t=e);if(0==a||1==a)for(e=o;null==r&&e++u&&(c=null)}return c}}const Me=e=>{Ee.event=e};Ee.idxs=j,Ee._lock=!1;let Te=Ee.points;Te.show=Ls(Te.show),Te.size=Ls(Te.size),Te.stroke=Ls(Te.stroke),Te.width=Ls(Te.width),Te.fill=Ls(Te.fill);const Le=r.focus=tc({},e.focus||{alpha:.3},Ee.focus),Pe=Le.prox>=0;let Oe=[null],Ie=[null],Re=[null];function De(e,t){if(1==a||t>0){let t=1==a&&x[e.scale].time,n=e.value;e.value=t?Zs(n)?Vc(I,Hc(n,R)):n||F:n||hu,e.label=e.label||(t?"Time":"Value")}if(t>0){e.width=null==e.width?1:e.width,e.paths=e.paths||Gu||Is,e.fillTo=Ls(e.fillTo||Eu),e.pxAlign=+ds(e.pxAlign,v),e.pxRound=Tu(e.pxAlign),e.stroke=Ls(e.stroke||null),e.fill=Ls(e.fill||null),e._stroke=e._fill=e._paths=e._focus=null;let t=Vs((3+2*(ks(1,e.width)||1))*1,3),n=e.points=tc({},{size:t,width:ks(1,.2*t),stroke:e.stroke,space:2*t,paths:Ju,_stroke:null,_fill:null},e.points);n.show=Ls(n.show),n.filter=Ls(n.filter),n.fill=Ls(n.fill),n.stroke=Ls(n.stroke),n.paths=Ls(n.paths),n.pxAlign=e.pxAlign}if(V){let n=function(e,t){if(0==t&&(Q||!H.live||2==a))return Ws;let n=[],i=Bl("tr","u-series",q,q.childNodes[t]);Vl(i,e.class),e.show||Vl(i,vl);let o=Bl("th",null,i);if($.show){let e=ql("u-marker",o);if(t>0){let n=$.width(r,t);n&&(e.style.border=n+"px "+$.dash(r,t)+" "+$.stroke(r,t)),e.style.background=$.fill(r,t)}}let l=ql(gl,o);for(var s in l.textContent=e.label,t>0&&($.show||(l.style.color=e.width>0?$.stroke(r,t):$.fill(r,t)),te("click",o,(t=>{if(Ee._lock)return;Me(t);let n=_.indexOf(e);if((t.ctrlKey||t.metaKey)!=H.isolate){let e=_.some(((e,t)=>t>0&&t!=n&&e.show));_.forEach(((t,r)=>{r>0&&Yt(r,e?r==n?J:X:J,!0,Sn.setSeries)}))}else Yt(n,{show:!e.show},!0,Sn.setSeries)}),!1),Pe&&te(Ml,o,(t=>{Ee._lock||(Me(t),Yt(_.indexOf(e),Zt,!0,Sn.setSeries))}),!1)),Y){let e=Bl("td","u-value",i);e.textContent="--",n.push(e)}return[i,n]}(e,t);W.splice(t,0,n[0]),K.splice(t,0,n[1]),H.values.push(null)}if(Ee.show){j.splice(t,0,null);let n=function(e,t){if(t>0){let n=Ee.points.show(r,t);if(n)return Vl(n,"u-cursor-pt"),Vl(n,e.class),Wl(n,-10,-10,ie,oe),f.insertBefore(n,Oe[t]),n}}(e,t);null!=n&&(Oe.splice(t,0,n),Ie.splice(t,0,0),Re.splice(t,0,0))}kn("addSeries",t)}r.addSeries=function(e,t){t=null==t?_.length:t,e=1==a?ed(e,t,eu,gu):ed(e,t,null,vu),_.splice(t,0,e),De(_[t],t)},r.delSeries=function(e){if(_.splice(e,1),V){H.values.splice(e,1),K.splice(e,1);let t=W.splice(e,1)[0];ne(null,t.firstChild),t.remove()}Ee.show&&(j.splice(e,1),Oe.length>1&&(Oe.splice(e,1)[0].remove(),Ie.splice(e,1),Re.splice(e,1))),kn("delSeries",e)};const ze=[!1,!1,!1,!1];function Fe(e,t,n,r){let[a,i,o,l]=n,s=t%2,c=0;return 0==s&&(l||i)&&(c=0==t&&!a||2==t&&!o?_s(Xc.size/3):0),1==s&&(a||o)&&(c=1==t&&!i||3==t&&!l?_s(mu.size/2):0),c}const je=r.padding=(e.padding||[Fe,Fe,Fe,Fe]).map((e=>Ls(ds(e,Fe)))),He=r._padding=je.map(((e,t)=>e(r,t,ze,0)));let Ve,$e=null,Ue=null;const Be=1==a?_[0].idxs:null;let qe,Ye,We,Ke,Qe,Ze,Ge,Je,Xe,et,tt=null,nt=!1;function rt(e,n){if(t=null==e?[]:e,r.data=r._data=t,2==a){Ve=0;for(let e=1;e<_.length;e++)Ve+=t[e][0].length}else{0==t.length&&(r.data=r._data=t=[[]]),tt=t[0],Ve=tt.length;let e=t;if(2==T){e=t.slice();let n=e[0]=Array(Ve);for(let e=0;e=0,ke=!0,Rt()}}function at(){let e,n;nt=!0,1==a&&(Ve>0?($e=Be[0]=0,Ue=Be[1]=Ve-1,e=t[0][$e],n=t[0][Ue],2==T?(e=$e,n=Ue):e==n&&(3==T?[e,n]=as(e,e,M.log,!1):4==T?[e,n]=is(e,e,M.log,!1):M.time?n=e+_s(86400/y):[e,n]=us(e,n,os,!0))):($e=Be[0]=e=null,Ue=Be[1]=n=null)),qt(C,e,n)}function it(e,t,n,r,a,i){var o,l,s,c,u;null!==(o=e)&&void 0!==o||(e=Cl),null!==(l=n)&&void 0!==l||(n=Ys),null!==(s=r)&&void 0!==s||(r="butt"),null!==(c=a)&&void 0!==c||(a=Cl),null!==(u=i)&&void 0!==u||(i="round"),e!=qe&&(h.strokeStyle=qe=e),a!=Ye&&(h.fillStyle=Ye=a),t!=We&&(h.lineWidth=We=t),i!=Qe&&(h.lineJoin=Qe=i),r!=Ze&&(h.lineCap=Ze=r),n!=Ke&&h.setLineDash(Ke=n)}function ot(e,t,n,r){t!=Ye&&(h.fillStyle=Ye=t),e!=Ge&&(h.font=Ge=e),n!=Je&&(h.textAlign=Je=n),r!=Xe&&(h.textBaseline=Xe=r)}function lt(e,t,n,a){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(a.length>0&&e.auto(r,nt)&&(null==t||null==t.min)){let t=ds($e,0),r=ds(Ue,a.length-1),o=null==n.min?3==e.distr?function(e,t,n){let r=As,a=-As;for(let i=t;i<=n;i++){let t=e[i];null!=t&&t>0&&(ta&&(a=t))}return[r,a]}(a,t,r):function(e,t,n,r){let a=As,i=-As;if(1==r)a=e[t],i=e[n];else if(-1==r)a=e[n],i=e[t];else for(let o=t;o<=n;o++){let t=e[o];null!=t&&(ti&&(i=t))}return[a,i]}(a,t,r,i):[n.min,n.max];e.min=ws(e.min,n.min=o[0]),e.max=ks(e.max,n.max=o[1])}}r.setData=rt;const st={min:null,max:null};function ct(e,t){let n=t?_[e].points:_[e];n._stroke=n.stroke(r,e),n._fill=n.fill(r,e)}function ut(e,n){let a=n?_[e].points:_[e],{stroke:i,fill:o,clip:l,flags:s,_stroke:c=a._stroke,_fill:u=a._fill,_width:d=a.width}=a._paths;d=Vs(d*jl,3);let m=null,p=d%2/2;n&&null==u&&(u=d>0?"#fff":c);let f=1==a.pxAlign&&p>0;if(f&&h.translate(p,p),!n){let e=me-d/2,t=pe-d/2,n=fe+d,r=ve+d;m=new Path2D,m.rect(e,t,n,r)}n?ht(c,d,a.dash,a.cap,u,i,o,s,l):function(e,n,a,i,o,l,s,c,u,d,h){let m=!1;0!=u&&S.forEach(((p,f)=>{if(p.series[0]==e){let e,v=_[p.series[1]],g=t[p.series[1]],y=(v._paths||qs).band;Ks(y)&&(y=1==p.dir?y[0]:y[1]);let b=null;v.show&&y&&function(e,t,n){for(t=ds(t,0),n=ds(n,e.length-1);t<=n;){if(null!=e[t])return!0;t++}return!1}(g,$e,Ue)?(b=p.fill(r,f)||l,e=v._paths.clip):y=null,ht(n,a,i,o,b,s,c,u,d,h,e,y),m=!0}})),m||ht(n,a,i,o,l,s,c,u,d,h)}(e,c,d,a.dash,a.cap,u,i,o,s,m,l),f&&h.translate(-p,-p)}const dt=2|xu;function ht(e,t,n,r,a,i,o,l,s,c,u,d){it(e,t,n,r,a),(s||c||d)&&(h.save(),s&&h.clip(s),c&&h.clip(c)),d?(l&dt)==dt?(h.clip(d),u&&h.clip(u),pt(a,o),mt(e,i,t)):2&l?(pt(a,o),h.clip(d),mt(e,i,t)):l&xu&&(h.save(),h.clip(d),u&&h.clip(u),pt(a,o),h.restore(),mt(e,i,t)):(pt(a,o),mt(e,i,t)),(s||c||d)&&h.restore()}function mt(e,t,n){n>0&&(t instanceof Map?t.forEach(((e,t)=>{h.strokeStyle=qe=t,h.stroke(e)})):null!=t&&e&&h.stroke(t))}function pt(e,t){t instanceof Map?t.forEach(((e,t)=>{h.fillStyle=Ye=t,h.fill(e)})):null!=t&&e&&h.fill(t)}function ft(e,t,n,r,a,i,o,l,s,c){let u=o%2/2;1==v&&h.translate(u,u),it(l,o,s,c,l),h.beginPath();let d,m,p,f,g=a+(0==r||3==r?-i:i);0==n?(m=a,f=g):(d=a,p=g);for(let v=0;v{if(!n.show)return;let i=x[n.scale];if(null==i.min)return void(n._show&&(t=!1,n._show=!1,yt(!1)));n._show||(t=!1,n._show=!0,yt(!1));let o=n.side,l=o%2,{min:s,max:c}=i,[u,d]=function(e,t,n,a){let i,o=k[e];if(a<=0)i=[0,0];else{let l=o._space=o.space(r,e,t,n,a);i=sd(t,n,o._incrs=o.incrs(r,e,t,n,a,l),a,l)}return o._found=i}(a,s,c,0==l?ie:oe);if(0==d)return;let h=2==i.distr,m=n._splits=n.splits(r,a,s,c,u,d,h),p=2==i.distr?m.map((e=>tt[e])):m,f=2==i.distr?tt[m[1]]-tt[m[0]]:u,v=n._values=n.values(r,n.filter(r,p,a,d,f),a,d,f);n._rotate=2==o?n.rotate(r,v,a,d):0;let g=n._size;n._size=bs(n.size(r,v,a,e)),null!=g&&n._size!=g&&(t=!1)})),t}function gt(e){let t=!0;return je.forEach(((n,a)=>{let i=n(r,a,ze,e);i!=He[a]&&(t=!1),He[a]=i})),t}function yt(e){_.forEach(((t,n)=>{n>0&&(t._paths=null,e&&(1==a?(t.min=null,t.max=null):t.facets.forEach((e=>{e.min=null,e.max=null}))))}))}let _t,bt,wt,kt,xt,St,Ct,Et,Nt,At,Mt,Tt,Lt=!1,Pt=!1,Ot=[];function It(){Pt=!1;for(let e=0;e0){_.forEach(((n,i)=>{if(1==a){let a=n.scale,o=O[a];if(null==o)return;let l=e[a];if(0==i){let e=l.range(r,l.min,l.max,a);l.min=e[0],l.max=e[1],$e=ns(l.min,t[0]),Ue=ns(l.max,t[0]),Ue-$e>1&&(t[0][$e]l.max&&Ue--),n.min=tt[$e],n.max=tt[Ue]}else n.show&&n.auto&<(l,o,n,t[i],n.sorted);n.idxs[0]=$e,n.idxs[1]=Ue}else if(i>0&&n.show&&n.auto){let[r,a]=n.facets,o=r.scale,l=a.scale,[s,c]=t[i],u=e[o],d=e[l];null!=u&<(u,O[o],r,s,r.sorted),null!=d&<(d,O[l],a,c,a.sorted),n.min=a.min,n.max=a.max}}));for(let t in e){let n=e[t],a=O[t];if(null==n.from&&(null==a||null==a.min)){let e=n.range(r,n.min==As?null:n.min,n.max==-As?null:n.max,t);n.min=e[0],n.max=e[1]}}}for(let t in e){let n=e[t];if(null!=n.from){let a=e[n.from];if(null==a.min)n.min=n.max=null;else{let e=n.range(r,a.min,a.max,t);n.min=e[0],n.max=e[1]}}}let n={},i=!1;for(let t in e){let r=e[t],a=x[t];if(a.min!=r.min||a.max!=r.max){a.min=r.min,a.max=r.max;let e=a.distr;a._min=3==e?Cs(a.min):4==e?Ns(a.min,a.asinh):a.min,a._max=3==e?Cs(a.max):4==e?Ns(a.max,a.asinh):a.max,n[t]=i=!0}}if(i){_.forEach(((e,t)=>{2==a?t>0&&n.y&&(e._paths=null):n[e.scale]&&(e._paths=null)}));for(let e in n)_e=!0,kn("setScale",e);Ee.show&&Ee.left>=0&&(be=ke=!0)}for(let t in O)O[t]=null}(),ge=!1),_e&&(!function(){let e=!1,t=0;for(;!e;){t++;let n=vt(t),a=gt(t);e=t==Ce||n&&a,e||(Se(r.width,r.height),ye=!0)}}(),_e=!1),ye){if(Ul(p,kl,le),Ul(p,bl,se),Ul(p,yl,ie),Ul(p,_l,oe),Ul(f,kl,le),Ul(f,bl,se),Ul(f,yl,ie),Ul(f,_l,oe),Ul(m,yl,re),Ul(m,_l,ae),d.width=_s(re*jl),d.height=_s(ae*jl),k.forEach((e=>{let{_el:t,_show:n,_size:r,_pos:a,side:i}=e;if(null!=t)if(n){let e=i%2==1;Ul(t,e?"left":"top",a-(3===i||0===i?r:0)),Ul(t,e?"width":"height",r),Ul(t,e?"top":"left",e?se:le),Ul(t,e?"height":"width",e?oe:ie),$l(t,vl)}else Vl(t,vl)})),qe=Ye=We=Qe=Ze=Ge=Je=Xe=Ke=null,et=1,ln(!0),le!=ce||se!=ue||ie!=de||oe!=he){yt(!1);let e=ie/de,t=oe/he;if(Ee.show&&!be&&Ee.left>=0){Ee.left*=e,Ee.top*=t,wt&&Wl(wt,_s(Ee.left),0,ie,oe),kt&&Wl(kt,0,_s(Ee.top),ie,oe);for(let n=1;n=0&&$t.width>0){$t.left*=e,$t.width*=e,$t.top*=t,$t.height*=t;for(let e in un)Ul(Ut,e,$t[e])}ce=le,ue=se,de=ie,he=oe}kn("setSize"),ye=!1}re>0&&ae>0&&(h.clearRect(0,0,d.width,d.height),kn("drawClear"),N.forEach((e=>e())),kn("draw")),$t.show&&we&&(Bt($t),we=!1),Ee.show&&be&&(an(null,!0,!1),be=!1),H.show&&H.live&&ke&&(nn(),ke=!1),c||(c=!0,r.status=1,kn("ready")),nt=!1,Lt=!1}function zt(e,n){let a=x[e];if(null==a.from){if(0==Ve){let t=a.range(r,n.min,n.max,e);n.min=t[0],n.max=t[1]}if(n.min>n.max){let e=n.min;n.min=n.max,n.max=e}if(Ve>1&&null!=n.min&&null!=n.max&&n.max-n.min<1e-16)return;e==C&&2==a.distr&&Ve>0&&(n.min=ns(n.min,t[0]),n.max=ns(n.max,t[0]),n.min==n.max&&n.max++),O[e]=n,ge=!0,Rt()}}r.batch=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];Lt=!0,Pt=t,e(r),Dt(),t&&Ot.length>0&&queueMicrotask(It)},r.redraw=(e,t)=>{_e=t||!1,!1!==e?qt(C,M.min,M.max):Rt()},r.setScale=zt;let Ft=!1;const jt=Ee.drag;let Ht=jt.x,Vt=jt.y;Ee.show&&(Ee.x&&(_t=ql("u-cursor-x",f)),Ee.y&&(bt=ql("u-cursor-y",f)),0==M.ori?(wt=_t,kt=bt):(wt=bt,kt=_t),Mt=Ee.left,Tt=Ee.top);const $t=r.select=tc({show:!0,over:!0,left:0,width:0,top:0,height:0},e.select),Ut=$t.show?ql("u-select",$t.over?f:p):null;function Bt(e,t){if($t.show){for(let t in e)$t[t]=e[t],t in un&&Ul(Ut,t,e[t]);!1!==t&&kn("setSelect")}}function qt(e,t,n){zt(e,{min:t,max:n})}function Yt(e,t,n,i){null!=t.focus&&function(e){if(e!=Qt){let t=null==e,n=1!=Le.alpha;_.forEach(((r,i)=>{if(1==a||i>0){let a=t||0==i||i==e;r._focus=t?null:a,n&&function(e,t){_[e].alpha=t,Ee.show&&Oe[e]&&(Oe[e].style.opacity=t);V&&W[e]&&(W[e].style.opacity=t)}(i,a?1:Le.alpha)}})),Qt=e,n&&Rt()}}(e),null!=t.show&&_.forEach(((n,r)=>{r>0&&(e==r||null==e)&&(n.show=t.show,function(e,t){let n=_[e],r=V?W[e]:null;n.show?r&&$l(r,vl):(r&&Vl(r,vl),Oe.length>1&&Wl(Oe[e],-10,-10,ie,oe))}(r,t.show),2==a?(qt(n.facets[0].scale,null,null),qt(n.facets[1].scale,null,null)):qt(n.scale,null,null),Rt())})),!1!==n&&kn("setSeries",e,t),i&&Nn("setSeries",r,e,t)}let Wt,Kt,Qt;r.setSelect=Bt,r.setSeries=Yt,r.addBand=function(e,t){e.fill=Ls(e.fill||null),e.dir=ds(e.dir,-1),t=null==t?S.length:t,S.splice(t,0,e)},r.setBand=function(e,t){tc(S[e],t)},r.delBand=function(e){null==e?S.length=0:S.splice(e,1)};const Zt={focus:!0};function Gt(e,t,n){let r=x[t];n&&(e=e/jl-(1==r.ori?se:le));let a=ie;1==r.ori&&(a=oe,e=a-e),-1==r.dir&&(e=a-e);let i=r._min,o=i+(r._max-i)*(e/a),l=r.distr;return 3==l?xs(10,o):4==l?function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return fs.sinh(e)*t}(o,r.asinh):o}function Jt(e,t){Ul(Ut,kl,$t.left=e),Ul(Ut,yl,$t.width=t)}function Xt(e,t){Ul(Ut,bl,$t.top=e),Ul(Ut,_l,$t.height=t)}V&&Pe&&te(Tl,U,(e=>{Ee._lock||(Me(e),null!=Qt&&Yt(null,Zt,!0,Sn.setSeries))})),r.valToIdx=e=>ns(e,t[0]),r.posToIdx=function(e,n){return ns(Gt(e,C,n),t[0],$e,Ue)},r.posToVal=Gt,r.valToPos=(e,t,n)=>0==x[t].ori?o(e,x[t],n?fe:ie,n?me:0):l(e,x[t],n?ve:oe,n?pe:0),r.setCursor=(e,t,n)=>{Mt=e.left,Tt=e.top,an(null,t,n)};let en=0==M.ori?Jt:Xt,tn=1==M.ori?Jt:Xt;function nn(e,t){null!=e&&(e.idxs?e.idxs.forEach(((e,t)=>{j[t]=e})):void 0!==e.idx&&j.fill(e.idx),H.idx=j[0]);for(let n=0;n<_.length;n++)(n>0||1==a&&!Q)&&rn(n,j[n]);V&&H.live&&function(){if(V&&H.live)for(let e=2==a?1:0;e<_.length;e++){if(0==e&&Q)continue;let t=H.values[e],n=0;for(let r in t)K[e][n++].firstChild.nodeValue=t[r]}}(),ke=!1,!1!==t&&kn("setLegend")}function rn(e,n){var a;let i,o=_[e],l=0==e&&2==T?tt:t[e];Q?i=null!==(a=o.values(r,e,n))&&void 0!==a?a:Z:(i=o.value(r,null==n?null:l[n],e,n),i=null==i?Z:{_:i}),H.values[e]=i}function an(e,n,i){let o;Nt=Mt,At=Tt,[Mt,Tt]=Ee.move(r,Mt,Tt),Ee.left=Mt,Ee.top=Tt,Ee.show&&(wt&&Wl(wt,_s(Mt),0,ie,oe),kt&&Wl(kt,0,_s(Tt),ie,oe));let l=$e>Ue;Wt=As;let s=0==M.ori?ie:oe,c=1==M.ori?ie:oe;if(Mt<0||0==Ve||l){o=Ee.idx=null;for(let e=0;e<_.length;e++)e>0&&Oe.length>1&&Wl(Oe[e],-10,-10,ie,oe);Pe&&Yt(null,Zt,!0,null==e&&Sn.setSeries),H.live&&(j.fill(o),ke=!0)}else{let e,n,i;1==a&&(e=0==M.ori?Mt:Tt,n=Gt(e,C),o=Ee.idx=ns(n,t[0],$e,Ue),i=L(t[0][o],M,s,0));for(let l=2==a?1:0;l<_.length;l++){let e=_[l],u=j[l],d=null==u?null:1==a?t[l][u]:t[l][1][u],h=Ee.dataIdx(r,l,o,n),m=null==h?null:1==a?t[l][h]:t[l][1][h];ke=ke||m!=d||h!=u,j[l]=h;let p=h==o?i:L(1==a?t[0][h]:t[l][0][h],M,s,0);if(l>0&&e.show){let t,n,i=null==m?-10:P(m,1==a?x[e.scale]:x[e.facets[1].scale],c,0);if(Pe&&null!=m){let t=1==M.ori?Mt:Tt,n=gs(Le.dist(r,l,h,i,t));if(n=0?1:-1;i==(m>=0?1:-1)&&(1==i?1==r?m>=a:m<=a:1==r?m<=a:m>=a)&&(Wt=n,Kt=l)}else Wt=n,Kt=l}}if(0==M.ori?(t=p,n=i):(t=i,n=p),ke&&Oe.length>1){Ql(Oe[l],Ee.points.fill(r,l),Ee.points.stroke(r,l));let e,a,i,o,s=!0,c=Ee.points.bbox;if(null!=c){s=!1;let t=c(r,l);i=t.left,o=t.top,e=t.width,a=t.height}else i=t,o=n,e=a=Ee.points.size(r,l);Gl(Oe[l],e,a,s),Ie[l]=i,Re[l]=o,Wl(Oe[l],js(i,1),js(o,1),ie,oe)}}}}if($t.show&&Ft)if(null!=e){let[t,n]=Sn.scales,[r,a]=Sn.match,[i,o]=e.cursor.sync.scales,l=e.cursor.drag;if(Ht=l._x,Vt=l._y,Ht||Vt){let l,u,d,h,m,{left:p,top:f,width:v,height:g}=e.select,y=e.scales[t].ori,_=e.posToVal,b=null!=t&&r(t,i),w=null!=n&&a(n,o);b&&Ht?(0==y?(l=p,u=v):(l=f,u=g),d=x[t],h=L(_(l,i),d,s,0),m=L(_(l+u,i),d,s,0),en(ws(h,m),gs(m-h))):en(0,s),w&&Vt?(1==y?(l=p,u=v):(l=f,u=g),d=x[n],h=P(_(l,o),d,c,0),m=P(_(l+u,o),d,c,0),tn(ws(h,m),gs(m-h))):tn(0,c)}else dn()}else{let e=gs(Nt-xt),t=gs(At-St);if(1==M.ori){let n=e;e=t,t=n}Ht=jt.x&&e>=jt.dist,Vt=jt.y&&t>=jt.dist;let n,r,a=jt.uni;null!=a?Ht&&Vt&&(Ht=e>=a,Vt=t>=a,Ht||Vt||(t>e?Vt=!0:Ht=!0)):jt.x&&jt.y&&(Ht||Vt)&&(Ht=Vt=!0),Ht&&(0==M.ori?(n=Ct,r=Mt):(n=Et,r=Tt),en(ws(n,r),gs(r-n)),Vt||tn(0,c)),Vt&&(1==M.ori?(n=Ct,r=Mt):(n=Et,r=Tt),tn(ws(n,r),gs(r-n)),Ht||en(0,s)),Ht||Vt||(en(0,0),tn(0,0))}if(jt._x=Ht,jt._y=Vt,null==e){if(i){if(null!=Cn){let[e,t]=Sn.scales;Sn.values[0]=null!=e?Gt(0==M.ori?Mt:Tt,e):null,Sn.values[1]=null!=t?Gt(1==M.ori?Mt:Tt,t):null}Nn(El,r,Mt,Tt,ie,oe,o)}if(Pe){let e=i&&Sn.setSeries,t=Le.prox;null==Qt?Wt<=t&&Yt(Kt,Zt,!0,e):Wt>t?Yt(null,Zt,!0,e):Kt!=Qt&&Yt(Kt,Zt,!0,e)}}ke&&(H.idx=o,nn()),!1!==n&&kn("setCursor")}r.setLegend=nn;let on=null;function ln(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]?on=null:(on=f.getBoundingClientRect(),kn("syncRect",on))}function sn(e,t,n,r,a,i,o){Ee._lock||Ft&&null!=e&&0==e.movementX&&0==e.movementY||(cn(e,t,n,r,a,i,o,!1,null!=e),null!=e?an(null,!0,!0):an(t,!0,!1))}function cn(e,t,n,a,i,o,l,c,u){if(null==on&&ln(!1),Me(e),null!=e)n=e.clientX-on.left,a=e.clientY-on.top;else{if(n<0||a<0)return Mt=-10,void(Tt=-10);let[e,r]=Sn.scales,l=t.cursor.sync,[c,u]=l.values,[d,h]=l.scales,[m,p]=Sn.match,f=t.axes[0].side%2==1,v=0==M.ori?ie:oe,g=1==M.ori?ie:oe,y=f?o:i,_=f?i:o,b=f?a:n,w=f?n:a;if(n=null!=d?m(e,d)?s(c,x[e],v,0):-10:v*(b/y),a=null!=h?p(r,h)?s(u,x[r],g,0):-10:g*(w/_),1==M.ori){let e=n;n=a,a=e}}u&&((n<=1||n>=ie-1)&&(n=Fs(n,ie)),(a<=1||a>=oe-1)&&(a=Fs(a,oe))),c?(xt=n,St=a,[Ct,Et]=Ee.move(r,n,a)):(Mt=n,Tt=a)}Object.defineProperty(r,"rect",{get:()=>(null==on&&ln(!1),on)});const un={width:0,height:0,left:0,top:0};function dn(){Bt(un,!1)}let hn,mn,pn,fn;function vn(e,t,n,a,i,o,l){Ft=!0,Ht=Vt=jt._x=jt._y=!1,cn(e,t,n,a,i,o,0,!0,!1),null!=e&&(te(Al,Dl,gn,!1),Nn(Nl,r,Ct,Et,ie,oe,null));let{left:s,top:c,width:u,height:d}=$t;hn=s,mn=c,pn=u,fn=d,dn()}function gn(e,t,n,a,i,o,l){Ft=jt._x=jt._y=!1,cn(e,t,n,a,i,o,0,!1,!0);let{left:s,top:c,width:u,height:d}=$t,h=u>0||d>0,m=hn!=s||mn!=c||pn!=u||fn!=d;if(h&&m&&Bt($t),jt.setScale&&h&&m){let e=s,t=u,n=c,r=d;if(1==M.ori&&(e=c,t=d,n=s,r=u),Ht&&qt(C,Gt(e,C),Gt(e+t,C)),Vt)for(let a in x){let e=x[a];a!=C&&null==e.from&&e.min!=As&&qt(a,Gt(n+r,a),Gt(n,a))}dn()}else Ee.lock&&(Ee._lock=!Ee._lock,Ee._lock||an(null,!0,!1));null!=e&&(ne(Al,Dl),Nn(Al,r,Mt,Tt,ie,oe,null))}function yn(e,t,n,a,i,o,l){Ee._lock||(Me(e),at(),dn(),null!=e&&Nn(Ll,r,Mt,Tt,ie,oe,null))}function _n(){k.forEach(ud),xe(r.width,r.height,!0)}es(Ol,zl,_n);const bn={};bn.mousedown=vn,bn.mousemove=sn,bn.mouseup=gn,bn.dblclick=yn,bn.setSeries=(e,t,n,a)=>{-1!=(n=(0,Sn.match[2])(r,t,n))&&Yt(n,a,!0,!1)},Ee.show&&(te(Nl,f,vn),te(El,f,sn),te(Ml,f,(e=>{Me(e),ln(!1)})),te(Tl,f,(function(e,t,n,r,a,i,o){if(Ee._lock)return;Me(e);let l=Ft;if(Ft){let e,t,n=!0,r=!0,a=10;0==M.ori?(e=Ht,t=Vt):(e=Vt,t=Ht),e&&t&&(n=Mt<=a||Mt>=ie-a,r=Tt<=a||Tt>=oe-a),e&&n&&(Mt=Mt{e.call(null,r,t,n)}))}(e.plugins||[]).forEach((e=>{for(let t in e.hooks)wn[t]=(wn[t]||[]).concat(e.hooks[t])}));const xn=(e,t,n)=>n,Sn=tc({key:null,setSeries:!1,filters:{pub:Rs,sub:Rs},scales:[C,_[1]?_[1].scale:null],match:[Ds,Ds,xn],values:[null,null]},Ee.sync);2==Sn.match.length&&Sn.match.push(xn),Ee.sync=Sn;const Cn=Sn.key,En=ku(Cn);function Nn(e,t,n,r,a,i,o){Sn.filters.pub(e,t,n,r,a,i,o)&&En.pub(e,t,n,r,a,i,o)}function An(){kn("init",e,t),rt(t||e.data,!1),O[C]?zt(C,O[C]):at(),we=$t.show&&($t.width>0||$t.height>0),be=ke=!0,xe(e.width,e.height)}return En.sub(r),r.pub=function(e,t,n,r,a,i,o){Sn.filters.sub(e,t,n,r,a,i,o)&&bn[e](null,t,n,r,a,i,o)},r.destroy=function(){var e;En.unsub(r),Qu.delete(r),ee.clear(),ts(Ol,zl,_n),u.remove(),null===(e=U)||void 0===e||e.remove(),kn("destroy")},_.forEach(De),k.forEach((function(e,t){if(e._show=e.show,e.show){let n=e.side%2,a=x[e.scale];null==a&&(e.scale=n?_[1].scale:C,a=x[e.scale]);let i=a.time;e.size=Ls(e.size),e.space=Ls(e.space),e.rotate=Ls(e.rotate),Ks(e.incrs)&&e.incrs.forEach((e=>{!$s.has(e)&&$s.set(e,Us(e))})),e.incrs=Ls(e.incrs||(2==a.distr?yc:i?1==y?Lc:Ic:_c)),e.splits=Ls(e.splits||(i&&1==a.distr?D:3==a.distr?ru:4==a.distr?au:nu)),e.stroke=Ls(e.stroke),e.grid.stroke=Ls(e.grid.stroke),e.ticks.stroke=Ls(e.ticks.stroke),e.border.stroke=Ls(e.border.stroke);let o=e.values;e.values=Ks(o)&&!Ks(o[0])?Ls(o):i?Ks(o)?Fc(I,zc(o,R)):Zs(o)?function(e,t){let n=hc(t);return(t,r,a,i,o)=>r.map((t=>n(e(t))))}(I,o):o||z:o||tu,e.filter=Ls(e.filter||(a.distr>=3&&10==a.log?uu:3==a.distr&&2==a.log?du:Os)),e.font=cd(e.font),e.labelFont=cd(e.labelFont),e._size=e.size(r,null,t,0),e._space=e._rotate=e._incrs=e._found=e._splits=e._values=null,e._size>0&&(ze[t]=!0,e._el=ql("u-axis",m))}})),n?n instanceof HTMLElement?(n.appendChild(u),An()):n(r,An):An(),r}dd.assign=tc,dd.fmtNum=ps,dd.rangeNum=us,dd.rangeLog=as,dd.rangeAsinh=is,dd.orient=Su,dd.pxRatio=jl,dd.join=function(e,t){if(function(e){let t=e[0][0],n=t.length;for(let r=1;r1&&void 0!==arguments[1]?arguments[1]:100;const n=e.length;if(n<=1)return!0;let r=0,a=n-1;for(;r<=a&&null==e[r];)r++;for(;a>=r&&null==e[a];)a--;if(a<=r)return!0;const i=ks(1,ys((a-r+1)/t));for(let o=e[r],l=r+i;l<=a;l+=i){const t=e[l];if(null!=t){if(t<=o)return!1;o=t}}return!0}(t[0])||(t=function(e){let t=e[0],n=t.length,r=Array(n);for(let i=0;it[e]-t[n]));let a=[];for(let i=0;ie-t))],a=r[0].length,i=new Map;for(let o=0;oSu(e,i,((s,c,u,d,h,m,p,f,v,g,y)=>{let _=s.pxRound,{left:b,width:w}=e.bbox,k=e=>_(m(e,d,g,f)),x=e=>_(p(e,h,y,v)),S=0==d.ori?Iu:Ru;const C={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:xu},E=C.stroke,N=d.dir*(0==d.ori?1:-1);o=rs(u,o,l,1),l=rs(u,o,l,-1);let A=x(u[1==N?o:l]),M=k(c[1==N?o:l]),T=M,L=M;a&&-1==t&&(L=b,S(E,L,A)),S(E,M,A);for(let e=1==N?o:l;e>=o&&e<=l;e+=N){let n=u[e];if(null==n)continue;let r=k(c[e]),a=x(n);1==t?S(E,r,A):S(E,T,a),S(E,r,a),A=a,T=r}let P=T;a&&1==t&&(P=b+w,S(E,P,A));let[O,I]=Cu(e,i);if(null!=s.fill||0!=O){let t=C.fill=new Path2D(E),n=x(s.fillTo(e,i,s.min,s.max,O));S(t,P,n),S(t,L,n)}if(!s.spanGaps){let a=[];a.push(...Mu(c,u,o,l,N,k,r));let h=s.width*jl/2,m=n||1==t?h:-h,p=n||-1==t?-h:h;a.forEach((e=>{e[0]+=m,e[1]+=p})),C.gaps=a=s.gaps(e,i,o,l,a),C.clip=Au(a,d.ori,f,v,g,y)}return 0!=I&&(C.band=2==I?[Nu(e,i,o,l,E,-1),Nu(e,i,o,l,E,1)]:Nu(e,i,o,l,E,I)),C}))},e.bars=function(e){const t=ds((e=e||qs).size,[.6,As,1]),n=e.align||0,r=e.gap||0;let a=e.radius;a=null==a?[0,0]:"number"==typeof a?[a,0]:a;const i=Ls(a),o=1-t[0],l=ds(t[1],As),s=ds(t[2],1),c=ds(e.disp,qs),u=ds(e.each,(e=>{})),{fill:d,stroke:h}=c;return(e,t,a,m)=>Su(e,t,((p,f,v,g,y,_,b,w,k,x,S)=>{let C,E,N=p.pxRound,A=n,M=r*jl,T=l*jl,L=s*jl;0==g.ori?[C,E]=i(e,t):[E,C]=i(e,t);const P=g.dir*(0==g.ori?1:-1);let O,I,R,D=0==g.ori?Du:zu,z=0==g.ori?u:(e,t,n,r,a,i,o)=>{u(e,t,n,a,r,o,i)},F=ds(e.bands,Ys).find((e=>e.series[0]==t)),j=null!=F?F.dir:0,H=p.fillTo(e,t,p.min,p.max,j),V=N(b(H,y,S,k)),$=x,U=N(p.width*jl),B=!1,q=null,Y=null,W=null,K=null;null==d||0!=U&&null==h||(B=!0,q=d.values(e,t,a,m),Y=new Map,new Set(q).forEach((e=>{null!=e&&Y.set(e,new Path2D)})),U>0&&(W=h.values(e,t,a,m),K=new Map,new Set(W).forEach((e=>{null!=e&&K.set(e,new Path2D)}))));let{x0:Q,size:Z}=c;if(null!=Q&&null!=Z){A=1,f=Q.values(e,t,a,m),2==Q.unit&&(f=f.map((t=>e.posToVal(w+t*x,g.key,!0))));let n=Z.values(e,t,a,m);I=2==Z.unit?n[0]*x:_(n[0],g,x,w)-_(0,g,x,w),$=Wu(f,v,_,g,x,w,$),R=$-I+M}else $=Wu(f,v,_,g,x,w,$),R=$*o+M,I=$-R;R<1&&(R=0),U>=I/2&&(U=0),R<5&&(N=Ps);let G=R>0;I=N(Ts($-R-(G?U:0),L,T)),O=(0==A?I/2:A==P?0:I)-A*P*((0==A?M/2:0)+(G?U/2:0));const J={stroke:null,fill:null,clip:null,band:null,gaps:null,flags:0},X=B?null:new Path2D;let ee=null;if(null!=F)ee=e.data[F.series[1]];else{let{y0:n,y1:r}=c;null!=n&&null!=r&&(v=r.values(e,t,a,m),ee=n.values(e,t,a,m))}let te=C*I,ne=E*I;for(let n=1==P?a:m;n>=a&&n<=m;n+=P){let r=v[n];if(null==r)continue;if(null!=ee){var re;let e=null!==(re=ee[n])&&void 0!==re?re:0;if(r-e==0)continue;V=b(e,y,S,k)}let a=_(2!=g.distr||null!=c?f[n]:n,g,x,w),i=b(ds(r,H),y,S,k),o=N(a-O),l=N(ks(i,V)),s=N(ws(i,V)),u=l-s;if(null!=r){let a=r<0?ne:te,i=r<0?te:ne;B?(U>0&&null!=W[n]&&D(K.get(W[n]),o,s+ys(U/2),I,ks(0,u-U),a,i),null!=q[n]&&D(Y.get(q[n]),o,s+ys(U/2),I,ks(0,u-U),a,i)):D(X,o,s+ys(U/2),I,ks(0,u-U),a,i),z(e,t,n,o-U/2,s,I+U,u)}}if(U>0)J.stroke=B?K:X;else if(!B){var ae;J._fill=0==p.width?p._fill:null!==(ae=p._stroke)&&void 0!==ae?ae:p._fill,J.width=0}return J.fill=B?Y:X,J}))},e.spline=function(e){return function(e,t){const n=ds(null===t||void 0===t?void 0:t.alignGaps,0);return(t,r,a,i)=>Su(t,r,((o,l,s,c,u,d,h,m,p,f,v)=>{let g,y,_,b=o.pxRound,w=e=>b(d(e,c,f,m)),k=e=>b(h(e,u,v,p));0==c.ori?(g=Pu,_=Iu,y=Hu):(g=Ou,_=Ru,y=Vu);const x=c.dir*(0==c.ori?1:-1);a=rs(s,a,i,1),i=rs(s,a,i,-1);let S=w(l[1==x?a:i]),C=S,E=[],N=[];for(let e=1==x?a:i;e>=a&&e<=i;e+=x)if(null!=s[e]){let t=w(l[e]);E.push(C=t),N.push(k(s[e]))}const A={stroke:e(E,N,g,_,y,b),fill:null,clip:null,band:null,gaps:null,flags:xu},M=A.stroke;let[T,L]=Cu(t,r);if(null!=o.fill||0!=T){let e=A.fill=new Path2D(M),n=k(o.fillTo(t,r,o.min,o.max,T));_(e,C,n),_(e,S,n)}if(!o.spanGaps){let e=[];e.push(...Mu(l,s,a,i,x,w,n)),A.gaps=e=o.gaps(t,r,a,i,e),A.clip=Au(e,c.ori,m,p,f,v)}return 0!=L&&(A.band=2==L?[Nu(t,r,a,i,M,-1),Nu(t,r,a,i,M,1)]:Nu(t,r,a,i,M,L)),A}))}(Ku,e)}}const hd=e=>{let t=e.length,n=-1/0;for(;t--;){const r=e[t];Number.isFinite(r)&&r>n&&(n=r)}return Number.isFinite(n)?n:null},md=e=>{let t=e.length,n=1/0;for(;t--;){const r=e[t];Number.isFinite(r)&&r{let t=e.length;const n=[];for(;t--;){const r=e[t];Number.isFinite(r)&&n.push(r)}return n.sort(),n[n.length>>1]},fd=e=>{let t=e.length;for(;t--;){const n=e[t];if(Number.isFinite(n))return n}},vd=(e,t,n)=>{if(void 0===e||null===e)return"";n=n||0,t=t||0;const r=Math.abs(n-t);if(isNaN(r)||0==r)return Math.abs(e)>=1e3?e.toLocaleString("en-US"):e.toString();let a=3+Math.floor(1+Math.log10(Math.max(Math.abs(t),Math.abs(n)))-Math.log10(r));return(isNaN(a)||a>20)&&(a=20),e.toLocaleString("en-US",{minimumSignificantDigits:1,maximumSignificantDigits:a})},gd=e=>{const t=(null===e||void 0===e?void 0:e.metric)||{},n=Object.keys(t).filter((e=>"__name__"!=e)).map((e=>"".concat(e,"=").concat(JSON.stringify(t[e]))));let r=t.__name__||"";return n.length>0&&(r+="{"+n.join(",")+"}"),r},yd=[[31536e3,"{YYYY}",null,null,null,null,null,null,1],[2419200,"{MMM}","\n{YYYY}",null,null,null,null,null,1],[86400,"{MM}-{DD}","\n{YYYY}",null,null,null,null,null,1],[3600,"{HH}:{mm}","\n{YYYY}-{MM}-{DD}",null,"\n{MM}-{DD}",null,null,null,1],[60,"{HH}:{mm}","\n{YYYY}-{MM}-{DD}",null,"\n{MM}-{DD}",null,null,null,1],[1,"{HH}:{mm}:{ss}","\n{YYYY}-{MM}-{DD}",null,"\n{MM}-{DD} {HH}:{mm}",null,null,null,1],[.001,":{ss}.{fff}","\n{YYYY}-{MM}-{DD} {HH}:{mm}",null,"\n{MM}-{DD} {HH}:{mm}",null,"\n{HH}:{mm}",null,1]],_d=(e,t)=>Array.from(new Set(e.map((e=>e.scale)))).map((e=>{const n="10px Arial",r=ft("color-text"),a={scale:e,show:!0,size:wd,stroke:r,font:n,values:(e,n)=>function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";const r=t[0],a=t[t.length-1];return n?t.map((e=>"".concat(vd(e,r,a)," ").concat(n))):t.map((e=>vd(e,r,a)))}(e,n,t)};return e?Number(e)%2?a:{...a,side:1}:{space:80,values:yd,stroke:r,font:n}})),bd=(e,t)=>{if(null==e||null==t)return[-1,1];const n=.02*(Math.abs(t-e)||Math.abs(e)||1);return[e-n,t+n]},wd=(e,t,n,r)=>{var a;const i=e.axes[n];if(r>1)return i._size||60;let o=6+((null===i||void 0===i||null===(a=i.ticks)||void 0===a?void 0:a.size)||0)+(i.gap||0);const l=(null!==t&&void 0!==t?t:[]).reduce(((e,t)=>(null===t||void 0===t?void 0:t.length)>e.length?t:e),"");return""!=l&&(o+=((e,t)=>{const n=document.createElement("span");n.innerText=e,n.style.cssText="position: absolute; z-index: -1; pointer-events: none; opacity: 0; font: ".concat(t),document.body.appendChild(n);const r=n.offsetWidth;return n.remove(),r})(l,"10px Arial")),Math.ceil(o)},kd=["#e54040","#32a9dc","#2ee329","#7126a1","#e38f0f","#3d811a","#ffea00","#2d2d2d","#da42a6","#a44e0c"],xd=e=>{if(7!=e.length)return"0, 0, 0";const t=parseInt(e.slice(1,3),16),n=parseInt(e.slice(3,5),16),r=parseInt(e.slice(5,7),16);return"".concat(t,", ").concat(n,", ").concat(r)},Sd={[ut.yhatUpper]:"#7126a1",[ut.yhatLower]:"#7126a1",[ut.yhat]:"#da42a6",[ut.anomaly]:"#da4242",[ut.anomalyScore]:"#7126a1",[ut.actual]:"#203ea9",[ut.training]:"rgba(".concat(xd("#203ea9"),", 0.2)")},Cd=e=>{const t=16777215;let n=1,r=0,a=1;if(e.length>0)for(let o=0;or&&(r=e[o].charCodeAt(0)),a=parseInt(String(t/r)),n=(n+e[o].charCodeAt(0)*a*49979693)%t;let i=(n*e.length%t).toString(16);return i=i.padEnd(6,i),"#".concat(i)},Ed=((e,t,n)=>{const r=[];for(let a=0;aMath.round(e))).join(", "))}return r.map((e=>"rgb(".concat(e,")")))})([246,226,219],[127,39,4],16),Nd=()=>(e,t)=>{const n=Math.round(devicePixelRatio);dd.orient(e,t,((r,a,i,o,l,s,c,u,d,h,m,p,f,v)=>{const[g,y,_]=e.data[t],b=g.length,w=((e,t)=>{const n=e.data[t][2],r=Ed;let a=1/0,i=-1/0;for(let c=0;c0&&(a=Math.min(a,n[c]),i=Math.max(i,n[c]));const o=i-a,l=r.length,s=Array(n.length);for(let c=0;cnew Path2D)),S=b-y.lastIndexOf(y[0]),C=b/S,E=y[1]-y[0],N=g[S]-g[0],A=s(N,o,h,u)-s(0,o,h,u)-n,M=c(E,l,m,d)-c(0,l,m,d)+n,T=y.slice(0,S).map((e=>Math.round(c(e,l,m,d)-M/2))),L=Array.from({length:C},((e,t)=>Math.round(s(g[t*S],o,h,u)-A)));for(let e=0;e0&&g[e]>=(o.min||-1/0)&&g[e]<=(o.max||1/0)&&y[e]>=(l.min||-1/0)&&y[e]<=(l.max||1/0)){const t=L[~~(e/S)],n=T[e%S];v(x[w[e]],t,n,A,M)}e.ctx.save(),e.ctx.rect(e.bbox.left,e.bbox.top,e.bbox.width,e.bbox.height),e.ctx.clip(),x.forEach(((t,n)=>{e.ctx.fillStyle=k[n],e.ctx.fill(t)})),e.ctx.restore()}))},Ad=e=>{const t=(e.metric.vmrange||e.metric.le||"").split("...");return Xo(t[t.length-1])},Md=(e,t)=>Ad(e)-Ad(t),Td=(e,t)=>{if(!t)return e;const n=(e=>{var t;if(!e.every((e=>e.metric.le)))return e;const n=e.sort(((e,t)=>parseFloat(e.metric.le)-parseFloat(t.metric.le))),r=(null===(t=e[0])||void 0===t?void 0:t.group)||1;let a={metric:{le:""},values:[],group:r};const i=[];for(const l of n){const e=[a.metric.le,l.metric.le].filter((e=>e)).join("..."),t=[];for(const[n,r]of l.values){var o;const e=+r-+((null===(o=a.values.find((e=>e[0]===n)))||void 0===o?void 0:o[1])||0);t.push([n,"".concat(e)])}i.push({metric:{vmrange:e},values:t,group:r}),a=l}return i})(e.sort(Md)),r={};n.forEach((e=>e.values.forEach((e=>{let[t,n]=e;r[t]=(r[t]||0)+ +n}))));return n.map((e=>{const t=e.values.map((e=>{let[t,n]=e;const a=r[t];return[t,"".concat(Math.round(+n/a*100))]}));return{...e,values:t}})).filter((e=>!e.values.every((e=>"0"===e[1]))))},Ld=e=>{const t=["__name__","for"];return Object.entries(e).filter((e=>{let[n]=e;return!t.includes(n)})).map((e=>{let[t,n]=e;return"".concat(t,": ").concat(n)})).join(",")},Pd=(e,t,n,r)=>{const a={},i=r?0:Math.min(e.length,kd.length);for(let o=0;o{const l=r?(e=>{const t=(null===e||void 0===e?void 0:e.__name__)||"",n=new RegExp("(".concat(Object.values(ut).join("|"),")$")),r=t.match(n),a=r&&r[0];return{value:/(?:^|[^a-zA-Z0-9_])y(?:$|[^a-zA-Z0-9_])/.test(t)?ut.actual:a,group:Ld(e)}})(e[o].metric):null,s=r?(null===l||void 0===l?void 0:l.group)||"":Jo(i,n[i.group-1]);return{label:s,dash:zd(l),width:Fd(l),stroke:Hd({metricInfo:l,label:s,isAnomalyUI:r,colorState:a}),points:jd(l),spanGaps:!1,forecast:null===l||void 0===l?void 0:l.value,forecastGroup:null===l||void 0===l?void 0:l.group,freeFormFields:i.metric,show:!Rd(s,t),scale:"1",...Od(i)}}},Od=e=>{const t=e.values.map((e=>Xo(e[1]))),{min:n,max:r,median:a,last:i}={min:md(t),max:hd(t),median:pd(t),last:fd(t)};return{median:a,statsFormatted:{min:vd(n,n,r),max:vd(r,n,r),median:vd(a,n,r),last:vd(i,n,r)}}},Id=(e,t)=>({group:t,label:e.label||"",color:e.stroke,checked:e.show||!1,freeFormFields:e.freeFormFields,statsFormatted:e.statsFormatted,median:e.median}),Rd=(e,t)=>t.includes("".concat(e)),Dd=e=>{for(let t=e.series.length-1;t>=0;t--)e.delSeries(t)},zd=e=>{const t=(null===e||void 0===e?void 0:e.value)===ut.yhatLower,n=(null===e||void 0===e?void 0:e.value)===ut.yhatUpper,r=(null===e||void 0===e?void 0:e.value)===ut.yhat;return t||n?[10,5]:r?[10,2]:[]},Fd=e=>{const t=(null===e||void 0===e?void 0:e.value)===ut.yhatLower,n=(null===e||void 0===e?void 0:e.value)===ut.yhatUpper,r=(null===e||void 0===e?void 0:e.value)===ut.yhat,a=(null===e||void 0===e?void 0:e.value)===ut.anomaly;return n||t?.7:r?1:a?0:1.4},jd=e=>(null===e||void 0===e?void 0:e.value)===ut.anomaly?{size:8,width:4,space:0}:{size:4.2,width:1.4},Hd=e=>{let{metricInfo:t,label:n,isAnomalyUI:r,colorState:a}=e;const i=a[n]||Cd(n),o=(null===t||void 0===t?void 0:t.value)===ut.anomaly;return r&&o?Sd[ut.anomaly]:!r||o||null!==t&&void 0!==t&&t.value?null!==t&&void 0!==t&&t.value?null!==t&&void 0!==t&&t.value?Sd[null===t||void 0===t?void 0:t.value]:i:a[n]||Cd(n):Sd[ut.actual]},Vd=e=>{let{width:t=400,height:n=500}=e;return{width:t,height:n,series:[],tzDate:e=>i()(Gt(Xt(e))).local().toDate(),legend:{show:!1},cursor:{drag:{x:!0,y:!1},focus:{prox:30},points:{size:5.6,width:1.4},bind:{click:()=>null,dblclick:()=>null}}}},$d=e=>{Dd(e),(e=>{Object.keys(e.hooks).forEach((t=>{e.hooks[t]=[]}))})(e),e.setData([])},Ud=e=>{let{min:t,max:n}=e;return[t,n]},Bd=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;return a.limits.enable?a.limits.range[r]:bd(t,n)},qd=(e,t)=>{const n={x:{range:()=>Ud(t)}},r=Object.keys(e.limits.range);return(r.length?r:["1"]).forEach((t=>{n[t]={range:function(n){return Bd(n,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,t,e)}}})),n},Yd=e=>t=>{const n=t.posToVal(t.select.left,"x"),r=t.posToVal(t.select.left+t.select.width,"x");e({min:n,max:r})};function Wd(e){const t=xd(Sd[e]);return"rgba(".concat(t,", 0.05)")}const Kd=e=>(e=>e instanceof MouseEvent)(e)?e.clientX:e.touches[0].clientX,Qd=e=>{let{dragSpeed:t=.85,setPanning:n,setPlotScale:a}=e;const i=(0,r.useRef)({leftStart:0,xUnitsPerPx:0,scXMin:0,scXMax:0}),o=e=>{e.preventDefault();const n=Kd(e),{leftStart:r,xUnitsPerPx:o,scXMin:l,scXMax:s}=i.current,c=o*((n-r)*t);a({min:l-c,max:s-c})},l=()=>{n(!1),document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",l),document.removeEventListener("touchmove",o),document.removeEventListener("touchend",l)};return e=>{let{e:t,u:r}=e;t.preventDefault(),n(!0),i.current={leftStart:Kd(t),xUnitsPerPx:r.posToVal(1,"x")-r.posToVal(0,"x"),scXMin:r.scales.x.min||0,scXMax:r.scales.x.max||0},document.addEventListener("mousemove",o),document.addEventListener("mouseup",l),document.addEventListener("touchmove",o),document.addEventListener("touchend",l)}},Zd=e=>{const[t,n]=(0,r.useState)(!1),a=Qd({dragSpeed:.9,setPanning:n,setPlotScale:e});return{onReadyChart:t=>{const n=e=>{const n=e instanceof MouseEvent&&(e=>{const{ctrlKey:t,metaKey:n,button:r}=e;return 0===r&&(t||n)})(e),r=window.TouchEvent&&e instanceof TouchEvent&&e.touches.length>1;(n||r)&&a({u:t,e:e})};t.over.addEventListener("mousedown",n),t.over.addEventListener("touchstart",n),t.over.addEventListener("wheel",(n=>{if(!n.ctrlKey&&!n.metaKey)return;n.preventDefault();const{width:r}=t.over.getBoundingClientRect(),a=t.cursor.left&&t.cursor.left>0?t.cursor.left:0,i=t.posToVal(a,"x"),o=(t.scales.x.max||0)-(t.scales.x.min||0),l=n.deltaY<0?.9*o:o/.9,s=i-a/r*l,c=s+l;t.batch((()=>e({min:s,max:c})))}))},isPanning:t}},Gd=e=>{const t=e[0].clientX-e[1].clientX,n=e[0].clientY-e[1].clientY;return Math.sqrt(t*t+n*n)},Jd=e=>{let{uPlotInst:t,xRange:n,setPlotScale:a}=e;const[i,o]=(0,r.useState)(0),l=(0,r.useCallback)((e=>{const{target:r,ctrlKey:i,metaKey:o,key:l}=e,s=r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement;if(!t||s)return;const c="+"===l||"="===l;if(("-"===l||c)&&!(i||o)){e.preventDefault();const t=(n.max-n.min)/10*(c?1:-1);a({min:n.min+t,max:n.max-t})}}),[t,n]),s=(0,r.useCallback)((e=>{if(!t||2!==e.touches.length)return;e.preventDefault();const r=Gd(e.touches),o=i-r,l=t.scales.x.max||n.max,s=t.scales.x.min||n.min,c=(l-s)/50*(o>0?-1:1);t.batch((()=>a({min:s+c,max:l-c})))}),[t,i,n]);return Nr("keydown",l),Nr("touchmove",s),Nr("touchstart",(e=>{2===e.touches.length&&(e.preventDefault(),o(Gd(e.touches)))})),null},Xd=e=>{let{period:t,setPeriod:n}=e;const[a,o]=(0,r.useState)({min:t.start,max:t.end});return(0,r.useEffect)((()=>{o({min:t.start,max:t.end})}),[t]),{xRange:a,setPlotScale:e=>{let{min:t,max:r}=e;const a=1e3*(r-t);aFt||n({from:i()(1e3*t).toDate(),to:i()(1e3*r).toDate()})}}},eh=e=>{let{u:t,metrics:n,series:a,unit:o,isAnomalyView:l}=e;const[s,c]=(0,r.useState)(!1),[u,d]=(0,r.useState)({seriesIdx:-1,dataIdx:-1}),[h,m]=(0,r.useState)([]),p=(0,r.useCallback)((()=>{const{seriesIdx:e,dataIdx:r}=u,s=n[e-1],c=a[e],d=new Set(n.map((e=>e.group))),h=(null===s||void 0===s?void 0:s.group)||0,m=it()(t,["data",e,r],0),p=it()(t,["scales","1","min"],0),f=it()(t,["scales","1","max"],1),v=it()(t,["data",0,r],0),g={top:t?t.valToPos(m||0,(null===c||void 0===c?void 0:c.scale)||"1"):0,left:t?t.valToPos(v,"x"):0};return{unit:o,point:g,u:t,id:"".concat(e,"_").concat(r),title:d.size>1&&!l?"Query ".concat(h):"",dates:[v?i()(1e3*v).tz().format(Pt):"-"],value:vd(m,p,f),info:gd(s),statsFormatted:null===c||void 0===c?void 0:c.statsFormatted,marker:"".concat(null===c||void 0===c?void 0:c.stroke)}}),[t,u,n,a,o,l]),f=(0,r.useCallback)((()=>{if(!s)return;const e=p();h.find((t=>t.id===e.id))||m((t=>[...t,e]))}),[p,h,s]);return(0,r.useEffect)((()=>{c(-1!==u.dataIdx&&-1!==u.seriesIdx)}),[u]),Nr("click",f),{showTooltip:s,stickyTooltips:h,handleUnStick:e=>{m((t=>t.filter((t=>t.id!==e))))},getTooltipProps:p,seriesFocus:(e,t)=>{const n=null!==t&&void 0!==t?t:-1;d((e=>({...e,seriesIdx:n})))},setCursor:e=>{var t;const n=null!==(t=e.cursor.idx)&&void 0!==t?t:-1;d((e=>({...e,dataIdx:n})))},resetTooltips:()=>{m([]),d({seriesIdx:-1,dataIdx:-1})}}},th=e=>{let{u:t,id:n,title:a,dates:i,value:o,point:l,unit:s="",info:c,statsFormatted:u,isSticky:d,marker:h,onClose:m}=e;const p=(0,r.useRef)(null),[f,v]=(0,r.useState)({top:-999,left:-999}),[g,y]=(0,r.useState)(!1),[_,b]=(0,r.useState)(!1),w=(0,r.useCallback)((e=>{if(!g)return;const{clientX:t,clientY:n}=e;v({top:n,left:t})}),[g]);return(0,r.useEffect)((()=>{if(!p.current||!t)return;const{top:e,left:n}=l,r=parseFloat(t.over.style.left),a=parseFloat(t.over.style.top),{width:i,height:o}=t.over.getBoundingClientRect(),{width:s,height:c}=p.current.getBoundingClientRect(),u={top:e+a+10-(e+c>=o?c+20:0),left:n+r+10-(n+s>=i?s+20:0)};u.left<0&&(u.left=20),u.top<0&&(u.top=20),v(u)}),[t,o,l,p]),Nr("mousemove",w),Nr("mouseup",(()=>{y(!1)})),t?r.default.createPortal(Ct("div",{className:xr()({"vm-chart-tooltip":!0,"vm-chart-tooltip_sticky":d,"vm-chart-tooltip_moved":_}),ref:p,style:f,children:[Ct("div",{className:"vm-chart-tooltip-header",children:[a&&Ct("div",{className:"vm-chart-tooltip-header__title",children:a}),Ct("div",{className:"vm-chart-tooltip-header__date",children:i.map(((e,t)=>Ct("span",{children:e},t)))}),d&&Ct(xt.FK,{children:[Ct(aa,{className:"vm-chart-tooltip-header__drag",variant:"text",size:"small",startIcon:Ct(ir,{}),onMouseDown:e=>{b(!0),y(!0);const{clientX:t,clientY:n}=e;v({top:n,left:t})},ariaLabel:"drag the tooltip"}),Ct(aa,{className:"vm-chart-tooltip-header__close",variant:"text",size:"small",startIcon:Ct(On,{}),onClick:()=>{m&&m(n)},ariaLabel:"close the tooltip"})]})]}),Ct("div",{className:"vm-chart-tooltip-data",children:[h&&Ct("span",{className:"vm-chart-tooltip-data__marker",style:{background:h}}),Ct("p",{className:"vm-chart-tooltip-data__value",children:[Ct("b",{children:o}),s]})]}),u&&Ct("table",{className:"vm-chart-tooltip-stats",children:st.map(((e,t)=>Ct("div",{className:"vm-chart-tooltip-stats-row",children:[Ct("span",{className:"vm-chart-tooltip-stats-row__key",children:[e,":"]}),Ct("span",{className:"vm-chart-tooltip-stats-row__value",children:u[e]})]},t)))}),c&&Ct("p",{className:"vm-chart-tooltip__info",children:c})]}),t.root):null},nh=e=>{let{showTooltip:t,tooltipProps:n,stickyTooltips:a,handleUnStick:i}=e;return Ct(xt.FK,{children:[t&&n&&Ct(th,{...n}),a.map((e=>(0,r.createElement)(th,{...e,isSticky:!0,key:e.id,onClose:i})))]})},rh=e=>{let{data:t,series:n,metrics:a=[],period:i,yaxis:o,unit:l,setPeriod:s,layoutSize:c,height:u,isAnomalyView:d,spanGaps:h=!1}=e;const{isDarkTheme:m}=Nt(),p=(0,r.useRef)(null),[f,v]=(0,r.useState)(),{xRange:g,setPlotScale:y}=Xd({period:i,setPeriod:s}),{onReadyChart:_,isPanning:b}=Zd(y);Jd({uPlotInst:f,xRange:g,setPlotScale:y});const{showTooltip:w,stickyTooltips:k,handleUnStick:x,getTooltipProps:S,seriesFocus:C,setCursor:E,resetTooltips:N}=eh({u:f,metrics:a,series:n,unit:l,isAnomalyView:d}),A={...Vd({width:c.width,height:u}),series:n,axes:_d([{},{scale:"1"}],l),scales:qd(o,g),hooks:{ready:[_],setSeries:[C],setCursor:[E],setSelect:[Yd(y)],destroy:[$d]},bands:[]};return(0,r.useEffect)((()=>{if(N(),!p.current)return;f&&f.destroy();const e=new dd(A,t,p.current);return v(e),e.destroy}),[p,m]),(0,r.useEffect)((()=>{f&&(f.setData(t),f.redraw())}),[t]),(0,r.useEffect)((()=>{f&&(Dd(f),function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t.forEach((t=>{t.label&&(t.spanGaps=n),e.addSeries(t)}))}(f,n,h),((e,t)=>{if(e.delBand(),t.length<2)return;const n=t.map(((e,t)=>({...e,index:t}))),r=n.filter((e=>e.forecast===ut.yhatUpper)),a=n.filter((e=>e.forecast===ut.yhatLower)),i=r.map((e=>{const t=a.find((t=>t.forecastGroup===e.forecastGroup));return t?{series:[e.index,t.index],fill:Wd(ut.yhatUpper)}:null})).filter((e=>null!==e));i.length&&i.forEach((t=>{e.addBand(t)}))})(f,n),f.redraw())}),[n,h]),(0,r.useEffect)((()=>{f&&(Object.keys(o.limits.range).forEach((e=>{f.scales[e]&&(f.scales[e].range=function(t){return Bd(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,e,o)})})),f.redraw())}),[o]),(0,r.useEffect)((()=>{f&&(f.scales.x.range=()=>Ud(g),f.redraw())}),[g]),(0,r.useEffect)((()=>{f&&(f.setSize({width:c.width||400,height:u||500}),f.redraw())}),[u,c]),Ct("div",{className:xr()({"vm-line-chart":!0,"vm-line-chart_panning":b}),style:{minWidth:"".concat(c.width||400,"px"),minHeight:"".concat(u||500,"px")},children:[Ct("div",{className:"vm-line-chart__u-plot",ref:p}),Ct(nh,{showTooltip:w,tooltipProps:S(),stickyTooltips:k,handleUnStick:x})]})},ah=e=>{let{legend:t,onChange:n,isHeatmap:a,isAnomalyView:i}=e;const o=Uo(),l=(0,r.useMemo)((()=>{const e=(e=>{const t=Object.keys(e.freeFormFields).filter((e=>"__name__"!==e));return t.map((t=>{const n="".concat(t,"=").concat(JSON.stringify(e.freeFormFields[t]));return{id:"".concat(e.label,".").concat(n),freeField:n,key:t}}))})(t);return a?e.filter((e=>"vmrange"!==e.key)):e}),[t,a]),s=t.statsFormatted,c=Object.values(s).some((e=>e)),u=e=>t=>{t.stopPropagation(),(async e=>{await o(e,"".concat(e," has been copied"))})(e)};return Ct("div",{className:xr()({"vm-legend-item":!0,"vm-legend-row":!0,"vm-legend-item_hide":!t.checked&&!a,"vm-legend-item_static":a}),onClick:(e=>t=>{n&&n(e,t.ctrlKey||t.metaKey)})(t),children:[!i&&!a&&Ct("div",{className:"vm-legend-item__marker",style:{backgroundColor:t.color}}),Ct("div",{className:"vm-legend-item-info",children:Ct("span",{className:"vm-legend-item-info__label",children:[t.freeFormFields.__name__,!!l.length&&Ct(xt.FK,{children:"{"}),l.map(((e,t)=>Ct("span",{className:"vm-legend-item-info__free-fields",onClick:u(e.freeField),title:"copy to clipboard",children:[e.freeField,t+1Ct("div",{className:"vm-legend-item-stats-row",children:[Ct("span",{className:"vm-legend-item-stats-row__key",children:[e,":"]}),Ct("span",{className:"vm-legend-item-stats-row__value",children:s[e]})]},t)))})]})},ih=e=>{let{labels:t,query:n,isAnomalyView:a,onChange:i}=e;const o=(0,r.useMemo)((()=>Array.from(new Set(t.map((e=>e.group))))),[t]),l=o.length>1;return Ct(xt.FK,{children:Ct("div",{className:"vm-legend",children:o.map((e=>Ct("div",{className:"vm-legend-group",children:Ct(pi,{defaultExpanded:!0,title:Ct("div",{className:"vm-legend-group-title",children:[l&&Ct("span",{className:"vm-legend-group-title__count",children:["Query ",e,": "]}),Ct("span",{className:"vm-legend-group-title__query",children:n[e-1]})]}),children:Ct("div",{children:t.filter((t=>t.group===e)).sort(((e,t)=>(t.median||0)-(e.median||0))).map((e=>Ct(ah,{legend:e,isAnomalyView:a,onChange:i},e.label)))})})},e)))})})},oh=e=>{var t;let{min:n,max:a,legendValue:i,series:o}=e;const[l,s]=(0,r.useState)(0),[c,u]=(0,r.useState)(""),[d,h]=(0,r.useState)(""),[m,p]=(0,r.useState)(""),f=(0,r.useMemo)((()=>parseFloat(String((null===i||void 0===i?void 0:i.value)||0).replace("%",""))),[i]);return(0,r.useEffect)((()=>{s(f?(f-n)/(a-n)*100:0),u(f?"".concat(f,"%"):""),h("".concat(n,"%")),p("".concat(a,"%"))}),[f,n,a]),Ct("div",{className:"vm-legend-heatmap__wrapper",children:[Ct("div",{className:"vm-legend-heatmap",children:[Ct("div",{className:"vm-legend-heatmap-gradient",style:{background:"linear-gradient(to right, ".concat(Ed.join(", "),")")},children:!!f&&Ct("div",{className:"vm-legend-heatmap-gradient__value",style:{left:"".concat(l,"%")},children:Ct("span",{children:c})})}),Ct("div",{className:"vm-legend-heatmap__value",children:d}),Ct("div",{className:"vm-legend-heatmap__value",children:m})]}),o[1]&&Ct(ah,{legend:o[1],isHeatmap:!0},null===(t=o[1])||void 0===t?void 0:t.label)]})},lh=e=>{let{u:t,metrics:n,unit:a}=e;const[o,l]=(0,r.useState)({left:0,top:0}),[s,c]=(0,r.useState)([]),u=(0,r.useCallback)((()=>{var e;const{left:r,top:l}=o,s=it()(t,["data",1,0],[])||[],c=t?t.posToVal(r,"x"):0,u=t?t.posToVal(l,"y"):0,d=s.findIndex(((e,t)=>c>=e&&ce[0]===h))||[],v=s[d],g=i()(1e3*v).tz().format(Pt),y=i()(1e3*p).tz().format(Pt),_=(null===m||void 0===m||null===(e=m.metric)||void 0===e?void 0:e.vmrange)||"";return{unit:a,point:o,u:t,id:"".concat(_,"_").concat(g),dates:[g,y],value:"".concat(f,"%"),info:_,show:+f>0}}),[t,o,n,a]),d=(0,r.useCallback)((()=>{const e=u();e.show&&(s.find((t=>t.id===e.id))||c((t=>[...t,e])))}),[u,s]);return Nr("click",d),{stickyTooltips:s,handleUnStick:e=>{c((t=>t.filter((t=>t.id!==e))))},getTooltipProps:u,setCursor:e=>{const t=e.cursor.left||0,n=e.cursor.top||0;l({left:t,top:n})},resetTooltips:()=>{c([]),l({left:0,top:0})}}},sh=e=>{let{data:t,metrics:n=[],period:a,unit:i,setPeriod:o,layoutSize:l,height:s,onChangeLegend:c}=e;const{isDarkTheme:u}=Nt(),d=(0,r.useRef)(null),[h,m]=(0,r.useState)(),{xRange:p,setPlotScale:f}=Xd({period:a,setPeriod:o}),{onReadyChart:v,isPanning:g}=Zd(f);Jd({uPlotInst:h,xRange:p,setPlotScale:f});const{stickyTooltips:y,handleUnStick:_,getTooltipProps:b,setCursor:w,resetTooltips:k}=lh({u:h,metrics:n,unit:i}),x=(0,r.useMemo)((()=>b()),[b]),S={...Vd({width:l.width,height:s}),mode:2,series:[{},{paths:Nd(),facets:[{scale:"x",auto:!0,sorted:1},{scale:"y",auto:!0}]}],axes:(()=>{const e=_d([{}],i);return[...e,{scale:"y",stroke:e[0].stroke,font:e[0].font,size:wd,splits:n.map(((e,t)=>t)),values:n.map((e=>e.metric.vmrange))}]})(),scales:{x:{time:!0},y:{log:2,time:!1,range:(e,t,n)=>[t-1,n+1]}},hooks:{ready:[v],setCursor:[w],setSelect:[Yd(f)],destroy:[$d]}};return(0,r.useEffect)((()=>{k();const e=null===t[0]&&Array.isArray(t[1]);if(!d.current||!e)return;const n=new dd(S,t,d.current);return m(n),n.destroy}),[d,t,u]),(0,r.useEffect)((()=>{h&&(h.setSize({width:l.width||400,height:s||500}),h.redraw())}),[s,l]),(0,r.useEffect)((()=>{c(x)}),[x]),Ct("div",{className:xr()({"vm-line-chart":!0,"vm-line-chart_panning":g}),style:{minWidth:"".concat(l.width||400,"px"),minHeight:"".concat(s||500,"px")},children:[Ct("div",{className:"vm-line-chart__u-plot",ref:d}),Ct(nh,{showTooltip:!!x.show,tooltipProps:x,stickyTooltips:y,handleUnStick:_})]})},ch=()=>{const[e,t]=(0,r.useState)(null),[n,a]=(0,r.useState)({width:0,height:0}),i=(0,r.useCallback)((()=>{a({width:(null===e||void 0===e?void 0:e.offsetWidth)||0,height:(null===e||void 0===e?void 0:e.offsetHeight)||0})}),[null===e||void 0===e?void 0:e.offsetHeight,null===e||void 0===e?void 0:e.offsetWidth]);return Nr("resize",i),Er(i,[null===e||void 0===e?void 0:e.offsetHeight,null===e||void 0===e?void 0:e.offsetWidth]),[t,n]},uh={[ut.yhat]:"yhat",[ut.yhatLower]:"yhat_upper - yhat_lower",[ut.yhatUpper]:"yhat_upper - yhat_lower",[ut.anomaly]:"anomalies",[ut.training]:"training data",[ut.actual]:"y"},dh=e=>{let{series:t}=e;const n=(0,r.useMemo)((()=>{const e=t.reduce(((e,t)=>{const n=Object.prototype.hasOwnProperty.call(t,"forecast"),r=t.forecast!==ut.yhatUpper,a=!e.find((e=>e.forecast===t.forecast));return n&&a&&r&&e.push(t),e}),[]),n={...e[0],forecast:ut.training,color:Sd[ut.training]};return e.splice(1,0,n),e.map((e=>({...e,color:"string"===typeof e.stroke?e.stroke:Sd[e.forecast||ut.actual]})))}),[t]);return Ct(xt.FK,{children:Ct("div",{className:"vm-legend-anomaly",children:n.filter((e=>e.forecast!==ut.training)).map(((e,t)=>{var n;return Ct("div",{className:"vm-legend-anomaly-item",children:[Ct("svg",{children:e.forecast===ut.anomaly?Ct("circle",{cx:"15",cy:"7",r:"4",fill:e.color,stroke:e.color,strokeWidth:"1.4"}):Ct("line",{x1:"0",y1:"7",x2:"30",y2:"7",stroke:e.color,strokeWidth:e.width||1,strokeDasharray:null===(n=e.dash)||void 0===n?void 0:n.join(",")})}),Ct("div",{className:"vm-legend-anomaly-item__title",children:uh[e.forecast||ut.actual]})]},"".concat(t,"_").concat(e.forecast))}))})})},hh=e=>{let{data:t=[],period:n,customStep:a,query:i,yaxis:o,unit:l,showLegend:s=!0,setYaxisLimits:c,setPeriod:u,alias:d=[],fullWidth:h=!0,height:m,isHistogram:p,isAnomalyView:f,spanGaps:v}=e;const{isMobile:g}=Wr(),{timezone:y}=vn(),_=(0,r.useMemo)((()=>a||n.step||"1s"),[n.step,a]),b=(0,r.useMemo)((()=>Td(t,p)),[p,t]),[w,k]=(0,r.useState)([[]]),[x,S]=(0,r.useState)([]),[C,E]=(0,r.useState)([]),[N,A]=(0,r.useState)([]),[M,T]=(0,r.useState)(null),L=(0,r.useMemo)((()=>Pd(b,N,d,f)),[b,N,d,f]),P=e=>{const t=((e,t)=>{const n={},r=Object.values(e).flat(),a=md(r)||0,i=hd(r)||1;return n[1]=t?bd(a,i):[a,i],n})(e,!p);c(t)},O=e=>{if(!f)return e;const t=function(e,t){const n=e.reduce(((e,n)=>{const r=t.map((e=>"".concat(e,": ").concat(n[e]||"-"))).join("|");return(e[r]=e[r]||[]).push(n),e}),{});return Object.entries(n).map((e=>{let[t,n]=e;return{keys:t.split("|"),values:n}}))}(e,["group","label"]);return t.map((e=>{const t=e.values[0];return{...t,freeFormFields:{...t.freeFormFields,__name__:""}}}))};(0,r.useEffect)((()=>{const e=[],t={},r=[],a=[{}];null===b||void 0===b||b.forEach(((n,i)=>{const o=L(n,i);a.push(o),r.push(Id(o,n.group));const l=t[n.group]||[];for(const t of n.values)e.push(t[0]),l.push(Xo(t[1]));t[n.group]=l}));const i=((e,t,n)=>{const r=Wt(t)||1,a=Array.from(new Set(e)).sort(((e,t)=>e-t));let i=n.start;const o=Ut(n.end+r);let l=0;const s=[];for(;i<=o;){for(;l=a.length||a[l]>i)&&s.push(i)}for(;s.length<2;)s.push(i),i=Ut(i+r);return s})(e,_,n),o=b.map((e=>{const t=[],n=e.values,r=n.length;let a=0;for(const u of i){for(;anull!==e)),l=Math.abs((e=>{let t=e[0],n=1;for(let r=1;r1e10*c&&!f?t.map((()=>l)):t}));o.unshift(i),P(t);const l=p?(e=>{const t=e.slice(1,e.length),n=[],r=[];t.forEach(((e,n)=>{e.forEach(((e,a)=>{const i=a*t.length+n;r[i]=e}))})),e[0].forEach((e=>{const r=new Array(t.length).fill(e);n.push(...r)}));const a=new Array(n.length).fill(0).map(((e,n)=>n%t.length));return[null,[n,a,r]]})(o):o;k(l),S(a);const s=O(r);E(s),f&&A(s.map((e=>e.label||"")).slice(1))}),[b,y,p]),(0,r.useEffect)((()=>{const e=[],t=[{}];null===b||void 0===b||b.forEach(((n,r)=>{const a=L(n,r);t.push(a),e.push(Id(a,n.group))})),S(t),E(O(e))}),[N]);const[I,R]=ch();return Ct("div",{className:xr()({"vm-graph-view":!0,"vm-graph-view_full-width":h,"vm-graph-view_full-width_mobile":h&&g}),ref:I,children:[!p&&Ct(rh,{data:w,series:x,metrics:b,period:n,yaxis:o,unit:l,setPeriod:u,layoutSize:R,height:m,isAnomalyView:f,spanGaps:v}),p&&Ct(sh,{data:w,metrics:b,period:n,unit:l,setPeriod:u,layoutSize:R,height:m,onChangeLegend:T}),f&&s&&Ct(dh,{series:x}),!p&&s&&Ct(ih,{labels:C,query:i,isAnomalyView:f,onChange:(e,t)=>{A((e=>{let{hideSeries:t,legend:n,metaKey:r,series:a,isAnomalyView:i}=e;const{label:o}=n,l=Rd(o,t),s=a.map((e=>e.label||""));return i?s.filter((e=>e!==o)):r?l?t.filter((e=>e!==o)):[...t,o]:t.length?l?[...s.filter((e=>e!==o))]:[]:[...s.filter((e=>e!==o))]})({hideSeries:N,legend:e,metaKey:t,series:x,isAnomalyView:f}))}}),p&&s&&Ct(oh,{series:x,min:o.limits.range[1][0]||0,max:o.limits.range[1][1]||0,legendValue:M})]})},mh=e=>{let{yaxis:t,setYaxisLimits:n,toggleEnableLimits:a}=e;const{isMobile:i}=Wr(),o=(0,r.useMemo)((()=>Object.keys(t.limits.range)),[t.limits.range]),l=(0,r.useCallback)(Pi()(((e,r,a)=>{const i=t.limits.range;i[r][a]=+e,i[r][0]===i[r][1]||i[r][0]>i[r][1]||n(i)}),500),[t.limits.range]),s=(e,t)=>n=>{l(n,e,t)};return Ct("div",{className:xr()({"vm-axes-limits":!0,"vm-axes-limits_mobile":i}),children:[Ct(jo,{value:t.limits.enable,onChange:a,label:"Fix the limits for y-axis",fullWidth:i}),Ct("div",{className:"vm-axes-limits-list",children:o.map((e=>Ct("div",{className:"vm-axes-limits-list__inputs",children:[Ct(Ha,{label:"Min ".concat(e),type:"number",disabled:!t.limits.enable,value:t.limits.range[e][0],onChange:s(e,0)}),Ct(Ha,{label:"Max ".concat(e),type:"number",disabled:!t.limits.enable,value:t.limits.range[e][1],onChange:s(e,1)})]},e)))})]})},ph=e=>{let{spanGaps:t,onChange:n}=e;const{isMobile:r}=Wr();return Ct("div",{children:Ct(jo,{value:t,onChange:n,label:"Connect null values",fullWidth:r})})},fh="Graph settings",vh=e=>{let{yaxis:t,setYaxisLimits:n,toggleEnableLimits:a,spanGaps:i}=e;const o=(0,r.useRef)(null),l=(0,r.useRef)(null),{value:s,toggle:c,setFalse:u}=oa(!1);return Ct("div",{className:"vm-graph-settings",children:[Ct(fa,{title:fh,children:Ct("div",{ref:l,children:Ct(aa,{variant:"text",startIcon:Ct(Pn,{}),onClick:c,ariaLabel:"settings"})})}),Ct(ia,{open:s,buttonRef:l,placement:"bottom-right",onClose:u,title:fh,children:Ct("div",{className:"vm-graph-settings-popper",ref:o,children:Ct("div",{className:"vm-graph-settings-popper__body",children:[Ct(mh,{yaxis:t,setYaxisLimits:n,toggleEnableLimits:a}),Ct(ph,{spanGaps:i.value,onChange:i.onChange})]})})})]})},gh=e=>{let{isHistogram:t,graphData:n,controlsRef:a,isAnomalyView:i}=e;const{isMobile:o}=Wr(),{customStep:l,yaxis:s,spanGaps:c}=Ur(),{period:u}=vn(),{query:d}=En(),h=gn(),m=Br(),p=e=>{m({type:"SET_YAXIS_LIMITS",payload:e})},f=Ct("div",{className:"vm-custom-panel-body-header__graph-controls",children:[Ct(ba,{}),Ct(vh,{yaxis:s,setYaxisLimits:p,toggleEnableLimits:()=>{m({type:"TOGGLE_ENABLE_YAXIS_LIMITS"})},spanGaps:{value:c,onChange:e=>{m({type:"SET_SPAN_GAPS",payload:e})}}})]});return Ct(xt.FK,{children:[a.current&&(0,r.createPortal)(f,a.current),Ct(hh,{data:n,period:u,customStep:l,query:d,yaxis:s,setYaxisLimits:p,setPeriod:e=>{let{from:t,to:n}=e;h({type:"SET_PERIOD",payload:{from:t,to:n}})},height:o?.5*window.innerHeight:500,isHistogram:t,isAnomalyView:i,spanGaps:c})]})},yh=e=>{let{data:t}=e;const n=Uo(),a=(0,r.useMemo)((()=>JSON.stringify(t,null,2)),[t]);return Ct("div",{className:"vm-json-view",children:[Ct("div",{className:"vm-json-view__copy",children:Ct(aa,{variant:"outlined",onClick:async()=>{await n(a,"Formatted JSON has been copied")},children:"Copy JSON"})}),Ct("pre",{className:"vm-json-view__code",children:Ct("code",{children:a})})]})},_h=e=>{const t={};return e.forEach((e=>Object.entries(e.metric).forEach((e=>t[e[0]]?t[e[0]].options.add(e[1]):t[e[0]]={options:new Set([e[1]])})))),Object.entries(t).map((e=>({key:e[0],variations:e[1].options.size}))).sort(((e,t)=>e.variations-t.variations))},bh=(e,t)=>(0,r.useMemo)((()=>{const n=_h(e);return t?n.filter((e=>t.includes(e.key))):n}),[e,t]),wh=e=>{let{data:t,displayColumns:n}=e;const a=Uo(),{isMobile:i}=Wr(),{tableCompact:o}=Fr(),l=(0,r.useRef)(null),[s,c]=(0,r.useState)(""),[u,d]=(0,r.useState)("asc"),h=o?bh([{group:0,metric:{Data:"Data"}}],["Data"]):bh(t,n),m=e=>{const{__name__:t,...n}=e;return t||Object.keys(n).length?"".concat(t," ").concat(JSON.stringify(n)):""},p=new Set(null===t||void 0===t?void 0:t.map((e=>e.group))).size>1,f=(0,r.useMemo)((()=>{const e=null===t||void 0===t?void 0:t.map((e=>({metadata:h.map((t=>o?Jo(e,"",p):e.metric[t.key]||"-")),value:e.value?e.value[1]:"-",values:e.values?e.values.map((e=>{let[t,n]=e;return"".concat(n," @").concat(t)})):[],copyValue:m(e.metric)}))),n="Value"===s,r=h.findIndex((e=>e.key===s));return n||-1!==r?e.sort(((e,t)=>{const a=n?Number(e.value):e.metadata[r],i=n?Number(t.value):t.metadata[r];return("asc"===u?ai)?-1:1})):e}),[h,t,s,u,o]),v=(0,r.useMemo)((()=>f.some((e=>e.copyValue))),[f]),g=e=>()=>{(e=>{d((t=>"asc"===t&&s===e?"desc":"asc")),c(e)})(e)};return f.length?Ct("div",{className:xr()({"vm-table-view":!0,"vm-table-view_mobile":i}),children:Ct("table",{className:"vm-table",ref:l,children:[Ct("thead",{className:"vm-table-header",children:Ct("tr",{className:"vm-table__row vm-table__row_header",children:[h.map(((e,t)=>Ct("td",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:g(e.key),children:Ct("div",{className:"vm-table-cell__content",children:[e.key,Ct("div",{className:xr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":s===e.key,"vm-table__sort-icon_desc":"desc"===u&&s===e.key}),children:Ct(Vn,{})})]})},t))),Ct("td",{className:"vm-table-cell vm-table-cell_header vm-table-cell_right vm-table-cell_sort",onClick:g("Value"),children:Ct("div",{className:"vm-table-cell__content",children:[Ct("div",{className:xr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":"Value"===s,"vm-table__sort-icon_desc":"desc"===u}),children:Ct(Vn,{})}),"Value"]})}),v&&Ct("td",{className:"vm-table-cell vm-table-cell_header"})]})}),Ct("tbody",{className:"vm-table-body",children:f.map(((e,t)=>{return Ct("tr",{className:"vm-table__row",children:[e.metadata.map(((e,n)=>Ct("td",{className:xr()({"vm-table-cell vm-table-cell_no-wrap":!0,"vm-table-cell_gray":f[t-1]&&f[t-1].metadata[n]===e}),children:e},n))),Ct("td",{className:"vm-table-cell vm-table-cell_right vm-table-cell_no-wrap",children:e.values.length?e.values.map((e=>Ct("p",{children:e},e))):e.value}),v&&Ct("td",{className:"vm-table-cell vm-table-cell_right",children:e.copyValue&&Ct("div",{className:"vm-table-cell__content",children:Ct(fa,{title:"Copy row",children:Ct(aa,{variant:"text",color:"gray",size:"small",startIcon:Ct(ar,{}),onClick:(n=e.copyValue,async()=>{await a(n,"Row has been copied")}),ariaLabel:"copy row"})})})})]},t);var n}))})]})}):Ct(Qr,{variant:"warning",children:"No data to show"})},kh=e=>{let{checked:t=!1,disabled:n=!1,label:r,color:a="secondary",onChange:i}=e;return Ct("div",{className:xr()({"vm-checkbox":!0,"vm-checkbox_disabled":n,"vm-checkbox_active":t,["vm-checkbox_".concat(a,"_active")]:t,["vm-checkbox_".concat(a)]:a}),onClick:()=>{n||i(!t)},children:[Ct("div",{className:"vm-checkbox-track",children:Ct("div",{className:"vm-checkbox-track__thumb",children:Ct(er,{})})}),r&&Ct("span",{className:"vm-checkbox__label",children:r})]})},xh="Table settings",Sh=e=>{let{columns:t,defaultColumns:n=[],tableCompact:a,onChangeColumns:i,toggleTableCompact:o}=e;const{isMobile:l}=Wr(),s=(0,r.useRef)(null),{value:c,toggle:u,setFalse:d}=oa(!1),h=(0,r.useMemo)((()=>!t.length),[t]),m=e=>()=>{(e=>{i(n.includes(e)?n.filter((t=>t!==e)):[...n,e])})(e)};return(0,r.useEffect)((()=>{$o(t,n)||i(t)}),[t]),Ct("div",{className:"vm-table-settings",children:[Ct(fa,{title:xh,children:Ct("div",{ref:s,children:Ct(aa,{variant:"text",startIcon:Ct(Pn,{}),onClick:u,disabled:h,ariaLabel:"table settings"})})}),Ct(ia,{open:c,onClose:d,placement:"bottom-right",buttonRef:s,title:xh,children:Ct("div",{className:xr()({"vm-table-settings-popper":!0,"vm-table-settings-popper_mobile":l}),children:[Ct("div",{className:"vm-table-settings-popper-list vm-table-settings-popper-list_first",children:Ct(jo,{label:"Compact view",value:a,onChange:o})}),Ct("div",{className:"vm-table-settings-popper-list",children:[Ct("div",{className:"vm-table-settings-popper-list-header",children:[Ct("h3",{className:"vm-table-settings-popper-list-header__title",children:"Display columns"}),Ct(fa,{title:"Reset to default",children:Ct(aa,{color:"primary",variant:"text",size:"small",onClick:()=>{d(),i(t)},startIcon:Ct(In,{}),ariaLabel:"reset columns"})})]}),t.map((e=>Ct("div",{className:"vm-table-settings-popper-list__item",children:Ct(kh,{checked:n.includes(e),onChange:m(e),label:e,disabled:a})},e)))]})]})})]})},Ch=e=>{let{liveData:t,controlsRef:n}=e;const{tableCompact:a}=Fr(),i=jr(),[o,l]=(0,r.useState)(),s=(0,r.useMemo)((()=>_h(t||[]).map((e=>e.key))),[t]),c=Ct(Sh,{columns:s,defaultColumns:o,onChangeColumns:l,tableCompact:a,toggleTableCompact:()=>{i({type:"TOGGLE_TABLE_COMPACT"})}});return Ct(xt.FK,{children:[n.current&&(0,r.createPortal)(c,n.current),Ct(wh,{data:t,displayColumns:o})]})},Eh=e=>{let{graphData:t,liveData:n,isHistogram:r,displayType:a,controlsRef:i}=e;return a===dt.code&&n?Ct(yh,{data:n}):a===dt.table&&n?Ct(Ch,{liveData:n,controlsRef:i}):a===dt.chart&&t?Ct(gh,{graphData:t,isHistogram:r,controlsRef:i}):null},Nh=[Ct(xt.FK,{children:[Ct("p",{children:"Filename - specify the name for your report file."}),Ct("p",{children:["Default format: ",Ct("code",{children:["vmui_report_$",It,".json"]}),"."]}),Ct("p",{children:"This name will be used when saving your report on your device."})]}),Ct(xt.FK,{children:[Ct("p",{children:"Comment (optional) - add a comment to your report."}),Ct("p",{children:"This can be any additional information that will be useful when reviewing the report later."})]}),Ct(xt.FK,{children:[Ct("p",{children:"Query trace - enable this option to include a query trace in your report."}),Ct("p",{children:"This will assist in analyzing and diagnosing the query processing."})]}),Ct(xt.FK,{children:[Ct("p",{children:"Generate Report - click this button to generate and save your report. "}),Ct("p",{children:["After creation, the report can be downloaded and examined on the ",Ct(Ie,{to:Ye.queryAnalyzer,target:"_blank",rel:"noreferrer",className:"vm-link vm-link_underlined",children:qe[Ye.queryAnalyzer].title})," page."]})]})],Ah=()=>"vmui_report_".concat(i()().utc().format(It)),Mh=e=>{let{fetchUrl:t}=e;const{query:n}=En(),[a,i]=(0,r.useState)(Ah()),[o,l]=(0,r.useState)(""),[s,c]=(0,r.useState)(!0),[u,d]=(0,r.useState)(),[h,m]=(0,r.useState)(!1),p=(0,r.useRef)(null),f=(0,r.useRef)(null),v=(0,r.useRef)(null),g=(0,r.useRef)(null),y=[p,f,v,g],[_,b]=(0,r.useState)(0),{value:w,toggle:k,setFalse:x}=oa(!1),{value:S,toggle:C,setFalse:E}=oa(!1),N=(0,r.useMemo)((()=>{if(t)return t.map(((e,t)=>{const n=new URL(e);return s?n.searchParams.set("trace","1"):n.searchParams.delete("trace"),{id:t,url:n}}))}),[t,s]),A=(0,r.useCallback)((e=>{const t=JSON.stringify(e,null,2),n=new Blob([t],{type:"application/json"}),r=URL.createObjectURL(n),i=document.createElement("a");i.href=r,i.download="".concat(a||Ah(),".json"),document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r),x()}),[a]),M=(0,r.useCallback)((async()=>{if(N){d(""),m(!0);try{const e=[];for await(const{url:t,id:n}of N){const r=await fetch(t),a=await r.json();if(r.ok)a.vmui={id:n,comment:o,params:rt().parse(new URL(t).search.replace(/^\?/,""))},e.push(a);else{const e=a.errorType?"".concat(a.errorType,"\r\n"):"";d("".concat(e).concat((null===a||void 0===a?void 0:a.error)||(null===a||void 0===a?void 0:a.message)||"unknown error"))}}e.length&&A(e)}catch(rp){rp instanceof Error&&"AbortError"!==rp.name&&d("".concat(rp.name,": ").concat(rp.message))}finally{m(!1)}}else d(ht.validQuery)}),[N,o,A,n]),T=e=>()=>{b((t=>t+e))};return(0,r.useEffect)((()=>{d(""),i(Ah()),l("")}),[w]),(0,r.useEffect)((()=>{b(0)}),[S]),Ct(xt.FK,{children:[Ct(fa,{title:"Export query",children:Ct(aa,{variant:"text",startIcon:Ct(wr,{}),onClick:k,ariaLabel:"export query"})}),w&&Ct(pa,{title:"Export query",onClose:x,isOpen:w,children:Ct("div",{className:"vm-download-report",children:[Ct("div",{className:"vm-download-report-settings",children:[Ct("div",{ref:p,children:Ct(Ha,{label:"Filename",value:a,onChange:i})}),Ct("div",{ref:f,children:Ct(Ha,{type:"textarea",label:"Comment",value:o,onChange:l})}),Ct("div",{ref:v,children:Ct(kh,{checked:s,onChange:c,label:"Include query trace"})})]}),u&&Ct(Qr,{variant:"error",children:u}),Ct("div",{className:"vm-download-report__buttons",children:[Ct(aa,{variant:"text",onClick:C,children:"Help"}),Ct("div",{ref:g,children:Ct(aa,{onClick:M,disabled:h,children:h?"Loading data...":"Generate Report"})})]}),Ct(ia,{open:S,buttonRef:y[_],placement:"top-left",variant:"dark",onClose:E,children:Ct("div",{className:"vm-download-report-helper",children:[Ct("div",{className:"vm-download-report-helper__description",children:Nh[_]}),Ct("div",{className:"vm-download-report-helper__buttons",children:[0!==_&&Ct(aa,{onClick:T(-1),size:"small",color:"white",children:"Prev"}),Ct(aa,{onClick:_===y.length-1?E:T(1),size:"small",color:"white",variant:"text",children:_===y.length-1?"Close":"Next"})]})]})})]})})]})},Th=()=>{(()=>{const{tenantId:e}=Nt(),{displayType:t}=Fr(),{query:n}=En(),{duration:a,relativeTime:i,period:{date:o,step:l}}=vn(),{customStep:s}=Ur(),[,c]=je(),u=()=>{const r={};n.forEach(((n,c)=>{var u;const d="g".concat(c);r["".concat(d,".expr")]=n,r["".concat(d,".range_input")]=a,r["".concat(d,".end_input")]=o,r["".concat(d,".tab")]=(null===(u=Tr.find((e=>e.value===t)))||void 0===u?void 0:u.prometheusCode)||0,r["".concat(d,".relative_time")]=i,r["".concat(d,".tenantID")]=e,l!==s&&s&&(r["".concat(d,".step_input")]=s)})),c(al(r))};(0,r.useEffect)(u,[e,t,n,a,i,o,l,s]),(0,r.useEffect)(u,[])})();const{isMobile:e}=Wr(),{displayType:t}=Fr(),{query:n}=En(),{customStep:a}=Ur(),i=Br(),[o,l]=(0,r.useState)([]),[s,c]=(0,r.useState)(!n[0]),[u,d]=(0,r.useState)(!1),h=(0,r.useRef)(null),{fetchUrl:m,isLoading:p,liveData:f,graphData:v,error:g,queryErrors:y,setQueryErrors:_,queryStats:b,warning:w,traces:k,isHistogram:x}=nl({visible:!0,customStep:a,hideQuery:o,showAllSeries:u}),S=!(null!==f&&void 0!==f&&f.length)&&t!==dt.chart,C=!s&&g;return Nr("popstate",(()=>window.location.reload())),(0,r.useEffect)((()=>{i({type:"SET_IS_HISTOGRAM",payload:x})}),[v]),Ct("div",{className:xr()({"vm-custom-panel":!0,"vm-custom-panel_mobile":e}),children:[Ct(Qo,{queryErrors:s?[]:y,setQueryErrors:_,setHideError:c,stats:b,onHideQuery:e=>{l(e)},onRunQuery:()=>{c(!1)}}),Ct(pl,{traces:k,displayType:t}),p&&Ct(rl,{}),C&&Ct(Qr,{variant:"error",children:g}),S&&Ct(Qr,{variant:"info",children:Ct(sl,{})}),w&&Ct(fl,{warning:w,query:n,onChange:d}),Ct("div",{className:xr()({"vm-custom-panel-body":!0,"vm-custom-panel-body_mobile":e,"vm-block":!0,"vm-block_mobile":e}),children:[Ct("div",{className:"vm-custom-panel-body-header",ref:h,children:[Ct("div",{className:"vm-custom-panel-body-header__tabs",children:Ct(Lr,{})}),(v||f)&&Ct(Mh,{fetchUrl:m})]}),Ct(Eh,{graphData:v,liveData:f,isHistogram:x,displayType:t,controlsRef:h})]})]})},Lh=e=>{let{title:t,description:n,unit:a,expr:i,showLegend:o,filename:l,alias:s}=e;const{isMobile:c}=Wr(),{period:u}=vn(),{customStep:d}=Ur(),h=gn(),m=(0,r.useRef)(null),[p,f]=(0,r.useState)(!1),[v,g]=(0,r.useState)(!1),[y,_]=(0,r.useState)({limits:{enable:!1,range:{1:[0,0]}}}),b=(0,r.useMemo)((()=>Array.isArray(i)&&i.every((e=>e))),[i]),{isLoading:w,graphData:k,error:x,warning:S}=nl({predefinedQuery:b?i:[],display:dt.chart,visible:p,customStep:d}),C=e=>{const t={...y};t.limits.range=e,_(t)};if((0,r.useEffect)((()=>{const e=new IntersectionObserver((e=>{e.forEach((e=>f(e.isIntersecting)))}),{threshold:.1});return m.current&&e.observe(m.current),()=>{m.current&&e.unobserve(m.current)}}),[m]),!b)return Ct(Qr,{variant:"error",children:[Ct("code",{children:'"expr"'})," not found. Check the configuration file ",Ct("b",{children:l}),"."]});const E=()=>Ct("div",{className:"vm-predefined-panel-header__description vm-default-styles",children:[n&&Ct(xt.FK,{children:[Ct("div",{children:[Ct("span",{children:"Description:"}),Ct("div",{dangerouslySetInnerHTML:{__html:To.parse(n)}})]}),Ct("hr",{})]}),Ct("div",{children:[Ct("span",{children:"Queries:"}),Ct("div",{children:i.map(((e,t)=>Ct("div",{children:e},"".concat(t,"_").concat(e))))})]})]});return Ct("div",{className:"vm-predefined-panel",ref:m,children:[Ct("div",{className:"vm-predefined-panel-header",children:[Ct(fa,{title:Ct(E,{}),children:Ct("div",{className:"vm-predefined-panel-header__info",children:Ct(Rn,{})})}),Ct("h3",{className:"vm-predefined-panel-header__title",children:t||""}),Ct(vh,{yaxis:y,setYaxisLimits:C,toggleEnableLimits:()=>{const e={...y};e.limits.enable=!e.limits.enable,_(e)},spanGaps:{value:v,onChange:g}})]}),Ct("div",{className:"vm-predefined-panel-body",children:[w&&Ct(rl,{}),x&&Ct(Qr,{variant:"error",children:x}),S&&Ct(Qr,{variant:"warning",children:S}),k&&Ct(hh,{data:k,period:u,customStep:d,query:i,yaxis:y,unit:a,alias:s,showLegend:o,setYaxisLimits:C,setPeriod:e=>{let{from:t,to:n}=e;h({type:"SET_PERIOD",payload:{from:t,to:n}})},fullWidth:!1,height:c?.5*window.innerHeight:500,spanGaps:v})]})]})},Ph=e=>{let{index:t,title:n,panels:a,filename:i}=e;const o=Ar(),l=(0,r.useMemo)((()=>o.width/12),[o]),[s,c]=(0,r.useState)(!t),[u,d]=(0,r.useState)([]);(0,r.useEffect)((()=>{d(a&&a.map((e=>e.width||12)))}),[a]);const[h,m]=(0,r.useState)({start:0,target:0,enable:!1}),p=(0,r.useCallback)((e=>{if(!h.enable)return;const{start:t}=h,n=Math.ceil((t-e.clientX)/l);if(Math.abs(n)>=12)return;const r=u.map(((e,t)=>e-(t===h.target?n:0)));d(r)}),[h,l]),f=(0,r.useCallback)((()=>{m({...h,enable:!1})}),[h]),v=e=>t=>{((e,t)=>{m({start:e.clientX,target:t,enable:!0})})(t,e)};Nr("mousemove",p),Nr("mouseup",f);return Ct("div",{className:"vm-predefined-dashboard",children:Ct(pi,{defaultExpanded:s,onChange:e=>c(e),title:Ct((()=>Ct("div",{className:xr()({"vm-predefined-dashboard-header":!0,"vm-predefined-dashboard-header_open":s}),children:[(n||i)&&Ct("span",{className:"vm-predefined-dashboard-header__title",children:n||"".concat(t+1,". ").concat(i)}),a&&Ct("span",{className:"vm-predefined-dashboard-header__count",children:["(",a.length," panels)"]})]})),{}),children:Ct("div",{className:"vm-predefined-dashboard-panels",children:Array.isArray(a)&&a.length?a.map(((e,t)=>Ct("div",{className:"vm-predefined-dashboard-panels-panel vm-block vm-block_empty-padding",style:{gridColumn:"span ".concat(u[t])},children:[Ct(Lh,{title:e.title,description:e.description,unit:e.unit,expr:e.expr,alias:e.alias,filename:i,showLegend:e.showLegend}),Ct("button",{className:"vm-predefined-dashboard-panels-panel__resizer",onMouseDown:v(t),"aria-label":"resize the panel"})]},t))):Ct("div",{className:"vm-predefined-dashboard-panels-panel__alert",children:Ct(Qr,{variant:"error",children:[Ct("code",{children:'"panels"'})," not found. Check the configuration file ",Ct("b",{children:i}),"."]})})})})})},Oh=()=>{(()=>{const{duration:e,relativeTime:t,period:{date:n}}=vn(),{customStep:a}=Ur(),{setSearchParamsFromKeys:i}=ii(),o=()=>{const r=al({"g0.range_input":e,"g0.end_input":n,"g0.step_input":a,"g0.relative_time":t});i(r)};(0,r.useEffect)(o,[e,t,n,a]),(0,r.useEffect)(o,[])})();const{isMobile:e}=Wr(),{dashboardsSettings:t,dashboardsLoading:n,dashboardsError:a}=ea(),[i,o]=(0,r.useState)(0),l=(0,r.useMemo)((()=>t.map(((e,t)=>({label:e.title||"",value:t})))),[t]),s=(0,r.useMemo)((()=>t[i]||{}),[t,i]),c=(0,r.useMemo)((()=>null===s||void 0===s?void 0:s.rows),[s]),u=(0,r.useMemo)((()=>s.title||s.filename||""),[s]),d=(0,r.useMemo)((()=>Array.isArray(c)&&!!c.length),[c]),h=e=>()=>{(e=>{o(e)})(e)};return Ct("div",{className:"vm-predefined-panels",children:[n&&Ct(rl,{}),!t.length&&a&&Ct(Qr,{variant:"error",children:a}),!t.length&&Ct(Qr,{variant:"info",children:"Dashboards not found"}),l.length>1&&Ct("div",{className:xr()({"vm-predefined-panels-tabs":!0,"vm-predefined-panels-tabs_mobile":e}),children:l.map((e=>Ct("div",{className:xr()({"vm-predefined-panels-tabs__tab":!0,"vm-predefined-panels-tabs__tab_active":e.value==i}),onClick:h(e.value),children:e.label},e.value)))}),Ct("div",{className:"vm-predefined-panels__dashboards",children:[d&&c.map(((e,t)=>Ct(Ph,{index:t,filename:u,title:e.title,panels:e.panels},"".concat(i,"_").concat(t)))),!!t.length&&!d&&Ct(Qr,{variant:"error",children:[Ct("code",{children:'"rows"'})," not found. Check the configuration file ",Ct("b",{children:u}),"."]})]})]})},Ih=(e,t)=>{const n=t.match?"&match[]="+encodeURIComponent(t.match):"",r=t.focusLabel?"&focusLabel="+encodeURIComponent(t.focusLabel):"";return"".concat(e,"/api/v1/status/tsdb?topN=").concat(t.topN,"&date=").concat(t.date).concat(n).concat(r)};class Rh{constructor(){this.tsdbStatus=void 0,this.tabsNames=void 0,this.isPrometheus=void 0,this.tsdbStatus=this.defaultTSDBStatus,this.tabsNames=["table","graph"],this.isPrometheus=!1,this.getDefaultState=this.getDefaultState.bind(this)}set tsdbStatusData(e){this.isPrometheus=!(null===e||void 0===e||!e.headStats),this.tsdbStatus=e}get tsdbStatusData(){return this.tsdbStatus}get defaultTSDBStatus(){return{totalSeries:0,totalSeriesPrev:0,totalSeriesByAll:0,totalLabelValuePairs:0,seriesCountByMetricName:[],seriesCountByLabelName:[],seriesCountByFocusLabelValue:[],seriesCountByLabelValuePair:[],labelValueCountByLabelName:[]}}get isPrometheusData(){return this.isPrometheus}keys(e,t){const n=e&&/__name__=".+"/.test(e),r=e&&/{.+=".+"}/g.test(e),a=e&&/__name__=".+", .+!=""/g.test(e);let i=[];return i=t||a?i.concat("seriesCountByFocusLabelValue"):n?i.concat("labelValueCountByLabelName"):r?i.concat("seriesCountByMetricName","seriesCountByLabelName"):i.concat("seriesCountByMetricName","seriesCountByLabelName","seriesCountByLabelValuePair","labelValueCountByLabelName"),i}getDefaultState(e,t){return this.keys(e,t).reduce(((e,t)=>({...e,tabs:{...e.tabs,[t]:this.tabsNames},containerRefs:{...e.containerRefs,[t]:(0,r.useRef)(null)}})),{tabs:{},containerRefs:{}})}sectionsTitles(e){return{seriesCountByMetricName:"Metric names with the highest number of series",seriesCountByLabelName:"Labels with the highest number of series",seriesCountByFocusLabelValue:'Values for "'.concat(e,'" label with the highest number of series'),seriesCountByLabelValuePair:"Label=value pairs with the highest number of series",labelValueCountByLabelName:"Labels with the highest number of unique values"}}get sectionsTips(){return{seriesCountByMetricName:"\n

    \n This table returns a list of metrics with the highest cardinality.\n The cardinality of a metric is the number of time series associated with that metric,\n where each time series is defined as a unique combination of key-value label pairs.\n

    \n

    \n When looking to reduce the number of active series in your data source,\n you can start by inspecting individual metrics with high cardinality\n (i.e. that have lots of active time series associated with them),\n since that single metric contributes a large fraction of the series that make up your total series count.\n

    ",seriesCountByLabelName:"\n

    \n This table returns a list of the labels with the highest number of series.\n

    \n

    \n Use this table to identify labels that are storing dimensions with high cardinality\n (many different label values).\n

    \n

    \n It is recommended to choose labels such that they have a finite set of values,\n since every unique combination of key-value label pairs creates a new time series\n and therefore can dramatically increase the number of time series in your system.\n

    ",seriesCountByFocusLabelValue:"\n

    \n This table returns a list of unique label values per selected label.\n

    \n

    \n Use this table to identify label values that are storing per each selected series.\n

    ",labelValueCountByLabelName:"\n

    \n This table returns a list of labels with the highest number of the unique values.\n

    \n ",seriesCountByLabelValuePair:"\n

    \n This table returns a list of the label values pairs with the highest number of series.\n

    \n

    \n Use this table to identify unique label values pairs. This helps to identify same labels \n is applied to count timeseries in your system, since every unique combination of key-value label pairs \n creates a new time series and therefore can dramatically increase the number of time series in your system\n

    "}}get tablesHeaders(){return{seriesCountByMetricName:Dh,seriesCountByLabelName:zh,seriesCountByFocusLabelValue:Fh,seriesCountByLabelValuePair:jh,labelValueCountByLabelName:Hh}}totalSeries(e){return"labelValueCountByLabelName"===e?-1:arguments.length>1&&void 0!==arguments[1]&&arguments[1]?this.tsdbStatus.totalSeriesPrev:this.tsdbStatus.totalSeries}}const Dh=[{id:"name",label:"Metric name"},{id:"value",label:"Number of series"},{id:"percentage",label:"Share in total",info:"Shows the share of a metric to the total number of series"},{id:"action",label:""}],zh=[{id:"name",label:"Label name"},{id:"value",label:"Number of series"},{id:"percentage",label:"Share in total",info:"Shows the share of the label to the total number of series"},{id:"action",label:""}],Fh=[{id:"name",label:"Label value"},{id:"value",label:"Number of series"},{id:"percentage",label:"Share in total"},{disablePadding:!1,id:"action",label:"",numeric:!1}],jh=[{id:"name",label:"Label=value pair"},{id:"value",label:"Number of series"},{id:"percentage",label:"Share in total",info:"Shows the share of the label value pair to the total number of series"},{id:"action",label:""}],Hh=[{id:"name",label:"Label name"},{id:"value",label:"Number of unique values"},{id:"action",label:""}],Vh=()=>{const e=new Rh,[t]=je(),n=t.get("match"),a=t.get("focusLabel"),o=+(t.get("topN")||10),l=t.get("date")||i()().tz().format(Tt),s=$a(l),{serverUrl:c}=Nt(),[u,d]=(0,r.useState)(!1),[h,m]=(0,r.useState)(),[p,f]=(0,r.useState)(e.defaultTSDBStatus),[v,g]=(0,r.useState)(!1),y=async e=>{const t=await fetch(e);if(t.ok)return await t.json();throw new Error("Request failed with status ".concat(t.status))},_=async t=>{if(!c)return;m(""),d(!0),f(e.defaultTSDBStatus);const r={...t,date:t.date,topN:0,match:"",focusLabel:""},a={...t,date:i()(t.date).subtract(1,"day").tz().format(Tt)},o=[Ih(c,t),Ih(c,a)];s!==l&&o.push(Ih(c,r));try{var u,h,v,g,_,b,w,k,x,S;const[e,t,r={}]=await Promise.all(o.map(y)),a={...t.data},{data:i}=r,l={...e.data,totalSeries:(null===(u=e.data)||void 0===u?void 0:u.totalSeries)||(null===(h=e.data)||void 0===h||null===(v=h.headStats)||void 0===v?void 0:v.numSeries)||0,totalLabelValuePairs:(null===(g=e.data)||void 0===g?void 0:g.totalLabelValuePairs)||(null===(_=e.data)||void 0===_||null===(b=_.headStats)||void 0===b?void 0:b.numLabelValuePairs)||0,seriesCountByLabelName:(null===(w=e.data)||void 0===w?void 0:w.seriesCountByLabelName)||[],seriesCountByFocusLabelValue:(null===(k=e.data)||void 0===k?void 0:k.seriesCountByFocusLabelValue)||[],totalSeriesByAll:(null===i||void 0===i?void 0:i.totalSeries)||(null===i||void 0===i||null===(x=i.headStats)||void 0===x?void 0:x.numSeries)||p.totalSeriesByAll||0,totalSeriesPrev:(null===a||void 0===a?void 0:a.totalSeries)||(null===a||void 0===a||null===(S=a.headStats)||void 0===S?void 0:S.numSeries)||0},s=null===n||void 0===n?void 0:n.replace(/[{}"]/g,"");l.seriesCountByLabelValuePair=l.seriesCountByLabelValuePair.filter((e=>e.name!==s)),((e,t)=>{Object.keys(e).forEach((n=>{const r=n,a=e[r],i=t[r];Array.isArray(a)&&Array.isArray(i)&&a.forEach((e=>{var t;const n=null===(t=i.find((t=>t.name===e.name)))||void 0===t?void 0:t.value;e.diff=n?e.value-n:0,e.valuePrev=n||0}))}))})(l,a),f(l),d(!1)}catch(rp){d(!1),rp instanceof Error&&m("".concat(rp.name,": ").concat(rp.message))}};return(0,r.useEffect)((()=>{_({topN:o,match:n,date:l,focusLabel:a})}),[c,n,a,o,l]),(0,r.useEffect)((()=>{h&&(f(e.defaultTSDBStatus),d(!1))}),[h]),(0,r.useEffect)((()=>{const e=Ge(c);g(!!e)}),[c]),e.tsdbStatusData=p,{isLoading:u,appConfigurator:e,error:h,isCluster:v}},$h={seriesCountByMetricName:e=>{let{query:t}=e;return Uh("__name__",t)},seriesCountByLabelName:e=>{let{query:t}=e;return"{".concat(t,'!=""}')},seriesCountByFocusLabelValue:e=>{let{query:t,focusLabel:n}=e;return Uh(n,t)},seriesCountByLabelValuePair:e=>{let{query:t}=e;const n=t.split("="),r=n[0],a=n.slice(1).join("=");return Uh(r,a)},labelValueCountByLabelName:e=>{let{query:t,match:n}=e;return""===n?"{".concat(t,'!=""}'):"".concat(n.replace("}",""),", ").concat(t,'!=""}')}},Uh=(e,t)=>e?"{"+e+"="+JSON.stringify(t)+"}":"",Bh=e=>{var t;let{totalSeries:n=0,totalSeriesPrev:r=0,totalSeriesAll:a=0,seriesCountByMetricName:i=[],isPrometheus:o}=e;const{isMobile:l}=Wr(),[s]=je(),c=s.get("match"),u=s.get("focusLabel"),d=/__name__/.test(c||""),h=(null===(t=i[0])||void 0===t?void 0:t.value)/a*100,m=n-r,p=Math.abs(m)/r*100,f=[{title:"Total series",value:n.toLocaleString("en-US"),dynamic:n&&r&&!o?"".concat(p.toFixed(2),"%"):"",display:!u,info:'The total number of active time series. \n A time series is uniquely identified by its name plus a set of its labels. \n For example, temperature{city="NY",country="US"} and temperature{city="SF",country="US"} \n are two distinct series, since they differ by the city label.'},{title:"Percentage from total",value:isNaN(h)?"-":"".concat(h.toFixed(2),"%"),display:d,info:"The share of these series in the total number of time series."}].filter((e=>e.display));return f.length?Ct("div",{className:xr()({"vm-cardinality-totals":!0,"vm-cardinality-totals_mobile":l}),children:f.map((e=>{let{title:t,value:n,info:a,dynamic:i}=e;return Ct("div",{className:"vm-cardinality-totals-card",children:[Ct("h4",{className:"vm-cardinality-totals-card__title",children:[t,a&&Ct(fa,{title:Ct("p",{className:"vm-cardinality-totals-card__tooltip",children:a}),children:Ct("div",{className:"vm-cardinality-totals-card__info-icon",children:Ct(Rn,{})})})]}),Ct("span",{className:"vm-cardinality-totals-card__value",children:n}),!!i&&Ct(fa,{title:"in relation to the previous day: ".concat(r.toLocaleString("en-US")),children:Ct("span",{className:xr()({"vm-dynamic-number":!0,"vm-dynamic-number_positive vm-dynamic-number_down":m<0,"vm-dynamic-number_negative vm-dynamic-number_up":m>0}),children:i})})]},t)}))}):null},qh=(e,t)=>{const[n]=je(),a=n.get(t)?n.get(t):e,[i,o]=(0,r.useState)(a);return(0,r.useEffect)((()=>{a!==i&&o(a)}),[a]),[i,o]},Yh=e=>{let{isPrometheus:t,isCluster:n,...a}=e;const{isMobile:i}=Wr(),[o]=je(),{setSearchParamsFromKeys:l}=ii(),s=o.get("tips")||"",[c,u]=qh("","match"),[d,h]=qh("","focusLabel"),[m,p]=qh(10,"topN"),f=(0,r.useMemo)((()=>m<0?"Number must be bigger than zero":""),[m]),v=()=>{l({match:c,topN:m,focusLabel:d})};return(0,r.useEffect)((()=>{const e=o.get("match"),t=+(o.get("topN")||10),n=o.get("focusLabel");e!==c&&u(e||""),t!==m&&p(t),n!==d&&h(n||"")}),[o]),Ct("div",{className:xr()({"vm-cardinality-configurator":!0,"vm-cardinality-configurator_mobile":i,"vm-block":!0,"vm-block_mobile":i}),children:[Ct("div",{className:"vm-cardinality-configurator-controls",children:[Ct("div",{className:"vm-cardinality-configurator-controls__query",children:Ct(Ha,{label:"Time series selector",type:"string",value:c,onChange:u,onEnter:v})}),Ct("div",{className:"vm-cardinality-configurator-controls__item",children:Ct(Ha,{label:"Focus label",type:"text",value:d||"",onChange:h,onEnter:v,endIcon:Ct(fa,{title:Ct("div",{children:Ct("p",{children:"To identify values with the highest number of series for the selected label."})}),children:Ct(cr,{})})})}),Ct("div",{className:"vm-cardinality-configurator-controls__item vm-cardinality-configurator-controls__item_limit",children:Ct(Ha,{label:"Limit entries",type:"number",value:t?10:m,error:f,disabled:t,helperText:t?"not available for Prometheus":"",onChange:e=>{const t=+e;p(isNaN(t)?0:t)},onEnter:v})})]}),Ct("div",{className:"vm-cardinality-configurator-bottom",children:[Ct(Bh,{isPrometheus:t,isCluster:n,...a}),n&&Ct("div",{className:"vm-cardinality-configurator-bottom-helpful",children:Ct(il,{href:"https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#cardinality-explorer-statistic-inaccuracy",withIcon:!0,children:[Ct(lr,{}),"Statistic inaccuracy explanation"]})}),Ct("div",{className:"vm-cardinality-configurator-bottom-helpful",children:Ct(il,{href:"https://docs.victoriametrics.com/#cardinality-explorer",withIcon:!0,children:[Ct(lr,{}),"Documentation"]})}),Ct("div",{className:"vm-cardinality-configurator-bottom__execute",children:[Ct(fa,{title:s?"Hide tips":"Show tips",children:Ct(aa,{variant:"text",color:s?"warning":"gray",startIcon:Ct(mr,{}),onClick:()=>{const e=o.get("tips")||"";l({tips:e?"":"true"})},ariaLabel:"visibility tips"})}),Ct(aa,{variant:"text",startIcon:Ct(In,{}),onClick:()=>{l({match:"",focusLabel:""})},children:"Reset"}),Ct(aa,{startIcon:Ct(Yn,{}),onClick:v,children:"Execute Query"})]})]})]})};function Wh(e){const{order:t,orderBy:n,onRequestSort:r,headerCells:a}=e;return Ct("thead",{className:"vm-table-header vm-cardinality-panel-table__header",children:Ct("tr",{className:"vm-table__row vm-table__row_header",children:a.map((e=>{return Ct("th",{className:xr()({"vm-table-cell vm-table-cell_header":!0,"vm-table-cell_sort":"action"!==e.id&&"percentage"!==e.id,"vm-table-cell_right":"action"===e.id}),onClick:(a=e.id,e=>{r(e,a)}),children:Ct("div",{className:"vm-table-cell__content",children:[e.info?Ct(fa,{title:e.info,children:[Ct("div",{className:"vm-metrics-content-header__tip-icon",children:Ct(Rn,{})}),e.label]}):Ct(xt.FK,{children:e.label}),"action"!==e.id&&"percentage"!==e.id&&Ct("div",{className:xr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":n===e.id,"vm-table__sort-icon_desc":"desc"===t&&n===e.id}),children:Ct(Vn,{})})]})},e.id);var a}))})})}const Kh=["date","timestamp","time"];function Qh(e,t,n){const r=e[n],a=t[n],o=Kh.includes("".concat(n))?i()("".concat(r)).unix():r,l=Kh.includes("".concat(n))?i()("".concat(a)).unix():a;return lo?1:0}function Zh(e,t){return"desc"===e?(e,n)=>Qh(e,n,t):(e,n)=>-Qh(e,n,t)}function Gh(e,t){const n=e.map(((e,t)=>[e,t]));return n.sort(((e,n)=>{const r=t(e[0],n[0]);return 0!==r?r:e[1]-n[1]})),n.map((e=>e[0]))}const Jh=e=>{let{rows:t,headerCells:n,defaultSortColumn:a,tableCells:i}=e;const[o,l]=(0,r.useState)("desc"),[s,c]=(0,r.useState)(a),u=Gh(t,Zh(o,s));return Ct("table",{className:"vm-table vm-cardinality-panel-table",children:[Ct(Wh,{order:o,orderBy:s,onRequestSort:(e,t)=>{l(s===t&&"asc"===o?"desc":"asc"),c(t)},rowCount:t.length,headerCells:n}),Ct("tbody",{className:"vm-table-header",children:u.map((e=>Ct("tr",{className:"vm-table__row",children:i(e)},e.name)))})]})},Xh=e=>{let{row:t,totalSeries:n,totalSeriesPrev:r,onActionClick:a}=e;const i=n>0?t.value/n*100:-1,o=r>0?t.valuePrev/r*100:-1,l=[i,o].some((e=>-1===e)),s=i-o,c=l?"":"".concat(s.toFixed(2),"%"),u=()=>{a(t.name)};return Ct(xt.FK,{children:[Ct("td",{className:"vm-table-cell",children:Ct("span",{className:"vm-link vm-link_colored",onClick:u,children:t.name})},t.name),Ct("td",{className:"vm-table-cell",children:[t.value,!!t.diff&&Ct(fa,{title:"in relation to the previous day: ".concat(t.valuePrev),children:Ct("span",{className:xr()({"vm-dynamic-number":!0,"vm-dynamic-number_positive":t.diff<0,"vm-dynamic-number_negative":t.diff>0}),children:["\xa0",t.diff>0?"+":"",t.diff]})})]},t.value),i>0&&Ct("td",{className:"vm-table-cell",children:Ct("div",{className:"vm-cardinality-panel-table__progress",children:[Ct(cl,{value:i}),c&&Ct(fa,{title:"in relation to the previous day",children:Ct("span",{className:xr()({"vm-dynamic-number":!0,"vm-dynamic-number_positive vm-dynamic-number_down":s<0,"vm-dynamic-number_negative vm-dynamic-number_up":s>0}),children:c})})]})},t.progressValue),Ct("td",{className:"vm-table-cell vm-table-cell_right",children:Ct("div",{className:"vm-table-cell__content",children:Ct(fa,{title:"Filter by ".concat(t.name),children:Ct(aa,{variant:"text",size:"small",onClick:u,children:Ct(Wn,{})})})})},"action")]})},em=e=>{let{data:t}=e;const[n,a]=(0,r.useState)([]),[i,o]=(0,r.useState)([0,0]);return(0,r.useEffect)((()=>{const e=t.sort(((e,t)=>t.value-e.value)),n=(e=>{const t=e.map((e=>e.value)),n=Math.ceil(t[0]||1),r=n/9;return new Array(11).fill(n+r).map(((e,t)=>Math.round(e-r*t)))})(e);o(n),a(e.map((e=>({...e,percentage:e.value/n[0]*100}))))}),[t]),Ct("div",{className:"vm-simple-bar-chart",children:[Ct("div",{className:"vm-simple-bar-chart-y-axis",children:i.map((e=>Ct("div",{className:"vm-simple-bar-chart-y-axis__tick",children:e},e)))}),Ct("div",{className:"vm-simple-bar-chart-data",children:n.map((e=>{let{name:t,value:n,percentage:r}=e;return Ct(fa,{title:"".concat(t,": ").concat(n),placement:"top-center",children:Ct("div",{className:"vm-simple-bar-chart-data-item",style:{maxHeight:"".concat(r||0,"%")}})},"".concat(t,"_").concat(n))}))})]})},tm=e=>{let{rows:t,tabs:n=[],chartContainer:a,totalSeries:i,totalSeriesPrev:o,onActionClick:l,sectionTitle:s,tip:c,tableHeaderCells:u,isPrometheus:d}=e;const{isMobile:h}=Wr(),[m,p]=(0,r.useState)("table"),f=d&&!t.length,v=(0,r.useMemo)((()=>n.map(((e,t)=>({value:e,label:e,icon:Ct(0===t?Qn:Kn,{})})))),[n]);return Ct("div",{className:xr()({"vm-metrics-content":!0,"vm-metrics-content_mobile":h,"vm-block":!0,"vm-block_mobile":h}),children:[Ct("div",{className:"vm-metrics-content-header vm-section-header",children:[Ct("h5",{className:xr()({"vm-metrics-content-header__title":!0,"vm-section-header__title":!0,"vm-section-header__title_mobile":h}),children:[!h&&c&&Ct(fa,{title:Ct("p",{dangerouslySetInnerHTML:{__html:c},className:"vm-metrics-content-header__tip"}),children:Ct("div",{className:"vm-metrics-content-header__tip-icon",children:Ct(Rn,{})})}),s]}),Ct("div",{className:"vm-section-header__tabs",children:Ct(Mr,{activeItem:m,items:v,onChange:p})})]}),f&&Ct("div",{className:"vm-metrics-content-prom-data",children:[Ct("div",{className:"vm-metrics-content-prom-data__icon",children:Ct(Rn,{})}),Ct("h3",{className:"vm-metrics-content-prom-data__title",children:"Prometheus Data Limitation"}),Ct("p",{className:"vm-metrics-content-prom-data__text",children:["Due to missing data from your Prometheus source, some tables may appear empty.",Ct("br",{}),"This does not indicate an issue with your system or our tool."]})]}),!f&&"table"===m&&Ct("div",{ref:a,className:xr()({"vm-metrics-content__table":!0,"vm-metrics-content__table_mobile":h}),children:Ct(Jh,{rows:t,headerCells:u,defaultSortColumn:"value",tableCells:e=>Ct(Xh,{row:e,totalSeries:i,totalSeriesPrev:o,onActionClick:l})})}),!f&&"graph"===m&&Ct("div",{className:"vm-metrics-content__chart",children:Ct(em,{data:t.map((e=>{let{name:t,value:n}=e;return{name:t,value:n}}))})})]})},nm=e=>{let{title:t,children:n}=e;return Ct("div",{className:"vm-cardinality-tip",children:[Ct("div",{className:"vm-cardinality-tip-header",children:[Ct("div",{className:"vm-cardinality-tip-header__tip-icon",children:Ct(mr,{})}),Ct("h4",{className:"vm-cardinality-tip-header__title",children:t||"Tips"})]}),Ct("p",{className:"vm-cardinality-tip__description",children:n})]})},rm=()=>Ct(nm,{title:"Metrics with a high number of series",children:Ct("ul",{children:[Ct("li",{children:["Identify and eliminate labels with frequently changed values to reduce their\xa0",Ct(il,{href:"https://docs.victoriametrics.com/FAQ.html#what-is-high-cardinality",children:"cardinality"}),"\xa0and\xa0",Ct(il,{href:"https://docs.victoriametrics.com/FAQ.html#what-is-high-churn-rate",children:"high churn rate"})]}),Ct("li",{children:["Find unused time series and\xa0",Ct(il,{href:"https://docs.victoriametrics.com/relabeling.html",children:"drop entire metrics"})]}),Ct("li",{children:["Aggregate time series before they got ingested into the database via\xa0",Ct(il,{href:"https://docs.victoriametrics.com/stream-aggregation.html",children:"streaming aggregation"})]})]})}),am=()=>Ct(nm,{title:"Labels with a high number of unique values",children:Ct("ul",{children:[Ct("li",{children:"Decrease the number of unique label values to reduce cardinality"}),Ct("li",{children:["Drop the label entirely via\xa0",Ct(il,{href:"https://docs.victoriametrics.com/relabeling.html",children:"relabeling"})]}),Ct("li",{children:"For volatile label values (such as URL path, user session, etc.) consider printing them to the log file instead of adding to time series"})]})}),im=()=>Ct(nm,{title:"Dashboard of a single metric",children:[Ct("p",{children:"This dashboard helps to understand the cardinality of a single metric."}),Ct("p",{children:"Each time series is a unique combination of key-value label pairs. Therefore a label key with many values can create a lot of time series for a particular metric. If you\u2019re trying to decrease the cardinality of a metric, start by looking at the labels with the highest number of values."}),Ct("p",{children:"Use the series selector at the top of the page to apply additional filters."})]}),om=()=>Ct(nm,{title:"Dashboard of a label",children:[Ct("p",{children:"This dashboard helps you understand the count of time series per label."}),Ct("p",{children:"Use the selector at the top of the page to pick a label name you\u2019d like to inspect. For the selected label name, you\u2019ll see the label values that have the highest number of series associated with them. So if you\u2019ve chosen `instance` as your label name, you may see that `657` time series have value \u201chost-1\u201d attached to them and `580` time series have value `host-2` attached to them."}),Ct("p",{children:"This can be helpful in allowing you to determine where the bulk of your time series are coming from. If the label \u201cinstance=host-1\u201d was applied to 657 series and the label \u201cinstance=host-2\u201d was only applied to 580 series, you\u2019d know, for example, that host-01 was responsible for sending the majority of the time series."})]}),lm=()=>{const{isMobile:e}=Wr(),[t]=je(),{setSearchParamsFromKeys:n}=ii(),r=t.get("tips")||"",a=t.get("match")||"",i=t.get("focusLabel")||"",{isLoading:o,appConfigurator:l,error:s,isCluster:c}=Vh(),{tsdbStatusData:u,getDefaultState:d,tablesHeaders:h,sectionsTips:m}=l,p=d(a,i);return Ct("div",{className:xr()({"vm-cardinality-panel":!0,"vm-cardinality-panel_mobile":e}),children:[o&&Ct(rl,{message:"Please wait while cardinality stats is calculated. \n This may take some time if the db contains big number of time series."}),Ct(Yh,{isPrometheus:l.isPrometheusData,totalSeries:u.totalSeries,totalSeriesPrev:u.totalSeriesPrev,totalSeriesAll:u.totalSeriesByAll,totalLabelValuePairs:u.totalLabelValuePairs,seriesCountByMetricName:u.seriesCountByMetricName,isCluster:c}),r&&Ct("div",{className:"vm-cardinality-panel-tips",children:[!a&&!i&&Ct(rm,{}),a&&!i&&Ct(im,{}),!a&&!i&&Ct(am,{}),i&&Ct(om,{})]}),s&&Ct(Qr,{variant:"error",children:s}),l.keys(a,i).map((e=>{return Ct(tm,{sectionTitle:l.sectionsTitles(i)[e],tip:m[e],rows:u[e],onActionClick:(t=e,e=>{const r={match:$h[t]({query:e,focusLabel:i,match:a})};"labelValueCountByLabelName"!==t&&"seriesCountByLabelName"!=t||(r.focusLabel=e),"seriesCountByFocusLabelValue"==t&&(r.focusLabel=""),n(r)}),tabs:p.tabs[e],chartContainer:p.containerRefs[e],totalSeriesPrev:l.totalSeries(e,!0),totalSeries:l.totalSeries(e),tableHeaderCells:h[e],isPrometheus:l.isPrometheusData},e);var t}))]})},sm=e=>(["topByAvgDuration","topByCount","topBySumDuration"].forEach((t=>{const n=e[t];Array.isArray(n)&&n.forEach((e=>{const t=Jt(1e3*e.timeRangeSeconds);e.url=((e,t)=>{var n;const{query:r,timeRangeSeconds:a}=e,i=["g0.expr=".concat(encodeURIComponent(r))],o=null===(n=en.find((e=>e.duration===t)))||void 0===n?void 0:n.id;return o&&i.push("g0.relative_time=".concat(o)),a&&i.push("g0.range_input=".concat(t)),"".concat(Ye.home,"?").concat(i.join("&"))})(e,t),e.timeRange=t}))})),e),cm=e=>{let{topN:t,maxLifetime:n}=e;const{serverUrl:a}=Nt(),{setSearchParamsFromKeys:i}=ii(),[o,l]=(0,r.useState)(null),[s,c]=(0,r.useState)(!1),[u,d]=(0,r.useState)(),h=(0,r.useMemo)((()=>((e,t,n)=>"".concat(e,"/api/v1/status/top_queries?topN=").concat(t||"","&maxLifetime=").concat(n||""))(a,t,n)),[a,t,n]);return{data:o,error:u,loading:s,fetch:async()=>{c(!0),i({topN:t,maxLifetime:n});try{const e=await fetch(h),t=await e.json();l(e.ok?sm(t):null),d(String(t.error||""))}catch(rp){rp instanceof Error&&"AbortError"!==rp.name&&d("".concat(rp.name,": ").concat(rp.message))}c(!1)}}},um=e=>{let{rows:t,columns:n,defaultOrderBy:a}=e;const i=Uo(),[o,l]=(0,r.useState)(a||"count"),[s,c]=(0,r.useState)("desc"),u=(0,r.useMemo)((()=>Gh(t,Zh(s,o))),[t,o,s]),d=e=>()=>{var t;t=e,c((e=>"asc"===e&&o===t?"desc":"asc")),l(t)},h=e=>{let{query:t}=e;return async()=>{await i(t,"Query has been copied")}};return Ct("table",{className:"vm-table",children:[Ct("thead",{className:"vm-table-header",children:Ct("tr",{className:"vm-table__row vm-table__row_header",children:[n.map((e=>Ct("th",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:d(e.sortBy||e.key),children:Ct("div",{className:"vm-table-cell__content",children:[e.title||e.key,Ct("div",{className:xr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":o===e.key,"vm-table__sort-icon_desc":"desc"===s&&o===e.key}),children:Ct(Vn,{})})]})},e.key))),Ct("th",{className:"vm-table-cell vm-table-cell_header"})," "]})}),Ct("tbody",{className:"vm-table-body",children:u.map(((e,t)=>Ct("tr",{className:"vm-table__row",children:[n.map((t=>Ct("td",{className:"vm-table-cell",children:e[t.key]||"-"},t.key))),Ct("td",{className:"vm-table-cell vm-table-cell_no-padding",children:Ct("div",{className:"vm-top-queries-panels__table-actions",children:[e.url&&Ct(fa,{title:"Execute query",children:Ct(Ie,{to:e.url,target:"_blank",rel:"noreferrer","aria-disabled":!0,children:Ct(aa,{variant:"text",size:"small",startIcon:Ct(Wn,{}),ariaLabel:"execute query"})})}),Ct(fa,{title:"Copy query",children:Ct(aa,{variant:"text",size:"small",startIcon:Ct(ar,{}),onClick:h(e),ariaLabel:"copy query"})})]})})]},t)))})]})},dm=["table","JSON"].map(((e,t)=>({value:String(t),label:e,icon:Ct(0===t?Qn:Zn,{})}))),hm=e=>{let{rows:t,title:n,columns:a,defaultOrderBy:i}=e;const{isMobile:o}=Wr(),[l,s]=(0,r.useState)(0);return Ct("div",{className:xr()({"vm-top-queries-panel":!0,"vm-block":!0,"vm-block_mobile":o}),children:[Ct("div",{className:xr()({"vm-top-queries-panel-header":!0,"vm-section-header":!0,"vm-top-queries-panel-header_mobile":o}),children:[Ct("h5",{className:xr()({"vm-section-header__title":!0,"vm-section-header__title_mobile":o}),children:n}),Ct("div",{className:"vm-section-header__tabs",children:Ct(Mr,{activeItem:String(l),items:dm,onChange:e=>{s(+e)}})})]}),Ct("div",{className:xr()({"vm-top-queries-panel__table":!0,"vm-top-queries-panel__table_mobile":o}),children:[0===l&&Ct(um,{rows:t,columns:a,defaultOrderBy:i}),1===l&&Ct(yh,{data:t})]})]})},mm=()=>{const{isMobile:e}=Wr(),[t,n]=qh(10,"topN"),[a,o]=qh("10m","maxLifetime"),{data:l,error:s,loading:c,fetch:u}=cm({topN:t,maxLifetime:a}),d=(0,r.useMemo)((()=>{const e=a.trim().split(" ").reduce(((e,t)=>{const n=Yt(t);return n?{...e,...n}:{...e}}),{});return!!i().duration(e).asMilliseconds()}),[a]),h=(0,r.useMemo)((()=>!!t&&t<1),[t]),m=(0,r.useMemo)((()=>h?"Number must be bigger than zero":""),[h]),p=(0,r.useMemo)((()=>d?"":"Invalid duration value"),[d]),f=e=>{if(!l)return e;const t=l[e];return"number"===typeof t?vd(t,t,t):t||e},v=e=>{"Enter"===e.key&&u()};return(0,r.useEffect)((()=>{l&&(t||n(+l.topN),a||o(l.maxLifetime))}),[l]),(0,r.useEffect)((()=>(u(),window.addEventListener("popstate",u),()=>{window.removeEventListener("popstate",u)})),[]),Ct("div",{className:xr()({"vm-top-queries":!0,"vm-top-queries_mobile":e}),children:[c&&Ct(rl,{containerStyles:{height:"500px"}}),Ct("div",{className:xr()({"vm-top-queries-controls":!0,"vm-block":!0,"vm-block_mobile":e}),children:[Ct("div",{className:"vm-top-queries-controls-fields",children:[Ct("div",{className:"vm-top-queries-controls-fields__item",children:Ct(Ha,{label:"Max lifetime",value:a,error:p,helperText:"For example ".concat("30ms, 15s, 3d4h, 1y2w"),onChange:e=>{o(e)},onKeyDown:v})}),Ct("div",{className:"vm-top-queries-controls-fields__item",children:Ct(Ha,{label:"Number of returned queries",type:"number",value:t||"",error:m,onChange:e=>{n(+e)},onKeyDown:v})})]}),Ct("div",{className:xr()({"vm-top-queries-controls-bottom":!0,"vm-top-queries-controls-bottom_mobile":e}),children:[Ct("div",{className:"vm-top-queries-controls-bottom__info",children:["VictoriaMetrics tracks the last\xa0",Ct(fa,{title:"search.queryStats.lastQueriesCount",children:Ct("b",{children:f("search.queryStats.lastQueriesCount")})}),"\xa0queries with durations at least\xa0",Ct(fa,{title:"search.queryStats.minQueryDuration",children:Ct("b",{children:f("search.queryStats.minQueryDuration")})})]}),Ct("div",{className:"vm-top-queries-controls-bottom__button",children:Ct(aa,{startIcon:Ct(Yn,{}),onClick:u,children:"Execute"})})]})]}),s&&Ct(Qr,{variant:"error",children:s}),l&&Ct(xt.FK,{children:Ct("div",{className:"vm-top-queries-panels",children:[Ct(hm,{rows:l.topBySumDuration,title:"Queries with most summary time to execute",columns:[{key:"query"},{key:"sumDurationSeconds",title:"sum duration, sec"},{key:"timeRange",sortBy:"timeRangeSeconds",title:"query time interval"},{key:"count"}],defaultOrderBy:"sumDurationSeconds"}),Ct(hm,{rows:l.topByAvgDuration,title:"Most heavy queries",columns:[{key:"query"},{key:"avgDurationSeconds",title:"avg duration, sec"},{key:"timeRange",sortBy:"timeRangeSeconds",title:"query time interval"},{key:"count"}],defaultOrderBy:"avgDurationSeconds"}),Ct(hm,{rows:l.topByCount,title:"Most frequently executed queries",columns:[{key:"query"},{key:"timeRange",sortBy:"timeRangeSeconds",title:"query time interval"},{key:"count"}]})]})})]})},pm={"color-primary":"#589DF6","color-secondary":"#316eca","color-error":"#e5534b","color-warning":"#c69026","color-info":"#539bf5","color-success":"#57ab5a","color-background-body":"#22272e","color-background-block":"#2d333b","color-background-tooltip":"rgba(22, 22, 22, 0.8)","color-text":"#cdd9e5","color-text-secondary":"#768390","color-text-disabled":"#636e7b","box-shadow":"rgba(0, 0, 0, 0.16) 1px 2px 6px","box-shadow-popper":"rgba(0, 0, 0, 0.2) 0px 2px 8px 0px","border-divider":"1px solid rgba(99, 110, 123, 0.5)","color-hover-black":"rgba(0, 0, 0, 0.12)"},fm={"color-primary":"#3F51B5","color-secondary":"#E91E63","color-error":"#FD080E","color-warning":"#FF8308","color-info":"#03A9F4","color-success":"#4CAF50","color-background-body":"#FEFEFF","color-background-block":"#FFFFFF","color-background-tooltip":"rgba(80,80,80,0.9)","color-text":"#110f0f","color-text-secondary":"#706F6F","color-text-disabled":"#A09F9F","box-shadow":"rgba(0, 0, 0, 0.08) 1px 2px 6px","box-shadow-popper":"rgba(0, 0, 0, 0.1) 0px 2px 8px 0px","border-divider":"1px solid rgba(0, 0, 0, 0.15)","color-hover-black":"rgba(0, 0, 0, 0.06)"},vm=()=>{const[e,t]=(0,r.useState)(gt()),n=e=>{t(e.matches)};return(0,r.useEffect)((()=>{const e=window.matchMedia("(prefers-color-scheme: dark)");return e.addEventListener("change",n),()=>e.removeEventListener("change",n)}),[]),e},gm=["primary","secondary","error","warning","info","success"],ym=e=>{let{onLoaded:t}=e;const n=Ke(),{palette:a={}}=We(),{theme:i}=Nt(),o=vm(),l=At(),s=Ar(),[c,u]=(0,r.useState)({[mt.dark]:pm,[mt.light]:fm,[mt.system]:gt()?pm:fm}),d=()=>{const{innerWidth:e,innerHeight:t}=window,{clientWidth:n,clientHeight:r}=document.documentElement;vt("scrollbar-width","".concat(e-n,"px")),vt("scrollbar-height","".concat(t-r,"px")),vt("vh","".concat(.01*t,"px"))},h=()=>{gm.forEach(((e,n)=>{const r=(e=>{let t=e.replace("#","").trim();if(3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),6!==t.length)throw new Error("Invalid HEX color.");return(299*parseInt(t.slice(0,2),16)+587*parseInt(t.slice(2,4),16)+114*parseInt(t.slice(4,6),16))/1e3>=128?"#000000":"#FFFFFF"})(ft("color-".concat(e)));vt("".concat(e,"-text"),r),n===gm.length-1&&(l({type:"SET_DARK_THEME"}),t(!0))}))},m=()=>{const e=Xe("THEME")||mt.system,t=c[e];Object.entries(t).forEach((e=>{let[t,n]=e;vt(t,n)})),h(),n&&(gm.forEach((e=>{const t=a[e];t&&vt("color-".concat(e),t)})),h())};return(0,r.useEffect)((()=>{d(),m()}),[c]),(0,r.useEffect)(d,[s]),(0,r.useEffect)((()=>{const e=gt()?pm:fm;c[mt.system]!==e?u((t=>({...t,[mt.system]:e}))):m()}),[i,o]),(0,r.useEffect)((()=>{n&&l({type:"SET_THEME",payload:mt.light})}),[]),null},_m=()=>{const[e,t]=(0,r.useState)([]),[n,a]=(0,r.useState)(!1),i=(0,r.useRef)(document.body),o=e=>{e.preventDefault(),e.stopPropagation(),"dragenter"===e.type||"dragover"===e.type?a(!0):"dragleave"===e.type&&a(!1)};return Nr("dragenter",o,i),Nr("dragleave",o,i),Nr("dragover",o,i),Nr("drop",(e=>{var n;e.preventDefault(),e.stopPropagation(),a(!1),null!==e&&void 0!==e&&null!==(n=e.dataTransfer)&&void 0!==n&&n.files&&e.dataTransfer.files[0]&&(e=>{const n=Array.from(e||[]);t(n)})(e.dataTransfer.files)}),i),Nr("paste",(e=>{var n;const r=null===(n=e.clipboardData)||void 0===n?void 0:n.items;if(!r)return;const a=Array.from(r).filter((e=>"application/json"===e.type)).map((e=>e.getAsFile())).filter((e=>null!==e));t(a)}),i),{files:e,dragging:n}},bm=e=>{let{onOpenModal:t,onChange:n}=e;return Ct("div",{className:"vm-upload-json-buttons",children:[Ct(aa,{variant:"outlined",onClick:t,children:"Paste JSON"}),Ct(aa,{children:["Upload Files",Ct("input",{id:"json",type:"file",accept:"application/json",multiple:!0,title:" ",onChange:n})]})]})},wm=()=>{const[e,t]=(0,r.useState)([]),[n,a]=(0,r.useState)([]),i=(0,r.useMemo)((()=>!!e.length),[e]),{value:o,setTrue:l,setFalse:s}=oa(!1),c=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";a((n=>[{filename:t,text:": ".concat(e.message)},...n]))},u=(e,n)=>{try{const r=JSON.parse(e),a=r.trace||r;if(!a.duration_msec)return void c(new Error(ht.traceNotFound),n);const i=new Go(a,n);t((e=>[i,...e]))}catch(rp){rp instanceof Error&&c(rp,n)}},d=e=>{e.map((e=>{const t=new FileReader,n=(null===e||void 0===e?void 0:e.name)||"";t.onload=e=>{var t;const r=String(null===(t=e.target)||void 0===t?void 0:t.result);u(r,n)},t.readAsText(e)}))},h=e=>{a([]);const t=Array.from(e.target.files||[]);d(t),e.target.value=""},m=e=>()=>{(e=>{a((t=>t.filter(((t,n)=>n!==e))))})(e)},{files:p,dragging:f}=_m();return(0,r.useEffect)((()=>{d(p)}),[p]),Ct("div",{className:"vm-trace-page",children:[Ct("div",{className:"vm-trace-page-header",children:[Ct("div",{className:"vm-trace-page-header-errors",children:n.map(((e,t)=>Ct("div",{className:"vm-trace-page-header-errors-item",children:[Ct(Qr,{variant:"error",children:[Ct("b",{className:"vm-trace-page-header-errors-item__filename",children:e.filename}),Ct("span",{children:e.text})]}),Ct(aa,{className:"vm-trace-page-header-errors-item__close",startIcon:Ct(On,{}),variant:"text",color:"error",onClick:m(t)})]},"".concat(e,"_").concat(t))))}),Ct("div",{children:i&&Ct(bm,{onOpenModal:l,onChange:h})})]}),i&&Ct("div",{children:Ct(ml,{jsonEditor:!0,traces:e,onDeleteClick:n=>{const r=e.filter((e=>e.idValue!==n.idValue));t([...r])}})}),!i&&Ct("div",{className:"vm-trace-page-preview",children:[Ct("p",{className:"vm-trace-page-preview__text",children:["Please, upload file with JSON response content.","\n","The file must contain tracing information in JSON format.","\n","In order to use tracing please refer to the doc:\xa0",Ct("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/#query-tracing",target:"_blank",rel:"help noreferrer",children:"https://docs.victoriametrics.com/#query-tracing"}),"\n","Tracing graph will be displayed after file upload.","\n","Attach files by dragging & dropping, selecting or pasting them."]}),Ct(bm,{onOpenModal:l,onChange:h})]}),o&&Ct(pa,{title:"Paste JSON",onClose:s,children:Ct(hl,{editable:!0,displayTitle:!0,defaultTile:"JSON ".concat(e.length+1),onClose:s,onUpload:u})}),f&&Ct("div",{className:"vm-trace-page__dropzone"})]})},km=e=>{const{serverUrl:t}=Nt(),{period:n}=vn(),[a,i]=(0,r.useState)([]),[o,l]=(0,r.useState)(!1),[s,c]=(0,r.useState)(),u=(0,r.useMemo)((()=>((e,t,n)=>{const r="{job=".concat(JSON.stringify(n),"}");return"".concat(e,"/api/v1/label/instance/values?match[]=").concat(encodeURIComponent(r),"&start=").concat(t.start,"&end=").concat(t.end)})(t,n,e)),[t,n,e]);return(0,r.useEffect)((()=>{if(!e)return;(async()=>{l(!0);try{const e=await fetch(u),t=await e.json(),n=t.data||[];i(n.sort(((e,t)=>e.localeCompare(t)))),e.ok?c(void 0):c("".concat(t.errorType,"\r\n").concat(null===t||void 0===t?void 0:t.error))}catch(rp){rp instanceof Error&&c("".concat(rp.name,": ").concat(rp.message))}l(!1)})().catch(console.error)}),[u]),{instances:a,isLoading:o,error:s}},xm=(e,t)=>{const{serverUrl:n}=Nt(),{period:a}=vn(),[i,o]=(0,r.useState)([]),[l,s]=(0,r.useState)(!1),[c,u]=(0,r.useState)(),d=(0,r.useMemo)((()=>((e,t,n,r)=>{const a=Object.entries({job:n,instance:r}).filter((e=>e[1])).map((e=>{let[t,n]=e;return"".concat(t,"=").concat(JSON.stringify(n))})).join(","),i="{".concat(a,"}");return"".concat(e,"/api/v1/label/__name__/values?match[]=").concat(encodeURIComponent(i),"&start=").concat(t.start,"&end=").concat(t.end)})(n,a,e,t)),[n,a,e,t]);return(0,r.useEffect)((()=>{if(!e)return;(async()=>{s(!0);try{const e=await fetch(d),t=await e.json(),n=t.data||[];o(n.sort(((e,t)=>e.localeCompare(t)))),e.ok?u(void 0):u("".concat(t.errorType,"\r\n").concat(null===t||void 0===t?void 0:t.error))}catch(rp){rp instanceof Error&&u("".concat(rp.name,": ").concat(rp.message))}s(!1)})().catch(console.error)}),[d]),{names:i,isLoading:l,error:c}},Sm=e=>{let{name:t,job:n,instance:a,rateEnabled:i,isBucket:o,height:l}=e;const{isMobile:s}=Wr(),{customStep:c,yaxis:u}=Ur(),{period:d}=vn(),h=Br(),m=gn(),p=Kt(d.end-d.start),f=Wt(c),v=Jt(10*f*1e3),[g,y]=(0,r.useState)(!1),[_,b]=(0,r.useState)(!1),w=g&&c===p?v:c,k=(0,r.useMemo)((()=>{const e=Object.entries({job:n,instance:a}).filter((e=>e[1])).map((e=>{let[t,n]=e;return"".concat(t,"=").concat(JSON.stringify(n))}));e.push("__name__=".concat(JSON.stringify(t))),"node_cpu_seconds_total"==t&&e.push('mode!="idle"');const r="{".concat(e.join(","),"}");if(o)return"sum(rate(".concat(r,")) by (vmrange, le)");const l=i?"rollup_rate(".concat(r,")"):"rollup(".concat(r,")");return"\nwith (q = ".concat(l,') (\n alias(min(label_match(q, "rollup", "min")), "min"),\n alias(max(label_match(q, "rollup", "max")), "max"),\n alias(avg(label_match(q, "rollup", "avg")), "avg"),\n)')}),[t,n,a,i,o]),{isLoading:x,graphData:S,error:C,queryErrors:E,warning:N,isHistogram:A}=nl({predefinedQuery:[k],visible:!0,customStep:w,showAllSeries:_});return(0,r.useEffect)((()=>{y(A)}),[A]),Ct("div",{className:xr()({"vm-explore-metrics-graph":!0,"vm-explore-metrics-graph_mobile":s}),children:[x&&Ct(rl,{}),C&&Ct(Qr,{variant:"error",children:C}),E[0]&&Ct(Qr,{variant:"error",children:E[0]}),N&&Ct(fl,{warning:N,query:[k],onChange:b}),S&&d&&Ct(hh,{data:S,period:d,customStep:w,query:[k],yaxis:u,setYaxisLimits:e=>{h({type:"SET_YAXIS_LIMITS",payload:e})},setPeriod:e=>{let{from:t,to:n}=e;m({type:"SET_PERIOD",payload:{from:t,to:n}})},showLegend:!1,height:l,isHistogram:A})]})},Cm=e=>{let{name:t,index:n,length:r,isBucket:a,rateEnabled:i,onChangeRate:o,onRemoveItem:l,onChangeOrder:s}=e;const{isMobile:c}=Wr(),{value:u,setTrue:d,setFalse:h}=oa(!1),m=()=>{l(t)},p=()=>{s(t,n,n+1)},f=()=>{s(t,n,n-1)};return Ct("div",c?{className:"vm-explore-metrics-item-header vm-explore-metrics-item-header_mobile",children:[Ct("div",{className:"vm-explore-metrics-item-header__name",children:t}),Ct(aa,{variant:"text",size:"small",startIcon:Ct(dr,{}),onClick:d,ariaLabel:"open panel settings"}),u&&Ct(pa,{title:t,onClose:h,children:Ct("div",{className:"vm-explore-metrics-item-header-modal",children:[Ct("div",{className:"vm-explore-metrics-item-header-modal-order",children:[Ct(aa,{startIcon:Ct(Xn,{}),variant:"outlined",onClick:f,disabled:0===n,ariaLabel:"move graph up"}),Ct("p",{children:["position:",Ct("span",{className:"vm-explore-metrics-item-header-modal-order__index",children:["#",n+1]})]}),Ct(aa,{endIcon:Ct(Jn,{}),variant:"outlined",onClick:p,disabled:n===r-1,ariaLabel:"move graph down"})]}),!a&&Ct("div",{className:"vm-explore-metrics-item-header-modal__rate",children:[Ct(jo,{label:Ct("span",{children:["enable ",Ct("code",{children:"rate()"})]}),value:i,onChange:o,fullWidth:!0}),Ct("p",{children:"calculates the average per-second speed of metrics change"})]}),Ct(aa,{startIcon:Ct(On,{}),color:"error",variant:"outlined",onClick:m,fullWidth:!0,children:"Remove graph"})]})})]}:{className:"vm-explore-metrics-item-header",children:[Ct("div",{className:"vm-explore-metrics-item-header-order",children:[Ct(fa,{title:"move graph up",children:Ct(aa,{className:"vm-explore-metrics-item-header-order__up",startIcon:Ct(Hn,{}),variant:"text",color:"gray",size:"small",onClick:f,ariaLabel:"move graph up"})}),Ct("div",{className:"vm-explore-metrics-item-header__index",children:["#",n+1]}),Ct(fa,{title:"move graph down",children:Ct(aa,{className:"vm-explore-metrics-item-header-order__down",startIcon:Ct(Hn,{}),variant:"text",color:"gray",size:"small",onClick:p,ariaLabel:"move graph down"})})]}),Ct("div",{className:"vm-explore-metrics-item-header__name",children:t}),!a&&Ct("div",{className:"vm-explore-metrics-item-header__rate",children:Ct(fa,{title:"calculates the average per-second speed of metric's change",children:Ct(jo,{label:Ct("span",{children:["enable ",Ct("code",{children:"rate()"})]}),value:i,onChange:o})})}),Ct("div",{className:"vm-explore-metrics-item-header__close",children:Ct(fa,{title:"close graph",children:Ct(aa,{startIcon:Ct(On,{}),variant:"text",color:"gray",size:"small",onClick:m,ariaLabel:"close graph"})})})]})},Em=e=>{let{name:t,job:n,instance:a,index:i,length:o,size:l,onRemoveItem:s,onChangeOrder:c}=e;const u=(0,r.useMemo)((()=>/_sum?|_total?|_count?/.test(t)),[t]),d=(0,r.useMemo)((()=>/_bucket?/.test(t)),[t]),[h,m]=(0,r.useState)(u),p=Ar(),f=(0,r.useMemo)(l.height,[l,p]);return(0,r.useEffect)((()=>{m(u)}),[n]),Ct("div",{className:"vm-explore-metrics-item vm-block vm-block_empty-padding",children:[Ct(Cm,{name:t,index:i,length:o,isBucket:d,rateEnabled:h,size:l.id,onChangeRate:m,onRemoveItem:s,onChangeOrder:c}),Ct(Sm,{name:t,job:n,instance:a,rateEnabled:h,isBucket:d,height:f},"".concat(t,"_").concat(n,"_").concat(a,"_").concat(h))]})},Nm=e=>{let{values:t,onRemoveItem:n}=e;const{isMobile:r}=Wr();return r?Ct("span",{className:"vm-select-input-content__counter",children:["selected ",t.length]}):Ct(xt.FK,{children:t.map((e=>{return Ct("div",{className:"vm-select-input-content__selected",children:[Ct("span",{children:e}),Ct("div",{onClick:(t=e,e=>{n(t),e.stopPropagation()}),children:Ct(On,{})})]},e);var t}))})},Am=e=>{let{value:t,list:n,label:a,placeholder:i,noOptionsText:o,clearable:l=!1,searchable:s=!1,autofocus:c,disabled:u,onChange:d}=e;const{isDarkTheme:h}=Nt(),{isMobile:m}=Wr(),[p,f]=(0,r.useState)(""),v=(0,r.useRef)(null),[g,y]=(0,r.useState)(null),[_,b]=(0,r.useState)(!1),w=(0,r.useRef)(null),k=Array.isArray(t),x=Array.isArray(t)?t:void 0,S=m&&k&&!(null===x||void 0===x||!x.length),C=(0,r.useMemo)((()=>_?p:Array.isArray(t)?"":t),[t,p,_,k]),E=(0,r.useMemo)((()=>_?p||"(.+)":""),[p,_]),N=()=>{w.current&&w.current.blur()},A=()=>{b(!1),N()},M=e=>{f(""),d(e),k||A(),k&&w.current&&w.current.focus()};return(0,r.useEffect)((()=>{f(""),_&&w.current&&w.current.focus(),_||N()}),[_,w]),(0,r.useEffect)((()=>{c&&w.current&&!m&&w.current.focus()}),[c,w]),Nr("keyup",(e=>{w.current!==e.target&&b(!1)})),ra(v,A,g),Ct("div",{className:xr()({"vm-select":!0,"vm-select_dark":h,"vm-select_disabled":u}),children:[Ct("div",{className:"vm-select-input",onClick:e=>{e.target instanceof HTMLInputElement||u||b((e=>!e))},ref:v,children:[Ct("div",{className:"vm-select-input-content",children:[!(null===x||void 0===x||!x.length)&&Ct(Nm,{values:x,onRemoveItem:M}),!S&&Ct("input",{value:C,type:"text",placeholder:i,onInput:e=>{f(e.target.value)},onFocus:()=>{u||b(!0)},onBlur:()=>{n.includes(p)&&d(p)},ref:w,readOnly:m||!s})]}),a&&Ct("span",{className:"vm-text-field__label",children:a}),l&&t&&Ct("div",{className:"vm-select-input__icon",onClick:(e=>t=>{M(e),t.stopPropagation()})(""),children:Ct(On,{})}),Ct("div",{className:xr()({"vm-select-input__icon":!0,"vm-select-input__icon_open":_}),children:Ct(Vn,{})})]}),Ct(Ti,{label:a,value:E,options:n.map((e=>({value:e}))),anchor:v,selected:x,minLength:1,fullWidth:!0,noOptionsText:o,onSelect:M,onOpenAutocomplete:b,onChangeWrapperRef:y})]})},Mm=lt.map((e=>e.id)),Tm=e=>{let{jobs:t,instances:n,names:a,job:i,instance:o,size:l,selectedMetrics:s,onChangeJob:c,onChangeInstance:u,onToggleMetric:d,onChangeSize:h}=e;const m=(0,r.useMemo)((()=>i?"":"No instances. Please select job"),[i]),p=(0,r.useMemo)((()=>i?"":"No metric names. Please select job"),[i]),{isMobile:f}=Wr(),{value:v,toggle:g,setFalse:y}=oa("false"!==Xe("EXPLORE_METRICS_TIPS"));return(0,r.useEffect)((()=>{Je("EXPLORE_METRICS_TIPS","".concat(v))}),[v]),Ct(xt.FK,{children:[Ct("div",{className:xr()({"vm-explore-metrics-header":!0,"vm-explore-metrics-header_mobile":f,"vm-block":!0,"vm-block_mobile":f}),children:[Ct("div",{className:"vm-explore-metrics-header__job",children:Ct(Am,{value:i,list:t,label:"Job",placeholder:"Please select job",onChange:c,autofocus:!i&&!!t.length&&!f,searchable:!0})}),Ct("div",{className:"vm-explore-metrics-header__instance",children:Ct(Am,{value:o,list:n,label:"Instance",placeholder:"Please select instance",onChange:u,noOptionsText:m,clearable:!0,searchable:!0})}),Ct("div",{className:"vm-explore-metrics-header__size",children:[Ct(Am,{label:"Size graphs",value:l,list:Mm,onChange:h}),Ct(fa,{title:"".concat(v?"Hide":"Show"," tip"),children:Ct(aa,{variant:"text",color:v?"warning":"gray",startIcon:Ct(mr,{}),onClick:g,ariaLabel:"visibility tips"})})]}),Ct("div",{className:"vm-explore-metrics-header-metrics",children:Ct(Am,{label:"Metrics",value:s,list:a,placeholder:"Search metric name",onChange:d,noOptionsText:p,clearable:!0,searchable:!0})})]}),v&&Ct(Qr,{variant:"warning",children:Ct("div",{className:"vm-explore-metrics-header-description",children:[Ct("p",{children:["Please note: this page is solely designed for exploring Prometheus metrics. Prometheus metrics always contain ",Ct("code",{children:"job"})," and ",Ct("code",{children:"instance"})," labels (see ",Ct("a",{className:"vm-link vm-link_colored",href:"https://prometheus.io/docs/concepts/jobs_instances/",children:"these docs"}),"), and this page relies on them as filters. ",Ct("br",{}),"Please use this page for Prometheus metrics only, in accordance with their naming conventions."]}),Ct(aa,{variant:"text",size:"small",startIcon:Ct(On,{}),onClick:y,ariaLabel:"close tips"})]})})]})},Lm=ct("job",""),Pm=ct("instance",""),Om=ct("metrics",""),Im=ct("size",""),Rm=lt.find((e=>Im?e.id===Im:e.isDefault))||lt[0],Dm=()=>{const[e,t]=(0,r.useState)(Lm),[n,a]=(0,r.useState)(Pm),[i,o]=(0,r.useState)(Om?Om.split("&"):[]),[l,s]=(0,r.useState)(Rm);(e=>{let{job:t,instance:n,metrics:a,size:i}=e;const{duration:o,relativeTime:l,period:{date:s}}=vn(),{customStep:c}=Ur(),{setSearchParamsFromKeys:u}=ii(),d=()=>{const e=al({"g0.range_input":o,"g0.end_input":s,"g0.step_input":c,"g0.relative_time":l,size:i,job:t,instance:n,metrics:a});u(e)};(0,r.useEffect)(d,[o,l,s,c,t,n,a,i]),(0,r.useEffect)(d,[])})({job:e,instance:n,metrics:i.join("&"),size:l.id});const{jobs:c,isLoading:u,error:d}=(()=>{const{serverUrl:e}=Nt(),{period:t}=vn(),[n,a]=(0,r.useState)([]),[i,o]=(0,r.useState)(!1),[l,s]=(0,r.useState)(),c=(0,r.useMemo)((()=>((e,t)=>"".concat(e,"/api/v1/label/job/values?start=").concat(t.start,"&end=").concat(t.end))(e,t)),[e,t]);return(0,r.useEffect)((()=>{(async()=>{o(!0);try{const e=await fetch(c),t=await e.json(),n=t.data||[];a(n.sort(((e,t)=>e.localeCompare(t)))),e.ok?s(void 0):s("".concat(t.errorType,"\r\n").concat(null===t||void 0===t?void 0:t.error))}catch(rp){rp instanceof Error&&s("".concat(rp.name,": ").concat(rp.message))}o(!1)})().catch(console.error)}),[c]),{jobs:n,isLoading:i,error:l}})(),{instances:h,isLoading:m,error:p}=km(e),{names:f,isLoading:v,error:g}=xm(e,n),y=(0,r.useMemo)((()=>u||m||v),[u,m,v]),_=(0,r.useMemo)((()=>d||p||g),[d,p,g]),b=e=>{o(e?t=>t.includes(e)?t.filter((t=>t!==e)):[...t,e]:[])},w=(e,t,n)=>{const r=n>i.length-1;n<0||r||o((e=>{const r=[...e],[a]=r.splice(t,1);return r.splice(n,0,a),r}))};return(0,r.useEffect)((()=>{n&&h.length&&!h.includes(n)&&a("")}),[h,n]),Ct("div",{className:"vm-explore-metrics",children:[Ct(Tm,{jobs:c,instances:h,names:f,job:e,size:l.id,instance:n,selectedMetrics:i,onChangeJob:t,onChangeSize:e=>{const t=lt.find((t=>t.id===e));t&&s(t)},onChangeInstance:a,onToggleMetric:b}),y&&Ct(rl,{}),_&&Ct(Qr,{variant:"error",children:_}),!e&&Ct(Qr,{variant:"info",children:"Please select job to see list of metric names."}),e&&!i.length&&Ct(Qr,{variant:"info",children:"Please select metric names to see the graphs."}),Ct("div",{className:"vm-explore-metrics-body",children:i.map(((t,r)=>Ct(Em,{name:t,job:e,instance:n,index:r,length:i.length,size:l,onRemoveItem:b,onChangeOrder:w},t)))})]})},zm=()=>{const t=Uo();return Ct("div",{className:"vm-preview-icons",children:Object.entries(e).map((e=>{let[n,r]=e;return Ct("div",{className:"vm-preview-icons-item",onClick:(a=n,async()=>{await t("<".concat(a,"/>"),"<".concat(a,"/> has been copied"))}),children:[Ct("div",{className:"vm-preview-icons-item__svg",children:r()}),Ct("div",{className:"vm-preview-icons-item__name",children:"<".concat(n,"/>")})]},n);var a}))})};var Fm=function(e){return e.copy="Copy",e.copied="Copied",e}(Fm||{});const jm=e=>{let{code:t}=e;const[n,a]=(0,r.useState)(Fm.copy);return(0,r.useEffect)((()=>{let e=null;return n===Fm.copied&&(e=setTimeout((()=>a(Fm.copy)),1e3)),()=>{e&&clearTimeout(e)}}),[n]),Ct("code",{className:"vm-code-example",children:[t,Ct("div",{className:"vm-code-example__copy",children:Ct(fa,{title:n,children:Ct(aa,{size:"small",variant:"text",onClick:()=>{navigator.clipboard.writeText(t),a(Fm.copied)},startIcon:Ct(ar,{}),ariaLabel:"close"})})})]})},Hm=()=>Ct("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/MetricsQL.html",target:"_blank",rel:"help noreferrer",children:"MetricsQL"}),Vm=()=>Ct("a",{className:"vm-link vm-link_colored",href:"https://grafana.com/grafana/dashboards/1860-node-exporter-full/",target:"_blank",rel:"help noreferrer",children:"Node Exporter Full"}),$m=()=>Ct("section",{className:"vm-with-template-tutorial",children:[Ct("h2",{className:"vm-with-template-tutorial__title",children:["Tutorial for WITH expressions in ",Ct(Hm,{})]}),Ct("div",{className:"vm-with-template-tutorial-section",children:[Ct("p",{className:"vm-with-template-tutorial-section__text",children:["Let's look at the following real query from ",Ct(Vm,{})," dashboard:"]}),Ct(jm,{code:'(\n (\n node_memory_MemTotal_bytes{instance=~"$node:$port", job=~"$job"}\n -\n node_memory_MemFree_bytes{instance=~"$node:$port", job=~"$job"}\n )\n /\n node_memory_MemTotal_bytes{instance=~"$node:$port", job=~"$job"}\n) * 100'}),Ct("p",{className:"vm-with-template-tutorial-section__text",children:"It is clear the query calculates the percentage of used memory for the given $node, $port and $job. Isn't it? :)"})]}),Ct("div",{className:"vm-with-template-tutorial-section",children:[Ct("p",{className:"vm-with-template-tutorial-section__text",children:"What's wrong with this query? Copy-pasted label filters for distinct timeseries which makes it easy to mistype these filters during modification. Let's simplify the query with WITH expressions:"}),Ct(jm,{code:'WITH (\n commonFilters = {instance=~"$node:$port",job=~"$job"}\n)\n(\n node_memory_MemTotal_bytes{commonFilters}\n -\n node_memory_MemFree_bytes{commonFilters}\n)\n /\nnode_memory_MemTotal_bytes{commonFilters} * 100'})]}),Ct("div",{className:"vm-with-template-tutorial-section",children:[Ct("p",{className:"vm-with-template-tutorial-section__text",children:["Now label filters are located in a single place instead of three distinct places. The query mentions node_memory_MemTotal_bytes metric twice and ","{commonFilters}"," three times. WITH expressions may improve this:"]}),Ct(jm,{code:'WITH (\n my_resource_utilization(free, limit, filters) = (limit{filters} - free{filters}) / limit{filters} * 100\n)\nmy_resource_utilization(\n node_memory_MemFree_bytes,\n node_memory_MemTotal_bytes,\n {instance=~"$node:$port",job=~"$job"},\n)'}),Ct("p",{className:"vm-with-template-tutorial-section__text",children:"Now the template function my_resource_utilization() may be used for monitoring arbitrary resources - memory, CPU, network, storage, you name it."})]}),Ct("div",{className:"vm-with-template-tutorial-section",children:[Ct("p",{className:"vm-with-template-tutorial-section__text",children:["Let's take another nice query from ",Ct(Vm,{})," dashboard:"]}),Ct(jm,{code:'(\n (\n (\n count(\n count(node_cpu_seconds_total{instance=~"$node:$port",job=~"$job"}) by (cpu)\n )\n )\n -\n avg(\n sum by (mode) (rate(node_cpu_seconds_total{mode=\'idle\',instance=~"$node:$port",job=~"$job"}[5m]))\n )\n )\n *\n 100\n)\n /\ncount(\n count(node_cpu_seconds_total{instance=~"$node:$port",job=~"$job"}) by (cpu)\n)'}),Ct("p",{className:"vm-with-template-tutorial-section__text",children:"Do you understand what does this mess do? Is it manageable? :) WITH expressions are happy to help in a few iterations."})]}),Ct("div",{className:"vm-with-template-tutorial-section",children:[Ct("p",{className:"vm-with-template-tutorial-section__text",children:"1. Extract common filters used in multiple places into a commonFilters variable:"}),Ct(jm,{code:'WITH (\n commonFilters = {instance=~"$node:$port",job=~"$job"}\n)\n(\n (\n (\n count(\n count(node_cpu_seconds_total{commonFilters}) by (cpu)\n )\n )\n -\n avg(\n sum by (mode) (rate(node_cpu_seconds_total{mode=\'idle\',commonFilters}[5m]))\n )\n )\n *\n 100\n)\n /\ncount(\n count(node_cpu_seconds_total{commonFilters}) by (cpu)\n)'})]}),Ct("div",{className:"vm-with-template-tutorial-section",children:[Ct("p",{className:"vm-with-template-tutorial-section__text",children:'2. Extract "count(count(...) by (cpu))" into cpuCount variable:'}),Ct(jm,{code:'WITH (\n commonFilters = {instance=~"$node:$port",job=~"$job"},\n cpuCount = count(count(node_cpu_seconds_total{commonFilters}) by (cpu))\n)\n(\n (\n cpuCount\n -\n avg(\n sum by (mode) (rate(node_cpu_seconds_total{mode=\'idle\',commonFilters}[5m]))\n )\n )\n *\n 100\n) / cpuCount'})]}),Ct("div",{className:"vm-with-template-tutorial-section",children:[Ct("p",{className:"vm-with-template-tutorial-section__text",children:"3. Extract rate(...) part into cpuIdle variable, since it is clear now that this part calculates the number of idle CPUs:"}),Ct(jm,{code:'WITH (\n commonFilters = {instance=~"$node:$port",job=~"$job"},\n cpuCount = count(count(node_cpu_seconds_total{commonFilters}) by (cpu)),\n cpuIdle = sum(rate(node_cpu_seconds_total{mode=\'idle\',commonFilters}[5m]))\n)\n((cpuCount - cpuIdle) * 100) / cpuCount'})]}),Ct("div",{className:"vm-with-template-tutorial-section",children:[Ct("p",{className:"vm-with-template-tutorial-section__text",children:["4. Put node_cpu_seconds_total","{commonFilters}"," into its own varialbe with the name cpuSeconds:"]}),Ct(jm,{code:'WITH (\n cpuSeconds = node_cpu_seconds_total{instance=~"$node:$port",job=~"$job"},\n cpuCount = count(count(cpuSeconds) by (cpu)),\n cpuIdle = sum(rate(cpuSeconds{mode=\'idle\'}[5m]))\n)\n((cpuCount - cpuIdle) * 100) / cpuCount'}),Ct("p",{className:"vm-with-template-tutorial-section__text",children:"Now the query became more clear comparing to the initial query."})]}),Ct("div",{className:"vm-with-template-tutorial-section",children:[Ct("p",{className:"vm-with-template-tutorial-section__text",children:"WITH expressions may be nested and may be put anywhere. Try expanding the following query:"}),Ct(jm,{code:"WITH (\n f(a, b) = WITH (\n f1(x) = b-x,\n f2(x) = x+x\n ) f1(a)*f2(b)\n) f(foo, with(x=bar) x)"})]})]}),Um=()=>{const{serverUrl:e}=Nt(),[t,n]=je(),[a,i]=(0,r.useState)(""),[o,l]=(0,r.useState)(!1),[s,c]=(0,r.useState)();return{data:a,error:s,loading:o,expand:async r=>{t.set("expr",r),n(t);const a=((e,t)=>"".concat(e,"/expand-with-exprs?query=").concat(encodeURIComponent(t),"&format=json"))(e,r);l(!0);try{const e=await fetch(a),t=await e.json();i((null===t||void 0===t?void 0:t.expr)||""),c(String(t.error||""))}catch(rp){rp instanceof Error&&"AbortError"!==rp.name&&c("".concat(rp.name,": ").concat(rp.message))}l(!1)}}},Bm=()=>{const[e]=je(),{data:t,loading:n,error:a,expand:i}=Um(),[o,l]=(0,r.useState)(e.get("expr")||""),s=()=>{i(o)};return(0,r.useEffect)((()=>{o&&i(o)}),[]),Ct("section",{className:"vm-with-template",children:[n&&Ct(rl,{}),Ct("div",{className:"vm-with-template-body vm-block",children:[Ct("div",{className:"vm-with-template-body__expr",children:Ct(Ha,{type:"textarea",label:"MetricsQL query with optional WITH expressions",value:o,error:a,autofocus:!0,onEnter:s,onChange:e=>{l(e)}})}),Ct("div",{className:"vm-with-template-body__result",children:Ct(Ha,{type:"textarea",label:"MetricsQL query after expanding WITH expressions and applying other optimizations",value:t,disabled:!0})}),Ct("div",{className:"vm-with-template-body-top",children:Ct(aa,{variant:"contained",onClick:s,startIcon:Ct(Yn,{}),children:"Expand"})})]}),Ct("div",{className:"vm-block",children:Ct($m,{})})]})},qm=()=>{const{serverUrl:e}=Nt(),[t,n]=(0,r.useState)(null),[a,i]=(0,r.useState)(!1),[o,l]=(0,r.useState)();return{data:t,error:o,loading:a,fetchData:async(t,r)=>{const a=((e,t,n)=>{const r=["format=json","relabel_configs=".concat(encodeURIComponent(t)),"metric=".concat(encodeURIComponent(n))];return"".concat(e,"/metric-relabel-debug?").concat(r.join("&"))})(e,t,r);i(!0);try{const e=await fetch(a),t=await e.json();n(t.error?null:t),l(String(t.error||""))}catch(rp){rp instanceof Error&&"AbortError"!==rp.name&&l("".concat(rp.name,": ").concat(rp.message))}i(!1)}}},Ym={config:'- if: \'{bar_label=~"b.*"}\'\n source_labels: [foo_label, bar_label]\n separator: "_"\n target_label: foobar\n- action: labeldrop\n regex: "foo_.*"\n- target_label: job\n replacement: "my-application-2"',labels:'{__name__="my_metric", bar_label="bar", foo_label="foo", job="my-application", instance="192.168.0.1"}'},Wm=()=>{const[e,t]=je(),{data:n,loading:a,error:i,fetchData:o}=qm(),[l,s]=qh("","config"),[c,u]=qh("","labels"),d=(0,r.useCallback)((()=>{o(l,c),e.set("config",l),e.set("labels",c),t(e)}),[l,c]);return(0,r.useEffect)((()=>{const t=e.get("config")||"",n=e.get("labels")||"";(n||t)&&(o(t,n),s(t),u(n))}),[]),Ct("section",{className:"vm-relabeling",children:[a&&Ct(rl,{}),Ct("div",{className:"vm-relabeling-header vm-block",children:[Ct("div",{className:"vm-relabeling-header-configs",children:Ct(Ha,{type:"textarea",label:"Relabel configs",value:l,autofocus:!0,onChange:e=>{s(e||"")},onEnter:d})}),Ct("div",{className:"vm-relabeling-header__labels",children:Ct(Ha,{type:"textarea",label:"Labels",value:c,onChange:e=>{u(e||"")},onEnter:d})}),Ct("div",{className:"vm-relabeling-header-bottom",children:[Ct("a",{className:"vm-link vm-link_with-icon",target:"_blank",href:"https://docs.victoriametrics.com/relabeling.html",rel:"help noreferrer",children:[Ct(Rn,{}),"Relabeling cookbook"]}),Ct("a",{className:"vm-link vm-link_with-icon",target:"_blank",href:"https://docs.victoriametrics.com/vmagent.html#relabeling",rel:"help noreferrer",children:[Ct(lr,{}),"Documentation"]}),Ct(aa,{variant:"text",onClick:()=>{const{config:n,labels:r}=Ym;s(n),u(r),o(n,r),e.set("config",n),e.set("labels",r),t(e)},children:"Try example"}),Ct(aa,{variant:"contained",onClick:d,startIcon:Ct(Yn,{}),children:"Submit"})]})]}),i&&Ct(Qr,{variant:"error",children:i}),n&&Ct("div",{className:"vm-relabeling-steps vm-block",children:[n.originalLabels&&Ct("div",{className:"vm-relabeling-steps-item",children:Ct("div",{className:"vm-relabeling-steps-item__row",children:[Ct("span",{children:"Original labels:"}),Ct("code",{dangerouslySetInnerHTML:{__html:n.originalLabels}})]})}),n.steps.map(((e,t)=>Ct("div",{className:"vm-relabeling-steps-item",children:[Ct("div",{className:"vm-relabeling-steps-item__row",children:[Ct("span",{children:"Step:"}),t+1]}),Ct("div",{className:"vm-relabeling-steps-item__row",children:[Ct("span",{children:"Relabeling Rule:"}),Ct("code",{children:Ct("pre",{children:e.rule})})]}),Ct("div",{className:"vm-relabeling-steps-item__row",children:[Ct("span",{children:"Input Labels:"}),Ct("code",{children:Ct("pre",{dangerouslySetInnerHTML:{__html:e.inLabels}})})]}),Ct("div",{className:"vm-relabeling-steps-item__row",children:[Ct("span",{children:"Output labels:"}),Ct("code",{children:Ct("pre",{dangerouslySetInnerHTML:{__html:e.outLabels}})})]})]},t))),n.resultingLabels&&Ct("div",{className:"vm-relabeling-steps-item",children:Ct("div",{className:"vm-relabeling-steps-item__row",children:[Ct("span",{children:"Resulting labels:"}),Ct("code",{dangerouslySetInnerHTML:{__html:n.resultingLabels}})]})})]})]})},Km=e=>{let{rows:t,columns:n,defaultOrderBy:a,copyToClipboard:i,paginationOffset:o}=e;const[l,s]=(0,r.useState)(a),[c,u]=(0,r.useState)("desc"),[d,h]=(0,r.useState)(null),m=(0,r.useMemo)((()=>{const{startIndex:e,endIndex:n}=o;return Gh(t,Zh(c,l)).slice(e,n)}),[t,l,c,o]),p=(e,t)=>async()=>{if(d!==t)try{await navigator.clipboard.writeText(String(e)),h(t)}catch(rp){console.error(rp)}};return(0,r.useEffect)((()=>{if(null===d)return;const e=setTimeout((()=>h(null)),2e3);return()=>clearTimeout(e)}),[d]),Ct("table",{className:"vm-table",children:[Ct("thead",{className:"vm-table-header",children:Ct("tr",{className:"vm-table__row vm-table__row_header",children:[n.map((e=>{return Ct("th",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:(t=e.key,()=>{u((e=>"asc"===e&&l===t?"desc":"asc")),s(t)}),children:Ct("div",{className:"vm-table-cell__content",children:[Ct("div",{children:String(e.title||e.key)}),Ct("div",{className:xr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":l===e.key,"vm-table__sort-icon_desc":"desc"===c&&l===e.key}),children:Ct(Vn,{})})]})},String(e.key));var t})),i&&Ct("th",{className:"vm-table-cell vm-table-cell_header"})]})}),Ct("tbody",{className:"vm-table-body",children:m.map(((e,t)=>Ct("tr",{className:"vm-table__row",children:[n.map((t=>Ct("td",{className:xr()({"vm-table-cell":!0,["".concat(t.className)]:t.className}),children:e[t.key]||"-"},String(t.key)))),i&&Ct("td",{className:"vm-table-cell vm-table-cell_right",children:e[i]&&Ct("div",{className:"vm-table-cell__content",children:Ct(fa,{title:d===t?"Copied":"Copy row",children:Ct(aa,{variant:"text",color:d===t?"success":"gray",size:"small",startIcon:Ct(d===t?er:ar,{}),onClick:p(e[i],t),ariaLabel:"copy row"})})})})]},t)))})]})},Qm=()=>{const{isMobile:e}=Wr(),{timezone:t}=vn(),{data:n,lastUpdated:a,isLoading:o,error:l,fetchData:s}=(()=>{const{serverUrl:e}=Nt(),[t,n]=(0,r.useState)([]),[a,o]=(0,r.useState)(i()().format(Pt)),[l,s]=(0,r.useState)(!1),[c,u]=(0,r.useState)(),d=(0,r.useMemo)((()=>"".concat(e,"/api/v1/status/active_queries")),[e]),h=async()=>{s(!0);try{const e=await fetch(d),t=await e.json();n(t.data),o(i()().format("HH:mm:ss:SSS")),e.ok?u(void 0):u("".concat(t.errorType,"\r\n").concat(null===t||void 0===t?void 0:t.error))}catch(rp){rp instanceof Error&&u("".concat(rp.name,": ").concat(rp.message))}s(!1)};return(0,r.useEffect)((()=>{h().catch(console.error)}),[d]),{data:t,lastUpdated:a,isLoading:l,error:c,fetchData:h}})(),c=(0,r.useMemo)((()=>n.map((e=>{const t=i()(e.start).tz().format(Lt),n=i()(e.end).tz().format(Lt);return{duration:e.duration,remote_addr:e.remote_addr,query:e.query,args:"".concat(t," to ").concat(n,", step=").concat(qt(e.step)),data:JSON.stringify(e,null,2)}}))),[n,t]),u=(0,r.useMemo)((()=>{if(null===c||void 0===c||!c.length)return[];const e=Object.keys(c[0]),t={remote_addr:"client address"},n=["data"];return e.filter((e=>!n.includes(e))).map((e=>({key:e,title:t[e]||e})))}),[c]);return Ct("div",{className:"vm-active-queries",children:[o&&Ct(rl,{}),Ct("div",{className:"vm-active-queries-header",children:[!c.length&&!l&&Ct(Qr,{variant:"info",children:"There are currently no active queries running"}),l&&Ct(Qr,{variant:"error",children:l}),Ct("div",{className:"vm-active-queries-header-controls",children:[Ct(aa,{variant:"contained",onClick:async()=>{s().catch(console.error)},startIcon:Ct(jn,{}),children:"Update"}),Ct("div",{className:"vm-active-queries-header__update-msg",children:["Last updated: ",a]})]})]}),!!c.length&&Ct("div",{className:xr()({"vm-block":!0,"vm-block_mobile":e}),children:Ct(Km,{rows:c,columns:u,defaultOrderBy:"duration",copyToClipboard:"data",paginationOffset:{startIndex:0,endIndex:1/0}})})]})},Zm=e=>{let{onClose:t,onUpload:n}=e;const{isMobile:a}=Wr(),[i,o]=(0,r.useState)(""),[l,s]=(0,r.useState)(""),c=(0,r.useMemo)((()=>{try{return JSON.parse(i),""}catch(rp){return rp instanceof Error?rp.message:"Unknown error"}}),[i]),u=()=>{s(c),c||(n(i),t())};return Ct("div",{className:xr()({"vm-json-form vm-json-form_one-field":!0,"vm-json-form_mobile vm-json-form_one-field_mobile":a}),children:[Ct(Ha,{value:i,label:"JSON",type:"textarea",error:l,autofocus:!0,onChange:e=>{s(""),o(e)},onEnter:u}),Ct("div",{className:"vm-json-form-footer",children:Ct("div",{className:"vm-json-form-footer__controls vm-json-form-footer__controls_right",children:[Ct(aa,{variant:"outlined",color:"error",onClick:t,children:"Cancel"}),Ct(aa,{variant:"contained",onClick:u,children:"apply"})]})})]})},Gm=e=>{let{data:t,period:n}=e;const{isMobile:a}=Wr(),{tableCompact:i}=Fr(),o=jr(),[l,s]=(0,r.useState)([]),[c,u]=(0,r.useState)(),[d,h]=(0,r.useState)(),[m,p]=(0,r.useState)(!1),[f,v]=(0,r.useState)([]),[g,y]=(0,r.useState)(),_=(0,r.useMemo)((()=>_h(d||[]).map((e=>e.key))),[d]),b=(0,r.useMemo)((()=>{const e=t.some((e=>"matrix"===e.data.resultType));return t.some((e=>"vector"===e.data.resultType))&&e?Tr:e?Tr.filter((e=>"chart"===e.value)):Tr.filter((e=>"chart"!==e.value))}),[t]),[w,k]=(0,r.useState)(b[0].value),{yaxis:x,spanGaps:S}=Ur(),C=Br(),E=e=>{C({type:"SET_YAXIS_LIMITS",payload:e})};return(0,r.useEffect)((()=>{const e="chart"===w?"matrix":"vector",n=t.filter((t=>t.data.resultType===e&&t.trace)).map((e=>{var t,n;return e.trace?new Go(e.trace,(null===e||void 0===e||null===(t=e.vmui)||void 0===t||null===(n=t.params)||void 0===n?void 0:n.query)||"Query"):null}));s(n.filter(Boolean))}),[t,w]),(0,r.useEffect)((()=>{const e=[],n=[],r=[];t.forEach(((t,a)=>{const i=t.data.result.map((e=>{var n,r,i;return{...e,group:Number(null!==(n=null===(r=t.vmui)||void 0===r||null===(i=r.params)||void 0===i?void 0:i.id)&&void 0!==n?n:a)+1}}));var o,l;"matrix"===t.data.resultType?(n.push(...i),e.push((null===(o=t.vmui)||void 0===o||null===(l=o.params)||void 0===l?void 0:l.query)||"Query")):r.push(...i)})),v(e),u(n),h(r)}),[t]),(0,r.useEffect)((()=>{p(!!c&&el(c))}),[c]),Ct("div",{className:xr()({"vm-query-analyzer-view":!0,"vm-query-analyzer-view_mobile":a}),children:[!!l.length&&Ct(ml,{traces:l,onDeleteClick:e=>{s((t=>t.filter((t=>t.idValue!==e.idValue))))}}),Ct("div",{className:xr()({"vm-block":!0,"vm-block_mobile":a}),children:[Ct("div",{className:"vm-custom-panel-body-header",children:[Ct("div",{className:"vm-custom-panel-body-header__tabs",children:Ct(Mr,{activeItem:w,items:b,onChange:e=>{k(e)}})}),Ct("div",{className:"vm-custom-panel-body-header__graph-controls",children:["chart"===w&&Ct(ba,{}),"chart"===w&&Ct(vh,{yaxis:x,setYaxisLimits:E,toggleEnableLimits:()=>{C({type:"TOGGLE_ENABLE_YAXIS_LIMITS"})},spanGaps:{value:S,onChange:e=>{C({type:"SET_SPAN_GAPS",payload:e})}}}),"table"===w&&Ct(Sh,{columns:_,defaultColumns:g,onChangeColumns:y,tableCompact:i,toggleTableCompact:()=>{o({type:"TOGGLE_TABLE_COMPACT"})}})]})]}),c&&n&&"chart"===w&&Ct(hh,{data:c,period:n,customStep:n.step||"1s",query:f,yaxis:x,setYaxisLimits:E,setPeriod:()=>null,height:a?.5*window.innerHeight:500,isHistogram:m,spanGaps:S}),d&&"code"===w&&Ct(yh,{data:d}),d&&"table"===w&&Ct(wh,{data:d,displayColumns:g})]})]})},Jm=e=>{var t,n;let{data:a,period:o}=e;const l=(0,r.useMemo)((()=>a.filter((e=>e.stats&&"matrix"===e.data.resultType))),[a]),s=(0,r.useMemo)((()=>{var e,t;return null===(e=a.find((e=>{var t;return null===e||void 0===e||null===(t=e.vmui)||void 0===t?void 0:t.comment})))||void 0===e||null===(t=e.vmui)||void 0===t?void 0:t.comment}),[a]),c=(0,r.useMemo)((()=>{if(!o)return"";const e=i()(1e3*o.start).tz().format(Lt),t=i()(1e3*o.end).tz().format(Lt);return"".concat(e," - ").concat(t)}),[o]),{value:u,setTrue:d,setFalse:h}=oa(!1);return Ct(xt.FK,{children:[Ct("div",{className:"vm-query-analyzer-info-header",children:[Ct(aa,{startIcon:Ct(Rn,{}),variant:"outlined",color:"warning",onClick:d,children:"Show report info"}),o&&Ct(xt.FK,{children:[Ct("div",{className:"vm-query-analyzer-info-header__period",children:[Ct(or,{})," step: ",o.step]}),Ct("div",{className:"vm-query-analyzer-info-header__period",children:[Ct($n,{})," ",c]})]})]}),u&&Ct(pa,{title:"Report info",onClose:h,children:Ct("div",{className:"vm-query-analyzer-info",children:[s&&Ct("div",{className:"vm-query-analyzer-info-item vm-query-analyzer-info-item_comment",children:[Ct("div",{className:"vm-query-analyzer-info-item__title",children:"Comment:"}),Ct("div",{className:"vm-query-analyzer-info-item__text",children:s})]}),l.map(((e,t)=>{var n;return Ct("div",{className:"vm-query-analyzer-info-item",children:[Ct("div",{className:"vm-query-analyzer-info-item__title",children:l.length>1?"Query ".concat(t+1,":"):"Stats:"}),Ct("div",{className:"vm-query-analyzer-info-item__text",children:[Object.entries(e.stats||{}).map((e=>{let[t,n]=e;return Ct("div",{children:[t,": ",null!==n&&void 0!==n?n:"-"]},t)})),"isPartial: ",String(null!==(n=e.isPartial)&&void 0!==n?n:"-")]})]},t)})),Ct("div",{className:"vm-query-analyzer-info-type",children:null!==(t=l[0])&&void 0!==t&&null!==(n=t.vmui)&&void 0!==n&&n.params?"The report was created using vmui":"The report was created manually"})]})})]})},Xm=()=>{const[e,t]=(0,r.useState)([]),[n,a]=(0,r.useState)(""),i=(0,r.useMemo)((()=>!!e.length),[e]),{value:o,setTrue:l,setFalse:s}=oa(!1),c=(0,r.useMemo)((()=>{var t,n;if(!e)return;const r=null===(t=e[0])||void 0===t||null===(n=t.vmui)||void 0===n?void 0:n.params,a={start:+((null===r||void 0===r?void 0:r.start)||0),end:+((null===r||void 0===r?void 0:r.end)||0),step:null===r||void 0===r?void 0:r.step,date:""};if(!r){const t=e.filter((e=>"matrix"===e.data.resultType)).map((e=>e.data.result)).flat().map((e=>{var t;return e.values?null===(t=e.values)||void 0===t?void 0:t.map((e=>e[0])):[0]})).flat(),n=Array.from(new Set(t.filter(Boolean))).sort(((e,t)=>e-t));a.start=n[0],a.end=n[n.length-1],a.step=Bt((e=>{const t=e.slice(1).map(((t,n)=>t-e[n])),n={};t.forEach((e=>{const t=e.toString();n[t]=(n[t]||0)+1}));let r=0,a=0;for(const i in n)n[i]>a&&(a=n[i],r=Number(i));return r})(n))}return a.date=Zt(Xt(a.end)),a}),[e]),u=e=>{try{const n=JSON.parse(e),r=Array.isArray(n)?n:[n];(e=>e.every((e=>{if("object"===typeof e&&null!==e){const t=e.data;if("object"===typeof t&&null!==t){const e=t.result,n=t.resultType;return Array.isArray(e)&&"string"===typeof n}}return!1})))(r)?t(r):a("Invalid structure - JSON does not match the expected format")}catch(rp){rp instanceof Error&&a("".concat(rp.name,": ").concat(rp.message))}},d=e=>{e.map((e=>{const t=new FileReader;t.onload=e=>{var t;const n=String(null===(t=e.target)||void 0===t?void 0:t.result);u(n)},t.readAsText(e)}))},h=e=>{a("");const t=Array.from(e.target.files||[]);d(t),e.target.value=""},{files:m,dragging:p}=_m();return(0,r.useEffect)((()=>{d(m)}),[m]),Ct("div",{className:"vm-trace-page",children:[i&&Ct("div",{className:"vm-trace-page-header",children:[Ct("div",{className:"vm-trace-page-header-errors",children:Ct(Jm,{data:e,period:c})}),Ct("div",{children:Ct(bm,{onOpenModal:l,onChange:h})})]}),n&&Ct("div",{className:"vm-trace-page-header-errors-item vm-trace-page-header-errors-item_margin-bottom",children:[Ct(Qr,{variant:"error",children:n}),Ct(aa,{className:"vm-trace-page-header-errors-item__close",startIcon:Ct(On,{}),variant:"text",color:"error",onClick:()=>{a("")}})]}),i&&Ct(Gm,{data:e,period:c}),!i&&Ct("div",{className:"vm-trace-page-preview",children:[Ct("p",{className:"vm-trace-page-preview__text",children:["Please, upload file with JSON response content.","\n","The file must contain query information in JSON format.","\n","Graph will be displayed after file upload.","\n","Attach files by dragging & dropping, selecting or pasting them."]}),Ct(bm,{onOpenModal:l,onChange:h})]}),o&&Ct(pa,{title:"Paste JSON",onClose:s,children:Ct(Zm,{onClose:s,onUpload:u})}),p&&Ct("div",{className:"vm-trace-page__dropzone"})]})},ep=()=>{const[e,t]=(0,r.useState)(!1);return Ct(xt.FK,{children:Ct(Le,{children:Ct(ta,{children:Ct(xt.FK,{children:[Ct(ym,{onLoaded:t}),e&&Ct(ke,{children:Ct(be,{path:"/",element:Ct(Ai,{}),children:[Ct(be,{path:Ye.home,element:Ct(Th,{})}),Ct(be,{path:Ye.metrics,element:Ct(Dm,{})}),Ct(be,{path:Ye.cardinality,element:Ct(lm,{})}),Ct(be,{path:Ye.topQueries,element:Ct(mm,{})}),Ct(be,{path:Ye.trace,element:Ct(wm,{})}),Ct(be,{path:Ye.queryAnalyzer,element:Ct(Xm,{})}),Ct(be,{path:Ye.dashboards,element:Ct(Oh,{})}),Ct(be,{path:Ye.withTemplate,element:Ct(Bm,{})}),Ct(be,{path:Ye.relabel,element:Ct(Wm,{})}),Ct(be,{path:Ye.activeQueries,element:Ct(Qm,{})}),Ct(be,{path:Ye.icons,element:Ct(zm,{})})]})})]})})})})},tp=e=>{e&&n.e(685).then(n.bind(n,685)).then((t=>{let{getCLS:n,getFID:r,getFCP:a,getLCP:i,getTTFB:o}=t;n(e),r(e),a(e),i(e),o(e)}))},np=document.getElementById("root");np&&(0,r.render)(Ct(ep,{}),np),tp()})()})(); \ No newline at end of file diff --git a/app/vmselect/vmui/static/js/main.ff9af61b.js b/app/vmselect/vmui/static/js/main.ff9af61b.js new file mode 100644 index 000000000..468ebe731 --- /dev/null +++ b/app/vmselect/vmui/static/js/main.ff9af61b.js @@ -0,0 +1,2 @@ +/*! For license information please see main.ff9af61b.js.LICENSE.txt */ +(()=>{var e={61:(e,t,n)=>{"use strict";var r=n(375),a=n(629),i=a(r("String.prototype.indexOf"));e.exports=function(e,t){var n=r(e,!!t);return"function"===typeof n&&i(e,".prototype.")>-1?a(n):n}},629:(e,t,n)=>{"use strict";var r=n(989),a=n(375),i=n(259),o=n(277),l=a("%Function.prototype.apply%"),s=a("%Function.prototype.call%"),c=a("%Reflect.apply%",!0)||r.call(s,l),u=n(709),d=a("%Math.max%");e.exports=function(e){if("function"!==typeof e)throw new o("a function is required");var t=c(r,s,arguments);return i(t,1+d(0,e.length-(arguments.length-1)),!0)};var h=function(){return c(r,l,arguments)};u?u(e.exports,"apply",{value:h}):e.exports.apply=h},159:function(e){e.exports=function(){"use strict";var e=1e3,t=6e4,n=36e5,r="millisecond",a="second",i="minute",o="hour",l="day",s="week",c="month",u="quarter",d="year",h="date",m="Invalid Date",p=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,f=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,v={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],n=e%100;return"["+e+(t[(n-20)%10]||t[n]||t[0])+"]"}},g=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},y={s:g,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),a=n%60;return(t<=0?"+":"-")+g(r,2,"0")+":"+g(a,2,"0")},m:function e(t,n){if(t.date()1)return e(o[0])}else{var l=t.name;b[l]=t,a=l}return!r&&a&&(_=a),a||!r&&_},S=function(e,t){if(k(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new E(n)},C=y;C.l=x,C.i=k,C.w=function(e,t){return S(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function v(e){this.$L=x(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[w]=!0}var g=v.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(C.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(p);if(r){var a=r[2]-1||0,i=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],a,r[3]||1,r[4]||0,r[5]||0,r[6]||0,i)):new Date(r[1],a,r[3]||1,r[4]||0,r[5]||0,r[6]||0,i)}}return new Date(t)}(e),this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return C},g.isValid=function(){return!(this.$d.toString()===m)},g.isSame=function(e,t){var n=S(e);return this.startOf(t)<=n&&n<=this.endOf(t)},g.isAfter=function(e,t){return S(e)=0&&(i[d]=parseInt(u,10))}var h=i[3],m=24===h?0:h,p=i[0]+"-"+i[1]+"-"+i[2]+" "+m+":"+i[4]+":"+i[5]+":000",f=+t;return(a.utc(p).valueOf()-(f-=f%1e3))/6e4},s=r.prototype;s.tz=function(e,t){void 0===e&&(e=i);var n=this.utcOffset(),r=this.toDate(),o=r.toLocaleString("en-US",{timeZone:e}),l=Math.round((r-new Date(o))/1e3/60),s=a(o,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(r.getTimezoneOffset()/15)-l,!0);if(t){var c=s.utcOffset();s=s.add(n-c,"minute")}return s.$x.$timezone=e,s},s.offsetName=function(e){var t=this.$x.$timezone||a.tz.guess(),n=o(this.valueOf(),t,{timeZoneName:e}).find((function(e){return"timezonename"===e.type.toLowerCase()}));return n&&n.value};var c=s.startOf;s.startOf=function(e,t){if(!this.$x||!this.$x.$timezone)return c.call(this,e,t);var n=a(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return c.call(n,e,t).tz(this.$x.$timezone,!0)},a.tz=function(e,t,n){var r=n&&t,o=n||t||i,s=l(+a(),o);if("string"!=typeof e)return a(e).tz(o);var c=function(e,t,n){var r=e-60*t*1e3,a=l(r,n);if(t===a)return[r,t];var i=l(r-=60*(a-t)*1e3,n);return a===i?[r,a]:[e-60*Math.min(a,i)*1e3,Math.max(a,i)]}(a.utc(e,r).valueOf(),s,o),u=c[0],d=c[1],h=a(u).utcOffset(d);return h.$x.$timezone=o,h},a.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},a.tz.setDefault=function(e){i=e}}}()},220:function(e){e.exports=function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(r,a,i){var o=a.prototype;i.utc=function(e){return new a({date:e,utc:!0,args:arguments})},o.utc=function(t){var n=i(this.toDate(),{locale:this.$L,utc:!0});return t?n.add(this.utcOffset(),e):n},o.local=function(){return i(this.toDate(),{locale:this.$L,utc:!1})};var l=o.parse;o.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),l.call(this,e)};var s=o.init;o.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else s.call(this)};var c=o.utcOffset;o.utcOffset=function(r,a){var i=this.$utils().u;if(i(r))return this.$u?0:i(this.$offset)?c.call(this):this.$offset;if("string"==typeof r&&(r=function(e){void 0===e&&(e="");var r=e.match(t);if(!r)return null;var a=(""+r[0]).match(n)||["-",0,0],i=a[0],o=60*+a[1]+ +a[2];return 0===o?0:"+"===i?o:-o}(r),null===r))return this;var o=Math.abs(r)<=16?60*r:r,l=this;if(a)return l.$offset=o,l.$u=0===r,l;if(0!==r){var s=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(l=this.local().add(o+s,e)).$offset=o,l.$x.$localOffset=s}else l=this.utc();return l};var u=o.format;o.format=function(e){var t=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return u.call(this,t)},o.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*e},o.isUTC=function(){return!!this.$u},o.toISOString=function(){return this.toDate().toISOString()},o.toString=function(){return this.toDate().toUTCString()};var d=o.toDate;o.toDate=function(e){return"s"===e&&this.$offset?i(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():d.call(this)};var h=o.diff;o.diff=function(e,t,n){if(e&&this.$u===e.$u)return h.call(this,e,t,n);var r=this.local(),a=i(e).local();return h.call(r,a,t,n)}}}()},411:(e,t,n)=>{"use strict";var r=n(709),a=n(430),i=n(277),o=n(553);e.exports=function(e,t,n){if(!e||"object"!==typeof e&&"function"!==typeof e)throw new i("`obj` must be an object or a function`");if("string"!==typeof t&&"symbol"!==typeof t)throw new i("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!==typeof arguments[3]&&null!==arguments[3])throw new i("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!==typeof arguments[4]&&null!==arguments[4])throw new i("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!==typeof arguments[5]&&null!==arguments[5])throw new i("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!==typeof arguments[6])throw new i("`loose`, if provided, must be a boolean");var l=arguments.length>3?arguments[3]:null,s=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,u=arguments.length>6&&arguments[6],d=!!o&&o(e,t);if(r)r(e,t,{configurable:null===c&&d?d.configurable:!c,enumerable:null===l&&d?d.enumerable:!l,value:n,writable:null===s&&d?d.writable:!s});else{if(!u&&(l||s||c))throw new a("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");e[t]=n}}},709:(e,t,n)=>{"use strict";var r=n(375)("%Object.defineProperty%",!0)||!1;if(r)try{r({},"a",{value:1})}catch(a){r=!1}e.exports=r},123:e=>{"use strict";e.exports=EvalError},953:e=>{"use strict";e.exports=Error},780:e=>{"use strict";e.exports=RangeError},768:e=>{"use strict";e.exports=ReferenceError},430:e=>{"use strict";e.exports=SyntaxError},277:e=>{"use strict";e.exports=TypeError},619:e=>{"use strict";e.exports=URIError},307:e=>{"use strict";var t=Object.prototype.toString,n=Math.max,r=function(e,t){for(var n=[],r=0;r{"use strict";var r=n(307);e.exports=Function.prototype.bind||r},375:(e,t,n)=>{"use strict";var r,a=n(953),i=n(123),o=n(780),l=n(768),s=n(430),c=n(277),u=n(619),d=Function,h=function(e){try{return d('"use strict"; return ('+e+").constructor;")()}catch(t){}},m=Object.getOwnPropertyDescriptor;if(m)try{m({},"")}catch(R){m=null}var p=function(){throw new c},f=m?function(){try{return p}catch(e){try{return m(arguments,"callee").get}catch(t){return p}}}():p,v=n(757)(),g=n(442)(),y=Object.getPrototypeOf||(g?function(e){return e.__proto__}:null),_={},b="undefined"!==typeof Uint8Array&&y?y(Uint8Array):r,w={__proto__:null,"%AggregateError%":"undefined"===typeof AggregateError?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"===typeof ArrayBuffer?r:ArrayBuffer,"%ArrayIteratorPrototype%":v&&y?y([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":_,"%AsyncGenerator%":_,"%AsyncGeneratorFunction%":_,"%AsyncIteratorPrototype%":_,"%Atomics%":"undefined"===typeof Atomics?r:Atomics,"%BigInt%":"undefined"===typeof BigInt?r:BigInt,"%BigInt64Array%":"undefined"===typeof BigInt64Array?r:BigInt64Array,"%BigUint64Array%":"undefined"===typeof BigUint64Array?r:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"===typeof DataView?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":a,"%eval%":eval,"%EvalError%":i,"%Float32Array%":"undefined"===typeof Float32Array?r:Float32Array,"%Float64Array%":"undefined"===typeof Float64Array?r:Float64Array,"%FinalizationRegistry%":"undefined"===typeof FinalizationRegistry?r:FinalizationRegistry,"%Function%":d,"%GeneratorFunction%":_,"%Int8Array%":"undefined"===typeof Int8Array?r:Int8Array,"%Int16Array%":"undefined"===typeof Int16Array?r:Int16Array,"%Int32Array%":"undefined"===typeof Int32Array?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":v&&y?y(y([][Symbol.iterator]())):r,"%JSON%":"object"===typeof JSON?JSON:r,"%Map%":"undefined"===typeof Map?r:Map,"%MapIteratorPrototype%":"undefined"!==typeof Map&&v&&y?y((new Map)[Symbol.iterator]()):r,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"===typeof Promise?r:Promise,"%Proxy%":"undefined"===typeof Proxy?r:Proxy,"%RangeError%":o,"%ReferenceError%":l,"%Reflect%":"undefined"===typeof Reflect?r:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"===typeof Set?r:Set,"%SetIteratorPrototype%":"undefined"!==typeof Set&&v&&y?y((new Set)[Symbol.iterator]()):r,"%SharedArrayBuffer%":"undefined"===typeof SharedArrayBuffer?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":v&&y?y(""[Symbol.iterator]()):r,"%Symbol%":v?Symbol:r,"%SyntaxError%":s,"%ThrowTypeError%":f,"%TypedArray%":b,"%TypeError%":c,"%Uint8Array%":"undefined"===typeof Uint8Array?r:Uint8Array,"%Uint8ClampedArray%":"undefined"===typeof Uint8ClampedArray?r:Uint8ClampedArray,"%Uint16Array%":"undefined"===typeof Uint16Array?r:Uint16Array,"%Uint32Array%":"undefined"===typeof Uint32Array?r:Uint32Array,"%URIError%":u,"%WeakMap%":"undefined"===typeof WeakMap?r:WeakMap,"%WeakRef%":"undefined"===typeof WeakRef?r:WeakRef,"%WeakSet%":"undefined"===typeof WeakSet?r:WeakSet};if(y)try{null.error}catch(R){var k=y(y(R));w["%Error.prototype%"]=k}var x=function e(t){var n;if("%AsyncFunction%"===t)n=h("async function () {}");else if("%GeneratorFunction%"===t)n=h("function* () {}");else if("%AsyncGeneratorFunction%"===t)n=h("async function* () {}");else if("%AsyncGenerator%"===t){var r=e("%AsyncGeneratorFunction%");r&&(n=r.prototype)}else if("%AsyncIteratorPrototype%"===t){var a=e("%AsyncGenerator%");a&&y&&(n=y(a.prototype))}return w[t]=n,n},S={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},C=n(989),E=n(155),N=C.call(Function.call,Array.prototype.concat),A=C.call(Function.apply,Array.prototype.splice),M=C.call(Function.call,String.prototype.replace),T=C.call(Function.call,String.prototype.slice),L=C.call(Function.call,RegExp.prototype.exec),P=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,O=/\\(\\)?/g,I=function(e,t){var n,r=e;if(E(S,r)&&(r="%"+(n=S[r])[0]+"%"),E(w,r)){var a=w[r];if(a===_&&(a=x(r)),"undefined"===typeof a&&!t)throw new c("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:n,name:r,value:a}}throw new s("intrinsic "+e+" does not exist!")};e.exports=function(e,t){if("string"!==typeof e||0===e.length)throw new c("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!==typeof t)throw new c('"allowMissing" argument must be a boolean');if(null===L(/^%?[^%]*%?$/,e))throw new s("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=function(e){var t=T(e,0,1),n=T(e,-1);if("%"===t&&"%"!==n)throw new s("invalid intrinsic syntax, expected closing `%`");if("%"===n&&"%"!==t)throw new s("invalid intrinsic syntax, expected opening `%`");var r=[];return M(e,P,(function(e,t,n,a){r[r.length]=n?M(a,O,"$1"):t||e})),r}(e),r=n.length>0?n[0]:"",a=I("%"+r+"%",t),i=a.name,o=a.value,l=!1,u=a.alias;u&&(r=u[0],A(n,N([0,1],u)));for(var d=1,h=!0;d=n.length){var g=m(o,p);o=(h=!!g)&&"get"in g&&!("originalValue"in g.get)?g.get:o[p]}else h=E(o,p),o=o[p];h&&!l&&(w[i]=o)}}return o}},553:(e,t,n)=>{"use strict";var r=n(375)("%Object.getOwnPropertyDescriptor%",!0);if(r)try{r([],"length")}catch(a){r=null}e.exports=r},734:(e,t,n)=>{"use strict";var r=n(709),a=function(){return!!r};a.hasArrayLengthDefineBug=function(){if(!r)return null;try{return 1!==r([],"length",{value:1}).length}catch(e){return!0}},e.exports=a},442:e=>{"use strict";var t={foo:{}},n=Object;e.exports=function(){return{__proto__:t}.foo===t.foo&&!({__proto__:null}instanceof n)}},757:(e,t,n)=>{"use strict";var r="undefined"!==typeof Symbol&&Symbol,a=n(175);e.exports=function(){return"function"===typeof r&&("function"===typeof Symbol&&("symbol"===typeof r("foo")&&("symbol"===typeof Symbol("bar")&&a())))}},175:e=>{"use strict";e.exports=function(){if("function"!==typeof Symbol||"function"!==typeof Object.getOwnPropertySymbols)return!1;if("symbol"===typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"===typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"===typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"===typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"===typeof Object.getOwnPropertyDescriptor){var a=Object.getOwnPropertyDescriptor(e,t);if(42!==a.value||!0!==a.enumerable)return!1}return!0}},155:(e,t,n)=>{"use strict";var r=Function.prototype.call,a=Object.prototype.hasOwnProperty,i=n(989);e.exports=i.call(r,a)},267:(e,t,n)=>{var r=NaN,a="[object Symbol]",i=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,s=/^0o[0-7]+$/i,c=parseInt,u="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,d="object"==typeof self&&self&&self.Object===Object&&self,h=u||d||Function("return this")(),m=Object.prototype.toString,p=Math.max,f=Math.min,v=function(){return h.Date.now()};function g(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function y(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&m.call(e)==a}(e))return r;if(g(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=g(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(i,"");var n=l.test(e);return n||s.test(e)?c(e.slice(2),n?2:8):o.test(e)?r:+e}e.exports=function(e,t,n){var r,a,i,o,l,s,c=0,u=!1,d=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function m(t){var n=r,i=a;return r=a=void 0,c=t,o=e.apply(i,n)}function _(e){var n=e-s;return void 0===s||n>=t||n<0||d&&e-c>=i}function b(){var e=v();if(_(e))return w(e);l=setTimeout(b,function(e){var n=t-(e-s);return d?f(n,i-(e-c)):n}(e))}function w(e){return l=void 0,h&&r?m(e):(r=a=void 0,o)}function k(){var e=v(),n=_(e);if(r=arguments,a=this,s=e,n){if(void 0===l)return function(e){return c=e,l=setTimeout(b,t),u?m(e):o}(s);if(d)return l=setTimeout(b,t),m(s)}return void 0===l&&(l=setTimeout(b,t)),o}return t=y(t)||0,g(n)&&(u=!!n.leading,i=(d="maxWait"in n)?p(y(n.maxWait)||0,t):i,h="trailing"in n?!!n.trailing:h),k.cancel=function(){void 0!==l&&clearTimeout(l),c=0,r=s=a=l=void 0},k.flush=function(){return void 0===l?o:w(v())},k}},424:(e,t,n)=>{var r="__lodash_hash_undefined__",a=1/0,i="[object Function]",o="[object GeneratorFunction]",l="[object Symbol]",s=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,c=/^\w*$/,u=/^\./,d=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,h=/\\(\\)?/g,m=/^\[object .+?Constructor\]$/,p="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,f="object"==typeof self&&self&&self.Object===Object&&self,v=p||f||Function("return this")();var g=Array.prototype,y=Function.prototype,_=Object.prototype,b=v["__core-js_shared__"],w=function(){var e=/[^.]+$/.exec(b&&b.keys&&b.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),k=y.toString,x=_.hasOwnProperty,S=_.toString,C=RegExp("^"+k.call(x).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),E=v.Symbol,N=g.splice,A=j(v,"Map"),M=j(Object,"create"),T=E?E.prototype:void 0,L=T?T.toString:void 0;function P(e){var t=-1,n=e?e.length:0;for(this.clear();++t-1},O.prototype.set=function(e,t){var n=this.__data__,r=R(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},I.prototype.clear=function(){this.__data__={hash:new P,map:new(A||O),string:new P}},I.prototype.delete=function(e){return F(this,e).delete(e)},I.prototype.get=function(e){return F(this,e).get(e)},I.prototype.has=function(e){return F(this,e).has(e)},I.prototype.set=function(e,t){return F(this,e).set(e,t),this};var H=$((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(q(e))return L?L.call(e):"";var t=e+"";return"0"==t&&1/e==-a?"-0":t}(t);var n=[];return u.test(e)&&n.push(""),e.replace(d,(function(e,t,r,a){n.push(r?a.replace(h,"$1"):t||e)})),n}));function V(e){if("string"==typeof e||q(e))return e;var t=e+"";return"0"==t&&1/e==-a?"-0":t}function $(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,a=t?t.apply(this,r):r[0],i=n.cache;if(i.has(a))return i.get(a);var o=e.apply(this,r);return n.cache=i.set(a,o),o};return n.cache=new($.Cache||I),n}$.Cache=I;var U=Array.isArray;function B(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function q(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&S.call(e)==l}e.exports=function(e,t,n){var r=null==e?void 0:D(e,t);return void 0===r?n:r}},141:(e,t,n)=>{var r="function"===typeof Map&&Map.prototype,a=Object.getOwnPropertyDescriptor&&r?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,i=r&&a&&"function"===typeof a.get?a.get:null,o=r&&Map.prototype.forEach,l="function"===typeof Set&&Set.prototype,s=Object.getOwnPropertyDescriptor&&l?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,c=l&&s&&"function"===typeof s.get?s.get:null,u=l&&Set.prototype.forEach,d="function"===typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,h="function"===typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,m="function"===typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,p=Boolean.prototype.valueOf,f=Object.prototype.toString,v=Function.prototype.toString,g=String.prototype.match,y=String.prototype.slice,_=String.prototype.replace,b=String.prototype.toUpperCase,w=String.prototype.toLowerCase,k=RegExp.prototype.test,x=Array.prototype.concat,S=Array.prototype.join,C=Array.prototype.slice,E=Math.floor,N="function"===typeof BigInt?BigInt.prototype.valueOf:null,A=Object.getOwnPropertySymbols,M="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?Symbol.prototype.toString:null,T="function"===typeof Symbol&&"object"===typeof Symbol.iterator,L="function"===typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===T||"symbol")?Symbol.toStringTag:null,P=Object.prototype.propertyIsEnumerable,O=("function"===typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function I(e,t){if(e===1/0||e===-1/0||e!==e||e&&e>-1e3&&e<1e3||k.call(/e/,t))return t;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"===typeof e){var r=e<0?-E(-e):E(e);if(r!==e){var a=String(r),i=y.call(t,a.length+1);return _.call(a,n,"$&_")+"."+_.call(_.call(i,/([0-9]{3})/g,"$&_"),/_$/,"")}}return _.call(t,n,"$&_")}var R=n(634),D=R.custom,z=$(D)?D:null;function F(e,t,n){var r="double"===(n.quoteStyle||t)?'"':"'";return r+e+r}function j(e){return _.call(String(e),/"/g,""")}function H(e){return"[object Array]"===q(e)&&(!L||!("object"===typeof e&&L in e))}function V(e){return"[object RegExp]"===q(e)&&(!L||!("object"===typeof e&&L in e))}function $(e){if(T)return e&&"object"===typeof e&&e instanceof Symbol;if("symbol"===typeof e)return!0;if(!e||"object"!==typeof e||!M)return!1;try{return M.call(e),!0}catch(t){}return!1}e.exports=function e(t,r,a,l){var s=r||{};if(B(s,"quoteStyle")&&"single"!==s.quoteStyle&&"double"!==s.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(B(s,"maxStringLength")&&("number"===typeof s.maxStringLength?s.maxStringLength<0&&s.maxStringLength!==1/0:null!==s.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var f=!B(s,"customInspect")||s.customInspect;if("boolean"!==typeof f&&"symbol"!==f)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(B(s,"indent")&&null!==s.indent&&"\t"!==s.indent&&!(parseInt(s.indent,10)===s.indent&&s.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(B(s,"numericSeparator")&&"boolean"!==typeof s.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var b=s.numericSeparator;if("undefined"===typeof t)return"undefined";if(null===t)return"null";if("boolean"===typeof t)return t?"true":"false";if("string"===typeof t)return W(t,s);if("number"===typeof t){if(0===t)return 1/0/t>0?"0":"-0";var k=String(t);return b?I(t,k):k}if("bigint"===typeof t){var E=String(t)+"n";return b?I(t,E):E}var A="undefined"===typeof s.depth?5:s.depth;if("undefined"===typeof a&&(a=0),a>=A&&A>0&&"object"===typeof t)return H(t)?"[Array]":"[Object]";var D=function(e,t){var n;if("\t"===e.indent)n="\t";else{if(!("number"===typeof e.indent&&e.indent>0))return null;n=S.call(Array(e.indent+1)," ")}return{base:n,prev:S.call(Array(t+1),n)}}(s,a);if("undefined"===typeof l)l=[];else if(Y(l,t)>=0)return"[Circular]";function U(t,n,r){if(n&&(l=C.call(l)).push(n),r){var i={depth:s.depth};return B(s,"quoteStyle")&&(i.quoteStyle=s.quoteStyle),e(t,i,a+1,l)}return e(t,s,a+1,l)}if("function"===typeof t&&!V(t)){var K=function(e){if(e.name)return e.name;var t=g.call(v.call(e),/^function\s*([\w$]+)/);if(t)return t[1];return null}(t),ee=X(t,U);return"[Function"+(K?": "+K:" (anonymous)")+"]"+(ee.length>0?" { "+S.call(ee,", ")+" }":"")}if($(t)){var te=T?_.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):M.call(t);return"object"!==typeof t||T?te:Q(te)}if(function(e){if(!e||"object"!==typeof e)return!1;if("undefined"!==typeof HTMLElement&&e instanceof HTMLElement)return!0;return"string"===typeof e.nodeName&&"function"===typeof e.getAttribute}(t)){for(var ne="<"+w.call(String(t.nodeName)),re=t.attributes||[],ae=0;ae"}if(H(t)){if(0===t.length)return"[]";var ie=X(t,U);return D&&!function(e){for(var t=0;t=0)return!1;return!0}(ie)?"["+J(ie,D)+"]":"[ "+S.call(ie,", ")+" ]"}if(function(e){return"[object Error]"===q(e)&&(!L||!("object"===typeof e&&L in e))}(t)){var oe=X(t,U);return"cause"in Error.prototype||!("cause"in t)||P.call(t,"cause")?0===oe.length?"["+String(t)+"]":"{ ["+String(t)+"] "+S.call(oe,", ")+" }":"{ ["+String(t)+"] "+S.call(x.call("[cause]: "+U(t.cause),oe),", ")+" }"}if("object"===typeof t&&f){if(z&&"function"===typeof t[z]&&R)return R(t,{depth:A-a});if("symbol"!==f&&"function"===typeof t.inspect)return t.inspect()}if(function(e){if(!i||!e||"object"!==typeof e)return!1;try{i.call(e);try{c.call(e)}catch(ne){return!0}return e instanceof Map}catch(t){}return!1}(t)){var le=[];return o&&o.call(t,(function(e,n){le.push(U(n,t,!0)+" => "+U(e,t))})),G("Map",i.call(t),le,D)}if(function(e){if(!c||!e||"object"!==typeof e)return!1;try{c.call(e);try{i.call(e)}catch(t){return!0}return e instanceof Set}catch(n){}return!1}(t)){var se=[];return u&&u.call(t,(function(e){se.push(U(e,t))})),G("Set",c.call(t),se,D)}if(function(e){if(!d||!e||"object"!==typeof e)return!1;try{d.call(e,d);try{h.call(e,h)}catch(ne){return!0}return e instanceof WeakMap}catch(t){}return!1}(t))return Z("WeakMap");if(function(e){if(!h||!e||"object"!==typeof e)return!1;try{h.call(e,h);try{d.call(e,d)}catch(ne){return!0}return e instanceof WeakSet}catch(t){}return!1}(t))return Z("WeakSet");if(function(e){if(!m||!e||"object"!==typeof e)return!1;try{return m.call(e),!0}catch(t){}return!1}(t))return Z("WeakRef");if(function(e){return"[object Number]"===q(e)&&(!L||!("object"===typeof e&&L in e))}(t))return Q(U(Number(t)));if(function(e){if(!e||"object"!==typeof e||!N)return!1;try{return N.call(e),!0}catch(t){}return!1}(t))return Q(U(N.call(t)));if(function(e){return"[object Boolean]"===q(e)&&(!L||!("object"===typeof e&&L in e))}(t))return Q(p.call(t));if(function(e){return"[object String]"===q(e)&&(!L||!("object"===typeof e&&L in e))}(t))return Q(U(String(t)));if("undefined"!==typeof window&&t===window)return"{ [object Window] }";if(t===n.g)return"{ [object globalThis] }";if(!function(e){return"[object Date]"===q(e)&&(!L||!("object"===typeof e&&L in e))}(t)&&!V(t)){var ce=X(t,U),ue=O?O(t)===Object.prototype:t instanceof Object||t.constructor===Object,de=t instanceof Object?"":"null prototype",he=!ue&&L&&Object(t)===t&&L in t?y.call(q(t),8,-1):de?"Object":"",me=(ue||"function"!==typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(he||de?"["+S.call(x.call([],he||[],de||[]),": ")+"] ":"");return 0===ce.length?me+"{}":D?me+"{"+J(ce,D)+"}":me+"{ "+S.call(ce,", ")+" }"}return String(t)};var U=Object.prototype.hasOwnProperty||function(e){return e in this};function B(e,t){return U.call(e,t)}function q(e){return f.call(e)}function Y(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;nt.maxStringLength){var n=e.length-t.maxStringLength,r="... "+n+" more character"+(n>1?"s":"");return W(y.call(e,0,t.maxStringLength),t)+r}return F(_.call(_.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,K),"single",t)}function K(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+b.call(t.toString(16))}function Q(e){return"Object("+e+")"}function Z(e){return e+" { ? }"}function G(e,t,n,r){return e+" ("+t+") {"+(r?J(n,r):S.call(n,", "))+"}"}function J(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+S.call(e,","+n)+"\n"+t.prev}function X(e,t){var n=H(e),r=[];if(n){r.length=e.length;for(var a=0;a{"use strict";n.r(t),n.d(t,{Children:()=>Y,Component:()=>l.uA,Fragment:()=>l.FK,PureComponent:()=>H,StrictMode:()=>Pe,Suspense:()=>G,SuspenseList:()=>ee,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>ke,cloneElement:()=>Ne,createContext:()=>l.q6,createElement:()=>l.n,createFactory:()=>Se,createPortal:()=>ae,createRef:()=>l._3,default:()=>He,findDOMNode:()=>Me,flushSync:()=>Le,forwardRef:()=>B,hydrate:()=>he,isElement:()=>ze,isFragment:()=>Ee,isValidElement:()=>Ce,lazy:()=>X,memo:()=>V,render:()=>de,startTransition:()=>Oe,unmountComponentAtNode:()=>Ae,unstable_batchedUpdates:()=>Te,useCallback:()=>E,useContext:()=>N,useDebugValue:()=>A,useDeferredValue:()=>Ie,useEffect:()=>w,useErrorBoundary:()=>M,useId:()=>T,useImperativeHandle:()=>S,useInsertionEffect:()=>De,useLayoutEffect:()=>k,useMemo:()=>C,useReducer:()=>b,useRef:()=>x,useState:()=>_,useSyncExternalStore:()=>Fe,useTransition:()=>Re,version:()=>xe});var r,a,i,o,l=n(746),s=0,c=[],u=[],d=l.fF,h=d.__b,m=d.__r,p=d.diffed,f=d.__c,v=d.unmount,g=d.__;function y(e,t){d.__h&&d.__h(a,e,s||t),s=0;var n=a.__H||(a.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({__V:u}),n.__[e]}function _(e){return s=1,b(z,e)}function b(e,t,n){var i=y(r++,2);if(i.t=e,!i.__c&&(i.__=[n?n(t):z(void 0,t),function(e){var t=i.__N?i.__N[0]:i.__[0],n=i.t(t,e);t!==n&&(i.__N=[n,i.__[1]],i.__c.setState({}))}],i.__c=a,!a.u)){var o=function(e,t,n){if(!i.__c.__H)return!0;var r=i.__c.__H.__.filter((function(e){return!!e.__c}));if(r.every((function(e){return!e.__N})))return!l||l.call(this,e,t,n);var a=!1;return r.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(a=!0)}})),!(!a&&i.__c.props===e)&&(!l||l.call(this,e,t,n))};a.u=!0;var l=a.shouldComponentUpdate,s=a.componentWillUpdate;a.componentWillUpdate=function(e,t,n){if(this.__e){var r=l;l=void 0,o(e,t,n),l=r}s&&s.call(this,e,t,n)},a.shouldComponentUpdate=o}return i.__N||i.__}function w(e,t){var n=y(r++,3);!d.__s&&D(n.__H,t)&&(n.__=e,n.i=t,a.__H.__h.push(n))}function k(e,t){var n=y(r++,4);!d.__s&&D(n.__H,t)&&(n.__=e,n.i=t,a.__h.push(n))}function x(e){return s=5,C((function(){return{current:e}}),[])}function S(e,t,n){s=6,k((function(){return"function"==typeof e?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0}),null==n?n:n.concat(e))}function C(e,t){var n=y(r++,7);return D(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function E(e,t){return s=8,C((function(){return e}),t)}function N(e){var t=a.context[e.__c],n=y(r++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(a)),t.props.value):e.__}function A(e,t){d.useDebugValue&&d.useDebugValue(t?t(e):e)}function M(e){var t=y(r++,10),n=_();return t.__=e,a.componentDidCatch||(a.componentDidCatch=function(e,r){t.__&&t.__(e,r),n[1](e)}),[n[0],function(){n[1](void 0)}]}function T(){var e=y(r++,11);if(!e.__){for(var t=a.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function L(){for(var e;e=c.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(I),e.__H.__h.forEach(R),e.__H.__h=[]}catch(r){e.__H.__h=[],d.__e(r,e.__v)}}d.__b=function(e){a=null,h&&h(e)},d.__=function(e,t){e&&t.__k&&t.__k.__m&&(e.__m=t.__k.__m),g&&g(e,t)},d.__r=function(e){m&&m(e),r=0;var t=(a=e.__c).__H;t&&(i===a?(t.__h=[],a.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.__V=u,e.__N=e.i=void 0}))):(t.__h.forEach(I),t.__h.forEach(R),t.__h=[],r=0)),i=a},d.diffed=function(e){p&&p(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==c.push(t)&&o===d.requestAnimationFrame||((o=d.requestAnimationFrame)||O)(L)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.__V!==u&&(e.__=e.__V),e.i=void 0,e.__V=u}))),i=a=null},d.__c=function(e,t){t.some((function(e){try{e.__h.forEach(I),e.__h=e.__h.filter((function(e){return!e.__||R(e)}))}catch(a){t.some((function(e){e.__h&&(e.__h=[])})),t=[],d.__e(a,e.__v)}})),f&&f(e,t)},d.unmount=function(e){v&&v(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{I(e)}catch(e){t=e}})),n.__H=void 0,t&&d.__e(t,n.__v))};var P="function"==typeof requestAnimationFrame;function O(e){var t,n=function(){clearTimeout(r),P&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);P&&(t=requestAnimationFrame(n))}function I(e){var t=a,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),a=t}function R(e){var t=a;e.__c=e.__(),a=t}function D(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function z(e,t){return"function"==typeof t?t(e):t}function F(e,t){for(var n in t)e[n]=t[n];return e}function j(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var r in t)if("__source"!==r&&e[r]!==t[r])return!0;return!1}function H(e,t){this.props=e,this.context=t}function V(e,t){function n(e){var n=this.props.ref,r=n==e.ref;return!r&&n&&(n.call?n(null):n.current=null),t?!t(this.props,e)||!r:j(this.props,e)}function r(t){return this.shouldComponentUpdate=n,(0,l.n)(e,t)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(H.prototype=new l.uA).isPureReactComponent=!0,H.prototype.shouldComponentUpdate=function(e,t){return j(this.props,e)||j(this.state,t)};var $=l.fF.__b;l.fF.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),$&&$(e)};var U="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function B(e){function t(t){var n=F({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=U,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var q=function(e,t){return null==e?null:(0,l.v2)((0,l.v2)(e).map(t))},Y={map:q,forEach:q,count:function(e){return e?(0,l.v2)(e).length:0},only:function(e){var t=(0,l.v2)(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:l.v2},W=l.fF.__e;l.fF.__e=function(e,t,n,r){if(e.then)for(var a,i=t;i=i.__;)if((a=i.__c)&&a.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),a.__c(e,t);W(e,t,n,r)};var K=l.fF.unmount;function Q(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),e.__c.__H=null),null!=(e=F({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map((function(e){return Q(e,t,n)}))),e}function Z(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map((function(e){return Z(e,t,n)})),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function G(){this.__u=0,this.t=null,this.__b=null}function J(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function X(e){var t,n,r;function a(a){if(t||(t=e()).then((function(e){n=e.default||e}),(function(e){r=e})),r)throw r;if(!n)throw t;return(0,l.n)(n,a)}return a.displayName="Lazy",a.__f=!0,a}function ee(){this.u=null,this.o=null}l.fF.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),K&&K(e)},(G.prototype=new l.uA).__c=function(e,t){var n=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(n);var a=J(r.__v),i=!1,o=function(){i||(i=!0,n.__R=null,a?a(l):l())};n.__R=o;var l=function(){if(! --r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=Z(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(o,o)},G.prototype.componentWillUnmount=function(){this.t=[]},G.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=Q(this.__b,n,r.__O=r.__P)}this.__b=null}var a=t.__a&&(0,l.n)(l.FK,null,e.fallback);return a&&(a.__u&=-33),[(0,l.n)(l.FK,null,t.__a?null:e.children),a]};var te=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(e)}}),(0,l.XX)((0,l.n)(ne,{context:t.context},e.__v),t.l)}function ae(e,t){var n=(0,l.n)(re,{__v:e,i:t});return n.containerInfo=t,n}(ee.prototype=new l.uA).__a=function(e){var t=this,n=J(t.__v),r=t.o.get(e);return r[0]++,function(a){var i=function(){t.props.revealOrder?(r.push(a),te(t,e,r)):a()};n?n(i):i()}},ee.prototype.render=function(e){this.u=null,this.o=new Map;var t=(0,l.v2)(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},ee.prototype.componentDidUpdate=ee.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){te(e,n,t)}))};var ie="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,oe=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,le=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,se=/[A-Z0-9]/g,ce="undefined"!=typeof document,ue=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(e)};function de(e,t,n){return null==t.__k&&(t.textContent=""),(0,l.XX)(e,t),"function"==typeof n&&n(),e?e.__c:null}function he(e,t,n){return(0,l.Qv)(e,t),"function"==typeof n&&n(),e?e.__c:null}l.uA.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(l.uA.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var me=l.fF.event;function pe(){}function fe(){return this.cancelBubble}function ve(){return this.defaultPrevented}l.fF.event=function(e){return me&&(e=me(e)),e.persist=pe,e.isPropagationStopped=fe,e.isDefaultPrevented=ve,e.nativeEvent=e};var ge,ye={enumerable:!1,configurable:!0,get:function(){return this.class}},_e=l.fF.vnode;l.fF.vnode=function(e){"string"==typeof e.type&&function(e){var t=e.props,n=e.type,r={};for(var a in t){var i=t[a];if(!("value"===a&&"defaultValue"in t&&null==i||ce&&"children"===a&&"noscript"===n||"class"===a||"className"===a)){var o=a.toLowerCase();"defaultValue"===a&&"value"in t&&null==t.value?a="value":"download"===a&&!0===i?i="":"translate"===o&&"no"===i?i=!1:"ondoubleclick"===o?a="ondblclick":"onchange"!==o||"input"!==n&&"textarea"!==n||ue(t.type)?"onfocus"===o?a="onfocusin":"onblur"===o?a="onfocusout":le.test(a)?a=o:-1===n.indexOf("-")&&oe.test(a)?a=a.replace(se,"-$&").toLowerCase():null===i&&(i=void 0):o=a="oninput","oninput"===o&&r[a=o]&&(a="oninputCapture"),r[a]=i}}"select"==n&&r.multiple&&Array.isArray(r.value)&&(r.value=(0,l.v2)(t.children).forEach((function(e){e.props.selected=-1!=r.value.indexOf(e.props.value)}))),"select"==n&&null!=r.defaultValue&&(r.value=(0,l.v2)(t.children).forEach((function(e){e.props.selected=r.multiple?-1!=r.defaultValue.indexOf(e.props.value):r.defaultValue==e.props.value}))),t.class&&!t.className?(r.class=t.class,Object.defineProperty(r,"className",ye)):(t.className&&!t.class||t.class&&t.className)&&(r.class=r.className=t.className),e.props=r}(e),e.$$typeof=ie,_e&&_e(e)};var be=l.fF.__r;l.fF.__r=function(e){be&&be(e),ge=e.__c};var we=l.fF.diffed;l.fF.diffed=function(e){we&&we(e);var t=e.props,n=e.__e;null!=n&&"textarea"===e.type&&"value"in t&&t.value!==n.value&&(n.value=null==t.value?"":t.value),ge=null};var ke={ReactCurrentDispatcher:{current:{readContext:function(e){return ge.__n[e.__c].props.value}}}},xe="17.0.2";function Se(e){return l.n.bind(null,e)}function Ce(e){return!!e&&e.$$typeof===ie}function Ee(e){return Ce(e)&&e.type===l.FK}function Ne(e){return Ce(e)?l.Ob.apply(null,arguments):e}function Ae(e){return!!e.__k&&((0,l.XX)(null,e),!0)}function Me(e){return e&&(e.base||1===e.nodeType&&e)||null}var Te=function(e,t){return e(t)},Le=function(e,t){return e(t)},Pe=l.FK;function Oe(e){e()}function Ie(e){return e}function Re(){return[!1,Oe]}var De=k,ze=Ce;function Fe(e,t){var n=t(),r=_({h:{__:n,v:t}}),a=r[0].h,i=r[1];return k((function(){a.__=n,a.v=t,je(a)&&i({h:a})}),[e,n,t]),w((function(){return je(a)&&i({h:a}),e((function(){je(a)&&i({h:a})}))}),[e]),n}function je(e){var t,n,r=e.v,a=e.__;try{var i=r();return!((t=a)===(n=i)&&(0!==t||1/t==1/n)||t!=t&&n!=n)}catch(e){return!0}}var He={useState:_,useId:T,useReducer:b,useEffect:w,useLayoutEffect:k,useInsertionEffect:De,useTransition:Re,useDeferredValue:Ie,useSyncExternalStore:Fe,startTransition:Oe,useRef:x,useImperativeHandle:S,useMemo:C,useCallback:E,useContext:N,useDebugValue:A,version:"17.0.2",Children:Y,render:de,hydrate:he,unmountComponentAtNode:Ae,createPortal:ae,createElement:l.n,createContext:l.q6,createFactory:Se,cloneElement:Ne,createRef:l._3,Fragment:l.FK,isValidElement:Ce,isElement:ze,isFragment:Ee,findDOMNode:Me,Component:l.uA,PureComponent:H,memo:V,forwardRef:B,flushSync:Le,unstable_batchedUpdates:Te,StrictMode:Pe,Suspense:G,SuspenseList:ee,lazy:X,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:ke}},746:(e,t,n)=>{"use strict";n.d(t,{FK:()=>b,Ob:()=>B,Qv:()=>U,XX:()=>$,_3:()=>_,fF:()=>a,n:()=>g,q6:()=>q,uA:()=>w,v2:()=>T});var r,a,i,o,l,s,c,u,d={},h=[],m=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,p=Array.isArray;function f(e,t){for(var n in t)e[n]=t[n];return e}function v(e){var t=e.parentNode;t&&t.removeChild(e)}function g(e,t,n){var a,i,o,l={};for(o in t)"key"==o?a=t[o]:"ref"==o?i=t[o]:l[o]=t[o];if(arguments.length>2&&(l.children=arguments.length>3?r.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(o in e.defaultProps)void 0===l[o]&&(l[o]=e.defaultProps[o]);return y(e,l,a,i,null)}function y(e,t,n,r,o){var l={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==o?++i:o,__i:-1,__u:0};return null==o&&null!=a.vnode&&a.vnode(l),l}function _(){return{current:null}}function b(e){return e.children}function w(e,t){this.props=e,this.context=t}function k(e,t){if(null==t)return e.__?k(e.__,e.__i+1):null;for(var n;tn?(z(r,t,i),i.length=r.length=0,t=void 0,o.sort(c)):t&&a.__c&&a.__c(t,h));t&&z(r,t,i),E.__r=0}function N(e,t,n,r,a,i,o,l,s,c,u){var m,p,f,v,g,y=r&&r.__k||h,_=t.length;for(n.__d=s,A(n,t,y),s=n.__d,m=0;m<_;m++)null!=(f=n.__k[m])&&"boolean"!=typeof f&&"function"!=typeof f&&(p=-1===f.__i?d:y[f.__i]||d,f.__i=m,D(e,f,p,a,i,o,l,s,c,u),v=f.__e,f.ref&&p.ref!=f.ref&&(p.ref&&j(p.ref,null,f),u.push(f.ref,f.__c||v,f)),null==g&&null!=v&&(g=v),65536&f.__u||p.__k===f.__k?s=M(f,s,e):"function"==typeof f.type&&void 0!==f.__d?s=f.__d:v&&(s=v.nextSibling),f.__d=void 0,f.__u&=-196609);n.__d=s,n.__e=g}function A(e,t,n){var r,a,i,o,l,s=t.length,c=n.length,u=c,d=0;for(e.__k=[],r=0;r0?y(a.type,a.props,a.key,a.ref?a.ref:null,a.__v):a)?(a.__=e,a.__b=e.__b+1,l=L(a,n,o=r+d,u),a.__i=l,i=null,-1!==l&&(u--,(i=n[l])&&(i.__u|=131072)),null==i||null===i.__v?(-1==l&&d--,"function"!=typeof a.type&&(a.__u|=65536)):l!==o&&(l===o+1?d++:l>o?u>s-o?d+=l-o:d--:d=l(null!=s&&0==(131072&s.__u)?1:0))for(;o>=0||l=0){if((s=t[o])&&0==(131072&s.__u)&&a==s.key&&i===s.type)return o;o--}if(l2&&(s.children=arguments.length>3?r.call(arguments,2):n),y(e.type,s,a||e.key,i||e.ref,null)}function q(e,t){var n={__c:t="__cC"+u++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var n,r;return this.getChildContext||(n=[],(r={})[t]=this,this.getChildContext=function(){return r},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&n.some((function(e){e.__e=!0,C(e)}))},this.sub=function(e){n.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n.splice(n.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Provider.__=n.Consumer.contextType=n}r=h.slice,a={__e:function(e,t,n,r){for(var a,i,o;t=t.__;)if((a=t.__c)&&!a.__)try{if((i=a.constructor)&&null!=i.getDerivedStateFromError&&(a.setState(i.getDerivedStateFromError(e)),o=a.__d),null!=a.componentDidCatch&&(a.componentDidCatch(e,r||{}),o=a.__d),o)return a.__E=a}catch(t){e=t}throw e}},i=0,w.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=f({},this.state),"function"==typeof e&&(e=e(f({},n),this.props)),e&&f(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),C(this))},w.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),C(this))},w.prototype.render=b,o=[],s="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,c=function(e,t){return e.__v.__b-t.__v.__b},E.__r=0,u=0},640:e=>{"use strict";var t=String.prototype.replace,n=/%20/g,r="RFC1738",a="RFC3986";e.exports={default:a,formatters:{RFC1738:function(e){return t.call(e,n,"+")},RFC3986:function(e){return String(e)}},RFC1738:r,RFC3986:a}},215:(e,t,n)=>{"use strict";var r=n(518),a=n(968),i=n(640);e.exports={formats:i,parse:a,stringify:r}},968:(e,t,n)=>{"use strict";var r=n(570),a=Object.prototype.hasOwnProperty,i=Array.isArray,o={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:r.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},l=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},s=function(e,t){return e&&"string"===typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},c=function(e,t,n,r){if(e){var i=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/g,l=n.depth>0&&/(\[[^[\]]*])/.exec(i),c=l?i.slice(0,l.index):i,u=[];if(c){if(!n.plainObjects&&a.call(Object.prototype,c)&&!n.allowPrototypes)return;u.push(c)}for(var d=0;n.depth>0&&null!==(l=o.exec(i))&&d=0;--i){var o,l=e[i];if("[]"===l&&n.parseArrays)o=[].concat(a);else{o=n.plainObjects?Object.create(null):{};var c="["===l.charAt(0)&&"]"===l.charAt(l.length-1)?l.slice(1,-1):l,u=parseInt(c,10);n.parseArrays||""!==c?!isNaN(u)&&l!==c&&String(u)===c&&u>=0&&n.parseArrays&&u<=n.arrayLimit?(o=[])[u]=a:"__proto__"!==c&&(o[c]=a):o={0:a}}a=o}return a}(u,t,n,r)}};e.exports=function(e,t){var n=function(e){if(!e)return o;if(null!==e.decoder&&void 0!==e.decoder&&"function"!==typeof e.decoder)throw new TypeError("Decoder has to be a function.");if("undefined"!==typeof e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t="undefined"===typeof e.charset?o.charset:e.charset;return{allowDots:"undefined"===typeof e.allowDots?o.allowDots:!!e.allowDots,allowPrototypes:"boolean"===typeof e.allowPrototypes?e.allowPrototypes:o.allowPrototypes,allowSparse:"boolean"===typeof e.allowSparse?e.allowSparse:o.allowSparse,arrayLimit:"number"===typeof e.arrayLimit?e.arrayLimit:o.arrayLimit,charset:t,charsetSentinel:"boolean"===typeof e.charsetSentinel?e.charsetSentinel:o.charsetSentinel,comma:"boolean"===typeof e.comma?e.comma:o.comma,decoder:"function"===typeof e.decoder?e.decoder:o.decoder,delimiter:"string"===typeof e.delimiter||r.isRegExp(e.delimiter)?e.delimiter:o.delimiter,depth:"number"===typeof e.depth||!1===e.depth?+e.depth:o.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"===typeof e.interpretNumericEntities?e.interpretNumericEntities:o.interpretNumericEntities,parameterLimit:"number"===typeof e.parameterLimit?e.parameterLimit:o.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"===typeof e.plainObjects?e.plainObjects:o.plainObjects,strictNullHandling:"boolean"===typeof e.strictNullHandling?e.strictNullHandling:o.strictNullHandling}}(t);if(""===e||null===e||"undefined"===typeof e)return n.plainObjects?Object.create(null):{};for(var u="string"===typeof e?function(e,t){var n,c={__proto__:null},u=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,d=t.parameterLimit===1/0?void 0:t.parameterLimit,h=u.split(t.delimiter,d),m=-1,p=t.charset;if(t.charsetSentinel)for(n=0;n-1&&(v=i(v)?[v]:v),a.call(c,f)?c[f]=r.combine(c[f],v):c[f]=v}return c}(e,n):e,d=n.plainObjects?Object.create(null):{},h=Object.keys(u),m=0;m{"use strict";var r=n(670),a=n(570),i=n(640),o=Object.prototype.hasOwnProperty,l={brackets:function(e){return e+"[]"},comma:"comma",indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},s=Array.isArray,c=Array.prototype.push,u=function(e,t){c.apply(e,s(t)?t:[t])},d=Date.prototype.toISOString,h=i.default,m={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:a.encode,encodeValuesOnly:!1,format:h,formatter:i.formatters[h],indices:!1,serializeDate:function(e){return d.call(e)},skipNulls:!1,strictNullHandling:!1},p={},f=function e(t,n,i,o,l,c,d,h,f,v,g,y,_,b,w,k){for(var x,S=t,C=k,E=0,N=!1;void 0!==(C=C.get(p))&&!N;){var A=C.get(t);if(E+=1,"undefined"!==typeof A){if(A===E)throw new RangeError("Cyclic object value");N=!0}"undefined"===typeof C.get(p)&&(E=0)}if("function"===typeof h?S=h(n,S):S instanceof Date?S=g(S):"comma"===i&&s(S)&&(S=a.maybeMap(S,(function(e){return e instanceof Date?g(e):e}))),null===S){if(l)return d&&!b?d(n,m.encoder,w,"key",y):n;S=""}if("string"===typeof(x=S)||"number"===typeof x||"boolean"===typeof x||"symbol"===typeof x||"bigint"===typeof x||a.isBuffer(S))return d?[_(b?n:d(n,m.encoder,w,"key",y))+"="+_(d(S,m.encoder,w,"value",y))]:[_(n)+"="+_(String(S))];var M,T=[];if("undefined"===typeof S)return T;if("comma"===i&&s(S))b&&d&&(S=a.maybeMap(S,d)),M=[{value:S.length>0?S.join(",")||null:void 0}];else if(s(h))M=h;else{var L=Object.keys(S);M=f?L.sort(f):L}for(var P=o&&s(S)&&1===S.length?n+"[]":n,O=0;O0?w+b:""}},570:(e,t,n)=>{"use strict";var r=n(640),a=Object.prototype.hasOwnProperty,i=Array.isArray,o=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),l=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r1;){var t=e.pop(),n=t.obj[t.prop];if(i(n)){for(var r=[],a=0;a=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||i===r.RFC1738&&(40===u||41===u)?s+=l.charAt(c):u<128?s+=o[u]:u<2048?s+=o[192|u>>6]+o[128|63&u]:u<55296||u>=57344?s+=o[224|u>>12]+o[128|u>>6&63]+o[128|63&u]:(c+=1,u=65536+((1023&u)<<10|1023&l.charCodeAt(c)),s+=o[240|u>>18]+o[128|u>>12&63]+o[128|u>>6&63]+o[128|63&u])}return s},isBuffer:function(e){return!(!e||"object"!==typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(i(e)){for(var n=[],r=0;r{e.exports=n(204)},204:(e,t,n)=>{"use strict";var r=function(e){return e&&"object"==typeof e&&"default"in e?e.default:e}(n(609)),a=n(609);function i(){return(i=Object.assign||function(e){for(var t=1;tr.length&&h(e,t.length-1);)t=t.slice(0,t.length-1);return t.length}for(var a=r.length,i=t.length;i>=r.length;i--){var o=t[i];if(!h(e,i)&&m(e,i,o)){a=i+1;break}}return a}function v(e,t){return f(e,t)===e.mask.length}function g(e,t){var n=e.maskChar,r=e.mask,a=e.prefix;if(!n){for((t=y(e,"",t,0)).lengtht.length&&(t+=a.slice(t.length,r)),l.every((function(n){for(;u=n,h(e,c=r)&&u!==a[c];){if(r>=t.length&&(t+=a[r]),l=n,i&&h(e,r)&&l===i)return!0;if(++r>=a.length)return!1}var l,c,u;return!m(e,r,n)&&n!==i||(ra.start?d=(u=function(e,t,n,r){var a=e.mask,i=e.maskChar,o=n.split(""),l=r;return o.every((function(t){for(;o=t,h(e,n=r)&&o!==a[n];)if(++r>=a.length)return!1;var n,o;return(m(e,r,t)||t===i)&&r++,r=i.length?p=i.length:p=o.length&&p{"use strict";var r=n(375),a=n(411),i=n(734)(),o=n(553),l=n(277),s=r("%Math.floor%");e.exports=function(e,t){if("function"!==typeof e)throw new l("`fn` is not a function");if("number"!==typeof t||t<0||t>4294967295||s(t)!==t)throw new l("`length` must be a positive 32-bit integer");var n=arguments.length>2&&!!arguments[2],r=!0,c=!0;if("length"in e&&o){var u=o(e,"length");u&&!u.configurable&&(r=!1),u&&!u.writable&&(c=!1)}return(r||c||!n)&&(i?a(e,"length",t,!0,!0):a(e,"length",t)),e}},670:(e,t,n)=>{"use strict";var r=n(375),a=n(61),i=n(141),o=n(277),l=r("%WeakMap%",!0),s=r("%Map%",!0),c=a("WeakMap.prototype.get",!0),u=a("WeakMap.prototype.set",!0),d=a("WeakMap.prototype.has",!0),h=a("Map.prototype.get",!0),m=a("Map.prototype.set",!0),p=a("Map.prototype.has",!0),f=function(e,t){for(var n,r=e;null!==(n=r.next);r=n)if(n.key===t)return r.next=n.next,n.next=e.next,e.next=n,n};e.exports=function(){var e,t,n,r={assert:function(e){if(!r.has(e))throw new o("Side channel does not contain "+i(e))},get:function(r){if(l&&r&&("object"===typeof r||"function"===typeof r)){if(e)return c(e,r)}else if(s){if(t)return h(t,r)}else if(n)return function(e,t){var n=f(e,t);return n&&n.value}(n,r)},has:function(r){if(l&&r&&("object"===typeof r||"function"===typeof r)){if(e)return d(e,r)}else if(s){if(t)return p(t,r)}else if(n)return function(e,t){return!!f(e,t)}(n,r);return!1},set:function(r,a){l&&r&&("object"===typeof r||"function"===typeof r)?(e||(e=new l),u(e,r,a)):s?(t||(t=new s),m(t,r,a)):(n||(n={key:{},next:null}),function(e,t,n){var r=f(e,t);r?r.value=n:e.next={key:t,next:e.next,value:n}}(n,r,a))}};return r}},634:()=>{},738:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e="",t=0;t{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((t,r)=>(n.f[r](e,t),t)),[])),n.u=e=>"static/js/"+e+".bebe1265.chunk.js",n.miniCssF=e=>{},n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="vmui:";n.l=(r,a,i,o)=>{if(e[r])e[r].push(a);else{var l,s;if(void 0!==i)for(var c=document.getElementsByTagName("script"),u=0;u{l.onerror=l.onload=null,clearTimeout(m);var a=e[r];if(delete e[r],l.parentNode&&l.parentNode.removeChild(l),a&&a.forEach((e=>e(n))),t)return t(n)},m=setTimeout(h.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=h.bind(null,l.onerror),l.onload=h.bind(null,l.onload),s&&document.head.appendChild(l)}}})(),n.r=e=>{"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.p="./",(()=>{var e={792:0};n.f.j=(t,r)=>{var a=n.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else{var i=new Promise(((n,r)=>a=e[t]=[n,r]));r.push(a[2]=i);var o=n.p+n.u(t),l=new Error;n.l(o,(r=>{if(n.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var i=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;l.message="Loading chunk "+t+" failed.\n("+i+": "+o+")",l.name="ChunkLoadError",l.type=i,l.request=o,a[1](l)}}),"chunk-"+t,t)}};var t=(t,r)=>{var a,i,o=r[0],l=r[1],s=r[2],c=0;if(o.some((t=>0!==e[t]))){for(a in l)n.o(l,a)&&(n.m[a]=l[a]);if(s)s(n)}for(t&&t(r);c{"use strict";var e={};n.r(e),n.d(e,{AlarmIcon:()=>$n,ArrowDownIcon:()=>Fn,ArrowDropDownIcon:()=>jn,CalendarIcon:()=>Vn,ChartIcon:()=>Yn,ClockIcon:()=>Hn,CloseIcon:()=>Ln,CodeIcon:()=>Kn,CopyIcon:()=>nr,DeleteIcon:()=>Qn,DoneIcon:()=>Jn,DownloadIcon:()=>_r,DragIcon:()=>rr,ErrorIcon:()=>Rn,FunctionIcon:()=>vr,InfoIcon:()=>On,IssueIcon:()=>or,KeyboardIcon:()=>Un,LabelIcon:()=>gr,ListIcon:()=>hr,LogoAnomalyIcon:()=>An,LogoIcon:()=>En,LogoLogsIcon:()=>Nn,LogoShortIcon:()=>Mn,MetricIcon:()=>fr,MinusIcon:()=>Gn,MoreIcon:()=>cr,PlayCircleOutlineIcon:()=>qn,PlayIcon:()=>Bn,PlusIcon:()=>Zn,Prettify:()=>tr,QuestionIcon:()=>lr,RefreshIcon:()=>zn,RestartIcon:()=>Pn,SettingsIcon:()=>Tn,StarBorderIcon:()=>mr,StarIcon:()=>pr,StorageIcon:()=>sr,SuccessIcon:()=>Dn,TableIcon:()=>Wn,TimelineIcon:()=>ar,TipIcon:()=>dr,TuneIcon:()=>ur,ValueIcon:()=>yr,VisibilityIcon:()=>Xn,VisibilityOffIcon:()=>er,WarningIcon:()=>In,WikiIcon:()=>ir});var t,r=n(609),a=n(159),i=n.n(a),o=n(7),l=n.n(o),s=n(648),c=n.n(s),u=n(220),d=n.n(u);function h(){return h=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function b(e,n,r,a){void 0===a&&(a={});let{window:i=document.defaultView,v5Compat:o=!1}=a,l=i.history,s=t.Pop,c=null,u=d();function d(){return(l.state||{idx:null}).idx}function f(){s=t.Pop;let e=d(),n=null==e?null:e-u;u=e,c&&c({action:s,location:b.location,delta:n})}function _(e){let t="null"!==i.location.origin?i.location.origin:i.location.href,n="string"===typeof e?e:y(e);return n=n.replace(/ $/,"%20"),p(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}null==u&&(u=0,l.replaceState(h({},l.state,{idx:u}),""));let b={get action(){return s},get location(){return e(i,l)},listen(e){if(c)throw new Error("A history only accepts one active listener");return i.addEventListener(m,f),c=e,()=>{i.removeEventListener(m,f),c=null}},createHref:e=>n(i,e),createURL:_,encodeLocation(e){let t=_(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,n){s=t.Push;let a=g(b.location,e,n);r&&r(a,e),u=d()+1;let h=v(a,u),m=b.createHref(a);try{l.pushState(h,"",m)}catch(p){if(p instanceof DOMException&&"DataCloneError"===p.name)throw p;i.location.assign(m)}o&&c&&c({action:s,location:b.location,delta:1})},replace:function(e,n){s=t.Replace;let a=g(b.location,e,n);r&&r(a,e),u=d();let i=v(a,u),h=b.createHref(a);l.replaceState(i,"",h),o&&c&&c({action:s,location:b.location,delta:0})},go:e=>l.go(e)};return b}var w;!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(w||(w={}));new Set(["lazy","caseSensitive","path","id","index","children"]);function k(e,t,n){void 0===n&&(n="/");let r=D(("string"===typeof t?_(t):t).pathname||"/",n);if(null==r)return null;let a=x(e);!function(e){e.sort(((e,t)=>e.score!==t.score?t.score-e.score:function(e,t){let n=e.length===t.length&&e.slice(0,-1).every(((e,n)=>e===t[n]));return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((e=>e.childrenIndex)),t.routesMeta.map((e=>e.childrenIndex)))))}(a);let i=null;for(let o=0;null==i&&o{let o={relativePath:void 0===i?e.path||"":i,caseSensitive:!0===e.caseSensitive,childrenIndex:a,route:e};o.relativePath.startsWith("/")&&(p(o.relativePath.startsWith(r),'Absolute route path "'+o.relativePath+'" nested under path "'+r+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),o.relativePath=o.relativePath.slice(r.length));let l=V([r,o.relativePath]),s=n.concat(o);e.children&&e.children.length>0&&(p(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+l+'".'),x(e.children,t,s,l)),(null!=e.path||e.index)&&t.push({path:l,score:P(l,e.index),routesMeta:s})};return e.forEach(((e,t)=>{var n;if(""!==e.path&&null!=(n=e.path)&&n.includes("?"))for(let r of S(e.path))a(e,t,r);else a(e,t)})),t}function S(e){let t=e.split("/");if(0===t.length)return[];let[n,...r]=t,a=n.endsWith("?"),i=n.replace(/\?$/,"");if(0===r.length)return a?[i,""]:[i];let o=S(r.join("/")),l=[];return l.push(...o.map((e=>""===e?i:[i,e].join("/")))),a&&l.push(...o),l.map((t=>e.startsWith("/")&&""===t?"/":t))}const C=/^:[\w-]+$/,E=3,N=2,A=1,M=10,T=-2,L=e=>"*"===e;function P(e,t){let n=e.split("/"),r=n.length;return n.some(L)&&(r+=T),t&&(r+=N),n.filter((e=>!L(e))).reduce(((e,t)=>e+(C.test(t)?E:""===t?A:M)),r)}function O(e,t){let{routesMeta:n}=e,r={},a="/",i=[];for(let o=0;o(r.push({paramName:t,isOptional:null!=n}),n?"/?([^\\/]+)?":"/([^\\/]+)")));e.endsWith("*")?(r.push({paramName:"*"}),a+="*"===e||"/*"===e?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?a+="\\/*$":""!==e&&"/"!==e&&(a+="(?:(?=\\/|$))");let i=new RegExp(a,t?void 0:"i");return[i,r]}(e.path,e.caseSensitive,e.end),a=t.match(n);if(!a)return null;let i=a[0],o=i.replace(/(.)\/+$/,"$1"),l=a.slice(1);return{params:r.reduce(((e,t,n)=>{let{paramName:r,isOptional:a}=t;if("*"===r){let e=l[n]||"";o=i.slice(0,i.length-e.length).replace(/(.)\/+$/,"$1")}const s=l[n];return e[r]=a&&!s?void 0:(s||"").replace(/%2F/g,"/"),e}),{}),pathname:i,pathnameBase:o,pattern:e}}function R(e){try{return e.split("/").map((e=>decodeURIComponent(e).replace(/\//g,"%2F"))).join("/")}catch(t){return f(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent encoding ('+t+")."),e}}function D(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&"/"!==r?null:e.slice(n)||"/"}function z(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified `to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the `to."+n+'` field. Alternatively you may provide the full path as a string in and the router will parse it for you.'}function F(e){return e.filter(((e,t)=>0===t||e.route.path&&e.route.path.length>0))}function j(e,t){let n=F(e);return t?n.map(((t,n)=>n===e.length-1?t.pathname:t.pathnameBase)):n.map((e=>e.pathnameBase))}function H(e,t,n,r){let a;void 0===r&&(r=!1),"string"===typeof e?a=_(e):(a=h({},e),p(!a.pathname||!a.pathname.includes("?"),z("?","pathname","search",a)),p(!a.pathname||!a.pathname.includes("#"),z("#","pathname","hash",a)),p(!a.search||!a.search.includes("#"),z("#","search","hash",a)));let i,o=""===e||""===a.pathname,l=o?"/":a.pathname;if(null==l)i=n;else{let e=t.length-1;if(!r&&l.startsWith("..")){let t=l.split("/");for(;".."===t[0];)t.shift(),e-=1;a.pathname=t.join("/")}i=e>=0?t[e]:"/"}let s=function(e,t){void 0===t&&(t="/");let{pathname:n,search:r="",hash:a=""}="string"===typeof e?_(e):e,i=n?n.startsWith("/")?n:function(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((e=>{".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(n,t):t;return{pathname:i,search:U(r),hash:B(a)}}(a,i),c=l&&"/"!==l&&l.endsWith("/"),u=(o||"."===l)&&n.endsWith("/");return s.pathname.endsWith("/")||!c&&!u||(s.pathname+="/"),s}const V=e=>e.join("/").replace(/\/\/+/g,"/"),$=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),U=e=>e&&"?"!==e?e.startsWith("?")?e:"?"+e:"",B=e=>e&&"#"!==e?e.startsWith("#")?e:"#"+e:"";Error;function q(e){return null!=e&&"number"===typeof e.status&&"string"===typeof e.statusText&&"boolean"===typeof e.internal&&"data"in e}const Y=["post","put","patch","delete"],W=(new Set(Y),["get",...Y]);new Set(W),new Set([301,302,303,307,308]),new Set([307,308]);Symbol("deferred");function K(){return K=Object.assign?Object.assign.bind():function(e){for(var t=1;t{n.current=!0}));let a=r.useCallback((function(r,a){void 0===a&&(a={}),n.current&&("number"===typeof r?e.navigate(r):e.navigate(r,K({fromRouteId:t},a)))}),[e,t]);return a}():function(){te()||p(!1);let e=r.useContext(Q),{basename:t,future:n,navigator:a}=r.useContext(G),{matches:i}=r.useContext(X),{pathname:o}=ne(),l=JSON.stringify(j(i,n.v7_relativeSplatPath)),s=r.useRef(!1);re((()=>{s.current=!0}));let c=r.useCallback((function(n,r){if(void 0===r&&(r={}),!s.current)return;if("number"===typeof n)return void a.go(n);let i=H(n,JSON.parse(l),o,"path"===r.relative);null==e&&"/"!==t&&(i.pathname="/"===i.pathname?t:V([t,i.pathname])),(r.replace?a.replace:a.push)(i,r.state,r)}),[t,a,l,o,e]);return c}()}const ie=r.createContext(null);function oe(e,t){let{relative:n}=void 0===t?{}:t,{future:a}=r.useContext(G),{matches:i}=r.useContext(X),{pathname:o}=ne(),l=JSON.stringify(j(i,a.v7_relativeSplatPath));return r.useMemo((()=>H(e,JSON.parse(l),o,"path"===n)),[e,l,o,n])}function le(e,n,a,i){te()||p(!1);let{navigator:o}=r.useContext(G),{matches:l}=r.useContext(X),s=l[l.length-1],c=s?s.params:{},u=(s&&s.pathname,s?s.pathnameBase:"/");s&&s.route;let d,h=ne();if(n){var m;let e="string"===typeof n?_(n):n;"/"===u||(null==(m=e.pathname)?void 0:m.startsWith(u))||p(!1),d=e}else d=h;let f=d.pathname||"/",v=f;if("/"!==u){let e=u.replace(/^\//,"").split("/");v="/"+f.replace(/^\//,"").split("/").slice(e.length).join("/")}let g=k(e,{pathname:v});let y=he(g&&g.map((e=>Object.assign({},e,{params:Object.assign({},c,e.params),pathname:V([u,o.encodeLocation?o.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?u:V([u,o.encodeLocation?o.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])}))),l,a,i);return n&&y?r.createElement(J.Provider,{value:{location:K({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:t.Pop}},y):y}function se(){let e=function(){var e;let t=r.useContext(ee),n=ve(pe.UseRouteError),a=ge(pe.UseRouteError);if(void 0!==t)return t;return null==(e=n.errors)?void 0:e[a]}(),t=q(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,a="rgba(200,200,200, 0.5)",i={padding:"0.5rem",backgroundColor:a};return r.createElement(r.Fragment,null,r.createElement("h2",null,"Unexpected Application Error!"),r.createElement("h3",{style:{fontStyle:"italic"}},t),n?r.createElement("pre",{style:i},n):null,null)}const ce=r.createElement(se,null);class ue extends r.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||"idle"!==t.revalidation&&"idle"===e.revalidation?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:void 0!==e.error?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){console.error("React Router caught the following error during render",e,t)}render(){return void 0!==this.state.error?r.createElement(X.Provider,{value:this.props.routeContext},r.createElement(ee.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function de(e){let{routeContext:t,match:n,children:a}=e,i=r.useContext(Q);return i&&i.static&&i.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),r.createElement(X.Provider,{value:t},a)}function he(e,t,n,a){var i;if(void 0===t&&(t=[]),void 0===n&&(n=null),void 0===a&&(a=null),null==e){var o;if(null==(o=n)||!o.errors)return null;e=n.matches}let l=e,s=null==(i=n)?void 0:i.errors;if(null!=s){let e=l.findIndex((e=>e.route.id&&(null==s?void 0:s[e.route.id])));e>=0||p(!1),l=l.slice(0,Math.min(l.length,e+1))}let c=!1,u=-1;if(n&&a&&a.v7_partialHydration)for(let r=0;r=0?l.slice(0,u+1):[l[0]];break}}}return l.reduceRight(((e,a,i)=>{let o,d=!1,h=null,m=null;var p;n&&(o=s&&a.route.id?s[a.route.id]:void 0,h=a.route.errorElement||ce,c&&(u<0&&0===i?(p="route-fallback",!1||ye[p]||(ye[p]=!0),d=!0,m=null):u===i&&(d=!0,m=a.route.hydrateFallbackElement||null)));let f=t.concat(l.slice(0,i+1)),v=()=>{let t;return t=o?h:d?m:a.route.Component?r.createElement(a.route.Component,null):a.route.element?a.route.element:e,r.createElement(de,{match:a,routeContext:{outlet:e,matches:f,isDataRoute:null!=n},children:t})};return n&&(a.route.ErrorBoundary||a.route.errorElement||0===i)?r.createElement(ue,{location:n.location,revalidation:n.revalidation,component:h,error:o,children:v(),routeContext:{outlet:null,matches:f,isDataRoute:!0}}):v()}),null)}var me=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(me||{}),pe=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(pe||{});function fe(e){let t=r.useContext(Q);return t||p(!1),t}function ve(e){let t=r.useContext(Z);return t||p(!1),t}function ge(e){let t=function(e){let t=r.useContext(X);return t||p(!1),t}(),n=t.matches[t.matches.length-1];return n.route.id||p(!1),n.route.id}const ye={};r.startTransition;function _e(e){return function(e){let t=r.useContext(X).outlet;return t?r.createElement(ie.Provider,{value:e},t):t}(e.context)}function be(e){p(!1)}function we(e){let{basename:n="/",children:a=null,location:i,navigationType:o=t.Pop,navigator:l,static:s=!1,future:c}=e;te()&&p(!1);let u=n.replace(/^\/*/,"/"),d=r.useMemo((()=>({basename:u,navigator:l,static:s,future:K({v7_relativeSplatPath:!1},c)})),[u,c,l,s]);"string"===typeof i&&(i=_(i));let{pathname:h="/",search:m="",hash:f="",state:v=null,key:g="default"}=i,y=r.useMemo((()=>{let e=D(h,u);return null==e?null:{location:{pathname:e,search:m,hash:f,state:v,key:g},navigationType:o}}),[u,h,m,f,v,g,o]);return null==y?null:r.createElement(G.Provider,{value:d},r.createElement(J.Provider,{children:a,value:y}))}function ke(e){let{children:t,location:n}=e;return le(xe(t),n)}new Promise((()=>{}));r.Component;function xe(e,t){void 0===t&&(t=[]);let n=[];return r.Children.forEach(e,((e,a)=>{if(!r.isValidElement(e))return;let i=[...t,a];if(e.type===r.Fragment)return void n.push.apply(n,xe(e.props.children,i));e.type!==be&&p(!1),e.props.index&&e.props.children&&p(!1);let o={id:e.props.id||i.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,Component:e.props.Component,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,ErrorBoundary:e.props.ErrorBoundary,hasErrorBoundary:null!=e.props.ErrorBoundary||null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle,lazy:e.props.lazy};e.props.children&&(o.children=xe(e.props.children,i)),n.push(o)})),n}function Se(){return Se=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(a[n]=e[n]);return a}function Ee(e){return void 0===e&&(e=""),new URLSearchParams("string"===typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce(((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map((e=>[n,e])):[[n,r]])}),[]))}new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);const Ne=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],Ae=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"];try{window.__reactRouterVersion="6"}catch(ep){}const Me=r.createContext({isTransitioning:!1});new Map;const Te=r.startTransition;r.flushSync,r.useId;function Le(e){let{basename:t,children:n,future:a,window:i}=e,o=r.useRef();null==o.current&&(o.current=function(e){return void 0===e&&(e={}),b((function(e,t){let{pathname:n="/",search:r="",hash:a=""}=_(e.location.hash.substr(1));return n.startsWith("/")||n.startsWith(".")||(n="/"+n),g("",{pathname:n,search:r,hash:a},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){let n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){let t=e.location.href,n=t.indexOf("#");r=-1===n?t:t.slice(0,n)}return r+"#"+("string"===typeof t?t:y(t))}),(function(e,t){f("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),e)}({window:i,v5Compat:!0}));let l=o.current,[s,c]=r.useState({action:l.action,location:l.location}),{v7_startTransition:u}=a||{},d=r.useCallback((e=>{u&&Te?Te((()=>c(e))):c(e)}),[c,u]);return r.useLayoutEffect((()=>l.listen(d)),[l,d]),r.createElement(we,{basename:t,children:n,location:s.location,navigationType:s.action,navigator:l,future:a})}const Pe="undefined"!==typeof window&&"undefined"!==typeof window.document&&"undefined"!==typeof window.document.createElement,Oe=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ie=r.forwardRef((function(e,t){let n,{onClick:a,relative:i,reloadDocument:o,replace:l,state:s,target:c,to:u,preventScrollReset:d,unstable_viewTransition:h}=e,m=Ce(e,Ne),{basename:f}=r.useContext(G),v=!1;if("string"===typeof u&&Oe.test(u)&&(n=u,Pe))try{let e=new URL(window.location.href),t=u.startsWith("//")?new URL(e.protocol+u):new URL(u),n=D(t.pathname,f);t.origin===e.origin&&null!=n?u=n+t.search+t.hash:v=!0}catch(ep){}let g=function(e,t){let{relative:n}=void 0===t?{}:t;te()||p(!1);let{basename:a,navigator:i}=r.useContext(G),{hash:o,pathname:l,search:s}=oe(e,{relative:n}),c=l;return"/"!==a&&(c="/"===l?a:V([a,l])),i.createHref({pathname:c,search:s,hash:o})}(u,{relative:i}),_=function(e,t){let{target:n,replace:a,state:i,preventScrollReset:o,relative:l,unstable_viewTransition:s}=void 0===t?{}:t,c=ae(),u=ne(),d=oe(e,{relative:l});return r.useCallback((t=>{if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,n)){t.preventDefault();let n=void 0!==a?a:y(u)===y(d);c(e,{replace:n,state:i,preventScrollReset:o,relative:l,unstable_viewTransition:s})}}),[u,c,d,a,i,n,e,o,l,s])}(u,{replace:l,state:s,target:c,preventScrollReset:d,relative:i,unstable_viewTransition:h});return r.createElement("a",Se({},m,{href:n||g,onClick:v||o?a:function(e){a&&a(e),e.defaultPrevented||_(e)},ref:t,target:c}))}));const Re=r.forwardRef((function(e,t){let{"aria-current":n="page",caseSensitive:a=!1,className:i="",end:o=!1,style:l,to:s,unstable_viewTransition:c,children:u}=e,d=Ce(e,Ae),h=oe(s,{relative:d.relative}),m=ne(),f=r.useContext(Z),{navigator:v,basename:g}=r.useContext(G),y=null!=f&&function(e,t){void 0===t&&(t={});let n=r.useContext(Me);null==n&&p(!1);let{basename:a}=Fe(De.useViewTransitionState),i=oe(e,{relative:t.relative});if(!n.isTransitioning)return!1;let o=D(n.currentLocation.pathname,a)||n.currentLocation.pathname,l=D(n.nextLocation.pathname,a)||n.nextLocation.pathname;return null!=I(i.pathname,l)||null!=I(i.pathname,o)}(h)&&!0===c,_=v.encodeLocation?v.encodeLocation(h).pathname:h.pathname,b=m.pathname,w=f&&f.navigation&&f.navigation.location?f.navigation.location.pathname:null;a||(b=b.toLowerCase(),w=w?w.toLowerCase():null,_=_.toLowerCase()),w&&g&&(w=D(w,g)||w);const k="/"!==_&&_.endsWith("/")?_.length-1:_.length;let x,S=b===_||!o&&b.startsWith(_)&&"/"===b.charAt(k),C=null!=w&&(w===_||!o&&w.startsWith(_)&&"/"===w.charAt(_.length)),E={isActive:S,isPending:C,isTransitioning:y},N=S?n:void 0;x="function"===typeof i?i(E):[i,S?"active":null,C?"pending":null,y?"transitioning":null].filter(Boolean).join(" ");let A="function"===typeof l?l(E):l;return r.createElement(Ie,Se({},d,{"aria-current":N,className:x,ref:t,style:A,to:s,unstable_viewTransition:c}),"function"===typeof u?u(E):u)}));var De,ze;function Fe(e){let t=r.useContext(Q);return t||p(!1),t}function je(e){let t=r.useRef(Ee(e)),n=r.useRef(!1),a=ne(),i=r.useMemo((()=>function(e,t){let n=Ee(e);return t&&t.forEach(((e,r)=>{n.has(r)||t.getAll(r).forEach((e=>{n.append(r,e)}))})),n}(a.search,n.current?null:t.current)),[a.search]),o=ae(),l=r.useCallback(((e,t)=>{const r=Ee("function"===typeof e?e(i):e);n.current=!0,o("?"+r,t)}),[o,i]);return[i,l]}(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(De||(De={})),function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(ze||(ze={}));let He=function(e){return e.logs="logs",e.anomaly="anomaly",e}({});const Ve={home:"/",metrics:"/metrics",dashboards:"/dashboards",cardinality:"/cardinality",topQueries:"/top-queries",trace:"/trace",withTemplate:"/expand-with-exprs",relabel:"/relabeling",logs:"/logs",activeQueries:"/active-queries",queryAnalyzer:"/query-analyzer",icons:"/icons",anomaly:"/anomaly",query:"/query"},{REACT_APP_TYPE:$e}={},Ue=$e===He.logs,Be={header:{tenant:!0,stepControl:!Ue,timeSelector:!Ue,executionControls:!Ue}},qe={[Ve.home]:{title:"Query",...Be},[Ve.metrics]:{title:"Explore Prometheus metrics",header:{tenant:!0,stepControl:!0,timeSelector:!0}},[Ve.cardinality]:{title:"Explore cardinality",header:{tenant:!0,cardinalityDatePicker:!0}},[Ve.topQueries]:{title:"Top queries",header:{tenant:!0}},[Ve.trace]:{title:"Trace analyzer",header:{}},[Ve.queryAnalyzer]:{title:"Query analyzer",header:{}},[Ve.dashboards]:{title:"Dashboards",...Be},[Ve.withTemplate]:{title:"WITH templates",header:{}},[Ve.relabel]:{title:"Metric relabel debug",header:{}},[Ve.logs]:{title:"Logs Explorer",header:{}},[Ve.activeQueries]:{title:"Active Queries",header:{}},[Ve.icons]:{title:"Icons",header:{}},[Ve.anomaly]:{title:"Anomaly exploration",...Be},[Ve.query]:{title:"Query",...Be}},Ye=Ve,We=()=>{var e;const t=(null===(e=document.getElementById("root"))||void 0===e?void 0:e.dataset.params)||"{}";try{return JSON.parse(t)}catch(ep){return console.error(ep),{}}},Ke=()=>!!Object.keys(We()).length,Qe=/(\/select\/)(\d+|\d.+)(\/)(.+)/,Ze=(e,t)=>e.replace(Qe,"$1".concat(t,"/$4")),Ge=e=>{var t;return(null===(t=e.match(Qe))||void 0===t?void 0:t[2])||""},Je=(e,t)=>{t?window.localStorage.setItem(e,JSON.stringify({value:t})):et([e]),window.dispatchEvent(new Event("storage"))},Xe=e=>{const t=window.localStorage.getItem(e);if(null!==t)try{var n;return null===(n=JSON.parse(t))||void 0===n?void 0:n.value}catch(ep){return t}},et=e=>e.forEach((e=>window.localStorage.removeItem(e))),{REACT_APP_TYPE:tt}={};var nt=n(215),rt=n.n(nt),at=n(424),it=n.n(at);const ot={table:100,chart:20,code:1e3},lt=[{id:"small",isDefault:!0,height:()=>.2*window.innerHeight},{id:"medium",height:()=>.4*window.innerHeight},{id:"large",height:()=>.8*window.innerHeight}],st=["min","median","max"],ct=(e,t)=>{const n=window.location.hash.split("?")[1],r=rt().parse(n,{ignoreQueryPrefix:!0});return it()(r,e,t||"")},ut=()=>{var e;const t=(null===(e=(window.location.hash.split("?")[1]||"").match(/g\d+\.expr/g))||void 0===e?void 0:e.length)||1;return new Array(t>4?4:t).fill(1).map(((e,t)=>ct("g".concat(t,".expr"),"")))};let dt=function(e){return e.yhat="yhat",e.yhatUpper="yhat_upper",e.yhatLower="yhat_lower",e.anomaly="vmui_anomalies_points",e.training="vmui_training_data",e.actual="actual",e.anomalyScore="anomaly_score",e}({}),ht=function(e){return e.table="table",e.chart="chart",e.code="code",e}({}),mt=function(e){return e.emptyServer="Please enter Server URL",e.validServer="Please provide a valid Server URL",e.validQuery="Please enter a valid Query and execute it",e.traceNotFound="Not found the tracing information",e.emptyTitle="Please enter title",e.positiveNumber="Please enter positive number",e.validStep="Please enter a valid step",e.unknownType="Unknown server response format: must have 'errorType'",e}({}),pt=function(e){return e.system="system",e.light="light",e.dark="dark",e}({}),ft=function(e){return e.empty="empty",e.metricsql="metricsql",e.label="label",e.labelValue="labelValue",e}({});const vt=e=>getComputedStyle(document.documentElement).getPropertyValue("--".concat(e)),gt=(e,t)=>{document.documentElement.style.setProperty("--".concat(e),t)},yt=()=>window.matchMedia("(prefers-color-scheme: dark)").matches,_t=e=>{let t;try{t=new URL(e)}catch(n){return!1}return"http:"===t.protocol||"https:"===t.protocol},bt=e=>e.replace(/\/$/,""),wt=ct("g0.tenantID",""),kt={serverUrl:bt((e=>{const{serverURL:t}=We(),n=Xe("SERVER_URL"),r=window.location.href.replace(/\/(select\/)?(vmui)\/.*/,""),a="".concat(window.location.origin).concat(window.location.pathname),i=window.location.href.replace(/\/(?:prometheus\/)?(?:graph|vmui)\/.*/,"/prometheus"),o=t||n||i;switch(tt){case He.logs:return r;case He.anomaly:return n||a;default:return e?Ze(o,e):o}})(wt)),tenantId:wt,theme:Xe("THEME")||pt.system,isDarkTheme:null};function xt(e,t){switch(t.type){case"SET_SERVER":return{...e,serverUrl:bt(t.payload)};case"SET_TENANT_ID":return{...e,tenantId:t.payload};case"SET_THEME":return Je("THEME",t.payload),{...e,theme:t.payload};case"SET_DARK_THEME":return{...e,isDarkTheme:(n=e.theme,n===pt.system&&yt()||n===pt.dark)};default:throw new Error}var n}var St=n(746);var Ct=0;Array.isArray;function Et(e,t,n,r,a,i){var o,l,s={};for(l in t)"ref"==l?o=t[l]:s[l]=t[l];var c={type:e,props:s,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:--Ct,__i:-1,__u:0,__source:a,__self:i};if("function"==typeof e&&(o=e.defaultProps))for(l in o)void 0===s[l]&&(s[l]=o[l]);return St.fF.vnode&&St.fF.vnode(c),c}const Nt=(0,r.createContext)({}),At=()=>(0,r.useContext)(Nt).state,Mt=()=>(0,r.useContext)(Nt).dispatch,Tt=Object.entries(kt).reduce(((e,t)=>{let[n,r]=t;return{...e,[n]:ct(n)||r}}),{}),Lt="YYYY-MM-DD",Pt="YYYY-MM-DD HH:mm:ss",Ot="YYYY-MM-DD HH:mm:ss:SSS (Z)",It="YYYY-MM-DD[T]HH:mm:ss",Rt="YYYY-MM-DD_HHmmss",Dt=window.innerWidth/4,zt=window.innerWidth/40,Ft=1,jt=1578e8,Ht=Intl.supportedValuesOf,Vt=Ht?Ht("timeZone"):["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/La_Rioja","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Monticello","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Katmandu","Asia/Khandyga","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis"],$t=[{long:"years",short:"y",possible:"year"},{long:"weeks",short:"w",possible:"week"},{long:"days",short:"d",possible:"day"},{long:"hours",short:"h",possible:"hour"},{long:"minutes",short:"m",possible:"min"},{long:"seconds",short:"s",possible:"sec"},{long:"milliseconds",short:"ms",possible:"millisecond"}],Ut=$t.map((e=>e.short)),Bt=e=>Math.round(1e3*e)/1e3,qt=e=>Xt(i().duration(e,"seconds").asMilliseconds()),Yt=e=>{let t=Bt(e);const n=Math.round(e);e>=100&&(t=n-n%10),e<100&&e>=10&&(t=n-n%5),e<10&&e>=1&&(t=n),e<1&&e>.01&&(t=Math.round(40*e)/40);return qt(t||.001).replace(/\s/g,"")},Wt=e=>{const t=e.match(/\d+/g),n=e.match(/[a-zA-Z]+/g);if(n&&t&&Ut.includes(n[0]))return{[n[0]]:t[0]}},Kt=e=>{const t=$t.map((e=>e.short)).join("|"),n=new RegExp("\\d+(\\.\\d+)?[".concat(t,"]+"),"g"),r=(e.match(n)||[]).reduce(((e,t)=>{const n=Wt(t);return n?{...e,...n}:{...e}}),{});return i().duration(r).asSeconds()},Qt=(e,t)=>Yt(e/(t?zt:Dt)),Zt=(e,t)=>{const n=(t||i()().toDate()).valueOf()/1e3,r=Kt(e);return{start:n-r,end:n,step:Qt(r),date:Gt(t||i()().toDate())}},Gt=e=>i().tz(e).utc().format(It),Jt=e=>i().tz(e).format(It),Xt=e=>{const t=Math.floor(e%1e3),n=Math.floor(e/1e3%60),r=Math.floor(e/1e3/60%60),a=Math.floor(e/1e3/3600%24),i=Math.floor(e/864e5),o=["d","h","m","s","ms"],l=[i,a,r,n,t].map(((e,t)=>e?"".concat(e).concat(o[t]):""));return l.filter((e=>e)).join("")},en=e=>{const t=i()(1e3*e);return t.isValid()?t.toDate():new Date},tn={NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!1}.REACT_APP_TYPE===He.logs,nn=[{title:"Last 5 minutes",duration:"5m",isDefault:tn},{title:"Last 15 minutes",duration:"15m"},{title:"Last 30 minutes",duration:"30m",isDefault:!tn},{title:"Last 1 hour",duration:"1h"},{title:"Last 3 hours",duration:"3h"},{title:"Last 6 hours",duration:"6h"},{title:"Last 12 hours",duration:"12h"},{title:"Last 24 hours",duration:"24h"},{title:"Last 2 days",duration:"2d"},{title:"Last 7 days",duration:"7d"},{title:"Last 30 days",duration:"30d"},{title:"Last 90 days",duration:"90d"},{title:"Last 180 days",duration:"180d"},{title:"Last 1 year",duration:"1y"},{title:"Yesterday",duration:"1d",until:()=>i()().tz().subtract(1,"day").endOf("day").toDate()},{title:"Today",duration:"1d",until:()=>i()().tz().endOf("day").toDate()}].map((e=>({id:e.title.replace(/\s/g,"_").toLocaleLowerCase(),until:e.until?e.until:()=>i()().tz().toDate(),...e}))),rn=e=>{var t;let{relativeTimeId:n,defaultDuration:r,defaultEndInput:a}=e;const i=null===(t=nn.find((e=>e.isDefault)))||void 0===t?void 0:t.id,o=n||ct("g0.relative_time",i),l=nn.find((e=>e.id===o));return{relativeTimeId:l?o:"none",duration:l?l.duration:r,endInput:l?l.until():a}},an=e=>{const t=i()().tz(e);return"UTC".concat(t.format("Z"))},on=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";const t=new RegExp(e,"i");return Vt.reduce(((n,r)=>{const a=(r.match(/^(.*?)\//)||[])[1]||"unknown",i=an(r),o=i.replace(/UTC|0/,""),l=r.replace(/[/_]/g," "),s={region:r,utc:i,search:"".concat(r," ").concat(i," ").concat(l," ").concat(o)},c=!e||e&&t.test(s.search);return c&&n[a]?n[a].push(s):c&&(n[a]=[s]),n}),{})},ln=e=>{i().tz.setDefault(e)},sn=()=>{const e=i().tz.guess(),t=(e=>{try{return i()().tz(e),!0}catch(ep){return!1}})(e);return{isValid:t,title:t?"Browser Time (".concat(e,")"):"Browser timezone (UTC)",region:t?e:"UTC"}},cn=Xe("TIMEZONE")||sn().region;ln(cn);const un=()=>{const e=ct("g0.range_input"),{duration:t,endInput:n,relativeTimeId:r}=rn({defaultDuration:e||"1h",defaultEndInput:(a=ct("g0.end_input",i()().utc().format(It)),i()(a).utcOffset(0,!0).toDate()),relativeTimeId:e?ct("g0.relative_time","none"):void 0});var a;return{duration:t,period:Zt(t,n),relativeTime:r}},dn={...un(),timezone:cn};function hn(e,t){switch(t.type){case"SET_TIME_STATE":return{...e,...t.payload};case"SET_DURATION":return{...e,duration:t.payload,period:Zt(t.payload,en(e.period.end)),relativeTime:"none"};case"SET_RELATIVE_TIME":return{...e,duration:t.payload.duration,period:Zt(t.payload.duration,t.payload.until),relativeTime:t.payload.id};case"SET_PERIOD":const n=(e=>{const t=e.to.valueOf()-e.from.valueOf();return Xt(t)})(t.payload);return{...e,duration:n,period:Zt(n,t.payload.to),relativeTime:"none"};case"RUN_QUERY":const{duration:r,endInput:a}=rn({relativeTimeId:e.relativeTime,defaultDuration:e.duration,defaultEndInput:en(e.period.end)});return{...e,period:Zt(r,a)};case"RUN_QUERY_TO_NOW":return{...e,period:Zt(e.duration)};case"SET_TIMEZONE":return ln(t.payload),Je("TIMEZONE",t.payload),e.defaultTimezone&&Je("DISABLED_DEFAULT_TIMEZONE",t.payload!==e.defaultTimezone),{...e,timezone:t.payload};case"SET_DEFAULT_TIMEZONE":return{...e,defaultTimezone:t.payload};default:throw new Error}}const mn=(0,r.createContext)({}),pn=()=>(0,r.useContext)(mn).state,fn=()=>(0,r.useContext)(mn).dispatch,vn=e=>{const t=Xe(e);return t?JSON.parse(t):[]},gn=50,yn=1e3,_n=1e3;const bn=ut(),wn={query:bn,queryHistory:bn.map((e=>({index:0,values:[e]}))),autocomplete:Xe("AUTOCOMPLETE")||!1,autocompleteQuick:!1,autocompleteCache:new class{constructor(){this.maxSize=void 0,this.map=void 0,this.maxSize=_n,this.map=new Map}get(e){for(const[t,n]of this.map){const r=JSON.parse(t),a=r.start===e.start&&r.end===e.end,i=r.type===e.type,o=e.value&&r.value&&e.value.includes(r.value),l=r.match===e.match||o,s=n.length=this.maxSize){const e=this.map.keys().next().value;this.map.delete(e)}this.map.set(JSON.stringify(e),t)}},metricsQLFunctions:[]};function kn(e,t){switch(t.type){case"SET_QUERY":return{...e,query:t.payload.map((e=>e))};case"SET_QUERY_HISTORY":return(e=>{const t=e.map((e=>e.values[e.index])),n=vn("QUERY_HISTORY");n[0]||(n[0]=[]);const r=n[0];t.forEach((e=>{!r.includes(e)&&e&&r.unshift(e),r.length>100&&r.shift()})),Je("QUERY_HISTORY",JSON.stringify(n))})(t.payload),{...e,queryHistory:t.payload};case"SET_QUERY_HISTORY_BY_INDEX":return e.queryHistory.splice(t.payload.queryNumber,1,t.payload.value),{...e,queryHistory:e.queryHistory};case"TOGGLE_AUTOCOMPLETE":return Je("AUTOCOMPLETE",!e.autocomplete),{...e,autocomplete:!e.autocomplete};case"SET_AUTOCOMPLETE_QUICK":return{...e,autocompleteQuick:t.payload};case"SET_AUTOCOMPLETE_CACHE":return e.autocompleteCache.put(t.payload.key,t.payload.value),{...e};case"SET_METRICSQL_FUNCTIONS":return{...e,metricsQLFunctions:t.payload};default:throw new Error}}const xn=(0,r.createContext)({}),Sn=()=>(0,r.useContext)(xn).state,Cn=()=>(0,r.useContext)(xn).dispatch,En=()=>Et("svg",{viewBox:"0 0 74 24",fill:"currentColor",children:Et("path",{d:"M6.12 10.48c.36.28.8.43 1.26.43h.05c.48 0 .96-.19 1.25-.44 1.5-1.28 5.88-5.29 5.88-5.29C15.73 4.1 12.46 3.01 7.43 3h-.06C2.33 3-.93 4.1.24 5.18c0 0 4.37 4 5.88 5.3Zm2.56 2.16c-.36.28-.8.44-1.26.45h-.04c-.46 0-.9-.17-1.26-.45-1.04-.88-4.74-4.22-6.12-5.5v1.94c0 .21.08.5.22.63l.07.06c1.05.96 4.55 4.16 5.83 5.25.36.28.8.43 1.26.44h.04c.49-.02.96-.2 1.26-.44 1.3-1.11 4.94-4.45 5.88-5.31.15-.14.23-.42.23-.63V7.15a454.94 454.94 0 0 1-6.11 5.5Zm-1.26 4.99c.46 0 .9-.16 1.26-.44a454.4 454.4 0 0 0 6.1-5.5v1.94c0 .2-.07.48-.22.62-.94.87-4.57 4.2-5.88 5.3-.3.26-.77.44-1.26.45h-.04c-.46 0-.9-.16-1.26-.44-1.2-1.02-4.38-3.92-5.62-5.06l-.28-.25c-.14-.14-.22-.42-.22-.62v-1.94c1.38 1.26 5.08 4.6 6.12 5.5.36.28.8.43 1.26.44h.04ZM35 5l-5.84 14.46h-2.43L20.89 5h2.16a.9.9 0 0 1 .9.61l3.41 8.82a18.8 18.8 0 0 1 .62 2.02 19.44 19.44 0 0 1 .57-2.02l3.39-8.82c.05-.15.16-.3.31-.42a.9.9 0 0 1 .58-.19H35Zm17.18 0v14.46H49.8v-9.34c0-.37.02-.78.06-1.21l-4.37 8.21c-.21.4-.53.59-.95.59h-.38c-.43 0-.75-.2-.95-.59L38.8 8.88a22.96 22.96 0 0 1 .07 1.24v9.34H36.5V5h2.03l.3.01c.1 0 .17.02.24.05.07.03.13.07.19.13a1 1 0 0 1 .17.24l4.33 8.03a16.97 16.97 0 0 1 .6 1.36 14.34 14.34 0 0 1 .6-1.38l4.28-8.01c.05-.1.1-.18.17-.24.06-.06.12-.1.19-.13a.9.9 0 0 1 .24-.05l.3-.01h2.04Zm8.88 13.73a4.5 4.5 0 0 0 1.82-.35 3.96 3.96 0 0 0 2.22-2.47c.2-.57.3-1.19.3-1.85V5.31h1.02v8.75c0 .78-.12 1.51-.37 2.19a4.88 4.88 0 0 1-2.76 2.95c-.66.29-1.4.43-2.23.43-.82 0-1.57-.14-2.24-.43a5.01 5.01 0 0 1-2.75-2.95 6.37 6.37 0 0 1-.37-2.19V5.31h1.03v8.74c0 .66.1 1.28.3 1.85a3.98 3.98 0 0 0 2.21 2.47c.53.24 1.14.36 1.82.36Zm10.38.73h-1.03V5.31h1.03v14.15Z"})}),Nn=()=>Et("svg",{viewBox:"0 0 85 38",fill:"currentColor",children:[Et("path",{d:"M11.12 10.48c.36.28.8.43 1.26.43h.05c.48 0 .96-.19 1.25-.44 1.5-1.28 5.88-5.29 5.88-5.29 1.17-1.09-2.1-2.17-7.13-2.18h-.06c-5.04 0-8.3 1.1-7.13 2.18 0 0 4.37 4 5.88 5.3Zm2.56 2.16c-.36.28-.8.44-1.26.45h-.04c-.46 0-.9-.17-1.26-.45-1.04-.88-4.74-4.22-6.12-5.5v1.94c0 .21.08.5.22.63l.07.06c1.05.96 4.55 4.16 5.83 5.25.36.28.8.43 1.26.44h.04c.49-.02.96-.2 1.26-.44 1.3-1.11 4.94-4.45 5.88-5.31.15-.14.23-.42.23-.63V7.15a455.13 455.13 0 0 1-6.11 5.5Zm-1.26 4.99c.46 0 .9-.16 1.26-.44 2.05-1.82 4.09-3.65 6.1-5.5v1.94c0 .2-.07.48-.22.62-.94.87-4.57 4.2-5.88 5.3-.3.26-.77.44-1.26.45h-.04c-.46 0-.9-.16-1.26-.44-1.2-1.02-4.38-3.92-5.62-5.06l-.28-.25c-.14-.14-.22-.42-.22-.62v-1.94c1.38 1.26 5.08 4.6 6.12 5.5.36.28.8.43 1.26.44h.04ZM40 5l-5.84 14.46h-2.43L25.89 5h2.16a.9.9 0 0 1 .9.61l3.41 8.82a18.8 18.8 0 0 1 .62 2.02 19.44 19.44 0 0 1 .57-2.02l3.39-8.82c.05-.15.16-.3.31-.42a.9.9 0 0 1 .58-.19H40Zm17.18 0v14.46H54.8v-9.34c0-.37.02-.78.06-1.21l-4.37 8.21c-.21.4-.53.59-.95.59h-.38c-.43 0-.75-.2-.95-.59L43.8 8.88a22.96 22.96 0 0 1 .07 1.24v9.34H41.5V5h2.03l.3.01c.1 0 .17.02.24.05.07.03.13.07.19.13a1 1 0 0 1 .17.24l4.33 8.03a16.97 16.97 0 0 1 .6 1.36 14.34 14.34 0 0 1 .6-1.38l4.28-8.01c.05-.1.1-.18.17-.24.06-.06.12-.1.19-.13a.9.9 0 0 1 .24-.05l.3-.01h2.04Zm8.88 13.73a4.5 4.5 0 0 0 1.82-.35 3.96 3.96 0 0 0 2.22-2.47c.2-.57.3-1.19.3-1.85V5.31h1.02v8.75c0 .78-.12 1.51-.37 2.19a4.88 4.88 0 0 1-2.76 2.95c-.66.29-1.4.43-2.23.43-.82 0-1.57-.14-2.24-.43a5.01 5.01 0 0 1-2.75-2.95 6.37 6.37 0 0 1-.37-2.19V5.31h1.03v8.74c0 .66.1 1.28.3 1.85a3.98 3.98 0 0 0 2.21 2.47c.53.24 1.14.36 1.82.36Zm10.38.73h-1.03V5.31h1.03v14.15ZM1.73 36v-5.17l-.67-.07a.6.6 0 0 1-.21-.1.23.23 0 0 1-.08-.18v-.44h.96v-.59c0-.34.05-.65.14-.92a1.79 1.79 0 0 1 1.08-1.11 2.45 2.45 0 0 1 1.62-.02l-.03.53c0 .1-.06.15-.16.16H4c-.18 0-.35.03-.5.08a.95.95 0 0 0-.39.23c-.1.11-.19.25-.25.43-.05.18-.08.4-.08.65v.56h1.75v.78H2.8V36H1.73Zm6.17-6.17c.45 0 .85.07 1.2.22a2.57 2.57 0 0 1 1.5 1.62c.13.38.2.81.2 1.29s-.07.91-.2 1.3a2.57 2.57 0 0 1-1.49 1.61c-.36.14-.76.21-1.2.21-.45 0-.86-.07-1.22-.21a2.57 2.57 0 0 1-1.5-1.62c-.12-.38-.19-.81-.19-1.3 0-.47.07-.9.2-1.28a2.57 2.57 0 0 1 1.5-1.62c.35-.15.76-.22 1.2-.22Zm0 5.42c.6 0 1.05-.2 1.35-.6.3-.4.44-.97.44-1.69s-.15-1.28-.44-1.69c-.3-.4-.75-.6-1.35-.6-.3 0-.57.05-.8.15-.22.1-.4.26-.56.45-.15.2-.26.44-.33.73-.08.28-.11.6-.11.96 0 .72.15 1.29.44 1.69.3.4.76.6 1.36.6Zm5.26-4.11c.2-.42.43-.74.71-.97.28-.24.62-.36 1.03-.36.13 0 .25.02.36.05.12.02.23.07.32.13l-.08.8c-.02.1-.08.15-.18.15l-.24-.04a1.7 1.7 0 0 0-.88.05c-.15.05-.29.14-.4.25-.12.1-.23.24-.32.4-.1.17-.18.35-.26.56V36h-1.07v-6.08h.61c.12 0 .2.02.24.07.05.04.08.12.1.23l.06.92Zm13.73-3.82L23.39 36h-1.46l-3.5-8.68h1.29a.54.54 0 0 1 .54.37l2.04 5.3a11.31 11.31 0 0 1 .37 1.21 11.65 11.65 0 0 1 .35-1.22l2.03-5.29c.03-.1.1-.18.19-.25.1-.08.21-.12.35-.12h1.3Zm2.2 2.52V36H27.6v-6.16h1.49Zm.2-1.79c0 .13-.02.25-.08.36a1 1 0 0 1-.51.5.96.96 0 0 1-.73 0 1.02 1.02 0 0 1-.5-.5.96.96 0 0 1 0-.73.93.93 0 0 1 .86-.58.9.9 0 0 1 .37.08c.12.05.22.11.3.2a.94.94 0 0 1 .3.67Zm5.72 3.1a.68.68 0 0 1-.13.13c-.04.03-.1.05-.18.05a.42.42 0 0 1-.22-.07 3.95 3.95 0 0 0-.62-.31c-.14-.05-.3-.07-.51-.07-.26 0-.5.04-.69.14-.2.1-.36.23-.49.4-.13.18-.22.4-.29.64-.06.25-.1.53-.1.85 0 .33.04.62.1.88.08.25.18.47.32.64.13.18.29.3.48.4.18.09.4.13.63.13a1.6 1.6 0 0 0 .94-.27l.26-.2a.4.4 0 0 1 .25-.09.3.3 0 0 1 .27.14l.43.54a2.76 2.76 0 0 1-1.77.96c-.22.03-.43.05-.65.05a2.57 2.57 0 0 1-1.96-.83c-.25-.28-.45-.6-.6-1-.14-.4-.21-.85-.21-1.35 0-.45.06-.87.2-1.25a2.61 2.61 0 0 1 1.51-1.67c.37-.16.8-.24 1.28-.24.46 0 .86.07 1.2.22.35.15.66.36.94.64l-.4.54Zm3.43 4.95c-.54 0-.95-.15-1.24-.45-.28-.3-.42-.73-.42-1.26v-3.44h-.63a.29.29 0 0 1-.2-.07c-.06-.06-.09-.13-.09-.24v-.59l.99-.16.31-1.68a.33.33 0 0 1 .12-.18.34.34 0 0 1 .21-.07h.77v1.94h1.64v1.05h-1.64v3.34c0 .2.05.34.14.45.1.1.22.16.39.16a.73.73 0 0 0 .39-.1l.12-.07a.2.2 0 0 1 .11-.03c.05 0 .08.01.11.03l.09.1.44.72c-.21.18-.46.32-.74.4-.28.1-.57.15-.87.15Zm5.09-6.35c.46 0 .87.07 1.24.22a2.7 2.7 0 0 1 1.58 1.63c.14.39.22.83.22 1.31 0 .49-.08.93-.22 1.32-.14.4-.35.73-.62 1-.26.28-.58.49-.96.64-.37.15-.78.22-1.24.22a3.4 3.4 0 0 1-1.25-.22 2.71 2.71 0 0 1-1.59-1.64 3.8 3.8 0 0 1-.21-1.32c0-.48.07-.92.21-1.31a2.75 2.75 0 0 1 1.58-1.63c.38-.15.8-.22 1.26-.22Zm0 5.2c.51 0 .89-.17 1.13-.52.25-.34.38-.84.38-1.5a2.6 2.6 0 0 0-.38-1.53c-.24-.34-.62-.52-1.13-.52-.52 0-.9.18-1.16.53-.25.35-.37.85-.37 1.51s.12 1.17.37 1.51c.25.35.64.52 1.16.52Zm5.56-4.04c.2-.37.42-.65.69-.86.26-.21.57-.32.94-.32.28 0 .5.06.68.19l-.1 1.1a.3.3 0 0 1-.09.16.24.24 0 0 1-.15.04 1.8 1.8 0 0 1-.27-.03 2.01 2.01 0 0 0-.34-.03c-.16 0-.3.03-.44.08a1.1 1.1 0 0 0-.34.2c-.1.1-.2.2-.27.33-.08.13-.15.27-.22.44V36H47.7v-6.16h.87c.15 0 .26.03.31.09.06.05.1.15.13.29l.09.7Zm4.62-1.07V36h-1.49v-6.16h1.49Zm.2-1.79c0 .13-.02.25-.07.36a1 1 0 0 1-.51.5.96.96 0 0 1-.74 0 1.02 1.02 0 0 1-.5-.5.96.96 0 0 1 0-.73.93.93 0 0 1 .86-.58.9.9 0 0 1 .38.08c.11.05.21.11.3.2a.94.94 0 0 1 .28.67Zm4.56 5.32a7.8 7.8 0 0 0-1.08.12c-.29.05-.52.12-.7.2a.92.92 0 0 0-.38.3.64.64 0 0 0-.11.36c0 .26.07.45.23.56.15.11.35.17.6.17.3 0 .57-.06.79-.17.22-.1.44-.28.65-.5v-1.04Zm-3.4-2.67c.71-.65 1.57-.97 2.56-.97.36 0 .68.06.97.18a1.99 1.99 0 0 1 1.16 1.24c.1.3.16.61.16.96V36h-.67a.7.7 0 0 1-.33-.06c-.07-.04-.13-.13-.18-.26l-.13-.44c-.16.14-.3.26-.46.37a2.8 2.8 0 0 1-.97.43 2.77 2.77 0 0 1-1.32-.05 1.62 1.62 0 0 1-.57-.31 1.41 1.41 0 0 1-.38-.53 1.85 1.85 0 0 1-.05-1.18c.05-.16.14-.3.25-.45.12-.14.28-.27.46-.4a3 3 0 0 1 .7-.32 9.19 9.19 0 0 1 2.2-.33v-.36c0-.41-.09-.71-.26-.91-.18-.2-.43-.3-.76-.3a1.84 1.84 0 0 0-1.02.28l-.33.18c-.1.06-.2.09-.32.09-.1 0-.2-.03-.27-.08a.72.72 0 0 1-.17-.2l-.26-.47Zm11.49 4.32V36h-4.88v-8.6h1.16v7.62h3.72Zm3.16-5.2c.44 0 .84.08 1.2.23a2.57 2.57 0 0 1 1.49 1.62c.13.38.2.81.2 1.29s-.07.91-.2 1.3a2.57 2.57 0 0 1-1.49 1.61c-.36.14-.76.21-1.2.21-.45 0-.85-.07-1.21-.21a2.57 2.57 0 0 1-1.5-1.62c-.13-.38-.2-.81-.2-1.3 0-.47.07-.9.2-1.28.14-.39.33-.72.59-1 .25-.26.55-.47.9-.62.37-.15.77-.22 1.22-.22Zm0 5.43c.6 0 1.05-.2 1.34-.6.3-.4.45-.97.45-1.69s-.15-1.28-.45-1.69c-.3-.4-.74-.6-1.34-.6-.3 0-.57.05-.8.15-.22.1-.4.26-.56.45-.15.2-.26.44-.34.73-.07.28-.1.6-.1.96 0 .72.14 1.29.44 1.69.3.4.75.6 1.36.6Zm6.33-2.22c.22 0 .4-.03.57-.09.16-.06.3-.14.41-.25.12-.11.2-.24.26-.39.05-.15.08-.31.08-.5 0-.37-.11-.66-.34-.88-.23-.22-.55-.33-.98-.33-.43 0-.76.1-.99.33-.22.22-.34.51-.34.89 0 .18.03.34.09.5a1.1 1.1 0 0 0 .67.63c.16.06.35.09.57.09Zm1.93 3.3a.51.51 0 0 0-.13-.36.84.84 0 0 0-.34-.22 8.57 8.57 0 0 0-1.73-.2 7.5 7.5 0 0 1-.62-.05c-.23.1-.41.23-.56.4a.8.8 0 0 0-.1.92c.07.12.18.22.32.3.14.1.32.16.54.21a3.5 3.5 0 0 0 1.55 0c.23-.05.42-.12.57-.22.16-.1.29-.21.37-.34a.8.8 0 0 0 .13-.44Zm1.08-6.17v.4c0 .13-.08.21-.25.25l-.69.09c.14.26.2.56.2.88a1.86 1.86 0 0 1-1.36 1.82 3.07 3.07 0 0 1-1.72.04c-.12.08-.22.16-.29.25a.44.44 0 0 0-.1.27c0 .15.06.26.17.33.12.08.28.13.47.16a5 5 0 0 0 .66.06 16.56 16.56 0 0 1 1.5.13c.26.05.48.12.67.22.19.1.34.24.46.41.12.18.18.4.18.69 0 .26-.07.5-.2.75s-.31.46-.56.65c-.24.2-.54.34-.9.46a4.57 4.57 0 0 1-2.36.04c-.33-.09-.6-.2-.82-.36a1.56 1.56 0 0 1-.5-.51c-.1-.2-.16-.4-.16-.6 0-.3.1-.56.28-.77.19-.2.45-.37.77-.5a1.15 1.15 0 0 1-.43-.32.88.88 0 0 1-.15-.54c0-.09.01-.18.04-.27.04-.1.08-.2.15-.28a1.55 1.55 0 0 1 .58-.5c-.3-.16-.53-.39-.7-.66-.17-.28-.25-.6-.25-.97 0-.3.05-.57.16-.8.12-.25.28-.46.48-.63.2-.17.45-.3.73-.4a3 3 0 0 1 2.3.21h1.64Zm4.65.76a.24.24 0 0 1-.23.14.42.42 0 0 1-.2-.07 3.59 3.59 0 0 0-.67-.3 1.8 1.8 0 0 0-1.03 0c-.14.05-.27.11-.37.2a.87.87 0 0 0-.23.27.75.75 0 0 0-.08.35c0 .15.04.28.13.39.1.1.21.19.36.27.15.07.32.14.5.2a13.63 13.63 0 0 1 1.16.4c.2.08.36.18.5.3a1.33 1.33 0 0 1 .5 1.07 2 2 0 0 1-.15.78c-.1.24-.25.44-.45.62-.2.17-.43.3-.72.4a3.1 3.1 0 0 1-2.14-.05 2.97 2.97 0 0 1-.87-.53l.25-.41c.04-.05.07-.1.12-.12a.3.3 0 0 1 .17-.04.4.4 0 0 1 .22.08l.3.19a1.91 1.91 0 0 0 1.03.27c.2 0 .38-.03.54-.08.16-.06.29-.13.4-.22a.96.96 0 0 0 .3-.7c0-.17-.05-.31-.14-.42-.09-.11-.2-.2-.36-.28a2.6 2.6 0 0 0-.5-.2l-.59-.19c-.2-.06-.39-.14-.58-.22a2.14 2.14 0 0 1-.5-.3 1.45 1.45 0 0 1-.36-.46c-.1-.19-.14-.41-.14-.67a1.6 1.6 0 0 1 .57-1.23c.18-.16.4-.3.68-.39.26-.1.57-.14.91-.14a2.84 2.84 0 0 1 1.9.7l-.23.4Z"}),Et("defs",{children:Et("path",{d:"M0 0h85v38H0z"})})]}),An=()=>Et("svg",{viewBox:"0 0 85 38",fill:"currentColor",children:Et("path",{d:"M11.118 10.476c.36.28.801.433 1.257.436h.052c.48-.007.961-.192 1.25-.444 1.509-1.279 5.88-5.287 5.88-5.287 1.168-1.087-2.093-2.174-7.13-2.181h-.06c-5.036.007-8.298 1.094-7.13 2.181 0 0 4.372 4.008 5.88 5.295zm2.559 2.166c-.359.283-.801.439-1.258.444h-.044a2.071 2.071 0 0 1-1.257-.444C10.082 11.755 6.384 8.42 5 7.148v1.93c0 .215.081.496.222.629l.07.064c1.045.955 4.546 4.154 5.825 5.245.358.283.8.438 1.257.444h.044c.489-.015.962-.2 1.258-.444 1.309-1.11 4.948-4.444 5.887-5.31.148-.132.222-.413.222-.628v-1.93a455.127 455.127 0 0 1-6.11 5.494zm-1.258 4.984a2.071 2.071 0 0 0 1.258-.436c2.053-1.815 4.09-3.65 6.11-5.502v1.938c0 .207-.075.488-.223.621-.94.873-4.578 4.2-5.887 5.31-.296.25-.77.436-1.258.443h-.044a2.071 2.071 0 0 1-1.257-.436c-1.204-1.027-4.376-3.928-5.616-5.062l-.28-.255c-.14-.133-.221-.414-.221-.621v-1.938c1.383 1.265 5.081 4.607 6.117 5.495.358.282.8.438 1.257.443h.044zM40 5l-5.84 14.46h-2.43L25.89 5h2.16c.233 0 .423.057.57.17.146.113.256.26.33.44l3.41 8.82c.113.287.22.603.32.95.106.34.206.697.3 1.07.08-.373.166-.73.26-1.07a8.84 8.84 0 0 1 .31-.95l3.39-8.82a.959.959 0 0 1 .31-.42.906.906 0 0 1 .58-.19H40zm17.176 0v14.46h-2.37v-9.34c0-.373.02-.777.06-1.21l-4.37 8.21c-.206.393-.523.59-.95.59h-.38c-.426 0-.743-.197-.95-.59l-4.42-8.24c.02.22.037.437.05.65.014.213.02.41.02.59v9.34h-2.37V5h2.03c.12 0 .224.003.31.01a.778.778 0 0 1 .23.05c.074.027.137.07.19.13.06.06.117.14.17.24l4.33 8.03c.114.213.217.433.31.66.1.227.197.46.29.7.094-.247.19-.483.29-.71.1-.233.207-.457.32-.67l4.27-8.01c.054-.1.11-.18.17-.24a.57.57 0 0 1 .19-.13.903.903 0 0 1 .24-.05c.087-.007.19-.01.31-.01h2.03zm8.887 13.73c.68 0 1.286-.117 1.82-.35.54-.24.996-.57 1.37-.99a4.28 4.28 0 0 0 .85-1.48c.2-.573.3-1.19.3-1.85V5.31h1.02v8.75c0 .78-.124 1.51-.37 2.19a5.248 5.248 0 0 1-1.07 1.77c-.46.5-1.024.893-1.69 1.18-.66.287-1.404.43-2.23.43-.827 0-1.574-.143-2.24-.43a5.012 5.012 0 0 1-1.69-1.18 5.33 5.33 0 0 1-1.06-1.77 6.373 6.373 0 0 1-.37-2.19V5.31h1.03v8.74c0 .66.096 1.277.29 1.85.2.567.483 1.06.85 1.48.373.42.826.75 1.36.99.54.24 1.15.36 1.83.36zm10.38.73h-1.03V5.31h1.03v14.15zM4.242 35v-5.166l-.672-.078a.595.595 0 0 1-.21-.09.23.23 0 0 1-.078-.186v-.438h.96v-.588c0-.348.048-.656.144-.924.1-.272.24-.5.42-.684a1.79 1.79 0 0 1 .66-.426c.256-.096.544-.144.864-.144.272 0 .522.04.75.12l-.024.534c-.008.096-.062.148-.162.156a4.947 4.947 0 0 1-.39.012c-.184 0-.352.024-.504.072a.949.949 0 0 0-.384.234c-.108.108-.192.25-.252.426a2.184 2.184 0 0 0-.084.654v.558h1.752v.774H5.316V35H4.242zM10.416 28.826a3.1 3.1 0 0 1 1.2.222c.356.148.66.358.912.63s.444.602.576.99c.136.384.204.814.204 1.29 0 .48-.068.912-.204 1.296a2.735 2.735 0 0 1-.576.984 2.572 2.572 0 0 1-.912.63 3.175 3.175 0 0 1-1.2.216c-.448 0-.852-.072-1.212-.216a2.572 2.572 0 0 1-.912-.63 2.805 2.805 0 0 1-.582-.984 3.972 3.972 0 0 1-.198-1.296c0-.476.066-.906.198-1.29.136-.388.33-.718.582-.99.252-.272.556-.482.912-.63.36-.148.764-.222 1.212-.222zm0 5.424c.6 0 1.048-.2 1.344-.6.296-.404.444-.966.444-1.686 0-.724-.148-1.288-.444-1.692-.296-.404-.744-.606-1.344-.606-.304 0-.57.052-.798.156a1.507 1.507 0 0 0-.564.45c-.148.196-.26.438-.336.726a3.941 3.941 0 0 0-.108.966c0 .72.148 1.282.444 1.686.3.4.754.6 1.362.6zM15.677 30.14c.192-.416.428-.74.708-.972.28-.236.622-.354 1.026-.354.128 0 .25.014.366.042.12.028.226.072.318.132l-.078.798c-.024.1-.084.15-.18.15-.056 0-.138-.012-.246-.036a1.694 1.694 0 0 0-.366-.036c-.192 0-.364.028-.516.084-.148.056-.282.14-.402.252a1.782 1.782 0 0 0-.318.408c-.092.16-.176.344-.252.552V35h-1.074v-6.078h.612c.116 0 .196.022.24.066.044.044.074.12.09.228l.072.924zM26.761 28.922 24.283 35h-.96l-2.478-6.078h.87a.33.33 0 0 1 .33.222l1.542 3.912c.048.148.09.292.126.432.036.14.07.28.102.42.032-.14.066-.28.102-.42.036-.14.08-.284.132-.432l1.56-3.912a.33.33 0 0 1 .12-.156.311.311 0 0 1 .198-.066h.834zM27.74 35v-6.078h.643c.152 0 .246.074.282.222l.078.624c.224-.276.476-.502.756-.678.28-.176.604-.264.972-.264.408 0 .738.114.99.342.256.228.44.536.552.924.088-.22.2-.41.336-.57a1.987 1.987 0 0 1 1.014-.624c.196-.048.394-.072.594-.072.32 0 .604.052.852.156.252.1.464.248.636.444.176.196.31.438.402.726.092.284.138.61.138.978V35H34.91v-3.87c0-.476-.104-.836-.312-1.08-.208-.248-.508-.372-.9-.372-.176 0-.344.032-.504.096-.156.06-.294.15-.414.27-.12.12-.216.272-.288.456-.068.18-.102.39-.102.63V35h-1.074v-3.87c0-.488-.098-.852-.294-1.092-.196-.24-.482-.36-.858-.36-.264 0-.508.072-.732.216a2.38 2.38 0 0 0-.618.576V35H27.74zM40.746 32.372c-.428.02-.788.058-1.08.114-.292.052-.526.12-.702.204a.923.923 0 0 0-.378.294.639.639 0 0 0-.114.366c0 .26.076.446.228.558.156.112.358.168.606.168.304 0 .566-.054.786-.162.224-.112.442-.28.654-.504v-1.038zm-3.396-2.67c.708-.648 1.56-.972 2.556-.972.36 0 .682.06.966.18.284.116.524.28.72.492.196.208.344.458.444.75.104.292.156.612.156.96V35h-.672a.708.708 0 0 1-.324-.06c-.076-.044-.136-.13-.18-.258l-.132-.444c-.156.14-.308.264-.456.372a2.804 2.804 0 0 1-.462.264c-.16.072-.332.126-.516.162-.18.04-.38.06-.6.06-.26 0-.5-.034-.72-.102a1.618 1.618 0 0 1-.57-.318 1.414 1.414 0 0 1-.372-.522 1.852 1.852 0 0 1-.132-.726 1.419 1.419 0 0 1 .33-.906c.12-.14.274-.272.462-.396s.418-.232.69-.324c.276-.092.596-.166.96-.222.364-.06.78-.096 1.248-.108v-.36c0-.412-.088-.716-.264-.912-.176-.2-.43-.3-.762-.3-.24 0-.44.028-.6.084-.156.056-.294.12-.414.192l-.33.186a.631.631 0 0 1-.324.084.439.439 0 0 1-.264-.078.716.716 0 0 1-.174-.192l-.264-.474zM44.974 29.6c.124-.124.254-.238.39-.342a2.395 2.395 0 0 1 .936-.444c.176-.044.368-.066.576-.066.336 0 .634.058.894.174.26.112.476.272.648.48.176.204.308.45.396.738.092.284.138.598.138.942V35H47.47v-3.918c0-.376-.086-.666-.258-.87-.172-.208-.434-.312-.786-.312-.256 0-.496.058-.72.174a2.58 2.58 0 0 0-.636.474V35h-1.482v-6.156h.906c.192 0 .318.09.378.27l.102.486zM53.085 28.748c.456 0 .87.074 1.242.222a2.692 2.692 0 0 1 1.578 1.626c.144.392.216.83.216 1.314 0 .488-.072.928-.216 1.32-.144.392-.35.726-.618 1.002a2.653 2.653 0 0 1-.96.636 3.333 3.333 0 0 1-1.242.222c-.46 0-.878-.074-1.254-.222a2.712 2.712 0 0 1-.966-.636 2.922 2.922 0 0 1-.618-1.002 3.807 3.807 0 0 1-.216-1.32c0-.484.072-.922.216-1.314.148-.392.354-.724.618-.996.268-.272.59-.482.966-.63a3.397 3.397 0 0 1 1.254-.222zm0 5.202c.512 0 .89-.172 1.134-.516.248-.344.372-.848.372-1.512s-.124-1.17-.372-1.518c-.244-.348-.622-.522-1.134-.522-.52 0-.906.176-1.158.528-.248.348-.372.852-.372 1.512s.124 1.164.372 1.512c.252.344.638.516 1.158.516zM57.252 35v-6.156h.906c.192 0 .318.09.378.27l.096.456c.108-.12.22-.23.336-.33a2.017 2.017 0 0 1 1.32-.492c.388 0 .706.106.954.318.252.208.44.486.564.834a1.93 1.93 0 0 1 .834-.882c.172-.092.354-.16.546-.204.196-.044.392-.066.588-.066.34 0 .642.052.906.156.264.104.486.256.666.456.18.2.316.444.408.732.096.288.144.618.144.99V35h-1.482v-3.918c0-.392-.086-.686-.258-.882-.172-.2-.424-.3-.756-.3-.152 0-.294.026-.426.078a1.026 1.026 0 0 0-.342.228 1.019 1.019 0 0 0-.228.366 1.435 1.435 0 0 0-.084.51V35h-1.488v-3.918c0-.412-.084-.712-.252-.9-.164-.188-.406-.282-.726-.282-.216 0-.418.054-.606.162a1.979 1.979 0 0 0-.516.432V35h-1.482zM70.558 32.372c-.428.02-.788.058-1.08.114-.292.052-.526.12-.702.204a.923.923 0 0 0-.378.294.639.639 0 0 0-.114.366c0 .26.076.446.228.558.156.112.358.168.606.168.304 0 .566-.054.786-.162.224-.112.442-.28.654-.504v-1.038zm-3.396-2.67c.708-.648 1.56-.972 2.556-.972.36 0 .682.06.966.18.284.116.524.28.72.492.196.208.344.458.444.75.104.292.156.612.156.96V35h-.672a.708.708 0 0 1-.324-.06c-.076-.044-.136-.13-.18-.258l-.132-.444c-.156.14-.308.264-.456.372a2.804 2.804 0 0 1-.462.264c-.16.072-.332.126-.516.162-.18.04-.38.06-.6.06-.26 0-.5-.034-.72-.102a1.618 1.618 0 0 1-.57-.318 1.414 1.414 0 0 1-.372-.522 1.852 1.852 0 0 1-.132-.726 1.419 1.419 0 0 1 .33-.906c.12-.14.274-.272.462-.396s.418-.232.69-.324c.276-.092.596-.166.96-.222.364-.06.78-.096 1.248-.108v-.36c0-.412-.088-.716-.264-.912-.176-.2-.43-.3-.762-.3-.24 0-.44.028-.6.084-.156.056-.294.12-.414.192l-.33.186a.631.631 0 0 1-.324.084.439.439 0 0 1-.264-.078.716.716 0 0 1-.174-.192l-.264-.474zM74.9 26.084V35h-1.482v-8.916H74.9zM81.969 28.844l-3.354 7.848a.538.538 0 0 1-.174.234c-.068.056-.174.084-.318.084h-1.104l1.152-2.472-2.49-5.694h1.302c.116 0 .206.028.27.084.068.056.118.12.15.192l1.308 3.192c.044.108.08.216.108.324.032.108.062.218.09.33a32.3 32.3 0 0 1 .108-.33c.036-.112.076-.222.12-.33l1.236-3.186a.437.437 0 0 1 .408-.276h1.188z"})}),Mn=()=>Et("svg",{viewBox:"0 0 15 17",fill:"currentColor",children:Et("path",{d:"M6.11767 7.47586C6.47736 7.75563 6.91931 7.90898 7.37503 7.91213H7.42681C7.90756 7.90474 8.38832 7.71987 8.67677 7.46846C10.1856 6.18921 14.5568 2.18138 14.5568 2.18138C15.7254 1.09438 12.4637 0.00739 7.42681 0H7.36764C2.3308 0.00739 -0.930935 1.09438 0.237669 2.18138C0.237669 2.18138 4.60884 6.18921 6.11767 7.47586ZM8.67677 9.64243C8.31803 9.92483 7.87599 10.0808 7.41941 10.0861H7.37503C6.91845 10.0808 6.47641 9.92483 6.11767 9.64243C5.0822 8.75513 1.38409 5.42018 0.000989555 4.14832V6.07829C0.000989555 6.29273 0.0823481 6.57372 0.222877 6.70682L0.293316 6.7712L0.293344 6.77122C1.33784 7.72579 4.83903 10.9255 6.11767 12.0161C6.47641 12.2985 6.91845 12.4545 7.37503 12.4597H7.41941C7.90756 12.4449 8.38092 12.2601 8.67677 12.0161C9.9859 10.9069 13.6249 7.57198 14.5642 6.70682C14.7121 6.57372 14.7861 6.29273 14.7861 6.07829V4.14832C12.7662 5.99804 10.7297 7.82949 8.67677 9.64243ZM7.41941 14.6263C7.87513 14.6232 8.31708 14.4698 8.67677 14.19C10.7298 12.3746 12.7663 10.5407 14.7861 8.68853V10.6259C14.7861 10.8329 14.7121 11.1139 14.5642 11.247C13.6249 12.1196 9.9859 15.4471 8.67677 16.5563C8.38092 16.8077 7.90756 16.9926 7.41941 17H7.37503C6.91931 16.9968 6.47736 16.8435 6.11767 16.5637C4.91427 15.5373 1.74219 12.6364 0.502294 11.5025C0.393358 11.4029 0.299337 11.3169 0.222877 11.247C0.0823481 11.1139 0.000989555 10.8329 0.000989555 10.6259V8.68853C1.38409 9.95303 5.0822 13.2953 6.11767 14.1827C6.47641 14.4651 6.91845 14.6211 7.37503 14.6263H7.41941Z"})}),Tn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"})}),Ln=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})}),Pn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8zm-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91z"})}),On=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"})}),In=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"})}),Rn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"})}),Dn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})}),zn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z"})}),Fn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"})}),jn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"m7 10 5 5 5-5z"})}),Hn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:[Et("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),Et("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]}),Vn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"})}),$n=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"m22 5.72-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39 6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"})}),Un=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-9 3h2v2h-2V8zm0 3h2v2h-2v-2zM8 8h2v2H8V8zm0 3h2v2H8v-2zm-1 2H5v-2h2v2zm0-3H5V8h2v2zm9 7H8v-2h8v2zm0-4h-2v-2h2v2zm0-3h-2V8h2v2zm3 3h-2v-2h2v2zm0-3h-2V8h2v2z"})}),Bn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M8 5v14l11-7z"})}),qn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"m10 16.5 6-4.5-6-4.5v9zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"})}),Yn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"m3.5 18.49 6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z"})}),Wn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M10 10.02h5V21h-5zM17 21h3c1.1 0 2-.9 2-2v-9h-5v11zm3-18H5c-1.1 0-2 .9-2 2v3h19V5c0-1.1-.9-2-2-2zM3 19c0 1.1.9 2 2 2h3V10H3v9z"})}),Kn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"})}),Qn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"})}),Zn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})}),Gn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M19 13H5v-2h14v2z"})}),Jn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M8.9999 14.7854L18.8928 4.8925C19.0803 4.70497 19.3347 4.59961 19.5999 4.59961C19.8651 4.59961 20.1195 4.70497 20.307 4.8925L21.707 6.2925C22.0975 6.68303 22.0975 7.31619 21.707 7.70672L9.70701 19.7067C9.31648 20.0972 8.68332 20.0972 8.2928 19.7067L2.6928 14.1067C2.50526 13.9192 2.3999 13.6648 2.3999 13.3996C2.3999 13.1344 2.50526 12.88 2.6928 12.6925L4.0928 11.2925C4.48332 10.902 5.11648 10.902 5.50701 11.2925L8.9999 14.7854Z"})}),Xn=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"})}),er=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"})}),tr=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M19 9l1.25-2.75L23 5l-2.75-1.25L19 1l-1.25 2.75L15 5l2.75 1.25L19 9zm-7.5.5L9 4 6.5 9.5 1 12l5.5 2.5L9 20l2.5-5.5L17 12l-5.5-2.5zM19 15l-1.25 2.75L15 19l2.75 1.25L19 23l1.25-2.75L23 19l-2.75-1.25L19 15z"})}),nr=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})}),rr=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M20 9H4v2h16V9zM4 15h16v-2H4v2z"})}),ar=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M23 8c0 1.1-.9 2-2 2-.18 0-.35-.02-.51-.07l-3.56 3.55c.05.16.07.34.07.52 0 1.1-.9 2-2 2s-2-.9-2-2c0-.18.02-.36.07-.52l-2.55-2.55c-.16.05-.34.07-.52.07s-.36-.02-.52-.07l-4.55 4.56c.05.16.07.33.07.51 0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.18 0 .35.02.51.07l4.56-4.55C8.02 9.36 8 9.18 8 9c0-1.1.9-2 2-2s2 .9 2 2c0 .18-.02.36-.07.52l2.55 2.55c.16-.05.34-.07.52-.07s.36.02.52.07l3.55-3.56C19.02 8.35 19 8.18 19 8c0-1.1.9-2 2-2s2 .9 2 2z"})}),ir=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:[Et("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M21 5C19.89 4.65 18.67 4.5 17.5 4.5C15.55 4.5 13.45 4.9 12 6C10.55 4.9 8.45 4.5 6.5 4.5C5.33 4.5 4.11 4.65 3 5C2.25 5.25 1.6 5.55 1 6V20.6C1 20.85 1.25 21.1 1.5 21.1C1.6 21.1 1.65 21.1 1.75 21.05C3.15 20.3 4.85 20 6.5 20C8.2 20 10.65 20.65 12 21.5C13.35 20.65 15.8 20 17.5 20C19.15 20 20.85 20.3 22.25 21.05C22.35 21.1 22.4 21.1 22.5 21.1C22.75 21.1 23 20.85 23 20.6V6C22.4 5.55 21.75 5.25 21 5ZM21 18.5C19.9 18.15 18.7 18 17.5 18C15.8 18 13.35 18.65 12 19.5C10.65 18.65 8.2 18 6.5 18C5.3 18 4.1 18.15 3 18.5V7C4.1 6.65 5.3 6.5 6.5 6.5C8.2 6.5 10.65 7.15 12 8C13.35 7.15 15.8 6.5 17.5 6.5C18.7 6.5 19.9 6.65 21 7V18.5Z"}),Et("path",{d:"M17.5 10.5C18.38 10.5 19.23 10.59 20 10.76V9.24C19.21 9.09 18.36 9 17.5 9C15.8 9 14.26 9.29 13 9.83V11.49C14.13 10.85 15.7 10.5 17.5 10.5ZM13 12.49V14.15C14.13 13.51 15.7 13.16 17.5 13.16C18.38 13.16 19.23 13.25 20 13.42V11.9C19.21 11.75 18.36 11.66 17.5 11.66C15.8 11.66 14.26 11.96 13 12.49ZM17.5 14.33C15.8 14.33 14.26 14.62 13 15.16V16.82C14.13 16.18 15.7 15.83 17.5 15.83C18.38 15.83 19.23 15.92 20 16.09V14.57C19.21 14.41 18.36 14.33 17.5 14.33Z"}),Et("path",{d:"M6.5 10.5C5.62 10.5 4.77 10.59 4 10.76V9.24C4.79 9.09 5.64 9 6.5 9C8.2 9 9.74 9.29 11 9.83V11.49C9.87 10.85 8.3 10.5 6.5 10.5ZM11 12.49V14.15C9.87 13.51 8.3 13.16 6.5 13.16C5.62 13.16 4.77 13.25 4 13.42V11.9C4.79 11.75 5.64 11.66 6.5 11.66C8.2 11.66 9.74 11.96 11 12.49ZM6.5 14.33C8.2 14.33 9.74 14.62 11 15.16V16.82C9.87 16.18 8.3 15.83 6.5 15.83C5.62 15.83 4.77 15.92 4 16.09V14.57C4.79 14.41 5.64 14.33 6.5 14.33Z"})]}),or=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10 10-4.49 10-10S17.51 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm3-8c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3 3 1.34 3 3z"})}),lr=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 6C9.79 6 8 7.79 8 10H10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 10.8792 13.4202 11.3236 12.7704 11.8217C11.9421 12.4566 11 13.1787 11 15H13C13 13.9046 13.711 13.2833 14.4408 12.6455C15.21 11.9733 16 11.2829 16 10C16 7.79 14.21 6 12 6ZM13 16V18H11V16H13Z"})}),sr=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M4 20h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm0-3h2v2H4v-2zM2 6c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2zm4 1H4V5h2v2zm-2 7h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm0-3h2v2H4v-2z"})}),cr=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"})}),ur=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z"})}),dr=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M7 20h4c0 1.1-.9 2-2 2s-2-.9-2-2zm-2-1h8v-2H5v2zm11.5-9.5c0 3.82-2.66 5.86-3.77 6.5H5.27c-1.11-.64-3.77-2.68-3.77-6.5C1.5 5.36 4.86 2 9 2s7.5 3.36 7.5 7.5zm4.87-2.13L20 8l1.37.63L22 10l.63-1.37L24 8l-1.37-.63L22 6l-.63 1.37zM19 6l.94-2.06L22 3l-2.06-.94L19 0l-.94 2.06L16 3l2.06.94L19 6z"})}),hr=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M3 14h4v-4H3v4zm0 5h4v-4H3v4zM3 9h4V5H3v4zm5 5h13v-4H8v4zm0 5h13v-4H8v4zM8 5v4h13V5H8z"})}),mr=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"m22 9.24-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z"})}),pr=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"})}),fr=()=>Et("svg",{viewBox:"0 0 16 16",fill:vt("color-error"),children:Et("path",{d:"M13.5095 4L8.50952 1H7.50952L2.50952 4L2.01953 4.85999V10.86L2.50952 11.71L7.50952 14.71H8.50952L13.5095 11.71L13.9995 10.86V4.85999L13.5095 4ZM7.50952 13.5601L3.00952 10.86V5.69995L7.50952 8.15002V13.5601ZM3.26953 4.69995L8.00952 1.85999L12.7495 4.69995L8.00952 7.29004L3.26953 4.69995ZM13.0095 10.86L8.50952 13.5601V8.15002L13.0095 5.69995V10.86Z"})}),vr=()=>Et("svg",{viewBox:"0 0 16 16",fill:vt("color-primary"),children:Et("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M2 5H4V4H1.5L1 4.5V12.5L1.5 13H4V12H2V5ZM14.5 4H12V5H14V12H12V13H14.5L15 12.5V4.5L14.5 4ZM11.76 6.56995L12 7V9.51001L11.7 9.95996L7.19995 11.96H6.73999L4.23999 10.46L4 10.03V7.53003L4.30005 7.06995L8.80005 5.06995H9.26001L11.76 6.56995ZM5 9.70996L6.5 10.61V9.28003L5 8.38V9.70996ZM5.57996 7.56006L7.03003 8.43005L10.42 6.93005L8.96997 6.06006L5.57996 7.56006ZM7.53003 10.73L11.03 9.17004V7.77002L7.53003 9.31995V10.73Z"})}),gr=()=>Et("svg",{viewBox:"0 0 16 16",fill:vt("color-warning"),children:Et("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M14 2H8L7 3V6H8V3H14V8H10V9H14L15 8V3L14 2ZM9 6H13V7H9.41L9 6.59V6ZM7 7H2L1 8V13L2 14H8L9 13V8L8 7H7ZM8 13H2V8H8V9V13ZM3 9H7V10H3V9ZM3 11H7V12H3V11ZM9 4H13V5H9V4Z"})}),yr=()=>Et("svg",{viewBox:"0 0 16 16",fill:vt("color-primary"),children:Et("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7 3L8 2H14L15 3V8L14 9H10V8H14V3H8V6H7V3ZM9 9V8L8 7H7H2L1 8V13L2 14H8L9 13V9ZM8 8V9V13H2V8H7H8ZM9.41421 7L9 6.58579V6H13V7H9.41421ZM9 4H13V5H9V4ZM7 10H3V11H7V10Z"})}),_r=()=>Et("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Et("path",{d:"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"})});var br=n(738),wr=n.n(br);const kr=e=>{let{to:t,isNavLink:n,children:r,...a}=e;return n?Et(Re,{to:t,...a,children:r}):Et("div",{...a,children:r})},xr=e=>{let{activeItem:t,item:n,color:r=vt("color-primary"),activeNavRef:a,onChange:i,isNavLink:o}=e;return Et(kr,{className:wr()({"vm-tabs-item":!0,"vm-tabs-item_active":t===n.value,[n.className||""]:n.className}),isNavLink:o,to:n.value,style:{color:r},onClick:(l=n.value,()=>{i&&i(l)}),ref:t===n.value?a:void 0,children:[n.icon&&Et("div",{className:wr()({"vm-tabs-item__icon":!0,"vm-tabs-item__icon_single":!n.label}),children:n.icon}),n.label]});var l};const Sr=function(e,t,n,a){const i=(0,r.useRef)(t);(0,r.useEffect)((()=>{i.current=t}),[t]),(0,r.useEffect)((()=>{var t;const r=null!==(t=null===n||void 0===n?void 0:n.current)&&void 0!==t?t:window;if(!r||!r.addEventListener)return;const o=e=>i.current(e);return r.addEventListener(e,o,a),()=>{r.removeEventListener(e,o,a)}}),[e,n,a])},Cr=()=>{const[e,t]=(0,r.useState)({width:0,height:0}),n=()=>{t({width:window.innerWidth,height:window.innerHeight})};return Sr("resize",n),(0,r.useEffect)(n,[]),e},Er=e=>{let{activeItem:t,items:n,color:a=vt("color-primary"),onChange:i,indicatorPlacement:o="bottom",isNavLink:l}=e;const s=Cr(),c=(0,r.useRef)(null),[u,d]=(0,r.useState)({left:0,width:0,bottom:0});return(0,r.useEffect)((()=>{var e;if((null===(e=c.current)||void 0===e?void 0:e.base)instanceof HTMLElement){const{offsetLeft:e,offsetWidth:t,offsetHeight:n}=c.current.base;d({left:e,width:t,bottom:"top"===o?n-2:0})}}),[s,t,c,n]),Et("div",{className:"vm-tabs",children:[n.map((e=>Et(xr,{activeItem:t,item:e,onChange:i,color:a,activeNavRef:c,isNavLink:l},e.value))),Et("div",{className:"vm-tabs__indicator",style:{...u,borderColor:a}})]})},Nr=[{value:ht.chart,icon:Et(Yn,{}),label:"Graph",prometheusCode:0},{value:ht.code,icon:Et(Kn,{}),label:"JSON",prometheusCode:3},{value:ht.table,icon:Et(Wn,{}),label:"Table",prometheusCode:1}],Ar=()=>{const{displayType:e}=Ir(),t=Rr();return Et(Er,{activeItem:e,items:Nr,onChange:n=>{var r;t({type:"SET_DISPLAY_TYPE",payload:null!==(r=n)&&void 0!==r?r:e})}})},Mr=()=>{const e=ct("g0.tab",0),t=Nr.find((t=>t.prometheusCode===+e||t.value===e));return(null===t||void 0===t?void 0:t.value)||ht.chart},Tr=Xe("SERIES_LIMITS"),Lr={displayType:Mr(),nocache:!1,isTracingEnabled:!1,seriesLimits:Tr?JSON.parse(Tr):ot,tableCompact:Xe("TABLE_COMPACT")||!1};function Pr(e,t){switch(t.type){case"SET_DISPLAY_TYPE":return{...e,displayType:t.payload};case"SET_SERIES_LIMITS":return Je("SERIES_LIMITS",JSON.stringify(t.payload)),{...e,seriesLimits:t.payload};case"TOGGLE_QUERY_TRACING":return{...e,isTracingEnabled:!e.isTracingEnabled};case"TOGGLE_NO_CACHE":return{...e,nocache:!e.nocache};case"TOGGLE_TABLE_COMPACT":return Je("TABLE_COMPACT",!e.tableCompact),{...e,tableCompact:!e.tableCompact};default:throw new Error}}const Or=(0,r.createContext)({}),Ir=()=>(0,r.useContext)(Or).state,Rr=()=>(0,r.useContext)(Or).dispatch,Dr={customStep:ct("g0.step_input",""),yaxis:{limits:{enable:!1,range:{1:[0,0]}}},isHistogram:!1,spanGaps:!1};function zr(e,t){switch(t.type){case"TOGGLE_ENABLE_YAXIS_LIMITS":return{...e,yaxis:{...e.yaxis,limits:{...e.yaxis.limits,enable:!e.yaxis.limits.enable}}};case"SET_CUSTOM_STEP":return{...e,customStep:t.payload};case"SET_YAXIS_LIMITS":return{...e,yaxis:{...e.yaxis,limits:{...e.yaxis.limits,range:t.payload}}};case"SET_IS_HISTOGRAM":return{...e,isHistogram:t.payload};case"SET_SPAN_GAPS":return{...e,spanGaps:t.payload};default:throw new Error}}const Fr=(0,r.createContext)({}),jr=()=>(0,r.useContext)(Fr).state,Hr=()=>(0,r.useContext)(Fr).dispatch,Vr={windows:"Windows",mac:"Mac OS",linux:"Linux"},$r=()=>(Object.values(Vr).find((e=>navigator.userAgent.indexOf(e)>=0))||"unknown")===Vr.mac;function Ur(){const e=Cr(),t=()=>{const e=["Android","webOS","iPhone","iPad","iPod","BlackBerry","Windows Phone"].map((e=>navigator.userAgent.match(new RegExp(e,"i")))).some((e=>e)),t=window.innerWidth<500;return e||t},[n,a]=(0,r.useState)(t());return(0,r.useEffect)((()=>{a(t())}),[e]),{isMobile:n}}const Br={success:Et(Dn,{}),error:Et(Rn,{}),warning:Et(In,{}),info:Et(On,{})},qr=e=>{let{variant:t,children:n}=e;const{isDarkTheme:r}=At(),{isMobile:a}=Ur();return Et("div",{className:wr()({"vm-alert":!0,["vm-alert_".concat(t)]:t,"vm-alert_dark":r,"vm-alert_mobile":a}),children:[Et("div",{className:"vm-alert__icon",children:Br[t||"info"]}),Et("div",{className:"vm-alert__content",children:n})]})},Yr=(0,r.createContext)({showInfoMessage:()=>{}}),Wr={dashboardsSettings:[],dashboardsLoading:!1,dashboardsError:""};function Kr(e,t){switch(t.type){case"SET_DASHBOARDS_SETTINGS":return{...e,dashboardsSettings:t.payload};case"SET_DASHBOARDS_LOADING":return{...e,dashboardsLoading:t.payload};case"SET_DASHBOARDS_ERROR":return{...e,dashboardsError:t.payload};default:throw new Error}}const Qr=(0,r.createContext)({}),Zr=()=>(0,r.useContext)(Qr).state,Gr=function(){for(var e=arguments.length,t=new Array(e),n=0;nn=>{let{children:r}=n;return Et(e,{children:Et(t,{children:r})})}),(e=>{let{children:t}=e;return Et(St.FK,{children:t})}))}(...[e=>{let{children:t}=e;const[n,a]=(0,r.useReducer)(xt,Tt),i=(0,r.useMemo)((()=>({state:n,dispatch:a})),[n,a]);return Et(Nt.Provider,{value:i,children:t})},e=>{let{children:t}=e;const[n,a]=(0,r.useReducer)(hn,dn),i=(0,r.useMemo)((()=>({state:n,dispatch:a})),[n,a]);return Et(mn.Provider,{value:i,children:t})},e=>{let{children:t}=e;const[n,a]=(0,r.useReducer)(kn,wn),i=(0,r.useMemo)((()=>({state:n,dispatch:a})),[n,a]);return Et(xn.Provider,{value:i,children:t})},e=>{let{children:t}=e;const[n,a]=(0,r.useReducer)(Pr,Lr),i=(0,r.useMemo)((()=>({state:n,dispatch:a})),[n,a]);return Et(Or.Provider,{value:i,children:t})},e=>{let{children:t}=e;const[n,a]=(0,r.useReducer)(zr,Dr),i=(0,r.useMemo)((()=>({state:n,dispatch:a})),[n,a]);return Et(Fr.Provider,{value:i,children:t})},e=>{let{children:t}=e;const{isMobile:n}=Ur(),[a,i]=(0,r.useState)({}),[o,l]=(0,r.useState)(!1),[s,c]=(0,r.useState)(void 0);(0,r.useEffect)((()=>{if(!s)return;i({message:s.text,variant:s.type,key:Date.now()}),l(!0);const e=setTimeout(u,4e3);return()=>clearTimeout(e)}),[s]);const u=()=>{c(void 0),l(!1)};return Et(Yr.Provider,{value:{showInfoMessage:c},children:[o&&Et("div",{className:wr()({"vm-snackbar":!0,"vm-snackbar_mobile":n}),children:Et(qr,{variant:a.variant,children:Et("div",{className:"vm-snackbar-content",children:[Et("span",{children:a.message}),Et("div",{className:"vm-snackbar-content__close",onClick:u,children:Et(Ln,{})})]})})}),t]})},e=>{let{children:t}=e;const[n,a]=(0,r.useReducer)(Kr,Wr),i=(0,r.useMemo)((()=>({state:n,dispatch:a})),[n,a]);return Et(Qr.Provider,{value:i,children:t})}]),Jr=e=>{let{activeMenu:t,label:n,value:r,color:a}=e;return Et(Re,{className:wr()({"vm-header-nav-item":!0,"vm-header-nav-item_active":t===r}),style:{color:a},to:r,children:n})},Xr=(e,t,n)=>{const a=(0,r.useCallback)((r=>{const a=null===e||void 0===e?void 0:e.current,i=r.target,o=(null===n||void 0===n?void 0:n.current)&&n.current.contains(i);!a||a.contains((null===r||void 0===r?void 0:r.target)||null)||o||t(r)}),[e,t]);Sr("mousedown",a),Sr("touchstart",a)},ea=e=>{let{variant:t="contained",color:n="primary",size:r="medium",ariaLabel:a,children:i,endIcon:o,startIcon:l,fullWidth:s=!1,className:c,disabled:u,onClick:d,onMouseDown:h}=e;return Et("button",{className:wr()({"vm-button":!0,["vm-button_".concat(t,"_").concat(n)]:!0,["vm-button_".concat(r)]:r,"vm-button_icon":(l||o)&&!i,"vm-button_full-width":s,"vm-button_with-icon":l||o,"vm-button_disabled":u,[c||""]:c}),disabled:u,"aria-label":a,onClick:d,onMouseDown:h,children:Et(St.FK,{children:[l&&Et("span",{className:"vm-button__start-icon",children:l}),i&&Et("span",{children:i}),o&&Et("span",{className:"vm-button__end-icon",children:o})]})})},ta=e=>{let{children:t,buttonRef:n,placement:a="bottom-left",open:i=!1,onClose:o,offset:l={top:6,left:0},clickOutside:s=!0,fullWidth:c,title:u,disabledFullScreen:d,variant:h}=e;const{isMobile:m}=Ur(),p=ae(),f=ne(),[v,g]=(0,r.useState)({width:0,height:0}),[y,_]=(0,r.useState)(!1),b=(0,r.useRef)(null);(0,r.useEffect)((()=>(_(i),!i&&o&&o(),i&&m&&!d&&(document.body.style.overflow="hidden"),()=>{document.body.style.overflow="auto"})),[i]),(0,r.useEffect)((()=>{var e,t;g({width:(null===b||void 0===b||null===(e=b.current)||void 0===e?void 0:e.clientWidth)||0,height:(null===b||void 0===b||null===(t=b.current)||void 0===t?void 0:t.clientHeight)||0}),_(!1)}),[b]);const w=(0,r.useMemo)((()=>{const e=n.current;if(!e||!y)return{};const t=e.getBoundingClientRect(),r={top:0,left:0,width:"auto"},i="bottom-right"===a||"top-right"===a,o=null===a||void 0===a?void 0:a.includes("top"),s=(null===l||void 0===l?void 0:l.top)||0,u=(null===l||void 0===l?void 0:l.left)||0;r.left=r.left=t.left+u,r.top=t.height+t.top+s,i&&(r.left=t.right-v.width),o&&(r.top=t.top-v.height-s);const{innerWidth:d,innerHeight:h}=window,m=r.top+v.height+20>h,p=r.top-20<0,f=r.left+v.width+20>d,g=r.left-20<0;return m&&(r.top=t.top-v.height-s),p&&(r.top=t.height+t.top+s),f&&(r.left=t.right-v.width-u),g&&(r.left=t.left+u),c&&(r.width="".concat(t.width,"px")),r.top<0&&(r.top=20),r.left<0&&(r.left=20),r}),[n,a,y,t,c]),k=()=>{_(!1),o()};(0,r.useEffect)((()=>{if(!b.current||!y||m&&!d)return;const{right:e,width:t}=b.current.getBoundingClientRect();if(e>window.innerWidth){const e=window.innerWidth-20-t;b.current.style.left=e{y&&m&&!d&&(p(f,{replace:!0}),o())}),[y,m,d,f,o]);return Sr("scroll",k),Sr("popstate",x),Xr(b,(()=>{s&&k()}),n),Et(St.FK,{children:(y||!v.width)&&r.default.createPortal(Et("div",{className:wr()({"vm-popper":!0,["vm-popper_".concat(h)]:h,"vm-popper_mobile":m&&!d,"vm-popper_open":(m||Object.keys(w).length)&&y}),ref:b,style:m&&!d?{}:w,children:[(u||m&&!d)&&Et("div",{className:"vm-popper-header",children:[Et("p",{className:"vm-popper-header__title",children:u}),Et(ea,{variant:"text",color:"dark"===h?"white":"primary",size:"small",onClick:e=>{e.stopPropagation(),o()},ariaLabel:"close",children:Et(Ln,{})})]}),t]}),document.body)})},na=e=>{const[t,n]=(0,r.useState)(!!e),a=(0,r.useCallback)((()=>n(!0)),[]),i=(0,r.useCallback)((()=>n(!1)),[]),o=(0,r.useCallback)((()=>n((e=>!e))),[]);return{value:t,setValue:n,setTrue:a,setFalse:i,toggle:o}},ra=e=>{let{activeMenu:t,label:n,color:a,background:i,submenu:o,direction:l}=e;const{pathname:s}=ne(),[c,u]=(0,r.useState)(null),d=(0,r.useRef)(null),{value:h,setFalse:m,setTrue:p}=na(!1),f=()=>{c&&clearTimeout(c);const e=setTimeout(m,300);u(e)};return(0,r.useEffect)((()=>{m()}),[s]),"column"===l?Et(St.FK,{children:o.map((e=>Et(Jr,{activeMenu:t,value:e.value||"",label:e.label||""},e.value)))}):Et("div",{className:wr()({"vm-header-nav-item":!0,"vm-header-nav-item_sub":!0,"vm-header-nav-item_open":h,"vm-header-nav-item_active":o.find((e=>e.value===t))}),style:{color:a},onMouseEnter:()=>{p(),c&&clearTimeout(c)},onMouseLeave:f,ref:d,children:[n,Et(jn,{}),Et(ta,{open:h,placement:"bottom-left",offset:{top:12,left:0},onClose:m,buttonRef:d,children:Et("div",{className:"vm-header-nav-item-submenu",style:{background:i},onMouseLeave:f,onMouseEnter:()=>{c&&clearTimeout(c)},children:o.map((e=>Et(Jr,{activeMenu:t,value:e.value||"",label:e.label||"",color:a},e.value)))})})]})},aa={label:"Explore",submenu:[{label:qe[Ye.metrics].title,value:Ye.metrics},{label:qe[Ye.cardinality].title,value:Ye.cardinality},{label:qe[Ye.topQueries].title,value:Ye.topQueries},{label:qe[Ye.activeQueries].title,value:Ye.activeQueries}]},ia={label:"Tools",submenu:[{label:qe[Ye.trace].title,value:Ye.trace},{label:qe[Ye.queryAnalyzer].title,value:Ye.queryAnalyzer},{label:qe[Ye.withTemplate].title,value:Ye.withTemplate},{label:qe[Ye.relabel].title,value:Ye.relabel}]},oa=[{label:qe[Ye.logs].title,value:Ye.home}],la=[{label:qe[Ye.anomaly].title,value:Ye.home}],sa=[{label:qe[Ye.home].title,value:Ye.home},aa,ia],ca=e=>{let{color:t,background:n,direction:a}=e;const i=Ke(),{dashboardsSettings:o}=Zr(),{pathname:l}=ne(),[s,c]=(0,r.useState)(l),u=(0,r.useMemo)((()=>{switch({NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!1}.REACT_APP_TYPE){case He.logs:return oa;case He.anomaly:return la;default:return[...sa,{label:qe[Ye.dashboards].title,value:Ye.dashboards,hide:i||!o.length}].filter((e=>!e.hide))}}),[i,o]);return(0,r.useEffect)((()=>{c(l)}),[l]),Et("nav",{className:wr()({"vm-header-nav":!0,["vm-header-nav_".concat(a)]:a}),children:u.map((e=>e.submenu?Et(ra,{activeMenu:s,label:e.label||"",submenu:e.submenu,color:t,background:n,direction:a},e.label):Et(Jr,{activeMenu:s,value:e.value||"",label:e.label||"",color:t},e.value)))})},ua=e=>{let{title:t,children:n,onClose:a,className:i,isOpen:o=!0}=e;const{isMobile:l}=Ur(),s=ae(),c=ne(),u=(0,r.useCallback)((e=>{o&&"Escape"===e.key&&a()}),[o]),d=e=>{e.stopPropagation()},h=(0,r.useCallback)((()=>{o&&(s(c,{replace:!0}),a())}),[o,c,a]);return(0,r.useEffect)((()=>{if(o)return document.body.style.overflow="hidden",()=>{document.body.style.overflow="auto"}}),[o]),Sr("popstate",h),Sr("keyup",u),r.default.createPortal(Et("div",{className:wr()({"vm-modal":!0,"vm-modal_mobile":l,["".concat(i)]:i}),onMouseDown:a,children:Et("div",{className:"vm-modal-content",children:[Et("div",{className:"vm-modal-content-header",onMouseDown:d,children:[t&&Et("div",{className:"vm-modal-content-header__title",children:t}),Et("div",{className:"vm-modal-header__close",children:Et(ea,{variant:"text",size:"small",onClick:a,ariaLabel:"close",children:Et(Ln,{})})})]}),Et("div",{className:"vm-modal-content-body",onMouseDown:d,tabIndex:0,children:n})]})}),document.body)},da=e=>{let{children:t,title:n,open:a,placement:i="bottom-center",offset:o={top:6,left:0}}=e;const{isMobile:l}=Ur(),[s,c]=(0,r.useState)(!1),[u,d]=(0,r.useState)({width:0,height:0}),h=(0,r.useRef)(null),m=(0,r.useRef)(null),p=()=>c(!1);(0,r.useEffect)((()=>{if(m.current&&s)return d({width:m.current.clientWidth,height:m.current.clientHeight}),window.addEventListener("scroll",p),()=>{window.removeEventListener("scroll",p)}}),[s,n]);const f=(0,r.useMemo)((()=>{var e;const t=null===h||void 0===h||null===(e=h.current)||void 0===e?void 0:e.base;if(!t||!s)return{};const n=t.getBoundingClientRect(),r={top:0,left:0},a="bottom-right"===i||"top-right"===i,l="bottom-left"===i||"top-left"===i,c=null===i||void 0===i?void 0:i.includes("top"),d=(null===o||void 0===o?void 0:o.top)||0,m=(null===o||void 0===o?void 0:o.left)||0;r.left=n.left-(u.width-n.width)/2+m,r.top=n.height+n.top+d,a&&(r.left=n.right-u.width),l&&(r.left=n.left+m),c&&(r.top=n.top-u.height-d);const{innerWidth:p,innerHeight:f}=window,v=r.top+u.height+20>f,g=r.top-20<0,y=r.left+u.width+20>p,_=r.left-20<0;return v&&(r.top=n.top-u.height-d),g&&(r.top=n.height+n.top+d),y&&(r.left=n.right-u.width-m),_&&(r.left=n.left+m),r.top<0&&(r.top=20),r.left<0&&(r.left=20),r}),[h,i,s,u]),v=()=>{"boolean"!==typeof a&&c(!0)},g=()=>{c(!1)};return(0,r.useEffect)((()=>{"boolean"===typeof a&&c(a)}),[a]),(0,r.useEffect)((()=>{var e;const t=null===h||void 0===h||null===(e=h.current)||void 0===e?void 0:e.base;if(t)return t.addEventListener("mouseenter",v),t.addEventListener("mouseleave",g),()=>{t.removeEventListener("mouseenter",v),t.removeEventListener("mouseleave",g)}}),[h]),Et(St.FK,{children:[Et(r.Fragment,{ref:h,children:t}),!l&&s&&r.default.createPortal(Et("div",{className:"vm-tooltip",ref:m,style:f,children:n}),document.body)]})},ha=Et("code",{children:$r()?"Cmd":"Ctrl"}),ma=[{title:"Zoom in",description:Et(St.FK,{children:["To zoom in, hold down the ",ha," + ",Et("code",{children:"scroll up"}),", or press the ",Et("code",{children:"+"}),". Also, you can zoom in on a range on the graph by holding down your mouse button and selecting the range."]})},{title:"Zoom out",description:Et(St.FK,{children:["To zoom out, hold down the ",ha," + ",Et("code",{children:"scroll down"}),", or press the ",Et("code",{children:"-"}),"."]})},{title:"Move horizontal axis",description:Et(St.FK,{children:["To move the graph, hold down the ",ha," + ",Et("code",{children:"drag"})," the graph to the right or left."]})},{title:"Fixing a tooltip",description:Et(St.FK,{children:["To fix the tooltip, ",Et("code",{children:"click"})," mouse when it's open. Then, you can drag the fixed tooltip by ",Et("code",{children:"clicking"})," and ",Et("code",{children:"dragging"})," on the ",Et(rr,{})," icon."]})},{title:"Set a custom range for the vertical axis",description:Et(St.FK,{children:["To set a custom range for the vertical axis, click on the ",Et(Tn,{})," icon located in the upper right corner of the graph, activate the toggle, and set the values."]})}],pa=[{title:"Show/hide a legend item",description:Et(St.FK,{children:[Et("code",{children:"click"})," on a legend item to isolate it on the graph.",ha," + ",Et("code",{children:"click"})," on a legend item to remove it from the graph. To revert to the previous state, click again."]})},{title:"Copy label key-value pairs",description:Et(St.FK,{children:[Et("code",{children:"click"})," on a label key-value pair to save it to the clipboard."]})},{title:"Collapse/Expand the legend group",description:Et(St.FK,{children:[Et("code",{children:"click"})," on the group name (e.g. ",Et("b",{children:'Query 1: {__name__!=""}'}),") to collapse or expand the legend."]})}],fa=ma.concat(pa),va=()=>{const{value:e,setFalse:t,setTrue:n}=na(!1);return Et(St.FK,{children:[Et(da,{title:"Show tips on working with the graph",children:Et(ea,{variant:"text",color:"gray",startIcon:Et(dr,{}),onClick:n,ariaLabel:"open the tips"})}),e&&Et(ua,{title:"Tips on working with the graph and the legend",onClose:t,children:Et("div",{className:"fc-graph-tips",children:fa.map((e=>{let{title:t,description:n}=e;return Et("div",{className:"fc-graph-tips-item",children:[Et("h4",{className:"fc-graph-tips-item__action",children:t}),Et("p",{className:"fc-graph-tips-item__description",children:n})]},t)}))})})]})},ga=Et("code",{children:$r()?"Cmd":"Ctrl"}),ya=Et(St.FK,{children:[Et("code",{children:$r()?"Option":"Ctrl"})," + ",Et("code",{children:"Space"})]}),_a=[{title:"Query",list:[{keys:Et("code",{children:"Enter"}),description:"Run"},{keys:Et(St.FK,{children:[Et("code",{children:"Shift"})," + ",Et("code",{children:"Enter"})]}),description:"Multi-line queries"},{keys:Et(St.FK,{children:[ga," + ",Et("code",{children:"Arrow Up"})]}),description:"Previous command from the Query history"},{keys:Et(St.FK,{children:[ga," + ",Et("code",{children:"Arrow Down"})]}),description:"Next command from the Query history"},{keys:Et(St.FK,{children:[ga," + ",Et("code",{children:"click"})," by ",Et(Xn,{})]}),description:"Toggle multiple queries"},{keys:ya,description:"Show quick autocomplete tips"}]},{title:"Graph",readMore:Et(va,{}),list:[{keys:Et(St.FK,{children:[ga," + ",Et("code",{children:"scroll Up"})," or ",Et("code",{children:"+"})]}),description:"Zoom in"},{keys:Et(St.FK,{children:[ga," + ",Et("code",{children:"scroll Down"})," or ",Et("code",{children:"-"})]}),description:"Zoom out"},{keys:Et(St.FK,{children:[ga," + ",Et("code",{children:"drag"})]}),description:"Move the graph left/right"},{keys:Et(St.FK,{children:Et("code",{children:"click"})}),description:"Select the series in the legend"},{keys:Et(St.FK,{children:[ga," + ",Et("code",{children:"click"})]}),description:"Toggle multiple series in the legend"}]}],ba="Shortcut keys",wa=$r(),ka=wa?"Cmd + /":"F1",xa=e=>{let{showTitle:t}=e;const n=Ke(),{value:a,setTrue:i,setFalse:o}=na(!1),l=(0,r.useCallback)((e=>{const t=wa&&"/"===e.key&&e.metaKey,n=!wa&&"F1"===e.key&&!e.metaKey;(t||n)&&i()}),[i]);return Sr("keydown",l),Et(St.FK,{children:[Et(da,{open:!0!==t&&void 0,title:"".concat(ba," (").concat(ka,")"),placement:"bottom-center",children:Et(ea,{className:n?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Et(Un,{}),onClick:i,ariaLabel:ba,children:t&&ba})}),a&&Et(ua,{title:"Shortcut keys",onClose:o,children:Et("div",{className:"vm-shortcuts",children:_a.map((e=>Et("div",{className:"vm-shortcuts-section",children:[e.readMore&&Et("div",{className:"vm-shortcuts-section__read-more",children:e.readMore}),Et("h3",{className:"vm-shortcuts-section__title",children:e.title}),Et("div",{className:"vm-shortcuts-section-list",children:e.list.map(((t,n)=>Et("div",{className:"vm-shortcuts-section-list-item",children:[Et("div",{className:"vm-shortcuts-section-list-item__key",children:t.keys}),Et("p",{className:"vm-shortcuts-section-list-item__description",children:t.description})]},"".concat(e.title,"_").concat(n))))})]},e.title)))})})]})},Sa=e=>{let{open:t}=e;return Et("button",{className:wr()({"vm-menu-burger":!0,"vm-menu-burger_opened":t}),"aria-label":"menu",children:Et("span",{})})},{REACT_APP_TYPE:Ca}={},Ea=Ca===He.logs,Na=e=>{let{background:t,color:n}=e;const{pathname:a}=ne(),{isMobile:i}=Ur(),o=(0,r.useRef)(null),{value:l,toggle:s,setFalse:c}=na(!1);return(0,r.useEffect)(c,[a]),Xr(o,c),Et("div",{className:"vm-header-sidebar",ref:o,children:[Et("div",{className:wr()({"vm-header-sidebar-button":!0,"vm-header-sidebar-button_open":l}),onClick:s,children:Et(Sa,{open:l})}),Et("div",{className:wr()({"vm-header-sidebar-menu":!0,"vm-header-sidebar-menu_open":l}),children:[Et("div",{children:Et(ca,{color:n,background:t,direction:"column"})}),Et("div",{className:"vm-header-sidebar-menu-settings",children:!i&&!Ea&&Et(xa,{showTitle:!0})})]})]})},Aa=e=>{let{controlsComponent:t,isMobile:n,...a}=e;const i=Ke(),{pathname:o}=ne(),{accountIds:l}=(()=>{const{useTenantID:e}=We(),t=Ke(),{serverUrl:n}=At(),[a,i]=(0,r.useState)(!1),[o,l]=(0,r.useState)(),[s,c]=(0,r.useState)([]),u=(0,r.useMemo)((()=>"".concat(n.replace(/^(.+)(\/select.+)/,"$1"),"/admin/tenants")),[n]),d=(0,r.useMemo)((()=>!!Ge(n)),[n]),h=t?!e:!d;return(0,r.useEffect)((()=>{h||(async()=>{i(!0);try{const e=await fetch(u),t=await e.json(),n=t.data||[];c(n.sort(((e,t)=>e.localeCompare(t)))),e.ok?l(void 0):l("".concat(t.errorType,"\r\n").concat(null===t||void 0===t?void 0:t.error))}catch(ep){ep instanceof Error&&l("".concat(ep.name,": ").concat(ep.message))}i(!1)})().catch(console.error)}),[u]),{accountIds:s,isLoading:a,error:o}})(),{value:s,toggle:c,setFalse:u}=na(!1),d=Et(t,{...a,isMobile:n,accountIds:l,headerSetup:(0,r.useMemo)((()=>(qe[o]||{}).header||{}),[o])});return n?Et(St.FK,{children:[Et("div",{children:Et(ea,{className:wr()({"vm-header-button":!i}),startIcon:Et(cr,{}),onClick:c,ariaLabel:"controls"})}),Et(ua,{title:"Controls",onClose:u,isOpen:s,className:wr()({"vm-header-controls-modal":!0,"vm-header-controls-modal_open":s}),children:d})]}):d},{REACT_APP_TYPE:Ma}={},Ta=Ma===He.logs||Ma===He.anomaly,La=()=>{switch(Ma){case He.logs:return Et(Nn,{});case He.anomaly:return Et(An,{});default:return Et(En,{})}},Pa=e=>{let{controlsComponent:t}=e;const{isMobile:n}=Ur(),a=Cr(),i=(0,r.useMemo)((()=>window.innerWidth<1e3),[a]),{isDarkTheme:o}=At(),l=Ke(),s=(0,r.useMemo)((()=>vt(o?"color-background-block":"color-primary")),[o]),{background:c,color:u}=(0,r.useMemo)((()=>{const{headerStyles:{background:e=(l?"#FFF":s),color:t=(l?s:"#FFF")}={}}=We();return{background:e,color:t}}),[s]),d=ae(),h=()=>{d({pathname:Ye.home}),window.location.reload()};return Et("header",{className:wr()({"vm-header":!0,"vm-header_app":l,"vm-header_dark":o,"vm-header_sidebar":i,"vm-header_mobile":n}),style:{background:c,color:u},children:[i?Et(Na,{background:c,color:u}):Et(St.FK,{children:[!l&&Et("div",{className:wr()({"vm-header-logo":!0,"vm-header-logo_logs":Ta}),onClick:h,style:{color:u},children:Et(La,{})}),Et(ca,{color:u,background:c})]}),i&&Et("div",{className:wr()({"vm-header-logo":!0,"vm-header-logo_mobile":!0,"vm-header-logo_logs":Ta}),onClick:h,style:{color:u},children:Et(La,{})}),Et(Aa,{controlsComponent:t,displaySidebar:i,isMobile:n})]})},Oa=(0,r.memo)((()=>{const e="2019-".concat((new Date).getFullYear());return Et("footer",{className:"vm-footer",children:[Et("a",{className:"vm-link vm-footer__website",target:"_blank",href:"https://victoriametrics.com/",rel:"me noreferrer",children:[Et(Mn,{}),"victoriametrics.com"]}),Et("a",{className:"vm-link vm-footer__link",target:"_blank",href:"https://docs.victoriametrics.com/MetricsQL.html",rel:"help noreferrer",children:[Et(Kn,{}),"MetricsQL"]}),Et("a",{className:"vm-link vm-footer__link",target:"_blank",href:"https://docs.victoriametrics.com/#vmui",rel:"help noreferrer",children:[Et(ir,{}),"Documentation"]}),Et("a",{className:"vm-link vm-footer__link",target:"_blank",href:"https://github.com/VictoriaMetrics/VictoriaMetrics/issues/new/choose",rel:"noreferrer",children:[Et(or,{}),"Create an issue"]}),Et("div",{className:"vm-footer__copyright",children:["\xa9 ",e," VictoriaMetrics"]})]})})),Ia=()=>{const e=Ke(),{serverUrl:t}=At(),n=(0,r.useContext)(Qr).dispatch,[a,i]=(0,r.useState)(!1),[o,l]=(0,r.useState)(""),[s,c]=(0,r.useState)([]),u=async()=>{try{const e=window.__VMUI_PREDEFINED_DASHBOARDS__;if(null===e||void 0===e||!e.length)return[];const t=await Promise.all(e.map((async e=>(async e=>{const t=await fetch("./dashboards/".concat(e));return await t.json()})(e))));c((e=>[...t,...e]))}catch(ep){ep instanceof Error&&l("".concat(ep.name,": ").concat(ep.message))}};return(0,r.useEffect)((()=>{e||(c([]),(async()=>{if(t&&!{NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!1}.REACT_APP_TYPE){l(""),i(!0);try{const e=await fetch("".concat(t,"/vmui/custom-dashboards")),n=await e.json();if(e.ok){const{dashboardsSettings:e}=n;e&&e.length>0?c((t=>[...t,...e])):await u(),i(!1)}else await u(),l(n.error),i(!1)}catch(ep){i(!1),ep instanceof Error&&l("".concat(ep.name,": ").concat(ep.message)),await u()}}})())}),[t]),(0,r.useEffect)((()=>{n({type:"SET_DASHBOARDS_SETTINGS",payload:s})}),[s]),(0,r.useEffect)((()=>{n({type:"SET_DASHBOARDS_LOADING",payload:a})}),[a]),(0,r.useEffect)((()=>{n({type:"SET_DASHBOARDS_ERROR",payload:o})}),[o]),{dashboardsSettings:s,isLoading:a,error:o}},Ra=e=>{let{error:t,warning:n,info:a}=e;const i=(0,r.useRef)(null),[o,l]=(0,r.useState)(!1),[s,c]=(0,r.useState)(!1),u=(0,r.useMemo)((()=>t?"ERROR: ":n?"WARNING: ":""),[t,n]),d="".concat(u).concat(t||n||a),h=()=>{const e=i.current;if(e){const{offsetWidth:t,scrollWidth:n,offsetHeight:r,scrollHeight:a}=e;l(t+1{c(!1),h()}),[i,d]),Sr("resize",h),t||n||a?Et("span",{className:wr()({"vm-text-field__error":!0,"vm-text-field__warning":n&&!t,"vm-text-field__helper-text":!n&&!t,"vm-text-field__error_overflowed":o,"vm-text-field__error_full":s}),"data-show":!!d,ref:i,onClick:()=>{o&&(c(!0),l(!1))},children:d}):null},Da=e=>{let{label:t,value:n,type:a="text",error:i="",warning:o="",helperText:l="",placeholder:s,endIcon:c,startIcon:u,disabled:d=!1,autofocus:h=!1,inputmode:m="text",caretPosition:p,onChange:f,onEnter:v,onKeyDown:g,onFocus:y,onBlur:_,onChangeCaret:b}=e;const{isDarkTheme:w}=At(),{isMobile:k}=Ur(),x=(0,r.useRef)(null),S=(0,r.useRef)(null),C=(0,r.useMemo)((()=>"textarea"===a?S:x),[a]),[E,N]=(0,r.useState)([0,0]),A=wr()({"vm-text-field__input":!0,"vm-text-field__input_error":i,"vm-text-field__input_warning":!i&&o,"vm-text-field__input_icon-start":u,"vm-text-field__input_disabled":d,"vm-text-field__input_textarea":"textarea"===a}),M=e=>{const{selectionStart:t,selectionEnd:n}=e;N([t||0,n||0])},T=e=>{M(e.currentTarget)},L=e=>{g&&g(e);const{key:t,ctrlKey:n,metaKey:r}=e,i="Enter"===t;("textarea"!==a?i:i&&(r||n))&&v&&(e.preventDefault(),v())},P=e=>{M(e.currentTarget)},O=e=>{d||(f&&f(e.currentTarget.value),M(e.currentTarget))},I=()=>{y&&y()},R=()=>{_&&_()},D=e=>{try{C.current&&C.current.setSelectionRange(e[0],e[1])}catch(ep){return ep}};return(0,r.useEffect)((()=>{var e;h&&!k&&(null===C||void 0===C||null===(e=C.current)||void 0===e?void 0:e.focus)&&C.current.focus()}),[C,h]),(0,r.useEffect)((()=>{b&&b(E)}),[E]),(0,r.useEffect)((()=>{D(E)}),[n]),(0,r.useEffect)((()=>{p&&D(p)}),[p]),Et("label",{className:wr()({"vm-text-field":!0,"vm-text-field_textarea":"textarea"===a,"vm-text-field_dark":w}),"data-replicated-value":n,children:[u&&Et("div",{className:"vm-text-field__icon-start",children:u}),c&&Et("div",{className:"vm-text-field__icon-end",children:c}),"textarea"===a?Et("textarea",{className:A,disabled:d,ref:S,value:n,rows:1,inputMode:m,placeholder:s,autoCapitalize:"none",onInput:O,onKeyDown:L,onKeyUp:P,onFocus:I,onBlur:R,onMouseUp:T}):Et("input",{className:A,disabled:d,ref:x,value:n,type:a,placeholder:s,inputMode:m,autoCapitalize:"none",onInput:O,onKeyDown:L,onKeyUp:P,onFocus:I,onBlur:R,onMouseUp:T}),t&&Et("span",{className:"vm-text-field__label",children:t}),Et(Ra,{error:i,warning:o,info:l})]})},za=e=>{let{accountIds:t}=e;const n=Ke(),{isMobile:a}=Ur(),{tenantId:i,serverUrl:o}=At(),l=Mt(),s=fn(),[c,u]=(0,r.useState)(""),d=(0,r.useRef)(null),{value:h,toggle:m,setFalse:p}=na(!1),f=(0,r.useMemo)((()=>{if(!c)return t;try{const e=new RegExp(c,"i");return t.filter((t=>e.test(t))).sort(((t,n)=>{var r,a;return((null===(r=t.match(e))||void 0===r?void 0:r.index)||0)-((null===(a=n.match(e))||void 0===a?void 0:a.index)||0)}))}catch(ep){return[]}}),[c,t]),v=(0,r.useMemo)((()=>t.length>1),[t]),g=e=>()=>{const t=e;if(l({type:"SET_TENANT_ID",payload:t}),o){const e=Ze(o,t);if(e===o)return;l({type:"SET_SERVER",payload:e}),s({type:"RUN_QUERY"})}p()};return(0,r.useEffect)((()=>{const e=Ge(o);i&&i!==e?g(i)():g(e)()}),[o]),v?Et("div",{className:"vm-tenant-input",children:[Et(da,{title:"Define Tenant ID if you need request to another storage",children:Et("div",{ref:d,children:a?Et("div",{className:"vm-mobile-option",onClick:m,children:[Et("span",{className:"vm-mobile-option__icon",children:Et(sr,{})}),Et("div",{className:"vm-mobile-option-text",children:[Et("span",{className:"vm-mobile-option-text__label",children:"Tenant ID"}),Et("span",{className:"vm-mobile-option-text__value",children:i})]}),Et("span",{className:"vm-mobile-option__arrow",children:Et(Fn,{})})]}):Et(ea,{className:n?"":"vm-header-button",variant:"contained",color:"primary",fullWidth:!0,startIcon:Et(sr,{}),endIcon:Et("div",{className:wr()({"vm-execution-controls-buttons__arrow":!0,"vm-execution-controls-buttons__arrow_open":h}),children:Et(Fn,{})}),onClick:m,children:i})})}),Et(ta,{open:h,placement:"bottom-right",onClose:p,buttonRef:d,title:a?"Define Tenant ID":void 0,children:Et("div",{className:wr()({"vm-list vm-tenant-input-list":!0,"vm-list vm-tenant-input-list_mobile":a}),children:[Et("div",{className:"vm-tenant-input-list__search",children:Et(Da,{autofocus:!0,label:"Search",value:c,onChange:u,type:"search"})}),f.map((e=>Et("div",{className:wr()({"vm-list-item":!0,"vm-list-item_mobile":a,"vm-list-item_active":e===i}),onClick:g(e),children:e},e)))]})})]}):null};const Fa=function(e){const t=(0,r.useRef)();return(0,r.useEffect)((()=>{t.current=e}),[e]),t.current},ja=()=>{const e=Ke(),{isMobile:t}=Ur(),{customStep:n,isHistogram:a}=jr(),{period:{step:i,end:o,start:l}}=pn(),s=Hr(),c=Fa(o-l),u=(0,r.useMemo)((()=>Qt(o-l,a)),[i,a]),[d,h]=(0,r.useState)(n||u),[m,p]=(0,r.useState)(""),{value:f,toggle:v,setFalse:g}=na(!1),y=(0,r.useRef)(null),_=e=>{const t=e||d||u||"1s",n=(t.match(/[a-zA-Z]+/g)||[]).length?t:"".concat(t,"s");s({type:"SET_CUSTOM_STEP",payload:n}),h(n),p("")},b=()=>{_(),g()},w=e=>{const t=e.match(/[-+]?([0-9]*\.[0-9]+|[0-9]+)/g)||[],n=e.match(/[a-zA-Z]+/g)||[],r=t.length&&t.every((e=>parseFloat(e)>0)),a=n.every((e=>$t.find((t=>t.short===e)))),i=r&&a;h(e),p(i?"":mt.validStep)};return(0,r.useEffect)((()=>{n&&_(n)}),[n]),(0,r.useEffect)((()=>{!n&&u&&_(u)}),[u]),(0,r.useEffect)((()=>{o-l!==c&&c&&u&&_(u)}),[o,l,c,u]),(0,r.useEffect)((()=>{i!==n&&i!==u||_(u)}),[a]),Et("div",{className:"vm-step-control",ref:y,children:[t?Et("div",{className:"vm-mobile-option",onClick:v,children:[Et("span",{className:"vm-mobile-option__icon",children:Et(ar,{})}),Et("div",{className:"vm-mobile-option-text",children:[Et("span",{className:"vm-mobile-option-text__label",children:"Step"}),Et("span",{className:"vm-mobile-option-text__value",children:d})]}),Et("span",{className:"vm-mobile-option__arrow",children:Et(Fn,{})})]}):Et(da,{title:"Query resolution step width",children:Et(ea,{className:e?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Et(ar,{}),onClick:v,children:Et("p",{children:["STEP",Et("p",{className:"vm-step-control__value",children:d})]})})}),Et(ta,{open:f,placement:"bottom-right",onClose:b,buttonRef:y,title:t?"Query resolution step width":void 0,children:Et("div",{className:wr()({"vm-step-control-popper":!0,"vm-step-control-popper_mobile":t}),children:[Et(Da,{autofocus:!0,label:"Step value",value:d,error:m,onChange:w,onEnter:()=>{_(),b()},onFocus:()=>{document.activeElement instanceof HTMLInputElement&&document.activeElement.select()},onBlur:_,endIcon:Et(da,{title:"Set default step value: ".concat(u),children:Et(ea,{size:"small",variant:"text",color:"primary",startIcon:Et(Pn,{}),onClick:()=>{const e=u||"1s";w(e),_(e)},ariaLabel:"reset step"})})}),Et("div",{className:"vm-step-control-popper-info",children:[Et("code",{children:"step"})," - the ",Et("a",{className:"vm-link vm-link_colored",href:"https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations",target:"_blank",rel:"noreferrer",children:"interval"}),"between datapoints, which must be returned from the range query. The ",Et("code",{children:"query"})," is executed at",Et("code",{children:"start"}),", ",Et("code",{children:"start+step"}),", ",Et("code",{children:"start+2*step"}),", \u2026, ",Et("code",{children:"end"})," timestamps.",Et("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/keyConcepts.html#range-query",target:"_blank",rel:"help noreferrer",children:"Read more about Range query"})]})]})})]})},Ha=e=>{let{relativeTime:t,setDuration:n}=e;const{isMobile:r}=Ur();return Et("div",{className:wr()({"vm-time-duration":!0,"vm-time-duration_mobile":r}),children:nn.map((e=>{let{id:a,duration:i,until:o,title:l}=e;return Et("div",{className:wr()({"vm-list-item":!0,"vm-list-item_mobile":r,"vm-list-item_active":a===t}),onClick:(s={duration:i,until:o(),id:a},()=>{n(s)}),children:l||i},a);var s}))})},Va=e=>{let{viewDate:t,showArrowNav:n,onChangeViewDate:r,toggleDisplayYears:a}=e;return Et("div",{className:"vm-calendar-header",children:[Et("div",{className:"vm-calendar-header-left",onClick:a,children:[Et("span",{className:"vm-calendar-header-left__date",children:t.format("MMMM YYYY")}),Et("div",{className:"vm-calendar-header-left__select-year",children:Et(jn,{})})]}),n&&Et("div",{className:"vm-calendar-header-right",children:[Et("div",{className:"vm-calendar-header-right__prev",onClick:()=>{r(t.subtract(1,"month"))},children:Et(Fn,{})}),Et("div",{className:"vm-calendar-header-right__next",onClick:()=>{r(t.add(1,"month"))},children:Et(Fn,{})})]})]})},$a=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Ua=e=>{let{viewDate:t,selectDate:n,onChangeSelectDate:a}=e;const o="YYYY-MM-DD",l=i().tz(),s=i()(t.format(o)),c=(0,r.useMemo)((()=>{const e=new Array(42).fill(null),t=s.startOf("month"),n=s.endOf("month").diff(t,"day")+1,r=new Array(n).fill(t).map(((e,t)=>e.add(t,"day"))),a=t.day();return e.splice(a,n,...r),e}),[s]),u=e=>()=>{e&&a(e)};return Et("div",{className:"vm-calendar-body",children:[$a.map((e=>Et(da,{title:e,children:Et("div",{className:"vm-calendar-body-cell vm-calendar-body-cell_weekday",children:e[0]})},e))),c.map(((e,t)=>Et("div",{className:wr()({"vm-calendar-body-cell":!0,"vm-calendar-body-cell_day":!0,"vm-calendar-body-cell_day_empty":!e,"vm-calendar-body-cell_day_active":(e&&e.format(o))===n.format(o),"vm-calendar-body-cell_day_today":(e&&e.format(o))===l.format(o)}),onClick:u(e),children:e&&e.format("D")},e?e.format(o):t)))]})},Ba=e=>{let{viewDate:t,onChangeViewDate:n}=e;const a=i()().format("YYYY"),o=(0,r.useMemo)((()=>t.format("YYYY")),[t]),l=(0,r.useMemo)((()=>{const e=i()().subtract(9,"year");return new Array(18).fill(e).map(((e,t)=>e.add(t,"year")))}),[t]);(0,r.useEffect)((()=>{const e=document.getElementById("vm-calendar-year-".concat(o));e&&e.scrollIntoView({block:"center"})}),[]);return Et("div",{className:"vm-calendar-years",children:l.map((e=>{return Et("div",{className:wr()({"vm-calendar-years__year":!0,"vm-calendar-years__year_selected":e.format("YYYY")===o,"vm-calendar-years__year_today":e.format("YYYY")===a}),id:"vm-calendar-year-".concat(e.format("YYYY")),onClick:(t=e,()=>{n(t)}),children:e.format("YYYY")},e.format("YYYY"));var t}))})},qa=e=>{let{viewDate:t,selectDate:n,onChangeViewDate:a}=e;const o=i()().format("MM"),l=(0,r.useMemo)((()=>n.format("MM")),[n]),s=(0,r.useMemo)((()=>new Array(12).fill("").map(((e,n)=>i()(t).month(n)))),[t]);(0,r.useEffect)((()=>{const e=document.getElementById("vm-calendar-year-".concat(l));e&&e.scrollIntoView({block:"center"})}),[]);return Et("div",{className:"vm-calendar-years",children:s.map((e=>{return Et("div",{className:wr()({"vm-calendar-years__year":!0,"vm-calendar-years__year_selected":e.format("MM")===l,"vm-calendar-years__year_today":e.format("MM")===o}),id:"vm-calendar-year-".concat(e.format("MM")),onClick:(t=e,()=>{a(t)}),children:e.format("MMMM")},e.format("MM"));var t}))})};var Ya=function(e){return e[e.days=0]="days",e[e.months=1]="months",e[e.years=2]="years",e}(Ya||{});const Wa=e=>{let{date:t,format:n=Pt,onChange:a}=e;const[o,l]=(0,r.useState)(Ya.days),[s,c]=(0,r.useState)(i().tz(t)),[u,d]=(0,r.useState)(i().tz(t)),h=i().tz(),m=h.format(Lt)===s.format(Lt),{isMobile:p}=Ur(),f=e=>{c(e),l((e=>e===Ya.years?Ya.months:Ya.days))};return(0,r.useEffect)((()=>{u.format()!==i().tz(t).format()&&a(u.format(n))}),[u]),(0,r.useEffect)((()=>{const e=i().tz(t);c(e),d(e)}),[t]),Et("div",{className:wr()({"vm-calendar":!0,"vm-calendar_mobile":p}),children:[Et(Va,{viewDate:s,onChangeViewDate:f,toggleDisplayYears:()=>{l((e=>e===Ya.years?Ya.days:Ya.years))},showArrowNav:o===Ya.days}),o===Ya.days&&Et(Ua,{viewDate:s,selectDate:u,onChangeSelectDate:e=>{d(e)}}),o===Ya.years&&Et(Ba,{viewDate:s,onChangeViewDate:f}),o===Ya.months&&Et(qa,{selectDate:u,viewDate:s,onChangeViewDate:f}),!m&&o===Ya.days&&Et("div",{className:"vm-calendar-footer",children:Et(ea,{variant:"text",size:"small",onClick:()=>{c(h)},children:"show today"})})]})},Ka=(0,r.forwardRef)(((e,t)=>{let{date:n,targetRef:a,format:o=Pt,onChange:l,label:s}=e;const c=(0,r.useMemo)((()=>i()(n).isValid()?i().tz(n):i()().tz()),[n]),{isMobile:u}=Ur(),{value:d,toggle:h,setFalse:m}=na(!1);return Sr("click",h,a),Sr("keyup",(e=>{"Escape"!==e.key&&"Enter"!==e.key||m()})),Et(St.FK,{children:Et(ta,{open:d,buttonRef:a,placement:"bottom-right",onClose:m,title:u?s:void 0,children:Et("div",{ref:t,children:Et(Wa,{date:c,format:o,onChange:e=>{l(e),m()}})})})})}));var Qa=n(494),Za=n.n(Qa);const Ga=e=>i()(e).isValid()?i().tz(e).format(Pt):e,Ja=e=>{let{value:t="",label:n,pickerLabel:a,pickerRef:o,onChange:l,onEnter:s}=e;const c=(0,r.useRef)(null),[u,d]=(0,r.useState)(null),[h,m]=(0,r.useState)(Ga(t)),[p,f]=(0,r.useState)(!1),[v,g]=(0,r.useState)(!1),y=i()(h).isValid()?"":"Invalid date format";return(0,r.useEffect)((()=>{const e=Ga(t);e!==h&&m(e),v&&(s(),g(!1))}),[t]),(0,r.useEffect)((()=>{p&&u&&(u.focus(),u.setSelectionRange(11,11),f(!1))}),[p]),Et("div",{className:wr()({"vm-date-time-input":!0,"vm-date-time-input_error":y}),children:[Et("label",{children:n}),Et(Za(),{tabIndex:1,inputRef:d,mask:"9999-99-99 99:99:99",placeholder:"YYYY-MM-DD HH:mm:ss",value:h,autoCapitalize:"none",inputMode:"numeric",maskChar:null,onChange:e=>{m(e.currentTarget.value)},onBlur:()=>{l(h)},onKeyUp:e=>{"Enter"===e.key&&(l(h),g(!0))}}),y&&Et("span",{className:"vm-date-time-input__error-text",children:y}),Et("div",{className:"vm-date-time-input__icon",ref:c,children:Et(ea,{variant:"text",color:"gray",size:"small",startIcon:Et(Vn,{}),ariaLabel:"calendar"})}),Et(Ka,{label:a,ref:o,date:h,onChange:e=>{m(e),f(!0)},targetRef:c})]})},Xa=()=>{const{isMobile:e}=Ur(),{isDarkTheme:t}=At(),n=(0,r.useRef)(null),a=Cr(),o=(0,r.useMemo)((()=>a.width>1120),[a]),[l,s]=(0,r.useState)(),[c,u]=(0,r.useState)(),{period:{end:d,start:h},relativeTime:m,timezone:p,duration:f}=pn(),v=fn(),g=Ke(),y=Fa(p),{value:_,toggle:b,setFalse:w}=na(!1),k=(0,r.useMemo)((()=>({region:p,utc:an(p)})),[p]);(0,r.useEffect)((()=>{s(Jt(en(d)))}),[p,d]),(0,r.useEffect)((()=>{u(Jt(en(h)))}),[p,h]);const x=e=>{let{duration:t,until:n,id:r}=e;v({type:"SET_RELATIVE_TIME",payload:{duration:t,until:n,id:r}}),w()},S=(0,r.useMemo)((()=>({start:i().tz(en(h)).format(Pt),end:i().tz(en(d)).format(Pt)})),[h,d,p]),C=(0,r.useMemo)((()=>m&&"none"!==m?m.replace(/_/g," "):"".concat(S.start," - ").concat(S.end)),[m,S]),E=(0,r.useRef)(null),N=(0,r.useRef)(null),A=(0,r.useRef)(null),M=()=>{c&&l&&v({type:"SET_PERIOD",payload:{from:i().tz(c).toDate(),to:i().tz(l).toDate()}}),w()};return(0,r.useEffect)((()=>{const e=rn({relativeTimeId:m,defaultDuration:f,defaultEndInput:en(d)});y&&p!==y&&x({id:e.relativeTimeId,duration:e.duration,until:e.endInput})}),[p,y]),Xr(n,(t=>{var n,r;if(e)return;const a=t.target,i=(null===E||void 0===E?void 0:E.current)&&(null===E||void 0===E||null===(n=E.current)||void 0===n?void 0:n.contains(a)),o=(null===N||void 0===N?void 0:N.current)&&(null===N||void 0===N||null===(r=N.current)||void 0===r?void 0:r.contains(a));i||o||w()})),Et(St.FK,{children:[Et("div",{ref:A,children:e?Et("div",{className:"vm-mobile-option",onClick:b,children:[Et("span",{className:"vm-mobile-option__icon",children:Et(Hn,{})}),Et("div",{className:"vm-mobile-option-text",children:[Et("span",{className:"vm-mobile-option-text__label",children:"Time range"}),Et("span",{className:"vm-mobile-option-text__value",children:C})]}),Et("span",{className:"vm-mobile-option__arrow",children:Et(Fn,{})})]}):Et(da,{title:o?"Time range controls":C,children:Et(ea,{className:g?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Et(Hn,{}),onClick:b,ariaLabel:"time range controls",children:o&&Et("span",{children:C})})})}),Et(ta,{open:_,buttonRef:A,placement:"bottom-right",onClose:w,clickOutside:!1,title:e?"Time range controls":"",children:Et("div",{className:wr()({"vm-time-selector":!0,"vm-time-selector_mobile":e}),ref:n,children:[Et("div",{className:"vm-time-selector-left",children:[Et("div",{className:wr()({"vm-time-selector-left-inputs":!0,"vm-time-selector-left-inputs_dark":t}),children:[Et(Ja,{value:c,label:"From:",pickerLabel:"Date From",pickerRef:E,onChange:u,onEnter:M}),Et(Ja,{value:l,label:"To:",pickerLabel:"Date To",pickerRef:N,onChange:s,onEnter:M})]}),Et("div",{className:"vm-time-selector-left-timezone",children:[Et("div",{className:"vm-time-selector-left-timezone__title",children:k.region}),Et("div",{className:"vm-time-selector-left-timezone__utc",children:k.utc})]}),Et(ea,{variant:"text",startIcon:Et($n,{}),onClick:()=>v({type:"RUN_QUERY_TO_NOW"}),children:"switch to now"}),Et("div",{className:"vm-time-selector-left__controls",children:[Et(ea,{color:"error",variant:"outlined",onClick:()=>{s(Jt(en(d))),u(Jt(en(h))),w()},children:"Cancel"}),Et(ea,{color:"primary",onClick:M,children:"Apply"})]})]}),Et(Ha,{relativeTime:m||"",setDuration:x})]})})]})},ei=()=>{const e=ae(),[t,n]=je();return{setSearchParamsFromKeys:(0,r.useCallback)((r=>{const a=!!Array.from(t.values()).length;let i=!1;Object.entries(r).forEach((e=>{let[n,r]=e;t.get(n)!=="".concat(r)&&(t.set(n,"".concat(r)),i=!0)})),i&&(a?n(t):e("?".concat(t.toString()),{replace:!0}))}),[t,e])}},ti=()=>{const{isMobile:e}=Ur(),t=Ke(),n=(0,r.useRef)(null),[a]=je(),{setSearchParamsFromKeys:o}=ei(),l=a.get("date")||i()().tz().format(Lt),s=(0,r.useMemo)((()=>i().tz(l).format(Lt)),[l]),c=e=>{o({date:e})};return(0,r.useEffect)((()=>{c(l)}),[]),Et("div",{children:[Et("div",{ref:n,children:e?Et("div",{className:"vm-mobile-option",children:[Et("span",{className:"vm-mobile-option__icon",children:Et(Vn,{})}),Et("div",{className:"vm-mobile-option-text",children:[Et("span",{className:"vm-mobile-option-text__label",children:"Date control"}),Et("span",{className:"vm-mobile-option-text__value",children:s})]}),Et("span",{className:"vm-mobile-option__arrow",children:Et(Fn,{})})]}):Et(da,{title:"Date control",children:Et(ea,{className:t?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Et(Vn,{}),children:s})})}),Et(Ka,{label:"Date control",date:l||"",format:Lt,onChange:c,targetRef:n})]})},ni=[{seconds:0,title:"Off"},{seconds:1,title:"1s"},{seconds:2,title:"2s"},{seconds:5,title:"5s"},{seconds:10,title:"10s"},{seconds:30,title:"30s"},{seconds:60,title:"1m"},{seconds:300,title:"5m"},{seconds:900,title:"15m"},{seconds:1800,title:"30m"},{seconds:3600,title:"1h"},{seconds:7200,title:"2h"}],ri=()=>{const{isMobile:e}=Ur(),t=fn(),n=Ke(),[a,i]=(0,r.useState)(!1),[o,l]=(0,r.useState)(ni[0]),{value:s,toggle:c,setFalse:u}=na(!1),d=(0,r.useRef)(null);(0,r.useEffect)((()=>{const e=o.seconds;let n;return a?n=setInterval((()=>{t({type:"RUN_QUERY"})}),1e3*e):l(ni[0]),()=>{n&&clearInterval(n)}}),[o,a]);const h=e=>()=>{(e=>{(a&&!e.seconds||!a&&e.seconds)&&i((e=>!e)),l(e),u()})(e)};return Et(St.FK,{children:[Et("div",{className:"vm-execution-controls",children:Et("div",{className:wr()({"vm-execution-controls-buttons":!0,"vm-execution-controls-buttons_mobile":e,"vm-header-button":!n}),children:[!e&&Et(da,{title:"Refresh dashboard",children:Et(ea,{variant:"contained",color:"primary",onClick:()=>{t({type:"RUN_QUERY"})},startIcon:Et(zn,{}),ariaLabel:"refresh dashboard"})}),e?Et("div",{className:"vm-mobile-option",onClick:c,children:[Et("span",{className:"vm-mobile-option__icon",children:Et(Pn,{})}),Et("div",{className:"vm-mobile-option-text",children:[Et("span",{className:"vm-mobile-option-text__label",children:"Auto-refresh"}),Et("span",{className:"vm-mobile-option-text__value",children:o.title})]}),Et("span",{className:"vm-mobile-option__arrow",children:Et(Fn,{})})]}):Et(da,{title:"Auto-refresh control",children:Et("div",{ref:d,children:Et(ea,{variant:"contained",color:"primary",fullWidth:!0,endIcon:Et("div",{className:wr()({"vm-execution-controls-buttons__arrow":!0,"vm-execution-controls-buttons__arrow_open":s}),children:Et(Fn,{})}),onClick:c,children:o.title})})})]})}),Et(ta,{open:s,placement:"bottom-right",onClose:u,buttonRef:d,title:e?"Auto-refresh duration":void 0,children:Et("div",{className:wr()({"vm-execution-controls-list":!0,"vm-execution-controls-list_mobile":e}),children:ni.map((t=>Et("div",{className:wr()({"vm-list-item":!0,"vm-list-item_mobile":e,"vm-list-item_active":t.seconds===o.seconds}),onClick:h(t),children:t.title},t.seconds)))})})]})},ai="Enable to save the modified server URL to local storage, preventing reset upon page refresh.",ii="Disable to stop saving the server URL to local storage, reverting to the default URL on page refresh.",oi=e=>{let{serverUrl:t,stateServerUrl:n,onChange:a,onEnter:i}=e;const{value:o,toggle:l}=na(!!Xe("SERVER_URL")),[s,c]=(0,r.useState)("");return(0,r.useEffect)((()=>{n||c(mt.emptyServer),_t(n)||c(mt.validServer)}),[n]),(0,r.useEffect)((()=>{o?Je("SERVER_URL",t):et(["SERVER_URL"])}),[o]),(0,r.useEffect)((()=>{o&&Je("SERVER_URL",t)}),[t]),Et("div",{children:[Et("div",{className:"vm-server-configurator__title",children:"Server URL"}),Et("div",{className:"vm-server-configurator-url",children:[Et(Da,{autofocus:!0,value:t,error:s,onChange:e=>{a(e||""),c("")},onEnter:i,inputmode:"url"}),Et(da,{title:o?ii:ai,children:Et(ea,{className:"vm-server-configurator-url__button",variant:"text",color:o?"primary":"gray",onClick:l,startIcon:Et(sr,{})})})]})]})},li=[{label:"Graph",type:ht.chart},{label:"JSON",type:ht.code},{label:"Table",type:ht.table}],si=e=>{let{limits:t,onChange:n,onEnter:a}=e;const{isMobile:i}=Ur(),[o,l]=(0,r.useState)({table:"",chart:"",code:""}),s=e=>r=>{((e,r)=>{const a=e||"";l((e=>({...e,[r]:+a<0?mt.positiveNumber:""}))),n({...t,[r]:a||1/0})})(r,e)};return Et("div",{className:"vm-limits-configurator",children:[Et("div",{className:"vm-server-configurator__title",children:["Series limits by tabs",Et(da,{title:"Set to 0 to disable the limit",children:Et(ea,{variant:"text",color:"primary",size:"small",startIcon:Et(On,{})})}),Et("div",{className:"vm-limits-configurator-title__reset",children:Et(ea,{variant:"text",color:"primary",size:"small",startIcon:Et(Pn,{}),onClick:()=>{n(ot)},children:"Reset limits"})})]}),Et("div",{className:wr()({"vm-limits-configurator__inputs":!0,"vm-limits-configurator__inputs_mobile":i}),children:li.map((e=>Et("div",{children:Et(Da,{label:e.label,value:t[e.type],error:o[e.type],onChange:s(e.type),onEnter:a,type:"number"})},e.type)))})]})},ci=e=>{let{defaultExpanded:t=!1,onChange:n,title:a,children:i}=e;const[o,l]=(0,r.useState)(t);return(0,r.useEffect)((()=>{n&&n(o)}),[o]),Et(St.FK,{children:[Et("header",{className:"vm-accordion-header ".concat(o&&"vm-accordion-header_open"),onClick:()=>{l((e=>!e))},children:[a,Et("div",{className:"vm-accordion-header__arrow ".concat(o&&"vm-accordion-header__arrow_open"),children:Et(Fn,{})})]}),o&&Et("section",{className:"vm-accordion-section",children:i},"content")]})},ui=()=>Et(da,{title:"Browser timezone is not recognized, supported, or could not be determined.",children:Et(In,{})}),di=sn(),hi=e=>{let{timezoneState:t,defaultTimezone:n,onChange:a}=e;const{isMobile:i}=Ur(),o=on(),[l,s]=(0,r.useState)(""),c=(0,r.useRef)(null),{value:u,toggle:d,setFalse:h}=na(!1),m=(0,r.useMemo)((()=>[{title:"Default time (".concat(n,")"),region:n,utc:n?an(n):"UTC"},{title:di.title,region:di.region,utc:an(di.region),isInvalid:!di.isValid},{title:"UTC (Coordinated Universal Time)",region:"UTC",utc:"UTC"}].filter((e=>e.region))),[n]),p=(0,r.useMemo)((()=>{if(!l)return o;try{return on(l)}catch(ep){return{}}}),[l,o]),f=(0,r.useMemo)((()=>Object.keys(p)),[p]),v=(0,r.useMemo)((()=>({region:t,utc:an(t)})),[t]),g=e=>()=>{(e=>{a(e.region),s(""),h()})(e)};return Et("div",{className:"vm-timezones",children:[Et("div",{className:"vm-server-configurator__title",children:"Time zone"}),Et("div",{className:"vm-timezones-item vm-timezones-item_selected",onClick:d,ref:c,children:[Et("div",{className:"vm-timezones-item__title",children:v.region}),Et("div",{className:"vm-timezones-item__utc",children:v.utc}),Et("div",{className:wr()({"vm-timezones-item__icon":!0,"vm-timezones-item__icon_open":u}),children:Et(jn,{})})]}),Et(ta,{open:u,buttonRef:c,placement:"bottom-left",onClose:h,fullWidth:!0,title:i?"Time zone":void 0,children:Et("div",{className:wr()({"vm-timezones-list":!0,"vm-timezones-list_mobile":i}),children:[Et("div",{className:"vm-timezones-list-header",children:[Et("div",{className:"vm-timezones-list-header__search",children:Et(Da,{autofocus:!0,label:"Search",value:l,onChange:e=>{s(e)}})}),m.map(((e,t)=>e&&Et("div",{className:"vm-timezones-item vm-timezones-list-group-options__item",onClick:g(e),children:[Et("div",{className:"vm-timezones-item__title",children:[e.title,e.isInvalid&&Et(ui,{})]}),Et("div",{className:"vm-timezones-item__utc",children:e.utc})]},"".concat(t,"_").concat(e.region))))]}),f.map((e=>Et("div",{className:"vm-timezones-list-group",children:Et(ci,{defaultExpanded:!0,title:Et("div",{className:"vm-timezones-list-group__title",children:e}),children:Et("div",{className:"vm-timezones-list-group-options",children:p[e]&&p[e].map((e=>Et("div",{className:"vm-timezones-item vm-timezones-list-group-options__item",onClick:g(e),children:[Et("div",{className:"vm-timezones-item__title",children:e.region}),Et("div",{className:"vm-timezones-item__utc",children:e.utc})]},e.search)))})})},e)))]})})]})},mi=e=>{let{options:t,value:n,label:a,onChange:i}=e;const o=(0,r.useRef)(null),[l,s]=(0,r.useState)({width:"0px",left:"0px",borderRadius:"0px"}),c=e=>()=>{i(e)};return(0,r.useEffect)((()=>{if(!o.current)return void s({width:"0px",left:"0px",borderRadius:"0px"});const e=t.findIndex((e=>e.value===n)),{width:r}=o.current.getBoundingClientRect();let a=r,i=e*a,l="0";0===e&&(l="16px 0 0 16px"),e===t.length-1&&(l="10px",i-=1,l="0 16px 16px 0"),0!==e&&e!==t.length-1&&(a+=1,i-=1),s({width:"".concat(a,"px"),left:"".concat(i,"px"),borderRadius:l})}),[o,n,t]),Et("div",{className:"vm-toggles",children:[a&&Et("label",{className:"vm-toggles__label",children:a}),Et("div",{className:"vm-toggles-group",style:{gridTemplateColumns:"repeat(".concat(t.length,", 1fr)")},children:[l.borderRadius&&Et("div",{className:"vm-toggles-group__highlight",style:l}),t.map(((e,t)=>Et("div",{className:wr()({"vm-toggles-group-item":!0,"vm-toggles-group-item_first":0===t,"vm-toggles-group-item_active":e.value===n,"vm-toggles-group-item_icon":e.icon&&e.title}),onClick:c(e.value),ref:e.value===n?o:null,children:[e.icon,e.title]},e.value)))]})]})},pi=Object.values(pt).map((e=>({title:e,value:e}))),fi=e=>{let{theme:t,onChange:n}=e;const{isMobile:r}=Ur();return Et("div",{className:wr()({"vm-theme-control":!0,"vm-theme-control_mobile":r}),children:[Et("div",{className:"vm-server-configurator__title",children:"Theme preferences"}),Et("div",{className:"vm-theme-control__toggle",children:Et(mi,{options:pi,value:t,onChange:e=>{n(e)}})},"".concat(r))]})},vi="Settings",{REACT_APP_TYPE:gi}={},yi=gi===He.logs,_i=()=>{const{isMobile:e}=Ur(),t=Ke(),{serverUrl:n,theme:a}=At(),{timezone:i,defaultTimezone:o}=pn(),{seriesLimits:l}=Ir(),s=Mt(),c=fn(),u=Rr(),[d,h]=(0,r.useState)(n),[m,p]=(0,r.useState)(l),[f,v]=(0,r.useState)(i),{value:g,setTrue:y,setFalse:_}=na(!1),b=()=>{_(),h(n),p(l),v(i)},w=()=>{const e=Ge(d);""!==e&&s({type:"SET_TENANT_ID",payload:e}),s({type:"SET_SERVER",payload:d}),c({type:"SET_TIMEZONE",payload:f}),u({type:"SET_SERIES_LIMITS",payload:m}),_()};(0,r.useEffect)((()=>{n!==d&&h(n)}),[n]),(0,r.useEffect)((()=>{v(i)}),[i]);const k=[{show:!t&&!yi,component:Et(oi,{stateServerUrl:n,serverUrl:d,onChange:h,onEnter:w})},{show:!yi,component:Et(si,{limits:m,onChange:p,onEnter:w})},{show:!0,component:Et(hi,{timezoneState:f,defaultTimezone:o,onChange:v})},{show:!t,component:Et(fi,{theme:a,onChange:e=>{s({type:"SET_THEME",payload:e})}})}].filter((e=>e.show));return Et(St.FK,{children:[e?Et("div",{className:"vm-mobile-option",onClick:y,children:[Et("span",{className:"vm-mobile-option__icon",children:Et(Tn,{})}),Et("div",{className:"vm-mobile-option-text",children:Et("span",{className:"vm-mobile-option-text__label",children:vi})}),Et("span",{className:"vm-mobile-option__arrow",children:Et(Fn,{})})]}):Et(da,{title:vi,children:Et(ea,{className:wr()({"vm-header-button":!t}),variant:"contained",color:"primary",startIcon:Et(Tn,{}),onClick:y,ariaLabel:"settings"})}),g&&Et(ua,{title:vi,onClose:b,children:Et("div",{className:wr()({"vm-server-configurator":!0,"vm-server-configurator_mobile":e}),children:[k.map(((e,t)=>Et("div",{className:"vm-server-configurator__input",children:e.component},t))),Et("div",{className:"vm-server-configurator-footer",children:[Et(ea,{color:"error",variant:"outlined",onClick:b,children:"Cancel"}),Et(ea,{color:"primary",variant:"contained",onClick:w,children:"Apply"})]})]})})]})},bi=e=>{let{displaySidebar:t,isMobile:n,headerSetup:r,accountIds:a}=e;return Et("div",{className:wr()({"vm-header-controls":!0,"vm-header-controls_mobile":n}),children:[(null===r||void 0===r?void 0:r.tenant)&&Et(za,{accountIds:a||[]}),(null===r||void 0===r?void 0:r.stepControl)&&Et(ja,{}),(null===r||void 0===r?void 0:r.timeSelector)&&Et(Xa,{}),(null===r||void 0===r?void 0:r.cardinalityDatePicker)&&Et(ti,{}),(null===r||void 0===r?void 0:r.executionControls)&&Et(ri,{}),Et(_i,{}),!t&&Et(xa,{})]})},wi=Boolean(Xe("DISABLED_DEFAULT_TIMEZONE")),ki=()=>{const{serverUrl:e}=At(),t=fn(),[n,a]=(0,r.useState)(!1),[o,l]=(0,r.useState)(""),s=async()=>{if(e&&!{NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!1}.REACT_APP_TYPE){l(""),a(!0);try{const n=await fetch("".concat(e,"/vmui/timezone")),r=await n.json();n.ok?((e=>{const n="local"===e.toLowerCase()?sn().region:e;try{if(i()().tz(n).isValid(),t({type:"SET_DEFAULT_TIMEZONE",payload:n}),wi)return;t({type:"SET_TIMEZONE",payload:n})}catch(ep){ep instanceof Error&&l("".concat(ep.name,": ").concat(ep.message))}})(r.timezone),a(!1)):(l(r.error),a(!1))}catch(ep){a(!1),ep instanceof Error&&l("".concat(ep.name,": ").concat(ep.message))}}};return(0,r.useEffect)((()=>{s()}),[e]),{isLoading:n,error:o}},xi=()=>{const e=Ke(),{isMobile:t}=Ur(),{pathname:n}=ne(),[a,i]=je();Ia(),ki();return(0,r.useEffect)((()=>{var e;const t="vmui",r=null===(e=qe[n])||void 0===e?void 0:e.title;document.title=r?"".concat(r," - ").concat(t):t}),[n]),(0,r.useEffect)((()=>{const{search:e,href:t}=window.location;if(e){const t=rt().parse(e,{ignoreQueryPrefix:!0});Object.entries(t).forEach((e=>{let[t,n]=e;return a.set(t,n)})),i(a),window.location.search=""}const n=t.replace(/\/\?#\//,"/#/");n!==t&&window.location.replace(n)}),[]),Et("section",{className:"vm-container",children:[Et(Pa,{controlsComponent:bi}),Et("div",{className:wr()({"vm-container-body":!0,"vm-container-body_mobile":t,"vm-container-body_app":e}),children:Et(_e,{})}),!e&&Et(Oa,{})]})};var Si=function(e){return e[e.mouse=0]="mouse",e[e.keyboard=1]="keyboard",e}(Si||{});const Ci=e=>{var t;let{value:n,options:a,anchor:i,disabled:o,minLength:l=2,fullWidth:s,selected:c,noOptionsText:u,label:d,disabledFullScreen:h,offset:m,maxDisplayResults:p,loading:f,onSelect:v,onOpenAutocomplete:g,onFoundOptions:y,onChangeWrapperRef:_}=e;const{isMobile:b}=Ur(),w=(0,r.useRef)(null),[k,x]=(0,r.useState)({index:-1}),[S,C]=(0,r.useState)(""),[E,N]=(0,r.useState)(0),{value:A,setValue:M,setFalse:T}=na(!1),L=(0,r.useMemo)((()=>{if(!A)return[];try{const e=new RegExp(String(n.trim()),"i"),t=a.filter((t=>e.test(t.value))).sort(((t,r)=>{var a,i;return t.value.toLowerCase()===n.trim().toLowerCase()?-1:r.value.toLowerCase()===n.trim().toLowerCase()?1:((null===(a=t.value.match(e))||void 0===a?void 0:a.index)||0)-((null===(i=r.value.match(e))||void 0===i?void 0:i.index)||0)}));return N(t.length),C(t.length>Number(null===p||void 0===p?void 0:p.limit)&&(null===p||void 0===p?void 0:p.message)||""),null!==p&&void 0!==p&&p.limit?t.slice(0,p.limit):t}catch(ep){return[]}}),[A,a,n]),P=(0,r.useMemo)((()=>{var e;return 1===L.length&&(null===(e=L[0])||void 0===e?void 0:e.value)===n}),[L]),O=(0,r.useMemo)((()=>u&&!L.length),[u,L]),I=()=>{x({index:-1})},R=(0,r.useCallback)((e=>{const{key:t,ctrlKey:n,metaKey:r,shiftKey:a}=e,i=n||r||a,o=L.length&&!P;if("ArrowUp"===t&&!i&&o&&(e.preventDefault(),x((e=>{let{index:t}=e;return{index:t<=0?0:t-1,type:Si.keyboard}}))),"ArrowDown"===t&&!i&&o){e.preventDefault();const t=L.length-1;x((e=>{let{index:n}=e;return{index:n>=t?t:n+1,type:Si.keyboard}}))}if("Enter"===t){const e=L[k.index];e&&v(e.value),c||T()}"Escape"===t&&T()}),[k,L,P,T,v,c]);return(0,r.useEffect)((()=>{M(n.length>=l)}),[n,a]),Sr("keydown",R),(0,r.useEffect)((()=>{if(!w.current||k.type===Si.mouse)return;const e=w.current.childNodes[k.index];null!==e&&void 0!==e&&e.scrollIntoView&&e.scrollIntoView({block:"center"})}),[k,L]),(0,r.useEffect)((()=>{x({index:-1})}),[L]),(0,r.useEffect)((()=>{g&&g(A)}),[A]),(0,r.useEffect)((()=>{y&&y(P?[]:L)}),[L,P]),(0,r.useEffect)((()=>{_&&_(w)}),[w]),Et(ta,{open:A,buttonRef:i,placement:"bottom-left",onClose:T,fullWidth:s,title:b?d:void 0,disabledFullScreen:h,offset:m,children:[Et("div",{className:wr()({"vm-autocomplete":!0,"vm-autocomplete_mobile":b&&!h}),ref:w,children:[f&&Et("div",{className:"vm-autocomplete__loader",children:[Et(zn,{}),Et("span",{children:"Loading..."})]}),O&&Et("div",{className:"vm-autocomplete__no-options",children:u}),!P&&L.map(((e,t)=>{return Et("div",{className:wr()({"vm-list-item":!0,"vm-list-item_mobile":b,"vm-list-item_active":t===k.index,"vm-list-item_multiselect":c,"vm-list-item_multiselect_selected":null===c||void 0===c?void 0:c.includes(e.value),"vm-list-item_with-icon":e.icon}),id:"$autocomplete$".concat(e.value),onClick:(r=e.value,()=>{o||(v(r),c||T())}),onMouseEnter:(n=t,()=>{x({index:n,type:Si.mouse})}),onMouseLeave:I,children:[(null===c||void 0===c?void 0:c.includes(e.value))&&Et(Jn,{}),Et(St.FK,{children:e.icon}),Et("span",{children:e.value})]},"".concat(t).concat(e.value));var n,r}))]}),S&&Et("div",{className:"vm-autocomplete-message",children:["Shown ",null===p||void 0===p?void 0:p.limit," results out of ",E,". ",S]}),(null===(t=L[k.index])||void 0===t?void 0:t.description)&&Et("div",{className:"vm-autocomplete-info",children:[Et("div",{className:"vm-autocomplete-info__type",children:L[k.index].type}),Et("div",{className:"vm-autocomplete-info__description",dangerouslySetInnerHTML:{__html:L[k.index].description||""}})]})]})};var Ei=n(267),Ni=n.n(Ei);const Ai=e=>e.replace(/[/\-\\^$*+?.()|[\]{}]/g,"\\$&"),Mi=e=>JSON.stringify(e).slice(1,-1);var Ti=function(e){return e.metric="metric",e.label="label",e.labelValue="labelValue",e}(Ti||{});const Li={[Ti.metric]:Et(fr,{}),[Ti.label]:Et(gr,{}),[Ti.labelValue]:Et(yr,{})};function Pi(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}function Oi(e,t,n){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return n}function Ii(e){return Ii="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ii(e)}function Ri(e){var t=function(e,t){if("object"!=Ii(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=Ii(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==Ii(t)?t:String(t)}function Di(e,t,n){return(t=Ri(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function zi(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}let Fi={async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};function ji(e){Fi=e}const Hi=/[&<>"']/,Vi=new RegExp(Hi.source,"g"),$i=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Ui=new RegExp($i.source,"g"),Bi={"&":"&","<":"<",">":">",'"':""","'":"'"},qi=e=>Bi[e];function Yi(e,t){if(t){if(Hi.test(e))return e.replace(Vi,qi)}else if($i.test(e))return e.replace(Ui,qi);return e}const Wi=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function Ki(e){return e.replace(Wi,((e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""))}const Qi=/(^|[^\[])\^/g;function Zi(e,t){e="string"===typeof e?e:e.source,t=t||"";const n={replace:(t,r)=>(r=(r=r.source||r).replace(Qi,"$1"),e=e.replace(t,r),n),getRegex:()=>new RegExp(e,t)};return n}const Gi=/[^\w:]/g,Ji=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function Xi(e,t,n){if(e){let e;try{e=decodeURIComponent(Ki(n)).replace(Gi,"").toLowerCase()}catch(ep){return null}if(0===e.indexOf("javascript:")||0===e.indexOf("vbscript:")||0===e.indexOf("data:"))return null}t&&!Ji.test(n)&&(n=function(e,t){eo[" "+e]||(to.test(e)?eo[" "+e]=e+"/":eo[" "+e]=oo(e,"/",!0));e=eo[" "+e];const n=-1===e.indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(no,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(ro,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(ep){return null}return n}const eo={},to=/^[^:]+:\/*[^/]*$/,no=/^([^:]+:)[\s\S]*$/,ro=/^([^:]+:\/*[^/]*)[\s\S]*$/;const ao={exec:function(){}};function io(e,t){const n=e.replace(/\|/g,((e,t,n)=>{let r=!1,a=t;for(;--a>=0&&"\\"===n[a];)r=!r;return r?"|":" |"})).split(/ \|/);let r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),n.length>t)n.splice(t);else for(;n.length0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:oo(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\s+)(?:```)/);if(null===n)return t;const r=n[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=r.length?e.slice(r.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline._escapes,"$1"):t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=oo(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){const e=t[0].replace(/^ *>[ \t]?/gm,""),n=this.lexer.state.top;this.lexer.state.top=!0;const r=this.lexer.blockTokens(e);return this.lexer.state.top=n,{type:"blockquote",raw:t[0],tokens:r,text:e}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n,r,a,i,o,l,s,c,u,d,h,m,p=t[1].trim();const f=p.length>1,v={type:"list",raw:"",ordered:f,start:f?+p.slice(0,-1):"",loose:!1,items:[]};p=f?"\\d{1,9}\\".concat(p.slice(-1)):"\\".concat(p),this.options.pedantic&&(p=f?p:"[*+-]");const g=new RegExp("^( {0,3}".concat(p,")((?:[\t ][^\\n]*)?(?:\\n|$))"));for(;e&&(m=!1,t=g.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),c=t[2].split("\n",1)[0].replace(/^\t+/,(e=>" ".repeat(3*e.length))),u=e.split("\n",1)[0],this.options.pedantic?(i=2,h=c.trimLeft()):(i=t[2].search(/[^ ]/),i=i>4?1:i,h=c.slice(i),i+=t[1].length),l=!1,!c&&/^ *$/.test(u)&&(n+=u+"\n",e=e.substring(u.length+1),m=!0),!m){const t=new RegExp("^ {0,".concat(Math.min(3,i-1),"}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))")),r=new RegExp("^ {0,".concat(Math.min(3,i-1),"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)")),a=new RegExp("^ {0,".concat(Math.min(3,i-1),"}(?:```|~~~)")),o=new RegExp("^ {0,".concat(Math.min(3,i-1),"}#"));for(;e&&(d=e.split("\n",1)[0],u=d,this.options.pedantic&&(u=u.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!a.test(u))&&!o.test(u)&&!t.test(u)&&!r.test(e);){if(u.search(/[^ ]/)>=i||!u.trim())h+="\n"+u.slice(i);else{if(l)break;if(c.search(/[^ ]/)>=4)break;if(a.test(c))break;if(o.test(c))break;if(r.test(c))break;h+="\n"+u}l||u.trim()||(l=!0),n+=d+"\n",e=e.substring(d.length+1),c=u.slice(i)}}v.loose||(s?v.loose=!0:/\n *\n *$/.test(n)&&(s=!0)),this.options.gfm&&(r=/^\[[ xX]\] /.exec(h),r&&(a="[ ] "!==r[0],h=h.replace(/^\[[ xX]\] +/,""))),v.items.push({type:"list_item",raw:n,task:!!r,checked:a,loose:!1,text:h}),v.raw+=n}v.items[v.items.length-1].raw=n.trimRight(),v.items[v.items.length-1].text=h.trimRight(),v.raw=v.raw.trimRight();const y=v.items.length;for(o=0;o"space"===e.type)),t=e.length>0&&e.some((e=>/\n.*\n/.test(e.raw)));v.loose=t}if(v.loose)for(o=0;o$/,"$1").replace(this.rules.inline._escapes,"$1"):"",r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline._escapes,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:n,title:r}}}table(e){const t=this.rules.block.table.exec(e);if(t){const e={type:"table",header:io(t[1]).map((e=>({text:e}))),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(e.header.length===e.align.length){e.raw=t[0];let n,r,a,i,o=e.align.length;for(n=0;n({text:e})));for(o=e.header.length,r=0;r/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):Yi(t[0]):t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const t=oo(e.slice(0,-1),"\\");if((e.length-t.length)%2===0)return}else{const e=function(e,t){if(-1===e.indexOf(t[1]))return-1;const n=e.length;let r=0,a=0;for(;a-1){const n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],r="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^$/.test(e)?n.slice(1):n.slice(1,-1)),lo(t,{href:n?n.replace(this.rules.inline._escapes,"$1"):n,title:r?r.replace(this.rules.inline._escapes,"$1"):r},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=(n[2]||n[1]).replace(/\s+/g," ");if(e=t[e.toLowerCase()],!e){const e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return lo(n,e,n[0],this.lexer)}}emStrong(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.emStrong.lDelim.exec(e);if(!r)return;if(r[3]&&n.match(/[\p{L}\p{N}]/u))return;if(!(r[1]||r[2]||"")||!n||this.rules.inline.punctuation.exec(n)){const n=r[0].length-1;let a,i,o=n,l=0;const s="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(s.lastIndex=0,t=t.slice(-1*e.length+n);null!=(r=s.exec(t));){if(a=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!a)continue;if(i=a.length,r[3]||r[4]){o+=i;continue}if((r[5]||r[6])&&n%3&&!((n+i)%3)){l+=i;continue}if(o-=i,o>0)continue;i=Math.min(i,i+o+l);const t=e.slice(0,n+r.index+i+1);if(Math.min(n,i)%2){const e=t.slice(1,-1);return{type:"em",raw:t,text:e,tokens:this.lexer.inlineTokens(e)}}const s=t.slice(2,-2);return{type:"strong",raw:t,text:s,tokens:this.lexer.inlineTokens(s)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const n=/[^ ]/.test(e),r=/^ /.test(e)&&/ $/.test(e);return n&&r&&(e=e.substring(1,e.length-1)),e=Yi(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e,t){const n=this.rules.inline.autolink.exec(e);if(n){let e,r;return"@"===n[2]?(e=Yi(this.options.mangle?t(n[1]):n[1]),r="mailto:"+e):(e=Yi(n[1]),r=e),{type:"link",raw:n[0],text:e,href:r,tokens:[{type:"text",raw:e,text:e}]}}}url(e,t){let n;if(n=this.rules.inline.url.exec(e)){let e,r;if("@"===n[2])e=Yi(this.options.mangle?t(n[0]):n[0]),r="mailto:"+e;else{let t;do{t=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(t!==n[0]);e=Yi(n[0]),r="www."===n[1]?"http://"+n[0]:n[0]}return{type:"link",raw:n[0],text:e,href:r,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e,t){const n=this.rules.inline.text.exec(e);if(n){let e;return e=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):Yi(n[0]):n[0]:Yi(this.options.smartypants?t(n[0]):n[0]),{type:"text",raw:n[0],text:e}}}}const co={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:ao,lheading:/^((?:(?!^bull ).|\n(?!\n|bull ))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};co.def=Zi(co.def).replace("label",co._label).replace("title",co._title).getRegex(),co.bullet=/(?:[*+-]|\d{1,9}[.)])/,co.listItemStart=Zi(/^( *)(bull) */).replace("bull",co.bullet).getRegex(),co.list=Zi(co.list).replace(/bull/g,co.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+co.def.source+")").getRegex(),co._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",co._comment=/|$)/,co.html=Zi(co.html,"i").replace("comment",co._comment).replace("tag",co._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),co.lheading=Zi(co.lheading).replace(/bull/g,co.bullet).getRegex(),co.paragraph=Zi(co._paragraph).replace("hr",co.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",co._tag).getRegex(),co.blockquote=Zi(co.blockquote).replace("paragraph",co.paragraph).getRegex(),co.normal={...co},co.gfm={...co.normal,table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"},co.gfm.table=Zi(co.gfm.table).replace("hr",co.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",co._tag).getRegex(),co.gfm.paragraph=Zi(co._paragraph).replace("hr",co.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",co.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",co._tag).getRegex(),co.pedantic={...co.normal,html:Zi("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",co._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:ao,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Zi(co.normal._paragraph).replace("hr",co.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",co.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()};const uo={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:ao,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,rDelimAst:/^[^_*]*?__[^_*]*?\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\*)[punct](\*+)(?=[\s]|$)|[^punct\s](\*+)(?!\*)(?=[punct\s]|$)|(?!\*)[punct\s](\*+)(?=[^punct\s])|[\s](\*+)(?!\*)(?=[punct])|(?!\*)[punct](\*+)(?!\*)(?=[punct])|[^punct\s](\*+)(?=[^punct\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\s]|$)|[^punct\s](_+)(?!_)(?=[punct\s]|$)|(?!_)[punct\s](_+)(?=[^punct\s])|[\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:ao,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}uo._punctuation="\\p{P}$+<=>`^|~",uo.punctuation=Zi(uo.punctuation,"u").replace(/punctuation/g,uo._punctuation).getRegex(),uo.blockSkip=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,uo.anyPunctuation=/\\[punct]/g,uo._escapes=/\\([punct])/g,uo._comment=Zi(co._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),uo.emStrong.lDelim=Zi(uo.emStrong.lDelim,"u").replace(/punct/g,uo._punctuation).getRegex(),uo.emStrong.rDelimAst=Zi(uo.emStrong.rDelimAst,"gu").replace(/punct/g,uo._punctuation).getRegex(),uo.emStrong.rDelimUnd=Zi(uo.emStrong.rDelimUnd,"gu").replace(/punct/g,uo._punctuation).getRegex(),uo.anyPunctuation=Zi(uo.anyPunctuation,"gu").replace(/punct/g,uo._punctuation).getRegex(),uo._escapes=Zi(uo._escapes,"gu").replace(/punct/g,uo._punctuation).getRegex(),uo._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,uo._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,uo.autolink=Zi(uo.autolink).replace("scheme",uo._scheme).replace("email",uo._email).getRegex(),uo._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,uo.tag=Zi(uo.tag).replace("comment",uo._comment).replace("attribute",uo._attribute).getRegex(),uo._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,uo._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,uo._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,uo.link=Zi(uo.link).replace("label",uo._label).replace("href",uo._href).replace("title",uo._title).getRegex(),uo.reflink=Zi(uo.reflink).replace("label",uo._label).replace("ref",co._label).getRegex(),uo.nolink=Zi(uo.nolink).replace("ref",co._label).getRegex(),uo.reflinkSearch=Zi(uo.reflinkSearch,"g").replace("reflink",uo.reflink).replace("nolink",uo.nolink).getRegex(),uo.normal={...uo},uo.pedantic={...uo.normal,strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Zi(/^!?\[(label)\]\((.*?)\)/).replace("label",uo._label).getRegex(),reflink:Zi(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",uo._label).getRegex()},uo.gfm={...uo.normal,escape:Zi(uo.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\1&&void 0!==arguments[1]?arguments[1]:[];for(e=this.options.pedantic?e.replace(/\t/g," ").replace(/^ +$/gm,""):e.replace(/^( *)(\t+)/gm,((e,t,n)=>t+" ".repeat(n.length)));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((n=>!!(t=n.call({lexer:this},e,i))&&(e=e.substring(t.raw.length),i.push(t),!0)))))if(t=this.tokenizer.space(e))e=e.substring(t.raw.length),1===t.raw.length&&i.length>0?i[i.length-1].raw+="\n":i.push(t);else if(t=this.tokenizer.code(e))e=e.substring(t.raw.length),n=i[i.length-1],!n||"paragraph"!==n.type&&"text"!==n.type?i.push(t):(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.fences(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.heading(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.hr(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.blockquote(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.list(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.html(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.def(e))e=e.substring(t.raw.length),n=i[i.length-1],!n||"paragraph"!==n.type&&"text"!==n.type?this.tokens.links[t.tag]||(this.tokens.links[t.tag]={href:t.href,title:t.title}):(n.raw+="\n"+t.raw,n.text+="\n"+t.raw,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.table(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.lheading(e))e=e.substring(t.raw.length),i.push(t);else{if(r=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const n=e.slice(1);let a;this.options.extensions.startBlock.forEach((function(e){a=e.call({lexer:this},n),"number"===typeof a&&a>=0&&(t=Math.min(t,a))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}if(this.state.top&&(t=this.tokenizer.paragraph(r)))n=i[i.length-1],a&&"paragraph"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):i.push(t),a=r.length!==e.length,e=e.substring(t.raw.length);else if(t=this.tokenizer.text(e))e=e.substring(t.raw.length),n=i[i.length-1],n&&"text"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):i.push(t);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,i}inline(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e){let t,n,r,a,i,o,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],s=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(a=this.tokenizer.rules.inline.reflinkSearch.exec(s));)e.includes(a[0].slice(a[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(a=this.tokenizer.rules.inline.blockSkip.exec(s));)s=s.slice(0,a.index)+"["+"a".repeat(a[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(a=this.tokenizer.rules.inline.anyPunctuation.exec(s));)s=s.slice(0,a.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;e;)if(i||(o=""),i=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((n=>!!(t=n.call({lexer:this},e,l))&&(e=e.substring(t.raw.length),l.push(t),!0)))))if(t=this.tokenizer.escape(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.tag(e))e=e.substring(t.raw.length),n=l[l.length-1],n&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(t=this.tokenizer.link(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(t.raw.length),n=l[l.length-1],n&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(t=this.tokenizer.emStrong(e,s,o))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.codespan(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.br(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.del(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.autolink(e,mo))e=e.substring(t.raw.length),l.push(t);else if(this.state.inLink||!(t=this.tokenizer.url(e,mo))){if(r=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const n=e.slice(1);let a;this.options.extensions.startInline.forEach((function(e){a=e.call({lexer:this},n),"number"===typeof a&&a>=0&&(t=Math.min(t,a))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}if(t=this.tokenizer.inlineText(r,ho))e=e.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(o=t.raw.slice(-1)),i=!0,n=l[l.length-1],n&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(t.raw.length),l.push(t);return l}}class fo{constructor(e){this.options=e||Fi}code(e,t,n){const r=(t||"").match(/\S*/)[0];if(this.options.highlight){const t=this.options.highlight(e,r);null!=t&&t!==e&&(n=!0,e=t)}return e=e.replace(/\n$/,"")+"\n",r?'
    '+(n?e:Yi(e,!0))+"
    \n":"
    "+(n?e:Yi(e,!0))+"
    \n"}blockquote(e){return"
    \n".concat(e,"
    \n")}html(e,t){return e}heading(e,t,n,r){if(this.options.headerIds){const a=this.options.headerPrefix+r.slug(n);return"').concat(e,"\n")}return"").concat(e,"\n")}hr(){return this.options.xhtml?"
    \n":"
    \n"}list(e,t,n){const r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"}listitem(e){return"
  • ".concat(e,"
  • \n")}checkbox(e){return" "}paragraph(e){return"

    ".concat(e,"

    \n")}table(e,t){return t&&(t="".concat(t,"")),"\n\n"+e+"\n"+t+"
    \n"}tablerow(e){return"\n".concat(e,"\n")}tablecell(e,t){const n=t.header?"th":"td";return(t.align?"<".concat(n,' align="').concat(t.align,'">'):"<".concat(n,">"))+e+"\n")}strong(e){return"".concat(e,"")}em(e){return"".concat(e,"")}codespan(e){return"".concat(e,"")}br(){return this.options.xhtml?"
    ":"
    "}del(e){return"".concat(e,"")}link(e,t,n){if(null===(e=Xi(this.options.sanitize,this.options.baseUrl,e)))return n;let r='
    ",r}image(e,t,n){if(null===(e=Xi(this.options.sanitize,this.options.baseUrl,e)))return n;let r='').concat(n,'":">",r}text(e){return e}}class vo{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,n){return""+n}image(e,t,n){return""+n}br(){return""}}class go{constructor(){this.seen={}}serialize(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(e,t){let n=e,r=0;if(this.seen.hasOwnProperty(n)){r=this.seen[e];do{r++,n=e+"-"+r}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=r,this.seen[n]=0),n}slug(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)}}class yo{constructor(e){this.options=e||Fi,this.options.renderer=this.options.renderer||new fo,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new vo,this.slugger=new go}static parse(e,t){return new yo(t).parse(e)}static parseInline(e,t){return new yo(t).parseInline(e)}parse(e){let t,n,r,a,i,o,l,s,c,u,d,h,m,p,f,v,g,y,_,b=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],w="";const k=e.length;for(t=0;t0&&"paragraph"===f.tokens[0].type?(f.tokens[0].text=y+" "+f.tokens[0].text,f.tokens[0].tokens&&f.tokens[0].tokens.length>0&&"text"===f.tokens[0].tokens[0].type&&(f.tokens[0].tokens[0].text=y+" "+f.tokens[0].tokens[0].text)):f.tokens.unshift({type:"text",text:y}):p+=y),p+=this.parse(f.tokens,m),c+=this.renderer.listitem(p,g,v);w+=this.renderer.list(c,d,h);continue;case"html":w+=this.renderer.html(u.text,u.block);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(u.tokens));continue;case"text":for(c=u.tokens?this.parseInline(u.tokens):u.text;t+1{"function"===typeof r&&(a=r,r=null);const i={...r};r={...this.defaults,...i};const o=Oi(this,wo,xo).call(this,r.silent,r.async,a);if("undefined"===typeof n||null===n)return o(new Error("marked(): input parameter is undefined or null"));if("string"!==typeof n)return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));if(function(e,t){e&&!e.silent&&(t&&console.warn("marked(): callback is deprecated since version 5.0.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/using_pro#async"),(e.sanitize||e.sanitizer)&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options"),(e.highlight||"language-"!==e.langPrefix)&&console.warn("marked(): highlight and langPrefix parameters are deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-highlight."),e.mangle&&console.warn("marked(): mangle parameter is enabled by default, but is deprecated since version 5.0.0, and will be removed in the future. To clear this warning, install https://www.npmjs.com/package/marked-mangle, or disable by setting `{mangle: false}`."),e.baseUrl&&console.warn("marked(): baseUrl parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-base-url."),e.smartypants&&console.warn("marked(): smartypants parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-smartypants."),e.xhtml&&console.warn("marked(): xhtml parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-xhtml."),(e.headerIds||e.headerPrefix)&&console.warn("marked(): headerIds and headerPrefix parameters enabled by default, but are deprecated since version 5.0.0, and will be removed in the future. To clear this warning, install https://www.npmjs.com/package/marked-gfm-heading-id, or disable by setting `{headerIds: false}`."))}(r,a),r.hooks&&(r.hooks.options=r),a){const i=r.highlight;let l;try{r.hooks&&(n=r.hooks.preprocess(n)),l=e(n,r)}catch(ep){return o(ep)}const s=e=>{let n;if(!e)try{r.walkTokens&&this.walkTokens(l,r.walkTokens),n=t(l,r),r.hooks&&(n=r.hooks.postprocess(n))}catch(ep){e=ep}return r.highlight=i,e?o(e):a(null,n)};if(!i||i.length<3)return s();if(delete r.highlight,!l.length)return s();let c=0;return this.walkTokens(l,(e=>{"code"===e.type&&(c++,setTimeout((()=>{i(e.text,e.lang,((t,n)=>{if(t)return s(t);null!=n&&n!==e.text&&(e.text=n,e.escaped=!0),c--,0===c&&s()}))}),0))})),void(0===c&&s())}if(r.async)return Promise.resolve(r.hooks?r.hooks.preprocess(n):n).then((t=>e(t,r))).then((e=>r.walkTokens?Promise.all(this.walkTokens(e,r.walkTokens)).then((()=>e)):e)).then((e=>t(e,r))).then((e=>r.hooks?r.hooks.postprocess(e):e)).catch(o);try{r.hooks&&(n=r.hooks.preprocess(n));const a=e(n,r);r.walkTokens&&this.walkTokens(a,r.walkTokens);let i=t(a,r);return r.hooks&&(i=r.hooks.postprocess(i)),i}catch(ep){return o(ep)}}}function xo(e,t,n){return r=>{if(r.message+="\nPlease report this to https://github.com/markedjs/marked.",e){const e="

    An error occurred:

    "+Yi(r.message+"",!0)+"
    ";return t?Promise.resolve(e):n?void n(null,e):e}if(t)return Promise.reject(r);if(!n)throw r;n(r)}}const So=new class{constructor(){Pi(this,wo),Pi(this,bo),Di(this,"defaults",{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}),Di(this,"options",this.setOptions),Di(this,"parse",Oi(this,bo,ko).call(this,po.lex,yo.parse)),Di(this,"parseInline",Oi(this,bo,ko).call(this,po.lexInline,yo.parseInline)),Di(this,"Parser",yo),Di(this,"parser",yo.parse),Di(this,"Renderer",fo),Di(this,"TextRenderer",vo),Di(this,"Lexer",po),Di(this,"lexer",po.lex),Di(this,"Tokenizer",so),Di(this,"Slugger",go),Di(this,"Hooks",_o),this.use(...arguments)}walkTokens(e,t){let n=[];for(const r of e)switch(n=n.concat(t.call(this,r)),r.type){case"table":for(const e of r.header)n=n.concat(this.walkTokens(e.tokens,t));for(const e of r.rows)for(const r of e)n=n.concat(this.walkTokens(r.tokens,t));break;case"list":n=n.concat(this.walkTokens(r.items,t));break;default:this.defaults.extensions&&this.defaults.extensions.childTokens&&this.defaults.extensions.childTokens[r.type]?this.defaults.extensions.childTokens[r.type].forEach((e=>{n=n.concat(this.walkTokens(r[e],t))})):r.tokens&&(n=n.concat(this.walkTokens(r.tokens,t)))}return n}use(){const e=this.defaults.extensions||{renderers:{},childTokens:{}};for(var t=arguments.length,n=new Array(t),r=0;r{const n={...t};if(n.async=this.defaults.async||n.async||!1,t.extensions&&(t.extensions.forEach((t=>{if(!t.name)throw new Error("extension name required");if(t.renderer){const n=e.renderers[t.name];e.renderers[t.name]=n?function(){for(var e=arguments.length,r=new Array(e),a=0;a{if(this.defaults.async)return Promise.resolve(t.hooks[n].call(e,a)).then((t=>r.call(e,t)));const i=t.hooks[n].call(e,a);return r.call(e,i)}:e[n]=function(){for(var a=arguments.length,i=new Array(a),o=0;o{const t='$1 target="_blank" class="'.concat("vm-link vm-link_colored",'" $2').concat("https://docs.victoriametrics.com/MetricsQL.html","#");return e.replace(/({var n;const r="h3"===e.tagName.toLowerCase();return t=r?null!==(n=e.textContent)&&void 0!==n?n:"":t,r?null:((e,t)=>{var n;const r=null!==(n=t.textContent)&&void 0!==n?n:"",a=(e=>{const t=[];let n=e.nextElementSibling;for(;n&&"p"===n.tagName.toLowerCase();)n&&t.push(n),n=n.nextElementSibling;return t})(t).map((e=>{var t;return null!==(t=e.outerHTML)&&void 0!==t?t:""})).join("\n");return{type:e,value:r,description:No(a),icon:Et(vr,{})}})(t,e)})).filter(Boolean)},Mo=()=>{const{metricsQLFunctions:e}=Sn(),t=Cn();return(0,r.useEffect)((()=>{e.length||(async()=>{try{const e=await fetch(Eo),n=(e=>{const t=document.createElement("div");t.innerHTML=Co(e);const n=t.querySelectorAll("".concat("h3",", ").concat("h4"));return Ao(n)})(await e.text());t({type:"SET_METRICSQL_FUNCTIONS",payload:n})}catch(ep){console.error("Error fetching or processing the MetricsQL.md file:",ep)}})()}),[]),e},To=e=>{let{value:t,anchorEl:n,caretPosition:a,hasHelperText:o,onSelect:l,onFoundOptions:s}=e;const[c,u]=(0,r.useState)({top:0,left:0}),d=Mo(),h=(0,r.useMemo)((()=>{if(a[0]!==a[1])return{beforeCursor:t,afterCursor:""};return{beforeCursor:t.substring(0,a[0]),afterCursor:t.substring(a[1])}}),[t,a]),m=(0,r.useMemo)((()=>{const e=h.beforeCursor.split("}");return e[e.length-1]}),[h]),p=(0,r.useMemo)((()=>{const e=m.match(/\b[^{}(),\s]+(?={|$)/g);return e?e[0]:""}),[m]),f=(0,r.useMemo)((()=>{const e=m.match(/[a-z_:-][\w\-.:/]*\b(?=\s*(=|!=|=~|!~))/g);return e?e[e.length-1]:""}),[m]),v=(0,r.useMemo)((()=>{if(!h.beforeCursor||h.beforeCursor.endsWith("}")||(e=>{const t=e.split(/\s+/),n=t.length,r=t[n-1],a=t[n-2],i=!r&&(e=>{const t=e.match(/"/g);return!!t&&t.length%2!==0})(e),o=(!r||t.length>1)&&!/([{(),+\-*/^]|\b(?:or|and|unless|default|ifnot|if|group_left|group_right)\b)/.test(a);return i||o})(h.beforeCursor))return ft.empty;const e=/\{[^}]*$/;switch(!0){case new RegExp("(".concat(Ai(p),")?{?.+").concat(Ai(f),'(=|!=|=~|!~)"?([^"]*)$'),"g").test(h.beforeCursor):return ft.labelValue;case e.test(h.beforeCursor):return ft.label;default:return ft.metricsql}}),[h,p,f]),g=(0,r.useMemo)((()=>{const e=h.beforeCursor.match(/([\w_\-.:/]+(?![},]))$/);return e?e[0]:""}),[h.beforeCursor]),{metrics:y,labels:_,labelValues:b,loading:w}=(e=>{let{valueByContext:t,metric:n,label:a,context:o}=e;const{serverUrl:l}=At(),{period:{start:s,end:c}}=pn(),{autocompleteCache:u}=Sn(),d=Cn(),[h,m]=(0,r.useState)(!1),[p,f]=(0,r.useState)(t),v=Ni()(f,500);(0,r.useEffect)((()=>(v(t),v.cancel)),[t,v]);const[g,y]=(0,r.useState)([]),[_,b]=(0,r.useState)([]),[w,k]=(0,r.useState)([]),x=(0,r.useRef)(new AbortController),S=(0,r.useCallback)((e=>{const t=i()(1e3*s).startOf("day").valueOf()/1e3,n=i()(1e3*c).endOf("day").valueOf()/1e3;return new URLSearchParams({...e||{},limit:"".concat(yn),start:"".concat(t),end:"".concat(n)})}),[s,c]),C=(e,t)=>e.map((e=>({value:e,type:"".concat(t),icon:Li[t]}))),E=async e=>{let{value:t,urlSuffix:n,setter:r,type:a,params:i}=e;if(!t&&a===Ti.metric)return;x.current.abort(),x.current=new AbortController;const{signal:o}=x.current,s={type:a,value:t,start:(null===i||void 0===i?void 0:i.get("start"))||"",end:(null===i||void 0===i?void 0:i.get("end"))||"",match:(null===i||void 0===i?void 0:i.get("match[]"))||""};m(!0);try{const e=u.get(s);if(e)return r(C(e,a)),void m(!1);const t=await fetch("".concat(l,"/api/v1/").concat(n,"?").concat(i),{signal:o});if(t.ok){const{data:e}=await t.json();r(C(e,a)),d({type:"SET_AUTOCOMPLETE_CACHE",payload:{key:s,value:e}})}m(!1)}catch(ep){ep instanceof Error&&"AbortError"!==ep.name&&(d({type:"SET_AUTOCOMPLETE_CACHE",payload:{key:s,value:[]}}),m(!1),console.error(ep))}};return(0,r.useEffect)((()=>{const e=o!==ft.metricsql&&o!==ft.empty;if(!l||!n||e)return;y([]);const t=Mi(Ai(n));return E({value:p,urlSuffix:"label/__name__/values",setter:y,type:Ti.metric,params:S({"match[]":'{__name__=~".*'.concat(t,'.*"}')})}),()=>{var e;return null===(e=x.current)||void 0===e?void 0:e.abort()}}),[l,p,o,n]),(0,r.useEffect)((()=>{if(!l||!n||o!==ft.label)return;b([]);const e=Mi(n);return E({value:p,urlSuffix:"labels",setter:b,type:Ti.label,params:S({"match[]":'{__name__="'.concat(e,'"}')})}),()=>{var e;return null===(e=x.current)||void 0===e?void 0:e.abort()}}),[l,p,o,n]),(0,r.useEffect)((()=>{if(!l||!n||!a||o!==ft.labelValue)return;k([]);const e=Mi(n),t=Mi(Ai(p));return E({value:p,urlSuffix:"label/".concat(a,"/values"),setter:k,type:Ti.labelValue,params:S({"match[]":'{__name__="'.concat(e,'", ').concat(a,'=~".*').concat(t,'.*"}')})}),()=>{var e;return null===(e=x.current)||void 0===e?void 0:e.abort()}}),[l,p,o,n,a]),{metrics:g,labels:_,labelValues:w,loading:h}})({valueByContext:g,metric:p,label:f,context:v}),k=(0,r.useMemo)((()=>{switch(v){case ft.metricsql:return[...y,...d];case ft.label:return _;case ft.labelValue:return b;default:return[]}}),[v,y,_,b]),x=(0,r.useCallback)((e=>{const t=h.beforeCursor;let n=h.afterCursor;const r=t.lastIndexOf(g,a[0]),i=r+g.length,o=t.substring(0,r),s=t.substring(i);if(v===ft.labelValue){const t='"',r=/(?:=|!=|=~|!~)$/.test(o);n=n.replace(/^[^\s"|},]*/,""),e="".concat(r?t:"").concat(e)}v===ft.label&&(n=n.replace(/^[^\s=!,{}()"|+\-/*^]*/,"")),v===ft.metricsql&&(n=n.replace(/^[^\s[\]{}()"|+\-/*^]*/,""));const c="".concat(o).concat(e).concat(s).concat(n);l(c,o.length+e.length)}),[h]);return(0,r.useEffect)((()=>{if(!n.current)return void u({top:0,left:0});const e=n.current.querySelector("textarea")||n.current,t=window.getComputedStyle(e),r="".concat(t.getPropertyValue("font-size")),a="".concat(t.getPropertyValue("font-family")),i=parseInt("".concat(t.getPropertyValue("line-height"))),l=document.createElement("div");l.style.font="".concat(r," ").concat(a),l.style.padding=t.getPropertyValue("padding"),l.style.lineHeight="".concat(i,"px"),l.style.width="".concat(e.offsetWidth,"px"),l.style.maxWidth="".concat(e.offsetWidth,"px"),l.style.whiteSpace=t.getPropertyValue("white-space"),l.style.overflowWrap=t.getPropertyValue("overflow-wrap");const s=document.createElement("span");l.appendChild(document.createTextNode(h.beforeCursor)),l.appendChild(s),l.appendChild(document.createTextNode(h.afterCursor)),document.body.appendChild(l);const c=l.getBoundingClientRect(),d=s.getBoundingClientRect(),m=d.left-c.left,p=d.bottom-c.bottom-(o?i:0);u({top:p,left:m}),l.remove(),s.remove()}),[n,a,o]),Et(St.FK,{children:Et(Ci,{loading:w,disabledFullScreen:!0,value:g,options:k,anchor:n,minLength:0,offset:c,onSelect:x,onFoundOptions:s,maxDisplayResults:{limit:gn,message:"Please, specify the query more precisely."}})})},Lo="No match! \nThis query hasn't selected any time series from database.\nEither the requested metrics are missing in the database,\nor there is a typo in series selector.",Po="The shown results are marked as PARTIAL.\nThe result is marked as partial if one or more vmstorage nodes failed to respond to the query.",Oo=e=>{let{value:t,onChange:n,onEnter:a,onArrowUp:i,onArrowDown:o,autocomplete:l,error:s,stats:c,label:u,disabled:d=!1}=e;const{autocompleteQuick:h}=Sn(),{isMobile:m}=Ur(),[p,f]=(0,r.useState)(!1),[v,g]=(0,r.useState)([0,0]),y=(0,r.useRef)(null),[_,b]=(0,r.useState)(l),w=(0,r.useRef)(Ni()(b,500)).current,k=[{show:"0"===(null===c||void 0===c?void 0:c.seriesFetched)&&!c.resultLength,text:Lo},{show:null===c||void 0===c?void 0:c.isPartial,text:Po}].filter((e=>e.show)).map((e=>e.text)).join("");c&&(u="".concat(u," (").concat(c.executionTimeMsec||0,"ms)"));return(0,r.useEffect)((()=>{f(l)}),[h]),(0,r.useEffect)((()=>{b(!1),w(!0)}),[v]),Et("div",{className:"vm-query-editor",ref:y,children:[Et(Da,{value:t,label:u,type:"textarea",autofocus:!m,error:s,warning:k,onKeyDown:e=>{const{key:t,ctrlKey:n,metaKey:r,shiftKey:l}=e,s=(e.target.value||"").split("\n").length>1,c=n||r,u="ArrowDown"===t,d="Enter"===t;"ArrowUp"===t&&c&&(e.preventDefault(),i()),u&&c&&(e.preventDefault(),o()),d&&p&&e.preventDefault(),!d||l||s&&!c||p||(e.preventDefault(),a())},onChange:n,onChangeCaret:e=>{g((t=>t[0]===e[0]&&t[1]===e[1]?t:e))},disabled:d,inputmode:"search",caretPosition:v}),_&&l&&Et(To,{value:t,anchorEl:y,caretPosition:v,hasHelperText:Boolean(k||s),onSelect:(e,t)=>{n(e),g([t,t])},onFoundOptions:e=>{f(!!e.length)}})]})},Io=e=>{let{value:t=!1,disabled:n=!1,label:r,color:a="secondary",fullWidth:i,onChange:o}=e;return Et("div",{className:wr()({"vm-switch":!0,"vm-switch_full-width":i,"vm-switch_disabled":n,"vm-switch_active":t,["vm-switch_".concat(a,"_active")]:t,["vm-switch_".concat(a)]:a}),onClick:()=>{n||o(!t)},children:[Et("div",{className:"vm-switch-track",children:Et("div",{className:"vm-switch-track__thumb"})}),r&&Et("span",{className:"vm-switch__label",children:r})]})},Ro=e=>{let{isMobile:t,hideButtons:n}=e;const{autocomplete:r}=Sn(),a=Cn(),{nocache:i,isTracingEnabled:o}=Ir(),l=Rr();return Sr("keydown",(e=>{const{code:t,ctrlKey:n,altKey:r}=e;"Space"===t&&(n||r)&&(e.preventDefault(),a({type:"SET_AUTOCOMPLETE_QUICK",payload:!0}))})),Et("div",{className:wr()({"vm-additional-settings":!0,"vm-additional-settings_mobile":t}),children:[!(null!==n&&void 0!==n&&n.autocomplete)&&Et(da,{title:Et(St.FK,{children:["Quick tip: ",ya]}),children:Et(Io,{label:"Autocomplete",value:r,onChange:()=>{a({type:"TOGGLE_AUTOCOMPLETE"})},fullWidth:t})}),Et(Io,{label:"Disable cache",value:i,onChange:()=>{l({type:"TOGGLE_NO_CACHE"})},fullWidth:t}),!(null!==n&&void 0!==n&&n.traceQuery)&&Et(Io,{label:"Trace query",value:o,onChange:()=>{l({type:"TOGGLE_QUERY_TRACING"})},fullWidth:t})]})},Do=e=>{const{isMobile:t}=Ur(),n=(0,r.useRef)(null),{value:a,toggle:i,setFalse:o}=na(!1);return t?Et(St.FK,{children:[Et("div",{ref:n,children:Et(ea,{variant:"outlined",startIcon:Et(ur,{}),onClick:i,ariaLabel:"additional the query settings"})}),Et(ta,{open:a,buttonRef:n,placement:"bottom-left",onClose:o,title:"Query settings",children:Et(Ro,{isMobile:t,...e})})]}):Et(Ro,{...e})},zo=(e,t)=>e.length===t.length&&e.every(((e,n)=>e===t[n]));const Fo=()=>{const{showInfoMessage:e}=(0,r.useContext)(Yr);return async(t,n)=>{var r;if(null===(r=navigator)||void 0===r||!r.clipboard)return e({text:"Clipboard not supported",type:"error"}),console.warn("Clipboard not supported"),!1;try{return await navigator.clipboard.writeText(t),n&&e({text:n,type:"success"}),!0}catch(a){return a instanceof Error&&e({text:"".concat(a.name,": ").concat(a.message),type:"error"}),console.warn("Copy failed",a),!1}}},jo=e=>{let{query:t,favorites:n,onRun:a,onToggleFavorite:i}=e;const o=Fo(),l=(0,r.useMemo)((()=>n.includes(t)),[t,n]);return Et("div",{className:"vm-query-history-item",children:[Et("span",{className:"vm-query-history-item__value",children:t}),Et("div",{className:"vm-query-history-item__buttons",children:[Et(da,{title:"Execute query",children:Et(ea,{size:"small",variant:"text",onClick:()=>{a(t)},startIcon:Et(qn,{})})}),Et(da,{title:"Copy query",children:Et(ea,{size:"small",variant:"text",onClick:async()=>{await o(t,"Query has been copied")},startIcon:Et(nr,{})})}),Et(da,{title:l?"Remove Favorite":"Add to Favorites",children:Et(ea,{size:"small",variant:"text",color:l?"warning":"primary",onClick:()=>{i(t,l)},startIcon:Et(l?pr:mr,{})})})]})]})},Ho="saved",Vo="favorite",$o=[{label:"Session history",value:"session"},{label:"Saved history",value:Ho},{label:"Favorite queries",value:Vo}],Uo=e=>{let{handleSelectQuery:t}=e;const{queryHistory:n}=Sn(),{isMobile:a}=Ur(),{value:i,setTrue:o,setFalse:l}=na(!1),[s,c]=(0,r.useState)($o[0].value),[u,d]=(0,r.useState)(vn("QUERY_HISTORY")),[h,m]=(0,r.useState)(vn("QUERY_FAVORITES")),p=(0,r.useMemo)((()=>n.map((e=>e.values.filter((e=>e)).reverse()))),[n]),f=(0,r.useMemo)((()=>{switch(s){case Vo:return h;case Ho:return u;default:return p}}),[s,h,u,p]),v=null===f||void 0===f?void 0:f.every((e=>!e.length)),g=(0,r.useMemo)((()=>s===Vo?"Favorites queries are empty.\nTo see your favorites, mark a query as a favorite.":"Query history is empty.\nTo see the history, please make a query."),[s]),y=e=>n=>{t(n,e),l()},_=(e,t)=>{m((n=>{const r=n[0]||[];return t?[r.filter((t=>t!==e))]:t||r.includes(e)?n:[[...r,e]]}))};return(0,r.useEffect)((()=>{const e=h[0]||[],t=vn("QUERY_FAVORITES")[0]||[];zo(e,t)||Je("QUERY_FAVORITES",JSON.stringify(h))}),[h]),Sr("storage",(()=>{d(vn("QUERY_HISTORY")),m(vn("QUERY_FAVORITES"))})),Et(St.FK,{children:[Et(da,{title:"Show history",children:Et(ea,{color:"primary",variant:"text",onClick:o,startIcon:Et(Hn,{}),ariaLabel:"Show history"})}),i&&Et(ua,{title:"Query history",onClose:l,children:Et("div",{className:wr()({"vm-query-history":!0,"vm-query-history_mobile":a}),children:[Et("div",{className:wr()({"vm-query-history__tabs":!0,"vm-section-header__tabs":!0,"vm-query-history__tabs_mobile":a}),children:Et(Er,{activeItem:s,items:$o,onChange:c})}),Et("div",{className:"vm-query-history-list",children:[v&&Et("div",{className:"vm-query-history-list__no-data",children:g}),f.map(((e,t)=>Et("div",{children:[f.length>1&&Et("div",{className:wr()({"vm-query-history-list__group-title":!0,"vm-query-history-list__group-title_first":0===t}),children:["Query ",t+1]}),e.map(((e,n)=>Et(jo,{query:e,favorites:h.flat(),onRun:y(t),onToggleFavorite:_},n)))]},t))),s===Ho&&!v&&Et("div",{className:"vm-query-history-footer",children:Et(ea,{color:"error",variant:"outlined",size:"small",startIcon:Et(Qn,{}),onClick:()=>{Je("QUERY_HISTORY","")},children:"clear history"})})]})]})})]})},Bo=e=>{let{containerStyles:t,message:n}=e;const{isDarkTheme:r}=At();return Et("div",{className:wr()({"vm-spinner":!0,"vm-spinner_dark":r}),style:t,children:[Et("div",{className:"half-circle-spinner",children:[Et("div",{className:"circle circle-1"}),Et("div",{className:"circle circle-2"})]}),n&&Et("div",{className:"vm-spinner__message",children:n})]})},qo=()=>{const{serverUrl:e}=At(),{isMobile:t}=Ur(),{value:n,setTrue:a,setFalse:i}=na(!1),{query:o}=Sn(),{period:l}=pn(),[s,c]=(0,r.useState)(!1),[u,d]=(0,r.useState)(""),[h,m]=(0,r.useState)(""),[p,f]=(0,r.useState)("");return Et(St.FK,{children:[Et(ea,{color:"secondary",variant:"outlined",onClick:()=>{a(),f(""),URL.revokeObjectURL(h),d(""),m(""),(async()=>{c(!0);try{const t=encodeURIComponent(o[0]||""),n=encodeURIComponent(l.step||Qt(l.end-l.start,!1)),r="".concat(e,"/api/vmanomaly/config.yaml?query=").concat(t,"&step=").concat(n),a=await fetch(r),i=a.headers.get("Content-Type");if(a.ok)if("application/yaml"==i){const e=await a.blob(),t=await e.text();d(t),m(URL.createObjectURL(e))}else f("Response Content-Type is not YAML, does `Server URL` point to VMAnomaly server?");else{const e=await a.text();f(" ".concat(a.status," ").concat(a.statusText,": ").concat(e))}}catch(p){console.error(p),f(String(p))}c(!1)})()},children:"Open Config"}),n&&Et(ua,{title:"Download config",onClose:i,children:Et("div",{className:wr()({"vm-anomaly-config":!0,"vm-anomaly-config_mobile":t}),children:[s&&Et(Bo,{containerStyles:{position:"relative"},message:"Loading config..."}),!s&&p&&Et("div",{className:"vm-anomaly-config-error",children:[Et("div",{className:"vm-anomaly-config-error__icon",children:Et(Rn,{})}),Et("h3",{className:"vm-anomaly-config-error__title",children:"Cannot download config"}),Et("p",{className:"vm-anomaly-config-error__text",children:p})]}),!s&&u&&Et(Da,{value:u,label:"config.yaml",type:"textarea",disabled:!0}),Et("div",{className:"vm-anomaly-config-footer",children:h&&Et("a",{href:h,download:"config.yaml",children:Et(ea,{variant:"contained",startIcon:Et(_r,{}),children:"download"})})})]})})]})},Yo=e=>{let{queryErrors:t,setQueryErrors:n,setHideError:a,stats:i,onHideQuery:o,onRunQuery:l,hideButtons:s}=e;const{isMobile:c}=Ur(),{query:u,queryHistory:d,autocomplete:h,autocompleteQuick:m}=Sn(),p=Cn(),f=fn(),[v,g]=(0,r.useState)(u||[]),[y,_]=(0,r.useState)([]),[b,w]=(0,r.useState)(!1),k=Fa(v),x=(()=>{const{serverUrl:e}=At();return async t=>{try{const n=encodeURIComponent(t),r="".concat(e,"/prettify-query?query=").concat(n),a=await fetch(r);if(200!=a.status)return{query:t,error:"Error requesting /prettify-query, status: "+a.status};const i=await a.json();return"success"!=i.status?{query:t,error:String(i.msg)}:{query:String(i.query),error:""}}catch(ep){return console.error(ep),ep instanceof Error&&"AbortError"!==ep.name?{query:t,error:"".concat(ep.name,": ").concat(ep.message)}:{query:t,error:String(ep)}}}})(),S=()=>{p({type:"SET_QUERY_HISTORY",payload:v.map(((e,t)=>{const n=d[t]||{values:[]},r=e===n.values[n.values.length-1],a=!r&&e?[...n.values,e]:n.values;return a.length>25&&a.shift(),{index:n.values.length-Number(r),values:a}}))}),p({type:"SET_QUERY",payload:v}),f({type:"RUN_QUERY"}),l()},C=(e,t)=>{g((n=>n.map(((n,r)=>r===t?e:n))))},E=(e,t)=>()=>{((e,t)=>{const{index:n,values:r}=d[t],a=n+e;a<0||a>=r.length||(C(r[a]||"",t),p({type:"SET_QUERY_HISTORY_BY_INDEX",payload:{value:{values:r,index:a},queryNumber:t}}))})(e,t)},N=e=>t=>{C(t,e),p({type:"SET_AUTOCOMPLETE_QUICK",payload:!1})},A=e=>()=>{var t;t=e,g((e=>e.filter(((e,n)=>n!==t)))),_((t=>t.includes(e)?t.filter((t=>t!==e)):t.map((t=>t>e?t-1:t))))},M=e=>t=>{((e,t)=>{const{ctrlKey:n,metaKey:r}=e;if(n||r){const e=v.map(((e,t)=>t)).filter((e=>e!==t));_((t=>zo(e,t)?[]:e))}else _((e=>e.includes(t)?e.filter((e=>e!==t)):[...e,t]))})(t,e)};return(0,r.useEffect)((()=>{k&&v.length{o&&o(y)}),[y]),(0,r.useEffect)((()=>{b&&(S(),w(!1))}),[v,b]),(0,r.useEffect)((()=>{g(u||[])}),[u]),Et("div",{className:wr()({"vm-query-configurator":!0,"vm-block":!0,"vm-block_mobile":c}),children:[Et("div",{className:"vm-query-configurator-list",children:v.map(((e,r)=>Et("div",{className:wr()({"vm-query-configurator-list-row":!0,"vm-query-configurator-list-row_disabled":y.includes(r),"vm-query-configurator-list-row_mobile":c}),children:[Et(Oo,{value:v[r],autocomplete:!(null!==s&&void 0!==s&&s.autocomplete)&&(h||m),error:t[r],stats:i[r],onArrowUp:E(-1,r),onArrowDown:E(1,r),onEnter:S,onChange:N(r),label:"Query ".concat(v.length>1?r+1:""),disabled:y.includes(r)}),o&&Et(da,{title:y.includes(r)?"Enable query":"Disable query",children:Et("div",{className:"vm-query-configurator-list-row__button",children:Et(ea,{variant:"text",color:"gray",startIcon:y.includes(r)?Et(er,{}):Et(Xn,{}),onClick:M(r),ariaLabel:"visibility query"})})}),!(null!==s&&void 0!==s&&s.prettify)&&Et(da,{title:"Prettify query",children:Et("div",{className:"vm-query-configurator-list-row__button",children:Et(ea,{variant:"text",color:"gray",startIcon:Et(tr,{}),onClick:async()=>await(async e=>{const t=await x(v[e]);a(!1),C(t.query,e),n((n=>(n[e]=t.error,[...n])))})(r),className:"prettify",ariaLabel:"prettify the query"})})}),v.length>1&&Et(da,{title:"Remove Query",children:Et("div",{className:"vm-query-configurator-list-row__button",children:Et(ea,{variant:"text",color:"error",startIcon:Et(Qn,{}),onClick:A(r),ariaLabel:"remove query"})})})]},r)))}),Et("div",{className:"vm-query-configurator-settings",children:[Et(Do,{hideButtons:s}),Et("div",{className:"vm-query-configurator-settings__buttons",children:[Et(Uo,{handleSelectQuery:(e,t)=>{C(e,t),w(!0)}}),(null===s||void 0===s?void 0:s.anomalyConfig)&&Et(qo,{}),!(null!==s&&void 0!==s&&s.addQuery)&&v.length<4&&Et(ea,{variant:"outlined",onClick:()=>{g((e=>[...e,""]))},startIcon:Et(Zn,{}),children:"Add Query"}),Et(ea,{variant:"contained",onClick:S,startIcon:Et(Bn,{}),children:c?"Execute":"Execute Query"})]})]})]})};let Wo=0;class Ko{constructor(e,t){this.tracing=void 0,this.query=void 0,this.tracingChildren=void 0,this.originalTracing=void 0,this.id=void 0,this.tracing=e,this.originalTracing=JSON.parse(JSON.stringify(e)),this.query=t,this.id=Wo++;const n=e.children||[];this.tracingChildren=n.map((e=>new Ko(e,t)))}get queryValue(){return this.query}get idValue(){return this.id}get children(){return this.tracingChildren}get message(){return this.tracing.message}get duration(){return this.tracing.duration_msec}get JSON(){return JSON.stringify(this.tracing,null,2)}get originalJSON(){return JSON.stringify(this.originalTracing,null,2)}setTracing(e){this.tracing=e;const t=e.children||[];this.tracingChildren=t.map((e=>new Ko(e,this.query)))}setQuery(e){this.query=e}resetTracing(){this.tracing=this.originalTracing}}const Qo=function(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];const{__name__:r,...a}=e.metric,i=t||"".concat(n?"[Query ".concat(e.group,"] "):"").concat(r||"");return 0==Object.keys(a).length?i||"value":"".concat(i,"{").concat(Object.entries(a).map((e=>"".concat(e[0],"=").concat(JSON.stringify(e[1])))).join(", "),"}")},Zo=e=>{switch(e){case"NaN":return NaN;case"Inf":case"+Inf":return 1/0;case"-Inf":return-1/0;default:return parseFloat(e)}},Go=e=>{if(e.length<2)return!1;const t=["le","vmrange"],n=Object.keys(e[0].metric).filter((e=>!t.includes(e))),r=e.every((r=>{const a=Object.keys(r.metric).filter((e=>!t.includes(e)));return n.length===a.length&&a.every((t=>r.metric[t]===e[0].metric[t]))}));return r&&e.every((e=>t.some((t=>t in e.metric))))},Jo=He.anomaly==={NODE_ENV:"production",PUBLIC_URL:".",WDS_SOCKET_HOST:void 0,WDS_SOCKET_PATH:void 0,WDS_SOCKET_PORT:void 0,FAST_REFRESH:!1}.REACT_APP_TYPE,Xo=e=>{let{predefinedQuery:t,visible:n,display:a,customStep:i,hideQuery:o,showAllSeries:l}=e;const{query:s}=Sn(),{period:c}=pn(),{displayType:u,nocache:d,isTracingEnabled:h,seriesLimits:m}=Ir(),{serverUrl:p}=At(),{isHistogram:f}=jr(),[v,g]=(0,r.useState)(!1),[y,_]=(0,r.useState)(),[b,w]=(0,r.useState)(),[k,x]=(0,r.useState)(),[S,C]=(0,r.useState)(),[E,N]=(0,r.useState)([]),[A,M]=(0,r.useState)([]),[T,L]=(0,r.useState)(),[P,O]=(0,r.useState)([]),[I,R]=(0,r.useState)(!1),D=(0,r.useMemo)((()=>{const{end:e,start:t}=c;return Qt(e-t,f)}),[c,f]),z=(0,r.useCallback)(Ni()((async e=>{let{fetchUrl:t,fetchQueue:n,displayType:r,query:a,stateSeriesLimits:i,showAllSeries:o,hideQuery:l}=e;const s=new AbortController;O([...n,s]);try{const e=r===ht.chart,n=o?1/0:+i[r]||1/0;let c=n;const u=[],d=[];let h=1,m=0,p=!1;for await(const r of t){if(null===l||void 0===l?void 0:l.includes(h-1)){N((e=>[...e,""])),M((e=>[...e,{}])),h++;continue}const t=await fetch(r,{signal:s.signal}),i=await t.json();if(t.ok){if(M((e=>[...e,{...null===i||void 0===i?void 0:i.stats,isPartial:null===i||void 0===i?void 0:i.isPartial,resultLength:i.data.result.length}])),N((e=>[...e,""])),i.trace){const e=new Ko(i.trace,a[h-1]);d.push(e)}p=!Jo&&e&&Go(i.data.result),c=p?1/0:n;const t=c-u.length;i.data.result.slice(0,t).forEach((e=>{e.group=h,u.push(e)})),m+=i.data.result.length}else{u.push({metric:{},values:[],group:h});const e=i.errorType||mt.unknownType,t=[e,(null===i||void 0===i?void 0:i.error)||(null===i||void 0===i?void 0:i.message)||"see console for more details"].join(",\r\n");N((e=>[...e,"".concat(t)])),console.error("Fetch query error: ".concat(e),i)}h++}const f="Showing ".concat(u.length," series out of ").concat(m," series due to performance reasons. Please narrow down the query, so it returns less series");L(m>c?f:""),e?_(u):w(u),x(d),R((e=>m?p:e))}catch(ep){const t=ep;if("AbortError"===t.name)return;const n="Please check your serverURL settings and confirm server availability.";let r="Error executing query: ".concat(t.message,". ").concat(n);"Unexpected end of JSON input"===t.message&&(r+="\nAdditionally, this error can occur if the server response is too large to process. Apply more specific filters to reduce the data volume."),C(r)}g(!1)}),300),[]),F=(0,r.useMemo)((()=>{C(""),N([]),M([]);const e=null!==t&&void 0!==t?t:s,n=(a||u)===ht.chart;if(c)if(p)if(e.every((e=>!e.trim())))N(e.map((()=>mt.validQuery)));else{if(_t(p)){const t={...c};return t.step=i,e.map((e=>n?((e,t,n,r,a)=>"".concat(e,"/api/v1/query_range?query=").concat(encodeURIComponent(t),"&start=").concat(n.start,"&end=").concat(n.end,"&step=").concat(n.step).concat(r?"&nocache=1":"").concat(a?"&trace=1":""))(p,e,t,d,h):((e,t,n,r,a)=>"".concat(e,"/api/v1/query?query=").concat(encodeURIComponent(t),"&time=").concat(n.end,"&step=").concat(n.step).concat(r?"&nocache=1":"").concat(a?"&trace=1":""))(p,e,t,d,h)))}C(mt.validServer)}else C(mt.emptyServer)}),[p,c,u,i,o]),[j,H]=(0,r.useState)([]);return(0,r.useEffect)((()=>{const e=F===j&&!!t;if(!n||null===F||void 0===F||!F.length||e)return;g(!0);z({fetchUrl:F,fetchQueue:P,displayType:a||u,query:null!==t&&void 0!==t?t:s,stateSeriesLimits:m,showAllSeries:l,hideQuery:o}),H(F)}),[F,n,m,l]),(0,r.useEffect)((()=>{const e=P.slice(0,-1);e.length&&(e.map((e=>e.abort())),O(P.filter((e=>!e.signal.aborted))))}),[P]),(0,r.useEffect)((()=>{D===i&&_([])}),[I]),{fetchUrl:F,isLoading:v,graphData:y,liveData:b,error:S,queryErrors:E,setQueryErrors:N,queryStats:A,warning:T,traces:k,isHistogram:I}},el=()=>{const{tenantId:e}=At(),{displayType:t}=Ir(),{query:n}=Sn(),{duration:a,relativeTime:i,period:{date:o,step:l}}=pn(),{customStep:s}=jr(),[c,u]=je(),d=Mt(),h=fn(),m=Hr(),p=Cn(),f=Rr(),[v,g]=(0,r.useState)(!1),y=(0,r.useCallback)((()=>{if(v)return void g(!1);const r=new URLSearchParams(c);n.forEach(((n,u)=>{var d;const h="g".concat(u);c.get("".concat(h,".expr"))!==n&&n&&r.set("".concat(h,".expr"),n),c.get("".concat(h,".range_input"))!==a&&r.set("".concat(h,".range_input"),a),c.get("".concat(h,".end_input"))!==o&&r.set("".concat(h,".end_input"),o),c.get("".concat(h,".relative_time"))!==i&&r.set("".concat(h,".relative_time"),i||"none");const m=c.get("".concat(h,".step_input"))||l;m&&m!==s&&r.set("".concat(h,".step_input"),s);const p="".concat((null===(d=Nr.find((e=>e.value===t)))||void 0===d?void 0:d.prometheusCode)||0);c.get("".concat(h,".tab"))!==p&&r.set("".concat(h,".tab"),"".concat(p)),c.get("".concat(h,".tenantID"))!==e&&e&&r.set("".concat(h,".tenantID"),e)})),!((e,t)=>{if(Array.from(e.entries()).length!==Array.from(t.entries()).length)return!1;for(const[n,r]of e)if(t.get(n)!==r)return!1;return!0})(r,c)&&r.size&&u(r)}),[e,t,n,a,i,o,l,s]);(0,r.useEffect)((()=>{const e=setTimeout(y,200);return()=>clearTimeout(e)}),[y]),(0,r.useEffect)((()=>{if(!v)return;const r=un(),u=r.duration!==a,g=r.relativeTime!==i,y="none"===r.relativeTime&&r.period.date!==o;(u||g||y)&&h({type:"SET_TIME_STATE",payload:r});const _=Mr();_!==t&&f({type:"SET_DISPLAY_TYPE",payload:_});const b=c.get("g0.tenantID")||"";b!==e&&d({type:"SET_TENANT_ID",payload:b});const w=ut();zo(w,n)||(p({type:"SET_QUERY",payload:w}),h({type:"RUN_QUERY"}));const k=setTimeout((()=>{const e=c.get("g0.step_input")||l;e&&e!==s&&m({type:"SET_CUSTOM_STEP",payload:e})}),50);return()=>clearTimeout(k)}),[c,v]),Sr("popstate",(()=>{g(!0)}))},tl=e=>{let{text:t,href:n,children:r,colored:a=!0,underlined:i=!1,withIcon:o=!1}=e;return Et("a",{href:n,className:wr()({"vm-link":!0,"vm-link_colored":a,"vm-link_underlined":i,"vm-link_with-icon":o}),target:"_blank",rel:"noreferrer",children:t||r})},nl=Et(tl,{text:"last_over_time",href:"https://docs.victoriametrics.com/MetricsQL.html#last_over_time",underlined:!0}),rl=Et(tl,{text:"instant query",href:"https://docs.victoriametrics.com/keyConcepts.html#instant-query",underlined:!0}),al=()=>Et("div",{children:[Et("p",{children:["This tab shows ",rl," results for the last 5 minutes ending at the selected time range."]}),Et("p",{children:["Please wrap the query into ",nl," if you need results over arbitrary lookbehind interval."]})]}),il=e=>{let{value:t}=e;return Et("div",{className:"vm-line-progress",children:[Et("div",{className:"vm-line-progress-track",children:Et("div",{className:"vm-line-progress-track__thumb",style:{width:"".concat(t,"%")}})}),Et("span",{children:[t.toFixed(2),"%"]})]})},ol=e=>{let{isRoot:t,trace:n,totalMsec:a,isExpandedAll:i}=e;const{isDarkTheme:o}=At(),{isMobile:l}=Ur(),[s,c]=(0,r.useState)({}),u=(0,r.useRef)(null),[d,h]=(0,r.useState)(!1),[m,p]=(0,r.useState)(!1),f=qt(n.duration/1e3)||"".concat(n.duration,"ms");(0,r.useEffect)((()=>{if(!u.current)return;const e=u.current,t=u.current.children[0],{height:n}=t.getBoundingClientRect();h(n>e.clientHeight)}),[n]);const v=n.children&&!!n.children.length,g=n.duration/a*100,y=e=>{var t;const n=[e.idValue];return null===e||void 0===e||null===(t=e.children)||void 0===t||t.forEach((e=>{n.push(...y(e))})),n};return(0,r.useEffect)((()=>{if(!i)return void c([]);const e=y(n),t={};e.forEach((e=>{t[e]=!0})),c(t)}),[i]),Et("div",{className:wr()({"vm-nested-nav":!0,"vm-nested-nav_root":t,"vm-nested-nav_dark":o,"vm-nested-nav_mobile":l}),children:[Et("div",{className:wr()({"vm-nested-nav-header":!0,"vm-nested-nav-header_open":s[n.idValue]}),onClick:(_=n.idValue,()=>{v&&c((e=>({...e,[_]:!e[_]})))}),children:[v&&Et("div",{className:wr()({"vm-nested-nav-header__icon":!0,"vm-nested-nav-header__icon_open":s[n.idValue]}),children:Et(Fn,{})}),Et("div",{className:"vm-nested-nav-header__progress",children:Et(il,{value:g})}),Et("div",{className:wr()({"vm-nested-nav-header__message":!0,"vm-nested-nav-header__message_show-full":m}),ref:u,children:[Et("span",{className:"vm-nested-nav-header__message_duration",children:f}),":\xa0",Et("span",{children:n.message})]}),Et("div",{className:"vm-nested-nav-header-bottom",children:(d||m)&&Et(ea,{variant:"text",size:"small",onClick:e=>{e.stopPropagation(),p((e=>!e))},children:m?"Hide":"Show full query"})})]}),s[n.idValue]&&Et("div",{className:"vm-nested-nav__childrens",children:v&&n.children.map((e=>Et(ol,{trace:e,totalMsec:a,isExpandedAll:i},e.duration)))})]});var _},ll=ol,sl=e=>{let{editable:t=!1,defaultTile:n="JSON",displayTitle:a=!0,defaultJson:i="",resetValue:o="",onClose:l,onUpload:s}=e;const c=Fo(),{isMobile:u}=Ur(),[d,h]=(0,r.useState)(i),[m,p]=(0,r.useState)(n),[f,v]=(0,r.useState)(""),[g,y]=(0,r.useState)(""),_=(0,r.useMemo)((()=>{try{const e=JSON.parse(d),t=e.trace||e;return t.duration_msec?(new Ko(t,""),""):mt.traceNotFound}catch(ep){return ep instanceof Error?ep.message:"Unknown error"}}),[d]),b=()=>{y(_);m.trim()||v(mt.emptyTitle),_||f||(s(d,m),l())};return Et("div",{className:wr()({"vm-json-form":!0,"vm-json-form_one-field":!a,"vm-json-form_one-field_mobile":!a&&u,"vm-json-form_mobile":u}),children:[a&&Et(Da,{value:m,label:"Title",error:f,onEnter:b,onChange:e=>{p(e)}}),Et(Da,{value:d,label:"JSON",type:"textarea",error:g,autofocus:!0,onChange:e=>{y(""),h(e)},onEnter:b,disabled:!t}),Et("div",{className:"vm-json-form-footer",children:[Et("div",{className:"vm-json-form-footer__controls",children:[Et(ea,{variant:"outlined",startIcon:Et(nr,{}),onClick:async()=>{await c(d,"Formatted JSON has been copied")},children:"Copy JSON"}),o&&Et(ea,{variant:"text",startIcon:Et(Pn,{}),onClick:()=>{h(o)},children:"Reset JSON"})]}),Et("div",{className:"vm-json-form-footer__controls vm-json-form-footer__controls_right",children:[Et(ea,{variant:"outlined",color:"error",onClick:l,children:"Cancel"}),Et(ea,{variant:"contained",onClick:b,children:"apply"})]})]})]})},cl=e=>{let{traces:t,jsonEditor:n=!1,onDeleteClick:a}=e;const{isMobile:i}=Ur(),[o,l]=(0,r.useState)(null),[s,c]=(0,r.useState)([]),u=()=>{l(null)};if(!t.length)return Et(qr,{variant:"info",children:"Please re-run the query to see results of the tracing"});const d=e=>()=>{a(e)},h=e=>()=>{l(e)},m=e=>()=>{const t=new Blob([e.originalJSON],{type:"application/json"}),n=URL.createObjectURL(t),r=document.createElement("a");r.href=n,r.download="vmui_trace_".concat(e.queryValue,".json"),document.body.appendChild(r),r.click(),document.body.removeChild(r),URL.revokeObjectURL(n)};return Et(St.FK,{children:[Et("div",{className:"vm-tracings-view",children:t.map((e=>{return Et("div",{className:"vm-tracings-view-trace vm-block vm-block_empty-padding",children:[Et("div",{className:"vm-tracings-view-trace-header",children:[Et("h3",{className:"vm-tracings-view-trace-header-title",children:["Trace for ",Et("b",{className:"vm-tracings-view-trace-header-title__query",children:e.queryValue})]}),Et(da,{title:s.includes(e.idValue)?"Collapse All":"Expand All",children:Et(ea,{variant:"text",startIcon:Et("div",{className:wr()({"vm-tracings-view-trace-header__expand-icon":!0,"vm-tracings-view-trace-header__expand-icon_open":s.includes(e.idValue)}),children:Et(Fn,{})}),onClick:(t=e,()=>{c((e=>e.includes(t.idValue)?e.filter((e=>e!==t.idValue)):[...e,t.idValue]))}),ariaLabel:s.includes(e.idValue)?"Collapse All":"Expand All"})}),Et(da,{title:"Save Trace to JSON",children:Et(ea,{variant:"text",startIcon:Et(_r,{}),onClick:m(e),ariaLabel:"Save trace to JSON"})}),Et(da,{title:"Open JSON",children:Et(ea,{variant:"text",startIcon:Et(Kn,{}),onClick:h(e),ariaLabel:"open JSON"})}),Et(da,{title:"Remove trace",children:Et(ea,{variant:"text",color:"error",startIcon:Et(Qn,{}),onClick:d(e),ariaLabel:"remove trace"})})]}),Et("nav",{className:wr()({"vm-tracings-view-trace__nav":!0,"vm-tracings-view-trace__nav_mobile":i}),children:Et(ll,{isRoot:!0,trace:e,totalMsec:e.duration,isExpandedAll:s.includes(e.idValue)})})]},e.idValue);var t}))}),o&&Et(ua,{title:o.queryValue,onClose:u,children:Et(sl,{editable:n,displayTitle:n,defaultTile:o.queryValue,defaultJson:o.JSON,resetValue:o.originalJSON,onClose:u,onUpload:(e,t)=>{if(n&&o)try{o.setTracing(JSON.parse(e)),o.setQuery(t),l(null)}catch(ep){console.error(ep)}}})})]})},ul=e=>{let{traces:t,displayType:n}=e;const{isTracingEnabled:a}=Ir(),[i,o]=(0,r.useState)([]);return(0,r.useEffect)((()=>{t&&o([...i,...t])}),[t]),(0,r.useEffect)((()=>{o([])}),[n]),Et(St.FK,{children:a&&Et("div",{className:"vm-custom-panel__trace",children:Et(cl,{traces:i,onDeleteClick:e=>{const t=i.filter((t=>t.idValue!==e.idValue));o([...t])}})})})},dl=e=>{let{warning:t,query:n,onChange:a}=e;const{isMobile:i}=Ur(),{value:o,setTrue:l,setFalse:s}=na(!1);return(0,r.useEffect)(s,[n]),(0,r.useEffect)((()=>{a(o)}),[o]),Et(qr,{variant:"warning",children:Et("div",{className:wr()({"vm-custom-panel__warning":!0,"vm-custom-panel__warning_mobile":i}),children:[Et("p",{children:t}),Et(ea,{color:"warning",variant:"outlined",onClick:l,children:"Show all"})]})})},hl="u-off",ml="u-label",pl="width",fl="height",vl="top",gl="bottom",yl="left",_l="right",bl="#000",wl=bl+"0",kl="mousemove",xl="mousedown",Sl="mouseup",Cl="mouseenter",El="mouseleave",Nl="dblclick",Al="change",Ml="dppxchange",Tl="--",Ll="undefined"!=typeof window,Pl=Ll?document:null,Ol=Ll?window:null,Il=Ll?navigator:null;let Rl,Dl;function zl(e,t){if(null!=t){let n=e.classList;!n.contains(t)&&n.add(t)}}function Fl(e,t){let n=e.classList;n.contains(t)&&n.remove(t)}function jl(e,t,n){e.style[t]=n+"px"}function Hl(e,t,n,r){let a=Pl.createElement(e);return null!=t&&zl(a,t),null!=n&&n.insertBefore(a,r),a}function Vl(e,t){return Hl("div",e,t)}const $l=new WeakMap;function Ul(e,t,n,r,a){let i="translate("+t+"px,"+n+"px)";i!=$l.get(e)&&(e.style.transform=i,$l.set(e,i),t<0||n<0||t>r||n>a?zl(e,hl):Fl(e,hl))}const Bl=new WeakMap;function ql(e,t,n){let r=t+n;r!=Bl.get(e)&&(Bl.set(e,r),e.style.background=t,e.style.borderColor=n)}const Yl=new WeakMap;function Wl(e,t,n,r){let a=t+""+n;a!=Yl.get(e)&&(Yl.set(e,a),e.style.height=n+"px",e.style.width=t+"px",e.style.marginLeft=r?-t/2+"px":0,e.style.marginTop=r?-n/2+"px":0)}const Kl={passive:!0},Ql={...Kl,capture:!0};function Zl(e,t,n,r){t.addEventListener(e,n,r?Ql:Kl)}function Gl(e,t,n,r){t.removeEventListener(e,n,r?Ql:Kl)}function Jl(e,t,n,r){let a;n=n||0;let i=(r=r||t.length-1)<=2147483647;for(;r-n>1;)a=i?n+r>>1:ps((n+r)/2),t[a]=t&&a<=n;a+=r)if(null!=e[a])return a;return-1}function es(e,t,n,r){let a=bs(e),i=bs(t);e==t&&(-1==a?(e*=n,t/=n):(e/=n,t*=n));let o=10==n?ws:ks,l=1==i?vs:ps,s=(1==a?ps:vs)(o(ms(e))),c=l(o(ms(t))),u=_s(n,s),d=_s(n,c);return 10==n&&(s<0&&(u=zs(u,-s)),c<0&&(d=zs(d,-c))),r||2==n?(e=u*a,t=d*i):(e=Ds(e,u),t=Rs(t,d)),[e,t]}function ts(e,t,n,r){let a=es(e,t,n,r);return 0==e&&(a[0]=0),0==t&&(a[1]=0),a}Ll&&function e(){let t=devicePixelRatio;Rl!=t&&(Rl=t,Dl&&Gl(Al,Dl,e),Dl=matchMedia("(min-resolution: ".concat(Rl-.001,"dppx) and (max-resolution: ").concat(Rl+.001,"dppx)")),Zl(Al,Dl,e),Ol.dispatchEvent(new CustomEvent(Ml)))}();const ns=.1,rs={mode:3,pad:ns},as={pad:0,soft:null,mode:0},is={min:as,max:as};function os(e,t,n,r){return Ws(n)?ss(e,t,n):(as.pad=n,as.soft=r?0:null,as.mode=r?3:0,ss(e,t,is))}function ls(e,t){return null==e?t:e}function ss(e,t,n){let r=n.min,a=n.max,i=ls(r.pad,0),o=ls(a.pad,0),l=ls(r.hard,-Ss),s=ls(a.hard,Ss),c=ls(r.soft,Ss),u=ls(a.soft,-Ss),d=ls(r.mode,0),h=ls(a.mode,0),m=t-e,p=ws(m),f=ys(ms(e),ms(t)),v=ws(f),g=ms(v-p);(m<1e-9||g>10)&&(m=0,0!=e&&0!=t||(m=1e-9,2==d&&c!=Ss&&(i=0),2==h&&u!=-Ss&&(o=0)));let y=m||f||1e3,_=ws(y),b=_s(10,ps(_)),w=zs(Ds(e-y*(0==m?0==e?.1:1:i),b/10),9),k=e>=c&&(1==d||3==d&&w<=c||2==d&&w>=c)?c:Ss,x=ys(l,w=k?k:gs(k,w)),S=zs(Rs(t+y*(0==m?0==t?.1:1:o),b/10),9),C=t<=u&&(1==h||3==h&&S>=u||2==h&&S<=u)?u:-Ss,E=gs(s,S>C&&t<=C?C:ys(C,S));return x==E&&0==x&&(E=100),[x,E]}const cs=new Intl.NumberFormat(Ll?Il.language:"en-US"),us=e=>cs.format(e),ds=Math,hs=ds.PI,ms=ds.abs,ps=ds.floor,fs=ds.round,vs=ds.ceil,gs=ds.min,ys=ds.max,_s=ds.pow,bs=ds.sign,ws=ds.log10,ks=ds.log2,xs=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return ds.asinh(e/t)},Ss=1/0;function Cs(e){return 1+(0|ws((e^e>>31)-(e>>31)))}function Es(e,t,n){return gs(ys(e,t),n)}function Ns(e){return"function"==typeof e?e:()=>e}const As=e=>e,Ms=(e,t)=>t,Ts=e=>null,Ls=e=>!0,Ps=(e,t)=>e==t,Os=e=>zs(e,14);function Is(e,t){return Os(zs(Os(e/t))*t)}function Rs(e,t){return Os(vs(Os(e/t))*t)}function Ds(e,t){return Os(ps(Os(e/t))*t)}function zs(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(qs(e))return e;let n=10**t,r=e*n*(1+Number.EPSILON);return fs(r)/n}const Fs=new Map;function js(e){return((""+e).split(".")[1]||"").length}function Hs(e,t,n,r){let a=[],i=r.map(js);for(let o=t;o=0&&o>=0?0:t)+(o>=i[e]?0:i[e]),c=zs(l,s);a.push(c),Fs.set(c,s)}}return a}const Vs={},$s=[],Us=[null,null],Bs=Array.isArray,qs=Number.isInteger;function Ys(e){return"string"==typeof e}function Ws(e){let t=!1;if(null!=e){let n=e.constructor;t=null==n||n==Object}return t}function Ks(e){return null!=e&&"object"==typeof e}const Qs=Object.getPrototypeOf(Uint8Array);function Zs(e){let t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ws;if(Bs(e)){let r=e.find((e=>null!=e));if(Bs(r)||n(r)){t=Array(e.length);for(let r=0;ri){for(r=o-1;r>=0&&null==e[r];)e[r--]=null;for(r=o+1;rPromise.resolve().then(e):queueMicrotask;const ec=["January","February","March","April","May","June","July","August","September","October","November","December"],tc=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];function nc(e){return e.slice(0,3)}const rc=tc.map(nc),ac=ec.map(nc),ic={MMMM:ec,MMM:ac,WWWW:tc,WWW:rc};function oc(e){return(e<10?"0":"")+e}const lc={YYYY:e=>e.getFullYear(),YY:e=>(e.getFullYear()+"").slice(2),MMMM:(e,t)=>t.MMMM[e.getMonth()],MMM:(e,t)=>t.MMM[e.getMonth()],MM:e=>oc(e.getMonth()+1),M:e=>e.getMonth()+1,DD:e=>oc(e.getDate()),D:e=>e.getDate(),WWWW:(e,t)=>t.WWWW[e.getDay()],WWW:(e,t)=>t.WWW[e.getDay()],HH:e=>oc(e.getHours()),H:e=>e.getHours(),h:e=>{let t=e.getHours();return 0==t?12:t>12?t-12:t},AA:e=>e.getHours()>=12?"PM":"AM",aa:e=>e.getHours()>=12?"pm":"am",a:e=>e.getHours()>=12?"p":"a",mm:e=>oc(e.getMinutes()),m:e=>e.getMinutes(),ss:e=>oc(e.getSeconds()),s:e=>e.getSeconds(),fff:e=>{return((t=e.getMilliseconds())<10?"00":t<100?"0":"")+t;var t}};function sc(e,t){t=t||ic;let n,r=[],a=/\{([a-z]+)\}|[^{]+/gi;for(;n=a.exec(e);)r.push("{"==n[0][0]?lc[n[1]]:n[0]);return e=>{let n="";for(let a=0;ae%1==0,dc=[1,2,2.5,5],hc=Hs(10,-16,0,dc),mc=Hs(10,0,16,dc),pc=mc.filter(uc),fc=hc.concat(mc),vc="{YYYY}",gc="\n"+vc,yc="{M}/{D}",_c="\n"+yc,bc=_c+"/{YY}",wc="{aa}",kc="{h}:{mm}"+wc,xc="\n"+kc,Sc=":{ss}",Cc=null;function Ec(e){let t=1e3*e,n=60*t,r=60*n,a=24*r,i=30*a,o=365*a;return[(1==e?Hs(10,0,3,dc).filter(uc):Hs(10,-3,0,dc)).concat([t,5*t,10*t,15*t,30*t,n,5*n,10*n,15*n,30*n,r,2*r,3*r,4*r,6*r,8*r,12*r,a,2*a,3*a,4*a,5*a,6*a,7*a,8*a,9*a,10*a,15*a,i,2*i,3*i,4*i,6*i,o,2*o,5*o,10*o,25*o,50*o,100*o]),[[o,vc,Cc,Cc,Cc,Cc,Cc,Cc,1],[28*a,"{MMM}",gc,Cc,Cc,Cc,Cc,Cc,1],[a,yc,gc,Cc,Cc,Cc,Cc,Cc,1],[r,"{h}"+wc,bc,Cc,_c,Cc,Cc,Cc,1],[n,kc,bc,Cc,_c,Cc,Cc,Cc,1],[t,Sc,bc+" "+kc,Cc,_c+" "+kc,Cc,xc,Cc,1],[e,Sc+".{fff}",bc+" "+kc,Cc,_c+" "+kc,Cc,xc,Cc,1]],function(t){return(l,s,c,u,d,h)=>{let m=[],p=d>=o,f=d>=i&&d=a?a:d,o=_+(ps(c)-ps(g))+Rs(g-_,i);m.push(o);let p=t(o),f=p.getHours()+p.getMinutes()/n+p.getSeconds()/r,v=d/r,y=h/l.axes[s]._space;for(;o=zs(o+d,1==e?0:3),!(o>u);)if(v>1){let e=ps(zs(f+v,6))%24,n=t(o).getHours()-e;n>1&&(n=-1),o-=n*r,f=(f+v)%24,zs((o-m[m.length-1])/d,3)*y>=.7&&m.push(o)}else m.push(o)}return m}}]}const[Nc,Ac,Mc]=Ec(1),[Tc,Lc,Pc]=Ec(.001);function Oc(e,t){return e.map((e=>e.map(((n,r)=>0==r||8==r||null==n?n:t(1==r||0==e[8]?n:e[1]+n)))))}function Ic(e,t){return(n,r,a,i,o)=>{let l,s,c,u,d,h,m=t.find((e=>o>=e[0]))||t[t.length-1];return r.map((t=>{let n=e(t),r=n.getFullYear(),a=n.getMonth(),i=n.getDate(),o=n.getHours(),p=n.getMinutes(),f=n.getSeconds(),v=r!=l&&m[2]||a!=s&&m[3]||i!=c&&m[4]||o!=u&&m[5]||p!=d&&m[6]||f!=h&&m[7]||m[1];return l=r,s=a,c=i,u=o,d=p,h=f,v(n)}))}}function Rc(e,t,n){return new Date(e,t,n)}function Dc(e,t){return t(e)}Hs(2,-53,53,[1]);function zc(e,t){return(n,r,a,i)=>null==i?Tl:t(e(r))}const Fc={show:!0,live:!0,isolate:!1,mount:()=>{},markers:{show:!0,width:2,stroke:function(e,t){let n=e.series[t];return n.width?n.stroke(e,t):n.points.width?n.points.stroke(e,t):null},fill:function(e,t){return e.series[t].fill(e,t)},dash:"solid"},idx:null,idxs:null,values:[]};const jc=[0,0];function Hc(e,t,n){let r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return e=>{0==e.button&&(!r||e.target==t)&&n(e)}}function Vc(e,t,n){let r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return e=>{(!r||e.target==t)&&n(e)}}const $c={show:!0,x:!0,y:!0,lock:!1,move:function(e,t,n){return jc[0]=t,jc[1]=n,jc},points:{show:function(e,t){let n=e.cursor.points,r=Vl(),a=n.size(e,t);jl(r,pl,a),jl(r,fl,a);let i=a/-2;jl(r,"marginLeft",i),jl(r,"marginTop",i);let o=n.width(e,t,a);return o&&jl(r,"borderWidth",o),r},size:function(e,t){return e.series[t].points.size},width:0,stroke:function(e,t){let n=e.series[t].points;return n._stroke||n._fill},fill:function(e,t){let n=e.series[t].points;return n._fill||n._stroke}},bind:{mousedown:Hc,mouseup:Hc,click:Hc,dblclick:Hc,mousemove:Vc,mouseleave:Vc,mouseenter:Vc},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,click:(e,t)=>{t.stopPropagation(),t.stopImmediatePropagation()},_x:!1,_y:!1},focus:{dist:(e,t,n,r,a)=>r-a,prox:-1,bias:0},hover:{skip:[void 0],prox:null,bias:0},left:-10,top:-10,idx:null,dataIdx:null,idxs:null,event:null},Uc={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},Bc=Gs({},Uc,{filter:Ms}),qc=Gs({},Bc,{size:10}),Yc=Gs({},Uc,{show:!1}),Wc='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',Kc="bold "+Wc,Qc={show:!0,scale:"x",stroke:bl,space:50,gap:5,size:50,labelGap:0,labelSize:30,labelFont:Kc,side:2,grid:Bc,ticks:qc,border:Yc,font:Wc,lineGap:1.5,rotate:0},Zc={show:!0,scale:"x",auto:!1,sorted:1,min:Ss,max:-Ss,idxs:[]};function Gc(e,t,n,r,a){return t.map((e=>null==e?"":us(e)))}function Jc(e,t,n,r,a,i,o){let l=[],s=Fs.get(a)||0;for(let c=n=o?n:zs(Rs(n,a),s);c<=r;c=zs(c+a,s))l.push(Object.is(c,-0)?0:c);return l}function Xc(e,t,n,r,a,i,o){const l=[],s=e.scales[e.axes[t].scale].log,c=ps((10==s?ws:ks)(n));a=_s(s,c),10==s&&c<0&&(a=zs(a,-c));let u=n;do{l.push(u),u+=a,10==s&&(u=zs(u,Fs.get(a))),u>=a*s&&(a=u)}while(u<=r);return l}function eu(e,t,n,r,a,i,o){let l=e.scales[e.axes[t].scale].asinh,s=r>l?Xc(e,t,ys(l,n),r,a):[l],c=r>=0&&n<=0?[0]:[];return(n<-l?Xc(e,t,ys(l,-r),-n,a):[l]).reverse().map((e=>-e)).concat(c,s)}const tu=/./,nu=/[12357]/,ru=/[125]/,au=/1/,iu=(e,t,n,r)=>e.map(((e,a)=>4==t&&0==e||a%r==0&&n.test(e.toExponential()[e<0?1:0])?e:null));function ou(e,t,n,r,a){let i=e.axes[n],o=i.scale,l=e.scales[o],s=e.valToPos,c=i._space,u=s(10,o),d=s(9,o)-u>=c?tu:s(7,o)-u>=c?nu:s(5,o)-u>=c?ru:au;if(d==au){let e=ms(s(1,o)-u);if(ea,hu={show:!0,auto:!0,sorted:0,gaps:du,alpha:1,facets:[Gs({},uu,{scale:"x"}),Gs({},uu,{scale:"y"})]},mu={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:du,alpha:1,points:{show:function(e,t){let{scale:n,idxs:r}=e.series[0],a=e._data[0],i=e.valToPos(a[r[0]],n,!0),o=e.valToPos(a[r[1]],n,!0),l=ms(o-i)/(e.series[t].points.space*Rl);return r[1]-r[0]<=l},filter:null},values:null,min:Ss,max:-Ss,idxs:[],path:null,clip:null};function pu(e,t,n,r,a){return n/10}const fu={time:!0,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},vu=Gs({},fu,{time:!1,ori:1}),gu={};function yu(e,t){let n=gu[e];return n||(n={key:e,plots:[],sub(e){n.plots.push(e)},unsub(e){n.plots=n.plots.filter((t=>t!=e))},pub(e,t,r,a,i,o,l){for(let s=0;s{let f=e.pxRound;const v=l.dir*(0==l.ori?1:-1),g=0==l.ori?Tu:Lu;let y,_;1==v?(y=n,_=r):(y=r,_=n);let b=f(c(t[y],l,m,d)),w=f(u(o[y],s,p,h)),k=f(c(t[_],l,m,d)),x=f(u(1==i?s.max:s.min,s,p,h)),S=new Path2D(a);return g(S,k,x),g(S,b,x),g(S,b,w),S}))}function Su(e,t,n,r,a,i){let o=null;if(e.length>0){o=new Path2D;const l=0==t?Pu:Ou;let s=n;for(let t=0;tn[0]){let e=n[0]-s;e>0&&l(o,s,r,e,r+i),s=n[1]}}let c=n+a-s,u=10;c>0&&l(o,s,r-u/2,c,r+i+u)}return o}function Cu(e,t,n,r,a,i,o){let l=[],s=e.length;for(let c=1==a?n:r;c>=n&&c<=r;c+=a){if(null===t[c]){let u=c,d=c;if(1==a)for(;++c<=r&&null===t[c];)d=c;else for(;--c>=n&&null===t[c];)d=c;let h=i(e[u]),m=d==u?h:i(e[d]),p=u-a;h=o<=0&&p>=0&&p=0&&f>=0&&f=h&&l.push([h,m])}}return l}function Eu(e){return 0==e?As:1==e?fs:t=>Is(t,e)}function Nu(e){let t=0==e?Au:Mu,n=0==e?(e,t,n,r,a,i)=>{e.arcTo(t,n,r,a,i)}:(e,t,n,r,a,i)=>{e.arcTo(n,t,a,r,i)},r=0==e?(e,t,n,r,a)=>{e.rect(t,n,r,a)}:(e,t,n,r,a)=>{e.rect(n,t,a,r)};return function(e,a,i,o,l){let s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0;0==s&&0==c?r(e,a,i,o,l):(s=gs(s,o/2,l/2),c=gs(c,o/2,l/2),t(e,a+s,i),n(e,a+o,i,a+o,i+l,s),n(e,a+o,i+l,a,i+l,c),n(e,a,i+l,a,i,c),n(e,a,i,a+o,i,s),e.closePath())}}const Au=(e,t,n)=>{e.moveTo(t,n)},Mu=(e,t,n)=>{e.moveTo(n,t)},Tu=(e,t,n)=>{e.lineTo(t,n)},Lu=(e,t,n)=>{e.lineTo(n,t)},Pu=Nu(0),Ou=Nu(1),Iu=(e,t,n,r,a,i)=>{e.arc(t,n,r,a,i)},Ru=(e,t,n,r,a,i)=>{e.arc(n,t,r,a,i)},Du=(e,t,n,r,a,i,o)=>{e.bezierCurveTo(t,n,r,a,i,o)},zu=(e,t,n,r,a,i,o)=>{e.bezierCurveTo(n,t,a,r,o,i)};function Fu(e){return(e,t,n,r,a)=>bu(e,t,((t,i,o,l,s,c,u,d,h,m,p)=>{let f,v,{pxRound:g,points:y}=t;0==l.ori?(f=Au,v=Iu):(f=Mu,v=Ru);const _=zs(y.width*Rl,3);let b=(y.size-y.width)/2*Rl,w=zs(2*b,3),k=new Path2D,x=new Path2D,{left:S,top:C,width:E,height:N}=e.bbox;Pu(x,S-w,C-w,E+2*w,N+2*w);const A=e=>{if(null!=o[e]){let t=g(c(i[e],l,m,d)),n=g(u(o[e],s,p,h));f(k,t+b,n),v(k,t,n,b,0,2*hs)}};if(a)a.forEach(A);else for(let e=n;e<=r;e++)A(e);return{stroke:_>0?k:null,fill:k,clip:x,flags:2|_u}}))}function ju(e){return(t,n,r,a,i,o)=>{r!=a&&(i!=r&&o!=r&&e(t,n,r),i!=a&&o!=a&&e(t,n,a),e(t,n,o))}}const Hu=ju(Tu),Vu=ju(Lu);function $u(e){const t=ls(null===e||void 0===e?void 0:e.alignGaps,0);return(e,n,r,a)=>bu(e,n,((i,o,l,s,c,u,d,h,m,p,f)=>{let v,g,y=i.pxRound,_=e=>y(u(e,s,p,h)),b=e=>y(d(e,c,f,m));0==s.ori?(v=Tu,g=Hu):(v=Lu,g=Vu);const w=s.dir*(0==s.ori?1:-1),k={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:_u},x=k.stroke;let S,C,E,N=Ss,A=-Ss,M=_(o[1==w?r:a]),T=Xl(l,r,a,1*w),L=Xl(l,r,a,-1*w),P=_(o[T]),O=_(o[L]),I=!1;for(let e=1==w?r:a;e>=r&&e<=a;e+=w){let t=_(o[e]),n=l[e];t==M?null!=n?(C=b(n),N==Ss&&(v(x,t,C),S=C),N=gs(C,N),A=ys(C,A)):null===n&&(I=!0):(N!=Ss&&(g(x,M,N,A,S,C),E=M),null!=n?(C=b(n),v(x,t,C),N=A=S=C):(N=Ss,A=-Ss,null===n&&(I=!0)),M=t)}N!=Ss&&N!=A&&E!=M&&g(x,M,N,A,S,C);let[R,D]=wu(e,n);if(null!=i.fill||0!=R){let t=k.fill=new Path2D(x),r=b(i.fillTo(e,n,i.min,i.max,R));v(t,O,r),v(t,P,r)}if(!i.spanGaps){let c=[];I&&c.push(...Cu(o,l,r,a,w,_,t)),k.gaps=c=i.gaps(e,n,r,a,c),k.clip=Su(c,s.ori,h,m,p,f)}return 0!=D&&(k.band=2==D?[xu(e,n,r,a,x,-1),xu(e,n,r,a,x,1)]:xu(e,n,r,a,x,D)),k}))}function Uu(e,t,n,r,a,i){let o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:Ss;if(e.length>1){let l=null;for(let s=0,c=1/0;s0!==r[e]>0?n[e]=0:(n[e]=3*(s[e-1]+s[e])/((2*s[e]+s[e-1])/r[e-1]+(s[e]+2*s[e-1])/r[e]),isFinite(n[e])||(n[e]=0));n[o-1]=r[o-2];for(let c=0;c{ld.pxRatio=Rl})));const Wu=$u(),Ku=Fu();function Qu(e,t,n,r){return(r?[e[0],e[1]].concat(e.slice(2)):[e[0]].concat(e.slice(1))).map(((e,r)=>Zu(e,r,t,n)))}function Zu(e,t,n,r){return Gs({},0==t?n:r,e)}function Gu(e,t,n){return null==t?Us:[t,n]}const Ju=Gu;function Xu(e,t,n){return null==t?Us:os(t,n,ns,!0)}function ed(e,t,n,r){return null==t?Us:es(t,n,e.scales[r].log,!1)}const td=ed;function nd(e,t,n,r){return null==t?Us:ts(t,n,e.scales[r].log,!1)}const rd=nd;function ad(e,t,n,r,a){let i=ys(Cs(e),Cs(t)),o=t-e,l=Jl(a/r*o,n);do{let e=n[l],t=r*e/o;if(t>=a&&i+(e<5?Fs.get(e):0)<=17)return[e,t]}while(++l(t=fs((n=+r)*Rl))+"px")),t,n]}function od(e){e.show&&[e.font,e.labelFont].forEach((e=>{let t=zs(e[2]*Rl,1);e[0]=e[0].replace(/[0-9.]+px/,t+"px"),e[1]=t}))}function ld(e,t,n){const r={mode:ls(e.mode,1)},a=r.mode;function i(e,t){return((3==t.distr?ws(e>0?e:t.clamp(r,e,t.min,t.max,t.key)):4==t.distr?xs(e,t.asinh):e)-t._min)/(t._max-t._min)}function o(e,t,n,r){let a=i(e,t);return r+n*(-1==t.dir?1-a:a)}function l(e,t,n,r){let a=i(e,t);return r+n*(-1==t.dir?a:1-a)}function s(e,t,n,r){return 0==t.ori?o(e,t,n,r):l(e,t,n,r)}r.valToPosH=o,r.valToPosV=l;let c=!1;r.status=0;const u=r.root=Vl("uplot");if(null!=e.id&&(u.id=e.id),zl(u,e.class),e.title){Vl("u-title",u).textContent=e.title}const d=Hl("canvas"),h=r.ctx=d.getContext("2d"),m=Vl("u-wrap",u);Zl("click",m,(e=>{if(e.target===f){(Mt!=Ct||Tt!=Et)&&jt.click(r,e)}}),!0);const p=r.under=Vl("u-under",m);m.appendChild(d);const f=r.over=Vl("u-over",m),v=+ls((e=Zs(e)).pxAlign,1),g=Eu(v);(e.plugins||[]).forEach((t=>{t.opts&&(e=t.opts(r,e)||e)}));const y=e.ms||.001,_=r.series=1==a?Qu(e.series||[],Zc,mu,!1):(b=e.series||[null],w=hu,b.map(((e,t)=>0==t?null:Gs({},w,e))));var b,w;const k=r.axes=Qu(e.axes||[],Qc,cu,!0),x=r.scales={},S=r.bands=e.bands||[];S.forEach((e=>{e.fill=Ns(e.fill||null),e.dir=ls(e.dir,-1)}));const C=2==a?_[1].facets[0].scale:_[0].scale,E={axes:function(){for(let e=0;ett[e])):y,b=2==m.distr?tt[y[1]]-tt[y[0]]:u,w=t.ticks,S=t.border,C=w.show?fs(w.size*Rl):0,E=t._rotate*-hs/180,N=g(t._pos*Rl),A=N+(C+v)*c;a=0==o?A:0,n=1==o?A:0,ot(t.font[0],l,1==t.align?yl:2==t.align?_l:E>0?yl:E<0?_l:0==o?"center":3==i?_l:yl,E||1==o?"middle":2==i?vl:gl);let M=t.font[1]*t.lineGap,T=y.map((e=>g(s(e,m,p,f)))),L=t._values;for(let e=0;e0&&(_.forEach(((e,n)=>{if(n>0&&e.show&&(ct(n,!1),ct(n,!0),null==e._paths)){et!=e.alpha&&(h.globalAlpha=et=e.alpha);let i=2==a?[0,t[n][0].length-1]:function(e){let t=Es($e-1,0,Ve-1),n=Es(Ue+1,0,Ve-1);for(;null==e[t]&&t>0;)t--;for(;null==e[n]&&n{if(t>0&&e.show){et!=e.alpha&&(h.globalAlpha=et=e.alpha),null!=e._paths&&ut(t,!1);{let n=null!=e._paths?e._paths.gaps:null,a=e.points.show(r,t,$e,Ue,n),i=e.points.filter(r,t,a,n);(a||i)&&(e.points._paths=e.points.paths(r,t,$e,Ue,i),ut(t,!0))}1!=et&&(h.globalAlpha=et=1),kn("drawSeries",t)}})))}},N=(e.drawOrder||["axes","series"]).map((e=>E[e]));function A(t){let n=x[t];if(null==n){let r=(e.scales||Vs)[t]||Vs;if(null!=r.from)A(r.from),x[t]=Gs({},x[r.from],r,{key:t});else{n=x[t]=Gs({},t==C?fu:vu,r),n.key=t;let e=n.time,i=n.range,o=Bs(i);if((t!=C||2==a&&!e)&&(!o||null!=i[0]&&null!=i[1]||(i={min:null==i[0]?rs:{mode:1,hard:i[0],soft:i[0]},max:null==i[1]?rs:{mode:1,hard:i[1],soft:i[1]}},o=!1),!o&&Ws(i))){let e=i;i=(t,n,r)=>null==n?Us:os(n,r,e)}n.range=Ns(i||(e?Ju:t==C?3==n.distr?td:4==n.distr?rd:Gu:3==n.distr?ed:4==n.distr?nd:Xu)),n.auto=Ns(!o&&n.auto),n.clamp=Ns(n.clamp||pu),n._min=n._max=null}}}A("x"),A("y"),1==a&&_.forEach((e=>{A(e.scale)})),k.forEach((e=>{A(e.scale)}));for(let Mn in e.scales)A(Mn);const M=x[C],T=M.distr;let L,P;0==M.ori?(zl(u,"u-hz"),L=o,P=l):(zl(u,"u-vt"),L=l,P=o);const O={};for(let Mn in x){let e=x[Mn];null==e.min&&null==e.max||(O[Mn]={min:e.min,max:e.max},e.min=e.max=null)}const I=e.tzDate||(e=>new Date(fs(e/y))),R=e.fmtDate||sc,D=1==y?Mc(I):Pc(I),z=Ic(I,Oc(1==y?Ac:Lc,R)),F=zc(I,Dc("{YYYY}-{MM}-{DD} {h}:{mm}{aa}",R)),j=[],H=r.legend=Gs({},Fc,e.legend),V=H.show,$=H.markers;let U,B,q;H.idxs=j,$.width=Ns($.width),$.dash=Ns($.dash),$.stroke=Ns($.stroke),$.fill=Ns($.fill);let Y,W=[],K=[],Q=!1,Z={};if(H.live){const e=_[1]?_[1].values:null;Q=null!=e,Y=Q?e(r,1,0):{_:0};for(let t in Y)Z[t]=Tl}if(V)if(U=Hl("table","u-legend",u),q=Hl("tbody",null,U),H.mount(r,U),Q){B=Hl("thead",null,U,q);let e=Hl("tr",null,B);for(var G in Hl("th",null,e),Y)Hl("th",ml,e).textContent=G}else zl(U,"u-inline"),H.live&&zl(U,"u-live");const J={show:!0},X={show:!1};const ee=new Map;function te(e,t,n){let a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];const i=ee.get(t)||{},o=Ee.bind[e](r,t,n,a);o&&(Zl(e,t,i[e]=o),ee.set(t,i))}function ne(e,t,n){const r=ee.get(t)||{};for(let a in r)null!=e&&a!=e||(Gl(a,t,r[a]),delete r[a]);null==e&&ee.delete(t)}let re=0,ae=0,ie=0,oe=0,le=0,se=0,ce=le,ue=se,de=ie,he=oe,me=0,pe=0,fe=0,ve=0;r.bbox={};let ge=!1,ye=!1,_e=!1,be=!1,we=!1,ke=!1;function xe(e,t,n){(n||e!=r.width||t!=r.height)&&Se(e,t),yt(!1),_e=!0,ye=!0,Rt()}function Se(e,t){r.width=re=ie=e,r.height=ae=oe=t,le=se=0,function(){let e=!1,t=!1,n=!1,r=!1;k.forEach(((a,i)=>{if(a.show&&a._show){let{side:i,_size:o}=a,l=i%2,s=o+(null!=a.label?a.labelSize:0);s>0&&(l?(ie-=s,3==i?(le+=s,r=!0):n=!0):(oe-=s,0==i?(se+=s,e=!0):t=!0))}})),ze[0]=e,ze[1]=n,ze[2]=t,ze[3]=r,ie-=He[1]+He[3],le+=He[3],oe-=He[2]+He[0],se+=He[0]}(),function(){let e=le+ie,t=se+oe,n=le,r=se;function a(a,i){switch(a){case 1:return e+=i,e-i;case 2:return t+=i,t-i;case 3:return n-=i,n+i;case 0:return r-=i,r+i}}k.forEach(((e,t)=>{if(e.show&&e._show){let t=e.side;e._pos=a(t,e._size),null!=e.label&&(e._lpos=a(t,e.labelSize))}}))}();let n=r.bbox;me=n.left=Is(le*Rl,.5),pe=n.top=Is(se*Rl,.5),fe=n.width=Is(ie*Rl,.5),ve=n.height=Is(oe*Rl,.5)}const Ce=3;r.setSize=function(e){let{width:t,height:n}=e;xe(t,n)};const Ee=r.cursor=Gs({},$c,{drag:{y:2==a}},e.cursor);if(null==Ee.dataIdx){var Ne,Ae;let e=Ee.hover,n=e.skip=new Set(null!==(Ne=e.skip)&&void 0!==Ne?Ne:[]);n.add(void 0);let r=e.prox=Ns(e.prox),a=null!==(Ae=e.bias)&&void 0!==Ae?Ae:e.bias=0;Ee.dataIdx=(e,i,o,l)=>{var s;if(0==i)return o;let c=o,u=null!==(s=r(e,i,o,l))&&void 0!==s?s:Ss,d=u>=0&&u0;)n.has(f[e])||(t=e);if(0==a||1==a)for(e=o;null==r&&e++u&&(c=null)}return c}}const Me=e=>{Ee.event=e};Ee.idxs=j,Ee._lock=!1;let Te=Ee.points;Te.show=Ns(Te.show),Te.size=Ns(Te.size),Te.stroke=Ns(Te.stroke),Te.width=Ns(Te.width),Te.fill=Ns(Te.fill);const Le=r.focus=Gs({},e.focus||{alpha:.3},Ee.focus),Pe=Le.prox>=0;let Oe=[null],Ie=[null],Re=[null];function De(e,t){if(1==a||t>0){let t=1==a&&x[e.scale].time,n=e.value;e.value=t?Ys(n)?zc(I,Dc(n,R)):n||F:n||su,e.label=e.label||(t?"Time":"Value")}if(t>0){e.width=null==e.width?1:e.width,e.paths=e.paths||Wu||Ts,e.fillTo=Ns(e.fillTo||ku),e.pxAlign=+ls(e.pxAlign,v),e.pxRound=Eu(e.pxAlign),e.stroke=Ns(e.stroke||null),e.fill=Ns(e.fill||null),e._stroke=e._fill=e._paths=e._focus=null;let t=zs((3+2*(ys(1,e.width)||1))*1,3),n=e.points=Gs({},{size:t,width:ys(1,.2*t),stroke:e.stroke,space:2*t,paths:Ku,_stroke:null,_fill:null},e.points);n.show=Ns(n.show),n.filter=Ns(n.filter),n.fill=Ns(n.fill),n.stroke=Ns(n.stroke),n.paths=Ns(n.paths),n.pxAlign=e.pxAlign}if(V){let n=function(e,t){if(0==t&&(Q||!H.live||2==a))return Us;let n=[],i=Hl("tr","u-series",q,q.childNodes[t]);zl(i,e.class),e.show||zl(i,hl);let o=Hl("th",null,i);if($.show){let e=Vl("u-marker",o);if(t>0){let n=$.width(r,t);n&&(e.style.border=n+"px "+$.dash(r,t)+" "+$.stroke(r,t)),e.style.background=$.fill(r,t)}}let l=Vl(ml,o);for(var s in l.textContent=e.label,t>0&&($.show||(l.style.color=e.width>0?$.stroke(r,t):$.fill(r,t)),te("click",o,(t=>{if(Ee._lock)return;Me(t);let n=_.indexOf(e);if((t.ctrlKey||t.metaKey)!=H.isolate){let e=_.some(((e,t)=>t>0&&t!=n&&e.show));_.forEach(((t,r)=>{r>0&&Yt(r,e?r==n?J:X:J,!0,Sn.setSeries)}))}else Yt(n,{show:!e.show},!0,Sn.setSeries)}),!1),Pe&&te(Cl,o,(t=>{Ee._lock||(Me(t),Yt(_.indexOf(e),Zt,!0,Sn.setSeries))}),!1)),Y){let e=Hl("td","u-value",i);e.textContent="--",n.push(e)}return[i,n]}(e,t);W.splice(t,0,n[0]),K.splice(t,0,n[1]),H.values.push(null)}if(Ee.show){j.splice(t,0,null);let n=function(e,t){if(t>0){let n=Ee.points.show(r,t);if(n)return zl(n,"u-cursor-pt"),zl(n,e.class),Ul(n,-10,-10,ie,oe),f.insertBefore(n,Oe[t]),n}}(e,t);null!=n&&(Oe.splice(t,0,n),Ie.splice(t,0,0),Re.splice(t,0,0))}kn("addSeries",t)}r.addSeries=function(e,t){t=null==t?_.length:t,e=1==a?Zu(e,t,Zc,mu):Zu(e,t,null,hu),_.splice(t,0,e),De(_[t],t)},r.delSeries=function(e){if(_.splice(e,1),V){H.values.splice(e,1),K.splice(e,1);let t=W.splice(e,1)[0];ne(null,t.firstChild),t.remove()}Ee.show&&(j.splice(e,1),Oe.length>1&&(Oe.splice(e,1)[0].remove(),Ie.splice(e,1),Re.splice(e,1))),kn("delSeries",e)};const ze=[!1,!1,!1,!1];function Fe(e,t,n,r){let[a,i,o,l]=n,s=t%2,c=0;return 0==s&&(l||i)&&(c=0==t&&!a||2==t&&!o?fs(Qc.size/3):0),1==s&&(a||o)&&(c=1==t&&!i||3==t&&!l?fs(cu.size/2):0),c}const je=r.padding=(e.padding||[Fe,Fe,Fe,Fe]).map((e=>Ns(ls(e,Fe)))),He=r._padding=je.map(((e,t)=>e(r,t,ze,0)));let Ve,$e=null,Ue=null;const Be=1==a?_[0].idxs:null;let qe,Ye,We,Ke,Qe,Ze,Ge,Je,Xe,et,tt=null,nt=!1;function rt(e,n){if(t=null==e?[]:e,r.data=r._data=t,2==a){Ve=0;for(let e=1;e<_.length;e++)Ve+=t[e][0].length}else{0==t.length&&(r.data=r._data=t=[[]]),tt=t[0],Ve=tt.length;let e=t;if(2==T){e=t.slice();let n=e[0]=Array(Ve);for(let e=0;e=0,ke=!0,Rt()}}function at(){let e,n;nt=!0,1==a&&(Ve>0?($e=Be[0]=0,Ue=Be[1]=Ve-1,e=t[0][$e],n=t[0][Ue],2==T?(e=$e,n=Ue):e==n&&(3==T?[e,n]=es(e,e,M.log,!1):4==T?[e,n]=ts(e,e,M.log,!1):M.time?n=e+fs(86400/y):[e,n]=os(e,n,ns,!0))):($e=Be[0]=e=null,Ue=Be[1]=n=null)),qt(C,e,n)}function it(e,t,n,r,a,i){var o,l,s,c,u;null!==(o=e)&&void 0!==o||(e=wl),null!==(l=n)&&void 0!==l||(n=$s),null!==(s=r)&&void 0!==s||(r="butt"),null!==(c=a)&&void 0!==c||(a=wl),null!==(u=i)&&void 0!==u||(i="round"),e!=qe&&(h.strokeStyle=qe=e),a!=Ye&&(h.fillStyle=Ye=a),t!=We&&(h.lineWidth=We=t),i!=Qe&&(h.lineJoin=Qe=i),r!=Ze&&(h.lineCap=Ze=r),n!=Ke&&h.setLineDash(Ke=n)}function ot(e,t,n,r){t!=Ye&&(h.fillStyle=Ye=t),e!=Ge&&(h.font=Ge=e),n!=Je&&(h.textAlign=Je=n),r!=Xe&&(h.textBaseline=Xe=r)}function lt(e,t,n,a){let i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(a.length>0&&e.auto(r,nt)&&(null==t||null==t.min)){let t=ls($e,0),r=ls(Ue,a.length-1),o=null==n.min?3==e.distr?function(e,t,n){let r=Ss,a=-Ss;for(let i=t;i<=n;i++){let t=e[i];null!=t&&t>0&&(ta&&(a=t))}return[r,a]}(a,t,r):function(e,t,n,r){let a=Ss,i=-Ss;if(1==r)a=e[t],i=e[n];else if(-1==r)a=e[n],i=e[t];else for(let o=t;o<=n;o++){let t=e[o];null!=t&&(ti&&(i=t))}return[a,i]}(a,t,r,i):[n.min,n.max];e.min=gs(e.min,n.min=o[0]),e.max=ys(e.max,n.max=o[1])}}r.setData=rt;const st={min:null,max:null};function ct(e,t){let n=t?_[e].points:_[e];n._stroke=n.stroke(r,e),n._fill=n.fill(r,e)}function ut(e,n){let a=n?_[e].points:_[e],{stroke:i,fill:o,clip:l,flags:s,_stroke:c=a._stroke,_fill:u=a._fill,_width:d=a.width}=a._paths;d=zs(d*Rl,3);let m=null,p=d%2/2;n&&null==u&&(u=d>0?"#fff":c);let f=1==a.pxAlign&&p>0;if(f&&h.translate(p,p),!n){let e=me-d/2,t=pe-d/2,n=fe+d,r=ve+d;m=new Path2D,m.rect(e,t,n,r)}n?ht(c,d,a.dash,a.cap,u,i,o,s,l):function(e,n,a,i,o,l,s,c,u,d,h){let m=!1;0!=u&&S.forEach(((p,f)=>{if(p.series[0]==e){let e,v=_[p.series[1]],g=t[p.series[1]],y=(v._paths||Vs).band;Bs(y)&&(y=1==p.dir?y[0]:y[1]);let b=null;v.show&&y&&function(e,t,n){for(t=ls(t,0),n=ls(n,e.length-1);t<=n;){if(null!=e[t])return!0;t++}return!1}(g,$e,Ue)?(b=p.fill(r,f)||l,e=v._paths.clip):y=null,ht(n,a,i,o,b,s,c,u,d,h,e,y),m=!0}})),m||ht(n,a,i,o,l,s,c,u,d,h)}(e,c,d,a.dash,a.cap,u,i,o,s,m,l),f&&h.translate(-p,-p)}const dt=2|_u;function ht(e,t,n,r,a,i,o,l,s,c,u,d){it(e,t,n,r,a),(s||c||d)&&(h.save(),s&&h.clip(s),c&&h.clip(c)),d?(l&dt)==dt?(h.clip(d),u&&h.clip(u),pt(a,o),mt(e,i,t)):2&l?(pt(a,o),h.clip(d),mt(e,i,t)):l&_u&&(h.save(),h.clip(d),u&&h.clip(u),pt(a,o),h.restore(),mt(e,i,t)):(pt(a,o),mt(e,i,t)),(s||c||d)&&h.restore()}function mt(e,t,n){n>0&&(t instanceof Map?t.forEach(((e,t)=>{h.strokeStyle=qe=t,h.stroke(e)})):null!=t&&e&&h.stroke(t))}function pt(e,t){t instanceof Map?t.forEach(((e,t)=>{h.fillStyle=Ye=t,h.fill(e)})):null!=t&&e&&h.fill(t)}function ft(e,t,n,r,a,i,o,l,s,c){let u=o%2/2;1==v&&h.translate(u,u),it(l,o,s,c,l),h.beginPath();let d,m,p,f,g=a+(0==r||3==r?-i:i);0==n?(m=a,f=g):(d=a,p=g);for(let v=0;v{if(!n.show)return;let i=x[n.scale];if(null==i.min)return void(n._show&&(t=!1,n._show=!1,yt(!1)));n._show||(t=!1,n._show=!0,yt(!1));let o=n.side,l=o%2,{min:s,max:c}=i,[u,d]=function(e,t,n,a){let i,o=k[e];if(a<=0)i=[0,0];else{let l=o._space=o.space(r,e,t,n,a);i=ad(t,n,o._incrs=o.incrs(r,e,t,n,a,l),a,l)}return o._found=i}(a,s,c,0==l?ie:oe);if(0==d)return;let h=2==i.distr,m=n._splits=n.splits(r,a,s,c,u,d,h),p=2==i.distr?m.map((e=>tt[e])):m,f=2==i.distr?tt[m[1]]-tt[m[0]]:u,v=n._values=n.values(r,n.filter(r,p,a,d,f),a,d,f);n._rotate=2==o?n.rotate(r,v,a,d):0;let g=n._size;n._size=vs(n.size(r,v,a,e)),null!=g&&n._size!=g&&(t=!1)})),t}function gt(e){let t=!0;return je.forEach(((n,a)=>{let i=n(r,a,ze,e);i!=He[a]&&(t=!1),He[a]=i})),t}function yt(e){_.forEach(((t,n)=>{n>0&&(t._paths=null,e&&(1==a?(t.min=null,t.max=null):t.facets.forEach((e=>{e.min=null,e.max=null}))))}))}let _t,bt,wt,kt,xt,St,Ct,Et,Nt,At,Mt,Tt,Lt=!1,Pt=!1,Ot=[];function It(){Pt=!1;for(let e=0;e0){_.forEach(((n,i)=>{if(1==a){let a=n.scale,o=O[a];if(null==o)return;let l=e[a];if(0==i){let e=l.range(r,l.min,l.max,a);l.min=e[0],l.max=e[1],$e=Jl(l.min,t[0]),Ue=Jl(l.max,t[0]),Ue-$e>1&&(t[0][$e]l.max&&Ue--),n.min=tt[$e],n.max=tt[Ue]}else n.show&&n.auto&<(l,o,n,t[i],n.sorted);n.idxs[0]=$e,n.idxs[1]=Ue}else if(i>0&&n.show&&n.auto){let[r,a]=n.facets,o=r.scale,l=a.scale,[s,c]=t[i],u=e[o],d=e[l];null!=u&<(u,O[o],r,s,r.sorted),null!=d&<(d,O[l],a,c,a.sorted),n.min=a.min,n.max=a.max}}));for(let t in e){let n=e[t],a=O[t];if(null==n.from&&(null==a||null==a.min)){let e=n.range(r,n.min==Ss?null:n.min,n.max==-Ss?null:n.max,t);n.min=e[0],n.max=e[1]}}}for(let t in e){let n=e[t];if(null!=n.from){let a=e[n.from];if(null==a.min)n.min=n.max=null;else{let e=n.range(r,a.min,a.max,t);n.min=e[0],n.max=e[1]}}}let n={},i=!1;for(let t in e){let r=e[t],a=x[t];if(a.min!=r.min||a.max!=r.max){a.min=r.min,a.max=r.max;let e=a.distr;a._min=3==e?ws(a.min):4==e?xs(a.min,a.asinh):a.min,a._max=3==e?ws(a.max):4==e?xs(a.max,a.asinh):a.max,n[t]=i=!0}}if(i){_.forEach(((e,t)=>{2==a?t>0&&n.y&&(e._paths=null):n[e.scale]&&(e._paths=null)}));for(let e in n)_e=!0,kn("setScale",e);Ee.show&&Ee.left>=0&&(be=ke=!0)}for(let t in O)O[t]=null}(),ge=!1),_e&&(!function(){let e=!1,t=0;for(;!e;){t++;let n=vt(t),a=gt(t);e=t==Ce||n&&a,e||(Se(r.width,r.height),ye=!0)}}(),_e=!1),ye){if(jl(p,yl,le),jl(p,vl,se),jl(p,pl,ie),jl(p,fl,oe),jl(f,yl,le),jl(f,vl,se),jl(f,pl,ie),jl(f,fl,oe),jl(m,pl,re),jl(m,fl,ae),d.width=fs(re*Rl),d.height=fs(ae*Rl),k.forEach((e=>{let{_el:t,_show:n,_size:r,_pos:a,side:i}=e;if(null!=t)if(n){let e=i%2==1;jl(t,e?"left":"top",a-(3===i||0===i?r:0)),jl(t,e?"width":"height",r),jl(t,e?"top":"left",e?se:le),jl(t,e?"height":"width",e?oe:ie),Fl(t,hl)}else zl(t,hl)})),qe=Ye=We=Qe=Ze=Ge=Je=Xe=Ke=null,et=1,ln(!0),le!=ce||se!=ue||ie!=de||oe!=he){yt(!1);let e=ie/de,t=oe/he;if(Ee.show&&!be&&Ee.left>=0){Ee.left*=e,Ee.top*=t,wt&&Ul(wt,fs(Ee.left),0,ie,oe),kt&&Ul(kt,0,fs(Ee.top),ie,oe);for(let n=1;n=0&&$t.width>0){$t.left*=e,$t.width*=e,$t.top*=t,$t.height*=t;for(let e in un)jl(Ut,e,$t[e])}ce=le,ue=se,de=ie,he=oe}kn("setSize"),ye=!1}re>0&&ae>0&&(h.clearRect(0,0,d.width,d.height),kn("drawClear"),N.forEach((e=>e())),kn("draw")),$t.show&&we&&(Bt($t),we=!1),Ee.show&&be&&(an(null,!0,!1),be=!1),H.show&&H.live&&ke&&(nn(),ke=!1),c||(c=!0,r.status=1,kn("ready")),nt=!1,Lt=!1}function zt(e,n){let a=x[e];if(null==a.from){if(0==Ve){let t=a.range(r,n.min,n.max,e);n.min=t[0],n.max=t[1]}if(n.min>n.max){let e=n.min;n.min=n.max,n.max=e}if(Ve>1&&null!=n.min&&null!=n.max&&n.max-n.min<1e-16)return;e==C&&2==a.distr&&Ve>0&&(n.min=Jl(n.min,t[0]),n.max=Jl(n.max,t[0]),n.min==n.max&&n.max++),O[e]=n,ge=!0,Rt()}}r.batch=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];Lt=!0,Pt=t,e(r),Dt(),t&&Ot.length>0&&queueMicrotask(It)},r.redraw=(e,t)=>{_e=t||!1,!1!==e?qt(C,M.min,M.max):Rt()},r.setScale=zt;let Ft=!1;const jt=Ee.drag;let Ht=jt.x,Vt=jt.y;Ee.show&&(Ee.x&&(_t=Vl("u-cursor-x",f)),Ee.y&&(bt=Vl("u-cursor-y",f)),0==M.ori?(wt=_t,kt=bt):(wt=bt,kt=_t),Mt=Ee.left,Tt=Ee.top);const $t=r.select=Gs({show:!0,over:!0,left:0,width:0,top:0,height:0},e.select),Ut=$t.show?Vl("u-select",$t.over?f:p):null;function Bt(e,t){if($t.show){for(let t in e)$t[t]=e[t],t in un&&jl(Ut,t,e[t]);!1!==t&&kn("setSelect")}}function qt(e,t,n){zt(e,{min:t,max:n})}function Yt(e,t,n,i){null!=t.focus&&function(e){if(e!=Qt){let t=null==e,n=1!=Le.alpha;_.forEach(((r,i)=>{if(1==a||i>0){let a=t||0==i||i==e;r._focus=t?null:a,n&&function(e,t){_[e].alpha=t,Ee.show&&Oe[e]&&(Oe[e].style.opacity=t);V&&W[e]&&(W[e].style.opacity=t)}(i,a?1:Le.alpha)}})),Qt=e,n&&Rt()}}(e),null!=t.show&&_.forEach(((n,r)=>{r>0&&(e==r||null==e)&&(n.show=t.show,function(e,t){let n=_[e],r=V?W[e]:null;n.show?r&&Fl(r,hl):(r&&zl(r,hl),Oe.length>1&&Ul(Oe[e],-10,-10,ie,oe))}(r,t.show),2==a?(qt(n.facets[0].scale,null,null),qt(n.facets[1].scale,null,null)):qt(n.scale,null,null),Rt())})),!1!==n&&kn("setSeries",e,t),i&&Nn("setSeries",r,e,t)}let Wt,Kt,Qt;r.setSelect=Bt,r.setSeries=Yt,r.addBand=function(e,t){e.fill=Ns(e.fill||null),e.dir=ls(e.dir,-1),t=null==t?S.length:t,S.splice(t,0,e)},r.setBand=function(e,t){Gs(S[e],t)},r.delBand=function(e){null==e?S.length=0:S.splice(e,1)};const Zt={focus:!0};function Gt(e,t,n){let r=x[t];n&&(e=e/Rl-(1==r.ori?se:le));let a=ie;1==r.ori&&(a=oe,e=a-e),-1==r.dir&&(e=a-e);let i=r._min,o=i+(r._max-i)*(e/a),l=r.distr;return 3==l?_s(10,o):4==l?function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return ds.sinh(e)*t}(o,r.asinh):o}function Jt(e,t){jl(Ut,yl,$t.left=e),jl(Ut,pl,$t.width=t)}function Xt(e,t){jl(Ut,vl,$t.top=e),jl(Ut,fl,$t.height=t)}V&&Pe&&te(El,U,(e=>{Ee._lock||(Me(e),null!=Qt&&Yt(null,Zt,!0,Sn.setSeries))})),r.valToIdx=e=>Jl(e,t[0]),r.posToIdx=function(e,n){return Jl(Gt(e,C,n),t[0],$e,Ue)},r.posToVal=Gt,r.valToPos=(e,t,n)=>0==x[t].ori?o(e,x[t],n?fe:ie,n?me:0):l(e,x[t],n?ve:oe,n?pe:0),r.setCursor=(e,t,n)=>{Mt=e.left,Tt=e.top,an(null,t,n)};let en=0==M.ori?Jt:Xt,tn=1==M.ori?Jt:Xt;function nn(e,t){null!=e&&(e.idxs?e.idxs.forEach(((e,t)=>{j[t]=e})):void 0!==e.idx&&j.fill(e.idx),H.idx=j[0]);for(let n=0;n<_.length;n++)(n>0||1==a&&!Q)&&rn(n,j[n]);V&&H.live&&function(){if(V&&H.live)for(let e=2==a?1:0;e<_.length;e++){if(0==e&&Q)continue;let t=H.values[e],n=0;for(let r in t)K[e][n++].firstChild.nodeValue=t[r]}}(),ke=!1,!1!==t&&kn("setLegend")}function rn(e,n){var a;let i,o=_[e],l=0==e&&2==T?tt:t[e];Q?i=null!==(a=o.values(r,e,n))&&void 0!==a?a:Z:(i=o.value(r,null==n?null:l[n],e,n),i=null==i?Z:{_:i}),H.values[e]=i}function an(e,n,i){let o;Nt=Mt,At=Tt,[Mt,Tt]=Ee.move(r,Mt,Tt),Ee.left=Mt,Ee.top=Tt,Ee.show&&(wt&&Ul(wt,fs(Mt),0,ie,oe),kt&&Ul(kt,0,fs(Tt),ie,oe));let l=$e>Ue;Wt=Ss;let s=0==M.ori?ie:oe,c=1==M.ori?ie:oe;if(Mt<0||0==Ve||l){o=Ee.idx=null;for(let e=0;e<_.length;e++)e>0&&Oe.length>1&&Ul(Oe[e],-10,-10,ie,oe);Pe&&Yt(null,Zt,!0,null==e&&Sn.setSeries),H.live&&(j.fill(o),ke=!0)}else{let e,n,i;1==a&&(e=0==M.ori?Mt:Tt,n=Gt(e,C),o=Ee.idx=Jl(n,t[0],$e,Ue),i=L(t[0][o],M,s,0));for(let l=2==a?1:0;l<_.length;l++){let e=_[l],u=j[l],d=null==u?null:1==a?t[l][u]:t[l][1][u],h=Ee.dataIdx(r,l,o,n),m=null==h?null:1==a?t[l][h]:t[l][1][h];ke=ke||m!=d||h!=u,j[l]=h;let p=h==o?i:L(1==a?t[0][h]:t[l][0][h],M,s,0);if(l>0&&e.show){let t,n,i=null==m?-10:P(m,1==a?x[e.scale]:x[e.facets[1].scale],c,0);if(Pe&&null!=m){let t=1==M.ori?Mt:Tt,n=ms(Le.dist(r,l,h,i,t));if(n=0?1:-1;i==(m>=0?1:-1)&&(1==i?1==r?m>=a:m<=a:1==r?m<=a:m>=a)&&(Wt=n,Kt=l)}else Wt=n,Kt=l}}if(0==M.ori?(t=p,n=i):(t=i,n=p),ke&&Oe.length>1){ql(Oe[l],Ee.points.fill(r,l),Ee.points.stroke(r,l));let e,a,i,o,s=!0,c=Ee.points.bbox;if(null!=c){s=!1;let t=c(r,l);i=t.left,o=t.top,e=t.width,a=t.height}else i=t,o=n,e=a=Ee.points.size(r,l);Wl(Oe[l],e,a,s),Ie[l]=i,Re[l]=o,Ul(Oe[l],Rs(i,1),Rs(o,1),ie,oe)}}}}if($t.show&&Ft)if(null!=e){let[t,n]=Sn.scales,[r,a]=Sn.match,[i,o]=e.cursor.sync.scales,l=e.cursor.drag;if(Ht=l._x,Vt=l._y,Ht||Vt){let l,u,d,h,m,{left:p,top:f,width:v,height:g}=e.select,y=e.scales[t].ori,_=e.posToVal,b=null!=t&&r(t,i),w=null!=n&&a(n,o);b&&Ht?(0==y?(l=p,u=v):(l=f,u=g),d=x[t],h=L(_(l,i),d,s,0),m=L(_(l+u,i),d,s,0),en(gs(h,m),ms(m-h))):en(0,s),w&&Vt?(1==y?(l=p,u=v):(l=f,u=g),d=x[n],h=P(_(l,o),d,c,0),m=P(_(l+u,o),d,c,0),tn(gs(h,m),ms(m-h))):tn(0,c)}else dn()}else{let e=ms(Nt-xt),t=ms(At-St);if(1==M.ori){let n=e;e=t,t=n}Ht=jt.x&&e>=jt.dist,Vt=jt.y&&t>=jt.dist;let n,r,a=jt.uni;null!=a?Ht&&Vt&&(Ht=e>=a,Vt=t>=a,Ht||Vt||(t>e?Vt=!0:Ht=!0)):jt.x&&jt.y&&(Ht||Vt)&&(Ht=Vt=!0),Ht&&(0==M.ori?(n=Ct,r=Mt):(n=Et,r=Tt),en(gs(n,r),ms(r-n)),Vt||tn(0,c)),Vt&&(1==M.ori?(n=Ct,r=Mt):(n=Et,r=Tt),tn(gs(n,r),ms(r-n)),Ht||en(0,s)),Ht||Vt||(en(0,0),tn(0,0))}if(jt._x=Ht,jt._y=Vt,null==e){if(i){if(null!=Cn){let[e,t]=Sn.scales;Sn.values[0]=null!=e?Gt(0==M.ori?Mt:Tt,e):null,Sn.values[1]=null!=t?Gt(1==M.ori?Mt:Tt,t):null}Nn(kl,r,Mt,Tt,ie,oe,o)}if(Pe){let e=i&&Sn.setSeries,t=Le.prox;null==Qt?Wt<=t&&Yt(Kt,Zt,!0,e):Wt>t?Yt(null,Zt,!0,e):Kt!=Qt&&Yt(Kt,Zt,!0,e)}}ke&&(H.idx=o,nn()),!1!==n&&kn("setCursor")}r.setLegend=nn;let on=null;function ln(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]?on=null:(on=f.getBoundingClientRect(),kn("syncRect",on))}function sn(e,t,n,r,a,i,o){Ee._lock||Ft&&null!=e&&0==e.movementX&&0==e.movementY||(cn(e,t,n,r,a,i,o,!1,null!=e),null!=e?an(null,!0,!0):an(t,!0,!1))}function cn(e,t,n,a,i,o,l,c,u){if(null==on&&ln(!1),Me(e),null!=e)n=e.clientX-on.left,a=e.clientY-on.top;else{if(n<0||a<0)return Mt=-10,void(Tt=-10);let[e,r]=Sn.scales,l=t.cursor.sync,[c,u]=l.values,[d,h]=l.scales,[m,p]=Sn.match,f=t.axes[0].side%2==1,v=0==M.ori?ie:oe,g=1==M.ori?ie:oe,y=f?o:i,_=f?i:o,b=f?a:n,w=f?n:a;if(n=null!=d?m(e,d)?s(c,x[e],v,0):-10:v*(b/y),a=null!=h?p(r,h)?s(u,x[r],g,0):-10:g*(w/_),1==M.ori){let e=n;n=a,a=e}}u&&((n<=1||n>=ie-1)&&(n=Is(n,ie)),(a<=1||a>=oe-1)&&(a=Is(a,oe))),c?(xt=n,St=a,[Ct,Et]=Ee.move(r,n,a)):(Mt=n,Tt=a)}Object.defineProperty(r,"rect",{get:()=>(null==on&&ln(!1),on)});const un={width:0,height:0,left:0,top:0};function dn(){Bt(un,!1)}let hn,mn,pn,fn;function vn(e,t,n,a,i,o,l){Ft=!0,Ht=Vt=jt._x=jt._y=!1,cn(e,t,n,a,i,o,0,!0,!1),null!=e&&(te(Sl,Pl,gn,!1),Nn(xl,r,Ct,Et,ie,oe,null));let{left:s,top:c,width:u,height:d}=$t;hn=s,mn=c,pn=u,fn=d,dn()}function gn(e,t,n,a,i,o,l){Ft=jt._x=jt._y=!1,cn(e,t,n,a,i,o,0,!1,!0);let{left:s,top:c,width:u,height:d}=$t,h=u>0||d>0,m=hn!=s||mn!=c||pn!=u||fn!=d;if(h&&m&&Bt($t),jt.setScale&&h&&m){let e=s,t=u,n=c,r=d;if(1==M.ori&&(e=c,t=d,n=s,r=u),Ht&&qt(C,Gt(e,C),Gt(e+t,C)),Vt)for(let a in x){let e=x[a];a!=C&&null==e.from&&e.min!=Ss&&qt(a,Gt(n+r,a),Gt(n,a))}dn()}else Ee.lock&&(Ee._lock=!Ee._lock,Ee._lock||an(null,!0,!1));null!=e&&(ne(Sl,Pl),Nn(Sl,r,Mt,Tt,ie,oe,null))}function yn(e,t,n,a,i,o,l){Ee._lock||(Me(e),at(),dn(),null!=e&&Nn(Nl,r,Mt,Tt,ie,oe,null))}function _n(){k.forEach(od),xe(r.width,r.height,!0)}Zl(Ml,Ol,_n);const bn={};bn.mousedown=vn,bn.mousemove=sn,bn.mouseup=gn,bn.dblclick=yn,bn.setSeries=(e,t,n,a)=>{-1!=(n=(0,Sn.match[2])(r,t,n))&&Yt(n,a,!0,!1)},Ee.show&&(te(xl,f,vn),te(kl,f,sn),te(Cl,f,(e=>{Me(e),ln(!1)})),te(El,f,(function(e,t,n,r,a,i,o){if(Ee._lock)return;Me(e);let l=Ft;if(Ft){let e,t,n=!0,r=!0,a=10;0==M.ori?(e=Ht,t=Vt):(e=Vt,t=Ht),e&&t&&(n=Mt<=a||Mt>=ie-a,r=Tt<=a||Tt>=oe-a),e&&n&&(Mt=Mt{e.call(null,r,t,n)}))}(e.plugins||[]).forEach((e=>{for(let t in e.hooks)wn[t]=(wn[t]||[]).concat(e.hooks[t])}));const xn=(e,t,n)=>n,Sn=Gs({key:null,setSeries:!1,filters:{pub:Ls,sub:Ls},scales:[C,_[1]?_[1].scale:null],match:[Ps,Ps,xn],values:[null,null]},Ee.sync);2==Sn.match.length&&Sn.match.push(xn),Ee.sync=Sn;const Cn=Sn.key,En=yu(Cn);function Nn(e,t,n,r,a,i,o){Sn.filters.pub(e,t,n,r,a,i,o)&&En.pub(e,t,n,r,a,i,o)}function An(){kn("init",e,t),rt(t||e.data,!1),O[C]?zt(C,O[C]):at(),we=$t.show&&($t.width>0||$t.height>0),be=ke=!0,xe(e.width,e.height)}return En.sub(r),r.pub=function(e,t,n,r,a,i,o){Sn.filters.sub(e,t,n,r,a,i,o)&&bn[e](null,t,n,r,a,i,o)},r.destroy=function(){var e;En.unsub(r),qu.delete(r),ee.clear(),Gl(Ml,Ol,_n),u.remove(),null===(e=U)||void 0===e||e.remove(),kn("destroy")},_.forEach(De),k.forEach((function(e,t){if(e._show=e.show,e.show){let n=e.side%2,a=x[e.scale];null==a&&(e.scale=n?_[1].scale:C,a=x[e.scale]);let i=a.time;e.size=Ns(e.size),e.space=Ns(e.space),e.rotate=Ns(e.rotate),Bs(e.incrs)&&e.incrs.forEach((e=>{!Fs.has(e)&&Fs.set(e,js(e))})),e.incrs=Ns(e.incrs||(2==a.distr?pc:i?1==y?Nc:Tc:fc)),e.splits=Ns(e.splits||(i&&1==a.distr?D:3==a.distr?Xc:4==a.distr?eu:Jc)),e.stroke=Ns(e.stroke),e.grid.stroke=Ns(e.grid.stroke),e.ticks.stroke=Ns(e.ticks.stroke),e.border.stroke=Ns(e.border.stroke);let o=e.values;e.values=Bs(o)&&!Bs(o[0])?Ns(o):i?Bs(o)?Ic(I,Oc(o,R)):Ys(o)?function(e,t){let n=sc(t);return(t,r,a,i,o)=>r.map((t=>n(e(t))))}(I,o):o||z:o||Gc,e.filter=Ns(e.filter||(a.distr>=3&&10==a.log?ou:3==a.distr&&2==a.log?lu:Ms)),e.font=id(e.font),e.labelFont=id(e.labelFont),e._size=e.size(r,null,t,0),e._space=e._rotate=e._incrs=e._found=e._splits=e._values=null,e._size>0&&(ze[t]=!0,e._el=Vl("u-axis",m))}})),n?n instanceof HTMLElement?(n.appendChild(u),An()):n(r,An):An(),r}ld.assign=Gs,ld.fmtNum=us,ld.rangeNum=os,ld.rangeLog=es,ld.rangeAsinh=ts,ld.orient=bu,ld.pxRatio=Rl,ld.join=function(e,t){if(function(e){let t=e[0][0],n=t.length;for(let r=1;r1&&void 0!==arguments[1]?arguments[1]:100;const n=e.length;if(n<=1)return!0;let r=0,a=n-1;for(;r<=a&&null==e[r];)r++;for(;a>=r&&null==e[a];)a--;if(a<=r)return!0;const i=ys(1,ps((a-r+1)/t));for(let o=e[r],l=r+i;l<=a;l+=i){const t=e[l];if(null!=t){if(t<=o)return!1;o=t}}return!0}(t[0])||(t=function(e){let t=e[0],n=t.length,r=Array(n);for(let i=0;it[e]-t[n]));let a=[];for(let i=0;ie-t))],a=r[0].length,i=new Map;for(let o=0;obu(e,i,((s,c,u,d,h,m,p,f,v,g,y)=>{let _=s.pxRound,{left:b,width:w}=e.bbox,k=e=>_(m(e,d,g,f)),x=e=>_(p(e,h,y,v)),S=0==d.ori?Tu:Lu;const C={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:_u},E=C.stroke,N=d.dir*(0==d.ori?1:-1);o=Xl(u,o,l,1),l=Xl(u,o,l,-1);let A=x(u[1==N?o:l]),M=k(c[1==N?o:l]),T=M,L=M;a&&-1==t&&(L=b,S(E,L,A)),S(E,M,A);for(let e=1==N?o:l;e>=o&&e<=l;e+=N){let n=u[e];if(null==n)continue;let r=k(c[e]),a=x(n);1==t?S(E,r,A):S(E,T,a),S(E,r,a),A=a,T=r}let P=T;a&&1==t&&(P=b+w,S(E,P,A));let[O,I]=wu(e,i);if(null!=s.fill||0!=O){let t=C.fill=new Path2D(E),n=x(s.fillTo(e,i,s.min,s.max,O));S(t,P,n),S(t,L,n)}if(!s.spanGaps){let a=[];a.push(...Cu(c,u,o,l,N,k,r));let h=s.width*Rl/2,m=n||1==t?h:-h,p=n||-1==t?-h:h;a.forEach((e=>{e[0]+=m,e[1]+=p})),C.gaps=a=s.gaps(e,i,o,l,a),C.clip=Su(a,d.ori,f,v,g,y)}return 0!=I&&(C.band=2==I?[xu(e,i,o,l,E,-1),xu(e,i,o,l,E,1)]:xu(e,i,o,l,E,I)),C}))},e.bars=function(e){const t=ls((e=e||Vs).size,[.6,Ss,1]),n=e.align||0,r=e.gap||0;let a=e.radius;a=null==a?[0,0]:"number"==typeof a?[a,0]:a;const i=Ns(a),o=1-t[0],l=ls(t[1],Ss),s=ls(t[2],1),c=ls(e.disp,Vs),u=ls(e.each,(e=>{})),{fill:d,stroke:h}=c;return(e,t,a,m)=>bu(e,t,((p,f,v,g,y,_,b,w,k,x,S)=>{let C,E,N=p.pxRound,A=n,M=r*Rl,T=l*Rl,L=s*Rl;0==g.ori?[C,E]=i(e,t):[E,C]=i(e,t);const P=g.dir*(0==g.ori?1:-1);let O,I,R,D=0==g.ori?Pu:Ou,z=0==g.ori?u:(e,t,n,r,a,i,o)=>{u(e,t,n,a,r,o,i)},F=ls(e.bands,$s).find((e=>e.series[0]==t)),j=null!=F?F.dir:0,H=p.fillTo(e,t,p.min,p.max,j),V=N(b(H,y,S,k)),$=x,U=N(p.width*Rl),B=!1,q=null,Y=null,W=null,K=null;null==d||0!=U&&null==h||(B=!0,q=d.values(e,t,a,m),Y=new Map,new Set(q).forEach((e=>{null!=e&&Y.set(e,new Path2D)})),U>0&&(W=h.values(e,t,a,m),K=new Map,new Set(W).forEach((e=>{null!=e&&K.set(e,new Path2D)}))));let{x0:Q,size:Z}=c;if(null!=Q&&null!=Z){A=1,f=Q.values(e,t,a,m),2==Q.unit&&(f=f.map((t=>e.posToVal(w+t*x,g.key,!0))));let n=Z.values(e,t,a,m);I=2==Z.unit?n[0]*x:_(n[0],g,x,w)-_(0,g,x,w),$=Uu(f,v,_,g,x,w,$),R=$-I+M}else $=Uu(f,v,_,g,x,w,$),R=$*o+M,I=$-R;R<1&&(R=0),U>=I/2&&(U=0),R<5&&(N=As);let G=R>0;I=N(Es($-R-(G?U:0),L,T)),O=(0==A?I/2:A==P?0:I)-A*P*((0==A?M/2:0)+(G?U/2:0));const J={stroke:null,fill:null,clip:null,band:null,gaps:null,flags:0},X=B?null:new Path2D;let ee=null;if(null!=F)ee=e.data[F.series[1]];else{let{y0:n,y1:r}=c;null!=n&&null!=r&&(v=r.values(e,t,a,m),ee=n.values(e,t,a,m))}let te=C*I,ne=E*I;for(let n=1==P?a:m;n>=a&&n<=m;n+=P){let r=v[n];if(null==r)continue;if(null!=ee){var re;let e=null!==(re=ee[n])&&void 0!==re?re:0;if(r-e==0)continue;V=b(e,y,S,k)}let a=_(2!=g.distr||null!=c?f[n]:n,g,x,w),i=b(ls(r,H),y,S,k),o=N(a-O),l=N(ys(i,V)),s=N(gs(i,V)),u=l-s;if(null!=r){let a=r<0?ne:te,i=r<0?te:ne;B?(U>0&&null!=W[n]&&D(K.get(W[n]),o,s+ps(U/2),I,ys(0,u-U),a,i),null!=q[n]&&D(Y.get(q[n]),o,s+ps(U/2),I,ys(0,u-U),a,i)):D(X,o,s+ps(U/2),I,ys(0,u-U),a,i),z(e,t,n,o-U/2,s,I+U,u)}}if(U>0)J.stroke=B?K:X;else if(!B){var ae;J._fill=0==p.width?p._fill:null!==(ae=p._stroke)&&void 0!==ae?ae:p._fill,J.width=0}return J.fill=B?Y:X,J}))},e.spline=function(e){return function(e,t){const n=ls(null===t||void 0===t?void 0:t.alignGaps,0);return(t,r,a,i)=>bu(t,r,((o,l,s,c,u,d,h,m,p,f,v)=>{let g,y,_,b=o.pxRound,w=e=>b(d(e,c,f,m)),k=e=>b(h(e,u,v,p));0==c.ori?(g=Au,_=Tu,y=Du):(g=Mu,_=Lu,y=zu);const x=c.dir*(0==c.ori?1:-1);a=Xl(s,a,i,1),i=Xl(s,a,i,-1);let S=w(l[1==x?a:i]),C=S,E=[],N=[];for(let e=1==x?a:i;e>=a&&e<=i;e+=x)if(null!=s[e]){let t=w(l[e]);E.push(C=t),N.push(k(s[e]))}const A={stroke:e(E,N,g,_,y,b),fill:null,clip:null,band:null,gaps:null,flags:_u},M=A.stroke;let[T,L]=wu(t,r);if(null!=o.fill||0!=T){let e=A.fill=new Path2D(M),n=k(o.fillTo(t,r,o.min,o.max,T));_(e,C,n),_(e,S,n)}if(!o.spanGaps){let e=[];e.push(...Cu(l,s,a,i,x,w,n)),A.gaps=e=o.gaps(t,r,a,i,e),A.clip=Su(e,c.ori,m,p,f,v)}return 0!=L&&(A.band=2==L?[xu(t,r,a,i,M,-1),xu(t,r,a,i,M,1)]:xu(t,r,a,i,M,L)),A}))}(Bu,e)}}const sd=e=>{let t=e.length,n=-1/0;for(;t--;){const r=e[t];Number.isFinite(r)&&r>n&&(n=r)}return Number.isFinite(n)?n:null},cd=e=>{let t=e.length,n=1/0;for(;t--;){const r=e[t];Number.isFinite(r)&&r{let t=e.length;const n=[];for(;t--;){const r=e[t];Number.isFinite(r)&&n.push(r)}return n.sort(),n[n.length>>1]},dd=e=>{let t=e.length;for(;t--;){const n=e[t];if(Number.isFinite(n))return n}},hd=(e,t,n)=>{if(void 0===e||null===e)return"";n=n||0,t=t||0;const r=Math.abs(n-t);if(isNaN(r)||0==r)return Math.abs(e)>=1e3?e.toLocaleString("en-US"):e.toString();let a=3+Math.floor(1+Math.log10(Math.max(Math.abs(t),Math.abs(n)))-Math.log10(r));return(isNaN(a)||a>20)&&(a=20),e.toLocaleString("en-US",{minimumSignificantDigits:1,maximumSignificantDigits:a})},md=e=>{const t=(null===e||void 0===e?void 0:e.metric)||{},n=Object.keys(t).filter((e=>"__name__"!=e)).map((e=>"".concat(e,"=").concat(JSON.stringify(t[e]))));let r=t.__name__||"";return n.length>0&&(r+="{"+n.join(",")+"}"),r},pd=[[31536e3,"{YYYY}",null,null,null,null,null,null,1],[2419200,"{MMM}","\n{YYYY}",null,null,null,null,null,1],[86400,"{MM}-{DD}","\n{YYYY}",null,null,null,null,null,1],[3600,"{HH}:{mm}","\n{YYYY}-{MM}-{DD}",null,"\n{MM}-{DD}",null,null,null,1],[60,"{HH}:{mm}","\n{YYYY}-{MM}-{DD}",null,"\n{MM}-{DD}",null,null,null,1],[1,"{HH}:{mm}:{ss}","\n{YYYY}-{MM}-{DD}",null,"\n{MM}-{DD} {HH}:{mm}",null,null,null,1],[.001,":{ss}.{fff}","\n{YYYY}-{MM}-{DD} {HH}:{mm}",null,"\n{MM}-{DD} {HH}:{mm}",null,"\n{HH}:{mm}",null,1]],fd=(e,t)=>Array.from(new Set(e.map((e=>e.scale)))).map((e=>{const n="10px Arial",r=vt("color-text"),a={scale:e,show:!0,size:gd,stroke:r,font:n,values:(e,n)=>function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";const r=t[0],a=t[t.length-1];return n?t.map((e=>"".concat(hd(e,r,a)," ").concat(n))):t.map((e=>hd(e,r,a)))}(e,n,t)};return e?Number(e)%2?a:{...a,side:1}:{space:80,values:pd,stroke:r,font:n}})),vd=(e,t)=>{if(null==e||null==t)return[-1,1];const n=.02*(Math.abs(t-e)||Math.abs(e)||1);return[e-n,t+n]},gd=(e,t,n,r)=>{var a;const i=e.axes[n];if(r>1)return i._size||60;let o=6+((null===i||void 0===i||null===(a=i.ticks)||void 0===a?void 0:a.size)||0)+(i.gap||0);const l=(null!==t&&void 0!==t?t:[]).reduce(((e,t)=>(null===t||void 0===t?void 0:t.length)>e.length?t:e),"");return""!=l&&(o+=((e,t)=>{const n=document.createElement("span");n.innerText=e,n.style.cssText="position: absolute; z-index: -1; pointer-events: none; opacity: 0; font: ".concat(t),document.body.appendChild(n);const r=n.offsetWidth;return n.remove(),r})(l,"10px Arial")),Math.ceil(o)},yd=["#e54040","#32a9dc","#2ee329","#7126a1","#e38f0f","#3d811a","#ffea00","#2d2d2d","#da42a6","#a44e0c"],_d=e=>{if(7!=e.length)return"0, 0, 0";const t=parseInt(e.slice(1,3),16),n=parseInt(e.slice(3,5),16),r=parseInt(e.slice(5,7),16);return"".concat(t,", ").concat(n,", ").concat(r)},bd={[dt.yhatUpper]:"#7126a1",[dt.yhatLower]:"#7126a1",[dt.yhat]:"#da42a6",[dt.anomaly]:"#da4242",[dt.anomalyScore]:"#7126a1",[dt.actual]:"#203ea9",[dt.training]:"rgba(".concat(_d("#203ea9"),", 0.2)")},wd=e=>{const t=16777215;let n=1,r=0,a=1;if(e.length>0)for(let o=0;or&&(r=e[o].charCodeAt(0)),a=parseInt(String(t/r)),n=(n+e[o].charCodeAt(0)*a*49979693)%t;let i=(n*e.length%t).toString(16);return i=i.padEnd(6,i),"#".concat(i)},kd=((e,t,n)=>{const r=[];for(let a=0;aMath.round(e))).join(", "))}return r.map((e=>"rgb(".concat(e,")")))})([246,226,219],[127,39,4],16),xd=()=>(e,t)=>{const n=Math.round(devicePixelRatio);ld.orient(e,t,((r,a,i,o,l,s,c,u,d,h,m,p,f,v)=>{const[g,y,_]=e.data[t],b=g.length,w=((e,t)=>{const n=e.data[t][2],r=kd;let a=1/0,i=-1/0;for(let c=0;c0&&(a=Math.min(a,n[c]),i=Math.max(i,n[c]));const o=i-a,l=r.length,s=Array(n.length);for(let c=0;cnew Path2D)),S=b-y.lastIndexOf(y[0]),C=b/S,E=y[1]-y[0],N=g[S]-g[0],A=s(N,o,h,u)-s(0,o,h,u)-n,M=c(E,l,m,d)-c(0,l,m,d)+n,T=y.slice(0,S).map((e=>Math.round(c(e,l,m,d)-M/2))),L=Array.from({length:C},((e,t)=>Math.round(s(g[t*S],o,h,u)-A)));for(let e=0;e0&&g[e]>=(o.min||-1/0)&&g[e]<=(o.max||1/0)&&y[e]>=(l.min||-1/0)&&y[e]<=(l.max||1/0)){const t=L[~~(e/S)],n=T[e%S];v(x[w[e]],t,n,A,M)}e.ctx.save(),e.ctx.rect(e.bbox.left,e.bbox.top,e.bbox.width,e.bbox.height),e.ctx.clip(),x.forEach(((t,n)=>{e.ctx.fillStyle=k[n],e.ctx.fill(t)})),e.ctx.restore()}))},Sd=e=>{const t=(e.metric.vmrange||e.metric.le||"").split("...");return Zo(t[t.length-1])},Cd=(e,t)=>Sd(e)-Sd(t),Ed=(e,t)=>{if(!t)return e;const n=(e=>{var t;if(!e.every((e=>e.metric.le)))return e;const n=e.sort(((e,t)=>parseFloat(e.metric.le)-parseFloat(t.metric.le))),r=(null===(t=e[0])||void 0===t?void 0:t.group)||1;let a={metric:{le:""},values:[],group:r};const i=[];for(const l of n){const e=[a.metric.le,l.metric.le].filter((e=>e)).join("..."),t=[];for(const[n,r]of l.values){var o;const e=+r-+((null===(o=a.values.find((e=>e[0]===n)))||void 0===o?void 0:o[1])||0);t.push([n,"".concat(e)])}i.push({metric:{vmrange:e},values:t,group:r}),a=l}return i})(e.sort(Cd)),r={};n.forEach((e=>e.values.forEach((e=>{let[t,n]=e;r[t]=(r[t]||0)+ +n}))));return n.map((e=>{const t=e.values.map((e=>{let[t,n]=e;const a=r[t];return[t,"".concat(Math.round(+n/a*100))]}));return{...e,values:t}})).filter((e=>!e.values.every((e=>"0"===e[1]))))},Nd=e=>{const t=["__name__","for"];return Object.entries(e).filter((e=>{let[n]=e;return!t.includes(n)})).map((e=>{let[t,n]=e;return"".concat(t,": ").concat(n)})).join(",")},Ad=(e,t,n,r)=>{const a={},i=r?0:Math.min(e.length,yd.length);for(let o=0;o{const l=r?(e=>{const t=(null===e||void 0===e?void 0:e.__name__)||"",n=new RegExp("(".concat(Object.values(dt).join("|"),")$")),r=t.match(n),a=r&&r[0];return{value:/(?:^|[^a-zA-Z0-9_])y(?:$|[^a-zA-Z0-9_])/.test(t)?dt.actual:a,group:Nd(e)}})(e[o].metric):null,s=r?(null===l||void 0===l?void 0:l.group)||"":Qo(i,n[i.group-1]);return{label:s,dash:Od(l),width:Id(l),stroke:Dd({metricInfo:l,label:s,isAnomalyUI:r,colorState:a}),points:Rd(l),spanGaps:!1,forecast:null===l||void 0===l?void 0:l.value,forecastGroup:null===l||void 0===l?void 0:l.group,freeFormFields:i.metric,show:!Ld(s,t),scale:"1",...Md(i)}}},Md=e=>{const t=e.values.map((e=>Zo(e[1]))),{min:n,max:r,median:a,last:i}={min:cd(t),max:sd(t),median:ud(t),last:dd(t)};return{median:a,statsFormatted:{min:hd(n,n,r),max:hd(r,n,r),median:hd(a,n,r),last:hd(i,n,r)}}},Td=(e,t)=>({group:t,label:e.label||"",color:e.stroke,checked:e.show||!1,freeFormFields:e.freeFormFields,statsFormatted:e.statsFormatted,median:e.median}),Ld=(e,t)=>t.includes("".concat(e)),Pd=e=>{for(let t=e.series.length-1;t>=0;t--)e.delSeries(t)},Od=e=>{const t=(null===e||void 0===e?void 0:e.value)===dt.yhatLower,n=(null===e||void 0===e?void 0:e.value)===dt.yhatUpper,r=(null===e||void 0===e?void 0:e.value)===dt.yhat;return t||n?[10,5]:r?[10,2]:[]},Id=e=>{const t=(null===e||void 0===e?void 0:e.value)===dt.yhatLower,n=(null===e||void 0===e?void 0:e.value)===dt.yhatUpper,r=(null===e||void 0===e?void 0:e.value)===dt.yhat,a=(null===e||void 0===e?void 0:e.value)===dt.anomaly;return n||t?.7:r?1:a?0:1.4},Rd=e=>(null===e||void 0===e?void 0:e.value)===dt.anomaly?{size:8,width:4,space:0}:{size:4.2,width:1.4},Dd=e=>{let{metricInfo:t,label:n,isAnomalyUI:r,colorState:a}=e;const i=a[n]||wd(n),o=(null===t||void 0===t?void 0:t.value)===dt.anomaly;return r&&o?bd[dt.anomaly]:!r||o||null!==t&&void 0!==t&&t.value?null!==t&&void 0!==t&&t.value?null!==t&&void 0!==t&&t.value?bd[null===t||void 0===t?void 0:t.value]:i:a[n]||wd(n):bd[dt.actual]},zd=e=>{let{width:t=400,height:n=500}=e;return{width:t,height:n,series:[],tzDate:e=>i()(Jt(en(e))).local().toDate(),legend:{show:!1},cursor:{drag:{x:!0,y:!1},focus:{prox:30},points:{size:5.6,width:1.4},bind:{click:()=>null,dblclick:()=>null}}}},Fd=e=>{Pd(e),(e=>{Object.keys(e.hooks).forEach((t=>{e.hooks[t]=[]}))})(e),e.setData([])},jd=e=>{let{min:t,max:n}=e;return[t,n]},Hd=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3?arguments[3]:void 0,a=arguments.length>4?arguments[4]:void 0;return a.limits.enable?a.limits.range[r]:vd(t,n)},Vd=(e,t)=>{const n={x:{range:()=>jd(t)}},r=Object.keys(e.limits.range);return(r.length?r:["1"]).forEach((t=>{n[t]={range:function(n){return Hd(n,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,t,e)}}})),n},$d=e=>t=>{const n=t.posToVal(t.select.left,"x"),r=t.posToVal(t.select.left+t.select.width,"x");e({min:n,max:r})};function Ud(e){const t=_d(bd[e]);return"rgba(".concat(t,", 0.05)")}const Bd=e=>(e=>e instanceof MouseEvent)(e)?e.clientX:e.touches[0].clientX,qd=e=>{let{dragSpeed:t=.85,setPanning:n,setPlotScale:a}=e;const i=(0,r.useRef)({leftStart:0,xUnitsPerPx:0,scXMin:0,scXMax:0}),o=e=>{e.preventDefault();const n=Bd(e),{leftStart:r,xUnitsPerPx:o,scXMin:l,scXMax:s}=i.current,c=o*((n-r)*t);a({min:l-c,max:s-c})},l=()=>{n(!1),document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",l),document.removeEventListener("touchmove",o),document.removeEventListener("touchend",l)};return e=>{let{e:t,u:r}=e;t.preventDefault(),n(!0),i.current={leftStart:Bd(t),xUnitsPerPx:r.posToVal(1,"x")-r.posToVal(0,"x"),scXMin:r.scales.x.min||0,scXMax:r.scales.x.max||0},document.addEventListener("mousemove",o),document.addEventListener("mouseup",l),document.addEventListener("touchmove",o),document.addEventListener("touchend",l)}},Yd=e=>{const[t,n]=(0,r.useState)(!1),a=qd({dragSpeed:.9,setPanning:n,setPlotScale:e});return{onReadyChart:t=>{const n=e=>{const n=e instanceof MouseEvent&&(e=>{const{ctrlKey:t,metaKey:n,button:r}=e;return 0===r&&(t||n)})(e),r=window.TouchEvent&&e instanceof TouchEvent&&e.touches.length>1;(n||r)&&a({u:t,e:e})};t.over.addEventListener("mousedown",n),t.over.addEventListener("touchstart",n),t.over.addEventListener("wheel",(n=>{if(!n.ctrlKey&&!n.metaKey)return;n.preventDefault();const{width:r}=t.over.getBoundingClientRect(),a=t.cursor.left&&t.cursor.left>0?t.cursor.left:0,i=t.posToVal(a,"x"),o=(t.scales.x.max||0)-(t.scales.x.min||0),l=n.deltaY<0?.9*o:o/.9,s=i-a/r*l,c=s+l;t.batch((()=>e({min:s,max:c})))}))},isPanning:t}},Wd=e=>{const t=e[0].clientX-e[1].clientX,n=e[0].clientY-e[1].clientY;return Math.sqrt(t*t+n*n)},Kd=e=>{let{uPlotInst:t,xRange:n,setPlotScale:a}=e;const[i,o]=(0,r.useState)(0),l=(0,r.useCallback)((e=>{const{target:r,ctrlKey:i,metaKey:o,key:l}=e,s=r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement;if(!t||s)return;const c="+"===l||"="===l;if(("-"===l||c)&&!(i||o)){e.preventDefault();const t=(n.max-n.min)/10*(c?1:-1);a({min:n.min+t,max:n.max-t})}}),[t,n]),s=(0,r.useCallback)((e=>{if(!t||2!==e.touches.length)return;e.preventDefault();const r=Wd(e.touches),o=i-r,l=t.scales.x.max||n.max,s=t.scales.x.min||n.min,c=(l-s)/50*(o>0?-1:1);t.batch((()=>a({min:s+c,max:l-c})))}),[t,i,n]);return Sr("keydown",l),Sr("touchmove",s),Sr("touchstart",(e=>{2===e.touches.length&&(e.preventDefault(),o(Wd(e.touches)))})),null},Qd=e=>{let{period:t,setPeriod:n}=e;const[a,o]=(0,r.useState)({min:t.start,max:t.end});return(0,r.useEffect)((()=>{o({min:t.start,max:t.end})}),[t]),{xRange:a,setPlotScale:e=>{let{min:t,max:r}=e;const a=1e3*(r-t);ajt||n({from:i()(1e3*t).toDate(),to:i()(1e3*r).toDate()})}}},Zd=e=>{let{u:t,metrics:n,series:a,unit:o,isAnomalyView:l}=e;const[s,c]=(0,r.useState)(!1),[u,d]=(0,r.useState)({seriesIdx:-1,dataIdx:-1}),[h,m]=(0,r.useState)([]),p=(0,r.useCallback)((()=>{const{seriesIdx:e,dataIdx:r}=u,s=n[e-1],c=a[e],d=new Set(n.map((e=>e.group))),h=(null===s||void 0===s?void 0:s.group)||0,m=it()(t,["data",e,r],0),p=it()(t,["scales","1","min"],0),f=it()(t,["scales","1","max"],1),v=it()(t,["data",0,r],0),g={top:t?t.valToPos(m||0,(null===c||void 0===c?void 0:c.scale)||"1"):0,left:t?t.valToPos(v,"x"):0};return{unit:o,point:g,u:t,id:"".concat(e,"_").concat(r),title:d.size>1&&!l?"Query ".concat(h):"",dates:[v?i()(1e3*v).tz().format(Ot):"-"],value:hd(m,p,f),info:md(s),statsFormatted:null===c||void 0===c?void 0:c.statsFormatted,marker:"".concat(null===c||void 0===c?void 0:c.stroke)}}),[t,u,n,a,o,l]),f=(0,r.useCallback)((()=>{if(!s)return;const e=p();h.find((t=>t.id===e.id))||m((t=>[...t,e]))}),[p,h,s]);return(0,r.useEffect)((()=>{c(-1!==u.dataIdx&&-1!==u.seriesIdx)}),[u]),Sr("click",f),{showTooltip:s,stickyTooltips:h,handleUnStick:e=>{m((t=>t.filter((t=>t.id!==e))))},getTooltipProps:p,seriesFocus:(e,t)=>{const n=null!==t&&void 0!==t?t:-1;d((e=>({...e,seriesIdx:n})))},setCursor:e=>{var t;const n=null!==(t=e.cursor.idx)&&void 0!==t?t:-1;d((e=>({...e,dataIdx:n})))},resetTooltips:()=>{m([]),d({seriesIdx:-1,dataIdx:-1})}}},Gd=e=>{let{u:t,id:n,title:a,dates:i,value:o,point:l,unit:s="",info:c,statsFormatted:u,isSticky:d,marker:h,onClose:m}=e;const p=(0,r.useRef)(null),[f,v]=(0,r.useState)({top:-999,left:-999}),[g,y]=(0,r.useState)(!1),[_,b]=(0,r.useState)(!1),w=(0,r.useCallback)((e=>{if(!g)return;const{clientX:t,clientY:n}=e;v({top:n,left:t})}),[g]);return(0,r.useEffect)((()=>{if(!p.current||!t)return;const{top:e,left:n}=l,r=parseFloat(t.over.style.left),a=parseFloat(t.over.style.top),{width:i,height:o}=t.over.getBoundingClientRect(),{width:s,height:c}=p.current.getBoundingClientRect(),u={top:e+a+10-(e+c>=o?c+20:0),left:n+r+10-(n+s>=i?s+20:0)};u.left<0&&(u.left=20),u.top<0&&(u.top=20),v(u)}),[t,o,l,p]),Sr("mousemove",w),Sr("mouseup",(()=>{y(!1)})),t?r.default.createPortal(Et("div",{className:wr()({"vm-chart-tooltip":!0,"vm-chart-tooltip_sticky":d,"vm-chart-tooltip_moved":_}),ref:p,style:f,children:[Et("div",{className:"vm-chart-tooltip-header",children:[a&&Et("div",{className:"vm-chart-tooltip-header__title",children:a}),Et("div",{className:"vm-chart-tooltip-header__date",children:i.map(((e,t)=>Et("span",{children:e},t)))}),d&&Et(St.FK,{children:[Et(ea,{className:"vm-chart-tooltip-header__drag",variant:"text",size:"small",startIcon:Et(rr,{}),onMouseDown:e=>{b(!0),y(!0);const{clientX:t,clientY:n}=e;v({top:n,left:t})},ariaLabel:"drag the tooltip"}),Et(ea,{className:"vm-chart-tooltip-header__close",variant:"text",size:"small",startIcon:Et(Ln,{}),onClick:()=>{m&&m(n)},ariaLabel:"close the tooltip"})]})]}),Et("div",{className:"vm-chart-tooltip-data",children:[h&&Et("span",{className:"vm-chart-tooltip-data__marker",style:{background:h}}),Et("p",{className:"vm-chart-tooltip-data__value",children:[Et("b",{children:o}),s]})]}),u&&Et("table",{className:"vm-chart-tooltip-stats",children:st.map(((e,t)=>Et("div",{className:"vm-chart-tooltip-stats-row",children:[Et("span",{className:"vm-chart-tooltip-stats-row__key",children:[e,":"]}),Et("span",{className:"vm-chart-tooltip-stats-row__value",children:u[e]})]},t)))}),c&&Et("p",{className:"vm-chart-tooltip__info",children:c})]}),t.root):null},Jd=e=>{let{showTooltip:t,tooltipProps:n,stickyTooltips:a,handleUnStick:i}=e;return Et(St.FK,{children:[t&&n&&Et(Gd,{...n}),a.map((e=>(0,r.createElement)(Gd,{...e,isSticky:!0,key:e.id,onClose:i})))]})},Xd=e=>{let{data:t,series:n,metrics:a=[],period:i,yaxis:o,unit:l,setPeriod:s,layoutSize:c,height:u,isAnomalyView:d,spanGaps:h=!1}=e;const{isDarkTheme:m}=At(),p=(0,r.useRef)(null),[f,v]=(0,r.useState)(),{xRange:g,setPlotScale:y}=Qd({period:i,setPeriod:s}),{onReadyChart:_,isPanning:b}=Yd(y);Kd({uPlotInst:f,xRange:g,setPlotScale:y});const{showTooltip:w,stickyTooltips:k,handleUnStick:x,getTooltipProps:S,seriesFocus:C,setCursor:E,resetTooltips:N}=Zd({u:f,metrics:a,series:n,unit:l,isAnomalyView:d}),A={...zd({width:c.width,height:u}),series:n,axes:fd([{},{scale:"1"}],l),scales:Vd(o,g),hooks:{ready:[_],setSeries:[C],setCursor:[E],setSelect:[$d(y)],destroy:[Fd]},bands:[]};return(0,r.useEffect)((()=>{if(N(),!p.current)return;f&&f.destroy();const e=new ld(A,t,p.current);return v(e),e.destroy}),[p,m]),(0,r.useEffect)((()=>{f&&(f.setData(t),f.redraw())}),[t]),(0,r.useEffect)((()=>{f&&(Pd(f),function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t.forEach((t=>{t.label&&(t.spanGaps=n),e.addSeries(t)}))}(f,n,h),((e,t)=>{if(e.delBand(),t.length<2)return;const n=t.map(((e,t)=>({...e,index:t}))),r=n.filter((e=>e.forecast===dt.yhatUpper)),a=n.filter((e=>e.forecast===dt.yhatLower)),i=r.map((e=>{const t=a.find((t=>t.forecastGroup===e.forecastGroup));return t?{series:[e.index,t.index],fill:Ud(dt.yhatUpper)}:null})).filter((e=>null!==e));i.length&&i.forEach((t=>{e.addBand(t)}))})(f,n),f.redraw())}),[n,h]),(0,r.useEffect)((()=>{f&&(Object.keys(o.limits.range).forEach((e=>{f.scales[e]&&(f.scales[e].range=function(t){return Hd(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,e,o)})})),f.redraw())}),[o]),(0,r.useEffect)((()=>{f&&(f.scales.x.range=()=>jd(g),f.redraw())}),[g]),(0,r.useEffect)((()=>{f&&(f.setSize({width:c.width||400,height:u||500}),f.redraw())}),[u,c]),Et("div",{className:wr()({"vm-line-chart":!0,"vm-line-chart_panning":b}),style:{minWidth:"".concat(c.width||400,"px"),minHeight:"".concat(u||500,"px")},children:[Et("div",{className:"vm-line-chart__u-plot",ref:p}),Et(Jd,{showTooltip:w,tooltipProps:S(),stickyTooltips:k,handleUnStick:x})]})},eh=e=>{let{legend:t,onChange:n,isHeatmap:a,isAnomalyView:i}=e;const o=Fo(),l=(0,r.useMemo)((()=>{const e=(e=>{const t=Object.keys(e.freeFormFields).filter((e=>"__name__"!==e));return t.map((t=>{const n="".concat(t,"=").concat(JSON.stringify(e.freeFormFields[t]));return{id:"".concat(e.label,".").concat(n),freeField:n,key:t}}))})(t);return a?e.filter((e=>"vmrange"!==e.key)):e}),[t,a]),s=t.statsFormatted,c=Object.values(s).some((e=>e)),u=e=>t=>{t.stopPropagation(),(async e=>{await o(e,"".concat(e," has been copied"))})(e)};return Et("div",{className:wr()({"vm-legend-item":!0,"vm-legend-row":!0,"vm-legend-item_hide":!t.checked&&!a,"vm-legend-item_static":a}),onClick:(e=>t=>{n&&n(e,t.ctrlKey||t.metaKey)})(t),children:[!i&&!a&&Et("div",{className:"vm-legend-item__marker",style:{backgroundColor:t.color}}),Et("div",{className:"vm-legend-item-info",children:Et("span",{className:"vm-legend-item-info__label",children:[t.freeFormFields.__name__,!!l.length&&Et(St.FK,{children:"{"}),l.map(((e,t)=>Et("span",{className:"vm-legend-item-info__free-fields",onClick:u(e.freeField),title:"copy to clipboard",children:[e.freeField,t+1Et("div",{className:"vm-legend-item-stats-row",children:[Et("span",{className:"vm-legend-item-stats-row__key",children:[e,":"]}),Et("span",{className:"vm-legend-item-stats-row__value",children:s[e]})]},t)))})]})},th=e=>{let{labels:t,query:n,isAnomalyView:a,onChange:i}=e;const o=(0,r.useMemo)((()=>Array.from(new Set(t.map((e=>e.group))))),[t]),l=o.length>1;return Et(St.FK,{children:Et("div",{className:"vm-legend",children:o.map((e=>Et("div",{className:"vm-legend-group",children:Et(ci,{defaultExpanded:!0,title:Et("div",{className:"vm-legend-group-title",children:[l&&Et("span",{className:"vm-legend-group-title__count",children:["Query ",e,": "]}),Et("span",{className:"vm-legend-group-title__query",children:n[e-1]})]}),children:Et("div",{children:t.filter((t=>t.group===e)).sort(((e,t)=>(t.median||0)-(e.median||0))).map((e=>Et(eh,{legend:e,isAnomalyView:a,onChange:i},e.label)))})})},e)))})})},nh=e=>{var t;let{min:n,max:a,legendValue:i,series:o}=e;const[l,s]=(0,r.useState)(0),[c,u]=(0,r.useState)(""),[d,h]=(0,r.useState)(""),[m,p]=(0,r.useState)(""),f=(0,r.useMemo)((()=>parseFloat(String((null===i||void 0===i?void 0:i.value)||0).replace("%",""))),[i]);return(0,r.useEffect)((()=>{s(f?(f-n)/(a-n)*100:0),u(f?"".concat(f,"%"):""),h("".concat(n,"%")),p("".concat(a,"%"))}),[f,n,a]),Et("div",{className:"vm-legend-heatmap__wrapper",children:[Et("div",{className:"vm-legend-heatmap",children:[Et("div",{className:"vm-legend-heatmap-gradient",style:{background:"linear-gradient(to right, ".concat(kd.join(", "),")")},children:!!f&&Et("div",{className:"vm-legend-heatmap-gradient__value",style:{left:"".concat(l,"%")},children:Et("span",{children:c})})}),Et("div",{className:"vm-legend-heatmap__value",children:d}),Et("div",{className:"vm-legend-heatmap__value",children:m})]}),o[1]&&Et(eh,{legend:o[1],isHeatmap:!0},null===(t=o[1])||void 0===t?void 0:t.label)]})},rh=e=>{let{u:t,metrics:n,unit:a}=e;const[o,l]=(0,r.useState)({left:0,top:0}),[s,c]=(0,r.useState)([]),u=(0,r.useCallback)((()=>{var e;const{left:r,top:l}=o,s=it()(t,["data",1,0],[])||[],c=t?t.posToVal(r,"x"):0,u=t?t.posToVal(l,"y"):0,d=s.findIndex(((e,t)=>c>=e&&ce[0]===h))||[],v=s[d],g=i()(1e3*v).tz().format(Ot),y=i()(1e3*p).tz().format(Ot),_=(null===m||void 0===m||null===(e=m.metric)||void 0===e?void 0:e.vmrange)||"";return{unit:a,point:o,u:t,id:"".concat(_,"_").concat(g),dates:[g,y],value:"".concat(f,"%"),info:_,show:+f>0}}),[t,o,n,a]),d=(0,r.useCallback)((()=>{const e=u();e.show&&(s.find((t=>t.id===e.id))||c((t=>[...t,e])))}),[u,s]);return Sr("click",d),{stickyTooltips:s,handleUnStick:e=>{c((t=>t.filter((t=>t.id!==e))))},getTooltipProps:u,setCursor:e=>{const t=e.cursor.left||0,n=e.cursor.top||0;l({left:t,top:n})},resetTooltips:()=>{c([]),l({left:0,top:0})}}},ah=e=>{let{data:t,metrics:n=[],period:a,unit:i,setPeriod:o,layoutSize:l,height:s,onChangeLegend:c}=e;const{isDarkTheme:u}=At(),d=(0,r.useRef)(null),[h,m]=(0,r.useState)(),{xRange:p,setPlotScale:f}=Qd({period:a,setPeriod:o}),{onReadyChart:v,isPanning:g}=Yd(f);Kd({uPlotInst:h,xRange:p,setPlotScale:f});const{stickyTooltips:y,handleUnStick:_,getTooltipProps:b,setCursor:w,resetTooltips:k}=rh({u:h,metrics:n,unit:i}),x=(0,r.useMemo)((()=>b()),[b]),S={...zd({width:l.width,height:s}),mode:2,series:[{},{paths:xd(),facets:[{scale:"x",auto:!0,sorted:1},{scale:"y",auto:!0}]}],axes:(()=>{const e=fd([{}],i);return[...e,{scale:"y",stroke:e[0].stroke,font:e[0].font,size:gd,splits:n.map(((e,t)=>t)),values:n.map((e=>e.metric.vmrange))}]})(),scales:{x:{time:!0},y:{log:2,time:!1,range:(e,t,n)=>[t-1,n+1]}},hooks:{ready:[v],setCursor:[w],setSelect:[$d(f)],destroy:[Fd]}};return(0,r.useEffect)((()=>{k();const e=null===t[0]&&Array.isArray(t[1]);if(!d.current||!e)return;const n=new ld(S,t,d.current);return m(n),n.destroy}),[d,t,u]),(0,r.useEffect)((()=>{h&&(h.setSize({width:l.width||400,height:s||500}),h.redraw())}),[s,l]),(0,r.useEffect)((()=>{c(x)}),[x]),Et("div",{className:wr()({"vm-line-chart":!0,"vm-line-chart_panning":g}),style:{minWidth:"".concat(l.width||400,"px"),minHeight:"".concat(s||500,"px")},children:[Et("div",{className:"vm-line-chart__u-plot",ref:d}),Et(Jd,{showTooltip:!!x.show,tooltipProps:x,stickyTooltips:y,handleUnStick:_})]})},ih=()=>{const[e,t]=(0,r.useState)(null),[n,a]=(0,r.useState)({width:0,height:0}),i=(0,r.useCallback)((()=>{a({width:(null===e||void 0===e?void 0:e.offsetWidth)||0,height:(null===e||void 0===e?void 0:e.offsetHeight)||0})}),[null===e||void 0===e?void 0:e.offsetHeight,null===e||void 0===e?void 0:e.offsetWidth]);return Sr("resize",i),(0,r.useEffect)(i,[null===e||void 0===e?void 0:e.offsetHeight,null===e||void 0===e?void 0:e.offsetWidth]),[t,n]},oh={[dt.yhat]:"yhat",[dt.yhatLower]:"yhat_upper - yhat_lower",[dt.yhatUpper]:"yhat_upper - yhat_lower",[dt.anomaly]:"anomalies",[dt.training]:"training data",[dt.actual]:"y"},lh=e=>{let{series:t}=e;const n=(0,r.useMemo)((()=>{const e=t.reduce(((e,t)=>{const n=Object.prototype.hasOwnProperty.call(t,"forecast"),r=t.forecast!==dt.yhatUpper,a=!e.find((e=>e.forecast===t.forecast));return n&&a&&r&&e.push(t),e}),[]),n={...e[0],forecast:dt.training,color:bd[dt.training]};return e.splice(1,0,n),e.map((e=>({...e,color:"string"===typeof e.stroke?e.stroke:bd[e.forecast||dt.actual]})))}),[t]);return Et(St.FK,{children:Et("div",{className:"vm-legend-anomaly",children:n.filter((e=>e.forecast!==dt.training)).map(((e,t)=>{var n;return Et("div",{className:"vm-legend-anomaly-item",children:[Et("svg",{children:e.forecast===dt.anomaly?Et("circle",{cx:"15",cy:"7",r:"4",fill:e.color,stroke:e.color,strokeWidth:"1.4"}):Et("line",{x1:"0",y1:"7",x2:"30",y2:"7",stroke:e.color,strokeWidth:e.width||1,strokeDasharray:null===(n=e.dash)||void 0===n?void 0:n.join(",")})}),Et("div",{className:"vm-legend-anomaly-item__title",children:oh[e.forecast||dt.actual]})]},"".concat(t,"_").concat(e.forecast))}))})})},sh=e=>{let{data:t=[],period:n,customStep:a,query:i,yaxis:o,unit:l,showLegend:s=!0,setYaxisLimits:c,setPeriod:u,alias:d=[],fullWidth:h=!0,height:m,isHistogram:p,isAnomalyView:f,spanGaps:v}=e;const{isMobile:g}=Ur(),{timezone:y}=pn(),_=(0,r.useMemo)((()=>a||n.step||"1s"),[n.step,a]),b=(0,r.useMemo)((()=>Ed(t,p)),[p,t]),[w,k]=(0,r.useState)([[]]),[x,S]=(0,r.useState)([]),[C,E]=(0,r.useState)([]),[N,A]=(0,r.useState)([]),[M,T]=(0,r.useState)(null),L=(0,r.useMemo)((()=>Ad(b,N,d,f)),[b,N,d,f]),P=e=>{const t=((e,t)=>{const n={},r=Object.values(e).flat(),a=cd(r)||0,i=sd(r)||1;return n[1]=t?vd(a,i):[a,i],n})(e,!p);c(t)},O=e=>{if(!f)return e;const t=function(e,t){const n=e.reduce(((e,n)=>{const r=t.map((e=>"".concat(e,": ").concat(n[e]||"-"))).join("|");return(e[r]=e[r]||[]).push(n),e}),{});return Object.entries(n).map((e=>{let[t,n]=e;return{keys:t.split("|"),values:n}}))}(e,["group","label"]);return t.map((e=>{const t=e.values[0];return{...t,freeFormFields:{...t.freeFormFields,__name__:""}}}))};(0,r.useEffect)((()=>{const e=[],t={},r=[],a=[{}];null===b||void 0===b||b.forEach(((n,i)=>{const o=L(n,i);a.push(o),r.push(Td(o,n.group));const l=t[n.group]||[];for(const t of n.values)e.push(t[0]),l.push(Zo(t[1]));t[n.group]=l}));const i=((e,t,n)=>{const r=Kt(t)||1,a=Array.from(new Set(e)).sort(((e,t)=>e-t));let i=n.start;const o=Bt(n.end+r);let l=0;const s=[];for(;i<=o;){for(;l=a.length||a[l]>i)&&s.push(i)}for(;s.length<2;)s.push(i),i=Bt(i+r);return s})(e,_,n),o=b.map((e=>{const t=[],n=e.values,r=n.length;let a=0;for(const u of i){for(;anull!==e)),l=Math.abs((e=>{let t=e[0],n=1;for(let r=1;r1e10*c&&!f?t.map((()=>l)):t}));o.unshift(i),P(t);const l=p?(e=>{const t=e.slice(1,e.length),n=[],r=[];t.forEach(((e,n)=>{e.forEach(((e,a)=>{const i=a*t.length+n;r[i]=e}))})),e[0].forEach((e=>{const r=new Array(t.length).fill(e);n.push(...r)}));const a=new Array(n.length).fill(0).map(((e,n)=>n%t.length));return[null,[n,a,r]]})(o):o;k(l),S(a);const s=O(r);E(s),f&&A(s.map((e=>e.label||"")).slice(1))}),[b,y,p]),(0,r.useEffect)((()=>{const e=[],t=[{}];null===b||void 0===b||b.forEach(((n,r)=>{const a=L(n,r);t.push(a),e.push(Td(a,n.group))})),S(t),E(O(e))}),[N]);const[I,R]=ih();return Et("div",{className:wr()({"vm-graph-view":!0,"vm-graph-view_full-width":h,"vm-graph-view_full-width_mobile":h&&g}),ref:I,children:[!p&&Et(Xd,{data:w,series:x,metrics:b,period:n,yaxis:o,unit:l,setPeriod:u,layoutSize:R,height:m,isAnomalyView:f,spanGaps:v}),p&&Et(ah,{data:w,metrics:b,period:n,unit:l,setPeriod:u,layoutSize:R,height:m,onChangeLegend:T}),f&&s&&Et(lh,{series:x}),!p&&s&&Et(th,{labels:C,query:i,isAnomalyView:f,onChange:(e,t)=>{A((e=>{let{hideSeries:t,legend:n,metaKey:r,series:a,isAnomalyView:i}=e;const{label:o}=n,l=Ld(o,t),s=a.map((e=>e.label||""));return i?s.filter((e=>e!==o)):r?l?t.filter((e=>e!==o)):[...t,o]:t.length?l?[...s.filter((e=>e!==o))]:[]:[...s.filter((e=>e!==o))]})({hideSeries:N,legend:e,metaKey:t,series:x,isAnomalyView:f}))}}),p&&s&&Et(nh,{series:x,min:o.limits.range[1][0]||0,max:o.limits.range[1][1]||0,legendValue:M})]})},ch=e=>{let{yaxis:t,setYaxisLimits:n,toggleEnableLimits:a}=e;const{isMobile:i}=Ur(),o=(0,r.useMemo)((()=>Object.keys(t.limits.range)),[t.limits.range]),l=(0,r.useCallback)(Ni()(((e,r,a)=>{const i=t.limits.range;i[r][a]=+e,i[r][0]===i[r][1]||i[r][0]>i[r][1]||n(i)}),500),[t.limits.range]),s=(e,t)=>n=>{l(n,e,t)};return Et("div",{className:wr()({"vm-axes-limits":!0,"vm-axes-limits_mobile":i}),children:[Et(Io,{value:t.limits.enable,onChange:a,label:"Fix the limits for y-axis",fullWidth:i}),Et("div",{className:"vm-axes-limits-list",children:o.map((e=>Et("div",{className:"vm-axes-limits-list__inputs",children:[Et(Da,{label:"Min ".concat(e),type:"number",disabled:!t.limits.enable,value:t.limits.range[e][0],onChange:s(e,0)}),Et(Da,{label:"Max ".concat(e),type:"number",disabled:!t.limits.enable,value:t.limits.range[e][1],onChange:s(e,1)})]},e)))})]})},uh=e=>{let{spanGaps:t,onChange:n}=e;const{isMobile:r}=Ur();return Et("div",{children:Et(Io,{value:t,onChange:n,label:"Connect null values",fullWidth:r})})},dh="Graph settings",hh=e=>{let{yaxis:t,setYaxisLimits:n,toggleEnableLimits:a,spanGaps:i}=e;const o=(0,r.useRef)(null),l=(0,r.useRef)(null),{value:s,toggle:c,setFalse:u}=na(!1);return Et("div",{className:"vm-graph-settings",children:[Et(da,{title:dh,children:Et("div",{ref:l,children:Et(ea,{variant:"text",startIcon:Et(Tn,{}),onClick:c,ariaLabel:"settings"})})}),Et(ta,{open:s,buttonRef:l,placement:"bottom-right",onClose:u,title:dh,children:Et("div",{className:"vm-graph-settings-popper",ref:o,children:Et("div",{className:"vm-graph-settings-popper__body",children:[Et(ch,{yaxis:t,setYaxisLimits:n,toggleEnableLimits:a}),Et(uh,{spanGaps:i.value,onChange:i.onChange})]})})})]})},mh=e=>{let{isHistogram:t,graphData:n,controlsRef:a,isAnomalyView:i}=e;const{isMobile:o}=Ur(),{customStep:l,yaxis:s,spanGaps:c}=jr(),{period:u}=pn(),{query:d}=Sn(),h=fn(),m=Hr(),p=e=>{m({type:"SET_YAXIS_LIMITS",payload:e})},f=Et("div",{className:"vm-custom-panel-body-header__graph-controls",children:[Et(va,{}),Et(hh,{yaxis:s,setYaxisLimits:p,toggleEnableLimits:()=>{m({type:"TOGGLE_ENABLE_YAXIS_LIMITS"})},spanGaps:{value:c,onChange:e=>{m({type:"SET_SPAN_GAPS",payload:e})}}})]});return Et(St.FK,{children:[a.current&&(0,r.createPortal)(f,a.current),Et(sh,{data:n,period:u,customStep:l,query:d,yaxis:s,setYaxisLimits:p,setPeriod:e=>{let{from:t,to:n}=e;h({type:"SET_PERIOD",payload:{from:t,to:n}})},height:o?.5*window.innerHeight:500,isHistogram:t,isAnomalyView:i,spanGaps:c})]})},ph=e=>{let{data:t}=e;const n=Fo(),a=(0,r.useMemo)((()=>JSON.stringify(t,null,2)),[t]);return Et("div",{className:"vm-json-view",children:[Et("div",{className:"vm-json-view__copy",children:Et(ea,{variant:"outlined",onClick:async()=>{await n(a,"Formatted JSON has been copied")},children:"Copy JSON"})}),Et("pre",{className:"vm-json-view__code",children:Et("code",{children:a})})]})},fh=e=>{const t={};return e.forEach((e=>Object.entries(e.metric).forEach((e=>t[e[0]]?t[e[0]].options.add(e[1]):t[e[0]]={options:new Set([e[1]])})))),Object.entries(t).map((e=>({key:e[0],variations:e[1].options.size}))).sort(((e,t)=>e.variations-t.variations))},vh=(e,t)=>(0,r.useMemo)((()=>{const n=fh(e);return t?n.filter((e=>t.includes(e.key))):n}),[e,t]),gh=e=>{let{data:t,displayColumns:n}=e;const a=Fo(),{isMobile:i}=Ur(),{tableCompact:o}=Ir(),l=(0,r.useRef)(null),[s,c]=(0,r.useState)(""),[u,d]=(0,r.useState)("asc"),h=o?vh([{group:0,metric:{Data:"Data"}}],["Data"]):vh(t,n),m=e=>{const{__name__:t,...n}=e;return t||Object.keys(n).length?"".concat(t," ").concat(JSON.stringify(n)):""},p=new Set(null===t||void 0===t?void 0:t.map((e=>e.group))).size>1,f=(0,r.useMemo)((()=>{const e=null===t||void 0===t?void 0:t.map((e=>({metadata:h.map((t=>o?Qo(e,"",p):e.metric[t.key]||"-")),value:e.value?e.value[1]:"-",values:e.values?e.values.map((e=>{let[t,n]=e;return"".concat(n," @").concat(t)})):[],copyValue:m(e.metric)}))),n="Value"===s,r=h.findIndex((e=>e.key===s));return n||-1!==r?e.sort(((e,t)=>{const a=n?Number(e.value):e.metadata[r],i=n?Number(t.value):t.metadata[r];return("asc"===u?ai)?-1:1})):e}),[h,t,s,u,o]),v=(0,r.useMemo)((()=>f.some((e=>e.copyValue))),[f]),g=e=>()=>{(e=>{d((t=>"asc"===t&&s===e?"desc":"asc")),c(e)})(e)};return f.length?Et("div",{className:wr()({"vm-table-view":!0,"vm-table-view_mobile":i}),children:Et("table",{className:"vm-table",ref:l,children:[Et("thead",{className:"vm-table-header",children:Et("tr",{className:"vm-table__row vm-table__row_header",children:[h.map(((e,t)=>Et("td",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:g(e.key),children:Et("div",{className:"vm-table-cell__content",children:[e.key,Et("div",{className:wr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":s===e.key,"vm-table__sort-icon_desc":"desc"===u&&s===e.key}),children:Et(jn,{})})]})},t))),Et("td",{className:"vm-table-cell vm-table-cell_header vm-table-cell_right vm-table-cell_sort",onClick:g("Value"),children:Et("div",{className:"vm-table-cell__content",children:[Et("div",{className:wr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":"Value"===s,"vm-table__sort-icon_desc":"desc"===u}),children:Et(jn,{})}),"Value"]})}),v&&Et("td",{className:"vm-table-cell vm-table-cell_header"})]})}),Et("tbody",{className:"vm-table-body",children:f.map(((e,t)=>{return Et("tr",{className:"vm-table__row",children:[e.metadata.map(((e,n)=>Et("td",{className:wr()({"vm-table-cell vm-table-cell_no-wrap":!0,"vm-table-cell_gray":f[t-1]&&f[t-1].metadata[n]===e}),children:e},n))),Et("td",{className:"vm-table-cell vm-table-cell_right vm-table-cell_no-wrap",children:e.values.length?e.values.map((e=>Et("p",{children:e},e))):e.value}),v&&Et("td",{className:"vm-table-cell vm-table-cell_right",children:e.copyValue&&Et("div",{className:"vm-table-cell__content",children:Et(da,{title:"Copy row",children:Et(ea,{variant:"text",color:"gray",size:"small",startIcon:Et(nr,{}),onClick:(n=e.copyValue,async()=>{await a(n,"Row has been copied")}),ariaLabel:"copy row"})})})})]},t);var n}))})]})}):Et(qr,{variant:"warning",children:"No data to show"})},yh=e=>{let{checked:t=!1,disabled:n=!1,label:r,color:a="secondary",onChange:i}=e;return Et("div",{className:wr()({"vm-checkbox":!0,"vm-checkbox_disabled":n,"vm-checkbox_active":t,["vm-checkbox_".concat(a,"_active")]:t,["vm-checkbox_".concat(a)]:a}),onClick:()=>{n||i(!t)},children:[Et("div",{className:"vm-checkbox-track",children:Et("div",{className:"vm-checkbox-track__thumb",children:Et(Jn,{})})}),r&&Et("span",{className:"vm-checkbox__label",children:r})]})},_h="Table settings",bh=e=>{let{columns:t,defaultColumns:n=[],tableCompact:a,onChangeColumns:i,toggleTableCompact:o}=e;const{isMobile:l}=Ur(),s=(0,r.useRef)(null),{value:c,toggle:u,setFalse:d}=na(!1),h=(0,r.useMemo)((()=>!t.length),[t]),m=e=>()=>{(e=>{i(n.includes(e)?n.filter((t=>t!==e)):[...n,e])})(e)};return(0,r.useEffect)((()=>{zo(t,n)||i(t)}),[t]),Et("div",{className:"vm-table-settings",children:[Et(da,{title:_h,children:Et("div",{ref:s,children:Et(ea,{variant:"text",startIcon:Et(Tn,{}),onClick:u,disabled:h,ariaLabel:"table settings"})})}),Et(ta,{open:c,onClose:d,placement:"bottom-right",buttonRef:s,title:_h,children:Et("div",{className:wr()({"vm-table-settings-popper":!0,"vm-table-settings-popper_mobile":l}),children:[Et("div",{className:"vm-table-settings-popper-list vm-table-settings-popper-list_first",children:Et(Io,{label:"Compact view",value:a,onChange:o})}),Et("div",{className:"vm-table-settings-popper-list",children:[Et("div",{className:"vm-table-settings-popper-list-header",children:[Et("h3",{className:"vm-table-settings-popper-list-header__title",children:"Display columns"}),Et(da,{title:"Reset to default",children:Et(ea,{color:"primary",variant:"text",size:"small",onClick:()=>{d(),i(t)},startIcon:Et(Pn,{}),ariaLabel:"reset columns"})})]}),t.map((e=>Et("div",{className:"vm-table-settings-popper-list__item",children:Et(yh,{checked:n.includes(e),onChange:m(e),label:e,disabled:a})},e)))]})]})})]})},wh=e=>{let{liveData:t,controlsRef:n}=e;const{tableCompact:a}=Ir(),i=Rr(),[o,l]=(0,r.useState)(),s=(0,r.useMemo)((()=>fh(t||[]).map((e=>e.key))),[t]),c=Et(bh,{columns:s,defaultColumns:o,onChangeColumns:l,tableCompact:a,toggleTableCompact:()=>{i({type:"TOGGLE_TABLE_COMPACT"})}});return Et(St.FK,{children:[n.current&&(0,r.createPortal)(c,n.current),Et(gh,{data:t,displayColumns:o})]})},kh=e=>{let{graphData:t,liveData:n,isHistogram:r,displayType:a,controlsRef:i}=e;return a===ht.code&&n?Et(ph,{data:n}):a===ht.table&&n?Et(wh,{liveData:n,controlsRef:i}):a===ht.chart&&t?Et(mh,{graphData:t,isHistogram:r,controlsRef:i}):null},xh=[Et(St.FK,{children:[Et("p",{children:"Filename - specify the name for your report file."}),Et("p",{children:["Default format: ",Et("code",{children:["vmui_report_$",Rt,".json"]}),"."]}),Et("p",{children:"This name will be used when saving your report on your device."})]}),Et(St.FK,{children:[Et("p",{children:"Comment (optional) - add a comment to your report."}),Et("p",{children:"This can be any additional information that will be useful when reviewing the report later."})]}),Et(St.FK,{children:[Et("p",{children:"Query trace - enable this option to include a query trace in your report."}),Et("p",{children:"This will assist in analyzing and diagnosing the query processing."})]}),Et(St.FK,{children:[Et("p",{children:"Generate Report - click this button to generate and save your report. "}),Et("p",{children:["After creation, the report can be downloaded and examined on the ",Et(Ie,{to:Ye.queryAnalyzer,target:"_blank",rel:"noreferrer",className:"vm-link vm-link_underlined",children:qe[Ye.queryAnalyzer].title})," page."]})]})],Sh=()=>"vmui_report_".concat(i()().utc().format(Rt)),Ch=e=>{let{fetchUrl:t}=e;const{query:n}=Sn(),[a,i]=(0,r.useState)(Sh()),[o,l]=(0,r.useState)(""),[s,c]=(0,r.useState)(!0),[u,d]=(0,r.useState)(),[h,m]=(0,r.useState)(!1),p=(0,r.useRef)(null),f=(0,r.useRef)(null),v=(0,r.useRef)(null),g=(0,r.useRef)(null),y=[p,f,v,g],[_,b]=(0,r.useState)(0),{value:w,toggle:k,setFalse:x}=na(!1),{value:S,toggle:C,setFalse:E}=na(!1),N=(0,r.useMemo)((()=>{if(t)return t.map(((e,t)=>{const n=new URL(e);return s?n.searchParams.set("trace","1"):n.searchParams.delete("trace"),{id:t,url:n}}))}),[t,s]),A=(0,r.useCallback)((e=>{const t=JSON.stringify(e,null,2),n=new Blob([t],{type:"application/json"}),r=URL.createObjectURL(n),i=document.createElement("a");i.href=r,i.download="".concat(a||Sh(),".json"),document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(r),x()}),[a]),M=(0,r.useCallback)((async()=>{if(N){d(""),m(!0);try{const e=[];for await(const{url:t,id:n}of N){const r=await fetch(t),a=await r.json();if(r.ok)a.vmui={id:n,comment:o,params:rt().parse(new URL(t).search.replace(/^\?/,""))},e.push(a);else{const e=a.errorType?"".concat(a.errorType,"\r\n"):"";d("".concat(e).concat((null===a||void 0===a?void 0:a.error)||(null===a||void 0===a?void 0:a.message)||"unknown error"))}}e.length&&A(e)}catch(ep){ep instanceof Error&&"AbortError"!==ep.name&&d("".concat(ep.name,": ").concat(ep.message))}finally{m(!1)}}else d(mt.validQuery)}),[N,o,A,n]),T=e=>()=>{b((t=>t+e))};return(0,r.useEffect)((()=>{d(""),i(Sh()),l("")}),[w]),(0,r.useEffect)((()=>{b(0)}),[S]),Et(St.FK,{children:[Et(da,{title:"Export query",children:Et(ea,{variant:"text",startIcon:Et(_r,{}),onClick:k,ariaLabel:"export query"})}),w&&Et(ua,{title:"Export query",onClose:x,isOpen:w,children:Et("div",{className:"vm-download-report",children:[Et("div",{className:"vm-download-report-settings",children:[Et("div",{ref:p,children:Et(Da,{label:"Filename",value:a,onChange:i})}),Et("div",{ref:f,children:Et(Da,{type:"textarea",label:"Comment",value:o,onChange:l})}),Et("div",{ref:v,children:Et(yh,{checked:s,onChange:c,label:"Include query trace"})})]}),u&&Et(qr,{variant:"error",children:u}),Et("div",{className:"vm-download-report__buttons",children:[Et(ea,{variant:"text",onClick:C,children:"Help"}),Et("div",{ref:g,children:Et(ea,{onClick:M,disabled:h,children:h?"Loading data...":"Generate Report"})})]}),Et(ta,{open:S,buttonRef:y[_],placement:"top-left",variant:"dark",onClose:E,children:Et("div",{className:"vm-download-report-helper",children:[Et("div",{className:"vm-download-report-helper__description",children:xh[_]}),Et("div",{className:"vm-download-report-helper__buttons",children:[0!==_&&Et(ea,{onClick:T(-1),size:"small",color:"white",children:"Prev"}),Et(ea,{onClick:_===y.length-1?E:T(1),size:"small",color:"white",variant:"text",children:_===y.length-1?"Close":"Next"})]})]})})]})})]})},Eh=()=>{el();const{isMobile:e}=Ur(),{displayType:t}=Ir(),{query:n}=Sn(),{customStep:a}=jr(),i=Hr(),[o,l]=(0,r.useState)([]),[s,c]=(0,r.useState)(!n[0]),[u,d]=(0,r.useState)(!1),h=(0,r.useRef)(null),{fetchUrl:m,isLoading:p,liveData:f,graphData:v,error:g,queryErrors:y,setQueryErrors:_,queryStats:b,warning:w,traces:k,isHistogram:x}=Xo({visible:!0,customStep:a,hideQuery:o,showAllSeries:u}),S=!(null!==f&&void 0!==f&&f.length)&&t!==ht.chart,C=!s&&g;return(0,r.useEffect)((()=>{i({type:"SET_IS_HISTOGRAM",payload:x})}),[v]),Et("div",{className:wr()({"vm-custom-panel":!0,"vm-custom-panel_mobile":e}),children:[Et(Yo,{queryErrors:s?[]:y,setQueryErrors:_,setHideError:c,stats:b,onHideQuery:e=>{l(e)},onRunQuery:()=>{c(!1)}}),Et(ul,{traces:k,displayType:t}),p&&Et(Bo,{}),C&&Et(qr,{variant:"error",children:g}),S&&Et(qr,{variant:"info",children:Et(al,{})}),w&&Et(dl,{warning:w,query:n,onChange:d}),Et("div",{className:wr()({"vm-custom-panel-body":!0,"vm-custom-panel-body_mobile":e,"vm-block":!0,"vm-block_mobile":e}),children:[Et("div",{className:"vm-custom-panel-body-header",ref:h,children:[Et("div",{className:"vm-custom-panel-body-header__tabs",children:Et(Ar,{})}),(v||f)&&Et(Ch,{fetchUrl:m})]}),Et(kh,{graphData:v,liveData:f,isHistogram:x,displayType:t,controlsRef:h})]})]})},Nh=e=>{let{title:t,description:n,unit:a,expr:i,showLegend:o,filename:l,alias:s}=e;const{isMobile:c}=Ur(),{period:u}=pn(),{customStep:d}=jr(),h=fn(),m=(0,r.useRef)(null),[p,f]=(0,r.useState)(!1),[v,g]=(0,r.useState)(!1),[y,_]=(0,r.useState)({limits:{enable:!1,range:{1:[0,0]}}}),b=(0,r.useMemo)((()=>Array.isArray(i)&&i.every((e=>e))),[i]),{isLoading:w,graphData:k,error:x,warning:S}=Xo({predefinedQuery:b?i:[],display:ht.chart,visible:p,customStep:d}),C=e=>{const t={...y};t.limits.range=e,_(t)};if((0,r.useEffect)((()=>{const e=new IntersectionObserver((e=>{e.forEach((e=>f(e.isIntersecting)))}),{threshold:.1});return m.current&&e.observe(m.current),()=>{m.current&&e.unobserve(m.current)}}),[m]),!b)return Et(qr,{variant:"error",children:[Et("code",{children:'"expr"'})," not found. Check the configuration file ",Et("b",{children:l}),"."]});const E=()=>Et("div",{className:"vm-predefined-panel-header__description vm-default-styles",children:[n&&Et(St.FK,{children:[Et("div",{children:[Et("span",{children:"Description:"}),Et("div",{dangerouslySetInnerHTML:{__html:Co.parse(n)}})]}),Et("hr",{})]}),Et("div",{children:[Et("span",{children:"Queries:"}),Et("div",{children:i.map(((e,t)=>Et("div",{children:e},"".concat(t,"_").concat(e))))})]})]});return Et("div",{className:"vm-predefined-panel",ref:m,children:[Et("div",{className:"vm-predefined-panel-header",children:[Et(da,{title:Et(E,{}),children:Et("div",{className:"vm-predefined-panel-header__info",children:Et(On,{})})}),Et("h3",{className:"vm-predefined-panel-header__title",children:t||""}),Et(hh,{yaxis:y,setYaxisLimits:C,toggleEnableLimits:()=>{const e={...y};e.limits.enable=!e.limits.enable,_(e)},spanGaps:{value:v,onChange:g}})]}),Et("div",{className:"vm-predefined-panel-body",children:[w&&Et(Bo,{}),x&&Et(qr,{variant:"error",children:x}),S&&Et(qr,{variant:"warning",children:S}),k&&Et(sh,{data:k,period:u,customStep:d,query:i,yaxis:y,unit:a,alias:s,showLegend:o,setYaxisLimits:C,setPeriod:e=>{let{from:t,to:n}=e;h({type:"SET_PERIOD",payload:{from:t,to:n}})},fullWidth:!1,height:c?.5*window.innerHeight:500,spanGaps:v})]})]})},Ah=e=>{let{index:t,title:n,panels:a,filename:i}=e;const o=Cr(),l=(0,r.useMemo)((()=>o.width/12),[o]),[s,c]=(0,r.useState)(!t),[u,d]=(0,r.useState)([]);(0,r.useEffect)((()=>{d(a&&a.map((e=>e.width||12)))}),[a]);const[h,m]=(0,r.useState)({start:0,target:0,enable:!1}),p=(0,r.useCallback)((e=>{if(!h.enable)return;const{start:t}=h,n=Math.ceil((t-e.clientX)/l);if(Math.abs(n)>=12)return;const r=u.map(((e,t)=>e-(t===h.target?n:0)));d(r)}),[h,l]),f=(0,r.useCallback)((()=>{m({...h,enable:!1})}),[h]),v=e=>t=>{((e,t)=>{m({start:e.clientX,target:t,enable:!0})})(t,e)};Sr("mousemove",p),Sr("mouseup",f);return Et("div",{className:"vm-predefined-dashboard",children:Et(ci,{defaultExpanded:s,onChange:e=>c(e),title:Et((()=>Et("div",{className:wr()({"vm-predefined-dashboard-header":!0,"vm-predefined-dashboard-header_open":s}),children:[(n||i)&&Et("span",{className:"vm-predefined-dashboard-header__title",children:n||"".concat(t+1,". ").concat(i)}),a&&Et("span",{className:"vm-predefined-dashboard-header__count",children:["(",a.length," panels)"]})]})),{}),children:Et("div",{className:"vm-predefined-dashboard-panels",children:Array.isArray(a)&&a.length?a.map(((e,t)=>Et("div",{className:"vm-predefined-dashboard-panels-panel vm-block vm-block_empty-padding",style:{gridColumn:"span ".concat(u[t])},children:[Et(Nh,{title:e.title,description:e.description,unit:e.unit,expr:e.expr,alias:e.alias,filename:i,showLegend:e.showLegend}),Et("button",{className:"vm-predefined-dashboard-panels-panel__resizer",onMouseDown:v(t),"aria-label":"resize the panel"})]},t))):Et("div",{className:"vm-predefined-dashboard-panels-panel__alert",children:Et(qr,{variant:"error",children:[Et("code",{children:'"panels"'})," not found. Check the configuration file ",Et("b",{children:i}),"."]})})})})})};function Mh(e){return function(e,t){return Object.fromEntries(Object.entries(e).filter(t))}(e,(e=>!!e[1]||"number"===typeof e[1]))}const Th=()=>{(()=>{const{duration:e,relativeTime:t,period:{date:n}}=pn(),{customStep:a}=jr(),{setSearchParamsFromKeys:i}=ei(),o=()=>{const r=Mh({"g0.range_input":e,"g0.end_input":n,"g0.step_input":a,"g0.relative_time":t});i(r)};(0,r.useEffect)(o,[e,t,n,a]),(0,r.useEffect)(o,[])})();const{isMobile:e}=Ur(),{dashboardsSettings:t,dashboardsLoading:n,dashboardsError:a}=Zr(),[i,o]=(0,r.useState)(0),l=(0,r.useMemo)((()=>t.map(((e,t)=>({label:e.title||"",value:t})))),[t]),s=(0,r.useMemo)((()=>t[i]||{}),[t,i]),c=(0,r.useMemo)((()=>null===s||void 0===s?void 0:s.rows),[s]),u=(0,r.useMemo)((()=>s.title||s.filename||""),[s]),d=(0,r.useMemo)((()=>Array.isArray(c)&&!!c.length),[c]),h=e=>()=>{(e=>{o(e)})(e)};return Et("div",{className:"vm-predefined-panels",children:[n&&Et(Bo,{}),!t.length&&a&&Et(qr,{variant:"error",children:a}),!t.length&&Et(qr,{variant:"info",children:"Dashboards not found"}),l.length>1&&Et("div",{className:wr()({"vm-predefined-panels-tabs":!0,"vm-predefined-panels-tabs_mobile":e}),children:l.map((e=>Et("div",{className:wr()({"vm-predefined-panels-tabs__tab":!0,"vm-predefined-panels-tabs__tab_active":e.value==i}),onClick:h(e.value),children:e.label},e.value)))}),Et("div",{className:"vm-predefined-panels__dashboards",children:[d&&c.map(((e,t)=>Et(Ah,{index:t,filename:u,title:e.title,panels:e.panels},"".concat(i,"_").concat(t)))),!!t.length&&!d&&Et(qr,{variant:"error",children:[Et("code",{children:'"rows"'})," not found. Check the configuration file ",Et("b",{children:u}),"."]})]})]})},Lh=(e,t)=>{const n=t.match?"&match[]="+encodeURIComponent(t.match):"",r=t.focusLabel?"&focusLabel="+encodeURIComponent(t.focusLabel):"";return"".concat(e,"/api/v1/status/tsdb?topN=").concat(t.topN,"&date=").concat(t.date).concat(n).concat(r)};class Ph{constructor(){this.tsdbStatus=void 0,this.tabsNames=void 0,this.isPrometheus=void 0,this.tsdbStatus=this.defaultTSDBStatus,this.tabsNames=["table","graph"],this.isPrometheus=!1,this.getDefaultState=this.getDefaultState.bind(this)}set tsdbStatusData(e){this.isPrometheus=!(null===e||void 0===e||!e.headStats),this.tsdbStatus=e}get tsdbStatusData(){return this.tsdbStatus}get defaultTSDBStatus(){return{totalSeries:0,totalSeriesPrev:0,totalSeriesByAll:0,totalLabelValuePairs:0,seriesCountByMetricName:[],seriesCountByLabelName:[],seriesCountByFocusLabelValue:[],seriesCountByLabelValuePair:[],labelValueCountByLabelName:[]}}get isPrometheusData(){return this.isPrometheus}keys(e,t){const n=e&&/__name__=".+"/.test(e),r=e&&/{.+=".+"}/g.test(e),a=e&&/__name__=".+", .+!=""/g.test(e);let i=[];return i=t||a?i.concat("seriesCountByFocusLabelValue"):n?i.concat("labelValueCountByLabelName"):r?i.concat("seriesCountByMetricName","seriesCountByLabelName"):i.concat("seriesCountByMetricName","seriesCountByLabelName","seriesCountByLabelValuePair","labelValueCountByLabelName"),i}getDefaultState(e,t){return this.keys(e,t).reduce(((e,t)=>({...e,tabs:{...e.tabs,[t]:this.tabsNames},containerRefs:{...e.containerRefs,[t]:(0,r.useRef)(null)}})),{tabs:{},containerRefs:{}})}sectionsTitles(e){return{seriesCountByMetricName:"Metric names with the highest number of series",seriesCountByLabelName:"Labels with the highest number of series",seriesCountByFocusLabelValue:'Values for "'.concat(e,'" label with the highest number of series'),seriesCountByLabelValuePair:"Label=value pairs with the highest number of series",labelValueCountByLabelName:"Labels with the highest number of unique values"}}get sectionsTips(){return{seriesCountByMetricName:"\n

    \n This table returns a list of metrics with the highest cardinality.\n The cardinality of a metric is the number of time series associated with that metric,\n where each time series is defined as a unique combination of key-value label pairs.\n

    \n

    \n When looking to reduce the number of active series in your data source,\n you can start by inspecting individual metrics with high cardinality\n (i.e. that have lots of active time series associated with them),\n since that single metric contributes a large fraction of the series that make up your total series count.\n

    ",seriesCountByLabelName:"\n

    \n This table returns a list of the labels with the highest number of series.\n

    \n

    \n Use this table to identify labels that are storing dimensions with high cardinality\n (many different label values).\n

    \n

    \n It is recommended to choose labels such that they have a finite set of values,\n since every unique combination of key-value label pairs creates a new time series\n and therefore can dramatically increase the number of time series in your system.\n

    ",seriesCountByFocusLabelValue:"\n

    \n This table returns a list of unique label values per selected label.\n

    \n

    \n Use this table to identify label values that are storing per each selected series.\n

    ",labelValueCountByLabelName:"\n

    \n This table returns a list of labels with the highest number of the unique values.\n

    \n ",seriesCountByLabelValuePair:"\n

    \n This table returns a list of the label values pairs with the highest number of series.\n

    \n

    \n Use this table to identify unique label values pairs. This helps to identify same labels \n is applied to count timeseries in your system, since every unique combination of key-value label pairs \n creates a new time series and therefore can dramatically increase the number of time series in your system\n

    "}}get tablesHeaders(){return{seriesCountByMetricName:Oh,seriesCountByLabelName:Ih,seriesCountByFocusLabelValue:Rh,seriesCountByLabelValuePair:Dh,labelValueCountByLabelName:zh}}totalSeries(e){return"labelValueCountByLabelName"===e?-1:arguments.length>1&&void 0!==arguments[1]&&arguments[1]?this.tsdbStatus.totalSeriesPrev:this.tsdbStatus.totalSeries}}const Oh=[{id:"name",label:"Metric name"},{id:"value",label:"Number of series"},{id:"percentage",label:"Share in total",info:"Shows the share of a metric to the total number of series"},{id:"action",label:""}],Ih=[{id:"name",label:"Label name"},{id:"value",label:"Number of series"},{id:"percentage",label:"Share in total",info:"Shows the share of the label to the total number of series"},{id:"action",label:""}],Rh=[{id:"name",label:"Label value"},{id:"value",label:"Number of series"},{id:"percentage",label:"Share in total"},{disablePadding:!1,id:"action",label:"",numeric:!1}],Dh=[{id:"name",label:"Label=value pair"},{id:"value",label:"Number of series"},{id:"percentage",label:"Share in total",info:"Shows the share of the label value pair to the total number of series"},{id:"action",label:""}],zh=[{id:"name",label:"Label name"},{id:"value",label:"Number of unique values"},{id:"action",label:""}],Fh=()=>{const e=new Ph,[t]=je(),n=t.get("match"),a=t.get("focusLabel"),o=+(t.get("topN")||10),l=t.get("date")||i()().tz().format(Lt),s=Fa(l),c=(0,r.useRef)(),{serverUrl:u}=At(),[d,h]=(0,r.useState)(!1),[m,p]=(0,r.useState)(),[f,v]=(0,r.useState)(e.defaultTSDBStatus),[g,y]=(0,r.useState)(!1),_=async e=>{const t=await fetch(e);if(t.ok)return await t.json();throw new Error("Request failed with status ".concat(t.status))},b=async t=>{if(!u)return;p(""),h(!0),v(e.defaultTSDBStatus);const r={...t,date:t.date,topN:0,match:"",focusLabel:""},a={...t,date:i()(t.date).subtract(1,"day").format(Lt)},o=[Lh(u,t),Lh(u,a)];s!==l&&(t.match||t.focusLabel)&&o.push(Lh(u,r));try{var d,m,g,y,b,w,k,x,S,C;const[e,t,r]=await Promise.all(o.map(_)),a={...t.data},{data:i}=r||c.current||e;c.current={data:i};const l={...e.data,totalSeries:(null===(d=e.data)||void 0===d?void 0:d.totalSeries)||(null===(m=e.data)||void 0===m||null===(g=m.headStats)||void 0===g?void 0:g.numSeries)||0,totalLabelValuePairs:(null===(y=e.data)||void 0===y?void 0:y.totalLabelValuePairs)||(null===(b=e.data)||void 0===b||null===(w=b.headStats)||void 0===w?void 0:w.numLabelValuePairs)||0,seriesCountByLabelName:(null===(k=e.data)||void 0===k?void 0:k.seriesCountByLabelName)||[],seriesCountByFocusLabelValue:(null===(x=e.data)||void 0===x?void 0:x.seriesCountByFocusLabelValue)||[],totalSeriesByAll:(null===i||void 0===i?void 0:i.totalSeries)||(null===i||void 0===i||null===(S=i.headStats)||void 0===S?void 0:S.numSeries)||f.totalSeriesByAll||0,totalSeriesPrev:(null===a||void 0===a?void 0:a.totalSeries)||(null===a||void 0===a||null===(C=a.headStats)||void 0===C?void 0:C.numSeries)||0},s=null===n||void 0===n?void 0:n.replace(/[{}"]/g,"");l.seriesCountByLabelValuePair=l.seriesCountByLabelValuePair.filter((e=>e.name!==s)),((e,t)=>{Object.keys(e).forEach((n=>{const r=n,a=e[r],i=t[r];Array.isArray(a)&&Array.isArray(i)&&a.forEach((e=>{var t;const n=null===(t=i.find((t=>t.name===e.name)))||void 0===t?void 0:t.value;e.diff=n?e.value-n:0,e.valuePrev=n||0}))}))})(l,a),v(l),h(!1)}catch(ep){h(!1),ep instanceof Error&&p("".concat(ep.name,": ").concat(ep.message))}};return(0,r.useEffect)((()=>{b({topN:o,match:n,date:l,focusLabel:a})}),[u,n,a,o,l]),(0,r.useEffect)((()=>{m&&(v(e.defaultTSDBStatus),h(!1))}),[m]),(0,r.useEffect)((()=>{const e=Ge(u);y(!!e)}),[u]),e.tsdbStatusData=f,{isLoading:d,appConfigurator:e,error:m,isCluster:g}},jh={seriesCountByMetricName:e=>{let{query:t}=e;return Hh("__name__",t)},seriesCountByLabelName:e=>{let{query:t}=e;return"{".concat(t,'!=""}')},seriesCountByFocusLabelValue:e=>{let{query:t,focusLabel:n}=e;return Hh(n,t)},seriesCountByLabelValuePair:e=>{let{query:t}=e;const n=t.split("="),r=n[0],a=n.slice(1).join("=");return Hh(r,a)},labelValueCountByLabelName:e=>{let{query:t,match:n}=e;return""===n?"{".concat(t,'!=""}'):"".concat(n.replace("}",""),", ").concat(t,'!=""}')}},Hh=(e,t)=>e?"{"+e+"="+JSON.stringify(t)+"}":"",Vh=e=>{var t;let{totalSeries:n=0,totalSeriesPrev:r=0,totalSeriesAll:a=0,seriesCountByMetricName:i=[],isPrometheus:o}=e;const{isMobile:l}=Ur(),[s]=je(),c=s.get("match"),u=s.get("focusLabel"),d=/__name__/.test(c||""),h=(null===(t=i[0])||void 0===t?void 0:t.value)/a*100,m=n-r,p=Math.abs(m)/r*100,f=[{title:"Total series",value:n.toLocaleString("en-US"),dynamic:n&&r&&!o?"".concat(p.toFixed(2),"%"):"",display:!u,info:'The total number of active time series. \n A time series is uniquely identified by its name plus a set of its labels. \n For example, temperature{city="NY",country="US"} and temperature{city="SF",country="US"} \n are two distinct series, since they differ by the city label.'},{title:"Percentage from total",value:isNaN(h)?"-":"".concat(h.toFixed(2),"%"),display:d,info:"The share of these series in the total number of time series."}].filter((e=>e.display));return f.length?Et("div",{className:wr()({"vm-cardinality-totals":!0,"vm-cardinality-totals_mobile":l}),children:f.map((e=>{let{title:t,value:n,info:a,dynamic:i}=e;return Et("div",{className:"vm-cardinality-totals-card",children:[Et("h4",{className:"vm-cardinality-totals-card__title",children:[t,a&&Et(da,{title:Et("p",{className:"vm-cardinality-totals-card__tooltip",children:a}),children:Et("div",{className:"vm-cardinality-totals-card__info-icon",children:Et(On,{})})})]}),Et("span",{className:"vm-cardinality-totals-card__value",children:n}),!!i&&Et(da,{title:"in relation to the previous day: ".concat(r.toLocaleString("en-US")),children:Et("span",{className:wr()({"vm-dynamic-number":!0,"vm-dynamic-number_positive vm-dynamic-number_down":m<0,"vm-dynamic-number_negative vm-dynamic-number_up":m>0}),children:i})})]},t)}))}):null},$h=(e,t)=>{const[n]=je(),a=n.get(t)?n.get(t):e,[i,o]=(0,r.useState)(a);return(0,r.useEffect)((()=>{a!==i&&o(a)}),[a]),[i,o]},Uh=e=>{let{isPrometheus:t,isCluster:n,...a}=e;const{isMobile:i}=Ur(),[o]=je(),{setSearchParamsFromKeys:l}=ei(),s=o.get("tips")||"",[c,u]=$h("","match"),[d,h]=$h("","focusLabel"),[m,p]=$h(10,"topN"),f=(0,r.useMemo)((()=>m<0?"Number must be bigger than zero":""),[m]),v=()=>{l({match:c,topN:m,focusLabel:d})};return(0,r.useEffect)((()=>{const e=o.get("match"),t=+(o.get("topN")||10),n=o.get("focusLabel");e!==c&&u(e||""),t!==m&&p(t),n!==d&&h(n||"")}),[o]),Et("div",{className:wr()({"vm-cardinality-configurator":!0,"vm-cardinality-configurator_mobile":i,"vm-block":!0,"vm-block_mobile":i}),children:[Et("div",{className:"vm-cardinality-configurator-controls",children:[Et("div",{className:"vm-cardinality-configurator-controls__query",children:Et(Da,{label:"Time series selector",type:"string",value:c,onChange:u,onEnter:v})}),Et("div",{className:"vm-cardinality-configurator-controls__item",children:Et(Da,{label:"Focus label",type:"text",value:d||"",onChange:h,onEnter:v,endIcon:Et(da,{title:Et("div",{children:Et("p",{children:"To identify values with the highest number of series for the selected label."})}),children:Et(lr,{})})})}),Et("div",{className:"vm-cardinality-configurator-controls__item vm-cardinality-configurator-controls__item_limit",children:Et(Da,{label:"Limit entries",type:"number",value:t?10:m,error:f,disabled:t,helperText:t?"not available for Prometheus":"",onChange:e=>{const t=+e;p(isNaN(t)?0:t)},onEnter:v})})]}),Et("div",{className:"vm-cardinality-configurator-bottom",children:[Et(Vh,{isPrometheus:t,isCluster:n,...a}),n&&Et("div",{className:"vm-cardinality-configurator-bottom-helpful",children:Et(tl,{href:"https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#cardinality-explorer-statistic-inaccuracy",withIcon:!0,children:[Et(ir,{}),"Statistic inaccuracy explanation"]})}),Et("div",{className:"vm-cardinality-configurator-bottom-helpful",children:Et(tl,{href:"https://docs.victoriametrics.com/#cardinality-explorer",withIcon:!0,children:[Et(ir,{}),"Documentation"]})}),Et("div",{className:"vm-cardinality-configurator-bottom__execute",children:[Et(da,{title:s?"Hide tips":"Show tips",children:Et(ea,{variant:"text",color:s?"warning":"gray",startIcon:Et(dr,{}),onClick:()=>{const e=o.get("tips")||"";l({tips:e?"":"true"})},ariaLabel:"visibility tips"})}),Et(ea,{variant:"text",startIcon:Et(Pn,{}),onClick:()=>{l({match:"",focusLabel:""})},children:"Reset"}),Et(ea,{startIcon:Et(Bn,{}),onClick:v,children:"Execute Query"})]})]})]})};function Bh(e){const{order:t,orderBy:n,onRequestSort:r,headerCells:a}=e;return Et("thead",{className:"vm-table-header vm-cardinality-panel-table__header",children:Et("tr",{className:"vm-table__row vm-table__row_header",children:a.map((e=>{return Et("th",{className:wr()({"vm-table-cell vm-table-cell_header":!0,"vm-table-cell_sort":"action"!==e.id&&"percentage"!==e.id,"vm-table-cell_right":"action"===e.id}),onClick:(a=e.id,e=>{r(e,a)}),children:Et("div",{className:"vm-table-cell__content",children:[e.info?Et(da,{title:e.info,children:[Et("div",{className:"vm-metrics-content-header__tip-icon",children:Et(On,{})}),e.label]}):Et(St.FK,{children:e.label}),"action"!==e.id&&"percentage"!==e.id&&Et("div",{className:wr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":n===e.id,"vm-table__sort-icon_desc":"desc"===t&&n===e.id}),children:Et(jn,{})})]})},e.id);var a}))})})}const qh=["date","timestamp","time"];function Yh(e,t,n){const r=e[n],a=t[n],o=qh.includes("".concat(n))?i()("".concat(r)).unix():r,l=qh.includes("".concat(n))?i()("".concat(a)).unix():a;return lo?1:0}function Wh(e,t){return"desc"===e?(e,n)=>Yh(e,n,t):(e,n)=>-Yh(e,n,t)}function Kh(e,t){const n=e.map(((e,t)=>[e,t]));return n.sort(((e,n)=>{const r=t(e[0],n[0]);return 0!==r?r:e[1]-n[1]})),n.map((e=>e[0]))}const Qh=e=>{let{rows:t,headerCells:n,defaultSortColumn:a,tableCells:i}=e;const[o,l]=(0,r.useState)("desc"),[s,c]=(0,r.useState)(a),u=Kh(t,Wh(o,s));return Et("table",{className:"vm-table vm-cardinality-panel-table",children:[Et(Bh,{order:o,orderBy:s,onRequestSort:(e,t)=>{l(s===t&&"asc"===o?"desc":"asc"),c(t)},rowCount:t.length,headerCells:n}),Et("tbody",{className:"vm-table-header",children:u.map((e=>Et("tr",{className:"vm-table__row",children:i(e)},e.name)))})]})},Zh=e=>{let{row:t,totalSeries:n,totalSeriesPrev:r,onActionClick:a}=e;const i=n>0?t.value/n*100:-1,o=r>0?t.valuePrev/r*100:-1,l=[i,o].some((e=>-1===e)),s=i-o,c=l?"":"".concat(s.toFixed(2),"%"),u=()=>{a(t.name)};return Et(St.FK,{children:[Et("td",{className:"vm-table-cell",children:Et("span",{className:"vm-link vm-link_colored",onClick:u,children:t.name})},t.name),Et("td",{className:"vm-table-cell",children:[t.value,!!t.diff&&Et(da,{title:"in relation to the previous day: ".concat(t.valuePrev),children:Et("span",{className:wr()({"vm-dynamic-number":!0,"vm-dynamic-number_positive":t.diff<0,"vm-dynamic-number_negative":t.diff>0}),children:["\xa0",t.diff>0?"+":"",t.diff]})})]},t.value),i>0&&Et("td",{className:"vm-table-cell",children:Et("div",{className:"vm-cardinality-panel-table__progress",children:[Et(il,{value:i}),c&&Et(da,{title:"in relation to the previous day",children:Et("span",{className:wr()({"vm-dynamic-number":!0,"vm-dynamic-number_positive vm-dynamic-number_down":s<0,"vm-dynamic-number_negative vm-dynamic-number_up":s>0}),children:c})})]})},t.progressValue),Et("td",{className:"vm-table-cell vm-table-cell_right",children:Et("div",{className:"vm-table-cell__content",children:Et(da,{title:"Filter by ".concat(t.name),children:Et(ea,{variant:"text",size:"small",onClick:u,children:Et(qn,{})})})})},"action")]})},Gh=e=>{let{data:t}=e;const[n,a]=(0,r.useState)([]),[i,o]=(0,r.useState)([0,0]);return(0,r.useEffect)((()=>{const e=t.sort(((e,t)=>t.value-e.value)),n=(e=>{const t=e.map((e=>e.value)),n=Math.ceil(t[0]||1),r=n/9;return new Array(11).fill(n+r).map(((e,t)=>Math.round(e-r*t)))})(e);o(n),a(e.map((e=>({...e,percentage:e.value/n[0]*100}))))}),[t]),Et("div",{className:"vm-simple-bar-chart",children:[Et("div",{className:"vm-simple-bar-chart-y-axis",children:i.map((e=>Et("div",{className:"vm-simple-bar-chart-y-axis__tick",children:e},e)))}),Et("div",{className:"vm-simple-bar-chart-data",children:n.map((e=>{let{name:t,value:n,percentage:r}=e;return Et(da,{title:"".concat(t,": ").concat(n),placement:"top-center",children:Et("div",{className:"vm-simple-bar-chart-data-item",style:{maxHeight:"".concat(r||0,"%")}})},"".concat(t,"_").concat(n))}))})]})},Jh=e=>{let{rows:t,tabs:n=[],chartContainer:a,totalSeries:i,totalSeriesPrev:o,onActionClick:l,sectionTitle:s,tip:c,tableHeaderCells:u,isPrometheus:d}=e;const{isMobile:h}=Ur(),[m,p]=(0,r.useState)("table"),f=d&&!t.length,v=(0,r.useMemo)((()=>n.map(((e,t)=>({value:e,label:e,icon:Et(0===t?Wn:Yn,{})})))),[n]);return Et("div",{className:wr()({"vm-metrics-content":!0,"vm-metrics-content_mobile":h,"vm-block":!0,"vm-block_mobile":h}),children:[Et("div",{className:"vm-metrics-content-header vm-section-header",children:[Et("h5",{className:wr()({"vm-metrics-content-header__title":!0,"vm-section-header__title":!0,"vm-section-header__title_mobile":h}),children:[!h&&c&&Et(da,{title:Et("p",{dangerouslySetInnerHTML:{__html:c},className:"vm-metrics-content-header__tip"}),children:Et("div",{className:"vm-metrics-content-header__tip-icon",children:Et(On,{})})}),s]}),Et("div",{className:"vm-section-header__tabs",children:Et(Er,{activeItem:m,items:v,onChange:p})})]}),f&&Et("div",{className:"vm-metrics-content-prom-data",children:[Et("div",{className:"vm-metrics-content-prom-data__icon",children:Et(On,{})}),Et("h3",{className:"vm-metrics-content-prom-data__title",children:"Prometheus Data Limitation"}),Et("p",{className:"vm-metrics-content-prom-data__text",children:["Due to missing data from your Prometheus source, some tables may appear empty.",Et("br",{}),"This does not indicate an issue with your system or our tool."]})]}),!f&&"table"===m&&Et("div",{ref:a,className:wr()({"vm-metrics-content__table":!0,"vm-metrics-content__table_mobile":h}),children:Et(Qh,{rows:t,headerCells:u,defaultSortColumn:"value",tableCells:e=>Et(Zh,{row:e,totalSeries:i,totalSeriesPrev:o,onActionClick:l})})}),!f&&"graph"===m&&Et("div",{className:"vm-metrics-content__chart",children:Et(Gh,{data:t.map((e=>{let{name:t,value:n}=e;return{name:t,value:n}}))})})]})},Xh=e=>{let{title:t,children:n}=e;return Et("div",{className:"vm-cardinality-tip",children:[Et("div",{className:"vm-cardinality-tip-header",children:[Et("div",{className:"vm-cardinality-tip-header__tip-icon",children:Et(dr,{})}),Et("h4",{className:"vm-cardinality-tip-header__title",children:t||"Tips"})]}),Et("p",{className:"vm-cardinality-tip__description",children:n})]})},em=()=>Et(Xh,{title:"Metrics with a high number of series",children:Et("ul",{children:[Et("li",{children:["Identify and eliminate labels with frequently changed values to reduce their\xa0",Et(tl,{href:"https://docs.victoriametrics.com/FAQ.html#what-is-high-cardinality",children:"cardinality"}),"\xa0and\xa0",Et(tl,{href:"https://docs.victoriametrics.com/FAQ.html#what-is-high-churn-rate",children:"high churn rate"})]}),Et("li",{children:["Find unused time series and\xa0",Et(tl,{href:"https://docs.victoriametrics.com/relabeling.html",children:"drop entire metrics"})]}),Et("li",{children:["Aggregate time series before they got ingested into the database via\xa0",Et(tl,{href:"https://docs.victoriametrics.com/stream-aggregation.html",children:"streaming aggregation"})]})]})}),tm=()=>Et(Xh,{title:"Labels with a high number of unique values",children:Et("ul",{children:[Et("li",{children:"Decrease the number of unique label values to reduce cardinality"}),Et("li",{children:["Drop the label entirely via\xa0",Et(tl,{href:"https://docs.victoriametrics.com/relabeling.html",children:"relabeling"})]}),Et("li",{children:"For volatile label values (such as URL path, user session, etc.) consider printing them to the log file instead of adding to time series"})]})}),nm=()=>Et(Xh,{title:"Dashboard of a single metric",children:[Et("p",{children:"This dashboard helps to understand the cardinality of a single metric."}),Et("p",{children:"Each time series is a unique combination of key-value label pairs. Therefore a label key with many values can create a lot of time series for a particular metric. If you\u2019re trying to decrease the cardinality of a metric, start by looking at the labels with the highest number of values."}),Et("p",{children:"Use the series selector at the top of the page to apply additional filters."})]}),rm=()=>Et(Xh,{title:"Dashboard of a label",children:[Et("p",{children:"This dashboard helps you understand the count of time series per label."}),Et("p",{children:"Use the selector at the top of the page to pick a label name you\u2019d like to inspect. For the selected label name, you\u2019ll see the label values that have the highest number of series associated with them. So if you\u2019ve chosen `instance` as your label name, you may see that `657` time series have value \u201chost-1\u201d attached to them and `580` time series have value `host-2` attached to them."}),Et("p",{children:"This can be helpful in allowing you to determine where the bulk of your time series are coming from. If the label \u201cinstance=host-1\u201d was applied to 657 series and the label \u201cinstance=host-2\u201d was only applied to 580 series, you\u2019d know, for example, that host-01 was responsible for sending the majority of the time series."})]}),am=()=>{const{isMobile:e}=Ur(),[t]=je(),{setSearchParamsFromKeys:n}=ei(),r=t.get("tips")||"",a=t.get("match")||"",i=t.get("focusLabel")||"",{isLoading:o,appConfigurator:l,error:s,isCluster:c}=Fh(),{tsdbStatusData:u,getDefaultState:d,tablesHeaders:h,sectionsTips:m}=l,p=d(a,i);return Et("div",{className:wr()({"vm-cardinality-panel":!0,"vm-cardinality-panel_mobile":e}),children:[o&&Et(Bo,{message:"Please wait while cardinality stats is calculated. \n This may take some time if the db contains big number of time series."}),Et(Uh,{isPrometheus:l.isPrometheusData,totalSeries:u.totalSeries,totalSeriesPrev:u.totalSeriesPrev,totalSeriesAll:u.totalSeriesByAll,totalLabelValuePairs:u.totalLabelValuePairs,seriesCountByMetricName:u.seriesCountByMetricName,isCluster:c}),r&&Et("div",{className:"vm-cardinality-panel-tips",children:[!a&&!i&&Et(em,{}),a&&!i&&Et(nm,{}),!a&&!i&&Et(tm,{}),i&&Et(rm,{})]}),s&&Et(qr,{variant:"error",children:s}),l.keys(a,i).map((e=>{return Et(Jh,{sectionTitle:l.sectionsTitles(i)[e],tip:m[e],rows:u[e],onActionClick:(t=e,e=>{const r={match:jh[t]({query:e,focusLabel:i,match:a})};"labelValueCountByLabelName"!==t&&"seriesCountByLabelName"!=t||(r.focusLabel=e),"seriesCountByFocusLabelValue"==t&&(r.focusLabel=""),n(r)}),tabs:p.tabs[e],chartContainer:p.containerRefs[e],totalSeriesPrev:l.totalSeries(e,!0),totalSeries:l.totalSeries(e),tableHeaderCells:h[e],isPrometheus:l.isPrometheusData},e);var t}))]})},im=e=>(["topByAvgDuration","topByCount","topBySumDuration"].forEach((t=>{const n=e[t];Array.isArray(n)&&n.forEach((e=>{const t=Xt(1e3*e.timeRangeSeconds);e.url=((e,t)=>{var n;const{query:r,timeRangeSeconds:a}=e,i=["g0.expr=".concat(encodeURIComponent(r))],o=null===(n=nn.find((e=>e.duration===t)))||void 0===n?void 0:n.id;return o&&i.push("g0.relative_time=".concat(o)),a&&i.push("g0.range_input=".concat(t)),"".concat(Ye.home,"?").concat(i.join("&"))})(e,t),e.timeRange=t}))})),e),om=e=>{let{topN:t,maxLifetime:n}=e;const{serverUrl:a}=At(),{setSearchParamsFromKeys:i}=ei(),[o,l]=(0,r.useState)(null),[s,c]=(0,r.useState)(!1),[u,d]=(0,r.useState)(),h=(0,r.useMemo)((()=>((e,t,n)=>"".concat(e,"/api/v1/status/top_queries?topN=").concat(t||"","&maxLifetime=").concat(n||""))(a,t,n)),[a,t,n]);return{data:o,error:u,loading:s,fetch:async()=>{c(!0),i({topN:t,maxLifetime:n});try{const e=await fetch(h),t=await e.json();l(e.ok?im(t):null),d(String(t.error||""))}catch(ep){ep instanceof Error&&"AbortError"!==ep.name&&d("".concat(ep.name,": ").concat(ep.message))}c(!1)}}},lm=e=>{let{rows:t,columns:n,defaultOrderBy:a}=e;const i=Fo(),[o,l]=(0,r.useState)(a||"count"),[s,c]=(0,r.useState)("desc"),u=(0,r.useMemo)((()=>Kh(t,Wh(s,o))),[t,o,s]),d=e=>()=>{var t;t=e,c((e=>"asc"===e&&o===t?"desc":"asc")),l(t)},h=e=>{let{query:t}=e;return async()=>{await i(t,"Query has been copied")}};return Et("table",{className:"vm-table",children:[Et("thead",{className:"vm-table-header",children:Et("tr",{className:"vm-table__row vm-table__row_header",children:[n.map((e=>Et("th",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:d(e.sortBy||e.key),children:Et("div",{className:"vm-table-cell__content",children:[e.title||e.key,Et("div",{className:wr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":o===e.key,"vm-table__sort-icon_desc":"desc"===s&&o===e.key}),children:Et(jn,{})})]})},e.key))),Et("th",{className:"vm-table-cell vm-table-cell_header"})," "]})}),Et("tbody",{className:"vm-table-body",children:u.map(((e,t)=>Et("tr",{className:"vm-table__row",children:[n.map((t=>Et("td",{className:"vm-table-cell",children:e[t.key]||"-"},t.key))),Et("td",{className:"vm-table-cell vm-table-cell_no-padding",children:Et("div",{className:"vm-top-queries-panels__table-actions",children:[e.url&&Et(da,{title:"Execute query",children:Et(Ie,{to:e.url,target:"_blank",rel:"noreferrer","aria-disabled":!0,children:Et(ea,{variant:"text",size:"small",startIcon:Et(qn,{}),ariaLabel:"execute query"})})}),Et(da,{title:"Copy query",children:Et(ea,{variant:"text",size:"small",startIcon:Et(nr,{}),onClick:h(e),ariaLabel:"copy query"})})]})})]},t)))})]})},sm=["table","JSON"].map(((e,t)=>({value:String(t),label:e,icon:Et(0===t?Wn:Kn,{})}))),cm=e=>{let{rows:t,title:n,columns:a,defaultOrderBy:i}=e;const{isMobile:o}=Ur(),[l,s]=(0,r.useState)(0);return Et("div",{className:wr()({"vm-top-queries-panel":!0,"vm-block":!0,"vm-block_mobile":o}),children:[Et("div",{className:wr()({"vm-top-queries-panel-header":!0,"vm-section-header":!0,"vm-top-queries-panel-header_mobile":o}),children:[Et("h5",{className:wr()({"vm-section-header__title":!0,"vm-section-header__title_mobile":o}),children:n}),Et("div",{className:"vm-section-header__tabs",children:Et(Er,{activeItem:String(l),items:sm,onChange:e=>{s(+e)}})})]}),Et("div",{className:wr()({"vm-top-queries-panel__table":!0,"vm-top-queries-panel__table_mobile":o}),children:[0===l&&Et(lm,{rows:t,columns:a,defaultOrderBy:i}),1===l&&Et(ph,{data:t})]})]})},um=()=>{const{isMobile:e}=Ur(),[t,n]=$h(10,"topN"),[a,o]=$h("10m","maxLifetime"),{data:l,error:s,loading:c,fetch:u}=om({topN:t,maxLifetime:a}),d=(0,r.useMemo)((()=>{const e=a.trim().split(" ").reduce(((e,t)=>{const n=Wt(t);return n?{...e,...n}:{...e}}),{});return!!i().duration(e).asMilliseconds()}),[a]),h=(0,r.useMemo)((()=>!!t&&t<1),[t]),m=(0,r.useMemo)((()=>h?"Number must be bigger than zero":""),[h]),p=(0,r.useMemo)((()=>d?"":"Invalid duration value"),[d]),f=e=>{if(!l)return e;const t=l[e];return"number"===typeof t?hd(t,t,t):t||e},v=e=>{"Enter"===e.key&&u()};return(0,r.useEffect)((()=>{l&&(t||n(+l.topN),a||o(l.maxLifetime))}),[l]),(0,r.useEffect)((()=>(u(),window.addEventListener("popstate",u),()=>{window.removeEventListener("popstate",u)})),[]),Et("div",{className:wr()({"vm-top-queries":!0,"vm-top-queries_mobile":e}),children:[c&&Et(Bo,{containerStyles:{height:"500px"}}),Et("div",{className:wr()({"vm-top-queries-controls":!0,"vm-block":!0,"vm-block_mobile":e}),children:[Et("div",{className:"vm-top-queries-controls-fields",children:[Et("div",{className:"vm-top-queries-controls-fields__item",children:Et(Da,{label:"Max lifetime",value:a,error:p,helperText:"For example ".concat("30ms, 15s, 3d4h, 1y2w"),onChange:e=>{o(e)},onKeyDown:v})}),Et("div",{className:"vm-top-queries-controls-fields__item",children:Et(Da,{label:"Number of returned queries",type:"number",value:t||"",error:m,onChange:e=>{n(+e)},onKeyDown:v})})]}),Et("div",{className:wr()({"vm-top-queries-controls-bottom":!0,"vm-top-queries-controls-bottom_mobile":e}),children:[Et("div",{className:"vm-top-queries-controls-bottom__info",children:["VictoriaMetrics tracks the last\xa0",Et(da,{title:"search.queryStats.lastQueriesCount",children:Et("b",{children:f("search.queryStats.lastQueriesCount")})}),"\xa0queries with durations at least\xa0",Et(da,{title:"search.queryStats.minQueryDuration",children:Et("b",{children:f("search.queryStats.minQueryDuration")})})]}),Et("div",{className:"vm-top-queries-controls-bottom__button",children:Et(ea,{startIcon:Et(Bn,{}),onClick:u,children:"Execute"})})]})]}),s&&Et(qr,{variant:"error",children:s}),l&&Et(St.FK,{children:Et("div",{className:"vm-top-queries-panels",children:[Et(cm,{rows:l.topBySumDuration,title:"Queries with most summary time to execute",columns:[{key:"query"},{key:"sumDurationSeconds",title:"sum duration, sec"},{key:"timeRange",sortBy:"timeRangeSeconds",title:"query time interval"},{key:"count"}],defaultOrderBy:"sumDurationSeconds"}),Et(cm,{rows:l.topByAvgDuration,title:"Most heavy queries",columns:[{key:"query"},{key:"avgDurationSeconds",title:"avg duration, sec"},{key:"timeRange",sortBy:"timeRangeSeconds",title:"query time interval"},{key:"count"}],defaultOrderBy:"avgDurationSeconds"}),Et(cm,{rows:l.topByCount,title:"Most frequently executed queries",columns:[{key:"query"},{key:"timeRange",sortBy:"timeRangeSeconds",title:"query time interval"},{key:"count"}]})]})})]})},dm={"color-primary":"#589DF6","color-secondary":"#316eca","color-error":"#e5534b","color-warning":"#c69026","color-info":"#539bf5","color-success":"#57ab5a","color-background-body":"#22272e","color-background-block":"#2d333b","color-background-tooltip":"rgba(22, 22, 22, 0.8)","color-text":"#cdd9e5","color-text-secondary":"#768390","color-text-disabled":"#636e7b","box-shadow":"rgba(0, 0, 0, 0.16) 1px 2px 6px","box-shadow-popper":"rgba(0, 0, 0, 0.2) 0px 2px 8px 0px","border-divider":"1px solid rgba(99, 110, 123, 0.5)","color-hover-black":"rgba(0, 0, 0, 0.12)"},hm={"color-primary":"#3F51B5","color-secondary":"#E91E63","color-error":"#FD080E","color-warning":"#FF8308","color-info":"#03A9F4","color-success":"#4CAF50","color-background-body":"#FEFEFF","color-background-block":"#FFFFFF","color-background-tooltip":"rgba(80,80,80,0.9)","color-text":"#110f0f","color-text-secondary":"#706F6F","color-text-disabled":"#A09F9F","box-shadow":"rgba(0, 0, 0, 0.08) 1px 2px 6px","box-shadow-popper":"rgba(0, 0, 0, 0.1) 0px 2px 8px 0px","border-divider":"1px solid rgba(0, 0, 0, 0.15)","color-hover-black":"rgba(0, 0, 0, 0.06)"},mm=()=>{const[e,t]=(0,r.useState)(yt()),n=e=>{t(e.matches)};return(0,r.useEffect)((()=>{const e=window.matchMedia("(prefers-color-scheme: dark)");return e.addEventListener("change",n),()=>e.removeEventListener("change",n)}),[]),e},pm=["primary","secondary","error","warning","info","success"],fm=e=>{let{onLoaded:t}=e;const n=Ke(),{palette:a={}}=We(),{theme:i}=At(),o=mm(),l=Mt(),s=Cr(),[c,u]=(0,r.useState)({[pt.dark]:dm,[pt.light]:hm,[pt.system]:yt()?dm:hm}),d=()=>{const{innerWidth:e,innerHeight:t}=window,{clientWidth:n,clientHeight:r}=document.documentElement;gt("scrollbar-width","".concat(e-n,"px")),gt("scrollbar-height","".concat(t-r,"px")),gt("vh","".concat(.01*t,"px"))},h=()=>{pm.forEach(((e,n)=>{const r=(e=>{let t=e.replace("#","").trim();if(3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),6!==t.length)throw new Error("Invalid HEX color.");return(299*parseInt(t.slice(0,2),16)+587*parseInt(t.slice(2,4),16)+114*parseInt(t.slice(4,6),16))/1e3>=128?"#000000":"#FFFFFF"})(vt("color-".concat(e)));gt("".concat(e,"-text"),r),n===pm.length-1&&(l({type:"SET_DARK_THEME"}),t(!0))}))},m=()=>{const e=Xe("THEME")||pt.system,t=c[e];Object.entries(t).forEach((e=>{let[t,n]=e;gt(t,n)})),h(),n&&(pm.forEach((e=>{const t=a[e];t&>("color-".concat(e),t)})),h())};return(0,r.useEffect)((()=>{d(),m()}),[c]),(0,r.useEffect)(d,[s]),(0,r.useEffect)((()=>{const e=yt()?dm:hm;c[pt.system]!==e?u((t=>({...t,[pt.system]:e}))):m()}),[i,o]),(0,r.useEffect)((()=>{n&&l({type:"SET_THEME",payload:pt.light})}),[]),null},vm=()=>{const[e,t]=(0,r.useState)([]),[n,a]=(0,r.useState)(!1),i=(0,r.useRef)(document.body),o=e=>{e.preventDefault(),e.stopPropagation(),"dragenter"===e.type||"dragover"===e.type?a(!0):"dragleave"===e.type&&a(!1)};return Sr("dragenter",o,i),Sr("dragleave",o,i),Sr("dragover",o,i),Sr("drop",(e=>{var n;e.preventDefault(),e.stopPropagation(),a(!1),null!==e&&void 0!==e&&null!==(n=e.dataTransfer)&&void 0!==n&&n.files&&e.dataTransfer.files[0]&&(e=>{const n=Array.from(e||[]);t(n)})(e.dataTransfer.files)}),i),Sr("paste",(e=>{var n;const r=null===(n=e.clipboardData)||void 0===n?void 0:n.items;if(!r)return;const a=Array.from(r).filter((e=>"application/json"===e.type)).map((e=>e.getAsFile())).filter((e=>null!==e));t(a)}),i),{files:e,dragging:n}},gm=e=>{let{onOpenModal:t,onChange:n}=e;return Et("div",{className:"vm-upload-json-buttons",children:[Et(ea,{variant:"outlined",onClick:t,children:"Paste JSON"}),Et(ea,{children:["Upload Files",Et("input",{id:"json",type:"file",accept:"application/json",multiple:!0,title:" ",onChange:n})]})]})},ym=()=>{const[e,t]=(0,r.useState)([]),[n,a]=(0,r.useState)([]),i=(0,r.useMemo)((()=>!!e.length),[e]),{value:o,setTrue:l,setFalse:s}=na(!1),c=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";a((n=>[{filename:t,text:": ".concat(e.message)},...n]))},u=(e,n)=>{try{const r=JSON.parse(e),a=r.trace||r;if(!a.duration_msec)return void c(new Error(mt.traceNotFound),n);const i=new Ko(a,n);t((e=>[i,...e]))}catch(ep){ep instanceof Error&&c(ep,n)}},d=e=>{e.map((e=>{const t=new FileReader,n=(null===e||void 0===e?void 0:e.name)||"";t.onload=e=>{var t;const r=String(null===(t=e.target)||void 0===t?void 0:t.result);u(r,n)},t.readAsText(e)}))},h=e=>{a([]);const t=Array.from(e.target.files||[]);d(t),e.target.value=""},m=e=>()=>{(e=>{a((t=>t.filter(((t,n)=>n!==e))))})(e)},{files:p,dragging:f}=vm();return(0,r.useEffect)((()=>{d(p)}),[p]),Et("div",{className:"vm-trace-page",children:[Et("div",{className:"vm-trace-page-header",children:[Et("div",{className:"vm-trace-page-header-errors",children:n.map(((e,t)=>Et("div",{className:"vm-trace-page-header-errors-item",children:[Et(qr,{variant:"error",children:[Et("b",{className:"vm-trace-page-header-errors-item__filename",children:e.filename}),Et("span",{children:e.text})]}),Et(ea,{className:"vm-trace-page-header-errors-item__close",startIcon:Et(Ln,{}),variant:"text",color:"error",onClick:m(t)})]},"".concat(e,"_").concat(t))))}),Et("div",{children:i&&Et(gm,{onOpenModal:l,onChange:h})})]}),i&&Et("div",{children:Et(cl,{jsonEditor:!0,traces:e,onDeleteClick:n=>{const r=e.filter((e=>e.idValue!==n.idValue));t([...r])}})}),!i&&Et("div",{className:"vm-trace-page-preview",children:[Et("p",{className:"vm-trace-page-preview__text",children:["Please, upload file with JSON response content.","\n","The file must contain tracing information in JSON format.","\n","In order to use tracing please refer to the doc:\xa0",Et("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/#query-tracing",target:"_blank",rel:"help noreferrer",children:"https://docs.victoriametrics.com/#query-tracing"}),"\n","Tracing graph will be displayed after file upload.","\n","Attach files by dragging & dropping, selecting or pasting them."]}),Et(gm,{onOpenModal:l,onChange:h})]}),o&&Et(ua,{title:"Paste JSON",onClose:s,children:Et(sl,{editable:!0,displayTitle:!0,defaultTile:"JSON ".concat(e.length+1),onClose:s,onUpload:u})}),f&&Et("div",{className:"vm-trace-page__dropzone"})]})},_m=e=>{const{serverUrl:t}=At(),{period:n}=pn(),[a,i]=(0,r.useState)([]),[o,l]=(0,r.useState)(!1),[s,c]=(0,r.useState)(),u=(0,r.useMemo)((()=>((e,t,n)=>{const r="{job=".concat(JSON.stringify(n),"}");return"".concat(e,"/api/v1/label/instance/values?match[]=").concat(encodeURIComponent(r),"&start=").concat(t.start,"&end=").concat(t.end)})(t,n,e)),[t,n,e]);return(0,r.useEffect)((()=>{if(!e)return;(async()=>{l(!0);try{const e=await fetch(u),t=await e.json(),n=t.data||[];i(n.sort(((e,t)=>e.localeCompare(t)))),e.ok?c(void 0):c("".concat(t.errorType,"\r\n").concat(null===t||void 0===t?void 0:t.error))}catch(ep){ep instanceof Error&&c("".concat(ep.name,": ").concat(ep.message))}l(!1)})().catch(console.error)}),[u]),{instances:a,isLoading:o,error:s}},bm=(e,t)=>{const{serverUrl:n}=At(),{period:a}=pn(),[i,o]=(0,r.useState)([]),[l,s]=(0,r.useState)(!1),[c,u]=(0,r.useState)(),d=(0,r.useMemo)((()=>((e,t,n,r)=>{const a=Object.entries({job:n,instance:r}).filter((e=>e[1])).map((e=>{let[t,n]=e;return"".concat(t,"=").concat(JSON.stringify(n))})).join(","),i="{".concat(a,"}");return"".concat(e,"/api/v1/label/__name__/values?match[]=").concat(encodeURIComponent(i),"&start=").concat(t.start,"&end=").concat(t.end)})(n,a,e,t)),[n,a,e,t]);return(0,r.useEffect)((()=>{if(!e)return;(async()=>{s(!0);try{const e=await fetch(d),t=await e.json(),n=t.data||[];o(n.sort(((e,t)=>e.localeCompare(t)))),e.ok?u(void 0):u("".concat(t.errorType,"\r\n").concat(null===t||void 0===t?void 0:t.error))}catch(ep){ep instanceof Error&&u("".concat(ep.name,": ").concat(ep.message))}s(!1)})().catch(console.error)}),[d]),{names:i,isLoading:l,error:c}},wm=e=>{let{name:t,job:n,instance:a,rateEnabled:i,isBucket:o,height:l}=e;const{isMobile:s}=Ur(),{customStep:c,yaxis:u}=jr(),{period:d}=pn(),h=Hr(),m=fn(),p=Qt(d.end-d.start),f=Kt(c),v=Xt(10*f*1e3),[g,y]=(0,r.useState)(!1),[_,b]=(0,r.useState)(!1),w=g&&c===p?v:c,k=(0,r.useMemo)((()=>{const e=Object.entries({job:n,instance:a}).filter((e=>e[1])).map((e=>{let[t,n]=e;return"".concat(t,"=").concat(JSON.stringify(n))}));e.push("__name__=".concat(JSON.stringify(t))),"node_cpu_seconds_total"==t&&e.push('mode!="idle"');const r="{".concat(e.join(","),"}");if(o)return"sum(rate(".concat(r,")) by (vmrange, le)");const l=i?"rollup_rate(".concat(r,")"):"rollup(".concat(r,")");return"\nwith (q = ".concat(l,') (\n alias(min(label_match(q, "rollup", "min")), "min"),\n alias(max(label_match(q, "rollup", "max")), "max"),\n alias(avg(label_match(q, "rollup", "avg")), "avg"),\n)')}),[t,n,a,i,o]),{isLoading:x,graphData:S,error:C,queryErrors:E,warning:N,isHistogram:A}=Xo({predefinedQuery:[k],visible:!0,customStep:w,showAllSeries:_});return(0,r.useEffect)((()=>{y(A)}),[A]),Et("div",{className:wr()({"vm-explore-metrics-graph":!0,"vm-explore-metrics-graph_mobile":s}),children:[x&&Et(Bo,{}),C&&Et(qr,{variant:"error",children:C}),E[0]&&Et(qr,{variant:"error",children:E[0]}),N&&Et(dl,{warning:N,query:[k],onChange:b}),S&&d&&Et(sh,{data:S,period:d,customStep:w,query:[k],yaxis:u,setYaxisLimits:e=>{h({type:"SET_YAXIS_LIMITS",payload:e})},setPeriod:e=>{let{from:t,to:n}=e;m({type:"SET_PERIOD",payload:{from:t,to:n}})},showLegend:!1,height:l,isHistogram:A})]})},km=e=>{let{name:t,index:n,length:r,isBucket:a,rateEnabled:i,onChangeRate:o,onRemoveItem:l,onChangeOrder:s}=e;const{isMobile:c}=Ur(),{value:u,setTrue:d,setFalse:h}=na(!1),m=()=>{l(t)},p=()=>{s(t,n,n+1)},f=()=>{s(t,n,n-1)};return Et("div",c?{className:"vm-explore-metrics-item-header vm-explore-metrics-item-header_mobile",children:[Et("div",{className:"vm-explore-metrics-item-header__name",children:t}),Et(ea,{variant:"text",size:"small",startIcon:Et(cr,{}),onClick:d,ariaLabel:"open panel settings"}),u&&Et(ua,{title:t,onClose:h,children:Et("div",{className:"vm-explore-metrics-item-header-modal",children:[Et("div",{className:"vm-explore-metrics-item-header-modal-order",children:[Et(ea,{startIcon:Et(Gn,{}),variant:"outlined",onClick:f,disabled:0===n,ariaLabel:"move graph up"}),Et("p",{children:["position:",Et("span",{className:"vm-explore-metrics-item-header-modal-order__index",children:["#",n+1]})]}),Et(ea,{endIcon:Et(Zn,{}),variant:"outlined",onClick:p,disabled:n===r-1,ariaLabel:"move graph down"})]}),!a&&Et("div",{className:"vm-explore-metrics-item-header-modal__rate",children:[Et(Io,{label:Et("span",{children:["enable ",Et("code",{children:"rate()"})]}),value:i,onChange:o,fullWidth:!0}),Et("p",{children:"calculates the average per-second speed of metrics change"})]}),Et(ea,{startIcon:Et(Ln,{}),color:"error",variant:"outlined",onClick:m,fullWidth:!0,children:"Remove graph"})]})})]}:{className:"vm-explore-metrics-item-header",children:[Et("div",{className:"vm-explore-metrics-item-header-order",children:[Et(da,{title:"move graph up",children:Et(ea,{className:"vm-explore-metrics-item-header-order__up",startIcon:Et(Fn,{}),variant:"text",color:"gray",size:"small",onClick:f,ariaLabel:"move graph up"})}),Et("div",{className:"vm-explore-metrics-item-header__index",children:["#",n+1]}),Et(da,{title:"move graph down",children:Et(ea,{className:"vm-explore-metrics-item-header-order__down",startIcon:Et(Fn,{}),variant:"text",color:"gray",size:"small",onClick:p,ariaLabel:"move graph down"})})]}),Et("div",{className:"vm-explore-metrics-item-header__name",children:t}),!a&&Et("div",{className:"vm-explore-metrics-item-header__rate",children:Et(da,{title:"calculates the average per-second speed of metric's change",children:Et(Io,{label:Et("span",{children:["enable ",Et("code",{children:"rate()"})]}),value:i,onChange:o})})}),Et("div",{className:"vm-explore-metrics-item-header__close",children:Et(da,{title:"close graph",children:Et(ea,{startIcon:Et(Ln,{}),variant:"text",color:"gray",size:"small",onClick:m,ariaLabel:"close graph"})})})]})},xm=e=>{let{name:t,job:n,instance:a,index:i,length:o,size:l,onRemoveItem:s,onChangeOrder:c}=e;const u=(0,r.useMemo)((()=>/_sum?|_total?|_count?/.test(t)),[t]),d=(0,r.useMemo)((()=>/_bucket?/.test(t)),[t]),[h,m]=(0,r.useState)(u),p=Cr(),f=(0,r.useMemo)(l.height,[l,p]);return(0,r.useEffect)((()=>{m(u)}),[n]),Et("div",{className:"vm-explore-metrics-item vm-block vm-block_empty-padding",children:[Et(km,{name:t,index:i,length:o,isBucket:d,rateEnabled:h,size:l.id,onChangeRate:m,onRemoveItem:s,onChangeOrder:c}),Et(wm,{name:t,job:n,instance:a,rateEnabled:h,isBucket:d,height:f},"".concat(t,"_").concat(n,"_").concat(a,"_").concat(h))]})},Sm=e=>{let{values:t,onRemoveItem:n}=e;const{isMobile:r}=Ur();return r?Et("span",{className:"vm-select-input-content__counter",children:["selected ",t.length]}):Et(St.FK,{children:t.map((e=>{return Et("div",{className:"vm-select-input-content__selected",children:[Et("span",{children:e}),Et("div",{onClick:(t=e,e=>{n(t),e.stopPropagation()}),children:Et(Ln,{})})]},e);var t}))})},Cm=e=>{let{value:t,list:n,label:a,placeholder:i,noOptionsText:o,clearable:l=!1,searchable:s=!1,autofocus:c,disabled:u,onChange:d}=e;const{isDarkTheme:h}=At(),{isMobile:m}=Ur(),[p,f]=(0,r.useState)(""),v=(0,r.useRef)(null),[g,y]=(0,r.useState)(null),[_,b]=(0,r.useState)(!1),w=(0,r.useRef)(null),k=Array.isArray(t),x=Array.isArray(t)?t:void 0,S=m&&k&&!(null===x||void 0===x||!x.length),C=(0,r.useMemo)((()=>_?p:Array.isArray(t)?"":t),[t,p,_,k]),E=(0,r.useMemo)((()=>_?p||"(.+)":""),[p,_]),N=()=>{w.current&&w.current.blur()},A=()=>{b(!1),N()},M=e=>{f(""),d(e),k||A(),k&&w.current&&w.current.focus()};return(0,r.useEffect)((()=>{f(""),_&&w.current&&w.current.focus(),_||N()}),[_,w]),(0,r.useEffect)((()=>{c&&w.current&&!m&&w.current.focus()}),[c,w]),Sr("keyup",(e=>{w.current!==e.target&&b(!1)})),Xr(v,A,g),Et("div",{className:wr()({"vm-select":!0,"vm-select_dark":h,"vm-select_disabled":u}),children:[Et("div",{className:"vm-select-input",onClick:e=>{e.target instanceof HTMLInputElement||u||b((e=>!e))},ref:v,children:[Et("div",{className:"vm-select-input-content",children:[!(null===x||void 0===x||!x.length)&&Et(Sm,{values:x,onRemoveItem:M}),!S&&Et("input",{value:C,type:"text",placeholder:i,onInput:e=>{f(e.target.value)},onFocus:()=>{u||b(!0)},onBlur:()=>{n.includes(p)&&d(p)},ref:w,readOnly:m||!s})]}),a&&Et("span",{className:"vm-text-field__label",children:a}),l&&t&&Et("div",{className:"vm-select-input__icon",onClick:(e=>t=>{M(e),t.stopPropagation()})(""),children:Et(Ln,{})}),Et("div",{className:wr()({"vm-select-input__icon":!0,"vm-select-input__icon_open":_}),children:Et(jn,{})})]}),Et(Ci,{label:a,value:E,options:n.map((e=>({value:e}))),anchor:v,selected:x,minLength:1,fullWidth:!0,noOptionsText:o,onSelect:M,onOpenAutocomplete:b,onChangeWrapperRef:y})]})},Em=lt.map((e=>e.id)),Nm=e=>{let{jobs:t,instances:n,names:a,job:i,instance:o,size:l,selectedMetrics:s,onChangeJob:c,onChangeInstance:u,onToggleMetric:d,onChangeSize:h}=e;const m=(0,r.useMemo)((()=>i?"":"No instances. Please select job"),[i]),p=(0,r.useMemo)((()=>i?"":"No metric names. Please select job"),[i]),{isMobile:f}=Ur(),{value:v,toggle:g,setFalse:y}=na("false"!==Xe("EXPLORE_METRICS_TIPS"));return(0,r.useEffect)((()=>{Je("EXPLORE_METRICS_TIPS","".concat(v))}),[v]),Et(St.FK,{children:[Et("div",{className:wr()({"vm-explore-metrics-header":!0,"vm-explore-metrics-header_mobile":f,"vm-block":!0,"vm-block_mobile":f}),children:[Et("div",{className:"vm-explore-metrics-header__job",children:Et(Cm,{value:i,list:t,label:"Job",placeholder:"Please select job",onChange:c,autofocus:!i&&!!t.length&&!f,searchable:!0})}),Et("div",{className:"vm-explore-metrics-header__instance",children:Et(Cm,{value:o,list:n,label:"Instance",placeholder:"Please select instance",onChange:u,noOptionsText:m,clearable:!0,searchable:!0})}),Et("div",{className:"vm-explore-metrics-header__size",children:[Et(Cm,{label:"Size graphs",value:l,list:Em,onChange:h}),Et(da,{title:"".concat(v?"Hide":"Show"," tip"),children:Et(ea,{variant:"text",color:v?"warning":"gray",startIcon:Et(dr,{}),onClick:g,ariaLabel:"visibility tips"})})]}),Et("div",{className:"vm-explore-metrics-header-metrics",children:Et(Cm,{label:"Metrics",value:s,list:a,placeholder:"Search metric name",onChange:d,noOptionsText:p,clearable:!0,searchable:!0})})]}),v&&Et(qr,{variant:"warning",children:Et("div",{className:"vm-explore-metrics-header-description",children:[Et("p",{children:["Please note: this page is solely designed for exploring Prometheus metrics. Prometheus metrics always contain ",Et("code",{children:"job"})," and ",Et("code",{children:"instance"})," labels (see ",Et("a",{className:"vm-link vm-link_colored",href:"https://prometheus.io/docs/concepts/jobs_instances/",children:"these docs"}),"), and this page relies on them as filters. ",Et("br",{}),"Please use this page for Prometheus metrics only, in accordance with their naming conventions."]}),Et(ea,{variant:"text",size:"small",startIcon:Et(Ln,{}),onClick:y,ariaLabel:"close tips"})]})})]})},Am=ct("job",""),Mm=ct("instance",""),Tm=ct("metrics",""),Lm=ct("size",""),Pm=lt.find((e=>Lm?e.id===Lm:e.isDefault))||lt[0],Om=()=>{const[e,t]=(0,r.useState)(Am),[n,a]=(0,r.useState)(Mm),[i,o]=(0,r.useState)(Tm?Tm.split("&"):[]),[l,s]=(0,r.useState)(Pm);(e=>{let{job:t,instance:n,metrics:a,size:i}=e;const{duration:o,relativeTime:l,period:{date:s}}=pn(),{customStep:c}=jr(),{setSearchParamsFromKeys:u}=ei(),d=()=>{const e=Mh({"g0.range_input":o,"g0.end_input":s,"g0.step_input":c,"g0.relative_time":l,size:i,job:t,instance:n,metrics:a});u(e)};(0,r.useEffect)(d,[o,l,s,c,t,n,a,i]),(0,r.useEffect)(d,[])})({job:e,instance:n,metrics:i.join("&"),size:l.id});const{jobs:c,isLoading:u,error:d}=(()=>{const{serverUrl:e}=At(),{period:t}=pn(),[n,a]=(0,r.useState)([]),[i,o]=(0,r.useState)(!1),[l,s]=(0,r.useState)(),c=(0,r.useMemo)((()=>((e,t)=>"".concat(e,"/api/v1/label/job/values?start=").concat(t.start,"&end=").concat(t.end))(e,t)),[e,t]);return(0,r.useEffect)((()=>{(async()=>{o(!0);try{const e=await fetch(c),t=await e.json(),n=t.data||[];a(n.sort(((e,t)=>e.localeCompare(t)))),e.ok?s(void 0):s("".concat(t.errorType,"\r\n").concat(null===t||void 0===t?void 0:t.error))}catch(ep){ep instanceof Error&&s("".concat(ep.name,": ").concat(ep.message))}o(!1)})().catch(console.error)}),[c]),{jobs:n,isLoading:i,error:l}})(),{instances:h,isLoading:m,error:p}=_m(e),{names:f,isLoading:v,error:g}=bm(e,n),y=(0,r.useMemo)((()=>u||m||v),[u,m,v]),_=(0,r.useMemo)((()=>d||p||g),[d,p,g]),b=e=>{o(e?t=>t.includes(e)?t.filter((t=>t!==e)):[...t,e]:[])},w=(e,t,n)=>{const r=n>i.length-1;n<0||r||o((e=>{const r=[...e],[a]=r.splice(t,1);return r.splice(n,0,a),r}))};return(0,r.useEffect)((()=>{n&&h.length&&!h.includes(n)&&a("")}),[h,n]),Et("div",{className:"vm-explore-metrics",children:[Et(Nm,{jobs:c,instances:h,names:f,job:e,size:l.id,instance:n,selectedMetrics:i,onChangeJob:t,onChangeSize:e=>{const t=lt.find((t=>t.id===e));t&&s(t)},onChangeInstance:a,onToggleMetric:b}),y&&Et(Bo,{}),_&&Et(qr,{variant:"error",children:_}),!e&&Et(qr,{variant:"info",children:"Please select job to see list of metric names."}),e&&!i.length&&Et(qr,{variant:"info",children:"Please select metric names to see the graphs."}),Et("div",{className:"vm-explore-metrics-body",children:i.map(((t,r)=>Et(xm,{name:t,job:e,instance:n,index:r,length:i.length,size:l,onRemoveItem:b,onChangeOrder:w},t)))})]})},Im=()=>{const t=Fo();return Et("div",{className:"vm-preview-icons",children:Object.entries(e).map((e=>{let[n,r]=e;return Et("div",{className:"vm-preview-icons-item",onClick:(a=n,async()=>{await t("<".concat(a,"/>"),"<".concat(a,"/> has been copied"))}),children:[Et("div",{className:"vm-preview-icons-item__svg",children:r()}),Et("div",{className:"vm-preview-icons-item__name",children:"<".concat(n,"/>")})]},n);var a}))})};var Rm=function(e){return e.copy="Copy",e.copied="Copied",e}(Rm||{});const Dm=e=>{let{code:t}=e;const[n,a]=(0,r.useState)(Rm.copy);return(0,r.useEffect)((()=>{let e=null;return n===Rm.copied&&(e=setTimeout((()=>a(Rm.copy)),1e3)),()=>{e&&clearTimeout(e)}}),[n]),Et("code",{className:"vm-code-example",children:[t,Et("div",{className:"vm-code-example__copy",children:Et(da,{title:n,children:Et(ea,{size:"small",variant:"text",onClick:()=>{navigator.clipboard.writeText(t),a(Rm.copied)},startIcon:Et(nr,{}),ariaLabel:"close"})})})]})},zm=()=>Et("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/MetricsQL.html",target:"_blank",rel:"help noreferrer",children:"MetricsQL"}),Fm=()=>Et("a",{className:"vm-link vm-link_colored",href:"https://grafana.com/grafana/dashboards/1860-node-exporter-full/",target:"_blank",rel:"help noreferrer",children:"Node Exporter Full"}),jm=()=>Et("section",{className:"vm-with-template-tutorial",children:[Et("h2",{className:"vm-with-template-tutorial__title",children:["Tutorial for WITH expressions in ",Et(zm,{})]}),Et("div",{className:"vm-with-template-tutorial-section",children:[Et("p",{className:"vm-with-template-tutorial-section__text",children:["Let's look at the following real query from ",Et(Fm,{})," dashboard:"]}),Et(Dm,{code:'(\n (\n node_memory_MemTotal_bytes{instance=~"$node:$port", job=~"$job"}\n -\n node_memory_MemFree_bytes{instance=~"$node:$port", job=~"$job"}\n )\n /\n node_memory_MemTotal_bytes{instance=~"$node:$port", job=~"$job"}\n) * 100'}),Et("p",{className:"vm-with-template-tutorial-section__text",children:"It is clear the query calculates the percentage of used memory for the given $node, $port and $job. Isn't it? :)"})]}),Et("div",{className:"vm-with-template-tutorial-section",children:[Et("p",{className:"vm-with-template-tutorial-section__text",children:"What's wrong with this query? Copy-pasted label filters for distinct timeseries which makes it easy to mistype these filters during modification. Let's simplify the query with WITH expressions:"}),Et(Dm,{code:'WITH (\n commonFilters = {instance=~"$node:$port",job=~"$job"}\n)\n(\n node_memory_MemTotal_bytes{commonFilters}\n -\n node_memory_MemFree_bytes{commonFilters}\n)\n /\nnode_memory_MemTotal_bytes{commonFilters} * 100'})]}),Et("div",{className:"vm-with-template-tutorial-section",children:[Et("p",{className:"vm-with-template-tutorial-section__text",children:["Now label filters are located in a single place instead of three distinct places. The query mentions node_memory_MemTotal_bytes metric twice and ","{commonFilters}"," three times. WITH expressions may improve this:"]}),Et(Dm,{code:'WITH (\n my_resource_utilization(free, limit, filters) = (limit{filters} - free{filters}) / limit{filters} * 100\n)\nmy_resource_utilization(\n node_memory_MemFree_bytes,\n node_memory_MemTotal_bytes,\n {instance=~"$node:$port",job=~"$job"},\n)'}),Et("p",{className:"vm-with-template-tutorial-section__text",children:"Now the template function my_resource_utilization() may be used for monitoring arbitrary resources - memory, CPU, network, storage, you name it."})]}),Et("div",{className:"vm-with-template-tutorial-section",children:[Et("p",{className:"vm-with-template-tutorial-section__text",children:["Let's take another nice query from ",Et(Fm,{})," dashboard:"]}),Et(Dm,{code:'(\n (\n (\n count(\n count(node_cpu_seconds_total{instance=~"$node:$port",job=~"$job"}) by (cpu)\n )\n )\n -\n avg(\n sum by (mode) (rate(node_cpu_seconds_total{mode=\'idle\',instance=~"$node:$port",job=~"$job"}[5m]))\n )\n )\n *\n 100\n)\n /\ncount(\n count(node_cpu_seconds_total{instance=~"$node:$port",job=~"$job"}) by (cpu)\n)'}),Et("p",{className:"vm-with-template-tutorial-section__text",children:"Do you understand what does this mess do? Is it manageable? :) WITH expressions are happy to help in a few iterations."})]}),Et("div",{className:"vm-with-template-tutorial-section",children:[Et("p",{className:"vm-with-template-tutorial-section__text",children:"1. Extract common filters used in multiple places into a commonFilters variable:"}),Et(Dm,{code:'WITH (\n commonFilters = {instance=~"$node:$port",job=~"$job"}\n)\n(\n (\n (\n count(\n count(node_cpu_seconds_total{commonFilters}) by (cpu)\n )\n )\n -\n avg(\n sum by (mode) (rate(node_cpu_seconds_total{mode=\'idle\',commonFilters}[5m]))\n )\n )\n *\n 100\n)\n /\ncount(\n count(node_cpu_seconds_total{commonFilters}) by (cpu)\n)'})]}),Et("div",{className:"vm-with-template-tutorial-section",children:[Et("p",{className:"vm-with-template-tutorial-section__text",children:'2. Extract "count(count(...) by (cpu))" into cpuCount variable:'}),Et(Dm,{code:'WITH (\n commonFilters = {instance=~"$node:$port",job=~"$job"},\n cpuCount = count(count(node_cpu_seconds_total{commonFilters}) by (cpu))\n)\n(\n (\n cpuCount\n -\n avg(\n sum by (mode) (rate(node_cpu_seconds_total{mode=\'idle\',commonFilters}[5m]))\n )\n )\n *\n 100\n) / cpuCount'})]}),Et("div",{className:"vm-with-template-tutorial-section",children:[Et("p",{className:"vm-with-template-tutorial-section__text",children:"3. Extract rate(...) part into cpuIdle variable, since it is clear now that this part calculates the number of idle CPUs:"}),Et(Dm,{code:'WITH (\n commonFilters = {instance=~"$node:$port",job=~"$job"},\n cpuCount = count(count(node_cpu_seconds_total{commonFilters}) by (cpu)),\n cpuIdle = sum(rate(node_cpu_seconds_total{mode=\'idle\',commonFilters}[5m]))\n)\n((cpuCount - cpuIdle) * 100) / cpuCount'})]}),Et("div",{className:"vm-with-template-tutorial-section",children:[Et("p",{className:"vm-with-template-tutorial-section__text",children:["4. Put node_cpu_seconds_total","{commonFilters}"," into its own varialbe with the name cpuSeconds:"]}),Et(Dm,{code:'WITH (\n cpuSeconds = node_cpu_seconds_total{instance=~"$node:$port",job=~"$job"},\n cpuCount = count(count(cpuSeconds) by (cpu)),\n cpuIdle = sum(rate(cpuSeconds{mode=\'idle\'}[5m]))\n)\n((cpuCount - cpuIdle) * 100) / cpuCount'}),Et("p",{className:"vm-with-template-tutorial-section__text",children:"Now the query became more clear comparing to the initial query."})]}),Et("div",{className:"vm-with-template-tutorial-section",children:[Et("p",{className:"vm-with-template-tutorial-section__text",children:"WITH expressions may be nested and may be put anywhere. Try expanding the following query:"}),Et(Dm,{code:"WITH (\n f(a, b) = WITH (\n f1(x) = b-x,\n f2(x) = x+x\n ) f1(a)*f2(b)\n) f(foo, with(x=bar) x)"})]})]}),Hm=()=>{const{serverUrl:e}=At(),[t,n]=je(),[a,i]=(0,r.useState)(""),[o,l]=(0,r.useState)(!1),[s,c]=(0,r.useState)();return{data:a,error:s,loading:o,expand:async r=>{t.set("expr",r),n(t);const a=((e,t)=>"".concat(e,"/expand-with-exprs?query=").concat(encodeURIComponent(t),"&format=json"))(e,r);l(!0);try{const e=await fetch(a),t=await e.json();i((null===t||void 0===t?void 0:t.expr)||""),c(String(t.error||""))}catch(ep){ep instanceof Error&&"AbortError"!==ep.name&&c("".concat(ep.name,": ").concat(ep.message))}l(!1)}}},Vm=()=>{const[e]=je(),{data:t,loading:n,error:a,expand:i}=Hm(),[o,l]=(0,r.useState)(e.get("expr")||""),s=()=>{i(o)};return(0,r.useEffect)((()=>{o&&i(o)}),[]),Et("section",{className:"vm-with-template",children:[n&&Et(Bo,{}),Et("div",{className:"vm-with-template-body vm-block",children:[Et("div",{className:"vm-with-template-body__expr",children:Et(Da,{type:"textarea",label:"MetricsQL query with optional WITH expressions",value:o,error:a,autofocus:!0,onEnter:s,onChange:e=>{l(e)}})}),Et("div",{className:"vm-with-template-body__result",children:Et(Da,{type:"textarea",label:"MetricsQL query after expanding WITH expressions and applying other optimizations",value:t,disabled:!0})}),Et("div",{className:"vm-with-template-body-top",children:Et(ea,{variant:"contained",onClick:s,startIcon:Et(Bn,{}),children:"Expand"})})]}),Et("div",{className:"vm-block",children:Et(jm,{})})]})},$m=()=>{const{serverUrl:e}=At(),[t,n]=(0,r.useState)(null),[a,i]=(0,r.useState)(!1),[o,l]=(0,r.useState)();return{data:t,error:o,loading:a,fetchData:async(t,r)=>{const a=((e,t,n)=>{const r=["format=json","relabel_configs=".concat(encodeURIComponent(t)),"metric=".concat(encodeURIComponent(n))];return"".concat(e,"/metric-relabel-debug?").concat(r.join("&"))})(e,t,r);i(!0);try{const e=await fetch(a),t=await e.json();n(t.error?null:t),l(String(t.error||""))}catch(ep){ep instanceof Error&&"AbortError"!==ep.name&&l("".concat(ep.name,": ").concat(ep.message))}i(!1)}}},Um={config:'- if: \'{bar_label=~"b.*"}\'\n source_labels: [foo_label, bar_label]\n separator: "_"\n target_label: foobar\n- action: labeldrop\n regex: "foo_.*"\n- target_label: job\n replacement: "my-application-2"',labels:'{__name__="my_metric", bar_label="bar", foo_label="foo", job="my-application", instance="192.168.0.1"}'},Bm=()=>{const[e,t]=je(),{data:n,loading:a,error:i,fetchData:o}=$m(),[l,s]=$h("","config"),[c,u]=$h("","labels"),d=(0,r.useCallback)((()=>{o(l,c),e.set("config",l),e.set("labels",c),t(e)}),[l,c]);return(0,r.useEffect)((()=>{const t=e.get("config")||"",n=e.get("labels")||"";(n||t)&&(o(t,n),s(t),u(n))}),[]),Et("section",{className:"vm-relabeling",children:[a&&Et(Bo,{}),Et("div",{className:"vm-relabeling-header vm-block",children:[Et("div",{className:"vm-relabeling-header-configs",children:Et(Da,{type:"textarea",label:"Relabel configs",value:l,autofocus:!0,onChange:e=>{s(e||"")},onEnter:d})}),Et("div",{className:"vm-relabeling-header__labels",children:Et(Da,{type:"textarea",label:"Labels",value:c,onChange:e=>{u(e||"")},onEnter:d})}),Et("div",{className:"vm-relabeling-header-bottom",children:[Et("a",{className:"vm-link vm-link_with-icon",target:"_blank",href:"https://docs.victoriametrics.com/relabeling.html",rel:"help noreferrer",children:[Et(On,{}),"Relabeling cookbook"]}),Et("a",{className:"vm-link vm-link_with-icon",target:"_blank",href:"https://docs.victoriametrics.com/vmagent.html#relabeling",rel:"help noreferrer",children:[Et(ir,{}),"Documentation"]}),Et(ea,{variant:"text",onClick:()=>{const{config:n,labels:r}=Um;s(n),u(r),o(n,r),e.set("config",n),e.set("labels",r),t(e)},children:"Try example"}),Et(ea,{variant:"contained",onClick:d,startIcon:Et(Bn,{}),children:"Submit"})]})]}),i&&Et(qr,{variant:"error",children:i}),n&&Et("div",{className:"vm-relabeling-steps vm-block",children:[n.originalLabels&&Et("div",{className:"vm-relabeling-steps-item",children:Et("div",{className:"vm-relabeling-steps-item__row",children:[Et("span",{children:"Original labels:"}),Et("code",{dangerouslySetInnerHTML:{__html:n.originalLabels}})]})}),n.steps.map(((e,t)=>Et("div",{className:"vm-relabeling-steps-item",children:[Et("div",{className:"vm-relabeling-steps-item__row",children:[Et("span",{children:"Step:"}),t+1]}),Et("div",{className:"vm-relabeling-steps-item__row",children:[Et("span",{children:"Relabeling Rule:"}),Et("code",{children:Et("pre",{children:e.rule})})]}),Et("div",{className:"vm-relabeling-steps-item__row",children:[Et("span",{children:"Input Labels:"}),Et("code",{children:Et("pre",{dangerouslySetInnerHTML:{__html:e.inLabels}})})]}),Et("div",{className:"vm-relabeling-steps-item__row",children:[Et("span",{children:"Output labels:"}),Et("code",{children:Et("pre",{dangerouslySetInnerHTML:{__html:e.outLabels}})})]})]},t))),n.resultingLabels&&Et("div",{className:"vm-relabeling-steps-item",children:Et("div",{className:"vm-relabeling-steps-item__row",children:[Et("span",{children:"Resulting labels:"}),Et("code",{dangerouslySetInnerHTML:{__html:n.resultingLabels}})]})})]})]})},qm=e=>{let{rows:t,columns:n,defaultOrderBy:a,copyToClipboard:i,paginationOffset:o}=e;const[l,s]=(0,r.useState)(a),[c,u]=(0,r.useState)("desc"),[d,h]=(0,r.useState)(null),m=(0,r.useMemo)((()=>{const{startIndex:e,endIndex:n}=o;return Kh(t,Wh(c,l)).slice(e,n)}),[t,l,c,o]),p=(e,t)=>async()=>{if(d!==t)try{await navigator.clipboard.writeText(String(e)),h(t)}catch(ep){console.error(ep)}};return(0,r.useEffect)((()=>{if(null===d)return;const e=setTimeout((()=>h(null)),2e3);return()=>clearTimeout(e)}),[d]),Et("table",{className:"vm-table",children:[Et("thead",{className:"vm-table-header",children:Et("tr",{className:"vm-table__row vm-table__row_header",children:[n.map((e=>{return Et("th",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:(t=e.key,()=>{u((e=>"asc"===e&&l===t?"desc":"asc")),s(t)}),children:Et("div",{className:"vm-table-cell__content",children:[Et("div",{children:String(e.title||e.key)}),Et("div",{className:wr()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":l===e.key,"vm-table__sort-icon_desc":"desc"===c&&l===e.key}),children:Et(jn,{})})]})},String(e.key));var t})),i&&Et("th",{className:"vm-table-cell vm-table-cell_header"})]})}),Et("tbody",{className:"vm-table-body",children:m.map(((e,t)=>Et("tr",{className:"vm-table__row",children:[n.map((t=>Et("td",{className:wr()({"vm-table-cell":!0,["".concat(t.className)]:t.className}),children:e[t.key]||"-"},String(t.key)))),i&&Et("td",{className:"vm-table-cell vm-table-cell_right",children:e[i]&&Et("div",{className:"vm-table-cell__content",children:Et(da,{title:d===t?"Copied":"Copy row",children:Et(ea,{variant:"text",color:d===t?"success":"gray",size:"small",startIcon:Et(d===t?Jn:nr,{}),onClick:p(e[i],t),ariaLabel:"copy row"})})})})]},t)))})]})},Ym=()=>{const{isMobile:e}=Ur(),{timezone:t}=pn(),{data:n,lastUpdated:a,isLoading:o,error:l,fetchData:s}=(()=>{const{serverUrl:e}=At(),[t,n]=(0,r.useState)([]),[a,o]=(0,r.useState)(i()().format(Ot)),[l,s]=(0,r.useState)(!1),[c,u]=(0,r.useState)(),d=(0,r.useMemo)((()=>"".concat(e,"/api/v1/status/active_queries")),[e]),h=async()=>{s(!0);try{const e=await fetch(d),t=await e.json();n(t.data),o(i()().format("HH:mm:ss:SSS")),e.ok?u(void 0):u("".concat(t.errorType,"\r\n").concat(null===t||void 0===t?void 0:t.error))}catch(ep){ep instanceof Error&&u("".concat(ep.name,": ").concat(ep.message))}s(!1)};return(0,r.useEffect)((()=>{h().catch(console.error)}),[d]),{data:t,lastUpdated:a,isLoading:l,error:c,fetchData:h}})(),c=(0,r.useMemo)((()=>n.map((e=>{const t=i()(e.start).tz().format(Pt),n=i()(e.end).tz().format(Pt);return{duration:e.duration,remote_addr:e.remote_addr,query:e.query,args:"".concat(t," to ").concat(n,", step=").concat(Yt(e.step)),data:JSON.stringify(e,null,2)}}))),[n,t]),u=(0,r.useMemo)((()=>{if(null===c||void 0===c||!c.length)return[];const e=Object.keys(c[0]),t={remote_addr:"client address"},n=["data"];return e.filter((e=>!n.includes(e))).map((e=>({key:e,title:t[e]||e})))}),[c]);return Et("div",{className:"vm-active-queries",children:[o&&Et(Bo,{}),Et("div",{className:"vm-active-queries-header",children:[!c.length&&!l&&Et(qr,{variant:"info",children:"There are currently no active queries running"}),l&&Et(qr,{variant:"error",children:l}),Et("div",{className:"vm-active-queries-header-controls",children:[Et(ea,{variant:"contained",onClick:async()=>{s().catch(console.error)},startIcon:Et(zn,{}),children:"Update"}),Et("div",{className:"vm-active-queries-header__update-msg",children:["Last updated: ",a]})]})]}),!!c.length&&Et("div",{className:wr()({"vm-block":!0,"vm-block_mobile":e}),children:Et(qm,{rows:c,columns:u,defaultOrderBy:"duration",copyToClipboard:"data",paginationOffset:{startIndex:0,endIndex:1/0}})})]})},Wm=e=>{let{onClose:t,onUpload:n}=e;const{isMobile:a}=Ur(),[i,o]=(0,r.useState)(""),[l,s]=(0,r.useState)(""),c=(0,r.useMemo)((()=>{try{return JSON.parse(i),""}catch(ep){return ep instanceof Error?ep.message:"Unknown error"}}),[i]),u=()=>{s(c),c||(n(i),t())};return Et("div",{className:wr()({"vm-json-form vm-json-form_one-field":!0,"vm-json-form_mobile vm-json-form_one-field_mobile":a}),children:[Et(Da,{value:i,label:"JSON",type:"textarea",error:l,autofocus:!0,onChange:e=>{s(""),o(e)},onEnter:u}),Et("div",{className:"vm-json-form-footer",children:Et("div",{className:"vm-json-form-footer__controls vm-json-form-footer__controls_right",children:[Et(ea,{variant:"outlined",color:"error",onClick:t,children:"Cancel"}),Et(ea,{variant:"contained",onClick:u,children:"apply"})]})})]})},Km=e=>{let{data:t,period:n}=e;const{isMobile:a}=Ur(),{tableCompact:i}=Ir(),o=Rr(),[l,s]=(0,r.useState)([]),[c,u]=(0,r.useState)(),[d,h]=(0,r.useState)(),[m,p]=(0,r.useState)(!1),[f,v]=(0,r.useState)([]),[g,y]=(0,r.useState)(),_=(0,r.useMemo)((()=>fh(d||[]).map((e=>e.key))),[d]),b=(0,r.useMemo)((()=>{const e=t.some((e=>"matrix"===e.data.resultType));return t.some((e=>"vector"===e.data.resultType))&&e?Nr:e?Nr.filter((e=>"chart"===e.value)):Nr.filter((e=>"chart"!==e.value))}),[t]),[w,k]=(0,r.useState)(b[0].value),{yaxis:x,spanGaps:S}=jr(),C=Hr(),E=e=>{C({type:"SET_YAXIS_LIMITS",payload:e})};return(0,r.useEffect)((()=>{const e="chart"===w?"matrix":"vector",n=t.filter((t=>t.data.resultType===e&&t.trace)).map((e=>{var t,n;return e.trace?new Ko(e.trace,(null===e||void 0===e||null===(t=e.vmui)||void 0===t||null===(n=t.params)||void 0===n?void 0:n.query)||"Query"):null}));s(n.filter(Boolean))}),[t,w]),(0,r.useEffect)((()=>{const e=[],n=[],r=[];t.forEach(((t,a)=>{const i=t.data.result.map((e=>{var n,r,i;return{...e,group:Number(null!==(n=null===(r=t.vmui)||void 0===r||null===(i=r.params)||void 0===i?void 0:i.id)&&void 0!==n?n:a)+1}}));var o,l;"matrix"===t.data.resultType?(n.push(...i),e.push((null===(o=t.vmui)||void 0===o||null===(l=o.params)||void 0===l?void 0:l.query)||"Query")):r.push(...i)})),v(e),u(n),h(r)}),[t]),(0,r.useEffect)((()=>{p(!!c&&Go(c))}),[c]),Et("div",{className:wr()({"vm-query-analyzer-view":!0,"vm-query-analyzer-view_mobile":a}),children:[!!l.length&&Et(cl,{traces:l,onDeleteClick:e=>{s((t=>t.filter((t=>t.idValue!==e.idValue))))}}),Et("div",{className:wr()({"vm-block":!0,"vm-block_mobile":a}),children:[Et("div",{className:"vm-custom-panel-body-header",children:[Et("div",{className:"vm-custom-panel-body-header__tabs",children:Et(Er,{activeItem:w,items:b,onChange:e=>{k(e)}})}),Et("div",{className:"vm-custom-panel-body-header__graph-controls",children:["chart"===w&&Et(va,{}),"chart"===w&&Et(hh,{yaxis:x,setYaxisLimits:E,toggleEnableLimits:()=>{C({type:"TOGGLE_ENABLE_YAXIS_LIMITS"})},spanGaps:{value:S,onChange:e=>{C({type:"SET_SPAN_GAPS",payload:e})}}}),"table"===w&&Et(bh,{columns:_,defaultColumns:g,onChangeColumns:y,tableCompact:i,toggleTableCompact:()=>{o({type:"TOGGLE_TABLE_COMPACT"})}})]})]}),c&&n&&"chart"===w&&Et(sh,{data:c,period:n,customStep:n.step||"1s",query:f,yaxis:x,setYaxisLimits:E,setPeriod:()=>null,height:a?.5*window.innerHeight:500,isHistogram:m,spanGaps:S}),d&&"code"===w&&Et(ph,{data:d}),d&&"table"===w&&Et(gh,{data:d,displayColumns:g})]})]})},Qm=e=>{var t,n;let{data:a,period:o}=e;const l=(0,r.useMemo)((()=>a.filter((e=>e.stats&&"matrix"===e.data.resultType))),[a]),s=(0,r.useMemo)((()=>{var e,t;return null===(e=a.find((e=>{var t;return null===e||void 0===e||null===(t=e.vmui)||void 0===t?void 0:t.comment})))||void 0===e||null===(t=e.vmui)||void 0===t?void 0:t.comment}),[a]),c=(0,r.useMemo)((()=>{if(!o)return"";const e=i()(1e3*o.start).tz().format(Pt),t=i()(1e3*o.end).tz().format(Pt);return"".concat(e," - ").concat(t)}),[o]),{value:u,setTrue:d,setFalse:h}=na(!1);return Et(St.FK,{children:[Et("div",{className:"vm-query-analyzer-info-header",children:[Et(ea,{startIcon:Et(On,{}),variant:"outlined",color:"warning",onClick:d,children:"Show report info"}),o&&Et(St.FK,{children:[Et("div",{className:"vm-query-analyzer-info-header__period",children:[Et(ar,{})," step: ",o.step]}),Et("div",{className:"vm-query-analyzer-info-header__period",children:[Et(Hn,{})," ",c]})]})]}),u&&Et(ua,{title:"Report info",onClose:h,children:Et("div",{className:"vm-query-analyzer-info",children:[s&&Et("div",{className:"vm-query-analyzer-info-item vm-query-analyzer-info-item_comment",children:[Et("div",{className:"vm-query-analyzer-info-item__title",children:"Comment:"}),Et("div",{className:"vm-query-analyzer-info-item__text",children:s})]}),l.map(((e,t)=>{var n;return Et("div",{className:"vm-query-analyzer-info-item",children:[Et("div",{className:"vm-query-analyzer-info-item__title",children:l.length>1?"Query ".concat(t+1,":"):"Stats:"}),Et("div",{className:"vm-query-analyzer-info-item__text",children:[Object.entries(e.stats||{}).map((e=>{let[t,n]=e;return Et("div",{children:[t,": ",null!==n&&void 0!==n?n:"-"]},t)})),"isPartial: ",String(null!==(n=e.isPartial)&&void 0!==n?n:"-")]})]},t)})),Et("div",{className:"vm-query-analyzer-info-type",children:null!==(t=l[0])&&void 0!==t&&null!==(n=t.vmui)&&void 0!==n&&n.params?"The report was created using vmui":"The report was created manually"})]})})]})},Zm=()=>{const[e,t]=(0,r.useState)([]),[n,a]=(0,r.useState)(""),i=(0,r.useMemo)((()=>!!e.length),[e]),{value:o,setTrue:l,setFalse:s}=na(!1),c=(0,r.useMemo)((()=>{var t,n;if(!e)return;const r=null===(t=e[0])||void 0===t||null===(n=t.vmui)||void 0===n?void 0:n.params,a={start:+((null===r||void 0===r?void 0:r.start)||0),end:+((null===r||void 0===r?void 0:r.end)||0),step:null===r||void 0===r?void 0:r.step,date:""};if(!r){const t=e.filter((e=>"matrix"===e.data.resultType)).map((e=>e.data.result)).flat().map((e=>{var t;return e.values?null===(t=e.values)||void 0===t?void 0:t.map((e=>e[0])):[0]})).flat(),n=Array.from(new Set(t.filter(Boolean))).sort(((e,t)=>e-t));a.start=n[0],a.end=n[n.length-1],a.step=qt((e=>{const t=e.slice(1).map(((t,n)=>t-e[n])),n={};t.forEach((e=>{const t=e.toString();n[t]=(n[t]||0)+1}));let r=0,a=0;for(const i in n)n[i]>a&&(a=n[i],r=Number(i));return r})(n))}return a.date=Gt(en(a.end)),a}),[e]),u=e=>{try{const n=JSON.parse(e),r=Array.isArray(n)?n:[n];(e=>e.every((e=>{if("object"===typeof e&&null!==e){const t=e.data;if("object"===typeof t&&null!==t){const e=t.result,n=t.resultType;return Array.isArray(e)&&"string"===typeof n}}return!1})))(r)?t(r):a("Invalid structure - JSON does not match the expected format")}catch(ep){ep instanceof Error&&a("".concat(ep.name,": ").concat(ep.message))}},d=e=>{e.map((e=>{const t=new FileReader;t.onload=e=>{var t;const n=String(null===(t=e.target)||void 0===t?void 0:t.result);u(n)},t.readAsText(e)}))},h=e=>{a("");const t=Array.from(e.target.files||[]);d(t),e.target.value=""},{files:m,dragging:p}=vm();return(0,r.useEffect)((()=>{d(m)}),[m]),Et("div",{className:"vm-trace-page",children:[i&&Et("div",{className:"vm-trace-page-header",children:[Et("div",{className:"vm-trace-page-header-errors",children:Et(Qm,{data:e,period:c})}),Et("div",{children:Et(gm,{onOpenModal:l,onChange:h})})]}),n&&Et("div",{className:"vm-trace-page-header-errors-item vm-trace-page-header-errors-item_margin-bottom",children:[Et(qr,{variant:"error",children:n}),Et(ea,{className:"vm-trace-page-header-errors-item__close",startIcon:Et(Ln,{}),variant:"text",color:"error",onClick:()=>{a("")}})]}),i&&Et(Km,{data:e,period:c}),!i&&Et("div",{className:"vm-trace-page-preview",children:[Et("p",{className:"vm-trace-page-preview__text",children:["Please, upload file with JSON response content.","\n","The file must contain query information in JSON format.","\n","Graph will be displayed after file upload.","\n","Attach files by dragging & dropping, selecting or pasting them."]}),Et(gm,{onOpenModal:l,onChange:h})]}),o&&Et(ua,{title:"Paste JSON",onClose:s,children:Et(Wm,{onClose:s,onUpload:u})}),p&&Et("div",{className:"vm-trace-page__dropzone"})]})},Gm=()=>{const[e,t]=(0,r.useState)(!1);return Et(St.FK,{children:Et(Le,{children:Et(Gr,{children:Et(St.FK,{children:[Et(fm,{onLoaded:t}),e&&Et(ke,{children:Et(be,{path:"/",element:Et(xi,{}),children:[Et(be,{path:Ye.home,element:Et(Eh,{})}),Et(be,{path:Ye.metrics,element:Et(Om,{})}),Et(be,{path:Ye.cardinality,element:Et(am,{})}),Et(be,{path:Ye.topQueries,element:Et(um,{})}),Et(be,{path:Ye.trace,element:Et(ym,{})}),Et(be,{path:Ye.queryAnalyzer,element:Et(Zm,{})}),Et(be,{path:Ye.dashboards,element:Et(Th,{})}),Et(be,{path:Ye.withTemplate,element:Et(Vm,{})}),Et(be,{path:Ye.relabel,element:Et(Bm,{})}),Et(be,{path:Ye.activeQueries,element:Et(Ym,{})}),Et(be,{path:Ye.icons,element:Et(Im,{})})]})})]})})})})},Jm=e=>{e&&n.e(685).then(n.bind(n,685)).then((t=>{let{getCLS:n,getFID:r,getFCP:a,getLCP:i,getTTFB:o}=t;n(e),r(e),a(e),i(e),o(e)}))},Xm=document.getElementById("root");Xm&&(0,r.render)(Et(Gm,{}),Xm),Jm()})()})(); \ No newline at end of file diff --git a/app/vmselect/vmui/static/js/main.59c17910.js.LICENSE.txt b/app/vmselect/vmui/static/js/main.ff9af61b.js.LICENSE.txt similarity index 100% rename from app/vmselect/vmui/static/js/main.59c17910.js.LICENSE.txt rename to app/vmselect/vmui/static/js/main.ff9af61b.js.LICENSE.txt diff --git a/app/vmselect/vmui/static/media/MetricsQL.df7574389d8f8bbcf0c7.md b/app/vmselect/vmui/static/media/MetricsQL.cb83d071da309a358bc0.md similarity index 99% rename from app/vmselect/vmui/static/media/MetricsQL.df7574389d8f8bbcf0c7.md rename to app/vmselect/vmui/static/media/MetricsQL.cb83d071da309a358bc0.md index fec10e5dc..158b0725f 100644 --- a/app/vmselect/vmui/static/media/MetricsQL.df7574389d8f8bbcf0c7.md +++ b/app/vmselect/vmui/static/media/MetricsQL.cb83d071da309a358bc0.md @@ -328,6 +328,7 @@ See also [increases_over_time](#increases_over_time). `default_rollup(series_selector[d])` is a [rollup function](#rollup-functions), which returns the last [raw sample](https://docs.victoriametrics.com/keyconcepts/#raw-samples) value on the given lookbehind window `d` per each time series returned from the given [series_selector](https://docs.victoriametrics.com/keyconcepts/#filtering). +Compared to [last_over_time](#last_over_time) it accounts for [staleness markers](https://docs.victoriametrics.com/vmagent/#prometheus-staleness-markers) to detect stale series. If the lookbehind window is skipped in square brackets, then it is automatically calculated as `max(step, scrape_interval)`, where `step` is the query arg value passed to [/api/v1/query_range](https://docs.victoriametrics.com/keyconcepts/#range-query) or [/api/v1/query](https://docs.victoriametrics.com/keyconcepts/#instant-query), diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index e858090ba..f9093c22e 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -30,6 +30,10 @@ See also [LTS releases](https://docs.victoriametrics.com/lts-releases/). ## tip +## [v1.102.0-rc1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.102.0-rc1) + +Released at 2024-06-07 + **Update note 1: the `-remoteWrite.multitenantURL` command-line flag at `vmagent` was removed starting from this release. This flag was deprecated since [v1.96.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.96.0). Use `-enableMultitenantHandlers` instead, as it is easier to use and combine with [multitenant URL at vminsert](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#multitenancy-via-labels). See these [docs for details](https://docs.victoriametrics.com/vmagent.html#multitenancy).** **Update note 2: the `-streamAggr.dropInputLabels` command-line flag at `vmagent` was renamed to `-remoteWrite.streamAggr.dropInputLabels`. `-streamAggr.dropInputLabels` is now used for global streaming aggregation.** @@ -51,6 +55,7 @@ See also [LTS releases](https://docs.victoriametrics.com/lts-releases/). * FEATURE: [vmagent](https://docs.victoriametrics.com/vmagent.html): allow configuring `-remoteWrite.disableOnDiskQueue` and `-remoteWrite.dropSamplesOnOverload` cmd-line flags per each `-remoteWrite.url`. See this [pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/6065). Thanks to @rbizos for implementation! * FEATURE: [vmagent](https://docs.victoriametrics.com/vmagent.html): add labels `path` and `url` to metrics `vmagent_remotewrite_push_failures_total` and `vmagent_remotewrite_samples_dropped_total`. Now number of failed pushes and dropped samples can be tracked per `-remoteWrite.url`. * FEATURE: [stream aggregation](https://docs.victoriametrics.com/stream-aggregation/): add [rate_sum](https://docs.victoriametrics.com/stream-aggregation/#rate_sum) and [rate_avg](https://docs.victoriametrics.com/stream-aggregation/#rate_avg) aggregation outputs. +* FEATURE: [stream aggregation](https://docs.victoriametrics.com/stream-aggregation/): reduce the number of allocated objects in heap during deduplication and aggregation. The change supposed to reduce pressure on Garbage Collector, as it will need to scan less objects. See [this pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/6402). * FEATURE: [vmalert](https://docs.victoriametrics.com/vmalert/): add `datasource.idleConnTimeout`, `remoteWrite.idleConnTimeout` and `remoteRead.idleConnTimeout` flags. These flags are set to 50s by default and should reduce the probability of `broken pipe` or `connection reset by peer` errors in vmalert logs. See this [issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5661) for details. * FEATURE: [vmalert](https://docs.victoriametrics.com/vmalert/): add auto request retry for trivial network errors, such as `broken pipe` and `connection reset` for requests to `remoteRead`, `remoteWrite` and `datasource` URLs. See this [issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5661) for details. * FEATURE: [vmalert](https://docs.victoriametrics.com/vmalert/): reduce CPU usage when evaluating high number of alerting and recording rules. @@ -59,6 +64,8 @@ See also [LTS releases](https://docs.victoriametrics.com/lts-releases/). * FEATURE: [vmbackup](https://docs.victoriametrics.com/vmbackup/), [vmrestore](https://docs.victoriametrics.com/vmrestore/), [vmbackupmanager](https://docs.victoriametrics.com/vmbackupmanager/): add `-s3TLSInsecureSkipVerify` command-line flag for skipping TLS certificates verification when connecting to S3 endpoint. * FEATURE: expose metric `vm_indexdb_items_dropped_total` to track the number of IndexDB records that had to be dropped during ingestion. The reason of dropping the record will be annotated in `reason` label of the exposed metric. This change also comes with a new [alerting rule](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/deployment/docker/alerts-health.yml) to track changes of this metric. * FEATURE: [alerts-health](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/deployment/docker/alerts-health.yml): add new alerting rules `TooLongLabelValues` and `TooLongLabelNames` to notify about truncation of label values or names respectively. +* FEATURE: [stream aggregation](https://docs.victoriametrics.com/stream-aggregation/): expose `vm_streamaggr_ignored_samples_total` [counters](https://docs.victoriametrics.com/keyconcepts/#counter) at [`/metrics` page](https://docs.victoriametrics.com/#monitoring), which can be used for detecting amount of too old or NaN valued ignored samples. Expose also `vm_streamaggr_samples_lag_seconds` [histogram](https://docs.victoriametrics.com/keyconcepts/#histogram) to monitor aggregated samples lag. +* FEATURE: [stream aggregation](https://docs.victoriametrics.com/stream-aggregation/): improve filtering speed of the received data samples if [match](https://docs.victoriametrics.com/stream-aggregation/#stream-aggregation-config) field is matching only [metric name](https://docs.victoriametrics.com/keyconcepts/#structure-of-a-metric). * BUGFIX: [vmui](https://docs.victoriametrics.com/#vmui): fix bug that prevents the first query trace from expanding on click event. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6186). The issue was introduced in [v1.100.0](https://docs.victoriametrics.com/changelog/#v11000) release. * BUGFIX: [vmui](https://docs.victoriametrics.com/#vmui): fix calendar display when `UTC+00:00` timezone is set. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6239). @@ -252,6 +259,28 @@ Released at 2024-02-14 * BUGFIX: [dashboards](https://grafana.com/orgs/victoriametrics): update `Storage full ETA` panels for Single-node and Cluster dashboards to prevent them from showing negative or blank results caused by increase of deduplicated samples. Deduplicated samples were part of the expression to provide a better estimate for disk usage, but due to sporadic nature of [deduplication](https://docs.victoriametrics.com/#deduplication) in VictoriaMetrics it rather produced skewed results. See [this pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/5747). * BUGFIX: [vmalert](https://docs.victoriametrics.com/#vmalert): reduce memory usage for ENT version of vmalert for configurations with high number of groups with enabled multitenancy. +## [v1.97.5](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.5) + +Released at 2024-06-07 + +**v1.97.x is a line of [LTS releases](https://docs.victoriametrics.com/lts-releases/). It contains important up-to-date bugfixes for [VictoriaMetrics enterprise](https://docs.victoriametrics.com/enterprise.html). +All these fixes are also included in [the latest community release](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/latest). +The v1.97.x line will be supported for at least 12 months since [v1.97.0](https://docs.victoriametrics.com/CHANGELOG.html#v1970) release** + +* SECURITY: upgrade Go builder from Go1.22.2 to Go1.22.4. See the list of issues addressed in [Go1.22.3](https://github.com/golang/go/issues?q=milestone%3AGo1.22.3+label%3ACherryPickApproved) and [Go1.22.4](https://github.com/golang/go/issues?q=milestone%3AGo1.22.4+label%3ACherryPickApproved). +* SECURITY: upgrade base docker image (Alpine) from 3.19.1 to 3.20.0. See [alpine 3.20.0 release notes](https://www.alpinelinux.org/posts/Alpine-3.20.0-released.html). + +* BUGFIX: [vmui](https://docs.victoriametrics.com/#vmui): fix calendar display when `UTC+00:00` timezone is set. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6239). +* BUGFIX: [vmui](https://docs.victoriametrics.com/#vmui): remove redundant requests on the `Explore Cardinality` page. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6240). +* BUGFIX: [vmui](https://docs.victoriametrics.com/#vmui): fix handling of URL params for browser history navigation (back and forward buttons). See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6126) and [this comment](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/5516#issuecomment-1867507232). +* BUGFIX: [vmagent](https://docs.victoriametrics.com/vmagent/): skip empty data blocks before sending to the remote write destination. Thanks to @viperstars for [the pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/6241). +* BUGFIX: properly estimate the needed memory for query execution if it has the format [`aggr_func`](https://docs.victoriametrics.com/metricsql/#aggregate-functions)([`rollup_func[d]`](https://docs.victoriametrics.com/metricsql/#rollup-functions) (for example, `sum(rate(request_duration_seconds_bucket[5m]))`). This should allow performing aggregations over bigger number of time series when VictoriaMetrics runs in environments with small amounts of available memory. The issue has been introduced in [this commit](https://github.com/VictoriaMetrics/VictoriaMetrics/commit/5138eaeea0791caa34bcfab410e0ca9cd253cd8f) in [v1.83.0](https://docs.victoriametrics.com/changelog_2022/#v1830). +* BUGFIX: [Single-node VictoriaMetrics](https://docs.victoriametrics.com/) and `vmstorage` in [VictoriaMetrics cluster](https://docs.victoriametrics.com/cluster-victoriametrics/): correctly apply `-inmemoryDataFlushInterval` when it's set to minimum supported value 1s. +* BUGFIX: [vmauth](https://docs.victoriametrics.com/vmauth/): properly release memory used for metrics during config reload. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6247). +* BUGFIX: [Single-node VictoriaMetrics](https://docs.victoriametrics.com/) and `vmselect` in [VictoriaMetrics cluster](https://docs.victoriametrics.com/cluster-victoriametrics/): filter deleted label names and values from [`/api/v1/labels`](https://docs.victoriametrics.com/url-examples/#apiv1labels) and [`/api/v1/label/.../values`](https://docs.victoriametrics.com/url-examples/#apiv1labelvalues) responses when `match[]` filter matches small number of time series. The issue was introduced [v1.81.0](https://docs.victoriametrics.com/changelog_2022/#v1810). +* BUGFIX: [vmalert](https://docs.victoriametrics.com/vmalert/): fix misleading error logs in vmalert's stdout when unsupported HTTP path is requested. +* BUGFIX: retry files delete attempts on vXFS file system for `EEXIST` error type. See the [related issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6396). Thanks to @pludov for the [pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/6398). + ## [v1.97.4](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.4) Released at 2024-04-19 @@ -421,6 +450,23 @@ See changes [here](https://docs.victoriametrics.com/changelog_2023/#v1950) See changes [here](https://docs.victoriametrics.com/changelog_2023/#v1940) +## [v1.93.15](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.15) + +Released at 2024-06-07 + +**v1.93.x is a line of [LTS releases](https://docs.victoriametrics.com/lts-releases/). It contains important up-to-date bugfixes. +The v1.93.x line will be supported for at least 12 months since [v1.93.0](https://docs.victoriametrics.com/CHANGELOG.html#v1930) release** + +* SECURITY: upgrade Go builder from Go1.22.2 to Go1.22.4. See the list of issues addressed in [Go1.22.3](https://github.com/golang/go/issues?q=milestone%3AGo1.22.3+label%3ACherryPickApproved) and [Go1.22.4](https://github.com/golang/go/issues?q=milestone%3AGo1.22.4+label%3ACherryPickApproved). +* SECURITY: upgrade base docker image (Alpine) from 3.19.1 to 3.20.0. See [alpine 3.20.0 release notes](https://www.alpinelinux.org/posts/Alpine-3.20.0-released.html). + +* BUGFIX: [vmui](https://docs.victoriametrics.com/#vmui): fix calendar display when `UTC+00:00` timezone is set. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6239). +* BUGFIX: [vmagent](https://docs.victoriametrics.com/vmagent/): skip empty data blocks before sending to the remote write destination. Thanks to @viperstars for [the pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/6241). +* BUGFIX: properly estimate the needed memory for query execution if it has the format [`aggr_func`](https://docs.victoriametrics.com/metricsql/#aggregate-functions)([`rollup_func[d]`](https://docs.victoriametrics.com/metricsql/#rollup-functions) (for example, `sum(rate(request_duration_seconds_bucket[5m]))`). This should allow performing aggregations over bigger number of time series when VictoriaMetrics runs in environments with small amounts of available memory. The issue has been introduced in [this commit](https://github.com/VictoriaMetrics/VictoriaMetrics/commit/5138eaeea0791caa34bcfab410e0ca9cd253cd8f) in [v1.83.0](https://docs.victoriametrics.com/changelog_2022/#v1830). +* BUGFIX: [Single-node VictoriaMetrics](https://docs.victoriametrics.com/) and `vmselect` in [VictoriaMetrics cluster](https://docs.victoriametrics.com/cluster-victoriametrics/): filter deleted label names and values from [`/api/v1/labels`](https://docs.victoriametrics.com/url-examples/#apiv1labels) and [`/api/v1/label/.../values`](https://docs.victoriametrics.com/url-examples/#apiv1labelvalues) responses when `match[]` filter matches small number of time series. The issue was introduced [v1.81.0](https://docs.victoriametrics.com/changelog_2022/#v1810). +* BUGFIX: [vmalert](https://docs.victoriametrics.com/vmalert/): fix misleading error logs in vmalert's stdout when unsupported HTTP path is requested. +* BUGFIX: retry files delete attempts on vXFS file system for `EEXIST` error type. See the [related issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6396). Thanks to @pludov for the [pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/6398). + ## [v1.93.14](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.14) Released at 2024-04-19 diff --git a/docs/LTS-releases.md b/docs/LTS-releases.md index 178ec66d1..eacc5a5b5 100644 --- a/docs/LTS-releases.md +++ b/docs/LTS-releases.md @@ -23,5 +23,5 @@ to [the latest available releases](https://docs.victoriametrics.com/changelog/). ## Currently supported LTS release lines -- 1.97.x - the latest one is [v1.97.4 LTS release](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.4) -- 1.93.x - the latest one is [v1.93.14 LTS release](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.14) +- 1.97.x - the latest one is [v1.97.5 LTS release](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.97.5) +- 1.93.x - the latest one is [v1.93.15 LTS release](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.93.15) diff --git a/docs/README.md b/docs/README.md index 4e52484ad..74470eb62 100644 --- a/docs/README.md +++ b/docs/README.md @@ -120,7 +120,7 @@ VictoriaMetrics ecosystem contains the following components additionally to [sin - [vmalert](https://docs.victoriametrics.com/vmalert/) - a service for processing Prometheus-compatible alerting and recording rules. - [vmalert-tool](https://docs.victoriametrics.com/vmalert-tool/) - a tool for validating alerting and recording rules. - [vmauth](https://docs.victoriametrics.com/vmauth/) - authorization proxy and load balancer optimized for VictoriaMetrics products. -- [vmgateway](https://docs.victoriametrics.com/vmgateway/) - authorization proxy with per-[tenant](https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy) rate limiting cababilities. +- [vmgateway](https://docs.victoriametrics.com/vmgateway/) - authorization proxy with per-[tenant](https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy) rate limiting capabilities. - [vmctl](https://docs.victoriametrics.com/vmctl/) - a tool for migrating and copying data between different storage systems for metrics. - [vmbackup](https://docs.victoriametrics.com/vmbackup/), [vmrestore](https://docs.victoriametrics.com/vmrestore/) and [vmbackupmanager](https://docs.victoriametrics.com/vmbackupmanager/) - tools for creating backups and restoring from backups for VictoriaMetrics data. diff --git a/docs/Single-server-VictoriaMetrics.md b/docs/Single-server-VictoriaMetrics.md index 3bc8617a1..c0c3bdec2 100644 --- a/docs/Single-server-VictoriaMetrics.md +++ b/docs/Single-server-VictoriaMetrics.md @@ -128,7 +128,7 @@ VictoriaMetrics ecosystem contains the following components additionally to [sin - [vmalert](https://docs.victoriametrics.com/vmalert/) - a service for processing Prometheus-compatible alerting and recording rules. - [vmalert-tool](https://docs.victoriametrics.com/vmalert-tool/) - a tool for validating alerting and recording rules. - [vmauth](https://docs.victoriametrics.com/vmauth/) - authorization proxy and load balancer optimized for VictoriaMetrics products. -- [vmgateway](https://docs.victoriametrics.com/vmgateway/) - authorization proxy with per-[tenant](https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy) rate limiting cababilities. +- [vmgateway](https://docs.victoriametrics.com/vmgateway/) - authorization proxy with per-[tenant](https://docs.victoriametrics.com/cluster-victoriametrics/#multitenancy) rate limiting capabilities. - [vmctl](https://docs.victoriametrics.com/vmctl/) - a tool for migrating and copying data between different storage systems for metrics. - [vmbackup](https://docs.victoriametrics.com/vmbackup/), [vmrestore](https://docs.victoriametrics.com/vmrestore/) and [vmbackupmanager](https://docs.victoriametrics.com/vmbackupmanager/) - tools for creating backups and restoring from backups for VictoriaMetrics data. diff --git a/go.mod b/go.mod index 40d4ff04b..3489bd167 100644 --- a/go.mod +++ b/go.mod @@ -4,16 +4,16 @@ go 1.22.4 require ( cloud.google.com/go/storage v1.41.0 - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.12.0 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.3.2 github.com/VictoriaMetrics/easyproto v0.1.4 github.com/VictoriaMetrics/fastcache v1.12.2 github.com/VictoriaMetrics/metrics v1.33.1 github.com/VictoriaMetrics/metricsql v0.75.1 - github.com/aws/aws-sdk-go-v2 v1.27.0 - github.com/aws/aws-sdk-go-v2/config v1.27.15 - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.20 - github.com/aws/aws-sdk-go-v2/service/s3 v1.54.2 + github.com/aws/aws-sdk-go-v2 v1.27.1 + github.com/aws/aws-sdk-go-v2/config v1.27.17 + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.23 + github.com/aws/aws-sdk-go-v2/service/s3 v1.55.0 github.com/bmatcuk/doublestar/v4 v4.6.1 github.com/cespare/xxhash/v2 v2.3.0 github.com/cheggaaa/pb/v3 v3.1.5 @@ -22,7 +22,7 @@ require ( github.com/googleapis/gax-go/v2 v2.12.4 github.com/influxdata/influxdb v1.11.5 github.com/klauspost/compress v1.17.8 - github.com/prometheus/prometheus v0.52.0 + github.com/prometheus/prometheus v0.52.1 github.com/urfave/cli/v2 v2.27.2 github.com/valyala/fastjson v1.6.4 github.com/valyala/fastrand v1.1.0 @@ -30,38 +30,38 @@ require ( github.com/valyala/gozstd v1.21.1 github.com/valyala/histogram v1.2.0 github.com/valyala/quicktemplate v1.7.0 - golang.org/x/oauth2 v0.20.0 - golang.org/x/sys v0.20.0 - google.golang.org/api v0.181.0 + golang.org/x/oauth2 v0.21.0 + golang.org/x/sys v0.21.0 + google.golang.org/api v0.183.0 gopkg.in/yaml.v2 v2.4.0 ) require ( - cloud.google.com/go v0.113.0 // indirect - cloud.google.com/go/auth v0.4.2 // indirect + cloud.google.com/go v0.114.0 // indirect + cloud.google.com/go/auth v0.5.1 // indirect cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect cloud.google.com/go/compute/metadata v0.3.0 // indirect cloud.google.com/go/iam v1.1.8 // indirect github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.2 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.9.0 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect github.com/VividCortex/ewma v1.2.0 // indirect github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9 // indirect - github.com/aws/aws-sdk-go v1.53.8 // indirect + github.com/aws/aws-sdk-go v1.53.18 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.15 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.3 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.7 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.7 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.17.17 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.4 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.8 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.8 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.7 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.8 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.9 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.9 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.7 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.20.8 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.2 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.28.9 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.10 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.10 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.8 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.20.10 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.4 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.28.11 // indirect github.com/aws/smithy-go v1.20.2 // indirect github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -82,7 +82,7 @@ require ( github.com/google/uuid v1.6.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc // indirect - github.com/hashicorp/go-version v1.6.0 // indirect + github.com/hashicorp/go-version v1.7.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect @@ -98,18 +98,18 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.19.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.53.0 // indirect + github.com/prometheus/common v0.54.0 // indirect github.com/prometheus/common/sigv4 v0.1.0 // indirect - github.com/prometheus/procfs v0.15.0 // indirect + github.com/prometheus/procfs v0.15.1 // indirect github.com/rivo/uniseg v0.4.7 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/stretchr/testify v1.9.0 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/collector/featuregate v1.8.0 // indirect - go.opentelemetry.io/collector/pdata v1.8.0 // indirect - go.opentelemetry.io/collector/semconv v0.101.0 // indirect + go.opentelemetry.io/collector/featuregate v1.9.0 // indirect + go.opentelemetry.io/collector/pdata v1.9.0 // indirect + go.opentelemetry.io/collector/semconv v0.102.1 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0 // indirect go.opentelemetry.io/otel v1.27.0 // indirect @@ -118,15 +118,15 @@ require ( go.uber.org/atomic v1.11.0 // indirect go.uber.org/goleak v1.3.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.23.0 // indirect - golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect - golang.org/x/net v0.25.0 // indirect + golang.org/x/crypto v0.24.0 // indirect + golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 // indirect + golang.org/x/net v0.26.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/text v0.16.0 // indirect golang.org/x/time v0.5.0 // indirect - google.golang.org/genproto v0.0.0-20240521202816-d264139d666e // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240521202816-d264139d666e // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240521202816-d264139d666e // indirect + google.golang.org/genproto v0.0.0-20240604185151-ef581f913117 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 // indirect google.golang.org/grpc v1.64.0 // indirect google.golang.org/protobuf v1.34.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index a1d1b074b..b6bd9d8bf 100644 --- a/go.sum +++ b/go.sum @@ -13,10 +13,10 @@ cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKV cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.113.0 h1:g3C70mn3lWfckKBiCVsAshabrDg01pQ0pnX1MNtnMkA= -cloud.google.com/go v0.113.0/go.mod h1:glEqlogERKYeePz6ZdkcLJ28Q2I6aERgDDErBg9GzO8= -cloud.google.com/go/auth v0.4.2 h1:sb0eyLkhRtpq5jA+a8KWw0W70YcdVca7KJ8TM0AFYDg= -cloud.google.com/go/auth v0.4.2/go.mod h1:Kqvlz1cf1sNA0D+sYJnkPQOP+JMHkuHeIgVmCRtZOLc= +cloud.google.com/go v0.114.0 h1:OIPFAdfrFDFO2ve2U7r/H5SwSbBzEdrBdE7xkgwc+kY= +cloud.google.com/go v0.114.0/go.mod h1:ZV9La5YYxctro1HTPug5lXH/GefROyW8PPD4T8n9J8E= +cloud.google.com/go/auth v0.5.1 h1:0QNO7VThG54LUzKiQxv8C6x1YX7lUrzlAa1nVLF8CIw= +cloud.google.com/go/auth v0.5.1/go.mod h1:vbZT8GjzDf3AVqCcQmqeeM32U9HBFc32vVVAbwDsa6s= cloud.google.com/go/auth/oauth2adapt v0.2.2 h1:+TTV8aXpjeChS9M+aTtN/TjdQnzJvmzKFt//oWu7HX4= cloud.google.com/go/auth/oauth2adapt v0.2.2/go.mod h1:wcYjgpZI9+Yu7LyYBg4pqSiaRkfEK3GQcpb7C/uyF1Q= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= @@ -43,12 +43,12 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9 cloud.google.com/go/storage v1.41.0 h1:RusiwatSu6lHeEXe3kglxakAmAbfV+rhtPqA6i8RBx0= cloud.google.com/go/storage v1.41.0/go.mod h1:J1WCa/Z2FcgdEDuPUY8DxT5I+d9mFKsCepp5vR6Sq80= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 h1:E+OJmp2tPvt1W+amx48v1eqbjDYsgN+RzP4q16yV5eM= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1/go.mod h1:a6xsAQUZg+VsS3TJ05SRp524Hs4pZ/AeFSr5ENf0Yjo= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.12.0 h1:1nGuui+4POelzDwI7RG56yfQJHCnKvwfMoU7VsEp+Zg= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.12.0/go.mod h1:99EvauvlcJ1U06amZiksfYz/3aFGyIhWGHVyiZXtBAI= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.2 h1:FDif4R1+UUR+00q6wquyX90K7A8dN+R5E8GEadoP7sU= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.2/go.mod h1:aiYBYui4BJ/BJCAIKs92XiPyQfTaBWqvHujDwKb6CBU= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 h1:jBQA3cKT4L2rWMpgE7Yt3Hwh2aUj8KXjIGLxjHeYNNo= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0/go.mod h1:4OG6tQ9EOP/MT0NMjDlRzWoVFxfu9rN9B2X+tlSVktg= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.9.0 h1:H+U3Gk9zY56G3u872L82bk4thcsy2Gghb9ExT4Zvm1o= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.9.0/go.mod h1:mgrmMSgaLp9hmax62XQTd0N4aAqSE5E0DulSpVYK7vc= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.6.0 h1:ui3YNbxfW7J3tTFIZMH6LIGRjCngp+J+nIFlnizfNTE= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.6.0/go.mod h1:gZmgV+qBqygoznvqo2J9oKZAFziqhLZ2xE/WVUmzkHA= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0 h1:bXwSugBiSbgtz7rOtbfGf+woewp4f06orW9OP5BjHLA= @@ -89,44 +89,44 @@ github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHG github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.53.8 h1:eoqGb1WOHIrCFKo1d51cMcnt1ralfLFaEqRkC5Zzv8k= -github.com/aws/aws-sdk-go v1.53.8/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= -github.com/aws/aws-sdk-go-v2 v1.27.0 h1:7bZWKoXhzI+mMR/HjdMx8ZCC5+6fY0lS5tr0bbgiLlo= -github.com/aws/aws-sdk-go-v2 v1.27.0/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= +github.com/aws/aws-sdk-go v1.53.18 h1:BeMeCK5e3bDGJj675FhnO94zRci8O35ombWXRvYomJs= +github.com/aws/aws-sdk-go v1.53.18/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +github.com/aws/aws-sdk-go-v2 v1.27.1 h1:xypCL2owhog46iFxBKKpBcw+bPTX/RJzwNj8uSilENw= +github.com/aws/aws-sdk-go-v2 v1.27.1/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 h1:x6xsQXGSmW6frevwDA+vi/wqhp1ct18mVXYN08/93to= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2/go.mod h1:lPprDr1e6cJdyYeGXnRaJoP4Md+cDBvi2eOj00BlGmg= -github.com/aws/aws-sdk-go-v2/config v1.27.15 h1:uNnGLZ+DutuNEkuPh6fwqK7LpEiPmzb7MIMA1mNWEUc= -github.com/aws/aws-sdk-go-v2/config v1.27.15/go.mod h1:7j7Kxx9/7kTmL7z4LlhwQe63MYEE5vkVV6nWg4ZAI8M= -github.com/aws/aws-sdk-go-v2/credentials v1.17.15 h1:YDexlvDRCA8ems2T5IP1xkMtOZ1uLJOCJdTr0igs5zo= -github.com/aws/aws-sdk-go-v2/credentials v1.17.15/go.mod h1:vxHggqW6hFNaeNC0WyXS3VdyjcV0a4KMUY4dKJ96buU= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.3 h1:dQLK4TjtnlRGb0czOht2CevZ5l6RSyRWAnKeGd7VAFE= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.3/go.mod h1:TL79f2P6+8Q7dTsILpiVST+AL9lkF6PPGI167Ny0Cjw= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.20 h1:NCM9wYaJCmlIWZSO/JwUEveKf0NCvsSgo9V9BwOAolo= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.20/go.mod h1:dmxIx3qriuepxqZgFeFMitFuftWPB94+MZv/6Btpth4= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.7 h1:lf/8VTF2cM+N4SLzaYJERKEWAXq8MOMpZfU6wEPWsPk= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.7/go.mod h1:4SjkU7QiqK2M9oozyMzfZ/23LmUY+h3oFqhdeP5OMiI= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.7 h1:4OYVp0705xu8yjdyoWix0r9wPIRXnIzzOoUpQVHIJ/g= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.7/go.mod h1:vd7ESTEvI76T2Na050gODNmNU7+OyKrIKroYTu4ABiI= +github.com/aws/aws-sdk-go-v2/config v1.27.17 h1:L0JZN7Gh7pT6u5CJReKsLhGKparqNKui+mcpxMXjDZc= +github.com/aws/aws-sdk-go-v2/config v1.27.17/go.mod h1:MzM3balLZeaafYcPz8IihAmam/aCz6niPQI0FdprxW0= +github.com/aws/aws-sdk-go-v2/credentials v1.17.17 h1:b3Dk9uxQByS9sc6r0sc2jmxsJKO75eOcb9nNEiaUBLM= +github.com/aws/aws-sdk-go-v2/credentials v1.17.17/go.mod h1:e4khg9iY08LnFK/HXQDWMf9GDaiMari7jWPnXvKAuBU= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.4 h1:0cSfTYYL9qiRcdi4Dvz+8s3JUgNR2qvbgZkXcwPEEEk= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.4/go.mod h1:Wjn5O9eS7uSi7vlPKt/v0MLTncANn9EMmoDvnzJli6o= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.23 h1:g6IHovcexw51hcP0hxsT7Mr3/PG76hZvoodm9tuKuUc= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.23/go.mod h1:8KSZ0CibxgOaPk28CFL4DGBdGrscHJr8FuxB+jnJBaM= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.8 h1:RnLB7p6aaFMRfyQkD6ckxR7myCC9SABIqSz4czYUUbU= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.8/go.mod h1:XH7dQJd+56wEbP1I4e4Duo+QhSMxNArE8VP7NuUOTeM= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.8 h1:jzApk2f58L9yW9q1GEab3BMMFWUkkiZhyrRUtbwUbKU= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.8/go.mod h1:WqO+FftfO3tGePUtQxPXM6iODVfqMwsVMgTbG/ZXIdQ= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.7 h1:/FUtT3xsoHO3cfh+I/kCbcMCN98QZRsiFet/V8QkWSs= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.7/go.mod h1:MaCAgWpGooQoCWZnMur97rGn5dp350w2+CeiV5406wE= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.8 h1:jH33S0y5Bo5ZVML62JgZhjd/LrtU+vbR8W7XnIE3Srk= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.8/go.mod h1:hD5YwHLOy6k7d6kqcn3me1bFWHOtzhaXstMd6BpdB68= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 h1:Ji0DY1xUsUr3I8cHps0G+XM3WWU16lP6yG8qu1GAZAs= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2/go.mod h1:5CsjAbs3NlGQyZNFACh+zztPDI7fU6eW9QsxjfnuBKg= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.9 h1:UXqEWQI0n+q0QixzU0yUUQBZXRd5037qdInTIHFTl98= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.9/go.mod h1:xP6Gq6fzGZT8w/ZN+XvGMZ2RU1LeEs7b2yUP5DN8NY4= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.9 h1:Wx0rlZoEJR7JwlSZcHnEa7CNjrSIyVxMFWGAaXy4fJY= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.9/go.mod h1:aVMHdE0aHO3v+f/iw01fmXV/5DbfQ3Bi9nN7nd9bE9Y= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.7 h1:uO5XR6QGBcmPyo2gxofYJLFkcVQ4izOoGDNenlZhTEk= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.7/go.mod h1:feeeAYfAcwTReM6vbwjEyDmiGho+YgBhaFULuXDW8kc= -github.com/aws/aws-sdk-go-v2/service/s3 v1.54.2 h1:gYSJhNiOF6J9xaYxu2NFNstoiNELwt0T9w29FxSfN+Y= -github.com/aws/aws-sdk-go-v2/service/s3 v1.54.2/go.mod h1:739CllldowZiPPsDFcJHNF4FXrVxaSGVnZ9Ez9Iz9hc= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.8 h1:Kv1hwNG6jHC/sxMTe5saMjH6t6ZLkgfvVxyEjfWL1ks= -github.com/aws/aws-sdk-go-v2/service/sso v1.20.8/go.mod h1:c1qtZUWtygI6ZdvKppzCSXsDOq5I4luJPZ0Ud3juFCA= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.2 h1:nWBZ1xHCF+A7vv9sDzJOq4NWIdzFYm0kH7Pr4OjHYsQ= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.2/go.mod h1:9lmoVDVLz/yUZwLaQ676TK02fhCu4+PgRSmMaKR1ozk= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.9 h1:Qp6Boy0cGDloOE3zI6XhNLNZgjNS8YmiFQFHe71SaW0= -github.com/aws/aws-sdk-go-v2/service/sts v1.28.9/go.mod h1:0Aqn1MnEuitqfsCNyKsdKLhDUOr4txD/g19EfiUqgws= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.10 h1:pkYC5zTOSPXEYJj56b2SOik9AL432i5MT1YVTQbKOK0= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.10/go.mod h1:/WNsBOlKWZCG3PMh2aSp8vkyyT/clpMZqOtrnIKqGfk= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.10 h1:7kZqP7akv0enu6ykJhb9OYlw16oOrSy+Epus8o/VqMY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.10/go.mod h1:gYVF3nM1ApfTRDj9pvdhootBb8WbiIejuqn4w8ruMes= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.8 h1:iQNXVs1vtaq+y9M90M4ZIVNORje0qXTscqHLqoOnFS0= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.8/go.mod h1:yUQPRlWqGG0lfNsmjbRWKVwgilfBtZTOFSLEYALlAig= +github.com/aws/aws-sdk-go-v2/service/s3 v1.55.0 h1:6kq0Xql9qiwNGL/Go87ZqR4otg9jnKs71OfWCVbPxLM= +github.com/aws/aws-sdk-go-v2/service/s3 v1.55.0/go.mod h1:oSkRFuHVWmUY4Ssk16ErGzBqvYEbvORJFzFXzWhTB2s= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.10 h1:ItKVmFwbyb/ZnCWf+nu3XBVmUirpO9eGEQd7urnBA0s= +github.com/aws/aws-sdk-go-v2/service/sso v1.20.10/go.mod h1:5XKooCTi9VB/xZmJDvh7uZ+v3uQ7QdX6diOyhvPA+/w= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.4 h1:QMSCYDg3Iyls0KZc/dk3JtS2c1lFfqbmYO10qBPPkJk= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.4/go.mod h1:MZ/PVYU/mRbmSF6WK3ybCYHjA2mig8utVokDEVLDgE0= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.11 h1:HYS0csS7UJxdYRoG+bGgUYrSwVnV3/ece/wHm90TApM= +github.com/aws/aws-sdk-go-v2/service/sts v1.28.11/go.mod h1:QXnthRM35zI92048MMwfFChjFmoufTdhtHmouwNfhhU= github.com/aws/smithy-go v1.20.2 h1:tbp628ireGtzcHDDmLT/6ADHidqnwgF57XOXZe6tp4Q= github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 h1:6df1vn4bBlDDo4tARvBm7l6KA9iVMnE3NWizDeWSrps= @@ -324,8 +324,8 @@ github.com/hashicorp/go-retryablehttp v0.7.4 h1:ZQgVdpTdAL7WpMIwLzCfbalOcSUdkDZn github.com/hashicorp/go-retryablehttp v0.7.4/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8= github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc= github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= -github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= +github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.6.0 h1:uL2shRDx7RTrOrTCUZEGP/wJUFiUI8QT6E7z5o8jga4= @@ -375,8 +375,9 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/linode/linodego v1.32.0 h1:OmZzB3iON6uu84VtLFf64uKmAQqJJarvmsVguroioPI= @@ -444,18 +445,18 @@ github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8 github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE= -github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= +github.com/prometheus/common v0.54.0 h1:ZlZy0BgJhTwVZUn7dLOkwCZHUkrAqd3WYtcFCWnM1D8= +github.com/prometheus/common v0.54.0/go.mod h1:/TQgMJP5CuVYveyT7n/0Ix8yLNNXy9yRSkhnLTHPDIQ= github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4= github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/procfs v0.15.0 h1:A82kmvXJq2jTu5YUhSGNlYoxh85zLnKgPz4bMZgI5Ek= -github.com/prometheus/procfs v0.15.0/go.mod h1:Y0RJ/Y5g5wJpkTisOtqwDSo4HwhGmLB4VQSw2sQJLHk= -github.com/prometheus/prometheus v0.52.0 h1:f7kHJgr7+zShpWdTCeKqbCWR7nKTScgLYQwRux9h1V0= -github.com/prometheus/prometheus v0.52.0/go.mod h1:3z74cVsmVH0iXOR5QBjB7Pa6A0KJeEAK5A6UsmAFb1g= +github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= +github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= +github.com/prometheus/prometheus v0.52.1 h1:BrQ29YG+mzdGh8DgHPirHbeMGNqtL+INe0rqg7ttBJ4= +github.com/prometheus/prometheus v0.52.1/go.mod h1:3z74cVsmVH0iXOR5QBjB7Pa6A0KJeEAK5A6UsmAFb1g= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= @@ -519,12 +520,12 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/collector/featuregate v1.8.0 h1:p/bAuk5LiSfdYS88yFl/Jzao9bHEYqCh7YvZJ+L+IZg= -go.opentelemetry.io/collector/featuregate v1.8.0/go.mod h1:w7nUODKxEi3FLf1HslCiE6YWtMtOOrMnSwsDam8Mg9w= -go.opentelemetry.io/collector/pdata v1.8.0 h1:d/QQgZxB4Y+d3mqLVh2ozvzujUhloD3P/fk7X+In764= -go.opentelemetry.io/collector/pdata v1.8.0/go.mod h1:/W7clu0wFC4WSRp94Ucn6Vm36Wkrt+tmtlDb1aiNZCY= -go.opentelemetry.io/collector/semconv v0.101.0 h1:tOe9iTe9dDCnvz/bqgfNRr4w80kXG8505tQJ5h5v08Q= -go.opentelemetry.io/collector/semconv v0.101.0/go.mod h1:8ElcRZ8Cdw5JnvhTOQOdYizkJaQ10Z2fS+R6djOnj6A= +go.opentelemetry.io/collector/featuregate v1.9.0 h1:mC4/HnR5cx/kkG1RKOQAvHxxg5Ktmd9gpFdttPEXQtA= +go.opentelemetry.io/collector/featuregate v1.9.0/go.mod h1:PsOINaGgTiFc+Tzu2K/X2jP+Ngmlp7YKGV1XrnBkH7U= +go.opentelemetry.io/collector/pdata v1.9.0 h1:qyXe3HEVYYxerIYu0rzgo1Tx2d1Zs6iF+TCckbHLFOw= +go.opentelemetry.io/collector/pdata v1.9.0/go.mod h1:vk7LrfpyVpGZrRWcpjyy0DDZzL3SZiYMQxfap25551w= +go.opentelemetry.io/collector/semconv v0.102.1 h1:zLhz2Gu//j7HHESFTGTrfKIaoS4r+lZFQDnGCOThggo= +go.opentelemetry.io/collector/semconv v0.102.1/go.mod h1:yMVUCNoQPZVq/IPfrHrnntZTWsLf5YGZ7qwKulIl5hw= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0 h1:vS1Ao/R55RNV4O7TA2Qopok8yN+X0LIP6RVWLFkprck= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0/go.mod h1:BMsdeOxN04K0L5FNUBfjFdvwWGNe/rkmSwH4Aelu/X0= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.52.0 h1:9l89oX4ba9kHbBol3Xin3leYJ+252h0zszDtBwyKe2A= @@ -550,8 +551,8 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -562,8 +563,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM= -golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc= +golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 h1:LoYXNGAShUG3m/ehNk4iFctuhGX/+R1ZpfJ4/ia80JM= +golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -584,8 +585,8 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= +golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -619,16 +620,16 @@ golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= +golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo= -golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs= +golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -684,19 +685,19 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -744,8 +745,8 @@ golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw= -golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= +golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -768,8 +769,8 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.181.0 h1:rPdjwnWgiPPOJx3IcSAQ2III5aX5tCer6wMpa/xmZi4= -google.golang.org/api v0.181.0/go.mod h1:MnQ+M0CFsfUwA5beZ+g/vCBCPXvtmZwRz2qzZk8ih1k= +google.golang.org/api v0.183.0 h1:PNMeRDwo1pJdgNcFQ9GstuLe/noWKIc89pRWRLMvLwE= +google.golang.org/api v0.183.0/go.mod h1:q43adC5/pHoSZTx5h2mSmdF7NcyfW9JuDyIOJAgS9ZQ= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -805,12 +806,12 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20240521202816-d264139d666e h1:axIBUGXSVho2zB+3tJj8l9Qvm/El5vVYPYqhGA5PmJM= -google.golang.org/genproto v0.0.0-20240521202816-d264139d666e/go.mod h1:gOvX/2dWTqh+u3+IHjFeCxinlz5AZ5qhOufbQPub/dE= -google.golang.org/genproto/googleapis/api v0.0.0-20240521202816-d264139d666e h1:SkdGTrROJl2jRGT/Fxv5QUf9jtdKCQh4KQJXbXVLAi0= -google.golang.org/genproto/googleapis/api v0.0.0-20240521202816-d264139d666e/go.mod h1:LweJcLbyVij6rCex8YunD8DYR5VDonap/jYl3ZRxcIU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240521202816-d264139d666e h1:Elxv5MwEkCI9f5SkoL6afed6NTdxaGoAo39eANBwHL8= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240521202816-d264139d666e/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/genproto v0.0.0-20240604185151-ef581f913117 h1:HCZ6DlkKtCDAtD8ForECsY3tKuaR+p4R3grlK80uCCc= +google.golang.org/genproto v0.0.0-20240604185151-ef581f913117/go.mod h1:lesfX/+9iA+3OdqeCpoDddJaNxVB1AB6tD7EfqMmprc= +google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117 h1:+rdxYoE3E5htTEWIe15GlN6IfvbURM//Jt0mmkmm6ZU= +google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117/go.mod h1:OimBR/bc1wPO9iV4NC2bpyjy3VnAwZh5EBPQdtaE5oo= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= diff --git a/lib/promrelabel/if_expression.go b/lib/promrelabel/if_expression.go index 1f3506dfb..7d102a1f6 100644 --- a/lib/promrelabel/if_expression.go +++ b/lib/promrelabel/if_expression.go @@ -287,10 +287,22 @@ func (lf *labelFilter) match(labels []prompbmarshal.Label) bool { return false } +func (lf *labelFilter) equalNameValue(labels []prompbmarshal.Label) bool { + for _, label := range labels { + if label.Name == "__name__" { + return label.Value == lf.value + } + } + return false +} + func (lf *labelFilter) equalValue(labels []prompbmarshal.Label) bool { + if lf.label == "" { + return lf.equalNameValue(labels) + } labelNameMatches := 0 for _, label := range labels { - if toCanonicalLabelName(label.Name) != lf.label { + if label.Name != lf.label { continue } labelNameMatches++ diff --git a/lib/promrelabel/if_expression_timing_test.go b/lib/promrelabel/if_expression_timing_test.go new file mode 100644 index 000000000..a407d8e86 --- /dev/null +++ b/lib/promrelabel/if_expression_timing_test.go @@ -0,0 +1,78 @@ +package promrelabel + +import ( + "fmt" + "gopkg.in/yaml.v2" + "testing" + + "github.com/VictoriaMetrics/VictoriaMetrics/lib/prompbmarshal" +) + +func BenchmarkIfExpression(b *testing.B) { + const maxLabels = 100 + labels := make([]prompbmarshal.Label, maxLabels) + for i := 0; i < maxLabels; i++ { + label := prompbmarshal.Label{ + Name: fmt.Sprintf("foo%d", i), + Value: fmt.Sprintf("bar%d", i), + } + labels[i] = label + } + + b.Run("equal label: last", func(b *testing.B) { + n := maxLabels - 1 + ifExpr := fmt.Sprintf(`'{foo%d="bar%d"}'`, n, n) + benchIfExpr(b, ifExpr, labels) + }) + b.Run("equal label: middle", func(b *testing.B) { + n := maxLabels / 2 + ifExpr := fmt.Sprintf(`'{foo%d="bar%d"}'`, n, n) + benchIfExpr(b, ifExpr, labels) + }) + b.Run("equal label: first", func(b *testing.B) { + ifExpr := fmt.Sprintf(`'{foo%d="bar%d"}'`, 0, 0) + benchIfExpr(b, ifExpr, labels) + }) + + labels[maxLabels-1] = prompbmarshal.Label{ + Name: "__name__", + Value: "foo", + } + b.Run("equal __name__: last", func(b *testing.B) { + ifExpr := `foo` + benchIfExpr(b, ifExpr, labels) + }) + + labels[maxLabels/2] = prompbmarshal.Label{ + Name: "__name__", + Value: "foo", + } + b.Run("equal __name__: middle", func(b *testing.B) { + ifExpr := `foo` + benchIfExpr(b, ifExpr, labels) + }) + + labels[0] = prompbmarshal.Label{ + Name: "__name__", + Value: "foo", + } + b.Run("equal __name__: first", func(b *testing.B) { + ifExpr := `foo` + benchIfExpr(b, ifExpr, labels) + }) +} + +func benchIfExpr(b *testing.B, expr string, labels []prompbmarshal.Label) { + b.Helper() + var ie IfExpression + if err := yaml.UnmarshalStrict([]byte(expr), &ie); err != nil { + b.Fatalf("unexpected error during unmarshal: %s", err) + } + b.RunParallel(func(pb *testing.PB) { + for pb.Next() { + if !ie.Match(labels) { + panic(fmt.Sprintf("expected to have a match for %q", expr)) + } + } + }) +} diff --git a/lib/streamaggr/avg.go b/lib/streamaggr/avg.go index 131c9a8a0..2d0546058 100644 --- a/lib/streamaggr/avg.go +++ b/lib/streamaggr/avg.go @@ -3,6 +3,7 @@ package streamaggr import ( "sync" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil" "github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime" ) @@ -35,6 +36,7 @@ func (as *avgAggrState) pushSamples(samples []pushSample) { sum: s.value, count: 1, } + outputKey = bytesutil.InternString(outputKey) vNew, loaded := as.m.LoadOrStore(outputKey, v) if !loaded { // The entry has been successfully stored diff --git a/lib/streamaggr/count_samples.go b/lib/streamaggr/count_samples.go index 30099d4bd..f48ae44dd 100644 --- a/lib/streamaggr/count_samples.go +++ b/lib/streamaggr/count_samples.go @@ -3,6 +3,7 @@ package streamaggr import ( "sync" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil" "github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime" ) @@ -33,6 +34,7 @@ func (as *countSamplesAggrState) pushSamples(samples []pushSample) { v = &countSamplesStateValue{ n: 1, } + outputKey = bytesutil.InternString(outputKey) vNew, loaded := as.m.LoadOrStore(outputKey, v) if !loaded { // The new entry has been successfully created. diff --git a/lib/streamaggr/count_series.go b/lib/streamaggr/count_series.go index a80c69dbb..edf4a95a4 100644 --- a/lib/streamaggr/count_series.go +++ b/lib/streamaggr/count_series.go @@ -41,6 +41,7 @@ func (as *countSeriesAggrState) pushSamples(samples []pushSample) { h: {}, }, } + outputKey = bytesutil.InternString(outputKey) vNew, loaded := as.m.LoadOrStore(outputKey, v) if !loaded { // The entry has been added to the map. diff --git a/lib/streamaggr/dedup.go b/lib/streamaggr/dedup.go index c9ac3dc67..399e9a3dc 100644 --- a/lib/streamaggr/dedup.go +++ b/lib/streamaggr/dedup.go @@ -175,7 +175,8 @@ func (das *dedupAggrShard) pushSamples(samples []pushSample) { for _, sample := range samples { s, ok := m[sample.key] if !ok { - m[sample.key] = dedupAggrSample{ + key := bytesutil.InternString(sample.key) + m[key] = dedupAggrSample{ value: sample.value, timestamp: sample.timestamp, } @@ -183,7 +184,8 @@ func (das *dedupAggrShard) pushSamples(samples []pushSample) { } // Update the existing value according to logic described at https://docs.victoriametrics.com/#deduplication if sample.timestamp > s.timestamp || (sample.timestamp == s.timestamp && sample.value > s.value) { - m[sample.key] = dedupAggrSample{ + key := bytesutil.InternString(sample.key) + m[key] = dedupAggrSample{ value: sample.value, timestamp: sample.timestamp, } diff --git a/lib/streamaggr/deduplicator.go b/lib/streamaggr/deduplicator.go index a96d765c2..3ec25f5fa 100644 --- a/lib/streamaggr/deduplicator.go +++ b/lib/streamaggr/deduplicator.go @@ -94,8 +94,9 @@ func (d *Deduplicator) Push(tss []prompbmarshal.TimeSeries) { } labels.Sort() - buf = lc.Compress(buf[:0], labels.Labels) - key := bytesutil.InternBytes(buf) + bufLen := len(buf) + buf = lc.Compress(buf, labels.Labels) + key := bytesutil.ToUnsafeString(buf[bufLen:]) for _, s := range ts.Samples { pss = append(pss, pushSample{ key: key, diff --git a/lib/streamaggr/histogram_bucket.go b/lib/streamaggr/histogram_bucket.go index aba933ae4..4cce32c2d 100644 --- a/lib/streamaggr/histogram_bucket.go +++ b/lib/streamaggr/histogram_bucket.go @@ -5,6 +5,7 @@ import ( "sync" "time" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil" "github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime" "github.com/VictoriaMetrics/metrics" ) @@ -42,6 +43,7 @@ func (as *histogramBucketAggrState) pushSamples(samples []pushSample) { if !ok { // The entry is missing in the map. Try creating it. v = &histogramBucketStateValue{} + outputKey = bytesutil.InternString(outputKey) vNew, loaded := as.m.LoadOrStore(outputKey, v) if loaded { // Use the entry created by a concurrent goroutine. diff --git a/lib/streamaggr/last.go b/lib/streamaggr/last.go index c8c7881ed..9bf4e08e0 100644 --- a/lib/streamaggr/last.go +++ b/lib/streamaggr/last.go @@ -3,6 +3,7 @@ package streamaggr import ( "sync" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil" "github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime" ) @@ -35,6 +36,7 @@ func (as *lastAggrState) pushSamples(samples []pushSample) { last: s.value, timestamp: s.timestamp, } + outputKey = bytesutil.InternString(outputKey) vNew, loaded := as.m.LoadOrStore(outputKey, v) if !loaded { // The new entry has been successfully created. diff --git a/lib/streamaggr/max.go b/lib/streamaggr/max.go index f92036c66..a106d3300 100644 --- a/lib/streamaggr/max.go +++ b/lib/streamaggr/max.go @@ -3,6 +3,7 @@ package streamaggr import ( "sync" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil" "github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime" ) @@ -33,6 +34,7 @@ func (as *maxAggrState) pushSamples(samples []pushSample) { v = &maxStateValue{ max: s.value, } + outputKey = bytesutil.InternString(outputKey) vNew, loaded := as.m.LoadOrStore(outputKey, v) if !loaded { // The new entry has been successfully created. diff --git a/lib/streamaggr/min.go b/lib/streamaggr/min.go index 17137e6cd..b03105c92 100644 --- a/lib/streamaggr/min.go +++ b/lib/streamaggr/min.go @@ -3,6 +3,7 @@ package streamaggr import ( "sync" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil" "github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime" ) @@ -33,6 +34,7 @@ func (as *minAggrState) pushSamples(samples []pushSample) { v = &minStateValue{ min: s.value, } + outputKey = bytesutil.InternString(outputKey) vNew, loaded := as.m.LoadOrStore(outputKey, v) if !loaded { // The new entry has been successfully created. diff --git a/lib/streamaggr/quantiles.go b/lib/streamaggr/quantiles.go index b97697ebb..edaa128f5 100644 --- a/lib/streamaggr/quantiles.go +++ b/lib/streamaggr/quantiles.go @@ -41,6 +41,7 @@ func (as *quantilesAggrState) pushSamples(samples []pushSample) { v = &quantilesStateValue{ h: h, } + outputKey = bytesutil.InternString(outputKey) vNew, loaded := as.m.LoadOrStore(outputKey, v) if loaded { // Use the entry created by a concurrent goroutine. diff --git a/lib/streamaggr/rate.go b/lib/streamaggr/rate.go index 1eedf1f1d..44e6bcea4 100644 --- a/lib/streamaggr/rate.go +++ b/lib/streamaggr/rate.go @@ -4,6 +4,7 @@ import ( "sync" "time" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil" "github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime" ) @@ -59,6 +60,7 @@ func (as *rateAggrState) pushSamples(samples []pushSample) { v = &rateStateValue{ lastValues: make(map[string]rateLastValueState), } + outputKey = bytesutil.InternString(outputKey) vNew, loaded := as.m.LoadOrStore(outputKey, v) if loaded { // Use the entry created by a concurrent goroutine. @@ -89,6 +91,8 @@ func (as *rateAggrState) pushSamples(samples []pushSample) { lv.value = s.value lv.timestamp = s.timestamp lv.deleteDeadline = deleteDeadline + + inputKey = bytesutil.InternString(inputKey) sv.lastValues[inputKey] = lv sv.deleteDeadline = deleteDeadline } diff --git a/lib/streamaggr/stddev.go b/lib/streamaggr/stddev.go index 0eb6df6fe..ef10177a0 100644 --- a/lib/streamaggr/stddev.go +++ b/lib/streamaggr/stddev.go @@ -4,6 +4,7 @@ import ( "math" "sync" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil" "github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime" ) @@ -34,6 +35,7 @@ func (as *stddevAggrState) pushSamples(samples []pushSample) { if !ok { // The entry is missing in the map. Try creating it. v = &stddevStateValue{} + outputKey = bytesutil.InternString(outputKey) vNew, loaded := as.m.LoadOrStore(outputKey, v) if loaded { // Use the entry created by a concurrent goroutine. diff --git a/lib/streamaggr/stdvar.go b/lib/streamaggr/stdvar.go index c5d46af2a..dd4c21efe 100644 --- a/lib/streamaggr/stdvar.go +++ b/lib/streamaggr/stdvar.go @@ -3,6 +3,7 @@ package streamaggr import ( "sync" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil" "github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime" ) @@ -33,6 +34,7 @@ func (as *stdvarAggrState) pushSamples(samples []pushSample) { if !ok { // The entry is missing in the map. Try creating it. v = &stdvarStateValue{} + outputKey = bytesutil.InternString(outputKey) vNew, loaded := as.m.LoadOrStore(outputKey, v) if loaded { // Use the entry created by a concurrent goroutine. diff --git a/lib/streamaggr/streamaggr.go b/lib/streamaggr/streamaggr.go index 6657b2e04..92fdba57a 100644 --- a/lib/streamaggr/streamaggr.go +++ b/lib/streamaggr/streamaggr.go @@ -389,13 +389,20 @@ type aggregator struct { flushDuration *metrics.Histogram dedupFlushDuration *metrics.Histogram + samplesLag *metrics.Histogram flushTimeouts *metrics.Counter dedupFlushTimeouts *metrics.Counter + ignoredOldSamples *metrics.Counter + ignoredNanSamples *metrics.Counter } type aggrState interface { + // pushSamples must push samples to the aggrState. + // + // samples[].key must be cloned by aggrState, since it may change after returning from pushSamples. pushSamples(samples []pushSample) + flushState(ctx *flushCtx, resetState bool) } @@ -610,9 +617,12 @@ func newAggregator(cfg *Config, pushFunc PushFunc, ms *metrics.Set, opts *Option flushDuration: ms.GetOrCreateHistogram(`vm_streamaggr_flush_duration_seconds`), dedupFlushDuration: ms.GetOrCreateHistogram(`vm_streamaggr_dedup_flush_duration_seconds`), + samplesLag: ms.GetOrCreateHistogram(`vm_streamaggr_samples_lag_seconds`), flushTimeouts: ms.GetOrCreateCounter(`vm_streamaggr_flush_timeouts_total`), dedupFlushTimeouts: ms.GetOrCreateCounter(`vm_streamaggr_dedup_flush_timeouts_total`), + ignoredNanSamples: ms.GetOrCreateCounter(`vm_streamaggr_ignored_samples_total{reason="nan"}`), + ignoredOldSamples: ms.GetOrCreateCounter(`vm_streamaggr_ignored_samples_total{reason="too_old"}`), } if dedupInterval > 0 { a.da = newDedupAggr() @@ -798,6 +808,7 @@ func (a *aggregator) MustStop() { // Push pushes tss to a. func (a *aggregator) Push(tss []prompbmarshal.TimeSeries, matchIdxs []byte) { + now := time.Now().UnixMilli() ctx := getPushCtx() defer putPushCtx(ctx) @@ -810,6 +821,8 @@ func (a *aggregator) Push(tss []prompbmarshal.TimeSeries, matchIdxs []byte) { dropLabels := a.dropInputLabels ignoreOldSamples := a.ignoreOldSamples minTimestamp := a.minTimestamp.Load() + var totalLag int64 + var totalSamples int for idx, ts := range tss { if !a.match.Match(ts.Labels) { continue @@ -836,17 +849,24 @@ func (a *aggregator) Push(tss []prompbmarshal.TimeSeries, matchIdxs []byte) { outputLabels.Labels = append(outputLabels.Labels, labels.Labels...) } - buf = compressLabels(buf[:0], inputLabels.Labels, outputLabels.Labels) - key := bytesutil.InternBytes(buf) + bufLen := len(buf) + buf = compressLabels(buf, inputLabels.Labels, outputLabels.Labels) + // key remains valid only by the end of this function and can't be reused after + // do not intern key because number of unique keys could be too high + key := bytesutil.ToUnsafeString(buf[bufLen:]) for _, sample := range ts.Samples { if math.IsNaN(sample.Value) { + a.ignoredNanSamples.Inc() // Skip NaN values continue } if ignoreOldSamples && sample.Timestamp < minTimestamp { + a.ignoredOldSamples.Inc() // Skip old samples outside the current aggregation interval continue } + totalLag += now - sample.Timestamp + totalSamples++ samples = append(samples, pushSample{ key: key, value: sample.Value, @@ -854,6 +874,9 @@ func (a *aggregator) Push(tss []prompbmarshal.TimeSeries, matchIdxs []byte) { }) } } + if totalSamples > 0 { + a.samplesLag.Update(float64(totalLag/int64(totalSamples)) / 1000) + } ctx.samples = samples ctx.buf = buf @@ -926,6 +949,8 @@ func (ctx *pushCtx) reset() { } type pushSample struct { + // key identifies a sample that belongs to unique series + // key value can't be re-used key string value float64 timestamp int64 diff --git a/lib/streamaggr/sum_samples.go b/lib/streamaggr/sum_samples.go index bbd63fd0e..eb621ce5c 100644 --- a/lib/streamaggr/sum_samples.go +++ b/lib/streamaggr/sum_samples.go @@ -3,6 +3,7 @@ package streamaggr import ( "sync" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil" "github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime" ) @@ -33,6 +34,7 @@ func (as *sumSamplesAggrState) pushSamples(samples []pushSample) { v = &sumSamplesStateValue{ sum: s.value, } + outputKey = bytesutil.InternString(outputKey) vNew, loaded := as.m.LoadOrStore(outputKey, v) if !loaded { // The new entry has been successfully created. diff --git a/lib/streamaggr/total.go b/lib/streamaggr/total.go index b53d326d3..365fdb35d 100644 --- a/lib/streamaggr/total.go +++ b/lib/streamaggr/total.go @@ -5,6 +5,7 @@ import ( "sync" "time" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil" "github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime" ) @@ -80,6 +81,7 @@ func (as *totalAggrState) pushSamples(samples []pushSample) { v = &totalStateValue{ lastValues: make(map[string]totalLastValueState), } + outputKey = bytesutil.InternString(outputKey) vNew, loaded := as.m.LoadOrStore(outputKey, v) if loaded { // Use the entry created by a concurrent goroutine. @@ -108,6 +110,8 @@ func (as *totalAggrState) pushSamples(samples []pushSample) { lv.value = s.value lv.timestamp = s.timestamp lv.deleteDeadline = deleteDeadline + + inputKey = bytesutil.InternString(inputKey) sv.lastValues[inputKey] = lv sv.deleteDeadline = deleteDeadline } diff --git a/lib/streamaggr/unique_samples.go b/lib/streamaggr/unique_samples.go index 4f10b5c02..310617cc7 100644 --- a/lib/streamaggr/unique_samples.go +++ b/lib/streamaggr/unique_samples.go @@ -3,6 +3,7 @@ package streamaggr import ( "sync" + "github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil" "github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime" ) @@ -35,6 +36,7 @@ func (as *uniqueSamplesAggrState) pushSamples(samples []pushSample) { s.value: {}, }, } + outputKey = bytesutil.InternString(outputKey) vNew, loaded := as.m.LoadOrStore(outputKey, v) if !loaded { // The new entry has been successfully created. diff --git a/vendor/cloud.google.com/go/auth/CHANGES.md b/vendor/cloud.google.com/go/auth/CHANGES.md index 1e7aa4798..7ef5fc0de 100644 --- a/vendor/cloud.google.com/go/auth/CHANGES.md +++ b/vendor/cloud.google.com/go/auth/CHANGES.md @@ -1,5 +1,19 @@ # Changelog +## [0.5.1](https://github.com/googleapis/google-cloud-go/compare/auth/v0.5.0...auth/v0.5.1) (2024-05-31) + + +### Bug Fixes + +* **auth:** Pass through client to 2LO and 3LO flows ([#10290](https://github.com/googleapis/google-cloud-go/issues/10290)) ([685784e](https://github.com/googleapis/google-cloud-go/commit/685784ea84358c15e9214bdecb307d37aa3b6d2f)) + +## [0.5.0](https://github.com/googleapis/google-cloud-go/compare/auth/v0.4.2...auth/v0.5.0) (2024-05-28) + + +### Features + +* **auth:** Adds X509 workload certificate provider ([#10233](https://github.com/googleapis/google-cloud-go/issues/10233)) ([17a9db7](https://github.com/googleapis/google-cloud-go/commit/17a9db73af35e3d1a7a25ac4fd1377a103de6150)) + ## [0.4.2](https://github.com/googleapis/google-cloud-go/compare/auth/v0.4.1...auth/v0.4.2) (2024-05-16) diff --git a/vendor/cloud.google.com/go/auth/credentials/filetypes.go b/vendor/cloud.google.com/go/auth/credentials/filetypes.go index a66e56d70..fe9355738 100644 --- a/vendor/cloud.google.com/go/auth/credentials/filetypes.go +++ b/vendor/cloud.google.com/go/auth/credentials/filetypes.go @@ -137,6 +137,7 @@ func handleServiceAccount(f *credsfile.ServiceAccountFile, opts *DetectOptions) Scopes: opts.scopes(), TokenURL: f.TokenURL, Subject: opts.Subject, + Client: opts.client(), } if opts2LO.TokenURL == "" { opts2LO.TokenURL = jwtTokenURL @@ -154,6 +155,7 @@ func handleUserCredential(f *credsfile.UserCredentialsFile, opts *DetectOptions) AuthStyle: auth.StyleInParams, EarlyTokenExpiry: opts.EarlyTokenRefresh, RefreshToken: f.RefreshToken, + Client: opts.client(), } return auth.New3LOTokenProvider(opts3LO) } diff --git a/vendor/cloud.google.com/go/auth/grpctransport/grpctransport.go b/vendor/cloud.google.com/go/auth/grpctransport/grpctransport.go index 81c956b03..75bda4c63 100644 --- a/vendor/cloud.google.com/go/auth/grpctransport/grpctransport.go +++ b/vendor/cloud.google.com/go/auth/grpctransport/grpctransport.go @@ -47,7 +47,7 @@ var ( // Options used to configure a [GRPCClientConnPool] from [Dial]. type Options struct { - // DisableTelemetry disables default telemetry (OpenCensus). An example + // DisableTelemetry disables default telemetry (OpenTelemetry). An example // reason to do so would be to bind custom telemetry that overrides the // defaults. DisableTelemetry bool diff --git a/vendor/cloud.google.com/go/auth/httptransport/httptransport.go b/vendor/cloud.google.com/go/auth/httptransport/httptransport.go index 7fea9d87e..ef09c1b75 100644 --- a/vendor/cloud.google.com/go/auth/httptransport/httptransport.go +++ b/vendor/cloud.google.com/go/auth/httptransport/httptransport.go @@ -33,7 +33,7 @@ type ClientCertProvider = func(*tls.CertificateRequestInfo) (*tls.Certificate, e // Options used to configure a [net/http.Client] from [NewClient]. type Options struct { - // DisableTelemetry disables default telemetry (OpenCensus). An example + // DisableTelemetry disables default telemetry (OpenTelemetry). An example // reason to do so would be to bind custom telemetry that overrides the // defaults. DisableTelemetry bool diff --git a/vendor/cloud.google.com/go/auth/internal/transport/cert/workload_cert.go b/vendor/cloud.google.com/go/auth/internal/transport/cert/workload_cert.go new file mode 100644 index 000000000..ea1e1febb --- /dev/null +++ b/vendor/cloud.google.com/go/auth/internal/transport/cert/workload_cert.go @@ -0,0 +1,117 @@ +// Copyright 2024 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package cert + +import ( + "crypto/tls" + "encoding/json" + "errors" + "io" + "os" + + "github.com/googleapis/enterprise-certificate-proxy/client/util" +) + +type certConfigs struct { + Workload *workloadSource `json:"workload"` +} + +type workloadSource struct { + CertPath string `json:"cert_path"` + KeyPath string `json:"key_path"` +} + +type certificateConfig struct { + CertConfigs certConfigs `json:"cert_configs"` +} + +// NewWorkloadX509CertProvider creates a certificate source +// that reads a certificate and private key file from the local file system. +// This is intended to be used for workload identity federation. +// +// The configFilePath points to a config file containing relevant parameters +// such as the certificate and key file paths. +// If configFilePath is empty, the client will attempt to load the config from +// a well-known gcloud location. +func NewWorkloadX509CertProvider(configFilePath string) (Provider, error) { + if configFilePath == "" { + envFilePath := util.GetConfigFilePathFromEnv() + if envFilePath != "" { + configFilePath = envFilePath + } else { + configFilePath = util.GetDefaultConfigFilePath() + } + } + + certFile, keyFile, err := getCertAndKeyFiles(configFilePath) + if err != nil { + return nil, err + } + + source := &workloadSource{ + CertPath: certFile, + KeyPath: keyFile, + } + return source.getClientCertificate, nil +} + +// getClientCertificate attempts to load the certificate and key from the files specified in the +// certificate config. +func (s *workloadSource) getClientCertificate(info *tls.CertificateRequestInfo) (*tls.Certificate, error) { + cert, err := tls.LoadX509KeyPair(s.CertPath, s.KeyPath) + if err != nil { + return nil, err + } + return &cert, nil +} + +// getCertAndKeyFiles attempts to read the provided config file and return the certificate and private +// key file paths. +func getCertAndKeyFiles(configFilePath string) (string, string, error) { + jsonFile, err := os.Open(configFilePath) + if err != nil { + if errors.Is(err, os.ErrNotExist) { + return "", "", errSourceUnavailable + } + return "", "", err + } + + byteValue, err := io.ReadAll(jsonFile) + if err != nil { + return "", "", err + } + + var config certificateConfig + if err := json.Unmarshal(byteValue, &config); err != nil { + return "", "", err + } + + if config.CertConfigs.Workload == nil { + return "", "", errors.New("no Workload Identity Federation certificate information found in the certificate configuration file") + } + + certFile := config.CertConfigs.Workload.CertPath + keyFile := config.CertConfigs.Workload.KeyPath + + if certFile == "" { + return "", "", errors.New("certificate configuration is missing the certificate file location") + } + + if keyFile == "" { + return "", "", errors.New("certificate configuration is missing the key file location") + } + + return certFile, keyFile, nil +} diff --git a/vendor/cloud.google.com/go/internal/.repo-metadata-full.json b/vendor/cloud.google.com/go/internal/.repo-metadata-full.json index beb47b516..655fc5d82 100644 --- a/vendor/cloud.google.com/go/internal/.repo-metadata-full.json +++ b/vendor/cloud.google.com/go/internal/.repo-metadata-full.json @@ -776,7 +776,7 @@ "language": "go", "client_library_type": "generated", "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/commerce/latest/consumer/procurement/apiv1", - "release_level": "preview", + "release_level": "stable", "library_type": "GAPIC_AUTO" }, "cloud.google.com/go/compute/apiv1": { @@ -826,7 +826,7 @@ "language": "go", "client_library_type": "generated", "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/config/latest/apiv1", - "release_level": "preview", + "release_level": "stable", "library_type": "GAPIC_AUTO" }, "cloud.google.com/go/contactcenterinsights/apiv1": { @@ -1666,7 +1666,7 @@ "language": "go", "client_library_type": "generated", "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/migrationcenter/latest/apiv1", - "release_level": "preview", + "release_level": "stable", "library_type": "GAPIC_AUTO" }, "cloud.google.com/go/monitoring/apiv3/v2": { @@ -1706,7 +1706,7 @@ "language": "go", "client_library_type": "generated", "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/netapp/latest/apiv1", - "release_level": "preview", + "release_level": "stable", "library_type": "GAPIC_AUTO" }, "cloud.google.com/go/networkconnectivity/apiv1": { @@ -2076,7 +2076,7 @@ "language": "go", "client_library_type": "generated", "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/redis/latest/cluster/apiv1", - "release_level": "preview", + "release_level": "stable", "library_type": "GAPIC_AUTO" }, "cloud.google.com/go/resourcemanager/apiv2": { @@ -2219,6 +2219,16 @@ "release_level": "stable", "library_type": "GAPIC_AUTO" }, + "cloud.google.com/go/security/publicca/apiv1": { + "api_shortname": "publicca", + "distribution_name": "cloud.google.com/go/security/publicca/apiv1", + "description": "Public Certificate Authority API", + "language": "go", + "client_library_type": "generated", + "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/security/latest/publicca/apiv1", + "release_level": "preview", + "library_type": "GAPIC_AUTO" + }, "cloud.google.com/go/security/publicca/apiv1beta1": { "api_shortname": "publicca", "distribution_name": "cloud.google.com/go/security/publicca/apiv1beta1", @@ -2336,7 +2346,7 @@ "language": "go", "client_library_type": "generated", "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/servicehealth/latest/apiv1", - "release_level": "preview", + "release_level": "stable", "library_type": "GAPIC_AUTO" }, "cloud.google.com/go/servicemanagement/apiv1": { @@ -2866,7 +2876,7 @@ "language": "go", "client_library_type": "generated", "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/workstations/latest/apiv1", - "release_level": "preview", + "release_level": "stable", "library_type": "GAPIC_AUTO" }, "cloud.google.com/go/workstations/apiv1beta": { diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/CHANGELOG.md b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/CHANGELOG.md index a6675492b..af095f1da 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/CHANGELOG.md +++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/CHANGELOG.md @@ -1,5 +1,20 @@ # Release History +## 1.12.0 (2024-06-06) + +### Features Added + +* Added field `StatusCodes` to `runtime.FetcherForNextLinkOptions` allowing for additional HTTP status codes indicating success. +* Added func `NewUUID` to the `runtime` package for generating UUIDs. + +### Bugs Fixed + +* Fixed an issue that prevented pollers using the `Operation-Location` strategy from unmarshaling the final result in some cases. + +### Other Changes + +* Updated dependencies. + ## 1.11.1 (2024-04-02) ### Bugs Fixed diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/async/async.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/async/async.go index ccd4794e9..a53462760 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/async/async.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/async/async.go @@ -155,5 +155,5 @@ func (p *Poller[T]) Result(ctx context.Context, out *T) error { p.resp = resp } - return pollers.ResultHelper(p.resp, poller.Failed(p.CurState), out) + return pollers.ResultHelper(p.resp, poller.Failed(p.CurState), "", out) } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/body/body.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/body/body.go index 0d781b31d..8751b0514 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/body/body.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/body/body.go @@ -131,5 +131,5 @@ func (p *Poller[T]) Poll(ctx context.Context) (*http.Response, error) { } func (p *Poller[T]) Result(ctx context.Context, out *T) error { - return pollers.ResultHelper(p.resp, poller.Failed(p.CurState), out) + return pollers.ResultHelper(p.resp, poller.Failed(p.CurState), "", out) } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/fake/fake.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/fake/fake.go index 51aede8a2..7f8d11b8b 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/fake/fake.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/fake/fake.go @@ -124,7 +124,7 @@ func (p *Poller[T]) Result(ctx context.Context, out *T) error { return exported.NewResponseError(p.resp) } - return pollers.ResultHelper(p.resp, poller.Failed(p.FakeStatus), out) + return pollers.ResultHelper(p.resp, poller.Failed(p.FakeStatus), "", out) } // SanitizePollerPath removes any fake-appended suffix from a URL's path. diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/loc/loc.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/loc/loc.go index 7a56c5211..048285275 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/loc/loc.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/loc/loc.go @@ -119,5 +119,5 @@ func (p *Poller[T]) Poll(ctx context.Context) (*http.Response, error) { } func (p *Poller[T]) Result(ctx context.Context, out *T) error { - return pollers.ResultHelper(p.resp, poller.Failed(p.CurState), out) + return pollers.ResultHelper(p.resp, poller.Failed(p.CurState), "", out) } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/op/op.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/op/op.go index ac1c0efb5..03699fd76 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/op/op.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/op/op.go @@ -115,10 +115,13 @@ func (p *Poller[T]) Poll(ctx context.Context) (*http.Response, error) { func (p *Poller[T]) Result(ctx context.Context, out *T) error { var req *exported.Request var err error + + // when the payload is included with the status monitor on + // terminal success it's in the "result" JSON property + payloadPath := "result" + if p.FinalState == pollers.FinalStateViaLocation && p.LocURL != "" { req, err = exported.NewRequest(ctx, http.MethodGet, p.LocURL) - } else if p.FinalState == pollers.FinalStateViaOpLocation && p.Method == http.MethodPost { - // no final GET required, terminal response should have it } else if rl, rlErr := poller.GetResourceLocation(p.resp); rlErr != nil && !errors.Is(rlErr, poller.ErrNoBody) { return rlErr } else if rl != "" { @@ -134,6 +137,8 @@ func (p *Poller[T]) Result(ctx context.Context, out *T) error { // if a final GET request has been created, execute it if req != nil { + // no JSON path when making a final GET request + payloadPath = "" resp, err := p.pl.Do(req) if err != nil { return err @@ -141,5 +146,5 @@ func (p *Poller[T]) Result(ctx context.Context, out *T) error { p.resp = resp } - return pollers.ResultHelper(p.resp, poller.Failed(p.CurState), out) + return pollers.ResultHelper(p.resp, poller.Failed(p.CurState), payloadPath, out) } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/util.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/util.go index eb3cf651d..6a7a32e03 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/util.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/pollers/util.go @@ -159,7 +159,7 @@ func PollHelper(ctx context.Context, endpoint string, pl azexported.Pipeline, up // ResultHelper processes the response as success or failure. // In the success case, it unmarshals the payload into either a new instance of T or out. // In the failure case, it creates an *azcore.Response error from the response. -func ResultHelper[T any](resp *http.Response, failed bool, out *T) error { +func ResultHelper[T any](resp *http.Response, failed bool, jsonPath string, out *T) error { // short-circuit the simple success case with no response body to unmarshal if resp.StatusCode == http.StatusNoContent { return nil @@ -176,6 +176,18 @@ func ResultHelper[T any](resp *http.Response, failed bool, out *T) error { if err != nil { return err } + + if jsonPath != "" && len(payload) > 0 { + // extract the payload from the specified JSON path. + // do this before the zero-length check in case there + // is no payload. + jsonBody := map[string]json.RawMessage{} + if err = json.Unmarshal(payload, &jsonBody); err != nil { + return err + } + payload = jsonBody[jsonPath] + } + if len(payload) == 0 { return nil } diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/constants.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/constants.go index 03691cbf0..79651fd96 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/constants.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared/constants.go @@ -40,5 +40,5 @@ const ( Module = "azcore" // Version is the semantic version (see http://semver.org) of this module. - Version = "v1.11.1" + Version = "v1.12.0" ) diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pager.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pager.go index cffe692d7..b960cff0b 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pager.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/pager.go @@ -94,6 +94,10 @@ type FetcherForNextLinkOptions struct { // NextReq is the func to be called when requesting subsequent pages. // Used for paged operations that have a custom next link operation. NextReq func(context.Context, string) (*policy.Request, error) + + // StatusCodes contains additional HTTP status codes indicating success. + // The default value is http.StatusOK. + StatusCodes []int } // FetcherForNextLink is a helper containing boilerplate code to simplify creating a PagingHandler[T].Fetcher from a next link URL. @@ -105,10 +109,13 @@ type FetcherForNextLinkOptions struct { func FetcherForNextLink(ctx context.Context, pl Pipeline, nextLink string, firstReq func(context.Context) (*policy.Request, error), options *FetcherForNextLinkOptions) (*http.Response, error) { var req *policy.Request var err error + if options == nil { + options = &FetcherForNextLinkOptions{} + } if nextLink == "" { req, err = firstReq(ctx) } else if nextLink, err = EncodeQueryParams(nextLink); err == nil { - if options != nil && options.NextReq != nil { + if options.NextReq != nil { req, err = options.NextReq(ctx, nextLink) } else { req, err = NewRequest(ctx, http.MethodGet, nextLink) @@ -121,7 +128,9 @@ func FetcherForNextLink(ctx context.Context, pl Pipeline, nextLink string, first if err != nil { return nil, err } - if !HasStatusCode(resp, http.StatusOK) { + successCodes := []int{http.StatusOK} + successCodes = append(successCodes, options.StatusCodes...) + if !HasStatusCode(resp, successCodes...) { return nil, NewResponseError(resp) } return resp, nil diff --git a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/request.go b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/request.go index 06ac95b1b..40ddc8d92 100644 --- a/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/request.go +++ b/vendor/github.com/Azure/azure-sdk-for-go/sdk/azcore/runtime/request.go @@ -24,6 +24,7 @@ import ( "github.com/Azure/azure-sdk-for-go/sdk/azcore/internal/shared" "github.com/Azure/azure-sdk-for-go/sdk/azcore/policy" "github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming" + "github.com/Azure/azure-sdk-for-go/sdk/internal/uuid" ) // Base64Encoding is usesd to specify which base-64 encoder/decoder to use when @@ -263,3 +264,12 @@ func SkipBodyDownload(req *policy.Request) { // CtxAPINameKey is used as a context key for adding/retrieving the API name. type CtxAPINameKey = shared.CtxAPINameKey + +// NewUUID returns a new UUID using the RFC4122 algorithm. +func NewUUID() (string, error) { + u, err := uuid.New() + if err != nil { + return "", err + } + return u.String(), nil +} diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/endpoints.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/endpoints.go index aa10a9b40..99edbf3ee 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/aws/endpoints.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/endpoints.go @@ -70,6 +70,10 @@ func GetUseFIPSEndpoint(options ...interface{}) (value FIPSEndpointState, found // The SDK will automatically resolve these endpoints per API client using an // internal endpoint resolvers. If you'd like to provide custom endpoint // resolving behavior you can implement the EndpointResolver interface. +// +// Deprecated: This structure was used with the global [EndpointResolver] +// interface, which has been deprecated in favor of service-specific endpoint +// resolution. See the deprecation docs on that interface for more information. type Endpoint struct { // The base URL endpoint the SDK API clients will use to make API calls to. // The SDK will suffix URI path and query elements to this endpoint. @@ -124,6 +128,8 @@ type Endpoint struct { } // EndpointSource is the endpoint source type. +// +// Deprecated: The global [Endpoint] structure is deprecated. type EndpointSource int const ( @@ -161,19 +167,25 @@ func (e *EndpointNotFoundError) Unwrap() error { // API clients will fallback to attempting to resolve the endpoint using its // internal default endpoint resolver. // -// Deprecated: See EndpointResolverWithOptions +// Deprecated: The global endpoint resolution interface is deprecated. The API +// for endpoint resolution is now unique to each service and is set via the +// EndpointResolverV2 field on service client options. Setting a value for +// EndpointResolver on aws.Config or service client options will prevent you +// from using any endpoint-related service features released after the +// introduction of EndpointResolverV2. You may also encounter broken or +// unexpected behavior when using the old global interface with services that +// use many endpoint-related customizations such as S3. type EndpointResolver interface { ResolveEndpoint(service, region string) (Endpoint, error) } // EndpointResolverFunc wraps a function to satisfy the EndpointResolver interface. // -// Deprecated: See EndpointResolverWithOptionsFunc +// Deprecated: The global endpoint resolution interface is deprecated. See +// deprecation docs on [EndpointResolver]. type EndpointResolverFunc func(service, region string) (Endpoint, error) // ResolveEndpoint calls the wrapped function and returns the results. -// -// Deprecated: See EndpointResolverWithOptions.ResolveEndpoint func (e EndpointResolverFunc) ResolveEndpoint(service, region string) (Endpoint, error) { return e(service, region) } @@ -184,11 +196,17 @@ func (e EndpointResolverFunc) ResolveEndpoint(service, region string) (Endpoint, // available. If the EndpointResolverWithOptions returns an EndpointNotFoundError error, // API clients will fallback to attempting to resolve the endpoint using its // internal default endpoint resolver. +// +// Deprecated: The global endpoint resolution interface is deprecated. See +// deprecation docs on [EndpointResolver]. type EndpointResolverWithOptions interface { ResolveEndpoint(service, region string, options ...interface{}) (Endpoint, error) } // EndpointResolverWithOptionsFunc wraps a function to satisfy the EndpointResolverWithOptions interface. +// +// Deprecated: The global endpoint resolution interface is deprecated. See +// deprecation docs on [EndpointResolver]. type EndpointResolverWithOptionsFunc func(service, region string, options ...interface{}) (Endpoint, error) // ResolveEndpoint calls the wrapped function and returns the results. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go index e648346be..d9cd55e74 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go @@ -3,4 +3,4 @@ package aws // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.27.0" +const goModuleVersion = "1.27.1" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/headers.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/headers.go index ca738f234..71b1a3521 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/headers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/headers.go @@ -38,7 +38,6 @@ var RequiredSignedHeaders = Rules{ "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm": struct{}{}, "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key": struct{}{}, "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-Md5": struct{}{}, - "X-Amz-Expected-Bucket-Owner": struct{}{}, "X-Amz-Grant-Full-control": struct{}{}, "X-Amz-Grant-Read": struct{}{}, "X-Amz-Grant-Read-Acp": struct{}{}, diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/v4.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/v4.go index 55dfd07ba..dcd896a9b 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/v4.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/v4.go @@ -395,6 +395,12 @@ func buildQuery(r v4Internal.Rule, header http.Header) (url.Values, http.Header) query := url.Values{} unsignedHeaders := http.Header{} for k, h := range header { + // literally just this header has this constraint for some stupid reason, + // see #2508 + if k == "X-Amz-Expected-Bucket-Owner" { + k = "x-amz-expected-bucket-owner" + } + if r.IsValid(k) { query[k] = h } else { diff --git a/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md index ff8ccb9fa..a1bbe100f 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md @@ -1,3 +1,12 @@ +# v1.27.17 (2024-06-03) + +* **Documentation**: Add deprecation docs to global endpoint resolution interfaces. These APIs were previously deprecated with the introduction of service-specific endpoint resolution (EndpointResolverV2 and BaseEndpoint on service client options). +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.27.16 (2024-05-23) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.27.15 (2024-05-16) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go index 7300e7a88..089c79b28 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go @@ -3,4 +3,4 @@ package config // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.27.15" +const goModuleVersion = "1.27.17" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/config/load_options.go b/vendor/github.com/aws/aws-sdk-go-v2/config/load_options.go index 06596c1b7..7ff38b9da 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/config/load_options.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/config/load_options.go @@ -824,7 +824,14 @@ func (o LoadOptions) getEndpointResolver(ctx context.Context) (aws.EndpointResol // the EndpointResolver value is ignored. If multiple WithEndpointResolver calls // are made, the last call overrides the previous call values. // -// Deprecated: See WithEndpointResolverWithOptions +// Deprecated: The global endpoint resolution interface is deprecated. The API +// for endpoint resolution is now unique to each service and is set via the +// EndpointResolverV2 field on service client options. Use of +// WithEndpointResolver or WithEndpointResolverWithOptions will prevent you +// from using any endpoint-related service features released after the +// introduction of EndpointResolverV2. You may also encounter broken or +// unexpected behavior when using the old global interface with services that +// use many endpoint-related customizations such as S3. func WithEndpointResolver(v aws.EndpointResolver) LoadOptionsFunc { return func(o *LoadOptions) error { o.EndpointResolver = v @@ -844,6 +851,9 @@ func (o LoadOptions) getEndpointResolverWithOptions(ctx context.Context) (aws.En // that sets the EndpointResolverWithOptions on LoadOptions. If the EndpointResolverWithOptions is set to nil, // the EndpointResolver value is ignored. If multiple WithEndpointResolver calls // are made, the last call overrides the previous call values. +// +// Deprecated: The global endpoint resolution interface is deprecated. See +// deprecation docs on [WithEndpointResolver]. func WithEndpointResolverWithOptions(v aws.EndpointResolverWithOptions) LoadOptionsFunc { return func(o *LoadOptions) error { o.EndpointResolverWithOptions = v diff --git a/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md index d70fbf9c5..2919c2a5f 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md @@ -1,3 +1,11 @@ +# v1.17.17 (2024-06-03) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.17.16 (2024-05-23) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.17.15 (2024-05-16) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go index 785a5d003..41ea238d9 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go @@ -3,4 +3,4 @@ package credentials // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.17.15" +const goModuleVersion = "1.17.17" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md index 15f2dff92..d99db87e7 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.16.4 (2024-06-03) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.16.3 (2024-05-16) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go index 18c7d54f8..82062118d 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go @@ -3,4 +3,4 @@ package imds // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.16.3" +const goModuleVersion = "1.16.4" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/CHANGELOG.md index 57f169ddf..a0175faa4 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/CHANGELOG.md @@ -1,3 +1,15 @@ +# v1.16.23 (2024-06-05) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.16.22 (2024-06-03) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.16.21 (2024-05-23) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.16.20 (2024-05-16) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/go_module_metadata.go index 01f6fe316..c2160609c 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/go_module_metadata.go @@ -3,4 +3,4 @@ package manager // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.16.20" +const goModuleVersion = "1.16.23" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md index e5ab27663..0c5a35db9 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.3.8 (2024-06-03) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.3.7 (2024-05-16) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go index 67cbc3767..902f50d69 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go @@ -3,4 +3,4 @@ package configsources // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.3.7" +const goModuleVersion = "1.3.8" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.json b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.json index f376f6908..7a28569c3 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.json +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.json @@ -198,7 +198,11 @@ "supportsFIPS" : true }, "regionRegex" : "^eu\\-isoe\\-\\w+\\-\\d+$", - "regions" : { } + "regions" : { + "eu-isoe-west-1" : { + "description" : "EU ISOE West" + } + } }, { "id" : "aws-iso-f", "outputs" : { diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md index 5ff8fef93..c9ef13fc6 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md @@ -1,3 +1,7 @@ +# v2.6.8 (2024-06-03) + +* **Dependency Update**: Updated to the latest SDK module versions + # v2.6.7 (2024-05-16) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go index cc9b78076..91cd333da 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go @@ -3,4 +3,4 @@ package endpoints // goModuleVersion is the tagged release for this module -const goModuleVersion = "2.6.7" +const goModuleVersion = "2.6.8" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md index c9e75845e..1dd291857 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.3.8 (2024-06-03) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.3.7 (2024-05-16) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go index 3ad7fe2ad..eabc13fa5 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go @@ -3,4 +3,4 @@ package v4a // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.3.7" +const goModuleVersion = "1.3.8" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md index bb5f3faa7..37b203f1f 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.3.10 (2024-06-03) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.3.9 (2024-05-16) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go index fffd7ee8f..05f636dab 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go @@ -3,4 +3,4 @@ package checksum // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.3.9" +const goModuleVersion = "1.3.10" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md index 606704521..0c98ab7cd 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.11.10 (2024-06-03) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.11.9 (2024-05-16) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go index 24fd480d3..d1a66df08 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go @@ -3,4 +3,4 @@ package presignedurl // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.11.9" +const goModuleVersion = "1.11.10" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md index 71d59349f..d8d906641 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.17.8 (2024-06-03) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.17.7 (2024-05-16) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go index 74be6efe1..f6e216e31 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go @@ -3,4 +3,4 @@ package s3shared // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.17.7" +const goModuleVersion = "1.17.8" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md index 4d9957a68..6482a0a1d 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md @@ -1,3 +1,16 @@ +# v1.55.0 (2024-06-05) + +* **Feature**: Added new params copySource and key to copyObject API for supporting S3 Access Grants plugin. These changes will not change any of the existing S3 API functionality. +* **Bug Fix**: Add S3-specific smithy protocol tests. + +# v1.54.4 (2024-06-03) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.54.3 (2024-05-23) + +* **Bug Fix**: Prevent parsing failures for nonstandard `Expires` values in responses. If the SDK cannot parse the value set in the response header for this field it will now be returned as `nil`. A new field, `ExpiresString`, has been added that will retain the unparsed value from the response (regardless of whether it came back in a format recognized by the SDK). + # v1.54.2 (2024-05-16) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go index bae0b7cb4..824a9c816 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go @@ -736,6 +736,8 @@ type CopyObjectInput struct { func (in *CopyObjectInput) bindEndpointParams(p *EndpointParameters) { p.Bucket = in.Bucket + p.CopySource = in.CopySource + p.Key = in.Key p.DisableS3ExpressSessionAuth = ptr.Bool(true) } diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObject.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObject.go index 80edddd15..4ca0b5b46 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObject.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObject.go @@ -505,8 +505,16 @@ type GetObjectOutput struct { Expiration *string // The date and time at which the object is no longer cacheable. + // + // Deprecated: This field is handled inconsistently across AWS SDKs. Prefer using + // the ExpiresString field which contains the unparsed value from the service + // response. Expires *time.Time + // The unparsed value of the Expires field from the service response. Prefer use + // of this value over the normal Expires response field where possible. + ExpiresString *string + // Date and time when the object was last modified. // // General purpose buckets - When you specify a versionId of the object in your diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadObject.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadObject.go index ddddfe5c1..7152daf07 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadObject.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadObject.go @@ -426,8 +426,16 @@ type HeadObjectOutput struct { Expiration *string // The date and time at which the object is no longer cacheable. + // + // Deprecated: This field is handled inconsistently across AWS SDKs. Prefer using + // the ExpiresString field which contains the unparsed value from the service + // response. Expires *time.Time + // The unparsed value of the Expires field from the service response. Prefer use + // of this value over the normal Expires response field where possible. + ExpiresString *string + // Date and time when the object was last modified. LastModified *time.Time diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/deserializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/deserializers.go index 2be5df30f..d953cdc1c 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/deserializers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/deserializers.go @@ -25,8 +25,17 @@ import ( "io/ioutil" "strconv" "strings" + "time" ) +func deserializeS3Expires(v string) (*time.Time, error) { + t, err := smithytime.ParseHTTPDate(v) + if err != nil { + return nil, nil + } + return &t, nil +} + type awsRestxml_deserializeOpAbortMultipartUpload struct { } @@ -5504,12 +5513,17 @@ func awsRestxml_deserializeOpHttpBindingsGetObjectOutput(v *GetObjectOutput, res } if headerValues := response.Header.Values("Expires"); len(headerValues) != 0 { - headerValues[0] = strings.TrimSpace(headerValues[0]) - t, err := smithytime.ParseHTTPDate(headerValues[0]) + deserOverride, err := deserializeS3Expires(headerValues[0]) if err != nil { return err } - v.Expires = ptr.Time(t) + v.Expires = deserOverride + + } + + if headerValues := response.Header.Values("Expires"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.ExpiresString = ptr.String(headerValues[0]) } if headerValues := response.Header.Values("Last-Modified"); len(headerValues) != 0 { @@ -7128,12 +7142,17 @@ func awsRestxml_deserializeOpHttpBindingsHeadObjectOutput(v *HeadObjectOutput, r } if headerValues := response.Header.Values("Expires"); len(headerValues) != 0 { - headerValues[0] = strings.TrimSpace(headerValues[0]) - t, err := smithytime.ParseHTTPDate(headerValues[0]) + deserOverride, err := deserializeS3Expires(headerValues[0]) if err != nil { return err } - v.Expires = ptr.Time(t) + v.Expires = deserOverride + + } + + if headerValues := response.Header.Values("Expires"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.ExpiresString = ptr.String(headerValues[0]) } if headerValues := response.Header.Values("Last-Modified"); len(headerValues) != 0 { diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/endpoints.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/endpoints.go index e6ae2e872..39f416bcf 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/endpoints.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/endpoints.go @@ -326,6 +326,13 @@ type EndpointParameters struct { // is required. Prefix *string + // The Copy Source used for Copy Object request. This is an optional parameter that + // will be set automatically for operations that are scoped to Copy + // Source. + // + // Parameter is required. + CopySource *string + // Internal parameter to disable Access Point Buckets // // Parameter is required. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go index ac25c831b..a3c32d724 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go @@ -3,4 +3,4 @@ package s3 // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.54.2" +const goModuleVersion = "1.55.0" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md index f5f7d5a22..cb6d9d596 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md @@ -1,3 +1,11 @@ +# v1.20.10 (2024-06-03) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.20.9 (2024-05-23) + +* No change notes available for this release. + # v1.20.8 (2024-05-16) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/deserializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/deserializers.go index 8bba205f4..d6297fa6a 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/deserializers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/deserializers.go @@ -13,12 +13,22 @@ import ( smithyio "github.com/aws/smithy-go/io" "github.com/aws/smithy-go/middleware" "github.com/aws/smithy-go/ptr" + smithytime "github.com/aws/smithy-go/time" smithyhttp "github.com/aws/smithy-go/transport/http" "io" "io/ioutil" "strings" + "time" ) +func deserializeS3Expires(v string) (*time.Time, error) { + t, err := smithytime.ParseHTTPDate(v) + if err != nil { + return nil, nil + } + return &t, nil +} + type awsRestjson1_deserializeOpGetRoleCredentials struct { } diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go index 66ee5a4ce..5947e4981 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go @@ -3,4 +3,4 @@ package sso // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.20.8" +const goModuleVersion = "1.20.10" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md index f5591a7d3..a8a7f8fe6 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md @@ -1,3 +1,11 @@ +# v1.24.4 (2024-06-03) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.24.3 (2024-05-23) + +* No change notes available for this release. + # v1.24.2 (2024-05-16) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/deserializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/deserializers.go index b70e5fb5a..05e8c6b7e 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/deserializers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/deserializers.go @@ -13,11 +13,21 @@ import ( smithyio "github.com/aws/smithy-go/io" "github.com/aws/smithy-go/middleware" "github.com/aws/smithy-go/ptr" + smithytime "github.com/aws/smithy-go/time" smithyhttp "github.com/aws/smithy-go/transport/http" "io" "strings" + "time" ) +func deserializeS3Expires(v string) (*time.Time, error) { + t, err := smithytime.ParseHTTPDate(v) + if err != nil { + return nil, nil + } + return &t, nil +} + type awsRestjson1_deserializeOpCreateToken struct { } diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go index f699d84bb..b1403a826 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go @@ -3,4 +3,4 @@ package ssooidc // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.24.2" +const goModuleVersion = "1.24.4" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md index 2f8900987..24fe77f32 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md @@ -1,3 +1,11 @@ +# v1.28.11 (2024-06-03) + +* **Dependency Update**: Updated to the latest SDK module versions + +# v1.28.10 (2024-05-23) + +* No change notes available for this release. + # v1.28.9 (2024-05-16) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/deserializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/deserializers.go index 5d634ce35..7e4346ec9 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/deserializers.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/deserializers.go @@ -20,8 +20,17 @@ import ( "io" "strconv" "strings" + "time" ) +func deserializeS3Expires(v string) (*time.Time, error) { + t, err := smithytime.ParseHTTPDate(v) + if err != nil { + return nil, nil + } + return &t, nil +} + type awsAwsquery_deserializeOpAssumeRole struct { } diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go index 5583e60cc..08c29ce32 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go @@ -3,4 +3,4 @@ package sts // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.28.9" +const goModuleVersion = "1.28.11" diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go index 2d6ed505a..ec06aeb05 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go @@ -74,7 +74,9 @@ const ( ) // AWS ISOE (Europe) partition's regions. -const () +const ( + EuIsoeWest1RegionID = "eu-isoe-west-1" // EU ISOE West. +) // AWS ISOF partition's regions. const () @@ -244,13 +246,6 @@ var awsPartition = partition{ }, }, Services: services{ - "a4b": service{ - Endpoints: serviceEndpoints{ - endpointKey{ - Region: "us-east-1", - }: endpoint{}, - }, - }, "access-analyzer": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -5055,6 +5050,9 @@ var awsPartition = partition{ }, "braket": service{ Endpoints: serviceEndpoints{ + endpointKey{ + Region: "eu-north-1", + }: endpoint{}, endpointKey{ Region: "eu-west-2", }: endpoint{}, @@ -5299,69 +5297,157 @@ var awsPartition = partition{ endpointKey{ Region: "af-south-1", }: endpoint{}, + endpointKey{ + Region: "af-south-1", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "ap-east-1", }: endpoint{}, + endpointKey{ + Region: "ap-east-1", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "ap-northeast-1", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-1", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "ap-northeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-2", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "ap-northeast-3", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "ap-south-1", }: endpoint{}, + endpointKey{ + Region: "ap-south-1", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "ap-southeast-1", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "eu-central-1", }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "eu-north-1", }: endpoint{}, + endpointKey{ + Region: "eu-north-1", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "eu-south-1", }: endpoint{}, + endpointKey{ + Region: "eu-south-1", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "eu-west-2", }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "eu-west-3", }: endpoint{}, + endpointKey{ + Region: "eu-west-3", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "il-central-1", }: endpoint{}, + endpointKey{ + Region: "il-central-1", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "me-south-1", }: endpoint{}, + endpointKey{ + Region: "me-south-1", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "sa-east-1", }: endpoint{}, + endpointKey{ + Region: "sa-east-1", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "us-east-1", }: endpoint{}, + endpointKey{ + Region: "us-east-1", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "us-east-2", }: endpoint{}, + endpointKey{ + Region: "us-east-2", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "us-west-1", }: endpoint{}, + endpointKey{ + Region: "us-west-1", + Variant: dualStackVariant, + }: endpoint{}, endpointKey{ Region: "us-west-2", }: endpoint{}, + endpointKey{ + Region: "us-west-2", + Variant: dualStackVariant, + }: endpoint{}, }, }, "cloudcontrolapi": service{ @@ -9266,9 +9352,21 @@ var awsPartition = partition{ endpointKey{ Region: "ca-central-1", }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "directconnect-fips.ca-central-1.amazonaws.com", + }, endpointKey{ Region: "ca-west-1", }: endpoint{}, + endpointKey{ + Region: "ca-west-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "directconnect-fips.ca-west-1.amazonaws.com", + }, endpointKey{ Region: "eu-central-1", }: endpoint{}, @@ -9293,6 +9391,24 @@ var awsPartition = partition{ endpointKey{ Region: "eu-west-3", }: endpoint{}, + endpointKey{ + Region: "fips-ca-central-1", + }: endpoint{ + Hostname: "directconnect-fips.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-ca-west-1", + }: endpoint{ + Hostname: "directconnect-fips.ca-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-west-1", + }, + Deprecated: boxedTrue, + }, endpointKey{ Region: "fips-us-east-1", }: endpoint{ @@ -15441,13 +15557,6 @@ var awsPartition = partition{ }: endpoint{}, }, }, - "honeycode": service{ - Endpoints: serviceEndpoints{ - endpointKey{ - Region: "us-west-2", - }: endpoint{}, - }, - }, "iam": service{ PartitionEndpoint: "aws-global", IsRegionalized: boxedFalse, @@ -15570,6 +15679,9 @@ var awsPartition = partition{ endpointKey{ Region: "ca-central-1", }: endpoint{}, + endpointKey{ + Region: "ca-west-1", + }: endpoint{}, endpointKey{ Region: "eu-central-1", }: endpoint{}, @@ -24101,6 +24213,9 @@ var awsPartition = partition{ }, "quicksight": service{ Endpoints: serviceEndpoints{ + endpointKey{ + Region: "af-south-1", + }: endpoint{}, endpointKey{ Region: "ap-northeast-1", }: endpoint{}, @@ -24116,15 +24231,27 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, + endpointKey{ + Region: "api", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, endpointKey{ Region: "eu-central-1", }: endpoint{}, + endpointKey{ + Region: "eu-central-2", + }: endpoint{}, endpointKey{ Region: "eu-north-1", }: endpoint{}, + endpointKey{ + Region: "eu-south-1", + }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, @@ -25172,9 +25299,15 @@ var awsPartition = partition{ endpointKey{ Region: "eu-central-1", }: endpoint{}, + endpointKey{ + Region: "eu-central-2", + }: endpoint{}, endpointKey{ Region: "eu-north-1", }: endpoint{}, + endpointKey{ + Region: "eu-south-2", + }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, @@ -25229,6 +25362,9 @@ var awsPartition = partition{ }, Deprecated: boxedTrue, }, + endpointKey{ + Region: "sa-east-1", + }: endpoint{}, endpointKey{ Region: "us-east-1", }: endpoint{}, @@ -33778,6 +33914,9 @@ var awsPartition = partition{ endpointKey{ Region: "eu-west-2", }: endpoint{}, + endpointKey{ + Region: "eu-west-3", + }: endpoint{}, endpointKey{ Region: "sa-east-1", }: endpoint{}, @@ -33787,6 +33926,9 @@ var awsPartition = partition{ endpointKey{ Region: "us-east-2", }: endpoint{}, + endpointKey{ + Region: "us-west-1", + }: endpoint{}, endpointKey{ Region: "us-west-2", }: endpoint{}, @@ -37367,6 +37509,9 @@ var awscnPartition = partition{ endpointKey{ Region: "cn-north-1", }: endpoint{}, + endpointKey{ + Region: "cn-northwest-1", + }: endpoint{}, }, }, "resource-groups": service{ @@ -45725,42 +45870,12 @@ var awsisoPartition = partition{ }, "ram": service{ Endpoints: serviceEndpoints{ - endpointKey{ - Region: "fips-us-iso-east-1", - }: endpoint{ - Hostname: "ram-fips.us-iso-east-1.c2s.ic.gov", - CredentialScope: credentialScope{ - Region: "us-iso-east-1", - }, - Deprecated: boxedTrue, - }, - endpointKey{ - Region: "fips-us-iso-west-1", - }: endpoint{ - Hostname: "ram-fips.us-iso-west-1.c2s.ic.gov", - CredentialScope: credentialScope{ - Region: "us-iso-west-1", - }, - Deprecated: boxedTrue, - }, endpointKey{ Region: "us-iso-east-1", }: endpoint{}, - endpointKey{ - Region: "us-iso-east-1", - Variant: fipsVariant, - }: endpoint{ - Hostname: "ram-fips.us-iso-east-1.c2s.ic.gov", - }, endpointKey{ Region: "us-iso-west-1", }: endpoint{}, - endpointKey{ - Region: "us-iso-west-1", - Variant: fipsVariant, - }: endpoint{ - Hostname: "ram-fips.us-iso-west-1.c2s.ic.gov", - }, }, }, "rbin": service{ @@ -45805,37 +45920,10 @@ var awsisoPartition = partition{ }, "rds": service{ Endpoints: serviceEndpoints{ - endpointKey{ - Region: "rds-fips.us-iso-east-1", - }: endpoint{ - Hostname: "rds-fips.us-iso-east-1.c2s.ic.gov", - CredentialScope: credentialScope{ - Region: "us-iso-east-1", - }, - Deprecated: boxedTrue, - }, - endpointKey{ - Region: "rds-fips.us-iso-west-1", - }: endpoint{ - Hostname: "rds-fips.us-iso-west-1.c2s.ic.gov", - CredentialScope: credentialScope{ - Region: "us-iso-west-1", - }, - Deprecated: boxedTrue, - }, endpointKey{ Region: "rds.us-iso-east-1", }: endpoint{ - CredentialScope: credentialScope{ - Region: "us-iso-east-1", - }, - Deprecated: boxedTrue, - }, - endpointKey{ - Region: "rds.us-iso-east-1", - Variant: fipsVariant, - }: endpoint{ - Hostname: "rds-fips.us-iso-east-1.c2s.ic.gov", + Hostname: "rds.us-iso-east-1.c2s.ic.gov", CredentialScope: credentialScope{ Region: "us-iso-east-1", }, @@ -45844,16 +45932,7 @@ var awsisoPartition = partition{ endpointKey{ Region: "rds.us-iso-west-1", }: endpoint{ - CredentialScope: credentialScope{ - Region: "us-iso-west-1", - }, - Deprecated: boxedTrue, - }, - endpointKey{ - Region: "rds.us-iso-west-1", - Variant: fipsVariant, - }: endpoint{ - Hostname: "rds-fips.us-iso-west-1.c2s.ic.gov", + Hostname: "rds.us-iso-west-1.c2s.ic.gov", CredentialScope: credentialScope{ Region: "us-iso-west-1", }, @@ -45866,12 +45945,12 @@ var awsisoPartition = partition{ Region: "us-iso-east-1", Variant: fipsVariant, }: endpoint{ - Hostname: "rds-fips.us-iso-east-1.c2s.ic.gov", + Hostname: "rds.us-iso-east-1.c2s.ic.gov", }, endpointKey{ Region: "us-iso-east-1-fips", }: endpoint{ - Hostname: "rds-fips.us-iso-east-1.c2s.ic.gov", + Hostname: "rds.us-iso-east-1.c2s.ic.gov", CredentialScope: credentialScope{ Region: "us-iso-east-1", }, @@ -45884,12 +45963,12 @@ var awsisoPartition = partition{ Region: "us-iso-west-1", Variant: fipsVariant, }: endpoint{ - Hostname: "rds-fips.us-iso-west-1.c2s.ic.gov", + Hostname: "rds.us-iso-west-1.c2s.ic.gov", }, endpointKey{ Region: "us-iso-west-1-fips", }: endpoint{ - Hostname: "rds-fips.us-iso-west-1.c2s.ic.gov", + Hostname: "rds.us-iso-west-1.c2s.ic.gov", CredentialScope: credentialScope{ Region: "us-iso-west-1", }, @@ -46848,24 +46927,9 @@ var awsisobPartition = partition{ }, "ram": service{ Endpoints: serviceEndpoints{ - endpointKey{ - Region: "fips-us-isob-east-1", - }: endpoint{ - Hostname: "ram-fips.us-isob-east-1.sc2s.sgov.gov", - CredentialScope: credentialScope{ - Region: "us-isob-east-1", - }, - Deprecated: boxedTrue, - }, endpointKey{ Region: "us-isob-east-1", }: endpoint{}, - endpointKey{ - Region: "us-isob-east-1", - Variant: fipsVariant, - }: endpoint{ - Hostname: "ram-fips.us-isob-east-1.sc2s.sgov.gov", - }, }, }, "rbin": service{ @@ -46892,28 +46956,10 @@ var awsisobPartition = partition{ }, "rds": service{ Endpoints: serviceEndpoints{ - endpointKey{ - Region: "rds-fips.us-isob-east-1", - }: endpoint{ - Hostname: "rds-fips.us-isob-east-1.sc2s.sgov.gov", - CredentialScope: credentialScope{ - Region: "us-isob-east-1", - }, - Deprecated: boxedTrue, - }, endpointKey{ Region: "rds.us-isob-east-1", }: endpoint{ - CredentialScope: credentialScope{ - Region: "us-isob-east-1", - }, - Deprecated: boxedTrue, - }, - endpointKey{ - Region: "rds.us-isob-east-1", - Variant: fipsVariant, - }: endpoint{ - Hostname: "rds-fips.us-isob-east-1.sc2s.sgov.gov", + Hostname: "rds.us-isob-east-1.sc2s.sgov.gov", CredentialScope: credentialScope{ Region: "us-isob-east-1", }, @@ -46926,12 +46972,12 @@ var awsisobPartition = partition{ Region: "us-isob-east-1", Variant: fipsVariant, }: endpoint{ - Hostname: "rds-fips.us-isob-east-1.sc2s.sgov.gov", + Hostname: "rds.us-isob-east-1.sc2s.sgov.gov", }, endpointKey{ Region: "us-isob-east-1-fips", }: endpoint{ - Hostname: "rds-fips.us-isob-east-1.sc2s.sgov.gov", + Hostname: "rds.us-isob-east-1.sc2s.sgov.gov", CredentialScope: credentialScope{ Region: "us-isob-east-1", }, @@ -47286,7 +47332,11 @@ var awsisoePartition = partition{ SignatureVersions: []string{"v4"}, }, }, - Regions: regions{}, + Regions: regions{ + "eu-isoe-west-1": region{ + Description: "EU ISOE West", + }, + }, Services: services{}, } diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go index 1408863f2..dcaa20d28 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/version.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.53.8" +const SDKVersion = "1.53.18" diff --git a/vendor/github.com/hashicorp/go-version/CHANGELOG.md b/vendor/github.com/hashicorp/go-version/CHANGELOG.md index 5f16dd140..6d48174bf 100644 --- a/vendor/github.com/hashicorp/go-version/CHANGELOG.md +++ b/vendor/github.com/hashicorp/go-version/CHANGELOG.md @@ -1,3 +1,22 @@ +# 1.7.0 (May 24, 2024) + +ENHANCEMENTS: + +- Remove `reflect` dependency ([#91](https://github.com/hashicorp/go-version/pull/91)) +- Implement the `database/sql.Scanner` and `database/sql/driver.Value` interfaces for `Version` ([#133](https://github.com/hashicorp/go-version/pull/133)) + +INTERNAL: + +- [COMPLIANCE] Add Copyright and License Headers ([#115](https://github.com/hashicorp/go-version/pull/115)) +- [COMPLIANCE] Update MPL-2.0 LICENSE ([#105](https://github.com/hashicorp/go-version/pull/105)) +- Bump actions/cache from 3.0.11 to 3.2.5 ([#116](https://github.com/hashicorp/go-version/pull/116)) +- Bump actions/checkout from 3.2.0 to 3.3.0 ([#111](https://github.com/hashicorp/go-version/pull/111)) +- Bump actions/upload-artifact from 3.1.1 to 3.1.2 ([#112](https://github.com/hashicorp/go-version/pull/112)) +- GHA Migration ([#103](https://github.com/hashicorp/go-version/pull/103)) +- github: Pin external GitHub Actions to hashes ([#107](https://github.com/hashicorp/go-version/pull/107)) +- SEC-090: Automated trusted workflow pinning (2023-04-05) ([#124](https://github.com/hashicorp/go-version/pull/124)) +- update readme ([#104](https://github.com/hashicorp/go-version/pull/104)) + # 1.6.0 (June 28, 2022) FEATURES: diff --git a/vendor/github.com/hashicorp/go-version/LICENSE b/vendor/github.com/hashicorp/go-version/LICENSE index c33dcc7c9..1409d6ab9 100644 --- a/vendor/github.com/hashicorp/go-version/LICENSE +++ b/vendor/github.com/hashicorp/go-version/LICENSE @@ -1,3 +1,5 @@ +Copyright (c) 2014 HashiCorp, Inc. + Mozilla Public License, version 2.0 1. Definitions diff --git a/vendor/github.com/hashicorp/go-version/README.md b/vendor/github.com/hashicorp/go-version/README.md index 4d2505090..4b7806cd9 100644 --- a/vendor/github.com/hashicorp/go-version/README.md +++ b/vendor/github.com/hashicorp/go-version/README.md @@ -1,5 +1,5 @@ # Versioning Library for Go -[![Build Status](https://circleci.com/gh/hashicorp/go-version/tree/main.svg?style=svg)](https://circleci.com/gh/hashicorp/go-version/tree/main) +![Build Status](https://github.com/hashicorp/go-version/actions/workflows/go-tests.yml/badge.svg) [![GoDoc](https://godoc.org/github.com/hashicorp/go-version?status.svg)](https://godoc.org/github.com/hashicorp/go-version) go-version is a library for parsing versions and version constraints, diff --git a/vendor/github.com/hashicorp/go-version/constraint.go b/vendor/github.com/hashicorp/go-version/constraint.go index da5d1aca1..29bdc4d2b 100644 --- a/vendor/github.com/hashicorp/go-version/constraint.go +++ b/vendor/github.com/hashicorp/go-version/constraint.go @@ -1,8 +1,10 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + package version import ( "fmt" - "reflect" "regexp" "sort" "strings" @@ -199,7 +201,7 @@ func prereleaseCheck(v, c *Version) bool { case cPre && vPre: // A constraint with a pre-release can only match a pre-release version // with the same base segments. - return reflect.DeepEqual(c.Segments64(), v.Segments64()) + return v.equalSegments(c) case !cPre && vPre: // A constraint without a pre-release can only match a version without a diff --git a/vendor/github.com/hashicorp/go-version/version.go b/vendor/github.com/hashicorp/go-version/version.go index e87df6990..7c683c281 100644 --- a/vendor/github.com/hashicorp/go-version/version.go +++ b/vendor/github.com/hashicorp/go-version/version.go @@ -1,9 +1,12 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + package version import ( "bytes" + "database/sql/driver" "fmt" - "reflect" "regexp" "strconv" "strings" @@ -117,11 +120,8 @@ func (v *Version) Compare(other *Version) int { return 0 } - segmentsSelf := v.Segments64() - segmentsOther := other.Segments64() - // If the segments are the same, we must compare on prerelease info - if reflect.DeepEqual(segmentsSelf, segmentsOther) { + if v.equalSegments(other) { preSelf := v.Prerelease() preOther := other.Prerelease() if preSelf == "" && preOther == "" { @@ -137,6 +137,8 @@ func (v *Version) Compare(other *Version) int { return comparePrereleases(preSelf, preOther) } + segmentsSelf := v.Segments64() + segmentsOther := other.Segments64() // Get the highest specificity (hS), or if they're equal, just use segmentSelf length lenSelf := len(segmentsSelf) lenOther := len(segmentsOther) @@ -160,7 +162,7 @@ func (v *Version) Compare(other *Version) int { // this means Other had the lower specificity // Check to see if the remaining segments in Self are all zeros - if !allZero(segmentsSelf[i:]) { - //if not, it means that Self has to be greater than Other + // if not, it means that Self has to be greater than Other return 1 } break @@ -180,6 +182,21 @@ func (v *Version) Compare(other *Version) int { return 0 } +func (v *Version) equalSegments(other *Version) bool { + segmentsSelf := v.Segments64() + segmentsOther := other.Segments64() + + if len(segmentsSelf) != len(segmentsOther) { + return false + } + for i, v := range segmentsSelf { + if v != segmentsOther[i] { + return false + } + } + return true +} + func allZero(segs []int64) bool { for _, s := range segs { if s != 0 { @@ -405,3 +422,20 @@ func (v *Version) UnmarshalText(b []byte) error { func (v *Version) MarshalText() ([]byte, error) { return []byte(v.String()), nil } + +// Scan implements the sql.Scanner interface. +func (v *Version) Scan(src interface{}) error { + switch src := src.(type) { + case string: + return v.UnmarshalText([]byte(src)) + case nil: + return nil + default: + return fmt.Errorf("cannot scan %T as Version", src) + } +} + +// Value implements the driver.Valuer interface. +func (v *Version) Value() (driver.Value, error) { + return v.String(), nil +} diff --git a/vendor/github.com/hashicorp/go-version/version_collection.go b/vendor/github.com/hashicorp/go-version/version_collection.go index cc888d43e..83547fe13 100644 --- a/vendor/github.com/hashicorp/go-version/version_collection.go +++ b/vendor/github.com/hashicorp/go-version/version_collection.go @@ -1,3 +1,6 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + package version // Collection is a type that implements the sort.Interface interface diff --git a/vendor/github.com/prometheus/common/config/config.go b/vendor/github.com/prometheus/common/config/config.go index 3da4854d0..7588da555 100644 --- a/vendor/github.com/prometheus/common/config/config.go +++ b/vendor/github.com/prometheus/common/config/config.go @@ -60,9 +60,9 @@ func (s Secret) MarshalJSON() ([]byte, error) { return json.Marshal(secretToken) } -type Header map[string][]Secret +type ProxyHeader map[string][]Secret -func (h *Header) HTTPHeader() http.Header { +func (h *ProxyHeader) HTTPHeader() http.Header { if h == nil || *h == nil { return nil } diff --git a/vendor/github.com/prometheus/common/config/headers.go b/vendor/github.com/prometheus/common/config/headers.go new file mode 100644 index 000000000..7c3149eb3 --- /dev/null +++ b/vendor/github.com/prometheus/common/config/headers.go @@ -0,0 +1,134 @@ +// Copyright 2024 The Prometheus Authors +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// This package no longer handles safe yaml parsing. In order to +// ensure correct yaml unmarshalling, use "yaml.UnmarshalStrict()". + +package config + +import ( + "fmt" + "net/http" + "os" + "strings" +) + +// reservedHeaders that change the connection, are set by Prometheus, or can +// be changed otherwise. +var reservedHeaders = map[string]struct{}{ + "Authorization": {}, + "Host": {}, + "Content-Encoding": {}, + "Content-Length": {}, + "Content-Type": {}, + "User-Agent": {}, + "Connection": {}, + "Keep-Alive": {}, + "Proxy-Authenticate": {}, + "Proxy-Authorization": {}, + "Www-Authenticate": {}, + "Accept-Encoding": {}, + "X-Prometheus-Remote-Write-Version": {}, + "X-Prometheus-Remote-Read-Version": {}, + "X-Prometheus-Scrape-Timeout-Seconds": {}, + + // Added by SigV4. + "X-Amz-Date": {}, + "X-Amz-Security-Token": {}, + "X-Amz-Content-Sha256": {}, +} + +// Headers represents the configuration for HTTP headers. +type Headers struct { + Headers map[string]Header `yaml:",inline" json:",inline"` + dir string +} + +// Headers represents the configuration for HTTP headers. +type Header struct { + Values []string `yaml:"values,omitempty" json:"values,omitempty"` + Secrets []Secret `yaml:"secrets,omitempty" json:"secrets,omitempty"` + Files []string `yaml:"files,omitempty" json:"files,omitempty"` +} + +// SetDirectory records the directory to make headers file relative to the +// configuration file. +func (h *Headers) SetDirectory(dir string) { + if h == nil { + return + } + h.dir = dir +} + +// Validate validates the Headers config. +func (h *Headers) Validate() error { + for n, header := range h.Headers { + if _, ok := reservedHeaders[http.CanonicalHeaderKey(n)]; ok { + return fmt.Errorf("setting header %q is not allowed", http.CanonicalHeaderKey(n)) + } + for _, v := range header.Files { + f := JoinDir(h.dir, v) + _, err := os.ReadFile(f) + if err != nil { + return fmt.Errorf("unable to read header %q from file %s: %w", http.CanonicalHeaderKey(n), f, err) + } + } + } + return nil +} + +// NewHeadersRoundTripper returns a RoundTripper that sets HTTP headers on +// requests as configured. +func NewHeadersRoundTripper(config *Headers, next http.RoundTripper) http.RoundTripper { + if len(config.Headers) == 0 { + return next + } + return &headersRoundTripper{ + config: config, + next: next, + } +} + +type headersRoundTripper struct { + next http.RoundTripper + config *Headers +} + +// RoundTrip implements http.RoundTripper. +func (rt *headersRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { + req = cloneRequest(req) + for n, h := range rt.config.Headers { + for _, v := range h.Values { + req.Header.Add(n, v) + } + for _, v := range h.Secrets { + req.Header.Add(n, string(v)) + } + for _, v := range h.Files { + f := JoinDir(rt.config.dir, v) + b, err := os.ReadFile(f) + if err != nil { + return nil, fmt.Errorf("unable to read headers file %s: %w", f, err) + } + req.Header.Add(n, strings.TrimSpace(string(b))) + } + } + return rt.next.RoundTrip(req) +} + +// CloseIdleConnections implements closeIdler. +func (rt *headersRoundTripper) CloseIdleConnections() { + if ci, ok := rt.next.(closeIdler); ok { + ci.CloseIdleConnections() + } +} diff --git a/vendor/github.com/prometheus/common/config/http_config.go b/vendor/github.com/prometheus/common/config/http_config.go index 204418184..75e38bb8e 100644 --- a/vendor/github.com/prometheus/common/config/http_config.go +++ b/vendor/github.com/prometheus/common/config/http_config.go @@ -20,6 +20,7 @@ import ( "crypto/tls" "crypto/x509" "encoding/json" + "errors" "fmt" "net" "net/http" @@ -130,8 +131,12 @@ func (tv *TLSVersion) String() string { type BasicAuth struct { Username string `yaml:"username" json:"username"` UsernameFile string `yaml:"username_file,omitempty" json:"username_file,omitempty"` + // UsernameRef is the name of the secret within the secret manager to use as the username. + UsernameRef string `yaml:"username_ref,omitempty" json:"username_ref,omitempty"` Password Secret `yaml:"password,omitempty" json:"password,omitempty"` PasswordFile string `yaml:"password_file,omitempty" json:"password_file,omitempty"` + // PasswordRef is the name of the secret within the secret manager to use as the password. + PasswordRef string `yaml:"password_ref,omitempty" json:"password_ref,omitempty"` } // SetDirectory joins any relative file paths with dir. @@ -148,6 +153,8 @@ type Authorization struct { Type string `yaml:"type,omitempty" json:"type,omitempty"` Credentials Secret `yaml:"credentials,omitempty" json:"credentials,omitempty"` CredentialsFile string `yaml:"credentials_file,omitempty" json:"credentials_file,omitempty"` + // CredentialsRef is the name of the secret within the secret manager to use as credentials. + CredentialsRef string `yaml:"credentials_ref,omitempty" json:"credentials_ref,omitempty"` } // SetDirectory joins any relative file paths with dir. @@ -224,14 +231,17 @@ func (u URL) MarshalJSON() ([]byte, error) { // OAuth2 is the oauth2 client configuration. type OAuth2 struct { - ClientID string `yaml:"client_id" json:"client_id"` - ClientSecret Secret `yaml:"client_secret" json:"client_secret"` - ClientSecretFile string `yaml:"client_secret_file" json:"client_secret_file"` - Scopes []string `yaml:"scopes,omitempty" json:"scopes,omitempty"` - TokenURL string `yaml:"token_url" json:"token_url"` - EndpointParams map[string]string `yaml:"endpoint_params,omitempty" json:"endpoint_params,omitempty"` - TLSConfig TLSConfig `yaml:"tls_config,omitempty"` - ProxyConfig `yaml:",inline"` + ClientID string `yaml:"client_id" json:"client_id"` + ClientSecret Secret `yaml:"client_secret" json:"client_secret"` + ClientSecretFile string `yaml:"client_secret_file" json:"client_secret_file"` + // ClientSecretRef is the name of the secret within the secret manager to use as the client + // secret. + ClientSecretRef string `yaml:"client_secret_ref" json:"client_secret_ref"` + Scopes []string `yaml:"scopes,omitempty" json:"scopes,omitempty"` + TokenURL string `yaml:"token_url" json:"token_url"` + EndpointParams map[string]string `yaml:"endpoint_params,omitempty" json:"endpoint_params,omitempty"` + TLSConfig TLSConfig `yaml:"tls_config,omitempty"` + ProxyConfig `yaml:",inline"` } // UnmarshalYAML implements the yaml.Unmarshaler interface @@ -253,12 +263,12 @@ func (o *OAuth2) UnmarshalJSON(data []byte) error { } // SetDirectory joins any relative file paths with dir. -func (a *OAuth2) SetDirectory(dir string) { - if a == nil { +func (o *OAuth2) SetDirectory(dir string) { + if o == nil { return } - a.ClientSecretFile = JoinDir(dir, a.ClientSecretFile) - a.TLSConfig.SetDirectory(dir) + o.ClientSecretFile = JoinDir(dir, o.ClientSecretFile) + o.TLSConfig.SetDirectory(dir) } // LoadHTTPConfig parses the YAML input s into a HTTPClientConfig. @@ -311,6 +321,9 @@ type HTTPClientConfig struct { EnableHTTP2 bool `yaml:"enable_http2" json:"enable_http2"` // Proxy configuration. ProxyConfig `yaml:",inline"` + // HTTPHeaders specify headers to inject in the requests. Those headers + // could be marshalled back to the users. + HTTPHeaders *Headers `yaml:"http_headers" json:"http_headers"` } // SetDirectory joins any relative file paths with dir. @@ -322,9 +335,22 @@ func (c *HTTPClientConfig) SetDirectory(dir string) { c.BasicAuth.SetDirectory(dir) c.Authorization.SetDirectory(dir) c.OAuth2.SetDirectory(dir) + c.HTTPHeaders.SetDirectory(dir) c.BearerTokenFile = JoinDir(dir, c.BearerTokenFile) } +// nonZeroCount returns the amount of values that are non-zero. +func nonZeroCount[T comparable](values ...T) int { + count := 0 + var zero T + for _, value := range values { + if value != zero { + count += 1 + } + } + return count +} + // Validate validates the HTTPClientConfig to check only one of BearerToken, // BasicAuth and BearerTokenFile is configured. It also validates that ProxyURL // is set if ProxyConnectHeader is set. @@ -336,17 +362,17 @@ func (c *HTTPClientConfig) Validate() error { if (c.BasicAuth != nil || c.OAuth2 != nil) && (len(c.BearerToken) > 0 || len(c.BearerTokenFile) > 0) { return fmt.Errorf("at most one of basic_auth, oauth2, bearer_token & bearer_token_file must be configured") } - if c.BasicAuth != nil && (string(c.BasicAuth.Username) != "" && c.BasicAuth.UsernameFile != "") { - return fmt.Errorf("at most one of basic_auth username & username_file must be configured") + if c.BasicAuth != nil && nonZeroCount(string(c.BasicAuth.Username) != "", c.BasicAuth.UsernameFile != "", c.BasicAuth.UsernameRef != "") > 1 { + return fmt.Errorf("at most one of basic_auth username, username_file & username_ref must be configured") } - if c.BasicAuth != nil && (string(c.BasicAuth.Password) != "" && c.BasicAuth.PasswordFile != "") { - return fmt.Errorf("at most one of basic_auth password & password_file must be configured") + if c.BasicAuth != nil && nonZeroCount(string(c.BasicAuth.Password) != "", c.BasicAuth.PasswordFile != "", c.BasicAuth.PasswordRef != "") > 1 { + return fmt.Errorf("at most one of basic_auth password, password_file & password_ref must be configured") } if c.Authorization != nil { if len(c.BearerToken) > 0 || len(c.BearerTokenFile) > 0 { return fmt.Errorf("authorization is not compatible with bearer_token & bearer_token_file") } - if string(c.Authorization.Credentials) != "" && c.Authorization.CredentialsFile != "" { + if nonZeroCount(string(c.Authorization.Credentials) != "", c.Authorization.CredentialsFile != "", c.Authorization.CredentialsRef != "") > 1 { return fmt.Errorf("at most one of authorization credentials & credentials_file must be configured") } c.Authorization.Type = strings.TrimSpace(c.Authorization.Type) @@ -381,13 +407,18 @@ func (c *HTTPClientConfig) Validate() error { if len(c.OAuth2.TokenURL) == 0 { return fmt.Errorf("oauth2 token_url must be configured") } - if len(c.OAuth2.ClientSecret) > 0 && len(c.OAuth2.ClientSecretFile) > 0 { - return fmt.Errorf("at most one of oauth2 client_secret & client_secret_file must be configured") + if nonZeroCount(len(c.OAuth2.ClientSecret) > 0, len(c.OAuth2.ClientSecretFile) > 0, len(c.OAuth2.ClientSecretRef) > 0) > 1 { + return fmt.Errorf("at most one of oauth2 client_secret, client_secret_file & client_secret_ref must be configured") } } if err := c.ProxyConfig.Validate(); err != nil { return err } + if c.HTTPHeaders != nil { + if err := c.HTTPHeaders.Validate(); err != nil { + return err + } + } return nil } @@ -428,50 +459,78 @@ type httpClientOptions struct { idleConnTimeout time.Duration userAgent string host string + secretManager SecretManager } // HTTPClientOption defines an option that can be applied to the HTTP client. -type HTTPClientOption func(options *httpClientOptions) +type HTTPClientOption interface { + applyToHTTPClientOptions(options *httpClientOptions) +} + +type httpClientOptionFunc func(options *httpClientOptions) + +func (f httpClientOptionFunc) applyToHTTPClientOptions(options *httpClientOptions) { + f(options) +} // WithDialContextFunc allows you to override func gets used for the actual dialing. The default is `net.Dialer.DialContext`. func WithDialContextFunc(fn DialContextFunc) HTTPClientOption { - return func(opts *httpClientOptions) { + return httpClientOptionFunc(func(opts *httpClientOptions) { opts.dialContextFunc = fn - } + }) } // WithKeepAlivesDisabled allows to disable HTTP keepalive. func WithKeepAlivesDisabled() HTTPClientOption { - return func(opts *httpClientOptions) { + return httpClientOptionFunc(func(opts *httpClientOptions) { opts.keepAlivesEnabled = false - } + }) } // WithHTTP2Disabled allows to disable HTTP2. func WithHTTP2Disabled() HTTPClientOption { - return func(opts *httpClientOptions) { + return httpClientOptionFunc(func(opts *httpClientOptions) { opts.http2Enabled = false - } + }) } // WithIdleConnTimeout allows setting the idle connection timeout. func WithIdleConnTimeout(timeout time.Duration) HTTPClientOption { - return func(opts *httpClientOptions) { + return httpClientOptionFunc(func(opts *httpClientOptions) { opts.idleConnTimeout = timeout - } + }) } // WithUserAgent allows setting the user agent. func WithUserAgent(ua string) HTTPClientOption { - return func(opts *httpClientOptions) { + return httpClientOptionFunc(func(opts *httpClientOptions) { opts.userAgent = ua - } + }) } // WithHost allows setting the host header. func WithHost(host string) HTTPClientOption { - return func(opts *httpClientOptions) { + return httpClientOptionFunc(func(opts *httpClientOptions) { opts.host = host + }) +} + +type secretManagerOption struct { + secretManager SecretManager +} + +func (s *secretManagerOption) applyToHTTPClientOptions(opts *httpClientOptions) { + opts.secretManager = s.secretManager +} + +func (s *secretManagerOption) applyToTLSConfigOptions(opts *tlsConfigOptions) { + opts.secretManager = s.secretManager +} + +// WithSecretManager allows setting the secret manager. +func WithSecretManager(manager SecretManager) *secretManagerOption { + return &secretManagerOption{ + secretManager: manager, } } @@ -501,9 +560,16 @@ func NewClientFromConfig(cfg HTTPClientConfig, name string, optFuncs ...HTTPClie // given config.HTTPClientConfig and config.HTTPClientOption. // The name is used as go-conntrack metric label. func NewRoundTripperFromConfig(cfg HTTPClientConfig, name string, optFuncs ...HTTPClientOption) (http.RoundTripper, error) { + return NewRoundTripperFromConfigWithContext(context.Background(), cfg, name, optFuncs...) +} + +// NewRoundTripperFromConfigWithContext returns a new HTTP RoundTripper configured for the +// given config.HTTPClientConfig and config.HTTPClientOption. +// The name is used as go-conntrack metric label. +func NewRoundTripperFromConfigWithContext(ctx context.Context, cfg HTTPClientConfig, name string, optFuncs ...HTTPClientOption) (http.RoundTripper, error) { opts := defaultHTTPClientOptions - for _, f := range optFuncs { - f(&opts) + for _, opt := range optFuncs { + opt.applyToHTTPClientOptions(&opts) } var dialContext func(ctx context.Context, network, addr string) (net.Conn, error) @@ -551,25 +617,45 @@ func NewRoundTripperFromConfig(cfg HTTPClientConfig, name string, optFuncs ...HT // If a authorization_credentials is provided, create a round tripper that will set the // Authorization header correctly on each request. - if cfg.Authorization != nil && len(cfg.Authorization.CredentialsFile) > 0 { - rt = NewAuthorizationCredentialsFileRoundTripper(cfg.Authorization.Type, cfg.Authorization.CredentialsFile, rt) - } else if cfg.Authorization != nil { - rt = NewAuthorizationCredentialsRoundTripper(cfg.Authorization.Type, cfg.Authorization.Credentials, rt) + if cfg.Authorization != nil { + credentialsSecret, err := toSecret(opts.secretManager, cfg.Authorization.Credentials, cfg.Authorization.CredentialsFile, cfg.Authorization.CredentialsRef) + if err != nil { + return nil, fmt.Errorf("unable to use credentials: %w", err) + } + rt = NewAuthorizationCredentialsRoundTripper(cfg.Authorization.Type, credentialsSecret, rt) } // Backwards compatibility, be nice with importers who would not have // called Validate(). - if len(cfg.BearerToken) > 0 { - rt = NewAuthorizationCredentialsRoundTripper("Bearer", cfg.BearerToken, rt) - } else if len(cfg.BearerTokenFile) > 0 { - rt = NewAuthorizationCredentialsFileRoundTripper("Bearer", cfg.BearerTokenFile, rt) + if len(cfg.BearerToken) > 0 || len(cfg.BearerTokenFile) > 0 { + bearerSecret, err := toSecret(opts.secretManager, cfg.BearerToken, cfg.BearerTokenFile, "") + if err != nil { + return nil, fmt.Errorf("unable to use bearer token: %w", err) + } + rt = NewAuthorizationCredentialsRoundTripper("Bearer", bearerSecret, rt) } if cfg.BasicAuth != nil { - rt = NewBasicAuthRoundTripper(cfg.BasicAuth.Username, cfg.BasicAuth.Password, cfg.BasicAuth.UsernameFile, cfg.BasicAuth.PasswordFile, rt) + usernameSecret, err := toSecret(opts.secretManager, Secret(cfg.BasicAuth.Username), cfg.BasicAuth.UsernameFile, cfg.BasicAuth.UsernameRef) + if err != nil { + return nil, fmt.Errorf("unable to use username: %w", err) + } + passwordSecret, err := toSecret(opts.secretManager, cfg.BasicAuth.Password, cfg.BasicAuth.PasswordFile, cfg.BasicAuth.PasswordRef) + if err != nil { + return nil, fmt.Errorf("unable to use password: %w", err) + } + rt = NewBasicAuthRoundTripper(usernameSecret, passwordSecret, rt) } if cfg.OAuth2 != nil { - rt = NewOAuth2RoundTripper(cfg.OAuth2, rt, &opts) + clientSecret, err := toSecret(opts.secretManager, cfg.OAuth2.ClientSecret, cfg.OAuth2.ClientSecretFile, cfg.OAuth2.ClientSecretRef) + if err != nil { + return nil, fmt.Errorf("unable to use client secret: %w", err) + } + rt = NewOAuth2RoundTripper(clientSecret, cfg.OAuth2, rt, &opts) + } + + if cfg.HTTPHeaders != nil { + rt = NewHeadersRoundTripper(cfg.HTTPHeaders, rt) } if opts.userAgent != "" { @@ -584,35 +670,143 @@ func NewRoundTripperFromConfig(cfg HTTPClientConfig, name string, optFuncs ...HT return rt, nil } - tlsConfig, err := NewTLSConfig(&cfg.TLSConfig) + tlsConfig, err := NewTLSConfig(&cfg.TLSConfig, WithSecretManager(opts.secretManager)) if err != nil { return nil, err } - if len(cfg.TLSConfig.CAFile) == 0 { + tlsSettings, err := cfg.TLSConfig.roundTripperSettings(opts.secretManager) + if err != nil { + return nil, err + } + if tlsSettings.CA == nil || tlsSettings.CA.immutable() { // No need for a RoundTripper that reloads the CA file automatically. return newRT(tlsConfig) } - return NewTLSRoundTripper(tlsConfig, cfg.TLSConfig.roundTripperSettings(), newRT) + return NewTLSRoundTripperWithContext(ctx, tlsConfig, tlsSettings, newRT) +} + +// SecretManager manages secret data mapped to names known as "references" or "refs". +type SecretManager interface { + // Fetch returns the secret data given a secret name indicated by `secretRef`. + Fetch(ctx context.Context, secretRef string) (string, error) +} + +type secret interface { + fetch(ctx context.Context) (string, error) + description() string + immutable() bool +} + +type inlineSecret struct { + text string +} + +func (s *inlineSecret) fetch(context.Context) (string, error) { + return s.text, nil +} + +func (s *inlineSecret) description() string { + return "inline" +} + +func (s *inlineSecret) immutable() bool { + return true +} + +type fileSecret struct { + file string +} + +func (s *fileSecret) fetch(ctx context.Context) (string, error) { + fileBytes, err := os.ReadFile(s.file) + if err != nil { + return "", fmt.Errorf("unable to read file %s: %w", s.file, err) + } + return strings.TrimSpace(string(fileBytes)), nil +} + +func (s *fileSecret) description() string { + return fmt.Sprintf("file %s", s.file) +} + +func (s *fileSecret) immutable() bool { + return false +} + +// refSecret fetches a single secret from a secret manager. +type refSecret struct { + ref string + manager SecretManager // manager is expected to be not nil. +} + +func (s *refSecret) fetch(ctx context.Context) (string, error) { + return s.manager.Fetch(ctx, s.ref) +} + +func (s *refSecret) description() string { + return fmt.Sprintf("ref %s", s.ref) +} + +func (s *refSecret) immutable() bool { + return false +} + +// toSecret returns a secret from one of the given sources, assuming exactly +// one or none of the sources are provided. +func toSecret(secretManager SecretManager, text Secret, file, ref string) (secret, error) { + if text != "" { + return &inlineSecret{ + text: string(text), + }, nil + } + if file != "" { + return &fileSecret{ + file: file, + }, nil + } + if ref != "" { + if secretManager == nil { + return nil, errors.New("cannot use secret ref without manager") + } + return &refSecret{ + ref: ref, + manager: secretManager, + }, nil + } + return nil, nil } type authorizationCredentialsRoundTripper struct { authType string - authCredentials Secret + authCredentials secret rt http.RoundTripper } -// NewAuthorizationCredentialsRoundTripper adds the provided credentials to a -// request unless the authorization header has already been set. -func NewAuthorizationCredentialsRoundTripper(authType string, authCredentials Secret, rt http.RoundTripper) http.RoundTripper { +// NewAuthorizationCredentialsRoundTripper adds the authorization credentials +// read from the provided secret to a request unless the authorization header +// has already been set. +func NewAuthorizationCredentialsRoundTripper(authType string, authCredentials secret, rt http.RoundTripper) http.RoundTripper { return &authorizationCredentialsRoundTripper{authType, authCredentials, rt} } func (rt *authorizationCredentialsRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { - if len(req.Header.Get("Authorization")) == 0 { - req = cloneRequest(req) - req.Header.Set("Authorization", fmt.Sprintf("%s %s", rt.authType, string(rt.authCredentials))) + if len(req.Header.Get("Authorization")) != 0 { + return rt.rt.RoundTrip(req) } + + var authCredentials string + if rt.authCredentials != nil { + var err error + authCredentials, err = rt.authCredentials.fetch(req.Context()) + if err != nil { + return nil, fmt.Errorf("unable to read authorization credentials: %w", err) + } + } + + req = cloneRequest(req) + req.Header.Set("Authorization", fmt.Sprintf("%s %s", rt.authType, authCredentials)) + return rt.rt.RoundTrip(req) } @@ -622,77 +816,37 @@ func (rt *authorizationCredentialsRoundTripper) CloseIdleConnections() { } } -type authorizationCredentialsFileRoundTripper struct { - authType string - authCredentialsFile string - rt http.RoundTripper -} - -// NewAuthorizationCredentialsFileRoundTripper adds the authorization -// credentials read from the provided file to a request unless the authorization -// header has already been set. This file is read for every request. -func NewAuthorizationCredentialsFileRoundTripper(authType, authCredentialsFile string, rt http.RoundTripper) http.RoundTripper { - return &authorizationCredentialsFileRoundTripper{authType, authCredentialsFile, rt} -} - -func (rt *authorizationCredentialsFileRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { - if len(req.Header.Get("Authorization")) == 0 { - b, err := os.ReadFile(rt.authCredentialsFile) - if err != nil { - return nil, fmt.Errorf("unable to read authorization credentials file %s: %w", rt.authCredentialsFile, err) - } - authCredentials := strings.TrimSpace(string(b)) - - req = cloneRequest(req) - req.Header.Set("Authorization", fmt.Sprintf("%s %s", rt.authType, authCredentials)) - } - - return rt.rt.RoundTrip(req) -} - -func (rt *authorizationCredentialsFileRoundTripper) CloseIdleConnections() { - if ci, ok := rt.rt.(closeIdler); ok { - ci.CloseIdleConnections() - } -} - type basicAuthRoundTripper struct { - username string - password Secret - usernameFile string - passwordFile string - rt http.RoundTripper + username secret + password secret + rt http.RoundTripper } // NewBasicAuthRoundTripper will apply a BASIC auth authorization header to a request unless it has // already been set. -func NewBasicAuthRoundTripper(username string, password Secret, usernameFile, passwordFile string, rt http.RoundTripper) http.RoundTripper { - return &basicAuthRoundTripper{username, password, usernameFile, passwordFile, rt} +func NewBasicAuthRoundTripper(username secret, password secret, rt http.RoundTripper) http.RoundTripper { + return &basicAuthRoundTripper{username, password, rt} } func (rt *basicAuthRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { - var username string - var password string if len(req.Header.Get("Authorization")) != 0 { return rt.rt.RoundTrip(req) } - if rt.usernameFile != "" { - usernameBytes, err := os.ReadFile(rt.usernameFile) + var username string + var password string + if rt.username != nil { + var err error + username, err = rt.username.fetch(req.Context()) if err != nil { - return nil, fmt.Errorf("unable to read basic auth username file %s: %w", rt.usernameFile, err) + return nil, fmt.Errorf("unable to read basic auth username: %w", err) } - username = strings.TrimSpace(string(usernameBytes)) - } else { - username = rt.username } - if rt.passwordFile != "" { - passwordBytes, err := os.ReadFile(rt.passwordFile) + if rt.password != nil { + var err error + password, err = rt.password.fetch(req.Context()) if err != nil { - return nil, fmt.Errorf("unable to read basic auth password file %s: %w", rt.passwordFile, err) + return nil, fmt.Errorf("unable to read basic auth password: %w", err) } - password = strings.TrimSpace(string(passwordBytes)) - } else { - password = string(rt.password) } req = cloneRequest(req) req.SetBasicAuth(username, password) @@ -706,104 +860,118 @@ func (rt *basicAuthRoundTripper) CloseIdleConnections() { } type oauth2RoundTripper struct { - config *OAuth2 - rt http.RoundTripper - next http.RoundTripper - secret string - mtx sync.RWMutex - opts *httpClientOptions - client *http.Client + mtx sync.RWMutex + lastRT *oauth2.Transport + lastSecret string + + // Required for interaction with Oauth2 server. + config *OAuth2 + clientSecret secret + opts *httpClientOptions + client *http.Client } -func NewOAuth2RoundTripper(config *OAuth2, next http.RoundTripper, opts *httpClientOptions) http.RoundTripper { +func NewOAuth2RoundTripper(clientSecret secret, config *OAuth2, next http.RoundTripper, opts *httpClientOptions) http.RoundTripper { + if clientSecret == nil { + clientSecret = &inlineSecret{text: ""} + } + return &oauth2RoundTripper{ config: config, - next: next, - opts: opts, + // A correct tokenSource will be added later on. + lastRT: &oauth2.Transport{Base: next}, + opts: opts, + clientSecret: clientSecret, } } +func (rt *oauth2RoundTripper) newOauth2TokenSource(req *http.Request, secret string) (client *http.Client, source oauth2.TokenSource, err error) { + tlsConfig, err := NewTLSConfig(&rt.config.TLSConfig, WithSecretManager(rt.opts.secretManager)) + if err != nil { + return nil, nil, err + } + + tlsTransport := func(tlsConfig *tls.Config) (http.RoundTripper, error) { + return &http.Transport{ + TLSClientConfig: tlsConfig, + Proxy: rt.config.ProxyConfig.Proxy(), + ProxyConnectHeader: rt.config.ProxyConfig.GetProxyConnectHeader(), + DisableKeepAlives: !rt.opts.keepAlivesEnabled, + MaxIdleConns: 20, + MaxIdleConnsPerHost: 1, // see https://github.com/golang/go/issues/13801 + IdleConnTimeout: 10 * time.Second, + TLSHandshakeTimeout: 10 * time.Second, + ExpectContinueTimeout: 1 * time.Second, + }, nil + } + + var t http.RoundTripper + tlsSettings, err := rt.config.TLSConfig.roundTripperSettings(rt.opts.secretManager) + if err != nil { + return nil, nil, err + } + if tlsSettings.CA == nil || tlsSettings.CA.immutable() { + t, _ = tlsTransport(tlsConfig) + } else { + t, err = NewTLSRoundTripperWithContext(req.Context(), tlsConfig, tlsSettings, tlsTransport) + if err != nil { + return nil, nil, err + } + } + + if ua := req.UserAgent(); ua != "" { + t = NewUserAgentRoundTripper(ua, t) + } + + config := &clientcredentials.Config{ + ClientID: rt.config.ClientID, + ClientSecret: secret, + Scopes: rt.config.Scopes, + TokenURL: rt.config.TokenURL, + EndpointParams: mapToValues(rt.config.EndpointParams), + } + client = &http.Client{Transport: t} + ctx := context.WithValue(context.Background(), oauth2.HTTPClient, client) + return client, config.TokenSource(ctx), nil +} + func (rt *oauth2RoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { var ( - secret string - changed bool + secret string + needsInit bool ) - if rt.config.ClientSecretFile != "" { - data, err := os.ReadFile(rt.config.ClientSecretFile) + rt.mtx.RLock() + secret = rt.lastSecret + needsInit = rt.lastRT.Source == nil + rt.mtx.RUnlock() + + // Fetch the secret if it's our first run or always if the secret can change. + if !rt.clientSecret.immutable() || needsInit { + newSecret, err := rt.clientSecret.fetch(req.Context()) if err != nil { - return nil, fmt.Errorf("unable to read oauth2 client secret file %s: %w", rt.config.ClientSecretFile, err) + return nil, fmt.Errorf("unable to read oauth2 client secret: %w", err) } - secret = strings.TrimSpace(string(data)) - rt.mtx.RLock() - changed = secret != rt.secret - rt.mtx.RUnlock() - } else { - // Either an inline secret or nothing (use an empty string) was provided. - secret = string(rt.config.ClientSecret) - } - - if changed || rt.rt == nil { - config := &clientcredentials.Config{ - ClientID: rt.config.ClientID, - ClientSecret: secret, - Scopes: rt.config.Scopes, - TokenURL: rt.config.TokenURL, - EndpointParams: mapToValues(rt.config.EndpointParams), - } - - tlsConfig, err := NewTLSConfig(&rt.config.TLSConfig) - if err != nil { - return nil, err - } - - tlsTransport := func(tlsConfig *tls.Config) (http.RoundTripper, error) { - return &http.Transport{ - TLSClientConfig: tlsConfig, - Proxy: rt.config.ProxyConfig.Proxy(), - ProxyConnectHeader: rt.config.ProxyConfig.GetProxyConnectHeader(), - DisableKeepAlives: !rt.opts.keepAlivesEnabled, - MaxIdleConns: 20, - MaxIdleConnsPerHost: 1, // see https://github.com/golang/go/issues/13801 - IdleConnTimeout: 10 * time.Second, - TLSHandshakeTimeout: 10 * time.Second, - ExpectContinueTimeout: 1 * time.Second, - }, nil - } - - var t http.RoundTripper - if len(rt.config.TLSConfig.CAFile) == 0 { - t, _ = tlsTransport(tlsConfig) - } else { - t, err = NewTLSRoundTripper(tlsConfig, rt.config.TLSConfig.roundTripperSettings(), tlsTransport) + if newSecret != secret || needsInit { + // Secret changed or it's a first run. Rebuilt oauth2 setup. + client, source, err := rt.newOauth2TokenSource(req, newSecret) if err != nil { return nil, err } - } - if ua := req.UserAgent(); ua != "" { - t = NewUserAgentRoundTripper(ua, t) + rt.mtx.Lock() + rt.lastSecret = secret + rt.lastRT.Source = source + if rt.client != nil { + rt.client.CloseIdleConnections() + } + rt.client = client + rt.mtx.Unlock() } - - client := &http.Client{Transport: t} - ctx := context.WithValue(context.Background(), oauth2.HTTPClient, client) - tokenSource := config.TokenSource(ctx) - - rt.mtx.Lock() - rt.secret = secret - rt.rt = &oauth2.Transport{ - Base: rt.next, - Source: tokenSource, - } - if rt.client != nil { - rt.client.CloseIdleConnections() - } - rt.client = client - rt.mtx.Unlock() } rt.mtx.RLock() - currentRT := rt.rt + currentRT := rt.lastRT rt.mtx.RUnlock() return currentRT.RoundTrip(req) } @@ -812,7 +980,7 @@ func (rt *oauth2RoundTripper) CloseIdleConnections() { if rt.client != nil { rt.client.CloseIdleConnections() } - if ci, ok := rt.next.(closeIdler); ok { + if ci, ok := rt.lastRT.Base.(closeIdler); ok { ci.CloseIdleConnections() } } @@ -840,8 +1008,27 @@ func cloneRequest(r *http.Request) *http.Request { return r2 } +type tlsConfigOptions struct { + secretManager SecretManager +} + +// TLSConfigOption defines an option that can be applied to the HTTP client. +type TLSConfigOption interface { + applyToTLSConfigOptions(options *tlsConfigOptions) +} + // NewTLSConfig creates a new tls.Config from the given TLSConfig. -func NewTLSConfig(cfg *TLSConfig) (*tls.Config, error) { +func NewTLSConfig(cfg *TLSConfig, optFuncs ...TLSConfigOption) (*tls.Config, error) { + return NewTLSConfigWithContext(context.Background(), cfg, optFuncs...) +} + +// NewTLSConfigWithContext creates a new tls.Config from the given TLSConfig. +func NewTLSConfigWithContext(ctx context.Context, cfg *TLSConfig, optFuncs ...TLSConfigOption) (*tls.Config, error) { + opts := tlsConfigOptions{} + for _, opt := range optFuncs { + opt.applyToTLSConfigOptions(&opts) + } + if err := cfg.Validate(); err != nil { return nil, err } @@ -860,17 +1047,17 @@ func NewTLSConfig(cfg *TLSConfig) (*tls.Config, error) { // If a CA cert is provided then let's read it in so we can validate the // scrape target's certificate properly. - if len(cfg.CA) > 0 { - if !updateRootCA(tlsConfig, []byte(cfg.CA)) { - return nil, fmt.Errorf("unable to use inline CA cert") - } - } else if len(cfg.CAFile) > 0 { - b, err := readCAFile(cfg.CAFile) + caSecret, err := toSecret(opts.secretManager, Secret(cfg.CA), cfg.CAFile, cfg.CARef) + if err != nil { + return nil, fmt.Errorf("unable to use CA cert: %w", err) + } + if caSecret != nil { + ca, err := caSecret.fetch(ctx) if err != nil { - return nil, err + return nil, fmt.Errorf("unable to read CA cert: %w", err) } - if !updateRootCA(tlsConfig, b) { - return nil, fmt.Errorf("unable to use specified CA cert %s", cfg.CAFile) + if !updateRootCA(tlsConfig, []byte(ca)) { + return nil, fmt.Errorf("unable to use specified CA cert %s", caSecret.description()) } } @@ -881,10 +1068,16 @@ func NewTLSConfig(cfg *TLSConfig) (*tls.Config, error) { // If a client cert & key is provided then configure TLS config accordingly. if cfg.usingClientCert() && cfg.usingClientKey() { // Verify that client cert and key are valid. - if _, err := cfg.getClientCertificate(nil); err != nil { + if _, err := cfg.getClientCertificate(ctx, opts.secretManager); err != nil { return nil, err } - tlsConfig.GetClientCertificate = cfg.getClientCertificate + tlsConfig.GetClientCertificate = func(cri *tls.CertificateRequestInfo) (*tls.Certificate, error) { + var ctx context.Context + if cri != nil { + ctx = cri.Context() + } + return cfg.getClientCertificate(ctx, opts.secretManager) + } } return tlsConfig, nil @@ -904,6 +1097,15 @@ type TLSConfig struct { CertFile string `yaml:"cert_file,omitempty" json:"cert_file,omitempty"` // The client key file for the targets. KeyFile string `yaml:"key_file,omitempty" json:"key_file,omitempty"` + // CARef is the name of the secret within the secret manager to use as the CA cert for the + // targets. + CARef string `yaml:"ca_ref,omitempty" json:"ca_ref,omitempty"` + // CertRef is the name of the secret within the secret manager to use as the client cert for + // the targets. + CertRef string `yaml:"cert_ref,omitempty" json:"cert_ref,omitempty"` + // KeyRef is the name of the secret within the secret manager to use as the client key for + // the targets. + KeyRef string `yaml:"key_ref,omitempty" json:"key_ref,omitempty"` // Used to verify the hostname for the targets. ServerName string `yaml:"server_name,omitempty" json:"server_name,omitempty"` // Disable target certificate validation. @@ -937,13 +1139,13 @@ func (c *TLSConfig) UnmarshalYAML(unmarshal func(interface{}) error) error { // file-based fields for the TLS CA, client certificate, and client key are // used. func (c *TLSConfig) Validate() error { - if len(c.CA) > 0 && len(c.CAFile) > 0 { - return fmt.Errorf("at most one of ca and ca_file must be configured") + if nonZeroCount(len(c.CA) > 0, len(c.CAFile) > 0, len(c.CARef) > 0) > 1 { + return fmt.Errorf("at most one of ca, ca_file & ca_ref must be configured") } - if len(c.Cert) > 0 && len(c.CertFile) > 0 { - return fmt.Errorf("at most one of cert and cert_file must be configured") + if nonZeroCount(len(c.Cert) > 0, len(c.CertFile) > 0, len(c.CertRef) > 0) > 1 { + return fmt.Errorf("at most one of cert, cert_file & cert_ref must be configured") } - if len(c.Key) > 0 && len(c.KeyFile) > 0 { + if nonZeroCount(len(c.Key) > 0, len(c.KeyFile) > 0, len(c.KeyRef) > 0) > 1 { return fmt.Errorf("at most one of key and key_file must be configured") } @@ -957,66 +1159,70 @@ func (c *TLSConfig) Validate() error { } func (c *TLSConfig) usingClientCert() bool { - return len(c.Cert) > 0 || len(c.CertFile) > 0 + return len(c.Cert) > 0 || len(c.CertFile) > 0 || len(c.CertRef) > 0 } func (c *TLSConfig) usingClientKey() bool { - return len(c.Key) > 0 || len(c.KeyFile) > 0 + return len(c.Key) > 0 || len(c.KeyFile) > 0 || len(c.KeyRef) > 0 } -func (c *TLSConfig) roundTripperSettings() TLSRoundTripperSettings { - return TLSRoundTripperSettings{ - CA: c.CA, - CAFile: c.CAFile, - Cert: c.Cert, - CertFile: c.CertFile, - Key: string(c.Key), - KeyFile: c.KeyFile, +func (c *TLSConfig) roundTripperSettings(secretManager SecretManager) (TLSRoundTripperSettings, error) { + ca, err := toSecret(secretManager, Secret(c.CA), c.CAFile, c.CARef) + if err != nil { + return TLSRoundTripperSettings{}, err } + cert, err := toSecret(secretManager, Secret(c.Cert), c.CertFile, c.CertRef) + if err != nil { + return TLSRoundTripperSettings{}, err + } + key, err := toSecret(secretManager, c.Key, c.KeyFile, c.KeyRef) + if err != nil { + return TLSRoundTripperSettings{}, err + } + return TLSRoundTripperSettings{ + CA: ca, + Cert: cert, + Key: key, + }, nil } -// getClientCertificate reads the pair of client cert and key from disk and returns a tls.Certificate. -func (c *TLSConfig) getClientCertificate(_ *tls.CertificateRequestInfo) (*tls.Certificate, error) { +// getClientCertificate reads the pair of client cert and key and returns a tls.Certificate. +func (c *TLSConfig) getClientCertificate(ctx context.Context, secretManager SecretManager) (*tls.Certificate, error) { var ( - certData, keyData []byte + certData, keyData string err error ) - if c.CertFile != "" { - certData, err = os.ReadFile(c.CertFile) - if err != nil { - return nil, fmt.Errorf("unable to read specified client cert (%s): %w", c.CertFile, err) - } - } else { - certData = []byte(c.Cert) - } - - if c.KeyFile != "" { - keyData, err = os.ReadFile(c.KeyFile) - if err != nil { - return nil, fmt.Errorf("unable to read specified client key (%s): %w", c.KeyFile, err) - } - } else { - keyData = []byte(c.Key) - } - - cert, err := tls.X509KeyPair(certData, keyData) + certSecret, err := toSecret(secretManager, Secret(c.Cert), c.CertFile, c.CertRef) if err != nil { - return nil, fmt.Errorf("unable to use specified client cert (%s) & key (%s): %w", c.CertFile, c.KeyFile, err) + return nil, fmt.Errorf("unable to use client cert: %w", err) + } + if certSecret != nil { + certData, err = certSecret.fetch(ctx) + if err != nil { + return nil, fmt.Errorf("unable to read specified client cert: %w", err) + } + } + + keySecret, err := toSecret(secretManager, Secret(c.Key), c.KeyFile, c.KeyRef) + if err != nil { + return nil, fmt.Errorf("unable to use client key: %w", err) + } + if keySecret != nil { + keyData, err = keySecret.fetch(ctx) + if err != nil { + return nil, fmt.Errorf("unable to read specified client key: %w", err) + } + } + + cert, err := tls.X509KeyPair([]byte(certData), []byte(keyData)) + if err != nil { + return nil, fmt.Errorf("unable to use specified client cert (%s) & key (%s): %w", certSecret.description(), keySecret.description(), err) } return &cert, nil } -// readCAFile reads the CA cert file from disk. -func readCAFile(f string) ([]byte, error) { - data, err := os.ReadFile(f) - if err != nil { - return nil, fmt.Errorf("unable to load specified CA cert %s: %w", f, err) - } - return data, nil -} - // updateRootCA parses the given byte slice as a series of PEM encoded certificates and updates tls.Config.RootCAs. func updateRootCA(cfg *tls.Config, b []byte) bool { caCertPool := x509.NewCertPool() @@ -1044,15 +1250,24 @@ type tlsRoundTripper struct { } type TLSRoundTripperSettings struct { - CA, CAFile string - Cert, CertFile string - Key, KeyFile string + CA secret + Cert secret + Key secret } func NewTLSRoundTripper( cfg *tls.Config, settings TLSRoundTripperSettings, newRT func(*tls.Config) (http.RoundTripper, error), +) (http.RoundTripper, error) { + return NewTLSRoundTripperWithContext(context.Background(), cfg, settings, newRT) +} + +func NewTLSRoundTripperWithContext( + ctx context.Context, + cfg *tls.Config, + settings TLSRoundTripperSettings, + newRT func(*tls.Config) (http.RoundTripper, error), ) (http.RoundTripper, error) { t := &tlsRoundTripper{ settings: settings, @@ -1065,7 +1280,7 @@ func NewTLSRoundTripper( return nil, err } t.rt = rt - _, t.hashCAData, t.hashCertData, t.hashKeyData, err = t.getTLSDataWithHash() + _, t.hashCAData, t.hashCertData, t.hashKeyData, err = t.getTLSDataWithHash(ctx) if err != nil { return nil, err } @@ -1073,38 +1288,31 @@ func NewTLSRoundTripper( return t, nil } -func (t *tlsRoundTripper) getTLSDataWithHash() ([]byte, []byte, []byte, []byte, error) { - var ( - caBytes, certBytes, keyBytes []byte +func (t *tlsRoundTripper) getTLSDataWithHash(ctx context.Context) ([]byte, []byte, []byte, []byte, error) { + var caBytes, certBytes, keyBytes []byte - err error - ) - - if t.settings.CAFile != "" { - caBytes, err = os.ReadFile(t.settings.CAFile) + if t.settings.CA != nil { + ca, err := t.settings.CA.fetch(ctx) if err != nil { - return nil, nil, nil, nil, err + return nil, nil, nil, nil, fmt.Errorf("unable to read CA cert: %w", err) } - } else if t.settings.CA != "" { - caBytes = []byte(t.settings.CA) + caBytes = []byte(ca) } - if t.settings.CertFile != "" { - certBytes, err = os.ReadFile(t.settings.CertFile) + if t.settings.Cert != nil { + cert, err := t.settings.Cert.fetch(ctx) if err != nil { - return nil, nil, nil, nil, err + return nil, nil, nil, nil, fmt.Errorf("unable to read client cert: %w", err) } - } else if t.settings.Cert != "" { - certBytes = []byte(t.settings.Cert) + certBytes = []byte(cert) } - if t.settings.KeyFile != "" { - keyBytes, err = os.ReadFile(t.settings.KeyFile) + if t.settings.Key != nil { + key, err := t.settings.Key.fetch(ctx) if err != nil { - return nil, nil, nil, nil, err + return nil, nil, nil, nil, fmt.Errorf("unable to read client key: %w", err) } - } else if t.settings.Key != "" { - keyBytes = []byte(t.settings.Key) + keyBytes = []byte(key) } var caHash, certHash, keyHash [32]byte @@ -1124,7 +1332,7 @@ func (t *tlsRoundTripper) getTLSDataWithHash() ([]byte, []byte, []byte, []byte, // RoundTrip implements the http.RoundTrip interface. func (t *tlsRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { - caData, caHash, certHash, keyHash, err := t.getTLSDataWithHash() + caData, caHash, certHash, keyHash, err := t.getTLSDataWithHash(req.Context()) if err != nil { return nil, err } @@ -1145,7 +1353,7 @@ func (t *tlsRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { // using GetClientCertificate. tlsConfig := t.tlsConfig.Clone() if !updateRootCA(tlsConfig, caData) { - return nil, fmt.Errorf("unable to use specified CA cert %s", t.settings.CAFile) + return nil, fmt.Errorf("unable to use specified CA cert %s", t.settings.CA.description()) } rt, err = t.newRT(tlsConfig) if err != nil { @@ -1236,7 +1444,7 @@ type ProxyConfig struct { // proxies during CONNECT requests. Assume that at least _some_ of // these headers are going to contain secrets and use Secret as the // value type instead of string. - ProxyConnectHeader Header `yaml:"proxy_connect_header,omitempty" json:"proxy_connect_header,omitempty"` + ProxyConnectHeader ProxyHeader `yaml:"proxy_connect_header,omitempty" json:"proxy_connect_header,omitempty"` proxyFunc func(*http.Request) (*url.URL, error) } diff --git a/vendor/github.com/prometheus/procfs/.golangci.yml b/vendor/github.com/prometheus/procfs/.golangci.yml index c24864a92..126df9e67 100644 --- a/vendor/github.com/prometheus/procfs/.golangci.yml +++ b/vendor/github.com/prometheus/procfs/.golangci.yml @@ -1,9 +1,16 @@ --- linters: enable: + - errcheck - godot + - gosimple + - govet + - ineffassign - misspell - revive + - staticcheck + - testifylint + - unused linter-settings: godot: diff --git a/vendor/github.com/prometheus/procfs/Makefile.common b/vendor/github.com/prometheus/procfs/Makefile.common index 0e9ace29b..161729235 100644 --- a/vendor/github.com/prometheus/procfs/Makefile.common +++ b/vendor/github.com/prometheus/procfs/Makefile.common @@ -61,7 +61,7 @@ PROMU_URL := https://github.com/prometheus/promu/releases/download/v$(PROMU_ SKIP_GOLANGCI_LINT := GOLANGCI_LINT := GOLANGCI_LINT_OPTS ?= -GOLANGCI_LINT_VERSION ?= v1.56.2 +GOLANGCI_LINT_VERSION ?= v1.59.0 # golangci-lint only supports linux, darwin and windows platforms on i386/amd64/arm64. # windows isn't included here because of the path separator being different. ifeq ($(GOHOSTOS),$(filter $(GOHOSTOS),linux darwin)) diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_byteslice.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_byteslice.go index ea3a3d95c..1f3548b20 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_byteslice.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_byteslice.go @@ -22,3 +22,13 @@ func GetByteSliceState(ms ByteSlice) *State { func NewByteSlice(orig *[]byte, state *State) ByteSlice { return ByteSlice{orig: orig, state: state} } + +func FillTestByteSlice(tv ByteSlice) { +} + +func GenerateTestByteSlice() ByteSlice { + state := StateMutable + var orig []byte = nil + + return ByteSlice{&orig, &state} +} diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_float64slice.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_float64slice.go index 88d6c33d7..f13349cde 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_float64slice.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_float64slice.go @@ -22,3 +22,13 @@ func GetFloat64SliceState(ms Float64Slice) *State { func NewFloat64Slice(orig *[]float64, state *State) Float64Slice { return Float64Slice{orig: orig, state: state} } + +func FillTestFloat64Slice(tv Float64Slice) { +} + +func GenerateTestFloat64Slice() Float64Slice { + state := StateMutable + var orig []float64 = nil + + return Float64Slice{&orig, &state} +} diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_int64slice.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_int64slice.go new file mode 100644 index 000000000..cd85707b1 --- /dev/null +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_int64slice.go @@ -0,0 +1,34 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// Code generated by "pdata/internal/cmd/pdatagen/main.go". DO NOT EDIT. +// To regenerate this file run "make genpdata". + +package internal + +type Int64Slice struct { + orig *[]int64 + state *State +} + +func GetOrigInt64Slice(ms Int64Slice) *[]int64 { + return ms.orig +} + +func GetInt64SliceState(ms Int64Slice) *State { + return ms.state +} + +func NewInt64Slice(orig *[]int64, state *State) Int64Slice { + return Int64Slice{orig: orig, state: state} +} + +func FillTestInt64Slice(tv Int64Slice) { +} + +func GenerateTestInt64Slice() Int64Slice { + state := StateMutable + var orig []int64 = nil + + return Int64Slice{&orig, &state} +} diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_stringslice.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_stringslice.go new file mode 100644 index 000000000..508912653 --- /dev/null +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_stringslice.go @@ -0,0 +1,34 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// Code generated by "pdata/internal/cmd/pdatagen/main.go". DO NOT EDIT. +// To regenerate this file run "make genpdata". + +package internal + +type StringSlice struct { + orig *[]string + state *State +} + +func GetOrigStringSlice(ms StringSlice) *[]string { + return ms.orig +} + +func GetStringSliceState(ms StringSlice) *State { + return ms.state +} + +func NewStringSlice(orig *[]string, state *State) StringSlice { + return StringSlice{orig: orig, state: state} +} + +func FillTestStringSlice(tv StringSlice) { +} + +func GenerateTestStringSlice() StringSlice { + state := StateMutable + var orig []string = nil + + return StringSlice{&orig, &state} +} diff --git a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_uint64slice.go b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_uint64slice.go index fed633ae2..bbb4a4faf 100644 --- a/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_uint64slice.go +++ b/vendor/go.opentelemetry.io/collector/pdata/internal/generated_wrapper_uint64slice.go @@ -22,3 +22,13 @@ func GetUInt64SliceState(ms UInt64Slice) *State { func NewUInt64Slice(orig *[]uint64, state *State) UInt64Slice { return UInt64Slice{orig: orig, state: state} } + +func FillTestUInt64Slice(tv UInt64Slice) { +} + +func GenerateTestUInt64Slice() UInt64Slice { + state := StateMutable + var orig []uint64 = nil + + return UInt64Slice{&orig, &state} +} diff --git a/vendor/go.opentelemetry.io/collector/pdata/pcommon/generated_int64slice.go b/vendor/go.opentelemetry.io/collector/pdata/pcommon/generated_int64slice.go new file mode 100644 index 000000000..e50cd3cc3 --- /dev/null +++ b/vendor/go.opentelemetry.io/collector/pdata/pcommon/generated_int64slice.go @@ -0,0 +1,108 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// Code generated by "pdata/internal/cmd/pdatagen/main.go". DO NOT EDIT. +// To regenerate this file run "make genpdata". + +package pcommon + +import ( + "go.opentelemetry.io/collector/pdata/internal" +) + +// Int64Slice represents a []int64 slice. +// The instance of Int64Slice can be assigned to multiple objects since it's immutable. +// +// Must use NewInt64Slice function to create new instances. +// Important: zero-initialized instance is not valid for use. +type Int64Slice internal.Int64Slice + +func (ms Int64Slice) getOrig() *[]int64 { + return internal.GetOrigInt64Slice(internal.Int64Slice(ms)) +} + +func (ms Int64Slice) getState() *internal.State { + return internal.GetInt64SliceState(internal.Int64Slice(ms)) +} + +// NewInt64Slice creates a new empty Int64Slice. +func NewInt64Slice() Int64Slice { + orig := []int64(nil) + state := internal.StateMutable + return Int64Slice(internal.NewInt64Slice(&orig, &state)) +} + +// AsRaw returns a copy of the []int64 slice. +func (ms Int64Slice) AsRaw() []int64 { + return copyInt64Slice(nil, *ms.getOrig()) +} + +// FromRaw copies raw []int64 into the slice Int64Slice. +func (ms Int64Slice) FromRaw(val []int64) { + ms.getState().AssertMutable() + *ms.getOrig() = copyInt64Slice(*ms.getOrig(), val) +} + +// Len returns length of the []int64 slice value. +// Equivalent of len(int64Slice). +func (ms Int64Slice) Len() int { + return len(*ms.getOrig()) +} + +// At returns an item from particular index. +// Equivalent of int64Slice[i]. +func (ms Int64Slice) At(i int) int64 { + return (*ms.getOrig())[i] +} + +// SetAt sets int64 item at particular index. +// Equivalent of int64Slice[i] = val +func (ms Int64Slice) SetAt(i int, val int64) { + ms.getState().AssertMutable() + (*ms.getOrig())[i] = val +} + +// EnsureCapacity ensures Int64Slice has at least the specified capacity. +// 1. If the newCap <= cap, then is no change in capacity. +// 2. If the newCap > cap, then the slice capacity will be expanded to the provided value which will be equivalent of: +// buf := make([]int64, len(int64Slice), newCap) +// copy(buf, int64Slice) +// int64Slice = buf +func (ms Int64Slice) EnsureCapacity(newCap int) { + ms.getState().AssertMutable() + oldCap := cap(*ms.getOrig()) + if newCap <= oldCap { + return + } + + newOrig := make([]int64, len(*ms.getOrig()), newCap) + copy(newOrig, *ms.getOrig()) + *ms.getOrig() = newOrig +} + +// Append appends extra elements to Int64Slice. +// Equivalent of int64Slice = append(int64Slice, elms...) +func (ms Int64Slice) Append(elms ...int64) { + ms.getState().AssertMutable() + *ms.getOrig() = append(*ms.getOrig(), elms...) +} + +// MoveTo moves all elements from the current slice overriding the destination and +// resetting the current instance to its zero value. +func (ms Int64Slice) MoveTo(dest Int64Slice) { + ms.getState().AssertMutable() + dest.getState().AssertMutable() + *dest.getOrig() = *ms.getOrig() + *ms.getOrig() = nil +} + +// CopyTo copies all elements from the current slice overriding the destination. +func (ms Int64Slice) CopyTo(dest Int64Slice) { + dest.getState().AssertMutable() + *dest.getOrig() = copyInt64Slice(*dest.getOrig(), *ms.getOrig()) +} + +func copyInt64Slice(dst, src []int64) []int64 { + dst = dst[:0] + return append(dst, src...) +} diff --git a/vendor/go.opentelemetry.io/collector/pdata/pcommon/generated_stringslice.go b/vendor/go.opentelemetry.io/collector/pdata/pcommon/generated_stringslice.go new file mode 100644 index 000000000..02a75c7a6 --- /dev/null +++ b/vendor/go.opentelemetry.io/collector/pdata/pcommon/generated_stringslice.go @@ -0,0 +1,108 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +// Code generated by "pdata/internal/cmd/pdatagen/main.go". DO NOT EDIT. +// To regenerate this file run "make genpdata". + +package pcommon + +import ( + "go.opentelemetry.io/collector/pdata/internal" +) + +// StringSlice represents a []string slice. +// The instance of StringSlice can be assigned to multiple objects since it's immutable. +// +// Must use NewStringSlice function to create new instances. +// Important: zero-initialized instance is not valid for use. +type StringSlice internal.StringSlice + +func (ms StringSlice) getOrig() *[]string { + return internal.GetOrigStringSlice(internal.StringSlice(ms)) +} + +func (ms StringSlice) getState() *internal.State { + return internal.GetStringSliceState(internal.StringSlice(ms)) +} + +// NewStringSlice creates a new empty StringSlice. +func NewStringSlice() StringSlice { + orig := []string(nil) + state := internal.StateMutable + return StringSlice(internal.NewStringSlice(&orig, &state)) +} + +// AsRaw returns a copy of the []string slice. +func (ms StringSlice) AsRaw() []string { + return copyStringSlice(nil, *ms.getOrig()) +} + +// FromRaw copies raw []string into the slice StringSlice. +func (ms StringSlice) FromRaw(val []string) { + ms.getState().AssertMutable() + *ms.getOrig() = copyStringSlice(*ms.getOrig(), val) +} + +// Len returns length of the []string slice value. +// Equivalent of len(stringSlice). +func (ms StringSlice) Len() int { + return len(*ms.getOrig()) +} + +// At returns an item from particular index. +// Equivalent of stringSlice[i]. +func (ms StringSlice) At(i int) string { + return (*ms.getOrig())[i] +} + +// SetAt sets string item at particular index. +// Equivalent of stringSlice[i] = val +func (ms StringSlice) SetAt(i int, val string) { + ms.getState().AssertMutable() + (*ms.getOrig())[i] = val +} + +// EnsureCapacity ensures StringSlice has at least the specified capacity. +// 1. If the newCap <= cap, then is no change in capacity. +// 2. If the newCap > cap, then the slice capacity will be expanded to the provided value which will be equivalent of: +// buf := make([]string, len(stringSlice), newCap) +// copy(buf, stringSlice) +// stringSlice = buf +func (ms StringSlice) EnsureCapacity(newCap int) { + ms.getState().AssertMutable() + oldCap := cap(*ms.getOrig()) + if newCap <= oldCap { + return + } + + newOrig := make([]string, len(*ms.getOrig()), newCap) + copy(newOrig, *ms.getOrig()) + *ms.getOrig() = newOrig +} + +// Append appends extra elements to StringSlice. +// Equivalent of stringSlice = append(stringSlice, elms...) +func (ms StringSlice) Append(elms ...string) { + ms.getState().AssertMutable() + *ms.getOrig() = append(*ms.getOrig(), elms...) +} + +// MoveTo moves all elements from the current slice overriding the destination and +// resetting the current instance to its zero value. +func (ms StringSlice) MoveTo(dest StringSlice) { + ms.getState().AssertMutable() + dest.getState().AssertMutable() + *dest.getOrig() = *ms.getOrig() + *ms.getOrig() = nil +} + +// CopyTo copies all elements from the current slice overriding the destination. +func (ms StringSlice) CopyTo(dest StringSlice) { + dest.getState().AssertMutable() + *dest.getOrig() = copyStringSlice(*dest.getOrig(), *ms.getOrig()) +} + +func copyStringSlice(dst, src []string) []string { + dst = dst[:0] + return append(dst, src...) +} diff --git a/vendor/golang.org/x/net/http2/http2.go b/vendor/golang.org/x/net/http2/http2.go index 6f2df2818..003e649f3 100644 --- a/vendor/golang.org/x/net/http2/http2.go +++ b/vendor/golang.org/x/net/http2/http2.go @@ -17,6 +17,7 @@ package http2 // import "golang.org/x/net/http2" import ( "bufio" + "context" "crypto/tls" "fmt" "io" @@ -26,6 +27,7 @@ import ( "strconv" "strings" "sync" + "time" "golang.org/x/net/http/httpguts" ) @@ -210,12 +212,6 @@ type stringWriter interface { WriteString(s string) (n int, err error) } -// A gate lets two goroutines coordinate their activities. -type gate chan struct{} - -func (g gate) Done() { g <- struct{}{} } -func (g gate) Wait() { <-g } - // A closeWaiter is like a sync.WaitGroup but only goes 1 to 0 (open to closed). type closeWaiter chan struct{} @@ -383,3 +379,14 @@ func validPseudoPath(v string) bool { // makes that struct also non-comparable, and generally doesn't add // any size (as long as it's first). type incomparable [0]func() + +// synctestGroupInterface is the methods of synctestGroup used by Server and Transport. +// It's defined as an interface here to let us keep synctestGroup entirely test-only +// and not a part of non-test builds. +type synctestGroupInterface interface { + Join() + Now() time.Time + NewTimer(d time.Duration) timer + AfterFunc(d time.Duration, f func()) timer + ContextWithTimeout(ctx context.Context, d time.Duration) (context.Context, context.CancelFunc) +} diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go index c5d081081..6c349f3ec 100644 --- a/vendor/golang.org/x/net/http2/server.go +++ b/vendor/golang.org/x/net/http2/server.go @@ -154,6 +154,39 @@ type Server struct { // so that we don't embed a Mutex in this struct, which will make the // struct non-copyable, which might break some callers. state *serverInternalState + + // Synchronization group used for testing. + // Outside of tests, this is nil. + group synctestGroupInterface +} + +func (s *Server) markNewGoroutine() { + if s.group != nil { + s.group.Join() + } +} + +func (s *Server) now() time.Time { + if s.group != nil { + return s.group.Now() + } + return time.Now() +} + +// newTimer creates a new time.Timer, or a synthetic timer in tests. +func (s *Server) newTimer(d time.Duration) timer { + if s.group != nil { + return s.group.NewTimer(d) + } + return timeTimer{time.NewTimer(d)} +} + +// afterFunc creates a new time.AfterFunc timer, or a synthetic timer in tests. +func (s *Server) afterFunc(d time.Duration, f func()) timer { + if s.group != nil { + return s.group.AfterFunc(d, f) + } + return timeTimer{time.AfterFunc(d, f)} } func (s *Server) initialConnRecvWindowSize() int32 { @@ -400,6 +433,10 @@ func (o *ServeConnOpts) handler() http.Handler { // // The opts parameter is optional. If nil, default values are used. func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) { + s.serveConn(c, opts, nil) +} + +func (s *Server) serveConn(c net.Conn, opts *ServeConnOpts, newf func(*serverConn)) { baseCtx, cancel := serverConnBaseContext(c, opts) defer cancel() @@ -426,6 +463,9 @@ func (s *Server) ServeConn(c net.Conn, opts *ServeConnOpts) { pushEnabled: true, sawClientPreface: opts.SawClientPreface, } + if newf != nil { + newf(sc) + } s.state.registerConn(sc) defer s.state.unregisterConn(sc) @@ -599,8 +639,8 @@ type serverConn struct { inFrameScheduleLoop bool // whether we're in the scheduleFrameWrite loop needToSendGoAway bool // we need to schedule a GOAWAY frame write goAwayCode ErrCode - shutdownTimer *time.Timer // nil until used - idleTimer *time.Timer // nil if unused + shutdownTimer timer // nil until used + idleTimer timer // nil if unused // Owned by the writeFrameAsync goroutine: headerWriteBuf bytes.Buffer @@ -649,12 +689,12 @@ type stream struct { flow outflow // limits writing from Handler to client inflow inflow // what the client is allowed to POST/etc to us state streamState - resetQueued bool // RST_STREAM queued for write; set by sc.resetStream - gotTrailerHeader bool // HEADER frame for trailers was seen - wroteHeaders bool // whether we wrote headers (not status 100) - readDeadline *time.Timer // nil if unused - writeDeadline *time.Timer // nil if unused - closeErr error // set before cw is closed + resetQueued bool // RST_STREAM queued for write; set by sc.resetStream + gotTrailerHeader bool // HEADER frame for trailers was seen + wroteHeaders bool // whether we wrote headers (not status 100) + readDeadline timer // nil if unused + writeDeadline timer // nil if unused + closeErr error // set before cw is closed trailer http.Header // accumulated trailers reqTrailer http.Header // handler's Request.Trailer @@ -811,8 +851,9 @@ type readFrameResult struct { // consumer is done with the frame. // It's run on its own goroutine. func (sc *serverConn) readFrames() { - gate := make(gate) - gateDone := gate.Done + sc.srv.markNewGoroutine() + gate := make(chan struct{}) + gateDone := func() { gate <- struct{}{} } for { f, err := sc.framer.ReadFrame() select { @@ -843,6 +884,7 @@ type frameWriteResult struct { // At most one goroutine can be running writeFrameAsync at a time per // serverConn. func (sc *serverConn) writeFrameAsync(wr FrameWriteRequest, wd *writeData) { + sc.srv.markNewGoroutine() var err error if wd == nil { err = wr.write.writeFrame(sc) @@ -922,13 +964,13 @@ func (sc *serverConn) serve() { sc.setConnState(http.StateIdle) if sc.srv.IdleTimeout > 0 { - sc.idleTimer = time.AfterFunc(sc.srv.IdleTimeout, sc.onIdleTimer) + sc.idleTimer = sc.srv.afterFunc(sc.srv.IdleTimeout, sc.onIdleTimer) defer sc.idleTimer.Stop() } go sc.readFrames() // closed by defer sc.conn.Close above - settingsTimer := time.AfterFunc(firstSettingsTimeout, sc.onSettingsTimer) + settingsTimer := sc.srv.afterFunc(firstSettingsTimeout, sc.onSettingsTimer) defer settingsTimer.Stop() loopNum := 0 @@ -1057,10 +1099,10 @@ func (sc *serverConn) readPreface() error { errc <- nil } }() - timer := time.NewTimer(prefaceTimeout) // TODO: configurable on *Server? + timer := sc.srv.newTimer(prefaceTimeout) // TODO: configurable on *Server? defer timer.Stop() select { - case <-timer.C: + case <-timer.C(): return errPrefaceTimeout case err := <-errc: if err == nil { @@ -1425,7 +1467,7 @@ func (sc *serverConn) goAway(code ErrCode) { func (sc *serverConn) shutDownIn(d time.Duration) { sc.serveG.check() - sc.shutdownTimer = time.AfterFunc(d, sc.onShutdownTimer) + sc.shutdownTimer = sc.srv.afterFunc(d, sc.onShutdownTimer) } func (sc *serverConn) resetStream(se StreamError) { @@ -1639,7 +1681,7 @@ func (sc *serverConn) closeStream(st *stream, err error) { delete(sc.streams, st.id) if len(sc.streams) == 0 { sc.setConnState(http.StateIdle) - if sc.srv.IdleTimeout > 0 { + if sc.srv.IdleTimeout > 0 && sc.idleTimer != nil { sc.idleTimer.Reset(sc.srv.IdleTimeout) } if h1ServerKeepAlivesDisabled(sc.hs) { @@ -1661,6 +1703,7 @@ func (sc *serverConn) closeStream(st *stream, err error) { } } st.closeErr = err + st.cancelCtx() st.cw.Close() // signals Handler's CloseNotifier, unblocks writes, etc sc.writeSched.CloseStream(st.id) } @@ -2021,7 +2064,7 @@ func (sc *serverConn) processHeaders(f *MetaHeadersFrame) error { // (in Go 1.8), though. That's a more sane option anyway. if sc.hs.ReadTimeout > 0 { sc.conn.SetReadDeadline(time.Time{}) - st.readDeadline = time.AfterFunc(sc.hs.ReadTimeout, st.onReadTimeout) + st.readDeadline = sc.srv.afterFunc(sc.hs.ReadTimeout, st.onReadTimeout) } return sc.scheduleHandler(id, rw, req, handler) @@ -2119,7 +2162,7 @@ func (sc *serverConn) newStream(id, pusherID uint32, state streamState) *stream st.flow.add(sc.initialStreamSendWindowSize) st.inflow.init(sc.srv.initialStreamRecvWindowSize()) if sc.hs.WriteTimeout > 0 { - st.writeDeadline = time.AfterFunc(sc.hs.WriteTimeout, st.onWriteTimeout) + st.writeDeadline = sc.srv.afterFunc(sc.hs.WriteTimeout, st.onWriteTimeout) } sc.streams[id] = st @@ -2343,6 +2386,7 @@ func (sc *serverConn) handlerDone() { // Run on its own goroutine. func (sc *serverConn) runHandler(rw *responseWriter, req *http.Request, handler func(http.ResponseWriter, *http.Request)) { + sc.srv.markNewGoroutine() defer sc.sendServeMsg(handlerDoneMsg) didPanic := true defer func() { @@ -2639,7 +2683,7 @@ func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) { var date string if _, ok := rws.snapHeader["Date"]; !ok { // TODO(bradfitz): be faster here, like net/http? measure. - date = time.Now().UTC().Format(http.TimeFormat) + date = rws.conn.srv.now().UTC().Format(http.TimeFormat) } for _, v := range rws.snapHeader["Trailer"] { @@ -2761,7 +2805,7 @@ func (rws *responseWriterState) promoteUndeclaredTrailers() { func (w *responseWriter) SetReadDeadline(deadline time.Time) error { st := w.rws.stream - if !deadline.IsZero() && deadline.Before(time.Now()) { + if !deadline.IsZero() && deadline.Before(w.rws.conn.srv.now()) { // If we're setting a deadline in the past, reset the stream immediately // so writes after SetWriteDeadline returns will fail. st.onReadTimeout() @@ -2777,9 +2821,9 @@ func (w *responseWriter) SetReadDeadline(deadline time.Time) error { if deadline.IsZero() { st.readDeadline = nil } else if st.readDeadline == nil { - st.readDeadline = time.AfterFunc(deadline.Sub(time.Now()), st.onReadTimeout) + st.readDeadline = sc.srv.afterFunc(deadline.Sub(sc.srv.now()), st.onReadTimeout) } else { - st.readDeadline.Reset(deadline.Sub(time.Now())) + st.readDeadline.Reset(deadline.Sub(sc.srv.now())) } }) return nil @@ -2787,7 +2831,7 @@ func (w *responseWriter) SetReadDeadline(deadline time.Time) error { func (w *responseWriter) SetWriteDeadline(deadline time.Time) error { st := w.rws.stream - if !deadline.IsZero() && deadline.Before(time.Now()) { + if !deadline.IsZero() && deadline.Before(w.rws.conn.srv.now()) { // If we're setting a deadline in the past, reset the stream immediately // so writes after SetWriteDeadline returns will fail. st.onWriteTimeout() @@ -2803,9 +2847,9 @@ func (w *responseWriter) SetWriteDeadline(deadline time.Time) error { if deadline.IsZero() { st.writeDeadline = nil } else if st.writeDeadline == nil { - st.writeDeadline = time.AfterFunc(deadline.Sub(time.Now()), st.onWriteTimeout) + st.writeDeadline = sc.srv.afterFunc(deadline.Sub(sc.srv.now()), st.onWriteTimeout) } else { - st.writeDeadline.Reset(deadline.Sub(time.Now())) + st.writeDeadline.Reset(deadline.Sub(sc.srv.now())) } }) return nil diff --git a/vendor/golang.org/x/net/http2/testsync.go b/vendor/golang.org/x/net/http2/testsync.go deleted file mode 100644 index 61075bd16..000000000 --- a/vendor/golang.org/x/net/http2/testsync.go +++ /dev/null @@ -1,331 +0,0 @@ -// Copyright 2024 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. -package http2 - -import ( - "context" - "sync" - "time" -) - -// testSyncHooks coordinates goroutines in tests. -// -// For example, a call to ClientConn.RoundTrip involves several goroutines, including: -// - the goroutine running RoundTrip; -// - the clientStream.doRequest goroutine, which writes the request; and -// - the clientStream.readLoop goroutine, which reads the response. -// -// Using testSyncHooks, a test can start a RoundTrip and identify when all these goroutines -// are blocked waiting for some condition such as reading the Request.Body or waiting for -// flow control to become available. -// -// The testSyncHooks also manage timers and synthetic time in tests. -// This permits us to, for example, start a request and cause it to time out waiting for -// response headers without resorting to time.Sleep calls. -type testSyncHooks struct { - // active/inactive act as a mutex and condition variable. - // - // - neither chan contains a value: testSyncHooks is locked. - // - active contains a value: unlocked, and at least one goroutine is not blocked - // - inactive contains a value: unlocked, and all goroutines are blocked - active chan struct{} - inactive chan struct{} - - // goroutine counts - total int // total goroutines - condwait map[*sync.Cond]int // blocked in sync.Cond.Wait - blocked []*testBlockedGoroutine // otherwise blocked - - // fake time - now time.Time - timers []*fakeTimer - - // Transport testing: Report various events. - newclientconn func(*ClientConn) - newstream func(*clientStream) -} - -// testBlockedGoroutine is a blocked goroutine. -type testBlockedGoroutine struct { - f func() bool // blocked until f returns true - ch chan struct{} // closed when unblocked -} - -func newTestSyncHooks() *testSyncHooks { - h := &testSyncHooks{ - active: make(chan struct{}, 1), - inactive: make(chan struct{}, 1), - condwait: map[*sync.Cond]int{}, - } - h.inactive <- struct{}{} - h.now = time.Date(2000, 1, 1, 0, 0, 0, 0, time.UTC) - return h -} - -// lock acquires the testSyncHooks mutex. -func (h *testSyncHooks) lock() { - select { - case <-h.active: - case <-h.inactive: - } -} - -// waitInactive waits for all goroutines to become inactive. -func (h *testSyncHooks) waitInactive() { - for { - <-h.inactive - if !h.unlock() { - break - } - } -} - -// unlock releases the testSyncHooks mutex. -// It reports whether any goroutines are active. -func (h *testSyncHooks) unlock() (active bool) { - // Look for a blocked goroutine which can be unblocked. - blocked := h.blocked[:0] - unblocked := false - for _, b := range h.blocked { - if !unblocked && b.f() { - unblocked = true - close(b.ch) - } else { - blocked = append(blocked, b) - } - } - h.blocked = blocked - - // Count goroutines blocked on condition variables. - condwait := 0 - for _, count := range h.condwait { - condwait += count - } - - if h.total > condwait+len(blocked) { - h.active <- struct{}{} - return true - } else { - h.inactive <- struct{}{} - return false - } -} - -// goRun starts a new goroutine. -func (h *testSyncHooks) goRun(f func()) { - h.lock() - h.total++ - h.unlock() - go func() { - defer func() { - h.lock() - h.total-- - h.unlock() - }() - f() - }() -} - -// blockUntil indicates that a goroutine is blocked waiting for some condition to become true. -// It waits until f returns true before proceeding. -// -// Example usage: -// -// h.blockUntil(func() bool { -// // Is the context done yet? -// select { -// case <-ctx.Done(): -// default: -// return false -// } -// return true -// }) -// // Wait for the context to become done. -// <-ctx.Done() -// -// The function f passed to blockUntil must be non-blocking and idempotent. -func (h *testSyncHooks) blockUntil(f func() bool) { - if f() { - return - } - ch := make(chan struct{}) - h.lock() - h.blocked = append(h.blocked, &testBlockedGoroutine{ - f: f, - ch: ch, - }) - h.unlock() - <-ch -} - -// broadcast is sync.Cond.Broadcast. -func (h *testSyncHooks) condBroadcast(cond *sync.Cond) { - h.lock() - delete(h.condwait, cond) - h.unlock() - cond.Broadcast() -} - -// broadcast is sync.Cond.Wait. -func (h *testSyncHooks) condWait(cond *sync.Cond) { - h.lock() - h.condwait[cond]++ - h.unlock() -} - -// newTimer creates a new fake timer. -func (h *testSyncHooks) newTimer(d time.Duration) timer { - h.lock() - defer h.unlock() - t := &fakeTimer{ - hooks: h, - when: h.now.Add(d), - c: make(chan time.Time), - } - h.timers = append(h.timers, t) - return t -} - -// afterFunc creates a new fake AfterFunc timer. -func (h *testSyncHooks) afterFunc(d time.Duration, f func()) timer { - h.lock() - defer h.unlock() - t := &fakeTimer{ - hooks: h, - when: h.now.Add(d), - f: f, - } - h.timers = append(h.timers, t) - return t -} - -func (h *testSyncHooks) contextWithTimeout(ctx context.Context, d time.Duration) (context.Context, context.CancelFunc) { - ctx, cancel := context.WithCancel(ctx) - t := h.afterFunc(d, cancel) - return ctx, func() { - t.Stop() - cancel() - } -} - -func (h *testSyncHooks) timeUntilEvent() time.Duration { - h.lock() - defer h.unlock() - var next time.Time - for _, t := range h.timers { - if next.IsZero() || t.when.Before(next) { - next = t.when - } - } - if d := next.Sub(h.now); d > 0 { - return d - } - return 0 -} - -// advance advances time and causes synthetic timers to fire. -func (h *testSyncHooks) advance(d time.Duration) { - h.lock() - defer h.unlock() - h.now = h.now.Add(d) - timers := h.timers[:0] - for _, t := range h.timers { - t := t // remove after go.mod depends on go1.22 - t.mu.Lock() - switch { - case t.when.After(h.now): - timers = append(timers, t) - case t.when.IsZero(): - // stopped timer - default: - t.when = time.Time{} - if t.c != nil { - close(t.c) - } - if t.f != nil { - h.total++ - go func() { - defer func() { - h.lock() - h.total-- - h.unlock() - }() - t.f() - }() - } - } - t.mu.Unlock() - } - h.timers = timers -} - -// A timer wraps a time.Timer, or a synthetic equivalent in tests. -// Unlike time.Timer, timer is single-use: The timer channel is closed when the timer expires. -type timer interface { - C() <-chan time.Time - Stop() bool - Reset(d time.Duration) bool -} - -// timeTimer implements timer using real time. -type timeTimer struct { - t *time.Timer - c chan time.Time -} - -// newTimeTimer creates a new timer using real time. -func newTimeTimer(d time.Duration) timer { - ch := make(chan time.Time) - t := time.AfterFunc(d, func() { - close(ch) - }) - return &timeTimer{t, ch} -} - -// newTimeAfterFunc creates an AfterFunc timer using real time. -func newTimeAfterFunc(d time.Duration, f func()) timer { - return &timeTimer{ - t: time.AfterFunc(d, f), - } -} - -func (t timeTimer) C() <-chan time.Time { return t.c } -func (t timeTimer) Stop() bool { return t.t.Stop() } -func (t timeTimer) Reset(d time.Duration) bool { return t.t.Reset(d) } - -// fakeTimer implements timer using fake time. -type fakeTimer struct { - hooks *testSyncHooks - - mu sync.Mutex - when time.Time // when the timer will fire - c chan time.Time // closed when the timer fires; mutually exclusive with f - f func() // called when the timer fires; mutually exclusive with c -} - -func (t *fakeTimer) C() <-chan time.Time { return t.c } - -func (t *fakeTimer) Stop() bool { - t.mu.Lock() - defer t.mu.Unlock() - stopped := t.when.IsZero() - t.when = time.Time{} - return stopped -} - -func (t *fakeTimer) Reset(d time.Duration) bool { - if t.c != nil || t.f == nil { - panic("fakeTimer only supports Reset on AfterFunc timers") - } - t.mu.Lock() - defer t.mu.Unlock() - t.hooks.lock() - defer t.hooks.unlock() - active := !t.when.IsZero() - t.when = t.hooks.now.Add(d) - if !active { - t.hooks.timers = append(t.hooks.timers, t) - } - return active -} diff --git a/vendor/golang.org/x/net/http2/timer.go b/vendor/golang.org/x/net/http2/timer.go new file mode 100644 index 000000000..0b1c17b81 --- /dev/null +++ b/vendor/golang.org/x/net/http2/timer.go @@ -0,0 +1,20 @@ +// Copyright 2024 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. +package http2 + +import "time" + +// A timer is a time.Timer, as an interface which can be replaced in tests. +type timer = interface { + C() <-chan time.Time + Reset(d time.Duration) bool + Stop() bool +} + +// timeTimer adapts a time.Timer to the timer interface. +type timeTimer struct { + *time.Timer +} + +func (t timeTimer) C() <-chan time.Time { return t.Timer.C } diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go index 2fa49490c..98a49c6b6 100644 --- a/vendor/golang.org/x/net/http2/transport.go +++ b/vendor/golang.org/x/net/http2/transport.go @@ -185,7 +185,45 @@ type Transport struct { connPoolOnce sync.Once connPoolOrDef ClientConnPool // non-nil version of ConnPool - syncHooks *testSyncHooks + *transportTestHooks +} + +// Hook points used for testing. +// Outside of tests, t.transportTestHooks is nil and these all have minimal implementations. +// Inside tests, see the testSyncHooks function docs. + +type transportTestHooks struct { + newclientconn func(*ClientConn) + group synctestGroupInterface +} + +func (t *Transport) markNewGoroutine() { + if t != nil && t.transportTestHooks != nil { + t.transportTestHooks.group.Join() + } +} + +// newTimer creates a new time.Timer, or a synthetic timer in tests. +func (t *Transport) newTimer(d time.Duration) timer { + if t.transportTestHooks != nil { + return t.transportTestHooks.group.NewTimer(d) + } + return timeTimer{time.NewTimer(d)} +} + +// afterFunc creates a new time.AfterFunc timer, or a synthetic timer in tests. +func (t *Transport) afterFunc(d time.Duration, f func()) timer { + if t.transportTestHooks != nil { + return t.transportTestHooks.group.AfterFunc(d, f) + } + return timeTimer{time.AfterFunc(d, f)} +} + +func (t *Transport) contextWithTimeout(ctx context.Context, d time.Duration) (context.Context, context.CancelFunc) { + if t.transportTestHooks != nil { + return t.transportTestHooks.group.ContextWithTimeout(ctx, d) + } + return context.WithTimeout(ctx, d) } func (t *Transport) maxHeaderListSize() uint32 { @@ -352,60 +390,6 @@ type ClientConn struct { werr error // first write error that has occurred hbuf bytes.Buffer // HPACK encoder writes into this henc *hpack.Encoder - - syncHooks *testSyncHooks // can be nil -} - -// Hook points used for testing. -// Outside of tests, cc.syncHooks is nil and these all have minimal implementations. -// Inside tests, see the testSyncHooks function docs. - -// goRun starts a new goroutine. -func (cc *ClientConn) goRun(f func()) { - if cc.syncHooks != nil { - cc.syncHooks.goRun(f) - return - } - go f() -} - -// condBroadcast is cc.cond.Broadcast. -func (cc *ClientConn) condBroadcast() { - if cc.syncHooks != nil { - cc.syncHooks.condBroadcast(cc.cond) - } - cc.cond.Broadcast() -} - -// condWait is cc.cond.Wait. -func (cc *ClientConn) condWait() { - if cc.syncHooks != nil { - cc.syncHooks.condWait(cc.cond) - } - cc.cond.Wait() -} - -// newTimer creates a new time.Timer, or a synthetic timer in tests. -func (cc *ClientConn) newTimer(d time.Duration) timer { - if cc.syncHooks != nil { - return cc.syncHooks.newTimer(d) - } - return newTimeTimer(d) -} - -// afterFunc creates a new time.AfterFunc timer, or a synthetic timer in tests. -func (cc *ClientConn) afterFunc(d time.Duration, f func()) timer { - if cc.syncHooks != nil { - return cc.syncHooks.afterFunc(d, f) - } - return newTimeAfterFunc(d, f) -} - -func (cc *ClientConn) contextWithTimeout(ctx context.Context, d time.Duration) (context.Context, context.CancelFunc) { - if cc.syncHooks != nil { - return cc.syncHooks.contextWithTimeout(ctx, d) - } - return context.WithTimeout(ctx, d) } // clientStream is the state for a single HTTP/2 stream. One of these @@ -487,7 +471,7 @@ func (cs *clientStream) abortStreamLocked(err error) { // TODO(dneil): Clean up tests where cs.cc.cond is nil. if cs.cc.cond != nil { // Wake up writeRequestBody if it is waiting on flow control. - cs.cc.condBroadcast() + cs.cc.cond.Broadcast() } } @@ -497,7 +481,7 @@ func (cs *clientStream) abortRequestBodyWrite() { defer cc.mu.Unlock() if cs.reqBody != nil && cs.reqBodyClosed == nil { cs.closeReqBodyLocked() - cc.condBroadcast() + cc.cond.Broadcast() } } @@ -507,10 +491,11 @@ func (cs *clientStream) closeReqBodyLocked() { } cs.reqBodyClosed = make(chan struct{}) reqBodyClosed := cs.reqBodyClosed - cs.cc.goRun(func() { + go func() { + cs.cc.t.markNewGoroutine() cs.reqBody.Close() close(reqBodyClosed) - }) + }() } type stickyErrWriter struct { @@ -626,21 +611,7 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res backoff := float64(uint(1) << (uint(retry) - 1)) backoff += backoff * (0.1 * mathrand.Float64()) d := time.Second * time.Duration(backoff) - var tm timer - if t.syncHooks != nil { - tm = t.syncHooks.newTimer(d) - t.syncHooks.blockUntil(func() bool { - select { - case <-tm.C(): - case <-req.Context().Done(): - default: - return false - } - return true - }) - } else { - tm = newTimeTimer(d) - } + tm := t.newTimer(d) select { case <-tm.C(): t.vlogf("RoundTrip retrying after failure: %v", roundTripErr) @@ -725,8 +696,8 @@ func canRetryError(err error) bool { } func (t *Transport) dialClientConn(ctx context.Context, addr string, singleUse bool) (*ClientConn, error) { - if t.syncHooks != nil { - return t.newClientConn(nil, singleUse, t.syncHooks) + if t.transportTestHooks != nil { + return t.newClientConn(nil, singleUse) } host, _, err := net.SplitHostPort(addr) if err != nil { @@ -736,7 +707,7 @@ func (t *Transport) dialClientConn(ctx context.Context, addr string, singleUse b if err != nil { return nil, err } - return t.newClientConn(tconn, singleUse, nil) + return t.newClientConn(tconn, singleUse) } func (t *Transport) newTLSConfig(host string) *tls.Config { @@ -802,10 +773,10 @@ func (t *Transport) maxEncoderHeaderTableSize() uint32 { } func (t *Transport) NewClientConn(c net.Conn) (*ClientConn, error) { - return t.newClientConn(c, t.disableKeepAlives(), nil) + return t.newClientConn(c, t.disableKeepAlives()) } -func (t *Transport) newClientConn(c net.Conn, singleUse bool, hooks *testSyncHooks) (*ClientConn, error) { +func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, error) { cc := &ClientConn{ t: t, tconn: c, @@ -820,16 +791,12 @@ func (t *Transport) newClientConn(c net.Conn, singleUse bool, hooks *testSyncHoo wantSettingsAck: true, pings: make(map[[8]byte]chan struct{}), reqHeaderMu: make(chan struct{}, 1), - syncHooks: hooks, } - if hooks != nil { - hooks.newclientconn(cc) + if t.transportTestHooks != nil { + t.markNewGoroutine() + t.transportTestHooks.newclientconn(cc) c = cc.tconn } - if d := t.idleConnTimeout(); d != 0 { - cc.idleTimeout = d - cc.idleTimer = cc.afterFunc(d, cc.onIdleTimeout) - } if VerboseLogs { t.vlogf("http2: Transport creating client conn %p to %v", cc, c.RemoteAddr()) } @@ -893,7 +860,13 @@ func (t *Transport) newClientConn(c net.Conn, singleUse bool, hooks *testSyncHoo return nil, cc.werr } - cc.goRun(cc.readLoop) + // Start the idle timer after the connection is fully initialized. + if d := t.idleConnTimeout(); d != 0 { + cc.idleTimeout = d + cc.idleTimer = t.afterFunc(d, cc.onIdleTimeout) + } + + go cc.readLoop() return cc, nil } @@ -901,7 +874,7 @@ func (cc *ClientConn) healthCheck() { pingTimeout := cc.t.pingTimeout() // We don't need to periodically ping in the health check, because the readLoop of ClientConn will // trigger the healthCheck again if there is no frame received. - ctx, cancel := cc.contextWithTimeout(context.Background(), pingTimeout) + ctx, cancel := cc.t.contextWithTimeout(context.Background(), pingTimeout) defer cancel() cc.vlogf("http2: Transport sending health check") err := cc.Ping(ctx) @@ -1144,7 +1117,8 @@ func (cc *ClientConn) Shutdown(ctx context.Context) error { // Wait for all in-flight streams to complete or connection to close done := make(chan struct{}) cancelled := false // guarded by cc.mu - cc.goRun(func() { + go func() { + cc.t.markNewGoroutine() cc.mu.Lock() defer cc.mu.Unlock() for { @@ -1156,9 +1130,9 @@ func (cc *ClientConn) Shutdown(ctx context.Context) error { if cancelled { break } - cc.condWait() + cc.cond.Wait() } - }) + }() shutdownEnterWaitStateHook() select { case <-done: @@ -1168,7 +1142,7 @@ func (cc *ClientConn) Shutdown(ctx context.Context) error { cc.mu.Lock() // Free the goroutine above cancelled = true - cc.condBroadcast() + cc.cond.Broadcast() cc.mu.Unlock() return ctx.Err() } @@ -1206,7 +1180,7 @@ func (cc *ClientConn) closeForError(err error) { for _, cs := range cc.streams { cs.abortStreamLocked(err) } - cc.condBroadcast() + cc.cond.Broadcast() cc.mu.Unlock() cc.closeConn() } @@ -1321,23 +1295,30 @@ func (cc *ClientConn) roundTrip(req *http.Request, streamf func(*clientStream)) respHeaderRecv: make(chan struct{}), donec: make(chan struct{}), } - cc.goRun(func() { - cs.doRequest(req) - }) + + // TODO(bradfitz): this is a copy of the logic in net/http. Unify somewhere? + if !cc.t.disableCompression() && + req.Header.Get("Accept-Encoding") == "" && + req.Header.Get("Range") == "" && + !cs.isHead { + // Request gzip only, not deflate. Deflate is ambiguous and + // not as universally supported anyway. + // See: https://zlib.net/zlib_faq.html#faq39 + // + // Note that we don't request this for HEAD requests, + // due to a bug in nginx: + // http://trac.nginx.org/nginx/ticket/358 + // https://golang.org/issue/5522 + // + // We don't request gzip if the request is for a range, since + // auto-decoding a portion of a gzipped document will just fail + // anyway. See https://golang.org/issue/8923 + cs.requestedGzip = true + } + + go cs.doRequest(req, streamf) waitDone := func() error { - if cc.syncHooks != nil { - cc.syncHooks.blockUntil(func() bool { - select { - case <-cs.donec: - case <-ctx.Done(): - case <-cs.reqCancel: - default: - return false - } - return true - }) - } select { case <-cs.donec: return nil @@ -1398,24 +1379,7 @@ func (cc *ClientConn) roundTrip(req *http.Request, streamf func(*clientStream)) return err } - if streamf != nil { - streamf(cs) - } - for { - if cc.syncHooks != nil { - cc.syncHooks.blockUntil(func() bool { - select { - case <-cs.respHeaderRecv: - case <-cs.abort: - case <-ctx.Done(): - case <-cs.reqCancel: - default: - return false - } - return true - }) - } select { case <-cs.respHeaderRecv: return handleResponseHeaders() @@ -1445,8 +1409,9 @@ func (cc *ClientConn) roundTrip(req *http.Request, streamf func(*clientStream)) // doRequest runs for the duration of the request lifetime. // // It sends the request and performs post-request cleanup (closing Request.Body, etc.). -func (cs *clientStream) doRequest(req *http.Request) { - err := cs.writeRequest(req) +func (cs *clientStream) doRequest(req *http.Request, streamf func(*clientStream)) { + cs.cc.t.markNewGoroutine() + err := cs.writeRequest(req, streamf) cs.cleanupWriteRequest(err) } @@ -1457,7 +1422,7 @@ func (cs *clientStream) doRequest(req *http.Request) { // // It returns non-nil if the request ends otherwise. // If the returned error is StreamError, the error Code may be used in resetting the stream. -func (cs *clientStream) writeRequest(req *http.Request) (err error) { +func (cs *clientStream) writeRequest(req *http.Request, streamf func(*clientStream)) (err error) { cc := cs.cc ctx := cs.ctx @@ -1471,21 +1436,6 @@ func (cs *clientStream) writeRequest(req *http.Request) (err error) { if cc.reqHeaderMu == nil { panic("RoundTrip on uninitialized ClientConn") // for tests } - var newStreamHook func(*clientStream) - if cc.syncHooks != nil { - newStreamHook = cc.syncHooks.newstream - cc.syncHooks.blockUntil(func() bool { - select { - case cc.reqHeaderMu <- struct{}{}: - <-cc.reqHeaderMu - case <-cs.reqCancel: - case <-ctx.Done(): - default: - return false - } - return true - }) - } select { case cc.reqHeaderMu <- struct{}{}: case <-cs.reqCancel: @@ -1510,28 +1460,8 @@ func (cs *clientStream) writeRequest(req *http.Request) (err error) { } cc.mu.Unlock() - if newStreamHook != nil { - newStreamHook(cs) - } - - // TODO(bradfitz): this is a copy of the logic in net/http. Unify somewhere? - if !cc.t.disableCompression() && - req.Header.Get("Accept-Encoding") == "" && - req.Header.Get("Range") == "" && - !cs.isHead { - // Request gzip only, not deflate. Deflate is ambiguous and - // not as universally supported anyway. - // See: https://zlib.net/zlib_faq.html#faq39 - // - // Note that we don't request this for HEAD requests, - // due to a bug in nginx: - // http://trac.nginx.org/nginx/ticket/358 - // https://golang.org/issue/5522 - // - // We don't request gzip if the request is for a range, since - // auto-decoding a portion of a gzipped document will just fail - // anyway. See https://golang.org/issue/8923 - cs.requestedGzip = true + if streamf != nil { + streamf(cs) } continueTimeout := cc.t.expectContinueTimeout() @@ -1594,7 +1524,7 @@ func (cs *clientStream) writeRequest(req *http.Request) (err error) { var respHeaderTimer <-chan time.Time var respHeaderRecv chan struct{} if d := cc.responseHeaderTimeout(); d != 0 { - timer := cc.newTimer(d) + timer := cc.t.newTimer(d) defer timer.Stop() respHeaderTimer = timer.C() respHeaderRecv = cs.respHeaderRecv @@ -1603,21 +1533,6 @@ func (cs *clientStream) writeRequest(req *http.Request) (err error) { // or until the request is aborted (via context, error, or otherwise), // whichever comes first. for { - if cc.syncHooks != nil { - cc.syncHooks.blockUntil(func() bool { - select { - case <-cs.peerClosed: - case <-respHeaderTimer: - case <-respHeaderRecv: - case <-cs.abort: - case <-ctx.Done(): - case <-cs.reqCancel: - default: - return false - } - return true - }) - } select { case <-cs.peerClosed: return nil @@ -1766,7 +1681,7 @@ func (cc *ClientConn) awaitOpenSlotForStreamLocked(cs *clientStream) error { return nil } cc.pendingRequests++ - cc.condWait() + cc.cond.Wait() cc.pendingRequests-- select { case <-cs.abort: @@ -2028,7 +1943,7 @@ func (cs *clientStream) awaitFlowControl(maxBytes int) (taken int32, err error) cs.flow.take(take) return take, nil } - cc.condWait() + cc.cond.Wait() } } @@ -2311,7 +2226,7 @@ func (cc *ClientConn) forgetStreamID(id uint32) { } // Wake up writeRequestBody via clientStream.awaitFlowControl and // wake up RoundTrip if there is a pending request. - cc.condBroadcast() + cc.cond.Broadcast() closeOnIdle := cc.singleUse || cc.doNotReuse || cc.t.disableKeepAlives() || cc.goAway != nil if closeOnIdle && cc.streamsReserved == 0 && len(cc.streams) == 0 { @@ -2333,6 +2248,7 @@ type clientConnReadLoop struct { // readLoop runs in its own goroutine and reads and dispatches frames. func (cc *ClientConn) readLoop() { + cc.t.markNewGoroutine() rl := &clientConnReadLoop{cc: cc} defer rl.cleanup() cc.readerErr = rl.run() @@ -2399,7 +2315,7 @@ func (rl *clientConnReadLoop) cleanup() { cs.abortStreamLocked(err) } } - cc.condBroadcast() + cc.cond.Broadcast() cc.mu.Unlock() } @@ -2436,7 +2352,7 @@ func (rl *clientConnReadLoop) run() error { readIdleTimeout := cc.t.ReadIdleTimeout var t timer if readIdleTimeout != 0 { - t = cc.afterFunc(readIdleTimeout, cc.healthCheck) + t = cc.t.afterFunc(readIdleTimeout, cc.healthCheck) } for { f, err := cc.fr.ReadFrame() @@ -3034,7 +2950,7 @@ func (rl *clientConnReadLoop) processSettingsNoWrite(f *SettingsFrame) error { for _, cs := range cc.streams { cs.flow.add(delta) } - cc.condBroadcast() + cc.cond.Broadcast() cc.initialWindowSize = s.Val case SettingHeaderTableSize: @@ -3089,7 +3005,7 @@ func (rl *clientConnReadLoop) processWindowUpdate(f *WindowUpdateFrame) error { return ConnectionError(ErrCodeFlowControl) } - cc.condBroadcast() + cc.cond.Broadcast() return nil } @@ -3133,7 +3049,8 @@ func (cc *ClientConn) Ping(ctx context.Context) error { } var pingError error errc := make(chan struct{}) - cc.goRun(func() { + go func() { + cc.t.markNewGoroutine() cc.wmu.Lock() defer cc.wmu.Unlock() if pingError = cc.fr.WritePing(false, p); pingError != nil { @@ -3144,20 +3061,7 @@ func (cc *ClientConn) Ping(ctx context.Context) error { close(errc) return } - }) - if cc.syncHooks != nil { - cc.syncHooks.blockUntil(func() bool { - select { - case <-c: - case <-errc: - case <-ctx.Done(): - case <-cc.readerDone: - default: - return false - } - return true - }) - } + }() select { case <-c: return nil diff --git a/vendor/golang.org/x/net/http2/writesched_priority.go b/vendor/golang.org/x/net/http2/writesched_priority.go index 0a242c669..f6783339d 100644 --- a/vendor/golang.org/x/net/http2/writesched_priority.go +++ b/vendor/golang.org/x/net/http2/writesched_priority.go @@ -443,8 +443,8 @@ func (ws *priorityWriteScheduler) addClosedOrIdleNode(list *[]*priorityNode, max } func (ws *priorityWriteScheduler) removeNode(n *priorityNode) { - for k := n.kids; k != nil; k = k.next { - k.setParent(n.parent) + for n.kids != nil { + n.kids.setParent(n.parent) } n.setParent(nil) delete(ws.nodes, n.id) diff --git a/vendor/golang.org/x/oauth2/google/google.go b/vendor/golang.org/x/oauth2/google/google.go index ba931c2c3..7b82e7a08 100644 --- a/vendor/golang.org/x/oauth2/google/google.go +++ b/vendor/golang.org/x/oauth2/google/google.go @@ -252,7 +252,10 @@ func (f *credentialsFile) tokenSource(ctx context.Context, params CredentialsPar // Further information about retrieving access tokens from the GCE metadata // server can be found at https://cloud.google.com/compute/docs/authentication. func ComputeTokenSource(account string, scope ...string) oauth2.TokenSource { - return computeTokenSource(account, 0, scope...) + // refresh 3 minutes and 45 seconds early. The shortest MDS cache is currently 4 minutes, so any + // refreshes earlier are a waste of compute. + earlyExpirySecs := 225 * time.Second + return computeTokenSource(account, earlyExpirySecs, scope...) } func computeTokenSource(account string, earlyExpiry time.Duration, scope ...string) oauth2.TokenSource { diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh index fdcaa974d..4ed2e488b 100644 --- a/vendor/golang.org/x/sys/unix/mkerrors.sh +++ b/vendor/golang.org/x/sys/unix/mkerrors.sh @@ -263,6 +263,7 @@ struct ltchars { #include #include #include +#include #include #include #include @@ -549,6 +550,7 @@ ccflags="$@" $2 !~ "NLA_TYPE_MASK" && $2 !~ /^RTC_VL_(ACCURACY|BACKUP|DATA)/ && $2 ~ /^(NETLINK|NLM|NLMSG|NLA|IFA|IFAN|RT|RTC|RTCF|RTN|RTPROT|RTNH|ARPHRD|ETH_P|NETNSA)_/ || + $2 ~ /^SOCK_|SK_DIAG_|SKNLGRP_$/ || $2 ~ /^FIORDCHK$/ || $2 ~ /^SIOC/ || $2 ~ /^TIOC/ || diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux.go b/vendor/golang.org/x/sys/unix/zerrors_linux.go index 93a38a97d..877a62b47 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux.go @@ -502,6 +502,7 @@ const ( BPF_IMM = 0x0 BPF_IND = 0x40 BPF_JA = 0x0 + BPF_JCOND = 0xe0 BPF_JEQ = 0x10 BPF_JGE = 0x30 BPF_JGT = 0x20 @@ -657,6 +658,9 @@ const ( CAN_NPROTO = 0x8 CAN_RAW = 0x1 CAN_RAW_FILTER_MAX = 0x200 + CAN_RAW_XL_VCID_RX_FILTER = 0x4 + CAN_RAW_XL_VCID_TX_PASS = 0x2 + CAN_RAW_XL_VCID_TX_SET = 0x1 CAN_RTR_FLAG = 0x40000000 CAN_SFF_ID_BITS = 0xb CAN_SFF_MASK = 0x7ff @@ -1339,6 +1343,7 @@ const ( F_OFD_SETLK = 0x25 F_OFD_SETLKW = 0x26 F_OK = 0x0 + F_SEAL_EXEC = 0x20 F_SEAL_FUTURE_WRITE = 0x10 F_SEAL_GROW = 0x4 F_SEAL_SEAL = 0x1 @@ -1627,6 +1632,7 @@ const ( IP_FREEBIND = 0xf IP_HDRINCL = 0x3 IP_IPSEC_POLICY = 0x10 + IP_LOCAL_PORT_RANGE = 0x33 IP_MAXPACKET = 0xffff IP_MAX_MEMBERSHIPS = 0x14 IP_MF = 0x2000 @@ -1653,6 +1659,7 @@ const ( IP_PMTUDISC_OMIT = 0x5 IP_PMTUDISC_PROBE = 0x3 IP_PMTUDISC_WANT = 0x1 + IP_PROTOCOL = 0x34 IP_RECVERR = 0xb IP_RECVERR_RFC4884 = 0x1a IP_RECVFRAGSIZE = 0x19 @@ -2169,7 +2176,7 @@ const ( NFT_SECMARK_CTX_MAXLEN = 0x100 NFT_SET_MAXNAMELEN = 0x100 NFT_SOCKET_MAX = 0x3 - NFT_TABLE_F_MASK = 0x3 + NFT_TABLE_F_MASK = 0x7 NFT_TABLE_MAXNAMELEN = 0x100 NFT_TRACETYPE_MAX = 0x3 NFT_TUNNEL_F_MASK = 0x7 @@ -2403,6 +2410,7 @@ const ( PERF_RECORD_MISC_USER = 0x2 PERF_SAMPLE_BRANCH_PLM_ALL = 0x7 PERF_SAMPLE_WEIGHT_TYPE = 0x1004000 + PID_FS_MAGIC = 0x50494446 PIPEFS_MAGIC = 0x50495045 PPPIOCGNPMODE = 0xc008744c PPPIOCNEWUNIT = 0xc004743e @@ -2896,8 +2904,9 @@ const ( RWF_APPEND = 0x10 RWF_DSYNC = 0x2 RWF_HIPRI = 0x1 + RWF_NOAPPEND = 0x20 RWF_NOWAIT = 0x8 - RWF_SUPPORTED = 0x1f + RWF_SUPPORTED = 0x3f RWF_SYNC = 0x4 RWF_WRITE_LIFE_NOT_SET = 0x0 SCHED_BATCH = 0x3 @@ -2918,7 +2927,9 @@ const ( SCHED_RESET_ON_FORK = 0x40000000 SCHED_RR = 0x2 SCM_CREDENTIALS = 0x2 + SCM_PIDFD = 0x4 SCM_RIGHTS = 0x1 + SCM_SECURITY = 0x3 SCM_TIMESTAMP = 0x1d SC_LOG_FLUSH = 0x100000 SECCOMP_ADDFD_FLAG_SEND = 0x2 @@ -3051,6 +3062,8 @@ const ( SIOCSMIIREG = 0x8949 SIOCSRARP = 0x8962 SIOCWANDEV = 0x894a + SK_DIAG_BPF_STORAGE_MAX = 0x3 + SK_DIAG_BPF_STORAGE_REQ_MAX = 0x1 SMACK_MAGIC = 0x43415d53 SMART_AUTOSAVE = 0xd2 SMART_AUTO_OFFLINE = 0xdb @@ -3071,6 +3084,8 @@ const ( SOCKFS_MAGIC = 0x534f434b SOCK_BUF_LOCK_MASK = 0x3 SOCK_DCCP = 0x6 + SOCK_DESTROY = 0x15 + SOCK_DIAG_BY_FAMILY = 0x14 SOCK_IOC_TYPE = 0x89 SOCK_PACKET = 0xa SOCK_RAW = 0x3 @@ -3260,6 +3275,7 @@ const ( TCP_MAX_WINSHIFT = 0xe TCP_MD5SIG = 0xe TCP_MD5SIG_EXT = 0x20 + TCP_MD5SIG_FLAG_IFINDEX = 0x2 TCP_MD5SIG_FLAG_PREFIX = 0x1 TCP_MD5SIG_MAXKEYLEN = 0x50 TCP_MSS = 0x200 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go index 42ff8c3c1..e4bc0bd57 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -118,6 +118,7 @@ const ( IXOFF = 0x1000 IXON = 0x400 MAP_32BIT = 0x40 + MAP_ABOVE4G = 0x80 MAP_ANON = 0x20 MAP_ANONYMOUS = 0x20 MAP_DENYWRITE = 0x800 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go index dca436004..689317afd 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -118,6 +118,7 @@ const ( IXOFF = 0x1000 IXON = 0x400 MAP_32BIT = 0x40 + MAP_ABOVE4G = 0x80 MAP_ANON = 0x20 MAP_ANONYMOUS = 0x20 MAP_DENYWRITE = 0x800 diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go index d8cae6d15..14270508b 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -87,6 +87,7 @@ const ( FICLONE = 0x40049409 FICLONERANGE = 0x4020940d FLUSHO = 0x1000 + FPMR_MAGIC = 0x46504d52 FPSIMD_MAGIC = 0x46508001 FS_IOC_ENABLE_VERITY = 0x40806685 FS_IOC_GETFLAGS = 0x80086601 diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go index 0036746ea..4740b8348 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go @@ -4605,7 +4605,7 @@ const ( NL80211_ATTR_MAC_HINT = 0xc8 NL80211_ATTR_MAC_MASK = 0xd7 NL80211_ATTR_MAX_AP_ASSOC_STA = 0xca - NL80211_ATTR_MAX = 0x149 + NL80211_ATTR_MAX = 0x14a NL80211_ATTR_MAX_CRIT_PROT_DURATION = 0xb4 NL80211_ATTR_MAX_CSA_COUNTERS = 0xce NL80211_ATTR_MAX_MATCH_SETS = 0x85 @@ -5209,7 +5209,7 @@ const ( NL80211_FREQUENCY_ATTR_GO_CONCURRENT = 0xf NL80211_FREQUENCY_ATTR_INDOOR_ONLY = 0xe NL80211_FREQUENCY_ATTR_IR_CONCURRENT = 0xf - NL80211_FREQUENCY_ATTR_MAX = 0x1f + NL80211_FREQUENCY_ATTR_MAX = 0x20 NL80211_FREQUENCY_ATTR_MAX_TX_POWER = 0x6 NL80211_FREQUENCY_ATTR_NO_10MHZ = 0x11 NL80211_FREQUENCY_ATTR_NO_160MHZ = 0xc @@ -5703,7 +5703,7 @@ const ( NL80211_STA_FLAG_ASSOCIATED = 0x7 NL80211_STA_FLAG_AUTHENTICATED = 0x5 NL80211_STA_FLAG_AUTHORIZED = 0x1 - NL80211_STA_FLAG_MAX = 0x7 + NL80211_STA_FLAG_MAX = 0x8 NL80211_STA_FLAG_MAX_OLD_API = 0x6 NL80211_STA_FLAG_MFP = 0x4 NL80211_STA_FLAG_SHORT_PREAMBLE = 0x2 @@ -6001,3 +6001,34 @@ type CachestatRange struct { Off uint64 Len uint64 } + +const ( + SK_MEMINFO_RMEM_ALLOC = 0x0 + SK_MEMINFO_RCVBUF = 0x1 + SK_MEMINFO_WMEM_ALLOC = 0x2 + SK_MEMINFO_SNDBUF = 0x3 + SK_MEMINFO_FWD_ALLOC = 0x4 + SK_MEMINFO_WMEM_QUEUED = 0x5 + SK_MEMINFO_OPTMEM = 0x6 + SK_MEMINFO_BACKLOG = 0x7 + SK_MEMINFO_DROPS = 0x8 + SK_MEMINFO_VARS = 0x9 + SKNLGRP_NONE = 0x0 + SKNLGRP_INET_TCP_DESTROY = 0x1 + SKNLGRP_INET_UDP_DESTROY = 0x2 + SKNLGRP_INET6_TCP_DESTROY = 0x3 + SKNLGRP_INET6_UDP_DESTROY = 0x4 + SK_DIAG_BPF_STORAGE_REQ_NONE = 0x0 + SK_DIAG_BPF_STORAGE_REQ_MAP_FD = 0x1 + SK_DIAG_BPF_STORAGE_REP_NONE = 0x0 + SK_DIAG_BPF_STORAGE = 0x1 + SK_DIAG_BPF_STORAGE_NONE = 0x0 + SK_DIAG_BPF_STORAGE_PAD = 0x1 + SK_DIAG_BPF_STORAGE_MAP_ID = 0x2 + SK_DIAG_BPF_STORAGE_MAP_VALUE = 0x3 +) + +type SockDiagReq struct { + Family uint8 + Protocol uint8 +} diff --git a/vendor/golang.org/x/sys/windows/security_windows.go b/vendor/golang.org/x/sys/windows/security_windows.go index 26be94a8a..6f7d2ac70 100644 --- a/vendor/golang.org/x/sys/windows/security_windows.go +++ b/vendor/golang.org/x/sys/windows/security_windows.go @@ -68,6 +68,7 @@ type UserInfo10 struct { //sys NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) = netapi32.NetUserGetInfo //sys NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (neterr error) = netapi32.NetGetJoinInformation //sys NetApiBufferFree(buf *byte) (neterr error) = netapi32.NetApiBufferFree +//sys NetUserEnum(serverName *uint16, level uint32, filter uint32, buf **byte, prefMaxLen uint32, entriesRead *uint32, totalEntries *uint32, resumeHandle *uint32) (neterr error) = netapi32.NetUserEnum const ( // do not reorder diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go index 5c6035ddf..9f73df75b 100644 --- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go +++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go @@ -401,6 +401,7 @@ var ( procTransmitFile = modmswsock.NewProc("TransmitFile") procNetApiBufferFree = modnetapi32.NewProc("NetApiBufferFree") procNetGetJoinInformation = modnetapi32.NewProc("NetGetJoinInformation") + procNetUserEnum = modnetapi32.NewProc("NetUserEnum") procNetUserGetInfo = modnetapi32.NewProc("NetUserGetInfo") procNtCreateFile = modntdll.NewProc("NtCreateFile") procNtCreateNamedPipeFile = modntdll.NewProc("NtCreateNamedPipeFile") @@ -3486,6 +3487,14 @@ func NetGetJoinInformation(server *uint16, name **uint16, bufType *uint32) (nete return } +func NetUserEnum(serverName *uint16, level uint32, filter uint32, buf **byte, prefMaxLen uint32, entriesRead *uint32, totalEntries *uint32, resumeHandle *uint32) (neterr error) { + r0, _, _ := syscall.Syscall9(procNetUserEnum.Addr(), 8, uintptr(unsafe.Pointer(serverName)), uintptr(level), uintptr(filter), uintptr(unsafe.Pointer(buf)), uintptr(prefMaxLen), uintptr(unsafe.Pointer(entriesRead)), uintptr(unsafe.Pointer(totalEntries)), uintptr(unsafe.Pointer(resumeHandle)), 0) + if r0 != 0 { + neterr = syscall.Errno(r0) + } + return +} + func NetUserGetInfo(serverName *uint16, userName *uint16, level uint32, buf **byte) (neterr error) { r0, _, _ := syscall.Syscall6(procNetUserGetInfo.Addr(), 4, uintptr(unsafe.Pointer(serverName)), uintptr(unsafe.Pointer(userName)), uintptr(level), uintptr(unsafe.Pointer(buf)), 0, 0) if r0 != 0 { diff --git a/vendor/google.golang.org/api/internal/version.go b/vendor/google.golang.org/api/internal/version.go index 28c324a64..caf844136 100644 --- a/vendor/google.golang.org/api/internal/version.go +++ b/vendor/google.golang.org/api/internal/version.go @@ -5,4 +5,4 @@ package internal // Version is the current tagged release of the library. -const Version = "0.181.0" +const Version = "0.183.0" diff --git a/vendor/google.golang.org/api/storage/v1/storage-api.json b/vendor/google.golang.org/api/storage/v1/storage-api.json index 1b4be6993..160800c2b 100644 --- a/vendor/google.golang.org/api/storage/v1/storage-api.json +++ b/vendor/google.golang.org/api/storage/v1/storage-api.json @@ -33,7 +33,7 @@ "location": "me-central2" } ], - "etag": "\"33303333323233383838323039393532373539\"", + "etag": "\"3132383134303835313436343635393933303731\"", "icons": { "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png", "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png" @@ -681,6 +681,38 @@ "https://www.googleapis.com/auth/devstorage.full_control" ] }, + "getStorageLayout": { + "description": "Returns the storage layout configuration for the specified bucket. Note that this operation requires storage.objects.list permission.", + "httpMethod": "GET", + "id": "storage.buckets.getStorageLayout", + "parameterOrder": [ + "bucket" + ], + "parameters": { + "bucket": { + "description": "Name of a bucket.", + "location": "path", + "required": true, + "type": "string" + }, + "prefix": { + "description": "An optional prefix used for permission check. It is useful when the caller only has storage.objects.list permission under a specific prefix.", + "location": "query", + "type": "string" + } + }, + "path": "b/{bucket}/storageLayout", + "response": { + "$ref": "BucketStorageLayout" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/devstorage.full_control", + "https://www.googleapis.com/auth/devstorage.read_only", + "https://www.googleapis.com/auth/devstorage.read_write" + ] + }, "insert": { "description": "Creates a new bucket.", "httpMethod": "POST", @@ -4043,7 +4075,7 @@ } } }, - "revision": "20240319", + "revision": "20240524", "rootUrl": "https://storage.googleapis.com/", "schemas": { "AnywhereCache": { @@ -4662,6 +4694,53 @@ }, "type": "object" }, + "BucketStorageLayout": { + "description": "The storage layout configuration of a bucket.", + "id": "BucketStorageLayout", + "properties": { + "bucket": { + "description": "The name of the bucket.", + "type": "string" + }, + "customPlacementConfig": { + "description": "The bucket's custom placement configuration for Custom Dual Regions.", + "properties": { + "dataLocations": { + "description": "The list of regional locations in which data is placed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "hierarchicalNamespace": { + "description": "The bucket's hierarchical namespace configuration.", + "properties": { + "enabled": { + "description": "When set to true, hierarchical namespace is enabled for this bucket.", + "type": "boolean" + } + }, + "type": "object" + }, + "kind": { + "default": "storage#storageLayout", + "description": "The kind of item this is. For storage layout, this is always storage#storageLayout.", + "type": "string" + }, + "location": { + "description": "The location of the bucket.", + "type": "string" + }, + "locationType": { + "description": "The type of the bucket location.", + "type": "string" + } + }, + "type": "object" + }, "Buckets": { "description": "A list of buckets.", "id": "Buckets", diff --git a/vendor/google.golang.org/api/storage/v1/storage-gen.go b/vendor/google.golang.org/api/storage/v1/storage-gen.go index 6a5db35fa..b4d425e59 100644 --- a/vendor/google.golang.org/api/storage/v1/storage-gen.go +++ b/vendor/google.golang.org/api/storage/v1/storage-gen.go @@ -1257,6 +1257,90 @@ func (s *BucketAccessControls) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } +// BucketStorageLayout: The storage layout configuration of a bucket. +type BucketStorageLayout struct { + // Bucket: The name of the bucket. + Bucket string `json:"bucket,omitempty"` + // CustomPlacementConfig: The bucket's custom placement configuration for + // Custom Dual Regions. + CustomPlacementConfig *BucketStorageLayoutCustomPlacementConfig `json:"customPlacementConfig,omitempty"` + // HierarchicalNamespace: The bucket's hierarchical namespace configuration. + HierarchicalNamespace *BucketStorageLayoutHierarchicalNamespace `json:"hierarchicalNamespace,omitempty"` + // Kind: The kind of item this is. For storage layout, this is always + // storage#storageLayout. + Kind string `json:"kind,omitempty"` + // Location: The location of the bucket. + Location string `json:"location,omitempty"` + // LocationType: The type of the bucket location. + LocationType string `json:"locationType,omitempty"` + + // ServerResponse contains the HTTP response code and headers from the server. + googleapi.ServerResponse `json:"-"` + // ForceSendFields is a list of field names (e.g. "Bucket") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Bucket") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *BucketStorageLayout) MarshalJSON() ([]byte, error) { + type NoMethod BucketStorageLayout + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +// BucketStorageLayoutCustomPlacementConfig: The bucket's custom placement +// configuration for Custom Dual Regions. +type BucketStorageLayoutCustomPlacementConfig struct { + // DataLocations: The list of regional locations in which data is placed. + DataLocations []string `json:"dataLocations,omitempty"` + // ForceSendFields is a list of field names (e.g. "DataLocations") to + // unconditionally include in API requests. By default, fields with empty or + // default values are omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "DataLocations") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *BucketStorageLayoutCustomPlacementConfig) MarshalJSON() ([]byte, error) { + type NoMethod BucketStorageLayoutCustomPlacementConfig + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + +// BucketStorageLayoutHierarchicalNamespace: The bucket's hierarchical +// namespace configuration. +type BucketStorageLayoutHierarchicalNamespace struct { + // Enabled: When set to true, hierarchical namespace is enabled for this + // bucket. + Enabled bool `json:"enabled,omitempty"` + // ForceSendFields is a list of field names (e.g. "Enabled") to unconditionally + // include in API requests. By default, fields with empty or default values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more + // details. + ForceSendFields []string `json:"-"` + // NullFields is a list of field names (e.g. "Enabled") to include in API + // requests with the JSON null value. By default, fields with empty values are + // omitted from API requests. See + // https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details. + NullFields []string `json:"-"` +} + +func (s *BucketStorageLayoutHierarchicalNamespace) MarshalJSON() ([]byte, error) { + type NoMethod BucketStorageLayoutHierarchicalNamespace + return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) +} + // Buckets: A list of buckets. type Buckets struct { // Items: The list of items. @@ -4350,6 +4434,123 @@ func (c *BucketsGetIamPolicyCall) Do(opts ...googleapi.CallOption) (*Policy, err return ret, nil } +type BucketsGetStorageLayoutCall struct { + s *Service + bucket string + urlParams_ gensupport.URLParams + ifNoneMatch_ string + ctx_ context.Context + header_ http.Header +} + +// GetStorageLayout: Returns the storage layout configuration for the specified +// bucket. Note that this operation requires storage.objects.list permission. +// +// - bucket: Name of a bucket. +func (r *BucketsService) GetStorageLayout(bucket string) *BucketsGetStorageLayoutCall { + c := &BucketsGetStorageLayoutCall{s: r.s, urlParams_: make(gensupport.URLParams)} + c.bucket = bucket + return c +} + +// Prefix sets the optional parameter "prefix": An optional prefix used for +// permission check. It is useful when the caller only has storage.objects.list +// permission under a specific prefix. +func (c *BucketsGetStorageLayoutCall) Prefix(prefix string) *BucketsGetStorageLayoutCall { + c.urlParams_.Set("prefix", prefix) + return c +} + +// Fields allows partial responses to be retrieved. See +// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more +// details. +func (c *BucketsGetStorageLayoutCall) Fields(s ...googleapi.Field) *BucketsGetStorageLayoutCall { + c.urlParams_.Set("fields", googleapi.CombineFields(s)) + return c +} + +// IfNoneMatch sets an optional parameter which makes the operation fail if the +// object's ETag matches the given value. This is useful for getting updates +// only after the object has changed since the last request. +func (c *BucketsGetStorageLayoutCall) IfNoneMatch(entityTag string) *BucketsGetStorageLayoutCall { + c.ifNoneMatch_ = entityTag + return c +} + +// Context sets the context to be used in this call's Do method. +func (c *BucketsGetStorageLayoutCall) Context(ctx context.Context) *BucketsGetStorageLayoutCall { + c.ctx_ = ctx + return c +} + +// Header returns a http.Header that can be modified by the caller to add +// headers to the request. +func (c *BucketsGetStorageLayoutCall) Header() http.Header { + if c.header_ == nil { + c.header_ = make(http.Header) + } + return c.header_ +} + +func (c *BucketsGetStorageLayoutCall) doRequest(alt string) (*http.Response, error) { + reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_) + if c.ifNoneMatch_ != "" { + reqHeaders.Set("If-None-Match", c.ifNoneMatch_) + } + var body io.Reader = nil + c.urlParams_.Set("alt", alt) + c.urlParams_.Set("prettyPrint", "false") + urls := googleapi.ResolveRelative(c.s.BasePath, "b/{bucket}/storageLayout") + urls += "?" + c.urlParams_.Encode() + req, err := http.NewRequest("GET", urls, body) + if err != nil { + return nil, err + } + req.Header = reqHeaders + googleapi.Expand(req.URL, map[string]string{ + "bucket": c.bucket, + }) + return gensupport.SendRequest(c.ctx_, c.s.client, req) +} + +// Do executes the "storage.buckets.getStorageLayout" call. +// Any non-2xx status code is an error. Response headers are in either +// *BucketStorageLayout.ServerResponse.Header or (if a response was returned at +// all) in error.(*googleapi.Error).Header. Use googleapi.IsNotModified to +// check whether the returned error was because http.StatusNotModified was +// returned. +func (c *BucketsGetStorageLayoutCall) Do(opts ...googleapi.CallOption) (*BucketStorageLayout, error) { + gensupport.SetOptions(c.urlParams_, opts...) + res, err := c.doRequest("json") + if res != nil && res.StatusCode == http.StatusNotModified { + if res.Body != nil { + res.Body.Close() + } + return nil, gensupport.WrapError(&googleapi.Error{ + Code: res.StatusCode, + Header: res.Header, + }) + } + if err != nil { + return nil, err + } + defer googleapi.CloseBody(res) + if err := googleapi.CheckResponse(res); err != nil { + return nil, gensupport.WrapError(err) + } + ret := &BucketStorageLayout{ + ServerResponse: googleapi.ServerResponse{ + Header: res.Header, + HTTPStatusCode: res.StatusCode, + }, + } + target := &ret + if err := gensupport.DecodeResponse(target, res); err != nil { + return nil, err + } + return ret, nil +} + type BucketsInsertCall struct { s *Service bucket *Bucket diff --git a/vendor/modules.txt b/vendor/modules.txt index 140dd0fdb..d189f208f 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1,10 +1,10 @@ -# cloud.google.com/go v0.113.0 -## explicit; go 1.19 +# cloud.google.com/go v0.114.0 +## explicit; go 1.20 cloud.google.com/go/internal cloud.google.com/go/internal/optional cloud.google.com/go/internal/trace cloud.google.com/go/internal/version -# cloud.google.com/go/auth v0.4.2 +# cloud.google.com/go/auth v0.5.1 ## explicit; go 1.20 cloud.google.com/go/auth cloud.google.com/go/auth/credentials @@ -36,7 +36,7 @@ cloud.google.com/go/storage cloud.google.com/go/storage/internal cloud.google.com/go/storage/internal/apiv2 cloud.google.com/go/storage/internal/apiv2/storagepb -# github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 +# github.com/Azure/azure-sdk-for-go/sdk/azcore v1.12.0 ## explicit; go 1.18 github.com/Azure/azure-sdk-for-go/sdk/azcore github.com/Azure/azure-sdk-for-go/sdk/azcore/arm/internal/resource @@ -62,7 +62,7 @@ github.com/Azure/azure-sdk-for-go/sdk/azcore/tracing ## explicit; go 1.18 github.com/Azure/azure-sdk-for-go/sdk/azidentity github.com/Azure/azure-sdk-for-go/sdk/azidentity/internal -# github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 +# github.com/Azure/azure-sdk-for-go/sdk/internal v1.9.0 ## explicit; go 1.18 github.com/Azure/azure-sdk-for-go/sdk/internal/diag github.com/Azure/azure-sdk-for-go/sdk/internal/errorinfo @@ -128,7 +128,7 @@ github.com/VividCortex/ewma # github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9 ## explicit; go 1.15 github.com/alecthomas/units -# github.com/aws/aws-sdk-go v1.53.8 +# github.com/aws/aws-sdk-go v1.53.18 ## explicit; go 1.19 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/auth/bearer @@ -172,7 +172,7 @@ github.com/aws/aws-sdk-go/service/sso/ssoiface github.com/aws/aws-sdk-go/service/ssooidc github.com/aws/aws-sdk-go/service/sts github.com/aws/aws-sdk-go/service/sts/stsiface -# github.com/aws/aws-sdk-go-v2 v1.27.0 +# github.com/aws/aws-sdk-go-v2 v1.27.1 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/aws github.com/aws/aws-sdk-go-v2/aws/arn @@ -204,10 +204,10 @@ github.com/aws/aws-sdk-go-v2/internal/timeconv ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi -# github.com/aws/aws-sdk-go-v2/config v1.27.15 +# github.com/aws/aws-sdk-go-v2/config v1.27.17 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/config -# github.com/aws/aws-sdk-go-v2/credentials v1.17.15 +# github.com/aws/aws-sdk-go-v2/credentials v1.17.17 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/credentials github.com/aws/aws-sdk-go-v2/credentials/ec2rolecreds @@ -216,23 +216,23 @@ github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client github.com/aws/aws-sdk-go-v2/credentials/processcreds github.com/aws/aws-sdk-go-v2/credentials/ssocreds github.com/aws/aws-sdk-go-v2/credentials/stscreds -# github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.3 +# github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.4 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/feature/ec2/imds github.com/aws/aws-sdk-go-v2/feature/ec2/imds/internal/config -# github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.20 +# github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.23 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/feature/s3/manager -# github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.7 +# github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.8 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/internal/configsources -# github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.7 +# github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.8 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 # github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/internal/ini -# github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.7 +# github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.8 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/internal/v4a github.com/aws/aws-sdk-go-v2/internal/v4a/internal/crypto @@ -240,35 +240,35 @@ github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4 # github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.2 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding -# github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.9 +# github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.10 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/service/internal/checksum -# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.9 +# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.10 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/service/internal/presigned-url -# github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.7 +# github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.8 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/service/internal/s3shared github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn github.com/aws/aws-sdk-go-v2/service/internal/s3shared/config -# github.com/aws/aws-sdk-go-v2/service/s3 v1.54.2 +# github.com/aws/aws-sdk-go-v2/service/s3 v1.55.0 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/service/s3 github.com/aws/aws-sdk-go-v2/service/s3/internal/arn github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations github.com/aws/aws-sdk-go-v2/service/s3/internal/endpoints github.com/aws/aws-sdk-go-v2/service/s3/types -# github.com/aws/aws-sdk-go-v2/service/sso v1.20.8 +# github.com/aws/aws-sdk-go-v2/service/sso v1.20.10 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/service/sso github.com/aws/aws-sdk-go-v2/service/sso/internal/endpoints github.com/aws/aws-sdk-go-v2/service/sso/types -# github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.2 +# github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.4 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/service/ssooidc github.com/aws/aws-sdk-go-v2/service/ssooidc/internal/endpoints github.com/aws/aws-sdk-go-v2/service/ssooidc/types -# github.com/aws/aws-sdk-go-v2/service/sts v1.28.9 +# github.com/aws/aws-sdk-go-v2/service/sts v1.28.11 ## explicit; go 1.20 github.com/aws/aws-sdk-go-v2/service/sts github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints @@ -413,7 +413,7 @@ github.com/googleapis/gax-go/v2/internal ## explicit; go 1.21 github.com/grafana/regexp github.com/grafana/regexp/syntax -# github.com/hashicorp/go-version v1.6.0 +# github.com/hashicorp/go-version v1.7.0 ## explicit github.com/hashicorp/go-version # github.com/influxdata/influxdb v1.11.5 @@ -489,7 +489,7 @@ github.com/prometheus/client_golang/prometheus/testutil/promlint/validations # github.com/prometheus/client_model v0.6.1 ## explicit; go 1.19 github.com/prometheus/client_model/go -# github.com/prometheus/common v0.53.0 +# github.com/prometheus/common v0.54.0 ## explicit; go 1.20 github.com/prometheus/common/config github.com/prometheus/common/expfmt @@ -499,12 +499,12 @@ github.com/prometheus/common/version # github.com/prometheus/common/sigv4 v0.1.0 ## explicit; go 1.15 github.com/prometheus/common/sigv4 -# github.com/prometheus/procfs v0.15.0 -## explicit; go 1.21 +# github.com/prometheus/procfs v0.15.1 +## explicit; go 1.20 github.com/prometheus/procfs github.com/prometheus/procfs/internal/fs github.com/prometheus/procfs/internal/util -# github.com/prometheus/prometheus v0.52.0 +# github.com/prometheus/prometheus v0.52.1 ## explicit; go 1.21 github.com/prometheus/prometheus/config github.com/prometheus/prometheus/discovery @@ -602,11 +602,11 @@ go.opencensus.io/trace go.opencensus.io/trace/internal go.opencensus.io/trace/propagation go.opencensus.io/trace/tracestate -# go.opentelemetry.io/collector/featuregate v1.8.0 -## explicit; go 1.21 +# go.opentelemetry.io/collector/featuregate v1.9.0 +## explicit; go 1.21.0 go.opentelemetry.io/collector/featuregate -# go.opentelemetry.io/collector/pdata v1.8.0 -## explicit; go 1.21 +# go.opentelemetry.io/collector/pdata v1.9.0 +## explicit; go 1.21.0 go.opentelemetry.io/collector/pdata/internal go.opentelemetry.io/collector/pdata/internal/data go.opentelemetry.io/collector/pdata/internal/data/protogen/collector/logs/v1 @@ -622,8 +622,8 @@ go.opentelemetry.io/collector/pdata/internal/otlp go.opentelemetry.io/collector/pdata/pcommon go.opentelemetry.io/collector/pdata/pmetric go.opentelemetry.io/collector/pdata/pmetric/pmetricotlp -# go.opentelemetry.io/collector/semconv v0.101.0 -## explicit; go 1.21 +# go.opentelemetry.io/collector/semconv v0.102.1 +## explicit; go 1.21.0 go.opentelemetry.io/collector/semconv/v1.6.1 # go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.52.0 ## explicit; go 1.21 @@ -667,7 +667,7 @@ go.uber.org/goleak/internal/stack # go.uber.org/multierr v1.11.0 ## explicit; go 1.19 go.uber.org/multierr -# golang.org/x/crypto v0.23.0 +# golang.org/x/crypto v0.24.0 ## explicit; go 1.18 golang.org/x/crypto/chacha20 golang.org/x/crypto/chacha20poly1305 @@ -678,10 +678,10 @@ golang.org/x/crypto/internal/alias golang.org/x/crypto/internal/poly1305 golang.org/x/crypto/pkcs12 golang.org/x/crypto/pkcs12/internal/rc2 -# golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 +# golang.org/x/exp v0.0.0-20240604190554-fc45aab8b7f8 ## explicit; go 1.20 golang.org/x/exp/constraints -# golang.org/x/net v0.25.0 +# golang.org/x/net v0.26.0 ## explicit; go 1.18 golang.org/x/net/http/httpguts golang.org/x/net/http/httpproxy @@ -690,7 +690,7 @@ golang.org/x/net/http2/hpack golang.org/x/net/idna golang.org/x/net/internal/timeseries golang.org/x/net/trace -# golang.org/x/oauth2 v0.20.0 +# golang.org/x/oauth2 v0.21.0 ## explicit; go 1.18 golang.org/x/oauth2 golang.org/x/oauth2/authhandler @@ -707,12 +707,12 @@ golang.org/x/oauth2/jwt ## explicit; go 1.18 golang.org/x/sync/errgroup golang.org/x/sync/semaphore -# golang.org/x/sys v0.20.0 +# golang.org/x/sys v0.21.0 ## explicit; go 1.18 golang.org/x/sys/cpu golang.org/x/sys/unix golang.org/x/sys/windows -# golang.org/x/text v0.15.0 +# golang.org/x/text v0.16.0 ## explicit; go 1.18 golang.org/x/text/secure/bidirule golang.org/x/text/transform @@ -721,7 +721,7 @@ golang.org/x/text/unicode/norm # golang.org/x/time v0.5.0 ## explicit; go 1.18 golang.org/x/time/rate -# google.golang.org/api v0.181.0 +# google.golang.org/api v0.183.0 ## explicit; go 1.20 google.golang.org/api/googleapi google.golang.org/api/googleapi/transport @@ -739,15 +739,15 @@ google.golang.org/api/transport google.golang.org/api/transport/grpc google.golang.org/api/transport/http google.golang.org/api/transport/http/internal/propagation -# google.golang.org/genproto v0.0.0-20240521202816-d264139d666e +# google.golang.org/genproto v0.0.0-20240604185151-ef581f913117 ## explicit; go 1.20 google.golang.org/genproto/googleapis/type/date google.golang.org/genproto/googleapis/type/expr -# google.golang.org/genproto/googleapis/api v0.0.0-20240521202816-d264139d666e +# google.golang.org/genproto/googleapis/api v0.0.0-20240604185151-ef581f913117 ## explicit; go 1.20 google.golang.org/genproto/googleapis/api google.golang.org/genproto/googleapis/api/annotations -# google.golang.org/genproto/googleapis/rpc v0.0.0-20240521202816-d264139d666e +# google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 ## explicit; go 1.20 google.golang.org/genproto/googleapis/rpc/code google.golang.org/genproto/googleapis/rpc/errdetails