diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 00000000..d183cdca
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,5 @@
+{
+ "files.associations": {
+ "ratio": "cpp"
+ }
+}
\ No newline at end of file
diff --git a/data_svelte/build/bundle.css b/data_svelte/build/bundle.css
index 049e0a9f..3102a99d 100644
--- a/data_svelte/build/bundle.css
+++ b/data_svelte/build/bundle.css
@@ -11,4 +11,4 @@
Consolas,
'Liberation Mono',
Menlo,
- monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type='button']{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5}body{font-family:inherit;line-height:inherit}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.grd-3cols{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));justify-items:center;gap:1rem}@media(min-width: 640px){.grd-3cols{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.grd-3cols{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media(min-width: 1280px){.grd-3cols{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media(min-width: 1536px){.grd-3cols{grid-template-columns:repeat(3, minmax(0, 1fr))}}.grd-1cols{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));justify-items:center}.crd{width:100%;border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));padding:0.5rem;--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}@media(min-width: 640px){.crd{padding:0.5rem}}@media(min-width: 768px){.crd{padding:0.5rem}}@media(min-width: 1024px){.crd{padding:0.5rem;--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.crd{padding-left:2rem;padding-right:2rem;padding-top:1rem;padding-bottom:1rem}}@media(min-width: 1536px){.crd{padding-left:2rem;padding-right:2rem;padding-top:1rem;padding-bottom:1rem}}.crd-hdr{padding-bottom:1rem;text-align:center;font-size:1.125rem;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.crd-itm-psn{margin-bottom:1rem;display:flex;height:2rem;align-items:center}.wgt-dscr-w{width:66.666667%}.wgt-dscr-stl{padding-right:1rem;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.wgt-w{display:flex;width:33.333333%;justify-content:flex-end}.wgt-ipt{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;align-content:center;border-radius:0.25rem;border-width:2px;--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(229, 231, 235, var(--tw-bg-opacity))}.wgt-ipt:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.wgt-ipt{padding-top:0.25rem;padding-bottom:0.25rem;padding-right:1rem;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.wgt-ipt:focus{outline:2px solid transparent;outline-offset:2px}.jsn-ipt{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;align-content:center;border-radius:0.25rem;border-width:2px;--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.jsn-ipt:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.jsn-ipt{--tw-bg-opacity:1;background-color:rgba(229, 231, 235, var(--tw-bg-opacity))}.jsn-ipt:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.jsn-ipt{padding-top:0.25rem;padding-bottom:0.25rem;padding-right:1rem;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.jsn-ipt:focus{outline:2px solid transparent;outline-offset:2px}.wgt-adt-stl{text-align:center;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.tbl-hd{overflow-wrap:break-word;padding-left:0.25rem;padding-right:0.25rem;padding-top:0.25rem;padding-bottom:0.25rem;text-align:center;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.tbl-bdy{overflow-wrap:break-word;padding-left:0.25rem;padding-right:0.25rem;padding-top:0.25rem;padding-bottom:0.25rem;text-align:center}.tbl-s-bdy{overflow-wrap:break-word;padding-left:0.25rem;padding-right:0.25rem;padding-top:0.25rem;padding-bottom:0.25rem}.tbl-ipt{height:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;align-content:center;border-width:2px;--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.tbl-ipt:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.tbl-ipt{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.tbl-ipt:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.tbl-ipt{text-align:center;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.tbl-ipt:focus{outline:2px solid transparent;outline-offset:2px}.tbl-s-ipt{height:auto;-webkit-appearance:none;-moz-appearance:none;appearance:none;align-content:center;border-radius:0.125rem;border-width:2px;--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.tbl-s-ipt:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.tbl-s-ipt{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.tbl-s-ipt:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.tbl-s-ipt{text-align:center;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.tbl-s-ipt:focus{outline:2px solid transparent;outline-offset:2px}.tbl-s-txt{display:inline-block;text-align:right;vertical-align:top;font-style:italic;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.tbl-txt-p{padding-left:0.5rem;padding-right:0.5rem;padding-top:0px;padding-bottom:0px}@media(min-width: 640px){.tbl-txt-p{padding-top:0px;padding-bottom:0px}}@media(min-width: 768px){.tbl-txt-p{padding-top:0px;padding-bottom:0px}}@media(min-width: 1024px){.tbl-txt-p{padding-top:0.25rem;padding-bottom:0.25rem}}@media(min-width: 1280px){.tbl-txt-p{padding-top:0.5rem;padding-bottom:0.5rem}}@media(min-width: 1536px){.tbl-txt-p{padding-top:0.5rem;padding-bottom:0.5rem}}.tbl-txt-sz{font-size:.5rem}@media(min-width: 640px){.tbl-txt-sz{font-size:1rem}}@media(min-width: 768px){.tbl-txt-sz{font-size:1rem}}@media(min-width: 1024px){.tbl-txt-sz{font-size:1rem}}@media(min-width: 1280px){.tbl-txt-sz{font-size:1rem}}@media(min-width: 1536px){.tbl-txt-sz{font-size:1rem}}.btn-lg{margin-top:0px;display:flex;height:2rem;width:100%;align-content:center;justify-content:center;overflow-wrap:break-word;border-radius:0.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.btn-lg:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.btn-lg{font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.grd-2colsfx{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));justify-items:center;gap:1rem}@media(min-width: 640px){.grd-2colsfx{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.grd-2colsfx{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1280px){.grd-2colsfx{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1536px){.grd-2colsfx{grid-template-columns:repeat(2, minmax(0, 1fr))}}.grd-2cols{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));justify-items:center;gap:1rem}@media(min-width: 640px){.grd-2cols{grid-template-columns:repeat(1, minmax(0, 1fr))}}@media(min-width: 1024px){.grd-2cols{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1280px){.grd-2cols{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1536px){.grd-2cols{grid-template-columns:repeat(2, minmax(0, 1fr))}}.slct-lg{margin-bottom:0px;display:flex;height:2rem;width:100%;align-content:center;justify-content:center;overflow-wrap:break-word;border-radius:0.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.slct-lg:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.slct-lg{font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.top-1{top:0.25rem}.left-1{left:0.25rem}.z-10{z-index:10}.my-2{margin-top:0.5rem;margin-bottom:0.5rem}.mt-0{margin-top:0px}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mb-0{margin-bottom:0px}.mb-4{margin-bottom:1rem}.ml-0{margin-left:0px}.ml-36{margin-left:9rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-full{width:100%}.flex-1{flex:1 1 0%}.table-fixed{table-layout:fixed}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@-webkit-keyframes ping{75%,100%{transform:scale(2);opacity:0}}@keyframes ping{75%,100%{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}@keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.flex-col{flex-direction:column}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-4{gap:1rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.break-words{overflow-wrap:break-word}.rounded{border-radius:0.25rem}.rounded-md{border-radius:0.375rem}.rounded-lg{border-radius:0.5rem}.rounded-full{border-radius:9999px}.border-2{border-width:2px}.border{border-width:1px}.border-transparent{border-color:transparent}.border-gray-100{--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgba(239, 68, 68, var(--tw-border-opacity))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243, 244, 246, var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity:1;background-color:rgba(229, 231, 235, var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107, 114, 128, var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75, 85, 99, var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254, 242, 242, var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity:1;background-color:rgba(248, 113, 113, var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgba(220, 38, 38, var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgba(236, 253, 245, var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99, 102, 241, var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185, 28, 28, var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67, 56, 202, var(--tw-bg-opacity))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-cover{background-size:cover}.p-0{padding:0px}.p-2{padding:0.5rem}.px-1{padding-left:0.25rem;padding-right:0.25rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0{padding-top:0px;padding-bottom:0px}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.pt-0{padding-top:0px}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pb-20{padding-bottom:5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-bottom{vertical-align:bottom}.text-xxs{font-size:.5rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgba(0, 0, 0, var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgba(17, 24, 39, var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgba(248, 113, 113, var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgba(239, 68, 68, var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgba(52, 211, 153, var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgba(16, 185, 129, var(--tw-text-opacity))}*,::before,::after{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}*,::before,::after{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#menu__toggle{position:relative;opacity:0}#menu__toggle:checked~.menu__btn>span{transform:rotate(45deg)}#menu__toggle:checked~.menu__btn>span::before{top:0;transform:rotate(0)}#menu__toggle:checked~.menu__btn>span::after{top:0;transform:rotate(90deg)}#menu__toggle:checked~.menu__box{visibility:visible;left:0}#menu__toggle:checked~.menu__main{margin-left:150px;transition-duration:0.25s}.menu__btn{display:flex;align-items:center;position:fixed;z-index:1;top:10px;left:20px;width:20px;height:20px;cursor:pointer}.menu__btn>span,.menu__btn>span::before,.menu__btn>span::after{display:block;position:absolute;width:100%;height:2px;background-color:#616161;transition-duration:0.25s}.menu__btn>span::before{content:"";top:-8px}.menu__btn>span::after{content:"";top:8px}.menu__box{display:block;position:fixed;visibility:hidden;top:0;left:-100%;width:150px;height:100%;margin:0;padding:80px 0;list-style:none;background-color:#eceff1;box-shadow:1px 0px 6px rgba(0, 0, 0, 0.2);transition-duration:0.25s}.menu__item{display:block;padding:12px 24px;color:rgba(51, 51, 51, 0.788);font-family:"Roboto", sans-serif;font-size:15px;font-weight:600;text-decoration:none;transition-duration:0.25s}.menu__item:hover{background-color:#cfd8dc}.upper__bar{background-color:rgba(51, 51, 51, 0.144);height:70px;position:fixed;z-index:-1;top:0px;left:0;width:100%;margin:0;padding:0;box-shadow:1px 0px 3px rgba(0, 0, 0, 0.2)}input[type="date"]::-webkit-calendar-picker-indicator{margin-left:5px;margin-right:-8px}input[type="time"]::-webkit-calendar-picker-indicator{margin-left:5px;margin-right:-8px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{margin-left:7px;margin-right:-6px;width:30px;height:30px;opacity:1}input:checked~.dot{transform:translateX(100%)}@media(min-width: 640px){.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mt-0{margin-top:0px}.sm\:ml-3{margin-left:0.75rem}.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:h-screen{height:100vh}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:p-0{padding:0px}.sm\:p-2{padding:0.5rem}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-0{padding-top:0px;padding-bottom:0px}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}}@media(min-width: 768px){.md\:p-2{padding:0.5rem}.md\:py-0{padding-top:0px;padding-bottom:0px}.md\:text-base{font-size:1rem}}@media(min-width: 1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\:p-2{padding:0.5rem}.lg\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.lg\:text-base{font-size:1rem}.lg\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.xl\:px-8{padding-left:2rem;padding-right:2rem}.xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:text-base{font-size:1rem}}@media(min-width: 1536px){.\32xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.\32xl\:px-8{padding-left:2rem;padding-right:2rem}.\32xl\:py-4{padding-top:1rem;padding-bottom:1rem}}
\ No newline at end of file
+ monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type='button']{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}button{background-color:transparent;background-image:none}fieldset{margin:0;padding:0}ol,ul{list-style:none;margin:0;padding:0}html{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";line-height:1.5}body{font-family:inherit;line-height:inherit}*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}hr{border-top-width:1px}img{border-style:solid}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button{cursor:pointer}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}button,input,optgroup,select,textarea{padding:0;line-height:inherit;color:inherit}pre,code,kbd,samp{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,::before,::after{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.grd-3cols{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));justify-items:center;gap:1rem}@media(min-width: 640px){.grd-3cols{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.grd-3cols{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media(min-width: 1280px){.grd-3cols{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media(min-width: 1536px){.grd-3cols{grid-template-columns:repeat(3, minmax(0, 1fr))}}.grd-1cols{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));justify-items:center}.crd{width:100%;border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));padding:0.5rem;--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}@media(min-width: 640px){.crd{padding:0.5rem}}@media(min-width: 768px){.crd{padding:0.5rem}}@media(min-width: 1024px){.crd{padding:0.5rem;--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.crd{padding-left:2rem;padding-right:2rem;padding-top:1rem;padding-bottom:1rem}}@media(min-width: 1536px){.crd{padding-left:2rem;padding-right:2rem;padding-top:1rem;padding-bottom:1rem}}.crd-hdr{padding-bottom:1rem;text-align:center;font-size:1.125rem;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.crd-itm-psn{margin-bottom:0.75rem;display:flex;height:2rem;align-items:center}.wgt-dscr-w{width:66.666667%}.wgt-dscr-stl{padding-right:1rem;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.wgt-w{display:flex;width:33.333333%;justify-content:flex-end}.wgt-ipt{height:2rem;width:100%;align-content:center;border-radius:0.25rem;border-width:2px;--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.wgt-ipt:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.wgt-ipt{padding-left:0.5rem;padding-right:0.5rem;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.wgt-ipt:focus{outline:2px solid transparent;outline-offset:2px}.jsn-ipt{height:2rem;width:100%;align-content:center;border-radius:0.25rem;border-width:2px;--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.jsn-ipt:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.jsn-ipt{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.jsn-ipt:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.jsn-ipt{padding-left:0.5rem;padding-right:0.5rem;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.jsn-ipt:focus{outline:2px solid transparent;outline-offset:2px}.wgt-adt-stl{text-align:center;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.tbl-hd{overflow-wrap:break-word;padding-left:0.25rem;padding-right:0.25rem;text-align:center;font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.tbl-bdy{overflow-wrap:break-word;padding-left:0.25rem;padding-right:0.25rem;text-align:center}.tbl-s-bdy{overflow-wrap:break-word;padding-left:0.25rem;padding-right:0.25rem}.tbl-ipt{margin-top:0.5rem;height:1.75rem;align-content:center;border-width:2px;--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.tbl-ipt:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.tbl-ipt{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.tbl-ipt:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.tbl-ipt{text-align:center;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.tbl-ipt:focus{outline:2px solid transparent;outline-offset:2px}.tbl-s-ipt{height:1.5rem;align-content:center;border-radius:0.125rem;border-width:2px;--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.tbl-s-ipt:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.tbl-s-ipt{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.tbl-s-ipt:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.tbl-s-ipt{text-align:center;line-height:1.25;--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.tbl-s-ipt:focus{outline:2px solid transparent;outline-offset:2px}.tbl-s-txt{display:inline-block;text-align:right;vertical-align:top;font-style:italic;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.tbl-txt-p{padding-left:0.5rem;padding-right:0.5rem;padding-top:0px;padding-bottom:0px}@media(min-width: 640px){.tbl-txt-p{padding-top:0px;padding-bottom:0px}}@media(min-width: 768px){.tbl-txt-p{padding-top:0px;padding-bottom:0px}}@media(min-width: 1024px){.tbl-txt-p{padding-top:0.25rem;padding-bottom:0.25rem}}@media(min-width: 1280px){.tbl-txt-p{padding-top:0.5rem;padding-bottom:0.5rem}}@media(min-width: 1536px){.tbl-txt-p{padding-top:0.5rem;padding-bottom:0.5rem}}.tbl-txt-sz{font-size:.5rem}@media(min-width: 640px){.tbl-txt-sz{font-size:1rem}}@media(min-width: 768px){.tbl-txt-sz{font-size:1rem}}@media(min-width: 1024px){.tbl-txt-sz{font-size:1rem}}@media(min-width: 1280px){.tbl-txt-sz{font-size:1rem}}@media(min-width: 1536px){.tbl-txt-sz{font-size:1rem}}.btn-lg{margin-top:0px;display:flex;height:2rem;width:100%;align-content:center;justify-content:center;overflow-wrap:break-word;border-radius:0.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.btn-lg:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.btn-lg{font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.grd-2colsfx{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));justify-items:center;gap:1rem}@media(min-width: 640px){.grd-2colsfx{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1024px){.grd-2colsfx{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1280px){.grd-2colsfx{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1536px){.grd-2colsfx{grid-template-columns:repeat(2, minmax(0, 1fr))}}.grd-2cols{display:grid;grid-template-columns:repeat(1, minmax(0, 1fr));justify-items:center;gap:1rem}@media(min-width: 640px){.grd-2cols{grid-template-columns:repeat(1, minmax(0, 1fr))}}@media(min-width: 1024px){.grd-2cols{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1280px){.grd-2cols{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media(min-width: 1536px){.grd-2cols{grid-template-columns:repeat(2, minmax(0, 1fr))}}.slct-lg{margin-bottom:0px;display:flex;height:2rem;width:100%;align-content:center;justify-content:center;overflow-wrap:break-word;border-radius:0.25rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.slct-lg:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.slct-lg{font-weight:700;--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0px;right:0px;bottom:0px;left:0px}.top-1{top:0.25rem}.left-1{left:0.25rem}.z-10{z-index:10}.z-50{z-index:50}.my-2{margin-top:0.5rem;margin-bottom:0.5rem}.mt-0{margin-top:0px}.mt-2{margin-top:0.5rem}.mt-3{margin-top:0.75rem}.mb-0{margin-bottom:0px}.mb-3{margin-bottom:0.75rem}.ml-0{margin-left:0px}.ml-36{margin-left:9rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-4{height:1rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-10{height:2.5rem}.h-20{height:5rem}.h-auto{height:auto}.h-screen{height:100vh}.min-h-screen{min-height:100vh}.w-4{width:1rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-10{width:2.5rem}.w-20{width:5rem}.w-full{width:100%}.flex-1{flex:1 1 0%}.table-fixed{table-layout:fixed}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@-webkit-keyframes spin{to{transform:rotate(360deg)}}@keyframes spin{to{transform:rotate(360deg)}}@-webkit-keyframes ping{75%,100%{transform:scale(2);opacity:0}}@keyframes ping{75%,100%{transform:scale(2);opacity:0}}@-webkit-keyframes pulse{50%{opacity:.5}}@keyframes pulse{50%{opacity:.5}}@-webkit-keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}@keyframes bounce{0%,100%{transform:translateY(-25%);-webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);animation-timing-function:cubic-bezier(0.8,0,1,1)}50%{transform:none;-webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);animation-timing-function:cubic-bezier(0,0,0.2,1)}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.flex-col{flex-direction:column}.content-center{align-content:center}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.gap-4{gap:1rem}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.break-words{overflow-wrap:break-word}.rounded{border-radius:0.25rem}.rounded-md{border-radius:0.375rem}.rounded-lg{border-radius:0.5rem}.rounded-full{border-radius:9999px}.border-2{border-width:2px}.border-4{border-width:4px}.border{border-width:1px}.border-solid{border-style:solid}.border-transparent{border-color:transparent}.border-gray-100{--tw-border-opacity:1;border-color:rgba(243, 244, 246, var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgba(229, 231, 235, var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgba(209, 213, 219, var(--tw-border-opacity))}.border-red-500{--tw-border-opacity:1;border-color:rgba(239, 68, 68, var(--tw-border-opacity))}.border-blue-400{--tw-border-opacity:1;border-color:rgba(96, 165, 250, var(--tw-border-opacity))}.focus\:border-indigo-500:focus{--tw-border-opacity:1;border-color:rgba(99, 102, 241, var(--tw-border-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgba(243, 244, 246, var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgba(107, 114, 128, var(--tw-bg-opacity))}.bg-gray-600{--tw-bg-opacity:1;background-color:rgba(75, 85, 99, var(--tw-bg-opacity))}.bg-red-50{--tw-bg-opacity:1;background-color:rgba(254, 242, 242, var(--tw-bg-opacity))}.bg-red-400{--tw-bg-opacity:1;background-color:rgba(248, 113, 113, var(--tw-bg-opacity))}.bg-red-600{--tw-bg-opacity:1;background-color:rgba(220, 38, 38, var(--tw-bg-opacity))}.bg-green-50{--tw-bg-opacity:1;background-color:rgba(236, 253, 245, var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgba(219, 234, 254, var(--tw-bg-opacity))}.bg-indigo-500{--tw-bg-opacity:1;background-color:rgba(99, 102, 241, var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgba(249, 250, 251, var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgba(185, 28, 28, var(--tw-bg-opacity))}.hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:rgba(191, 219, 254, var(--tw-bg-opacity))}.hover\:bg-indigo-700:hover{--tw-bg-opacity:1;background-color:rgba(67, 56, 202, var(--tw-bg-opacity))}.focus\:bg-white:focus{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.bg-opacity-75{--tw-bg-opacity:0.75}.bg-cover{background-size:cover}.p-0{padding:0px}.p-2{padding:0.5rem}.px-1{padding-left:0.25rem;padding-right:0.25rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0{padding-top:0px;padding-bottom:0px}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.py-3{padding-top:0.75rem;padding-bottom:0.75rem}.pt-0{padding-top:0px}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pr-4{padding-right:1rem}.pb-4{padding-bottom:1rem}.pb-20{padding-bottom:5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-bottom{vertical-align:bottom}.text-xxs{font-size:.5rem}.text-sm{font-size:.875rem}.text-base{font-size:1rem}.text-lg{font-size:1.125rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.italic{font-style:italic}.leading-6{line-height:1.5rem}.leading-tight{line-height:1.25}.text-black{--tw-text-opacity:1;color:rgba(0, 0, 0, var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgba(107, 114, 128, var(--tw-text-opacity))}.text-gray-700{--tw-text-opacity:1;color:rgba(55, 65, 81, var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgba(17, 24, 39, var(--tw-text-opacity))}.text-red-400{--tw-text-opacity:1;color:rgba(248, 113, 113, var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgba(239, 68, 68, var(--tw-text-opacity))}.text-green-400{--tw-text-opacity:1;color:rgba(52, 211, 153, var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgba(16, 185, 129, var(--tw-text-opacity))}*,::before,::after{--tw-shadow:0 0 #0000}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}*,::before,::after{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)}.focus\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(239, 68, 68, var(--tw-ring-opacity))}.focus\:ring-indigo-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(129, 140, 248, var(--tw-ring-opacity))}.focus\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(99, 102, 241, var(--tw-ring-opacity))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}#menu__toggle{position:relative;opacity:0}#menu__toggle:checked~.menu__btn>span{transform:rotate(45deg)}#menu__toggle:checked~.menu__btn>span::before{top:0;transform:rotate(0)}#menu__toggle:checked~.menu__btn>span::after{top:0;transform:rotate(90deg)}#menu__toggle:checked~.menu__box{visibility:visible;left:0}#menu__toggle:checked~.menu__main{margin-left:150px;transition-duration:0.25s}.menu__btn{display:flex;align-items:center;position:fixed;z-index:1;top:10px;left:20px;width:20px;height:20px;cursor:pointer}.menu__btn>span,.menu__btn>span::before,.menu__btn>span::after{display:block;position:absolute;width:100%;height:2px;background-color:#616161;transition-duration:0.25s}.menu__btn>span::before{content:"";top:-8px}.menu__btn>span::after{content:"";top:8px}.menu__box{display:block;position:fixed;visibility:hidden;top:0;left:-100%;width:150px;height:100%;margin:0;padding:80px 0;list-style:none;background-color:#eceff1;box-shadow:1px 0px 6px rgba(0, 0, 0, 0.2);transition-duration:0.25s}.menu__item{display:block;padding:12px 24px;color:rgba(51, 51, 51, 0.788);font-family:"Roboto", sans-serif;font-size:15px;font-weight:600;text-decoration:none;transition-duration:0.25s}.menu__item:hover{background-color:#cfd8dc}.upper__bar{background-color:rgba(51, 51, 51, 0.144);height:70px;position:fixed;z-index:-1;top:0px;left:0;width:100%;margin:0;padding:0;box-shadow:1px 0px 3px rgba(0, 0, 0, 0.2)}input[type="date"]::-webkit-calendar-picker-indicator{margin-left:5px;margin-right:-8px}input[type="time"]::-webkit-calendar-picker-indicator{margin-left:5px;margin-right:-8px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{margin-left:7px;margin-right:-6px;width:30px;height:30px;opacity:1}input:checked~.dot{transform:translateX(100%)}@media(min-width: 640px){.sm\:my-8{margin-top:2rem;margin-bottom:2rem}.sm\:mt-0{margin-top:0px}.sm\:ml-3{margin-left:0.75rem}.sm\:ml-4{margin-left:1rem}.sm\:block{display:block}.sm\:inline-block{display:inline-block}.sm\:flex{display:flex}.sm\:h-screen{height:100vh}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:32rem}.sm\:grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr))}.sm\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:p-0{padding:0px}.sm\:p-2{padding:0.5rem}.sm\:p-6{padding:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-0{padding-top:0px;padding-bottom:0px}.sm\:pb-4{padding-bottom:1rem}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}.sm\:text-sm{font-size:.875rem}.sm\:text-base{font-size:1rem}}@media(min-width: 768px){.md\:p-2{padding:0.5rem}.md\:py-0{padding-top:0px;padding-bottom:0px}.md\:text-base{font-size:1rem}}@media(min-width: 1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.lg\:p-2{padding:0.5rem}.lg\:py-1{padding-top:0.25rem;padding-bottom:0.25rem}.lg\:text-base{font-size:1rem}.lg\:shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}}@media(min-width: 1280px){.xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.xl\:px-8{padding-left:2rem;padding-right:2rem}.xl\:py-2{padding-top:0.5rem;padding-bottom:0.5rem}.xl\:py-4{padding-top:1rem;padding-bottom:1rem}.xl\:text-base{font-size:1rem}}@media(min-width: 1536px){.\32xl\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr))}.\32xl\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr))}.\32xl\:px-8{padding-left:2rem;padding-right:2rem}.\32xl\:py-4{padding-top:1rem;padding-bottom:1rem}}
\ No newline at end of file
diff --git a/data_svelte/build/bundle.js b/data_svelte/build/bundle.js
index ec7be3a7..2eb7d91f 100644
--- a/data_svelte/build/bundle.js
+++ b/data_svelte/build/bundle.js
@@ -1,2 +1,2 @@
-var app=function(){"use strict";function t(){}function e(t){return t()}function n(){return Object.create(null)}function i(t){t.forEach(e)}function s(t){return"function"==typeof t}function a(t,e){return t!=t?e==e:t!==e||t&&"object"==typeof t||"function"==typeof t}function r(e,n,i){e.$$.on_destroy.push(function(e,...n){if(null==e)return t;const i=e.subscribe(...n);return i.unsubscribe?()=>i.unsubscribe():i}(n,i))}function o(t,e,n,i){if(t){const s=l(t,e,n,i);return t[0](s)}}function l(t,e,n,i){return t[1]&&i?function(t,e){for(const n in e)t[n]=e[n];return t}(n.ctx.slice(),t[1](i(e))):n.ctx}function c(t,e,n,i){if(t[2]&&i){const s=t[2](i(n));if(void 0===e.dirty)return s;if("object"==typeof s){const t=[],n=Math.max(e.dirty.length,s.length);for(let i=0;i32){const e=[],n=t.ctx.length/32;for(let t=0;tt.removeEventListener(e,n,i)}function $(t,e,n){null==n?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function k(t){return""===t?null:+t}function P(t,e){e=""+e,t.wholeText!==e&&(t.data=e)}function A(t,e){t.value=null==e?"":e}function O(t,e){for(let n=0;nt.call(this,e)))}const D=[],E=[],z=[],H=[],j=Promise.resolve();let F=!1;function W(){F||(F=!0,j.then(J))}function R(){return W(),j}function q(t){z.push(t)}function I(t){H.push(t)}const Y=new Set;let B=0;function J(){const t=M;do{for(;B{V.delete(t),i&&(n&&t.d(1),i())})),t.o(e)}}function tt(t,e,n){const i=t.$$.props[e];void 0!==i&&(t.$$.bound[i]=n,n(t.$$.ctx[i]))}function et(t){t&&t.c()}function nt(t,n,a,r){const{fragment:o,on_mount:l,on_destroy:c,after_update:u}=t.$$;o&&o.m(n,a),r||q((()=>{const n=l.map(e).filter(s);c?c.push(...n):i(n),t.$$.on_mount=[]})),u.forEach(q)}function it(t,e){const n=t.$$;null!==n.fragment&&(i(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function st(e,s,a,r,o,l,c,u=[-1]){const d=M;S(e);const h=e.$$={fragment:null,ctx:null,props:l,update:t,not_equal:o,bound:n(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(s.context||(d?d.$$.context:[])),callbacks:n(),dirty:u,skip_bound:!1,root:s.target||d.$$.root};c&&c(h.root);let p=!1;if(h.ctx=a?a(e,s.props||{},((t,n,...i)=>{const s=i.length?i[0]:n;return h.ctx&&o(h.ctx[t],h.ctx[t]=s)&&(!h.skip_bound&&h.bound[t]&&h.bound[t](s),p&&function(t,e){-1===t.$$.dirty[0]&&(D.push(t),W(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}$set(t){var e;this.$$set&&(e=t,0!==Object.keys(e).length)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}const rt=[];function ot(e,n=t){let i;const s=new Set;function r(t){if(a(e,t)&&(e=t,i)){const t=!rt.length;for(const t of s)t[1](),rt.push(t,e);if(t){for(let t=0;t{s.delete(l),0===s.size&&(i(),i=null)}}}}function lt(t,e=!1){return(t=t.slice(t.startsWith("/#")?2:0,t.endsWith("/*")?-2:void 0)).startsWith("/")||(t="/"+t),"/"===t&&(t=""),e&&!t.endsWith("/")&&(t+="/"),t}function ct(t,e,n){if(""===n)return t;if("/"===n[0])return n;let i=t=>t.split("/").filter((t=>""!==t)),s=i(t);return"/"+(e?i(e):[]).map(((t,e)=>s[e])).join("/")+"/"+n}function ut(t,e,n,i){let s=[e,"data-"+e].reduce(((e,i)=>{let s=t.getAttribute(i);return n&&t.removeAttribute(i),null===s?e:s}),!1);return!i&&""===s||(s||i||!1)}function dt(t){let e=t.split("&").map((t=>t.split("="))).reduce(((t,e)=>{let n=e[0];if(!n)return t;let i=!(e.length>1)||e[e.length-1];return"string"==typeof i&&i.includes(",")&&(i=i.split(",")),void 0===t[n]?t[n]=[i]:t[n].push(i),t}),{});return Object.entries(e).reduce(((t,e)=>(t[e[0]]=e[1].length>1?e[1]:e[1][0],t)),{})}var ht,pt,ft={HISTORY:1,HASH:2,MEMORY:3,OFF:4,run:function(t,e,n,i){return 1===t?e&&e():2===t?n&&n():i&&i()},getDeafault:function(){return window&&"srcdoc"!==window.location.pathname?1:3}},gt=function(){let t,e=ft.getDeafault(),n=n=>t&&t(vt(e));function i(t){t&&(e=t),window.onhashchange=window.onpopstate=pt=null,e!==ft.OFF&&ft.run(e,(t=>window.onpopstate=n),(t=>window.onhashchange=n))&&n()}return{mode:t=>i(t),get:t=>vt(e),go(t,i){(function(t,e,n){let i=t=>history[n?"replaceState":"pushState"]({},"",t);ft.run(t,(t=>i(e)),(t=>i(`#${e}`)),(t=>pt=e))})(e,t,i),n()},start(e){t=e,i()},stop(){t=null,i(ft.OFF)}}}();function vt(t){let e=ht,n=ht=ft.run(t,(t=>window.location.pathname+window.location.search),(t=>String(window.location.hash.slice(1)||"/")),(t=>pt||"/")),i=n.match(/^([^?#]+)(?:\?([^#]+))?(?:\#(.+))?$/);return{url:n,from:e,path:i[1]||"",query:dt(i[2]||""),hash:i[3]||""}}function mt(t){let e=_("tinro");e&&(e.exact||e.fallback)&&function(t){throw new Error("[Tinro] "+t)}(`${t.fallback?"":``} can't be inside ${e.fallback?"":` with exact path`}`);let n=t.fallback?"fallbacks":"childs",i=ot({}),s={router:{},exact:!1,pattern:null,meta:{},parent:e,fallback:t.fallback,redirect:!1,firstmatch:!1,breadcrumb:null,matched:!1,childs:new Set,activeChilds:new Set,fallbacks:new Set,update(t){s.exact=!t.path.endsWith("/*"),s.pattern=lt(`${s.parent&&s.parent.pattern||""}${t.path}`),s.redirect=t.redirect,s.firstmatch=t.firstmatch,s.breadcrumb=t.breadcrumb,s.match()},register:()=>{if(s.parent)return s.parent[n].add(s),()=>{s.parent[n].delete(s),s.router.un&&s.router.un()}},show:()=>{t.onShow(),!s.fallback&&s.parent&&s.parent.activeChilds.add(s)},hide:()=>{t.onHide(),!s.fallback&&s.parent&&s.parent.activeChilds.delete(s)},match:async()=>{s.matched=!1;let{path:e,url:n,from:a,query:r}=s.router,o=function(t,e){t=lt(t,!0),e=lt(e,!0);let n=[],i={},s=!0,a=t.split("/").map((t=>t.startsWith(":")?(n.push(t.slice(1)),"([^\\/]+)"):t)).join("\\/"),r=e.match(new RegExp(`^${a}$`));return r||(s=!1,r=e.match(new RegExp(`^${a}`))),r?(n.forEach(((t,e)=>i[t]=r[e+1])),{exact:s,params:i,part:r[0].slice(0,-1)}):null}(s.pattern,e);if(!s.fallback&&o&&s.redirect&&(!s.exact||s.exact&&o.exact)){await R();let t=ct(e,s.parent&&s.parent.pattern,s.redirect);return bt.goto(t,!0)}if(s.meta=o&&{from:a,url:n,query:r,match:o.part,pattern:s.pattern,breadcrumbs:s.parent&&s.parent.meta&&s.parent.meta.breadcrumbs.slice()||[],params:o.params,subscribe:i.subscribe},s.breadcrumb&&s.meta&&s.meta.breadcrumbs.push({name:s.breadcrumb,path:o.part}),i.set(s.meta),!o||s.fallback||!(!s.exact||s.exact&&o.exact)||s.parent&&s.parent.firstmatch&&s.parent.matched?s.hide():(t.onMeta(s.meta),s.parent&&(s.parent.matched=!0),s.show()),await R(),o&&!s.fallback&&(s.childs.size>0&&0==s.activeChilds.size||0==s.childs.size&&s.fallbacks.size>0)){let t=s;for(;0==t.fallbacks.size;)if(t=t.parent,!t)return;t&&t.fallbacks.forEach((t=>{if(t.redirect){let e=ct("/",t.parent&&t.parent.pattern,t.redirect);bt.goto(e,!0)}else t.show()}))}}};return a="tinro",r=s,L().$$.context.set(a,r),N((()=>s.register())),s.router.un=bt.subscribe((t=>{s.router.path=t.path,s.router.url=t.url,s.router.query=t.query,s.router.from=t.from,null!==s.pattern&&s.match()})),s;var a,r}function yt(){return _("tinro").meta}var bt=function(){let{subscribe:t}=ot(gt.get(),(t=>{gt.start(t);let e=function(t){let e=e=>{let n=e.target.closest("a[href]"),i=n&&ut(n,"target",!1,"_self"),s=n&&ut(n,"tinro-ignore"),a=e.ctrlKey||e.metaKey||e.altKey||e.shiftKey;if("_self"==i&&!s&&!a&&n){let i=n.getAttribute("href").replace(/^\/#/,"");/^\/\/|^[a-zA-Z]+:/.test(i)||(e.preventDefault(),t(i.startsWith("/")?i:n.href.replace(window.location.origin,"")))}};return addEventListener("click",e),()=>removeEventListener("click",e)}(gt.go);return()=>{gt.stop(),e()}}));return{subscribe:t,goto:gt.go,params:xt,meta:yt,useHashNavigation:t=>gt.mode(t?ft.HASH:ft.HISTORY),mode:{hash:()=>gt.mode(ft.HASH),history:()=>gt.mode(ft.HISTORY),memory:()=>gt.mode(ft.MEMORY)}}}();function xt(){return _("tinro").meta.params}const wt=t=>({params:2&t,meta:4&t}),$t=t=>({params:t[1],meta:t[2]});function kt(t){let e;const n=t[9].default,i=o(n,t,t[8],$t);return{c(){i&&i.c()},m(t,n){i&&i.m(t,n),e=!0},p(t,s){i&&i.p&&(!e||262&s)&&u(i,n,t,t[8],e?c(n,t[8],s,wt):d(t[8]),$t)},i(t){e||(Z(i,t),e=!0)},o(t){Q(i,t),e=!1},d(t){i&&i.d(t)}}}function Pt(t){let e,n,i=t[0]&&kt(t);return{c(){i&&i.c(),e=x()},m(t,s){i&&i.m(t,s),p(t,e,s),n=!0},p(t,[n]){t[0]?i?(i.p(t,n),1&n&&Z(i,1)):(i=kt(t),i.c(),Z(i,1),i.m(e.parentNode,e)):i&&(X(),Q(i,1,1,(()=>{i=null})),K())},i(t){n||(Z(i),n=!0)},o(t){Q(i),n=!1},d(t){i&&i.d(t),t&&f(e)}}}function At(t,e,n){let{$$slots:i={},$$scope:s}=e,{path:a="/*"}=e,{fallback:r=!1}=e,{redirect:o=!1}=e,{firstmatch:l=!1}=e,{breadcrumb:c=null}=e,u=!1,d={},h={};const p=mt({fallback:r,onShow(){n(0,u=!0)},onHide(){n(0,u=!1)},onMeta(t){n(2,h=t),n(1,d=h.params)}});return t.$$set=t=>{"path"in t&&n(3,a=t.path),"fallback"in t&&n(4,r=t.fallback),"redirect"in t&&n(5,o=t.redirect),"firstmatch"in t&&n(6,l=t.firstmatch),"breadcrumb"in t&&n(7,c=t.breadcrumb),"$$scope"in t&&n(8,s=t.$$scope)},t.$$.update=()=>{232&t.$$.dirty&&p.update({path:a,redirect:o,firstmatch:l,breadcrumb:c})},[u,d,h,a,r,o,l,c,s,i]}class Ot extends at{constructor(t){super(),st(this,t,At,Pt,a,{path:3,fallback:4,redirect:5,firstmatch:6,breadcrumb:7})}}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var Tt,Mt=(function(t,e){t.exports=function(){function t(t,e){return"string"==typeof t?(e||document).querySelector(t):t||null}function e(t){var e=t.getBoundingClientRect();return{top:e.top+(document.documentElement.scrollTop||document.body.scrollTop),left:e.left+(document.documentElement.scrollLeft||document.body.scrollLeft)}}function n(t){return null===t.offsetParent}function i(t){var e=t.getBoundingClientRect();return e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth)}function s(t){var e=window.getComputedStyle(t),n=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight);return t.clientWidth-n}function a(t,e,n){var i=document.createEvent("HTMLEvents");for(var s in i.initEvent(e,!0,!0),n)i[s]=n[s];return t.dispatchEvent(i)}function r(t){return t.titleHeight+t.margins.top+t.paddings.top}function o(t){return t.margins.left+t.paddings.left}function l(t){return t.margins.top+t.margins.bottom+t.paddings.top+t.paddings.bottom+t.titleHeight+t.legendHeight}function c(t){return t.margins.left+t.margins.right+t.paddings.left+t.paddings.right}function u(t){return parseFloat(t.toFixed(2))}function d(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];n||(n=i?t[0]:t[t.length-1]);var s=new Array(Math.abs(e)).fill(n);return i?s.concat(t):t.concat(s)}function h(t,e){return(t+"").length*e}function p(t,e){return{x:Math.sin(t*Zt)*e,y:Math.cos(t*Zt)*e}}function f(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!(Number.isNaN(t)||void 0===t||!Number.isFinite(t)||e&&t<0)}function g(t){return Number(Math.round(t+"e4")+"e-4")}function v(t){var e=void 0,n=void 0,i=void 0;if(t instanceof Date)return new Date(t.getTime());if("object"!==(void 0===t?"undefined":jt(t))||null===t)return t;for(i in e=Array.isArray(t)?[]:{},t)n=t[i],e[i]=v(n);return e}function m(t,e){var n=void 0,i=void 0;return t<=e?(n=e-t,i=t):(n=t-e,i=e),[n,i]}function y(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length-t.length;return n>0?t=d(t,n):e=d(e,n),[t,e]}function b(t,e){if(t)return t.length>e?t.slice(0,e-3)+"...":t}function x(t){var e=void 0;if("number"==typeof t)e=t;else if("string"==typeof t&&(e=Number(t),Number.isNaN(e)))return t;var n=Math.floor(Math.log10(Math.abs(e)));if(n<=2)return e;var i=Math.floor(n/3),s=Math.pow(10,n-3*i)*+(e/Math.pow(10,n)).toFixed(1);return Math.round(100*s)/100+" "+["","K","M","B","T"][i]}function w(t,e){for(var n=[],i=0;i255?255:t<0?0:t}function k(t,e){var n=ee(t),i=!1;"#"==n[0]&&(n=n.slice(1),i=!0);var s=parseInt(n,16),a=$((s>>16)+e),r=$((s>>8&255)+e);return(i?"#":"")+($((255&s)+e)|r<<8|a<<16).toString(16)}function P(t){var e=/(^\s*)(rgb|hsl)(a?)[(]\s*([\d.]+\s*%?)\s*,\s*([\d.]+\s*%?)\s*,\s*([\d.]+\s*%?)\s*(?:,\s*([\d.]+)\s*)?[)]$/i;return/(^\s*)(#)((?:[A-Fa-f0-9]{3}){1,2})$/i.test(t)||e.test(t)}function A(t,e){return"string"==typeof t?(e||document).querySelector(t):t||null}function O(t,e){var n=document.createElementNS("http://www.w3.org/2000/svg",t);for(var i in e){var s=e[i];if("inside"===i)A(s).appendChild(n);else if("around"===i){var a=A(s);a.parentNode.insertBefore(n,a),n.appendChild(a)}else"styles"===i?"object"===(void 0===s?"undefined":jt(s))&&Object.keys(s).map((function(t){n.style[t]=s[t]})):("className"===i&&(i="class"),"innerHTML"===i?n.textContent=s:n.setAttribute(i,s))}return n}function T(t,e){return O("linearGradient",{inside:t,id:e,x1:0,x2:0,y1:0,y2:1})}function M(t,e,n,i){return O("stop",{inside:t,style:"stop-color: "+n,offset:e,"stop-opacity":i})}function S(t,e,n,i){return O("svg",{className:e,inside:t,width:n,height:i})}function L(t){return O("defs",{inside:t})}function N(t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,n={className:t,transform:arguments.length>1&&void 0!==arguments[1]?arguments[1]:""};return e&&(n.inside=e),O("g",n)}function _(t){return O("path",{className:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",d:t,styles:{stroke:arguments.length>2&&void 0!==arguments[2]?arguments[2]:"none",fill:arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none","stroke-width":arguments.length>4&&void 0!==arguments[4]?arguments[4]:2}})}function C(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,r=n.x+t.x,o=n.y+t.y,l=n.x+e.x,c=n.y+e.y;return"M"+n.x+" "+n.y+"\n\t\tL"+r+" "+o+"\n\t\tA "+i+" "+i+" 0 "+a+" "+(s?1:0)+"\n\t\t"+l+" "+c+" z"}function D(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,r=n.x+t.x,o=n.y+t.y,l=n.x+e.x,c=2*n.y,u=n.y+e.y;return"M"+n.x+" "+n.y+"\n\t\tL"+r+" "+o+"\n\t\tA "+i+" "+i+" 0 "+a+" "+(s?1:0)+"\n\t\t"+l+" "+c+" z\n\t\tL"+r+" "+c+"\n\t\tA "+i+" "+i+" 0 "+a+" "+(s?1:0)+"\n\t\t"+l+" "+u+" z"}function E(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;return"M"+(n.x+t.x)+" "+(n.y+t.y)+"\n\t\tA "+i+" "+i+" 0 "+a+" "+(s?1:0)+"\n\t\t"+(n.x+e.x)+" "+(n.y+e.y)}function z(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,r=n.x+t.x,o=n.y+t.y,l=n.x+e.x,c=2*i+o;return"M"+r+" "+o+"\n\t\tA "+i+" "+i+" 0 "+a+" "+(s?1:0)+"\n\t\t"+l+" "+c+"\n\t\tM"+r+" "+c+"\n\t\tA "+i+" "+i+" 0 "+a+" "+(s?1:0)+"\n\t\t"+l+" "+(n.y+t.y)}function H(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i="path-fill-gradient-"+e+"-"+(n?"lighter":"default"),s=T(t,i),a=[1,.6,.2];return n&&(a=[.4,.2,0]),M(s,"0%",e,a[0]),M(s,"50%",e,a[1]),M(s,"100%",e,a[2]),i}function j(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Vt,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"none";return O("rect",{className:"percentage-bar",x:t,y:e,width:n,height:i,fill:a,styles:{stroke:k(a,-25),"stroke-dasharray":"0, "+(i+n)+", "+n+", "+i,"stroke-width":s}})}function F(t,e,n,i,s){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},r={className:t,x:e,y:n,width:i,height:i,rx:s,fill:arguments.length>5&&void 0!==arguments[5]?arguments[5]:"none"};return Object.keys(a).map((function(t){r[t]=a[t]})),O("rect",r)}function W(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none",s=arguments[4];s=arguments.length>5&&void 0!==arguments[5]&&arguments[5]?b(s,se):s;var a={className:"legend-bar",x:0,y:0,width:n,height:"2px",fill:i},r=O("text",{className:"legend-dataset-text",x:0,y:0,dy:2*ae+"px","font-size":1.2*ae+"px","text-anchor":"start",fill:oe,innerHTML:s}),o=O("g",{transform:"translate("+t+", "+e+")"});return o.appendChild(O("rect",a)),o.appendChild(r),o}function R(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none",s=arguments[4];s=arguments.length>5&&void 0!==arguments[5]&&arguments[5]?b(s,se):s;var a={className:"legend-dot",cx:0,cy:0,r:n,fill:i},r=O("text",{className:"legend-dataset-text",x:0,y:0,dx:ae+"px",dy:ae/3+"px","font-size":1.2*ae+"px","text-anchor":"start",fill:oe,innerHTML:s}),o=O("g",{transform:"translate("+t+", "+e+")"});return o.appendChild(O("circle",a)),o.appendChild(r),o}function q(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=s.fontSize||ae;return O("text",{className:t,x:e,y:n,dy:(void 0!==s.dy?s.dy:a/2)+"px","font-size":a+"px",fill:s.fill||oe,"text-anchor":s.textAnchor||"start",innerHTML:i})}function I(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};s.stroke||(s.stroke=re);var a=O("line",{className:"line-vertical "+s.className,x1:0,x2:0,y1:n,y2:i,styles:{stroke:s.stroke}}),r=O("text",{x:0,y:n>i?n+ie:n-ie-ae,dy:ae+"px","font-size":ae+"px","text-anchor":"middle",innerHTML:e+""}),o=O("g",{transform:"translate("+t+", 0)"});return o.appendChild(a),o.appendChild(r),o}function Y(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};s.stroke||(s.stroke=re),s.lineType||(s.lineType=""),s.shortenNumbers&&(e=x(e));var a=O("line",{className:"line-horizontal "+s.className+("dashed"===s.lineType?"dashed":""),x1:n,x2:i,y1:0,y2:0,styles:{stroke:s.stroke}}),r=O("text",{x:n3&&void 0!==arguments[3]?arguments[3]:{};f(t)||(t=0),i.pos||(i.pos="left"),i.offset||(i.offset=0),i.mode||(i.mode="span"),i.stroke||(i.stroke=re),i.className||(i.className="");var s=-1*ne,a="span"===i.mode?n+ne:0;return"tick"===i.mode&&"right"===i.pos&&(s=n+ne,a=n),Y(t,e,s+=i.offset,a+=i.offset,{stroke:i.stroke,className:i.className,lineType:i.lineType,shortenNumbers:i.shortenNumbers})}function J(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};f(t)||(t=0),i.pos||(i.pos="bottom"),i.offset||(i.offset=0),i.mode||(i.mode="span"),i.stroke||(i.stroke=re),i.className||(i.className="");var s=n+ne,a="span"===i.mode?-1*ne:n;return"tick"===i.mode&&"top"===i.pos&&(s=-1*ne,a=0),I(t,e,s,a,{stroke:i.stroke,className:i.className,lineType:i.lineType})}function U(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};i.labelPos||(i.labelPos="right");var s=O("text",{className:"chart-label",x:"left"===i.labelPos?ie:n-h(e,5)-ie,y:0,dy:ae/-2+"px","font-size":ae+"px","text-anchor":"start",innerHTML:e+""}),a=Y(t,"",0,n,{stroke:i.stroke||re,className:i.className||"",lineType:i.lineType});return a.appendChild(s),a}function V(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=t-e,r=O("rect",{className:"bar mini",styles:{fill:"rgba(228, 234, 239, 0.49)",stroke:re,"stroke-dasharray":n+", "+a},x:0,y:0,width:n,height:a});s.labelPos||(s.labelPos="right");var o=O("text",{className:"chart-label",x:"left"===s.labelPos?ie:n-h(i+"",4.5)-ie,y:0,dy:ae/-2+"px","font-size":ae+"px","text-anchor":"start",innerHTML:i+""}),l=O("g",{transform:"translate(0, "+e+")"});return l.appendChild(r),l.appendChild(o),l}function G(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{},l=m(e,o.zeroLine),c=Yt(l,2),u=c[0],d=c[1];d-=r,0===u&&(u=o.minHeight,d-=o.minHeight),f(t)||(t=0),f(d)||(d=0),f(u,!0)||(u=0),f(n,!0)||(n=0);var h=O("rect",{className:"bar mini",style:"fill: "+i,"data-point-index":a,x:t,y:d,width:n,height:u});if((s+="")||s.length){h.setAttribute("y",0),h.setAttribute("x",0);var p=O("text",{className:"data-point-value",x:n/2,y:0,dy:ae/2*-1+"px","font-size":ae+"px","text-anchor":"middle",innerHTML:s}),g=O("g",{"data-point-index":a,transform:"translate("+t+", "+d+")"});return g.appendChild(h),g.appendChild(p),g}return h}function X(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,r=O("circle",{style:"fill: "+i,"data-point-index":a,cx:t,cy:e,r:n});if((s+="")||s.length){r.setAttribute("cy",0),r.setAttribute("cx",0);var o=O("text",{className:"data-point-value",x:0,y:0,dy:ae/2*-1-n+"px","font-size":ae+"px","text-anchor":"middle",innerHTML:s}),l=O("g",{"data-point-index":a,transform:"translate("+t+", "+e+")"});return l.appendChild(r),l.appendChild(o),l}return r}function K(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=e.map((function(e,n){return t[n]+","+e})).join("L");i.spline&&(a=w(t,e));var r=_("M"+a,"line-graph-path",n);if(i.heatline){var o=H(s.svgDefs,n);r.style.stroke="url(#"+o+")"}var l={path:r};if(i.regionFill){var c=H(s.svgDefs,n,!0),u="M"+t[0]+","+s.zeroLine+"L"+a+"L"+t.slice(-1)[0]+","+s.zeroLine;l.region=_(u,"region-fill","none","url(#"+c+")")}return l}function Z(t,e,n,i){var s="string"==typeof e?e:e.join(", ");return[t,{transform:n.join(", ")},i,fe,"translate",{transform:s}]}function Q(t,e,n){return Z(t,[n,0],[e,0],he)}function tt(t,e,n){return Z(t,[0,n],[0,e],he)}function et(t,e,n,i){var s=e-n,a=t.childNodes[0];return[[a,{height:s,"stroke-dasharray":a.getAttribute("width")+", "+s},he,fe],Z(t,[0,i],[0,n],he)]}function nt(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=m(n,(arguments.length>5&&void 0!==arguments[5]?arguments[5]:{}).zeroLine),r=Yt(a,2),o=r[0],l=r[1];return l-=s,"rect"!==t.nodeName?[[t.childNodes[0],{width:i,height:o},ue,fe],Z(t,t.getAttribute("transform").split("(")[1].slice(0,-1),[e,l],he)]:[[t,{width:i,height:o,x:e,y:l},ue,fe]]}function it(t,e,n){return"circle"!==t.nodeName?[Z(t,t.getAttribute("transform").split("(")[1].slice(0,-1),[e,n],he)]:[[t,{cx:e,cy:n},ue,fe]]}function st(t,e,n,i,s){var a=[],r=n.map((function(t,n){return e[n]+","+t})).join("L");s&&(r=w(e,n));var o=[t.path,{d:"M"+r},de,fe];if(a.push(o),t.region){var l=e[0]+","+i+"L",c="L"+e.slice(-1)[0]+", "+i,u=[t.region,{d:"M"+l+r+c},de,fe];a.push(u)}return a}function at(t,e){return[t,{d:e},ue,fe]}function rt(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"linear",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},r=t.cloneNode(!0),o=t.cloneNode(!0);for(var l in e){var c=void 0;c="transform"===l?document.createElementNS("http://www.w3.org/2000/svg","animateTransform"):document.createElementNS("http://www.w3.org/2000/svg","animate");var u=a[l]||t.getAttribute(l),d=e[l],h={attributeName:l,from:u,to:d,begin:"0s",dur:n/1e3+"s",values:u+";"+d,keySplines:ge[i],keyTimes:"0;1",calcMode:"spline",fill:"freeze"};for(var p in s&&(h.type=s),h)c.setAttribute(p,h[p]);r.appendChild(c),s?o.setAttribute(l,"translate("+d+")"):o.setAttribute(l,d)}return[r,o]}function ot(t,e){t.style.transform=e,t.style.webkitTransform=e,t.style.msTransform=e,t.style.mozTransform=e,t.style.oTransform=e}function lt(t,e){var n=[],i=[];e.map((function(t){var e=t[0],s=e.parentNode,a=void 0,r=void 0;t[0]=e;var o=rt.apply(void 0,Bt(t)),l=Yt(o,2);a=l[0],r=l[1],n.push(r),i.push([a,s]),s&&s.replaceChild(a,e)}));var s=t.cloneNode(!0);return i.map((function(t,i){t[1]&&(t[1].replaceChild(n[i],t[0]),e[i][0]=n[i])})),s}function ct(t,e,n){if(0!==n.length){var i=lt(e,n);e.parentNode==t&&(t.removeChild(e),t.appendChild(i)),setTimeout((function(){i.parentNode==t&&(t.removeChild(i),t.appendChild(e))}),pe)}}function ut(t,e){var n=document.createElement("a");n.style="display: none";var i=new Blob(e,{type:"image/svg+xml; charset=utf-8"}),s=window.URL.createObjectURL(i);n.href=s,n.download=t,document.body.appendChild(n),n.click(),setTimeout((function(){document.body.removeChild(n),window.URL.revokeObjectURL(s)}),300)}function dt(e){var n=e.cloneNode(!0);n.classList.add("chart-container"),n.setAttribute("xmlns","http://www.w3.org/2000/svg"),n.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink");var i=t.create("style",{innerHTML:ve});n.insertBefore(i,n.firstChild);var s=t.create("div");return s.appendChild(n),s.innerHTML}function ht(t){var e=new Date(t);return e.setMinutes(e.getMinutes()-e.getTimezoneOffset()),e}function pt(t){var e=t.getDate(),n=t.getMonth()+1;return[t.getFullYear(),(n>9?"":"0")+n,(e>9?"":"0")+e].join("-")}function ft(t){return new Date(t.getTime())}function gt(t,e){var n=xt(t);return Math.ceil(vt(n,e)/be)}function vt(t,e){var n=we*xe;return(ht(e)-ht(t))/n}function mt(t,e){return t.getMonth()===e.getMonth()&&t.getFullYear()===e.getFullYear()}function yt(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=$e[t];return e?n.slice(0,3):n}function bt(t,e){return new Date(e,t+1,0)}function xt(t){var e=ft(t),n=e.getDay();return 0!==n&&wt(e,-1*n),e}function wt(t,e){t.setDate(t.getDate()+e)}function $t(t,e,n){var i=Object.keys(Ae).filter((function(e){return t.includes(e)})),s=Ae[i[0]];return Object.assign(s,{constants:e,getData:n}),new Pe(s)}function kt(t){if(0===t)return[0,0];if(isNaN(t))return{mantissa:-6755399441055744,exponent:972};var e=t>0?1:-1;if(!isFinite(t))return{mantissa:4503599627370496*e,exponent:972};t=Math.abs(t);var n=Math.floor(Math.log10(t));return[e*(t/Math.pow(10,n)),n]}function Pt(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=Math.ceil(t),i=Math.floor(e),s=n-i,a=s,r=1;s>5&&(s%2!=0&&(s=++n-i),a=s/2,r=2),s<=2&&(r=s/(a=4)),0===s&&(a=5,r=1);for(var o=[],l=0;l<=a;l++)o.push(i+r*l);return o}function At(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=kt(t),i=Yt(n,2),s=i[0],a=i[1],r=e?e/Math.pow(10,a):0,o=Pt(s=s.toFixed(6),r);return o.map((function(t){return t*Math.pow(10,a)}))}function Ot(t){function e(t,e){for(var n=At(t),i=n[1]-n[0],s=0,a=1;s1&&void 0!==arguments[1]&&arguments[1],i=Math.max.apply(Math,Bt(t)),s=Math.min.apply(Math,Bt(t)),a=[];if(i>=0&&s>=0)kt(i)[1],a=n?At(i,s):At(i);else if(i>0&&s<0){var r=Math.abs(s);i>=r?(kt(i)[1],a=e(i,r)):(kt(r)[1],a=e(r,i).reverse().map((function(t){return-1*t})))}else if(i<=0&&s<=0){var o=Math.abs(s),l=Math.abs(i);kt(o)[1],a=(a=n?At(o,l):At(o)).reverse().map((function(t){return-1*t}))}return a}function Tt(t){var e=Mt(t);return t.indexOf(0)>=0?t.indexOf(0):t[0]>0?-1*t[0]/e:-1*t[t.length-1]/e+(t.length-1)}function Mt(t){return t[1]-t[0]}function St(t){return t[t.length-1]-t[0]}function Lt(t,e){return u(e.zeroLine-t*e.scaleMultiplier)}function Nt(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=e.reduce((function(e,n){return Math.abs(n-t)n?i.slice(0,n):d(i,n-i.length,0),t.values=i}else t.values=s;t.chartType||(t.chartType=e)})),t.yRegions&&t.yRegions.map((function(t){if(t.end1&&void 0!==arguments[1]?arguments[1]:[],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=t/e.length;i<=0&&(i=1);var s=i/Gt,a=void 0;if(n){var r=Math.max.apply(Math,Bt(e.map((function(t){return t.length}))));a=Math.ceil(r/s)}return e.map((function(t,e){return(t+="").length>s&&(n?e%a!=0&&(t=""):t=s-3>0?t.slice(0,s-3)+" ...":t.slice(0,s)+".."),t}))}function Ht(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"line",e=arguments[1],n=arguments[2];return"axis-mixed"===t?(n.type="line",new Se(e,n)):Ne[t]?new Ne[t](e,n):void console.error("Undefined chart type: "+t)}!function(t,e){void 0===e&&(e={});var n=e.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===n&&i.firstChild?i.insertBefore(s,i.firstChild):i.appendChild(s),s.styleSheet?s.styleSheet.cssText=t:s.appendChild(document.createTextNode(t))}}('.chart-container{position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.chart-container .axis,.chart-container .chart-label{fill:#555b51}.chart-container .axis line,.chart-container .chart-label line{stroke:#dadada}.chart-container .dataset-units circle{stroke:#fff;stroke-width:2}.chart-container .dataset-units path{fill:none;stroke-opacity:1;stroke-width:2px}.chart-container .dataset-path{stroke-width:2px}.chart-container .path-group path{fill:none;stroke-opacity:1;stroke-width:2px}.chart-container line.dashed{stroke-dasharray:5,3}.chart-container .axis-line .specific-value{text-anchor:start}.chart-container .axis-line .y-line{text-anchor:end}.chart-container .axis-line .x-line{text-anchor:middle}.chart-container .legend-dataset-text{fill:#6c7680;font-weight:600}.graph-svg-tip{position:absolute;z-index:99999;padding:10px;font-size:12px;color:#959da5;text-align:center;background:rgba(0,0,0,.8);border-radius:3px}.graph-svg-tip ol,.graph-svg-tip ul{padding-left:0;display:-webkit-box;display:-ms-flexbox;display:flex}.graph-svg-tip ul.data-point-list li{min-width:90px;-webkit-box-flex:1;-ms-flex:1;flex:1;font-weight:600}.graph-svg-tip strong{color:#dfe2e5;font-weight:600}.graph-svg-tip .svg-pointer{position:absolute;height:5px;margin:0 0 0 -5px;content:" ";border:5px solid transparent;border-top-color:rgba(0,0,0,.8)}.graph-svg-tip.comparison{padding:0;text-align:left;pointer-events:none}.graph-svg-tip.comparison .title{display:block;padding:10px;margin:0;font-weight:600;line-height:1;pointer-events:none}.graph-svg-tip.comparison ul{margin:0;white-space:nowrap;list-style:none}.graph-svg-tip.comparison li{display:inline-block;padding:5px 10px}');var jt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ft=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Wt=function(){function t(t,e){for(var n=0;n\n\t\t\t\t\n\t\t\t\t'}),this.hideTip(),this.title=this.container.querySelector(".title"),this.dataPointList=this.container.querySelector(".data-point-list"),this.parent.addEventListener("mouseleave",(function(){e.hideTip()}))}},{key:"fill",value:function(){var e=this,n=void 0;this.index&&this.container.setAttribute("data-point-index",this.index),n=this.titleValueFirst?""+this.titleValue+""+this.titleName:this.titleName+""+this.titleValue+"",this.title.innerHTML=n,this.dataPointList.innerHTML="",this.listValues.map((function(n,i){var s=e.colors[i]||"black",a=0===n.formatted||n.formatted?n.formatted:n.value,r=t.create("li",{styles:{"border-top":"3px solid "+s},innerHTML:''+(0===a||a?a:"")+"\n\t\t\t\t\t"+(n.title?n.title:"")});e.dataPointList.appendChild(r)}))}},{key:"calcPosition",value:function(){var t=this.container.offsetWidth;this.top=this.y-this.container.offsetHeight-5,this.left=this.x-t/2;var e=this.parent.offsetWidth-t,n=this.container.querySelector(".svg-pointer");if(this.left<0)n.style.left="calc(50% - "+-1*this.left+"px)",this.left=0;else if(this.left>e){var i="calc(50% + "+(this.left-e)+"px)";n.style.left=i,this.left=e}else n.style.left="50%"}},{key:"setValues",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;this.titleName=n.name,this.titleValue=n.value,this.listValues=i,this.x=t,this.y=e,this.titleValueFirst=n.valueFirst||0,this.index=s,this.refresh()}},{key:"hideTip",value:function(){this.container.style.top="0px",this.container.style.left="0px",this.container.style.opacity="0"}},{key:"showTip",value:function(){this.container.style.top=this.top+"px",this.container.style.left=this.left+"px",this.container.style.opacity="1"}}]),e}(),te={"light-blue":"#7cd6fd",blue:"#5e64ff",violet:"#743ee2",red:"#ff5858",orange:"#ffa00a",yellow:"#feef72",green:"#28a745","light-green":"#98d85b",purple:"#b554ff",magenta:"#ffa3ef",black:"#36114C",grey:"#bdd3e6","light-grey":"#f0f4f7","dark-grey":"#b8c2cc"},ee=function(t){return/rgb[a]{0,1}\([\d, ]+\)/gim.test(t)?/\D+(\d*)\D+(\d*)\D+(\d*)/gim.exec(t).map((function(t,e){return 0!==e?Number(t).toString(16):"#"})).reduce((function(t,e){return""+t+e})):te[t]||t},ne=6,ie=4,se=15,ae=10,re="#dadada",oe="#555b51",le={bar:function(t){var e=void 0;"rect"!==t.nodeName&&(e=t.getAttribute("transform"),t=t.childNodes[0]);var n=t.cloneNode();return n.style.fill="#000000",n.style.opacity="0.4",e&&n.setAttribute("transform",e),n},dot:function(t){var e=void 0;"circle"!==t.nodeName&&(e=t.getAttribute("transform"),t=t.childNodes[0]);var n=t.cloneNode(),i=t.getAttribute("r"),s=t.getAttribute("fill");return n.setAttribute("r",parseInt(i)+4),n.setAttribute("fill",s),n.style.opacity="0.6",e&&n.setAttribute("transform",e),n},heat_square:function(t){var e=void 0;"circle"!==t.nodeName&&(e=t.getAttribute("transform"),t=t.childNodes[0]);var n=t.cloneNode(),i=t.getAttribute("r"),s=t.getAttribute("fill");return n.setAttribute("r",parseInt(i)+4),n.setAttribute("fill",s),n.style.opacity="0.6",e&&n.setAttribute("transform",e),n}},ce={bar:function(t,e){var n=void 0;"rect"!==t.nodeName&&(n=t.getAttribute("transform"),t=t.childNodes[0]);var i=["x","y","width","height"];Object.values(t.attributes).filter((function(t){return i.includes(t.name)&&t.specified})).map((function(t){e.setAttribute(t.name,t.nodeValue)})),n&&e.setAttribute("transform",n)},dot:function(t,e){var n=void 0;"circle"!==t.nodeName&&(n=t.getAttribute("transform"),t=t.childNodes[0]);var i=["cx","cy"];Object.values(t.attributes).filter((function(t){return i.includes(t.name)&&t.specified})).map((function(t){e.setAttribute(t.name,t.nodeValue)})),n&&e.setAttribute("transform",n)},heat_square:function(t,e){var n=void 0;"circle"!==t.nodeName&&(n=t.getAttribute("transform"),t=t.childNodes[0]);var i=["cx","cy"];Object.values(t.attributes).filter((function(t){return i.includes(t.name)&&t.specified})).map((function(t){e.setAttribute(t.name,t.nodeValue)})),n&&e.setAttribute("transform",n)}},ue=350,de=350,he=ue,pe=250,fe="easein",ge={ease:"0.25 0.1 0.25 1",linear:"0 0 1 1",easein:"0.1 0.8 0.2 1",easeout:"0 0 0.58 1",easeinout:"0.42 0 0.58 1"},ve=".chart-container{position:relative;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Cantarell','Fira Sans','Droid Sans','Helvetica Neue',sans-serif}.chart-container .axis,.chart-container .chart-label{fill:#555b51}.chart-container .axis line,.chart-container .chart-label line{stroke:#dadada}.chart-container .dataset-units circle{stroke:#fff;stroke-width:2}.chart-container .dataset-units path{fill:none;stroke-opacity:1;stroke-width:2px}.chart-container .dataset-path{stroke-width:2px}.chart-container .path-group path{fill:none;stroke-opacity:1;stroke-width:2px}.chart-container line.dashed{stroke-dasharray:5,3}.chart-container .axis-line .specific-value{text-anchor:start}.chart-container .axis-line .y-line{text-anchor:end}.chart-container .axis-line .x-line{text-anchor:middle}.chart-container .legend-dataset-text{fill:#6c7680;font-weight:600}.graph-svg-tip{position:absolute;z-index:99999;padding:10px;font-size:12px;color:#959da5;text-align:center;background:rgba(0,0,0,.8);border-radius:3px}.graph-svg-tip ul{padding-left:0;display:flex}.graph-svg-tip ol{padding-left:0;display:flex}.graph-svg-tip ul.data-point-list li{min-width:90px;flex:1;font-weight:600}.graph-svg-tip strong{color:#dfe2e5;font-weight:600}.graph-svg-tip .svg-pointer{position:absolute;height:5px;margin:0 0 0 -5px;content:' ';border:5px solid transparent;border-top-color:rgba(0,0,0,.8)}.graph-svg-tip.comparison{padding:0;text-align:left;pointer-events:none}.graph-svg-tip.comparison .title{display:block;padding:10px;margin:0;font-weight:600;line-height:1;pointer-events:none}.graph-svg-tip.comparison ul{margin:0;white-space:nowrap;list-style:none}.graph-svg-tip.comparison li{display:inline-block;padding:5px 10px}",me=function(){function e(t,n){if(Ft(this,e),n=v(n),this.parent="string"==typeof t?document.querySelector(t):t,!(this.parent instanceof HTMLElement))throw new Error("No `parent` element to render on was provided.");this.rawChartArgs=n,this.title=n.title||"",this.type=n.type||"",this.realData=this.prepareData(n.data),this.data=this.prepareFirstData(this.realData),this.colors=this.validateColors(n.colors,this.type),this.config={showTooltip:1,showLegend:1,isNavigable:n.isNavigable||0,animate:void 0!==n.animate?n.animate:1,truncateLegends:n.truncateLegends||1},this.measures=JSON.parse(JSON.stringify(Jt));var i=this.measures;this.setMeasures(n),this.title.length||(i.titleHeight=0),this.config.showLegend||(i.legendHeight=0),this.argHeight=n.height||i.baseHeight,this.state={},this.options={},this.initTimeout=Ut,this.config.isNavigable&&(this.overlays=[]),this.configure(n)}return Wt(e,[{key:"prepareData",value:function(t){return t}},{key:"prepareFirstData",value:function(t){return t}},{key:"validateColors",value:function(t,e){var n=[];return(t=(t||[]).concat(Kt[e])).forEach((function(t){var e=ee(t);P(e)?n.push(e):console.warn('"'+t+'" is not a valid color.')})),n}},{key:"setMeasures",value:function(){}},{key:"configure",value:function(){var t=this,e=this.argHeight;this.baseHeight=e,this.height=e-l(this.measures),this.boundDrawFn=function(){return t.draw(!0)},ResizeObserver&&(this.resizeObserver=new ResizeObserver(this.boundDrawFn),this.resizeObserver.observe(this.parent)),window.addEventListener("resize",this.boundDrawFn),window.addEventListener("orientationchange",this.boundDrawFn)}},{key:"destroy",value:function(){this.resizeObserver&&this.resizeObserver.disconnect(),window.removeEventListener("resize",this.boundDrawFn),window.removeEventListener("orientationchange",this.boundDrawFn)}},{key:"setup",value:function(){this.makeContainer(),this.updateWidth(),this.makeTooltip(),this.draw(!1,!0)}},{key:"makeContainer",value:function(){this.parent.innerHTML="";var e={inside:this.parent,className:"chart-container"};this.independentWidth&&(e.styles={width:this.independentWidth+"px"}),this.container=t.create("div",e)}},{key:"makeTooltip",value:function(){this.tip=new Qt({parent:this.container,colors:this.colors}),this.bindTooltip()}},{key:"bindTooltip",value:function(){}},{key:"draw",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e&&n(this.parent)||(this.updateWidth(),this.calc(e),this.makeChartArea(),this.setupComponents(),this.components.forEach((function(e){return e.setup(t.drawArea)})),this.render(this.components,!1),i&&(this.data=this.realData,setTimeout((function(){t.update(t.data)}),this.initTimeout)),this.renderLegend(),this.setupNavigation(i))}},{key:"calc",value:function(){}},{key:"updateWidth",value:function(){this.baseWidth=s(this.parent),this.width=this.baseWidth-c(this.measures)}},{key:"makeChartArea",value:function(){this.svg&&this.container.removeChild(this.svg);var t=this.measures;this.svg=S(this.container,"frappe-chart chart",this.baseWidth,this.baseHeight),this.svgDefs=L(this.svg),this.title.length&&(this.titleEL=q("title",t.margins.left,t.margins.top,this.title,{fontSize:t.titleFontSize,fill:"#666666",dy:t.titleFontSize}));var e=r(t);this.drawArea=N(this.type+"-chart chart-draw-area","translate("+o(t)+", "+e+")"),this.config.showLegend&&(e+=this.height+t.paddings.bottom,this.legendArea=N("chart-legend","translate("+o(t)+", "+e+")")),this.title.length&&this.svg.appendChild(this.titleEL),this.svg.appendChild(this.drawArea),this.config.showLegend&&this.svg.appendChild(this.legendArea),this.updateTipOffset(o(t),r(t))}},{key:"updateTipOffset",value:function(t,e){this.tip.offset={x:t,y:e}}},{key:"setupComponents",value:function(){this.components=new Map}},{key:"update",value:function(t){t||console.error("No data to update."),this.data=this.prepareData(t),this.calc(),this.render(this.components,this.config.animate),this.renderLegend()}},{key:"render",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.components,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.config.isNavigable&&this.overlays.map((function(t){return t.parentNode.removeChild(t)}));var i=[];e.forEach((function(t){i=i.concat(t.update(n))})),i.length>0?(ct(this.container,this.svg,i),setTimeout((function(){e.forEach((function(t){return t.make()})),t.updateNav()}),400)):(e.forEach((function(t){return t.make()})),this.updateNav())}},{key:"updateNav",value:function(){this.config.isNavigable&&(this.makeOverlay(),this.bindUnits())}},{key:"renderLegend",value:function(){}},{key:"setupNavigation",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.config.isNavigable&&e&&(this.bindOverlay(),this.keyActions={13:this.onEnterKey.bind(this),37:this.onLeftArrow.bind(this),38:this.onUpArrow.bind(this),39:this.onRightArrow.bind(this),40:this.onDownArrow.bind(this)},document.addEventListener("keydown",(function(e){i(t.container)&&(e=e||window.event,t.keyActions[e.keyCode]&&t.keyActions[e.keyCode]())})))}},{key:"makeOverlay",value:function(){}},{key:"updateOverlay",value:function(){}},{key:"bindOverlay",value:function(){}},{key:"bindUnits",value:function(){}},{key:"onLeftArrow",value:function(){}},{key:"onRightArrow",value:function(){}},{key:"onUpArrow",value:function(){}},{key:"onDownArrow",value:function(){}},{key:"onEnterKey",value:function(){}},{key:"addDataPoint",value:function(){}},{key:"removeDataPoint",value:function(){}},{key:"getDataPoint",value:function(){}},{key:"setCurrentDataPoint",value:function(){}},{key:"updateDataset",value:function(){}},{key:"export",value:function(){var t=dt(this.svg);ut(this.title||"Chart",[t])}}]),e}(),ye=function(t){function e(t,n){return Ft(this,e),It(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,n))}return qt(e,t),Wt(e,[{key:"configure",value:function(t){Rt(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"configure",this).call(this,t),this.config.formatTooltipY=(t.tooltipOptions||{}).formatTooltipY,this.config.maxSlices=t.maxSlices||20,this.config.maxLegendPoints=t.maxLegendPoints||20}},{key:"calc",value:function(){var t=this,e=this.state,n=this.config.maxSlices;e.sliceTotals=[];var i=this.data.labels.map((function(e,n){var i=0;return t.data.datasets.map((function(t){i+=t.values[n]})),[i,e]})).filter((function(t){return t[0]>=0})),s=i;if(i.length>n){i.sort((function(t,e){return e[0]-t[0]})),s=i.slice(0,n-1);var a=0;i.slice(n-1).map((function(t){a+=t[0]})),s.push([a,"Rest"]),this.colors[n-1]="grey"}e.labels=[],s.map((function(t){e.sliceTotals.push(g(t[0])),e.labels.push(t[1])})),e.grandTotal=e.sliceTotals.reduce((function(t,e){return t+e}),0),this.center={x:this.width/2,y:this.height/2}}},{key:"renderLegend",value:function(){var t=this,e=this.state;this.legendArea.textContent="",this.legendTotals=e.sliceTotals.slice(0,this.config.maxLegendPoints);var n=0,i=0;this.legendTotals.map((function(s,a){var r=150,o=Math.floor((t.width-c(t.measures))/r);t.legendTotals.lengtho&&(n=0,i+=20);var l=r*n+5,u=t.config.truncateLegends?b(e.labels[a],r/10):e.labels[a],d=t.config.formatTooltipY?t.config.formatTooltipY(s):s,h=R(l,i,5,t.colors[a],u+": "+d,!1);t.legendArea.appendChild(h),n++}))}}]),e}(me),be=7,xe=1e3,we=86400,$e=["January","February","March","April","May","June","July","August","September","October","November","December"],ke=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],Pe=function(){function t(e){var n=e.layerClass,i=void 0===n?"":n,s=e.layerTransform,a=void 0===s?"":s,r=e.constants,o=e.getData,l=e.makeElements,c=e.animateElements;Ft(this,t),this.layerTransform=a,this.constants=r,this.makeElements=l,this.getData=o,this.animateElements=c,this.store=[],this.labels=[],this.layerClass=i,this.layerClass="function"==typeof this.layerClass?this.layerClass():this.layerClass,this.refresh()}return Wt(t,[{key:"refresh",value:function(t){this.data=t||this.getData()}},{key:"setup",value:function(t){this.layer=N(this.layerClass,this.layerTransform,t)}},{key:"make",value:function(){this.render(this.data),this.oldData=this.data}},{key:"render",value:function(t){var e=this;this.store=this.makeElements(t),this.layer.textContent="",this.store.forEach((function(t){e.layer.appendChild(t)})),this.labels.forEach((function(t){e.layer.appendChild(t)}))}},{key:"update",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.refresh();var e=[];return t&&(e=this.animateElements(this.data)||[]),e}}]),t}(),Ae={donutSlices:{layerClass:"donut-slices",makeElements:function(t){return t.sliceStrings.map((function(e,n){var i=_(e,"donut-path",t.colors[n],"none",t.strokeWidth);return i.style.transition="transform .3s;",i}))},animateElements:function(t){return this.store.map((function(e,n){return at(e,t.sliceStrings[n])}))}},pieSlices:{layerClass:"pie-slices",makeElements:function(t){return t.sliceStrings.map((function(e,n){var i=_(e,"pie-path","none",t.colors[n]);return i.style.transition="transform .3s;",i}))},animateElements:function(t){return this.store.map((function(e,n){return at(e,t.sliceStrings[n])}))}},percentageBars:{layerClass:"percentage-bars",makeElements:function(t){var e=this;return t.xPositions.map((function(n,i){return j(n,0,t.widths[i],e.constants.barHeight,e.constants.barDepth,t.colors[i])}))},animateElements:function(t){if(t)return[]}},yAxis:{layerClass:"y axis",makeElements:function(t){var e=this;return t.positions.map((function(n,i){return B(n,t.labels[i],e.constants.width,{mode:e.constants.mode,pos:e.constants.pos,shortenNumbers:e.constants.shortenNumbers})}))},animateElements:function(t){var e=t.positions,n=t.labels,i=this.oldData.positions,s=this.oldData.labels,a=y(i,e),r=Yt(a,2);i=r[0],e=r[1];var o=y(s,n),l=Yt(o,2);return s=l[0],n=l[1],this.render({positions:i,labels:n}),this.store.map((function(t,n){return tt(t,e[n],i[n])}))}},xAxis:{layerClass:"x axis",makeElements:function(t){var e=this;return t.positions.map((function(n,i){return J(n,t.calcLabels[i],e.constants.height,{mode:e.constants.mode,pos:e.constants.pos})}))},animateElements:function(t){var e=t.positions,n=t.calcLabels,i=this.oldData.positions,s=this.oldData.calcLabels,a=y(i,e),r=Yt(a,2);i=r[0],e=r[1];var o=y(s,n),l=Yt(o,2);return s=l[0],n=l[1],this.render({positions:i,calcLabels:n}),this.store.map((function(t,n){return Q(t,e[n],i[n])}))}},yMarkers:{layerClass:"y-markers",makeElements:function(t){var e=this;return t.map((function(t){return U(t.position,t.label,e.constants.width,{labelPos:t.options.labelPos,mode:"span",lineType:"dashed"})}))},animateElements:function(t){var e=y(this.oldData,t),n=Yt(e,2);this.oldData=n[0];var i=(t=n[1]).map((function(t){return t.position})),s=t.map((function(t){return t.label})),a=t.map((function(t){return t.options})),r=this.oldData.map((function(t){return t.position}));return this.render(r.map((function(t,e){return{position:r[e],label:s[e],options:a[e]}}))),this.store.map((function(t,e){return tt(t,i[e],r[e])}))}},yRegions:{layerClass:"y-regions",makeElements:function(t){var e=this;return t.map((function(t){return V(t.startPos,t.endPos,e.constants.width,t.label,{labelPos:t.options.labelPos})}))},animateElements:function(t){var e=y(this.oldData,t),n=Yt(e,2);this.oldData=n[0];var i=(t=n[1]).map((function(t){return t.endPos})),s=t.map((function(t){return t.label})),a=t.map((function(t){return t.startPos})),r=t.map((function(t){return t.options})),o=this.oldData.map((function(t){return t.endPos})),l=this.oldData.map((function(t){return t.startPos}));this.render(o.map((function(t,e){return{startPos:l[e],endPos:o[e],label:s[e],options:r[e]}})));var c=[];return this.store.map((function(t,e){c=c.concat(et(t,a[e],i[e],o[e]))})),c}},heatDomain:{layerClass:function(){return"heat-domain domain-"+this.constants.index},makeElements:function(t){var e=this,n=this.constants,i=n.index,s=n.colWidth,a=n.rowHeight,r=n.squareSize,o=n.radius,l=n.xTranslate,c=0;return this.serializedSubDomains=[],t.cols.map((function(t,n){1===n&&e.labels.push(q("domain-name",l,-12,yt(i,!0).toUpperCase(),{fontSize:9})),t.map((function(t,n){if(t.fill){var i={"data-date":t.yyyyMmDd,"data-value":t.dataValue,"data-day":n},s=F("day",l,c,r,o,t.fill,i);e.serializedSubDomains.push(s)}c+=a})),c=0,l+=s})),this.serializedSubDomains},animateElements:function(t){if(t)return[]}},barGraph:{layerClass:function(){return"dataset-units dataset-bars dataset-"+this.constants.index},makeElements:function(t){var e=this.constants;return this.unitType="bar",this.units=t.yPositions.map((function(n,i){return G(t.xPositions[i],n,t.barWidth,e.color,t.labels[i],i,t.offsets[i],{zeroLine:t.zeroLine,barsWidth:t.barsWidth,minHeight:e.minHeight})})),this.units},animateElements:function(t){var e=t.xPositions,n=t.yPositions,i=t.offsets,s=t.labels,a=this.oldData.xPositions,r=this.oldData.yPositions,o=this.oldData.offsets,l=this.oldData.labels,c=y(a,e),u=Yt(c,2);a=u[0],e=u[1];var d=y(r,n),h=Yt(d,2);r=h[0],n=h[1];var p=y(o,i),f=Yt(p,2);o=f[0],i=f[1];var g=y(l,s),v=Yt(g,2);l=v[0],s=v[1],this.render({xPositions:a,yPositions:r,offsets:o,labels:s,zeroLine:this.oldData.zeroLine,barsWidth:this.oldData.barsWidth,barWidth:this.oldData.barWidth});var m=[];return this.store.map((function(s,a){m=m.concat(nt(s,e[a],n[a],t.barWidth,i[a],{zeroLine:t.zeroLine}))})),m}},lineGraph:{layerClass:function(){return"dataset-units dataset-line dataset-"+this.constants.index},makeElements:function(t){var e=this.constants;return this.unitType="dot",this.paths={},e.hideLine||(this.paths=K(t.xPositions,t.yPositions,e.color,{heatline:e.heatline,regionFill:e.regionFill,spline:e.spline},{svgDefs:e.svgDefs,zeroLine:t.zeroLine})),this.units=[],e.hideDots||(this.units=t.yPositions.map((function(n,i){return X(t.xPositions[i],n,t.radius,e.color,e.valuesOverPoints?t.values[i]:"",i)}))),Object.values(this.paths).concat(this.units)},animateElements:function(t){var e=t.xPositions,n=t.yPositions,i=t.values,s=this.oldData.xPositions,a=this.oldData.yPositions,r=this.oldData.values,o=y(s,e),l=Yt(o,2);s=l[0],e=l[1];var c=y(a,n),u=Yt(c,2);a=u[0],n=u[1];var d=y(r,i),h=Yt(d,2);r=h[0],i=h[1],this.render({xPositions:s,yPositions:a,values:i,zeroLine:this.oldData.zeroLine,radius:this.oldData.radius});var p=[];return Object.keys(this.paths).length&&(p=p.concat(st(this.paths,e,n,t.zeroLine,this.constants.spline))),this.units.length&&this.units.map((function(t,i){p=p.concat(it(t,e[i],n[i]))})),p}}},Oe=function(t){function n(t,e){Ft(this,n);var i=It(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,t,e));return i.type="percentage",i.setup(),i}return qt(n,t),Wt(n,[{key:"setMeasures",value:function(t){var e=this.measures;this.barOptions=t.barOptions||{};var n=this.barOptions;n.height=n.height||20,n.depth=n.depth||Vt,e.paddings.right=30,e.legendHeight=60,e.baseHeight=8*(n.height+.5*n.depth)}},{key:"setupComponents",value:function(){var t=this.state,e=[["percentageBars",{barHeight:this.barOptions.height,barDepth:this.barOptions.depth},function(){return{xPositions:t.xPositions,widths:t.widths,colors:this.colors}}.bind(this)]];this.components=new Map(e.map((function(t){var e=$t.apply(void 0,Bt(t));return[t[0],e]})))}},{key:"calc",value:function(){var t=this;Rt(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"calc",this).call(this);var e=this.state;e.xPositions=[],e.widths=[];var i=0;e.sliceTotals.map((function(n){var s=t.width*n/e.grandTotal;e.widths.push(s),e.xPositions.push(i),i+=s}))}},{key:"makeDataByIndex",value:function(){}},{key:"bindTooltip",value:function(){var t=this,n=this.state;this.container.addEventListener("mousemove",(function(i){var s=t.components.get("percentageBars").store,a=i.target;if(s.includes(a)){var r=s.indexOf(a),o=e(t.container),l=e(a),c=l.left-o.left+parseInt(a.getAttribute("width"))/2,u=l.top-o.top,d=(t.formattedLabels&&t.formattedLabels.length>0?t.formattedLabels[r]:t.state.labels[r])+": ",h=n.sliceTotals[r]/n.grandTotal;t.tip.setValues(c,u,{name:d,value:(100*h).toFixed(1)+"%"}),t.tip.showTip()}}))}}]),n}(ye),Te=function(t){function n(t,e){Ft(this,n);var i=It(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,t,e));return i.type="pie",i.initTimeout=0,i.init=1,i.setup(),i}return qt(n,t),Wt(n,[{key:"configure",value:function(t){Rt(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"configure",this).call(this,t),this.mouseMove=this.mouseMove.bind(this),this.mouseLeave=this.mouseLeave.bind(this),this.hoverRadio=t.hoverRadio||.1,this.config.startAngle=t.startAngle||0,this.clockWise=t.clockWise||!1}},{key:"calc",value:function(){var t=this;Rt(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"calc",this).call(this);var e=this.state;this.radius=this.height>this.width?this.center.x:this.center.y;var i=this.radius,s=this.clockWise,a=e.slicesProperties||[];e.sliceStrings=[],e.slicesProperties=[];var r=180-this.config.startAngle;e.sliceTotals.map((function(n,o){var l=r,c=n/e.grandTotal*360,u=c>180?1:0,d=s?-c:c,h=r+=d,f=p(l,i),g=p(h,i),v=t.init&&a[o],m=void 0,y=void 0;t.init?(m=v?v.startPosition:f,y=v?v.endPosition:f):(m=f,y=g);var b=360===c?D(m,y,t.center,t.radius,s,u):C(m,y,t.center,t.radius,s,u);e.sliceStrings.push(b),e.slicesProperties.push({startPosition:f,endPosition:g,value:n,total:e.grandTotal,startAngle:l,endAngle:h,angle:d})})),this.init=0}},{key:"setupComponents",value:function(){var t=this.state,e=[["pieSlices",{},function(){return{sliceStrings:t.sliceStrings,colors:this.colors}}.bind(this)]];this.components=new Map(e.map((function(t){var e=$t.apply(void 0,Bt(t));return[t[0],e]})))}},{key:"calTranslateByAngle",value:function(t){var e=this.radius,n=this.hoverRadio,i=p(t.startAngle+t.angle/2,e);return"translate3d("+i.x*n+"px,"+i.y*n+"px,0)"}},{key:"hoverSlice",value:function(t,n,i,s){if(t){var a=this.colors[n];if(i){ot(t,this.calTranslateByAngle(this.state.slicesProperties[n])),t.style.fill=k(a,50);var r=e(this.svg),o=s.pageX-r.left+10,l=s.pageY-r.top-10,c=(this.formatted_labels&&this.formatted_labels.length>0?this.formatted_labels[n]:this.state.labels[n])+": ",u=(100*this.state.sliceTotals[n]/this.state.grandTotal).toFixed(1);this.tip.setValues(o,l,{name:c,value:u+"%"}),this.tip.showTip()}else ot(t,"translate3d(0,0,0)"),this.tip.hideTip(),t.style.fill=a}}},{key:"bindTooltip",value:function(){this.container.addEventListener("mousemove",this.mouseMove),this.container.addEventListener("mouseleave",this.mouseLeave)}},{key:"mouseMove",value:function(t){var e=t.target,n=this.components.get("pieSlices").store,i=this.curActiveSliceIndex,s=this.curActiveSlice;if(n.includes(e)){var a=n.indexOf(e);this.hoverSlice(s,i,!1),this.curActiveSlice=e,this.curActiveSliceIndex=a,this.hoverSlice(e,a,!0,t)}else this.mouseLeave()}},{key:"mouseLeave",value:function(){this.hoverSlice(this.curActiveSlice,this.curActiveSliceIndex,!1)}}]),n}(ye),Me=function(t){function e(t,n){Ft(this,e);var i=It(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,n));i.type="heatmap",i.countLabel=n.countLabel||"";var s=["Sunday","Monday"],a=s.includes(n.startSubDomain)?n.startSubDomain:"Sunday";return i.startSubDomainIndex=s.indexOf(a),i.setup(),i}return qt(e,t),Wt(e,[{key:"setMeasures",value:function(t){var e=this.measures;this.discreteDomains=0===t.discreteDomains?0:1,e.paddings.top=36,e.paddings.bottom=0,e.legendHeight=24,e.baseHeight=12*be+l(e);var n=this.data,i=this.discreteDomains?12:0;this.independentWidth=12*(gt(n.start,n.end)+i)+c(e)}},{key:"updateWidth",value:function(){var t=this.discreteDomains?12:0,e=this.state.noOfWeeks?this.state.noOfWeeks:52;this.baseWidth=12*(e+t)+c(this.measures)}},{key:"prepareData",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.data;if(t.start&&t.end&&t.start>t.end)throw new Error("Start date cannot be greater than end date.");if(t.start||(t.start=new Date,t.start.setFullYear(t.start.getFullYear()-1)),t.end||(t.end=new Date),t.dataPoints=t.dataPoints||{},parseInt(Object.keys(t.dataPoints)[0])>1e5){var e={};Object.keys(t.dataPoints).forEach((function(n){var i=new Date(n*xe);e[pt(i)]=t.dataPoints[n]})),t.dataPoints=e}return t}},{key:"calc",value:function(){var t=this.state;t.start=ft(this.data.start),t.end=ft(this.data.end),t.firstWeekStart=ft(t.start),t.noOfWeeks=gt(t.start,t.end),t.distribution=_t(Object.values(this.data.dataPoints),5),t.domainConfigs=this.getDomains()}},{key:"setupComponents",value:function(){var t=this,e=this.state,n=this.discreteDomains?0:1,i=e.domainConfigs.map((function(i,s){return["heatDomain",{index:i.index,colWidth:12,rowHeight:12,squareSize:10,radius:t.rawChartArgs.radius||0,xTranslate:12*e.domainConfigs.filter((function(t,e){return e1&&void 0!==arguments[1]?arguments[1]:"",n=[t.getMonth(),t.getFullYear()],i=n[0],s=n[1],a=xt(t),r={index:i,cols:[]};wt(e=ft(e)||bt(i,s),1);for(var o=gt(a,e),l=[],c=void 0,u=0;u2&&void 0!==arguments[2]&&arguments[2],i=this.state,s=ft(t),a=[],r=0;r=i.start&&s<=i.end;n||s.getMonth()!==e||!l?o.yyyyMmDd=pt(s):o=this.getSubDomainConfig(s),a.push(o)}return a}},{key:"getSubDomainConfig",value:function(t){var e=pt(t),n=this.data.dataPoints[e];return{yyyyMmDd:e,dataValue:n||0,fill:this.colors[Ct(n,this.state.distribution)]}}}]),e}(me),Se=function(t){function n(t,e){Ft(this,n);var i=It(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,t,e));return i.barOptions=e.barOptions||{},i.lineOptions=e.lineOptions||{},i.type=e.type||"line",i.init=1,i.setup(),i}return qt(n,t),Wt(n,[{key:"setMeasures",value:function(){this.data.datasets.length<=1&&(this.config.showLegend=0,this.measures.paddings.bottom=30)}},{key:"configure",value:function(t){Rt(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"configure",this).call(this,t),t.axisOptions=t.axisOptions||{},t.tooltipOptions=t.tooltipOptions||{},this.config.xAxisMode=t.axisOptions.xAxisMode||"span",this.config.yAxisMode=t.axisOptions.yAxisMode||"span",this.config.xIsSeries=t.axisOptions.xIsSeries||0,this.config.shortenYAxisNumbers=t.axisOptions.shortenYAxisNumbers||0,this.config.formatTooltipX=t.tooltipOptions.formatTooltipX,this.config.formatTooltipY=t.tooltipOptions.formatTooltipY,this.config.valuesOverPoints=t.valuesOverPoints}},{key:"prepareData",value:function(){return Dt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.data,this.type)}},{key:"prepareFirstData",value:function(){return Et(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.data)}},{key:"calc",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.calcXPositions(),t||this.calcYAxisParameters(this.getAllYValues(),"line"===this.type),this.makeDataByIndex()}},{key:"calcXPositions",value:function(){var t=this.state,e=this.data.labels;t.datasetLength=e.length,t.unitWidth=this.width/t.datasetLength,t.xOffset=t.unitWidth/2,t.xAxis={labels:e,positions:e.map((function(e,n){return u(t.xOffset+n*t.unitWidth)}))}}},{key:"calcYAxisParameters",value:function(t){var e=Ot(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:"false"),n=this.height/St(e),i=Mt(e)*n,s=this.height-Tt(e)*i;this.state.yAxis={labels:e,positions:e.map((function(t){return s-t*n})),scaleMultiplier:n,zeroLine:s},this.calcDatasetPoints(),this.calcYExtremes(),this.calcYRegions()}},{key:"calcDatasetPoints",value:function(){var t=this.state,e=function(e){return e.map((function(e){return Lt(e,t.yAxis)}))};t.datasets=this.data.datasets.map((function(t,n){var i=t.values,s=t.cumulativeYs||[];return{name:t.name&&t.name.replace(/<|>|&/g,(function(t){return"&"==t?"&":"<"==t?"<":">"})),index:n,chartType:t.chartType,values:i,yPositions:e(i),cumulativeYs:s,cumulativeYPos:e(s)}}))}},{key:"calcYExtremes",value:function(){var t=this.state;this.barOptions.stacked?t.yExtremes=t.datasets[t.datasets.length-1].cumulativeYPos:(t.yExtremes=new Array(t.datasetLength).fill(9999),t.datasets.map((function(e){e.yPositions.map((function(e,n){er(i)?t.mapTooltipXPosition(a):t.tip.hideTip()}))}},{key:"mapTooltipXPosition",value:function(t){var e=this.state;if(e.yExtremes){var n=Nt(t,e.xAxis.positions,!0);if(n>=0){var i=this.dataByIndex[n];this.tip.setValues(i.xPos+this.tip.offset.x,i.yExtreme+this.tip.offset.y,{name:i.formattedLabel,value:""},i.values,n),this.tip.showTip()}}}},{key:"renderLegend",value:function(){var t=this,e=this.data;e.datasets.length>1&&(this.legendArea.textContent="",e.datasets.map((function(e,n){var i=W(100*n,"0",100,t.colors[n],e.name,t.config.truncateLegends);t.legendArea.appendChild(i)})))}},{key:"makeOverlay",value:function(){var t=this;this.init?this.init=0:(this.overlayGuides&&this.overlayGuides.forEach((function(t){var e=t.overlay;e.parentNode.removeChild(e)})),this.overlayGuides=this.dataUnitComponents.map((function(t){return{type:t.unitType,overlay:void 0,units:t.units}})),void 0===this.state.currentIndex&&(this.state.currentIndex=this.state.datasetLength-1),this.overlayGuides.map((function(e){var n=e.units[t.state.currentIndex];e.overlay=le[e.type](n),t.drawArea.appendChild(e.overlay)})))}},{key:"updateOverlayGuides",value:function(){this.overlayGuides&&this.overlayGuides.forEach((function(t){var e=t.overlay;e.parentNode.removeChild(e)}))}},{key:"bindOverlay",value:function(){var t=this;this.parent.addEventListener("data-select",(function(){t.updateOverlay()}))}},{key:"bindUnits",value:function(){var t=this;this.dataUnitComponents.map((function(e){e.units.map((function(e){e.addEventListener("click",(function(){var n=e.getAttribute("data-point-index");t.setCurrentDataPoint(n)}))}))})),this.tip.container.addEventListener("click",(function(){var e=t.tip.container.getAttribute("data-point-index");t.setCurrentDataPoint(e)}))}},{key:"updateOverlay",value:function(){var t=this;this.overlayGuides.map((function(e){var n=e.units[t.state.currentIndex];ce[e.type](n,e.overlay)}))}},{key:"onLeftArrow",value:function(){this.setCurrentDataPoint(this.state.currentIndex-1)}},{key:"onRightArrow",value:function(){this.setCurrentDataPoint(this.state.currentIndex+1)}},{key:"getDataPoint",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state.currentIndex,e=this.state;return{index:t,label:e.xAxis.labels[t],values:e.datasets.map((function(e){return e.values[t]}))}}},{key:"setCurrentDataPoint",value:function(t){var e=this.state;(t=parseInt(t))<0&&(t=0),t>=e.xAxis.labels.length&&(t=e.xAxis.labels.length-1),t!==e.currentIndex&&(e.currentIndex=t,a(this.parent,"data-select",this.getDataPoint()))}},{key:"addDataPoint",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.state.datasetLength;Rt(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"addDataPoint",this).call(this,t,e,i),this.data.labels.splice(i,0,t),this.data.datasets.map((function(t,n){t.values.splice(i,0,e[n])})),this.update(this.data)}},{key:"removeDataPoint",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state.datasetLength-1;this.data.labels.length<=1||(Rt(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"removeDataPoint",this).call(this,t),this.data.labels.splice(t,1),this.data.datasets.map((function(e){e.values.splice(t,1)})),this.update(this.data))}},{key:"updateDataset",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.data.datasets[e].values=t,this.update(this.data)}},{key:"updateDatasets",value:function(t){this.data.datasets.map((function(e,n){t[n]&&(e.values=t[n])})),this.update(this.data)}}]),n}(me),Le=function(t){function n(t,e){Ft(this,n);var i=It(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,t,e));return i.type="donut",i.initTimeout=0,i.init=1,i.setup(),i}return qt(n,t),Wt(n,[{key:"configure",value:function(t){Rt(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"configure",this).call(this,t),this.mouseMove=this.mouseMove.bind(this),this.mouseLeave=this.mouseLeave.bind(this),this.hoverRadio=t.hoverRadio||.1,this.config.startAngle=t.startAngle||0,this.clockWise=t.clockWise||!1,this.strokeWidth=t.strokeWidth||30}},{key:"calc",value:function(){var t=this;Rt(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"calc",this).call(this);var e=this.state;this.radius=this.height>this.width?this.center.x-this.strokeWidth/2:this.center.y-this.strokeWidth/2;var i=this.radius,s=this.clockWise,a=e.slicesProperties||[];e.sliceStrings=[],e.slicesProperties=[];var r=180-this.config.startAngle;e.sliceTotals.map((function(n,o){var l=r,c=n/e.grandTotal*360,u=c>180?1:0,d=s?-c:c,h=r+=d,f=p(l,i),g=p(h,i),v=t.init&&a[o],m=void 0,y=void 0;t.init?(m=v?v.startPosition:f,y=v?v.endPosition:f):(m=f,y=g);var b=360===c?z(m,y,t.center,t.radius,t.clockWise,u):E(m,y,t.center,t.radius,t.clockWise,u);e.sliceStrings.push(b),e.slicesProperties.push({startPosition:f,endPosition:g,value:n,total:e.grandTotal,startAngle:l,endAngle:h,angle:d})})),this.init=0}},{key:"setupComponents",value:function(){var t=this.state,e=[["donutSlices",{},function(){return{sliceStrings:t.sliceStrings,colors:this.colors,strokeWidth:this.strokeWidth}}.bind(this)]];this.components=new Map(e.map((function(t){var e=$t.apply(void 0,Bt(t));return[t[0],e]})))}},{key:"calTranslateByAngle",value:function(t){var e=this.radius,n=this.hoverRadio,i=p(t.startAngle+t.angle/2,e);return"translate3d("+i.x*n+"px,"+i.y*n+"px,0)"}},{key:"hoverSlice",value:function(t,n,i,s){if(t){var a=this.colors[n];if(i){ot(t,this.calTranslateByAngle(this.state.slicesProperties[n])),t.style.stroke=k(a,50);var r=e(this.svg),o=s.pageX-r.left+10,l=s.pageY-r.top-10,c=(this.formatted_labels&&this.formatted_labels.length>0?this.formatted_labels[n]:this.state.labels[n])+": ",u=(100*this.state.sliceTotals[n]/this.state.grandTotal).toFixed(1);this.tip.setValues(o,l,{name:c,value:u+"%"}),this.tip.showTip()}else ot(t,"translate3d(0,0,0)"),this.tip.hideTip(),t.style.stroke=a}}},{key:"bindTooltip",value:function(){this.container.addEventListener("mousemove",this.mouseMove),this.container.addEventListener("mouseleave",this.mouseLeave)}},{key:"mouseMove",value:function(t){var e=t.target,n=this.components.get("donutSlices").store,i=this.curActiveSliceIndex,s=this.curActiveSlice;if(n.includes(e)){var a=n.indexOf(e);this.hoverSlice(s,i,!1),this.curActiveSlice=e,this.curActiveSliceIndex=a,this.hoverSlice(e,a,!0,t)}else this.mouseLeave()}},{key:"mouseLeave",value:function(){this.hoverSlice(this.curActiveSlice,this.curActiveSliceIndex,!1)}}]),n}(ye),Ne={bar:Se,line:Se,percentage:Oe,heatmap:Me,pie:Te,donut:Le},_e=function t(e,n){return Ft(this,t),Ht(n.type,e,n)},Ce=Object.freeze({Chart:_e,PercentageChart:Oe,PieChart:Te,Heatmap:Me,AxisChart:Se}),De={NAME:"Frappe Charts",VERSION:"1.6.2"};return Object.assign({},De,Ce)}()}(Tt={exports:{}},Tt.exports),Tt.exports);function St(e){let n,i,s;return{c(){n=v("div")},m(t,a){p(t,n,a),e[18](n),i||(s=w(n,"data-select",e[17]),i=!0)},p:t,i:t,o:t,d(t){t&&f(n),e[18](null),i=!1,s()}}}function Lt(t,e,n){let i,{data:s={labels:[],datasets:[{values:[]}],yMarkers:{},yRegions:[]}}=e,{title:a=""}=e,{type:r="line"}=e,{height:o=300}=e,{animate:l=!0}=e,{axisOptions:c={}}=e,{barOptions:u={}}=e,{lineOptions:d={}}=e,{tooltipOptions:h={}}=e,{colors:p=[]}=e,{valuesOverPoints:f=0}=e,{isNavigable:g=!1}=e,{maxSlices:v=3}=e,m=null;function y(t){return function(...e){if(m)return t(...e)}}const b=y(((t,e,n)=>m.addDataPoint(t,e,n))),x=y((t=>m.removeDataPoint(t))),w=y((()=>m.export())),$=y((t=>m.update(t)));return N((()=>{m=new Mt.Chart(i,{data:s,title:a,type:r,height:o,animate:l,colors:p,axisOptions:c,barOptions:u,lineOptions:d,tooltipOptions:h,valuesOverPoints:f,isNavigable:g,maxSlices:v})})),function(t){L().$$.on_destroy.push(t)}((()=>{m=null})),t.$$set=t=>{"data"in t&&n(1,s=t.data),"title"in t&&n(2,a=t.title),"type"in t&&n(3,r=t.type),"height"in t&&n(4,o=t.height),"animate"in t&&n(5,l=t.animate),"axisOptions"in t&&n(6,c=t.axisOptions),"barOptions"in t&&n(7,u=t.barOptions),"lineOptions"in t&&n(8,d=t.lineOptions),"tooltipOptions"in t&&n(9,h=t.tooltipOptions),"colors"in t&&n(10,p=t.colors),"valuesOverPoints"in t&&n(11,f=t.valuesOverPoints),"isNavigable"in t&&n(12,g=t.isNavigable),"maxSlices"in t&&n(13,v=t.maxSlices)},t.$$.update=()=>{2&t.$$.dirty&&$(s)},[i,s,a,r,o,l,c,u,d,h,p,f,g,v,b,x,w,function(e){C.call(this,t,e)},function(t){E[t?"unshift":"push"]((()=>{i=t,n(0,i)}))}]}var Nt=class extends at{constructor(t){super(),st(this,t,Lt,St,a,{data:1,title:2,type:3,height:4,animate:5,axisOptions:6,barOptions:7,lineOptions:8,tooltipOptions:9,colors:10,valuesOverPoints:11,isNavigable:12,maxSlices:13,addDataPoint:14,removeDataPoint:15,exportChart:16})}get addDataPoint(){return this.$$.ctx[14]}get removeDataPoint(){return this.$$.ctx[15]}get exportChart(){return this.$$.ctx[16]}};function _t(t){let e,n;return{c(){e=v("h1"),n=y(t[0]),$(e,"class","crd-hdr")},m(t,i){p(t,e,i),h(e,n)},p(t,e){1&e&&P(n,t[0])},d(t){t&&f(e)}}}function Ct(t){let e,n,i,s=t[0]&&_t(t);const a=t[2].default,r=o(a,t,t[1],null);return{c(){e=v("div"),s&&s.c(),n=b(),r&&r.c(),$(e,"class","crd")},m(t,a){p(t,e,a),s&&s.m(e,null),h(e,n),r&&r.m(e,null),i=!0},p(t,[o]){t[0]?s?s.p(t,o):(s=_t(t),s.c(),s.m(e,n)):s&&(s.d(1),s=null),r&&r.p&&(!i||2&o)&&u(r,a,t,t[1],i?c(a,t[1],o,null):d(t[1]),null)},i(t){i||(Z(r,t),i=!0)},o(t){Q(r,t),i=!1},d(t){t&&f(e),s&&s.d(),r&&r.d(t)}}}function Dt(t,e,n){let{$$slots:i={},$$scope:s}=e,{title:a}=e;return t.$$set=t=>{"title"in t&&n(0,a=t.title),"$$scope"in t&&n(1,s=t.$$scope)},[a,s,i]}class Et extends at{constructor(t){super(),st(this,t,Dt,Ct,a,{title:0})}}function zt(t){let e,n,s,a;return{c(){e=v("input"),$(e,"class",n=1==t[0].send?"wgt-ipt text-right border-red-500":"wgt-ipt text-right focus:border-indigo-500"),$(e,"step","0.1"),$(e,"type","number")},m(n,i){p(n,e,i),A(e,t[0].status),s||(a=[w(e,"change",t[3]),w(e,"input",t[4])],s=!0)},p(t,i){1&i&&n!==(n=1==t[0].send?"wgt-ipt text-right border-red-500":"wgt-ipt text-right focus:border-indigo-500")&&$(e,"class",n),1&i&&k(e.value)!==t[0].status&&A(e,t[0].status)},d(t){t&&f(e),s=!1,i(a)}}}function Ht(t){let e,n,s,a;return{c(){e=v("input"),$(e,"class",n=1==t[0].send?"wgt-ipt text-right border-red-500":"wgt-ipt text-right focus:border-indigo-500"),$(e,"type","text")},m(n,i){p(n,e,i),A(e,t[0].status),s||(a=[w(e,"change",t[5]),w(e,"input",t[6])],s=!0)},p(t,i){1&i&&n!==(n=1==t[0].send?"wgt-ipt text-right border-red-500":"wgt-ipt text-right focus:border-indigo-500")&&$(e,"class",n),1&i&&e.value!==t[0].status&&A(e,t[0].status)},d(t){t&&f(e),s=!1,i(a)}}}function jt(t){let e,n,s,a;return{c(){e=v("input"),$(e,"class",n=1==t[0].send?"wgt-ipt text-right border-red-500":"wgt-ipt text-right focus:border-indigo-500"),$(e,"type","date")},m(n,i){p(n,e,i),A(e,t[0].status),s||(a=[w(e,"change",t[7]),w(e,"input",t[8])],s=!0)},p(t,i){1&i&&n!==(n=1==t[0].send?"wgt-ipt text-right border-red-500":"wgt-ipt text-right focus:border-indigo-500")&&$(e,"class",n),1&i&&A(e,t[0].status)},d(t){t&&f(e),s=!1,i(a)}}}function Ft(t){let e,n,s,a;return{c(){e=v("input"),$(e,"class",n=1==t[0].send?"wgt-ipt text-right border-red-500":"wgt-ipt text-right focus:border-indigo-500"),$(e,"type","time")},m(n,i){p(n,e,i),A(e,t[0].status),s||(a=[w(e,"change",t[9]),w(e,"input",t[10])],s=!0)},p(t,i){1&i&&n!==(n=1==t[0].send?"wgt-ipt text-right border-red-500":"wgt-ipt text-right focus:border-indigo-500")&&$(e,"class",n),1&i&&A(e,t[0].status)},d(t){t&&f(e),s=!1,i(a)}}}function Wt(e){let n,i,s,a,r,o,l,c,u,d=(e[0].descr?e[0].descr:"")+"",g="number"==e[0].type&&zt(e),m="text"==e[0].type&&Ht(e),x="date"==e[0].type&&jt(e),w="time"==e[0].type&&Ft(e);return{c(){n=v("div"),i=v("div"),s=v("label"),a=y(d),r=b(),o=v("div"),g&&g.c(),l=b(),m&&m.c(),c=b(),x&&x.c(),u=b(),w&&w.c(),$(s,"class","wgt-dscr-stl"),$(i,"class","wgt-dscr-w"),$(o,"class","wgt-w"),$(n,"class","crd-itm-psn")},m(t,e){p(t,n,e),h(n,i),h(i,s),h(s,a),h(n,r),h(n,o),g&&g.m(o,null),h(o,l),m&&m.m(o,null),h(o,c),x&&x.m(o,null),h(o,u),w&&w.m(o,null)},p(t,[e]){1&e&&d!==(d=(t[0].descr?t[0].descr:"")+"")&&P(a,d),"number"==t[0].type?g?g.p(t,e):(g=zt(t),g.c(),g.m(o,l)):g&&(g.d(1),g=null),"text"==t[0].type?m?m.p(t,e):(m=Ht(t),m.c(),m.m(o,c)):m&&(m.d(1),m=null),"date"==t[0].type?x?x.p(t,e):(x=jt(t),x.c(),x.m(o,u)):x&&(x.d(1),x=null),"time"==t[0].type?w?w.p(t,e):(w=Ft(t),w.c(),w.m(o,null)):w&&(w.d(1),w=null)},i:t,o:t,d(t){t&&f(n),g&&g.d(),m&&m.d(),x&&x.d(),w&&w.d()}}}function Rt(t,e,n){let{widget:i}=e,{wsPushProp:s=((t,e,n)=>{})}=e,{value:a}=e;a=a;return t.$$set=t=>{"widget"in t&&n(0,i=t.widget),"wsPushProp"in t&&n(1,s=t.wsPushProp),"value"in t&&n(2,a=t.value)},[i,s,a,()=>(n(0,i.send=!0,i),s(i.ws,i.topic,i.status)),function(){i.status=k(this.value),n(0,i)},()=>(n(0,i.send=!0,i),s(i.ws,i.topic,i.status)),function(){i.status=this.value,n(0,i)},()=>(n(0,i.send=!0,i),s(i.ws,i.topic,i.status)),function(){i.status=this.value,n(0,i)},()=>(n(0,i.send=!0,i),s(i.ws,i.topic,i.status)),function(){i.status=this.value,n(0,i)}]}class qt extends at{constructor(t){super(),st(this,t,Rt,Wt,a,{widget:0,wsPushProp:1,value:2})}}function It(e){let n,s,a,r,o,l,c,u,d,g,m,x,k,O,T,M,S,L,N=(e[0].descr?e[0].descr:"")+"";return{c(){n=v("div"),s=v("div"),a=v("label"),r=y(N),o=b(),l=v("div"),c=v("label"),u=v("div"),d=v("input"),m=b(),x=v("div"),k=b(),O=v("div"),$(a,"class","wgt-dscr-stl"),$(s,"class","wgt-dscr-w"),$(d,"id",g=e[0].topic),$(d,"type","checkbox"),$(d,"class","sr-only"),$(x,"class","block bg-gray-600 w-10 h-6 rounded-full"),$(O,"class",T="dot "+(1==e[0].send?"bg-red-400":"bg-white")+" absolute left-1 top-1 w-4 h-4 rounded-full transition"),$(u,"class","relative"),$(c,"for",M=e[0].topic),$(c,"class","items-center cursor-pointer"),$(l,"class","wgt-w"),$(n,"class","crd-itm-psn")},m(t,i){p(t,n,i),h(n,s),h(s,a),h(a,r),h(n,o),h(n,l),h(l,c),h(c,u),h(u,d),A(d,e[0].status),h(u,m),h(u,x),h(u,k),h(u,O),S||(L=[w(d,"change",e[3]),w(d,"change",e[4])],S=!0)},p(t,[e]){1&e&&N!==(N=(t[0].descr?t[0].descr:"")+"")&&P(r,N),1&e&&g!==(g=t[0].topic)&&$(d,"id",g),1&e&&A(d,t[0].status),1&e&&T!==(T="dot "+(1==t[0].send?"bg-red-400":"bg-white")+" absolute left-1 top-1 w-4 h-4 rounded-full transition")&&$(O,"class",T),1&e&&M!==(M=t[0].topic)&&$(c,"for",M)},i:t,o:t,d(t){t&&f(n),S=!1,i(L)}}}function Yt(t,e,n){let{widget:i}=e,{value:s}=e;s=s;let{wsPushProp:a=((t,e,n)=>{})}=e;return t.$$set=t=>{"widget"in t&&n(0,i=t.widget),"value"in t&&n(2,s=t.value),"wsPushProp"in t&&n(1,a=t.wsPushProp)},[i,a,s,()=>(n(0,i.send=!0,i),a(i.ws,i.topic,i.status)),function(){i.status=this.value,n(0,i)}]}class Bt extends at{constructor(t){super(),st(this,t,Yt,It,a,{widget:0,value:2,wsPushProp:1})}}function Jt(e){let n,i,s,a,r,o,l,c,u,d,g,m,x=(e[0].descr?e[0].descr:"")+"",w=(e[0].status?e[0].status:"")+"",k=(e[0].after?e[0].after:"")+"";return{c(){n=v("div"),i=v("div"),s=v("label"),a=y(x),r=b(),o=v("div"),l=v("label"),c=y(w),u=b(),d=v("label"),g=y(" "),m=y(k),$(s,"class","wgt-dscr-stl"),$(i,"class","wgt-dscr-w"),$(l,"class","wgt-adt-stl"),$(d,"class","wgt-adt-stl"),$(o,"class","wgt-w"),$(n,"class","crd-itm-psn")},m(t,e){p(t,n,e),h(n,i),h(i,s),h(s,a),h(n,r),h(n,o),h(o,l),h(l,c),h(o,u),h(o,d),h(d,g),h(d,m)},p(t,[e]){1&e&&x!==(x=(t[0].descr?t[0].descr:"")+"")&&P(a,x),1&e&&w!==(w=(t[0].status?t[0].status:"")+"")&&P(c,w),1&e&&k!==(k=(t[0].after?t[0].after:"")+"")&&P(m,k)},i:t,o:t,d(t){t&&f(n)}}}function Ut(t,e,n){let{widget:i}=e,{value:s}=e;return s=s,t.$$set=t=>{"widget"in t&&n(0,i=t.widget),"value"in t&&n(1,s=t.value)},[i,s]}class Vt extends at{constructor(t){super(),st(this,t,Ut,Jt,a,{widget:0,value:1})}}function Gt(t,e,n){const i=t.slice();return i[101]=e[n],i}function Xt(t,e,n){const i=t.slice();return i[104]=e[n],i[106]=n,i}function Kt(t,e,n){const i=t.slice();return i[107]=e[n],i[108]=e,i[106]=n,i}function Zt(t,e,n){const i=t.slice();return i[109]=e[n][0],i[110]=e[n][1],i[111]=e,i[112]=n,i}function Qt(t,e,n){const i=t.slice();return i[113]=e[n],i}function te(t,e,n){const i=t.slice();return i[116]=e[n],i}function ee(t,e,n){const i=t.slice();return i[119]=e[n],i[106]=n,i}function ne(t,e,n){const i=t.slice();return i[121]=e[n],i[122]=e,i[106]=n,i}function ie(t,e,n){const i=t.slice();return i[101]=e[n],i}function se(t){let e,n,i,s,a=t[101].name+"";return{c(){e=v("option"),n=y(a),i=b(),e.__value=s=t[101],e.value=e.__value},m(t,s){p(t,e,s),h(e,n),h(e,i)},p(t,i){8192&i[0]&&a!==(a=t[101].name+"")&&P(n,a),8192&i[0]&&s!==(s=t[101])&&(e.__value=s,e.value=e.__value)},d(t){t&&f(e)}}}function ae(t){let e,n;return e=new Et({props:{title:"Ваша панель управления пуста, вначале добавьте новые элементы в конфигураторе!"}}),{c(){et(e.$$.fragment)},m(t,i){nt(e,t,i),n=!0},i(t){n||(Z(e.$$.fragment,t),n=!0)},o(t){Q(e.$$.fragment,t),n=!1},d(t){it(e,t)}}}function re(t){let e,n,i,s,a="input"===t[121].widget&&oe(t),r="toggle"===t[121].widget&&le(t),o="anydata"===t[121].widget&&ce(t);return{c(){a&&a.c(),e=b(),r&&r.c(),n=b(),o&&o.c(),i=x()},m(t,l){a&&a.m(t,l),p(t,e,l),r&&r.m(t,l),p(t,n,l),o&&o.m(t,l),p(t,i,l),s=!0},p(t,s){"input"===t[121].widget?a?(a.p(t,s),512&s[0]&&Z(a,1)):(a=oe(t),a.c(),Z(a,1),a.m(e.parentNode,e)):a&&(X(),Q(a,1,1,(()=>{a=null})),K()),"toggle"===t[121].widget?r?(r.p(t,s),512&s[0]&&Z(r,1)):(r=le(t),r.c(),Z(r,1),r.m(n.parentNode,n)):r&&(X(),Q(r,1,1,(()=>{r=null})),K()),"anydata"===t[121].widget?o?(o.p(t,s),512&s[0]&&Z(o,1)):(o=ce(t),o.c(),Z(o,1),o.m(i.parentNode,i)):o&&(X(),Q(o,1,1,(()=>{o=null})),K())},i(t){s||(Z(a),Z(r),Z(o),s=!0)},o(t){Q(a),Q(r),Q(o),s=!1},d(t){a&&a.d(t),t&&f(e),r&&r.d(t),t&&f(n),o&&o.d(t),t&&f(i)}}}function oe(t){let e,n,i;function s(e){t[33](e,t[121])}let a={widget:t[121],wsPushProp:t[32]};return void 0!==t[121].status&&(a.value=t[121].status),e=new qt({props:a}),E.push((()=>tt(e,"value",s))),{c(){et(e.$$.fragment)},m(t,n){nt(e,t,n),i=!0},p(i,s){t=i;const a={};512&s[0]&&(a.widget=t[121]),!n&&512&s[0]&&(n=!0,a.value=t[121].status,I((()=>n=!1))),e.$set(a)},i(t){i||(Z(e.$$.fragment,t),i=!0)},o(t){Q(e.$$.fragment,t),i=!1},d(t){it(e,t)}}}function le(t){let e,n,i;function s(e){t[35](e,t[121])}let a={widget:t[121],wsPushProp:t[34]};return void 0!==t[121].status&&(a.value=t[121].status),e=new Bt({props:a}),E.push((()=>tt(e,"value",s))),{c(){et(e.$$.fragment)},m(t,n){nt(e,t,n),i=!0},p(i,s){t=i;const a={};512&s[0]&&(a.widget=t[121]),!n&&512&s[0]&&(n=!0,a.value=t[121].status,I((()=>n=!1))),e.$set(a)},i(t){i||(Z(e.$$.fragment,t),i=!0)},o(t){Q(e.$$.fragment,t),i=!1},d(t){it(e,t)}}}function ce(t){let e,n,i;function s(e){t[36](e,t[121])}let a={widget:t[121]};return void 0!==t[121].status&&(a.value=t[121].status),e=new Vt({props:a}),E.push((()=>tt(e,"value",s))),{c(){et(e.$$.fragment)},m(t,n){nt(e,t,n),i=!0},p(i,s){t=i;const a={};512&s[0]&&(a.widget=t[121]),!n&&512&s[0]&&(n=!0,a.value=t[121].status,I((()=>n=!1))),e.$set(a)},i(t){i||(Z(e.$$.fragment,t),i=!0)},o(t){Q(e.$$.fragment,t),i=!1},d(t){it(e,t)}}}function ue(t){let e,n,i=t[121].page===t[119].page&&re(t);return{c(){i&&i.c(),e=x()},m(t,s){i&&i.m(t,s),p(t,e,s),n=!0},p(t,n){t[121].page===t[119].page?i?(i.p(t,n),528&n[0]&&Z(i,1)):(i=re(t),i.c(),Z(i,1),i.m(e.parentNode,e)):i&&(X(),Q(i,1,1,(()=>{i=null})),K())},i(t){n||(Z(i),n=!0)},o(t){Q(i),n=!1},d(t){i&&i.d(t),t&&f(e)}}}function de(t){let e,n,i=t[9],s=[];for(let e=0;eQ(s[t],1,1,(()=>{s[t]=null}));return{c(){for(let t=0;tQ(r[t],1,1,(()=>{r[t]=null}));return{c(){e=v("div"),s&&s.c(),n=b();for(let t=0;t{s=null})),K()),524816&i[0]){let n;for(a=t[4],n=0;n| Тип | \n Id | \n Виджет | \n Вкладка | \n Название | \n | \n | ',u=b(),d=v("tbody");for(let t=0;tt[37].call(n))),r.__value="Выберите пресет",r.value=r.__value,$(a,"class","slct-lg"),$(e,"class","grd-2colsfx"),$(c,"class","bg-gray-100"),$(d,"class","bg-white"),$(l,"class","table-fixed w-full select-none my-2 "),$(y,"class","btn-lg")},m(i,f){p(i,e,f),h(e,n);for(let t=0;tНазвание устройства',s=b(),a=v("div"),r=v("input"),o=b(),l=v("div"),c=v("div"),c.innerHTML='',u=b(),d=v("div"),g=v("input"),m=b(),y=v("div"),x=v("div"),x.innerHTML='',k=b(),P=v("div"),O=v("input"),T=b(),M=v("div"),S=v("div"),S.innerHTML='',L=b(),N=v("div"),_=v("input"),C=b(),D=v("div"),E=v("div"),E.innerHTML='',z=b(),H=v("div"),j=v("input"),F=b(),W=v("button"),W.textContent="Сохранить",$(n,"class","wgt-dscr-w"),$(r,"id","name"),$(r,"class","wgt-ipt text-left focus:border-indigo-500"),$(r,"type","text"),$(a,"class","wgt-w"),$(e,"class","crd-itm-psn"),$(c,"class","wgt-dscr-w"),$(g,"id","apssid"),$(g,"class","wgt-ipt text-left focus:border-indigo-500"),$(g,"type","text"),$(d,"class","wgt-w"),$(l,"class","crd-itm-psn"),$(x,"class","wgt-dscr-w"),$(O,"id","appass"),$(O,"class","wgt-ipt text-left focus:border-indigo-500"),$(O,"type","text"),$(P,"class","wgt-w"),$(y,"class","crd-itm-psn"),$(S,"class","wgt-dscr-w"),$(_,"id","routerssid"),$(_,"class","wgt-ipt text-left focus:border-indigo-500"),$(_,"type","text"),$(N,"class","wgt-w"),$(M,"class","crd-itm-psn"),$(E,"class","wgt-dscr-w"),$(j,"id","routerpass"),$(j,"class","wgt-ipt text-left focus:border-indigo-500"),$(j,"type","text"),$(H,"class","wgt-w"),$(D,"class","crd-itm-psn"),$(W,"class","btn-lg")},m(i,f){p(i,e,f),h(e,n),h(e,s),h(e,a),h(a,r),A(r,t[10].name),p(i,o,f),p(i,l,f),h(l,c),h(l,u),h(l,d),h(d,g),A(g,t[10].apssid),p(i,m,f),p(i,y,f),h(y,x),h(y,k),h(y,P),h(P,O),A(O,t[10].appass),p(i,T,f),p(i,M,f),h(M,S),h(M,L),h(M,N),h(N,_),A(_,t[10].routerssid),p(i,C,f),p(i,D,f),h(D,E),h(D,z),h(D,H),h(H,j),A(j,t[10].routerpass),p(i,F,f),p(i,W,f),R||(q=[w(r,"input",t[47]),w(g,"input",t[48]),w(O,"input",t[49]),w(_,"input",t[50]),w(j,"input",t[51]),w(W,"click",t[52])],R=!0)},p(t,e){1024&e[0]&&r.value!==t[10].name&&A(r,t[10].name),1024&e[0]&&g.value!==t[10].apssid&&A(g,t[10].apssid),1024&e[0]&&O.value!==t[10].appass&&A(O,t[10].appass),1024&e[0]&&_.value!==t[10].routerssid&&A(_,t[10].routerssid),1024&e[0]&&j.value!==t[10].routerpass&&A(j,t[10].routerpass)},d(t){t&&f(e),t&&f(o),t&&f(l),t&&f(m),t&&f(y),t&&f(T),t&&f(M),t&&f(C),t&&f(D),t&&f(F),t&&f(W),R=!1,i(q)}}}function Ae(t){let e,n,s,a,r,o,l,c,u,d,g,m,y,x,k,P,O,T,M,S,L,N,_,C,D,E,z,H,j,F,W,R,q;return{c(){e=v("div"),n=v("div"),n.innerHTML='',s=b(),a=v("div"),r=v("input"),o=b(),l=v("div"),c=v("div"),c.innerHTML='',u=b(),d=v("div"),g=v("input"),m=b(),y=v("div"),x=v("div"),x.innerHTML='',k=b(),P=v("div"),O=v("input"),T=b(),M=v("div"),S=v("div"),S.innerHTML='',L=b(),N=v("div"),_=v("input"),C=b(),D=v("div"),E=v("div"),E.innerHTML='',z=b(),H=v("div"),j=v("input"),F=b(),W=v("button"),W.textContent="Сохранить",$(n,"class","wgt-dscr-w"),$(r,"id","mqttServer"),$(r,"class","wgt-ipt text-left focus:border-indigo-500"),$(r,"type","text"),$(a,"class","wgt-w"),$(e,"class","crd-itm-psn"),$(c,"class","wgt-dscr-w"),$(g,"id","mqttPort"),$(g,"class","wgt-ipt text-left focus:border-indigo-500"),$(g,"type","text"),$(d,"class","wgt-w"),$(l,"class","crd-itm-psn"),$(x,"class","wgt-dscr-w"),$(O,"id","mqttPrefix"),$(O,"class","wgt-ipt text-left focus:border-indigo-500"),$(O,"type","text"),$(P,"class","wgt-w"),$(y,"class","crd-itm-psn"),$(S,"class","wgt-dscr-w"),$(_,"id","mqttUser"),$(_,"class","wgt-ipt text-left focus:border-indigo-500"),$(_,"type","text"),$(N,"class","wgt-w"),$(M,"class","crd-itm-psn"),$(E,"class","wgt-dscr-w"),$(j,"id","mqttPass"),$(j,"class","wgt-ipt text-left focus:border-indigo-500"),$(j,"type","text"),$(H,"class","wgt-w"),$(D,"class","crd-itm-psn"),$(W,"class","btn-lg")},m(i,f){p(i,e,f),h(e,n),h(e,s),h(e,a),h(a,r),A(r,t[10].mqttServer),p(i,o,f),p(i,l,f),h(l,c),h(l,u),h(l,d),h(d,g),A(g,t[10].mqttPort),p(i,m,f),p(i,y,f),h(y,x),h(y,k),h(y,P),h(P,O),A(O,t[10].mqttPrefix),p(i,T,f),p(i,M,f),h(M,S),h(M,L),h(M,N),h(N,_),A(_,t[10].mqttUser),p(i,C,f),p(i,D,f),h(D,E),h(D,z),h(D,H),h(H,j),A(j,t[10].mqttPass),p(i,F,f),p(i,W,f),R||(q=[w(r,"input",t[53]),w(g,"input",t[54]),w(O,"input",t[55]),w(_,"input",t[56]),w(j,"input",t[57]),w(W,"click",t[58])],R=!0)},p(t,e){1024&e[0]&&r.value!==t[10].mqttServer&&A(r,t[10].mqttServer),1024&e[0]&&g.value!==t[10].mqttPort&&A(g,t[10].mqttPort),1024&e[0]&&O.value!==t[10].mqttPrefix&&A(O,t[10].mqttPrefix),1024&e[0]&&_.value!==t[10].mqttUser&&A(_,t[10].mqttUser),1024&e[0]&&j.value!==t[10].mqttPass&&A(j,t[10].mqttPass)},d(t){t&&f(e),t&&f(o),t&&f(l),t&&f(m),t&&f(y),t&&f(T),t&&f(M),t&&f(C),t&&f(D),t&&f(F),t&&f(W),R=!1,i(q)}}}function Oe(t){let e,n,i,s,a;return n=new Et({props:{title:"Подключение к WiFi роутеру",$$slots:{default:[Pe]},$$scope:{ctx:t}}}),s=new Et({props:{title:"Подключение к MQTT брокеру",$$slots:{default:[Ae]},$$scope:{ctx:t}}}),{c(){e=v("div"),et(n.$$.fragment),i=b(),et(s.$$.fragment),$(e,"class","grd-2cols")},m(t,r){p(t,e,r),nt(n,e,null),h(e,i),nt(s,e,null),a=!0},p(t,e){const i={};1024&e[0]|2&e[4]&&(i.$$scope={dirty:e,ctx:t}),n.$set(i);const a={};1024&e[0]|2&e[4]&&(a.$$scope={dirty:e,ctx:t}),s.$set(a)},i(t){a||(Z(n.$$.fragment,t),Z(s.$$.fragment,t),a=!0)},o(t){Q(n.$$.fragment,t),Q(s.$$.fragment,t),a=!1},d(t){t&&f(e),it(n),it(s)}}}function Te(e){let n,i;return n=new Nt({props:{data:e[16],type:"line"}}),{c(){et(n.$$.fragment)},m(t,e){nt(n,t,e),i=!0},p:t,i(t){i||(Z(n.$$.fragment,t),i=!0)},o(t){Q(n.$$.fragment,t),i=!1},d(t){it(n,t)}}}function Me(t){let e,n;return e=new Et({props:{title:"Пример графика",$$slots:{default:[Te]},$$scope:{ctx:t}}}),{c(){et(e.$$.fragment)},m(t,i){nt(e,t,i),n=!0},p(t,n){const i={};2&n[4]&&(i.$$scope={dirty:n,ctx:t}),e.$set(i)},i(t){n||(Z(e.$$.fragment,t),n=!0)},o(t){Q(e.$$.fragment,t),n=!1},d(t){it(e,t)}}}function Se(t){let e,n,i,s=t[104].msg+"";return{c(){e=v("div"),n=y(s),$(e,"class",i=t[104].msg.toString().includes("[E]")?"text-red-500":"text-black")},m(t,i){p(t,e,i),h(e,n)},p(t,a){32768&a[0]&&s!==(s=t[104].msg+"")&&P(n,s),32768&a[0]&&i!==(i=t[104].msg.toString().includes("[E]")?"text-red-500":"text-black")&&$(e,"class",i)},d(t){t&&f(e)}}}function Le(t){let e,n=t[15],i=[];for(let e=0;eНазвание устройства | \n IP адрес | \n Идентификатор | \n Состояние | ',i=b(),s=v("tbody");for(let t=0;t",M=b(),S=v("ul"),L=v("li"),N=v("a"),N.textContent="Управление",_=b(),C=v("li"),D=v("a"),D.textContent="Конфигуратор",E=b(),z=v("li"),H=v("a"),H.textContent="Подключение",j=b(),F=v("li"),W=v("a"),W.textContent="Утилиты",R=b(),I=v("li"),Y=v("a"),Y.textContent="Лог",B=b(),J=v("li"),U=v("a"),U.textContent="Устройства",V=b(),G=v("li"),X=v("a"),X.textContent="О проекте",K=b(),tt=v("main"),st=v("ul"),at=v("div"),et(rt.$$.fragment),ot=b(),et(lt.$$.fragment),ct=b(),et(ut.$$.fragment),dt=b(),et(ht.$$.fragment),pt=b(),et(ft.$$.fragment),gt=b(),et(vt.$$.fragment),mt=b(),et(yt.$$.fragment),xt=b(),wt=v("footer"),wt.innerHTML='Developed by Dmitry Borisenko
',void 0===t[12]&&q((()=>t[28].call(r))),$(a,"class","px-15 py-2"),$(u,"stroke","none"),$(u,"d","M0 0h24v24H0z"),$(d,"d","M7 18a4.6 4.4 0 0 1 0 -9h0a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-12"),$(c,"class",y="h-8 w-8 "+(!0===t[11]?"text-green-500":"text-red-500")),$(c,"width","24"),$(c,"height","24"),$(c,"viewBox","0 0 24 24"),$(c,"stroke-width","2"),$(c,"stroke","currentColor"),$(c,"fill","none"),$(c,"stroke-linecap","round"),$(c,"stroke-linejoin","round"),$(l,"class","px-5 py-1"),$(s,"class","flex justify-end content-center"),$(n,"class","h-10 w-full bg-gray-100 overflow-auto shadow-md"),$(P,"id","menu__toggle"),$(P,"type","checkbox"),$(T,"class","menu__btn"),$(T,"for","menu__toggle"),$(N,"class","menu__item"),$(N,"href","/"),$(D,"class","menu__item"),$(D,"href","/config"),$(H,"class","menu__item"),$(H,"href","/connection"),$(W,"class","menu__item"),$(W,"href","/utilities"),$(Y,"class","menu__item"),$(Y,"href","/log"),$(U,"class","menu__item"),$(U,"href","/list"),$(X,"class","menu__item"),$(X,"href","/about"),$(S,"class","menu__box"),$(k,"class","flex"),$(at,"class","bg-cover pt-0 px-4"),$(st,"class","menu__main"),$(tt,"class",bt="flex-1 overflow-y-auto p-0 "+(!0!==t[0]||t[1]?"ml-0":"ml-36")),$(wt,"class","h-4 bg-gray-100 border-gray-200 shadow-lg"),$(e,"class","flex flex-col h-screen bg-gray-50")},m(i,f){p(i,e,f),h(e,n),h(n,s),h(s,a),h(a,r);for(let t=0;tn(76,i=t))),bt.mode.hash();let s,a,o=!1,l=!1,c=document.location.hostname,u=!1,d=!0,h=[],p=[],f=!1,g=[],v=!1,m=[],y=!1,b=0,x=[],w=!1,$={},k=!1,P=[],A=!1,O=[],M=!0,S={};O=[{name:"Устройство 1",id:"987654321",ip:c,status:!1}];var L=function(){this.parts=[]};let _;L.prototype.append=function(t){this.parts.push(t),this.blob=void 0},L.prototype.getBlob=function(){return this.blob||(this.blob=new Blob(this.parts,{type:"binary"})),this.blob},L.prototype.clear=function(){this.parts=[]};var C=new L,D=new L,E=new L,z=new L,H=new L;function j(){void 0!==a&&G(a,_)}function F(){let t=0;O.forEach((e=>{e.ws=t,e.status||(R(t),I(t)),t++})),n(13,O),n(11,A=s.status)}function W(t,e){O.forEach((n=>{n.ws===t&&(n.status=e,n.status?console.log("[i]",n.ip,"status online"):console.log("[i]",n.ip,"status offline"))})),n(13,O),n(11,A=s.status)}function R(t){let e=q(t);"error"===e?console.log("[e]","device list wrong"):(P[t]=new WebSocket("ws://"+e+":81"),P.binaryType="blob",console.log("[i]",e,"started connecting..."))}function q(t){let e="error";return O.forEach((n=>{t===n.ws&&(e=n.ip)})),e}function I(t){if(P[t]){let e=q(t);console.log("[i]",e,"web socket events added"),P[t].addEventListener("open",(function(n){console.log("[i]",e,"completed connecting"),W(t,!0),j()})),P[t].addEventListener("message",(function(t){if("string"==typeof t.data){let i=t.data;if(i.includes("status")&&Fe(i)){let t=JSON.parse(i);!function(t){for(let e=0;e{let e=t.result;Fe(e)&&(n(5,p=JSON.parse(e)),n(5,p),console.log("[i]","configJson parced!"))}}if("/st/widgets.json"===i&&(console.log("[i]","widgetsJson start!"),v=!0),"/end/widgets.json"===i){console.log("[i]","widgetsJson end!"),v=!1;e=D.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;Fe(e)&&(n(6,g=JSON.parse(e)),n(6,g),console.log("[i]","widgetsJson parced!"))}}if("/st/items.json"===i&&(console.log("[i]","itemsJson start!"),y=!0),"/end/items.json"===i){console.log("[i]","itemsJson end!"),y=!1;e=E.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;Fe(e)&&(n(7,m=JSON.parse(e)),n(7,m),console.log("[i]","itemsJson parced!"))}}if("/st/layout.json"===i&&(console.log("[i]","layoutJson start!"),w=!0),"/end/layout.json"===i){console.log("[i]","layoutJson end!"),w=!1;e=z.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;Fe(e)&&(n(9,x=JSON.parse(e)),n(9,x),K(),console.log("[i]","layoutJson parced!"))}}if("/st/settings.json"===i&&(console.log("[i]","settingsJson start!"),k=!0),"/end/settings.json"===i){console.log("[i]","settingsJson end!"),k=!1;e=H.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;Fe(e)&&(n(10,$=JSON.parse(e)),n(10,$),K(),console.log("[i]","settingsJson parced!"))}}}t.data instanceof Blob&&(f&&C.append(t.data),v&&D.append(t.data),y&&E.append(t.data),w&&z.append(t.data),k&&H.append(t.data))})),P[t].addEventListener("close",(n=>{console.log("[e]",e,"connection closed"),W(t,!1)})),P[t].addEventListener("error",(function(n){console.log("[e]",e,"connection error"),W(t,!1)}))}else console.log("[e]","socket not exist")}function Y(){G(a,"/tuoyal"+JSON.stringify(function(){let t=[];for(let e=0;e{!function(t){let e=!1;return O.forEach((n=>{t===n.ws&&(e=n.status)})),e}(t.ws)?(R(t.ws),I(t.ws)):G(t.ws,"tst")})),M=!1}function G(t,e){P[t]&&1===P[t].readyState?(P[t].send(e),console.log("[i]",q(t),"msg send success",e)):console.log("[e]",q(t),"msg not send",e)}function X(){n(4,h=[]);Array.from(new Set(Array.from(x,(({page:t})=>t)))).forEach((function(t,e,i){n(4,h=[...h,JSON.parse(JSON.stringify({page:t}))])})),h.sort((function(t,e){return t.pagee.page?1:0}))}function K(){X()}function Z(){n(11,A=s.status),a=s.ws,J(),j(),console.log("[i]","user selected device:",s.name),s.ip===c&&console.log("[i]","user selected original device",s.name)}function Q(){u||(void 0!==S.name&&void 0!==S.ip&&void 0!==S.id?(n(14,S.status=!1,S),O.push(S),n(13,O),n(14,S={}),F(),console.log("[i]","selected device:",s)):console.log("[e]","wrong data"))}bt.subscribe((function(){J(),_=i.path.toString(),console.log("[i]","user on page:",_),j()}));function tt(){}function et(){let t=screen.width;console.log("width",t),n(1,l=t<900)}function nt(){for(let t=0;t{console.log("[i]","mounted"),F(),V(),n(11,A=s.status),Z(),X()}));return[o,l,u,d,h,p,g,m,b,x,$,A,s,O,S,[],{labels:["Sun","Mon","Tues","Wed","Thurs","Fri","Sat"],datasets:[{values:[10,12,3,9,8,15,9]}]},Y,B,U,K,Z,Q,t=>{try{t=JSON.stringify(JSON.parse(t),null,4)}catch(e){return t}return t=(t=t.replace(/&/g,"&").replace(//g,">")).replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g,(function(t){return t}))},tt,et,nt,it,function(){s=T(this),n(12,s),n(13,O)},()=>Z(),function(){o=this.checked,n(0,o)},()=>et(),(t,e,n)=>U(t,e,n),function(e,i){t.$$.not_equal(i.status,e)&&(i.status=e,n(9,x))},(t,e,n)=>U(t,e,n),function(e,i){t.$$.not_equal(i.status,e)&&(i.status=e,n(9,x))},function(e,i){t.$$.not_equal(i.status,e)&&(i.status=e,n(9,x))},function(){b=T(this),n(8,b),n(7,m)},()=>nt(),function(t,e){t[e].id=this.value,n(5,p),n(6,g)},function(t,e){t[e].widget=T(this),n(5,p),n(6,g)},function(t,e){t[e].page=this.value,n(5,p),n(6,g)},function(t,e){t[e].descr=this.value,n(5,p),n(6,g)},()=>n(3,d=!d),t=>it(t),function(t,e,i){e[i][t]=this.value,n(5,p),n(6,g)},()=>Y(),function(){$.name=this.value,n(10,$)},function(){$.apssid=this.value,n(10,$)},function(){$.appass=this.value,n(10,$)},function(){$.routerssid=this.value,n(10,$)},function(){$.routerpass=this.value,n(10,$)},()=>B(),function(){$.mqttServer=this.value,n(10,$)},function(){$.mqttPort=this.value,n(10,$)},function(){$.mqttPrefix=this.value,n(10,$)},function(){$.mqttUser=this.value,n(10,$)},function(){$.mqttPass=this.value,n(10,$)},()=>B(),function(){S.name=this.value,n(14,S)},function(){S.ip=this.value,n(14,S)},function(){S.id=this.value,n(14,S)},()=>(n(2,u=!u),Q()),()=>{}]}return new class extends at{constructor(t){super(),st(this,t,We,je,a,{},null,[-1,-1,-1,-1,-1])}}({target:document.body,props:{name:"world"}})}();
+var app=function(){"use strict";function t(){}function e(t){return t()}function n(){return Object.create(null)}function i(t){t.forEach(e)}function s(t){return"function"==typeof t}function a(t,e){return t!=t?e==e:t!==e||t&&"object"==typeof t||"function"==typeof t}function r(e,n,i){e.$$.on_destroy.push(function(e,...n){if(null==e)return t;const i=e.subscribe(...n);return i.unsubscribe?()=>i.unsubscribe():i}(n,i))}function o(t,e,n,i){if(t){const s=l(t,e,n,i);return t[0](s)}}function l(t,e,n,i){return t[1]&&i?function(t,e){for(const n in e)t[n]=e[n];return t}(n.ctx.slice(),t[1](i(e))):n.ctx}function c(t,e,n,i){if(t[2]&&i){const s=t[2](i(n));if(void 0===e.dirty)return s;if("object"==typeof s){const t=[],n=Math.max(e.dirty.length,s.length);for(let i=0;i32){const e=[],n=t.ctx.length/32;for(let t=0;tt.removeEventListener(e,n,i)}function $(t,e,n){null==n?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function k(t){return""===t?null:+t}function O(t,e){e=""+e,t.wholeText!==e&&(t.data=e)}function A(t,e){t.value=null==e?"":e}function P(t,e){for(let n=0;nt.call(this,e)))}const D=[],E=[],z=[],j=[],H=Promise.resolve();let F=!1;function W(){F||(F=!0,H.then(J))}function R(){return W(),H}function I(t){z.push(t)}function Y(t){j.push(t)}const q=new Set;let B=0;function J(){const t=_;do{for(;B{U.delete(t),i&&(n&&t.d(1),i())})),t.o(e)}}function tt(t,e,n){const i=t.$$.props[e];void 0!==i&&(t.$$.bound[i]=n,n(t.$$.ctx[i]))}function et(t){t&&t.c()}function nt(t,n,a,r){const{fragment:o,on_mount:l,on_destroy:c,after_update:u}=t.$$;o&&o.m(n,a),r||I((()=>{const n=l.map(e).filter(s);c?c.push(...n):i(n),t.$$.on_mount=[]})),u.forEach(I)}function it(t,e){const n=t.$$;null!==n.fragment&&(i(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function st(e,s,a,r,o,l,c,u=[-1]){const d=_;M(e);const h=e.$$={fragment:null,ctx:null,props:l,update:t,not_equal:o,bound:n(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(s.context||(d?d.$$.context:[])),callbacks:n(),dirty:u,skip_bound:!1,root:s.target||d.$$.root};c&&c(h.root);let p=!1;if(h.ctx=a?a(e,s.props||{},((t,n,...i)=>{const s=i.length?i[0]:n;return h.ctx&&o(h.ctx[t],h.ctx[t]=s)&&(!h.skip_bound&&h.bound[t]&&h.bound[t](s),p&&function(t,e){-1===t.$$.dirty[0]&&(D.push(t),W(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{const t=n.indexOf(e);-1!==t&&n.splice(t,1)}}$set(t){var e;this.$$set&&(e=t,0!==Object.keys(e).length)&&(this.$$.skip_bound=!0,this.$$set(t),this.$$.skip_bound=!1)}}const rt=[];function ot(e,n=t){let i;const s=new Set;function r(t){if(a(e,t)&&(e=t,i)){const t=!rt.length;for(const t of s)t[1](),rt.push(t,e);if(t){for(let t=0;t{s.delete(l),0===s.size&&(i(),i=null)}}}}function lt(t,e=!1){return(t=t.slice(t.startsWith("/#")?2:0,t.endsWith("/*")?-2:void 0)).startsWith("/")||(t="/"+t),"/"===t&&(t=""),e&&!t.endsWith("/")&&(t+="/"),t}function ct(t,e,n){if(""===n)return t;if("/"===n[0])return n;let i=t=>t.split("/").filter((t=>""!==t)),s=i(t);return"/"+(e?i(e):[]).map(((t,e)=>s[e])).join("/")+"/"+n}function ut(t,e,n,i){let s=[e,"data-"+e].reduce(((e,i)=>{let s=t.getAttribute(i);return n&&t.removeAttribute(i),null===s?e:s}),!1);return!i&&""===s||(s||i||!1)}function dt(t){let e=t.split("&").map((t=>t.split("="))).reduce(((t,e)=>{let n=e[0];if(!n)return t;let i=!(e.length>1)||e[e.length-1];return"string"==typeof i&&i.includes(",")&&(i=i.split(",")),void 0===t[n]?t[n]=[i]:t[n].push(i),t}),{});return Object.entries(e).reduce(((t,e)=>(t[e[0]]=e[1].length>1?e[1]:e[1][0],t)),{})}var ht,pt,ft={HISTORY:1,HASH:2,MEMORY:3,OFF:4,run:function(t,e,n,i){return 1===t?e&&e():2===t?n&&n():i&&i()},getDeafault:function(){return window&&"srcdoc"!==window.location.pathname?1:3}},gt=function(){let t,e=ft.getDeafault(),n=n=>t&&t(mt(e));function i(t){t&&(e=t),window.onhashchange=window.onpopstate=pt=null,e!==ft.OFF&&ft.run(e,(t=>window.onpopstate=n),(t=>window.onhashchange=n))&&n()}return{mode:t=>i(t),get:t=>mt(e),go(t,i){(function(t,e,n){let i=t=>history[n?"replaceState":"pushState"]({},"",t);ft.run(t,(t=>i(e)),(t=>i(`#${e}`)),(t=>pt=e))})(e,t,i),n()},start(e){t=e,i()},stop(){t=null,i(ft.OFF)}}}();function mt(t){let e=ht,n=ht=ft.run(t,(t=>window.location.pathname+window.location.search),(t=>String(window.location.hash.slice(1)||"/")),(t=>pt||"/")),i=n.match(/^([^?#]+)(?:\?([^#]+))?(?:\#(.+))?$/);return{url:n,from:e,path:i[1]||"",query:dt(i[2]||""),hash:i[3]||""}}function vt(t){let e=N("tinro");e&&(e.exact||e.fallback)&&function(t){throw new Error("[Tinro] "+t)}(`${t.fallback?"":``} can't be inside ${e.fallback?"":` with exact path`}`);let n=t.fallback?"fallbacks":"childs",i=ot({}),s={router:{},exact:!1,pattern:null,meta:{},parent:e,fallback:t.fallback,redirect:!1,firstmatch:!1,breadcrumb:null,matched:!1,childs:new Set,activeChilds:new Set,fallbacks:new Set,update(t){s.exact=!t.path.endsWith("/*"),s.pattern=lt(`${s.parent&&s.parent.pattern||""}${t.path}`),s.redirect=t.redirect,s.firstmatch=t.firstmatch,s.breadcrumb=t.breadcrumb,s.match()},register:()=>{if(s.parent)return s.parent[n].add(s),()=>{s.parent[n].delete(s),s.router.un&&s.router.un()}},show:()=>{t.onShow(),!s.fallback&&s.parent&&s.parent.activeChilds.add(s)},hide:()=>{t.onHide(),!s.fallback&&s.parent&&s.parent.activeChilds.delete(s)},match:async()=>{s.matched=!1;let{path:e,url:n,from:a,query:r}=s.router,o=function(t,e){t=lt(t,!0),e=lt(e,!0);let n=[],i={},s=!0,a=t.split("/").map((t=>t.startsWith(":")?(n.push(t.slice(1)),"([^\\/]+)"):t)).join("\\/"),r=e.match(new RegExp(`^${a}$`));return r||(s=!1,r=e.match(new RegExp(`^${a}`))),r?(n.forEach(((t,e)=>i[t]=r[e+1])),{exact:s,params:i,part:r[0].slice(0,-1)}):null}(s.pattern,e);if(!s.fallback&&o&&s.redirect&&(!s.exact||s.exact&&o.exact)){await R();let t=ct(e,s.parent&&s.parent.pattern,s.redirect);return bt.goto(t,!0)}if(s.meta=o&&{from:a,url:n,query:r,match:o.part,pattern:s.pattern,breadcrumbs:s.parent&&s.parent.meta&&s.parent.meta.breadcrumbs.slice()||[],params:o.params,subscribe:i.subscribe},s.breadcrumb&&s.meta&&s.meta.breadcrumbs.push({name:s.breadcrumb,path:o.part}),i.set(s.meta),!o||s.fallback||!(!s.exact||s.exact&&o.exact)||s.parent&&s.parent.firstmatch&&s.parent.matched?s.hide():(t.onMeta(s.meta),s.parent&&(s.parent.matched=!0),s.show()),await R(),o&&!s.fallback&&(s.childs.size>0&&0==s.activeChilds.size||0==s.childs.size&&s.fallbacks.size>0)){let t=s;for(;0==t.fallbacks.size;)if(t=t.parent,!t)return;t&&t.fallbacks.forEach((t=>{if(t.redirect){let e=ct("/",t.parent&&t.parent.pattern,t.redirect);bt.goto(e,!0)}else t.show()}))}}};return a="tinro",r=s,S().$$.context.set(a,r),L((()=>s.register())),s.router.un=bt.subscribe((t=>{s.router.path=t.path,s.router.url=t.url,s.router.query=t.query,s.router.from=t.from,null!==s.pattern&&s.match()})),s;var a,r}function yt(){return N("tinro").meta}var bt=function(){let{subscribe:t}=ot(gt.get(),(t=>{gt.start(t);let e=function(t){let e=e=>{let n=e.target.closest("a[href]"),i=n&&ut(n,"target",!1,"_self"),s=n&&ut(n,"tinro-ignore"),a=e.ctrlKey||e.metaKey||e.altKey||e.shiftKey;if("_self"==i&&!s&&!a&&n){let i=n.getAttribute("href").replace(/^\/#/,"");/^\/\/|^[a-zA-Z]+:/.test(i)||(e.preventDefault(),t(i.startsWith("/")?i:n.href.replace(window.location.origin,"")))}};return addEventListener("click",e),()=>removeEventListener("click",e)}(gt.go);return()=>{gt.stop(),e()}}));return{subscribe:t,goto:gt.go,params:xt,meta:yt,useHashNavigation:t=>gt.mode(t?ft.HASH:ft.HISTORY),mode:{hash:()=>gt.mode(ft.HASH),history:()=>gt.mode(ft.HISTORY),memory:()=>gt.mode(ft.MEMORY)}}}();function xt(){return N("tinro").meta.params}const wt=t=>({params:2&t,meta:4&t}),$t=t=>({params:t[1],meta:t[2]});function kt(t){let e;const n=t[9].default,i=o(n,t,t[8],$t);return{c(){i&&i.c()},m(t,n){i&&i.m(t,n),e=!0},p(t,s){i&&i.p&&(!e||262&s)&&u(i,n,t,t[8],e?c(n,t[8],s,wt):d(t[8]),$t)},i(t){e||(Z(i,t),e=!0)},o(t){Q(i,t),e=!1},d(t){i&&i.d(t)}}}function Ot(t){let e,n,i=t[0]&&kt(t);return{c(){i&&i.c(),e=x()},m(t,s){i&&i.m(t,s),p(t,e,s),n=!0},p(t,[n]){t[0]?i?(i.p(t,n),1&n&&Z(i,1)):(i=kt(t),i.c(),Z(i,1),i.m(e.parentNode,e)):i&&(X(),Q(i,1,1,(()=>{i=null})),K())},i(t){n||(Z(i),n=!0)},o(t){Q(i),n=!1},d(t){i&&i.d(t),t&&f(e)}}}function At(t,e,n){let{$$slots:i={},$$scope:s}=e,{path:a="/*"}=e,{fallback:r=!1}=e,{redirect:o=!1}=e,{firstmatch:l=!1}=e,{breadcrumb:c=null}=e,u=!1,d={},h={};const p=vt({fallback:r,onShow(){n(0,u=!0)},onHide(){n(0,u=!1)},onMeta(t){n(2,h=t),n(1,d=h.params)}});return t.$$set=t=>{"path"in t&&n(3,a=t.path),"fallback"in t&&n(4,r=t.fallback),"redirect"in t&&n(5,o=t.redirect),"firstmatch"in t&&n(6,l=t.firstmatch),"breadcrumb"in t&&n(7,c=t.breadcrumb),"$$scope"in t&&n(8,s=t.$$scope)},t.$$.update=()=>{232&t.$$.dirty&&p.update({path:a,redirect:o,firstmatch:l,breadcrumb:c})},[u,d,h,a,r,o,l,c,s,i]}class Pt extends at{constructor(t){super(),st(this,t,At,Ot,a,{path:3,fallback:4,redirect:5,firstmatch:6,breadcrumb:7})}}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self&&self;var Tt,_t=(function(t,e){t.exports=function(){function t(t,e){return"string"==typeof t?(e||document).querySelector(t):t||null}function e(t){var e=t.getBoundingClientRect();return{top:e.top+(document.documentElement.scrollTop||document.body.scrollTop),left:e.left+(document.documentElement.scrollLeft||document.body.scrollLeft)}}function n(t){return null===t.offsetParent}function i(t){var e=t.getBoundingClientRect();return e.top>=0&&e.left>=0&&e.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&e.right<=(window.innerWidth||document.documentElement.clientWidth)}function s(t){var e=window.getComputedStyle(t),n=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight);return t.clientWidth-n}function a(t,e,n){var i=document.createEvent("HTMLEvents");for(var s in i.initEvent(e,!0,!0),n)i[s]=n[s];return t.dispatchEvent(i)}function r(t){return t.titleHeight+t.margins.top+t.paddings.top}function o(t){return t.margins.left+t.paddings.left}function l(t){return t.margins.top+t.margins.bottom+t.paddings.top+t.paddings.bottom+t.titleHeight+t.legendHeight}function c(t){return t.margins.left+t.margins.right+t.paddings.left+t.paddings.right}function u(t){return parseFloat(t.toFixed(2))}function d(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];n||(n=i?t[0]:t[t.length-1]);var s=new Array(Math.abs(e)).fill(n);return i?s.concat(t):t.concat(s)}function h(t,e){return(t+"").length*e}function p(t,e){return{x:Math.sin(t*Zt)*e,y:Math.cos(t*Zt)*e}}function f(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!(Number.isNaN(t)||void 0===t||!Number.isFinite(t)||e&&t<0)}function g(t){return Number(Math.round(t+"e4")+"e-4")}function m(t){var e=void 0,n=void 0,i=void 0;if(t instanceof Date)return new Date(t.getTime());if("object"!==(void 0===t?"undefined":Ht(t))||null===t)return t;for(i in e=Array.isArray(t)?[]:{},t)n=t[i],e[i]=m(n);return e}function v(t,e){var n=void 0,i=void 0;return t<=e?(n=e-t,i=t):(n=t-e,i=e),[n,i]}function y(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.length-t.length;return n>0?t=d(t,n):e=d(e,n),[t,e]}function b(t,e){if(t)return t.length>e?t.slice(0,e-3)+"...":t}function x(t){var e=void 0;if("number"==typeof t)e=t;else if("string"==typeof t&&(e=Number(t),Number.isNaN(e)))return t;var n=Math.floor(Math.log10(Math.abs(e)));if(n<=2)return e;var i=Math.floor(n/3),s=Math.pow(10,n-3*i)*+(e/Math.pow(10,n)).toFixed(1);return Math.round(100*s)/100+" "+["","K","M","B","T"][i]}function w(t,e){for(var n=[],i=0;i255?255:t<0?0:t}function k(t,e){var n=ee(t),i=!1;"#"==n[0]&&(n=n.slice(1),i=!0);var s=parseInt(n,16),a=$((s>>16)+e),r=$((s>>8&255)+e);return(i?"#":"")+($((255&s)+e)|r<<8|a<<16).toString(16)}function O(t){var e=/(^\s*)(rgb|hsl)(a?)[(]\s*([\d.]+\s*%?)\s*,\s*([\d.]+\s*%?)\s*,\s*([\d.]+\s*%?)\s*(?:,\s*([\d.]+)\s*)?[)]$/i;return/(^\s*)(#)((?:[A-Fa-f0-9]{3}){1,2})$/i.test(t)||e.test(t)}function A(t,e){return"string"==typeof t?(e||document).querySelector(t):t||null}function P(t,e){var n=document.createElementNS("http://www.w3.org/2000/svg",t);for(var i in e){var s=e[i];if("inside"===i)A(s).appendChild(n);else if("around"===i){var a=A(s);a.parentNode.insertBefore(n,a),n.appendChild(a)}else"styles"===i?"object"===(void 0===s?"undefined":Ht(s))&&Object.keys(s).map((function(t){n.style[t]=s[t]})):("className"===i&&(i="class"),"innerHTML"===i?n.textContent=s:n.setAttribute(i,s))}return n}function T(t,e){return P("linearGradient",{inside:t,id:e,x1:0,x2:0,y1:0,y2:1})}function _(t,e,n,i){return P("stop",{inside:t,style:"stop-color: "+n,offset:e,"stop-opacity":i})}function M(t,e,n,i){return P("svg",{className:e,inside:t,width:n,height:i})}function S(t){return P("defs",{inside:t})}function L(t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,n={className:t,transform:arguments.length>1&&void 0!==arguments[1]?arguments[1]:""};return e&&(n.inside=e),P("g",n)}function N(t){return P("path",{className:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",d:t,styles:{stroke:arguments.length>2&&void 0!==arguments[2]?arguments[2]:"none",fill:arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none","stroke-width":arguments.length>4&&void 0!==arguments[4]?arguments[4]:2}})}function C(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,r=n.x+t.x,o=n.y+t.y,l=n.x+e.x,c=n.y+e.y;return"M"+n.x+" "+n.y+"\n\t\tL"+r+" "+o+"\n\t\tA "+i+" "+i+" 0 "+a+" "+(s?1:0)+"\n\t\t"+l+" "+c+" z"}function D(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,r=n.x+t.x,o=n.y+t.y,l=n.x+e.x,c=2*n.y,u=n.y+e.y;return"M"+n.x+" "+n.y+"\n\t\tL"+r+" "+o+"\n\t\tA "+i+" "+i+" 0 "+a+" "+(s?1:0)+"\n\t\t"+l+" "+c+" z\n\t\tL"+r+" "+c+"\n\t\tA "+i+" "+i+" 0 "+a+" "+(s?1:0)+"\n\t\t"+l+" "+u+" z"}function E(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;return"M"+(n.x+t.x)+" "+(n.y+t.y)+"\n\t\tA "+i+" "+i+" 0 "+a+" "+(s?1:0)+"\n\t\t"+(n.x+e.x)+" "+(n.y+e.y)}function z(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,r=n.x+t.x,o=n.y+t.y,l=n.x+e.x,c=2*i+o;return"M"+r+" "+o+"\n\t\tA "+i+" "+i+" 0 "+a+" "+(s?1:0)+"\n\t\t"+l+" "+c+"\n\t\tM"+r+" "+c+"\n\t\tA "+i+" "+i+" 0 "+a+" "+(s?1:0)+"\n\t\t"+l+" "+(n.y+t.y)}function j(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i="path-fill-gradient-"+e+"-"+(n?"lighter":"default"),s=T(t,i),a=[1,.6,.2];return n&&(a=[.4,.2,0]),_(s,"0%",e,a[0]),_(s,"50%",e,a[1]),_(s,"100%",e,a[2]),i}function H(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:Ut,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"none";return P("rect",{className:"percentage-bar",x:t,y:e,width:n,height:i,fill:a,styles:{stroke:k(a,-25),"stroke-dasharray":"0, "+(i+n)+", "+n+", "+i,"stroke-width":s}})}function F(t,e,n,i,s){var a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},r={className:t,x:e,y:n,width:i,height:i,rx:s,fill:arguments.length>5&&void 0!==arguments[5]?arguments[5]:"none"};return Object.keys(a).map((function(t){r[t]=a[t]})),P("rect",r)}function W(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none",s=arguments[4];s=arguments.length>5&&void 0!==arguments[5]&&arguments[5]?b(s,se):s;var a={className:"legend-bar",x:0,y:0,width:n,height:"2px",fill:i},r=P("text",{className:"legend-dataset-text",x:0,y:0,dy:2*ae+"px","font-size":1.2*ae+"px","text-anchor":"start",fill:oe,innerHTML:s}),o=P("g",{transform:"translate("+t+", "+e+")"});return o.appendChild(P("rect",a)),o.appendChild(r),o}function R(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none",s=arguments[4];s=arguments.length>5&&void 0!==arguments[5]&&arguments[5]?b(s,se):s;var a={className:"legend-dot",cx:0,cy:0,r:n,fill:i},r=P("text",{className:"legend-dataset-text",x:0,y:0,dx:ae+"px",dy:ae/3+"px","font-size":1.2*ae+"px","text-anchor":"start",fill:oe,innerHTML:s}),o=P("g",{transform:"translate("+t+", "+e+")"});return o.appendChild(P("circle",a)),o.appendChild(r),o}function I(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=s.fontSize||ae;return P("text",{className:t,x:e,y:n,dy:(void 0!==s.dy?s.dy:a/2)+"px","font-size":a+"px",fill:s.fill||oe,"text-anchor":s.textAnchor||"start",innerHTML:i})}function Y(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};s.stroke||(s.stroke=re);var a=P("line",{className:"line-vertical "+s.className,x1:0,x2:0,y1:n,y2:i,styles:{stroke:s.stroke}}),r=P("text",{x:0,y:n>i?n+ie:n-ie-ae,dy:ae+"px","font-size":ae+"px","text-anchor":"middle",innerHTML:e+""}),o=P("g",{transform:"translate("+t+", 0)"});return o.appendChild(a),o.appendChild(r),o}function q(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};s.stroke||(s.stroke=re),s.lineType||(s.lineType=""),s.shortenNumbers&&(e=x(e));var a=P("line",{className:"line-horizontal "+s.className+("dashed"===s.lineType?"dashed":""),x1:n,x2:i,y1:0,y2:0,styles:{stroke:s.stroke}}),r=P("text",{x:n3&&void 0!==arguments[3]?arguments[3]:{};f(t)||(t=0),i.pos||(i.pos="left"),i.offset||(i.offset=0),i.mode||(i.mode="span"),i.stroke||(i.stroke=re),i.className||(i.className="");var s=-1*ne,a="span"===i.mode?n+ne:0;return"tick"===i.mode&&"right"===i.pos&&(s=n+ne,a=n),q(t,e,s+=i.offset,a+=i.offset,{stroke:i.stroke,className:i.className,lineType:i.lineType,shortenNumbers:i.shortenNumbers})}function J(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};f(t)||(t=0),i.pos||(i.pos="bottom"),i.offset||(i.offset=0),i.mode||(i.mode="span"),i.stroke||(i.stroke=re),i.className||(i.className="");var s=n+ne,a="span"===i.mode?-1*ne:n;return"tick"===i.mode&&"top"===i.pos&&(s=-1*ne,a=0),Y(t,e,s,a,{stroke:i.stroke,className:i.className,lineType:i.lineType})}function V(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};i.labelPos||(i.labelPos="right");var s=P("text",{className:"chart-label",x:"left"===i.labelPos?ie:n-h(e,5)-ie,y:0,dy:ae/-2+"px","font-size":ae+"px","text-anchor":"start",innerHTML:e+""}),a=q(t,"",0,n,{stroke:i.stroke||re,className:i.className||"",lineType:i.lineType});return a.appendChild(s),a}function U(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=t-e,r=P("rect",{className:"bar mini",styles:{fill:"rgba(228, 234, 239, 0.49)",stroke:re,"stroke-dasharray":n+", "+a},x:0,y:0,width:n,height:a});s.labelPos||(s.labelPos="right");var o=P("text",{className:"chart-label",x:"left"===s.labelPos?ie:n-h(i+"",4.5)-ie,y:0,dy:ae/-2+"px","font-size":ae+"px","text-anchor":"start",innerHTML:i+""}),l=P("g",{transform:"translate(0, "+e+")"});return l.appendChild(r),l.appendChild(o),l}function G(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:0,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:{},l=v(e,o.zeroLine),c=qt(l,2),u=c[0],d=c[1];d-=r,0===u&&(u=o.minHeight,d-=o.minHeight),f(t)||(t=0),f(d)||(d=0),f(u,!0)||(u=0),f(n,!0)||(n=0);var h=P("rect",{className:"bar mini",style:"fill: "+i,"data-point-index":a,x:t,y:d,width:n,height:u});if((s+="")||s.length){h.setAttribute("y",0),h.setAttribute("x",0);var p=P("text",{className:"data-point-value",x:n/2,y:0,dy:ae/2*-1+"px","font-size":ae+"px","text-anchor":"middle",innerHTML:s}),g=P("g",{"data-point-index":a,transform:"translate("+t+", "+d+")"});return g.appendChild(h),g.appendChild(p),g}return h}function X(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,r=P("circle",{style:"fill: "+i,"data-point-index":a,cx:t,cy:e,r:n});if((s+="")||s.length){r.setAttribute("cy",0),r.setAttribute("cx",0);var o=P("text",{className:"data-point-value",x:0,y:0,dy:ae/2*-1-n+"px","font-size":ae+"px","text-anchor":"middle",innerHTML:s}),l=P("g",{"data-point-index":a,transform:"translate("+t+", "+e+")"});return l.appendChild(r),l.appendChild(o),l}return r}function K(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},a=e.map((function(e,n){return t[n]+","+e})).join("L");i.spline&&(a=w(t,e));var r=N("M"+a,"line-graph-path",n);if(i.heatline){var o=j(s.svgDefs,n);r.style.stroke="url(#"+o+")"}var l={path:r};if(i.regionFill){var c=j(s.svgDefs,n,!0),u="M"+t[0]+","+s.zeroLine+"L"+a+"L"+t.slice(-1)[0]+","+s.zeroLine;l.region=N(u,"region-fill","none","url(#"+c+")")}return l}function Z(t,e,n,i){var s="string"==typeof e?e:e.join(", ");return[t,{transform:n.join(", ")},i,fe,"translate",{transform:s}]}function Q(t,e,n){return Z(t,[n,0],[e,0],he)}function tt(t,e,n){return Z(t,[0,n],[0,e],he)}function et(t,e,n,i){var s=e-n,a=t.childNodes[0];return[[a,{height:s,"stroke-dasharray":a.getAttribute("width")+", "+s},he,fe],Z(t,[0,i],[0,n],he)]}function nt(t,e,n,i){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,a=v(n,(arguments.length>5&&void 0!==arguments[5]?arguments[5]:{}).zeroLine),r=qt(a,2),o=r[0],l=r[1];return l-=s,"rect"!==t.nodeName?[[t.childNodes[0],{width:i,height:o},ue,fe],Z(t,t.getAttribute("transform").split("(")[1].slice(0,-1),[e,l],he)]:[[t,{width:i,height:o,x:e,y:l},ue,fe]]}function it(t,e,n){return"circle"!==t.nodeName?[Z(t,t.getAttribute("transform").split("(")[1].slice(0,-1),[e,n],he)]:[[t,{cx:e,cy:n},ue,fe]]}function st(t,e,n,i,s){var a=[],r=n.map((function(t,n){return e[n]+","+t})).join("L");s&&(r=w(e,n));var o=[t.path,{d:"M"+r},de,fe];if(a.push(o),t.region){var l=e[0]+","+i+"L",c="L"+e.slice(-1)[0]+", "+i,u=[t.region,{d:"M"+l+r+c},de,fe];a.push(u)}return a}function at(t,e){return[t,{d:e},ue,fe]}function rt(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"linear",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},r=t.cloneNode(!0),o=t.cloneNode(!0);for(var l in e){var c=void 0;c="transform"===l?document.createElementNS("http://www.w3.org/2000/svg","animateTransform"):document.createElementNS("http://www.w3.org/2000/svg","animate");var u=a[l]||t.getAttribute(l),d=e[l],h={attributeName:l,from:u,to:d,begin:"0s",dur:n/1e3+"s",values:u+";"+d,keySplines:ge[i],keyTimes:"0;1",calcMode:"spline",fill:"freeze"};for(var p in s&&(h.type=s),h)c.setAttribute(p,h[p]);r.appendChild(c),s?o.setAttribute(l,"translate("+d+")"):o.setAttribute(l,d)}return[r,o]}function ot(t,e){t.style.transform=e,t.style.webkitTransform=e,t.style.msTransform=e,t.style.mozTransform=e,t.style.oTransform=e}function lt(t,e){var n=[],i=[];e.map((function(t){var e=t[0],s=e.parentNode,a=void 0,r=void 0;t[0]=e;var o=rt.apply(void 0,Bt(t)),l=qt(o,2);a=l[0],r=l[1],n.push(r),i.push([a,s]),s&&s.replaceChild(a,e)}));var s=t.cloneNode(!0);return i.map((function(t,i){t[1]&&(t[1].replaceChild(n[i],t[0]),e[i][0]=n[i])})),s}function ct(t,e,n){if(0!==n.length){var i=lt(e,n);e.parentNode==t&&(t.removeChild(e),t.appendChild(i)),setTimeout((function(){i.parentNode==t&&(t.removeChild(i),t.appendChild(e))}),pe)}}function ut(t,e){var n=document.createElement("a");n.style="display: none";var i=new Blob(e,{type:"image/svg+xml; charset=utf-8"}),s=window.URL.createObjectURL(i);n.href=s,n.download=t,document.body.appendChild(n),n.click(),setTimeout((function(){document.body.removeChild(n),window.URL.revokeObjectURL(s)}),300)}function dt(e){var n=e.cloneNode(!0);n.classList.add("chart-container"),n.setAttribute("xmlns","http://www.w3.org/2000/svg"),n.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink");var i=t.create("style",{innerHTML:me});n.insertBefore(i,n.firstChild);var s=t.create("div");return s.appendChild(n),s.innerHTML}function ht(t){var e=new Date(t);return e.setMinutes(e.getMinutes()-e.getTimezoneOffset()),e}function pt(t){var e=t.getDate(),n=t.getMonth()+1;return[t.getFullYear(),(n>9?"":"0")+n,(e>9?"":"0")+e].join("-")}function ft(t){return new Date(t.getTime())}function gt(t,e){var n=xt(t);return Math.ceil(mt(n,e)/be)}function mt(t,e){var n=we*xe;return(ht(e)-ht(t))/n}function vt(t,e){return t.getMonth()===e.getMonth()&&t.getFullYear()===e.getFullYear()}function yt(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=$e[t];return e?n.slice(0,3):n}function bt(t,e){return new Date(e,t+1,0)}function xt(t){var e=ft(t),n=e.getDay();return 0!==n&&wt(e,-1*n),e}function wt(t,e){t.setDate(t.getDate()+e)}function $t(t,e,n){var i=Object.keys(Ae).filter((function(e){return t.includes(e)})),s=Ae[i[0]];return Object.assign(s,{constants:e,getData:n}),new Oe(s)}function kt(t){if(0===t)return[0,0];if(isNaN(t))return{mantissa:-6755399441055744,exponent:972};var e=t>0?1:-1;if(!isFinite(t))return{mantissa:4503599627370496*e,exponent:972};t=Math.abs(t);var n=Math.floor(Math.log10(t));return[e*(t/Math.pow(10,n)),n]}function Ot(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=Math.ceil(t),i=Math.floor(e),s=n-i,a=s,r=1;s>5&&(s%2!=0&&(s=++n-i),a=s/2,r=2),s<=2&&(r=s/(a=4)),0===s&&(a=5,r=1);for(var o=[],l=0;l<=a;l++)o.push(i+r*l);return o}function At(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=kt(t),i=qt(n,2),s=i[0],a=i[1],r=e?e/Math.pow(10,a):0,o=Ot(s=s.toFixed(6),r);return o.map((function(t){return t*Math.pow(10,a)}))}function Pt(t){function e(t,e){for(var n=At(t),i=n[1]-n[0],s=0,a=1;s1&&void 0!==arguments[1]&&arguments[1],i=Math.max.apply(Math,Bt(t)),s=Math.min.apply(Math,Bt(t)),a=[];if(i>=0&&s>=0)kt(i)[1],a=n?At(i,s):At(i);else if(i>0&&s<0){var r=Math.abs(s);i>=r?(kt(i)[1],a=e(i,r)):(kt(r)[1],a=e(r,i).reverse().map((function(t){return-1*t})))}else if(i<=0&&s<=0){var o=Math.abs(s),l=Math.abs(i);kt(o)[1],a=(a=n?At(o,l):At(o)).reverse().map((function(t){return-1*t}))}return a}function Tt(t){var e=_t(t);return t.indexOf(0)>=0?t.indexOf(0):t[0]>0?-1*t[0]/e:-1*t[t.length-1]/e+(t.length-1)}function _t(t){return t[1]-t[0]}function Mt(t){return t[t.length-1]-t[0]}function St(t,e){return u(e.zeroLine-t*e.scaleMultiplier)}function Lt(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=e.reduce((function(e,n){return Math.abs(n-t)n?i.slice(0,n):d(i,n-i.length,0),t.values=i}else t.values=s;t.chartType||(t.chartType=e)})),t.yRegions&&t.yRegions.map((function(t){if(t.end1&&void 0!==arguments[1]?arguments[1]:[],n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=t/e.length;i<=0&&(i=1);var s=i/Gt,a=void 0;if(n){var r=Math.max.apply(Math,Bt(e.map((function(t){return t.length}))));a=Math.ceil(r/s)}return e.map((function(t,e){return(t+="").length>s&&(n?e%a!=0&&(t=""):t=s-3>0?t.slice(0,s-3)+" ...":t.slice(0,s)+".."),t}))}function jt(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"line",e=arguments[1],n=arguments[2];return"axis-mixed"===t?(n.type="line",new Me(e,n)):Le[t]?new Le[t](e,n):void console.error("Undefined chart type: "+t)}!function(t,e){void 0===e&&(e={});var n=e.insertAt;if(t&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],s=document.createElement("style");s.type="text/css","top"===n&&i.firstChild?i.insertBefore(s,i.firstChild):i.appendChild(s),s.styleSheet?s.styleSheet.cssText=t:s.appendChild(document.createTextNode(t))}}('.chart-container{position:relative;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.chart-container .axis,.chart-container .chart-label{fill:#555b51}.chart-container .axis line,.chart-container .chart-label line{stroke:#dadada}.chart-container .dataset-units circle{stroke:#fff;stroke-width:2}.chart-container .dataset-units path{fill:none;stroke-opacity:1;stroke-width:2px}.chart-container .dataset-path{stroke-width:2px}.chart-container .path-group path{fill:none;stroke-opacity:1;stroke-width:2px}.chart-container line.dashed{stroke-dasharray:5,3}.chart-container .axis-line .specific-value{text-anchor:start}.chart-container .axis-line .y-line{text-anchor:end}.chart-container .axis-line .x-line{text-anchor:middle}.chart-container .legend-dataset-text{fill:#6c7680;font-weight:600}.graph-svg-tip{position:absolute;z-index:99999;padding:10px;font-size:12px;color:#959da5;text-align:center;background:rgba(0,0,0,.8);border-radius:3px}.graph-svg-tip ol,.graph-svg-tip ul{padding-left:0;display:-webkit-box;display:-ms-flexbox;display:flex}.graph-svg-tip ul.data-point-list li{min-width:90px;-webkit-box-flex:1;-ms-flex:1;flex:1;font-weight:600}.graph-svg-tip strong{color:#dfe2e5;font-weight:600}.graph-svg-tip .svg-pointer{position:absolute;height:5px;margin:0 0 0 -5px;content:" ";border:5px solid transparent;border-top-color:rgba(0,0,0,.8)}.graph-svg-tip.comparison{padding:0;text-align:left;pointer-events:none}.graph-svg-tip.comparison .title{display:block;padding:10px;margin:0;font-weight:600;line-height:1;pointer-events:none}.graph-svg-tip.comparison ul{margin:0;white-space:nowrap;list-style:none}.graph-svg-tip.comparison li{display:inline-block;padding:5px 10px}');var Ht="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ft=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Wt=function(){function t(t,e){for(var n=0;n\n\t\t\t\t\n\t\t\t\t'}),this.hideTip(),this.title=this.container.querySelector(".title"),this.dataPointList=this.container.querySelector(".data-point-list"),this.parent.addEventListener("mouseleave",(function(){e.hideTip()}))}},{key:"fill",value:function(){var e=this,n=void 0;this.index&&this.container.setAttribute("data-point-index",this.index),n=this.titleValueFirst?""+this.titleValue+""+this.titleName:this.titleName+""+this.titleValue+"",this.title.innerHTML=n,this.dataPointList.innerHTML="",this.listValues.map((function(n,i){var s=e.colors[i]||"black",a=0===n.formatted||n.formatted?n.formatted:n.value,r=t.create("li",{styles:{"border-top":"3px solid "+s},innerHTML:''+(0===a||a?a:"")+"\n\t\t\t\t\t"+(n.title?n.title:"")});e.dataPointList.appendChild(r)}))}},{key:"calcPosition",value:function(){var t=this.container.offsetWidth;this.top=this.y-this.container.offsetHeight-5,this.left=this.x-t/2;var e=this.parent.offsetWidth-t,n=this.container.querySelector(".svg-pointer");if(this.left<0)n.style.left="calc(50% - "+-1*this.left+"px)",this.left=0;else if(this.left>e){var i="calc(50% + "+(this.left-e)+"px)";n.style.left=i,this.left=e}else n.style.left="50%"}},{key:"setValues",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[],s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;this.titleName=n.name,this.titleValue=n.value,this.listValues=i,this.x=t,this.y=e,this.titleValueFirst=n.valueFirst||0,this.index=s,this.refresh()}},{key:"hideTip",value:function(){this.container.style.top="0px",this.container.style.left="0px",this.container.style.opacity="0"}},{key:"showTip",value:function(){this.container.style.top=this.top+"px",this.container.style.left=this.left+"px",this.container.style.opacity="1"}}]),e}(),te={"light-blue":"#7cd6fd",blue:"#5e64ff",violet:"#743ee2",red:"#ff5858",orange:"#ffa00a",yellow:"#feef72",green:"#28a745","light-green":"#98d85b",purple:"#b554ff",magenta:"#ffa3ef",black:"#36114C",grey:"#bdd3e6","light-grey":"#f0f4f7","dark-grey":"#b8c2cc"},ee=function(t){return/rgb[a]{0,1}\([\d, ]+\)/gim.test(t)?/\D+(\d*)\D+(\d*)\D+(\d*)/gim.exec(t).map((function(t,e){return 0!==e?Number(t).toString(16):"#"})).reduce((function(t,e){return""+t+e})):te[t]||t},ne=6,ie=4,se=15,ae=10,re="#dadada",oe="#555b51",le={bar:function(t){var e=void 0;"rect"!==t.nodeName&&(e=t.getAttribute("transform"),t=t.childNodes[0]);var n=t.cloneNode();return n.style.fill="#000000",n.style.opacity="0.4",e&&n.setAttribute("transform",e),n},dot:function(t){var e=void 0;"circle"!==t.nodeName&&(e=t.getAttribute("transform"),t=t.childNodes[0]);var n=t.cloneNode(),i=t.getAttribute("r"),s=t.getAttribute("fill");return n.setAttribute("r",parseInt(i)+4),n.setAttribute("fill",s),n.style.opacity="0.6",e&&n.setAttribute("transform",e),n},heat_square:function(t){var e=void 0;"circle"!==t.nodeName&&(e=t.getAttribute("transform"),t=t.childNodes[0]);var n=t.cloneNode(),i=t.getAttribute("r"),s=t.getAttribute("fill");return n.setAttribute("r",parseInt(i)+4),n.setAttribute("fill",s),n.style.opacity="0.6",e&&n.setAttribute("transform",e),n}},ce={bar:function(t,e){var n=void 0;"rect"!==t.nodeName&&(n=t.getAttribute("transform"),t=t.childNodes[0]);var i=["x","y","width","height"];Object.values(t.attributes).filter((function(t){return i.includes(t.name)&&t.specified})).map((function(t){e.setAttribute(t.name,t.nodeValue)})),n&&e.setAttribute("transform",n)},dot:function(t,e){var n=void 0;"circle"!==t.nodeName&&(n=t.getAttribute("transform"),t=t.childNodes[0]);var i=["cx","cy"];Object.values(t.attributes).filter((function(t){return i.includes(t.name)&&t.specified})).map((function(t){e.setAttribute(t.name,t.nodeValue)})),n&&e.setAttribute("transform",n)},heat_square:function(t,e){var n=void 0;"circle"!==t.nodeName&&(n=t.getAttribute("transform"),t=t.childNodes[0]);var i=["cx","cy"];Object.values(t.attributes).filter((function(t){return i.includes(t.name)&&t.specified})).map((function(t){e.setAttribute(t.name,t.nodeValue)})),n&&e.setAttribute("transform",n)}},ue=350,de=350,he=ue,pe=250,fe="easein",ge={ease:"0.25 0.1 0.25 1",linear:"0 0 1 1",easein:"0.1 0.8 0.2 1",easeout:"0 0 0.58 1",easeinout:"0.42 0 0.58 1"},me=".chart-container{position:relative;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Roboto','Oxygen','Ubuntu','Cantarell','Fira Sans','Droid Sans','Helvetica Neue',sans-serif}.chart-container .axis,.chart-container .chart-label{fill:#555b51}.chart-container .axis line,.chart-container .chart-label line{stroke:#dadada}.chart-container .dataset-units circle{stroke:#fff;stroke-width:2}.chart-container .dataset-units path{fill:none;stroke-opacity:1;stroke-width:2px}.chart-container .dataset-path{stroke-width:2px}.chart-container .path-group path{fill:none;stroke-opacity:1;stroke-width:2px}.chart-container line.dashed{stroke-dasharray:5,3}.chart-container .axis-line .specific-value{text-anchor:start}.chart-container .axis-line .y-line{text-anchor:end}.chart-container .axis-line .x-line{text-anchor:middle}.chart-container .legend-dataset-text{fill:#6c7680;font-weight:600}.graph-svg-tip{position:absolute;z-index:99999;padding:10px;font-size:12px;color:#959da5;text-align:center;background:rgba(0,0,0,.8);border-radius:3px}.graph-svg-tip ul{padding-left:0;display:flex}.graph-svg-tip ol{padding-left:0;display:flex}.graph-svg-tip ul.data-point-list li{min-width:90px;flex:1;font-weight:600}.graph-svg-tip strong{color:#dfe2e5;font-weight:600}.graph-svg-tip .svg-pointer{position:absolute;height:5px;margin:0 0 0 -5px;content:' ';border:5px solid transparent;border-top-color:rgba(0,0,0,.8)}.graph-svg-tip.comparison{padding:0;text-align:left;pointer-events:none}.graph-svg-tip.comparison .title{display:block;padding:10px;margin:0;font-weight:600;line-height:1;pointer-events:none}.graph-svg-tip.comparison ul{margin:0;white-space:nowrap;list-style:none}.graph-svg-tip.comparison li{display:inline-block;padding:5px 10px}",ve=function(){function e(t,n){if(Ft(this,e),n=m(n),this.parent="string"==typeof t?document.querySelector(t):t,!(this.parent instanceof HTMLElement))throw new Error("No `parent` element to render on was provided.");this.rawChartArgs=n,this.title=n.title||"",this.type=n.type||"",this.realData=this.prepareData(n.data),this.data=this.prepareFirstData(this.realData),this.colors=this.validateColors(n.colors,this.type),this.config={showTooltip:1,showLegend:1,isNavigable:n.isNavigable||0,animate:void 0!==n.animate?n.animate:1,truncateLegends:n.truncateLegends||1},this.measures=JSON.parse(JSON.stringify(Jt));var i=this.measures;this.setMeasures(n),this.title.length||(i.titleHeight=0),this.config.showLegend||(i.legendHeight=0),this.argHeight=n.height||i.baseHeight,this.state={},this.options={},this.initTimeout=Vt,this.config.isNavigable&&(this.overlays=[]),this.configure(n)}return Wt(e,[{key:"prepareData",value:function(t){return t}},{key:"prepareFirstData",value:function(t){return t}},{key:"validateColors",value:function(t,e){var n=[];return(t=(t||[]).concat(Kt[e])).forEach((function(t){var e=ee(t);O(e)?n.push(e):console.warn('"'+t+'" is not a valid color.')})),n}},{key:"setMeasures",value:function(){}},{key:"configure",value:function(){var t=this,e=this.argHeight;this.baseHeight=e,this.height=e-l(this.measures),this.boundDrawFn=function(){return t.draw(!0)},ResizeObserver&&(this.resizeObserver=new ResizeObserver(this.boundDrawFn),this.resizeObserver.observe(this.parent)),window.addEventListener("resize",this.boundDrawFn),window.addEventListener("orientationchange",this.boundDrawFn)}},{key:"destroy",value:function(){this.resizeObserver&&this.resizeObserver.disconnect(),window.removeEventListener("resize",this.boundDrawFn),window.removeEventListener("orientationchange",this.boundDrawFn)}},{key:"setup",value:function(){this.makeContainer(),this.updateWidth(),this.makeTooltip(),this.draw(!1,!0)}},{key:"makeContainer",value:function(){this.parent.innerHTML="";var e={inside:this.parent,className:"chart-container"};this.independentWidth&&(e.styles={width:this.independentWidth+"px"}),this.container=t.create("div",e)}},{key:"makeTooltip",value:function(){this.tip=new Qt({parent:this.container,colors:this.colors}),this.bindTooltip()}},{key:"bindTooltip",value:function(){}},{key:"draw",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e&&n(this.parent)||(this.updateWidth(),this.calc(e),this.makeChartArea(),this.setupComponents(),this.components.forEach((function(e){return e.setup(t.drawArea)})),this.render(this.components,!1),i&&(this.data=this.realData,setTimeout((function(){t.update(t.data)}),this.initTimeout)),this.renderLegend(),this.setupNavigation(i))}},{key:"calc",value:function(){}},{key:"updateWidth",value:function(){this.baseWidth=s(this.parent),this.width=this.baseWidth-c(this.measures)}},{key:"makeChartArea",value:function(){this.svg&&this.container.removeChild(this.svg);var t=this.measures;this.svg=M(this.container,"frappe-chart chart",this.baseWidth,this.baseHeight),this.svgDefs=S(this.svg),this.title.length&&(this.titleEL=I("title",t.margins.left,t.margins.top,this.title,{fontSize:t.titleFontSize,fill:"#666666",dy:t.titleFontSize}));var e=r(t);this.drawArea=L(this.type+"-chart chart-draw-area","translate("+o(t)+", "+e+")"),this.config.showLegend&&(e+=this.height+t.paddings.bottom,this.legendArea=L("chart-legend","translate("+o(t)+", "+e+")")),this.title.length&&this.svg.appendChild(this.titleEL),this.svg.appendChild(this.drawArea),this.config.showLegend&&this.svg.appendChild(this.legendArea),this.updateTipOffset(o(t),r(t))}},{key:"updateTipOffset",value:function(t,e){this.tip.offset={x:t,y:e}}},{key:"setupComponents",value:function(){this.components=new Map}},{key:"update",value:function(t){t||console.error("No data to update."),this.data=this.prepareData(t),this.calc(),this.render(this.components,this.config.animate),this.renderLegend()}},{key:"render",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.components,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.config.isNavigable&&this.overlays.map((function(t){return t.parentNode.removeChild(t)}));var i=[];e.forEach((function(t){i=i.concat(t.update(n))})),i.length>0?(ct(this.container,this.svg,i),setTimeout((function(){e.forEach((function(t){return t.make()})),t.updateNav()}),400)):(e.forEach((function(t){return t.make()})),this.updateNav())}},{key:"updateNav",value:function(){this.config.isNavigable&&(this.makeOverlay(),this.bindUnits())}},{key:"renderLegend",value:function(){}},{key:"setupNavigation",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.config.isNavigable&&e&&(this.bindOverlay(),this.keyActions={13:this.onEnterKey.bind(this),37:this.onLeftArrow.bind(this),38:this.onUpArrow.bind(this),39:this.onRightArrow.bind(this),40:this.onDownArrow.bind(this)},document.addEventListener("keydown",(function(e){i(t.container)&&(e=e||window.event,t.keyActions[e.keyCode]&&t.keyActions[e.keyCode]())})))}},{key:"makeOverlay",value:function(){}},{key:"updateOverlay",value:function(){}},{key:"bindOverlay",value:function(){}},{key:"bindUnits",value:function(){}},{key:"onLeftArrow",value:function(){}},{key:"onRightArrow",value:function(){}},{key:"onUpArrow",value:function(){}},{key:"onDownArrow",value:function(){}},{key:"onEnterKey",value:function(){}},{key:"addDataPoint",value:function(){}},{key:"removeDataPoint",value:function(){}},{key:"getDataPoint",value:function(){}},{key:"setCurrentDataPoint",value:function(){}},{key:"updateDataset",value:function(){}},{key:"export",value:function(){var t=dt(this.svg);ut(this.title||"Chart",[t])}}]),e}(),ye=function(t){function e(t,n){return Ft(this,e),Yt(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,n))}return It(e,t),Wt(e,[{key:"configure",value:function(t){Rt(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"configure",this).call(this,t),this.config.formatTooltipY=(t.tooltipOptions||{}).formatTooltipY,this.config.maxSlices=t.maxSlices||20,this.config.maxLegendPoints=t.maxLegendPoints||20}},{key:"calc",value:function(){var t=this,e=this.state,n=this.config.maxSlices;e.sliceTotals=[];var i=this.data.labels.map((function(e,n){var i=0;return t.data.datasets.map((function(t){i+=t.values[n]})),[i,e]})).filter((function(t){return t[0]>=0})),s=i;if(i.length>n){i.sort((function(t,e){return e[0]-t[0]})),s=i.slice(0,n-1);var a=0;i.slice(n-1).map((function(t){a+=t[0]})),s.push([a,"Rest"]),this.colors[n-1]="grey"}e.labels=[],s.map((function(t){e.sliceTotals.push(g(t[0])),e.labels.push(t[1])})),e.grandTotal=e.sliceTotals.reduce((function(t,e){return t+e}),0),this.center={x:this.width/2,y:this.height/2}}},{key:"renderLegend",value:function(){var t=this,e=this.state;this.legendArea.textContent="",this.legendTotals=e.sliceTotals.slice(0,this.config.maxLegendPoints);var n=0,i=0;this.legendTotals.map((function(s,a){var r=150,o=Math.floor((t.width-c(t.measures))/r);t.legendTotals.lengtho&&(n=0,i+=20);var l=r*n+5,u=t.config.truncateLegends?b(e.labels[a],r/10):e.labels[a],d=t.config.formatTooltipY?t.config.formatTooltipY(s):s,h=R(l,i,5,t.colors[a],u+": "+d,!1);t.legendArea.appendChild(h),n++}))}}]),e}(ve),be=7,xe=1e3,we=86400,$e=["January","February","March","April","May","June","July","August","September","October","November","December"],ke=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],Oe=function(){function t(e){var n=e.layerClass,i=void 0===n?"":n,s=e.layerTransform,a=void 0===s?"":s,r=e.constants,o=e.getData,l=e.makeElements,c=e.animateElements;Ft(this,t),this.layerTransform=a,this.constants=r,this.makeElements=l,this.getData=o,this.animateElements=c,this.store=[],this.labels=[],this.layerClass=i,this.layerClass="function"==typeof this.layerClass?this.layerClass():this.layerClass,this.refresh()}return Wt(t,[{key:"refresh",value:function(t){this.data=t||this.getData()}},{key:"setup",value:function(t){this.layer=L(this.layerClass,this.layerTransform,t)}},{key:"make",value:function(){this.render(this.data),this.oldData=this.data}},{key:"render",value:function(t){var e=this;this.store=this.makeElements(t),this.layer.textContent="",this.store.forEach((function(t){e.layer.appendChild(t)})),this.labels.forEach((function(t){e.layer.appendChild(t)}))}},{key:"update",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.refresh();var e=[];return t&&(e=this.animateElements(this.data)||[]),e}}]),t}(),Ae={donutSlices:{layerClass:"donut-slices",makeElements:function(t){return t.sliceStrings.map((function(e,n){var i=N(e,"donut-path",t.colors[n],"none",t.strokeWidth);return i.style.transition="transform .3s;",i}))},animateElements:function(t){return this.store.map((function(e,n){return at(e,t.sliceStrings[n])}))}},pieSlices:{layerClass:"pie-slices",makeElements:function(t){return t.sliceStrings.map((function(e,n){var i=N(e,"pie-path","none",t.colors[n]);return i.style.transition="transform .3s;",i}))},animateElements:function(t){return this.store.map((function(e,n){return at(e,t.sliceStrings[n])}))}},percentageBars:{layerClass:"percentage-bars",makeElements:function(t){var e=this;return t.xPositions.map((function(n,i){return H(n,0,t.widths[i],e.constants.barHeight,e.constants.barDepth,t.colors[i])}))},animateElements:function(t){if(t)return[]}},yAxis:{layerClass:"y axis",makeElements:function(t){var e=this;return t.positions.map((function(n,i){return B(n,t.labels[i],e.constants.width,{mode:e.constants.mode,pos:e.constants.pos,shortenNumbers:e.constants.shortenNumbers})}))},animateElements:function(t){var e=t.positions,n=t.labels,i=this.oldData.positions,s=this.oldData.labels,a=y(i,e),r=qt(a,2);i=r[0],e=r[1];var o=y(s,n),l=qt(o,2);return s=l[0],n=l[1],this.render({positions:i,labels:n}),this.store.map((function(t,n){return tt(t,e[n],i[n])}))}},xAxis:{layerClass:"x axis",makeElements:function(t){var e=this;return t.positions.map((function(n,i){return J(n,t.calcLabels[i],e.constants.height,{mode:e.constants.mode,pos:e.constants.pos})}))},animateElements:function(t){var e=t.positions,n=t.calcLabels,i=this.oldData.positions,s=this.oldData.calcLabels,a=y(i,e),r=qt(a,2);i=r[0],e=r[1];var o=y(s,n),l=qt(o,2);return s=l[0],n=l[1],this.render({positions:i,calcLabels:n}),this.store.map((function(t,n){return Q(t,e[n],i[n])}))}},yMarkers:{layerClass:"y-markers",makeElements:function(t){var e=this;return t.map((function(t){return V(t.position,t.label,e.constants.width,{labelPos:t.options.labelPos,mode:"span",lineType:"dashed"})}))},animateElements:function(t){var e=y(this.oldData,t),n=qt(e,2);this.oldData=n[0];var i=(t=n[1]).map((function(t){return t.position})),s=t.map((function(t){return t.label})),a=t.map((function(t){return t.options})),r=this.oldData.map((function(t){return t.position}));return this.render(r.map((function(t,e){return{position:r[e],label:s[e],options:a[e]}}))),this.store.map((function(t,e){return tt(t,i[e],r[e])}))}},yRegions:{layerClass:"y-regions",makeElements:function(t){var e=this;return t.map((function(t){return U(t.startPos,t.endPos,e.constants.width,t.label,{labelPos:t.options.labelPos})}))},animateElements:function(t){var e=y(this.oldData,t),n=qt(e,2);this.oldData=n[0];var i=(t=n[1]).map((function(t){return t.endPos})),s=t.map((function(t){return t.label})),a=t.map((function(t){return t.startPos})),r=t.map((function(t){return t.options})),o=this.oldData.map((function(t){return t.endPos})),l=this.oldData.map((function(t){return t.startPos}));this.render(o.map((function(t,e){return{startPos:l[e],endPos:o[e],label:s[e],options:r[e]}})));var c=[];return this.store.map((function(t,e){c=c.concat(et(t,a[e],i[e],o[e]))})),c}},heatDomain:{layerClass:function(){return"heat-domain domain-"+this.constants.index},makeElements:function(t){var e=this,n=this.constants,i=n.index,s=n.colWidth,a=n.rowHeight,r=n.squareSize,o=n.radius,l=n.xTranslate,c=0;return this.serializedSubDomains=[],t.cols.map((function(t,n){1===n&&e.labels.push(I("domain-name",l,-12,yt(i,!0).toUpperCase(),{fontSize:9})),t.map((function(t,n){if(t.fill){var i={"data-date":t.yyyyMmDd,"data-value":t.dataValue,"data-day":n},s=F("day",l,c,r,o,t.fill,i);e.serializedSubDomains.push(s)}c+=a})),c=0,l+=s})),this.serializedSubDomains},animateElements:function(t){if(t)return[]}},barGraph:{layerClass:function(){return"dataset-units dataset-bars dataset-"+this.constants.index},makeElements:function(t){var e=this.constants;return this.unitType="bar",this.units=t.yPositions.map((function(n,i){return G(t.xPositions[i],n,t.barWidth,e.color,t.labels[i],i,t.offsets[i],{zeroLine:t.zeroLine,barsWidth:t.barsWidth,minHeight:e.minHeight})})),this.units},animateElements:function(t){var e=t.xPositions,n=t.yPositions,i=t.offsets,s=t.labels,a=this.oldData.xPositions,r=this.oldData.yPositions,o=this.oldData.offsets,l=this.oldData.labels,c=y(a,e),u=qt(c,2);a=u[0],e=u[1];var d=y(r,n),h=qt(d,2);r=h[0],n=h[1];var p=y(o,i),f=qt(p,2);o=f[0],i=f[1];var g=y(l,s),m=qt(g,2);l=m[0],s=m[1],this.render({xPositions:a,yPositions:r,offsets:o,labels:s,zeroLine:this.oldData.zeroLine,barsWidth:this.oldData.barsWidth,barWidth:this.oldData.barWidth});var v=[];return this.store.map((function(s,a){v=v.concat(nt(s,e[a],n[a],t.barWidth,i[a],{zeroLine:t.zeroLine}))})),v}},lineGraph:{layerClass:function(){return"dataset-units dataset-line dataset-"+this.constants.index},makeElements:function(t){var e=this.constants;return this.unitType="dot",this.paths={},e.hideLine||(this.paths=K(t.xPositions,t.yPositions,e.color,{heatline:e.heatline,regionFill:e.regionFill,spline:e.spline},{svgDefs:e.svgDefs,zeroLine:t.zeroLine})),this.units=[],e.hideDots||(this.units=t.yPositions.map((function(n,i){return X(t.xPositions[i],n,t.radius,e.color,e.valuesOverPoints?t.values[i]:"",i)}))),Object.values(this.paths).concat(this.units)},animateElements:function(t){var e=t.xPositions,n=t.yPositions,i=t.values,s=this.oldData.xPositions,a=this.oldData.yPositions,r=this.oldData.values,o=y(s,e),l=qt(o,2);s=l[0],e=l[1];var c=y(a,n),u=qt(c,2);a=u[0],n=u[1];var d=y(r,i),h=qt(d,2);r=h[0],i=h[1],this.render({xPositions:s,yPositions:a,values:i,zeroLine:this.oldData.zeroLine,radius:this.oldData.radius});var p=[];return Object.keys(this.paths).length&&(p=p.concat(st(this.paths,e,n,t.zeroLine,this.constants.spline))),this.units.length&&this.units.map((function(t,i){p=p.concat(it(t,e[i],n[i]))})),p}}},Pe=function(t){function n(t,e){Ft(this,n);var i=Yt(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,t,e));return i.type="percentage",i.setup(),i}return It(n,t),Wt(n,[{key:"setMeasures",value:function(t){var e=this.measures;this.barOptions=t.barOptions||{};var n=this.barOptions;n.height=n.height||20,n.depth=n.depth||Ut,e.paddings.right=30,e.legendHeight=60,e.baseHeight=8*(n.height+.5*n.depth)}},{key:"setupComponents",value:function(){var t=this.state,e=[["percentageBars",{barHeight:this.barOptions.height,barDepth:this.barOptions.depth},function(){return{xPositions:t.xPositions,widths:t.widths,colors:this.colors}}.bind(this)]];this.components=new Map(e.map((function(t){var e=$t.apply(void 0,Bt(t));return[t[0],e]})))}},{key:"calc",value:function(){var t=this;Rt(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"calc",this).call(this);var e=this.state;e.xPositions=[],e.widths=[];var i=0;e.sliceTotals.map((function(n){var s=t.width*n/e.grandTotal;e.widths.push(s),e.xPositions.push(i),i+=s}))}},{key:"makeDataByIndex",value:function(){}},{key:"bindTooltip",value:function(){var t=this,n=this.state;this.container.addEventListener("mousemove",(function(i){var s=t.components.get("percentageBars").store,a=i.target;if(s.includes(a)){var r=s.indexOf(a),o=e(t.container),l=e(a),c=l.left-o.left+parseInt(a.getAttribute("width"))/2,u=l.top-o.top,d=(t.formattedLabels&&t.formattedLabels.length>0?t.formattedLabels[r]:t.state.labels[r])+": ",h=n.sliceTotals[r]/n.grandTotal;t.tip.setValues(c,u,{name:d,value:(100*h).toFixed(1)+"%"}),t.tip.showTip()}}))}}]),n}(ye),Te=function(t){function n(t,e){Ft(this,n);var i=Yt(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,t,e));return i.type="pie",i.initTimeout=0,i.init=1,i.setup(),i}return It(n,t),Wt(n,[{key:"configure",value:function(t){Rt(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"configure",this).call(this,t),this.mouseMove=this.mouseMove.bind(this),this.mouseLeave=this.mouseLeave.bind(this),this.hoverRadio=t.hoverRadio||.1,this.config.startAngle=t.startAngle||0,this.clockWise=t.clockWise||!1}},{key:"calc",value:function(){var t=this;Rt(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"calc",this).call(this);var e=this.state;this.radius=this.height>this.width?this.center.x:this.center.y;var i=this.radius,s=this.clockWise,a=e.slicesProperties||[];e.sliceStrings=[],e.slicesProperties=[];var r=180-this.config.startAngle;e.sliceTotals.map((function(n,o){var l=r,c=n/e.grandTotal*360,u=c>180?1:0,d=s?-c:c,h=r+=d,f=p(l,i),g=p(h,i),m=t.init&&a[o],v=void 0,y=void 0;t.init?(v=m?m.startPosition:f,y=m?m.endPosition:f):(v=f,y=g);var b=360===c?D(v,y,t.center,t.radius,s,u):C(v,y,t.center,t.radius,s,u);e.sliceStrings.push(b),e.slicesProperties.push({startPosition:f,endPosition:g,value:n,total:e.grandTotal,startAngle:l,endAngle:h,angle:d})})),this.init=0}},{key:"setupComponents",value:function(){var t=this.state,e=[["pieSlices",{},function(){return{sliceStrings:t.sliceStrings,colors:this.colors}}.bind(this)]];this.components=new Map(e.map((function(t){var e=$t.apply(void 0,Bt(t));return[t[0],e]})))}},{key:"calTranslateByAngle",value:function(t){var e=this.radius,n=this.hoverRadio,i=p(t.startAngle+t.angle/2,e);return"translate3d("+i.x*n+"px,"+i.y*n+"px,0)"}},{key:"hoverSlice",value:function(t,n,i,s){if(t){var a=this.colors[n];if(i){ot(t,this.calTranslateByAngle(this.state.slicesProperties[n])),t.style.fill=k(a,50);var r=e(this.svg),o=s.pageX-r.left+10,l=s.pageY-r.top-10,c=(this.formatted_labels&&this.formatted_labels.length>0?this.formatted_labels[n]:this.state.labels[n])+": ",u=(100*this.state.sliceTotals[n]/this.state.grandTotal).toFixed(1);this.tip.setValues(o,l,{name:c,value:u+"%"}),this.tip.showTip()}else ot(t,"translate3d(0,0,0)"),this.tip.hideTip(),t.style.fill=a}}},{key:"bindTooltip",value:function(){this.container.addEventListener("mousemove",this.mouseMove),this.container.addEventListener("mouseleave",this.mouseLeave)}},{key:"mouseMove",value:function(t){var e=t.target,n=this.components.get("pieSlices").store,i=this.curActiveSliceIndex,s=this.curActiveSlice;if(n.includes(e)){var a=n.indexOf(e);this.hoverSlice(s,i,!1),this.curActiveSlice=e,this.curActiveSliceIndex=a,this.hoverSlice(e,a,!0,t)}else this.mouseLeave()}},{key:"mouseLeave",value:function(){this.hoverSlice(this.curActiveSlice,this.curActiveSliceIndex,!1)}}]),n}(ye),_e=function(t){function e(t,n){Ft(this,e);var i=Yt(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,n));i.type="heatmap",i.countLabel=n.countLabel||"";var s=["Sunday","Monday"],a=s.includes(n.startSubDomain)?n.startSubDomain:"Sunday";return i.startSubDomainIndex=s.indexOf(a),i.setup(),i}return It(e,t),Wt(e,[{key:"setMeasures",value:function(t){var e=this.measures;this.discreteDomains=0===t.discreteDomains?0:1,e.paddings.top=36,e.paddings.bottom=0,e.legendHeight=24,e.baseHeight=12*be+l(e);var n=this.data,i=this.discreteDomains?12:0;this.independentWidth=12*(gt(n.start,n.end)+i)+c(e)}},{key:"updateWidth",value:function(){var t=this.discreteDomains?12:0,e=this.state.noOfWeeks?this.state.noOfWeeks:52;this.baseWidth=12*(e+t)+c(this.measures)}},{key:"prepareData",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.data;if(t.start&&t.end&&t.start>t.end)throw new Error("Start date cannot be greater than end date.");if(t.start||(t.start=new Date,t.start.setFullYear(t.start.getFullYear()-1)),t.end||(t.end=new Date),t.dataPoints=t.dataPoints||{},parseInt(Object.keys(t.dataPoints)[0])>1e5){var e={};Object.keys(t.dataPoints).forEach((function(n){var i=new Date(n*xe);e[pt(i)]=t.dataPoints[n]})),t.dataPoints=e}return t}},{key:"calc",value:function(){var t=this.state;t.start=ft(this.data.start),t.end=ft(this.data.end),t.firstWeekStart=ft(t.start),t.noOfWeeks=gt(t.start,t.end),t.distribution=Nt(Object.values(this.data.dataPoints),5),t.domainConfigs=this.getDomains()}},{key:"setupComponents",value:function(){var t=this,e=this.state,n=this.discreteDomains?0:1,i=e.domainConfigs.map((function(i,s){return["heatDomain",{index:i.index,colWidth:12,rowHeight:12,squareSize:10,radius:t.rawChartArgs.radius||0,xTranslate:12*e.domainConfigs.filter((function(t,e){return e1&&void 0!==arguments[1]?arguments[1]:"",n=[t.getMonth(),t.getFullYear()],i=n[0],s=n[1],a=xt(t),r={index:i,cols:[]};wt(e=ft(e)||bt(i,s),1);for(var o=gt(a,e),l=[],c=void 0,u=0;u2&&void 0!==arguments[2]&&arguments[2],i=this.state,s=ft(t),a=[],r=0;r=i.start&&s<=i.end;n||s.getMonth()!==e||!l?o.yyyyMmDd=pt(s):o=this.getSubDomainConfig(s),a.push(o)}return a}},{key:"getSubDomainConfig",value:function(t){var e=pt(t),n=this.data.dataPoints[e];return{yyyyMmDd:e,dataValue:n||0,fill:this.colors[Ct(n,this.state.distribution)]}}}]),e}(ve),Me=function(t){function n(t,e){Ft(this,n);var i=Yt(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,t,e));return i.barOptions=e.barOptions||{},i.lineOptions=e.lineOptions||{},i.type=e.type||"line",i.init=1,i.setup(),i}return It(n,t),Wt(n,[{key:"setMeasures",value:function(){this.data.datasets.length<=1&&(this.config.showLegend=0,this.measures.paddings.bottom=30)}},{key:"configure",value:function(t){Rt(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"configure",this).call(this,t),t.axisOptions=t.axisOptions||{},t.tooltipOptions=t.tooltipOptions||{},this.config.xAxisMode=t.axisOptions.xAxisMode||"span",this.config.yAxisMode=t.axisOptions.yAxisMode||"span",this.config.xIsSeries=t.axisOptions.xIsSeries||0,this.config.shortenYAxisNumbers=t.axisOptions.shortenYAxisNumbers||0,this.config.formatTooltipX=t.tooltipOptions.formatTooltipX,this.config.formatTooltipY=t.tooltipOptions.formatTooltipY,this.config.valuesOverPoints=t.valuesOverPoints}},{key:"prepareData",value:function(){return Dt(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.data,this.type)}},{key:"prepareFirstData",value:function(){return Et(arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.data)}},{key:"calc",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.calcXPositions(),t||this.calcYAxisParameters(this.getAllYValues(),"line"===this.type),this.makeDataByIndex()}},{key:"calcXPositions",value:function(){var t=this.state,e=this.data.labels;t.datasetLength=e.length,t.unitWidth=this.width/t.datasetLength,t.xOffset=t.unitWidth/2,t.xAxis={labels:e,positions:e.map((function(e,n){return u(t.xOffset+n*t.unitWidth)}))}}},{key:"calcYAxisParameters",value:function(t){var e=Pt(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:"false"),n=this.height/Mt(e),i=_t(e)*n,s=this.height-Tt(e)*i;this.state.yAxis={labels:e,positions:e.map((function(t){return s-t*n})),scaleMultiplier:n,zeroLine:s},this.calcDatasetPoints(),this.calcYExtremes(),this.calcYRegions()}},{key:"calcDatasetPoints",value:function(){var t=this.state,e=function(e){return e.map((function(e){return St(e,t.yAxis)}))};t.datasets=this.data.datasets.map((function(t,n){var i=t.values,s=t.cumulativeYs||[];return{name:t.name&&t.name.replace(/<|>|&/g,(function(t){return"&"==t?"&":"<"==t?"<":">"})),index:n,chartType:t.chartType,values:i,yPositions:e(i),cumulativeYs:s,cumulativeYPos:e(s)}}))}},{key:"calcYExtremes",value:function(){var t=this.state;this.barOptions.stacked?t.yExtremes=t.datasets[t.datasets.length-1].cumulativeYPos:(t.yExtremes=new Array(t.datasetLength).fill(9999),t.datasets.map((function(e){e.yPositions.map((function(e,n){er(i)?t.mapTooltipXPosition(a):t.tip.hideTip()}))}},{key:"mapTooltipXPosition",value:function(t){var e=this.state;if(e.yExtremes){var n=Lt(t,e.xAxis.positions,!0);if(n>=0){var i=this.dataByIndex[n];this.tip.setValues(i.xPos+this.tip.offset.x,i.yExtreme+this.tip.offset.y,{name:i.formattedLabel,value:""},i.values,n),this.tip.showTip()}}}},{key:"renderLegend",value:function(){var t=this,e=this.data;e.datasets.length>1&&(this.legendArea.textContent="",e.datasets.map((function(e,n){var i=W(100*n,"0",100,t.colors[n],e.name,t.config.truncateLegends);t.legendArea.appendChild(i)})))}},{key:"makeOverlay",value:function(){var t=this;this.init?this.init=0:(this.overlayGuides&&this.overlayGuides.forEach((function(t){var e=t.overlay;e.parentNode.removeChild(e)})),this.overlayGuides=this.dataUnitComponents.map((function(t){return{type:t.unitType,overlay:void 0,units:t.units}})),void 0===this.state.currentIndex&&(this.state.currentIndex=this.state.datasetLength-1),this.overlayGuides.map((function(e){var n=e.units[t.state.currentIndex];e.overlay=le[e.type](n),t.drawArea.appendChild(e.overlay)})))}},{key:"updateOverlayGuides",value:function(){this.overlayGuides&&this.overlayGuides.forEach((function(t){var e=t.overlay;e.parentNode.removeChild(e)}))}},{key:"bindOverlay",value:function(){var t=this;this.parent.addEventListener("data-select",(function(){t.updateOverlay()}))}},{key:"bindUnits",value:function(){var t=this;this.dataUnitComponents.map((function(e){e.units.map((function(e){e.addEventListener("click",(function(){var n=e.getAttribute("data-point-index");t.setCurrentDataPoint(n)}))}))})),this.tip.container.addEventListener("click",(function(){var e=t.tip.container.getAttribute("data-point-index");t.setCurrentDataPoint(e)}))}},{key:"updateOverlay",value:function(){var t=this;this.overlayGuides.map((function(e){var n=e.units[t.state.currentIndex];ce[e.type](n,e.overlay)}))}},{key:"onLeftArrow",value:function(){this.setCurrentDataPoint(this.state.currentIndex-1)}},{key:"onRightArrow",value:function(){this.setCurrentDataPoint(this.state.currentIndex+1)}},{key:"getDataPoint",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state.currentIndex,e=this.state;return{index:t,label:e.xAxis.labels[t],values:e.datasets.map((function(e){return e.values[t]}))}}},{key:"setCurrentDataPoint",value:function(t){var e=this.state;(t=parseInt(t))<0&&(t=0),t>=e.xAxis.labels.length&&(t=e.xAxis.labels.length-1),t!==e.currentIndex&&(e.currentIndex=t,a(this.parent,"data-select",this.getDataPoint()))}},{key:"addDataPoint",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.state.datasetLength;Rt(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"addDataPoint",this).call(this,t,e,i),this.data.labels.splice(i,0,t),this.data.datasets.map((function(t,n){t.values.splice(i,0,e[n])})),this.update(this.data)}},{key:"removeDataPoint",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.state.datasetLength-1;this.data.labels.length<=1||(Rt(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"removeDataPoint",this).call(this,t),this.data.labels.splice(t,1),this.data.datasets.map((function(e){e.values.splice(t,1)})),this.update(this.data))}},{key:"updateDataset",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.data.datasets[e].values=t,this.update(this.data)}},{key:"updateDatasets",value:function(t){this.data.datasets.map((function(e,n){t[n]&&(e.values=t[n])})),this.update(this.data)}}]),n}(ve),Se=function(t){function n(t,e){Ft(this,n);var i=Yt(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,t,e));return i.type="donut",i.initTimeout=0,i.init=1,i.setup(),i}return It(n,t),Wt(n,[{key:"configure",value:function(t){Rt(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"configure",this).call(this,t),this.mouseMove=this.mouseMove.bind(this),this.mouseLeave=this.mouseLeave.bind(this),this.hoverRadio=t.hoverRadio||.1,this.config.startAngle=t.startAngle||0,this.clockWise=t.clockWise||!1,this.strokeWidth=t.strokeWidth||30}},{key:"calc",value:function(){var t=this;Rt(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"calc",this).call(this);var e=this.state;this.radius=this.height>this.width?this.center.x-this.strokeWidth/2:this.center.y-this.strokeWidth/2;var i=this.radius,s=this.clockWise,a=e.slicesProperties||[];e.sliceStrings=[],e.slicesProperties=[];var r=180-this.config.startAngle;e.sliceTotals.map((function(n,o){var l=r,c=n/e.grandTotal*360,u=c>180?1:0,d=s?-c:c,h=r+=d,f=p(l,i),g=p(h,i),m=t.init&&a[o],v=void 0,y=void 0;t.init?(v=m?m.startPosition:f,y=m?m.endPosition:f):(v=f,y=g);var b=360===c?z(v,y,t.center,t.radius,t.clockWise,u):E(v,y,t.center,t.radius,t.clockWise,u);e.sliceStrings.push(b),e.slicesProperties.push({startPosition:f,endPosition:g,value:n,total:e.grandTotal,startAngle:l,endAngle:h,angle:d})})),this.init=0}},{key:"setupComponents",value:function(){var t=this.state,e=[["donutSlices",{},function(){return{sliceStrings:t.sliceStrings,colors:this.colors,strokeWidth:this.strokeWidth}}.bind(this)]];this.components=new Map(e.map((function(t){var e=$t.apply(void 0,Bt(t));return[t[0],e]})))}},{key:"calTranslateByAngle",value:function(t){var e=this.radius,n=this.hoverRadio,i=p(t.startAngle+t.angle/2,e);return"translate3d("+i.x*n+"px,"+i.y*n+"px,0)"}},{key:"hoverSlice",value:function(t,n,i,s){if(t){var a=this.colors[n];if(i){ot(t,this.calTranslateByAngle(this.state.slicesProperties[n])),t.style.stroke=k(a,50);var r=e(this.svg),o=s.pageX-r.left+10,l=s.pageY-r.top-10,c=(this.formatted_labels&&this.formatted_labels.length>0?this.formatted_labels[n]:this.state.labels[n])+": ",u=(100*this.state.sliceTotals[n]/this.state.grandTotal).toFixed(1);this.tip.setValues(o,l,{name:c,value:u+"%"}),this.tip.showTip()}else ot(t,"translate3d(0,0,0)"),this.tip.hideTip(),t.style.stroke=a}}},{key:"bindTooltip",value:function(){this.container.addEventListener("mousemove",this.mouseMove),this.container.addEventListener("mouseleave",this.mouseLeave)}},{key:"mouseMove",value:function(t){var e=t.target,n=this.components.get("donutSlices").store,i=this.curActiveSliceIndex,s=this.curActiveSlice;if(n.includes(e)){var a=n.indexOf(e);this.hoverSlice(s,i,!1),this.curActiveSlice=e,this.curActiveSliceIndex=a,this.hoverSlice(e,a,!0,t)}else this.mouseLeave()}},{key:"mouseLeave",value:function(){this.hoverSlice(this.curActiveSlice,this.curActiveSliceIndex,!1)}}]),n}(ye),Le={bar:Me,line:Me,percentage:Pe,heatmap:_e,pie:Te,donut:Se},Ne=function t(e,n){return Ft(this,t),jt(n.type,e,n)},Ce=Object.freeze({Chart:Ne,PercentageChart:Pe,PieChart:Te,Heatmap:_e,AxisChart:Me}),De={NAME:"Frappe Charts",VERSION:"1.6.2"};return Object.assign({},De,Ce)}()}(Tt={exports:{}},Tt.exports),Tt.exports);function Mt(e){let n,i,s;return{c(){n=m("div")},m(t,a){p(t,n,a),e[18](n),i||(s=w(n,"data-select",e[17]),i=!0)},p:t,i:t,o:t,d(t){t&&f(n),e[18](null),i=!1,s()}}}function St(t,e,n){let i,{data:s={labels:[],datasets:[{values:[]}],yMarkers:{},yRegions:[]}}=e,{title:a=""}=e,{type:r="line"}=e,{height:o=300}=e,{animate:l=!0}=e,{axisOptions:c={}}=e,{barOptions:u={}}=e,{lineOptions:d={}}=e,{tooltipOptions:h={}}=e,{colors:p=[]}=e,{valuesOverPoints:f=0}=e,{isNavigable:g=!1}=e,{maxSlices:m=3}=e,v=null;function y(t){return function(...e){if(v)return t(...e)}}const b=y(((t,e,n)=>v.addDataPoint(t,e,n))),x=y((t=>v.removeDataPoint(t))),w=y((()=>v.export())),$=y((t=>v.update(t)));return L((()=>{v=new _t.Chart(i,{data:s,title:a,type:r,height:o,animate:l,colors:p,axisOptions:c,barOptions:u,lineOptions:d,tooltipOptions:h,valuesOverPoints:f,isNavigable:g,maxSlices:m})})),function(t){S().$$.on_destroy.push(t)}((()=>{v=null})),t.$$set=t=>{"data"in t&&n(1,s=t.data),"title"in t&&n(2,a=t.title),"type"in t&&n(3,r=t.type),"height"in t&&n(4,o=t.height),"animate"in t&&n(5,l=t.animate),"axisOptions"in t&&n(6,c=t.axisOptions),"barOptions"in t&&n(7,u=t.barOptions),"lineOptions"in t&&n(8,d=t.lineOptions),"tooltipOptions"in t&&n(9,h=t.tooltipOptions),"colors"in t&&n(10,p=t.colors),"valuesOverPoints"in t&&n(11,f=t.valuesOverPoints),"isNavigable"in t&&n(12,g=t.isNavigable),"maxSlices"in t&&n(13,m=t.maxSlices)},t.$$.update=()=>{2&t.$$.dirty&&$(s)},[i,s,a,r,o,l,c,u,d,h,p,f,g,m,b,x,w,function(e){C.call(this,t,e)},function(t){E[t?"unshift":"push"]((()=>{i=t,n(0,i)}))}]}var Lt=class extends at{constructor(t){super(),st(this,t,St,Mt,a,{data:1,title:2,type:3,height:4,animate:5,axisOptions:6,barOptions:7,lineOptions:8,tooltipOptions:9,colors:10,valuesOverPoints:11,isNavigable:12,maxSlices:13,addDataPoint:14,removeDataPoint:15,exportChart:16})}get addDataPoint(){return this.$$.ctx[14]}get removeDataPoint(){return this.$$.ctx[15]}get exportChart(){return this.$$.ctx[16]}};function Nt(t){let e,n;return{c(){e=m("h1"),n=y(t[0]),$(e,"class","crd-hdr")},m(t,i){p(t,e,i),h(e,n)},p(t,e){1&e&&O(n,t[0])},d(t){t&&f(e)}}}function Ct(t){let e,n,i,s=t[0]&&Nt(t);const a=t[2].default,r=o(a,t,t[1],null);return{c(){e=m("div"),s&&s.c(),n=b(),r&&r.c(),$(e,"class","crd")},m(t,a){p(t,e,a),s&&s.m(e,null),h(e,n),r&&r.m(e,null),i=!0},p(t,[o]){t[0]?s?s.p(t,o):(s=Nt(t),s.c(),s.m(e,n)):s&&(s.d(1),s=null),r&&r.p&&(!i||2&o)&&u(r,a,t,t[1],i?c(a,t[1],o,null):d(t[1]),null)},i(t){i||(Z(r,t),i=!0)},o(t){Q(r,t),i=!1},d(t){t&&f(e),s&&s.d(),r&&r.d(t)}}}function Dt(t,e,n){let{$$slots:i={},$$scope:s}=e,{title:a}=e;return t.$$set=t=>{"title"in t&&n(0,a=t.title),"$$scope"in t&&n(1,s=t.$$scope)},[a,s,i]}class Et extends at{constructor(t){super(),st(this,t,Dt,Ct,a,{title:0})}}function zt(t){let e,n,i,s,a,r,o,l,c,u,d,g,v,x,k,A,P,T,_,M,S,L,N;return{c(){e=m("div"),n=m("div"),i=m("div"),s=b(),a=m("span"),a.textContent="",r=b(),o=m("div"),l=m("div"),c=m("div"),u=m("div"),d=m("h3"),g=y(t[1]),v=b(),x=m("div"),k=m("p"),A=y(t[2]),P=b(),T=m("div"),_=m("button"),_.textContent="Deactivate",M=b(),S=m("button"),S.textContent="Cancel",$(i,"class","fixed inset-0 bg-gray-500 bg-opacity-75 transition-opacity"),$(i,"aria-hidden","true"),$(a,"class","hidden sm:inline-block sm:align-middle sm:h-screen"),$(a,"aria-hidden","true"),$(d,"class","text-lg leading-6 font-medium text-gray-900"),$(d,"id","modal-title"),$(k,"class","text-sm text-gray-500"),$(x,"class","mt-2"),$(u,"class","mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left"),$(c,"class","sm:flex sm:items-start"),$(l,"class","bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4"),$(_,"type","button"),$(_,"class","w-full inline-flex justify-center rounded-md border border-transparent shadow-sm px-4 py-2 bg-red-600 text-base font-medium text-white hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500 sm:ml-3 sm:w-auto sm:text-sm"),$(S,"type","button"),$(S,"class","mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-sm px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm"),$(T,"class","bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse"),$(o,"class","inline-block align-bottom bg-white rounded-lg text-left overflow-hidden shadow-xl transform transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full"),$(n,"class","flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0"),$(e,"class","fixed z-10 inset-0 overflow-y-auto"),$(e,"aria-labelledby","modal-title"),$(e,"role","dialog"),$(e,"aria-modal","true")},m(f,m){p(f,e,m),h(e,n),h(n,i),h(n,s),h(n,a),h(n,r),h(n,o),h(o,l),h(l,c),h(c,u),h(u,d),h(d,g),h(u,v),h(u,x),h(x,k),h(k,A),h(o,P),h(o,T),h(T,_),h(T,M),h(T,S),L||(N=w(S,"click",t[3]),L=!0)},p(t,e){2&e&&O(g,t[1]),4&e&&O(A,t[2])},d(t){t&&f(e),L=!1,N()}}}function jt(e){let n,i=e[0]&&zt(e);return{c(){n=m("div"),i&&i.c(),$(n,"class","modal")},m(t,e){p(t,n,e),i&&i.m(n,null)},p(t,[e]){t[0]?i?i.p(t,e):(i=zt(t),i.c(),i.m(n,null)):i&&(i.d(1),i=null)},i:t,o:t,d(t){t&&f(n),i&&i.d()}}}function Ht(t,e,n){let{show:i}=e,{header:s="header"}=e,{text:a="text"}=e;return t.$$set=t=>{"show"in t&&n(0,i=t.show),"header"in t&&n(1,s=t.header),"text"in t&&n(2,a=t.text)},[i,s,a,()=>n(0,i=!1)]}class Ft extends at{constructor(t){super(),st(this,t,Ht,jt,a,{show:0,header:1,text:2})}}function Wt(t){let e,n,s,a;return{c(){e=m("input"),$(e,"class",n=1==t[0].send?"wgt-ipt text-right border-red-500":"wgt-ipt text-right focus:border-indigo-500"),$(e,"step","0.1"),$(e,"type","number")},m(n,i){p(n,e,i),A(e,t[0].status),s||(a=[w(e,"change",t[3]),w(e,"input",t[4])],s=!0)},p(t,i){1&i&&n!==(n=1==t[0].send?"wgt-ipt text-right border-red-500":"wgt-ipt text-right focus:border-indigo-500")&&$(e,"class",n),1&i&&k(e.value)!==t[0].status&&A(e,t[0].status)},d(t){t&&f(e),s=!1,i(a)}}}function Rt(t){let e,n,s,a;return{c(){e=m("input"),$(e,"class",n=1==t[0].send?"wgt-ipt text-right border-red-500":"wgt-ipt text-right focus:border-indigo-500"),$(e,"type","text")},m(n,i){p(n,e,i),A(e,t[0].status),s||(a=[w(e,"change",t[5]),w(e,"input",t[6])],s=!0)},p(t,i){1&i&&n!==(n=1==t[0].send?"wgt-ipt text-right border-red-500":"wgt-ipt text-right focus:border-indigo-500")&&$(e,"class",n),1&i&&e.value!==t[0].status&&A(e,t[0].status)},d(t){t&&f(e),s=!1,i(a)}}}function It(t){let e,n,s,a;return{c(){e=m("input"),$(e,"class",n=1==t[0].send?"wgt-ipt text-right border-red-500":"wgt-ipt text-right focus:border-indigo-500"),$(e,"type","date")},m(n,i){p(n,e,i),A(e,t[0].status),s||(a=[w(e,"change",t[7]),w(e,"input",t[8])],s=!0)},p(t,i){1&i&&n!==(n=1==t[0].send?"wgt-ipt text-right border-red-500":"wgt-ipt text-right focus:border-indigo-500")&&$(e,"class",n),1&i&&A(e,t[0].status)},d(t){t&&f(e),s=!1,i(a)}}}function Yt(t){let e,n,s,a;return{c(){e=m("input"),$(e,"class",n=1==t[0].send?"wgt-ipt text-right border-red-500":"wgt-ipt text-right focus:border-indigo-500"),$(e,"type","time")},m(n,i){p(n,e,i),A(e,t[0].status),s||(a=[w(e,"change",t[9]),w(e,"input",t[10])],s=!0)},p(t,i){1&i&&n!==(n=1==t[0].send?"wgt-ipt text-right border-red-500":"wgt-ipt text-right focus:border-indigo-500")&&$(e,"class",n),1&i&&A(e,t[0].status)},d(t){t&&f(e),s=!1,i(a)}}}function qt(e){let n,i,s,a,r,o,l,c,u,d=(e[0].descr?e[0].descr:"")+"",g="number"==e[0].type&&Wt(e),v="text"==e[0].type&&Rt(e),x="date"==e[0].type&&It(e),w="time"==e[0].type&&Yt(e);return{c(){n=m("div"),i=m("div"),s=m("label"),a=y(d),r=b(),o=m("div"),g&&g.c(),l=b(),v&&v.c(),c=b(),x&&x.c(),u=b(),w&&w.c(),$(s,"class","wgt-dscr-stl"),$(i,"class","wgt-dscr-w"),$(o,"class","wgt-w"),$(n,"class","crd-itm-psn")},m(t,e){p(t,n,e),h(n,i),h(i,s),h(s,a),h(n,r),h(n,o),g&&g.m(o,null),h(o,l),v&&v.m(o,null),h(o,c),x&&x.m(o,null),h(o,u),w&&w.m(o,null)},p(t,[e]){1&e&&d!==(d=(t[0].descr?t[0].descr:"")+"")&&O(a,d),"number"==t[0].type?g?g.p(t,e):(g=Wt(t),g.c(),g.m(o,l)):g&&(g.d(1),g=null),"text"==t[0].type?v?v.p(t,e):(v=Rt(t),v.c(),v.m(o,c)):v&&(v.d(1),v=null),"date"==t[0].type?x?x.p(t,e):(x=It(t),x.c(),x.m(o,u)):x&&(x.d(1),x=null),"time"==t[0].type?w?w.p(t,e):(w=Yt(t),w.c(),w.m(o,null)):w&&(w.d(1),w=null)},i:t,o:t,d(t){t&&f(n),g&&g.d(),v&&v.d(),x&&x.d(),w&&w.d()}}}function Bt(t,e,n){let{widget:i}=e,{wsPushProp:s=((t,e,n)=>{})}=e,{value:a}=e;a=a;return t.$$set=t=>{"widget"in t&&n(0,i=t.widget),"wsPushProp"in t&&n(1,s=t.wsPushProp),"value"in t&&n(2,a=t.value)},[i,s,a,()=>(n(0,i.send=!0,i),s(i.ws,i.topic,i.status)),function(){i.status=k(this.value),n(0,i)},()=>(n(0,i.send=!0,i),s(i.ws,i.topic,i.status)),function(){i.status=this.value,n(0,i)},()=>(n(0,i.send=!0,i),s(i.ws,i.topic,i.status)),function(){i.status=this.value,n(0,i)},()=>(n(0,i.send=!0,i),s(i.ws,i.topic,i.status)),function(){i.status=this.value,n(0,i)}]}class Jt extends at{constructor(t){super(),st(this,t,Bt,qt,a,{widget:0,wsPushProp:1,value:2})}}function Vt(e){let n,s,a,r,o,l,c,u,d,g,v,x,k,P,T,_,M,S,L=(e[0].descr?e[0].descr:"")+"";return{c(){n=m("div"),s=m("div"),a=m("label"),r=y(L),o=b(),l=m("div"),c=m("label"),u=m("div"),d=m("input"),v=b(),x=m("div"),k=b(),P=m("div"),$(a,"class","wgt-dscr-stl"),$(s,"class","wgt-dscr-w"),$(d,"id",g=e[0].topic),$(d,"type","checkbox"),$(d,"class","sr-only"),$(x,"class","block bg-gray-600 w-10 h-6 rounded-full"),$(P,"class",T="dot "+(1==e[0].send?"bg-red-400":"bg-white")+" absolute left-1 top-1 w-4 h-4 rounded-full transition"),$(u,"class","relative"),$(c,"for",_=e[0].topic),$(c,"class","items-center cursor-pointer"),$(l,"class","wgt-w"),$(n,"class","crd-itm-psn")},m(t,i){p(t,n,i),h(n,s),h(s,a),h(a,r),h(n,o),h(n,l),h(l,c),h(c,u),h(u,d),A(d,e[0].status),h(u,v),h(u,x),h(u,k),h(u,P),M||(S=[w(d,"change",e[3]),w(d,"change",e[4])],M=!0)},p(t,[e]){1&e&&L!==(L=(t[0].descr?t[0].descr:"")+"")&&O(r,L),1&e&&g!==(g=t[0].topic)&&$(d,"id",g),1&e&&A(d,t[0].status),1&e&&T!==(T="dot "+(1==t[0].send?"bg-red-400":"bg-white")+" absolute left-1 top-1 w-4 h-4 rounded-full transition")&&$(P,"class",T),1&e&&_!==(_=t[0].topic)&&$(c,"for",_)},i:t,o:t,d(t){t&&f(n),M=!1,i(S)}}}function Ut(t,e,n){let{widget:i}=e,{value:s}=e;s=s;let{wsPushProp:a=((t,e,n)=>{})}=e;return t.$$set=t=>{"widget"in t&&n(0,i=t.widget),"value"in t&&n(2,s=t.value),"wsPushProp"in t&&n(1,a=t.wsPushProp)},[i,a,s,()=>(n(0,i.send=!0,i),a(i.ws,i.topic,i.status)),function(){i.status=this.value,n(0,i)}]}class Gt extends at{constructor(t){super(),st(this,t,Ut,Vt,a,{widget:0,value:2,wsPushProp:1})}}function Xt(e){let n,i,s,a,r,o,l,c,u,d,g,v,x=(e[0].descr?e[0].descr:"")+"",w=(e[0].status?e[0].status:"")+"",k=(e[0].after?e[0].after:"")+"";return{c(){n=m("div"),i=m("div"),s=m("label"),a=y(x),r=b(),o=m("div"),l=m("label"),c=y(w),u=b(),d=m("label"),g=y(" "),v=y(k),$(s,"class","wgt-dscr-stl"),$(i,"class","wgt-dscr-w"),$(l,"class","wgt-adt-stl"),$(d,"class","wgt-adt-stl"),$(o,"class","wgt-w"),$(n,"class","crd-itm-psn")},m(t,e){p(t,n,e),h(n,i),h(i,s),h(s,a),h(n,r),h(n,o),h(o,l),h(l,c),h(o,u),h(o,d),h(d,g),h(d,v)},p(t,[e]){1&e&&x!==(x=(t[0].descr?t[0].descr:"")+"")&&O(a,x),1&e&&w!==(w=(t[0].status?t[0].status:"")+"")&&O(c,w),1&e&&k!==(k=(t[0].after?t[0].after:"")+"")&&O(v,k)},i:t,o:t,d(t){t&&f(n)}}}function Kt(t,e,n){let{widget:i}=e,{value:s}=e;return s=s,t.$$set=t=>{"widget"in t&&n(0,i=t.widget),"value"in t&&n(1,s=t.value)},[i,s]}class Zt extends at{constructor(t){super(),st(this,t,Kt,Xt,a,{widget:0,value:1})}}function Qt(t,e,n){const i=t.slice();return i[115]=e[n],i}function te(t,e,n){const i=t.slice();return i[118]=e[n],i[120]=n,i}function ee(t,e,n){const i=t.slice();return i[121]=e[n][0],i[122]=e[n][1],i}function ne(t,e,n){const i=t.slice();return i[125]=e[n],i[126]=e,i[120]=n,i}function ie(t,e,n){const i=t.slice();return i[127]=e[n][0],i[128]=e[n][1],i[129]=e,i[130]=n,i}function se(t,e,n){const i=t.slice();return i[131]=e[n],i}function ae(t,e,n){const i=t.slice();return i[134]=e[n],i}function re(t,e,n){const i=t.slice();return i[137]=e[n],i[120]=n,i}function oe(t,e,n){const i=t.slice();return i[139]=e[n],i[140]=e,i[120]=n,i}function le(t,e,n){const i=t.slice();return i[115]=e[n],i}function ce(t){let e,n,i,s,a=t[115].name+"";return{c(){e=m("option"),n=y(a),i=b(),e.__value=s=t[115],e.value=e.__value},m(t,s){p(t,e,s),h(e,n),h(e,i)},p(t,i){32768&i[0]&&a!==(a=t[115].name+"")&&O(n,a),32768&i[0]&&s!==(s=t[115])&&(e.__value=s,e.value=e.__value)},d(t){t&&f(e)}}}function ue(t){let e,n,i,s,a,r,o,l,c,u,d,h,g,m;return e=new Pt({props:{path:"/",$$slots:{default:[xe]},$$scope:{ctx:t}}}),i=new Pt({props:{path:"/config",$$slots:{default:[Se]},$$scope:{ctx:t}}}),a=new Pt({props:{path:"/connection",$$slots:{default:[De]},$$scope:{ctx:t}}}),o=new Pt({props:{path:"/utilities",$$slots:{default:[ze]},$$scope:{ctx:t}}}),c=new Pt({props:{path:"/log",$$slots:{default:[Fe]},$$scope:{ctx:t}}}),d=new Pt({props:{path:"/list",$$slots:{default:[Ye]},$$scope:{ctx:t}}}),g=new Pt({props:{path:"/about",$$slots:{default:[Be]},$$scope:{ctx:t}}}),{c(){et(e.$$.fragment),n=b(),et(i.$$.fragment),s=b(),et(a.$$.fragment),r=b(),et(o.$$.fragment),l=b(),et(c.$$.fragment),u=b(),et(d.$$.fragment),h=b(),et(g.$$.fragment)},m(t,f){nt(e,t,f),p(t,n,f),nt(i,t,f),p(t,s,f),nt(a,t,f),p(t,r,f),nt(o,t,f),p(t,l,f),nt(c,t,f),p(t,u,f),nt(d,t,f),p(t,h,f),nt(g,t,f),m=!0},p(t,n){const s={};1056&n[0]|524288&n[4]&&(s.$$scope={dirty:n,ctx:t}),e.$set(s);const r={};976&n[0]|524288&n[4]&&(r.$$scope={dirty:n,ctx:t}),i.$set(r);const l={};6144&n[0]|524288&n[4]&&(l.$$scope={dirty:n,ctx:t}),a.$set(l);const u={};524288&n[4]&&(u.$$scope={dirty:n,ctx:t}),o.$set(u);const h={};131072&n[0]|524288&n[4]&&(h.$$scope={dirty:n,ctx:t}),c.$set(h);const p={};98308&n[0]|524288&n[4]&&(p.$$scope={dirty:n,ctx:t}),d.$set(p);const f={};1024&n[0]|524288&n[4]&&(f.$$scope={dirty:n,ctx:t}),g.$set(f)},i(t){m||(Z(e.$$.fragment,t),Z(i.$$.fragment,t),Z(a.$$.fragment,t),Z(o.$$.fragment,t),Z(c.$$.fragment,t),Z(d.$$.fragment,t),Z(g.$$.fragment,t),m=!0)},o(t){Q(e.$$.fragment,t),Q(i.$$.fragment,t),Q(a.$$.fragment,t),Q(o.$$.fragment,t),Q(c.$$.fragment,t),Q(d.$$.fragment,t),Q(g.$$.fragment,t),m=!1},d(t){it(e,t),t&&f(n),it(i,t),t&&f(s),it(a,t),t&&f(r),it(o,t),t&&f(l),it(c,t),t&&f(u),it(d,t),t&&f(h),it(g,t)}}}function de(e){let n;return{c(){n=m("div"),n.innerHTML='',$(n,"class","flex justify-center items-center")},m(t,e){p(t,n,e)},p:t,i:t,o:t,d(t){t&&f(n)}}}function he(t){let e,n;return e=new Et({props:{title:"Ваша панель управления пуста, вначале добавьте новые элементы в конфигураторе!"}}),{c(){et(e.$$.fragment)},m(t,i){nt(e,t,i),n=!0},i(t){n||(Z(e.$$.fragment,t),n=!0)},o(t){Q(e.$$.fragment,t),n=!1},d(t){it(e,t)}}}function pe(t){let e,n,i,s,a="input"===t[139].widget&&fe(t),r="toggle"===t[139].widget&&ge(t),o="anydata"===t[139].widget&&me(t);return{c(){a&&a.c(),e=b(),r&&r.c(),n=b(),o&&o.c(),i=x()},m(t,l){a&&a.m(t,l),p(t,e,l),r&&r.m(t,l),p(t,n,l),o&&o.m(t,l),p(t,i,l),s=!0},p(t,s){"input"===t[139].widget?a?(a.p(t,s),1024&s[0]&&Z(a,1)):(a=fe(t),a.c(),Z(a,1),a.m(e.parentNode,e)):a&&(X(),Q(a,1,1,(()=>{a=null})),K()),"toggle"===t[139].widget?r?(r.p(t,s),1024&s[0]&&Z(r,1)):(r=ge(t),r.c(),Z(r,1),r.m(n.parentNode,n)):r&&(X(),Q(r,1,1,(()=>{r=null})),K()),"anydata"===t[139].widget?o?(o.p(t,s),1024&s[0]&&Z(o,1)):(o=me(t),o.c(),Z(o,1),o.m(i.parentNode,i)):o&&(X(),Q(o,1,1,(()=>{o=null})),K())},i(t){s||(Z(a),Z(r),Z(o),s=!0)},o(t){Q(a),Q(r),Q(o),s=!1},d(t){a&&a.d(t),t&&f(e),r&&r.d(t),t&&f(n),o&&o.d(t),t&&f(i)}}}function fe(t){let e,n,i;function s(e){t[36](e,t[139])}let a={widget:t[139],wsPushProp:t[35]};return void 0!==t[139].status&&(a.value=t[139].status),e=new Jt({props:a}),E.push((()=>tt(e,"value",s))),{c(){et(e.$$.fragment)},m(t,n){nt(e,t,n),i=!0},p(i,s){t=i;const a={};1024&s[0]&&(a.widget=t[139]),!n&&1024&s[0]&&(n=!0,a.value=t[139].status,Y((()=>n=!1))),e.$set(a)},i(t){i||(Z(e.$$.fragment,t),i=!0)},o(t){Q(e.$$.fragment,t),i=!1},d(t){it(e,t)}}}function ge(t){let e,n,i;function s(e){t[38](e,t[139])}let a={widget:t[139],wsPushProp:t[37]};return void 0!==t[139].status&&(a.value=t[139].status),e=new Gt({props:a}),E.push((()=>tt(e,"value",s))),{c(){et(e.$$.fragment)},m(t,n){nt(e,t,n),i=!0},p(i,s){t=i;const a={};1024&s[0]&&(a.widget=t[139]),!n&&1024&s[0]&&(n=!0,a.value=t[139].status,Y((()=>n=!1))),e.$set(a)},i(t){i||(Z(e.$$.fragment,t),i=!0)},o(t){Q(e.$$.fragment,t),i=!1},d(t){it(e,t)}}}function me(t){let e,n,i;function s(e){t[39](e,t[139])}let a={widget:t[139]};return void 0!==t[139].status&&(a.value=t[139].status),e=new Zt({props:a}),E.push((()=>tt(e,"value",s))),{c(){et(e.$$.fragment)},m(t,n){nt(e,t,n),i=!0},p(i,s){t=i;const a={};1024&s[0]&&(a.widget=t[139]),!n&&1024&s[0]&&(n=!0,a.value=t[139].status,Y((()=>n=!1))),e.$set(a)},i(t){i||(Z(e.$$.fragment,t),i=!0)},o(t){Q(e.$$.fragment,t),i=!1},d(t){it(e,t)}}}function ve(t){let e,n,i=t[139].page===t[137].page&&pe(t);return{c(){i&&i.c(),e=x()},m(t,s){i&&i.m(t,s),p(t,e,s),n=!0},p(t,n){t[139].page===t[137].page?i?(i.p(t,n),1056&n[0]&&Z(i,1)):(i=pe(t),i.c(),Z(i,1),i.m(e.parentNode,e)):i&&(X(),Q(i,1,1,(()=>{i=null})),K())},i(t){n||(Z(i),n=!0)},o(t){Q(i),n=!1},d(t){i&&i.d(t),t&&f(e)}}}function ye(t){let e,n,i=t[10],s=[];for(let e=0;eQ(s[t],1,1,(()=>{s[t]=null}));return{c(){for(let t=0;tQ(r[t],1,1,(()=>{r[t]=null}));return{c(){e=m("div"),s&&s.c(),n=b();for(let t=0;t{s=null})),K()),2098208&i[0]){let n;for(a=t[5],n=0;n| Тип | \n Id | \n Виджет | \n Вкладка | \n Название | \n | \n | ',u=b(),d=m("tbody");for(let t=0;t<_.length;t+=1)_[t].c();v=b(),y=m("button"),y.textContent="Сохранить",$(n,"class","slct-lg"),void 0===t[9]&&I((()=>t[40].call(n))),r.__value="Выберите пресет",r.value=r.__value,$(a,"class","slct-lg"),$(e,"class","grd-2colsfx"),$(c,"class","bg-gray-100"),$(d,"class","bg-white"),$(l,"class","table-fixed w-full select-none my-2 "),$(y,"class","btn-lg")},m(i,f){p(i,e,f),h(e,n);for(let t=0;tНазвание устройства
',s=b(),a=m("div"),r=m("input"),o=b(),l=m("div"),c=m("div"),c.innerHTML='Точка доступа
',u=b(),d=m("div"),v=m("input"),y=b(),x=m("div"),k=m("div"),k.innerHTML='Пароль точки доступа
',O=b(),T=m("div"),_=m("input"),M=b(),S=m("div"),L=m("div"),L.innerHTML='Название wifi сети
',N=b(),C=m("div"),D=m("select");for(let t=0;tПароль',H=b(),F=m("div"),W=m("input"),R=b(),Y=m("button"),Y.textContent="Сохранить",$(n,"class","wgt-dscr-w"),$(r,"class","wgt-ipt text-left focus:border-indigo-500"),$(r,"type","text"),$(a,"class","wgt-w"),$(e,"class","crd-itm-psn"),$(c,"class","wgt-dscr-w"),$(v,"class","wgt-ipt text-left focus:border-indigo-500"),$(v,"type","text"),$(d,"class","wgt-w"),$(l,"class","crd-itm-psn"),$(k,"class","wgt-dscr-w"),$(_,"class","wgt-ipt text-left focus:border-indigo-500"),$(_,"type","text"),$(T,"class","wgt-w"),$(x,"class","crd-itm-psn"),$(L,"class","wgt-dscr-w"),$(D,"class","wgt-ipt text-left focus:border-indigo-500"),void 0===t[11].routerssid&&I((()=>t[53].call(D))),$(C,"class","wgt-w"),$(S,"class","crd-itm-psn"),$(j,"class","wgt-dscr-w"),$(W,"class","wgt-ipt text-left focus:border-indigo-500"),$(W,"type","text"),$(F,"class","wgt-w"),$(z,"class","crd-itm-psn"),$(Y,"class","btn-lg")},m(i,f){p(i,e,f),h(e,n),h(e,s),h(e,a),h(a,r),A(r,t[11].name),p(i,o,f),p(i,l,f),h(l,c),h(l,u),h(l,d),h(d,v),A(v,t[11].apssid),p(i,y,f),p(i,x,f),h(x,k),h(x,O),h(x,T),h(T,_),A(_,t[11].appass),p(i,M,f),p(i,S,f),h(S,L),h(S,N),h(S,C),h(C,D);for(let t=0;tНазвание сервера',s=b(),a=m("div"),r=m("input"),o=b(),l=m("div"),c=m("div"),c.innerHTML='Порт
',u=b(),d=m("div"),g=m("input"),v=b(),y=m("div"),x=m("div"),x.innerHTML='Префикс
',k=b(),O=m("div"),P=m("input"),T=b(),_=m("div"),M=m("div"),M.innerHTML='Имя пользователя
',S=b(),L=m("div"),N=m("input"),C=b(),D=m("div"),E=m("div"),E.innerHTML='Пароль
',z=b(),j=m("div"),H=m("input"),F=b(),W=m("button"),W.textContent="Сохранить",$(n,"class","wgt-dscr-w"),$(r,"class","wgt-ipt text-left focus:border-indigo-500"),$(r,"type","text"),$(a,"class","wgt-w"),$(e,"class","crd-itm-psn"),$(c,"class","wgt-dscr-w"),$(g,"class","wgt-ipt text-left focus:border-indigo-500"),$(g,"type","text"),$(d,"class","wgt-w"),$(l,"class","crd-itm-psn"),$(x,"class","wgt-dscr-w"),$(P,"class","wgt-ipt text-left focus:border-indigo-500"),$(P,"type","text"),$(O,"class","wgt-w"),$(y,"class","crd-itm-psn"),$(M,"class","wgt-dscr-w"),$(N,"class","wgt-ipt text-left focus:border-indigo-500"),$(N,"type","text"),$(L,"class","wgt-w"),$(_,"class","crd-itm-psn"),$(E,"class","wgt-dscr-w"),$(H,"class","wgt-ipt text-left focus:border-indigo-500"),$(H,"type","text"),$(j,"class","wgt-w"),$(D,"class","crd-itm-psn"),$(W,"class","btn-lg")},m(i,f){p(i,e,f),h(e,n),h(e,s),h(e,a),h(a,r),A(r,t[11].mqttServer),p(i,o,f),p(i,l,f),h(l,c),h(l,u),h(l,d),h(d,g),A(g,t[11].mqttPort),p(i,v,f),p(i,y,f),h(y,x),h(y,k),h(y,O),h(O,P),A(P,t[11].mqttPrefix),p(i,T,f),p(i,_,f),h(_,M),h(_,S),h(_,L),h(L,N),A(N,t[11].mqttUser),p(i,C,f),p(i,D,f),h(D,E),h(D,z),h(D,j),h(j,H),A(H,t[11].mqttPass),p(i,F,f),p(i,W,f),R||(I=[w(r,"input",t[57]),w(g,"input",t[58]),w(P,"input",t[59]),w(N,"input",t[60]),w(H,"input",t[61]),w(W,"click",t[62])],R=!0)},p(t,e){6144&e[0]&&r.value!==t[11].mqttServer&&A(r,t[11].mqttServer),6144&e[0]&&g.value!==t[11].mqttPort&&A(g,t[11].mqttPort),6144&e[0]&&P.value!==t[11].mqttPrefix&&A(P,t[11].mqttPrefix),6144&e[0]&&N.value!==t[11].mqttUser&&A(N,t[11].mqttUser),6144&e[0]&&H.value!==t[11].mqttPass&&A(H,t[11].mqttPass)},d(t){t&&f(e),t&&f(o),t&&f(l),t&&f(v),t&&f(y),t&&f(T),t&&f(_),t&&f(C),t&&f(D),t&&f(F),t&&f(W),R=!1,i(I)}}}function De(t){let e,n,i,s,a;return n=new Et({props:{title:"Подключение к WiFi роутеру",$$slots:{default:[Ne]},$$scope:{ctx:t}}}),s=new Et({props:{title:"Подключение к MQTT брокеру",$$slots:{default:[Ce]},$$scope:{ctx:t}}}),{c(){e=m("div"),et(n.$$.fragment),i=b(),et(s.$$.fragment),$(e,"class","grd-2cols")},m(t,r){p(t,e,r),nt(n,e,null),h(e,i),nt(s,e,null),a=!0},p(t,e){const i={};6144&e[0]|524288&e[4]&&(i.$$scope={dirty:e,ctx:t}),n.$set(i);const a={};2048&e[0]|524288&e[4]&&(a.$$scope={dirty:e,ctx:t}),s.$set(a)},i(t){a||(Z(n.$$.fragment,t),Z(s.$$.fragment,t),a=!0)},o(t){Q(n.$$.fragment,t),Q(s.$$.fragment,t),a=!1},d(t){t&&f(e),it(n),it(s)}}}function Ee(e){let n,i;return n=new Lt({props:{data:e[18],type:"line"}}),{c(){et(n.$$.fragment)},m(t,e){nt(n,t,e),i=!0},p:t,i(t){i||(Z(n.$$.fragment,t),i=!0)},o(t){Q(n.$$.fragment,t),i=!1},d(t){it(n,t)}}}function ze(t){let e,n;return e=new Et({props:{title:"Пример графика",$$slots:{default:[Ee]},$$scope:{ctx:t}}}),{c(){et(e.$$.fragment)},m(t,i){nt(e,t,i),n=!0},p(t,n){const i={};524288&n[4]&&(i.$$scope={dirty:n,ctx:t}),e.$set(i)},i(t){n||(Z(e.$$.fragment,t),n=!0)},o(t){Q(e.$$.fragment,t),n=!1},d(t){it(e,t)}}}function je(t){let e,n,i,s=t[118].msg+"";return{c(){e=m("div"),n=y(s),$(e,"class",i=t[118].msg.toString().includes("[E]")?"text-red-500":"text-black")},m(t,i){p(t,e,i),h(e,n)},p(t,a){131072&a[0]&&s!==(s=t[118].msg+"")&&O(n,s),131072&a[0]&&i!==(i=t[118].msg.toString().includes("[E]")?"text-red-500":"text-black")&&$(e,"class",i)},d(t){t&&f(e)}}}function He(t){let e,n=t[17],i=[];for(let e=0;eНазвание устройства | \n IP адрес | \n Идентификатор | \n Состояние | ',i=b(),s=m("tbody");for(let t=0;t",S=b(),L=m("ul"),N=m("li"),C=m("a"),C.textContent="Управление",D=b(),E=m("li"),z=m("a"),z.textContent="Конфигуратор",j=b(),H=m("li"),F=m("a"),F.textContent="Подключение",W=b(),R=m("li"),Y=m("a"),Y.textContent="Утилиты",q=b(),B=m("li"),J=m("a"),J.textContent="Лог",V=b(),U=m("li"),G=m("a"),G.textContent="Устройства",tt=b(),st=m("li"),at=m("a"),at.textContent="О проекте",rt=b(),ot=m("main"),lt=m("ul"),ct=m("div"),dt.c(),pt=b(),ft=m("footer"),ft.innerHTML='Developed by Dmitry Borisenko
',void 0===t[14]&&I((()=>t[31].call(l))),$(o,"class","px-15 py-2 z-50"),$(y,"stroke","none"),$(y,"d","M0 0h24v24H0z"),$(x,"d","M7 18a4.6 4.4 0 0 1 0 -9h0a5 4.5 0 0 1 11 2h1a3.5 3.5 0 0 1 0 7h-12"),$(d,"class",k="h-8 w-8 "+(!0===t[13]?"text-green-500":"text-red-500")),$(d,"width","24"),$(d,"height","24"),$(d,"viewBox","0 0 24 24"),$(d,"stroke-width","2"),$(d,"stroke","currentColor"),$(d,"fill","none"),$(d,"stroke-linecap","round"),$(d,"stroke-linejoin","round"),$(u,"class","px-5 py-1"),$(r,"class","flex justify-end content-center"),$(a,"class","h-10 w-full bg-gray-100 overflow-auto shadow-md"),$(T,"id","menu__toggle"),$(T,"type","checkbox"),$(M,"class","menu__btn"),$(M,"for","menu__toggle"),$(C,"class","menu__item"),$(C,"href","/"),$(z,"class","menu__item"),$(z,"href","/config"),$(F,"class","menu__item"),$(F,"href","/connection"),$(Y,"class","menu__item"),$(Y,"href","/utilities"),$(J,"class","menu__item"),$(J,"href","/log"),$(G,"class","menu__item"),$(G,"href","/list"),$(at,"class","menu__item"),$(at,"href","/about"),$(L,"class","menu__box"),$(A,"class","flex"),$(ct,"class","bg-cover pt-0 px-4"),$(lt,"class","menu__main"),$(ot,"class",ht="flex-1 overflow-y-auto p-0 "+(!0!==t[0]||t[1]?"ml-0":"ml-36")),$(ft,"class","h-4 bg-gray-100 border-gray-200 shadow-lg"),$(e,"class","flex flex-col h-screen bg-gray-50")},m(i,f){p(i,e,f),nt(n,e,null),h(e,s),h(e,a),h(a,r),h(r,o),h(o,l);for(let t=0;t{wt[s]=null})),K(),dt=wt[ut],dt?dt.p(t,e):(dt=wt[ut]=xt[ut](t),dt.c()),Z(dt,1),dt.m(ct,null)),(!gt||3&e[0]&&ht!==(ht="flex-1 overflow-y-auto p-0 "+(!0!==t[0]||t[1]?"ml-0":"ml-36")))&&$(ot,"class",ht)},i(t){gt||(Z(n.$$.fragment,t),Z(dt),gt=!0)},o(t){Q(n.$$.fragment,t),Q(dt),gt=!1},d(t){t&&f(e),it(n),g(bt,t),wt[ut].d(),mt=!1,i(vt)}}}function Ve(t,e,n){let i;r(t,bt,(t=>n(86,i=t))),bt.mode.hash();let s,a,o=!1,l=!1,c=document.location.hostname,u=!1,d=!1,h=!0,p=[],f=[],g=!1,m=[],v=!1,y=[],b=!1,x=0,w=[],$=!1,k={},O=!1,A={},P=[],_=!1,M=[],S=!0,N={};M=[{name:"Устройство 1",id:"987654321",ip:c,status:!1}];var C=function(){this.parts=[]};let D;C.prototype.append=function(t){this.parts.push(t),this.blob=void 0},C.prototype.getBlob=function(){return this.blob||(this.blob=new Blob(this.parts,{type:"binary"})),this.blob},C.prototype.clear=function(){this.parts=[]};var E=new C,z=new C,j=new C,H=new C,F=new C;function W(){void 0!==a&&K(a,D)}function R(){let t=0;M.forEach((e=>{e.ws=t,e.status||(Y(t),B(t)),t++})),n(15,M),n(13,_=s.status)}function I(t,e){M.forEach((n=>{n.ws===t&&(n.status=e,n.status?console.log("[i]",n.ip,"status online"):console.log("[i]",n.ip,"status offline"))})),n(15,M),n(13,_=s.status)}function Y(t){let e=q(t);"error"===e?console.log("[e]","device list wrong"):(P[t]=new WebSocket("ws://"+e+":81"),P.binaryType="blob",console.log("[i]",e,"started connecting..."))}function q(t){let e="error";return M.forEach((n=>{t===n.ws&&(e=n.ip)})),e}function B(t){if(P[t]){let e=q(t);console.log("[i]",e,"web socket events added"),P[t].addEventListener("open",(function(n){console.log("[i]",e,"completed connecting"),I(t,!0),W()})),P[t].addEventListener("message",(function(t){if("string"==typeof t.data){let i=t.data;if(i.includes("status")&&nt(i)){let t=JSON.parse(i);!function(t){for(let e=0;e{let e=t.result;nt(e)&&(n(6,f=JSON.parse(e)),n(6,f),console.log("[i]","configJson parced!"))}}if("/st/widgets.json"===i&&(v=!0),"/end/widgets.json"===i){v=!1;e=z.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;nt(e)&&(n(7,m=JSON.parse(e)),n(7,m),console.log("[i]","widgetsJson parced!"))}}if("/st/items.json"===i&&(b=!0),"/end/items.json"===i){b=!1;e=j.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;nt(e)&&(n(8,y=JSON.parse(e)),n(8,y),console.log("[i]","itemsJson parced!"))}}if("/st/layout.json"===i&&($=!0),"/end/layout.json"===i){$=!1;e=H.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;nt(e)&&(n(10,w=JSON.parse(e)),n(10,w),Q(),console.log("[i]","layoutJson parced!"))}}if("/st/settings.json"===i&&(O=!0),"/end/settings.json"===i){O=!1;e=F.getBlob();let t=new FileReader;t.readAsText(e),t.onload=()=>{let e=t.result;nt(e)&&(n(11,k=JSON.parse(e)),n(11,k),Q(),console.log("[i]","settingsJson parced!"))}}}t.data instanceof Blob&&(g&&E.append(t.data),v&&z.append(t.data),b&&j.append(t.data),$&&H.append(t.data),O&&F.append(t.data))})),P[t].addEventListener("close",(n=>{console.log("[e]",e,"connection closed"),I(t,!1)})),P[t].addEventListener("error",(function(n){console.log("[e]",e,"connection error"),I(t,!1)}))}else console.log("[e]","socket not exist")}function J(){K(a,"/tuoyal"+JSON.stringify(function(){let t=[];for(let e=0;e{!function(t){let e=!1;return M.forEach((n=>{t===n.ws&&(e=n.status)})),e}(t.ws)?(Y(t.ws),B(t.ws)):K(t.ws,"tst")})),S=!1}function K(t,e){P[t]&&1===P[t].readyState?(P[t].send(e),console.log("[i]",q(t),"msg send success",e)):console.log("[e]",q(t),"msg not send",e)}function Z(){n(5,p=[]);Array.from(new Set(Array.from(w,(({page:t})=>t)))).forEach((function(t,e,i){n(5,p=[...p,JSON.parse(JSON.stringify({page:t}))])})),p.sort((function(t,e){return t.pagee.page?1:0}))}function Q(){Z()}function tt(){n(13,_=s.status),a=s.ws,U(),W(),console.log("[i]","user selected device:",s.name),s.ip===c&&console.log("[i]","user selected original device",s.name)}function et(){u||(void 0!==N.name&&void 0!==N.ip&&void 0!==N.id?(n(16,N.status=!1,N),M.push(N),n(15,M),n(16,N={}),R(),console.log("[i]","selected device:",s)):console.log("[e]","wrong data"))}bt.subscribe((function(){U(),D=i.path.toString(),console.log("[i]","user on page:",D),W()}));function nt(t){try{JSON.parse(t)}catch(t){return console.log("[e]","json error"),!1}return!0}function it(){n(3,d=!d)}function st(){let t=screen.width;console.log("width",t),n(1,l=t<900)}function at(){for(let t=0;t{console.log("[i]","mounted"),R(),X(),n(13,_=s.status),tt(),Z()}));return[o,l,u,d,h,p,f,m,y,x,w,k,A,_,s,M,N,[],{labels:["Sun","Mon","Tues","Wed","Thurs","Fri","Sat"],datasets:[{values:[10,12,3,9,8,15,9]}]},J,V,G,Q,tt,et,t=>{try{t=JSON.stringify(JSON.parse(t),null,4)}catch(e){return t}return t=(t=t.replace(/&/g,"&").replace(//g,">")).replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)/g,(function(t){return t}))},it,st,at,rt,ot,function(){s=T(this),n(14,s),n(15,M)},()=>tt(),function(){o=this.checked,n(0,o)},()=>st(),(t,e,n)=>G(t,e,n),function(e,i){t.$$.not_equal(i.status,e)&&(i.status=e,n(10,w))},(t,e,n)=>G(t,e,n),function(e,i){t.$$.not_equal(i.status,e)&&(i.status=e,n(10,w))},function(e,i){t.$$.not_equal(i.status,e)&&(i.status=e,n(10,w))},function(){x=T(this),n(9,x),n(8,y)},()=>at(),function(t,e){t[e].id=this.value,n(6,f),n(7,m)},function(t,e){t[e].widget=T(this),n(6,f),n(7,m)},function(t,e){t[e].page=this.value,n(6,f),n(7,m)},function(t,e){t[e].descr=this.value,n(6,f),n(7,m)},()=>n(4,h=!h),t=>rt(t),function(t,e,i){e[i][t]=this.value,n(6,f),n(7,m)},()=>J(),function(){k.name=this.value,n(11,k),n(12,A)},function(){k.apssid=this.value,n(11,k),n(12,A)},function(){k.appass=this.value,n(11,k),n(12,A)},function(){k.routerssid=T(this),n(11,k),n(12,A)},()=>ot(),function(){k.routerpass=this.value,n(11,k),n(12,A)},()=>V(),function(){k.mqttServer=this.value,n(11,k),n(12,A)},function(){k.mqttPort=this.value,n(11,k),n(12,A)},function(){k.mqttPrefix=this.value,n(11,k),n(12,A)},function(){k.mqttUser=this.value,n(11,k),n(12,A)},function(){k.mqttPass=this.value,n(11,k),n(12,A)},()=>V(),function(){N.name=this.value,n(16,N)},function(){N.ip=this.value,n(16,N)},function(){N.id=this.value,n(16,N)},()=>(n(2,u=!u),et()),()=>it()]}return new class extends at{constructor(t){super(),st(this,t,Ve,Je,a,{},null,[-1,-1,-1,-1,-1])}}({target:document.body,props:{name:"world"}})}();
//# sourceMappingURL=bundle.js.map
diff --git a/data_svelte/settings.json b/data_svelte/settings.json
index 65c632a3..b6a318bb 100644
--- a/data_svelte/settings.json
+++ b/data_svelte/settings.json
@@ -2,8 +2,8 @@
"name": "IoTmanager",
"apssid": "IoTmanager",
"appass": "",
- "routerssid": "rise",
- "routerpass": "hostel3333",
+ "routerssid": "WLAN1-Y1GYEF",
+ "routerpass": "2egY69YTA8DDR7En",
"timezone": 1,
"ntp": "pool.ntp.org",
"weblogin": "admin",
diff --git a/include/Global.h b/include/Global.h
index b7534005..f7f3956b 100644
--- a/include/Global.h
+++ b/include/Global.h
@@ -86,6 +86,9 @@ extern String paramsHeapJson;
extern String orderBuf;
extern String eventBuf;
+// wifi
+extern String ssidListJson;
+
// Mqtt
extern String mqttServer;
extern int mqttPort;
diff --git a/include/WsServer.h b/include/WsServer.h
index 6a395402..75b91103 100644
--- a/include/WsServer.h
+++ b/include/WsServer.h
@@ -1,5 +1,6 @@
#pragma once
#include "Global.h"
+#include "Utils/WiFiUtils.h"
#ifdef STANDARD_WEB_SOCKETS
extern void standWebSocketsInit();
@@ -9,8 +10,10 @@ extern void hexdump(const void* mem, uint32_t len, uint8_t cols);
#endif
#endif
-void sendFileToWs5(const char* filename, uint8_t num, size_t frameSize);
+void sendFileToWs(const char* filename, uint8_t num, size_t frameSize);
void publishStatusWs(const String& topic, const String& data);
+void sendStringToWs(const String& msg, uint8_t num, String name);
+
// void sendMark(const char* filename, const char* mark, uint8_t num);
// void sendFileToWs3(const String& filename, uint8_t num);
// void sendFileToWs4(const String& filename, uint8_t num);
\ No newline at end of file
diff --git a/src/EspFileSystem.cpp b/src/EspFileSystem.cpp
index 67349961..f7664d36 100644
--- a/src/EspFileSystem.cpp
+++ b/src/EspFileSystem.cpp
@@ -17,6 +17,7 @@ void globalVarsSync() {
mqttRootDevice = mqttPrefix + "/" + chipId;
jsonWriteStr_(settingsFlashJson, "root", mqttRootDevice);
saveSettingsFlashJson();
+ jsonWriteStr_(ssidListJson, "ssid", "");
}
void saveSettingsFlashJson() {
diff --git a/src/Global.cpp b/src/Global.cpp
index 26c346ea..aa11ad82 100644
--- a/src/Global.cpp
+++ b/src/Global.cpp
@@ -38,6 +38,9 @@ String paramsHeapJson = "{}"; //переменная в которой хр
String orderBuf = "";
String eventBuf = "";
+// wifi
+String ssidListJson = "{}";
+
// Mqtt
String mqttServer = "";
int mqttPort = 0;
diff --git a/src/Main.cpp b/src/Main.cpp
index 7c6cc247..71385a04 100644
--- a/src/Main.cpp
+++ b/src/Main.cpp
@@ -21,6 +21,9 @@ void setup() {
//подключаемся к роутеру
routerConnect();
+ //запустим один раз асинхронное сканирование сетей wifi для веба
+ RouterFind(jsonReadStr(settingsFlashJson, F("routerssid")));
+
//инициализация асинхронного веб сервера и веб сокетов
#ifdef ASYNC_WEB_SERVER
asyncWebServerInit();
diff --git a/src/WsServer.cpp b/src/WsServer.cpp
index 8bd71819..103790ea 100644
--- a/src/WsServer.cpp
+++ b/src/WsServer.cpp
@@ -31,27 +31,36 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
}
// dashboard===================================================================
if (headerStr == "/") {
- sendFileToWs5("/layout.json", num, 1024);
+ sendFileToWs("/layout.json", num, 1024);
}
if (headerStr == "/tuoyal") {
writeFileUint8tByFrames("layout.json", payload, length, headerLenth, 256);
}
// configutation===============================================================
if (headerStr == "/config") {
- sendFileToWs5("/items.json", num, 1024);
- sendFileToWs5("/widgets.json", num, 1024);
- sendFileToWs5("/config.json", num, 1024);
- sendFileToWs5("/settings.json", num, 1024);
+ sendFileToWs("/items.json", num, 1024);
+ sendFileToWs("/widgets.json", num, 1024);
+ sendFileToWs("/config.json", num, 1024);
+ sendFileToWs("/settings.json", num, 1024);
}
if (headerStr == "/gifnoc") {
writeFileUint8tByFrames("config.json", payload, length, headerLenth, 256);
}
// connection===================================================================
if (headerStr == "/connec") {
- sendFileToWs5("/settings.json", num, 1024);
+ sendFileToWs("/settings.json", num, 1024);
+ if (RouterFind(jsonReadStr(settingsFlashJson, F("routerssid")))) {
+ standWebSocket.sendTXT(num, ssidListJson);
+ }
+ }
+ if (headerStr == "/scan") {
+ if (RouterFind(jsonReadStr(settingsFlashJson, F("routerssid")))) {
+ standWebSocket.sendTXT(num, ssidListJson);
+ }
}
if (headerStr == "/cennoc") {
writeFileUint8tByFrames("settings.json", payload, length, headerLenth, 256);
+ settingsFlashJson = readFile(F("settings.json"), 4096);
}
} break;
@@ -109,7 +118,7 @@ void hexdump(const void* mem, uint32_t len, uint8_t cols = 16) {
#endif
//посылка данных из файла в бинарном виде
-void sendFileToWs5(const char* filename, uint8_t num, size_t frameSize) {
+void sendFileToWs(const char* filename, uint8_t num, size_t frameSize) {
standWebSocket.sendTXT(num, "/st" + String(filename));
String path = filepath(filename);
auto file = FileFS.open(path, "r");
@@ -129,14 +138,25 @@ void sendFileToWs5(const char* filename, uint8_t num, size_t frameSize) {
standWebSocket.sendTXT(num, "/end" + String(filename));
}
+//публикация статус сообщений
void publishStatusWs(const String& topic, const String& data) {
- String path = mqttRootDevice + "/" + topic; //+ "/status";
+ String path = mqttRootDevice + "/" + topic; //+ "/status";
String json = "{}";
jsonWriteStr(json, "status", data);
jsonWriteStr(json, "topic", path);
standWebSocket.broadcastTXT(json);
}
+//посылка данных из string
+void sendStringToWs(const String& msg, uint8_t num, String name) {
+ standWebSocket.sendTXT(num, "/st" + String(name));
+ size_t size = msg.length();
+ char dataArray[size];
+ msg.toCharArray(dataArray, size);
+ standWebSocket.sendBIN(num, (uint8_t*)dataArray, size);
+ standWebSocket.sendTXT(num, "/end" + String(name));
+}
+
// void sendMark(const char* filename, const char* mark, uint8_t num) {
// char outChar[strlen(filename) + strlen(mark) + 1];
// strcpy(outChar, mark);
diff --git a/src/utils/WiFiUtils.cpp b/src/utils/WiFiUtils.cpp
index 69a86020..a484929b 100644
--- a/src/utils/WiFiUtils.cpp
+++ b/src/utils/WiFiUtils.cpp
@@ -103,9 +103,12 @@ boolean RouterFind(String ssid) {
if (WiFi.SSID(i) == ssid) {
res = true;
}
- SerialPrint("i", "WIFI", (res ? "*" : "") + String(i, DEC) + ") " + WiFi.SSID(i));
+ // SerialPrint("i", "WIFI", (res ? "*" : "") + String(i, DEC) + ") " + WiFi.SSID(i));
+ jsonWriteStr_(ssidListJson, String(i), WiFi.SSID(i));
+ // String(WiFi.RSSI(i)
}
}
+
WiFi.scanDelete();
return res;
}