From 3fdb1c05e5e775e4af190649238d54d26d302fa8 Mon Sep 17 00:00:00 2001 From: legop3 Date: Sat, 31 Jan 2026 15:32:08 -0500 Subject: [PATCH] ui improvements --- server/public/assets/index-B5cgjyeo.css | 1 - server/public/assets/index-C-sPd-kA.css | 1 + .../{index-BCh_wcG5.js => index-CF38D5Qo.js} | 18 +-- server/public/index.html | 4 +- webui/src/components/HornControl.jsx | 149 +++++++++++++----- webui/src/components/HornSettings.jsx | 85 ---------- webui/src/components/SettingsPanel.jsx | 2 - 7 files changed, 125 insertions(+), 135 deletions(-) delete mode 100644 server/public/assets/index-B5cgjyeo.css create mode 100644 server/public/assets/index-C-sPd-kA.css rename server/public/assets/{index-BCh_wcG5.js => index-CF38D5Qo.js} (67%) delete mode 100644 webui/src/components/HornSettings.jsx diff --git a/server/public/assets/index-B5cgjyeo.css b/server/public/assets/index-B5cgjyeo.css deleted file mode 100644 index 2697c902..00000000 --- a/server/public/assets/index-B5cgjyeo.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--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;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--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;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-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}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.panel{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));padding:0;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.panel-section{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity));padding:0;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.panel-muted{border-radius:.375rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.surface{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.surface-muted{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity))}.field-input{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.field-input:focus{outline:2px solid transparent;outline-offset:2px;--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(1px + 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);--tw-ring-opacity: 1;--tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity))}.button-dark{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity));padding:.125rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-dark:hover{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.button-danger{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(225 29 72 / var(--tw-bg-opacity));padding:.125rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-danger:hover{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity))}.rainbow-animate-bg{background:linear-gradient(270deg,red,#ff7f00,#ffff00b3,#0f0,#00f,indigo,#8b00ff);background-size:1400% 1400%;animation:rainbowBG 300s ease infinite}@keyframes rainbowBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.kofi-animate-bg{background:linear-gradient(270deg,#ff5f5f,#ff9f43,#ffd166,#ff5f5f);background-size:800% 800%;animation:rainbowBG 240s ease infinite}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.bottom-0\.5{bottom:.125rem}.bottom-1{bottom:.25rem}.left-0{left:0}.left-0\.5{left:.125rem}.left-1{left:.25rem}.left-1\/2{left:50%}.right-0{right:0}.right-0\.5{right:.125rem}.right-1{right:.25rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-6{top:1.5rem}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.col-span-full{grid-column:1 / -1}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.-mt-0\.5{margin-top:-.125rem}.mr-0{margin-right:0}.mt-0{margin-top:0}.mt-auto{margin-top:auto}.\!block{display:block!important}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1 / 1}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-28{height:7rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-64{height:16rem}.h-\[14rem\]{height:14rem}.h-\[220px\]{height:220px}.h-\[260px\]{height:260px}.h-\[3\.5rem\]{height:3.5rem}.h-\[70\%\]{height:70%}.h-\[7rem\]{height:7rem}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-80{max-height:20rem}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-\[14rem\]{min-height:14rem}.min-h-\[16rem\]{min-height:16rem}.min-h-\[3\.5rem\]{min-height:3.5rem}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-28{width:7rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-\[12rem\]{width:12rem}.w-\[20rem\]{width:20rem}.w-\[9rem\]{width:9rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-\[0\]{min-width:0}.min-w-\[10rem\]{min-width:10rem}.min-w-\[12rem\]{min-width:12rem}.max-w-4xl{max-width:56rem}.max-w-\[70vw\]{max-width:70vw}.max-w-\[80vw\]{max-width:80vw}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-\[1\.1\]{flex:1.1}.flex-\[1\.22\]{flex:1.22}.flex-\[1_1_12rem\]{flex:1 1 12rem}.shrink-0{flex-shrink:0}.basis-full{flex-basis:100%}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[minmax\(0\,0\.7fr\)_minmax\(0\,2\.1fr\)_minmax\(0\,0\.7fr\)\]{grid-template-columns:minmax(0,.7fr) minmax(0,2.1fr) minmax(0,.7fr)}.grid-cols-\[minmax\(0\,1\.35fr\)_minmax\(0\,0\.95fr\)\]{grid-template-columns:minmax(0,1.35fr) minmax(0,.95fr)}.grid-cols-\[minmax\(0\,1\.3fr\)_minmax\(0\,0\.22fr\)\]{grid-template-columns:minmax(0,1.3fr) minmax(0,.22fr)}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,0\.7fr\)_minmax\(0\,1\.9fr\)_minmax\(0\,0\.7fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,.7fr) minmax(0,1.9fr) minmax(0,.7fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,0\.9fr\)_minmax\(0\,0\.75fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,.75fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.4fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-\[minmax\(0\,1fr\)_auto\]{grid-template-rows:minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-4{gap:1rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity))}.border-amber-200\/70{border-color:#fde68ab3}.border-amber-300\/70{border-color:#fcd34db3}.border-amber-300\/80{border-color:#fcd34dcc}.border-amber-400\/30{border-color:#fbbf244d}.border-amber-700\/60{border-color:#b4530999}.border-cyan-500\/40{border-color:#06b6d466}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity))}.border-emerald-200\/70{border-color:#a7f3d0b3}.border-emerald-300\/70{border-color:#6ee7b7b3}.border-emerald-700{--tw-border-opacity: 1;border-color:rgb(4 120 87 / var(--tw-border-opacity))}.border-emerald-700\/60{border-color:#04785799}.border-indigo-200\/70{border-color:#c7d2feb3}.border-indigo-300\/70{border-color:#a5b4fcb3}.border-indigo-400\/30{border-color:#818cf84d}.border-indigo-700{--tw-border-opacity: 1;border-color:rgb(67 56 202 / var(--tw-border-opacity))}.border-indigo-700\/60{border-color:#4338ca99}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity))}.border-rose-300\/70{border-color:#fda4afb3}.border-rose-800{--tw-border-opacity: 1;border-color:rgb(159 18 57 / var(--tw-border-opacity))}.border-slate-200\/30{border-color:#e2e8f04d}.border-slate-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}.border-slate-600\/40{border-color:#47556966}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}.border-slate-700\/60{border-color:#33415599}.border-slate-700\/80{border-color:#334155cc}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.border-slate-800\/60{border-color:#1e293b99}.border-white\/40{border-color:#fff6}.border-white\/60{border-color:#fff9}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity))}.bg-amber-400\/40{background-color:#fbbf2466}.bg-amber-400\/80{background-color:#fbbf24cc}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity))}.bg-amber-500\/30{background-color:#f59e0b4d}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity))}.bg-amber-600\/70{background-color:#d97706b3}.bg-amber-700{--tw-bg-opacity: 1;background-color:rgb(180 83 9 / var(--tw-bg-opacity))}.bg-amber-900{--tw-bg-opacity: 1;background-color:rgb(120 53 15 / var(--tw-bg-opacity))}.bg-amber-900\/60{background-color:#78350f99}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/55{background-color:#0000008c}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-black\/75{background-color:#000000bf}.bg-black\/80{background-color:#000c}.bg-black\/85{background-color:#000000d9}.bg-cyan-300\/80{background-color:#67e8f9cc}.bg-cyan-400\/10{background-color:#22d3ee1a}.bg-cyan-500{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity))}.bg-cyan-500\/80{background-color:#06b6d4cc}.bg-cyan-600{--tw-bg-opacity: 1;background-color:rgb(8 145 178 / var(--tw-bg-opacity))}.bg-cyan-800{--tw-bg-opacity: 1;background-color:rgb(21 94 117 / var(--tw-bg-opacity))}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity))}.bg-emerald-400\/40{background-color:#34d39966}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}.bg-emerald-500\/80{background-color:#10b981cc}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity))}.bg-emerald-600\/70{background-color:#059669b3}.bg-emerald-700{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity))}.bg-emerald-700\/60{background-color:#04785799}.bg-emerald-800{--tw-bg-opacity: 1;background-color:rgb(6 95 70 / var(--tw-bg-opacity))}.bg-emerald-900{--tw-bg-opacity: 1;background-color:rgb(6 78 59 / var(--tw-bg-opacity))}.bg-emerald-900\/60{background-color:#064e3b99}.bg-emerald-900\/80{background-color:#064e3bcc}.bg-fuchsia-600{--tw-bg-opacity: 1;background-color:rgb(192 38 211 / var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}.bg-indigo-600\/70{background-color:#4f46e5b3}.bg-indigo-700{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity))}.bg-indigo-900{--tw-bg-opacity: 1;background-color:rgb(49 46 129 / var(--tw-bg-opacity))}.bg-indigo-900\/20{background-color:#312e8133}.bg-indigo-900\/60{background-color:#312e8199}.bg-indigo-950\/90{background-color:#1e1b4be6}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-red-500\/40{background-color:#ef444466}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.bg-red-600\/70{background-color:#dc2626b3}.bg-red-700\/60{background-color:#b91c1c99}.bg-red-900\/40{background-color:#7f1d1d66}.bg-red-900\/50{background-color:#7f1d1d80}.bg-rose-400{--tw-bg-opacity: 1;background-color:rgb(251 113 133 / var(--tw-bg-opacity))}.bg-rose-800{--tw-bg-opacity: 1;background-color:rgb(159 18 57 / var(--tw-bg-opacity))}.bg-rose-900\/80{background-color:#881337cc}.bg-sky-600{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity))}.bg-slate-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}.bg-slate-600{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.bg-slate-700\/60{background-color:#33415599}.bg-slate-700\/70{background-color:#334155b3}.bg-slate-700\/80{background-color:#334155cc}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-slate-800\/80{background-color:#1e293bcc}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.bg-slate-900\/40{background-color:#0f172a66}.bg-slate-950\/90{background-color:#020617e6}.bg-transparent{background-color:transparent}.bg-white\/10{background-color:#ffffff1a}.bg-zinc-900{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity))}.bg-zinc-950{--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity))}.bg-zinc-950\/95{background-color:#09090bf2}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-purple-500{--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #a855f7 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.fill-slate-200{fill:#e2e8f0}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-\[2px\]{padding-top:2px;padding-bottom:2px}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pr-0{padding-right:0}.pt-1{padding-top:.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[0\.45rem\]{font-size:.45rem}.text-\[0\.55em\]{font-size:.55em}.text-\[0\.55rem\]{font-size:.55rem}.text-\[0\.5rem\]{font-size:.5rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-amber-100{--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity))}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity))}.text-amber-200\/80{color:#fde68acc}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity))}.text-amber-50{--tw-text-opacity: 1;color:rgb(255 251 235 / var(--tw-text-opacity))}.text-amber-50\/90{color:#fffbebe6}.text-amber-950{--tw-text-opacity: 1;color:rgb(69 26 3 / var(--tw-text-opacity))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-black\/80{color:#000c}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}.text-emerald-100{--tw-text-opacity: 1;color:rgb(209 250 229 / var(--tw-text-opacity))}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity))}.text-emerald-50{--tw-text-opacity: 1;color:rgb(236 253 245 / var(--tw-text-opacity))}.text-emerald-50\/80{color:#ecfdf5cc}.text-emerald-50\/90{color:#ecfdf5e6}.text-emerald-950{--tw-text-opacity: 1;color:rgb(2 44 34 / var(--tw-text-opacity))}.text-indigo-100\/80{color:#e0e7ffcc}.text-indigo-200{--tw-text-opacity: 1;color:rgb(199 210 254 / var(--tw-text-opacity))}.text-indigo-50{--tw-text-opacity: 1;color:rgb(238 242 255 / var(--tw-text-opacity))}.text-indigo-50\/90{color:#eef2ffe6}.text-lime-200{--tw-text-opacity: 1;color:rgb(217 249 157 / var(--tw-text-opacity))}.text-lime-300{--tw-text-opacity: 1;color:rgb(190 242 100 / var(--tw-text-opacity))}.text-lime-400{--tw-text-opacity: 1;color:rgb(163 230 53 / var(--tw-text-opacity))}.text-red-100\/90{color:#fee2e2e6}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}.text-rose-50{--tw-text-opacity: 1;color:rgb(255 241 242 / var(--tw-text-opacity))}.text-rose-950{--tw-text-opacity: 1;color:rgb(76 5 25 / var(--tw-text-opacity))}.text-sky-300{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-400\/60{color:#94a3b899}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.text-teal-400{--tw-text-opacity: 1;color:rgb(45 212 191 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white\/90{color:#ffffffe6}.underline{text-decoration-line:underline}.accent-cyan-400{accent-color:#22d3ee}.accent-cyan-500{accent-color:#06b6d4}.accent-emerald-400{accent-color:#34d399}.accent-emerald-500{accent-color:#10b981}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);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 rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);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 rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);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 rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/30{--tw-shadow-color: rgb(0 0 0 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-black\/40{--tw-shadow-color: rgb(0 0 0 / .4);--tw-shadow: var(--tw-shadow-colored)}.outline{outline-style:solid}.outline-2{outline-width:2px}.outline-cyan-400\/60{outline-color:#22d3ee99}.ring-1{--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(1px + 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)}.ring-2{--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)}.ring-amber-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(252 211 77 / var(--tw-ring-opacity))}.ring-emerald-300\/70{--tw-ring-color: rgb(110 231 183 / .7)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[height\]{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.no-touch-select{-moz-user-select:none;user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}.\[clip-path\:circle\(50\%\)\]{clip-path:circle(50%)}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}body{margin:0;min-height:100vh;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}*{scrollbar-width:thin;scrollbar-color:#3b82f6 rgba(255,255,255,.08)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*::-webkit-scrollbar{width:1px;height:1px}*::-webkit-scrollbar-track{background:#ffffff14}*::-webkit-scrollbar-thumb{background-color:#3b82f6;border-radius:9999px}.ha-hue-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:.45rem;border-radius:9999px;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);cursor:pointer}.ha-hue-slider:disabled{opacity:.6;cursor:not-allowed}.ha-hue-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:.75rem;height:.75rem;border-radius:9999px;border:1px solid rgba(255,255,255,.7);background:#fff}.ha-hue-slider::-webkit-slider-runnable-track{height:.45rem;border-radius:9999px;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.ha-hue-slider::-moz-range-thumb{width:.75rem;height:.75rem;border-radius:9999px;border:1px solid rgba(255,255,255,.7);background:#fff}.ha-hue-slider::-moz-range-track{height:.45rem;border-radius:9999px;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-amber-800:hover{--tw-bg-opacity: 1;background-color:rgb(146 64 14 / var(--tw-bg-opacity))}.hover\:bg-cyan-400:hover{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity))}.hover\:bg-emerald-400:hover{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity))}.hover\:bg-emerald-500:hover{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}.hover\:bg-emerald-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity))}.hover\:bg-emerald-800:hover{--tw-bg-opacity: 1;background-color:rgb(6 95 70 / var(--tw-bg-opacity))}.hover\:bg-indigo-500:hover{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}.hover\:bg-indigo-800:hover{--tw-bg-opacity: 1;background-color:rgb(55 48 163 / var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.hover\:bg-rose-700:hover{--tw-bg-opacity: 1;background-color:rgb(190 18 60 / var(--tw-bg-opacity))}.hover\:bg-rose-800:hover{--tw-bg-opacity: 1;background-color:rgb(159 18 57 / var(--tw-bg-opacity))}.hover\:bg-sky-500:hover{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.hover\:bg-slate-600:hover{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.hover\:from-indigo-600:hover{--tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:via-purple-600:hover{--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #9333ea var(--tw-gradient-via-position), var(--tw-gradient-to)}.hover\:to-pink-600:hover{--tw-gradient-to: #db2777 var(--tw-gradient-to-position)}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-slate-500:focus-visible{outline-color:#64748b}.focus-visible\:ring-2:focus-visible{--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-visible\:ring-amber-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(252 211 77 / var(--tw-ring-opacity))}.focus-visible\:ring-emerald-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(110 231 183 / var(--tw-ring-opacity))}.focus-visible\:ring-indigo-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(165 180 252 / var(--tw-ring-opacity))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:hover\:bg-inherit:hover:disabled{background-color:inherit}@media(min-width:640px){.sm\:min-h-\[18rem\]{min-height:18rem}.sm\:basis-auto{flex-basis:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:items-center{align-items:center}}@media(min-width:768px){.md\:h-full{height:100%}.md\:h-screen{height:100vh}.md\:min-h-0{min-height:0px}.md\:min-h-\[18rem\]{min-height:18rem}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,1\.1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,1fr\)_18rem\]{grid-template-columns:minmax(0,1fr) 18rem}.md\:overflow-hidden{overflow:hidden}.md\:overflow-y-auto{overflow-y:auto}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media(min-width:1024px){.lg\:grid-cols-\[minmax\(0\,1fr\)_20rem\]{grid-template-columns:minmax(0,1fr) 20rem}} diff --git a/server/public/assets/index-C-sPd-kA.css b/server/public/assets/index-C-sPd-kA.css new file mode 100644 index 00000000..69453a6f --- /dev/null +++ b/server/public/assets/index-C-sPd-kA.css @@ -0,0 +1 @@ +*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--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;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--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;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-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}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.\!container{width:100%!important}.container{width:100%}@media(min-width:640px){.\!container{max-width:640px!important}.container{max-width:640px}}@media(min-width:768px){.\!container{max-width:768px!important}.container{max-width:768px}}@media(min-width:1024px){.\!container{max-width:1024px!important}.container{max-width:1024px}}@media(min-width:1280px){.\!container{max-width:1280px!important}.container{max-width:1280px}}@media(min-width:1536px){.\!container{max-width:1536px!important}.container{max-width:1536px}}.panel{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));padding:0;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.panel-section{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(23 23 23 / var(--tw-bg-opacity));padding:0;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.panel-muted{border-radius:.375rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.surface{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.surface-muted{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(64 64 64 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(245 245 245 / var(--tw-text-opacity))}.field-input{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(38 38 38 / var(--tw-bg-opacity));padding:.125rem;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.field-input:focus{outline:2px solid transparent;outline-offset:2px;--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(1px + 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);--tw-ring-opacity: 1;--tw-ring-color: rgb(14 165 233 / var(--tw-ring-opacity))}.button-dark{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity));padding:.125rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-dark:hover{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.button-danger{border-radius:.375rem;--tw-bg-opacity: 1;background-color:rgb(225 29 72 / var(--tw-bg-opacity));padding:.125rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity));transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.button-danger:hover{--tw-bg-opacity: 1;background-color:rgb(244 63 94 / var(--tw-bg-opacity))}.rainbow-animate-bg{background:linear-gradient(270deg,red,#ff7f00,#ffff00b3,#0f0,#00f,indigo,#8b00ff);background-size:1400% 1400%;animation:rainbowBG 300s ease infinite}@keyframes rainbowBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.kofi-animate-bg{background:linear-gradient(270deg,#ff5f5f,#ff9f43,#ffd166,#ff5f5f);background-size:800% 800%;animation:rainbowBG 240s ease infinite}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.bottom-0{bottom:0}.bottom-0\.5{bottom:.125rem}.bottom-1{bottom:.25rem}.left-0{left:0}.left-0\.5{left:.125rem}.left-1{left:.25rem}.left-1\/2{left:50%}.right-0{right:0}.right-0\.5{right:.125rem}.right-1{right:.25rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-6{top:1.5rem}.z-10{z-index:10}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.order-1{order:1}.order-2{order:2}.col-span-full{grid-column:1 / -1}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.-mt-0\.5{margin-top:-.125rem}.mr-0{margin-right:0}.mt-0{margin-top:0}.mt-auto{margin-top:auto}.\!block{display:block!important}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1 / 1}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-28{height:7rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-64{height:16rem}.h-\[14rem\]{height:14rem}.h-\[220px\]{height:220px}.h-\[260px\]{height:260px}.h-\[3\.5rem\]{height:3.5rem}.h-\[70\%\]{height:70%}.h-\[7rem\]{height:7rem}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:8rem}.max-h-40{max-height:10rem}.max-h-80{max-height:20rem}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-\[14rem\]{min-height:14rem}.min-h-\[16rem\]{min-height:16rem}.min-h-\[3\.5rem\]{min-height:3.5rem}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-12{width:3rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-28{width:7rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-\[12rem\]{width:12rem}.w-\[20rem\]{width:20rem}.w-\[9rem\]{width:9rem}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-screen{width:100vw}.min-w-0{min-width:0px}.min-w-\[0\]{min-width:0}.min-w-\[10rem\]{min-width:10rem}.min-w-\[12rem\]{min-width:12rem}.max-w-4xl{max-width:56rem}.max-w-\[70vw\]{max-width:70vw}.max-w-\[80vw\]{max-width:80vw}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-\[1\.1\]{flex:1.1}.flex-\[1\.22\]{flex:1.22}.flex-\[1_1_12rem\]{flex:1 1 12rem}.shrink-0{flex-shrink:0}.basis-full{flex-basis:100%}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[minmax\(0\,0\.7fr\)_minmax\(0\,2\.1fr\)_minmax\(0\,0\.7fr\)\]{grid-template-columns:minmax(0,.7fr) minmax(0,2.1fr) minmax(0,.7fr)}.grid-cols-\[minmax\(0\,1\.2fr\)_repeat\(4\,minmax\(0\,1fr\)\)\]{grid-template-columns:minmax(0,1.2fr) repeat(4,minmax(0,1fr))}.grid-cols-\[minmax\(0\,1\.35fr\)_minmax\(0\,0\.95fr\)\]{grid-template-columns:minmax(0,1.35fr) minmax(0,.95fr)}.grid-cols-\[minmax\(0\,1\.3fr\)_minmax\(0\,0\.22fr\)\]{grid-template-columns:minmax(0,1.3fr) minmax(0,.22fr)}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,0\.7fr\)_minmax\(0\,1\.9fr\)_minmax\(0\,0\.7fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,.7fr) minmax(0,1.9fr) minmax(0,.7fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,0\.9fr\)_minmax\(0\,0\.75fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,.75fr)}.grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1\.4fr\)\]{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr)}.grid-rows-2{grid-template-rows:repeat(2,minmax(0,1fr))}.grid-rows-\[minmax\(0\,1fr\)_auto\]{grid-template-rows:minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-4{gap:1rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.self-center{align-self:center}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity))}.border-amber-200\/70{border-color:#fde68ab3}.border-amber-300\/70{border-color:#fcd34db3}.border-amber-300\/80{border-color:#fcd34dcc}.border-amber-400\/30{border-color:#fbbf244d}.border-amber-700\/60{border-color:#b4530999}.border-cyan-300\/70{border-color:#67e8f9b3}.border-cyan-500\/40{border-color:#06b6d466}.border-emerald-200{--tw-border-opacity: 1;border-color:rgb(167 243 208 / var(--tw-border-opacity))}.border-emerald-200\/70{border-color:#a7f3d0b3}.border-emerald-300\/70{border-color:#6ee7b7b3}.border-emerald-700{--tw-border-opacity: 1;border-color:rgb(4 120 87 / var(--tw-border-opacity))}.border-emerald-700\/60{border-color:#04785799}.border-fuchsia-300\/70{border-color:#f0abfcb3}.border-indigo-200\/70{border-color:#c7d2feb3}.border-indigo-300\/70{border-color:#a5b4fcb3}.border-indigo-400\/30{border-color:#818cf84d}.border-indigo-700{--tw-border-opacity: 1;border-color:rgb(67 56 202 / var(--tw-border-opacity))}.border-indigo-700\/60{border-color:#4338ca99}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity))}.border-rose-800{--tw-border-opacity: 1;border-color:rgb(159 18 57 / var(--tw-border-opacity))}.border-slate-200\/30{border-color:#e2e8f04d}.border-slate-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity))}.border-slate-600\/40{border-color:#47556966}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity))}.border-slate-700\/60{border-color:#33415599}.border-slate-700\/80{border-color:#334155cc}.border-slate-800{--tw-border-opacity: 1;border-color:rgb(30 41 59 / var(--tw-border-opacity))}.border-slate-800\/60{border-color:#1e293b99}.border-white\/40{border-color:#fff6}.border-white\/60{border-color:#fff9}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity))}.bg-amber-400\/40{background-color:#fbbf2466}.bg-amber-400\/80{background-color:#fbbf24cc}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity))}.bg-amber-500\/30{background-color:#f59e0b4d}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity))}.bg-amber-600\/70{background-color:#d97706b3}.bg-amber-700{--tw-bg-opacity: 1;background-color:rgb(180 83 9 / var(--tw-bg-opacity))}.bg-amber-900{--tw-bg-opacity: 1;background-color:rgb(120 53 15 / var(--tw-bg-opacity))}.bg-amber-900\/60{background-color:#78350f99}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity))}.bg-black\/20{background-color:#0003}.bg-black\/30{background-color:#0000004d}.bg-black\/40{background-color:#0006}.bg-black\/55{background-color:#0000008c}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-black\/75{background-color:#000000bf}.bg-black\/80{background-color:#000c}.bg-black\/85{background-color:#000000d9}.bg-cyan-300\/80{background-color:#67e8f9cc}.bg-cyan-400\/10{background-color:#22d3ee1a}.bg-cyan-500{--tw-bg-opacity: 1;background-color:rgb(6 182 212 / var(--tw-bg-opacity))}.bg-cyan-500\/80{background-color:#06b6d4cc}.bg-cyan-600{--tw-bg-opacity: 1;background-color:rgb(8 145 178 / var(--tw-bg-opacity))}.bg-cyan-800{--tw-bg-opacity: 1;background-color:rgb(21 94 117 / var(--tw-bg-opacity))}.bg-cyan-900{--tw-bg-opacity: 1;background-color:rgb(22 78 99 / var(--tw-bg-opacity))}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity))}.bg-emerald-400\/40{background-color:#34d39966}.bg-emerald-500{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}.bg-emerald-500\/80{background-color:#10b981cc}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity))}.bg-emerald-600\/70{background-color:#059669b3}.bg-emerald-700{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity))}.bg-emerald-700\/60{background-color:#04785799}.bg-emerald-800{--tw-bg-opacity: 1;background-color:rgb(6 95 70 / var(--tw-bg-opacity))}.bg-emerald-900{--tw-bg-opacity: 1;background-color:rgb(6 78 59 / var(--tw-bg-opacity))}.bg-emerald-900\/60{background-color:#064e3b99}.bg-emerald-900\/80{background-color:#064e3bcc}.bg-fuchsia-200{--tw-bg-opacity: 1;background-color:rgb(245 208 254 / var(--tw-bg-opacity))}.bg-fuchsia-600{--tw-bg-opacity: 1;background-color:rgb(192 38 211 / var(--tw-bg-opacity))}.bg-fuchsia-700{--tw-bg-opacity: 1;background-color:rgb(162 28 175 / var(--tw-bg-opacity))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity))}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity))}.bg-indigo-600\/70{background-color:#4f46e5b3}.bg-indigo-700{--tw-bg-opacity: 1;background-color:rgb(67 56 202 / var(--tw-bg-opacity))}.bg-indigo-900{--tw-bg-opacity: 1;background-color:rgb(49 46 129 / var(--tw-bg-opacity))}.bg-indigo-900\/20{background-color:#312e8133}.bg-indigo-900\/60{background-color:#312e8199}.bg-indigo-950\/90{background-color:#1e1b4be6}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity))}.bg-red-500\/40{background-color:#ef444466}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.bg-red-600\/70{background-color:#dc2626b3}.bg-red-700\/60{background-color:#b91c1c99}.bg-red-900\/40{background-color:#7f1d1d66}.bg-red-900\/50{background-color:#7f1d1d80}.bg-rose-900\/80{background-color:#881337cc}.bg-sky-600{--tw-bg-opacity: 1;background-color:rgb(2 132 199 / var(--tw-bg-opacity))}.bg-slate-500{--tw-bg-opacity: 1;background-color:rgb(100 116 139 / var(--tw-bg-opacity))}.bg-slate-600{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.bg-slate-700{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity))}.bg-slate-700\/60{background-color:#33415599}.bg-slate-700\/70{background-color:#334155b3}.bg-slate-700\/80{background-color:#334155cc}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity))}.bg-slate-800\/80{background-color:#1e293bcc}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity))}.bg-slate-900\/40{background-color:#0f172a66}.bg-slate-950\/90{background-color:#020617e6}.bg-transparent{background-color:transparent}.bg-white\/10{background-color:#ffffff1a}.bg-zinc-900{--tw-bg-opacity: 1;background-color:rgb(24 24 27 / var(--tw-bg-opacity))}.bg-zinc-950{--tw-bg-opacity: 1;background-color:rgb(9 9 11 / var(--tw-bg-opacity))}.bg-zinc-950\/95{background-color:#09090bf2}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-indigo-500{--tw-gradient-from: #6366f1 var(--tw-gradient-from-position);--tw-gradient-to: rgb(99 102 241 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-purple-500{--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #a855f7 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.fill-slate-200{fill:#e2e8f0}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-\[2px\]{padding-top:2px;padding-bottom:2px}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pr-0{padding-right:0}.pt-1{padding-top:.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[0\.45rem\]{font-size:.45rem}.text-\[0\.55em\]{font-size:.55em}.text-\[0\.55rem\]{font-size:.55rem}.text-\[0\.5rem\]{font-size:.5rem}.text-\[0\.65rem\]{font-size:.65rem}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.7rem\]{font-size:.7rem}.text-\[0\.85rem\]{font-size:.85rem}.text-\[0\.8rem\]{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-none{line-height:1}.leading-normal{line-height:1.5}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-amber-100{--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity))}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity))}.text-amber-200\/80{color:#fde68acc}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity))}.text-amber-50{--tw-text-opacity: 1;color:rgb(255 251 235 / var(--tw-text-opacity))}.text-amber-50\/90{color:#fffbebe6}.text-amber-950{--tw-text-opacity: 1;color:rgb(69 26 3 / var(--tw-text-opacity))}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity))}.text-black\/80{color:#000c}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity))}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity))}.text-cyan-50{--tw-text-opacity: 1;color:rgb(236 254 255 / var(--tw-text-opacity))}.text-emerald-100{--tw-text-opacity: 1;color:rgb(209 250 229 / var(--tw-text-opacity))}.text-emerald-200{--tw-text-opacity: 1;color:rgb(167 243 208 / var(--tw-text-opacity))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity))}.text-emerald-50{--tw-text-opacity: 1;color:rgb(236 253 245 / var(--tw-text-opacity))}.text-emerald-50\/80{color:#ecfdf5cc}.text-emerald-50\/90{color:#ecfdf5e6}.text-emerald-950{--tw-text-opacity: 1;color:rgb(2 44 34 / var(--tw-text-opacity))}.text-fuchsia-50{--tw-text-opacity: 1;color:rgb(253 244 255 / var(--tw-text-opacity))}.text-fuchsia-900{--tw-text-opacity: 1;color:rgb(112 26 117 / var(--tw-text-opacity))}.text-indigo-100\/80{color:#e0e7ffcc}.text-indigo-200{--tw-text-opacity: 1;color:rgb(199 210 254 / var(--tw-text-opacity))}.text-indigo-50{--tw-text-opacity: 1;color:rgb(238 242 255 / var(--tw-text-opacity))}.text-indigo-50\/90{color:#eef2ffe6}.text-lime-200{--tw-text-opacity: 1;color:rgb(217 249 157 / var(--tw-text-opacity))}.text-lime-300{--tw-text-opacity: 1;color:rgb(190 242 100 / var(--tw-text-opacity))}.text-lime-400{--tw-text-opacity: 1;color:rgb(163 230 53 / var(--tw-text-opacity))}.text-red-100\/90{color:#fee2e2e6}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity))}.text-rose-50{--tw-text-opacity: 1;color:rgb(255 241 242 / var(--tw-text-opacity))}.text-sky-300{--tw-text-opacity: 1;color:rgb(125 211 252 / var(--tw-text-opacity))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity))}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.text-slate-400\/60{color:#94a3b899}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity: 1;color:rgb(15 23 42 / var(--tw-text-opacity))}.text-teal-400{--tw-text-opacity: 1;color:rgb(45 212 191 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-white\/90{color:#ffffffe6}.underline{text-decoration-line:underline}.accent-cyan-400{accent-color:#22d3ee}.accent-cyan-500{accent-color:#06b6d4}.accent-emerald-400{accent-color:#34d399}.accent-emerald-500{accent-color:#10b981}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-50{opacity:.5}.opacity-80{opacity:.8}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);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 rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);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 rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);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 rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-black\/30{--tw-shadow-color: rgb(0 0 0 / .3);--tw-shadow: var(--tw-shadow-colored)}.shadow-black\/40{--tw-shadow-color: rgb(0 0 0 / .4);--tw-shadow: var(--tw-shadow-colored)}.outline{outline-style:solid}.outline-2{outline-width:2px}.outline-cyan-400\/60{outline-color:#22d3ee99}.ring-1{--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(1px + 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)}.ring-2{--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)}.ring-amber-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(252 211 77 / var(--tw-ring-opacity))}.ring-emerald-300\/70{--tw-ring-color: rgb(110 231 183 / .7)}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[height\]{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.no-touch-select{-moz-user-select:none;user-select:none;-webkit-user-select:none;-ms-user-select:none;-webkit-touch-callout:none}.\[clip-path\:circle\(50\%\)\]{clip-path:circle(50%)}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}body{margin:0;min-height:100vh;--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity));--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity))}*{scrollbar-width:thin;scrollbar-color:#3b82f6 rgba(255,255,255,.08)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}*::-webkit-scrollbar{width:1px;height:1px}*::-webkit-scrollbar-track{background:#ffffff14}*::-webkit-scrollbar-thumb{background-color:#3b82f6;border-radius:9999px}.ha-hue-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:.45rem;border-radius:9999px;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red);cursor:pointer}.ha-hue-slider:disabled{opacity:.6;cursor:not-allowed}.ha-hue-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:.75rem;height:.75rem;border-radius:9999px;border:1px solid rgba(255,255,255,.7);background:#fff}.ha-hue-slider::-webkit-slider-runnable-track{height:.45rem;border-radius:9999px;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.ha-hue-slider::-moz-range-thumb{width:.75rem;height:.75rem;border-radius:9999px;border:1px solid rgba(255,255,255,.7);background:#fff}.ha-hue-slider::-moz-range-track{height:.45rem;border-radius:9999px;background:linear-gradient(90deg,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.placeholder\:text-slate-400::-moz-placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.placeholder\:text-slate-400::placeholder{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity))}.hover\:-translate-y-0\.5:hover{--tw-translate-y: -.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-amber-800:hover{--tw-bg-opacity: 1;background-color:rgb(146 64 14 / var(--tw-bg-opacity))}.hover\:bg-cyan-400:hover{--tw-bg-opacity: 1;background-color:rgb(34 211 238 / var(--tw-bg-opacity))}.hover\:bg-cyan-800:hover{--tw-bg-opacity: 1;background-color:rgb(21 94 117 / var(--tw-bg-opacity))}.hover\:bg-emerald-400:hover{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity))}.hover\:bg-emerald-500:hover{--tw-bg-opacity: 1;background-color:rgb(16 185 129 / var(--tw-bg-opacity))}.hover\:bg-emerald-700:hover{--tw-bg-opacity: 1;background-color:rgb(4 120 87 / var(--tw-bg-opacity))}.hover\:bg-emerald-800:hover{--tw-bg-opacity: 1;background-color:rgb(6 95 70 / var(--tw-bg-opacity))}.hover\:bg-indigo-500:hover{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity))}.hover\:bg-indigo-800:hover{--tw-bg-opacity: 1;background-color:rgb(55 48 163 / var(--tw-bg-opacity))}.hover\:bg-red-600:hover{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity))}.hover\:bg-rose-800:hover{--tw-bg-opacity: 1;background-color:rgb(159 18 57 / var(--tw-bg-opacity))}.hover\:bg-sky-500:hover{--tw-bg-opacity: 1;background-color:rgb(14 165 233 / var(--tw-bg-opacity))}.hover\:bg-slate-600:hover{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity))}.hover\:from-indigo-600:hover{--tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.hover\:via-purple-600:hover{--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #9333ea var(--tw-gradient-via-position), var(--tw-gradient-to)}.hover\:to-pink-600:hover{--tw-gradient-to: #db2777 var(--tw-gradient-to-position)}.hover\:text-blue-500:hover{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.hover\:shadow-xl:hover{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline:focus-visible{outline-style:solid}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-slate-500:focus-visible{outline-color:#64748b}.focus-visible\:ring-2:focus-visible{--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-visible\:ring-amber-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(252 211 77 / var(--tw-ring-opacity))}.focus-visible\:ring-emerald-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(110 231 183 / var(--tw-ring-opacity))}.focus-visible\:ring-indigo-300:focus-visible{--tw-ring-opacity: 1;--tw-ring-color: rgb(165 180 252 / var(--tw-ring-opacity))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:hover\:bg-inherit:hover:disabled{background-color:inherit}@media(min-width:640px){.sm\:min-h-\[18rem\]{min-height:18rem}.sm\:basis-auto{flex-basis:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:items-center{align-items:center}}@media(min-width:768px){.md\:h-full{height:100%}.md\:h-screen{height:100vh}.md\:min-h-0{min-height:0px}.md\:min-h-\[18rem\]{min-height:18rem}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,1\.1fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,1\.4fr\)_minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,1fr\)_18rem\]{grid-template-columns:minmax(0,1fr) 18rem}.md\:overflow-hidden{overflow:hidden}.md\:overflow-y-auto{overflow-y:auto}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}@media(min-width:1024px){.lg\:grid-cols-\[minmax\(0\,1fr\)_20rem\]{grid-template-columns:minmax(0,1fr) 20rem}} diff --git a/server/public/assets/index-BCh_wcG5.js b/server/public/assets/index-CF38D5Qo.js similarity index 67% rename from server/public/assets/index-BCh_wcG5.js rename to server/public/assets/index-CF38D5Qo.js index 1f2357a9..062bccdc 100644 --- a/server/public/assets/index-BCh_wcG5.js +++ b/server/public/assets/index-CF38D5Qo.js @@ -1,15 +1,15 @@ -(function(){const l=document.createElement("link").relList;if(l&&l.supports&&l.supports("modulepreload"))return;for(const f of document.querySelectorAll('link[rel="modulepreload"]'))r(f);new MutationObserver(f=>{for(const d of f)if(d.type==="childList")for(const h of d.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&r(h)}).observe(document,{childList:!0,subtree:!0});function i(f){const d={};return f.integrity&&(d.integrity=f.integrity),f.referrerPolicy&&(d.referrerPolicy=f.referrerPolicy),f.crossOrigin==="use-credentials"?d.credentials="include":f.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function r(f){if(f.ep)return;f.ep=!0;const d=i(f);fetch(f.href,d)}})();function Sy(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var mu={exports:{}},_s={};var Bp;function Ay(){if(Bp)return _s;Bp=1;var a=Symbol.for("react.transitional.element"),l=Symbol.for("react.fragment");function i(r,f,d){var h=null;if(d!==void 0&&(h=""+d),f.key!==void 0&&(h=""+f.key),"key"in f){d={};for(var x in f)x!=="key"&&(d[x]=f[x])}else d=f;return f=d.ref,{$$typeof:a,type:r,key:h,ref:f!==void 0?f:null,props:d}}return _s.Fragment=l,_s.jsx=i,_s.jsxs=i,_s}var zp;function jy(){return zp||(zp=1,mu.exports=Ay()),mu.exports}var o=jy(),hu={exports:{}},xe={};var Lp;function Ny(){if(Lp)return xe;Lp=1;var a=Symbol.for("react.transitional.element"),l=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),h=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),v=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),S=Symbol.for("react.activity"),N=Symbol.iterator;function q(E){return E===null||typeof E!="object"?null:(E=N&&E[N]||E["@@iterator"],typeof E=="function"?E:null)}var C={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},A=Object.assign,j={};function M(E,Y,te){this.props=E,this.context=Y,this.refs=j,this.updater=te||C}M.prototype.isReactComponent={},M.prototype.setState=function(E,Y){if(typeof E!="object"&&typeof E!="function"&&E!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,E,Y,"setState")},M.prototype.forceUpdate=function(E){this.updater.enqueueForceUpdate(this,E,"forceUpdate")};function w(){}w.prototype=M.prototype;function k(E,Y,te){this.props=E,this.context=Y,this.refs=j,this.updater=te||C}var L=k.prototype=new w;L.constructor=k,A(L,M.prototype),L.isPureReactComponent=!0;var V=Array.isArray;function Z(){}var O={H:null,A:null,T:null,S:null},F=Object.prototype.hasOwnProperty;function G(E,Y,te){var le=te.ref;return{$$typeof:a,type:E,key:Y,ref:le!==void 0?le:null,props:te}}function X(E,Y){return G(E.type,Y,E.props)}function B(E){return typeof E=="object"&&E!==null&&E.$$typeof===a}function K(E){var Y={"=":"=0",":":"=2"};return"$"+E.replace(/[=:]/g,function(te){return Y[te]})}var ee=/\/+/g;function oe(E,Y){return typeof E=="object"&&E!==null&&E.key!=null?K(""+E.key):Y.toString(36)}function ae(E){switch(E.status){case"fulfilled":return E.value;case"rejected":throw E.reason;default:switch(typeof E.status=="string"?E.then(Z,Z):(E.status="pending",E.then(function(Y){E.status==="pending"&&(E.status="fulfilled",E.value=Y)},function(Y){E.status==="pending"&&(E.status="rejected",E.reason=Y)})),E.status){case"fulfilled":return E.value;case"rejected":throw E.reason}}throw E}function _(E,Y,te,le,se){var re=typeof E;(re==="undefined"||re==="boolean")&&(E=null);var ce=!1;if(E===null)ce=!0;else switch(re){case"bigint":case"string":case"number":ce=!0;break;case"object":switch(E.$$typeof){case a:case l:ce=!0;break;case b:return ce=E._init,_(ce(E._payload),Y,te,le,se)}}if(ce)return se=se(E),ce=le===""?"."+oe(E,0):le,V(se)?(te="",ce!=null&&(te=ce.replace(ee,"$&/")+"/"),_(se,Y,te,"",function(ge){return ge})):se!=null&&(B(se)&&(se=X(se,te+(se.key==null||E&&E.key===se.key?"":(""+se.key).replace(ee,"$&/")+"/")+ce)),Y.push(se)),1;ce=0;var J=le===""?".":le+":";if(V(E))for(var ne=0;ne>>1,pe=_[fe];if(0>>1;fef(te,ie))lef(se,te)?(_[fe]=se,_[le]=ie,fe=le):(_[fe]=te,_[Y]=ie,fe=Y);else if(lef(se,ie))_[fe]=se,_[le]=ie,fe=le;else break e}}return W}function f(_,W){var ie=_.sortIndex-W.sortIndex;return ie!==0?ie:_.id-W.id}if(a.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;a.unstable_now=function(){return d.now()}}else{var h=Date,x=h.now();a.unstable_now=function(){return h.now()-x}}var p=[],v=[],b=1,S=null,N=3,q=!1,C=!1,A=!1,j=!1,M=typeof setTimeout=="function"?setTimeout:null,w=typeof clearTimeout=="function"?clearTimeout:null,k=typeof setImmediate<"u"?setImmediate:null;function L(_){for(var W=i(v);W!==null;){if(W.callback===null)r(v);else if(W.startTime<=_)r(v),W.sortIndex=W.expirationTime,l(p,W);else break;W=i(v)}}function V(_){if(A=!1,L(_),!C)if(i(p)!==null)C=!0,Z||(Z=!0,K());else{var W=i(v);W!==null&&ae(V,W.startTime-_)}}var Z=!1,O=-1,F=5,G=-1;function X(){return j?!0:!(a.unstable_now()-G_&&X());){var fe=S.callback;if(typeof fe=="function"){S.callback=null,N=S.priorityLevel;var pe=fe(S.expirationTime<=_);if(_=a.unstable_now(),typeof pe=="function"){S.callback=pe,L(_),W=!0;break t}S===i(p)&&r(p),L(_)}else r(p);S=i(p)}if(S!==null)W=!0;else{var E=i(v);E!==null&&ae(V,E.startTime-_),W=!1}}break e}finally{S=null,N=ie,q=!1}W=void 0}}finally{W?K():Z=!1}}}var K;if(typeof k=="function")K=function(){k(B)};else if(typeof MessageChannel<"u"){var ee=new MessageChannel,oe=ee.port2;ee.port1.onmessage=B,K=function(){oe.postMessage(null)}}else K=function(){M(B,0)};function ae(_,W){O=M(function(){_(a.unstable_now())},W)}a.unstable_IdlePriority=5,a.unstable_ImmediatePriority=1,a.unstable_LowPriority=4,a.unstable_NormalPriority=3,a.unstable_Profiling=null,a.unstable_UserBlockingPriority=2,a.unstable_cancelCallback=function(_){_.callback=null},a.unstable_forceFrameRate=function(_){0>_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):F=0<_?Math.floor(1e3/_):5},a.unstable_getCurrentPriorityLevel=function(){return N},a.unstable_next=function(_){switch(N){case 1:case 2:case 3:var W=3;break;default:W=N}var ie=N;N=W;try{return _()}finally{N=ie}},a.unstable_requestPaint=function(){j=!0},a.unstable_runWithPriority=function(_,W){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var ie=N;N=_;try{return W()}finally{N=ie}},a.unstable_scheduleCallback=function(_,W,ie){var fe=a.unstable_now();switch(typeof ie=="object"&&ie!==null?(ie=ie.delay,ie=typeof ie=="number"&&0fe?(_.sortIndex=ie,l(v,_),i(p)===null&&_===i(v)&&(A?(w(O),O=-1):A=!0,ae(V,ie-fe))):(_.sortIndex=pe,l(p,_),C||q||(C=!0,Z||(Z=!0,K()))),_},a.unstable_shouldYield=X,a.unstable_wrapCallback=function(_){var W=N;return function(){var ie=N;N=W;try{return _.apply(this,arguments)}finally{N=ie}}}})(xu)),xu}var Vp;function Ey(){return Vp||(Vp=1,gu.exports=wy()),gu.exports}var vu={exports:{}},pt={};var Yp;function Cy(){if(Yp)return pt;Yp=1;var a=rf();function l(p){var v="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(l){console.error(l)}}return a(),vu.exports=Cy(),vu.exports}var Gp;function My(){if(Gp)return Ds;Gp=1;var a=Ey(),l=rf(),i=qy();function r(e){var t="https://react.dev/errors/"+e;if(1pe||(e.current=fe[pe],fe[pe]=null,pe--)}function te(e,t){pe++,fe[pe]=e.current,e.current=t}var le=E(null),se=E(null),re=E(null),ce=E(null);function J(e,t){switch(te(re,t),te(se,e),te(le,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?sp(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=sp(t),e=ip(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Y(le),te(le,e)}function ne(){Y(le),Y(se),Y(re)}function ge(e){e.memoizedState!==null&&te(ce,e);var t=le.current,n=ip(t,e.type);t!==n&&(te(se,e),te(le,n))}function ke(e){se.current===e&&(Y(le),Y(se)),ce.current===e&&(Y(ce),Ms._currentValue=ie)}var qe,ot;function kt(e){if(qe===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);qe=t&&t[1]||"",ot=-1{for(const d of f)if(d.type==="childList")for(const h of d.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&r(h)}).observe(document,{childList:!0,subtree:!0});function i(f){const d={};return f.integrity&&(d.integrity=f.integrity),f.referrerPolicy&&(d.referrerPolicy=f.referrerPolicy),f.crossOrigin==="use-credentials"?d.credentials="include":f.crossOrigin==="anonymous"?d.credentials="omit":d.credentials="same-origin",d}function r(f){if(f.ep)return;f.ep=!0;const d=i(f);fetch(f.href,d)}})();function Sy(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var mu={exports:{}},_s={};var Bp;function Ay(){if(Bp)return _s;Bp=1;var a=Symbol.for("react.transitional.element"),l=Symbol.for("react.fragment");function i(r,f,d){var h=null;if(d!==void 0&&(h=""+d),f.key!==void 0&&(h=""+f.key),"key"in f){d={};for(var x in f)x!=="key"&&(d[x]=f[x])}else d=f;return f=d.ref,{$$typeof:a,type:r,key:h,ref:f!==void 0?f:null,props:d}}return _s.Fragment=l,_s.jsx=i,_s.jsxs=i,_s}var zp;function jy(){return zp||(zp=1,mu.exports=Ay()),mu.exports}var o=jy(),hu={exports:{}},xe={};var Lp;function Ny(){if(Lp)return xe;Lp=1;var a=Symbol.for("react.transitional.element"),l=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),f=Symbol.for("react.profiler"),d=Symbol.for("react.consumer"),h=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),v=Symbol.for("react.memo"),S=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),N=Symbol.iterator;function q(E){return E===null||typeof E!="object"?null:(E=N&&E[N]||E["@@iterator"],typeof E=="function"?E:null)}var C={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},A=Object.assign,j={};function M(E,Y,te){this.props=E,this.context=Y,this.refs=j,this.updater=te||C}M.prototype.isReactComponent={},M.prototype.setState=function(E,Y){if(typeof E!="object"&&typeof E!="function"&&E!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,E,Y,"setState")},M.prototype.forceUpdate=function(E){this.updater.enqueueForceUpdate(this,E,"forceUpdate")};function w(){}w.prototype=M.prototype;function R(E,Y,te){this.props=E,this.context=Y,this.refs=j,this.updater=te||C}var B=R.prototype=new w;B.constructor=R,A(B,M.prototype),B.isPureReactComponent=!0;var H=Array.isArray;function Q(){}var O={H:null,A:null,T:null,S:null},F=Object.prototype.hasOwnProperty;function G(E,Y,te){var le=te.ref;return{$$typeof:a,type:E,key:Y,ref:le!==void 0?le:null,props:te}}function X(E,Y){return G(E.type,Y,E.props)}function z(E){return typeof E=="object"&&E!==null&&E.$$typeof===a}function Z(E){var Y={"=":"=0",":":"=2"};return"$"+E.replace(/[=:]/g,function(te){return Y[te]})}var ee=/\/+/g;function oe(E,Y){return typeof E=="object"&&E!==null&&E.key!=null?Z(""+E.key):Y.toString(36)}function ae(E){switch(E.status){case"fulfilled":return E.value;case"rejected":throw E.reason;default:switch(typeof E.status=="string"?E.then(Q,Q):(E.status="pending",E.then(function(Y){E.status==="pending"&&(E.status="fulfilled",E.value=Y)},function(Y){E.status==="pending"&&(E.status="rejected",E.reason=Y)})),E.status){case"fulfilled":return E.value;case"rejected":throw E.reason}}throw E}function _(E,Y,te,le,se){var re=typeof E;(re==="undefined"||re==="boolean")&&(E=null);var ce=!1;if(E===null)ce=!0;else switch(re){case"bigint":case"string":case"number":ce=!0;break;case"object":switch(E.$$typeof){case a:case l:ce=!0;break;case S:return ce=E._init,_(ce(E._payload),Y,te,le,se)}}if(ce)return se=se(E),ce=le===""?"."+oe(E,0):le,H(se)?(te="",ce!=null&&(te=ce.replace(ee,"$&/")+"/"),_(se,Y,te,"",function(ge){return ge})):se!=null&&(z(se)&&(se=X(se,te+(se.key==null||E&&E.key===se.key?"":(""+se.key).replace(ee,"$&/")+"/")+ce)),Y.push(se)),1;ce=0;var J=le===""?".":le+":";if(H(E))for(var ne=0;ne>>1,pe=_[fe];if(0>>1;fef(te,ie))lef(se,te)?(_[fe]=se,_[le]=ie,fe=le):(_[fe]=te,_[Y]=ie,fe=Y);else if(lef(se,ie))_[fe]=se,_[le]=ie,fe=le;else break e}}return W}function f(_,W){var ie=_.sortIndex-W.sortIndex;return ie!==0?ie:_.id-W.id}if(a.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var d=performance;a.unstable_now=function(){return d.now()}}else{var h=Date,x=h.now();a.unstable_now=function(){return h.now()-x}}var p=[],v=[],S=1,b=null,N=3,q=!1,C=!1,A=!1,j=!1,M=typeof setTimeout=="function"?setTimeout:null,w=typeof clearTimeout=="function"?clearTimeout:null,R=typeof setImmediate<"u"?setImmediate:null;function B(_){for(var W=i(v);W!==null;){if(W.callback===null)r(v);else if(W.startTime<=_)r(v),W.sortIndex=W.expirationTime,l(p,W);else break;W=i(v)}}function H(_){if(A=!1,B(_),!C)if(i(p)!==null)C=!0,Q||(Q=!0,Z());else{var W=i(v);W!==null&&ae(H,W.startTime-_)}}var Q=!1,O=-1,F=5,G=-1;function X(){return j?!0:!(a.unstable_now()-G_&&X());){var fe=b.callback;if(typeof fe=="function"){b.callback=null,N=b.priorityLevel;var pe=fe(b.expirationTime<=_);if(_=a.unstable_now(),typeof pe=="function"){b.callback=pe,B(_),W=!0;break t}b===i(p)&&r(p),B(_)}else r(p);b=i(p)}if(b!==null)W=!0;else{var E=i(v);E!==null&&ae(H,E.startTime-_),W=!1}}break e}finally{b=null,N=ie,q=!1}W=void 0}}finally{W?Z():Q=!1}}}var Z;if(typeof R=="function")Z=function(){R(z)};else if(typeof MessageChannel<"u"){var ee=new MessageChannel,oe=ee.port2;ee.port1.onmessage=z,Z=function(){oe.postMessage(null)}}else Z=function(){M(z,0)};function ae(_,W){O=M(function(){_(a.unstable_now())},W)}a.unstable_IdlePriority=5,a.unstable_ImmediatePriority=1,a.unstable_LowPriority=4,a.unstable_NormalPriority=3,a.unstable_Profiling=null,a.unstable_UserBlockingPriority=2,a.unstable_cancelCallback=function(_){_.callback=null},a.unstable_forceFrameRate=function(_){0>_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):F=0<_?Math.floor(1e3/_):5},a.unstable_getCurrentPriorityLevel=function(){return N},a.unstable_next=function(_){switch(N){case 1:case 2:case 3:var W=3;break;default:W=N}var ie=N;N=W;try{return _()}finally{N=ie}},a.unstable_requestPaint=function(){j=!0},a.unstable_runWithPriority=function(_,W){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var ie=N;N=_;try{return W()}finally{N=ie}},a.unstable_scheduleCallback=function(_,W,ie){var fe=a.unstable_now();switch(typeof ie=="object"&&ie!==null?(ie=ie.delay,ie=typeof ie=="number"&&0fe?(_.sortIndex=ie,l(v,_),i(p)===null&&_===i(v)&&(A?(w(O),O=-1):A=!0,ae(H,ie-fe))):(_.sortIndex=pe,l(p,_),C||q||(C=!0,Q||(Q=!0,Z()))),_},a.unstable_shouldYield=X,a.unstable_wrapCallback=function(_){var W=N;return function(){var ie=N;N=W;try{return _.apply(this,arguments)}finally{N=ie}}}})(xu)),xu}var Vp;function Ey(){return Vp||(Vp=1,gu.exports=wy()),gu.exports}var vu={exports:{}},pt={};var Yp;function Cy(){if(Yp)return pt;Yp=1;var a=rf();function l(p){var v="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(l){console.error(l)}}return a(),vu.exports=Cy(),vu.exports}var Gp;function My(){if(Gp)return Ds;Gp=1;var a=Ey(),l=rf(),i=qy();function r(e){var t="https://react.dev/errors/"+e;if(1pe||(e.current=fe[pe],fe[pe]=null,pe--)}function te(e,t){pe++,fe[pe]=e.current,e.current=t}var le=E(null),se=E(null),re=E(null),ce=E(null);function J(e,t){switch(te(re,t),te(se,e),te(le,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?sp(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=sp(t),e=ip(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Y(le),te(le,e)}function ne(){Y(le),Y(se),Y(re)}function ge(e){e.memoizedState!==null&&te(ce,e);var t=le.current,n=ip(t,e.type);t!==n&&(te(se,e),te(le,n))}function ke(e){se.current===e&&(Y(le),Y(se)),ce.current===e&&(Y(ce),Ms._currentValue=ie)}var qe,ot;function kt(e){if(qe===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);qe=t&&t[1]||"",ot=-1)":-1c||T[s]!==U[c]){var Q=` -`+T[s].replace(" at new "," at ");return e.displayName&&Q.includes("")&&(Q=Q.replace("",e.displayName)),Q}while(1<=s&&0<=c);break}}}finally{ca=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?kt(n):""}function ti(e,t){switch(e.tag){case 26:case 27:case 5:return kt(e.type);case 16:return kt("Lazy");case 13:return e.child!==t&&t!==null?kt("Suspense Fallback"):kt("Suspense");case 19:return kt("SuspenseList");case 0:case 15:return _t(e.type,!1);case 11:return _t(e.type.render,!1);case 1:return _t(e.type,!0);case 31:return kt("Activity");default:return""}}function za(e){try{var t="",n=null;do t+=ti(e,n),n=e,e=e.return;while(e);return t}catch(s){return` +`);for(c=s=0;sc||T[s]!==U[c]){var K=` +`+T[s].replace(" at new "," at ");return e.displayName&&K.includes("")&&(K=K.replace("",e.displayName)),K}while(1<=s&&0<=c);break}}}finally{ca=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?kt(n):""}function ti(e,t){switch(e.tag){case 26:case 27:case 5:return kt(e.type);case 16:return kt("Lazy");case 13:return e.child!==t&&t!==null?kt("Suspense Fallback"):kt("Suspense");case 19:return kt("SuspenseList");case 0:case 15:return _t(e.type,!1);case 11:return _t(e.type.render,!1);case 1:return _t(e.type,!0);case 31:return kt("Activity");default:return""}}function za(e){try{var t="",n=null;do t+=ti(e,n),n=e,e=e.return;while(e);return t}catch(s){return` Error generating stack: `+s.message+` -`+s.stack}}var Ll=Object.prototype.hasOwnProperty,ua=a.unstable_scheduleCallback,fn=a.unstable_cancelCallback,La=a.unstable_shouldYield,Ul=a.unstable_requestPaint,lt=a.unstable_now,Hl=a.unstable_getCurrentPriorityLevel,fa=a.unstable_ImmediatePriority,Vl=a.unstable_UserBlockingPriority,Ua=a.unstable_NormalPriority,Wr=a.unstable_LowPriority,ni=a.unstable_IdlePriority,ai=a.log,Qt=a.unstable_setDisableYieldValue,be=null,_e=null;function Ze(e){if(typeof ai=="function"&&Qt(e),_e&&typeof _e.setStrictMode=="function")try{_e.setStrictMode(be,e)}catch{}}var Se=Math.clz32?Math.clz32:Pr,We=Math.log,Ve=Math.LN2;function Pr(e){return e>>>=0,e===0?32:31-(We(e)/Ve|0)|0}var li=256,si=262144,ii=4194304;function da(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ri(e,t,n){var s=e.pendingLanes;if(s===0)return 0;var c=0,u=e.suspendedLanes,g=e.pingedLanes;e=e.warmLanes;var y=s&134217727;return y!==0?(s=y&~u,s!==0?c=da(s):(g&=y,g!==0?c=da(g):n||(n=y&~e,n!==0&&(c=da(n))))):(y=s&~u,y!==0?c=da(y):g!==0?c=da(g):n||(n=s&~e,n!==0&&(c=da(n)))),c===0?0:t!==0&&t!==c&&(t&u)===0&&(u=c&-c,n=t&-t,u>=n||u===32&&(n&4194048)!==0)?t:c}function Yl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function ox(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Hf(){var e=ii;return ii<<=1,(ii&62914560)===0&&(ii=4194304),e}function eo(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function $l(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function cx(e,t,n,s,c,u){var g=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var y=e.entanglements,T=e.expirationTimes,U=e.hiddenUpdates;for(n=g&~n;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var px=/[\n"\\]/g;function Ot(e){return e.replace(px,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function io(e,t,n,s,c,u,g,y){e.name="",g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"?e.type=g:e.removeAttribute("type"),t!=null?g==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Dt(t)):e.value!==""+Dt(t)&&(e.value=""+Dt(t)):g!=="submit"&&g!=="reset"||e.removeAttribute("value"),t!=null?ro(e,g,Dt(t)):n!=null?ro(e,g,Dt(n)):s!=null&&e.removeAttribute("value"),c==null&&u!=null&&(e.defaultChecked=!!u),c!=null&&(e.checked=c&&typeof c!="function"&&typeof c!="symbol"),y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?e.name=""+Dt(y):e.removeAttribute("name")}function Pf(e,t,n,s,c,u,g,y){if(u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.type=u),t!=null||n!=null){if(!(u!=="submit"&&u!=="reset"||t!=null)){so(e);return}n=n!=null?""+Dt(n):"",t=t!=null?""+Dt(t):n,y||t===e.value||(e.value=t),e.defaultValue=t}s=s??c,s=typeof s!="function"&&typeof s!="symbol"&&!!s,e.checked=y?e.checked:!!s,e.defaultChecked=!!s,g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"&&(e.name=g),so(e)}function ro(e,t,n){t==="number"&&ui(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Xa(e,t,n,s){if(e=e.options,t){t={};for(var c=0;c"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),mo=!1;if(hn)try{var Kl={};Object.defineProperty(Kl,"passive",{get:function(){mo=!0}}),window.addEventListener("test",Kl,Kl),window.removeEventListener("test",Kl,Kl)}catch{mo=!1}var Ln=null,ho=null,di=null;function id(){if(di)return di;var e,t=ho,n=t.length,s,c="value"in Ln?Ln.value:Ln.textContent,u=c.length;for(e=0;e=Jl),dd=" ",md=!1;function hd(e,t){switch(e){case"keyup":return $x.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function pd(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Fa=!1;function Xx(e,t){switch(e){case"compositionend":return pd(t);case"keypress":return t.which!==32?null:(md=!0,dd);case"textInput":return e=t.data,e===dd&&md?null:e;default:return null}}function Qx(e,t){if(Fa)return e==="compositionend"||!yo&&hd(e,t)?(e=id(),di=ho=Ln=null,Fa=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=s}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=jd(n)}}function wd(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?wd(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ed(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ui(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=ui(e.document)}return t}function Ao(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var ev=hn&&"documentMode"in document&&11>=document.documentMode,Ja=null,jo=null,es=null,No=!1;function Cd(e,t,n){var s=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;No||Ja==null||Ja!==ui(s)||(s=Ja,"selectionStart"in s&&Ao(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),es&&Pl(es,s)||(es=s,s=sr(jo,"onSelect"),0>=g,c-=g,en=1<<32-Se(t)+c|n<ye?(we=de,de=null):we=de.sibling;var Te=H(D,de,z[ye],I);if(Te===null){de===null&&(de=we);break}e&&de&&Te.alternate===null&&t(D,de),R=u(Te,R,ye),Me===null?me=Te:Me.sibling=Te,Me=Te,de=we}if(ye===z.length)return n(D,de),Ee&&gn(D,ye),me;if(de===null){for(;yeye?(we=de,de=null):we=de.sibling;var ia=H(D,de,Te.value,I);if(ia===null){de===null&&(de=we);break}e&&de&&ia.alternate===null&&t(D,de),R=u(ia,R,ye),Me===null?me=ia:Me.sibling=ia,Me=ia,de=we}if(Te.done)return n(D,de),Ee&&gn(D,ye),me;if(de===null){for(;!Te.done;ye++,Te=z.next())Te=P(D,Te.value,I),Te!==null&&(R=u(Te,R,ye),Me===null?me=Te:Me.sibling=Te,Me=Te);return Ee&&gn(D,ye),me}for(de=s(de);!Te.done;ye++,Te=z.next())Te=$(de,D,ye,Te.value,I),Te!==null&&(e&&Te.alternate!==null&&de.delete(Te.key===null?ye:Te.key),R=u(Te,R,ye),Me===null?me=Te:Me.sibling=Te,Me=Te);return e&&de.forEach(function(by){return t(D,by)}),Ee&&gn(D,ye),me}function Ue(D,R,z,I){if(typeof z=="object"&&z!==null&&z.type===A&&z.key===null&&(z=z.props.children),typeof z=="object"&&z!==null){switch(z.$$typeof){case q:e:{for(var me=z.key;R!==null;){if(R.key===me){if(me=z.type,me===A){if(R.tag===7){n(D,R.sibling),I=c(R,z.props.children),I.return=D,D=I;break e}}else if(R.elementType===me||typeof me=="object"&&me!==null&&me.$$typeof===F&&ja(me)===R.type){n(D,R.sibling),I=c(R,z.props),is(I,z),I.return=D,D=I;break e}n(D,R);break}else t(D,R);R=R.sibling}z.type===A?(I=va(z.props.children,D.mode,I,z.key),I.return=D,D=I):(I=Ai(z.type,z.key,z.props,null,D.mode,I),is(I,z),I.return=D,D=I)}return g(D);case C:e:{for(me=z.key;R!==null;){if(R.key===me)if(R.tag===4&&R.stateNode.containerInfo===z.containerInfo&&R.stateNode.implementation===z.implementation){n(D,R.sibling),I=c(R,z.children||[]),I.return=D,D=I;break e}else{n(D,R);break}else t(D,R);R=R.sibling}I=Ro(z,D.mode,I),I.return=D,D=I}return g(D);case F:return z=ja(z),Ue(D,R,z,I)}if(ae(z))return ue(D,R,z,I);if(K(z)){if(me=K(z),typeof me!="function")throw Error(r(150));return z=me.call(z),he(D,R,z,I)}if(typeof z.then=="function")return Ue(D,R,Mi(z),I);if(z.$$typeof===k)return Ue(D,R,wi(D,z),I);Ti(D,z)}return typeof z=="string"&&z!==""||typeof z=="number"||typeof z=="bigint"?(z=""+z,R!==null&&R.tag===6?(n(D,R.sibling),I=c(R,z),I.return=D,D=I):(n(D,R),I=To(z,D.mode,I),I.return=D,D=I),g(D)):n(D,R)}return function(D,R,z,I){try{ss=0;var me=Ue(D,R,z,I);return rl=null,me}catch(de){if(de===il||de===Ci)throw de;var Me=Et(29,de,null,D.mode);return Me.lanes=I,Me.return=D,Me}finally{}}}var wa=Jd(!0),Id=Jd(!1),$n=!1;function $o(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Go(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Gn(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Xn(e,t,n){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,(Re&2)!==0){var c=s.pending;return c===null?t.next=t:(t.next=c.next,c.next=t),s.pending=t,t=Si(e),Dd(e,null,n),t}return bi(e,s,t,n),Si(e)}function rs(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var s=t.lanes;s&=e.pendingLanes,n|=s,t.lanes=n,Yf(e,n)}}function Xo(e,t){var n=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,n===s)){var c=null,u=null;if(n=n.firstBaseUpdate,n!==null){do{var g={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};u===null?c=u=g:u=u.next=g,n=n.next}while(n!==null);u===null?c=u=t:u=u.next=t}else c=u=t;n={baseState:s.baseState,firstBaseUpdate:c,lastBaseUpdate:u,shared:s.shared,callbacks:s.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Qo=!1;function os(){if(Qo){var e=sl;if(e!==null)throw e}}function cs(e,t,n,s){Qo=!1;var c=e.updateQueue;$n=!1;var u=c.firstBaseUpdate,g=c.lastBaseUpdate,y=c.shared.pending;if(y!==null){c.shared.pending=null;var T=y,U=T.next;T.next=null,g===null?u=U:g.next=U,g=T;var Q=e.alternate;Q!==null&&(Q=Q.updateQueue,y=Q.lastBaseUpdate,y!==g&&(y===null?Q.firstBaseUpdate=U:y.next=U,Q.lastBaseUpdate=T))}if(u!==null){var P=c.baseState;g=0,Q=U=T=null,y=u;do{var H=y.lane&-536870913,$=H!==y.lane;if($?(Ne&H)===H:(s&H)===H){H!==0&&H===ll&&(Qo=!0),Q!==null&&(Q=Q.next={lane:0,tag:y.tag,payload:y.payload,callback:null,next:null});e:{var ue=e,he=y;H=t;var Ue=n;switch(he.tag){case 1:if(ue=he.payload,typeof ue=="function"){P=ue.call(Ue,P,H);break e}P=ue;break e;case 3:ue.flags=ue.flags&-65537|128;case 0:if(ue=he.payload,H=typeof ue=="function"?ue.call(Ue,P,H):ue,H==null)break e;P=S({},P,H);break e;case 2:$n=!0}}H=y.callback,H!==null&&(e.flags|=64,$&&(e.flags|=8192),$=c.callbacks,$===null?c.callbacks=[H]:$.push(H))}else $={lane:H,tag:y.tag,payload:y.payload,callback:y.callback,next:null},Q===null?(U=Q=$,T=P):Q=Q.next=$,g|=H;if(y=y.next,y===null){if(y=c.shared.pending,y===null)break;$=y,y=$.next,$.next=null,c.lastBaseUpdate=$,c.shared.pending=null}}while(!0);Q===null&&(T=P),c.baseState=T,c.firstBaseUpdate=U,c.lastBaseUpdate=Q,u===null&&(c.shared.lanes=0),Jn|=g,e.lanes=g,e.memoizedState=P}}function Wd(e,t){if(typeof e!="function")throw Error(r(191,e));e.call(t)}function Pd(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;eu?u:8;var g=_.T,y={};_.T=y,fc(e,!1,t,n);try{var T=c(),U=_.S;if(U!==null&&U(y,T),T!==null&&typeof T=="object"&&typeof T.then=="function"){var Q=cv(T,s);ds(e,t,Q,Rt(e))}else ds(e,t,s,Rt(e))}catch(P){ds(e,t,{then:function(){},status:"rejected",reason:P},Rt())}finally{W.p=u,g!==null&&y.types!==null&&(g.types=y.types),_.T=g}}function pv(){}function cc(e,t,n,s){if(e.tag!==5)throw Error(r(476));var c=Rm(e).queue;Tm(e,c,t,ie,n===null?pv:function(){return km(e),n(s)})}function Rm(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ie,baseState:ie,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bn,lastRenderedState:ie},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function km(e){var t=Rm(e);t.next===null&&(t=e.alternate.memoizedState),ds(e,t.next.queue,{},Rt())}function uc(){return ft(Ms)}function _m(){return Je().memoizedState}function Dm(){return Je().memoizedState}function gv(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Rt();e=Gn(n);var s=Xn(t,e,n);s!==null&&(Nt(s,t,n),rs(s,t,n)),t={cache:Uo()},e.payload=t;return}t=t.return}}function xv(e,t,n){var s=Rt();n={lane:s,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Hi(e)?Bm(t,n):(n=qo(e,t,n,s),n!==null&&(Nt(n,e,s),zm(n,t,s)))}function Om(e,t,n){var s=Rt();ds(e,t,n,s)}function ds(e,t,n,s){var c={lane:s,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Hi(e))Bm(t,c);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var g=t.lastRenderedState,y=u(g,n);if(c.hasEagerState=!0,c.eagerState=y,wt(y,g))return bi(e,t,c,0),He===null&&yi(),!1}catch{}finally{}if(n=qo(e,t,c,s),n!==null)return Nt(n,e,s),zm(n,t,s),!0}return!1}function fc(e,t,n,s){if(s={lane:2,revertLane:$c(),gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},Hi(e)){if(t)throw Error(r(479))}else t=qo(e,n,s,2),t!==null&&Nt(t,e,2)}function Hi(e){var t=e.alternate;return e===ve||t!==null&&t===ve}function Bm(e,t){cl=_i=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zm(e,t,n){if((n&4194048)!==0){var s=t.lanes;s&=e.pendingLanes,n|=s,t.lanes=n,Yf(e,n)}}var ms={readContext:ft,use:Bi,useCallback:Qe,useContext:Qe,useEffect:Qe,useImperativeHandle:Qe,useLayoutEffect:Qe,useInsertionEffect:Qe,useMemo:Qe,useReducer:Qe,useRef:Qe,useState:Qe,useDebugValue:Qe,useDeferredValue:Qe,useTransition:Qe,useSyncExternalStore:Qe,useId:Qe,useHostTransitionStatus:Qe,useFormState:Qe,useActionState:Qe,useOptimistic:Qe,useMemoCache:Qe,useCacheRefresh:Qe};ms.useEffectEvent=Qe;var Lm={readContext:ft,use:Bi,useCallback:function(e,t){return gt().memoizedState=[e,t===void 0?null:t],e},useContext:ft,useEffect:Sm,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,Li(4194308,4,wm.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Li(4194308,4,e,t)},useInsertionEffect:function(e,t){Li(4,2,e,t)},useMemo:function(e,t){var n=gt();t=t===void 0?null:t;var s=e();if(Ea){Ze(!0);try{e()}finally{Ze(!1)}}return n.memoizedState=[s,t],s},useReducer:function(e,t,n){var s=gt();if(n!==void 0){var c=n(t);if(Ea){Ze(!0);try{n(t)}finally{Ze(!1)}}}else c=t;return s.memoizedState=s.baseState=c,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:c},s.queue=e,e=e.dispatch=xv.bind(null,ve,e),[s.memoizedState,e]},useRef:function(e){var t=gt();return e={current:e},t.memoizedState=e},useState:function(e){e=lc(e);var t=e.queue,n=Om.bind(null,ve,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:rc,useDeferredValue:function(e,t){var n=gt();return oc(n,e,t)},useTransition:function(){var e=lc(!1);return e=Tm.bind(null,ve,e.queue,!0,!1),gt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var s=ve,c=gt();if(Ee){if(n===void 0)throw Error(r(407));n=n()}else{if(n=t(),He===null)throw Error(r(349));(Ne&127)!==0||sm(s,t,n)}c.memoizedState=n;var u={value:n,getSnapshot:t};return c.queue=u,Sm(rm.bind(null,s,u,e),[e]),s.flags|=2048,fl(9,{destroy:void 0},im.bind(null,s,u,n,t),null),n},useId:function(){var e=gt(),t=He.identifierPrefix;if(Ee){var n=tn,s=en;n=(s&~(1<<32-Se(s)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Di++,0<\/script>",u=u.removeChild(u.firstChild);break;case"select":u=typeof s.is=="string"?g.createElement("select",{is:s.is}):g.createElement("select"),s.multiple?u.multiple=!0:s.size&&(u.size=s.size);break;default:u=typeof s.is=="string"?g.createElement(c,{is:s.is}):g.createElement(c)}}u[ct]=t,u[vt]=s;e:for(g=t.child;g!==null;){if(g.tag===5||g.tag===6)u.appendChild(g.stateNode);else if(g.tag!==4&&g.tag!==27&&g.child!==null){g.child.return=g,g=g.child;continue}if(g===t)break e;for(;g.sibling===null;){if(g.return===null||g.return===t)break e;g=g.return}g.sibling.return=g.return,g=g.sibling}t.stateNode=u;e:switch(mt(u,c,s),c){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}s&&An(t)}}return $e(t),wc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==s&&An(t);else{if(typeof s!="string"&&t.stateNode===null)throw Error(r(166));if(e=re.current,nl(t)){if(e=t.stateNode,n=t.memoizedProps,s=null,c=ut,c!==null)switch(c.tag){case 27:case 5:s=c.memoizedProps}e[ct]=t,e=!!(e.nodeValue===n||s!==null&&s.suppressHydrationWarning===!0||ap(e.nodeValue,n)),e||Vn(t,!0)}else e=ir(e).createTextNode(s),e[ct]=t,t.stateNode=e}return $e(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(s=nl(t),n!==null){if(e===null){if(!s)throw Error(r(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[ct]=t}else ya(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$e(t),e=!1}else n=Oo(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(qt(t),t):(qt(t),null);if((t.flags&128)!==0)throw Error(r(558))}return $e(t),null;case 13:if(s=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(c=nl(t),s!==null&&s.dehydrated!==null){if(e===null){if(!c)throw Error(r(318));if(c=t.memoizedState,c=c!==null?c.dehydrated:null,!c)throw Error(r(317));c[ct]=t}else ya(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$e(t),c=!1}else c=Oo(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=c),c=!0;if(!c)return t.flags&256?(qt(t),t):(qt(t),null)}return qt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=s!==null,e=e!==null&&e.memoizedState!==null,n&&(s=t.child,c=null,s.alternate!==null&&s.alternate.memoizedState!==null&&s.alternate.memoizedState.cachePool!==null&&(c=s.alternate.memoizedState.cachePool.pool),u=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(u=s.memoizedState.cachePool.pool),u!==c&&(s.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Xi(t,t.updateQueue),$e(t),null);case 4:return ne(),e===null&&Kc(t.stateNode.containerInfo),$e(t),null;case 10:return vn(t.type),$e(t),null;case 19:if(Y(Fe),s=t.memoizedState,s===null)return $e(t),null;if(c=(t.flags&128)!==0,u=s.rendering,u===null)if(c)ps(s,!1);else{if(Ke!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(u=ki(e),u!==null){for(t.flags|=128,ps(s,!1),e=u.updateQueue,t.updateQueue=e,Xi(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Od(n,e),n=n.sibling;return te(Fe,Fe.current&1|2),Ee&&gn(t,s.treeForkCount),t.child}e=e.sibling}s.tail!==null&<()>Ji&&(t.flags|=128,c=!0,ps(s,!1),t.lanes=4194304)}else{if(!c)if(e=ki(u),e!==null){if(t.flags|=128,c=!0,e=e.updateQueue,t.updateQueue=e,Xi(t,e),ps(s,!0),s.tail===null&&s.tailMode==="hidden"&&!u.alternate&&!Ee)return $e(t),null}else 2*lt()-s.renderingStartTime>Ji&&n!==536870912&&(t.flags|=128,c=!0,ps(s,!1),t.lanes=4194304);s.isBackwards?(u.sibling=t.child,t.child=u):(e=s.last,e!==null?e.sibling=u:t.child=u,s.last=u)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=lt(),e.sibling=null,n=Fe.current,te(Fe,c?n&1|2:n&1),Ee&&gn(t,s.treeForkCount),e):($e(t),null);case 22:case 23:return qt(t),Zo(),s=t.memoizedState!==null,e!==null?e.memoizedState!==null!==s&&(t.flags|=8192):s&&(t.flags|=8192),s?(n&536870912)!==0&&(t.flags&128)===0&&($e(t),t.subtreeFlags&6&&(t.flags|=8192)):$e(t),n=t.updateQueue,n!==null&&Xi(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),s=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),s!==n&&(t.flags|=2048),e!==null&&Y(Aa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),vn(Pe),$e(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function Av(e,t){switch(_o(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return vn(Pe),ne(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ke(t),null;case 31:if(t.memoizedState!==null){if(qt(t),t.alternate===null)throw Error(r(340));ya()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(qt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));ya()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Y(Fe),null;case 4:return ne(),null;case 10:return vn(t.type),null;case 22:case 23:return qt(t),Zo(),e!==null&&Y(Aa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return vn(Pe),null;case 25:return null;default:return null}}function oh(e,t){switch(_o(t),t.tag){case 3:vn(Pe),ne();break;case 26:case 27:case 5:ke(t);break;case 4:ne();break;case 31:t.memoizedState!==null&&qt(t);break;case 13:qt(t);break;case 19:Y(Fe);break;case 10:vn(t.type);break;case 22:case 23:qt(t),Zo(),e!==null&&Y(Aa);break;case 24:vn(Pe)}}function gs(e,t){try{var n=t.updateQueue,s=n!==null?n.lastEffect:null;if(s!==null){var c=s.next;n=c;do{if((n.tag&e)===e){s=void 0;var u=n.create,g=n.inst;s=u(),g.destroy=s}n=n.next}while(n!==c)}}catch(y){Oe(t,t.return,y)}}function Zn(e,t,n){try{var s=t.updateQueue,c=s!==null?s.lastEffect:null;if(c!==null){var u=c.next;s=u;do{if((s.tag&e)===e){var g=s.inst,y=g.destroy;if(y!==void 0){g.destroy=void 0,c=t;var T=n,U=y;try{U()}catch(Q){Oe(c,T,Q)}}}s=s.next}while(s!==u)}}catch(Q){Oe(t,t.return,Q)}}function ch(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Pd(t,n)}catch(s){Oe(e,e.return,s)}}}function uh(e,t,n){n.props=Ca(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(s){Oe(e,t,s)}}function xs(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var s=e.stateNode;break;case 30:s=e.stateNode;break;default:s=e.stateNode}typeof n=="function"?e.refCleanup=n(s):n.current=s}}catch(c){Oe(e,t,c)}}function nn(e,t){var n=e.ref,s=e.refCleanup;if(n!==null)if(typeof s=="function")try{s()}catch(c){Oe(e,t,c)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(c){Oe(e,t,c)}else n.current=null}function fh(e){var t=e.type,n=e.memoizedProps,s=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&s.focus();break e;case"img":n.src?s.src=n.src:n.srcSet&&(s.srcset=n.srcSet)}}catch(c){Oe(e,e.return,c)}}function Ec(e,t,n){try{var s=e.stateNode;Gv(s,e.type,n,t),s[vt]=t}catch(c){Oe(e,e.return,c)}}function dh(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ta(e.type)||e.tag===4}function Cc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||dh(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&ta(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function qc(e,t,n){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=mn));else if(s!==4&&(s===27&&ta(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(qc(e,t,n),e=e.sibling;e!==null;)qc(e,t,n),e=e.sibling}function Qi(e,t,n){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(s!==4&&(s===27&&ta(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Qi(e,t,n),e=e.sibling;e!==null;)Qi(e,t,n),e=e.sibling}function mh(e){var t=e.stateNode,n=e.memoizedProps;try{for(var s=e.type,c=t.attributes;c.length;)t.removeAttributeNode(c[0]);mt(t,s,n),t[ct]=e,t[vt]=n}catch(u){Oe(e,e.return,u)}}var jn=!1,nt=!1,Mc=!1,hh=typeof WeakSet=="function"?WeakSet:Set,rt=null;function jv(e,t){if(e=e.containerInfo,Jc=mr,e=Ed(e),Ao(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var s=n.getSelection&&n.getSelection();if(s&&s.rangeCount!==0){n=s.anchorNode;var c=s.anchorOffset,u=s.focusNode;s=s.focusOffset;try{n.nodeType,u.nodeType}catch{n=null;break e}var g=0,y=-1,T=-1,U=0,Q=0,P=e,H=null;t:for(;;){for(var $;P!==n||c!==0&&P.nodeType!==3||(y=g+c),P!==u||s!==0&&P.nodeType!==3||(T=g+s),P.nodeType===3&&(g+=P.nodeValue.length),($=P.firstChild)!==null;)H=P,P=$;for(;;){if(P===e)break t;if(H===n&&++U===c&&(y=g),H===u&&++Q===s&&(T=g),($=P.nextSibling)!==null)break;P=H,H=P.parentNode}P=$}n=y===-1||T===-1?null:{start:y,end:T}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ic={focusedElem:e,selectionRange:n},mr=!1,rt=t;rt!==null;)if(t=rt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,rt=e;else for(;rt!==null;){switch(t=rt,u=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n title"))),mt(u,s,n),u[ct]=e,it(u),s=u;break e;case"link":var g=bp("link","href",c).get(s+(n.href||""));if(g){for(var y=0;yUe&&(g=Ue,Ue=he,he=g);var D=Nd(y,he),R=Nd(y,Ue);if(D&&R&&($.rangeCount!==1||$.anchorNode!==D.node||$.anchorOffset!==D.offset||$.focusNode!==R.node||$.focusOffset!==R.offset)){var z=P.createRange();z.setStart(D.node,D.offset),$.removeAllRanges(),he>Ue?($.addRange(z),$.extend(R.node,R.offset)):(z.setEnd(R.node,R.offset),$.addRange(z))}}}}for(P=[],$=y;$=$.parentNode;)$.nodeType===1&&P.push({element:$,left:$.scrollLeft,top:$.scrollTop});for(typeof y.focus=="function"&&y.focus(),y=0;yn?32:n,_.T=null,n=Bc,Bc=null;var u=Wn,g=qn;if(st=0,gl=Wn=null,qn=0,(Re&6)!==0)throw Error(r(331));var y=Re;if(Re|=4,wh(u.current),Ah(u,u.current,g,n),Re=y,js(0,!1),_e&&typeof _e.onPostCommitFiberRoot=="function")try{_e.onPostCommitFiberRoot(be,u)}catch{}return!0}finally{W.p=c,_.T=s,$h(e,t)}}function Xh(e,t,n){t=zt(n,t),t=pc(e.stateNode,t,2),e=Xn(e,t,2),e!==null&&($l(e,2),an(e))}function Oe(e,t,n){if(e.tag===3)Xh(e,e,n);else for(;t!==null;){if(t.tag===3){Xh(t,e,n);break}else if(t.tag===1){var s=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(In===null||!In.has(s))){e=zt(n,e),n=Qm(2),s=Xn(t,n,2),s!==null&&(Km(n,s,t,e),$l(s,2),an(s));break}}t=t.return}}function Hc(e,t,n){var s=e.pingCache;if(s===null){s=e.pingCache=new Ev;var c=new Set;s.set(t,c)}else c=s.get(t),c===void 0&&(c=new Set,s.set(t,c));c.has(n)||(kc=!0,c.add(n),e=Rv.bind(null,e,t,n),t.then(e,e))}function Rv(e,t,n){var s=e.pingCache;s!==null&&s.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,He===e&&(Ne&n)===n&&(Ke===4||Ke===3&&(Ne&62914560)===Ne&&300>lt()-Fi?(Re&2)===0&&xl(e,0):_c|=n,pl===Ne&&(pl=0)),an(e)}function Qh(e,t){t===0&&(t=Hf()),e=xa(e,t),e!==null&&($l(e,t),an(e))}function kv(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Qh(e,n)}function _v(e,t){var n=0;switch(e.tag){case 31:case 13:var s=e.stateNode,c=e.memoizedState;c!==null&&(n=c.retryLane);break;case 19:s=e.stateNode;break;case 22:s=e.stateNode._retryCache;break;default:throw Error(r(314))}s!==null&&s.delete(t),Qh(e,n)}function Dv(e,t){return ua(e,t)}var nr=null,yl=null,Vc=!1,ar=!1,Yc=!1,ea=0;function an(e){e!==yl&&e.next===null&&(yl===null?nr=yl=e:yl=yl.next=e),ar=!0,Vc||(Vc=!0,Bv())}function js(e,t){if(!Yc&&ar){Yc=!0;do for(var n=!1,s=nr;s!==null;){if(e!==0){var c=s.pendingLanes;if(c===0)var u=0;else{var g=s.suspendedLanes,y=s.pingedLanes;u=(1<<31-Se(42|e)+1)-1,u&=c&~(g&~y),u=u&201326741?u&201326741|1:u?u|2:0}u!==0&&(n=!0,Jh(s,u))}else u=Ne,u=ri(s,s===He?u:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),(u&3)===0||Yl(s,u)||(n=!0,Jh(s,u));s=s.next}while(n);Yc=!1}}function Ov(){Kh()}function Kh(){ar=Vc=!1;var e=0;ea!==0&&Qv()&&(e=ea);for(var t=lt(),n=null,s=nr;s!==null;){var c=s.next,u=Zh(s,t);u===0?(s.next=null,n===null?nr=c:n.next=c,c===null&&(yl=n)):(n=s,(e!==0||(u&3)!==0)&&(ar=!0)),s=c}st!==0&&st!==5||js(e),ea!==0&&(ea=0)}function Zh(e,t){for(var n=e.suspendedLanes,s=e.pingedLanes,c=e.expirationTimes,u=e.pendingLanes&-62914561;0y)break;var Q=T.transferSize,P=T.initiatorType;Q&&lp(P)&&(T=T.responseEnd,g+=Q*(T"u"?null:document;function gp(e,t,n){var s=bl;if(s&&typeof t=="string"&&t){var c=Ot(t);c='link[rel="'+e+'"][href="'+c+'"]',typeof n=="string"&&(c+='[crossorigin="'+n+'"]'),pp.has(c)||(pp.add(c),e={rel:e,crossOrigin:n,href:t},s.querySelector(c)===null&&(t=s.createElement("link"),mt(t,"link",e),it(t),s.head.appendChild(t)))}}function ty(e){Mn.D(e),gp("dns-prefetch",e,null)}function ny(e,t){Mn.C(e,t),gp("preconnect",e,t)}function ay(e,t,n){Mn.L(e,t,n);var s=bl;if(s&&e&&t){var c='link[rel="preload"][as="'+Ot(t)+'"]';t==="image"&&n&&n.imageSrcSet?(c+='[imagesrcset="'+Ot(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(c+='[imagesizes="'+Ot(n.imageSizes)+'"]')):c+='[href="'+Ot(e)+'"]';var u=c;switch(t){case"style":u=Sl(e);break;case"script":u=Al(e)}$t.has(u)||(e=S({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),$t.set(u,e),s.querySelector(c)!==null||t==="style"&&s.querySelector(Cs(u))||t==="script"&&s.querySelector(qs(u))||(t=s.createElement("link"),mt(t,"link",e),it(t),s.head.appendChild(t)))}}function ly(e,t){Mn.m(e,t);var n=bl;if(n&&e){var s=t&&typeof t.as=="string"?t.as:"script",c='link[rel="modulepreload"][as="'+Ot(s)+'"][href="'+Ot(e)+'"]',u=c;switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":u=Al(e)}if(!$t.has(u)&&(e=S({rel:"modulepreload",href:e},t),$t.set(u,e),n.querySelector(c)===null)){switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(qs(u)))return}s=n.createElement("link"),mt(s,"link",e),it(s),n.head.appendChild(s)}}}function sy(e,t,n){Mn.S(e,t,n);var s=bl;if(s&&e){var c=$a(s).hoistableStyles,u=Sl(e);t=t||"default";var g=c.get(u);if(!g){var y={loading:0,preload:null};if(g=s.querySelector(Cs(u)))y.loading=5;else{e=S({rel:"stylesheet",href:e,"data-precedence":t},n),(n=$t.get(u))&&lu(e,n);var T=g=s.createElement("link");it(T),mt(T,"link",e),T._p=new Promise(function(U,Q){T.onload=U,T.onerror=Q}),T.addEventListener("load",function(){y.loading|=1}),T.addEventListener("error",function(){y.loading|=2}),y.loading|=4,or(g,t,s)}g={type:"stylesheet",instance:g,count:1,state:y},c.set(u,g)}}}function iy(e,t){Mn.X(e,t);var n=bl;if(n&&e){var s=$a(n).hoistableScripts,c=Al(e),u=s.get(c);u||(u=n.querySelector(qs(c)),u||(e=S({src:e,async:!0},t),(t=$t.get(c))&&su(e,t),u=n.createElement("script"),it(u),mt(u,"link",e),n.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},s.set(c,u))}}function ry(e,t){Mn.M(e,t);var n=bl;if(n&&e){var s=$a(n).hoistableScripts,c=Al(e),u=s.get(c);u||(u=n.querySelector(qs(c)),u||(e=S({src:e,async:!0,type:"module"},t),(t=$t.get(c))&&su(e,t),u=n.createElement("script"),it(u),mt(u,"link",e),n.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},s.set(c,u))}}function xp(e,t,n,s){var c=(c=re.current)?rr(c):null;if(!c)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Sl(n.href),n=$a(c).hoistableStyles,s=n.get(t),s||(s={type:"style",instance:null,count:0,state:null},n.set(t,s)),s):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Sl(n.href);var u=$a(c).hoistableStyles,g=u.get(e);if(g||(c=c.ownerDocument||c,g={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},u.set(e,g),(u=c.querySelector(Cs(e)))&&!u._p&&(g.instance=u,g.state.loading=5),$t.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},$t.set(e,n),u||oy(c,e,n,g.state))),t&&s===null)throw Error(r(528,""));return g}if(t&&s!==null)throw Error(r(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Al(n),n=$a(c).hoistableScripts,s=n.get(t),s||(s={type:"script",instance:null,count:0,state:null},n.set(t,s)),s):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function Sl(e){return'href="'+Ot(e)+'"'}function Cs(e){return'link[rel="stylesheet"]['+e+"]"}function vp(e){return S({},e,{"data-precedence":e.precedence,precedence:null})}function oy(e,t,n,s){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?s.loading=1:(t=e.createElement("link"),s.preload=t,t.addEventListener("load",function(){return s.loading|=1}),t.addEventListener("error",function(){return s.loading|=2}),mt(t,"link",n),it(t),e.head.appendChild(t))}function Al(e){return'[src="'+Ot(e)+'"]'}function qs(e){return"script[async]"+e}function yp(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var s=e.querySelector('style[data-href~="'+Ot(n.href)+'"]');if(s)return t.instance=s,it(s),s;var c=S({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return s=(e.ownerDocument||e).createElement("style"),it(s),mt(s,"style",c),or(s,n.precedence,e),t.instance=s;case"stylesheet":c=Sl(n.href);var u=e.querySelector(Cs(c));if(u)return t.state.loading|=4,t.instance=u,it(u),u;s=vp(n),(c=$t.get(c))&&lu(s,c),u=(e.ownerDocument||e).createElement("link"),it(u);var g=u;return g._p=new Promise(function(y,T){g.onload=y,g.onerror=T}),mt(u,"link",s),t.state.loading|=4,or(u,n.precedence,e),t.instance=u;case"script":return u=Al(n.src),(c=e.querySelector(qs(u)))?(t.instance=c,it(c),c):(s=n,(c=$t.get(u))&&(s=S({},n),su(s,c)),e=e.ownerDocument||e,c=e.createElement("script"),it(c),mt(c,"link",s),e.head.appendChild(c),t.instance=c);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(s=t.instance,t.state.loading|=4,or(s,n.precedence,e));return t.instance}function or(e,t,n){for(var s=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),c=s.length?s[s.length-1]:null,u=c,g=0;g title"):null)}function cy(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Ap(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function uy(e,t,n,s){if(n.type==="stylesheet"&&(typeof s.media!="string"||matchMedia(s.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var c=Sl(s.href),u=t.querySelector(Cs(c));if(u){t=u._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ur.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=u,it(u);return}u=t.ownerDocument||t,s=vp(s),(c=$t.get(c))&&lu(s,c),u=u.createElement("link"),it(u);var g=u;g._p=new Promise(function(y,T){g.onload=y,g.onerror=T}),mt(u,"link",s),n.instance=u}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=ur.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var iu=0;function fy(e,t){return e.stylesheets&&e.count===0&&dr(e,e.stylesheets),0iu?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(s),clearTimeout(c)}}:null}function ur(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)dr(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var fr=null;function dr(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,fr=new Map,t.forEach(dy,e),fr=null,ur.call(e))}function dy(e,t){if(!(t.state.loading&4)){var n=fr.get(e);if(n)var s=n.get(null);else{n=new Map,fr.set(e,n);for(var c=e.querySelectorAll("link[data-precedence],style[data-precedence]"),u=0;u"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(l){console.error(l)}}return a(),pu.exports=My(),pu.exports}var Ry=Ty();var Qp="popstate";function ky(a={}){function l(r,f){let{pathname:d,search:h,hash:x}=r.location;return $u("",{pathname:d,search:h,hash:x},f.state&&f.state.usr||null,f.state&&f.state.key||"default")}function i(r,f){return typeof f=="string"?f:Gs(f)}return Dy(l,i,null,a)}function Xe(a,l){if(a===!1||a===null||typeof a>"u")throw new Error(l)}function Pt(a,l){if(!a){typeof console<"u"&&console.warn(l);try{throw new Error(l)}catch{}}}function _y(){return Math.random().toString(36).substring(2,10)}function Kp(a,l){return{usr:a.state,key:a.key,idx:l}}function $u(a,l,i=null,r){return{pathname:typeof a=="string"?a:a.pathname,search:"",hash:"",...typeof l=="string"?Dl(l):l,state:i,key:l&&l.key||r||_y()}}function Gs({pathname:a="/",search:l="",hash:i=""}){return l&&l!=="?"&&(a+=l.charAt(0)==="?"?l:"?"+l),i&&i!=="#"&&(a+=i.charAt(0)==="#"?i:"#"+i),a}function Dl(a){let l={};if(a){let i=a.indexOf("#");i>=0&&(l.hash=a.substring(i),a=a.substring(0,i));let r=a.indexOf("?");r>=0&&(l.search=a.substring(r),a=a.substring(0,r)),a&&(l.pathname=a)}return l}function Dy(a,l,i,r={}){let{window:f=document.defaultView,v5Compat:d=!1}=r,h=f.history,x="POP",p=null,v=b();v==null&&(v=0,h.replaceState({...h.state,idx:v},""));function b(){return(h.state||{idx:null}).idx}function S(){x="POP";let j=b(),M=j==null?null:j-v;v=j,p&&p({action:x,location:A.location,delta:M})}function N(j,M){x="PUSH";let w=$u(A.location,j,M);v=b()+1;let k=Kp(w,v),L=A.createHref(w);try{h.pushState(k,"",L)}catch(V){if(V instanceof DOMException&&V.name==="DataCloneError")throw V;f.location.assign(L)}d&&p&&p({action:x,location:A.location,delta:1})}function q(j,M){x="REPLACE";let w=$u(A.location,j,M);v=b();let k=Kp(w,v),L=A.createHref(w);h.replaceState(k,"",L),d&&p&&p({action:x,location:A.location,delta:0})}function C(j){return Oy(j)}let A={get action(){return x},get location(){return a(f,h)},listen(j){if(p)throw new Error("A history only accepts one active listener");return f.addEventListener(Qp,S),p=j,()=>{f.removeEventListener(Qp,S),p=null}},createHref(j){return l(f,j)},createURL:C,encodeLocation(j){let M=C(j);return{pathname:M.pathname,search:M.search,hash:M.hash}},push:N,replace:q,go(j){return h.go(j)}};return A}function Oy(a,l=!1){let i="http://localhost";typeof window<"u"&&(i=window.location.origin!=="null"?window.location.origin:window.location.href),Xe(i,"No window.location.(origin|href) available to create URL");let r=typeof a=="string"?a:Gs(a);return r=r.replace(/ $/,"%20"),!l&&r.startsWith("//")&&(r=i+r),new URL(r,i)}function z0(a,l,i="/"){return By(a,l,i,!1)}function By(a,l,i,r){let f=typeof l=="string"?Dl(l):l,d=On(f.pathname||"/",i);if(d==null)return null;let h=L0(a);zy(h);let x=null;for(let p=0;x==null&&p{let b={relativePath:v===void 0?h.path||"":v,caseSensitive:h.caseSensitive===!0,childrenIndex:x,route:h};if(b.relativePath.startsWith("/")){if(!b.relativePath.startsWith(r)&&p)return;Xe(b.relativePath.startsWith(r),`Absolute route path "${b.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),b.relativePath=b.relativePath.slice(r.length)}let S=Dn([r,b.relativePath]),N=i.concat(b);h.children&&h.children.length>0&&(Xe(h.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${S}".`),L0(h.children,l,N,S,p)),!(h.path==null&&!h.index)&&l.push({path:S,score:Gy(S,h.index),routesMeta:N})};return a.forEach((h,x)=>{if(h.path===""||!h.path?.includes("?"))d(h,x);else for(let p of U0(h.path))d(h,x,!0,p)}),l}function U0(a){let l=a.split("/");if(l.length===0)return[];let[i,...r]=l,f=i.endsWith("?"),d=i.replace(/\?$/,"");if(r.length===0)return f?[d,""]:[d];let h=U0(r.join("/")),x=[];return x.push(...h.map(p=>p===""?d:[d,p].join("/"))),f&&x.push(...h),x.map(p=>a.startsWith("/")&&p===""?"/":p)}function zy(a){a.sort((l,i)=>l.score!==i.score?i.score-l.score:Xy(l.routesMeta.map(r=>r.childrenIndex),i.routesMeta.map(r=>r.childrenIndex)))}var Ly=/^:[\w-]+$/,Uy=3,Hy=2,Vy=1,Yy=10,$y=-2,Zp=a=>a==="*";function Gy(a,l){let i=a.split("/"),r=i.length;return i.some(Zp)&&(r+=$y),l&&(r+=Hy),i.filter(f=>!Zp(f)).reduce((f,d)=>f+(Ly.test(d)?Uy:d===""?Vy:Yy),r)}function Xy(a,l){return a.length===l.length&&a.slice(0,-1).every((r,f)=>r===l[f])?a[a.length-1]-l[l.length-1]:0}function Qy(a,l,i=!1){let{routesMeta:r}=a,f={},d="/",h=[];for(let x=0;x{if(b==="*"){let C=x[N]||"";h=d.slice(0,d.length-C.length).replace(/(.)\/+$/,"$1")}const q=x[N];return S&&!q?v[b]=void 0:v[b]=(q||"").replace(/%2F/g,"/"),v},{}),pathname:d,pathnameBase:h,pattern:a}}function Ky(a,l=!1,i=!0){Pt(a==="*"||!a.endsWith("*")||a.endsWith("/*"),`Route path "${a}" will be treated as if it were "${a.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${a.replace(/\*$/,"/*")}".`);let r=[],f="^"+a.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(h,x,p)=>(r.push({paramName:x,isOptional:p!=null}),p?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return a.endsWith("*")?(r.push({paramName:"*"}),f+=a==="*"||a==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):i?f+="\\/*$":a!==""&&a!=="/"&&(f+="(?:(?=\\/|$))"),[new RegExp(f,l?void 0:"i"),r]}function Zy(a){try{return a.split("/").map(l=>decodeURIComponent(l).replace(/\//g,"%2F")).join("/")}catch(l){return Pt(!1,`The URL path "${a}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${l}).`),a}}function On(a,l){if(l==="/")return a;if(!a.toLowerCase().startsWith(l.toLowerCase()))return null;let i=l.endsWith("/")?l.length-1:l.length,r=a.charAt(i);return r&&r!=="/"?null:a.slice(i)||"/"}var Fy=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Jy=a=>Fy.test(a);function Iy(a,l="/"){let{pathname:i,search:r="",hash:f=""}=typeof a=="string"?Dl(a):a,d;if(i)if(Jy(i))d=i;else{if(i.includes("//")){let h=i;i=i.replace(/\/\/+/g,"/"),Pt(!1,`Pathnames cannot have embedded double slashes - normalizing ${h} -> ${i}`)}i.startsWith("/")?d=Fp(i.substring(1),"/"):d=Fp(i,l)}else d=l;return{pathname:d,search:eb(r),hash:tb(f)}}function Fp(a,l){let i=l.replace(/\/+$/,"").split("/");return a.split("/").forEach(f=>{f===".."?i.length>1&&i.pop():f!=="."&&i.push(f)}),i.length>1?i.join("/"):"/"}function yu(a,l,i,r){return`Cannot include a '${a}' character in a manually specified \`to.${l}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${i}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function Wy(a){return a.filter((l,i)=>i===0||l.route.path&&l.route.path.length>0)}function H0(a){let l=Wy(a);return l.map((i,r)=>r===l.length-1?i.pathname:i.pathnameBase)}function V0(a,l,i,r=!1){let f;typeof a=="string"?f=Dl(a):(f={...a},Xe(!f.pathname||!f.pathname.includes("?"),yu("?","pathname","search",f)),Xe(!f.pathname||!f.pathname.includes("#"),yu("#","pathname","hash",f)),Xe(!f.search||!f.search.includes("#"),yu("#","search","hash",f)));let d=a===""||f.pathname==="",h=d?"/":f.pathname,x;if(h==null)x=i;else{let S=l.length-1;if(!r&&h.startsWith("..")){let N=h.split("/");for(;N[0]==="..";)N.shift(),S-=1;f.pathname=N.join("/")}x=S>=0?l[S]:"/"}let p=Iy(f,x),v=h&&h!=="/"&&h.endsWith("/"),b=(d||h===".")&&i.endsWith("/");return!p.pathname.endsWith("/")&&(v||b)&&(p.pathname+="/"),p}var Dn=a=>a.join("/").replace(/\/\/+/g,"/"),Py=a=>a.replace(/\/+$/,"").replace(/^\/*/,"/"),eb=a=>!a||a==="?"?"":a.startsWith("?")?a:"?"+a,tb=a=>!a||a==="#"?"":a.startsWith("#")?a:"#"+a;function nb(a){return a!=null&&typeof a.status=="number"&&typeof a.statusText=="string"&&typeof a.internal=="boolean"&&"data"in a}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Y0=["POST","PUT","PATCH","DELETE"];new Set(Y0);var ab=["GET",...Y0];new Set(ab);var Ol=m.createContext(null);Ol.displayName="DataRouter";var Yr=m.createContext(null);Yr.displayName="DataRouterState";m.createContext(!1);var $0=m.createContext({isTransitioning:!1});$0.displayName="ViewTransition";var lb=m.createContext(new Map);lb.displayName="Fetchers";var sb=m.createContext(null);sb.displayName="Await";var cn=m.createContext(null);cn.displayName="Navigation";var Is=m.createContext(null);Is.displayName="Location";var Bn=m.createContext({outlet:null,matches:[],isDataRoute:!1});Bn.displayName="Route";var of=m.createContext(null);of.displayName="RouteError";function ib(a,{relative:l}={}){Xe(Ws(),"useHref() may be used only in the context of a component.");let{basename:i,navigator:r}=m.useContext(cn),{hash:f,pathname:d,search:h}=Ps(a,{relative:l}),x=d;return i!=="/"&&(x=d==="/"?i:Dn([i,d])),r.createHref({pathname:x,search:h,hash:f})}function Ws(){return m.useContext(Is)!=null}function Ba(){return Xe(Ws(),"useLocation() may be used only in the context of a component."),m.useContext(Is).location}var G0="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function X0(a){m.useContext(cn).static||m.useLayoutEffect(a)}function rb(){let{isDataRoute:a}=m.useContext(Bn);return a?bb():ob()}function ob(){Xe(Ws(),"useNavigate() may be used only in the context of a component.");let a=m.useContext(Ol),{basename:l,navigator:i}=m.useContext(cn),{matches:r}=m.useContext(Bn),{pathname:f}=Ba(),d=JSON.stringify(H0(r)),h=m.useRef(!1);return X0(()=>{h.current=!0}),m.useCallback((p,v={})=>{if(Pt(h.current,G0),!h.current)return;if(typeof p=="number"){i.go(p);return}let b=V0(p,JSON.parse(d),f,v.relative==="path");a==null&&l!=="/"&&(b.pathname=b.pathname==="/"?l:Dn([l,b.pathname])),(v.replace?i.replace:i.push)(b,v.state,v)},[l,i,d,f,a])}m.createContext(null);function Ps(a,{relative:l}={}){let{matches:i}=m.useContext(Bn),{pathname:r}=Ba(),f=JSON.stringify(H0(i));return m.useMemo(()=>V0(a,JSON.parse(f),r,l==="path"),[a,f,r,l])}function cb(a,l){return Q0(a,l)}function Q0(a,l,i,r,f){Xe(Ws(),"useRoutes() may be used only in the context of a component.");let{navigator:d}=m.useContext(cn),{matches:h}=m.useContext(Bn),x=h[h.length-1],p=x?x.params:{},v=x?x.pathname:"/",b=x?x.pathnameBase:"/",S=x&&x.route;{let w=S&&S.path||"";K0(v,!S||w.endsWith("*")||w.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${v}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. +`+s.stack}}var Ll=Object.prototype.hasOwnProperty,ua=a.unstable_scheduleCallback,fn=a.unstable_cancelCallback,La=a.unstable_shouldYield,Ul=a.unstable_requestPaint,lt=a.unstable_now,Hl=a.unstable_getCurrentPriorityLevel,fa=a.unstable_ImmediatePriority,Vl=a.unstable_UserBlockingPriority,Ua=a.unstable_NormalPriority,Wr=a.unstable_LowPriority,ni=a.unstable_IdlePriority,ai=a.log,Qt=a.unstable_setDisableYieldValue,be=null,_e=null;function Ze(e){if(typeof ai=="function"&&Qt(e),_e&&typeof _e.setStrictMode=="function")try{_e.setStrictMode(be,e)}catch{}}var Se=Math.clz32?Math.clz32:Pr,We=Math.log,Ve=Math.LN2;function Pr(e){return e>>>=0,e===0?32:31-(We(e)/Ve|0)|0}var li=256,si=262144,ii=4194304;function da(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ri(e,t,n){var s=e.pendingLanes;if(s===0)return 0;var c=0,u=e.suspendedLanes,g=e.pingedLanes;e=e.warmLanes;var y=s&134217727;return y!==0?(s=y&~u,s!==0?c=da(s):(g&=y,g!==0?c=da(g):n||(n=y&~e,n!==0&&(c=da(n))))):(y=s&~u,y!==0?c=da(y):g!==0?c=da(g):n||(n=s&~e,n!==0&&(c=da(n)))),c===0?0:t!==0&&t!==c&&(t&u)===0&&(u=c&-c,n=t&-t,u>=n||u===32&&(n&4194048)!==0)?t:c}function Yl(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function ox(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Hf(){var e=ii;return ii<<=1,(ii&62914560)===0&&(ii=4194304),e}function eo(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function $l(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function cx(e,t,n,s,c,u){var g=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var y=e.entanglements,T=e.expirationTimes,U=e.hiddenUpdates;for(n=g&~n;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var px=/[\n"\\]/g;function Ot(e){return e.replace(px,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function io(e,t,n,s,c,u,g,y){e.name="",g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"?e.type=g:e.removeAttribute("type"),t!=null?g==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Dt(t)):e.value!==""+Dt(t)&&(e.value=""+Dt(t)):g!=="submit"&&g!=="reset"||e.removeAttribute("value"),t!=null?ro(e,g,Dt(t)):n!=null?ro(e,g,Dt(n)):s!=null&&e.removeAttribute("value"),c==null&&u!=null&&(e.defaultChecked=!!u),c!=null&&(e.checked=c&&typeof c!="function"&&typeof c!="symbol"),y!=null&&typeof y!="function"&&typeof y!="symbol"&&typeof y!="boolean"?e.name=""+Dt(y):e.removeAttribute("name")}function Pf(e,t,n,s,c,u,g,y){if(u!=null&&typeof u!="function"&&typeof u!="symbol"&&typeof u!="boolean"&&(e.type=u),t!=null||n!=null){if(!(u!=="submit"&&u!=="reset"||t!=null)){so(e);return}n=n!=null?""+Dt(n):"",t=t!=null?""+Dt(t):n,y||t===e.value||(e.value=t),e.defaultValue=t}s=s??c,s=typeof s!="function"&&typeof s!="symbol"&&!!s,e.checked=y?e.checked:!!s,e.defaultChecked=!!s,g!=null&&typeof g!="function"&&typeof g!="symbol"&&typeof g!="boolean"&&(e.name=g),so(e)}function ro(e,t,n){t==="number"&&ui(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Xa(e,t,n,s){if(e=e.options,t){t={};for(var c=0;c"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),mo=!1;if(hn)try{var Kl={};Object.defineProperty(Kl,"passive",{get:function(){mo=!0}}),window.addEventListener("test",Kl,Kl),window.removeEventListener("test",Kl,Kl)}catch{mo=!1}var Ln=null,ho=null,di=null;function id(){if(di)return di;var e,t=ho,n=t.length,s,c="value"in Ln?Ln.value:Ln.textContent,u=c.length;for(e=0;e=Jl),dd=" ",md=!1;function hd(e,t){switch(e){case"keyup":return $x.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function pd(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Fa=!1;function Xx(e,t){switch(e){case"compositionend":return pd(t);case"keypress":return t.which!==32?null:(md=!0,dd);case"textInput":return e=t.data,e===dd&&md?null:e;default:return null}}function Qx(e,t){if(Fa)return e==="compositionend"||!yo&&hd(e,t)?(e=id(),di=ho=Ln=null,Fa=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=s}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=jd(n)}}function wd(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?wd(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Ed(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ui(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=ui(e.document)}return t}function Ao(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var ev=hn&&"documentMode"in document&&11>=document.documentMode,Ja=null,jo=null,es=null,No=!1;function Cd(e,t,n){var s=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;No||Ja==null||Ja!==ui(s)||(s=Ja,"selectionStart"in s&&Ao(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),es&&Pl(es,s)||(es=s,s=sr(jo,"onSelect"),0>=g,c-=g,en=1<<32-Se(t)+c|n<ye?(we=de,de=null):we=de.sibling;var Te=V(D,de,L[ye],I);if(Te===null){de===null&&(de=we);break}e&&de&&Te.alternate===null&&t(D,de),k=u(Te,k,ye),Me===null?me=Te:Me.sibling=Te,Me=Te,de=we}if(ye===L.length)return n(D,de),Ee&&gn(D,ye),me;if(de===null){for(;yeye?(we=de,de=null):we=de.sibling;var ia=V(D,de,Te.value,I);if(ia===null){de===null&&(de=we);break}e&&de&&ia.alternate===null&&t(D,de),k=u(ia,k,ye),Me===null?me=ia:Me.sibling=ia,Me=ia,de=we}if(Te.done)return n(D,de),Ee&&gn(D,ye),me;if(de===null){for(;!Te.done;ye++,Te=L.next())Te=P(D,Te.value,I),Te!==null&&(k=u(Te,k,ye),Me===null?me=Te:Me.sibling=Te,Me=Te);return Ee&&gn(D,ye),me}for(de=s(de);!Te.done;ye++,Te=L.next())Te=$(de,D,ye,Te.value,I),Te!==null&&(e&&Te.alternate!==null&&de.delete(Te.key===null?ye:Te.key),k=u(Te,k,ye),Me===null?me=Te:Me.sibling=Te,Me=Te);return e&&de.forEach(function(by){return t(D,by)}),Ee&&gn(D,ye),me}function Ue(D,k,L,I){if(typeof L=="object"&&L!==null&&L.type===A&&L.key===null&&(L=L.props.children),typeof L=="object"&&L!==null){switch(L.$$typeof){case q:e:{for(var me=L.key;k!==null;){if(k.key===me){if(me=L.type,me===A){if(k.tag===7){n(D,k.sibling),I=c(k,L.props.children),I.return=D,D=I;break e}}else if(k.elementType===me||typeof me=="object"&&me!==null&&me.$$typeof===F&&ja(me)===k.type){n(D,k.sibling),I=c(k,L.props),is(I,L),I.return=D,D=I;break e}n(D,k);break}else t(D,k);k=k.sibling}L.type===A?(I=va(L.props.children,D.mode,I,L.key),I.return=D,D=I):(I=Ai(L.type,L.key,L.props,null,D.mode,I),is(I,L),I.return=D,D=I)}return g(D);case C:e:{for(me=L.key;k!==null;){if(k.key===me)if(k.tag===4&&k.stateNode.containerInfo===L.containerInfo&&k.stateNode.implementation===L.implementation){n(D,k.sibling),I=c(k,L.children||[]),I.return=D,D=I;break e}else{n(D,k);break}else t(D,k);k=k.sibling}I=Ro(L,D.mode,I),I.return=D,D=I}return g(D);case F:return L=ja(L),Ue(D,k,L,I)}if(ae(L))return ue(D,k,L,I);if(Z(L)){if(me=Z(L),typeof me!="function")throw Error(r(150));return L=me.call(L),he(D,k,L,I)}if(typeof L.then=="function")return Ue(D,k,Mi(L),I);if(L.$$typeof===R)return Ue(D,k,wi(D,L),I);Ti(D,L)}return typeof L=="string"&&L!==""||typeof L=="number"||typeof L=="bigint"?(L=""+L,k!==null&&k.tag===6?(n(D,k.sibling),I=c(k,L),I.return=D,D=I):(n(D,k),I=To(L,D.mode,I),I.return=D,D=I),g(D)):n(D,k)}return function(D,k,L,I){try{ss=0;var me=Ue(D,k,L,I);return rl=null,me}catch(de){if(de===il||de===Ci)throw de;var Me=Et(29,de,null,D.mode);return Me.lanes=I,Me.return=D,Me}finally{}}}var wa=Jd(!0),Id=Jd(!1),$n=!1;function $o(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Go(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Gn(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Xn(e,t,n){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,(Re&2)!==0){var c=s.pending;return c===null?t.next=t:(t.next=c.next,c.next=t),s.pending=t,t=Si(e),Dd(e,null,n),t}return bi(e,s,t,n),Si(e)}function rs(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var s=t.lanes;s&=e.pendingLanes,n|=s,t.lanes=n,Yf(e,n)}}function Xo(e,t){var n=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,n===s)){var c=null,u=null;if(n=n.firstBaseUpdate,n!==null){do{var g={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};u===null?c=u=g:u=u.next=g,n=n.next}while(n!==null);u===null?c=u=t:u=u.next=t}else c=u=t;n={baseState:s.baseState,firstBaseUpdate:c,lastBaseUpdate:u,shared:s.shared,callbacks:s.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Qo=!1;function os(){if(Qo){var e=sl;if(e!==null)throw e}}function cs(e,t,n,s){Qo=!1;var c=e.updateQueue;$n=!1;var u=c.firstBaseUpdate,g=c.lastBaseUpdate,y=c.shared.pending;if(y!==null){c.shared.pending=null;var T=y,U=T.next;T.next=null,g===null?u=U:g.next=U,g=T;var K=e.alternate;K!==null&&(K=K.updateQueue,y=K.lastBaseUpdate,y!==g&&(y===null?K.firstBaseUpdate=U:y.next=U,K.lastBaseUpdate=T))}if(u!==null){var P=c.baseState;g=0,K=U=T=null,y=u;do{var V=y.lane&-536870913,$=V!==y.lane;if($?(Ne&V)===V:(s&V)===V){V!==0&&V===ll&&(Qo=!0),K!==null&&(K=K.next={lane:0,tag:y.tag,payload:y.payload,callback:null,next:null});e:{var ue=e,he=y;V=t;var Ue=n;switch(he.tag){case 1:if(ue=he.payload,typeof ue=="function"){P=ue.call(Ue,P,V);break e}P=ue;break e;case 3:ue.flags=ue.flags&-65537|128;case 0:if(ue=he.payload,V=typeof ue=="function"?ue.call(Ue,P,V):ue,V==null)break e;P=b({},P,V);break e;case 2:$n=!0}}V=y.callback,V!==null&&(e.flags|=64,$&&(e.flags|=8192),$=c.callbacks,$===null?c.callbacks=[V]:$.push(V))}else $={lane:V,tag:y.tag,payload:y.payload,callback:y.callback,next:null},K===null?(U=K=$,T=P):K=K.next=$,g|=V;if(y=y.next,y===null){if(y=c.shared.pending,y===null)break;$=y,y=$.next,$.next=null,c.lastBaseUpdate=$,c.shared.pending=null}}while(!0);K===null&&(T=P),c.baseState=T,c.firstBaseUpdate=U,c.lastBaseUpdate=K,u===null&&(c.shared.lanes=0),Jn|=g,e.lanes=g,e.memoizedState=P}}function Wd(e,t){if(typeof e!="function")throw Error(r(191,e));e.call(t)}function Pd(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;eu?u:8;var g=_.T,y={};_.T=y,fc(e,!1,t,n);try{var T=c(),U=_.S;if(U!==null&&U(y,T),T!==null&&typeof T=="object"&&typeof T.then=="function"){var K=cv(T,s);ds(e,t,K,Rt(e))}else ds(e,t,s,Rt(e))}catch(P){ds(e,t,{then:function(){},status:"rejected",reason:P},Rt())}finally{W.p=u,g!==null&&y.types!==null&&(g.types=y.types),_.T=g}}function pv(){}function cc(e,t,n,s){if(e.tag!==5)throw Error(r(476));var c=Rm(e).queue;Tm(e,c,t,ie,n===null?pv:function(){return km(e),n(s)})}function Rm(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ie,baseState:ie,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bn,lastRenderedState:ie},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bn,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function km(e){var t=Rm(e);t.next===null&&(t=e.alternate.memoizedState),ds(e,t.next.queue,{},Rt())}function uc(){return ft(Ms)}function _m(){return Je().memoizedState}function Dm(){return Je().memoizedState}function gv(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Rt();e=Gn(n);var s=Xn(t,e,n);s!==null&&(Nt(s,t,n),rs(s,t,n)),t={cache:Uo()},e.payload=t;return}t=t.return}}function xv(e,t,n){var s=Rt();n={lane:s,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Hi(e)?Bm(t,n):(n=qo(e,t,n,s),n!==null&&(Nt(n,e,s),zm(n,t,s)))}function Om(e,t,n){var s=Rt();ds(e,t,n,s)}function ds(e,t,n,s){var c={lane:s,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Hi(e))Bm(t,c);else{var u=e.alternate;if(e.lanes===0&&(u===null||u.lanes===0)&&(u=t.lastRenderedReducer,u!==null))try{var g=t.lastRenderedState,y=u(g,n);if(c.hasEagerState=!0,c.eagerState=y,wt(y,g))return bi(e,t,c,0),He===null&&yi(),!1}catch{}finally{}if(n=qo(e,t,c,s),n!==null)return Nt(n,e,s),zm(n,t,s),!0}return!1}function fc(e,t,n,s){if(s={lane:2,revertLane:$c(),gesture:null,action:s,hasEagerState:!1,eagerState:null,next:null},Hi(e)){if(t)throw Error(r(479))}else t=qo(e,n,s,2),t!==null&&Nt(t,e,2)}function Hi(e){var t=e.alternate;return e===ve||t!==null&&t===ve}function Bm(e,t){cl=_i=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function zm(e,t,n){if((n&4194048)!==0){var s=t.lanes;s&=e.pendingLanes,n|=s,t.lanes=n,Yf(e,n)}}var ms={readContext:ft,use:Bi,useCallback:Qe,useContext:Qe,useEffect:Qe,useImperativeHandle:Qe,useLayoutEffect:Qe,useInsertionEffect:Qe,useMemo:Qe,useReducer:Qe,useRef:Qe,useState:Qe,useDebugValue:Qe,useDeferredValue:Qe,useTransition:Qe,useSyncExternalStore:Qe,useId:Qe,useHostTransitionStatus:Qe,useFormState:Qe,useActionState:Qe,useOptimistic:Qe,useMemoCache:Qe,useCacheRefresh:Qe};ms.useEffectEvent=Qe;var Lm={readContext:ft,use:Bi,useCallback:function(e,t){return gt().memoizedState=[e,t===void 0?null:t],e},useContext:ft,useEffect:Sm,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,Li(4194308,4,wm.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Li(4194308,4,e,t)},useInsertionEffect:function(e,t){Li(4,2,e,t)},useMemo:function(e,t){var n=gt();t=t===void 0?null:t;var s=e();if(Ea){Ze(!0);try{e()}finally{Ze(!1)}}return n.memoizedState=[s,t],s},useReducer:function(e,t,n){var s=gt();if(n!==void 0){var c=n(t);if(Ea){Ze(!0);try{n(t)}finally{Ze(!1)}}}else c=t;return s.memoizedState=s.baseState=c,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:c},s.queue=e,e=e.dispatch=xv.bind(null,ve,e),[s.memoizedState,e]},useRef:function(e){var t=gt();return e={current:e},t.memoizedState=e},useState:function(e){e=lc(e);var t=e.queue,n=Om.bind(null,ve,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:rc,useDeferredValue:function(e,t){var n=gt();return oc(n,e,t)},useTransition:function(){var e=lc(!1);return e=Tm.bind(null,ve,e.queue,!0,!1),gt().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var s=ve,c=gt();if(Ee){if(n===void 0)throw Error(r(407));n=n()}else{if(n=t(),He===null)throw Error(r(349));(Ne&127)!==0||sm(s,t,n)}c.memoizedState=n;var u={value:n,getSnapshot:t};return c.queue=u,Sm(rm.bind(null,s,u,e),[e]),s.flags|=2048,fl(9,{destroy:void 0},im.bind(null,s,u,n,t),null),n},useId:function(){var e=gt(),t=He.identifierPrefix;if(Ee){var n=tn,s=en;n=(s&~(1<<32-Se(s)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Di++,0<\/script>",u=u.removeChild(u.firstChild);break;case"select":u=typeof s.is=="string"?g.createElement("select",{is:s.is}):g.createElement("select"),s.multiple?u.multiple=!0:s.size&&(u.size=s.size);break;default:u=typeof s.is=="string"?g.createElement(c,{is:s.is}):g.createElement(c)}}u[ct]=t,u[vt]=s;e:for(g=t.child;g!==null;){if(g.tag===5||g.tag===6)u.appendChild(g.stateNode);else if(g.tag!==4&&g.tag!==27&&g.child!==null){g.child.return=g,g=g.child;continue}if(g===t)break e;for(;g.sibling===null;){if(g.return===null||g.return===t)break e;g=g.return}g.sibling.return=g.return,g=g.sibling}t.stateNode=u;e:switch(mt(u,c,s),c){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}s&&An(t)}}return $e(t),wc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==s&&An(t);else{if(typeof s!="string"&&t.stateNode===null)throw Error(r(166));if(e=re.current,nl(t)){if(e=t.stateNode,n=t.memoizedProps,s=null,c=ut,c!==null)switch(c.tag){case 27:case 5:s=c.memoizedProps}e[ct]=t,e=!!(e.nodeValue===n||s!==null&&s.suppressHydrationWarning===!0||ap(e.nodeValue,n)),e||Vn(t,!0)}else e=ir(e).createTextNode(s),e[ct]=t,t.stateNode=e}return $e(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(s=nl(t),n!==null){if(e===null){if(!s)throw Error(r(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(r(557));e[ct]=t}else ya(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$e(t),e=!1}else n=Oo(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(qt(t),t):(qt(t),null);if((t.flags&128)!==0)throw Error(r(558))}return $e(t),null;case 13:if(s=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(c=nl(t),s!==null&&s.dehydrated!==null){if(e===null){if(!c)throw Error(r(318));if(c=t.memoizedState,c=c!==null?c.dehydrated:null,!c)throw Error(r(317));c[ct]=t}else ya(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$e(t),c=!1}else c=Oo(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=c),c=!0;if(!c)return t.flags&256?(qt(t),t):(qt(t),null)}return qt(t),(t.flags&128)!==0?(t.lanes=n,t):(n=s!==null,e=e!==null&&e.memoizedState!==null,n&&(s=t.child,c=null,s.alternate!==null&&s.alternate.memoizedState!==null&&s.alternate.memoizedState.cachePool!==null&&(c=s.alternate.memoizedState.cachePool.pool),u=null,s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(u=s.memoizedState.cachePool.pool),u!==c&&(s.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Xi(t,t.updateQueue),$e(t),null);case 4:return ne(),e===null&&Kc(t.stateNode.containerInfo),$e(t),null;case 10:return vn(t.type),$e(t),null;case 19:if(Y(Fe),s=t.memoizedState,s===null)return $e(t),null;if(c=(t.flags&128)!==0,u=s.rendering,u===null)if(c)ps(s,!1);else{if(Ke!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(u=ki(e),u!==null){for(t.flags|=128,ps(s,!1),e=u.updateQueue,t.updateQueue=e,Xi(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Od(n,e),n=n.sibling;return te(Fe,Fe.current&1|2),Ee&&gn(t,s.treeForkCount),t.child}e=e.sibling}s.tail!==null&<()>Ji&&(t.flags|=128,c=!0,ps(s,!1),t.lanes=4194304)}else{if(!c)if(e=ki(u),e!==null){if(t.flags|=128,c=!0,e=e.updateQueue,t.updateQueue=e,Xi(t,e),ps(s,!0),s.tail===null&&s.tailMode==="hidden"&&!u.alternate&&!Ee)return $e(t),null}else 2*lt()-s.renderingStartTime>Ji&&n!==536870912&&(t.flags|=128,c=!0,ps(s,!1),t.lanes=4194304);s.isBackwards?(u.sibling=t.child,t.child=u):(e=s.last,e!==null?e.sibling=u:t.child=u,s.last=u)}return s.tail!==null?(e=s.tail,s.rendering=e,s.tail=e.sibling,s.renderingStartTime=lt(),e.sibling=null,n=Fe.current,te(Fe,c?n&1|2:n&1),Ee&&gn(t,s.treeForkCount),e):($e(t),null);case 22:case 23:return qt(t),Zo(),s=t.memoizedState!==null,e!==null?e.memoizedState!==null!==s&&(t.flags|=8192):s&&(t.flags|=8192),s?(n&536870912)!==0&&(t.flags&128)===0&&($e(t),t.subtreeFlags&6&&(t.flags|=8192)):$e(t),n=t.updateQueue,n!==null&&Xi(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),s=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(s=t.memoizedState.cachePool.pool),s!==n&&(t.flags|=2048),e!==null&&Y(Aa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),vn(Pe),$e(t),null;case 25:return null;case 30:return null}throw Error(r(156,t.tag))}function Av(e,t){switch(_o(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return vn(Pe),ne(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ke(t),null;case 31:if(t.memoizedState!==null){if(qt(t),t.alternate===null)throw Error(r(340));ya()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(qt(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(r(340));ya()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Y(Fe),null;case 4:return ne(),null;case 10:return vn(t.type),null;case 22:case 23:return qt(t),Zo(),e!==null&&Y(Aa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return vn(Pe),null;case 25:return null;default:return null}}function oh(e,t){switch(_o(t),t.tag){case 3:vn(Pe),ne();break;case 26:case 27:case 5:ke(t);break;case 4:ne();break;case 31:t.memoizedState!==null&&qt(t);break;case 13:qt(t);break;case 19:Y(Fe);break;case 10:vn(t.type);break;case 22:case 23:qt(t),Zo(),e!==null&&Y(Aa);break;case 24:vn(Pe)}}function gs(e,t){try{var n=t.updateQueue,s=n!==null?n.lastEffect:null;if(s!==null){var c=s.next;n=c;do{if((n.tag&e)===e){s=void 0;var u=n.create,g=n.inst;s=u(),g.destroy=s}n=n.next}while(n!==c)}}catch(y){Oe(t,t.return,y)}}function Zn(e,t,n){try{var s=t.updateQueue,c=s!==null?s.lastEffect:null;if(c!==null){var u=c.next;s=u;do{if((s.tag&e)===e){var g=s.inst,y=g.destroy;if(y!==void 0){g.destroy=void 0,c=t;var T=n,U=y;try{U()}catch(K){Oe(c,T,K)}}}s=s.next}while(s!==u)}}catch(K){Oe(t,t.return,K)}}function ch(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Pd(t,n)}catch(s){Oe(e,e.return,s)}}}function uh(e,t,n){n.props=Ca(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(s){Oe(e,t,s)}}function xs(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var s=e.stateNode;break;case 30:s=e.stateNode;break;default:s=e.stateNode}typeof n=="function"?e.refCleanup=n(s):n.current=s}}catch(c){Oe(e,t,c)}}function nn(e,t){var n=e.ref,s=e.refCleanup;if(n!==null)if(typeof s=="function")try{s()}catch(c){Oe(e,t,c)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(c){Oe(e,t,c)}else n.current=null}function fh(e){var t=e.type,n=e.memoizedProps,s=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&s.focus();break e;case"img":n.src?s.src=n.src:n.srcSet&&(s.srcset=n.srcSet)}}catch(c){Oe(e,e.return,c)}}function Ec(e,t,n){try{var s=e.stateNode;Gv(s,e.type,n,t),s[vt]=t}catch(c){Oe(e,e.return,c)}}function dh(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ta(e.type)||e.tag===4}function Cc(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||dh(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&ta(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function qc(e,t,n){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=mn));else if(s!==4&&(s===27&&ta(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(qc(e,t,n),e=e.sibling;e!==null;)qc(e,t,n),e=e.sibling}function Qi(e,t,n){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(s!==4&&(s===27&&ta(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Qi(e,t,n),e=e.sibling;e!==null;)Qi(e,t,n),e=e.sibling}function mh(e){var t=e.stateNode,n=e.memoizedProps;try{for(var s=e.type,c=t.attributes;c.length;)t.removeAttributeNode(c[0]);mt(t,s,n),t[ct]=e,t[vt]=n}catch(u){Oe(e,e.return,u)}}var jn=!1,nt=!1,Mc=!1,hh=typeof WeakSet=="function"?WeakSet:Set,rt=null;function jv(e,t){if(e=e.containerInfo,Jc=mr,e=Ed(e),Ao(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var s=n.getSelection&&n.getSelection();if(s&&s.rangeCount!==0){n=s.anchorNode;var c=s.anchorOffset,u=s.focusNode;s=s.focusOffset;try{n.nodeType,u.nodeType}catch{n=null;break e}var g=0,y=-1,T=-1,U=0,K=0,P=e,V=null;t:for(;;){for(var $;P!==n||c!==0&&P.nodeType!==3||(y=g+c),P!==u||s!==0&&P.nodeType!==3||(T=g+s),P.nodeType===3&&(g+=P.nodeValue.length),($=P.firstChild)!==null;)V=P,P=$;for(;;){if(P===e)break t;if(V===n&&++U===c&&(y=g),V===u&&++K===s&&(T=g),($=P.nextSibling)!==null)break;P=V,V=P.parentNode}P=$}n=y===-1||T===-1?null:{start:y,end:T}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ic={focusedElem:e,selectionRange:n},mr=!1,rt=t;rt!==null;)if(t=rt,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,rt=e;else for(;rt!==null;){switch(t=rt,u=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(n=0;n title"))),mt(u,s,n),u[ct]=e,it(u),s=u;break e;case"link":var g=bp("link","href",c).get(s+(n.href||""));if(g){for(var y=0;yUe&&(g=Ue,Ue=he,he=g);var D=Nd(y,he),k=Nd(y,Ue);if(D&&k&&($.rangeCount!==1||$.anchorNode!==D.node||$.anchorOffset!==D.offset||$.focusNode!==k.node||$.focusOffset!==k.offset)){var L=P.createRange();L.setStart(D.node,D.offset),$.removeAllRanges(),he>Ue?($.addRange(L),$.extend(k.node,k.offset)):(L.setEnd(k.node,k.offset),$.addRange(L))}}}}for(P=[],$=y;$=$.parentNode;)$.nodeType===1&&P.push({element:$,left:$.scrollLeft,top:$.scrollTop});for(typeof y.focus=="function"&&y.focus(),y=0;yn?32:n,_.T=null,n=Bc,Bc=null;var u=Wn,g=qn;if(st=0,gl=Wn=null,qn=0,(Re&6)!==0)throw Error(r(331));var y=Re;if(Re|=4,wh(u.current),Ah(u,u.current,g,n),Re=y,js(0,!1),_e&&typeof _e.onPostCommitFiberRoot=="function")try{_e.onPostCommitFiberRoot(be,u)}catch{}return!0}finally{W.p=c,_.T=s,$h(e,t)}}function Xh(e,t,n){t=zt(n,t),t=pc(e.stateNode,t,2),e=Xn(e,t,2),e!==null&&($l(e,2),an(e))}function Oe(e,t,n){if(e.tag===3)Xh(e,e,n);else for(;t!==null;){if(t.tag===3){Xh(t,e,n);break}else if(t.tag===1){var s=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(In===null||!In.has(s))){e=zt(n,e),n=Qm(2),s=Xn(t,n,2),s!==null&&(Km(n,s,t,e),$l(s,2),an(s));break}}t=t.return}}function Hc(e,t,n){var s=e.pingCache;if(s===null){s=e.pingCache=new Ev;var c=new Set;s.set(t,c)}else c=s.get(t),c===void 0&&(c=new Set,s.set(t,c));c.has(n)||(kc=!0,c.add(n),e=Rv.bind(null,e,t,n),t.then(e,e))}function Rv(e,t,n){var s=e.pingCache;s!==null&&s.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,He===e&&(Ne&n)===n&&(Ke===4||Ke===3&&(Ne&62914560)===Ne&&300>lt()-Fi?(Re&2)===0&&xl(e,0):_c|=n,pl===Ne&&(pl=0)),an(e)}function Qh(e,t){t===0&&(t=Hf()),e=xa(e,t),e!==null&&($l(e,t),an(e))}function kv(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Qh(e,n)}function _v(e,t){var n=0;switch(e.tag){case 31:case 13:var s=e.stateNode,c=e.memoizedState;c!==null&&(n=c.retryLane);break;case 19:s=e.stateNode;break;case 22:s=e.stateNode._retryCache;break;default:throw Error(r(314))}s!==null&&s.delete(t),Qh(e,n)}function Dv(e,t){return ua(e,t)}var nr=null,yl=null,Vc=!1,ar=!1,Yc=!1,ea=0;function an(e){e!==yl&&e.next===null&&(yl===null?nr=yl=e:yl=yl.next=e),ar=!0,Vc||(Vc=!0,Bv())}function js(e,t){if(!Yc&&ar){Yc=!0;do for(var n=!1,s=nr;s!==null;){if(e!==0){var c=s.pendingLanes;if(c===0)var u=0;else{var g=s.suspendedLanes,y=s.pingedLanes;u=(1<<31-Se(42|e)+1)-1,u&=c&~(g&~y),u=u&201326741?u&201326741|1:u?u|2:0}u!==0&&(n=!0,Jh(s,u))}else u=Ne,u=ri(s,s===He?u:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),(u&3)===0||Yl(s,u)||(n=!0,Jh(s,u));s=s.next}while(n);Yc=!1}}function Ov(){Kh()}function Kh(){ar=Vc=!1;var e=0;ea!==0&&Qv()&&(e=ea);for(var t=lt(),n=null,s=nr;s!==null;){var c=s.next,u=Zh(s,t);u===0?(s.next=null,n===null?nr=c:n.next=c,c===null&&(yl=n)):(n=s,(e!==0||(u&3)!==0)&&(ar=!0)),s=c}st!==0&&st!==5||js(e),ea!==0&&(ea=0)}function Zh(e,t){for(var n=e.suspendedLanes,s=e.pingedLanes,c=e.expirationTimes,u=e.pendingLanes&-62914561;0y)break;var K=T.transferSize,P=T.initiatorType;K&&lp(P)&&(T=T.responseEnd,g+=K*(T"u"?null:document;function gp(e,t,n){var s=bl;if(s&&typeof t=="string"&&t){var c=Ot(t);c='link[rel="'+e+'"][href="'+c+'"]',typeof n=="string"&&(c+='[crossorigin="'+n+'"]'),pp.has(c)||(pp.add(c),e={rel:e,crossOrigin:n,href:t},s.querySelector(c)===null&&(t=s.createElement("link"),mt(t,"link",e),it(t),s.head.appendChild(t)))}}function ty(e){Mn.D(e),gp("dns-prefetch",e,null)}function ny(e,t){Mn.C(e,t),gp("preconnect",e,t)}function ay(e,t,n){Mn.L(e,t,n);var s=bl;if(s&&e&&t){var c='link[rel="preload"][as="'+Ot(t)+'"]';t==="image"&&n&&n.imageSrcSet?(c+='[imagesrcset="'+Ot(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(c+='[imagesizes="'+Ot(n.imageSizes)+'"]')):c+='[href="'+Ot(e)+'"]';var u=c;switch(t){case"style":u=Sl(e);break;case"script":u=Al(e)}$t.has(u)||(e=b({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),$t.set(u,e),s.querySelector(c)!==null||t==="style"&&s.querySelector(Cs(u))||t==="script"&&s.querySelector(qs(u))||(t=s.createElement("link"),mt(t,"link",e),it(t),s.head.appendChild(t)))}}function ly(e,t){Mn.m(e,t);var n=bl;if(n&&e){var s=t&&typeof t.as=="string"?t.as:"script",c='link[rel="modulepreload"][as="'+Ot(s)+'"][href="'+Ot(e)+'"]',u=c;switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":u=Al(e)}if(!$t.has(u)&&(e=b({rel:"modulepreload",href:e},t),$t.set(u,e),n.querySelector(c)===null)){switch(s){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(qs(u)))return}s=n.createElement("link"),mt(s,"link",e),it(s),n.head.appendChild(s)}}}function sy(e,t,n){Mn.S(e,t,n);var s=bl;if(s&&e){var c=$a(s).hoistableStyles,u=Sl(e);t=t||"default";var g=c.get(u);if(!g){var y={loading:0,preload:null};if(g=s.querySelector(Cs(u)))y.loading=5;else{e=b({rel:"stylesheet",href:e,"data-precedence":t},n),(n=$t.get(u))&&lu(e,n);var T=g=s.createElement("link");it(T),mt(T,"link",e),T._p=new Promise(function(U,K){T.onload=U,T.onerror=K}),T.addEventListener("load",function(){y.loading|=1}),T.addEventListener("error",function(){y.loading|=2}),y.loading|=4,or(g,t,s)}g={type:"stylesheet",instance:g,count:1,state:y},c.set(u,g)}}}function iy(e,t){Mn.X(e,t);var n=bl;if(n&&e){var s=$a(n).hoistableScripts,c=Al(e),u=s.get(c);u||(u=n.querySelector(qs(c)),u||(e=b({src:e,async:!0},t),(t=$t.get(c))&&su(e,t),u=n.createElement("script"),it(u),mt(u,"link",e),n.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},s.set(c,u))}}function ry(e,t){Mn.M(e,t);var n=bl;if(n&&e){var s=$a(n).hoistableScripts,c=Al(e),u=s.get(c);u||(u=n.querySelector(qs(c)),u||(e=b({src:e,async:!0,type:"module"},t),(t=$t.get(c))&&su(e,t),u=n.createElement("script"),it(u),mt(u,"link",e),n.head.appendChild(u)),u={type:"script",instance:u,count:1,state:null},s.set(c,u))}}function xp(e,t,n,s){var c=(c=re.current)?rr(c):null;if(!c)throw Error(r(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=Sl(n.href),n=$a(c).hoistableStyles,s=n.get(t),s||(s={type:"style",instance:null,count:0,state:null},n.set(t,s)),s):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=Sl(n.href);var u=$a(c).hoistableStyles,g=u.get(e);if(g||(c=c.ownerDocument||c,g={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},u.set(e,g),(u=c.querySelector(Cs(e)))&&!u._p&&(g.instance=u,g.state.loading=5),$t.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},$t.set(e,n),u||oy(c,e,n,g.state))),t&&s===null)throw Error(r(528,""));return g}if(t&&s!==null)throw Error(r(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Al(n),n=$a(c).hoistableScripts,s=n.get(t),s||(s={type:"script",instance:null,count:0,state:null},n.set(t,s)),s):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,e))}}function Sl(e){return'href="'+Ot(e)+'"'}function Cs(e){return'link[rel="stylesheet"]['+e+"]"}function vp(e){return b({},e,{"data-precedence":e.precedence,precedence:null})}function oy(e,t,n,s){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?s.loading=1:(t=e.createElement("link"),s.preload=t,t.addEventListener("load",function(){return s.loading|=1}),t.addEventListener("error",function(){return s.loading|=2}),mt(t,"link",n),it(t),e.head.appendChild(t))}function Al(e){return'[src="'+Ot(e)+'"]'}function qs(e){return"script[async]"+e}function yp(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var s=e.querySelector('style[data-href~="'+Ot(n.href)+'"]');if(s)return t.instance=s,it(s),s;var c=b({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return s=(e.ownerDocument||e).createElement("style"),it(s),mt(s,"style",c),or(s,n.precedence,e),t.instance=s;case"stylesheet":c=Sl(n.href);var u=e.querySelector(Cs(c));if(u)return t.state.loading|=4,t.instance=u,it(u),u;s=vp(n),(c=$t.get(c))&&lu(s,c),u=(e.ownerDocument||e).createElement("link"),it(u);var g=u;return g._p=new Promise(function(y,T){g.onload=y,g.onerror=T}),mt(u,"link",s),t.state.loading|=4,or(u,n.precedence,e),t.instance=u;case"script":return u=Al(n.src),(c=e.querySelector(qs(u)))?(t.instance=c,it(c),c):(s=n,(c=$t.get(u))&&(s=b({},n),su(s,c)),e=e.ownerDocument||e,c=e.createElement("script"),it(c),mt(c,"link",s),e.head.appendChild(c),t.instance=c);case"void":return null;default:throw Error(r(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(s=t.instance,t.state.loading|=4,or(s,n.precedence,e));return t.instance}function or(e,t,n){for(var s=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),c=s.length?s[s.length-1]:null,u=c,g=0;g title"):null)}function cy(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;switch(t.rel){case"stylesheet":return e=t.disabled,typeof t.precedence=="string"&&e==null;default:return!0}case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Ap(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function uy(e,t,n,s){if(n.type==="stylesheet"&&(typeof s.media!="string"||matchMedia(s.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var c=Sl(s.href),u=t.querySelector(Cs(c));if(u){t=u._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ur.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=u,it(u);return}u=t.ownerDocument||t,s=vp(s),(c=$t.get(c))&&lu(s,c),u=u.createElement("link"),it(u);var g=u;g._p=new Promise(function(y,T){g.onload=y,g.onerror=T}),mt(u,"link",s),n.instance=u}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=ur.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var iu=0;function fy(e,t){return e.stylesheets&&e.count===0&&dr(e,e.stylesheets),0iu?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(s),clearTimeout(c)}}:null}function ur(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)dr(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var fr=null;function dr(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,fr=new Map,t.forEach(dy,e),fr=null,ur.call(e))}function dy(e,t){if(!(t.state.loading&4)){var n=fr.get(e);if(n)var s=n.get(null);else{n=new Map,fr.set(e,n);for(var c=e.querySelectorAll("link[data-precedence],style[data-precedence]"),u=0;u"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(a)}catch(l){console.error(l)}}return a(),pu.exports=My(),pu.exports}var Ry=Ty();var Qp="popstate";function ky(a={}){function l(r,f){let{pathname:d,search:h,hash:x}=r.location;return $u("",{pathname:d,search:h,hash:x},f.state&&f.state.usr||null,f.state&&f.state.key||"default")}function i(r,f){return typeof f=="string"?f:Gs(f)}return Dy(l,i,null,a)}function Xe(a,l){if(a===!1||a===null||typeof a>"u")throw new Error(l)}function Pt(a,l){if(!a){typeof console<"u"&&console.warn(l);try{throw new Error(l)}catch{}}}function _y(){return Math.random().toString(36).substring(2,10)}function Kp(a,l){return{usr:a.state,key:a.key,idx:l}}function $u(a,l,i=null,r){return{pathname:typeof a=="string"?a:a.pathname,search:"",hash:"",...typeof l=="string"?Dl(l):l,state:i,key:l&&l.key||r||_y()}}function Gs({pathname:a="/",search:l="",hash:i=""}){return l&&l!=="?"&&(a+=l.charAt(0)==="?"?l:"?"+l),i&&i!=="#"&&(a+=i.charAt(0)==="#"?i:"#"+i),a}function Dl(a){let l={};if(a){let i=a.indexOf("#");i>=0&&(l.hash=a.substring(i),a=a.substring(0,i));let r=a.indexOf("?");r>=0&&(l.search=a.substring(r),a=a.substring(0,r)),a&&(l.pathname=a)}return l}function Dy(a,l,i,r={}){let{window:f=document.defaultView,v5Compat:d=!1}=r,h=f.history,x="POP",p=null,v=S();v==null&&(v=0,h.replaceState({...h.state,idx:v},""));function S(){return(h.state||{idx:null}).idx}function b(){x="POP";let j=S(),M=j==null?null:j-v;v=j,p&&p({action:x,location:A.location,delta:M})}function N(j,M){x="PUSH";let w=$u(A.location,j,M);v=S()+1;let R=Kp(w,v),B=A.createHref(w);try{h.pushState(R,"",B)}catch(H){if(H instanceof DOMException&&H.name==="DataCloneError")throw H;f.location.assign(B)}d&&p&&p({action:x,location:A.location,delta:1})}function q(j,M){x="REPLACE";let w=$u(A.location,j,M);v=S();let R=Kp(w,v),B=A.createHref(w);h.replaceState(R,"",B),d&&p&&p({action:x,location:A.location,delta:0})}function C(j){return Oy(j)}let A={get action(){return x},get location(){return a(f,h)},listen(j){if(p)throw new Error("A history only accepts one active listener");return f.addEventListener(Qp,b),p=j,()=>{f.removeEventListener(Qp,b),p=null}},createHref(j){return l(f,j)},createURL:C,encodeLocation(j){let M=C(j);return{pathname:M.pathname,search:M.search,hash:M.hash}},push:N,replace:q,go(j){return h.go(j)}};return A}function Oy(a,l=!1){let i="http://localhost";typeof window<"u"&&(i=window.location.origin!=="null"?window.location.origin:window.location.href),Xe(i,"No window.location.(origin|href) available to create URL");let r=typeof a=="string"?a:Gs(a);return r=r.replace(/ $/,"%20"),!l&&r.startsWith("//")&&(r=i+r),new URL(r,i)}function z0(a,l,i="/"){return By(a,l,i,!1)}function By(a,l,i,r){let f=typeof l=="string"?Dl(l):l,d=On(f.pathname||"/",i);if(d==null)return null;let h=L0(a);zy(h);let x=null;for(let p=0;x==null&&p{let S={relativePath:v===void 0?h.path||"":v,caseSensitive:h.caseSensitive===!0,childrenIndex:x,route:h};if(S.relativePath.startsWith("/")){if(!S.relativePath.startsWith(r)&&p)return;Xe(S.relativePath.startsWith(r),`Absolute route path "${S.relativePath}" nested under path "${r}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),S.relativePath=S.relativePath.slice(r.length)}let b=Dn([r,S.relativePath]),N=i.concat(S);h.children&&h.children.length>0&&(Xe(h.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),L0(h.children,l,N,b,p)),!(h.path==null&&!h.index)&&l.push({path:b,score:Gy(b,h.index),routesMeta:N})};return a.forEach((h,x)=>{if(h.path===""||!h.path?.includes("?"))d(h,x);else for(let p of U0(h.path))d(h,x,!0,p)}),l}function U0(a){let l=a.split("/");if(l.length===0)return[];let[i,...r]=l,f=i.endsWith("?"),d=i.replace(/\?$/,"");if(r.length===0)return f?[d,""]:[d];let h=U0(r.join("/")),x=[];return x.push(...h.map(p=>p===""?d:[d,p].join("/"))),f&&x.push(...h),x.map(p=>a.startsWith("/")&&p===""?"/":p)}function zy(a){a.sort((l,i)=>l.score!==i.score?i.score-l.score:Xy(l.routesMeta.map(r=>r.childrenIndex),i.routesMeta.map(r=>r.childrenIndex)))}var Ly=/^:[\w-]+$/,Uy=3,Hy=2,Vy=1,Yy=10,$y=-2,Zp=a=>a==="*";function Gy(a,l){let i=a.split("/"),r=i.length;return i.some(Zp)&&(r+=$y),l&&(r+=Hy),i.filter(f=>!Zp(f)).reduce((f,d)=>f+(Ly.test(d)?Uy:d===""?Vy:Yy),r)}function Xy(a,l){return a.length===l.length&&a.slice(0,-1).every((r,f)=>r===l[f])?a[a.length-1]-l[l.length-1]:0}function Qy(a,l,i=!1){let{routesMeta:r}=a,f={},d="/",h=[];for(let x=0;x{if(S==="*"){let C=x[N]||"";h=d.slice(0,d.length-C.length).replace(/(.)\/+$/,"$1")}const q=x[N];return b&&!q?v[S]=void 0:v[S]=(q||"").replace(/%2F/g,"/"),v},{}),pathname:d,pathnameBase:h,pattern:a}}function Ky(a,l=!1,i=!0){Pt(a==="*"||!a.endsWith("*")||a.endsWith("/*"),`Route path "${a}" will be treated as if it were "${a.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${a.replace(/\*$/,"/*")}".`);let r=[],f="^"+a.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(h,x,p)=>(r.push({paramName:x,isOptional:p!=null}),p?"/?([^\\/]+)?":"/([^\\/]+)")).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return a.endsWith("*")?(r.push({paramName:"*"}),f+=a==="*"||a==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):i?f+="\\/*$":a!==""&&a!=="/"&&(f+="(?:(?=\\/|$))"),[new RegExp(f,l?void 0:"i"),r]}function Zy(a){try{return a.split("/").map(l=>decodeURIComponent(l).replace(/\//g,"%2F")).join("/")}catch(l){return Pt(!1,`The URL path "${a}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${l}).`),a}}function On(a,l){if(l==="/")return a;if(!a.toLowerCase().startsWith(l.toLowerCase()))return null;let i=l.endsWith("/")?l.length-1:l.length,r=a.charAt(i);return r&&r!=="/"?null:a.slice(i)||"/"}var Fy=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Jy=a=>Fy.test(a);function Iy(a,l="/"){let{pathname:i,search:r="",hash:f=""}=typeof a=="string"?Dl(a):a,d;if(i)if(Jy(i))d=i;else{if(i.includes("//")){let h=i;i=i.replace(/\/\/+/g,"/"),Pt(!1,`Pathnames cannot have embedded double slashes - normalizing ${h} -> ${i}`)}i.startsWith("/")?d=Fp(i.substring(1),"/"):d=Fp(i,l)}else d=l;return{pathname:d,search:eb(r),hash:tb(f)}}function Fp(a,l){let i=l.replace(/\/+$/,"").split("/");return a.split("/").forEach(f=>{f===".."?i.length>1&&i.pop():f!=="."&&i.push(f)}),i.length>1?i.join("/"):"/"}function yu(a,l,i,r){return`Cannot include a '${a}' character in a manually specified \`to.${l}\` field [${JSON.stringify(r)}]. Please separate it out to the \`to.${i}\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`}function Wy(a){return a.filter((l,i)=>i===0||l.route.path&&l.route.path.length>0)}function H0(a){let l=Wy(a);return l.map((i,r)=>r===l.length-1?i.pathname:i.pathnameBase)}function V0(a,l,i,r=!1){let f;typeof a=="string"?f=Dl(a):(f={...a},Xe(!f.pathname||!f.pathname.includes("?"),yu("?","pathname","search",f)),Xe(!f.pathname||!f.pathname.includes("#"),yu("#","pathname","hash",f)),Xe(!f.search||!f.search.includes("#"),yu("#","search","hash",f)));let d=a===""||f.pathname==="",h=d?"/":f.pathname,x;if(h==null)x=i;else{let b=l.length-1;if(!r&&h.startsWith("..")){let N=h.split("/");for(;N[0]==="..";)N.shift(),b-=1;f.pathname=N.join("/")}x=b>=0?l[b]:"/"}let p=Iy(f,x),v=h&&h!=="/"&&h.endsWith("/"),S=(d||h===".")&&i.endsWith("/");return!p.pathname.endsWith("/")&&(v||S)&&(p.pathname+="/"),p}var Dn=a=>a.join("/").replace(/\/\/+/g,"/"),Py=a=>a.replace(/\/+$/,"").replace(/^\/*/,"/"),eb=a=>!a||a==="?"?"":a.startsWith("?")?a:"?"+a,tb=a=>!a||a==="#"?"":a.startsWith("#")?a:"#"+a;function nb(a){return a!=null&&typeof a.status=="number"&&typeof a.statusText=="string"&&typeof a.internal=="boolean"&&"data"in a}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var Y0=["POST","PUT","PATCH","DELETE"];new Set(Y0);var ab=["GET",...Y0];new Set(ab);var Ol=m.createContext(null);Ol.displayName="DataRouter";var Yr=m.createContext(null);Yr.displayName="DataRouterState";m.createContext(!1);var $0=m.createContext({isTransitioning:!1});$0.displayName="ViewTransition";var lb=m.createContext(new Map);lb.displayName="Fetchers";var sb=m.createContext(null);sb.displayName="Await";var cn=m.createContext(null);cn.displayName="Navigation";var Is=m.createContext(null);Is.displayName="Location";var Bn=m.createContext({outlet:null,matches:[],isDataRoute:!1});Bn.displayName="Route";var of=m.createContext(null);of.displayName="RouteError";function ib(a,{relative:l}={}){Xe(Ws(),"useHref() may be used only in the context of a component.");let{basename:i,navigator:r}=m.useContext(cn),{hash:f,pathname:d,search:h}=Ps(a,{relative:l}),x=d;return i!=="/"&&(x=d==="/"?i:Dn([i,d])),r.createHref({pathname:x,search:h,hash:f})}function Ws(){return m.useContext(Is)!=null}function Ba(){return Xe(Ws(),"useLocation() may be used only in the context of a component."),m.useContext(Is).location}var G0="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function X0(a){m.useContext(cn).static||m.useLayoutEffect(a)}function rb(){let{isDataRoute:a}=m.useContext(Bn);return a?bb():ob()}function ob(){Xe(Ws(),"useNavigate() may be used only in the context of a component.");let a=m.useContext(Ol),{basename:l,navigator:i}=m.useContext(cn),{matches:r}=m.useContext(Bn),{pathname:f}=Ba(),d=JSON.stringify(H0(r)),h=m.useRef(!1);return X0(()=>{h.current=!0}),m.useCallback((p,v={})=>{if(Pt(h.current,G0),!h.current)return;if(typeof p=="number"){i.go(p);return}let S=V0(p,JSON.parse(d),f,v.relative==="path");a==null&&l!=="/"&&(S.pathname=S.pathname==="/"?l:Dn([l,S.pathname])),(v.replace?i.replace:i.push)(S,v.state,v)},[l,i,d,f,a])}m.createContext(null);function Ps(a,{relative:l}={}){let{matches:i}=m.useContext(Bn),{pathname:r}=Ba(),f=JSON.stringify(H0(i));return m.useMemo(()=>V0(a,JSON.parse(f),r,l==="path"),[a,f,r,l])}function cb(a,l){return Q0(a,l)}function Q0(a,l,i,r,f){Xe(Ws(),"useRoutes() may be used only in the context of a component.");let{navigator:d}=m.useContext(cn),{matches:h}=m.useContext(Bn),x=h[h.length-1],p=x?x.params:{},v=x?x.pathname:"/",S=x?x.pathnameBase:"/",b=x&&x.route;{let w=b&&b.path||"";K0(v,!b||w.endsWith("*")||w.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${v}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. -Please change the parent to .`)}let N=Ba(),q;if(l){let w=typeof l=="string"?Dl(l):l;Xe(b==="/"||w.pathname?.startsWith(b),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${b}" but pathname "${w.pathname}" was given in the \`location\` prop.`),q=w}else q=N;let C=q.pathname||"/",A=C;if(b!=="/"){let w=b.replace(/^\//,"").split("/");A="/"+C.replace(/^\//,"").split("/").slice(w.length).join("/")}let j=z0(a,{pathname:A});Pt(S||j!=null,`No routes matched location "${q.pathname}${q.search}${q.hash}" `),Pt(j==null||j[j.length-1].route.element!==void 0||j[j.length-1].route.Component!==void 0||j[j.length-1].route.lazy!==void 0,`Matched leaf route at location "${q.pathname}${q.search}${q.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let M=hb(j&&j.map(w=>Object.assign({},w,{params:Object.assign({},p,w.params),pathname:Dn([b,d.encodeLocation?d.encodeLocation(w.pathname.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?b:Dn([b,d.encodeLocation?d.encodeLocation(w.pathnameBase.replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:w.pathnameBase])})),h,i,r,f);return l&&M?m.createElement(Is.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...q},navigationType:"POP"}},M):M}function ub(){let a=yb(),l=nb(a)?`${a.status} ${a.statusText}`:a instanceof Error?a.message:JSON.stringify(a),i=a instanceof Error?a.stack:null,r="rgba(200,200,200, 0.5)",f={padding:"0.5rem",backgroundColor:r},d={padding:"2px 4px",backgroundColor:r},h=null;return console.error("Error handled by React Router default ErrorBoundary:",a),h=m.createElement(m.Fragment,null,m.createElement("p",null,"đź’ż Hey developer đź‘‹"),m.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",m.createElement("code",{style:d},"ErrorBoundary")," or"," ",m.createElement("code",{style:d},"errorElement")," prop on your route.")),m.createElement(m.Fragment,null,m.createElement("h2",null,"Unexpected Application Error!"),m.createElement("h3",{style:{fontStyle:"italic"}},l),i?m.createElement("pre",{style:f},i):null,h)}var fb=m.createElement(ub,null),db=class extends m.Component{constructor(a){super(a),this.state={location:a.location,revalidation:a.revalidation,error:a.error}}static getDerivedStateFromError(a){return{error:a}}static getDerivedStateFromProps(a,l){return l.location!==a.location||l.revalidation!=="idle"&&a.revalidation==="idle"?{error:a.error,location:a.location,revalidation:a.revalidation}:{error:a.error!==void 0?a.error:l.error,location:l.location,revalidation:a.revalidation||l.revalidation}}componentDidCatch(a,l){this.props.onError?this.props.onError(a,l):console.error("React Router caught the following error during render",a)}render(){return this.state.error!==void 0?m.createElement(Bn.Provider,{value:this.props.routeContext},m.createElement(of.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function mb({routeContext:a,match:l,children:i}){let r=m.useContext(Ol);return r&&r.static&&r.staticContext&&(l.route.errorElement||l.route.ErrorBoundary)&&(r.staticContext._deepestRenderedBoundaryId=l.route.id),m.createElement(Bn.Provider,{value:a},i)}function hb(a,l=[],i=null,r=null,f=null){if(a==null){if(!i)return null;if(i.errors)a=i.matches;else if(l.length===0&&!i.initialized&&i.matches.length>0)a=i.matches;else return null}let d=a,h=i?.errors;if(h!=null){let b=d.findIndex(S=>S.route.id&&h?.[S.route.id]!==void 0);Xe(b>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(h).join(",")}`),d=d.slice(0,Math.min(d.length,b+1))}let x=!1,p=-1;if(i)for(let b=0;b=0?d=d.slice(0,p+1):d=[d[0]];break}}}let v=i&&r?(b,S)=>{r(b,{location:i.location,params:i.matches?.[0]?.params??{},errorInfo:S})}:void 0;return d.reduceRight((b,S,N)=>{let q,C=!1,A=null,j=null;i&&(q=h&&S.route.id?h[S.route.id]:void 0,A=S.route.errorElement||fb,x&&(p<0&&N===0?(K0("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),C=!0,j=null):p===N&&(C=!0,j=S.route.hydrateFallbackElement||null)));let M=l.concat(d.slice(0,N+1)),w=()=>{let k;return q?k=A:C?k=j:S.route.Component?k=m.createElement(S.route.Component,null):S.route.element?k=S.route.element:k=b,m.createElement(mb,{match:S,routeContext:{outlet:b,matches:M,isDataRoute:i!=null},children:k})};return i&&(S.route.ErrorBoundary||S.route.errorElement||N===0)?m.createElement(db,{location:i.location,revalidation:i.revalidation,component:A,error:q,children:w(),routeContext:{outlet:null,matches:M,isDataRoute:!0},onError:v}):w()},null)}function cf(a){return`${a} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function pb(a){let l=m.useContext(Ol);return Xe(l,cf(a)),l}function gb(a){let l=m.useContext(Yr);return Xe(l,cf(a)),l}function xb(a){let l=m.useContext(Bn);return Xe(l,cf(a)),l}function uf(a){let l=xb(a),i=l.matches[l.matches.length-1];return Xe(i.route.id,`${a} can only be used on routes that contain a unique "id"`),i.route.id}function vb(){return uf("useRouteId")}function yb(){let a=m.useContext(of),l=gb("useRouteError"),i=uf("useRouteError");return a!==void 0?a:l.errors?.[i]}function bb(){let{router:a}=pb("useNavigate"),l=uf("useNavigate"),i=m.useRef(!1);return X0(()=>{i.current=!0}),m.useCallback(async(f,d={})=>{Pt(i.current,G0),i.current&&(typeof f=="number"?a.navigate(f):await a.navigate(f,{fromRouteId:l,...d}))},[a,l])}var Jp={};function K0(a,l,i){!l&&!Jp[a]&&(Jp[a]=!0,Pt(!1,i))}m.memo(Sb);function Sb({routes:a,future:l,state:i,unstable_onError:r}){return Q0(a,void 0,i,r,l)}function wr(a){Xe(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function Ab({basename:a="/",children:l=null,location:i,navigationType:r="POP",navigator:f,static:d=!1}){Xe(!Ws(),"You cannot render a inside another . You should never have more than one in your app.");let h=a.replace(/^\/*/,"/"),x=m.useMemo(()=>({basename:h,navigator:f,static:d,future:{}}),[h,f,d]);typeof i=="string"&&(i=Dl(i));let{pathname:p="/",search:v="",hash:b="",state:S=null,key:N="default"}=i,q=m.useMemo(()=>{let C=On(p,h);return C==null?null:{location:{pathname:C,search:v,hash:b,state:S,key:N},navigationType:r}},[h,p,v,b,S,N,r]);return Pt(q!=null,` is not able to match the URL "${p}${v}${b}" because it does not start with the basename, so the won't render anything.`),q==null?null:m.createElement(cn.Provider,{value:x},m.createElement(Is.Provider,{children:l,value:q}))}function jb({children:a,location:l}){return cb(Gu(a),l)}function Gu(a,l=[]){let i=[];return m.Children.forEach(a,(r,f)=>{if(!m.isValidElement(r))return;let d=[...l,f];if(r.type===m.Fragment){i.push.apply(i,Gu(r.props.children,d));return}Xe(r.type===wr,`[${typeof r.type=="string"?r.type:r.type.name}] is not a component. All component children of must be a or `),Xe(!r.props.index||!r.props.children,"An index route cannot have child routes.");let h={id:r.props.id||d.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,middleware:r.props.middleware,loader:r.props.loader,action:r.props.action,hydrateFallbackElement:r.props.hydrateFallbackElement,HydrateFallback:r.props.HydrateFallback,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.hasErrorBoundary===!0||r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(h.children=Gu(r.props.children,d)),i.push(h)}),i}var Er="get",Cr="application/x-www-form-urlencoded";function $r(a){return a!=null&&typeof a.tagName=="string"}function Nb(a){return $r(a)&&a.tagName.toLowerCase()==="button"}function wb(a){return $r(a)&&a.tagName.toLowerCase()==="form"}function Eb(a){return $r(a)&&a.tagName.toLowerCase()==="input"}function Cb(a){return!!(a.metaKey||a.altKey||a.ctrlKey||a.shiftKey)}function qb(a,l){return a.button===0&&(!l||l==="_self")&&!Cb(a)}var br=null;function Mb(){if(br===null)try{new FormData(document.createElement("form"),0),br=!1}catch{br=!0}return br}var Tb=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function bu(a){return a!=null&&!Tb.has(a)?(Pt(!1,`"${a}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${Cr}"`),null):a}function Rb(a,l){let i,r,f,d,h;if(wb(a)){let x=a.getAttribute("action");r=x?On(x,l):null,i=a.getAttribute("method")||Er,f=bu(a.getAttribute("enctype"))||Cr,d=new FormData(a)}else if(Nb(a)||Eb(a)&&(a.type==="submit"||a.type==="image")){let x=a.form;if(x==null)throw new Error('Cannot submit a + + HORN + {keyLabel ? ( + + {keyLabel} + + ) : null} + + + {pressed ? 'HONK' : 'HOLD'} + + +
+ + {freqs.map((freq, idx) => ( + + ))} +
+ ); } diff --git a/webui/src/components/HornSettings.jsx b/webui/src/components/HornSettings.jsx deleted file mode 100644 index 0cb3c50f..00000000 --- a/webui/src/components/HornSettings.jsx +++ /dev/null @@ -1,85 +0,0 @@ -import { useCallback, useEffect, useMemo, useState } from 'react'; -import { useSettingsNamespace } from '../settings/index.js'; -import { HORN_SETTINGS_DEFAULTS } from '../settings/namespaces.js'; - -function clampFreq(value) { - const num = Number(value); - if (!Number.isFinite(num)) return 0; - if (num <= 0) return 0; - return Math.min(5000, Math.round(num)); -} - -export default function HornSettings() { - const { value: hornSettings, save: saveHornSettings } = useSettingsNamespace( - 'horn', - HORN_SETTINGS_DEFAULTS, - ); - const [waveform, setWaveform] = useState(hornSettings?.waveform || HORN_SETTINGS_DEFAULTS.waveform); - const [freqs, setFreqs] = useState(() => { - const base = Array.isArray(hornSettings?.freqs) ? hornSettings.freqs : HORN_SETTINGS_DEFAULTS.freqs; - return [...base, 0, 0, 0, 0].slice(0, 4).map((f) => clampFreq(f)); - }); - - useEffect(() => { - setWaveform(hornSettings?.waveform || HORN_SETTINGS_DEFAULTS.waveform); - if (Array.isArray(hornSettings?.freqs)) { - setFreqs([...hornSettings.freqs, 0, 0, 0, 0].slice(0, 4).map((f) => clampFreq(f))); - } - }, [hornSettings?.freqs, hornSettings?.waveform]); - - const formattedWaveform = useMemo( - () => (waveform === 'sine' ? 'sine' : 'saw'), - [waveform], - ); - - const updateWaveform = useCallback( - (event) => { - const next = event.target.value === 'sine' ? 'sine' : 'saw'; - setWaveform(next); - saveHornSettings((current) => ({ ...(current ?? {}), waveform: next })); - }, - [saveHornSettings], - ); - - const updateFreq = useCallback( - (index, value) => { - setFreqs((prev) => { - const next = [...prev]; - next[index] = clampFreq(value); - saveHornSettings((current) => ({ ...(current ?? {}), freqs: next })); - return next; - }); - }, - [saveHornSettings], - ); - - return ( -
-

Horn

- -
- {freqs.map((freq, idx) => ( - - ))} -
-

Set a frequency to 0 to disable that oscillator.

-
- ); -} diff --git a/webui/src/components/SettingsPanel.jsx b/webui/src/components/SettingsPanel.jsx index 3b7b1758..bbad108c 100644 --- a/webui/src/components/SettingsPanel.jsx +++ b/webui/src/components/SettingsPanel.jsx @@ -8,7 +8,6 @@ import OvercurrentLimiterPanel from './OvercurrentLimiterPanel.jsx'; import Tabs, { Tab, TabList, TabPanel, TabPanels } from './Tabs.jsx'; import SessionSnapshot from './SessionSnapshot.jsx'; import SocketLogPanel from './SocketLogPanel.jsx'; -import HornSettings from './HornSettings.jsx'; import { useHudMapSetting } from '../hooks/useHudMapSetting.js'; import { useSettingsNamespace } from '../settings/index.js'; import { useSocket } from '../context/SocketContext.jsx'; @@ -68,7 +67,6 @@ export default function SettingsPanel() {
-