From 6a5df08d5880ab930c58298c961f9cbe6ef6e117 Mon Sep 17 00:00:00 2001 From: Johnny Bouder <61591423+jbouder@users.noreply.github.com> Date: Wed, 6 Mar 2024 12:16:07 -0500 Subject: [PATCH] Update App Launcher Create App Form based on new design (#146) * Add create and edit app pages. Update routing for pages on separate base. * Add app form to create and edit app pages. Update styling. Update theme. * Add view thumbnail action to thumbnail component. Add icons to buttons. * Add conda_env to dummy app data. * Update form to replace custom formgroup with mui formcontrol. * Fix unit tests. * Misc form updates to match designs. * Add back button to app form pages. * Update server types page styling. * Updates to submit on server types page. Misc cleanup. * Add routes and page template for new pages. Misc styling updates. * Add and update unit tests. * Add new build. * Update to add server type click event to card. * Update to provide app creation through main form when new server types are available. * Update thumbnail component styling to match mockup. * Update to persist form data on back. Updates to server type styling. * Update jhub styling. * Fix integration test. * Add and update unit tests. Misc cleanup. * Fix issue loading env variables into edit form. * Fix lint issue. * Add unit tests. Unit test cleanup. * Update jinja template path. * Fix env field when clicking back. * Update template_path import. --- .gitignore | 1 + jhub_apps/service/app.py | 2 + jhub_apps/service/japps_routes.py | 17 + jhub_apps/static/css/index.css | 2 +- jhub_apps/static/js/index.js | 65 ++- jhub_apps/templates/japps_home.html | 16 + jhub_apps/templates/style.css | 20 +- jhub_apps/tests_e2e/test_integration.py | 13 +- ui/src/App.tsx | 17 +- .../app-form/app-form.test.tsx | 64 ++- ui/src/components/app-form/app-form.tsx | 536 ++++++++++++++++++ ui/src/components/index.ts | 1 + ui/src/components/thumbnail/thumbnail.tsx | 37 +- ui/src/data/api.ts | 57 +- ui/src/index.css | 159 +++--- ui/src/main.tsx | 8 +- ui/src/pages/create-app/create-app.test.tsx | 53 ++ ui/src/pages/create-app/create-app.tsx | 43 ++ ui/src/pages/edit-app/edit-app.test.tsx | 68 +++ ui/src/pages/edit-app/edit-app.tsx | 44 ++ ui/src/pages/home/app-card/app-card.test.tsx | 36 +- ui/src/pages/home/app-card/app-card.tsx | 14 +- ui/src/pages/home/app-form/app-form.tsx | 513 ----------------- ui/src/pages/home/home.test.tsx | 13 +- ui/src/pages/home/home.tsx | 16 +- .../pages/server-types/server-types.test.tsx | 171 +++++- ui/src/pages/server-types/server-types.tsx | 285 ++++++++-- ui/src/store.ts | 25 +- ui/src/theme/theme.tsx | 57 +- ui/src/types/api.ts | 1 + ui/src/utils/constants.ts | 2 + ui/src/utils/jupyterhub.test.ts | 14 +- ui/src/utils/jupyterhub.ts | 12 +- 33 files changed, 1564 insertions(+), 818 deletions(-) create mode 100644 jhub_apps/service/japps_routes.py create mode 100644 jhub_apps/templates/japps_home.html rename ui/src/{pages/home => components}/app-form/app-form.test.tsx (88%) create mode 100644 ui/src/components/app-form/app-form.tsx create mode 100644 ui/src/pages/create-app/create-app.test.tsx create mode 100644 ui/src/pages/create-app/create-app.tsx create mode 100644 ui/src/pages/edit-app/edit-app.test.tsx create mode 100644 ui/src/pages/edit-app/edit-app.tsx delete mode 100644 ui/src/pages/home/app-form/app-form.tsx diff --git a/.gitignore b/.gitignore index d6888575..38572e76 100644 --- a/.gitignore +++ b/.gitignore @@ -293,3 +293,4 @@ cython_debug/ jupyterhub.sqlite jupyterhub_cookie_secret .DS_Store +videos/ \ No newline at end of file diff --git a/jhub_apps/service/app.py b/jhub_apps/service/app.py index ba58486b..12e794af 100644 --- a/jhub_apps/service/app.py +++ b/jhub_apps/service/app.py @@ -4,6 +4,7 @@ from fastapi import FastAPI from fastapi.staticfiles import StaticFiles +from jhub_apps.service.japps_routes import router as japps_router from jhub_apps.service.logging_utils import setup_logging from jhub_apps.service.middlewares import create_middlewares from jhub_apps.service.routes import router @@ -33,5 +34,6 @@ static_files = StaticFiles(directory=STATIC_DIR) app.mount(f"{router.prefix}/static", static_files, name="static") app.include_router(router) +app.include_router(japps_router) create_middlewares(app) setup_logging() diff --git a/jhub_apps/service/japps_routes.py b/jhub_apps/service/japps_routes.py new file mode 100644 index 00000000..d6a63e5a --- /dev/null +++ b/jhub_apps/service/japps_routes.py @@ -0,0 +1,17 @@ +from fastapi import APIRouter, FastAPI, Request +from fastapi.responses import HTMLResponse +from fastapi.templating import Jinja2Templates + +from jhub_apps import TEMPLATE_PATH + +app = FastAPI() + +templates = Jinja2Templates(directory=TEMPLATE_PATH) +router = APIRouter(prefix="/services/japps") + + +@router.get("/create-app", response_class=HTMLResponse) +@router.get("/edit-app", response_class=HTMLResponse) +@router.get("/server-types", response_class=HTMLResponse) +async def handle_apps(request: Request): + return templates.TemplateResponse("japps_home.html", {"request": request}) diff --git a/jhub_apps/static/css/index.css b/jhub_apps/static/css/index.css index a5a1ae1e..7656fcaf 100644 --- a/jhub_apps/static/css/index.css +++ b/jhub_apps/static/css/index.css @@ -1 +1 @@ -*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}: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:Graphik,sans-serif;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;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[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]{display:none}*,: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: }::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: }.container{width:100%}@media (min-width: 480px){.container{max-width:480px}}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}@media (min-width: 1920px){.container{max-width:1920px}}.container{margin-left:auto;margin-right:auto}.container:before{content:unset}.form{min-width:400px}.form .btn{margin-top:1.5rem}.form .text-input{max-width:none}.form-group{margin-top:1rem}.form-group-error{margin-left:-1.25rem;border-left-width:.25rem;border-left-color:#d54309;border-left-style:solid;padding-left:1rem;position:relative}.btn{padding:.4rem 1rem}.btn-primary{background-color:#005ea2;color:#fff;border-color:#005ea2}.btn-primary:hover{background-color:#1a4480;border-color:#1a4480}.btn-primary:active{background-color:#162e51;border-color:#162e51}.btn-primary:disabled{background-color:#e6e6e6;border-color:#e6e6e6;color:#5c5c5c;cursor:not-allowed}.btn-primary:focus,.btn-secondary:focus{outline:.2rem solid #2491ff;outline-offset:.15rem}.button-group{display:flex;flex-direction:row;justify-content:flex-end}.button-group-item{margin:.25rem}.label{max-width:30rem}.text-input,.file-input,.text-area,.select{width:100%;margin-top:.5rem}.text-input,.text-area,.select{border:1px solid #5c5c5c;border-radius:0}.text-input:focus,.file-input:focus,.text-area:focus,.select:focus{outline:.2rem solid #2491ff}.text-area{min-height:6rem}.toggle{margin-top:.5rem}.toggle-dot{background-color:#fff;border:1px solid #e6e6e6}.toggle-body{background-color:#e6e6e6}.toggle-body-on{background-color:#005ea2}.toggle-label{color:#1b1b1b}.text-red{color:#d54309}.card{width:280px;border:2px solid #e6e6e6;border-radius:.25rem}.card:focus{outline:.2rem solid #2491ff}.card-header{padding:1.5rem 1.5rem .5rem}.card-header-menu{width:100%;display:flex;justify-content:right;position:relative;top:5px;right:5px}.card-header-media{min-height:1px}.card-header-img{height:150px;background-color:#e6e6e6;overflow:hidden}.card-header-img>img{margin:auto}.card-header a{text-decoration:underline}.card-body{min-height:75px;padding:.5rem 1.5rem}.card-footer{padding:.5rem 1.5rem 1.5rem}.modal-overlay{background-color:#00000080;width:100vw;height:100vh;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);position:fixed}.modal-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001}.modal-main{min-width:280px;min-height:160px;background-color:#fff;z-index:1000;border-radius:4px;box-shadow:0 5px 20px #0000000a}.modal-heading{background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px}.modal-title{margin:0;padding:10px 24px;color:#1b1b1b;font-weight:700;font-size:1rem;border-bottom:1px solid #e6e6e6}.modal-close-btn{color:#1b1b1b;font-weight:700;width:12px;height:12px;margin:8px;border:none;background-color:#fff;box-shadow:0 5px 20px #0000000f;position:absolute;right:8px;top:8px;align-self:flex-end}.modal-close-btn:active{border:2px solid #162e51}.modal-body{min-height:120px;max-height:90vh;overflow-y:auto;color:#1b1b1b;padding:16px 24px;font-size:.93rem}.modal-footer{border-top:1px solid #e6e6e6;padding:10px 24px}.tag{background-color:#e6e6e6;color:#5c5c5c;font-size:.93rem;border-radius:.25rem;padding:.25rem .5rem}.alert{border-left:.5rem solid #e6e6e6;color:#1b1b1b}.alert-body{padding-left:4rem;padding-right:4rem;color:#1b1b1b;margin-left:auto;margin-right:auto;padding:.5rem;font-size:1rem}.alert-text{color:#1b1b1b}.alert-success{border-left-color:#00a91c;background-color:#ecf3ec}.alert-warning{border-left-color:#ffbe2e;background-color:#fde68a}.alert-error{border-left-color:#d54309;background-color:#f4e3db}.alert-info{border-left-color:#00bde3;background-color:#e7f6f8}.card:hover .context-menu-container,.card:focus .context-menu-container{display:block}.context-menu-container{display:none;position:absolute;color:#1b1b1b;width:24px;height:24px;border:1px solid #e6e6e6;border-radius:50%;background-color:#fff;cursor:pointer}.context-menu-container:focus .context-menu{display:block}.context-menu{display:none;list-style:none;position:absolute;top:28px;right:0;background-color:#fff;border:#e6e6e6;border-radius:4px;box-shadow:0 2px 5px #0000001a;padding:0;min-width:120px}.context-menu li{padding:6px 12px;cursor:pointer}.context-menu li:hover{background-color:#f0f0f0}.context-menu li a{text-decoration:none;color:#1b1b1b;display:block;font-size:.875rem;line-height:1.25rem}.context-menu li a.disabled{cursor:not-allowed;color:#adadad!important}.thumbnail{display:flex;flex-direction:row;width:500px;height:180px;padding:10px 0;border:none}.thumbnail-body{display:flex;flex-direction:column;width:100%;height:100%;background-color:#d6e1f1}.thumbnail-body.dragging{border:2px dashed #005ea2}.thumbnail-body img{max-height:150px;margin-bottom:10px}.thumbnail-icon-container{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;cursor:pointer}.thumbnail-icon{width:50px;color:#849cbf}.thumbnail-actions{display:flex;flex-direction:column;margin:0 10px}.thumbnail-actions button{border:none;padding:4px 8px;margin-top:0!important;margin-bottom:10px;width:200px}.grid-heading-left,.grid-heading-right{width:120px}.grid-spacer{position:relative;top:12px}@media only screen and (min-width: 1537px){.grid-spacer{width:1460px}}@media only screen and (min-width: 1537px) and (max-width: 1920px){.grid-spacer{width:1160px}}@media only screen and (min-width: 1281px) and (max-width: 1536px){.grid-spacer{width:960px}}@media only screen and (min-width: 1025px) and (max-width: 1280px){.grid-spacer{width:660px}}@media only screen and (min-width: 769px) and (max-width: 1024px){.grid-spacer{width:460px}}@media only screen and (min-width: 641px) and (max-width: 768px){h1{padding-bottom:24px}.grid-spacer{width:320px}#create-app{width:120px}}@media only screen and (max-width: 640px){.container{padding-left:15px;padding-right:15px}h1{padding-bottom:24px}.btn,.card{width:100%}.card-header-media,.grid-heading-center,.grid-heading-right,.grid-heading-right>h2{display:none}#create-app{width:120px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.left-0{left:0}.col-span-12{grid-column:span 12 / span 12}.col-span-4{grid-column:span 4 / span 4}.col-span-6{grid-column:span 6 / span 6}.col-span-8{grid-column:span 8 / span 8}.col-start-4{grid-column-start:4}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mb-0{margin-bottom:0}.mb-6{margin-bottom:1.5rem}.ml-0{margin-left:0}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-6{margin-left:1.5rem}.mr-1{margin-right:.25rem}.mt-0{margin-top:0}.inline{display:inline}.flex{display:flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-6{height:1.5rem}.w-12{width:3rem}.w-6{width:1.5rem}.w-\[400px\]{width:400px}.w-full{width:100%}.cursor-pointer{cursor:pointer}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.gap-4{gap:1rem}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.border{border-width:1px}.bg-warning-light{--tw-bg-opacity: 1;background-color:rgb(253 230 138 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-2{padding:.5rem}.p-4{padding:1rem}.px-4{padding-left:1rem;padding-right:1rem}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px 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)}.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)}.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)}.server-types h1{font-size:1.5rem;line-height:3rem;font-weight:700;margin-top:0;margin-bottom:1rem}.server-types a{color:#0645ad;text-decoration:none;transition:color .3s ease-in-out;text-decoration:underline}.server-types a:hover{color:#0a58ca}.server-types a:active{color:#03396c}.server-types a:visited{color:#4b2e83}.server-types .mb-0{margin-bottom:0}.server-types .my-2{margin:2rem 0}.server-types .mr-1{margin-right:1rem}.server-types .bt{border-top:1px solid #ccc}.server-types .br-5{border-radius:5px}.server-types .radio-button{display:block;margin-bottom:20px;font-size:1rem}.server-types .radio-button label{font-weight:700}.server-types .radio-button input[type=radio]{margin-right:10px;height:1rem;width:1rem}.server-types .radio-button .subtext{font-size:14px;font-weight:400;margin-left:1.6rem}.server-types .button-container{display:flex;justify-content:space-between;margin:2rem 0;padding:2rem 0}.server-types .center{margin:0 auto;text-align:center}@media (min-width: 768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:col-span-8{grid-column:span 8 / span 8}} +*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}: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:Graphik,sans-serif;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;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[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]{display:none}*,: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: }::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: }.container{width:100%}@media (min-width: 480px){.container{max-width:480px}}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}@media (min-width: 1920px){.container{max-width:1920px}}.container{margin-left:auto;margin-right:auto}.container:before{content:unset}.row{display:flex;flex-direction:column;margin:0 0 16px}.row.breadcrumb>button{width:50px}h1{font-size:24px;font-weight:700;padding:0 0 8px}p{font-size:16px}.form{max-width:600px}.form-section{margin:16px 0;padding:12px 0}.form>.form-section>h2{font-size:16px;font-weight:600;margin:0 0 16px}.form hr{color:#c3c3c3}.form>.button-section{width:100%;margin:24px 0}.form>.button-section>.prev{float:left}.form>.button-section>.next{float:right}.paragraph{max-width:600px}.paragraph-link{color:#276be9;text-decoration:underline}.form .btn{margin-top:1.5rem}.form .text-input{max-width:none}.form-group{margin-top:1rem}.form-group-error{margin-left:-1.25rem;border-left-width:.25rem;border-left-color:#d54309;border-left-style:solid;padding-left:1rem;position:relative}.server-type-card{margin:8px 0;cursor:pointer}.server-type-card:hover{background:#f0f0f0}.server-type-card:focus{outline:2px solid #005ea2}.server-type-card p{font-size:14px}.btn{padding:.4rem 1rem}.btn-primary{background-color:#005ea2;color:#fff;border-color:#005ea2}.btn-primary:hover{background-color:#1a4480;border-color:#1a4480}.btn-primary:active{background-color:#162e51;border-color:#162e51}.btn-primary:disabled{background-color:#e6e6e6;border-color:#e6e6e6;color:#5c5c5c;cursor:not-allowed}.btn-primary:focus,.btn-secondary:focus{outline:.2rem solid #2491ff;outline-offset:.15rem}.button-group{display:flex;flex-direction:row;justify-content:flex-end}.button-group-item{margin:.25rem}.label{max-width:30rem}.text-input,.file-input,.text-area,.select{width:100%;margin-top:.5rem}.text-input,.text-area,.select{border:1px solid #5c5c5c;border-radius:0}.text-input:focus,.file-input:focus,.text-area:focus,.select:focus{outline:.2rem solid #2491ff}.text-area{min-height:6rem}.toggle{margin-top:.5rem}.toggle-dot{background-color:#fff;border:1px solid #e6e6e6}.toggle-body{background-color:#e6e6e6}.toggle-body-on{background-color:#005ea2}.toggle-label{color:#1b1b1b}.text-red{color:#d54309}.card{width:280px;border:2px solid #e6e6e6;border-radius:.25rem}.card:focus{outline:.2rem solid #2491ff}.card-header{padding:1.5rem 1.5rem .5rem}.card-header-menu{width:100%;display:flex;justify-content:right;position:relative;top:5px;right:5px}.card-header-media{min-height:1px}.card-header-img{height:150px;background-color:#e6e6e6;overflow:hidden}.card-header-img>img{margin:auto}.card-header a{text-decoration:underline}.card-body{min-height:75px;padding:.5rem 1.5rem}.card-footer{padding:.5rem 1.5rem 1.5rem}.modal-overlay{background-color:#00000080;width:100vw;height:100vh;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);position:fixed}.modal-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1001}.modal-main{min-width:280px;min-height:160px;background-color:#fff;z-index:1000;border-radius:4px;box-shadow:0 5px 20px #0000000a}.modal-heading{background-color:#fff;border-top-left-radius:4px;border-top-right-radius:4px}.modal-title{margin:0;padding:10px 24px;color:#1b1b1b;font-weight:700;font-size:1rem;border-bottom:1px solid #e6e6e6}.modal-close-btn{color:#1b1b1b;font-weight:700;width:12px;height:12px;margin:8px;border:none;background-color:#fff;box-shadow:0 5px 20px #0000000f;position:absolute;right:8px;top:8px;align-self:flex-end}.modal-close-btn:active{border:2px solid #162e51}.modal-body{min-height:120px;max-height:90vh;overflow-y:auto;color:#1b1b1b;padding:16px 24px;font-size:.93rem}.modal-footer{border-top:1px solid #e6e6e6;padding:10px 24px}.tag{background-color:#e6e6e6;color:#5c5c5c;font-size:.93rem;border-radius:.25rem;padding:.25rem .5rem}.alert{border-left:.5rem solid #e6e6e6;color:#1b1b1b}.alert-body{padding-left:4rem;padding-right:4rem;color:#1b1b1b;margin-left:auto;margin-right:auto;padding:.5rem;font-size:1rem}.alert-text{color:#1b1b1b}.alert-success{border-left-color:#00a91c;background-color:#ecf3ec}.alert-warning{border-left-color:#ffbe2e;background-color:#fde68a}.alert-error{border-left-color:#d54309;background-color:#f4e3db}.alert-info{border-left-color:#00bde3;background-color:#e7f6f8}.card:hover .context-menu-container,.card:focus .context-menu-container{display:block}.context-menu-container{display:none;position:absolute;color:#1b1b1b;width:24px;height:24px;border:1px solid #e6e6e6;border-radius:50%;background-color:#fff;cursor:pointer}.context-menu-container:focus .context-menu{display:block}.context-menu{display:none;list-style:none;position:absolute;top:28px;right:0;background-color:#fff;border:#e6e6e6;border-radius:4px;box-shadow:0 2px 5px #0000001a;padding:0;min-width:120px}.context-menu li{padding:6px 12px;cursor:pointer}.context-menu li:hover{background-color:#f0f0f0}.context-menu li a{text-decoration:none;color:#1b1b1b;display:block;font-size:.875rem;line-height:1.25rem}.context-menu li a.disabled{cursor:not-allowed;color:#adadad!important}.thumbnail{display:flex;flex-direction:row;width:500px;height:180px;padding:10px 0;border:none}.thumbnail-body{display:flex;flex-direction:column;width:100%;height:100%;background-color:#90969c}.thumbnail-body.dragging{border:2px dashed #005ea2}.thumbnail-body img{max-height:150px;margin-bottom:10px}.thumbnail-icon-container{display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;cursor:pointer}.thumbnail-icon{width:64px!important;height:64px!important;color:#fff}.thumbnail-actions{display:flex;flex-direction:column;margin:0 10px}.thumbnail-actions button{border:none;padding:4px 8px;margin-top:0!important;margin-bottom:10px;width:200px}.grid-heading-left,.grid-heading-right{width:120px}.grid-spacer{position:relative;top:12px}@media only screen and (min-width: 1537px){.grid-spacer{width:1460px}}@media only screen and (min-width: 1537px) and (max-width: 1920px){.grid-spacer{width:1160px}}@media only screen and (min-width: 1281px) and (max-width: 1536px){.grid-spacer{width:960px}}@media only screen and (min-width: 1025px) and (max-width: 1280px){.grid-spacer{width:660px}}@media only screen and (min-width: 769px) and (max-width: 1024px){.grid-spacer{width:460px}}@media only screen and (min-width: 641px) and (max-width: 768px){h1{padding-bottom:24px}.grid-spacer{width:320px}#create-app{width:120px}}@media only screen and (max-width: 640px){.container{padding-left:15px;padding-right:15px}h1{padding-bottom:24px}.btn,.card{width:100%}.card-header-media,.grid-heading-center,.grid-heading-right,.grid-heading-right>h2{display:none}#create-app{width:120px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-y-0{top:0;bottom:0}.left-0{left:0}.col-span-12{grid-column:span 12 / span 12}.col-span-4{grid-column:span 4 / span 4}.col-span-8{grid-column:span 8 / span 8}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.mb-6{margin-bottom:1.5rem}.ml-0{margin-left:0}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-6{margin-left:1.5rem}.mt-0{margin-top:0}.inline{display:inline}.flex{display:flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-6{height:1.5rem}.w-12{width:3rem}.w-6{width:1.5rem}.w-\[400px\]{width:400px}.w-full{width:100%}.cursor-pointer{cursor:pointer}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.gap-4{gap:1rem}.whitespace-nowrap{white-space:nowrap}.rounded-full{border-radius:9999px}.border{border-width:1px}.bg-warning-light{--tw-bg-opacity: 1;background-color:rgb(253 230 138 / var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.p-2{padding:.5rem}.pb-12{padding-bottom:3rem}.pb-2{padding-bottom:.5rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px 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)}.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)}.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)}@media (min-width: 768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:col-span-8{grid-column:span 8 / span 8}} diff --git a/jhub_apps/static/js/index.js b/jhub_apps/static/js/index.js index a3bd2c28..1e9e5395 100644 --- a/jhub_apps/static/js/index.js +++ b/jhub_apps/static/js/index.js @@ -1,4 +1,4 @@ -function Rw(e,t){for(var n=0;nr[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerPolicy&&(i.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?i.credentials="include":o.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(o){if(o.ep)return;o.ep=!0;const i=n(o);fetch(o.href,i)}})();function Sf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var lv={exports:{}},Ul={},uv={exports:{}},xe={};/** +function gR(e,t){for(var n=0;nr[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const i of s.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&r(i)}).observe(document,{childList:!0,subtree:!0});function n(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(o){if(o.ep)return;o.ep=!0;const s=n(o);fetch(o.href,s)}})();function qp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function SR(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function r(){return this instanceof r?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}),n}var x0={exports:{}},Lu={},w0={exports:{}},Oe={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ function Rw(e,t){for(var n=0;n=0)&&(n[o]=e[o]);return n}function gv(e){var t=Object.create(null);return function(n){return t[n]===void 0&&(t[n]=e(n)),t[n]}}var Jw=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,e_=gv(function(e){return Jw.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91});function t_(e){if(e.sheet)return e.sheet;for(var t=0;t0?mt(ai,--Vt):0,Ho--,tt===10&&(Ho=1,zl--),tt}function qt(){return tt=Vt2||ss(tt)>3?"":" "}function p_(e,t){for(;--t&&qt()&&!(tt<48||tt>102||tt>57&&tt<65||tt>70&&tt<97););return ks(e,ka()+(t<6&&$n()==32&&qt()==32))}function Jc(e){for(;qt();)switch(tt){case e:return Vt;case 34:case 39:e!==34&&e!==39&&Jc(tt);break;case 40:e===41&&Jc(e);break;case 92:qt();break}return Vt}function m_(e,t){for(;qt()&&e+tt!==57;)if(e+tt===84&&$n()===47)break;return"/*"+ks(t,Vt-1)+"*"+Bl(e===47?e:qt())}function y_(e){for(;!ss($n());)qt();return ks(e,Vt)}function v_(e){return xv(Na("",null,null,null,[""],e=bv(e),0,[0],e))}function Na(e,t,n,r,o,i,s,a,l){for(var u=0,d=0,c=s,h=0,S=0,y=0,p=1,_=1,m=1,f=0,v="",R=o,E=i,k=r,b=v;_;)switch(y=f,f=qt()){case 40:if(y!=108&&mt(b,c-1)==58){Zc(b+=ke(Aa(f),"&","&\f"),"&\f")!=-1&&(m=-1);break}case 34:case 39:case 91:b+=Aa(f);break;case 9:case 10:case 13:case 32:b+=h_(y);break;case 92:b+=p_(ka()-1,7);continue;case 47:switch($n()){case 42:case 47:Zs(g_(m_(qt(),ka()),t,n),l);break;default:b+="/"}break;case 123*p:a[u++]=Ln(b)*m;case 125*p:case 59:case 0:switch(f){case 0:case 125:_=0;case 59+d:m==-1&&(b=ke(b,/\f/g,"")),S>0&&Ln(b)-c&&Zs(S>32?Rp(b+";",r,n,c-1):Rp(ke(b," ","")+";",r,n,c-2),l);break;case 59:b+=";";default:if(Zs(k=_p(b,t,n,u,d,o,a,v,R=[],E=[],c),i),f===123)if(d===0)Na(b,t,k,k,R,i,c,a,E);else switch(h===99&&mt(b,3)===110?100:h){case 100:case 108:case 109:case 115:Na(e,k,k,r&&Zs(_p(e,k,k,0,0,o,a,v,o,R=[],c),E),o,E,c,a,r?R:E);break;default:Na(b,k,k,k,[""],E,0,a,E)}}u=d=S=0,p=m=1,v=b="",c=s;break;case 58:c=1+Ln(b),S=y;default:if(p<1){if(f==123)--p;else if(f==125&&p++==0&&f_()==125)continue}switch(b+=Bl(f),f*p){case 38:m=d>0?1:(b+="\f",-1);break;case 44:a[u++]=(Ln(b)-1)*m,m=1;break;case 64:$n()===45&&(b+=Aa(qt())),h=$n(),d=c=Ln(v=b+=y_(ka())),f++;break;case 45:y===45&&Ln(b)==2&&(p=0)}}return i}function _p(e,t,n,r,o,i,s,a,l,u,d){for(var c=o-1,h=o===0?i:[""],S=Cf(h),y=0,p=0,_=0;y0?h[m]+" "+f:ke(f,/&\f/g,h[m])))&&(l[_++]=v);return Wl(e,t,n,o===0?xf:a,l,u,d)}function g_(e,t,n){return Wl(e,t,n,Sv,Bl(d_()),is(e,2,-2),0)}function Rp(e,t,n,r){return Wl(e,t,n,Ef,is(e,0,r),is(e,r+1,-1),r)}function Fo(e,t){for(var n="",r=Cf(e),o=0;o6)switch(mt(e,t+1)){case 109:if(mt(e,t+4)!==45)break;case 102:return ke(e,/(.+:)(.+)-([^]+)/,"$1"+Te+"$2-$3$1"+Za+(mt(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~Zc(e,"stretch")?Ev(ke(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(mt(e,t+1)!==115)break;case 6444:switch(mt(e,Ln(e)-3-(~Zc(e,"!important")&&10))){case 107:return ke(e,":",":"+Te)+e;case 101:return ke(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Te+(mt(e,14)===45?"inline-":"")+"box$3$1"+Te+"$2$3$1"+wt+"$2box$3")+e}break;case 5936:switch(mt(e,t+11)){case 114:return Te+e+wt+ke(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Te+e+wt+ke(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Te+e+wt+ke(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Te+e+wt+e+e}return e}var T_=function(t,n,r,o){if(t.length>-1&&!t.return)switch(t.type){case Ef:t.return=Ev(t.value,t.length);break;case wv:return Fo([gi(t,{value:ke(t.value,"@","@"+Te)})],o);case xf:if(t.length)return c_(t.props,function(i){switch(u_(i,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Fo([gi(t,{props:[ke(i,/:(read-\w+)/,":"+Za+"$1")]})],o);case"::placeholder":return Fo([gi(t,{props:[ke(i,/:(plac\w+)/,":"+Te+"input-$1")]}),gi(t,{props:[ke(i,/:(plac\w+)/,":"+Za+"$1")]}),gi(t,{props:[ke(i,/:(plac\w+)/,wt+"input-$1")]})],o)}return""})}},k_=[T_],A_=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(p){var _=p.getAttribute("data-emotion");_.indexOf(" ")!==-1&&(document.head.appendChild(p),p.setAttribute("data-s",""))})}var o=t.stylisPlugins||k_,i={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(p){for(var _=p.getAttribute("data-emotion").split(" "),m=1;m<_.length;m++)i[_[m]]=!0;a.push(p)});var l,u=[E_,C_];{var d,c=[S_,__(function(p){d.insert(p)})],h=w_(u.concat(o,c)),S=function(_){return Fo(v_(_),h)};l=function(_,m,f,v){d=f,S(_?_+"{"+m.styles+"}":m.styles),v&&(y.inserted[m.name]=!0)}}var y={key:n,sheet:new r_({key:n,container:s,nonce:t.nonce,speedy:t.speedy,prepend:t.prepend,insertionPoint:t.insertionPoint}),nonce:t.nonce,inserted:i,registered:{},insert:l};return y.sheet.hydrate(a),y},Cv={exports:{}},Pe={};/** @license React v16.13.1 + */var MR=b,IR=Symbol.for("react.element"),FR=Symbol.for("react.fragment"),DR=Object.prototype.hasOwnProperty,jR=MR.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,BR={key:!0,ref:!0,__self:!0,__source:!0};function A0(e,t,n){var r,o={},s=null,i=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(i=t.ref);for(r in t)DR.call(t,r)&&!BR.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps,t)o[r]===void 0&&(o[r]=t[r]);return{$$typeof:IR,type:e,key:s,ref:i,props:o,_owner:jR.current}}Lu.Fragment=FR;Lu.jsx=A0;Lu.jsxs=A0;x0.exports=Lu;var g=x0.exports;const UR={black:"#000",white:"#fff"},Hi=UR,zR={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},Fo=zR,VR={50:"#f3e5f5",100:"#e1bee7",200:"#ce93d8",300:"#ba68c8",400:"#ab47bc",500:"#9c27b0",600:"#8e24aa",700:"#7b1fa2",800:"#6a1b9a",900:"#4a148c",A100:"#ea80fc",A200:"#e040fb",A400:"#d500f9",A700:"#aa00ff"},Do=VR,WR={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},jo=WR,HR={50:"#e1f5fe",100:"#b3e5fc",200:"#81d4fa",300:"#4fc3f7",400:"#29b6f6",500:"#03a9f4",600:"#039be5",700:"#0288d1",800:"#0277bd",900:"#01579b",A100:"#80d8ff",A200:"#40c4ff",A400:"#00b0ff",A700:"#0091ea"},Bo=HR,qR={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},Uo=qR,KR={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},Ys=KR,GR={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},QR=GR;function Gr(e){let t="https://mui.com/production-error/?code="+e;for(let n=1;n=0)&&(n[o]=e[o]);return n}function N0(e){var t=Object.create(null);return function(n){return t[n]===void 0&&(t[n]=e(n)),t[n]}}var XR=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,YR=N0(function(e){return XR.test(e)||e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)<91});function JR(e){if(e.sheet)return e.sheet;for(var t=0;t0?Nt(Is,--an):0,ys--,vt===10&&(ys=1,Mu--),vt}function pn(){return vt=an2||Ki(vt)>3?"":" "}function dC(e,t){for(;--t&&pn()&&!(vt<48||vt>102||vt>57&&vt<65||vt>70&&vt<97););return ga(e,vl()+(t<6&&rr()==32&&pn()==32))}function xf(e){for(;pn();)switch(vt){case e:return an;case 34:case 39:e!==34&&e!==39&&xf(vt);break;case 40:e===41&&xf(e);break;case 92:pn();break}return an}function fC(e,t){for(;pn()&&e+vt!==57;)if(e+vt===84&&rr()===47)break;return"/*"+ga(t,an-1)+"*"+$u(e===47?e:pn())}function pC(e){for(;!Ki(rr());)pn();return ga(e,an)}function hC(e){return F0(gl("",null,null,null,[""],e=I0(e),0,[0],e))}function gl(e,t,n,r,o,s,i,a,l){for(var u=0,c=0,d=i,f=0,S=0,h=0,m=1,w=1,y=1,p=0,v="",x=o,C=s,E=r,R=v;w;)switch(h=p,p=pn()){case 40:if(h!=108&&Nt(R,d-1)==58){bf(R+=De(yl(p),"&","&\f"),"&\f")!=-1&&(y=-1);break}case 34:case 39:case 91:R+=yl(p);break;case 9:case 10:case 13:case 32:R+=cC(h);break;case 92:R+=dC(vl()-1,7);continue;case 47:switch(rr()){case 42:case 47:ja(mC(fC(pn(),vl()),t,n),l);break;default:R+="/"}break;case 123*m:a[u++]=Jn(R)*y;case 125*m:case 59:case 0:switch(p){case 0:case 125:w=0;case 59+c:y==-1&&(R=De(R,/\f/g,"")),S>0&&Jn(R)-d&&ja(S>32?uv(R+";",r,n,d-1):uv(De(R," ","")+";",r,n,d-2),l);break;case 59:R+=";";default:if(ja(E=lv(R,t,n,u,c,o,a,v,x=[],C=[],d),s),p===123)if(c===0)gl(R,t,E,E,x,s,d,a,C);else switch(f===99&&Nt(R,3)===110?100:f){case 100:case 108:case 109:case 115:gl(e,E,E,r&&ja(lv(e,E,E,0,0,o,a,v,o,x=[],d),C),o,C,d,a,r?x:C);break;default:gl(R,E,E,E,[""],C,0,a,C)}}u=c=S=0,m=y=1,v=R="",d=i;break;case 58:d=1+Jn(R),S=h;default:if(m<1){if(p==123)--m;else if(p==125&&m++==0&&uC()==125)continue}switch(R+=$u(p),p*m){case 38:y=c>0?1:(R+="\f",-1);break;case 44:a[u++]=(Jn(R)-1)*y,y=1;break;case 64:rr()===45&&(R+=yl(pn())),f=rr(),c=d=Jn(v=R+=pC(vl())),p++;break;case 45:h===45&&Jn(R)==2&&(m=0)}}return s}function lv(e,t,n,r,o,s,i,a,l,u,c){for(var d=o-1,f=o===0?s:[""],S=Zp(f),h=0,m=0,w=0;h0?f[y]+" "+p:De(p,/&\f/g,f[y])))&&(l[w++]=v);return Iu(e,t,n,o===0?Yp:a,l,u,c)}function mC(e,t,n){return Iu(e,t,n,O0,$u(lC()),qi(e,2,-2),0)}function uv(e,t,n,r){return Iu(e,t,n,Jp,qi(e,0,r),qi(e,r+1,-1),r)}function as(e,t){for(var n="",r=Zp(e),o=0;o6)switch(Nt(e,t+1)){case 109:if(Nt(e,t+4)!==45)break;case 102:return De(e,/(.+:)(.+)-([^]+)/,"$1"+Fe+"$2-$3$1"+jl+(Nt(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~bf(e,"stretch")?D0(De(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Nt(e,t+1)!==115)break;case 6444:switch(Nt(e,Jn(e)-3-(~bf(e,"!important")&&10))){case 107:return De(e,":",":"+Fe)+e;case 101:return De(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Fe+(Nt(e,14)===45?"inline-":"")+"box$3$1"+Fe+"$2$3$1"+Dt+"$2box$3")+e}break;case 5936:switch(Nt(e,t+11)){case 114:return Fe+e+Dt+De(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Fe+e+Dt+De(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Fe+e+Dt+De(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Fe+e+Dt+e+e}return e}var CC=function(t,n,r,o){if(t.length>-1&&!t.return)switch(t.type){case Jp:t.return=D0(t.value,t.length);break;case L0:return as([Js(t,{value:De(t.value,"@","@"+Fe)})],o);case Yp:if(t.length)return aC(t.props,function(s){switch(iC(s,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return as([Js(t,{props:[De(s,/:(read-\w+)/,":"+jl+"$1")]})],o);case"::placeholder":return as([Js(t,{props:[De(s,/:(plac\w+)/,":"+Fe+"input-$1")]}),Js(t,{props:[De(s,/:(plac\w+)/,":"+jl+"$1")]}),Js(t,{props:[De(s,/:(plac\w+)/,Dt+"input-$1")]})],o)}return""})}},EC=[CC],_C=function(t){var n=t.key;if(n==="css"){var r=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(r,function(m){var w=m.getAttribute("data-emotion");w.indexOf(" ")!==-1&&(document.head.appendChild(m),m.setAttribute("data-s",""))})}var o=t.stylisPlugins||EC,s={},i,a=[];i=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+n+' "]'),function(m){for(var w=m.getAttribute("data-emotion").split(" "),y=1;y=4;++r,o-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(o){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var U_={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},B_=/[A-Z]|^ms/g,z_=/_EMO_([^_]+?)_([^]*?)_EMO_/g,Ov=function(t){return t.charCodeAt(1)===45},xp=function(t){return t!=null&&typeof t!="boolean"},sc=gv(function(e){return Ov(e)?e:e.replace(B_,"-$&").toLowerCase()}),Ep=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(z_,function(r,o,i){return Fn={name:o,styles:i,next:Fn},o})}return U_[t]!==1&&!Ov(t)&&typeof n=="number"&&n!==0?n+"px":n};function as(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return Fn={name:n.name,styles:n.styles,next:Fn},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)Fn={name:r.name,styles:r.styles,next:Fn},r=r.next;var o=n.styles+";";return o}return W_(e,t,n)}case"function":{if(e!==void 0){var i=Fn,s=n(e);return Fn=i,as(e,t,s)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function W_(e,t,n){var r="";if(Array.isArray(n))for(var o=0;o96?G_:X_},Ap=function(t,n,r){var o;if(n){var i=n.shouldForwardProp;o=t.__emotion_forwardProp&&i?function(s){return t.__emotion_forwardProp(s)&&i(s)}:i}return typeof o!="function"&&r&&(o=t.__emotion_forwardProp),o},Y_=function(t){var n=t.cache,r=t.serialized,o=t.isStringTag;return Nv(n,r,o),K_(function(){return Pv(n,r,o)}),null},Z_=function e(t,n){var r=t.__emotion_real===t,o=r&&t.__emotion_base||t,i,s;n!==void 0&&(i=n.label,s=n.target);var a=Ap(t,n,r),l=a||kp(o),u=!l("as");return function(){var d=arguments,c=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(i!==void 0&&c.push("label:"+i+";"),d[0]==null||d[0].raw===void 0)c.push.apply(c,d);else{c.push(d[0][0]);for(var h=d.length,S=1;St(eR(o)?n:o):t;return g.jsx(q_,{styles:r})}function nR(e,t){return ed(e,t)}const rR=(e,t)=>{Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))};function jr(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Dv(e){if(!jr(e))return e;const t={};return Object.keys(e).forEach(n=>{t[n]=Dv(e[n])}),t}function Yn(e,t,n={clone:!0}){const r=n.clone?re({},e):e;return jr(e)&&jr(t)&&Object.keys(t).forEach(o=>{o!=="__proto__"&&(jr(t[o])&&o in e&&jr(e[o])?r[o]=Yn(e[o],t[o],n):n.clone?r[o]=jr(t[o])?Dv(t[o]):t[o]:r[o]=t[o])}),r}function cn(e){if(typeof e!="string")throw new Error(Wo(7));return e.charAt(0).toUpperCase()+e.slice(1)}function oR(e,t){typeof e=="function"?e(t):e&&(e.current=t)}const iR=typeof window<"u"?T.useLayoutEffect:T.useEffect;function Js(e){const t=T.useRef(e);return iR(()=>{t.current=e}),T.useRef((...n)=>(0,t.current)(...n)).current}function Np(...e){return T.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(n=>{oR(n,t)})},e)}const Pp={};function sR(e,t){const n=T.useRef(Pp);return n.current===Pp&&(n.current=e(t)),n}const aR=[];function lR(e){T.useEffect(e,aR)}class nu{constructor(){this.currentId=0,this.clear=()=>{this.currentId!==0&&(clearTimeout(this.currentId),this.currentId=0)},this.disposeEffect=()=>this.clear}static create(){return new nu}start(t,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=0,n()},t)}}function uR(){const e=sR(nu.create).current;return lR(e.disposeEffect),e}let ru=!0,td=!1;const cR=new nu,dR={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function fR(e){const{type:t,tagName:n}=e;return!!(n==="INPUT"&&dR[t]&&!e.readOnly||n==="TEXTAREA"&&!e.readOnly||e.isContentEditable)}function hR(e){e.metaKey||e.altKey||e.ctrlKey||(ru=!0)}function ac(){ru=!1}function pR(){this.visibilityState==="hidden"&&td&&(ru=!0)}function mR(e){e.addEventListener("keydown",hR,!0),e.addEventListener("mousedown",ac,!0),e.addEventListener("pointerdown",ac,!0),e.addEventListener("touchstart",ac,!0),e.addEventListener("visibilitychange",pR,!0)}function yR(e){const{target:t}=e;try{return t.matches(":focus-visible")}catch{}return ru||fR(t)}function vR(){const e=T.useCallback(o=>{o!=null&&mR(o.ownerDocument)},[]),t=T.useRef(!1);function n(){return t.current?(td=!0,cR.start(100,()=>{td=!1}),t.current=!1,!0):!1}function r(o){return yR(o)?(t.current=!0,!0):!1}return{isFocusVisibleRef:t,onFocus:r,onBlur:n,ref:e}}function Of(e,t){const n=re({},t);return Object.keys(e).forEach(r=>{if(r.toString().match(/^(components|slots)$/))n[r]=re({},e[r],n[r]);else if(r.toString().match(/^(componentsProps|slotProps)$/)){const o=e[r]||{},i=t[r];n[r]={},!i||!Object.keys(i)?n[r]=o:!o||!Object.keys(o)?n[r]=i:(n[r]=re({},i),Object.keys(o).forEach(s=>{n[r][s]=Of(o[s],i[s])}))}else n[r]===void 0&&(n[r]=e[r])}),n}function Iv(e,t,n=void 0){const r={};return Object.keys(e).forEach(o=>{r[o]=e[o].reduce((i,s)=>{if(s){const a=t(s);a!==""&&i.push(a),n&&n[s]&&i.push(n[s])}return i},[]).join(" ")}),r}const Op=e=>e,gR=()=>{let e=Op;return{configure(t){e=t},generate(t){return e(t)},reset(){e=Op}}},SR=gR(),wR={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function Lf(e,t,n="Mui"){const r=wR[t];return r?`${n}-${r}`:`${SR.generate(e)}-${t}`}function Ff(e,t,n="Mui"){const r={};return t.forEach(o=>{r[o]=Lf(e,o,n)}),r}function _R(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}const RR=["values","unit","step"],bR=e=>{const t=Object.keys(e).map(n=>({key:n,val:e[n]}))||[];return t.sort((n,r)=>n.val-r.val),t.reduce((n,r)=>re({},n,{[r.key]:r.val}),{})};function xR(e){const{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:n="px",step:r=5}=e,o=jt(e,RR),i=bR(t),s=Object.keys(i);function a(h){return`@media (min-width:${typeof t[h]=="number"?t[h]:h}${n})`}function l(h){return`@media (max-width:${(typeof t[h]=="number"?t[h]:h)-r/100}${n})`}function u(h,S){const y=s.indexOf(S);return`@media (min-width:${typeof t[h]=="number"?t[h]:h}${n}) and (max-width:${(y!==-1&&typeof t[s[y]]=="number"?t[s[y]]:S)-r/100}${n})`}function d(h){return s.indexOf(h)+1`@media (min-width:${Mf[e]}px)`};function er(e,t,n){const r=e.theme||{};if(Array.isArray(t)){const i=r.breakpoints||Lp;return t.reduce((s,a,l)=>(s[i.up(i.keys[l])]=n(t[l]),s),{})}if(typeof t=="object"){const i=r.breakpoints||Lp;return Object.keys(t).reduce((s,a)=>{if(Object.keys(i.values||Mf).indexOf(a)!==-1){const l=i.up(a);s[l]=n(t[a],a)}else{const l=a;s[l]=t[l]}return s},{})}return n(t)}function TR(e={}){var t;return((t=e.keys)==null?void 0:t.reduce((r,o)=>{const i=e.up(o);return r[i]={},r},{}))||{}}function kR(e,t){return e.reduce((n,r)=>{const o=n[r];return(!o||Object.keys(o).length===0)&&delete n[r],n},t)}function ou(e,t,n=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&n){const r=`vars.${t}`.split(".").reduce((o,i)=>o&&o[i]?o[i]:null,e);if(r!=null)return r}return t.split(".").reduce((r,o)=>r&&r[o]!=null?r[o]:null,e)}function Ja(e,t,n,r=n){let o;return typeof e=="function"?o=e(n):Array.isArray(e)?o=e[n]||r:o=ou(e,n)||r,t&&(o=t(o,r,e)),o}function Ze(e){const{prop:t,cssProperty:n=e.prop,themeKey:r,transform:o}=e,i=s=>{if(s[t]==null)return null;const a=s[t],l=s.theme,u=ou(l,r)||{};return er(s,a,c=>{let h=Ja(u,o,c);return c===h&&typeof c=="string"&&(h=Ja(u,o,`${t}${c==="default"?"":cn(c)}`,c)),n===!1?h:{[n]:h}})};return i.propTypes={},i.filterProps=[t],i}function AR(e){const t={};return n=>(t[n]===void 0&&(t[n]=e(n)),t[n])}const NR={m:"margin",p:"padding"},PR={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},Fp={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},OR=AR(e=>{if(e.length>2)if(Fp[e])e=Fp[e];else return[e];const[t,n]=e.split(""),r=NR[t],o=PR[n]||"";return Array.isArray(o)?o.map(i=>r+i):[r+o]}),Df=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],If=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"];[...Df,...If];function As(e,t,n,r){var o;const i=(o=ou(e,t,!1))!=null?o:n;return typeof i=="number"?s=>typeof s=="string"?s:i*s:Array.isArray(i)?s=>typeof s=="string"?s:i[s]:typeof i=="function"?i:()=>{}}function $v(e){return As(e,"spacing",8)}function Ns(e,t){if(typeof t=="string"||t==null)return t;const n=Math.abs(t),r=e(n);return t>=0?r:typeof r=="number"?-r:`-${r}`}function LR(e,t){return n=>e.reduce((r,o)=>(r[o]=Ns(t,n),r),{})}function FR(e,t,n,r){if(t.indexOf(n)===-1)return null;const o=OR(n),i=LR(o,r),s=e[n];return er(e,s,i)}function jv(e,t){const n=$v(e.theme);return Object.keys(e).map(r=>FR(e,t,r,n)).reduce(zi,{})}function Ke(e){return jv(e,Df)}Ke.propTypes={};Ke.filterProps=Df;function qe(e){return jv(e,If)}qe.propTypes={};qe.filterProps=If;function MR(e=8){if(e.mui)return e;const t=$v({spacing:e}),n=(...r)=>(r.length===0?[1]:r).map(i=>{const s=t(i);return typeof s=="number"?`${s}px`:s}).join(" ");return n.mui=!0,n}function iu(...e){const t=e.reduce((r,o)=>(o.filterProps.forEach(i=>{r[i]=o}),r),{}),n=r=>Object.keys(r).reduce((o,i)=>t[i]?zi(o,t[i](r)):o,{});return n.propTypes={},n.filterProps=e.reduce((r,o)=>r.concat(o.filterProps),[]),n}function on(e){return typeof e!="number"?e:`${e}px solid`}function yn(e,t){return Ze({prop:e,themeKey:"borders",transform:t})}const DR=yn("border",on),IR=yn("borderTop",on),$R=yn("borderRight",on),jR=yn("borderBottom",on),VR=yn("borderLeft",on),UR=yn("borderColor"),BR=yn("borderTopColor"),zR=yn("borderRightColor"),WR=yn("borderBottomColor"),HR=yn("borderLeftColor"),KR=yn("outline",on),qR=yn("outlineColor"),su=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const t=As(e.theme,"shape.borderRadius",4),n=r=>({borderRadius:Ns(t,r)});return er(e,e.borderRadius,n)}return null};su.propTypes={};su.filterProps=["borderRadius"];iu(DR,IR,$R,jR,VR,UR,BR,zR,WR,HR,su,KR,qR);const au=e=>{if(e.gap!==void 0&&e.gap!==null){const t=As(e.theme,"spacing",8),n=r=>({gap:Ns(t,r)});return er(e,e.gap,n)}return null};au.propTypes={};au.filterProps=["gap"];const lu=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const t=As(e.theme,"spacing",8),n=r=>({columnGap:Ns(t,r)});return er(e,e.columnGap,n)}return null};lu.propTypes={};lu.filterProps=["columnGap"];const uu=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const t=As(e.theme,"spacing",8),n=r=>({rowGap:Ns(t,r)});return er(e,e.rowGap,n)}return null};uu.propTypes={};uu.filterProps=["rowGap"];const QR=Ze({prop:"gridColumn"}),GR=Ze({prop:"gridRow"}),XR=Ze({prop:"gridAutoFlow"}),YR=Ze({prop:"gridAutoColumns"}),ZR=Ze({prop:"gridAutoRows"}),JR=Ze({prop:"gridTemplateColumns"}),eb=Ze({prop:"gridTemplateRows"}),tb=Ze({prop:"gridTemplateAreas"}),nb=Ze({prop:"gridArea"});iu(au,lu,uu,QR,GR,XR,YR,ZR,JR,eb,tb,nb);function Mo(e,t){return t==="grey"?t:e}const rb=Ze({prop:"color",themeKey:"palette",transform:Mo}),ob=Ze({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:Mo}),ib=Ze({prop:"backgroundColor",themeKey:"palette",transform:Mo});iu(rb,ob,ib);function Ht(e){return e<=1&&e!==0?`${e*100}%`:e}const sb=Ze({prop:"width",transform:Ht}),$f=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const t=n=>{var r,o;const i=((r=e.theme)==null||(r=r.breakpoints)==null||(r=r.values)==null?void 0:r[n])||Mf[n];return i?((o=e.theme)==null||(o=o.breakpoints)==null?void 0:o.unit)!=="px"?{maxWidth:`${i}${e.theme.breakpoints.unit}`}:{maxWidth:i}:{maxWidth:Ht(n)}};return er(e,e.maxWidth,t)}return null};$f.filterProps=["maxWidth"];const ab=Ze({prop:"minWidth",transform:Ht}),lb=Ze({prop:"height",transform:Ht}),ub=Ze({prop:"maxHeight",transform:Ht}),cb=Ze({prop:"minHeight",transform:Ht});Ze({prop:"size",cssProperty:"width",transform:Ht});Ze({prop:"size",cssProperty:"height",transform:Ht});const db=Ze({prop:"boxSizing"});iu(sb,$f,ab,lb,ub,cb,db);const fb={border:{themeKey:"borders",transform:on},borderTop:{themeKey:"borders",transform:on},borderRight:{themeKey:"borders",transform:on},borderBottom:{themeKey:"borders",transform:on},borderLeft:{themeKey:"borders",transform:on},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:on},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:su},color:{themeKey:"palette",transform:Mo},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:Mo},backgroundColor:{themeKey:"palette",transform:Mo},p:{style:qe},pt:{style:qe},pr:{style:qe},pb:{style:qe},pl:{style:qe},px:{style:qe},py:{style:qe},padding:{style:qe},paddingTop:{style:qe},paddingRight:{style:qe},paddingBottom:{style:qe},paddingLeft:{style:qe},paddingX:{style:qe},paddingY:{style:qe},paddingInline:{style:qe},paddingInlineStart:{style:qe},paddingInlineEnd:{style:qe},paddingBlock:{style:qe},paddingBlockStart:{style:qe},paddingBlockEnd:{style:qe},m:{style:Ke},mt:{style:Ke},mr:{style:Ke},mb:{style:Ke},ml:{style:Ke},mx:{style:Ke},my:{style:Ke},margin:{style:Ke},marginTop:{style:Ke},marginRight:{style:Ke},marginBottom:{style:Ke},marginLeft:{style:Ke},marginX:{style:Ke},marginY:{style:Ke},marginInline:{style:Ke},marginInlineStart:{style:Ke},marginInlineEnd:{style:Ke},marginBlock:{style:Ke},marginBlockStart:{style:Ke},marginBlockEnd:{style:Ke},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:au},rowGap:{style:uu},columnGap:{style:lu},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:Ht},maxWidth:{style:$f},minWidth:{transform:Ht},height:{transform:Ht},maxHeight:{transform:Ht},minHeight:{transform:Ht},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}},jf=fb;function hb(...e){const t=e.reduce((r,o)=>r.concat(Object.keys(o)),[]),n=new Set(t);return e.every(r=>n.size===Object.keys(r).length)}function pb(e,t){return typeof e=="function"?e(t):e}function mb(){function e(n,r,o,i){const s={[n]:r,theme:o},a=i[n];if(!a)return{[n]:r};const{cssProperty:l=n,themeKey:u,transform:d,style:c}=a;if(r==null)return null;if(u==="typography"&&r==="inherit")return{[n]:r};const h=ou(o,u)||{};return c?c(s):er(s,r,y=>{let p=Ja(h,d,y);return y===p&&typeof y=="string"&&(p=Ja(h,d,`${n}${y==="default"?"":cn(y)}`,y)),l===!1?p:{[l]:p}})}function t(n){var r;const{sx:o,theme:i={}}=n||{};if(!o)return null;const s=(r=i.unstable_sxConfig)!=null?r:jf;function a(l){let u=l;if(typeof l=="function")u=l(i);else if(typeof l!="object")return l;if(!u)return null;const d=TR(i.breakpoints),c=Object.keys(d);let h=d;return Object.keys(u).forEach(S=>{const y=pb(u[S],i);if(y!=null)if(typeof y=="object")if(s[S])h=zi(h,e(S,y,i,s));else{const p=er({theme:i},y,_=>({[S]:_}));hb(p,y)?h[S]=t({sx:y,theme:i}):h=zi(h,p)}else h=zi(h,e(S,y,i,s))}),kR(c,h)}return Array.isArray(o)?o.map(a):a(o)}return t}const cu=mb();cu.filterProps=["sx"];function yb(e,t){const n=this;return n.vars&&typeof n.getColorSchemeSelector=="function"?{[n.getColorSchemeSelector(e).replace(/(\[[^\]]+\])/,"*:where($1)")]:t}:n.palette.mode===e?t:{}}const vb=["breakpoints","palette","spacing","shape"];function Vf(e={},...t){const{breakpoints:n={},palette:r={},spacing:o,shape:i={}}=e,s=jt(e,vb),a=xR(n),l=MR(o);let u=Yn({breakpoints:a,direction:"ltr",components:{},palette:re({mode:"light"},r),spacing:l,shape:re({},CR,i)},s);return u.applyStyles=yb,u=t.reduce((d,c)=>Yn(d,c),u),u.unstable_sxConfig=re({},jf,s==null?void 0:s.unstable_sxConfig),u.unstable_sx=function(c){return cu({sx:c,theme:this})},u}function gb(e){return Object.keys(e).length===0}function Vv(e=null){const t=T.useContext(tu);return!t||gb(t)?e:t}const Sb=Vf();function Uv(e=Sb){return Vv(e)}function wb({styles:e,themeId:t,defaultTheme:n={}}){const r=Uv(n),o=typeof e=="function"?e(t&&r[t]||r):e;return g.jsx(tR,{styles:o})}function Bv(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t96}function Pa(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const Cb=Vf(),Tb=e=>e&&e.charAt(0).toLowerCase()+e.slice(1);function ea({defaultTheme:e,theme:t,themeId:n}){return xb(t)?e:t[n]||t}function kb(e){return e?(t,n)=>n[e]:null}function Oa(e,t){let{ownerState:n}=t,r=jt(t,_b);const o=typeof e=="function"?e(re({ownerState:n},r)):e;if(Array.isArray(o))return o.flatMap(i=>Oa(i,re({ownerState:n},r)));if(o&&typeof o=="object"&&Array.isArray(o.variants)){const{variants:i=[]}=o;let a=jt(o,Rb);return i.forEach(l=>{let u=!0;typeof l.props=="function"?u=l.props(re({ownerState:n},r)):Object.keys(l.props).forEach(d=>{(n==null?void 0:n[d])!==l.props[d]&&r[d]!==l.props[d]&&(u=!1)}),u&&(Array.isArray(a)||(a=[a]),a.push(typeof l.style=="function"?l.style(re({ownerState:n},r)):l.style))}),a}return o}function Ab(e={}){const{themeId:t,defaultTheme:n=Cb,rootShouldForwardProp:r=Pa,slotShouldForwardProp:o=Pa}=e,i=s=>cu(re({},s,{theme:ea(re({},s,{defaultTheme:n,themeId:t}))}));return i.__mui_systemSx=!0,(s,a={})=>{rR(s,E=>E.filter(k=>!(k!=null&&k.__mui_systemSx)));const{name:l,slot:u,skipVariantsResolver:d,skipSx:c,overridesResolver:h=kb(Tb(u))}=a,S=jt(a,bb),y=d!==void 0?d:u&&u!=="Root"&&u!=="root"||!1,p=c||!1;let _,m=Pa;u==="Root"||u==="root"?m=r:u?m=o:Eb(s)&&(m=void 0);const f=nR(s,re({shouldForwardProp:m,label:_},S)),v=E=>typeof E=="function"&&E.__emotion_real!==E||jr(E)?k=>Oa(E,re({},k,{theme:ea({theme:k.theme,defaultTheme:n,themeId:t})})):E,R=(E,...k)=>{let b=v(E);const P=k?k.map(v):[];l&&h&&P.push(U=>{const Y=ea(re({},U,{defaultTheme:n,themeId:t}));if(!Y.components||!Y.components[l]||!Y.components[l].styleOverrides)return null;const B=Y.components[l].styleOverrides,ae={};return Object.entries(B).forEach(([Re,ye])=>{ae[Re]=Oa(ye,re({},U,{theme:Y}))}),h(U,ae)}),l&&!y&&P.push(U=>{var Y;const B=ea(re({},U,{defaultTheme:n,themeId:t})),ae=B==null||(Y=B.components)==null||(Y=Y[l])==null?void 0:Y.variants;return Oa({variants:ae},re({},U,{theme:B}))}),p||P.push(i);const H=P.length-k.length;if(Array.isArray(E)&&H>0){const U=new Array(H).fill("");b=[...E,...U],b.raw=[...E.raw,...U]}const M=f(b,...P);return s.muiName&&(M.muiName=s.muiName),M};return f.withConfig&&(R.withConfig=f.withConfig),R}}function Nb(e){const{theme:t,name:n,props:r}=e;return!t||!t.components||!t.components[n]||!t.components[n].defaultProps?r:Of(t.components[n].defaultProps,r)}function Pb({props:e,name:t,defaultTheme:n,themeId:r}){let o=Uv(n);return r&&(o=o[r]||o),Nb({theme:o,name:t,props:e})}function Uf(e,t=0,n=1){return _R(e,t,n)}function Ob(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let n=e.match(t);return n&&n[0].length===1&&(n=n.map(r=>r+r)),n?`rgb${n.length===4?"a":""}(${n.map((r,o)=>o<3?parseInt(r,16):Math.round(parseInt(r,16)/255*1e3)/1e3).join(", ")})`:""}function Xr(e){if(e.type)return e;if(e.charAt(0)==="#")return Xr(Ob(e));const t=e.indexOf("("),n=e.substring(0,t);if(["rgb","rgba","hsl","hsla","color"].indexOf(n)===-1)throw new Error(Wo(9,e));let r=e.substring(t+1,e.length-1),o;if(n==="color"){if(r=r.split(" "),o=r.shift(),r.length===4&&r[3].charAt(0)==="/"&&(r[3]=r[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(o)===-1)throw new Error(Wo(10,o))}else r=r.split(",");return r=r.map(i=>parseFloat(i)),{type:n,values:r,colorSpace:o}}function du(e){const{type:t,colorSpace:n}=e;let{values:r}=e;return t.indexOf("rgb")!==-1?r=r.map((o,i)=>i<3?parseInt(o,10):o):t.indexOf("hsl")!==-1&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),t.indexOf("color")!==-1?r=`${n} ${r.join(" ")}`:r=`${r.join(", ")}`,`${t}(${r})`}function Lb(e){e=Xr(e);const{values:t}=e,n=t[0],r=t[1]/100,o=t[2]/100,i=r*Math.min(o,1-o),s=(u,d=(u+n/30)%12)=>o-i*Math.max(Math.min(d-3,9-d,1),-1);let a="rgb";const l=[Math.round(s(0)*255),Math.round(s(8)*255),Math.round(s(4)*255)];return e.type==="hsla"&&(a+="a",l.push(t[3])),du({type:a,values:l})}function Mp(e){e=Xr(e);let t=e.type==="hsl"||e.type==="hsla"?Xr(Lb(e)).values:e.values;return t=t.map(n=>(e.type!=="color"&&(n/=255),n<=.03928?n/12.92:((n+.055)/1.055)**2.4)),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function Fb(e,t){const n=Mp(e),r=Mp(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function ta(e,t){return e=Xr(e),t=Uf(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,du(e)}function Mb(e,t){if(e=Xr(e),t=Uf(t),e.type.indexOf("hsl")!==-1)e.values[2]*=1-t;else if(e.type.indexOf("rgb")!==-1||e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]*=1-t;return du(e)}function Db(e,t){if(e=Xr(e),t=Uf(t),e.type.indexOf("hsl")!==-1)e.values[2]+=(100-e.values[2])*t;else if(e.type.indexOf("rgb")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(1-e.values[n])*t;return du(e)}const Ib=T.createContext(null),zv=Ib;function Wv(){return T.useContext(zv)}const $b=typeof Symbol=="function"&&Symbol.for,jb=$b?Symbol.for("mui.nested"):"__THEME_NESTED__";function Vb(e,t){return typeof t=="function"?t(e):re({},e,t)}function Ub(e){const{children:t,theme:n}=e,r=Wv(),o=T.useMemo(()=>{const i=r===null?n:Vb(r,n);return i!=null&&(i[jb]=r!==null),i},[n,r]);return g.jsx(zv.Provider,{value:o,children:t})}const Dp={};function Ip(e,t,n,r=!1){return T.useMemo(()=>{const o=e&&t[e]||t;if(typeof n=="function"){const i=n(o),s=e?re({},t,{[e]:i}):i;return r?()=>s:s}return e?re({},t,{[e]:n}):re({},t,n)},[e,t,n,r])}function Bb(e){const{children:t,theme:n,themeId:r}=e,o=Vv(Dp),i=Wv()||Dp,s=Ip(r,o,n),a=Ip(r,i,n,!0);return g.jsx(Ub,{theme:a,children:g.jsx(tu.Provider,{value:s,children:t})})}function zb(e,t){return re({toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}}},t)}const Wb=["mode","contrastThreshold","tonalOffset"],$p={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:rs.white,default:rs.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},lc={text:{primary:rs.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:rs.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function jp(e,t,n,r){const o=r.light||r,i=r.dark||r*1.5;e[t]||(e.hasOwnProperty(n)?e[t]=e[n]:t==="light"?e.light=Db(e.main,o):t==="dark"&&(e.dark=Mb(e.main,i)))}function Hb(e="light"){return e==="dark"?{main:po[200],light:po[50],dark:po[400]}:{main:po[700],light:po[400],dark:po[800]}}function Kb(e="light"){return e==="dark"?{main:ho[200],light:ho[50],dark:ho[400]}:{main:ho[500],light:ho[300],dark:ho[700]}}function qb(e="light"){return e==="dark"?{main:fo[500],light:fo[300],dark:fo[700]}:{main:fo[700],light:fo[400],dark:fo[800]}}function Qb(e="light"){return e==="dark"?{main:mo[400],light:mo[300],dark:mo[700]}:{main:mo[700],light:mo[500],dark:mo[900]}}function Gb(e="light"){return e==="dark"?{main:yo[400],light:yo[300],dark:yo[700]}:{main:yo[800],light:yo[500],dark:yo[900]}}function Xb(e="light"){return e==="dark"?{main:vi[400],light:vi[300],dark:vi[700]}:{main:"#ed6c02",light:vi[500],dark:vi[900]}}function Yb(e){const{mode:t="light",contrastThreshold:n=3,tonalOffset:r=.2}=e,o=jt(e,Wb),i=e.primary||Hb(t),s=e.secondary||Kb(t),a=e.error||qb(t),l=e.info||Qb(t),u=e.success||Gb(t),d=e.warning||Xb(t);function c(p){return Fb(p,lc.text.primary)>=n?lc.text.primary:$p.text.primary}const h=({color:p,name:_,mainShade:m=500,lightShade:f=300,darkShade:v=700})=>{if(p=re({},p),!p.main&&p[m]&&(p.main=p[m]),!p.hasOwnProperty("main"))throw new Error(Wo(11,_?` (${_})`:"",m));if(typeof p.main!="string")throw new Error(Wo(12,_?` (${_})`:"",JSON.stringify(p.main)));return jp(p,"light",f,r),jp(p,"dark",v,r),p.contrastText||(p.contrastText=c(p.main)),p},S={dark:lc,light:$p};return Yn(re({common:re({},rs),mode:t,primary:h({color:i,name:"primary"}),secondary:h({color:s,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:h({color:a,name:"error"}),warning:h({color:d,name:"warning"}),info:h({color:l,name:"info"}),success:h({color:u,name:"success"}),grey:Zw,contrastThreshold:n,getContrastText:c,augmentColor:h,tonalOffset:r},S[t]),o)}const Zb=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];function Jb(e){return Math.round(e*1e5)/1e5}const Vp={textTransform:"uppercase"},Up='"Roboto", "Helvetica", "Arial", sans-serif';function ex(e,t){const n=typeof t=="function"?t(e):t,{fontFamily:r=Up,fontSize:o=14,fontWeightLight:i=300,fontWeightRegular:s=400,fontWeightMedium:a=500,fontWeightBold:l=700,htmlFontSize:u=16,allVariants:d,pxToRem:c}=n,h=jt(n,Zb),S=o/14,y=c||(m=>`${m/u*S}rem`),p=(m,f,v,R,E)=>re({fontFamily:r,fontWeight:m,fontSize:y(f),lineHeight:v},r===Up?{letterSpacing:`${Jb(R/f)}em`}:{},E,d),_={h1:p(i,96,1.167,-1.5),h2:p(i,60,1.2,-.5),h3:p(s,48,1.167,0),h4:p(s,34,1.235,.25),h5:p(s,24,1.334,0),h6:p(a,20,1.6,.15),subtitle1:p(s,16,1.75,.15),subtitle2:p(a,14,1.57,.1),body1:p(s,16,1.5,.15),body2:p(s,14,1.43,.15),button:p(a,14,1.75,.4,Vp),caption:p(s,12,1.66,.4),overline:p(s,12,2.66,1,Vp),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return Yn(re({htmlFontSize:u,pxToRem:y,fontFamily:r,fontSize:o,fontWeightLight:i,fontWeightRegular:s,fontWeightMedium:a,fontWeightBold:l},_),h,{clone:!1})}const tx=.2,nx=.14,rx=.12;function je(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${tx})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${nx})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${rx})`].join(",")}const ox=["none",je(0,2,1,-1,0,1,1,0,0,1,3,0),je(0,3,1,-2,0,2,2,0,0,1,5,0),je(0,3,3,-2,0,3,4,0,0,1,8,0),je(0,2,4,-1,0,4,5,0,0,1,10,0),je(0,3,5,-1,0,5,8,0,0,1,14,0),je(0,3,5,-1,0,6,10,0,0,1,18,0),je(0,4,5,-2,0,7,10,1,0,2,16,1),je(0,5,5,-3,0,8,10,1,0,3,14,2),je(0,5,6,-3,0,9,12,1,0,3,16,2),je(0,6,6,-3,0,10,14,1,0,4,18,3),je(0,6,7,-4,0,11,15,1,0,4,20,3),je(0,7,8,-4,0,12,17,2,0,5,22,4),je(0,7,8,-4,0,13,19,2,0,5,24,4),je(0,7,9,-4,0,14,21,2,0,5,26,4),je(0,8,9,-5,0,15,22,2,0,6,28,5),je(0,8,10,-5,0,16,24,2,0,6,30,5),je(0,8,11,-5,0,17,26,2,0,6,32,5),je(0,9,11,-5,0,18,28,2,0,7,34,6),je(0,9,12,-6,0,19,29,2,0,7,36,6),je(0,10,13,-6,0,20,31,3,0,8,38,7),je(0,10,13,-6,0,21,33,3,0,8,40,7),je(0,10,14,-6,0,22,35,3,0,8,42,7),je(0,11,14,-7,0,23,36,3,0,9,44,8),je(0,11,15,-7,0,24,38,3,0,9,46,8)],ix=["duration","easing","delay"],sx={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},ax={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function Bp(e){return`${Math.round(e)}ms`}function lx(e){if(!e)return 0;const t=e/36;return Math.round((4+15*t**.25+t/5)*10)}function ux(e){const t=re({},sx,e.easing),n=re({},ax,e.duration);return re({getAutoHeightDuration:lx,create:(o=["all"],i={})=>{const{duration:s=n.standard,easing:a=t.easeInOut,delay:l=0}=i;return jt(i,ix),(Array.isArray(o)?o:[o]).map(u=>`${u} ${typeof s=="string"?s:Bp(s)} ${a} ${typeof l=="string"?l:Bp(l)}`).join(",")}},e,{easing:t,duration:n})}const cx={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},dx=cx,fx=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function Bf(e={},...t){const{mixins:n={},palette:r={},transitions:o={},typography:i={}}=e,s=jt(e,fx);if(e.vars)throw new Error(Wo(18));const a=Yb(r),l=Vf(e);let u=Yn(l,{mixins:zb(l.breakpoints,n),palette:a,shadows:ox.slice(),typography:ex(a,i),transitions:ux(o),zIndex:re({},dx)});return u=Yn(u,s),u=t.reduce((d,c)=>Yn(d,c),u),u.unstable_sxConfig=re({},jf,s==null?void 0:s.unstable_sxConfig),u.unstable_sx=function(c){return cu({sx:c,theme:this})},u}const hx=Bf(),zf=hx;function fu({props:e,name:t}){return Pb({props:e,name:t,defaultTheme:zf,themeId:os})}const Hv=e=>Pa(e)&&e!=="classes",li=Ab({themeId:os,defaultTheme:zf,rootShouldForwardProp:Hv}),px=["theme"];function mx(e){let{theme:t}=e,n=jt(e,px);const r=t[os];return g.jsx(Bb,re({},n,{themeId:r?os:void 0,theme:r||t}))}function nd(e,t){return nd=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,o){return r.__proto__=o,r},nd(e,t)}function yx(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,nd(e,t)}var Kv={exports:{}},Yt={},qv={exports:{}},Qv={};/** + */var kt=typeof Symbol=="function"&&Symbol.for,eh=kt?Symbol.for("react.element"):60103,th=kt?Symbol.for("react.portal"):60106,Fu=kt?Symbol.for("react.fragment"):60107,Du=kt?Symbol.for("react.strict_mode"):60108,ju=kt?Symbol.for("react.profiler"):60114,Bu=kt?Symbol.for("react.provider"):60109,Uu=kt?Symbol.for("react.context"):60110,nh=kt?Symbol.for("react.async_mode"):60111,zu=kt?Symbol.for("react.concurrent_mode"):60111,Vu=kt?Symbol.for("react.forward_ref"):60112,Wu=kt?Symbol.for("react.suspense"):60113,kC=kt?Symbol.for("react.suspense_list"):60120,Hu=kt?Symbol.for("react.memo"):60115,qu=kt?Symbol.for("react.lazy"):60116,TC=kt?Symbol.for("react.block"):60121,PC=kt?Symbol.for("react.fundamental"):60117,AC=kt?Symbol.for("react.responder"):60118,NC=kt?Symbol.for("react.scope"):60119;function vn(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case eh:switch(e=e.type,e){case nh:case zu:case Fu:case ju:case Du:case Wu:return e;default:switch(e=e&&e.$$typeof,e){case Uu:case Vu:case qu:case Hu:case Bu:return e;default:return t}}case th:return t}}}function B0(e){return vn(e)===zu}He.AsyncMode=nh;He.ConcurrentMode=zu;He.ContextConsumer=Uu;He.ContextProvider=Bu;He.Element=eh;He.ForwardRef=Vu;He.Fragment=Fu;He.Lazy=qu;He.Memo=Hu;He.Portal=th;He.Profiler=ju;He.StrictMode=Du;He.Suspense=Wu;He.isAsyncMode=function(e){return B0(e)||vn(e)===nh};He.isConcurrentMode=B0;He.isContextConsumer=function(e){return vn(e)===Uu};He.isContextProvider=function(e){return vn(e)===Bu};He.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===eh};He.isForwardRef=function(e){return vn(e)===Vu};He.isFragment=function(e){return vn(e)===Fu};He.isLazy=function(e){return vn(e)===qu};He.isMemo=function(e){return vn(e)===Hu};He.isPortal=function(e){return vn(e)===th};He.isProfiler=function(e){return vn(e)===ju};He.isStrictMode=function(e){return vn(e)===Du};He.isSuspense=function(e){return vn(e)===Wu};He.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Fu||e===zu||e===ju||e===Du||e===Wu||e===kC||typeof e=="object"&&e!==null&&(e.$$typeof===qu||e.$$typeof===Hu||e.$$typeof===Bu||e.$$typeof===Uu||e.$$typeof===Vu||e.$$typeof===PC||e.$$typeof===AC||e.$$typeof===NC||e.$$typeof===TC)};He.typeOf=vn;j0.exports=He;var OC=j0.exports,U0=OC,LC={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},$C={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},z0={};z0[U0.ForwardRef]=LC;z0[U0.Memo]=$C;var MC=!0;function IC(e,t,n){var r="";return n.split(" ").forEach(function(o){e[o]!==void 0?t.push(e[o]+";"):r+=o+" "}),r}var V0=function(t,n,r){var o=t.key+"-"+n.name;(r===!1||MC===!1)&&t.registered[o]===void 0&&(t.registered[o]=n.styles)},W0=function(t,n,r){V0(t,n,r);var o=t.key+"-"+n.name;if(t.inserted[n.name]===void 0){var s=n;do t.insert(n===s?"."+o:"",s,t.sheet,!0),s=s.next;while(s!==void 0)}};function FC(e){for(var t=0,n,r=0,o=e.length;o>=4;++r,o-=4)n=e.charCodeAt(r)&255|(e.charCodeAt(++r)&255)<<8|(e.charCodeAt(++r)&255)<<16|(e.charCodeAt(++r)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(o){case 3:t^=(e.charCodeAt(r+2)&255)<<16;case 2:t^=(e.charCodeAt(r+1)&255)<<8;case 1:t^=e.charCodeAt(r)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var DC={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},jC=/[A-Z]|^ms/g,BC=/_EMO_([^_]+?)_([^]*?)_EMO_/g,H0=function(t){return t.charCodeAt(1)===45},dv=function(t){return t!=null&&typeof t!="boolean"},bd=N0(function(e){return H0(e)?e:e.replace(jC,"-$&").toLowerCase()}),fv=function(t,n){switch(t){case"animation":case"animationName":if(typeof n=="string")return n.replace(BC,function(r,o,s){return Zn={name:o,styles:s,next:Zn},o})}return DC[t]!==1&&!H0(t)&&typeof n=="number"&&n!==0?n+"px":n};function Gi(e,t,n){if(n==null)return"";if(n.__emotion_styles!==void 0)return n;switch(typeof n){case"boolean":return"";case"object":{if(n.anim===1)return Zn={name:n.name,styles:n.styles,next:Zn},n.name;if(n.styles!==void 0){var r=n.next;if(r!==void 0)for(;r!==void 0;)Zn={name:r.name,styles:r.styles,next:Zn},r=r.next;var o=n.styles+";";return o}return UC(e,t,n)}case"function":{if(e!==void 0){var s=Zn,i=n(e);return Zn=s,Gi(e,t,i)}break}}if(t==null)return n;var a=t[n];return a!==void 0?a:n}function UC(e,t,n){var r="";if(Array.isArray(n))for(var o=0;o96?qC:KC},vv=function(t,n,r){var o;if(n){var s=n.shouldForwardProp;o=t.__emotion_forwardProp&&s?function(i){return t.__emotion_forwardProp(i)&&s(i)}:s}return typeof o!="function"&&r&&(o=t.__emotion_forwardProp),o},GC=function(t){var n=t.cache,r=t.serialized,o=t.isStringTag;return V0(n,r,o),VC(function(){return W0(n,r,o)}),null},QC=function e(t,n){var r=t.__emotion_real===t,o=r&&t.__emotion_base||t,s,i;n!==void 0&&(s=n.label,i=n.target);var a=vv(t,n,r),l=a||mv(o),u=!l("as");return function(){var c=arguments,d=r&&t.__emotion_styles!==void 0?t.__emotion_styles.slice(0):[];if(s!==void 0&&d.push("label:"+s+";"),c[0]==null||c[0].raw===void 0)d.push.apply(d,c);else{d.push(c[0][0]);for(var f=c.length,S=1;St(YC(o)?n:o):t;return g.jsx(WC,{styles:r})}function ZC(e,t){return wf(e,t)}const eE=(e,t)=>{Array.isArray(e.__emotion_styles)&&(e.__emotion_styles=t(e.__emotion_styles))};function Lr(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function Q0(e){if(!Lr(e))return e;const t={};return Object.keys(e).forEach(n=>{t[n]=Q0(e[n])}),t}function en(e,t,n={clone:!0}){const r=n.clone?_({},e):e;return Lr(e)&&Lr(t)&&Object.keys(t).forEach(o=>{o!=="__proto__"&&(Lr(t[o])&&o in e&&Lr(e[o])?r[o]=en(e[o],t[o],n):n.clone?r[o]=Lr(t[o])?Q0(t[o]):t[o]:r[o]=t[o])}),r}function Ce(e){if(typeof e!="string")throw new Error(Gr(7));return e.charAt(0).toUpperCase()+e.slice(1)}function Bl(...e){return e.reduce((t,n)=>n==null?t:function(...o){t.apply(this,o),n.apply(this,o)},()=>{})}function sh(e,t=166){let n;function r(...o){const s=()=>{e.apply(this,o)};clearTimeout(n),n=setTimeout(s,t)}return r.clear=()=>{clearTimeout(n)},r}function tE(e,t){return()=>null}function Sl(e,t){var n,r;return b.isValidElement(e)&&t.indexOf((n=e.type.muiName)!=null?n:(r=e.type)==null||(r=r._payload)==null||(r=r.value)==null?void 0:r.muiName)!==-1}function tn(e){return e&&e.ownerDocument||document}function Qr(e){return tn(e).defaultView||window}function nE(e,t){return()=>null}function Ul(e,t){typeof e=="function"?e(t):e&&(e.current=t)}const yr=typeof window<"u"?b.useLayoutEffect:b.useEffect;let yv=0;function rE(e){const[t,n]=b.useState(e),r=e||t;return b.useEffect(()=>{t==null&&(yv+=1,n(`mui-${yv}`))},[t]),r}const gv=Dl.useId;function Sa(e){if(gv!==void 0){const t=gv();return e??t}return rE(e)}function oE(e,t,n,r,o){return null}function Qi({controlled:e,default:t,name:n,state:r="value"}){const{current:o}=b.useRef(e!==void 0),[s,i]=b.useState(t),a=o?e:s,l=b.useCallback(u=>{o||i(u)},[]);return[a,l]}function co(e){const t=b.useRef(e);return yr(()=>{t.current=e}),b.useRef((...n)=>(0,t.current)(...n)).current}function Lt(...e){return b.useMemo(()=>e.every(t=>t==null)?null:t=>{e.forEach(n=>{Ul(n,t)})},e)}const Sv={};function sE(e,t){const n=b.useRef(Sv);return n.current===Sv&&(n.current=e(t)),n}const iE=[];function aE(e){b.useEffect(e,iE)}class Gu{constructor(){this.currentId=0,this.clear=()=>{this.currentId!==0&&(clearTimeout(this.currentId),this.currentId=0)},this.disposeEffect=()=>this.clear}static create(){return new Gu}start(t,n){this.clear(),this.currentId=setTimeout(()=>{this.currentId=0,n()},t)}}function X0(){const e=sE(Gu.create).current;return aE(e.disposeEffect),e}let Qu=!0,Rf=!1;const lE=new Gu,uE={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function cE(e){const{type:t,tagName:n}=e;return!!(n==="INPUT"&&uE[t]&&!e.readOnly||n==="TEXTAREA"&&!e.readOnly||e.isContentEditable)}function dE(e){e.metaKey||e.altKey||e.ctrlKey||(Qu=!0)}function xd(){Qu=!1}function fE(){this.visibilityState==="hidden"&&Rf&&(Qu=!0)}function pE(e){e.addEventListener("keydown",dE,!0),e.addEventListener("mousedown",xd,!0),e.addEventListener("pointerdown",xd,!0),e.addEventListener("touchstart",xd,!0),e.addEventListener("visibilitychange",fE,!0)}function hE(e){const{target:t}=e;try{return t.matches(":focus-visible")}catch{}return Qu||cE(t)}function Y0(){const e=b.useCallback(o=>{o!=null&&pE(o.ownerDocument)},[]),t=b.useRef(!1);function n(){return t.current?(Rf=!0,lE.start(100,()=>{Rf=!1}),t.current=!1,!0):!1}function r(o){return hE(o)?(t.current=!0,!0):!1}return{isFocusVisibleRef:t,onFocus:r,onBlur:n,ref:e}}function J0(e){const t=e.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}function ih(e,t){const n=_({},t);return Object.keys(e).forEach(r=>{if(r.toString().match(/^(components|slots)$/))n[r]=_({},e[r],n[r]);else if(r.toString().match(/^(componentsProps|slotProps)$/)){const o=e[r]||{},s=t[r];n[r]={},!s||!Object.keys(s)?n[r]=o:!o||!Object.keys(o)?n[r]=s:(n[r]=_({},s),Object.keys(o).forEach(i=>{n[r][i]=ih(o[i],s[i])}))}else n[r]===void 0&&(n[r]=e[r])}),n}function ze(e,t,n=void 0){const r={};return Object.keys(e).forEach(o=>{r[o]=e[o].reduce((s,i)=>{if(i){const a=t(i);a!==""&&s.push(a),n&&n[i]&&s.push(n[i])}return s},[]).join(" ")}),r}const bv=e=>e,mE=()=>{let e=bv;return{configure(t){e=t},generate(t){return e(t)},reset(){e=bv}}},Z0=mE(),vE={active:"active",checked:"checked",completed:"completed",disabled:"disabled",error:"error",expanded:"expanded",focused:"focused",focusVisible:"focusVisible",open:"open",readOnly:"readOnly",required:"required",selected:"selected"};function je(e,t,n="Mui"){const r=vE[t];return r?`${n}-${r}`:`${Z0.generate(e)}-${t}`}function Ie(e,t,n="Mui"){const r={};return t.forEach(o=>{r[o]=je(e,o,n)}),r}function yE(e,t=Number.MIN_SAFE_INTEGER,n=Number.MAX_SAFE_INTEGER){return Math.max(t,Math.min(e,n))}const gE=["values","unit","step"],SE=e=>{const t=Object.keys(e).map(n=>({key:n,val:e[n]}))||[];return t.sort((n,r)=>n.val-r.val),t.reduce((n,r)=>_({},n,{[r.key]:r.val}),{})};function bE(e){const{values:t={xs:0,sm:600,md:900,lg:1200,xl:1536},unit:n="px",step:r=5}=e,o=ve(e,gE),s=SE(t),i=Object.keys(s);function a(f){return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${n})`}function l(f){return`@media (max-width:${(typeof t[f]=="number"?t[f]:f)-r/100}${n})`}function u(f,S){const h=i.indexOf(S);return`@media (min-width:${typeof t[f]=="number"?t[f]:f}${n}) and (max-width:${(h!==-1&&typeof t[i[h]]=="number"?t[i[h]]:S)-r/100}${n})`}function c(f){return i.indexOf(f)+1`@media (min-width:${ah[e]}px)`};function qn(e,t,n){const r=e.theme||{};if(Array.isArray(t)){const s=r.breakpoints||xv;return t.reduce((i,a,l)=>(i[s.up(s.keys[l])]=n(t[l]),i),{})}if(typeof t=="object"){const s=r.breakpoints||xv;return Object.keys(t).reduce((i,a)=>{if(Object.keys(s.values||ah).indexOf(a)!==-1){const l=s.up(a);i[l]=n(t[a],a)}else{const l=a;i[l]=t[l]}return i},{})}return n(t)}function e1(e={}){var t;return((t=e.keys)==null?void 0:t.reduce((r,o)=>{const s=e.up(o);return r[s]={},r},{}))||{}}function t1(e,t){return e.reduce((n,r)=>{const o=n[r];return(!o||Object.keys(o).length===0)&&delete n[r],n},t)}function RE(e,...t){const n=e1(e),r=[n,...t].reduce((o,s)=>en(o,s),{});return t1(Object.keys(n),r)}function CE(e,t){if(typeof e!="object")return{};const n={},r=Object.keys(t);return Array.isArray(e)?r.forEach((o,s)=>{s{e[o]!=null&&(n[o]=!0)}),n}function wd({values:e,breakpoints:t,base:n}){const r=n||CE(e,t),o=Object.keys(r);if(o.length===0)return e;let s;return o.reduce((i,a,l)=>(Array.isArray(e)?(i[a]=e[l]!=null?e[l]:e[s],s=l):typeof e=="object"?(i[a]=e[a]!=null?e[a]:e[s],s=a):i[a]=e,i),{})}function Xu(e,t,n=!0){if(!t||typeof t!="string")return null;if(e&&e.vars&&n){const r=`vars.${t}`.split(".").reduce((o,s)=>o&&o[s]?o[s]:null,e);if(r!=null)return r}return t.split(".").reduce((r,o)=>r&&r[o]!=null?r[o]:null,e)}function zl(e,t,n,r=n){let o;return typeof e=="function"?o=e(n):Array.isArray(e)?o=e[n]||r:o=Xu(e,n)||r,t&&(o=t(o,r,e)),o}function ht(e){const{prop:t,cssProperty:n=e.prop,themeKey:r,transform:o}=e,s=i=>{if(i[t]==null)return null;const a=i[t],l=i.theme,u=Xu(l,r)||{};return qn(i,a,d=>{let f=zl(u,o,d);return d===f&&typeof d=="string"&&(f=zl(u,o,`${t}${d==="default"?"":Ce(d)}`,d)),n===!1?f:{[n]:f}})};return s.propTypes={},s.filterProps=[t],s}function EE(e){const t={};return n=>(t[n]===void 0&&(t[n]=e(n)),t[n])}const _E={m:"margin",p:"padding"},kE={t:"Top",r:"Right",b:"Bottom",l:"Left",x:["Left","Right"],y:["Top","Bottom"]},wv={marginX:"mx",marginY:"my",paddingX:"px",paddingY:"py"},TE=EE(e=>{if(e.length>2)if(wv[e])e=wv[e];else return[e];const[t,n]=e.split(""),r=_E[t],o=kE[n]||"";return Array.isArray(o)?o.map(s=>r+s):[r+o]}),lh=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],uh=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"];[...lh,...uh];function ba(e,t,n,r){var o;const s=(o=Xu(e,t,!1))!=null?o:n;return typeof s=="number"?i=>typeof i=="string"?i:s*i:Array.isArray(s)?i=>typeof i=="string"?i:s[i]:typeof s=="function"?s:()=>{}}function ch(e){return ba(e,"spacing",8)}function Ro(e,t){if(typeof t=="string"||t==null)return t;const n=Math.abs(t),r=e(n);return t>=0?r:typeof r=="number"?-r:`-${r}`}function PE(e,t){return n=>e.reduce((r,o)=>(r[o]=Ro(t,n),r),{})}function AE(e,t,n,r){if(t.indexOf(n)===-1)return null;const o=TE(n),s=PE(o,r),i=e[n];return qn(e,i,s)}function n1(e,t){const n=ch(e.theme);return Object.keys(e).map(r=>AE(e,t,r,n)).reduce(Ti,{})}function lt(e){return n1(e,lh)}lt.propTypes={};lt.filterProps=lh;function ut(e){return n1(e,uh)}ut.propTypes={};ut.filterProps=uh;function NE(e=8){if(e.mui)return e;const t=ch({spacing:e}),n=(...r)=>(r.length===0?[1]:r).map(s=>{const i=t(s);return typeof i=="number"?`${i}px`:i}).join(" ");return n.mui=!0,n}function Yu(...e){const t=e.reduce((r,o)=>(o.filterProps.forEach(s=>{r[s]=o}),r),{}),n=r=>Object.keys(r).reduce((o,s)=>t[s]?Ti(o,t[s](r)):o,{});return n.propTypes={},n.filterProps=e.reduce((r,o)=>r.concat(o.filterProps),[]),n}function Cn(e){return typeof e!="number"?e:`${e}px solid`}function On(e,t){return ht({prop:e,themeKey:"borders",transform:t})}const OE=On("border",Cn),LE=On("borderTop",Cn),$E=On("borderRight",Cn),ME=On("borderBottom",Cn),IE=On("borderLeft",Cn),FE=On("borderColor"),DE=On("borderTopColor"),jE=On("borderRightColor"),BE=On("borderBottomColor"),UE=On("borderLeftColor"),zE=On("outline",Cn),VE=On("outlineColor"),Ju=e=>{if(e.borderRadius!==void 0&&e.borderRadius!==null){const t=ba(e.theme,"shape.borderRadius",4),n=r=>({borderRadius:Ro(t,r)});return qn(e,e.borderRadius,n)}return null};Ju.propTypes={};Ju.filterProps=["borderRadius"];Yu(OE,LE,$E,ME,IE,FE,DE,jE,BE,UE,Ju,zE,VE);const Zu=e=>{if(e.gap!==void 0&&e.gap!==null){const t=ba(e.theme,"spacing",8),n=r=>({gap:Ro(t,r)});return qn(e,e.gap,n)}return null};Zu.propTypes={};Zu.filterProps=["gap"];const ec=e=>{if(e.columnGap!==void 0&&e.columnGap!==null){const t=ba(e.theme,"spacing",8),n=r=>({columnGap:Ro(t,r)});return qn(e,e.columnGap,n)}return null};ec.propTypes={};ec.filterProps=["columnGap"];const tc=e=>{if(e.rowGap!==void 0&&e.rowGap!==null){const t=ba(e.theme,"spacing",8),n=r=>({rowGap:Ro(t,r)});return qn(e,e.rowGap,n)}return null};tc.propTypes={};tc.filterProps=["rowGap"];const WE=ht({prop:"gridColumn"}),HE=ht({prop:"gridRow"}),qE=ht({prop:"gridAutoFlow"}),KE=ht({prop:"gridAutoColumns"}),GE=ht({prop:"gridAutoRows"}),QE=ht({prop:"gridTemplateColumns"}),XE=ht({prop:"gridTemplateRows"}),YE=ht({prop:"gridTemplateAreas"}),JE=ht({prop:"gridArea"});Yu(Zu,ec,tc,WE,HE,qE,KE,GE,QE,XE,YE,JE);function ls(e,t){return t==="grey"?t:e}const ZE=ht({prop:"color",themeKey:"palette",transform:ls}),e_=ht({prop:"bgcolor",cssProperty:"backgroundColor",themeKey:"palette",transform:ls}),t_=ht({prop:"backgroundColor",themeKey:"palette",transform:ls});Yu(ZE,e_,t_);function dn(e){return e<=1&&e!==0?`${e*100}%`:e}const n_=ht({prop:"width",transform:dn}),dh=e=>{if(e.maxWidth!==void 0&&e.maxWidth!==null){const t=n=>{var r,o;const s=((r=e.theme)==null||(r=r.breakpoints)==null||(r=r.values)==null?void 0:r[n])||ah[n];return s?((o=e.theme)==null||(o=o.breakpoints)==null?void 0:o.unit)!=="px"?{maxWidth:`${s}${e.theme.breakpoints.unit}`}:{maxWidth:s}:{maxWidth:dn(n)}};return qn(e,e.maxWidth,t)}return null};dh.filterProps=["maxWidth"];const r_=ht({prop:"minWidth",transform:dn}),o_=ht({prop:"height",transform:dn}),s_=ht({prop:"maxHeight",transform:dn}),i_=ht({prop:"minHeight",transform:dn});ht({prop:"size",cssProperty:"width",transform:dn});ht({prop:"size",cssProperty:"height",transform:dn});const a_=ht({prop:"boxSizing"});Yu(n_,dh,r_,o_,s_,i_,a_);const l_={border:{themeKey:"borders",transform:Cn},borderTop:{themeKey:"borders",transform:Cn},borderRight:{themeKey:"borders",transform:Cn},borderBottom:{themeKey:"borders",transform:Cn},borderLeft:{themeKey:"borders",transform:Cn},borderColor:{themeKey:"palette"},borderTopColor:{themeKey:"palette"},borderRightColor:{themeKey:"palette"},borderBottomColor:{themeKey:"palette"},borderLeftColor:{themeKey:"palette"},outline:{themeKey:"borders",transform:Cn},outlineColor:{themeKey:"palette"},borderRadius:{themeKey:"shape.borderRadius",style:Ju},color:{themeKey:"palette",transform:ls},bgcolor:{themeKey:"palette",cssProperty:"backgroundColor",transform:ls},backgroundColor:{themeKey:"palette",transform:ls},p:{style:ut},pt:{style:ut},pr:{style:ut},pb:{style:ut},pl:{style:ut},px:{style:ut},py:{style:ut},padding:{style:ut},paddingTop:{style:ut},paddingRight:{style:ut},paddingBottom:{style:ut},paddingLeft:{style:ut},paddingX:{style:ut},paddingY:{style:ut},paddingInline:{style:ut},paddingInlineStart:{style:ut},paddingInlineEnd:{style:ut},paddingBlock:{style:ut},paddingBlockStart:{style:ut},paddingBlockEnd:{style:ut},m:{style:lt},mt:{style:lt},mr:{style:lt},mb:{style:lt},ml:{style:lt},mx:{style:lt},my:{style:lt},margin:{style:lt},marginTop:{style:lt},marginRight:{style:lt},marginBottom:{style:lt},marginLeft:{style:lt},marginX:{style:lt},marginY:{style:lt},marginInline:{style:lt},marginInlineStart:{style:lt},marginInlineEnd:{style:lt},marginBlock:{style:lt},marginBlockStart:{style:lt},marginBlockEnd:{style:lt},displayPrint:{cssProperty:!1,transform:e=>({"@media print":{display:e}})},display:{},overflow:{},textOverflow:{},visibility:{},whiteSpace:{},flexBasis:{},flexDirection:{},flexWrap:{},justifyContent:{},alignItems:{},alignContent:{},order:{},flex:{},flexGrow:{},flexShrink:{},alignSelf:{},justifyItems:{},justifySelf:{},gap:{style:Zu},rowGap:{style:tc},columnGap:{style:ec},gridColumn:{},gridRow:{},gridAutoFlow:{},gridAutoColumns:{},gridAutoRows:{},gridTemplateColumns:{},gridTemplateRows:{},gridTemplateAreas:{},gridArea:{},position:{},zIndex:{themeKey:"zIndex"},top:{},right:{},bottom:{},left:{},boxShadow:{themeKey:"shadows"},width:{transform:dn},maxWidth:{style:dh},minWidth:{transform:dn},height:{transform:dn},maxHeight:{transform:dn},minHeight:{transform:dn},boxSizing:{},fontFamily:{themeKey:"typography"},fontSize:{themeKey:"typography"},fontStyle:{themeKey:"typography"},fontWeight:{themeKey:"typography"},letterSpacing:{},textTransform:{},lineHeight:{},textAlign:{},typography:{cssProperty:!1,themeKey:"typography"}},nc=l_;function u_(...e){const t=e.reduce((r,o)=>r.concat(Object.keys(o)),[]),n=new Set(t);return e.every(r=>n.size===Object.keys(r).length)}function c_(e,t){return typeof e=="function"?e(t):e}function d_(){function e(n,r,o,s){const i={[n]:r,theme:o},a=s[n];if(!a)return{[n]:r};const{cssProperty:l=n,themeKey:u,transform:c,style:d}=a;if(r==null)return null;if(u==="typography"&&r==="inherit")return{[n]:r};const f=Xu(o,u)||{};return d?d(i):qn(i,r,h=>{let m=zl(f,c,h);return h===m&&typeof h=="string"&&(m=zl(f,c,`${n}${h==="default"?"":Ce(h)}`,h)),l===!1?m:{[l]:m}})}function t(n){var r;const{sx:o,theme:s={}}=n||{};if(!o)return null;const i=(r=s.unstable_sxConfig)!=null?r:nc;function a(l){let u=l;if(typeof l=="function")u=l(s);else if(typeof l!="object")return l;if(!u)return null;const c=e1(s.breakpoints),d=Object.keys(c);let f=c;return Object.keys(u).forEach(S=>{const h=c_(u[S],s);if(h!=null)if(typeof h=="object")if(i[S])f=Ti(f,e(S,h,s,i));else{const m=qn({theme:s},h,w=>({[S]:w}));u_(m,h)?f[S]=t({sx:h,theme:s}):f=Ti(f,m)}else f=Ti(f,e(S,h,s,i))}),t1(d,f)}return Array.isArray(o)?o.map(a):a(o)}return t}const rc=d_();rc.filterProps=["sx"];function f_(e,t){const n=this;return n.vars&&typeof n.getColorSchemeSelector=="function"?{[n.getColorSchemeSelector(e).replace(/(\[[^\]]+\])/,"*:where($1)")]:t}:n.palette.mode===e?t:{}}const p_=["breakpoints","palette","spacing","shape"];function oc(e={},...t){const{breakpoints:n={},palette:r={},spacing:o,shape:s={}}=e,i=ve(e,p_),a=bE(n),l=NE(o);let u=en({breakpoints:a,direction:"ltr",components:{},palette:_({mode:"light"},r),spacing:l,shape:_({},wE,s)},i);return u.applyStyles=f_,u=t.reduce((c,d)=>en(c,d),u),u.unstable_sxConfig=_({},nc,i==null?void 0:i.unstable_sxConfig),u.unstable_sx=function(d){return rc({sx:d,theme:this})},u}function h_(e){return Object.keys(e).length===0}function r1(e=null){const t=b.useContext(Ku);return!t||h_(t)?e:t}const m_=oc();function fh(e=m_){return r1(e)}function v_({styles:e,themeId:t,defaultTheme:n={}}){const r=fh(n),o=typeof e=="function"?e(t&&r[t]||r):e;return g.jsx(JC,{styles:o})}const y_=["sx"],g_=e=>{var t,n;const r={systemProps:{},otherProps:{}},o=(t=e==null||(n=e.theme)==null?void 0:n.unstable_sxConfig)!=null?t:nc;return Object.keys(e).forEach(s=>{o[s]?r.systemProps[s]=e[s]:r.otherProps[s]=e[s]}),r};function o1(e){const{sx:t}=e,n=ve(e,y_),{systemProps:r,otherProps:o}=g_(n);let s;return Array.isArray(t)?s=[r,...t]:typeof t=="function"?s=(...i)=>{const a=t(...i);return Lr(a)?_({},r,a):r}:s=_({},r,t),_({},o,{sx:s})}function s1(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t96}function Pi(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}const C_=oc(),E_=e=>e&&e.charAt(0).toLowerCase()+e.slice(1);function Ba({defaultTheme:e,theme:t,themeId:n}){return w_(t)?e:t[n]||t}function __(e){return e?(t,n)=>n[e]:null}function bl(e,t){let{ownerState:n}=t,r=ve(t,S_);const o=typeof e=="function"?e(_({ownerState:n},r)):e;if(Array.isArray(o))return o.flatMap(s=>bl(s,_({ownerState:n},r)));if(o&&typeof o=="object"&&Array.isArray(o.variants)){const{variants:s=[]}=o;let a=ve(o,b_);return s.forEach(l=>{let u=!0;typeof l.props=="function"?u=l.props(_({ownerState:n},r)):Object.keys(l.props).forEach(c=>{(n==null?void 0:n[c])!==l.props[c]&&r[c]!==l.props[c]&&(u=!1)}),u&&(Array.isArray(a)||(a=[a]),a.push(typeof l.style=="function"?l.style(_({ownerState:n},r)):l.style))}),a}return o}function i1(e={}){const{themeId:t,defaultTheme:n=C_,rootShouldForwardProp:r=Pi,slotShouldForwardProp:o=Pi}=e,s=i=>rc(_({},i,{theme:Ba(_({},i,{defaultTheme:n,themeId:t}))}));return s.__mui_systemSx=!0,(i,a={})=>{eE(i,C=>C.filter(E=>!(E!=null&&E.__mui_systemSx)));const{name:l,slot:u,skipVariantsResolver:c,skipSx:d,overridesResolver:f=__(E_(u))}=a,S=ve(a,x_),h=c!==void 0?c:u&&u!=="Root"&&u!=="root"||!1,m=d||!1;let w,y=Pi;u==="Root"||u==="root"?y=r:u?y=o:R_(i)&&(y=void 0);const p=ZC(i,_({shouldForwardProp:y,label:w},S)),v=C=>typeof C=="function"&&C.__emotion_real!==C||Lr(C)?E=>bl(C,_({},E,{theme:Ba({theme:E.theme,defaultTheme:n,themeId:t})})):C,x=(C,...E)=>{let R=v(C);const T=E?E.map(v):[];l&&f&&T.push(H=>{const U=Ba(_({},H,{defaultTheme:n,themeId:t}));if(!U.components||!U.components[l]||!U.components[l].styleOverrides)return null;const F=U.components[l].styleOverrides,z={};return Object.entries(F).forEach(([K,Q])=>{z[K]=bl(Q,_({},H,{theme:U}))}),f(H,z)}),l&&!h&&T.push(H=>{var U;const F=Ba(_({},H,{defaultTheme:n,themeId:t})),z=F==null||(U=F.components)==null||(U=U[l])==null?void 0:U.variants;return bl({variants:z},_({},H,{theme:F}))}),m||T.push(s);const M=T.length-E.length;if(Array.isArray(C)&&M>0){const H=new Array(M).fill("");R=[...C,...H],R.raw=[...C.raw,...H]}const $=p(R,...T);return i.muiName&&($.muiName=i.muiName),$};return p.withConfig&&(x.withConfig=p.withConfig),x}}const k_=i1();function T_(e){const{theme:t,name:n,props:r}=e;return!t||!t.components||!t.components[n]||!t.components[n].defaultProps?r:ih(t.components[n].defaultProps,r)}function a1({props:e,name:t,defaultTheme:n,themeId:r}){let o=fh(n);return r&&(o=o[r]||o),T_({theme:o,name:t,props:e})}function ph(e,t=0,n=1){return yE(e,t,n)}function P_(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let n=e.match(t);return n&&n[0].length===1&&(n=n.map(r=>r+r)),n?`rgb${n.length===4?"a":""}(${n.map((r,o)=>o<3?parseInt(r,16):Math.round(parseInt(r,16)/255*1e3)/1e3).join(", ")})`:""}function Co(e){if(e.type)return e;if(e.charAt(0)==="#")return Co(P_(e));const t=e.indexOf("("),n=e.substring(0,t);if(["rgb","rgba","hsl","hsla","color"].indexOf(n)===-1)throw new Error(Gr(9,e));let r=e.substring(t+1,e.length-1),o;if(n==="color"){if(r=r.split(" "),o=r.shift(),r.length===4&&r[3].charAt(0)==="/"&&(r[3]=r[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(o)===-1)throw new Error(Gr(10,o))}else r=r.split(",");return r=r.map(s=>parseFloat(s)),{type:n,values:r,colorSpace:o}}function sc(e){const{type:t,colorSpace:n}=e;let{values:r}=e;return t.indexOf("rgb")!==-1?r=r.map((o,s)=>s<3?parseInt(o,10):o):t.indexOf("hsl")!==-1&&(r[1]=`${r[1]}%`,r[2]=`${r[2]}%`),t.indexOf("color")!==-1?r=`${n} ${r.join(" ")}`:r=`${r.join(", ")}`,`${t}(${r})`}function A_(e){e=Co(e);const{values:t}=e,n=t[0],r=t[1]/100,o=t[2]/100,s=r*Math.min(o,1-o),i=(u,c=(u+n/30)%12)=>o-s*Math.max(Math.min(c-3,9-c,1),-1);let a="rgb";const l=[Math.round(i(0)*255),Math.round(i(8)*255),Math.round(i(4)*255)];return e.type==="hsla"&&(a+="a",l.push(t[3])),sc({type:a,values:l})}function Rv(e){e=Co(e);let t=e.type==="hsl"||e.type==="hsla"?Co(A_(e)).values:e.values;return t=t.map(n=>(e.type!=="color"&&(n/=255),n<=.03928?n/12.92:((n+.055)/1.055)**2.4)),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function N_(e,t){const n=Rv(e),r=Rv(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function Vn(e,t){return e=Co(e),t=ph(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,sc(e)}function O_(e,t){if(e=Co(e),t=ph(t),e.type.indexOf("hsl")!==-1)e.values[2]*=1-t;else if(e.type.indexOf("rgb")!==-1||e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]*=1-t;return sc(e)}function L_(e,t){if(e=Co(e),t=ph(t),e.type.indexOf("hsl")!==-1)e.values[2]+=(100-e.values[2])*t;else if(e.type.indexOf("rgb")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(e.type.indexOf("color")!==-1)for(let n=0;n<3;n+=1)e.values[n]+=(1-e.values[n])*t;return sc(e)}const $_=b.createContext(null),l1=$_;function u1(){return b.useContext(l1)}const M_=typeof Symbol=="function"&&Symbol.for,I_=M_?Symbol.for("mui.nested"):"__THEME_NESTED__";function F_(e,t){return typeof t=="function"?t(e):_({},e,t)}function D_(e){const{children:t,theme:n}=e,r=u1(),o=b.useMemo(()=>{const s=r===null?n:F_(r,n);return s!=null&&(s[I_]=r!==null),s},[n,r]);return g.jsx(l1.Provider,{value:o,children:t})}const Cv={};function Ev(e,t,n,r=!1){return b.useMemo(()=>{const o=e&&t[e]||t;if(typeof n=="function"){const s=n(o),i=e?_({},t,{[e]:s}):s;return r?()=>i:i}return e?_({},t,{[e]:n}):_({},t,n)},[e,t,n,r])}function j_(e){const{children:t,theme:n,themeId:r}=e,o=r1(Cv),s=u1()||Cv,i=Ev(r,o,n),a=Ev(r,s,n,!0);return g.jsx(D_,{theme:a,children:g.jsx(Ku.Provider,{value:i,children:t})})}const B_=["component","direction","spacing","divider","children","className","useFlexGap"],U_=oc(),z_=k_("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root});function V_(e){return a1({props:e,name:"MuiStack",defaultTheme:U_})}function W_(e,t){const n=b.Children.toArray(e).filter(Boolean);return n.reduce((r,o,s)=>(r.push(o),s({row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"})[e],q_=({ownerState:e,theme:t})=>{let n=_({display:"flex",flexDirection:"column"},qn({theme:t},wd({values:e.direction,breakpoints:t.breakpoints.values}),r=>({flexDirection:r})));if(e.spacing){const r=ch(t),o=Object.keys(t.breakpoints.values).reduce((l,u)=>((typeof e.spacing=="object"&&e.spacing[u]!=null||typeof e.direction=="object"&&e.direction[u]!=null)&&(l[u]=!0),l),{}),s=wd({values:e.direction,base:o}),i=wd({values:e.spacing,base:o});typeof s=="object"&&Object.keys(s).forEach((l,u,c)=>{if(!s[l]){const f=u>0?s[c[u-1]]:"column";s[l]=f}}),n=en(n,qn({theme:t},i,(l,u)=>e.useFlexGap?{gap:Ro(r,l)}:{"& > :not(style):not(style)":{margin:0},"& > :not(style) ~ :not(style)":{[`margin${H_(u?s[u]:e.direction)}`]:Ro(r,l)}}))}return n=RE(t.breakpoints,n),n};function K_(e={}){const{createStyledComponent:t=z_,useThemeProps:n=V_,componentName:r="MuiStack"}=e,o=()=>ze({root:["root"]},l=>je(r,l),{}),s=t(q_);return b.forwardRef(function(l,u){const c=n(l),d=o1(c),{component:f="div",direction:S="column",spacing:h=0,divider:m,children:w,className:y,useFlexGap:p=!1}=d,v=ve(d,B_),x={direction:S,spacing:h,useFlexGap:p},C=o();return g.jsx(s,_({as:f,ownerState:x,ref:u,className:Re(C.root,y)},v,{children:m?W_(w,m):w}))})}function G_(e,t){return _({toolbar:{minHeight:56,[e.up("xs")]:{"@media (orientation: landscape)":{minHeight:48}},[e.up("sm")]:{minHeight:64}}},t)}const Q_=["mode","contrastThreshold","tonalOffset"],_v={text:{primary:"rgba(0, 0, 0, 0.87)",secondary:"rgba(0, 0, 0, 0.6)",disabled:"rgba(0, 0, 0, 0.38)"},divider:"rgba(0, 0, 0, 0.12)",background:{paper:Hi.white,default:Hi.white},action:{active:"rgba(0, 0, 0, 0.54)",hover:"rgba(0, 0, 0, 0.04)",hoverOpacity:.04,selected:"rgba(0, 0, 0, 0.08)",selectedOpacity:.08,disabled:"rgba(0, 0, 0, 0.26)",disabledBackground:"rgba(0, 0, 0, 0.12)",disabledOpacity:.38,focus:"rgba(0, 0, 0, 0.12)",focusOpacity:.12,activatedOpacity:.12}},Rd={text:{primary:Hi.white,secondary:"rgba(255, 255, 255, 0.7)",disabled:"rgba(255, 255, 255, 0.5)",icon:"rgba(255, 255, 255, 0.5)"},divider:"rgba(255, 255, 255, 0.12)",background:{paper:"#121212",default:"#121212"},action:{active:Hi.white,hover:"rgba(255, 255, 255, 0.08)",hoverOpacity:.08,selected:"rgba(255, 255, 255, 0.16)",selectedOpacity:.16,disabled:"rgba(255, 255, 255, 0.3)",disabledBackground:"rgba(255, 255, 255, 0.12)",disabledOpacity:.38,focus:"rgba(255, 255, 255, 0.12)",focusOpacity:.12,activatedOpacity:.24}};function kv(e,t,n,r){const o=r.light||r,s=r.dark||r*1.5;e[t]||(e.hasOwnProperty(n)?e[t]=e[n]:t==="light"?e.light=L_(e.main,o):t==="dark"&&(e.dark=O_(e.main,s)))}function X_(e="light"){return e==="dark"?{main:jo[200],light:jo[50],dark:jo[400]}:{main:jo[700],light:jo[400],dark:jo[800]}}function Y_(e="light"){return e==="dark"?{main:Do[200],light:Do[50],dark:Do[400]}:{main:Do[500],light:Do[300],dark:Do[700]}}function J_(e="light"){return e==="dark"?{main:Fo[500],light:Fo[300],dark:Fo[700]}:{main:Fo[700],light:Fo[400],dark:Fo[800]}}function Z_(e="light"){return e==="dark"?{main:Bo[400],light:Bo[300],dark:Bo[700]}:{main:Bo[700],light:Bo[500],dark:Bo[900]}}function ek(e="light"){return e==="dark"?{main:Uo[400],light:Uo[300],dark:Uo[700]}:{main:Uo[800],light:Uo[500],dark:Uo[900]}}function tk(e="light"){return e==="dark"?{main:Ys[400],light:Ys[300],dark:Ys[700]}:{main:"#ed6c02",light:Ys[500],dark:Ys[900]}}function nk(e){const{mode:t="light",contrastThreshold:n=3,tonalOffset:r=.2}=e,o=ve(e,Q_),s=e.primary||X_(t),i=e.secondary||Y_(t),a=e.error||J_(t),l=e.info||Z_(t),u=e.success||ek(t),c=e.warning||tk(t);function d(m){return N_(m,Rd.text.primary)>=n?Rd.text.primary:_v.text.primary}const f=({color:m,name:w,mainShade:y=500,lightShade:p=300,darkShade:v=700})=>{if(m=_({},m),!m.main&&m[y]&&(m.main=m[y]),!m.hasOwnProperty("main"))throw new Error(Gr(11,w?` (${w})`:"",y));if(typeof m.main!="string")throw new Error(Gr(12,w?` (${w})`:"",JSON.stringify(m.main)));return kv(m,"light",p,r),kv(m,"dark",v,r),m.contrastText||(m.contrastText=d(m.main)),m},S={dark:Rd,light:_v};return en(_({common:_({},Hi),mode:t,primary:f({color:s,name:"primary"}),secondary:f({color:i,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:f({color:a,name:"error"}),warning:f({color:c,name:"warning"}),info:f({color:l,name:"info"}),success:f({color:u,name:"success"}),grey:QR,contrastThreshold:n,getContrastText:d,augmentColor:f,tonalOffset:r},S[t]),o)}const rk=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];function ok(e){return Math.round(e*1e5)/1e5}const Tv={textTransform:"uppercase"},Pv='"Roboto", "Helvetica", "Arial", sans-serif';function sk(e,t){const n=typeof t=="function"?t(e):t,{fontFamily:r=Pv,fontSize:o=14,fontWeightLight:s=300,fontWeightRegular:i=400,fontWeightMedium:a=500,fontWeightBold:l=700,htmlFontSize:u=16,allVariants:c,pxToRem:d}=n,f=ve(n,rk),S=o/14,h=d||(y=>`${y/u*S}rem`),m=(y,p,v,x,C)=>_({fontFamily:r,fontWeight:y,fontSize:h(p),lineHeight:v},r===Pv?{letterSpacing:`${ok(x/p)}em`}:{},C,c),w={h1:m(s,96,1.167,-1.5),h2:m(s,60,1.2,-.5),h3:m(i,48,1.167,0),h4:m(i,34,1.235,.25),h5:m(i,24,1.334,0),h6:m(a,20,1.6,.15),subtitle1:m(i,16,1.75,.15),subtitle2:m(a,14,1.57,.1),body1:m(i,16,1.5,.15),body2:m(i,14,1.43,.15),button:m(a,14,1.75,.4,Tv),caption:m(i,12,1.66,.4),overline:m(i,12,2.66,1,Tv),inherit:{fontFamily:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",letterSpacing:"inherit"}};return en(_({htmlFontSize:u,pxToRem:h,fontFamily:r,fontSize:o,fontWeightLight:s,fontWeightRegular:i,fontWeightMedium:a,fontWeightBold:l},w),f,{clone:!1})}const ik=.2,ak=.14,lk=.12;function tt(...e){return[`${e[0]}px ${e[1]}px ${e[2]}px ${e[3]}px rgba(0,0,0,${ik})`,`${e[4]}px ${e[5]}px ${e[6]}px ${e[7]}px rgba(0,0,0,${ak})`,`${e[8]}px ${e[9]}px ${e[10]}px ${e[11]}px rgba(0,0,0,${lk})`].join(",")}const uk=["none",tt(0,2,1,-1,0,1,1,0,0,1,3,0),tt(0,3,1,-2,0,2,2,0,0,1,5,0),tt(0,3,3,-2,0,3,4,0,0,1,8,0),tt(0,2,4,-1,0,4,5,0,0,1,10,0),tt(0,3,5,-1,0,5,8,0,0,1,14,0),tt(0,3,5,-1,0,6,10,0,0,1,18,0),tt(0,4,5,-2,0,7,10,1,0,2,16,1),tt(0,5,5,-3,0,8,10,1,0,3,14,2),tt(0,5,6,-3,0,9,12,1,0,3,16,2),tt(0,6,6,-3,0,10,14,1,0,4,18,3),tt(0,6,7,-4,0,11,15,1,0,4,20,3),tt(0,7,8,-4,0,12,17,2,0,5,22,4),tt(0,7,8,-4,0,13,19,2,0,5,24,4),tt(0,7,9,-4,0,14,21,2,0,5,26,4),tt(0,8,9,-5,0,15,22,2,0,6,28,5),tt(0,8,10,-5,0,16,24,2,0,6,30,5),tt(0,8,11,-5,0,17,26,2,0,6,32,5),tt(0,9,11,-5,0,18,28,2,0,7,34,6),tt(0,9,12,-6,0,19,29,2,0,7,36,6),tt(0,10,13,-6,0,20,31,3,0,8,38,7),tt(0,10,13,-6,0,21,33,3,0,8,40,7),tt(0,10,14,-6,0,22,35,3,0,8,42,7),tt(0,11,14,-7,0,23,36,3,0,9,44,8),tt(0,11,15,-7,0,24,38,3,0,9,46,8)],ck=["duration","easing","delay"],dk={easeInOut:"cubic-bezier(0.4, 0, 0.2, 1)",easeOut:"cubic-bezier(0.0, 0, 0.2, 1)",easeIn:"cubic-bezier(0.4, 0, 1, 1)",sharp:"cubic-bezier(0.4, 0, 0.6, 1)"},fk={shortest:150,shorter:200,short:250,standard:300,complex:375,enteringScreen:225,leavingScreen:195};function Av(e){return`${Math.round(e)}ms`}function pk(e){if(!e)return 0;const t=e/36;return Math.round((4+15*t**.25+t/5)*10)}function hk(e){const t=_({},dk,e.easing),n=_({},fk,e.duration);return _({getAutoHeightDuration:pk,create:(o=["all"],s={})=>{const{duration:i=n.standard,easing:a=t.easeInOut,delay:l=0}=s;return ve(s,ck),(Array.isArray(o)?o:[o]).map(u=>`${u} ${typeof i=="string"?i:Av(i)} ${a} ${typeof l=="string"?l:Av(l)}`).join(",")}},e,{easing:t,duration:n})}const mk={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},vk=mk,yk=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function hh(e={},...t){const{mixins:n={},palette:r={},transitions:o={},typography:s={}}=e,i=ve(e,yk);if(e.vars)throw new Error(Gr(18));const a=nk(r),l=oc(e);let u=en(l,{mixins:G_(l.breakpoints,n),palette:a,shadows:uk.slice(),typography:sk(a,s),transitions:hk(o),zIndex:_({},vk)});return u=en(u,i),u=t.reduce((c,d)=>en(c,d),u),u.unstable_sxConfig=_({},nc,i==null?void 0:i.unstable_sxConfig),u.unstable_sx=function(d){return rc({sx:d,theme:this})},u}const gk=hh(),ic=gk;function ac(){const e=fh(ic);return e[vs]||e}function Ve({props:e,name:t}){return a1({props:e,name:t,defaultTheme:ic,themeId:vs})}const Kt=e=>Pi(e)&&e!=="classes",Sk=Pi,he=i1({themeId:vs,defaultTheme:ic,rootShouldForwardProp:Kt}),bk=["theme"];function xk(e){let{theme:t}=e,n=ve(e,bk);const r=t[vs];return g.jsx(j_,_({},n,{themeId:r?vs:void 0,theme:r||t}))}const Nv=e=>{let t;return e<1?t=5.11916*e**2:t=4.5*Math.log(e+1)+2,(t/100).toFixed(2)};function wk(e){return je("MuiSvgIcon",e)}Ie("MuiSvgIcon",["root","colorPrimary","colorSecondary","colorAction","colorError","colorDisabled","fontSizeInherit","fontSizeSmall","fontSizeMedium","fontSizeLarge"]);const Rk=["children","className","color","component","fontSize","htmlColor","inheritViewBox","titleAccess","viewBox"],Ck=e=>{const{color:t,fontSize:n,classes:r}=e,o={root:["root",t!=="inherit"&&`color${Ce(t)}`,`fontSize${Ce(n)}`]};return ze(o,wk,r)},Ek=he("svg",{name:"MuiSvgIcon",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.color!=="inherit"&&t[`color${Ce(n.color)}`],t[`fontSize${Ce(n.fontSize)}`]]}})(({theme:e,ownerState:t})=>{var n,r,o,s,i,a,l,u,c,d,f,S,h;return{userSelect:"none",width:"1em",height:"1em",display:"inline-block",fill:t.hasSvgAsChild?void 0:"currentColor",flexShrink:0,transition:(n=e.transitions)==null||(r=n.create)==null?void 0:r.call(n,"fill",{duration:(o=e.transitions)==null||(o=o.duration)==null?void 0:o.shorter}),fontSize:{inherit:"inherit",small:((s=e.typography)==null||(i=s.pxToRem)==null?void 0:i.call(s,20))||"1.25rem",medium:((a=e.typography)==null||(l=a.pxToRem)==null?void 0:l.call(a,24))||"1.5rem",large:((u=e.typography)==null||(c=u.pxToRem)==null?void 0:c.call(u,35))||"2.1875rem"}[t.fontSize],color:(d=(f=(e.vars||e).palette)==null||(f=f[t.color])==null?void 0:f.main)!=null?d:{action:(S=(e.vars||e).palette)==null||(S=S.action)==null?void 0:S.active,disabled:(h=(e.vars||e).palette)==null||(h=h.action)==null?void 0:h.disabled,inherit:void 0}[t.color]}}),Cf=b.forwardRef(function(t,n){const r=Ve({props:t,name:"MuiSvgIcon"}),{children:o,className:s,color:i="inherit",component:a="svg",fontSize:l="medium",htmlColor:u,inheritViewBox:c=!1,titleAccess:d,viewBox:f="0 0 24 24"}=r,S=ve(r,Rk),h=b.isValidElement(o)&&o.type==="svg",m=_({},r,{color:i,component:a,fontSize:l,instanceFontSize:t.fontSize,inheritViewBox:c,viewBox:f,hasSvgAsChild:h}),w={};c||(w.viewBox=f);const y=Ck(m);return g.jsxs(Ek,_({as:a,className:Re(y.root,s),focusable:"false",color:u,"aria-hidden":d?void 0:!0,role:d?"img":void 0,ref:n},w,S,h&&o.props,{ownerState:m,children:[h?o.props.children:o,d?g.jsx("title",{children:d}):null]}))});Cf.muiName="SvgIcon";function lc(e,t){function n(r,o){return g.jsx(Cf,_({"data-testid":`${t}Icon`,ref:o},r,{children:e}))}return n.muiName=Cf.muiName,b.memo(b.forwardRef(n))}const _k={configure:e=>{Z0.configure(e)}},kk=Object.freeze(Object.defineProperty({__proto__:null,capitalize:Ce,createChainedFunction:Bl,createSvgIcon:lc,debounce:sh,deprecatedPropType:tE,isMuiElement:Sl,ownerDocument:tn,ownerWindow:Qr,requirePropFactory:nE,setRef:Ul,unstable_ClassNameGenerator:_k,unstable_useEnhancedEffect:yr,unstable_useId:Sa,unsupportedProp:oE,useControlled:Qi,useEventCallback:co,useForkRef:Lt,useIsFocusVisible:Y0},Symbol.toStringTag,{value:"Module"}));var qe={};/** + * @license React + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var mh=Symbol.for("react.element"),vh=Symbol.for("react.portal"),uc=Symbol.for("react.fragment"),cc=Symbol.for("react.strict_mode"),dc=Symbol.for("react.profiler"),fc=Symbol.for("react.provider"),pc=Symbol.for("react.context"),Tk=Symbol.for("react.server_context"),hc=Symbol.for("react.forward_ref"),mc=Symbol.for("react.suspense"),vc=Symbol.for("react.suspense_list"),yc=Symbol.for("react.memo"),gc=Symbol.for("react.lazy"),Pk=Symbol.for("react.offscreen"),c1;c1=Symbol.for("react.module.reference");function Ln(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case mh:switch(e=e.type,e){case uc:case dc:case cc:case mc:case vc:return e;default:switch(e=e&&e.$$typeof,e){case Tk:case pc:case hc:case gc:case yc:case fc:return e;default:return t}}case vh:return t}}}qe.ContextConsumer=pc;qe.ContextProvider=fc;qe.Element=mh;qe.ForwardRef=hc;qe.Fragment=uc;qe.Lazy=gc;qe.Memo=yc;qe.Portal=vh;qe.Profiler=dc;qe.StrictMode=cc;qe.Suspense=mc;qe.SuspenseList=vc;qe.isAsyncMode=function(){return!1};qe.isConcurrentMode=function(){return!1};qe.isContextConsumer=function(e){return Ln(e)===pc};qe.isContextProvider=function(e){return Ln(e)===fc};qe.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===mh};qe.isForwardRef=function(e){return Ln(e)===hc};qe.isFragment=function(e){return Ln(e)===uc};qe.isLazy=function(e){return Ln(e)===gc};qe.isMemo=function(e){return Ln(e)===yc};qe.isPortal=function(e){return Ln(e)===vh};qe.isProfiler=function(e){return Ln(e)===dc};qe.isStrictMode=function(e){return Ln(e)===cc};qe.isSuspense=function(e){return Ln(e)===mc};qe.isSuspenseList=function(e){return Ln(e)===vc};qe.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===uc||e===dc||e===cc||e===mc||e===vc||e===Pk||typeof e=="object"&&e!==null&&(e.$$typeof===gc||e.$$typeof===yc||e.$$typeof===fc||e.$$typeof===pc||e.$$typeof===hc||e.$$typeof===c1||e.getModuleId!==void 0)};qe.typeOf=Ln;function Ef(e,t){return Ef=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,o){return r.__proto__=o,r},Ef(e,t)}function d1(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,Ef(e,t)}var f1={exports:{}},yn={},p1={exports:{}},h1={};/** * @license React * scheduler.production.min.js * @@ -29,7 +37,7 @@ function Rw(e,t){for(var n=0;n>>1,C=F[ne];if(0>>1;neo(se,z))Ko(ue,se)?(F[ne]=ue,F[K]=z,ne=K):(F[ne]=se,F[I]=z,ne=I);else if(Ko(ue,z))F[ne]=ue,F[K]=z,ne=K;else break e}}return oe}function o(F,oe){var z=F.sortIndex-oe.sortIndex;return z!==0?z:F.id-oe.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;e.unstable_now=function(){return i.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var l=[],u=[],d=1,c=null,h=3,S=!1,y=!1,p=!1,_=typeof setTimeout=="function"?setTimeout:null,m=typeof clearTimeout=="function"?clearTimeout:null,f=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(F){for(var oe=n(u);oe!==null;){if(oe.callback===null)r(u);else if(oe.startTime<=F)r(u),oe.sortIndex=oe.expirationTime,t(l,oe);else break;oe=n(u)}}function R(F){if(p=!1,v(F),!y)if(n(l)!==null)y=!0,ye(E);else{var oe=n(u);oe!==null&&ge(R,oe.startTime-F)}}function E(F,oe){y=!1,p&&(p=!1,m(P),P=-1),S=!0;var z=h;try{for(v(oe),c=n(l);c!==null&&(!(c.expirationTime>oe)||F&&!U());){var ne=c.callback;if(typeof ne=="function"){c.callback=null,h=c.priorityLevel;var C=ne(c.expirationTime<=oe);oe=e.unstable_now(),typeof C=="function"?c.callback=C:c===n(l)&&r(l),v(oe)}else r(l);c=n(l)}if(c!==null)var V=!0;else{var I=n(u);I!==null&&ge(R,I.startTime-oe),V=!1}return V}finally{c=null,h=z,S=!1}}var k=!1,b=null,P=-1,H=5,M=-1;function U(){return!(e.unstable_now()-MF||125ne?(F.sortIndex=z,t(u,F),n(l)===null&&F===n(u)&&(p?(m(P),P=-1):p=!0,ge(R,z-ne))):(F.sortIndex=C,t(l,F),y||S||(y=!0,ye(E))),F},e.unstable_shouldYield=U,e.unstable_wrapCallback=function(F){var oe=h;return function(){var z=h;h=oe;try{return F.apply(this,arguments)}finally{h=z}}}})(Qv);qv.exports=Qv;var vx=qv.exports;/** + */(function(e){function t(O,j){var D=O.length;O.push(j);e:for(;0>>1,P=O[J];if(0>>1;Jo(re,D))Xo(ue,re)?(O[J]=ue,O[X]=D,J=X):(O[J]=re,O[B]=D,J=B);else if(Xo(ue,D))O[J]=ue,O[X]=D,J=X;else break e}}return j}function o(O,j){var D=O.sortIndex-j.sortIndex;return D!==0?D:O.id-j.id}if(typeof performance=="object"&&typeof performance.now=="function"){var s=performance;e.unstable_now=function(){return s.now()}}else{var i=Date,a=i.now();e.unstable_now=function(){return i.now()-a}}var l=[],u=[],c=1,d=null,f=3,S=!1,h=!1,m=!1,w=typeof setTimeout=="function"?setTimeout:null,y=typeof clearTimeout=="function"?clearTimeout:null,p=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function v(O){for(var j=n(u);j!==null;){if(j.callback===null)r(u);else if(j.startTime<=O)r(u),j.sortIndex=j.expirationTime,t(l,j);else break;j=n(u)}}function x(O){if(m=!1,v(O),!h)if(n(l)!==null)h=!0,Q(C);else{var j=n(u);j!==null&&G(x,j.startTime-O)}}function C(O,j){h=!1,m&&(m=!1,y(T),T=-1),S=!0;var D=f;try{for(v(j),d=n(l);d!==null&&(!(d.expirationTime>j)||O&&!H());){var J=d.callback;if(typeof J=="function"){d.callback=null,f=d.priorityLevel;var P=J(d.expirationTime<=j);j=e.unstable_now(),typeof P=="function"?d.callback=P:d===n(l)&&r(l),v(j)}else r(l);d=n(l)}if(d!==null)var q=!0;else{var B=n(u);B!==null&&G(x,B.startTime-j),q=!1}return q}finally{d=null,f=D,S=!1}}var E=!1,R=null,T=-1,M=5,$=-1;function H(){return!(e.unstable_now()-$O||125J?(O.sortIndex=D,t(u,O),n(l)===null&&O===n(u)&&(m?(y(T),T=-1):m=!0,G(x,D-J))):(O.sortIndex=P,t(l,O),h||S||(h=!0,Q(C))),O},e.unstable_shouldYield=H,e.unstable_wrapCallback=function(O){var j=f;return function(){var D=f;f=j;try{return O.apply(this,arguments)}finally{f=D}}}})(h1);p1.exports=h1;var Ak=p1.exports;/** * @license React * react-dom.production.min.js * @@ -37,14 +45,14 @@ function Rw(e,t){for(var n=0;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),rd=Object.prototype.hasOwnProperty,gx=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,zp={},Wp={};function Sx(e){return rd.call(Wp,e)?!0:rd.call(zp,e)?!1:gx.test(e)?Wp[e]=!0:(zp[e]=!0,!1)}function wx(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function _x(e,t,n,r){if(t===null||typeof t>"u"||wx(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function kt(e,t,n,r,o,i,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=i,this.removeEmptyString=s}var vt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){vt[e]=new kt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];vt[t]=new kt(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){vt[e]=new kt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){vt[e]=new kt(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){vt[e]=new kt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){vt[e]=new kt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){vt[e]=new kt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){vt[e]=new kt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){vt[e]=new kt(e,5,!1,e.toLowerCase(),null,!1,!1)});var Wf=/[\-:]([a-z])/g;function Hf(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Wf,Hf);vt[t]=new kt(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Wf,Hf);vt[t]=new kt(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Wf,Hf);vt[t]=new kt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){vt[e]=new kt(e,1,!1,e.toLowerCase(),null,!1,!1)});vt.xlinkHref=new kt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){vt[e]=new kt(e,1,!1,e.toLowerCase(),null,!0,!0)});function Kf(e,t,n,r){var o=vt.hasOwnProperty(t)?vt[t]:null;(o!==null?o.type!==0:r||!(2a||o[s]!==i[a]){var l=` -`+o[s].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=s&&0<=a);break}}}finally{cc=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Mi(e):""}function Rx(e){switch(e.tag){case 5:return Mi(e.type);case 16:return Mi("Lazy");case 13:return Mi("Suspense");case 19:return Mi("SuspenseList");case 0:case 2:case 15:return e=dc(e.type,!1),e;case 11:return e=dc(e.type.render,!1),e;case 1:return e=dc(e.type,!0),e;default:return""}}function ad(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Ro:return"Fragment";case _o:return"Portal";case od:return"Profiler";case qf:return"StrictMode";case id:return"Suspense";case sd:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Zv:return(e.displayName||"Context")+".Consumer";case Yv:return(e._context.displayName||"Context")+".Provider";case Qf:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Gf:return t=e.displayName||null,t!==null?t:ad(e.type)||"Memo";case ur:t=e._payload,e=e._init;try{return ad(e(t))}catch{}}return null}function bx(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ad(t);case 8:return t===qf?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Tr(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function e0(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function xx(e){var t=e0(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(s){r=""+s,i.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function ra(e){e._valueTracker||(e._valueTracker=xx(e))}function t0(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=e0(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function el(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function ld(e,t){var n=t.checked;return He({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Kp(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Tr(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function n0(e,t){t=t.checked,t!=null&&Kf(e,"checked",t,!1)}function ud(e,t){n0(e,t);var n=Tr(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?cd(e,t.type,n):t.hasOwnProperty("defaultValue")&&cd(e,t.type,Tr(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function qp(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function cd(e,t,n){(t!=="number"||el(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var Di=Array.isArray;function Do(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=oa.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function us(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Wi={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ex=["Webkit","ms","Moz","O"];Object.keys(Wi).forEach(function(e){Ex.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Wi[t]=Wi[e]})});function s0(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Wi.hasOwnProperty(e)&&Wi[e]?(""+t).trim():t+"px"}function a0(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=s0(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}var Cx=He({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function hd(e,t){if(t){if(Cx[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(j(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(j(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(j(61))}if(t.style!=null&&typeof t.style!="object")throw Error(j(62))}}function pd(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var md=null;function Xf(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var yd=null,Io=null,$o=null;function Xp(e){if(e=Ls(e)){if(typeof yd!="function")throw Error(j(280));var t=e.stateNode;t&&(t=vu(t),yd(e.stateNode,e.type,t))}}function l0(e){Io?$o?$o.push(e):$o=[e]:Io=e}function u0(){if(Io){var e=Io,t=$o;if($o=Io=null,Xp(e),t)for(e=0;e>>=0,e===0?32:31-(Ix(e)/$x|0)|0}var ia=64,sa=4194304;function Ii(e){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: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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ol(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,i=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~o;a!==0?r=Ii(a):(i&=s,i!==0&&(r=Ii(i)))}else s=n&~o,s!==0?r=Ii(s):i!==0&&(r=Ii(i));if(r===0)return 0;if(t!==0&&t!==r&&!(t&o)&&(o=r&-r,i=t&-t,o>=i||o===16&&(i&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Ps(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-En(t),e[t]=n}function Bx(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Ki),im=" ",sm=!1;function A0(e,t){switch(e){case"keyup":return yE.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function N0(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var bo=!1;function gE(e,t){switch(e){case"compositionend":return N0(t);case"keypress":return t.which!==32?null:(sm=!0,im);case"textInput":return e=t.data,e===im&&sm?null:e;default:return null}}function SE(e,t){if(bo)return e==="compositionend"||!oh&&A0(e,t)?(e=T0(),Fa=th=mr=null,bo=!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=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=cm(n)}}function F0(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?F0(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function M0(){for(var e=window,t=el();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=el(e.document)}return t}function ih(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")}function kE(e){var t=M0(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&F0(n.ownerDocument.documentElement,n)){if(r!==null&&ih(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,i=Math.min(r.start,o);r=r.end===void 0?i:Math.min(r.end,o),!e.extend&&i>r&&(o=r,r=i,i=o),o=dm(n,i);var s=dm(n,r);o&&s&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),i>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,xo=null,Rd=null,Qi=null,bd=!1;function fm(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;bd||xo==null||xo!==el(r)||(r=xo,"selectionStart"in r&&ih(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Qi&&ms(Qi,r)||(Qi=r,r=al(Rd,"onSelect"),0To||(e.current=Ad[To],Ad[To]=null,To--)}function Fe(e,t){To++,Ad[To]=e.current,e.current=t}var kr={},Rt=Pr(kr),Mt=Pr(!1),Yr=kr;function qo(e,t){var n=e.type.contextTypes;if(!n)return kr;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},i;for(i in n)o[i]=t[i];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Dt(e){return e=e.childContextTypes,e!=null}function ul(){Ie(Mt),Ie(Rt)}function Sm(e,t,n){if(Rt.current!==kr)throw Error(j(168));Fe(Rt,t),Fe(Mt,n)}function W0(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(j(108,bx(e)||"Unknown",o));return He({},n,r)}function cl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||kr,Yr=Rt.current,Fe(Rt,e),Fe(Mt,Mt.current),!0}function wm(e,t,n){var r=e.stateNode;if(!r)throw Error(j(169));n?(e=W0(e,t,Yr),r.__reactInternalMemoizedMergedChildContext=e,Ie(Mt),Ie(Rt),Fe(Rt,e)):Ie(Mt),Fe(Mt,n)}var Qn=null,gu=!1,Ec=!1;function H0(e){Qn===null?Qn=[e]:Qn.push(e)}function VE(e){gu=!0,H0(e)}function Or(){if(!Ec&&Qn!==null){Ec=!0;var e=0,t=Ne;try{var n=Qn;for(Ne=1;e>=s,o-=s,Gn=1<<32-En(t)+o|n<P?(H=b,b=null):H=b.sibling;var M=h(m,b,v[P],R);if(M===null){b===null&&(b=H);break}e&&b&&M.alternate===null&&t(m,b),f=i(M,f,P),k===null?E=M:k.sibling=M,k=M,b=H}if(P===v.length)return n(m,b),Ve&&Ir(m,P),E;if(b===null){for(;PP?(H=b,b=null):H=b.sibling;var U=h(m,b,M.value,R);if(U===null){b===null&&(b=H);break}e&&b&&U.alternate===null&&t(m,b),f=i(U,f,P),k===null?E=U:k.sibling=U,k=U,b=H}if(M.done)return n(m,b),Ve&&Ir(m,P),E;if(b===null){for(;!M.done;P++,M=v.next())M=c(m,M.value,R),M!==null&&(f=i(M,f,P),k===null?E=M:k.sibling=M,k=M);return Ve&&Ir(m,P),E}for(b=r(m,b);!M.done;P++,M=v.next())M=S(b,m,P,M.value,R),M!==null&&(e&&M.alternate!==null&&b.delete(M.key===null?P:M.key),f=i(M,f,P),k===null?E=M:k.sibling=M,k=M);return e&&b.forEach(function(Y){return t(m,Y)}),Ve&&Ir(m,P),E}function _(m,f,v,R){if(typeof v=="object"&&v!==null&&v.type===Ro&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case na:e:{for(var E=v.key,k=f;k!==null;){if(k.key===E){if(E=v.type,E===Ro){if(k.tag===7){n(m,k.sibling),f=o(k,v.props.children),f.return=m,m=f;break e}}else if(k.elementType===E||typeof E=="object"&&E!==null&&E.$$typeof===ur&&Tm(E)===k.type){n(m,k.sibling),f=o(k,v.props),f.ref=xi(m,k,v),f.return=m,m=f;break e}n(m,k);break}else t(m,k);k=k.sibling}v.type===Ro?(f=Gr(v.props.children,m.mode,R,v.key),f.return=m,m=f):(R=Ba(v.type,v.key,v.props,null,m.mode,R),R.ref=xi(m,f,v),R.return=m,m=R)}return s(m);case _o:e:{for(k=v.key;f!==null;){if(f.key===k)if(f.tag===4&&f.stateNode.containerInfo===v.containerInfo&&f.stateNode.implementation===v.implementation){n(m,f.sibling),f=o(f,v.children||[]),f.return=m,m=f;break e}else{n(m,f);break}else t(m,f);f=f.sibling}f=Lc(v,m.mode,R),f.return=m,m=f}return s(m);case ur:return k=v._init,_(m,f,k(v._payload),R)}if(Di(v))return y(m,f,v,R);if(Si(v))return p(m,f,v,R);ha(m,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,f!==null&&f.tag===6?(n(m,f.sibling),f=o(f,v),f.return=m,m=f):(n(m,f),f=Oc(v,m.mode,R),f.return=m,m=f),s(m)):n(m,f)}return _}var Go=J0(!0),eg=J0(!1),Fs={},Vn=Pr(Fs),Ss=Pr(Fs),ws=Pr(Fs);function zr(e){if(e===Fs)throw Error(j(174));return e}function ph(e,t){switch(Fe(ws,t),Fe(Ss,e),Fe(Vn,Fs),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:fd(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=fd(t,e)}Ie(Vn),Fe(Vn,t)}function Xo(){Ie(Vn),Ie(Ss),Ie(ws)}function tg(e){zr(ws.current);var t=zr(Vn.current),n=fd(t,e.type);t!==n&&(Fe(Ss,e),Fe(Vn,n))}function mh(e){Ss.current===e&&(Ie(Vn),Ie(Ss))}var ze=Pr(0);function yl(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Cc=[];function yh(){for(var e=0;en?n:4,e(!0);var r=Tc.transition;Tc.transition={};try{e(!1),t()}finally{Ne=n,Tc.transition=r}}function vg(){return mn().memoizedState}function WE(e,t,n){var r=Er(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},gg(e))Sg(t,n);else if(n=G0(e,t,n,r),n!==null){var o=Ct();Cn(n,e,r,o),wg(n,t,r)}}function HE(e,t,n){var r=Er(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(gg(e))Sg(t,o);else{var i=e.alternate;if(e.lanes===0&&(i===null||i.lanes===0)&&(i=t.lastRenderedReducer,i!==null))try{var s=t.lastRenderedState,a=i(s,n);if(o.hasEagerState=!0,o.eagerState=a,Tn(a,s)){var l=t.interleaved;l===null?(o.next=o,fh(t)):(o.next=l.next,l.next=o),t.interleaved=o;return}}catch{}finally{}n=G0(e,t,o,r),n!==null&&(o=Ct(),Cn(n,e,r,o),wg(n,t,r))}}function gg(e){var t=e.alternate;return e===We||t!==null&&t===We}function Sg(e,t){Gi=vl=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function wg(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Zf(e,n)}}var gl={readContext:pn,useCallback:gt,useContext:gt,useEffect:gt,useImperativeHandle:gt,useInsertionEffect:gt,useLayoutEffect:gt,useMemo:gt,useReducer:gt,useRef:gt,useState:gt,useDebugValue:gt,useDeferredValue:gt,useTransition:gt,useMutableSource:gt,useSyncExternalStore:gt,useId:gt,unstable_isNewReconciler:!1},KE={readContext:pn,useCallback:function(e,t){return On().memoizedState=[e,t===void 0?null:t],e},useContext:pn,useEffect:Am,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,$a(4194308,4,fg.bind(null,t,e),n)},useLayoutEffect:function(e,t){return $a(4194308,4,e,t)},useInsertionEffect:function(e,t){return $a(4,2,e,t)},useMemo:function(e,t){var n=On();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=On();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=WE.bind(null,We,e),[r.memoizedState,e]},useRef:function(e){var t=On();return e={current:e},t.memoizedState=e},useState:km,useDebugValue:_h,useDeferredValue:function(e){return On().memoizedState=e},useTransition:function(){var e=km(!1),t=e[0];return e=zE.bind(null,e[1]),On().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=We,o=On();if(Ve){if(n===void 0)throw Error(j(407));n=n()}else{if(n=t(),dt===null)throw Error(j(349));Jr&30||og(r,t,n)}o.memoizedState=n;var i={value:n,getSnapshot:t};return o.queue=i,Am(sg.bind(null,r,i,e),[e]),r.flags|=2048,bs(9,ig.bind(null,r,i,n,t),void 0,null),n},useId:function(){var e=On(),t=dt.identifierPrefix;if(Ve){var n=Xn,r=Gn;n=(r&~(1<<32-En(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=_s++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[Mn]=t,e[gs]=r,Ag(e,t,!1,!1),t.stateNode=e;e:{switch(s=pd(n,r),n){case"dialog":Me("cancel",e),Me("close",e),o=r;break;case"iframe":case"object":case"embed":Me("load",e),o=r;break;case"video":case"audio":for(o=0;o<$i.length;o++)Me($i[o],e);o=r;break;case"source":Me("error",e),o=r;break;case"img":case"image":case"link":Me("error",e),Me("load",e),o=r;break;case"details":Me("toggle",e),o=r;break;case"input":Kp(e,r),o=ld(e,r),Me("invalid",e);break;case"option":o=r;break;case"select":e._wrapperState={wasMultiple:!!r.multiple},o=He({},r,{value:void 0}),Me("invalid",e);break;case"textarea":Qp(e,r),o=dd(e,r),Me("invalid",e);break;default:o=r}hd(n,o),a=o;for(i in a)if(a.hasOwnProperty(i)){var l=a[i];i==="style"?a0(e,l):i==="dangerouslySetInnerHTML"?(l=l?l.__html:void 0,l!=null&&i0(e,l)):i==="children"?typeof l=="string"?(n!=="textarea"||l!=="")&&us(e,l):typeof l=="number"&&us(e,""+l):i!=="suppressContentEditableWarning"&&i!=="suppressHydrationWarning"&&i!=="autoFocus"&&(ls.hasOwnProperty(i)?l!=null&&i==="onScroll"&&Me("scroll",e):l!=null&&Kf(e,i,l,s))}switch(n){case"input":ra(e),qp(e,r,!1);break;case"textarea":ra(e),Gp(e);break;case"option":r.value!=null&&e.setAttribute("value",""+Tr(r.value));break;case"select":e.multiple=!!r.multiple,i=r.value,i!=null?Do(e,!!r.multiple,i,!1):r.defaultValue!=null&&Do(e,!!r.multiple,r.defaultValue,!0);break;default:typeof o.onClick=="function"&&(e.onclick=ll)}switch(n){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}}r&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return St(t),null;case 6:if(e&&t.stateNode!=null)Pg(e,t,e.memoizedProps,r);else{if(typeof r!="string"&&t.stateNode===null)throw Error(j(166));if(n=zr(ws.current),zr(Vn.current),fa(t)){if(r=t.stateNode,n=t.memoizedProps,r[Mn]=t,(i=r.nodeValue!==n)&&(e=Qt,e!==null))switch(e.tag){case 3:da(r.nodeValue,n,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&da(r.nodeValue,n,(e.mode&1)!==0)}i&&(t.flags|=4)}else r=(n.nodeType===9?n:n.ownerDocument).createTextNode(r),r[Mn]=t,t.stateNode=r}return St(t),null;case 13:if(Ie(ze),r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(Ve&&Kt!==null&&t.mode&1&&!(t.flags&128))Q0(),Qo(),t.flags|=98560,i=!1;else if(i=fa(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(j(318));if(i=t.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(j(317));i[Mn]=t}else Qo(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;St(t),i=!1}else Rn!==null&&(Qd(Rn),Rn=null),i=!0;if(!i)return t.flags&65536?t:null}return t.flags&128?(t.lanes=n,t):(r=r!==null,r!==(e!==null&&e.memoizedState!==null)&&r&&(t.child.flags|=8192,t.mode&1&&(e===null||ze.current&1?it===0&&(it=3):kh())),t.updateQueue!==null&&(t.flags|=4),St(t),null);case 4:return Xo(),Vd(e,t),e===null&&ys(t.stateNode.containerInfo),St(t),null;case 10:return dh(t.type._context),St(t),null;case 17:return Dt(t.type)&&ul(),St(t),null;case 19:if(Ie(ze),i=t.memoizedState,i===null)return St(t),null;if(r=(t.flags&128)!==0,s=i.rendering,s===null)if(r)Ei(i,!1);else{if(it!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(s=yl(e),s!==null){for(t.flags|=128,Ei(i,!1),r=s.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),t.subtreeFlags=0,r=n,n=t.child;n!==null;)i=n,e=r,i.flags&=14680066,s=i.alternate,s===null?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=s.childLanes,i.lanes=s.lanes,i.child=s.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=s.memoizedProps,i.memoizedState=s.memoizedState,i.updateQueue=s.updateQueue,i.type=s.type,e=s.dependencies,i.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),n=n.sibling;return Fe(ze,ze.current&1|2),t.child}e=e.sibling}i.tail!==null&&Ye()>Zo&&(t.flags|=128,r=!0,Ei(i,!1),t.lanes=4194304)}else{if(!r)if(e=yl(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Ei(i,!0),i.tail===null&&i.tailMode==="hidden"&&!s.alternate&&!Ve)return St(t),null}else 2*Ye()-i.renderingStartTime>Zo&&n!==1073741824&&(t.flags|=128,r=!0,Ei(i,!1),t.lanes=4194304);i.isBackwards?(s.sibling=t.child,t.child=s):(n=i.last,n!==null?n.sibling=s:t.child=s,i.last=s)}return i.tail!==null?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ye(),t.sibling=null,n=ze.current,Fe(ze,r?n&1|2:n&1),t):(St(t),null);case 22:case 23:return Th(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?Wt&1073741824&&(St(t),t.subtreeFlags&6&&(t.flags|=8192)):St(t),null;case 24:return null;case 25:return null}throw Error(j(156,t.tag))}function eC(e,t){switch(ah(t),t.tag){case 1:return Dt(t.type)&&ul(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Xo(),Ie(Mt),Ie(Rt),yh(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return mh(t),null;case 13:if(Ie(ze),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(j(340));Qo()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ie(ze),null;case 4:return Xo(),null;case 10:return dh(t.type._context),null;case 22:case 23:return Th(),null;case 24:return null;default:return null}}var ma=!1,_t=!1,tC=typeof WeakSet=="function"?WeakSet:Set,J=null;function Po(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){Qe(e,t,r)}else n.current=null}function Ud(e,t,n){try{n()}catch(r){Qe(e,t,r)}}var $m=!1;function nC(e,t){if(xd=il,e=M0(),ih(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,i=r.focusNode;r=r.focusOffset;try{n.nodeType,i.nodeType}catch{n=null;break e}var s=0,a=-1,l=-1,u=0,d=0,c=e,h=null;t:for(;;){for(var S;c!==n||o!==0&&c.nodeType!==3||(a=s+o),c!==i||r!==0&&c.nodeType!==3||(l=s+r),c.nodeType===3&&(s+=c.nodeValue.length),(S=c.firstChild)!==null;)h=c,c=S;for(;;){if(c===e)break t;if(h===n&&++u===o&&(a=s),h===i&&++d===r&&(l=s),(S=c.nextSibling)!==null)break;c=h,h=c.parentNode}c=S}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ed={focusedElem:e,selectionRange:n},il=!1,J=t;J!==null;)if(t=J,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,J=e;else for(;J!==null;){t=J;try{var y=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(y!==null){var p=y.memoizedProps,_=y.memoizedState,m=t.stateNode,f=m.getSnapshotBeforeUpdate(t.elementType===t.type?p:wn(t.type,p),_);m.__reactInternalSnapshotBeforeUpdate=f}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(j(163))}}catch(R){Qe(t,t.return,R)}if(e=t.sibling,e!==null){e.return=t.return,J=e;break}J=t.return}return y=$m,$m=!1,y}function Xi(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var i=o.destroy;o.destroy=void 0,i!==void 0&&Ud(t,n,i)}o=o.next}while(o!==r)}}function _u(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Bd(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function Og(e){var t=e.alternate;t!==null&&(e.alternate=null,Og(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Mn],delete t[gs],delete t[kd],delete t[$E],delete t[jE])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Lg(e){return e.tag===5||e.tag===3||e.tag===4}function jm(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Lg(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.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 zd(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=ll));else if(r!==4&&(e=e.child,e!==null))for(zd(e,t,n),e=e.sibling;e!==null;)zd(e,t,n),e=e.sibling}function Wd(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Wd(e,t,n),e=e.sibling;e!==null;)Wd(e,t,n),e=e.sibling}var pt=null,_n=!1;function ar(e,t,n){for(n=n.child;n!==null;)Fg(e,t,n),n=n.sibling}function Fg(e,t,n){if(jn&&typeof jn.onCommitFiberUnmount=="function")try{jn.onCommitFiberUnmount(hu,n)}catch{}switch(n.tag){case 5:_t||Po(n,t);case 6:var r=pt,o=_n;pt=null,ar(e,t,n),pt=r,_n=o,pt!==null&&(_n?(e=pt,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):pt.removeChild(n.stateNode));break;case 18:pt!==null&&(_n?(e=pt,n=n.stateNode,e.nodeType===8?xc(e.parentNode,n):e.nodeType===1&&xc(e,n),hs(e)):xc(pt,n.stateNode));break;case 4:r=pt,o=_n,pt=n.stateNode.containerInfo,_n=!0,ar(e,t,n),pt=r,_n=o;break;case 0:case 11:case 14:case 15:if(!_t&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var i=o,s=i.destroy;i=i.tag,s!==void 0&&(i&2||i&4)&&Ud(n,t,s),o=o.next}while(o!==r)}ar(e,t,n);break;case 1:if(!_t&&(Po(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){Qe(n,t,a)}ar(e,t,n);break;case 21:ar(e,t,n);break;case 22:n.mode&1?(_t=(r=_t)||n.memoizedState!==null,ar(e,t,n),_t=r):ar(e,t,n);break;default:ar(e,t,n)}}function Vm(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new tC),t.forEach(function(r){var o=dC.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function gn(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=s),r&=~i}if(r=o,r=Ye()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*oC(r/1960))-r,10e?16:e,yr===null)var r=!1;else{if(e=yr,yr=null,_l=0,Ce&6)throw Error(j(331));var o=Ce;for(Ce|=4,J=e.current;J!==null;){var i=J,s=i.child;if(J.flags&16){var a=i.deletions;if(a!==null){for(var l=0;lYe()-Eh?Qr(e,0):xh|=n),It(e,t)}function Bg(e,t){t===0&&(e.mode&1?(t=sa,sa<<=1,!(sa&130023424)&&(sa=4194304)):t=1);var n=Ct();e=rr(e,t),e!==null&&(Ps(e,t,n),It(e,n))}function cC(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Bg(e,n)}function dC(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(j(314))}r!==null&&r.delete(t),Bg(e,n)}var zg;zg=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||Mt.current)Ft=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Ft=!1,ZE(e,t,n);Ft=!!(e.flags&131072)}else Ft=!1,Ve&&t.flags&1048576&&K0(t,fl,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;ja(e,t),e=t.pendingProps;var o=qo(t,Rt.current);Vo(t,n),o=gh(null,t,r,e,o,n);var i=Sh();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Dt(r)?(i=!0,cl(t)):i=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,hh(t),o.updater=Su,t.stateNode=o,o._reactInternals=t,Fd(t,r,e,n),t=Id(null,t,r,!0,i,n)):(t.tag=0,Ve&&i&&sh(t),xt(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(ja(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=hC(r),e=wn(r,e),o){case 0:t=Dd(null,t,r,e,n);break e;case 1:t=Mm(null,t,r,e,n);break e;case 11:t=Lm(null,t,r,e,n);break e;case 14:t=Fm(null,t,r,wn(r.type,e),n);break e}throw Error(j(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:wn(r,o),Dd(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:wn(r,o),Mm(e,t,r,o,n);case 3:e:{if(Cg(t),e===null)throw Error(j(387));r=t.pendingProps,i=t.memoizedState,o=i.element,X0(e,t),ml(t,r,null,n);var s=t.memoizedState;if(r=s.element,i.isDehydrated)if(i={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=i,t.memoizedState=i,t.flags&256){o=Yo(Error(j(423)),t),t=Dm(e,t,r,n,o);break e}else if(r!==o){o=Yo(Error(j(424)),t),t=Dm(e,t,r,n,o);break e}else for(Kt=Rr(t.stateNode.containerInfo.firstChild),Qt=t,Ve=!0,Rn=null,n=eg(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Qo(),r===o){t=or(e,t,n);break e}xt(e,t,r,n)}t=t.child}return t;case 5:return tg(t),e===null&&Pd(t),r=t.type,o=t.pendingProps,i=e!==null?e.memoizedProps:null,s=o.children,Cd(r,o)?s=null:i!==null&&Cd(r,i)&&(t.flags|=32),Eg(e,t),xt(e,t,s,n),t.child;case 6:return e===null&&Pd(t),null;case 13:return Tg(e,t,n);case 4:return ph(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Go(t,null,r,n):xt(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:wn(r,o),Lm(e,t,r,o,n);case 7:return xt(e,t,t.pendingProps,n),t.child;case 8:return xt(e,t,t.pendingProps.children,n),t.child;case 12:return xt(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,i=t.memoizedProps,s=o.value,Fe(hl,r._currentValue),r._currentValue=s,i!==null)if(Tn(i.value,s)){if(i.children===o.children&&!Mt.current){t=or(e,t,n);break e}}else for(i=t.child,i!==null&&(i.return=t);i!==null;){var a=i.dependencies;if(a!==null){s=i.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(i.tag===1){l=Zn(-1,n&-n),l.tag=2;var u=i.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?l.next=l:(l.next=d.next,d.next=l),u.pending=l}}i.lanes|=n,l=i.alternate,l!==null&&(l.lanes|=n),Od(i.return,n,t),a.lanes|=n;break}l=l.next}}else if(i.tag===10)s=i.type===t.type?null:i.child;else if(i.tag===18){if(s=i.return,s===null)throw Error(j(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Od(s,n,t),s=i.sibling}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===t){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}xt(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,Vo(t,n),o=pn(o),r=r(o),t.flags|=1,xt(e,t,r,n),t.child;case 14:return r=t.type,o=wn(r,t.pendingProps),o=wn(r.type,o),Fm(e,t,r,o,n);case 15:return bg(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:wn(r,o),ja(e,t),t.tag=1,Dt(r)?(e=!0,cl(t)):e=!1,Vo(t,n),Z0(t,r,o),Fd(t,r,o,n),Id(null,t,r,!0,e,n);case 19:return kg(e,t,n);case 22:return xg(e,t,n)}throw Error(j(156,t.tag))};function Wg(e,t){return y0(e,t)}function fC(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function dn(e,t,n,r){return new fC(e,t,n,r)}function Ah(e){return e=e.prototype,!(!e||!e.isReactComponent)}function hC(e){if(typeof e=="function")return Ah(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Qf)return 11;if(e===Gf)return 14}return 2}function Cr(e,t){var n=e.alternate;return n===null?(n=dn(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Ba(e,t,n,r,o,i){var s=2;if(r=e,typeof e=="function")Ah(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case Ro:return Gr(n.children,o,i,t);case qf:s=8,o|=8;break;case od:return e=dn(12,n,t,o|2),e.elementType=od,e.lanes=i,e;case id:return e=dn(13,n,t,o),e.elementType=id,e.lanes=i,e;case sd:return e=dn(19,n,t,o),e.elementType=sd,e.lanes=i,e;case Jv:return bu(n,o,i,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Yv:s=10;break e;case Zv:s=9;break e;case Qf:s=11;break e;case Gf:s=14;break e;case ur:s=16,r=null;break e}throw Error(j(130,e==null?e:typeof e,""))}return t=dn(s,n,t,o),t.elementType=e,t.type=r,t.lanes=i,t}function Gr(e,t,n,r){return e=dn(7,e,r,t),e.lanes=n,e}function bu(e,t,n,r){return e=dn(22,e,r,t),e.elementType=Jv,e.lanes=n,e.stateNode={isHidden:!1},e}function Oc(e,t,n){return e=dn(6,e,null,t),e.lanes=n,e}function Lc(e,t,n){return t=dn(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function pC(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=hc(0),this.expirationTimes=hc(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=hc(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Nh(e,t,n,r,o,i,s,a,l){return e=new pC(e,t,n,a,l),t===1?(t=1,i===!0&&(t|=8)):t=0,i=dn(3,null,null,t),e.current=i,i.stateNode=e,i.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},hh(i),e}function mC(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Qg)}catch(e){console.error(e)}}Qg(),Kv.exports=Yt;var Gg=Kv.exports;const wC=Sf(Gg),Qm=ie.createContext(null);function _C(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Fh(e,t){var n=function(i){return t&&T.isValidElement(i)?t(i):i},r=Object.create(null);return e&&T.Children.map(e,function(o){return o}).forEach(function(o){r[o.key]=n(o)}),r}function RC(e,t){e=e||{},t=t||{};function n(d){return d in t?t[d]:e[d]}var r=Object.create(null),o=[];for(var i in e)i in t?o.length&&(r[i]=o,o=[]):o.push(i);var s,a={};for(var l in t){if(r[l])for(s=0;s{if(!a&&l!=null){const p=setTimeout(l,u);return()=>{clearTimeout(p)}}},[l,a,u]),g.jsx("span",{className:h,style:S,children:g.jsx("span",{className:y})})}const rn=Ff("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),AC=["center","classes","className"];let ku=e=>e,Gm,Xm,Ym,Zm;const Gd=550,NC=80,PC=Pf(Gm||(Gm=ku` + */var m1=b,mn=Ak;function ee(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),_f=Object.prototype.hasOwnProperty,Nk=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Ov={},Lv={};function Ok(e){return _f.call(Lv,e)?!0:_f.call(Ov,e)?!1:Nk.test(e)?Lv[e]=!0:(Ov[e]=!0,!1)}function Lk(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function $k(e,t,n,r){if(t===null||typeof t>"u"||Lk(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Gt(e,t,n,r,o,s,i){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=s,this.removeEmptyString=i}var $t={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){$t[e]=new Gt(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];$t[t]=new Gt(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){$t[e]=new Gt(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){$t[e]=new Gt(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){$t[e]=new Gt(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){$t[e]=new Gt(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){$t[e]=new Gt(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){$t[e]=new Gt(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){$t[e]=new Gt(e,5,!1,e.toLowerCase(),null,!1,!1)});var yh=/[\-:]([a-z])/g;function gh(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(yh,gh);$t[t]=new Gt(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(yh,gh);$t[t]=new Gt(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(yh,gh);$t[t]=new Gt(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){$t[e]=new Gt(e,1,!1,e.toLowerCase(),null,!1,!1)});$t.xlinkHref=new Gt("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){$t[e]=new Gt(e,1,!1,e.toLowerCase(),null,!0,!0)});function Sh(e,t,n,r){var o=$t.hasOwnProperty(t)?$t[t]:null;(o!==null?o.type!==0:r||!(2a||o[i]!==s[a]){var l=` +`+o[i].replace(" at new "," at ");return e.displayName&&l.includes("")&&(l=l.replace("",e.displayName)),l}while(1<=i&&0<=a);break}}}finally{Ed=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?Si(e):""}function Mk(e){switch(e.tag){case 5:return Si(e.type);case 16:return Si("Lazy");case 13:return Si("Suspense");case 19:return Si("SuspenseList");case 0:case 2:case 15:return e=_d(e.type,!1),e;case 11:return e=_d(e.type.render,!1),e;case 1:return e=_d(e.type,!0),e;default:return""}}function Af(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Qo:return"Fragment";case Go:return"Portal";case kf:return"Profiler";case bh:return"StrictMode";case Tf:return"Suspense";case Pf:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case g1:return(e.displayName||"Context")+".Consumer";case y1:return(e._context.displayName||"Context")+".Provider";case xh:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case wh:return t=e.displayName||null,t!==null?t:Af(e.type)||"Memo";case Pr:t=e._payload,e=e._init;try{return Af(e(t))}catch{}}return null}function Ik(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Af(t);case 8:return t===bh?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Xr(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function b1(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Fk(e){var t=b1(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var o=n.get,s=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(i){r=""+i,s.call(this,i)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(i){r=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function za(e){e._valueTracker||(e._valueTracker=Fk(e))}function x1(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=b1(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Vl(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Nf(e,t){var n=t.checked;return it({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Mv(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Xr(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function w1(e,t){t=t.checked,t!=null&&Sh(e,"checked",t,!1)}function Of(e,t){w1(e,t);var n=Xr(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Lf(e,t.type,n):t.hasOwnProperty("defaultValue")&&Lf(e,t.type,Xr(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Iv(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function Lf(e,t,n){(t!=="number"||Vl(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var bi=Array.isArray;function us(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=Va.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function Yi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Ai={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Dk=["Webkit","ms","Moz","O"];Object.keys(Ai).forEach(function(e){Dk.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),Ai[t]=Ai[e]})});function _1(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||Ai.hasOwnProperty(e)&&Ai[e]?(""+t).trim():t+"px"}function k1(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,o=_1(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,o):e[n]=o}}var jk=it({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function If(e,t){if(t){if(jk[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(ee(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(ee(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(ee(61))}if(t.style!=null&&typeof t.style!="object")throw Error(ee(62))}}function Ff(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Df=null;function Rh(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var jf=null,cs=null,ds=null;function jv(e){if(e=Ra(e)){if(typeof jf!="function")throw Error(ee(280));var t=e.stateNode;t&&(t=Rc(t),jf(e.stateNode,e.type,t))}}function T1(e){cs?ds?ds.push(e):ds=[e]:cs=e}function P1(){if(cs){var e=cs,t=ds;if(ds=cs=null,jv(e),t)for(e=0;e>>=0,e===0?32:31-(Xk(e)/Yk|0)|0}var Wa=64,Ha=4194304;function xi(e){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: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 e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Kl(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,o=e.suspendedLanes,s=e.pingedLanes,i=n&268435455;if(i!==0){var a=i&~o;a!==0?r=xi(a):(s&=i,s!==0&&(r=xi(s)))}else i=n&~o,i!==0?r=xi(i):s!==0&&(r=xi(s));if(r===0)return 0;if(t!==0&&t!==r&&!(t&o)&&(o=r&-r,s=t&-t,o>=s||o===16&&(s&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function xa(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Wn(t),e[t]=n}function tT(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=Oi),Gv=" ",Qv=!1;function Q1(e,t){switch(e){case"keyup":return PT.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function X1(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Xo=!1;function NT(e,t){switch(e){case"compositionend":return X1(t);case"keypress":return t.which!==32?null:(Qv=!0,Gv);case"textInput":return e=t.data,e===Gv&&Qv?null:e;default:return null}}function OT(e,t){if(Xo)return e==="compositionend"||!Nh&&Q1(e,t)?(e=K1(),wl=Th=Ir=null,Xo=!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=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Zv(n)}}function eS(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?eS(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function tS(){for(var e=window,t=Vl();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Vl(e.document)}return t}function Oh(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")}function UT(e){var t=tS(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&eS(n.ownerDocument.documentElement,n)){if(r!==null&&Oh(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=n.textContent.length,s=Math.min(r.start,o);r=r.end===void 0?s:Math.min(r.end,o),!e.extend&&s>r&&(o=r,r=s,s=o),o=ey(n,s);var i=ey(n,r);o&&i&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),s>r?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,Yo=null,Hf=null,$i=null,qf=!1;function ty(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;qf||Yo==null||Yo!==Vl(r)||(r=Yo,"selectionStart"in r&&Oh(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),$i&&ra($i,r)||($i=r,r=Xl(Hf,"onSelect"),0es||(e.current=Jf[es],Jf[es]=null,es--)}function Xe(e,t){es++,Jf[es]=e.current,e.current=t}var Yr={},Bt=Zr(Yr),nn=Zr(!1),Eo=Yr;function Ss(e,t){var n=e.type.contextTypes;if(!n)return Yr;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o={},s;for(s in n)o[s]=t[s];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function rn(e){return e=e.childContextTypes,e!=null}function Jl(){Ze(nn),Ze(Bt)}function ly(e,t,n){if(Bt.current!==Yr)throw Error(ee(168));Xe(Bt,t),Xe(nn,n)}function cS(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var o in r)if(!(o in t))throw Error(ee(108,Ik(e)||"Unknown",o));return it({},n,r)}function Zl(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Yr,Eo=Bt.current,Xe(Bt,e),Xe(nn,nn.current),!0}function uy(e,t,n){var r=e.stateNode;if(!r)throw Error(ee(169));n?(e=cS(e,t,Eo),r.__reactInternalMemoizedMergedChildContext=e,Ze(nn),Ze(Bt),Xe(Bt,e)):Ze(nn),Xe(nn,n)}var fr=null,Cc=!1,Bd=!1;function dS(e){fr===null?fr=[e]:fr.push(e)}function ZT(e){Cc=!0,dS(e)}function eo(){if(!Bd&&fr!==null){Bd=!0;var e=0,t=We;try{var n=fr;for(We=1;e>=i,o-=i,pr=1<<32-Wn(t)+o|n<T?(M=R,R=null):M=R.sibling;var $=f(y,R,v[T],x);if($===null){R===null&&(R=M);break}e&&R&&$.alternate===null&&t(y,R),p=s($,p,T),E===null?C=$:E.sibling=$,E=$,R=M}if(T===v.length)return n(y,R),nt&&so(y,T),C;if(R===null){for(;TT?(M=R,R=null):M=R.sibling;var H=f(y,R,$.value,x);if(H===null){R===null&&(R=M);break}e&&R&&H.alternate===null&&t(y,R),p=s(H,p,T),E===null?C=H:E.sibling=H,E=H,R=M}if($.done)return n(y,R),nt&&so(y,T),C;if(R===null){for(;!$.done;T++,$=v.next())$=d(y,$.value,x),$!==null&&(p=s($,p,T),E===null?C=$:E.sibling=$,E=$);return nt&&so(y,T),C}for(R=r(y,R);!$.done;T++,$=v.next())$=S(R,y,T,$.value,x),$!==null&&(e&&$.alternate!==null&&R.delete($.key===null?T:$.key),p=s($,p,T),E===null?C=$:E.sibling=$,E=$);return e&&R.forEach(function(U){return t(y,U)}),nt&&so(y,T),C}function w(y,p,v,x){if(typeof v=="object"&&v!==null&&v.type===Qo&&v.key===null&&(v=v.props.children),typeof v=="object"&&v!==null){switch(v.$$typeof){case Ua:e:{for(var C=v.key,E=p;E!==null;){if(E.key===C){if(C=v.type,C===Qo){if(E.tag===7){n(y,E.sibling),p=o(E,v.props.children),p.return=y,y=p;break e}}else if(E.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Pr&&vy(C)===E.type){n(y,E.sibling),p=o(E,v.props),p.ref=oi(y,E,v),p.return=y,y=p;break e}n(y,E);break}else t(y,E);E=E.sibling}v.type===Qo?(p=bo(v.props.children,y.mode,x,v.key),p.return=y,y=p):(x=Al(v.type,v.key,v.props,null,y.mode,x),x.ref=oi(y,p,v),x.return=y,y=x)}return i(y);case Go:e:{for(E=v.key;p!==null;){if(p.key===E)if(p.tag===4&&p.stateNode.containerInfo===v.containerInfo&&p.stateNode.implementation===v.implementation){n(y,p.sibling),p=o(p,v.children||[]),p.return=y,y=p;break e}else{n(y,p);break}else t(y,p);p=p.sibling}p=Gd(v,y.mode,x),p.return=y,y=p}return i(y);case Pr:return E=v._init,w(y,p,E(v._payload),x)}if(bi(v))return h(y,p,v,x);if(Zs(v))return m(y,p,v,x);Ja(y,v)}return typeof v=="string"&&v!==""||typeof v=="number"?(v=""+v,p!==null&&p.tag===6?(n(y,p.sibling),p=o(p,v),p.return=y,y=p):(n(y,p),p=Kd(v,y.mode,x),p.return=y,y=p),i(y)):n(y,p)}return w}var xs=SS(!0),bS=SS(!1),Ca={},sr=Zr(Ca),aa=Zr(Ca),la=Zr(Ca);function ho(e){if(e===Ca)throw Error(ee(174));return e}function Uh(e,t){switch(Xe(la,t),Xe(aa,e),Xe(sr,Ca),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Mf(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Mf(t,e)}Ze(sr),Xe(sr,t)}function ws(){Ze(sr),Ze(aa),Ze(la)}function xS(e){ho(la.current);var t=ho(sr.current),n=Mf(t,e.type);t!==n&&(Xe(aa,e),Xe(sr,n))}function zh(e){aa.current===e&&(Ze(sr),Ze(aa))}var ot=Zr(0);function su(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Ud=[];function Vh(){for(var e=0;en?n:4,e(!0);var r=zd.transition;zd.transition={};try{e(!1),t()}finally{We=n,zd.transition=r}}function FS(){return Nn().memoizedState}function rP(e,t,n){var r=qr(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},DS(e))jS(t,n);else if(n=mS(e,t,n,r),n!==null){var o=Ht();Hn(n,e,r,o),BS(n,t,r)}}function oP(e,t,n){var r=qr(e),o={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(DS(e))jS(t,o);else{var s=e.alternate;if(e.lanes===0&&(s===null||s.lanes===0)&&(s=t.lastRenderedReducer,s!==null))try{var i=t.lastRenderedState,a=s(i,n);if(o.hasEagerState=!0,o.eagerState=a,Kn(a,i)){var l=t.interleaved;l===null?(o.next=o,jh(t)):(o.next=l.next,l.next=o),t.interleaved=o;return}}catch{}finally{}n=mS(e,t,o,r),n!==null&&(o=Ht(),Hn(n,e,r,o),BS(n,t,r))}}function DS(e){var t=e.alternate;return e===st||t!==null&&t===st}function jS(e,t){Mi=iu=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function BS(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Eh(e,n)}}var au={readContext:An,useCallback:It,useContext:It,useEffect:It,useImperativeHandle:It,useInsertionEffect:It,useLayoutEffect:It,useMemo:It,useReducer:It,useRef:It,useState:It,useDebugValue:It,useDeferredValue:It,useTransition:It,useMutableSource:It,useSyncExternalStore:It,useId:It,unstable_isNewReconciler:!1},sP={readContext:An,useCallback:function(e,t){return Yn().memoizedState=[e,t===void 0?null:t],e},useContext:An,useEffect:gy,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,_l(4194308,4,OS.bind(null,t,e),n)},useLayoutEffect:function(e,t){return _l(4194308,4,e,t)},useInsertionEffect:function(e,t){return _l(4,2,e,t)},useMemo:function(e,t){var n=Yn();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Yn();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=rP.bind(null,st,e),[r.memoizedState,e]},useRef:function(e){var t=Yn();return e={current:e},t.memoizedState=e},useState:yy,useDebugValue:Gh,useDeferredValue:function(e){return Yn().memoizedState=e},useTransition:function(){var e=yy(!1),t=e[0];return e=nP.bind(null,e[1]),Yn().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=st,o=Yn();if(nt){if(n===void 0)throw Error(ee(407));n=n()}else{if(n=t(),_t===null)throw Error(ee(349));ko&30||CS(r,t,n)}o.memoizedState=n;var s={value:n,getSnapshot:t};return o.queue=s,gy(_S.bind(null,r,s,e),[e]),r.flags|=2048,da(9,ES.bind(null,r,s,n,t),void 0,null),n},useId:function(){var e=Yn(),t=_t.identifierPrefix;if(nt){var n=hr,r=pr;n=(r&~(1<<32-Wn(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=ua++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=i.createElement(n,{is:r.is}):(e=i.createElement(n),n==="select"&&(i=e,r.multiple?i.multiple=!0:r.size&&(i.size=r.size))):e=i.createElementNS(e,n),e[er]=t,e[ia]=r,QS(e,t,!1,!1),t.stateNode=e;e:{switch(i=Ff(n,r),n){case"dialog":Ye("cancel",e),Ye("close",e),o=r;break;case"iframe":case"object":case"embed":Ye("load",e),o=r;break;case"video":case"audio":for(o=0;oCs&&(t.flags|=128,r=!0,si(s,!1),t.lanes=4194304)}else{if(!r)if(e=su(i),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),si(s,!0),s.tail===null&&s.tailMode==="hidden"&&!i.alternate&&!nt)return Ft(t),null}else 2*pt()-s.renderingStartTime>Cs&&n!==1073741824&&(t.flags|=128,r=!0,si(s,!1),t.lanes=4194304);s.isBackwards?(i.sibling=t.child,t.child=i):(n=s.last,n!==null?n.sibling=i:t.child=i,s.last=i)}return s.tail!==null?(t=s.tail,s.rendering=t,s.tail=t.sibling,s.renderingStartTime=pt(),t.sibling=null,n=ot.current,Xe(ot,r?n&1|2:n&1),t):(Ft(t),null);case 22:case 23:return em(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?cn&1073741824&&(Ft(t),t.subtreeFlags&6&&(t.flags|=8192)):Ft(t),null;case 24:return null;case 25:return null}throw Error(ee(156,t.tag))}function pP(e,t){switch($h(t),t.tag){case 1:return rn(t.type)&&Jl(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ws(),Ze(nn),Ze(Bt),Vh(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return zh(t),null;case 13:if(Ze(ot),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(ee(340));bs()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Ze(ot),null;case 4:return ws(),null;case 10:return Dh(t.type._context),null;case 22:case 23:return em(),null;case 24:return null;default:return null}}var el=!1,jt=!1,hP=typeof WeakSet=="function"?WeakSet:Set,le=null;function os(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){ct(e,t,r)}else n.current=null}function cp(e,t,n){try{n()}catch(r){ct(e,t,r)}}var ky=!1;function mP(e,t){if(Kf=Gl,e=tS(),Oh(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,s=r.focusNode;r=r.focusOffset;try{n.nodeType,s.nodeType}catch{n=null;break e}var i=0,a=-1,l=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var S;d!==n||o!==0&&d.nodeType!==3||(a=i+o),d!==s||r!==0&&d.nodeType!==3||(l=i+r),d.nodeType===3&&(i+=d.nodeValue.length),(S=d.firstChild)!==null;)f=d,d=S;for(;;){if(d===e)break t;if(f===n&&++u===o&&(a=i),f===s&&++c===r&&(l=i),(S=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=S}n=a===-1||l===-1?null:{start:a,end:l}}else n=null}n=n||{start:0,end:0}}else n=null;for(Gf={focusedElem:e,selectionRange:n},Gl=!1,le=t;le!==null;)if(t=le,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,le=e;else for(;le!==null;){t=le;try{var h=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(h!==null){var m=h.memoizedProps,w=h.memoizedState,y=t.stateNode,p=y.getSnapshotBeforeUpdate(t.elementType===t.type?m:Dn(t.type,m),w);y.__reactInternalSnapshotBeforeUpdate=p}break;case 3:var v=t.stateNode.containerInfo;v.nodeType===1?v.textContent="":v.nodeType===9&&v.documentElement&&v.removeChild(v.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(ee(163))}}catch(x){ct(t,t.return,x)}if(e=t.sibling,e!==null){e.return=t.return,le=e;break}le=t.return}return h=ky,ky=!1,h}function Ii(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var o=r=r.next;do{if((o.tag&e)===e){var s=o.destroy;o.destroy=void 0,s!==void 0&&cp(t,n,s)}o=o.next}while(o!==r)}}function kc(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function dp(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function JS(e){var t=e.alternate;t!==null&&(e.alternate=null,JS(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[er],delete t[ia],delete t[Yf],delete t[YT],delete t[JT])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ZS(e){return e.tag===5||e.tag===3||e.tag===4}function Ty(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ZS(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.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 fp(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Yl));else if(r!==4&&(e=e.child,e!==null))for(fp(e,t,n),e=e.sibling;e!==null;)fp(e,t,n),e=e.sibling}function pp(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(pp(e,t,n),e=e.sibling;e!==null;)pp(e,t,n),e=e.sibling}var At=null,jn=!1;function _r(e,t,n){for(n=n.child;n!==null;)eb(e,t,n),n=n.sibling}function eb(e,t,n){if(or&&typeof or.onCommitFiberUnmount=="function")try{or.onCommitFiberUnmount(Sc,n)}catch{}switch(n.tag){case 5:jt||os(n,t);case 6:var r=At,o=jn;At=null,_r(e,t,n),At=r,jn=o,At!==null&&(jn?(e=At,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):At.removeChild(n.stateNode));break;case 18:At!==null&&(jn?(e=At,n=n.stateNode,e.nodeType===8?jd(e.parentNode,n):e.nodeType===1&&jd(e,n),ta(e)):jd(At,n.stateNode));break;case 4:r=At,o=jn,At=n.stateNode.containerInfo,jn=!0,_r(e,t,n),At=r,jn=o;break;case 0:case 11:case 14:case 15:if(!jt&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){o=r=r.next;do{var s=o,i=s.destroy;s=s.tag,i!==void 0&&(s&2||s&4)&&cp(n,t,i),o=o.next}while(o!==r)}_r(e,t,n);break;case 1:if(!jt&&(os(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){ct(n,t,a)}_r(e,t,n);break;case 21:_r(e,t,n);break;case 22:n.mode&1?(jt=(r=jt)||n.memoizedState!==null,_r(e,t,n),jt=r):_r(e,t,n);break;default:_r(e,t,n)}}function Py(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new hP),t.forEach(function(r){var o=CP.bind(null,e,r);n.has(r)||(n.add(r),r.then(o,o))})}}function In(e,t){var n=t.deletions;if(n!==null)for(var r=0;ro&&(o=i),r&=~s}if(r=o,r=pt()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*yP(r/1960))-r,10e?16:e,Fr===null)var r=!1;else{if(e=Fr,Fr=null,cu=0,Me&6)throw Error(ee(331));var o=Me;for(Me|=4,le=e.current;le!==null;){var s=le,i=s.child;if(le.flags&16){var a=s.deletions;if(a!==null){for(var l=0;lpt()-Jh?So(e,0):Yh|=n),on(e,t)}function lb(e,t){t===0&&(e.mode&1?(t=Ha,Ha<<=1,!(Ha&130023424)&&(Ha=4194304)):t=1);var n=Ht();e=br(e,t),e!==null&&(xa(e,t,n),on(e,n))}function RP(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),lb(e,n)}function CP(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(ee(314))}r!==null&&r.delete(t),lb(e,n)}var ub;ub=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||nn.current)Zt=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Zt=!1,dP(e,t,n);Zt=!!(e.flags&131072)}else Zt=!1,nt&&t.flags&1048576&&fS(t,tu,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;kl(e,t),e=t.pendingProps;var o=Ss(t,Bt.current);ps(t,n),o=Hh(null,t,r,e,o,n);var s=qh();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,rn(r)?(s=!0,Zl(t)):s=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,Bh(t),o.updater=Ec,t.stateNode=o,o._reactInternals=t,rp(t,r,e,n),t=ip(null,t,r,!0,s,n)):(t.tag=0,nt&&s&&Lh(t),zt(null,t,o,n),t=t.child),t;case 16:r=t.elementType;e:{switch(kl(e,t),e=t.pendingProps,o=r._init,r=o(r._payload),t.type=r,o=t.tag=_P(r),e=Dn(r,e),o){case 0:t=sp(null,t,r,e,n);break e;case 1:t=Cy(null,t,r,e,n);break e;case 11:t=wy(null,t,r,e,n);break e;case 14:t=Ry(null,t,r,Dn(r.type,e),n);break e}throw Error(ee(306,r,""))}return t;case 0:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Dn(r,o),sp(e,t,r,o,n);case 1:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Dn(r,o),Cy(e,t,r,o,n);case 3:e:{if(qS(t),e===null)throw Error(ee(387));r=t.pendingProps,s=t.memoizedState,o=s.element,vS(e,t),ou(t,r,null,n);var i=t.memoizedState;if(r=i.element,s.isDehydrated)if(s={element:r,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=s,t.memoizedState=s,t.flags&256){o=Rs(Error(ee(423)),t),t=Ey(e,t,r,n,o);break e}else if(r!==o){o=Rs(Error(ee(424)),t),t=Ey(e,t,r,n,o);break e}else for(fn=Vr(t.stateNode.containerInfo.firstChild),hn=t,nt=!0,Bn=null,n=bS(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(bs(),r===o){t=xr(e,t,n);break e}zt(e,t,r,n)}t=t.child}return t;case 5:return xS(t),e===null&&ep(t),r=t.type,o=t.pendingProps,s=e!==null?e.memoizedProps:null,i=o.children,Qf(r,o)?i=null:s!==null&&Qf(r,s)&&(t.flags|=32),HS(e,t),zt(e,t,i,n),t.child;case 6:return e===null&&ep(t),null;case 13:return KS(e,t,n);case 4:return Uh(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=xs(t,null,r,n):zt(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Dn(r,o),wy(e,t,r,o,n);case 7:return zt(e,t,t.pendingProps,n),t.child;case 8:return zt(e,t,t.pendingProps.children,n),t.child;case 12:return zt(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,o=t.pendingProps,s=t.memoizedProps,i=o.value,Xe(nu,r._currentValue),r._currentValue=i,s!==null)if(Kn(s.value,i)){if(s.children===o.children&&!nn.current){t=xr(e,t,n);break e}}else for(s=t.child,s!==null&&(s.return=t);s!==null;){var a=s.dependencies;if(a!==null){i=s.child;for(var l=a.firstContext;l!==null;){if(l.context===r){if(s.tag===1){l=mr(-1,n&-n),l.tag=2;var u=s.updateQueue;if(u!==null){u=u.shared;var c=u.pending;c===null?l.next=l:(l.next=c.next,c.next=l),u.pending=l}}s.lanes|=n,l=s.alternate,l!==null&&(l.lanes|=n),tp(s.return,n,t),a.lanes|=n;break}l=l.next}}else if(s.tag===10)i=s.type===t.type?null:s.child;else if(s.tag===18){if(i=s.return,i===null)throw Error(ee(341));i.lanes|=n,a=i.alternate,a!==null&&(a.lanes|=n),tp(i,n,t),i=s.sibling}else i=s.child;if(i!==null)i.return=s;else for(i=s;i!==null;){if(i===t){i=null;break}if(s=i.sibling,s!==null){s.return=i.return,i=s;break}i=i.return}s=i}zt(e,t,o.children,n),t=t.child}return t;case 9:return o=t.type,r=t.pendingProps.children,ps(t,n),o=An(o),r=r(o),t.flags|=1,zt(e,t,r,n),t.child;case 14:return r=t.type,o=Dn(r,t.pendingProps),o=Dn(r.type,o),Ry(e,t,r,o,n);case 15:return VS(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,o=t.pendingProps,o=t.elementType===r?o:Dn(r,o),kl(e,t),t.tag=1,rn(r)?(e=!0,Zl(t)):e=!1,ps(t,n),gS(t,r,o),rp(t,r,o,n),ip(null,t,r,!0,e,n);case 19:return GS(e,t,n);case 22:return WS(e,t,n)}throw Error(ee(156,t.tag))};function cb(e,t){return I1(e,t)}function EP(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function kn(e,t,n,r){return new EP(e,t,n,r)}function nm(e){return e=e.prototype,!(!e||!e.isReactComponent)}function _P(e){if(typeof e=="function")return nm(e)?1:0;if(e!=null){if(e=e.$$typeof,e===xh)return 11;if(e===wh)return 14}return 2}function Kr(e,t){var n=e.alternate;return n===null?(n=kn(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Al(e,t,n,r,o,s){var i=2;if(r=e,typeof e=="function")nm(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case Qo:return bo(n.children,o,s,t);case bh:i=8,o|=8;break;case kf:return e=kn(12,n,t,o|2),e.elementType=kf,e.lanes=s,e;case Tf:return e=kn(13,n,t,o),e.elementType=Tf,e.lanes=s,e;case Pf:return e=kn(19,n,t,o),e.elementType=Pf,e.lanes=s,e;case S1:return Pc(n,o,s,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case y1:i=10;break e;case g1:i=9;break e;case xh:i=11;break e;case wh:i=14;break e;case Pr:i=16,r=null;break e}throw Error(ee(130,e==null?e:typeof e,""))}return t=kn(i,n,t,o),t.elementType=e,t.type=r,t.lanes=s,t}function bo(e,t,n,r){return e=kn(7,e,r,t),e.lanes=n,e}function Pc(e,t,n,r){return e=kn(22,e,r,t),e.elementType=S1,e.lanes=n,e.stateNode={isHidden:!1},e}function Kd(e,t,n){return e=kn(6,e,null,t),e.lanes=n,e}function Gd(e,t,n){return t=kn(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function kP(e,t,n,r,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Td(0),this.expirationTimes=Td(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Td(0),this.identifierPrefix=r,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function rm(e,t,n,r,o,s,i,a,l){return e=new kP(e,t,n,a,l),t===1?(t=1,s===!0&&(t|=8)):t=0,s=kn(3,null,null,t),e.current=s,s.stateNode=e,s.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Bh(s),e}function TP(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hb)}catch(e){console.error(e)}}hb(),f1.exports=yn;var $c=f1.exports;const Ri=qp($c),Fy={disabled:!1},pu=fe.createContext(null);var LP=function(t){return t.scrollTop},Ci="unmounted",ao="exited",lo="entering",qo="entered",gp="exiting",Rr=function(e){d1(t,e);function t(r,o){var s;s=e.call(this,r,o)||this;var i=o,a=i&&!i.isMounting?r.enter:r.appear,l;return s.appearStatus=null,r.in?a?(l=ao,s.appearStatus=lo):l=qo:r.unmountOnExit||r.mountOnEnter?l=Ci:l=ao,s.state={status:l},s.nextCallback=null,s}t.getDerivedStateFromProps=function(o,s){var i=o.in;return i&&s.status===Ci?{status:ao}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(o){var s=null;if(o!==this.props){var i=this.state.status;this.props.in?i!==lo&&i!==qo&&(s=lo):(i===lo||i===qo)&&(s=gp)}this.updateStatus(!1,s)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var o=this.props.timeout,s,i,a;return s=i=a=o,o!=null&&typeof o!="number"&&(s=o.exit,i=o.enter,a=o.appear!==void 0?o.appear:i),{exit:s,enter:i,appear:a}},n.updateStatus=function(o,s){if(o===void 0&&(o=!1),s!==null)if(this.cancelNextCallback(),s===lo){if(this.props.unmountOnExit||this.props.mountOnEnter){var i=this.props.nodeRef?this.props.nodeRef.current:Ri.findDOMNode(this);i&&LP(i)}this.performEnter(o)}else this.performExit();else this.props.unmountOnExit&&this.state.status===ao&&this.setState({status:Ci})},n.performEnter=function(o){var s=this,i=this.props.enter,a=this.context?this.context.isMounting:o,l=this.props.nodeRef?[a]:[Ri.findDOMNode(this),a],u=l[0],c=l[1],d=this.getTimeouts(),f=a?d.appear:d.enter;if(!o&&!i||Fy.disabled){this.safeSetState({status:qo},function(){s.props.onEntered(u)});return}this.props.onEnter(u,c),this.safeSetState({status:lo},function(){s.props.onEntering(u,c),s.onTransitionEnd(f,function(){s.safeSetState({status:qo},function(){s.props.onEntered(u,c)})})})},n.performExit=function(){var o=this,s=this.props.exit,i=this.getTimeouts(),a=this.props.nodeRef?void 0:Ri.findDOMNode(this);if(!s||Fy.disabled){this.safeSetState({status:ao},function(){o.props.onExited(a)});return}this.props.onExit(a),this.safeSetState({status:gp},function(){o.props.onExiting(a),o.onTransitionEnd(i.exit,function(){o.safeSetState({status:ao},function(){o.props.onExited(a)})})})},n.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(o,s){s=this.setNextCallback(s),this.setState(o,s)},n.setNextCallback=function(o){var s=this,i=!0;return this.nextCallback=function(a){i&&(i=!1,s.nextCallback=null,o(a))},this.nextCallback.cancel=function(){i=!1},this.nextCallback},n.onTransitionEnd=function(o,s){this.setNextCallback(s);var i=this.props.nodeRef?this.props.nodeRef.current:Ri.findDOMNode(this),a=o==null&&!this.props.addEndListener;if(!i||a){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var l=this.props.nodeRef?[this.nextCallback]:[i,this.nextCallback],u=l[0],c=l[1];this.props.addEndListener(u,c)}o!=null&&setTimeout(this.nextCallback,o)},n.render=function(){var o=this.state.status;if(o===Ci)return null;var s=this.props,i=s.children;s.in,s.mountOnEnter,s.unmountOnExit,s.appear,s.enter,s.exit,s.timeout,s.addEndListener,s.onEnter,s.onEntering,s.onEntered,s.onExit,s.onExiting,s.onExited,s.nodeRef;var a=ve(s,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return fe.createElement(pu.Provider,{value:null},typeof i=="function"?i(o,a):fe.cloneElement(fe.Children.only(i),a))},t}(fe.Component);Rr.contextType=pu;Rr.propTypes={};function Vo(){}Rr.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Vo,onEntering:Vo,onEntered:Vo,onExit:Vo,onExiting:Vo,onExited:Vo};Rr.UNMOUNTED=Ci;Rr.EXITED=ao;Rr.ENTERING=lo;Rr.ENTERED=qo;Rr.EXITING=gp;const mb=Rr;function $P(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function am(e,t){var n=function(s){return t&&b.isValidElement(s)?t(s):s},r=Object.create(null);return e&&b.Children.map(e,function(o){return o}).forEach(function(o){r[o.key]=n(o)}),r}function MP(e,t){e=e||{},t=t||{};function n(c){return c in t?t[c]:e[c]}var r=Object.create(null),o=[];for(var s in e)s in t?o.length&&(r[s]=o,o=[]):o.push(s);var i,a={};for(var l in t){if(r[l])for(i=0;ie.scrollTop;function hu(e,t){var n,r;const{timeout:o,easing:s,style:i={}}=e;return{duration:(n=i.transitionDuration)!=null?n:typeof o=="number"?o:o[t.mode]||0,easing:(r=i.transitionTimingFunction)!=null?r:typeof s=="object"?s[t.mode]:s,delay:i.transitionDelay}}function UP(e){return je("MuiPaper",e)}Ie("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);const zP=["className","component","elevation","square","variant"],VP=e=>{const{square:t,elevation:n,variant:r,classes:o}=e,s={root:["root",r,!t&&"rounded",r==="elevation"&&`elevation${n}`]};return ze(s,UP,o)},WP=he("div",{name:"MuiPaper",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],!n.square&&t.rounded,n.variant==="elevation"&&t[`elevation${n.elevation}`]]}})(({theme:e,ownerState:t})=>{var n;return _({backgroundColor:(e.vars||e).palette.background.paper,color:(e.vars||e).palette.text.primary,transition:e.transitions.create("box-shadow")},!t.square&&{borderRadius:e.shape.borderRadius},t.variant==="outlined"&&{border:`1px solid ${(e.vars||e).palette.divider}`},t.variant==="elevation"&&_({boxShadow:(e.vars||e).shadows[t.elevation]},!e.vars&&e.palette.mode==="dark"&&{backgroundImage:`linear-gradient(${Vn("#fff",Nv(t.elevation))}, ${Vn("#fff",Nv(t.elevation))})`},e.vars&&{backgroundImage:(n=e.vars.overlays)==null?void 0:n[t.elevation]}))}),HP=b.forwardRef(function(t,n){const r=Ve({props:t,name:"MuiPaper"}),{className:o,component:s="div",elevation:i=1,square:a=!1,variant:l="elevation"}=r,u=ve(r,zP),c=_({},r,{component:s,elevation:i,square:a,variant:l}),d=VP(c);return g.jsx(WP,_({as:s,ownerState:c,className:Re(d.root,o),ref:n},u))}),Mc=HP;function mu(e){return typeof e=="string"}function qP(e,t,n){return e===void 0||mu(e)?t:_({},t,{ownerState:_({},t.ownerState,n)})}function yb(e,t=[]){if(e===void 0)return{};const n={};return Object.keys(e).filter(r=>r.match(/^on[A-Z]/)&&typeof e[r]=="function"&&!t.includes(r)).forEach(r=>{n[r]=e[r]}),n}function KP(e,t,n){return typeof e=="function"?e(t,n):e}function Dy(e){if(e===void 0)return{};const t={};return Object.keys(e).filter(n=>!(n.match(/^on[A-Z]/)&&typeof e[n]=="function")).forEach(n=>{t[n]=e[n]}),t}function GP(e){const{getSlotProps:t,additionalProps:n,externalSlotProps:r,externalForwardedProps:o,className:s}=e;if(!t){const S=Re(n==null?void 0:n.className,s,o==null?void 0:o.className,r==null?void 0:r.className),h=_({},n==null?void 0:n.style,o==null?void 0:o.style,r==null?void 0:r.style),m=_({},n,o,r);return S.length>0&&(m.className=S),Object.keys(h).length>0&&(m.style=h),{props:m,internalRef:void 0}}const i=yb(_({},o,r)),a=Dy(r),l=Dy(o),u=t(i),c=Re(u==null?void 0:u.className,n==null?void 0:n.className,s,o==null?void 0:o.className,r==null?void 0:r.className),d=_({},u==null?void 0:u.style,n==null?void 0:n.style,o==null?void 0:o.style,r==null?void 0:r.style),f=_({},u,n,l,a);return c.length>0&&(f.className=c),Object.keys(d).length>0&&(f.style=d),{props:f,internalRef:u.ref}}const QP=["elementType","externalSlotProps","ownerState","skipResolvingSlotProps"];function Es(e){var t;const{elementType:n,externalSlotProps:r,ownerState:o,skipResolvingSlotProps:s=!1}=e,i=ve(e,QP),a=s?{}:KP(r,o),{props:l,internalRef:u}=GP(_({},i,{externalSlotProps:a})),c=Lt(u,a==null?void 0:a.ref,(t=e.additionalProps)==null?void 0:t.ref);return qP(n,_({},l,{ref:c}),o)}function XP(e){const{className:t,classes:n,pulsate:r=!1,rippleX:o,rippleY:s,rippleSize:i,in:a,onExited:l,timeout:u}=e,[c,d]=b.useState(!1),f=Re(t,n.ripple,n.rippleVisible,r&&n.ripplePulsate),S={width:i,height:i,top:-(i/2)+s,left:-(i/2)+o},h=Re(n.child,c&&n.childLeaving,r&&n.childPulsate);return!a&&!c&&d(!0),b.useEffect(()=>{if(!a&&l!=null){const m=setTimeout(l,u);return()=>{clearTimeout(m)}}},[l,a,u]),g.jsx("span",{className:f,style:S,children:g.jsx("span",{className:h})})}const Rn=Ie("MuiTouchRipple",["root","ripple","rippleVisible","ripplePulsate","child","childLeaving","childPulsate"]),YP=["center","classes","className"];let Ic=e=>e,jy,By,Uy,zy;const Sp=550,JP=80,ZP=oh(jy||(jy=Ic` 0% { transform: scale(0); opacity: 0.1; @@ -54,7 +62,7 @@ Error generating stack: `+i.message+` transform: scale(1); opacity: 0.3; } -`)),OC=Pf(Xm||(Xm=ku` +`)),eA=oh(By||(By=Ic` 0% { opacity: 1; } @@ -62,7 +70,7 @@ Error generating stack: `+i.message+` 100% { opacity: 0; } -`)),LC=Pf(Ym||(Ym=ku` +`)),tA=oh(Uy||(Uy=Ic` 0% { transform: scale(1); } @@ -74,7 +82,7 @@ Error generating stack: `+i.message+` 100% { transform: scale(1); } -`)),FC=li("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),MC=li(kC,{name:"MuiTouchRipple",slot:"Ripple"})(Zm||(Zm=ku` +`)),nA=he("span",{name:"MuiTouchRipple",slot:"Root"})({overflow:"hidden",pointerEvents:"none",position:"absolute",zIndex:0,top:0,right:0,bottom:0,left:0,borderRadius:"inherit"}),rA=he(XP,{name:"MuiTouchRipple",slot:"Ripple"})(zy||(zy=Ic` opacity: 0; position: absolute; @@ -117,7 +125,8 @@ Error generating stack: `+i.message+` animation-iteration-count: infinite; animation-delay: 200ms; } -`),rn.rippleVisible,PC,Gd,({theme:e})=>e.transitions.easing.easeInOut,rn.ripplePulsate,({theme:e})=>e.transitions.duration.shorter,rn.child,rn.childLeaving,OC,Gd,({theme:e})=>e.transitions.easing.easeInOut,rn.childPulsate,LC,({theme:e})=>e.transitions.easing.easeInOut),DC=T.forwardRef(function(t,n){const r=fu({props:t,name:"MuiTouchRipple"}),{center:o=!1,classes:i={},className:s}=r,a=jt(r,AC),[l,u]=T.useState([]),d=T.useRef(0),c=T.useRef(null);T.useEffect(()=>{c.current&&(c.current(),c.current=null)},[l]);const h=T.useRef(!1),S=uR(),y=T.useRef(null),p=T.useRef(null),_=T.useCallback(R=>{const{pulsate:E,rippleX:k,rippleY:b,rippleSize:P,cb:H}=R;u(M=>[...M,g.jsx(MC,{classes:{ripple:nn(i.ripple,rn.ripple),rippleVisible:nn(i.rippleVisible,rn.rippleVisible),ripplePulsate:nn(i.ripplePulsate,rn.ripplePulsate),child:nn(i.child,rn.child),childLeaving:nn(i.childLeaving,rn.childLeaving),childPulsate:nn(i.childPulsate,rn.childPulsate)},timeout:Gd,pulsate:E,rippleX:k,rippleY:b,rippleSize:P},d.current)]),d.current+=1,c.current=H},[i]),m=T.useCallback((R={},E={},k=()=>{})=>{const{pulsate:b=!1,center:P=o||E.pulsate,fakeElement:H=!1}=E;if((R==null?void 0:R.type)==="mousedown"&&h.current){h.current=!1;return}(R==null?void 0:R.type)==="touchstart"&&(h.current=!0);const M=H?null:p.current,U=M?M.getBoundingClientRect():{width:0,height:0,left:0,top:0};let Y,B,ae;if(P||R===void 0||R.clientX===0&&R.clientY===0||!R.clientX&&!R.touches)Y=Math.round(U.width/2),B=Math.round(U.height/2);else{const{clientX:Re,clientY:ye}=R.touches&&R.touches.length>0?R.touches[0]:R;Y=Math.round(Re-U.left),B=Math.round(ye-U.top)}if(P)ae=Math.sqrt((2*U.width**2+U.height**2)/3),ae%2===0&&(ae+=1);else{const Re=Math.max(Math.abs((M?M.clientWidth:0)-Y),Y)*2+2,ye=Math.max(Math.abs((M?M.clientHeight:0)-B),B)*2+2;ae=Math.sqrt(Re**2+ye**2)}R!=null&&R.touches?y.current===null&&(y.current=()=>{_({pulsate:b,rippleX:Y,rippleY:B,rippleSize:ae,cb:k})},S.start(NC,()=>{y.current&&(y.current(),y.current=null)})):_({pulsate:b,rippleX:Y,rippleY:B,rippleSize:ae,cb:k})},[o,_,S]),f=T.useCallback(()=>{m({},{pulsate:!0})},[m]),v=T.useCallback((R,E)=>{if(S.clear(),(R==null?void 0:R.type)==="touchend"&&y.current){y.current(),y.current=null,S.start(0,()=>{v(R,E)});return}y.current=null,u(k=>k.length>0?k.slice(1):k),c.current=E},[S]);return T.useImperativeHandle(n,()=>({pulsate:f,start:m,stop:v}),[f,m,v]),g.jsx(FC,re({className:nn(rn.root,i.root,s),ref:p},a,{children:g.jsx(TC,{component:null,exit:!0,children:l})}))}),IC=DC;function $C(e){return Lf("MuiButtonBase",e)}const jC=Ff("MuiButtonBase",["root","disabled","focusVisible"]),VC=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],UC=e=>{const{disabled:t,focusVisible:n,focusVisibleClassName:r,classes:o}=e,s=Iv({root:["root",t&&"disabled",n&&"focusVisible"]},$C,o);return n&&r&&(s.root+=` ${r}`),s},BC=li("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${jC.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),zC=T.forwardRef(function(t,n){const r=fu({props:t,name:"MuiButtonBase"}),{action:o,centerRipple:i=!1,children:s,className:a,component:l="button",disabled:u=!1,disableRipple:d=!1,disableTouchRipple:c=!1,focusRipple:h=!1,LinkComponent:S="a",onBlur:y,onClick:p,onContextMenu:_,onDragLeave:m,onFocus:f,onFocusVisible:v,onKeyDown:R,onKeyUp:E,onMouseDown:k,onMouseLeave:b,onMouseUp:P,onTouchEnd:H,onTouchMove:M,onTouchStart:U,tabIndex:Y=0,TouchRippleProps:B,touchRippleRef:ae,type:Re}=r,ye=jt(r,VC),ge=T.useRef(null),F=T.useRef(null),oe=Np(F,ae),{isFocusVisibleRef:z,onFocus:ne,onBlur:C,ref:V}=vR(),[I,se]=T.useState(!1);u&&I&&se(!1),T.useImperativeHandle(o,()=>({focusVisible:()=>{se(!0),ge.current.focus()}}),[]);const[K,ue]=T.useState(!1);T.useEffect(()=>{ue(!0)},[]);const ve=K&&!d&&!u;T.useEffect(()=>{I&&h&&!d&&K&&F.current.pulsate()},[d,h,I,K]);function Z(de,uo,Dr=c){return Js(Wn=>(uo&&uo(Wn),!Dr&&F.current&&F.current[de](Wn),!0))}const le=Z("start",k),pe=Z("stop",_),ce=Z("stop",m),Se=Z("stop",P),Je=Z("stop",de=>{I&&de.preventDefault(),b&&b(de)}),At=Z("start",U),at=Z("stop",H),lt=Z("stop",M),Mr=Z("stop",de=>{C(de),z.current===!1&&se(!1),y&&y(de)},!1),w=Js(de=>{ge.current||(ge.current=de.currentTarget),ne(de),z.current===!0&&(se(!0),v&&v(de)),f&&f(de)}),N=()=>{const de=ge.current;return l&&l!=="button"&&!(de.tagName==="A"&&de.href)},O=T.useRef(!1),Q=Js(de=>{h&&!O.current&&I&&F.current&&de.key===" "&&(O.current=!0,F.current.stop(de,()=>{F.current.start(de)})),de.target===de.currentTarget&&N()&&de.key===" "&&de.preventDefault(),R&&R(de),de.target===de.currentTarget&&N()&&de.key==="Enter"&&!u&&(de.preventDefault(),p&&p(de))}),W=Js(de=>{h&&de.key===" "&&F.current&&I&&!de.defaultPrevented&&(O.current=!1,F.current.stop(de,()=>{F.current.pulsate(de)})),E&&E(de),p&&de.target===de.currentTarget&&N()&&de.key===" "&&!de.defaultPrevented&&p(de)});let D=l;D==="button"&&(ye.href||ye.to)&&(D=S);const te={};D==="button"?(te.type=Re===void 0?"button":Re,te.disabled=u):(!ye.href&&!ye.to&&(te.role="button"),u&&(te["aria-disabled"]=u));const Ae=Np(n,V,ge),Be=re({},r,{centerRipple:i,component:l,disabled:u,disableRipple:d,disableTouchRipple:c,focusRipple:h,tabIndex:Y,focusVisible:I}),Nt=UC(Be);return g.jsxs(BC,re({as:D,className:nn(Nt.root,a),ownerState:Be,onBlur:Mr,onClick:p,onContextMenu:pe,onFocus:w,onKeyDown:Q,onKeyUp:W,onMouseDown:le,onMouseLeave:Je,onMouseUp:Se,onDragLeave:ce,onTouchEnd:at,onTouchMove:lt,onTouchStart:At,ref:Ae,tabIndex:u?-1:Y,type:Re},te,ye,{children:[s,ve?g.jsx(IC,re({ref:oe,center:i},B)):null]}))}),WC=zC;function HC(e){return g.jsx(wb,re({},e,{defaultTheme:zf,themeId:os}))}function KC(e){return Lf("MuiButton",e)}const qC=Ff("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]),ga=qC,QC=T.createContext({}),GC=QC,XC=T.createContext(void 0),YC=XC,ZC=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],JC=e=>{const{color:t,disableElevation:n,fullWidth:r,size:o,variant:i,classes:s}=e,a={root:["root",i,`${i}${cn(t)}`,`size${cn(o)}`,`${i}Size${cn(o)}`,t==="inherit"&&"colorInherit",n&&"disableElevation",r&&"fullWidth"],label:["label"],startIcon:["startIcon",`iconSize${cn(o)}`],endIcon:["endIcon",`iconSize${cn(o)}`]},l=Iv(a,KC,s);return re({},s,l)},Xg=e=>re({},e.size==="small"&&{"& > *:nth-of-type(1)":{fontSize:18}},e.size==="medium"&&{"& > *:nth-of-type(1)":{fontSize:20}},e.size==="large"&&{"& > *:nth-of-type(1)":{fontSize:22}}),eT=li(WC,{shouldForwardProp:e=>Hv(e)||e==="classes",name:"MuiButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${cn(n.color)}`],t[`size${cn(n.size)}`],t[`${n.variant}Size${cn(n.size)}`],n.color==="inherit"&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth]}})(({theme:e,ownerState:t})=>{var n,r;const o=e.palette.mode==="light"?e.palette.grey[300]:e.palette.grey[800],i=e.palette.mode==="light"?e.palette.grey.A100:e.palette.grey[700];return re({},e.typography.button,{minWidth:64,padding:"6px 16px",borderRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create(["background-color","box-shadow","border-color","color"],{duration:e.transitions.duration.short}),"&:hover":re({textDecoration:"none",backgroundColor:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.hoverOpacity})`:ta(e.palette.text.primary,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="text"&&t.color!=="inherit"&&{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:ta(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="outlined"&&t.color!=="inherit"&&{border:`1px solid ${(e.vars||e).palette[t.color].main}`,backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:ta(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="contained"&&{backgroundColor:e.vars?e.vars.palette.Button.inheritContainedHoverBg:i,boxShadow:(e.vars||e).shadows[4],"@media (hover: none)":{boxShadow:(e.vars||e).shadows[2],backgroundColor:(e.vars||e).palette.grey[300]}},t.variant==="contained"&&t.color!=="inherit"&&{backgroundColor:(e.vars||e).palette[t.color].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t.color].main}}),"&:active":re({},t.variant==="contained"&&{boxShadow:(e.vars||e).shadows[8]}),[`&.${ga.focusVisible}`]:re({},t.variant==="contained"&&{boxShadow:(e.vars||e).shadows[6]}),[`&.${ga.disabled}`]:re({color:(e.vars||e).palette.action.disabled},t.variant==="outlined"&&{border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`},t.variant==="contained"&&{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground})},t.variant==="text"&&{padding:"6px 8px"},t.variant==="text"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].main},t.variant==="outlined"&&{padding:"5px 15px",border:"1px solid currentColor"},t.variant==="outlined"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].main,border:e.vars?`1px solid rgba(${e.vars.palette[t.color].mainChannel} / 0.5)`:`1px solid ${ta(e.palette[t.color].main,.5)}`},t.variant==="contained"&&{color:e.vars?e.vars.palette.text.primary:(n=(r=e.palette).getContrastText)==null?void 0:n.call(r,e.palette.grey[300]),backgroundColor:e.vars?e.vars.palette.Button.inheritContainedBg:o,boxShadow:(e.vars||e).shadows[2]},t.variant==="contained"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].contrastText,backgroundColor:(e.vars||e).palette[t.color].main},t.color==="inherit"&&{color:"inherit",borderColor:"currentColor"},t.size==="small"&&t.variant==="text"&&{padding:"4px 5px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="text"&&{padding:"8px 11px",fontSize:e.typography.pxToRem(15)},t.size==="small"&&t.variant==="outlined"&&{padding:"3px 9px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="outlined"&&{padding:"7px 21px",fontSize:e.typography.pxToRem(15)},t.size==="small"&&t.variant==="contained"&&{padding:"4px 10px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="contained"&&{padding:"8px 22px",fontSize:e.typography.pxToRem(15)},t.fullWidth&&{width:"100%"})},({ownerState:e})=>e.disableElevation&&{boxShadow:"none","&:hover":{boxShadow:"none"},[`&.${ga.focusVisible}`]:{boxShadow:"none"},"&:active":{boxShadow:"none"},[`&.${ga.disabled}`]:{boxShadow:"none"}}),tT=li("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.startIcon,t[`iconSize${cn(n.size)}`]]}})(({ownerState:e})=>re({display:"inherit",marginRight:8,marginLeft:-4},e.size==="small"&&{marginLeft:-2},Xg(e))),nT=li("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.endIcon,t[`iconSize${cn(n.size)}`]]}})(({ownerState:e})=>re({display:"inherit",marginRight:-4,marginLeft:8},e.size==="small"&&{marginRight:-2},Xg(e))),rT=T.forwardRef(function(t,n){const r=T.useContext(GC),o=T.useContext(YC),i=Of(r,t),s=fu({props:i,name:"MuiButton"}),{children:a,color:l="primary",component:u="button",className:d,disabled:c=!1,disableElevation:h=!1,disableFocusRipple:S=!1,endIcon:y,focusVisibleClassName:p,fullWidth:_=!1,size:m="medium",startIcon:f,type:v,variant:R="text"}=s,E=jt(s,ZC),k=re({},s,{color:l,component:u,disabled:c,disableElevation:h,disableFocusRipple:S,fullWidth:_,size:m,type:v,variant:R}),b=JC(k),P=f&&g.jsx(tT,{className:b.startIcon,ownerState:k,children:f}),H=y&&g.jsx(nT,{className:b.endIcon,ownerState:k,children:y}),M=o||"";return g.jsxs(eT,re({ownerState:k,className:nn(r.className,b.root,d,M),component:u,disabled:c,focusRipple:!S,focusVisibleClassName:nn(b.focusVisible,p),ref:n,type:v},E,{classes:b,children:[P,a,H]}))}),ln=rT,oT=(e,t)=>re({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%"},t&&!e.vars&&{colorScheme:e.palette.mode}),iT=e=>re({color:(e.vars||e).palette.text.primary},e.typography.body1,{backgroundColor:(e.vars||e).palette.background.default,"@media print":{backgroundColor:(e.vars||e).palette.common.white}}),sT=(e,t=!1)=>{var n;const r={};t&&e.colorSchemes&&Object.entries(e.colorSchemes).forEach(([s,a])=>{var l;r[e.getColorSchemeSelector(s).replace(/\s*&/,"")]={colorScheme:(l=a.palette)==null?void 0:l.mode}});let o=re({html:oT(e,t),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:e.typography.fontWeightBold},body:re({margin:0},iT(e),{"&::backdrop":{backgroundColor:(e.vars||e).palette.background.default}})},r);const i=(n=e.components)==null||(n=n.MuiCssBaseline)==null?void 0:n.styleOverrides;return i&&(o=[o,i]),o};function aT(e){const t=fu({props:e,name:"MuiCssBaseline"}),{children:n,enableColorScheme:r=!1}=t;return g.jsxs(T.Fragment,{children:[g.jsx(HC,{styles:o=>sT(o,r)}),n]})}var Xd={},Jm=Gg;Xd.createRoot=Jm.createRoot,Xd.hydrateRoot=Jm.hydrateRoot;/** +`),Rn.rippleVisible,ZP,Sp,({theme:e})=>e.transitions.easing.easeInOut,Rn.ripplePulsate,({theme:e})=>e.transitions.duration.shorter,Rn.child,Rn.childLeaving,eA,Sp,({theme:e})=>e.transitions.easing.easeInOut,Rn.childPulsate,tA,({theme:e})=>e.transitions.easing.easeInOut),oA=b.forwardRef(function(t,n){const r=Ve({props:t,name:"MuiTouchRipple"}),{center:o=!1,classes:s={},className:i}=r,a=ve(r,YP),[l,u]=b.useState([]),c=b.useRef(0),d=b.useRef(null);b.useEffect(()=>{d.current&&(d.current(),d.current=null)},[l]);const f=b.useRef(!1),S=X0(),h=b.useRef(null),m=b.useRef(null),w=b.useCallback(x=>{const{pulsate:C,rippleX:E,rippleY:R,rippleSize:T,cb:M}=x;u($=>[...$,g.jsx(rA,{classes:{ripple:Re(s.ripple,Rn.ripple),rippleVisible:Re(s.rippleVisible,Rn.rippleVisible),ripplePulsate:Re(s.ripplePulsate,Rn.ripplePulsate),child:Re(s.child,Rn.child),childLeaving:Re(s.childLeaving,Rn.childLeaving),childPulsate:Re(s.childPulsate,Rn.childPulsate)},timeout:Sp,pulsate:C,rippleX:E,rippleY:R,rippleSize:T},c.current)]),c.current+=1,d.current=M},[s]),y=b.useCallback((x={},C={},E=()=>{})=>{const{pulsate:R=!1,center:T=o||C.pulsate,fakeElement:M=!1}=C;if((x==null?void 0:x.type)==="mousedown"&&f.current){f.current=!1;return}(x==null?void 0:x.type)==="touchstart"&&(f.current=!0);const $=M?null:m.current,H=$?$.getBoundingClientRect():{width:0,height:0,left:0,top:0};let U,F,z;if(T||x===void 0||x.clientX===0&&x.clientY===0||!x.clientX&&!x.touches)U=Math.round(H.width/2),F=Math.round(H.height/2);else{const{clientX:K,clientY:Q}=x.touches&&x.touches.length>0?x.touches[0]:x;U=Math.round(K-H.left),F=Math.round(Q-H.top)}if(T)z=Math.sqrt((2*H.width**2+H.height**2)/3),z%2===0&&(z+=1);else{const K=Math.max(Math.abs(($?$.clientWidth:0)-U),U)*2+2,Q=Math.max(Math.abs(($?$.clientHeight:0)-F),F)*2+2;z=Math.sqrt(K**2+Q**2)}x!=null&&x.touches?h.current===null&&(h.current=()=>{w({pulsate:R,rippleX:U,rippleY:F,rippleSize:z,cb:E})},S.start(JP,()=>{h.current&&(h.current(),h.current=null)})):w({pulsate:R,rippleX:U,rippleY:F,rippleSize:z,cb:E})},[o,w,S]),p=b.useCallback(()=>{y({},{pulsate:!0})},[y]),v=b.useCallback((x,C)=>{if(S.clear(),(x==null?void 0:x.type)==="touchend"&&h.current){h.current(),h.current=null,S.start(0,()=>{v(x,C)});return}h.current=null,u(E=>E.length>0?E.slice(1):E),d.current=C},[S]);return b.useImperativeHandle(n,()=>({pulsate:p,start:y,stop:v}),[p,y,v]),g.jsx(nA,_({className:Re(Rn.root,s.root,i),ref:m},a,{children:g.jsx(BP,{component:null,exit:!0,children:l})}))}),sA=oA;function iA(e){return je("MuiButtonBase",e)}const aA=Ie("MuiButtonBase",["root","disabled","focusVisible"]),lA=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],uA=e=>{const{disabled:t,focusVisible:n,focusVisibleClassName:r,classes:o}=e,i=ze({root:["root",t&&"disabled",n&&"focusVisible"]},iA,o);return n&&r&&(i.root+=` ${r}`),i},cA=he("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"},[`&.${aA.disabled}`]:{pointerEvents:"none",cursor:"default"},"@media print":{colorAdjust:"exact"}}),dA=b.forwardRef(function(t,n){const r=Ve({props:t,name:"MuiButtonBase"}),{action:o,centerRipple:s=!1,children:i,className:a,component:l="button",disabled:u=!1,disableRipple:c=!1,disableTouchRipple:d=!1,focusRipple:f=!1,LinkComponent:S="a",onBlur:h,onClick:m,onContextMenu:w,onDragLeave:y,onFocus:p,onFocusVisible:v,onKeyDown:x,onKeyUp:C,onMouseDown:E,onMouseLeave:R,onMouseUp:T,onTouchEnd:M,onTouchMove:$,onTouchStart:H,tabIndex:U=0,TouchRippleProps:F,touchRippleRef:z,type:K}=r,Q=ve(r,lA),G=b.useRef(null),O=b.useRef(null),j=Lt(O,z),{isFocusVisibleRef:D,onFocus:J,onBlur:P,ref:q}=Y0(),[B,re]=b.useState(!1);u&&B&&re(!1),b.useImperativeHandle(o,()=>({focusVisible:()=>{re(!0),G.current.focus()}}),[]);const[X,ue]=b.useState(!1);b.useEffect(()=>{ue(!0)},[]);const ce=X&&!c&&!u;b.useEffect(()=>{B&&f&&!c&&X&&O.current.pulsate()},[c,f,B,X]);function te(me,un,$n=d){return co(Sn=>(un&&un(Sn),!$n&&O.current&&O.current[me](Sn),!0))}const Ee=te("start",E),Se=te("stop",w),ye=te("stop",y),pe=te("stop",T),_e=te("stop",me=>{B&&me.preventDefault(),R&&R(me)}),Le=te("start",H),at=te("stop",M),Ke=te("stop",$),Mt=te("stop",me=>{P(me),D.current===!1&&re(!1),h&&h(me)},!1),k=co(me=>{G.current||(G.current=me.currentTarget),J(me),D.current===!0&&(re(!0),v&&v(me)),p&&p(me)}),L=()=>{const me=G.current;return l&&l!=="button"&&!(me.tagName==="A"&&me.href)},I=b.useRef(!1),ne=co(me=>{f&&!I.current&&B&&O.current&&me.key===" "&&(I.current=!0,O.current.stop(me,()=>{O.current.start(me)})),me.target===me.currentTarget&&L()&&me.key===" "&&me.preventDefault(),x&&x(me),me.target===me.currentTarget&&L()&&me.key==="Enter"&&!u&&(me.preventDefault(),m&&m(me))}),Z=co(me=>{f&&me.key===" "&&O.current&&B&&!me.defaultPrevented&&(I.current=!1,O.current.stop(me,()=>{O.current.pulsate(me)})),C&&C(me),m&&me.target===me.currentTarget&&L()&&me.key===" "&&!me.defaultPrevented&&m(me)});let V=l;V==="button"&&(Q.href||Q.to)&&(V=S);const ae={};V==="button"?(ae.type=K===void 0?"button":K,ae.disabled=u):(!Q.href&&!Q.to&&(ae.role="button"),u&&(ae["aria-disabled"]=u));const Ne=Lt(n,q,G),Be=_({},r,{centerRipple:s,component:l,disabled:u,disableRipple:c,disableTouchRipple:d,focusRipple:f,tabIndex:U,focusVisible:B}),Pe=uA(Be);return g.jsxs(cA,_({as:V,className:Re(Pe.root,a),ownerState:Be,onBlur:Mt,onClick:m,onContextMenu:Se,onFocus:k,onKeyDown:ne,onKeyUp:Z,onMouseDown:Ee,onMouseLeave:_e,onMouseUp:pe,onDragLeave:ye,onTouchEnd:at,onTouchMove:Ke,onTouchStart:Le,ref:Ne,tabIndex:u?-1:U,type:K},ae,Q,{children:[i,ce?g.jsx(sA,_({ref:j,center:s},F)):null]}))}),um=dA;function fA(e){return je("MuiTypography",e)}Ie("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]);const pA=["align","className","component","gutterBottom","noWrap","paragraph","variant","variantMapping"],hA=e=>{const{align:t,gutterBottom:n,noWrap:r,paragraph:o,variant:s,classes:i}=e,a={root:["root",s,e.align!=="inherit"&&`align${Ce(t)}`,n&&"gutterBottom",r&&"noWrap",o&&"paragraph"]};return ze(a,fA,i)},mA=he("span",{name:"MuiTypography",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.variant&&t[n.variant],n.align!=="inherit"&&t[`align${Ce(n.align)}`],n.noWrap&&t.noWrap,n.gutterBottom&&t.gutterBottom,n.paragraph&&t.paragraph]}})(({theme:e,ownerState:t})=>_({margin:0},t.variant==="inherit"&&{font:"inherit"},t.variant!=="inherit"&&e.typography[t.variant],t.align!=="inherit"&&{textAlign:t.align},t.noWrap&&{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},t.gutterBottom&&{marginBottom:"0.35em"},t.paragraph&&{marginBottom:16})),Vy={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},vA={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},yA=e=>vA[e]||e,gA=b.forwardRef(function(t,n){const r=Ve({props:t,name:"MuiTypography"}),o=yA(r.color),s=o1(_({},r,{color:o})),{align:i="inherit",className:a,component:l,gutterBottom:u=!1,noWrap:c=!1,paragraph:d=!1,variant:f="body1",variantMapping:S=Vy}=s,h=ve(s,pA),m=_({},s,{align:i,color:o,className:a,component:l,gutterBottom:u,noWrap:c,paragraph:d,variant:f,variantMapping:S}),w=l||(d?"p":S[f]||Vy[f])||"span",y=hA(m);return g.jsx(mA,_({as:w,ref:n,ownerState:m,className:Re(y.root,a)},h))}),Wy=gA,SA=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'].join(",");function bA(e){const t=parseInt(e.getAttribute("tabindex")||"",10);return Number.isNaN(t)?e.contentEditable==="true"||(e.nodeName==="AUDIO"||e.nodeName==="VIDEO"||e.nodeName==="DETAILS")&&e.getAttribute("tabindex")===null?0:e.tabIndex:t}function xA(e){if(e.tagName!=="INPUT"||e.type!=="radio"||!e.name)return!1;const t=r=>e.ownerDocument.querySelector(`input[type="radio"]${r}`);let n=t(`[name="${e.name}"]:checked`);return n||(n=t(`[name="${e.name}"]`)),n!==e}function wA(e){return!(e.disabled||e.tagName==="INPUT"&&e.type==="hidden"||xA(e))}function RA(e){const t=[],n=[];return Array.from(e.querySelectorAll(SA)).forEach((r,o)=>{const s=bA(r);s===-1||!wA(r)||(s===0?t.push(r):n.push({documentOrder:o,tabIndex:s,node:r}))}),n.sort((r,o)=>r.tabIndex===o.tabIndex?r.documentOrder-o.documentOrder:r.tabIndex-o.tabIndex).map(r=>r.node).concat(t)}function CA(){return!0}function EA(e){const{children:t,disableAutoFocus:n=!1,disableEnforceFocus:r=!1,disableRestoreFocus:o=!1,getTabbable:s=RA,isEnabled:i=CA,open:a}=e,l=b.useRef(!1),u=b.useRef(null),c=b.useRef(null),d=b.useRef(null),f=b.useRef(null),S=b.useRef(!1),h=b.useRef(null),m=Lt(t.ref,h),w=b.useRef(null);b.useEffect(()=>{!a||!h.current||(S.current=!n)},[n,a]),b.useEffect(()=>{if(!a||!h.current)return;const v=tn(h.current);return h.current.contains(v.activeElement)||(h.current.hasAttribute("tabIndex")||h.current.setAttribute("tabIndex","-1"),S.current&&h.current.focus()),()=>{o||(d.current&&d.current.focus&&(l.current=!0,d.current.focus()),d.current=null)}},[a]),b.useEffect(()=>{if(!a||!h.current)return;const v=tn(h.current),x=R=>{w.current=R,!(r||!i()||R.key!=="Tab")&&v.activeElement===h.current&&R.shiftKey&&(l.current=!0,c.current&&c.current.focus())},C=()=>{const R=h.current;if(R===null)return;if(!v.hasFocus()||!i()||l.current){l.current=!1;return}if(R.contains(v.activeElement)||r&&v.activeElement!==u.current&&v.activeElement!==c.current)return;if(v.activeElement!==f.current)f.current=null;else if(f.current!==null)return;if(!S.current)return;let T=[];if((v.activeElement===u.current||v.activeElement===c.current)&&(T=s(h.current)),T.length>0){var M,$;const H=!!((M=w.current)!=null&&M.shiftKey&&(($=w.current)==null?void 0:$.key)==="Tab"),U=T[0],F=T[T.length-1];typeof U!="string"&&typeof F!="string"&&(H?F.focus():U.focus())}else R.focus()};v.addEventListener("focusin",C),v.addEventListener("keydown",x,!0);const E=setInterval(()=>{v.activeElement&&v.activeElement.tagName==="BODY"&&C()},50);return()=>{clearInterval(E),v.removeEventListener("focusin",C),v.removeEventListener("keydown",x,!0)}},[n,r,o,i,a,s]);const y=v=>{d.current===null&&(d.current=v.relatedTarget),S.current=!0,f.current=v.target;const x=t.props.onFocus;x&&x(v)},p=v=>{d.current===null&&(d.current=v.relatedTarget),S.current=!0};return g.jsxs(b.Fragment,{children:[g.jsx("div",{tabIndex:a?0:-1,onFocus:p,ref:u,"data-testid":"sentinelStart"}),b.cloneElement(t,{ref:m,onFocus:y}),g.jsx("div",{tabIndex:a?0:-1,onFocus:p,ref:c,"data-testid":"sentinelEnd"})]})}function _A(e){return typeof e=="function"?e():e}const kA=b.forwardRef(function(t,n){const{children:r,container:o,disablePortal:s=!1}=t,[i,a]=b.useState(null),l=Lt(b.isValidElement(r)?r.ref:null,n);if(yr(()=>{s||a(_A(o)||document.body)},[o,s]),yr(()=>{if(i&&!s)return Ul(n,i),()=>{Ul(n,null)}},[n,i,s]),s){if(b.isValidElement(r)){const u={ref:l};return b.cloneElement(r,u)}return g.jsx(b.Fragment,{children:r})}return g.jsx(b.Fragment,{children:i&&$c.createPortal(r,i)})});function TA(e){const t=tn(e);return t.body===e?Qr(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}function ji(e,t){t?e.setAttribute("aria-hidden","true"):e.removeAttribute("aria-hidden")}function Hy(e){return parseInt(Qr(e).getComputedStyle(e).paddingRight,10)||0}function PA(e){const n=["TEMPLATE","SCRIPT","STYLE","LINK","MAP","META","NOSCRIPT","PICTURE","COL","COLGROUP","PARAM","SLOT","SOURCE","TRACK"].indexOf(e.tagName)!==-1,r=e.tagName==="INPUT"&&e.getAttribute("type")==="hidden";return n||r}function qy(e,t,n,r,o){const s=[t,n,...r];[].forEach.call(e.children,i=>{const a=s.indexOf(i)===-1,l=!PA(i);a&&l&&ji(i,o)})}function Qd(e,t){let n=-1;return e.some((r,o)=>t(r)?(n=o,!0):!1),n}function AA(e,t){const n=[],r=e.container;if(!t.disableScrollLock){if(TA(r)){const i=J0(tn(r));n.push({value:r.style.paddingRight,property:"padding-right",el:r}),r.style.paddingRight=`${Hy(r)+i}px`;const a=tn(r).querySelectorAll(".mui-fixed");[].forEach.call(a,l=>{n.push({value:l.style.paddingRight,property:"padding-right",el:l}),l.style.paddingRight=`${Hy(l)+i}px`})}let s;if(r.parentNode instanceof DocumentFragment)s=tn(r).body;else{const i=r.parentElement,a=Qr(r);s=(i==null?void 0:i.nodeName)==="HTML"&&a.getComputedStyle(i).overflowY==="scroll"?i:r}n.push({value:s.style.overflow,property:"overflow",el:s},{value:s.style.overflowX,property:"overflow-x",el:s},{value:s.style.overflowY,property:"overflow-y",el:s}),s.style.overflow="hidden"}return()=>{n.forEach(({value:s,el:i,property:a})=>{s?i.style.setProperty(a,s):i.style.removeProperty(a)})}}function NA(e){const t=[];return[].forEach.call(e.children,n=>{n.getAttribute("aria-hidden")==="true"&&t.push(n)}),t}class OA{constructor(){this.containers=void 0,this.modals=void 0,this.modals=[],this.containers=[]}add(t,n){let r=this.modals.indexOf(t);if(r!==-1)return r;r=this.modals.length,this.modals.push(t),t.modalRef&&ji(t.modalRef,!1);const o=NA(n);qy(n,t.mount,t.modalRef,o,!0);const s=Qd(this.containers,i=>i.container===n);return s!==-1?(this.containers[s].modals.push(t),r):(this.containers.push({modals:[t],container:n,restore:null,hiddenSiblings:o}),r)}mount(t,n){const r=Qd(this.containers,s=>s.modals.indexOf(t)!==-1),o=this.containers[r];o.restore||(o.restore=AA(o,n))}remove(t,n=!0){const r=this.modals.indexOf(t);if(r===-1)return r;const o=Qd(this.containers,i=>i.modals.indexOf(t)!==-1),s=this.containers[o];if(s.modals.splice(s.modals.indexOf(t),1),this.modals.splice(r,1),s.modals.length===0)s.restore&&s.restore(),t.modalRef&&ji(t.modalRef,n),qy(s.container,t.mount,t.modalRef,s.hiddenSiblings,!1),this.containers.splice(o,1);else{const i=s.modals[s.modals.length-1];i.modalRef&&ji(i.modalRef,!1)}return r}isTopModal(t){return this.modals.length>0&&this.modals[this.modals.length-1]===t}}function LA(e){return typeof e=="function"?e():e}function $A(e){return e?e.props.hasOwnProperty("in"):!1}const MA=new OA;function IA(e){const{container:t,disableEscapeKeyDown:n=!1,disableScrollLock:r=!1,manager:o=MA,closeAfterTransition:s=!1,onTransitionEnter:i,onTransitionExited:a,children:l,onClose:u,open:c,rootRef:d}=e,f=b.useRef({}),S=b.useRef(null),h=b.useRef(null),m=Lt(h,d),[w,y]=b.useState(!c),p=$A(l);let v=!0;(e["aria-hidden"]==="false"||e["aria-hidden"]===!1)&&(v=!1);const x=()=>tn(S.current),C=()=>(f.current.modalRef=h.current,f.current.mount=S.current,f.current),E=()=>{o.mount(C(),{disableScrollLock:r}),h.current&&(h.current.scrollTop=0)},R=co(()=>{const Q=LA(t)||x().body;o.add(C(),Q),h.current&&E()}),T=b.useCallback(()=>o.isTopModal(C()),[o]),M=co(Q=>{S.current=Q,Q&&(c&&T()?E():h.current&&ji(h.current,v))}),$=b.useCallback(()=>{o.remove(C(),v)},[v,o]);b.useEffect(()=>()=>{$()},[$]),b.useEffect(()=>{c?R():(!p||!s)&&$()},[c,$,p,s,R]);const H=Q=>G=>{var O;(O=Q.onKeyDown)==null||O.call(Q,G),!(G.key!=="Escape"||G.which===229||!T())&&(n||(G.stopPropagation(),u&&u(G,"escapeKeyDown")))},U=Q=>G=>{var O;(O=Q.onClick)==null||O.call(Q,G),G.target===G.currentTarget&&u&&u(G,"backdropClick")};return{getRootProps:(Q={})=>{const G=yb(e);delete G.onTransitionEnter,delete G.onTransitionExited;const O=_({},G,Q);return _({role:"presentation"},O,{onKeyDown:H(O),ref:m})},getBackdropProps:(Q={})=>{const G=Q;return _({"aria-hidden":!0},G,{onClick:U(G),open:c})},getTransitionProps:()=>{const Q=()=>{y(!1),i&&i()},G=()=>{y(!0),a&&a(),s&&$()};return{onEnter:Bl(Q,l==null?void 0:l.props.onEnter),onExited:Bl(G,l==null?void 0:l.props.onExited)}},rootRef:m,portalRef:M,isTopModal:T,exited:w,hasTransition:p}}const FA=["onChange","maxRows","minRows","style","value"];function rl(e){return parseInt(e,10)||0}const DA={shadow:{visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"}};function Ky(e){return e==null||Object.keys(e).length===0||e.outerHeightStyle===0&&!e.overflow}const jA=b.forwardRef(function(t,n){const{onChange:r,maxRows:o,minRows:s=1,style:i,value:a}=t,l=ve(t,FA),{current:u}=b.useRef(a!=null),c=b.useRef(null),d=Lt(n,c),f=b.useRef(null),S=b.useRef(0),[h,m]=b.useState({outerHeightStyle:0}),w=b.useCallback(()=>{const x=c.current,E=Qr(x).getComputedStyle(x);if(E.width==="0px")return{outerHeightStyle:0};const R=f.current;R.style.width=E.width,R.value=x.value||t.placeholder||"x",R.value.slice(-1)===` +`&&(R.value+=" ");const T=E.boxSizing,M=rl(E.paddingBottom)+rl(E.paddingTop),$=rl(E.borderBottomWidth)+rl(E.borderTopWidth),H=R.scrollHeight;R.value="x";const U=R.scrollHeight;let F=H;s&&(F=Math.max(Number(s)*U,F)),o&&(F=Math.min(Number(o)*U,F)),F=Math.max(F,U);const z=F+(T==="border-box"?M+$:0),K=Math.abs(F-H)<=1;return{outerHeightStyle:z,overflow:K}},[o,s,t.placeholder]),y=(x,C)=>{const{outerHeightStyle:E,overflow:R}=C;return S.current<20&&(E>0&&Math.abs((x.outerHeightStyle||0)-E)>1||x.overflow!==R)?(S.current+=1,{overflow:R,outerHeightStyle:E}):x},p=b.useCallback(()=>{const x=w();Ky(x)||m(C=>y(C,x))},[w]);yr(()=>{const x=()=>{const H=w();Ky(H)||$c.flushSync(()=>{m(U=>y(U,H))})},C=()=>{S.current=0,x()};let E;const R=sh(C),T=c.current,M=Qr(T);M.addEventListener("resize",R);let $;return typeof ResizeObserver<"u"&&($=new ResizeObserver(C),$.observe(T)),()=>{R.clear(),cancelAnimationFrame(E),M.removeEventListener("resize",R),$&&$.disconnect()}},[w]),yr(()=>{p()}),b.useEffect(()=>{S.current=0},[a]);const v=x=>{S.current=0,u||p(),r&&r(x)};return g.jsxs(b.Fragment,{children:[g.jsx("textarea",_({value:a,onChange:v,ref:d,rows:s,style:_({height:h.outerHeightStyle,overflow:h.overflow?"hidden":void 0},i)},l)),g.jsx("textarea",{"aria-hidden":!0,className:t.className,readOnly:!0,ref:f,tabIndex:-1,style:_({},DA.shadow,i,{paddingTop:0,paddingBottom:0})})]})});function to({props:e,states:t,muiFormControl:n}){return t.reduce((r,o)=>(r[o]=e[o],n&&typeof e[o]>"u"&&(r[o]=n[o]),r),{})}const BA=b.createContext(void 0),cm=BA;function Cr(){return b.useContext(cm)}function gb(e){return g.jsx(v_,_({},e,{defaultTheme:ic,themeId:vs}))}function Gy(e){return e!=null&&!(Array.isArray(e)&&e.length===0)}function vu(e,t=!1){return e&&(Gy(e.value)&&e.value!==""||t&&Gy(e.defaultValue)&&e.defaultValue!=="")}function UA(e){return e.startAdornment}function zA(e){return je("MuiInputBase",e)}const VA=Ie("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","readOnly","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]),_s=VA,WA=["aria-describedby","autoComplete","autoFocus","className","color","components","componentsProps","defaultValue","disabled","disableInjectingGlobalStyles","endAdornment","error","fullWidth","id","inputComponent","inputProps","inputRef","margin","maxRows","minRows","multiline","name","onBlur","onChange","onClick","onFocus","onKeyDown","onKeyUp","placeholder","readOnly","renderSuffix","rows","size","slotProps","slots","startAdornment","type","value"],Fc=(e,t)=>{const{ownerState:n}=e;return[t.root,n.formControl&&t.formControl,n.startAdornment&&t.adornedStart,n.endAdornment&&t.adornedEnd,n.error&&t.error,n.size==="small"&&t.sizeSmall,n.multiline&&t.multiline,n.color&&t[`color${Ce(n.color)}`],n.fullWidth&&t.fullWidth,n.hiddenLabel&&t.hiddenLabel]},Dc=(e,t)=>{const{ownerState:n}=e;return[t.input,n.size==="small"&&t.inputSizeSmall,n.multiline&&t.inputMultiline,n.type==="search"&&t.inputTypeSearch,n.startAdornment&&t.inputAdornedStart,n.endAdornment&&t.inputAdornedEnd,n.hiddenLabel&&t.inputHiddenLabel]},HA=e=>{const{classes:t,color:n,disabled:r,error:o,endAdornment:s,focused:i,formControl:a,fullWidth:l,hiddenLabel:u,multiline:c,readOnly:d,size:f,startAdornment:S,type:h}=e,m={root:["root",`color${Ce(n)}`,r&&"disabled",o&&"error",l&&"fullWidth",i&&"focused",a&&"formControl",f&&f!=="medium"&&`size${Ce(f)}`,c&&"multiline",S&&"adornedStart",s&&"adornedEnd",u&&"hiddenLabel",d&&"readOnly"],input:["input",r&&"disabled",h==="search"&&"inputTypeSearch",c&&"inputMultiline",f==="small"&&"inputSizeSmall",u&&"inputHiddenLabel",S&&"inputAdornedStart",s&&"inputAdornedEnd",d&&"readOnly"]};return ze(m,zA,t)},jc=he("div",{name:"MuiInputBase",slot:"Root",overridesResolver:Fc})(({theme:e,ownerState:t})=>_({},e.typography.body1,{color:(e.vars||e).palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center",[`&.${_s.disabled}`]:{color:(e.vars||e).palette.text.disabled,cursor:"default"}},t.multiline&&_({padding:"4px 0 5px"},t.size==="small"&&{paddingTop:1}),t.fullWidth&&{width:"100%"})),Bc=he("input",{name:"MuiInputBase",slot:"Input",overridesResolver:Dc})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light",r=_({color:"currentColor"},e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5},{transition:e.transitions.create("opacity",{duration:e.transitions.duration.shorter})}),o={opacity:"0 !important"},s=e.vars?{opacity:e.vars.opacity.inputPlaceholder}:{opacity:n?.42:.5};return _({font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%",animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&::-webkit-input-placeholder":r,"&::-moz-placeholder":r,"&:-ms-input-placeholder":r,"&::-ms-input-placeholder":r,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"},[`label[data-shrink=false] + .${_s.formControl} &`]:{"&::-webkit-input-placeholder":o,"&::-moz-placeholder":o,"&:-ms-input-placeholder":o,"&::-ms-input-placeholder":o,"&:focus::-webkit-input-placeholder":s,"&:focus::-moz-placeholder":s,"&:focus:-ms-input-placeholder":s,"&:focus::-ms-input-placeholder":s},[`&.${_s.disabled}`]:{opacity:1,WebkitTextFillColor:(e.vars||e).palette.text.disabled},"&:-webkit-autofill":{animationDuration:"5000s",animationName:"mui-auto-fill"}},t.size==="small"&&{paddingTop:1},t.multiline&&{height:"auto",resize:"none",padding:0,paddingTop:0},t.type==="search"&&{MozAppearance:"textfield"})}),qA=g.jsx(gb,{styles:{"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}}),KA=b.forwardRef(function(t,n){var r;const o=Ve({props:t,name:"MuiInputBase"}),{"aria-describedby":s,autoComplete:i,autoFocus:a,className:l,components:u={},componentsProps:c={},defaultValue:d,disabled:f,disableInjectingGlobalStyles:S,endAdornment:h,fullWidth:m=!1,id:w,inputComponent:y="input",inputProps:p={},inputRef:v,maxRows:x,minRows:C,multiline:E=!1,name:R,onBlur:T,onChange:M,onClick:$,onFocus:H,onKeyDown:U,onKeyUp:F,placeholder:z,readOnly:K,renderSuffix:Q,rows:G,slotProps:O={},slots:j={},startAdornment:D,type:J="text",value:P}=o,q=ve(o,WA),B=p.value!=null?p.value:P,{current:re}=b.useRef(B!=null),X=b.useRef(),ue=b.useCallback(Pe=>{},[]),ce=Lt(X,v,p.ref,ue),[te,Ee]=b.useState(!1),Se=Cr(),ye=to({props:o,muiFormControl:Se,states:["color","disabled","error","hiddenLabel","size","required","filled"]});ye.focused=Se?Se.focused:te,b.useEffect(()=>{!Se&&f&&te&&(Ee(!1),T&&T())},[Se,f,te,T]);const pe=Se&&Se.onFilled,_e=Se&&Se.onEmpty,Le=b.useCallback(Pe=>{vu(Pe)?pe&&pe():_e&&_e()},[pe,_e]);yr(()=>{re&&Le({value:B})},[B,Le,re]);const at=Pe=>{if(ye.disabled){Pe.stopPropagation();return}H&&H(Pe),p.onFocus&&p.onFocus(Pe),Se&&Se.onFocus?Se.onFocus(Pe):Ee(!0)},Ke=Pe=>{T&&T(Pe),p.onBlur&&p.onBlur(Pe),Se&&Se.onBlur?Se.onBlur(Pe):Ee(!1)},Mt=(Pe,...me)=>{if(!re){const un=Pe.target||X.current;if(un==null)throw new Error(Gr(1));Le({value:un.value})}p.onChange&&p.onChange(Pe,...me),M&&M(Pe,...me)};b.useEffect(()=>{Le(X.current)},[]);const k=Pe=>{X.current&&Pe.currentTarget===Pe.target&&X.current.focus(),$&&$(Pe)};let L=y,I=p;E&&L==="input"&&(G?I=_({type:void 0,minRows:G,maxRows:G},I):I=_({type:void 0,maxRows:x,minRows:C},I),L=jA);const ne=Pe=>{Le(Pe.animationName==="mui-auto-fill-cancel"?X.current:{value:"x"})};b.useEffect(()=>{Se&&Se.setAdornedStart(!!D)},[Se,D]);const Z=_({},o,{color:ye.color||"primary",disabled:ye.disabled,endAdornment:h,error:ye.error,focused:ye.focused,formControl:Se,fullWidth:m,hiddenLabel:ye.hiddenLabel,multiline:E,size:ye.size,startAdornment:D,type:J}),V=HA(Z),ae=j.root||u.Root||jc,Ne=O.root||c.root||{},Be=j.input||u.Input||Bc;return I=_({},I,(r=O.input)!=null?r:c.input),g.jsxs(b.Fragment,{children:[!S&&qA,g.jsxs(ae,_({},Ne,!mu(ae)&&{ownerState:_({},Z,Ne.ownerState)},{ref:n,onClick:k},q,{className:Re(V.root,Ne.className,l,K&&"MuiInputBase-readOnly"),children:[D,g.jsx(cm.Provider,{value:null,children:g.jsx(Be,_({ownerState:Z,"aria-invalid":ye.error,"aria-describedby":s,autoComplete:i,autoFocus:a,defaultValue:d,disabled:ye.disabled,id:w,onAnimationStart:ne,name:R,placeholder:z,readOnly:K,required:ye.required,rows:G,value:B,onKeyDown:U,onKeyUp:F,type:J},I,!mu(Be)&&{as:L,ownerState:_({},Z,I.ownerState)},{ref:ce,className:Re(V.input,I.className,K&&"MuiInputBase-readOnly"),onBlur:Ke,onChange:Mt,onFocus:at}))}),h,Q?Q(_({},ye,{startAdornment:D})):null]}))]})}),dm=KA;function GA(e){return je("MuiInput",e)}const QA=_({},_s,Ie("MuiInput",["root","underline","input"])),ai=QA;function XA(e){return je("MuiOutlinedInput",e)}const YA=_({},_s,Ie("MuiOutlinedInput",["root","notchedOutline","input"])),kr=YA;function JA(e){return je("MuiFilledInput",e)}const ZA=_({},_s,Ie("MuiFilledInput",["root","underline","input"])),oo=ZA,e2=lc(g.jsx("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown"),t2=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"],n2={entering:{opacity:1},entered:{opacity:1}},r2=b.forwardRef(function(t,n){const r=ac(),o={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},{addEndListener:s,appear:i=!0,children:a,easing:l,in:u,onEnter:c,onEntered:d,onEntering:f,onExit:S,onExited:h,onExiting:m,style:w,timeout:y=o,TransitionComponent:p=mb}=t,v=ve(t,t2),x=b.useRef(null),C=Lt(x,a.ref,n),E=z=>K=>{if(z){const Q=x.current;K===void 0?z(Q):z(Q,K)}},R=E(f),T=E((z,K)=>{vb(z);const Q=hu({style:w,timeout:y,easing:l},{mode:"enter"});z.style.webkitTransition=r.transitions.create("opacity",Q),z.style.transition=r.transitions.create("opacity",Q),c&&c(z,K)}),M=E(d),$=E(m),H=E(z=>{const K=hu({style:w,timeout:y,easing:l},{mode:"exit"});z.style.webkitTransition=r.transitions.create("opacity",K),z.style.transition=r.transitions.create("opacity",K),S&&S(z)}),U=E(h),F=z=>{s&&s(x.current,z)};return g.jsx(p,_({appear:i,in:u,nodeRef:x,onEnter:T,onEntered:M,onEntering:R,onExit:H,onExited:U,onExiting:$,addEndListener:F,timeout:y},v,{children:(z,K)=>b.cloneElement(a,_({style:_({opacity:0,visibility:z==="exited"&&!u?"hidden":void 0},n2[z],w,a.props.style),ref:C},K))}))}),Sb=r2;function o2(e){return je("MuiBackdrop",e)}Ie("MuiBackdrop",["root","invisible"]);const s2=["children","className","component","components","componentsProps","invisible","open","slotProps","slots","TransitionComponent","transitionDuration"],i2=e=>{const{classes:t,invisible:n}=e;return ze({root:["root",n&&"invisible"]},o2,t)},a2=he("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.invisible&&t.invisible]}})(({ownerState:e})=>_({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},e.invisible&&{backgroundColor:"transparent"})),l2=b.forwardRef(function(t,n){var r,o,s;const i=Ve({props:t,name:"MuiBackdrop"}),{children:a,className:l,component:u="div",components:c={},componentsProps:d={},invisible:f=!1,open:S,slotProps:h={},slots:m={},TransitionComponent:w=Sb,transitionDuration:y}=i,p=ve(i,s2),v=_({},i,{component:u,invisible:f}),x=i2(v),C=(r=h.root)!=null?r:d.root;return g.jsx(w,_({in:S,timeout:y},p,{children:g.jsx(a2,_({"aria-hidden":!0},C,{as:(o=(s=m.root)!=null?s:c.Root)!=null?o:u,className:Re(x.root,l,C==null?void 0:C.className),ownerState:_({},v,C==null?void 0:C.ownerState),classes:x,ref:n,children:a}))}))}),bb=l2;function u2(e){return je("MuiButton",e)}const c2=Ie("MuiButton",["root","text","textInherit","textPrimary","textSecondary","textSuccess","textError","textInfo","textWarning","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","outlinedSuccess","outlinedError","outlinedInfo","outlinedWarning","contained","containedInherit","containedPrimary","containedSecondary","containedSuccess","containedError","containedInfo","containedWarning","disableElevation","focusVisible","disabled","colorInherit","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]),ol=c2,d2=b.createContext({}),f2=d2,p2=b.createContext(void 0),h2=p2,m2=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],v2=e=>{const{color:t,disableElevation:n,fullWidth:r,size:o,variant:s,classes:i}=e,a={root:["root",s,`${s}${Ce(t)}`,`size${Ce(o)}`,`${s}Size${Ce(o)}`,t==="inherit"&&"colorInherit",n&&"disableElevation",r&&"fullWidth"],label:["label"],startIcon:["startIcon",`iconSize${Ce(o)}`],endIcon:["endIcon",`iconSize${Ce(o)}`]},l=ze(a,u2,i);return _({},i,l)},xb=e=>_({},e.size==="small"&&{"& > *:nth-of-type(1)":{fontSize:18}},e.size==="medium"&&{"& > *:nth-of-type(1)":{fontSize:20}},e.size==="large"&&{"& > *:nth-of-type(1)":{fontSize:22}}),y2=he(um,{shouldForwardProp:e=>Kt(e)||e==="classes",name:"MuiButton",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,t[n.variant],t[`${n.variant}${Ce(n.color)}`],t[`size${Ce(n.size)}`],t[`${n.variant}Size${Ce(n.size)}`],n.color==="inherit"&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth]}})(({theme:e,ownerState:t})=>{var n,r;const o=e.palette.mode==="light"?e.palette.grey[300]:e.palette.grey[800],s=e.palette.mode==="light"?e.palette.grey.A100:e.palette.grey[700];return _({},e.typography.button,{minWidth:64,padding:"6px 16px",borderRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create(["background-color","box-shadow","border-color","color"],{duration:e.transitions.duration.short}),"&:hover":_({textDecoration:"none",backgroundColor:e.vars?`rgba(${e.vars.palette.text.primaryChannel} / ${e.vars.palette.action.hoverOpacity})`:Vn(e.palette.text.primary,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="text"&&t.color!=="inherit"&&{backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:Vn(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="outlined"&&t.color!=="inherit"&&{border:`1px solid ${(e.vars||e).palette[t.color].main}`,backgroundColor:e.vars?`rgba(${e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:Vn(e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},t.variant==="contained"&&{backgroundColor:e.vars?e.vars.palette.Button.inheritContainedHoverBg:s,boxShadow:(e.vars||e).shadows[4],"@media (hover: none)":{boxShadow:(e.vars||e).shadows[2],backgroundColor:(e.vars||e).palette.grey[300]}},t.variant==="contained"&&t.color!=="inherit"&&{backgroundColor:(e.vars||e).palette[t.color].dark,"@media (hover: none)":{backgroundColor:(e.vars||e).palette[t.color].main}}),"&:active":_({},t.variant==="contained"&&{boxShadow:(e.vars||e).shadows[8]}),[`&.${ol.focusVisible}`]:_({},t.variant==="contained"&&{boxShadow:(e.vars||e).shadows[6]}),[`&.${ol.disabled}`]:_({color:(e.vars||e).palette.action.disabled},t.variant==="outlined"&&{border:`1px solid ${(e.vars||e).palette.action.disabledBackground}`},t.variant==="contained"&&{color:(e.vars||e).palette.action.disabled,boxShadow:(e.vars||e).shadows[0],backgroundColor:(e.vars||e).palette.action.disabledBackground})},t.variant==="text"&&{padding:"6px 8px"},t.variant==="text"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].main},t.variant==="outlined"&&{padding:"5px 15px",border:"1px solid currentColor"},t.variant==="outlined"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].main,border:e.vars?`1px solid rgba(${e.vars.palette[t.color].mainChannel} / 0.5)`:`1px solid ${Vn(e.palette[t.color].main,.5)}`},t.variant==="contained"&&{color:e.vars?e.vars.palette.text.primary:(n=(r=e.palette).getContrastText)==null?void 0:n.call(r,e.palette.grey[300]),backgroundColor:e.vars?e.vars.palette.Button.inheritContainedBg:o,boxShadow:(e.vars||e).shadows[2]},t.variant==="contained"&&t.color!=="inherit"&&{color:(e.vars||e).palette[t.color].contrastText,backgroundColor:(e.vars||e).palette[t.color].main},t.color==="inherit"&&{color:"inherit",borderColor:"currentColor"},t.size==="small"&&t.variant==="text"&&{padding:"4px 5px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="text"&&{padding:"8px 11px",fontSize:e.typography.pxToRem(15)},t.size==="small"&&t.variant==="outlined"&&{padding:"3px 9px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="outlined"&&{padding:"7px 21px",fontSize:e.typography.pxToRem(15)},t.size==="small"&&t.variant==="contained"&&{padding:"4px 10px",fontSize:e.typography.pxToRem(13)},t.size==="large"&&t.variant==="contained"&&{padding:"8px 22px",fontSize:e.typography.pxToRem(15)},t.fullWidth&&{width:"100%"})},({ownerState:e})=>e.disableElevation&&{boxShadow:"none","&:hover":{boxShadow:"none"},[`&.${ol.focusVisible}`]:{boxShadow:"none"},"&:active":{boxShadow:"none"},[`&.${ol.disabled}`]:{boxShadow:"none"}}),g2=he("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.startIcon,t[`iconSize${Ce(n.size)}`]]}})(({ownerState:e})=>_({display:"inherit",marginRight:8,marginLeft:-4},e.size==="small"&&{marginLeft:-2},xb(e))),S2=he("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.endIcon,t[`iconSize${Ce(n.size)}`]]}})(({ownerState:e})=>_({display:"inherit",marginRight:-4,marginLeft:8},e.size==="small"&&{marginRight:-2},xb(e))),b2=b.forwardRef(function(t,n){const r=b.useContext(f2),o=b.useContext(h2),s=ih(r,t),i=Ve({props:s,name:"MuiButton"}),{children:a,color:l="primary",component:u="button",className:c,disabled:d=!1,disableElevation:f=!1,disableFocusRipple:S=!1,endIcon:h,focusVisibleClassName:m,fullWidth:w=!1,size:y="medium",startIcon:p,type:v,variant:x="text"}=i,C=ve(i,m2),E=_({},i,{color:l,component:u,disabled:d,disableElevation:f,disableFocusRipple:S,fullWidth:w,size:y,type:v,variant:x}),R=v2(E),T=p&&g.jsx(g2,{className:R.startIcon,ownerState:E,children:p}),M=h&&g.jsx(S2,{className:R.endIcon,ownerState:E,children:h}),$=o||"";return g.jsxs(y2,_({ownerState:E,className:Re(r.className,R.root,c,$),component:u,disabled:d,focusRipple:!S,focusVisibleClassName:Re(R.focusVisible,m),ref:n,type:v},C,{classes:R,children:[T,a,M]}))}),Et=b2;function x2(e){return je("MuiCard",e)}Ie("MuiCard",["root"]);const w2=["className","raised"],R2=e=>{const{classes:t}=e;return ze({root:["root"]},x2,t)},C2=he(Mc,{name:"MuiCard",slot:"Root",overridesResolver:(e,t)=>t.root})(()=>({overflow:"hidden"})),E2=b.forwardRef(function(t,n){const r=Ve({props:t,name:"MuiCard"}),{className:o,raised:s=!1}=r,i=ve(r,w2),a=_({},r,{raised:s}),l=R2(a);return g.jsx(C2,_({className:Re(l.root,o),elevation:s?8:void 0,ref:n,ownerState:a},i))}),_2=E2;function k2(e){return je("MuiCardContent",e)}Ie("MuiCardContent",["root"]);const T2=["className","component"],P2=e=>{const{classes:t}=e;return ze({root:["root"]},k2,t)},A2=he("div",{name:"MuiCardContent",slot:"Root",overridesResolver:(e,t)=>t.root})(()=>({padding:16,"&:last-child":{paddingBottom:24}})),N2=b.forwardRef(function(t,n){const r=Ve({props:t,name:"MuiCardContent"}),{className:o,component:s="div"}=r,i=ve(r,T2),a=_({},r,{component:s}),l=P2(a);return g.jsx(A2,_({as:s,className:Re(l.root,o),ownerState:a,ref:n},i))}),O2=N2;function L2(e){return je("PrivateSwitchBase",e)}Ie("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);const $2=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],M2=e=>{const{classes:t,checked:n,disabled:r,edge:o}=e,s={root:["root",n&&"checked",r&&"disabled",o&&`edge${Ce(o)}`],input:["input"]};return ze(s,L2,t)},I2=he(um)(({ownerState:e})=>_({padding:9,borderRadius:"50%"},e.edge==="start"&&{marginLeft:e.size==="small"?-3:-12},e.edge==="end"&&{marginRight:e.size==="small"?-3:-12})),F2=he("input",{shouldForwardProp:Kt})({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),D2=b.forwardRef(function(t,n){const{autoFocus:r,checked:o,checkedIcon:s,className:i,defaultChecked:a,disabled:l,disableFocusRipple:u=!1,edge:c=!1,icon:d,id:f,inputProps:S,inputRef:h,name:m,onBlur:w,onChange:y,onFocus:p,readOnly:v,required:x=!1,tabIndex:C,type:E,value:R}=t,T=ve(t,$2),[M,$]=Qi({controlled:o,default:!!a,name:"SwitchBase",state:"checked"}),H=Cr(),U=j=>{p&&p(j),H&&H.onFocus&&H.onFocus(j)},F=j=>{w&&w(j),H&&H.onBlur&&H.onBlur(j)},z=j=>{if(j.nativeEvent.defaultPrevented)return;const D=j.target.checked;$(D),y&&y(j,D)};let K=l;H&&typeof K>"u"&&(K=H.disabled);const Q=E==="checkbox"||E==="radio",G=_({},t,{checked:M,disabled:K,disableFocusRipple:u,edge:c}),O=M2(G);return g.jsxs(I2,_({component:"span",className:Re(O.root,i),centerRipple:!0,focusRipple:!u,disabled:K,tabIndex:null,role:void 0,onFocus:U,onBlur:F,ownerState:G,ref:n},T,{children:[g.jsx(F2,_({autoFocus:r,checked:o,defaultChecked:a,className:O.input,disabled:K,id:Q?f:void 0,name:m,onChange:z,readOnly:v,ref:h,required:x,ownerState:G,tabIndex:C,type:E},E==="checkbox"&&R===void 0?{}:{value:R},S)),M?s:d]}))}),j2=D2,B2=(e,t)=>_({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%"},t&&!e.vars&&{colorScheme:e.palette.mode}),U2=e=>_({color:(e.vars||e).palette.text.primary},e.typography.body1,{backgroundColor:(e.vars||e).palette.background.default,"@media print":{backgroundColor:(e.vars||e).palette.common.white}}),z2=(e,t=!1)=>{var n;const r={};t&&e.colorSchemes&&Object.entries(e.colorSchemes).forEach(([i,a])=>{var l;r[e.getColorSchemeSelector(i).replace(/\s*&/,"")]={colorScheme:(l=a.palette)==null?void 0:l.mode}});let o=_({html:B2(e,t),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:e.typography.fontWeightBold},body:_({margin:0},U2(e),{"&::backdrop":{backgroundColor:(e.vars||e).palette.background.default}})},r);const s=(n=e.components)==null||(n=n.MuiCssBaseline)==null?void 0:n.styleOverrides;return s&&(o=[o,s]),o};function V2(e){const t=Ve({props:e,name:"MuiCssBaseline"}),{children:n,enableColorScheme:r=!1}=t;return g.jsxs(b.Fragment,{children:[g.jsx(gb,{styles:o=>z2(o,r)}),n]})}function W2(e){return je("MuiModal",e)}Ie("MuiModal",["root","hidden","backdrop"]);const H2=["BackdropComponent","BackdropProps","classes","className","closeAfterTransition","children","container","component","components","componentsProps","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","onBackdropClick","onClose","onTransitionEnter","onTransitionExited","open","slotProps","slots","theme"],q2=e=>{const{open:t,exited:n,classes:r}=e;return ze({root:["root",!t&&n&&"hidden"],backdrop:["backdrop"]},W2,r)},K2=he("div",{name:"MuiModal",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.open&&n.exited&&t.hidden]}})(({theme:e,ownerState:t})=>_({position:"fixed",zIndex:(e.vars||e).zIndex.modal,right:0,bottom:0,top:0,left:0},!t.open&&t.exited&&{visibility:"hidden"})),G2=he(bb,{name:"MuiModal",slot:"Backdrop",overridesResolver:(e,t)=>t.backdrop})({zIndex:-1}),Q2=b.forwardRef(function(t,n){var r,o,s,i,a,l;const u=Ve({name:"MuiModal",props:t}),{BackdropComponent:c=G2,BackdropProps:d,className:f,closeAfterTransition:S=!1,children:h,container:m,component:w,components:y={},componentsProps:p={},disableAutoFocus:v=!1,disableEnforceFocus:x=!1,disableEscapeKeyDown:C=!1,disablePortal:E=!1,disableRestoreFocus:R=!1,disableScrollLock:T=!1,hideBackdrop:M=!1,keepMounted:$=!1,onBackdropClick:H,open:U,slotProps:F,slots:z}=u,K=ve(u,H2),Q=_({},u,{closeAfterTransition:S,disableAutoFocus:v,disableEnforceFocus:x,disableEscapeKeyDown:C,disablePortal:E,disableRestoreFocus:R,disableScrollLock:T,hideBackdrop:M,keepMounted:$}),{getRootProps:G,getBackdropProps:O,getTransitionProps:j,portalRef:D,isTopModal:J,exited:P,hasTransition:q}=IA(_({},Q,{rootRef:n})),B=_({},Q,{exited:P}),re=q2(B),X={};if(h.props.tabIndex===void 0&&(X.tabIndex="-1"),q){const{onEnter:pe,onExited:_e}=j();X.onEnter=pe,X.onExited=_e}const ue=(r=(o=z==null?void 0:z.root)!=null?o:y.Root)!=null?r:K2,ce=(s=(i=z==null?void 0:z.backdrop)!=null?i:y.Backdrop)!=null?s:c,te=(a=F==null?void 0:F.root)!=null?a:p.root,Ee=(l=F==null?void 0:F.backdrop)!=null?l:p.backdrop,Se=Es({elementType:ue,externalSlotProps:te,externalForwardedProps:K,getSlotProps:G,additionalProps:{ref:n,as:w},ownerState:B,className:Re(f,te==null?void 0:te.className,re==null?void 0:re.root,!B.open&&B.exited&&(re==null?void 0:re.hidden))}),ye=Es({elementType:ce,externalSlotProps:Ee,additionalProps:d,getSlotProps:pe=>O(_({},pe,{onClick:_e=>{H&&H(_e),pe!=null&&pe.onClick&&pe.onClick(_e)}})),className:Re(Ee==null?void 0:Ee.className,d==null?void 0:d.className,re==null?void 0:re.backdrop),ownerState:B});return!$&&!U&&(!q||P)?null:g.jsx(kA,{ref:D,container:m,disablePortal:E,children:g.jsxs(ue,_({},Se,{children:[!M&&c?g.jsx(ce,_({},ye)):null,g.jsx(EA,{disableEnforceFocus:x,disableAutoFocus:v,disableRestoreFocus:R,isEnabled:J,open:U,children:b.cloneElement(h,X)})]}))})}),wb=Q2;function X2(e){return je("MuiDialog",e)}const Y2=Ie("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]),Xd=Y2,J2=b.createContext({}),Z2=J2,eN=["aria-describedby","aria-labelledby","BackdropComponent","BackdropProps","children","className","disableEscapeKeyDown","fullScreen","fullWidth","maxWidth","onBackdropClick","onClose","open","PaperComponent","PaperProps","scroll","TransitionComponent","transitionDuration","TransitionProps"],tN=he(bb,{name:"MuiDialog",slot:"Backdrop",overrides:(e,t)=>t.backdrop})({zIndex:-1}),nN=e=>{const{classes:t,scroll:n,maxWidth:r,fullWidth:o,fullScreen:s}=e,i={root:["root"],container:["container",`scroll${Ce(n)}`],paper:["paper",`paperScroll${Ce(n)}`,`paperWidth${Ce(String(r))}`,o&&"paperFullWidth",s&&"paperFullScreen"]};return ze(i,X2,t)},rN=he(wb,{name:"MuiDialog",slot:"Root",overridesResolver:(e,t)=>t.root})({"@media print":{position:"absolute !important"}}),oN=he("div",{name:"MuiDialog",slot:"Container",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.container,t[`scroll${Ce(n.scroll)}`]]}})(({ownerState:e})=>_({height:"100%","@media print":{height:"auto"},outline:0},e.scroll==="paper"&&{display:"flex",justifyContent:"center",alignItems:"center"},e.scroll==="body"&&{overflowY:"auto",overflowX:"hidden",textAlign:"center","&::after":{content:'""',display:"inline-block",verticalAlign:"middle",height:"100%",width:"0"}})),sN=he(Mc,{name:"MuiDialog",slot:"Paper",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.paper,t[`scrollPaper${Ce(n.scroll)}`],t[`paperWidth${Ce(String(n.maxWidth))}`],n.fullWidth&&t.paperFullWidth,n.fullScreen&&t.paperFullScreen]}})(({theme:e,ownerState:t})=>_({margin:32,position:"relative",overflowY:"auto","@media print":{overflowY:"visible",boxShadow:"none"}},t.scroll==="paper"&&{display:"flex",flexDirection:"column",maxHeight:"calc(100% - 64px)"},t.scroll==="body"&&{display:"inline-block",verticalAlign:"middle",textAlign:"left"},!t.maxWidth&&{maxWidth:"calc(100% - 64px)"},t.maxWidth==="xs"&&{maxWidth:e.breakpoints.unit==="px"?Math.max(e.breakpoints.values.xs,444):`max(${e.breakpoints.values.xs}${e.breakpoints.unit}, 444px)`,[`&.${Xd.paperScrollBody}`]:{[e.breakpoints.down(Math.max(e.breakpoints.values.xs,444)+32*2)]:{maxWidth:"calc(100% - 64px)"}}},t.maxWidth&&t.maxWidth!=="xs"&&{maxWidth:`${e.breakpoints.values[t.maxWidth]}${e.breakpoints.unit}`,[`&.${Xd.paperScrollBody}`]:{[e.breakpoints.down(e.breakpoints.values[t.maxWidth]+32*2)]:{maxWidth:"calc(100% - 64px)"}}},t.fullWidth&&{width:"calc(100% - 64px)"},t.fullScreen&&{margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0,[`&.${Xd.paperScrollBody}`]:{margin:0,maxWidth:"100%"}})),iN=b.forwardRef(function(t,n){const r=Ve({props:t,name:"MuiDialog"}),o=ac(),s={enter:o.transitions.duration.enteringScreen,exit:o.transitions.duration.leavingScreen},{"aria-describedby":i,"aria-labelledby":a,BackdropComponent:l,BackdropProps:u,children:c,className:d,disableEscapeKeyDown:f=!1,fullScreen:S=!1,fullWidth:h=!1,maxWidth:m="sm",onBackdropClick:w,onClose:y,open:p,PaperComponent:v=Mc,PaperProps:x={},scroll:C="paper",TransitionComponent:E=Sb,transitionDuration:R=s,TransitionProps:T}=r,M=ve(r,eN),$=_({},r,{disableEscapeKeyDown:f,fullScreen:S,fullWidth:h,maxWidth:m,scroll:C}),H=nN($),U=b.useRef(),F=G=>{U.current=G.target===G.currentTarget},z=G=>{U.current&&(U.current=null,w&&w(G),y&&y(G,"backdropClick"))},K=Sa(a),Q=b.useMemo(()=>({titleId:K}),[K]);return g.jsx(rN,_({className:Re(H.root,d),closeAfterTransition:!0,components:{Backdrop:tN},componentsProps:{backdrop:_({transitionDuration:R,as:l},u)},disableEscapeKeyDown:f,onClose:y,open:p,ref:n,onClick:z,ownerState:$},M,{children:g.jsx(E,_({appear:!0,in:p,timeout:R,role:"presentation"},T,{children:g.jsx(oN,{className:Re(H.container),onMouseDown:F,ownerState:$,children:g.jsx(sN,_({as:v,elevation:24,role:"dialog","aria-describedby":i,"aria-labelledby":K},x,{className:Re(H.paper,x.className),ownerState:$,children:g.jsx(Z2.Provider,{value:Q,children:c})}))})}))}))}),aN=iN,lN=Ie("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]),Qy=lN,uN=["disableUnderline","components","componentsProps","fullWidth","hiddenLabel","inputComponent","multiline","slotProps","slots","type"],cN=e=>{const{classes:t,disableUnderline:n}=e,o=ze({root:["root",!n&&"underline"],input:["input"]},JA,t);return _({},t,o)},dN=he(jc,{shouldForwardProp:e=>Kt(e)||e==="classes",name:"MuiFilledInput",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[...Fc(e,t),!n.disableUnderline&&t.underline]}})(({theme:e,ownerState:t})=>{var n;const r=e.palette.mode==="light",o=r?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)",s=r?"rgba(0, 0, 0, 0.06)":"rgba(255, 255, 255, 0.09)",i=r?"rgba(0, 0, 0, 0.09)":"rgba(255, 255, 255, 0.13)",a=r?"rgba(0, 0, 0, 0.12)":"rgba(255, 255, 255, 0.12)";return _({position:"relative",backgroundColor:e.vars?e.vars.palette.FilledInput.bg:s,borderTopLeftRadius:(e.vars||e).shape.borderRadius,borderTopRightRadius:(e.vars||e).shape.borderRadius,transition:e.transitions.create("background-color",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),"&:hover":{backgroundColor:e.vars?e.vars.palette.FilledInput.hoverBg:i,"@media (hover: none)":{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:s}},[`&.${oo.focused}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.bg:s},[`&.${oo.disabled}`]:{backgroundColor:e.vars?e.vars.palette.FilledInput.disabledBg:a}},!t.disableUnderline&&{"&::after":{borderBottom:`2px solid ${(n=(e.vars||e).palette[t.color||"primary"])==null?void 0:n.main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${oo.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${oo.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`:o}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${oo.disabled}, .${oo.error}):before`]:{borderBottom:`1px solid ${(e.vars||e).palette.text.primary}`},[`&.${oo.disabled}:before`]:{borderBottomStyle:"dotted"}},t.startAdornment&&{paddingLeft:12},t.endAdornment&&{paddingRight:12},t.multiline&&_({padding:"25px 12px 8px"},t.size==="small"&&{paddingTop:21,paddingBottom:4},t.hiddenLabel&&{paddingTop:16,paddingBottom:17},t.hiddenLabel&&t.size==="small"&&{paddingTop:8,paddingBottom:9}))}),fN=he(Bc,{name:"MuiFilledInput",slot:"Input",overridesResolver:Dc})(({theme:e,ownerState:t})=>_({paddingTop:25,paddingRight:12,paddingBottom:8,paddingLeft:12},!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"}},e.vars&&{"&:-webkit-autofill":{borderTopLeftRadius:"inherit",borderTopRightRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},t.size==="small"&&{paddingTop:21,paddingBottom:4},t.hiddenLabel&&{paddingTop:16,paddingBottom:17},t.startAdornment&&{paddingLeft:0},t.endAdornment&&{paddingRight:0},t.hiddenLabel&&t.size==="small"&&{paddingTop:8,paddingBottom:9},t.multiline&&{paddingTop:0,paddingBottom:0,paddingLeft:0,paddingRight:0})),Rb=b.forwardRef(function(t,n){var r,o,s,i;const a=Ve({props:t,name:"MuiFilledInput"}),{components:l={},componentsProps:u,fullWidth:c=!1,inputComponent:d="input",multiline:f=!1,slotProps:S,slots:h={},type:m="text"}=a,w=ve(a,uN),y=_({},a,{fullWidth:c,inputComponent:d,multiline:f,type:m}),p=cN(a),v={root:{ownerState:y},input:{ownerState:y}},x=S??u?en(v,S??u):v,C=(r=(o=h.root)!=null?o:l.Root)!=null?r:dN,E=(s=(i=h.input)!=null?i:l.Input)!=null?s:fN;return g.jsx(dm,_({slots:{root:C,input:E},componentsProps:x,fullWidth:c,inputComponent:d,multiline:f,ref:n,type:m},w,{classes:p}))});Rb.muiName="Input";const Cb=Rb;function pN(e){return je("MuiFormControl",e)}Ie("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]);const hN=["children","className","color","component","disabled","error","focused","fullWidth","hiddenLabel","margin","required","size","variant"],mN=e=>{const{classes:t,margin:n,fullWidth:r}=e,o={root:["root",n!=="none"&&`margin${Ce(n)}`,r&&"fullWidth"]};return ze(o,pN,t)},vN=he("div",{name:"MuiFormControl",slot:"Root",overridesResolver:({ownerState:e},t)=>_({},t.root,t[`margin${Ce(e.margin)}`],e.fullWidth&&t.fullWidth)})(({ownerState:e})=>_({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top"},e.margin==="normal"&&{marginTop:16,marginBottom:8},e.margin==="dense"&&{marginTop:8,marginBottom:4},e.fullWidth&&{width:"100%"})),yN=b.forwardRef(function(t,n){const r=Ve({props:t,name:"MuiFormControl"}),{children:o,className:s,color:i="primary",component:a="div",disabled:l=!1,error:u=!1,focused:c,fullWidth:d=!1,hiddenLabel:f=!1,margin:S="none",required:h=!1,size:m="medium",variant:w="outlined"}=r,y=ve(r,hN),p=_({},r,{color:i,component:a,disabled:l,error:u,fullWidth:d,hiddenLabel:f,margin:S,required:h,size:m,variant:w}),v=mN(p),[x,C]=b.useState(()=>{let F=!1;return o&&b.Children.forEach(o,z=>{if(!Sl(z,["Input","Select"]))return;const K=Sl(z,["Select"])?z.props.input:z;K&&UA(K.props)&&(F=!0)}),F}),[E,R]=b.useState(()=>{let F=!1;return o&&b.Children.forEach(o,z=>{Sl(z,["Input","Select"])&&(vu(z.props,!0)||vu(z.props.inputProps,!0))&&(F=!0)}),F}),[T,M]=b.useState(!1);l&&T&&M(!1);const $=c!==void 0&&!l?c:T;let H;const U=b.useMemo(()=>({adornedStart:x,setAdornedStart:C,color:i,disabled:l,error:u,filled:E,focused:$,fullWidth:d,hiddenLabel:f,size:m,onBlur:()=>{M(!1)},onEmpty:()=>{R(!1)},onFilled:()=>{R(!0)},onFocus:()=>{M(!0)},registerEffect:H,required:h,variant:w}),[x,i,l,u,E,$,d,f,H,h,m,w]);return g.jsx(cm.Provider,{value:U,children:g.jsx(vN,_({as:a,ownerState:p,className:Re(v.root,s),ref:n},y,{children:o}))})}),Xn=yN,gN=K_({createStyledComponent:he("div",{name:"MuiStack",slot:"Root",overridesResolver:(e,t)=>t.root}),useThemeProps:e=>Ve({props:e,name:"MuiStack"})}),SN=gN;function bN(e){return je("MuiFormControlLabel",e)}const xN=Ie("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error","required","asterisk"]),Ei=xN,wN=["checked","className","componentsProps","control","disabled","disableTypography","inputRef","label","labelPlacement","name","onChange","required","slotProps","value"],RN=e=>{const{classes:t,disabled:n,labelPlacement:r,error:o,required:s}=e,i={root:["root",n&&"disabled",`labelPlacement${Ce(r)}`,o&&"error",s&&"required"],label:["label",n&&"disabled"],asterisk:["asterisk",o&&"error"]};return ze(i,bN,t)},CN=he("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${Ei.label}`]:t.label},t.root,t[`labelPlacement${Ce(n.labelPlacement)}`]]}})(({theme:e,ownerState:t})=>_({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16,[`&.${Ei.disabled}`]:{cursor:"default"}},t.labelPlacement==="start"&&{flexDirection:"row-reverse",marginLeft:16,marginRight:-11},t.labelPlacement==="top"&&{flexDirection:"column-reverse",marginLeft:16},t.labelPlacement==="bottom"&&{flexDirection:"column",marginLeft:16},{[`& .${Ei.label}`]:{[`&.${Ei.disabled}`]:{color:(e.vars||e).palette.text.disabled}}})),EN=he("span",{name:"MuiFormControlLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})(({theme:e})=>({[`&.${Ei.error}`]:{color:(e.vars||e).palette.error.main}})),_N=b.forwardRef(function(t,n){var r,o;const s=Ve({props:t,name:"MuiFormControlLabel"}),{className:i,componentsProps:a={},control:l,disabled:u,disableTypography:c,label:d,labelPlacement:f="end",required:S,slotProps:h={}}=s,m=ve(s,wN),w=Cr(),y=(r=u??l.props.disabled)!=null?r:w==null?void 0:w.disabled,p=S??l.props.required,v={disabled:y,required:p};["checked","name","onChange","value","inputRef"].forEach(M=>{typeof l.props[M]>"u"&&typeof s[M]<"u"&&(v[M]=s[M])});const x=to({props:s,muiFormControl:w,states:["error"]}),C=_({},s,{disabled:y,labelPlacement:f,required:p,error:x.error}),E=RN(C),R=(o=h.typography)!=null?o:a.typography;let T=d;return T!=null&&T.type!==Wy&&!c&&(T=g.jsx(Wy,_({component:"span"},R,{className:Re(E.label,R==null?void 0:R.className),children:T}))),g.jsxs(CN,_({className:Re(E.root,i),ownerState:C,ref:n},m,{children:[b.cloneElement(l,v),p?g.jsxs(SN,{display:"block",children:[T,g.jsxs(EN,{ownerState:C,"aria-hidden":!0,className:E.asterisk,children:[" ","*"]})]}):T]}))}),kN=_N;function TN(e){return je("MuiFormGroup",e)}Ie("MuiFormGroup",["root","row","error"]);const PN=["className","row"],AN=e=>{const{classes:t,row:n,error:r}=e;return ze({root:["root",n&&"row",r&&"error"]},TN,t)},NN=he("div",{name:"MuiFormGroup",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.row&&t.row]}})(({ownerState:e})=>_({display:"flex",flexDirection:"column",flexWrap:"wrap"},e.row&&{flexDirection:"row"})),ON=b.forwardRef(function(t,n){const r=Ve({props:t,name:"MuiFormGroup"}),{className:o,row:s=!1}=r,i=ve(r,PN),a=Cr(),l=to({props:r,muiFormControl:a,states:["error"]}),u=_({},r,{row:s,error:l.error}),c=AN(u);return g.jsx(NN,_({className:Re(c.root,o),ownerState:u,ref:n},i))}),LN=ON;function $N(e){return je("MuiFormHelperText",e)}const MN=Ie("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]),Xy=MN;var Yy;const IN=["children","className","component","disabled","error","filled","focused","margin","required","variant"],FN=e=>{const{classes:t,contained:n,size:r,disabled:o,error:s,filled:i,focused:a,required:l}=e,u={root:["root",o&&"disabled",s&&"error",r&&`size${Ce(r)}`,n&&"contained",a&&"focused",i&&"filled",l&&"required"]};return ze(u,$N,t)},DN=he("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.size&&t[`size${Ce(n.size)}`],n.contained&&t.contained,n.filled&&t.filled]}})(({theme:e,ownerState:t})=>_({color:(e.vars||e).palette.text.secondary},e.typography.caption,{textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0,[`&.${Xy.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${Xy.error}`]:{color:(e.vars||e).palette.error.main}},t.size==="small"&&{marginTop:4},t.contained&&{marginLeft:14,marginRight:14})),jN=b.forwardRef(function(t,n){const r=Ve({props:t,name:"MuiFormHelperText"}),{children:o,className:s,component:i="p"}=r,a=ve(r,IN),l=Cr(),u=to({props:r,muiFormControl:l,states:["variant","size","disabled","error","filled","focused","required"]}),c=_({},r,{component:i,contained:u.variant==="filled"||u.variant==="outlined",variant:u.variant,size:u.size,disabled:u.disabled,error:u.error,filled:u.filled,focused:u.focused,required:u.required}),d=FN(c);return g.jsx(DN,_({as:i,ownerState:c,className:Re(d.root,s),ref:n},a,{children:o===" "?Yy||(Yy=g.jsx("span",{className:"notranslate",children:"​"})):o}))}),BN=jN;function UN(e){return je("MuiFormLabel",e)}const zN=Ie("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),Bi=zN,VN=["children","className","color","component","disabled","error","filled","focused","required"],WN=e=>{const{classes:t,color:n,focused:r,disabled:o,error:s,filled:i,required:a}=e,l={root:["root",`color${Ce(n)}`,o&&"disabled",s&&"error",i&&"filled",r&&"focused",a&&"required"],asterisk:["asterisk",s&&"error"]};return ze(l,UN,t)},HN=he("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:({ownerState:e},t)=>_({},t.root,e.color==="secondary"&&t.colorSecondary,e.filled&&t.filled)})(({theme:e,ownerState:t})=>_({color:(e.vars||e).palette.text.secondary},e.typography.body1,{lineHeight:"1.4375em",padding:0,position:"relative",[`&.${Bi.focused}`]:{color:(e.vars||e).palette[t.color].main},[`&.${Bi.disabled}`]:{color:(e.vars||e).palette.text.disabled},[`&.${Bi.error}`]:{color:(e.vars||e).palette.error.main}})),qN=he("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:(e,t)=>t.asterisk})(({theme:e})=>({[`&.${Bi.error}`]:{color:(e.vars||e).palette.error.main}})),KN=b.forwardRef(function(t,n){const r=Ve({props:t,name:"MuiFormLabel"}),{children:o,className:s,component:i="label"}=r,a=ve(r,VN),l=Cr(),u=to({props:r,muiFormControl:l,states:["color","required","focused","disabled","error","filled"]}),c=_({},r,{color:u.color||"primary",component:i,disabled:u.disabled,error:u.error,filled:u.filled,focused:u.focused,required:u.required}),d=WN(c);return g.jsxs(HN,_({as:i,ownerState:c,className:Re(d.root,s),ref:n},a,{children:[o,u.required&&g.jsxs(qN,{ownerState:c,"aria-hidden":!0,className:d.asterisk,children:[" ","*"]})]}))}),GN=KN,QN=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function bp(e){return`scale(${e}, ${e**2})`}const XN={entering:{opacity:1,transform:bp(1)},entered:{opacity:1,transform:"none"}},Yd=typeof navigator<"u"&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)4/i.test(navigator.userAgent),Eb=b.forwardRef(function(t,n){const{addEndListener:r,appear:o=!0,children:s,easing:i,in:a,onEnter:l,onEntered:u,onEntering:c,onExit:d,onExited:f,onExiting:S,style:h,timeout:m="auto",TransitionComponent:w=mb}=t,y=ve(t,QN),p=X0(),v=b.useRef(),x=ac(),C=b.useRef(null),E=Lt(C,s.ref,n),R=K=>Q=>{if(K){const G=C.current;Q===void 0?K(G):K(G,Q)}},T=R(c),M=R((K,Q)=>{vb(K);const{duration:G,delay:O,easing:j}=hu({style:h,timeout:m,easing:i},{mode:"enter"});let D;m==="auto"?(D=x.transitions.getAutoHeightDuration(K.clientHeight),v.current=D):D=G,K.style.transition=[x.transitions.create("opacity",{duration:D,delay:O}),x.transitions.create("transform",{duration:Yd?D:D*.666,delay:O,easing:j})].join(","),l&&l(K,Q)}),$=R(u),H=R(S),U=R(K=>{const{duration:Q,delay:G,easing:O}=hu({style:h,timeout:m,easing:i},{mode:"exit"});let j;m==="auto"?(j=x.transitions.getAutoHeightDuration(K.clientHeight),v.current=j):j=Q,K.style.transition=[x.transitions.create("opacity",{duration:j,delay:G}),x.transitions.create("transform",{duration:Yd?j:j*.666,delay:Yd?G:G||j*.333,easing:O})].join(","),K.style.opacity=0,K.style.transform=bp(.75),d&&d(K)}),F=R(f),z=K=>{m==="auto"&&p.start(v.current||0,K),r&&r(C.current,K)};return g.jsx(w,_({appear:o,in:a,nodeRef:C,onEnter:M,onEntered:$,onEntering:T,onExit:U,onExited:F,onExiting:H,addEndListener:z,timeout:m==="auto"?null:m},y,{children:(K,Q)=>b.cloneElement(s,_({style:_({opacity:0,transform:bp(.75),visibility:K==="exited"&&!a?"hidden":void 0},XN[K],h,s.props.style),ref:E},Q))}))});Eb.muiSupportAuto=!0;const YN=Eb,JN=["disableUnderline","components","componentsProps","fullWidth","inputComponent","multiline","slotProps","slots","type"],ZN=e=>{const{classes:t,disableUnderline:n}=e,o=ze({root:["root",!n&&"underline"],input:["input"]},GA,t);return _({},t,o)},eO=he(jc,{shouldForwardProp:e=>Kt(e)||e==="classes",name:"MuiInput",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[...Fc(e,t),!n.disableUnderline&&t.underline]}})(({theme:e,ownerState:t})=>{let r=e.palette.mode==="light"?"rgba(0, 0, 0, 0.42)":"rgba(255, 255, 255, 0.7)";return e.vars&&(r=`rgba(${e.vars.palette.common.onBackgroundChannel} / ${e.vars.opacity.inputUnderline})`),_({position:"relative"},t.formControl&&{"label + &":{marginTop:16}},!t.disableUnderline&&{"&::after":{borderBottom:`2px solid ${(e.vars||e).palette[t.color].main}`,left:0,bottom:0,content:'""',position:"absolute",right:0,transform:"scaleX(0)",transition:e.transitions.create("transform",{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut}),pointerEvents:"none"},[`&.${ai.focused}:after`]:{transform:"scaleX(1) translateX(0)"},[`&.${ai.error}`]:{"&::before, &::after":{borderBottomColor:(e.vars||e).palette.error.main}},"&::before":{borderBottom:`1px solid ${r}`,left:0,bottom:0,content:'"\\00a0"',position:"absolute",right:0,transition:e.transitions.create("border-bottom-color",{duration:e.transitions.duration.shorter}),pointerEvents:"none"},[`&:hover:not(.${ai.disabled}, .${ai.error}):before`]:{borderBottom:`2px solid ${(e.vars||e).palette.text.primary}`,"@media (hover: none)":{borderBottom:`1px solid ${r}`}},[`&.${ai.disabled}:before`]:{borderBottomStyle:"dotted"}})}),tO=he(Bc,{name:"MuiInput",slot:"Input",overridesResolver:Dc})({}),_b=b.forwardRef(function(t,n){var r,o,s,i;const a=Ve({props:t,name:"MuiInput"}),{disableUnderline:l,components:u={},componentsProps:c,fullWidth:d=!1,inputComponent:f="input",multiline:S=!1,slotProps:h,slots:m={},type:w="text"}=a,y=ve(a,JN),p=ZN(a),x={root:{ownerState:{disableUnderline:l}}},C=h??c?en(h??c,x):x,E=(r=(o=m.root)!=null?o:u.Root)!=null?r:eO,R=(s=(i=m.input)!=null?i:u.Input)!=null?s:tO;return g.jsx(dm,_({slots:{root:E,input:R},slotProps:C,fullWidth:d,inputComponent:f,multiline:S,ref:n,type:w},y,{classes:p}))});_b.muiName="Input";const kb=_b;function nO(e){return je("MuiInputLabel",e)}Ie("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);const rO=["disableAnimation","margin","shrink","variant","className"],oO=e=>{const{classes:t,formControl:n,size:r,shrink:o,disableAnimation:s,variant:i,required:a}=e,l={root:["root",n&&"formControl",!s&&"animated",o&&"shrink",r&&r!=="normal"&&`size${Ce(r)}`,i],asterisk:[a&&"asterisk"]},u=ze(l,nO,t);return _({},t,u)},sO=he(GN,{shouldForwardProp:e=>Kt(e)||e==="classes",name:"MuiInputLabel",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`& .${Bi.asterisk}`]:t.asterisk},t.root,n.formControl&&t.formControl,n.size==="small"&&t.sizeSmall,n.shrink&&t.shrink,!n.disableAnimation&&t.animated,n.focused&&t.focused,t[n.variant]]}})(({theme:e,ownerState:t})=>_({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},t.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},t.size==="small"&&{transform:"translate(0, 17px) scale(1)"},t.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!t.disableAnimation&&{transition:e.transitions.create(["color","transform","max-width"],{duration:e.transitions.duration.shorter,easing:e.transitions.easing.easeOut})},t.variant==="filled"&&_({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},t.size==="small"&&{transform:"translate(12px, 13px) scale(1)"},t.shrink&&_({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},t.size==="small"&&{transform:"translate(12px, 4px) scale(0.75)"})),t.variant==="outlined"&&_({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},t.size==="small"&&{transform:"translate(14px, 9px) scale(1)"},t.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 32px)",transform:"translate(14px, -9px) scale(0.75)"}))),iO=b.forwardRef(function(t,n){const r=Ve({name:"MuiInputLabel",props:t}),{disableAnimation:o=!1,shrink:s,className:i}=r,a=ve(r,rO),l=Cr();let u=s;typeof u>"u"&&l&&(u=l.filled||l.focused||l.adornedStart);const c=to({props:r,muiFormControl:l,states:["size","variant","required","focused"]}),d=_({},r,{disableAnimation:o,formControl:l,shrink:u,size:c.size,variant:c.variant,required:c.required,focused:c.focused}),f=oO(d);return g.jsx(sO,_({"data-shrink":u,ownerState:d,ref:n,className:Re(f.root,i)},a,{classes:f}))}),xp=iO,aO=b.createContext({}),wp=aO;function lO(e){return je("MuiList",e)}Ie("MuiList",["root","padding","dense","subheader"]);const uO=["children","className","component","dense","disablePadding","subheader"],cO=e=>{const{classes:t,disablePadding:n,dense:r,subheader:o}=e;return ze({root:["root",!n&&"padding",r&&"dense",o&&"subheader"]},lO,t)},dO=he("ul",{name:"MuiList",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,!n.disablePadding&&t.padding,n.dense&&t.dense,n.subheader&&t.subheader]}})(({ownerState:e})=>_({listStyle:"none",margin:0,padding:0,position:"relative"},!e.disablePadding&&{paddingTop:8,paddingBottom:8},e.subheader&&{paddingTop:0})),fO=b.forwardRef(function(t,n){const r=Ve({props:t,name:"MuiList"}),{children:o,className:s,component:i="ul",dense:a=!1,disablePadding:l=!1,subheader:u}=r,c=ve(r,uO),d=b.useMemo(()=>({dense:a}),[a]),f=_({},r,{component:i,dense:a,disablePadding:l}),S=cO(f);return g.jsx(wp.Provider,{value:d,children:g.jsxs(dO,_({as:i,className:Re(S.root,s),ref:n,ownerState:f},c,{children:[u,o]}))})}),pO=fO,hO=Ie("MuiListItemIcon",["root","alignItemsFlexStart"]),Jy=hO,mO=Ie("MuiListItemText",["root","multiline","dense","inset","primary","secondary"]),Zy=mO,vO=["actions","autoFocus","autoFocusItem","children","className","disabledItemsFocusable","disableListWrap","onKeyDown","variant"];function Jd(e,t,n){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:n?null:e.firstChild}function eg(e,t,n){return e===t?n?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:n?null:e.lastChild}function Tb(e,t){if(t===void 0)return!0;let n=e.innerText;return n===void 0&&(n=e.textContent),n=n.trim().toLowerCase(),n.length===0?!1:t.repeating?n[0]===t.keys[0]:n.indexOf(t.keys.join(""))===0}function li(e,t,n,r,o,s){let i=!1,a=o(e,t,t?n:!1);for(;a;){if(a===e.firstChild){if(i)return!1;i=!0}const l=r?!1:a.disabled||a.getAttribute("aria-disabled")==="true";if(!a.hasAttribute("tabindex")||!Tb(a,s)||l)a=o(e,a,n);else return a.focus(),!0}return!1}const yO=b.forwardRef(function(t,n){const{actions:r,autoFocus:o=!1,autoFocusItem:s=!1,children:i,className:a,disabledItemsFocusable:l=!1,disableListWrap:u=!1,onKeyDown:c,variant:d="selectedMenu"}=t,f=ve(t,vO),S=b.useRef(null),h=b.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});yr(()=>{o&&S.current.focus()},[o]),b.useImperativeHandle(r,()=>({adjustStyleForScrollbar:(v,x)=>{const C=!S.current.style.width;if(v.clientHeight{const x=S.current,C=v.key,E=tn(x).activeElement;if(C==="ArrowDown")v.preventDefault(),li(x,E,u,l,Jd);else if(C==="ArrowUp")v.preventDefault(),li(x,E,u,l,eg);else if(C==="Home")v.preventDefault(),li(x,null,u,l,Jd);else if(C==="End")v.preventDefault(),li(x,null,u,l,eg);else if(C.length===1){const R=h.current,T=C.toLowerCase(),M=performance.now();R.keys.length>0&&(M-R.lastTime>500?(R.keys=[],R.repeating=!0,R.previousKeyMatched=!0):R.repeating&&T!==R.keys[0]&&(R.repeating=!1)),R.lastTime=M,R.keys.push(T);const $=E&&!R.repeating&&Tb(E,R);R.previousKeyMatched&&($||li(x,E,!1,l,Jd,R))?v.preventDefault():R.previousKeyMatched=!1}c&&c(v)},w=Lt(S,n);let y=-1;b.Children.forEach(i,(v,x)=>{if(!b.isValidElement(v)){y===x&&(y+=1,y>=i.length&&(y=-1));return}v.props.disabled||(d==="selectedMenu"&&v.props.selected||y===-1)&&(y=x),y===x&&(v.props.disabled||v.props.muiSkipListHighlight||v.type.muiSkipListHighlight)&&(y+=1,y>=i.length&&(y=-1))});const p=b.Children.map(i,(v,x)=>{if(x===y){const C={};return s&&(C.autoFocus=!0),v.props.tabIndex===void 0&&d==="selectedMenu"&&(C.tabIndex=0),b.cloneElement(v,C)}return v});return g.jsx(pO,_({role:"menu",ref:w,className:a,onKeyDown:m,tabIndex:o?0:-1},f,{children:p}))}),gO=yO;function SO(e){return je("MuiPopover",e)}Ie("MuiPopover",["root","paper"]);const bO=["onEntering"],xO=["action","anchorEl","anchorOrigin","anchorPosition","anchorReference","children","className","container","elevation","marginThreshold","open","PaperProps","slots","slotProps","transformOrigin","TransitionComponent","transitionDuration","TransitionProps","disableScrollLock"],wO=["slotProps"];function tg(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.height/2:t==="bottom"&&(n=e.height),n}function ng(e,t){let n=0;return typeof t=="number"?n=t:t==="center"?n=e.width/2:t==="right"&&(n=e.width),n}function rg(e){return[e.horizontal,e.vertical].map(t=>typeof t=="number"?`${t}px`:t).join(" ")}function Zd(e){return typeof e=="function"?e():e}const RO=e=>{const{classes:t}=e;return ze({root:["root"],paper:["paper"]},SO,t)},CO=he(wb,{name:"MuiPopover",slot:"Root",overridesResolver:(e,t)=>t.root})({}),Pb=he(Mc,{name:"MuiPopover",slot:"Paper",overridesResolver:(e,t)=>t.paper})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),EO=b.forwardRef(function(t,n){var r,o,s;const i=Ve({props:t,name:"MuiPopover"}),{action:a,anchorEl:l,anchorOrigin:u={vertical:"top",horizontal:"left"},anchorPosition:c,anchorReference:d="anchorEl",children:f,className:S,container:h,elevation:m=8,marginThreshold:w=16,open:y,PaperProps:p={},slots:v,slotProps:x,transformOrigin:C={vertical:"top",horizontal:"left"},TransitionComponent:E=YN,transitionDuration:R="auto",TransitionProps:{onEntering:T}={},disableScrollLock:M=!1}=i,$=ve(i.TransitionProps,bO),H=ve(i,xO),U=(r=x==null?void 0:x.paper)!=null?r:p,F=b.useRef(),z=Lt(F,U.ref),K=_({},i,{anchorOrigin:u,anchorReference:d,elevation:m,marginThreshold:w,externalPaperSlotProps:U,transformOrigin:C,TransitionComponent:E,transitionDuration:R,TransitionProps:$}),Q=RO(K),G=b.useCallback(()=>{if(d==="anchorPosition")return c;const pe=Zd(l),Le=(pe&&pe.nodeType===1?pe:tn(F.current).body).getBoundingClientRect();return{top:Le.top+tg(Le,u.vertical),left:Le.left+ng(Le,u.horizontal)}},[l,u.horizontal,u.vertical,c,d]),O=b.useCallback(pe=>({vertical:tg(pe,C.vertical),horizontal:ng(pe,C.horizontal)}),[C.horizontal,C.vertical]),j=b.useCallback(pe=>{const _e={width:pe.offsetWidth,height:pe.offsetHeight},Le=O(_e);if(d==="none")return{top:null,left:null,transformOrigin:rg(Le)};const at=G();let Ke=at.top-Le.vertical,Mt=at.left-Le.horizontal;const k=Ke+_e.height,L=Mt+_e.width,I=Qr(Zd(l)),ne=I.innerHeight-w,Z=I.innerWidth-w;if(w!==null&&Kene){const V=k-ne;Ke-=V,Le.vertical+=V}if(w!==null&&MtZ){const V=L-Z;Mt-=V,Le.horizontal+=V}return{top:`${Math.round(Ke)}px`,left:`${Math.round(Mt)}px`,transformOrigin:rg(Le)}},[l,d,G,O,w]),[D,J]=b.useState(y),P=b.useCallback(()=>{const pe=F.current;if(!pe)return;const _e=j(pe);_e.top!==null&&(pe.style.top=_e.top),_e.left!==null&&(pe.style.left=_e.left),pe.style.transformOrigin=_e.transformOrigin,J(!0)},[j]);b.useEffect(()=>(M&&window.addEventListener("scroll",P),()=>window.removeEventListener("scroll",P)),[l,M,P]);const q=(pe,_e)=>{T&&T(pe,_e),P()},B=()=>{J(!1)};b.useEffect(()=>{y&&P()}),b.useImperativeHandle(a,()=>y?{updatePosition:()=>{P()}}:null,[y,P]),b.useEffect(()=>{if(!y)return;const pe=sh(()=>{P()}),_e=Qr(l);return _e.addEventListener("resize",pe),()=>{pe.clear(),_e.removeEventListener("resize",pe)}},[l,y,P]);let re=R;R==="auto"&&!E.muiSupportAuto&&(re=void 0);const X=h||(l?tn(Zd(l)).body:void 0),ue=(o=v==null?void 0:v.root)!=null?o:CO,ce=(s=v==null?void 0:v.paper)!=null?s:Pb,te=Es({elementType:ce,externalSlotProps:_({},U,{style:D?U.style:_({},U.style,{opacity:0})}),additionalProps:{elevation:m,ref:z},ownerState:K,className:Re(Q.paper,U==null?void 0:U.className)}),Ee=Es({elementType:ue,externalSlotProps:(x==null?void 0:x.root)||{},externalForwardedProps:H,additionalProps:{ref:n,slotProps:{backdrop:{invisible:!0}},container:X,open:y},ownerState:K,className:Re(Q.root,S)}),{slotProps:Se}=Ee,ye=ve(Ee,wO);return g.jsx(ue,_({},ye,!mu(ue)&&{slotProps:Se,disableScrollLock:M},{children:g.jsx(E,_({appear:!0,in:y,onEntering:q,onExited:B,timeout:re},$,{children:g.jsx(ce,_({},te,{children:f}))}))}))}),_O=EO;function kO(e){return je("MuiMenu",e)}Ie("MuiMenu",["root","paper","list"]);const TO=["onEntering"],PO=["autoFocus","children","className","disableAutoFocusItem","MenuListProps","onClose","open","PaperProps","PopoverClasses","transitionDuration","TransitionProps","variant","slots","slotProps"],AO={vertical:"top",horizontal:"right"},NO={vertical:"top",horizontal:"left"},OO=e=>{const{classes:t}=e;return ze({root:["root"],paper:["paper"],list:["list"]},kO,t)},LO=he(_O,{shouldForwardProp:e=>Kt(e)||e==="classes",name:"MuiMenu",slot:"Root",overridesResolver:(e,t)=>t.root})({}),$O=he(Pb,{name:"MuiMenu",slot:"Paper",overridesResolver:(e,t)=>t.paper})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),MO=he(gO,{name:"MuiMenu",slot:"List",overridesResolver:(e,t)=>t.list})({outline:0}),IO=b.forwardRef(function(t,n){var r,o;const s=Ve({props:t,name:"MuiMenu"}),{autoFocus:i=!0,children:a,className:l,disableAutoFocusItem:u=!1,MenuListProps:c={},onClose:d,open:f,PaperProps:S={},PopoverClasses:h,transitionDuration:m="auto",TransitionProps:{onEntering:w}={},variant:y="selectedMenu",slots:p={},slotProps:v={}}=s,x=ve(s.TransitionProps,TO),C=ve(s,PO),E=ac(),R=E.direction==="rtl",T=_({},s,{autoFocus:i,disableAutoFocusItem:u,MenuListProps:c,onEntering:w,PaperProps:S,transitionDuration:m,TransitionProps:x,variant:y}),M=OO(T),$=i&&!u&&f,H=b.useRef(null),U=(j,D)=>{H.current&&H.current.adjustStyleForScrollbar(j,E),w&&w(j,D)},F=j=>{j.key==="Tab"&&(j.preventDefault(),d&&d(j,"tabKeyDown"))};let z=-1;b.Children.map(a,(j,D)=>{b.isValidElement(j)&&(j.props.disabled||(y==="selectedMenu"&&j.props.selected||z===-1)&&(z=D))});const K=(r=p.paper)!=null?r:$O,Q=(o=v.paper)!=null?o:S,G=Es({elementType:p.root,externalSlotProps:v.root,ownerState:T,className:[M.root,l]}),O=Es({elementType:K,externalSlotProps:Q,ownerState:T,className:M.paper});return g.jsx(LO,_({onClose:d,anchorOrigin:{vertical:"bottom",horizontal:R?"right":"left"},transformOrigin:R?AO:NO,slots:{paper:K,root:p.root},slotProps:{root:G,paper:O},open:f,ref:n,transitionDuration:m,TransitionProps:_({onEntering:U},x),ownerState:T},C,{classes:h,children:g.jsx(MO,_({onKeyDown:F,actions:H,autoFocus:i&&(z===-1||u),autoFocusItem:$,variant:y},c,{className:Re(M.list,c.className),children:a}))}))}),FO=IO;function DO(e){return je("MuiMenuItem",e)}const jO=Ie("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),ui=jO,BO=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex","className"],UO=(e,t)=>{const{ownerState:n}=e;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]},zO=e=>{const{disabled:t,dense:n,divider:r,disableGutters:o,selected:s,classes:i}=e,l=ze({root:["root",n&&"dense",t&&"disabled",!o&&"gutters",r&&"divider",s&&"selected"]},DO,i);return _({},i,l)},VO=he(um,{shouldForwardProp:e=>Kt(e)||e==="classes",name:"MuiMenuItem",slot:"Root",overridesResolver:UO})(({theme:e,ownerState:t})=>_({},e.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!t.disableGutters&&{paddingLeft:16,paddingRight:16},t.divider&&{borderBottom:`1px solid ${(e.vars||e).palette.divider}`,backgroundClip:"padding-box"},{"&:hover":{textDecoration:"none",backgroundColor:(e.vars||e).palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}},[`&.${ui.selected}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:Vn(e.palette.primary.main,e.palette.action.selectedOpacity),[`&.${ui.focusVisible}`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.focusOpacity}))`:Vn(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.focusOpacity)}},[`&.${ui.selected}:hover`]:{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / calc(${e.vars.palette.action.selectedOpacity} + ${e.vars.palette.action.hoverOpacity}))`:Vn(e.palette.primary.main,e.palette.action.selectedOpacity+e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:e.vars?`rgba(${e.vars.palette.primary.mainChannel} / ${e.vars.palette.action.selectedOpacity})`:Vn(e.palette.primary.main,e.palette.action.selectedOpacity)}},[`&.${ui.focusVisible}`]:{backgroundColor:(e.vars||e).palette.action.focus},[`&.${ui.disabled}`]:{opacity:(e.vars||e).palette.action.disabledOpacity},[`& + .${Qy.root}`]:{marginTop:e.spacing(1),marginBottom:e.spacing(1)},[`& + .${Qy.inset}`]:{marginLeft:52},[`& .${Zy.root}`]:{marginTop:0,marginBottom:0},[`& .${Zy.inset}`]:{paddingLeft:36},[`& .${Jy.root}`]:{minWidth:36}},!t.dense&&{[e.breakpoints.up("sm")]:{minHeight:"auto"}},t.dense&&_({minHeight:32,paddingTop:4,paddingBottom:4},e.typography.body2,{[`& .${Jy.root} svg`]:{fontSize:"1.25rem"}}))),WO=b.forwardRef(function(t,n){const r=Ve({props:t,name:"MuiMenuItem"}),{autoFocus:o=!1,component:s="li",dense:i=!1,divider:a=!1,disableGutters:l=!1,focusVisibleClassName:u,role:c="menuitem",tabIndex:d,className:f}=r,S=ve(r,BO),h=b.useContext(wp),m=b.useMemo(()=>({dense:i||h.dense||!1,disableGutters:l}),[h.dense,i,l]),w=b.useRef(null);yr(()=>{o&&w.current&&w.current.focus()},[o]);const y=_({},r,{dense:m.dense,divider:a,disableGutters:l}),p=zO(r),v=Lt(w,n);let x;return r.disabled||(x=d!==void 0?d:-1),g.jsx(wp.Provider,{value:m,children:g.jsx(VO,_({ref:v,role:c,tabIndex:x,component:s,focusVisibleClassName:Re(p.focusVisible,u),className:Re(p.root,f)},S,{ownerState:y,classes:p}))})}),og=WO;function HO(e){return je("MuiNativeSelect",e)}const qO=Ie("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]),fm=qO,KO=["className","disabled","error","IconComponent","inputRef","variant"],GO=e=>{const{classes:t,variant:n,disabled:r,multiple:o,open:s,error:i}=e,a={select:["select",n,r&&"disabled",o&&"multiple",i&&"error"],icon:["icon",`icon${Ce(n)}`,s&&"iconOpen",r&&"disabled"]};return ze(a,HO,t)},Ab=({ownerState:e,theme:t})=>_({MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":_({},t.vars?{backgroundColor:`rgba(${t.vars.palette.common.onBackgroundChannel} / 0.05)`}:{backgroundColor:t.palette.mode==="light"?"rgba(0, 0, 0, 0.05)":"rgba(255, 255, 255, 0.05)"},{borderRadius:0}),"&::-ms-expand":{display:"none"},[`&.${fm.disabled}`]:{cursor:"default"},"&[multiple]":{height:"auto"},"&:not([multiple]) option, &:not([multiple]) optgroup":{backgroundColor:(t.vars||t).palette.background.paper},"&&&":{paddingRight:24,minWidth:16}},e.variant==="filled"&&{"&&&":{paddingRight:32}},e.variant==="outlined"&&{borderRadius:(t.vars||t).shape.borderRadius,"&:focus":{borderRadius:(t.vars||t).shape.borderRadius},"&&&":{paddingRight:32}}),QO=he("select",{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:Kt,overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.select,t[n.variant],n.error&&t.error,{[`&.${fm.multiple}`]:t.multiple}]}})(Ab),Nb=({ownerState:e,theme:t})=>_({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:(t.vars||t).palette.action.active,[`&.${fm.disabled}`]:{color:(t.vars||t).palette.action.disabled}},e.open&&{transform:"rotate(180deg)"},e.variant==="filled"&&{right:7},e.variant==="outlined"&&{right:7}),XO=he("svg",{name:"MuiNativeSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,n.variant&&t[`icon${Ce(n.variant)}`],n.open&&t.iconOpen]}})(Nb),YO=b.forwardRef(function(t,n){const{className:r,disabled:o,error:s,IconComponent:i,inputRef:a,variant:l="standard"}=t,u=ve(t,KO),c=_({},t,{disabled:o,variant:l,error:s}),d=GO(c);return g.jsxs(b.Fragment,{children:[g.jsx(QO,_({ownerState:c,className:Re(d.select,r),disabled:o,ref:a||n},u)),t.multiple?null:g.jsx(XO,{as:i,ownerState:c,className:d.icon})]})}),JO=YO;var sg;const ZO=["children","classes","className","label","notched"],eL=he("fieldset",{shouldForwardProp:Kt})({textAlign:"left",position:"absolute",bottom:0,right:0,top:-5,left:0,margin:0,padding:"0 8px",pointerEvents:"none",borderRadius:"inherit",borderStyle:"solid",borderWidth:1,overflow:"hidden",minWidth:"0%"}),tL=he("legend",{shouldForwardProp:Kt})(({ownerState:e,theme:t})=>_({float:"unset",width:"auto",overflow:"hidden"},!e.withLabel&&{padding:0,lineHeight:"11px",transition:t.transitions.create("width",{duration:150,easing:t.transitions.easing.easeOut})},e.withLabel&&_({display:"block",padding:0,height:11,fontSize:"0.75em",visibility:"hidden",maxWidth:.01,transition:t.transitions.create("max-width",{duration:50,easing:t.transitions.easing.easeOut}),whiteSpace:"nowrap","& > span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}},e.notched&&{maxWidth:"100%",transition:t.transitions.create("max-width",{duration:100,easing:t.transitions.easing.easeOut,delay:50})})));function nL(e){const{className:t,label:n,notched:r}=e,o=ve(e,ZO),s=n!=null&&n!=="",i=_({},e,{notched:r,withLabel:s});return g.jsx(eL,_({"aria-hidden":!0,className:t,ownerState:i},o,{children:g.jsx(tL,{ownerState:i,children:s?g.jsx("span",{children:n}):sg||(sg=g.jsx("span",{className:"notranslate",children:"​"}))})}))}const rL=["components","fullWidth","inputComponent","label","multiline","notched","slots","type"],oL=e=>{const{classes:t}=e,r=ze({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},XA,t);return _({},t,r)},sL=he(jc,{shouldForwardProp:e=>Kt(e)||e==="classes",name:"MuiOutlinedInput",slot:"Root",overridesResolver:Fc})(({theme:e,ownerState:t})=>{const n=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return _({position:"relative",borderRadius:(e.vars||e).shape.borderRadius,[`&:hover .${kr.notchedOutline}`]:{borderColor:(e.vars||e).palette.text.primary},"@media (hover: none)":{[`&:hover .${kr.notchedOutline}`]:{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:n}},[`&.${kr.focused} .${kr.notchedOutline}`]:{borderColor:(e.vars||e).palette[t.color].main,borderWidth:2},[`&.${kr.error} .${kr.notchedOutline}`]:{borderColor:(e.vars||e).palette.error.main},[`&.${kr.disabled} .${kr.notchedOutline}`]:{borderColor:(e.vars||e).palette.action.disabled}},t.startAdornment&&{paddingLeft:14},t.endAdornment&&{paddingRight:14},t.multiline&&_({padding:"16.5px 14px"},t.size==="small"&&{padding:"8.5px 14px"}))}),iL=he(nL,{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:(e,t)=>t.notchedOutline})(({theme:e})=>{const t=e.palette.mode==="light"?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return{borderColor:e.vars?`rgba(${e.vars.palette.common.onBackgroundChannel} / 0.23)`:t}}),aL=he(Bc,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:Dc})(({theme:e,ownerState:t})=>_({padding:"16.5px 14px"},!e.vars&&{"&:-webkit-autofill":{WebkitBoxShadow:e.palette.mode==="light"?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:e.palette.mode==="light"?null:"#fff",caretColor:e.palette.mode==="light"?null:"#fff",borderRadius:"inherit"}},e.vars&&{"&:-webkit-autofill":{borderRadius:"inherit"},[e.getColorSchemeSelector("dark")]:{"&:-webkit-autofill":{WebkitBoxShadow:"0 0 0 100px #266798 inset",WebkitTextFillColor:"#fff",caretColor:"#fff"}}},t.size==="small"&&{padding:"8.5px 14px"},t.multiline&&{padding:0},t.startAdornment&&{paddingLeft:0},t.endAdornment&&{paddingRight:0})),Ob=b.forwardRef(function(t,n){var r,o,s,i,a;const l=Ve({props:t,name:"MuiOutlinedInput"}),{components:u={},fullWidth:c=!1,inputComponent:d="input",label:f,multiline:S=!1,notched:h,slots:m={},type:w="text"}=l,y=ve(l,rL),p=oL(l),v=Cr(),x=to({props:l,muiFormControl:v,states:["color","disabled","error","focused","hiddenLabel","size","required"]}),C=_({},l,{color:x.color||"primary",disabled:x.disabled,error:x.error,focused:x.focused,formControl:v,fullWidth:c,hiddenLabel:x.hiddenLabel,multiline:S,size:x.size,type:w}),E=(r=(o=m.root)!=null?o:u.Root)!=null?r:sL,R=(s=(i=m.input)!=null?i:u.Input)!=null?s:aL;return g.jsx(dm,_({slots:{root:E,input:R},renderSuffix:T=>g.jsx(iL,{ownerState:C,className:p.notchedOutline,label:f!=null&&f!==""&&x.required?a||(a=g.jsxs(b.Fragment,{children:[f," ","*"]})):f,notched:typeof h<"u"?h:!!(T.startAdornment||T.filled||T.focused)}),fullWidth:c,inputComponent:d,multiline:S,ref:n,type:w},y,{classes:_({},p,{notchedOutline:null})}))});Ob.muiName="Input";const Lb=Ob,lL=lc(g.jsx("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"RadioButtonUnchecked"),uL=lc(g.jsx("path",{d:"M8.465 8.465C9.37 7.56 10.62 7 12 7C14.76 7 17 9.24 17 12C17 13.38 16.44 14.63 15.535 15.535C14.63 16.44 13.38 17 12 17C9.24 17 7 14.76 7 12C7 10.62 7.56 9.37 8.465 8.465Z"}),"RadioButtonChecked"),cL=he("span",{shouldForwardProp:Kt})({position:"relative",display:"flex"}),dL=he(lL)({transform:"scale(1)"}),fL=he(uL)(({theme:e,ownerState:t})=>_({left:0,position:"absolute",transform:"scale(0)",transition:e.transitions.create("transform",{easing:e.transitions.easing.easeIn,duration:e.transitions.duration.shortest})},t.checked&&{transform:"scale(1)",transition:e.transitions.create("transform",{easing:e.transitions.easing.easeOut,duration:e.transitions.duration.shortest})}));function $b(e){const{checked:t=!1,classes:n={},fontSize:r}=e,o=_({},e,{checked:t});return g.jsxs(cL,{className:n.root,ownerState:o,children:[g.jsx(dL,{fontSize:r,className:n.background,ownerState:o}),g.jsx(fL,{fontSize:r,className:n.dot,ownerState:o})]})}const pL=b.createContext(void 0),Mb=pL;function hL(){return b.useContext(Mb)}function mL(e){return je("MuiRadio",e)}const ig=Ie("MuiRadio",["root","checked","disabled","colorPrimary","colorSecondary","sizeSmall"]),vL=["checked","checkedIcon","color","icon","name","onChange","size","className"],yL=e=>{const{classes:t,color:n,size:r}=e,o={root:["root",`color${Ce(n)}`,r!=="medium"&&`size${Ce(r)}`]};return _({},t,ze(o,mL,t))},gL=he(j2,{shouldForwardProp:e=>Kt(e)||e==="classes",name:"MuiRadio",slot:"Root",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.root,n.size!=="medium"&&t[`size${Ce(n.size)}`],t[`color${Ce(n.color)}`]]}})(({theme:e,ownerState:t})=>_({color:(e.vars||e).palette.text.secondary},!t.disableRipple&&{"&:hover":{backgroundColor:e.vars?`rgba(${t.color==="default"?e.vars.palette.action.activeChannel:e.vars.palette[t.color].mainChannel} / ${e.vars.palette.action.hoverOpacity})`:Vn(t.color==="default"?e.palette.action.active:e.palette[t.color].main,e.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},t.color!=="default"&&{[`&.${ig.checked}`]:{color:(e.vars||e).palette[t.color].main}},{[`&.${ig.disabled}`]:{color:(e.vars||e).palette.action.disabled}}));function SL(e,t){return typeof t=="object"&&t!==null?e===t:String(e)===String(t)}const ag=g.jsx($b,{checked:!0}),lg=g.jsx($b,{}),bL=b.forwardRef(function(t,n){var r,o;const s=Ve({props:t,name:"MuiRadio"}),{checked:i,checkedIcon:a=ag,color:l="primary",icon:u=lg,name:c,onChange:d,size:f="medium",className:S}=s,h=ve(s,vL),m=_({},s,{color:l,size:f}),w=yL(m),y=hL();let p=i;const v=Bl(d,y&&y.onChange);let x=c;return y&&(typeof p>"u"&&(p=SL(y.value,s.value)),typeof x>"u"&&(x=y.name)),g.jsx(gL,_({type:"radio",icon:b.cloneElement(u,{fontSize:(r=lg.props.fontSize)!=null?r:f}),checkedIcon:b.cloneElement(a,{fontSize:(o=ag.props.fontSize)!=null?o:f}),ownerState:m,classes:w,name:x,checked:p,onChange:v,ref:n,className:Re(w.root,S)},h))}),xL=bL,wL=["actions","children","defaultValue","name","onChange","value"],RL=b.forwardRef(function(t,n){const{actions:r,children:o,defaultValue:s,name:i,onChange:a,value:l}=t,u=ve(t,wL),c=b.useRef(null),[d,f]=Qi({controlled:l,default:s,name:"RadioGroup"});b.useImperativeHandle(r,()=>({focus:()=>{let w=c.current.querySelector("input:not(:disabled):checked");w||(w=c.current.querySelector("input:not(:disabled)")),w&&w.focus()}}),[]);const S=Lt(n,c),h=Sa(i),m=b.useMemo(()=>({name:h,onChange(w){f(w.target.value),a&&a(w,w.target.value)},value:d}),[h,a,f,d]);return g.jsx(Mb.Provider,{value:m,children:g.jsx(LN,_({role:"radiogroup",ref:S},u,{children:o}))})}),CL=RL;function EL(e){return je("MuiSelect",e)}const ci=Ie("MuiSelect",["root","select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput","error"]);var ug;const _L=["aria-describedby","aria-label","autoFocus","autoWidth","children","className","defaultOpen","defaultValue","disabled","displayEmpty","error","IconComponent","inputRef","labelId","MenuProps","multiple","name","onBlur","onChange","onClose","onFocus","onOpen","open","readOnly","renderValue","SelectDisplayProps","tabIndex","type","value","variant"],kL=he("div",{name:"MuiSelect",slot:"Select",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[{[`&.${ci.select}`]:t.select},{[`&.${ci.select}`]:t[n.variant]},{[`&.${ci.error}`]:t.error},{[`&.${ci.multiple}`]:t.multiple}]}})(Ab,{[`&.${ci.select}`]:{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}}),TL=he("svg",{name:"MuiSelect",slot:"Icon",overridesResolver:(e,t)=>{const{ownerState:n}=e;return[t.icon,n.variant&&t[`icon${Ce(n.variant)}`],n.open&&t.iconOpen]}})(Nb),PL=he("input",{shouldForwardProp:e=>Sk(e)&&e!=="classes",name:"MuiSelect",slot:"NativeInput",overridesResolver:(e,t)=>t.nativeInput})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function cg(e,t){return typeof t=="object"&&t!==null?e===t:String(e)===String(t)}function AL(e){return e==null||typeof e=="string"&&!e.trim()}const NL=e=>{const{classes:t,variant:n,disabled:r,multiple:o,open:s,error:i}=e,a={select:["select",n,r&&"disabled",o&&"multiple",i&&"error"],icon:["icon",`icon${Ce(n)}`,s&&"iconOpen",r&&"disabled"],nativeInput:["nativeInput"]};return ze(a,EL,t)},OL=b.forwardRef(function(t,n){var r;const{"aria-describedby":o,"aria-label":s,autoFocus:i,autoWidth:a,children:l,className:u,defaultOpen:c,defaultValue:d,disabled:f,displayEmpty:S,error:h=!1,IconComponent:m,inputRef:w,labelId:y,MenuProps:p={},multiple:v,name:x,onBlur:C,onChange:E,onClose:R,onFocus:T,onOpen:M,open:$,readOnly:H,renderValue:U,SelectDisplayProps:F={},tabIndex:z,value:K,variant:Q="standard"}=t,G=ve(t,_L),[O,j]=Qi({controlled:K,default:d,name:"Select"}),[D,J]=Qi({controlled:$,default:c,name:"Select"}),P=b.useRef(null),q=b.useRef(null),[B,re]=b.useState(null),{current:X}=b.useRef($!=null),[ue,ce]=b.useState(),te=Lt(n,w),Ee=b.useCallback(ge=>{q.current=ge,ge&&re(ge)},[]),Se=B==null?void 0:B.parentNode;b.useImperativeHandle(te,()=>({focus:()=>{q.current.focus()},node:P.current,value:O}),[O]),b.useEffect(()=>{c&&D&&B&&!X&&(ce(a?null:Se.clientWidth),q.current.focus())},[B,a]),b.useEffect(()=>{i&&q.current.focus()},[i]),b.useEffect(()=>{if(!y)return;const ge=tn(q.current).getElementById(y);if(ge){const Ue=()=>{getSelection().isCollapsed&&q.current.focus()};return ge.addEventListener("click",Ue),()=>{ge.removeEventListener("click",Ue)}}},[y]);const ye=(ge,Ue)=>{ge?M&&M(Ue):R&&R(Ue),X||(ce(a?null:Se.clientWidth),J(ge))},pe=ge=>{ge.button===0&&(ge.preventDefault(),q.current.focus(),ye(!0,ge))},_e=ge=>{ye(!1,ge)},Le=b.Children.toArray(l),at=ge=>{const Ue=Le.find(N=>N.props.value===ge.target.value);Ue!==void 0&&(j(Ue.props.value),E&&E(ge,Ue))},Ke=ge=>Ue=>{let N;if(Ue.currentTarget.hasAttribute("tabindex")){if(v){N=Array.isArray(O)?O.slice():[];const A=O.indexOf(ge.props.value);A===-1?N.push(ge.props.value):N.splice(A,1)}else N=ge.props.value;if(ge.props.onClick&&ge.props.onClick(Ue),O!==N&&(j(N),E)){const A=Ue.nativeEvent||Ue,Y=new A.constructor(A.type,A);Object.defineProperty(Y,"target",{writable:!0,value:{value:N,name:x}}),E(Y,ge)}v||ye(!1,Ue)}},Mt=ge=>{H||[" ","ArrowUp","ArrowDown","Enter"].indexOf(ge.key)!==-1&&(ge.preventDefault(),ye(!0,ge))},k=B!==null&&D,L=ge=>{!k&&C&&(Object.defineProperty(ge,"target",{writable:!0,value:{value:O,name:x}}),C(ge))};delete G["aria-invalid"];let I,ne;const Z=[];let V=!1;(vu({value:O})||S)&&(U?I=U(O):V=!0);const ae=Le.map(ge=>{if(!b.isValidElement(ge))return null;let Ue;if(v){if(!Array.isArray(O))throw new Error(Gr(2));Ue=O.some(N=>cg(N,ge.props.value)),Ue&&V&&Z.push(ge.props.children)}else Ue=cg(O,ge.props.value),Ue&&V&&(ne=ge.props.children);return b.cloneElement(ge,{"aria-selected":Ue?"true":"false",onClick:Ke(ge),onKeyUp:N=>{N.key===" "&&N.preventDefault(),ge.props.onKeyUp&&ge.props.onKeyUp(N)},role:"option",selected:Ue,value:void 0,"data-value":ge.props.value})});V&&(v?Z.length===0?I=null:I=Z.reduce((ge,Ue,N)=>(ge.push(Ue),N{const{classes:t}=e;return t},pm={name:"MuiSelect",overridesResolver:(e,t)=>t.root,shouldForwardProp:e=>Kt(e)&&e!=="variant",slot:"Root"},FL=he(kb,pm)(""),DL=he(Lb,pm)(""),jL=he(Cb,pm)(""),Ib=b.forwardRef(function(t,n){const r=Ve({name:"MuiSelect",props:t}),{autoWidth:o=!1,children:s,classes:i={},className:a,defaultOpen:l=!1,displayEmpty:u=!1,IconComponent:c=e2,id:d,input:f,inputProps:S,label:h,labelId:m,MenuProps:w,multiple:y=!1,native:p=!1,onClose:v,onOpen:x,open:C,renderValue:E,SelectDisplayProps:R,variant:T="outlined"}=r,M=ve(r,$L),$=p?JO:LL,H=Cr(),U=to({props:r,muiFormControl:H,states:["variant","error"]}),F=U.variant||T,z=_({},r,{variant:F,classes:i}),K=IL(z),Q=ve(K,ML),G=f||{standard:g.jsx(FL,{ownerState:z}),outlined:g.jsx(DL,{label:h,ownerState:z}),filled:g.jsx(jL,{ownerState:z})}[F],O=Lt(n,G.ref);return g.jsx(b.Fragment,{children:b.cloneElement(G,_({inputComponent:$,inputProps:_({children:s,error:U.error,IconComponent:c,variant:F,type:void 0,multiple:y},p?{id:d}:{autoWidth:o,defaultOpen:l,displayEmpty:u,labelId:m,MenuProps:w,onClose:v,onOpen:x,open:C,renderValue:E,SelectDisplayProps:_({id:d},R)},S,{classes:S?en(Q,S.classes):Q},f?f.props.inputProps:{})},(y&&p||u)&&F==="outlined"?{notched:!0}:{},{ref:O,className:Re(G.props.className,a,K.root)},!f&&{variant:F},M))})});Ib.muiName="Select";const Rp=Ib;function BL(e){return je("MuiTextField",e)}Ie("MuiTextField",["root"]);const UL=["autoComplete","autoFocus","children","className","color","defaultValue","disabled","error","FormHelperTextProps","fullWidth","helperText","id","InputLabelProps","inputProps","InputProps","inputRef","label","maxRows","minRows","multiline","name","onBlur","onChange","onFocus","placeholder","required","rows","select","SelectProps","type","value","variant"],zL={standard:kb,filled:Cb,outlined:Lb},VL=e=>{const{classes:t}=e;return ze({root:["root"]},BL,t)},WL=he(Xn,{name:"MuiTextField",slot:"Root",overridesResolver:(e,t)=>t.root})({}),HL=b.forwardRef(function(t,n){const r=Ve({props:t,name:"MuiTextField"}),{autoComplete:o,autoFocus:s=!1,children:i,className:a,color:l="primary",defaultValue:u,disabled:c=!1,error:d=!1,FormHelperTextProps:f,fullWidth:S=!1,helperText:h,id:m,InputLabelProps:w,inputProps:y,InputProps:p,inputRef:v,label:x,maxRows:C,minRows:E,multiline:R=!1,name:T,onBlur:M,onChange:$,onFocus:H,placeholder:U,required:F=!1,rows:z,select:K=!1,SelectProps:Q,type:G,value:O,variant:j="outlined"}=r,D=ve(r,UL),J=_({},r,{autoFocus:s,color:l,disabled:c,error:d,fullWidth:S,multiline:R,required:F,select:K,variant:j}),P=VL(J),q={};j==="outlined"&&(w&&typeof w.shrink<"u"&&(q.notched=w.shrink),q.label=x),K&&((!Q||!Q.native)&&(q.id=void 0),q["aria-describedby"]=void 0);const B=Sa(m),re=h&&B?`${B}-helper-text`:void 0,X=x&&B?`${B}-label`:void 0,ue=zL[j],ce=g.jsx(ue,_({"aria-describedby":re,autoComplete:o,autoFocus:s,defaultValue:u,fullWidth:S,multiline:R,name:T,rows:z,maxRows:C,minRows:E,type:G,value:O,id:B,inputRef:v,onBlur:M,onChange:$,onFocus:H,placeholder:U,inputProps:y},q,p));return g.jsxs(WL,_({className:Re(P.root,a),disabled:c,error:d,fullWidth:S,ref:n,required:F,color:l,variant:j,ownerState:J},D,{children:[x!=null&&x!==""&&g.jsx(xp,_({htmlFor:B,id:X},w,{children:x})),K?g.jsx(Rp,_({"aria-describedby":re,id:B,labelId:X,value:O,input:ce},Q,{children:i})):ce,h&&g.jsx(BN,_({id:re},f,{children:h}))]}))}),di=HL,xo="/hub",hm="/services/japps",qL="This field is required.",sl={required:qL},KL="data:image/png;base64,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";var Cp={},dg=$c;Cp.createRoot=dg.createRoot,Cp.hydrateRoot=dg.hydrateRoot;/** * @remix-run/router v1.15.0 * * Copyright (c) Remix Software Inc. @@ -126,7 +135,7 @@ Error generating stack: `+i.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function xl(){return xl=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function Dh(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function uT(){return Math.random().toString(36).substr(2,8)}function ty(e,t){return{usr:e.state,key:e.key,idx:t}}function Yd(e,t,n,r){return n===void 0&&(n=null),xl({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?Au(t):t,{state:n,key:t&&t.key||r||uT()})}function Yg(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function Au(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function cT(e,t,n,r){r===void 0&&(r={});let{window:o=document.defaultView,v5Compat:i=!1}=r,s=o.history,a=vr.Pop,l=null,u=d();u==null&&(u=0,s.replaceState(xl({},s.state,{idx:u}),""));function d(){return(s.state||{idx:null}).idx}function c(){a=vr.Pop;let _=d(),m=_==null?null:_-u;u=_,l&&l({action:a,location:p.location,delta:m})}function h(_,m){a=vr.Push;let f=Yd(p.location,_,m);n&&n(f,_),u=d()+1;let v=ty(f,u),R=p.createHref(f);try{s.pushState(v,"",R)}catch(E){if(E instanceof DOMException&&E.name==="DataCloneError")throw E;o.location.assign(R)}i&&l&&l({action:a,location:p.location,delta:1})}function S(_,m){a=vr.Replace;let f=Yd(p.location,_,m);n&&n(f,_),u=d();let v=ty(f,u),R=p.createHref(f);s.replaceState(v,"",R),i&&l&&l({action:a,location:p.location,delta:0})}function y(_){let m=o.location.origin!=="null"?o.location.origin:o.location.href,f=typeof _=="string"?_:Yg(_);return Ut(m,"No window.location.(origin|href) available to create URL for href: "+f),new URL(f,m)}let p={get action(){return a},get location(){return e(o,s)},listen(_){if(l)throw new Error("A history only accepts one active listener");return o.addEventListener(ey,c),l=_,()=>{o.removeEventListener(ey,c),l=null}},createHref(_){return t(o,_)},createURL:y,encodeLocation(_){let m=y(_);return{pathname:m.pathname,search:m.search,hash:m.hash}},push:h,replace:S,go(_){return s.go(_)}};return p}var ny;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(ny||(ny={}));function dT(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?Au(t):t,o=e1(r.pathname||"/",n);if(o==null)return null;let i=Zg(e);fT(i);let s=null;for(let a=0;s==null&&a{let l={relativePath:a===void 0?i.path||"":a,caseSensitive:i.caseSensitive===!0,childrenIndex:s,route:i};l.relativePath.startsWith("/")&&(Ut(l.relativePath.startsWith(r),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(r.length));let u=Bo([r,l.relativePath]),d=n.concat(l);i.children&&i.children.length>0&&(Ut(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),Zg(i.children,t,d,u)),!(i.path==null&&!i.index)&&t.push({path:u,score:ST(u,i.index),routesMeta:d})};return e.forEach((i,s)=>{var a;if(i.path===""||!((a=i.path)!=null&&a.includes("?")))o(i,s);else for(let l of Jg(i.path))o(i,s,l)}),t}function Jg(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,o=n.endsWith("?"),i=n.replace(/\?$/,"");if(r.length===0)return o?[i,""]:[i];let s=Jg(r.join("/")),a=[];return a.push(...s.map(l=>l===""?i:[i,l].join("/"))),o&&a.push(...s),a.map(l=>e.startsWith("/")&&l===""?"/":l)}function fT(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:wT(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const hT=/^:[\w-]+$/,pT=3,mT=2,yT=1,vT=10,gT=-2,ry=e=>e==="*";function ST(e,t){let n=e.split("/"),r=n.length;return n.some(ry)&&(r+=gT),t&&(r+=mT),n.filter(o=>!ry(o)).reduce((o,i)=>o+(hT.test(i)?pT:i===""?yT:vT),r)}function wT(e,t){return e.length===t.length&&e.slice(0,-1).every((r,o)=>r===t[o])?e[e.length-1]-t[t.length-1]:0}function _T(e,t){let{routesMeta:n}=e,r={},o="/",i=[];for(let s=0;s{let{paramName:h,isOptional:S}=d;if(h==="*"){let p=a[c]||"";s=i.slice(0,i.length-p.length).replace(/(.)\/+$/,"$1")}const y=a[c];return S&&!y?u[h]=void 0:u[h]=ET(y||"",h),u},{}),pathname:i,pathnameBase:s,pattern:e}}function bT(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Dh(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(s,a,l)=>(r.push({paramName:a,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),r]}function xT(e){try{return decodeURI(e)}catch(t){return Dh(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function ET(e,t){try{return decodeURIComponent(e)}catch(n){return Dh(!1,'The value for the URL param "'+t+'" will not be decoded because'+(' the string "'+e+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+n+").")),e}}function e1(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}const Bo=e=>e.join("/").replace(/\/\/+/g,"/"),CT=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/");function TT(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const t1=["post","put","patch","delete"];new Set(t1);const kT=["get",...t1];new Set(kT);/** + */function pa(){return pa=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function mm(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function QL(){return Math.random().toString(36).substr(2,8)}function pg(e,t){return{usr:e.state,key:e.key,idx:t}}function Ep(e,t,n,r){return n===void 0&&(n=null),pa({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?js(t):t,{state:n,key:t&&t.key||r||QL()})}function Fb(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function js(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function XL(e,t,n,r){r===void 0&&(r={});let{window:o=document.defaultView,v5Compat:s=!1}=r,i=o.history,a=Dr.Pop,l=null,u=c();u==null&&(u=0,i.replaceState(pa({},i.state,{idx:u}),""));function c(){return(i.state||{idx:null}).idx}function d(){a=Dr.Pop;let w=c(),y=w==null?null:w-u;u=w,l&&l({action:a,location:m.location,delta:y})}function f(w,y){a=Dr.Push;let p=Ep(m.location,w,y);n&&n(p,w),u=c()+1;let v=pg(p,u),x=m.createHref(p);try{i.pushState(v,"",x)}catch(C){if(C instanceof DOMException&&C.name==="DataCloneError")throw C;o.location.assign(x)}s&&l&&l({action:a,location:m.location,delta:1})}function S(w,y){a=Dr.Replace;let p=Ep(m.location,w,y);n&&n(p,w),u=c();let v=pg(p,u),x=m.createHref(p);i.replaceState(v,"",x),s&&l&&l({action:a,location:m.location,delta:0})}function h(w){let y=o.location.origin!=="null"?o.location.origin:o.location.href,p=typeof w=="string"?w:Fb(w);return xt(y,"No window.location.(origin|href) available to create URL for href: "+p),new URL(p,y)}let m={get action(){return a},get location(){return e(o,i)},listen(w){if(l)throw new Error("A history only accepts one active listener");return o.addEventListener(fg,d),l=w,()=>{o.removeEventListener(fg,d),l=null}},createHref(w){return t(o,w)},createURL:h,encodeLocation(w){let y=h(w);return{pathname:y.pathname,search:y.search,hash:y.hash}},push:f,replace:S,go(w){return i.go(w)}};return m}var hg;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(hg||(hg={}));function YL(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?js(t):t,o=Bb(r.pathname||"/",n);if(o==null)return null;let s=Db(e);JL(s);let i=null;for(let a=0;i==null&&a{let l={relativePath:a===void 0?s.path||"":a,caseSensitive:s.caseSensitive===!0,childrenIndex:i,route:s};l.relativePath.startsWith("/")&&(xt(l.relativePath.startsWith(r),'Absolute route path "'+l.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),l.relativePath=l.relativePath.slice(r.length));let u=wo([r,l.relativePath]),c=n.concat(l);s.children&&s.children.length>0&&(xt(s.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),Db(s.children,t,c,u)),!(s.path==null&&!s.index)&&t.push({path:u,score:s$(u,s.index),routesMeta:c})};return e.forEach((s,i)=>{var a;if(s.path===""||!((a=s.path)!=null&&a.includes("?")))o(s,i);else for(let l of jb(s.path))o(s,i,l)}),t}function jb(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,o=n.endsWith("?"),s=n.replace(/\?$/,"");if(r.length===0)return o?[s,""]:[s];let i=jb(r.join("/")),a=[];return a.push(...i.map(l=>l===""?s:[s,l].join("/"))),o&&a.push(...i),a.map(l=>e.startsWith("/")&&l===""?"/":l)}function JL(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:i$(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const ZL=/^:[\w-]+$/,e$=3,t$=2,n$=1,r$=10,o$=-2,mg=e=>e==="*";function s$(e,t){let n=e.split("/"),r=n.length;return n.some(mg)&&(r+=o$),t&&(r+=t$),n.filter(o=>!mg(o)).reduce((o,s)=>o+(ZL.test(s)?e$:s===""?n$:r$),r)}function i$(e,t){return e.length===t.length&&e.slice(0,-1).every((r,o)=>r===t[o])?e[e.length-1]-t[t.length-1]:0}function a$(e,t){let{routesMeta:n}=e,r={},o="/",s=[];for(let i=0;i{let{paramName:f,isOptional:S}=c;if(f==="*"){let m=a[d]||"";i=s.slice(0,s.length-m.length).replace(/(.)\/+$/,"$1")}const h=a[d];return S&&!h?u[f]=void 0:u[f]=d$(h||"",f),u},{}),pathname:s,pathnameBase:i,pattern:e}}function u$(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),mm(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],o="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(i,a,l)=>(r.push({paramName:a,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return e.endsWith("*")?(r.push({paramName:"*"}),o+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?o+="\\/*$":e!==""&&e!=="/"&&(o+="(?:(?=\\/|$))"),[new RegExp(o,t?void 0:"i"),r]}function c$(e){try{return decodeURI(e)}catch(t){return mm(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function d$(e,t){try{return decodeURIComponent(e)}catch(n){return mm(!1,'The value for the URL param "'+t+'" will not be decoded because'+(' the string "'+e+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+n+").")),e}}function Bb(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function f$(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:o=""}=typeof e=="string"?js(e):e;return{pathname:n?n.startsWith("/")?n:p$(n,t):t,search:g$(r),hash:S$(o)}}function p$(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(o=>{o===".."?n.length>1&&n.pop():o!=="."&&n.push(o)}),n.length>1?n.join("/"):"/"}function ef(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function h$(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function m$(e,t){let n=h$(e);return t?n.map((r,o)=>o===e.length-1?r.pathname:r.pathnameBase):n.map(r=>r.pathnameBase)}function v$(e,t,n,r){r===void 0&&(r=!1);let o;typeof e=="string"?o=js(e):(o=pa({},e),xt(!o.pathname||!o.pathname.includes("?"),ef("?","pathname","search",o)),xt(!o.pathname||!o.pathname.includes("#"),ef("#","pathname","hash",o)),xt(!o.search||!o.search.includes("#"),ef("#","search","hash",o)));let s=e===""||o.pathname==="",i=s?"/":o.pathname,a;if(i==null)a=n;else{let d=t.length-1;if(!r&&i.startsWith("..")){let f=i.split("/");for(;f[0]==="..";)f.shift(),d-=1;o.pathname=f.join("/")}a=d>=0?t[d]:"/"}let l=f$(o,a),u=i&&i!=="/"&&i.endsWith("/"),c=(s||i===".")&&n.endsWith("/");return!l.pathname.endsWith("/")&&(u||c)&&(l.pathname+="/"),l}const wo=e=>e.join("/").replace(/\/\/+/g,"/"),y$=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),g$=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,S$=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;function b$(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const Ub=["post","put","patch","delete"];new Set(Ub);const x$=["get",...Ub];new Set(x$);/** * React Router v6.22.0 * * Copyright (c) Remix Software Inc. @@ -135,7 +144,7 @@ Error generating stack: `+i.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */function El(){return El=Object.assign?Object.assign.bind():function(e){for(var t=1;tObject.assign({},_,{params:Object.assign({},a,_.params),pathname:Bo([l,o.encodeLocation?o.encodeLocation(_.pathname).pathname:_.pathname]),pathnameBase:_.pathnameBase==="/"?l:Bo([l,o.encodeLocation?o.encodeLocation(_.pathnameBase).pathname:_.pathnameBase])})),i,n,r);return t&&p?T.createElement(Nu.Provider,{value:{location:El({pathname:"/",search:"",hash:"",state:null,key:"default"},d),navigationType:vr.Pop}},p):p}function FT(){let e=BT(),t=TT(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,o={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return T.createElement(T.Fragment,null,T.createElement("h2",null,"Unexpected Application Error!"),T.createElement("h3",{style:{fontStyle:"italic"}},t),n?T.createElement("pre",{style:o},n):null,null)}const MT=T.createElement(FT,null);class DT extends T.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?T.createElement(Pu.Provider,{value:this.props.routeContext},T.createElement(r1.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function IT(e){let{routeContext:t,match:n,children:r}=e,o=T.useContext(AT);return o&&o.static&&o.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=n.route.id),T.createElement(Pu.Provider,{value:t},r)}function $T(e,t,n,r){var o;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var i;if((i=n)!=null&&i.errors)e=n.matches;else return null}let s=e,a=(o=n)==null?void 0:o.errors;if(a!=null){let d=s.findIndex(c=>c.route.id&&(a==null?void 0:a[c.route.id]));d>=0||Ut(!1),s=s.slice(0,Math.min(s.length,d+1))}let l=!1,u=-1;if(n&&r&&r.v7_partialHydration)for(let d=0;d=0?s=s.slice(0,u+1):s=[s[0]];break}}}return s.reduceRight((d,c,h)=>{let S,y=!1,p=null,_=null;n&&(S=a&&c.route.id?a[c.route.id]:void 0,p=c.route.errorElement||MT,l&&(u<0&&h===0?(zT("route-fallback",!1),y=!0,_=null):u===h&&(y=!0,_=c.route.hydrateFallbackElement||null)));let m=t.concat(s.slice(0,h+1)),f=()=>{let v;return S?v=p:y?v=_:c.route.Component?v=T.createElement(c.route.Component,null):c.route.element?v=c.route.element:v=d,T.createElement(IT,{match:c,routeContext:{outlet:d,matches:m,isDataRoute:n!=null},children:v})};return n&&(c.route.ErrorBoundary||c.route.errorElement||h===0)?T.createElement(DT,{location:n.location,revalidation:n.revalidation,component:p,error:S,children:f(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):f()},null)}var Zd=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(Zd||{});function jT(e){let t=T.useContext(NT);return t||Ut(!1),t}function VT(e){let t=T.useContext(Pu);return t||Ut(!1),t}function UT(e){let t=VT(),n=t.matches[t.matches.length-1];return n.route.id||Ut(!1),n.route.id}function BT(){var e;let t=T.useContext(r1),n=jT(Zd.UseRouteError),r=UT(Zd.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}const oy={};function zT(e,t,n){!t&&!oy[e]&&(oy[e]=!0)}function za(e){Ut(!1)}function WT(e){let{basename:t="/",children:n=null,location:r,navigationType:o=vr.Pop,navigator:i,static:s=!1,future:a}=e;Ih()&&Ut(!1);let l=t.replace(/^\/*/,"/"),u=T.useMemo(()=>({basename:l,navigator:i,static:s,future:El({v7_relativeSplatPath:!1},a)}),[l,a,i,s]);typeof r=="string"&&(r=Au(r));let{pathname:d="/",search:c="",hash:h="",state:S=null,key:y="default"}=r,p=T.useMemo(()=>{let _=e1(d,l);return _==null?null:{location:{pathname:_,search:c,hash:h,state:S,key:y},navigationType:o}},[l,d,c,h,S,y,o]);return p==null?null:T.createElement(n1.Provider,{value:u},T.createElement(Nu.Provider,{children:n,value:p}))}function HT(e){let{children:t,location:n}=e;return OT(Jd(t),n)}new Promise(()=>{});function Jd(e,t){t===void 0&&(t=[]);let n=[];return T.Children.forEach(e,(r,o)=>{if(!T.isValidElement(r))return;let i=[...t,o];if(r.type===T.Fragment){n.push.apply(n,Jd(r.props.children,i));return}r.type!==za&&Ut(!1),!r.props.index||!r.props.children||Ut(!1);let s={id:r.props.id||i.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(s.children=Jd(r.props.children,i)),n.push(s)}),n}/** + */function ha(){return ha=Object.assign?Object.assign.bind():function(e){for(var t=1;t{a.current=!0}),b.useCallback(function(u,c){if(c===void 0&&(c={}),!a.current)return;if(typeof u=="number"){r.go(u);return}let d=v$(u,JSON.parse(i),s,c.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:wo([t,d.pathname])),(c.replace?r.replace:r.push)(d,c.state,c)},[t,r,i,s,e])}function C$(e,t){return E$(e,t)}function E$(e,t,n,r){Vc()||xt(!1);let{navigator:o}=b.useContext(Uc),{matches:s}=b.useContext(Bs),i=s[s.length-1],a=i?i.params:{};i&&i.pathname;let l=i?i.pathnameBase:"/";i&&i.route;let u=ym(),c;if(t){var d;let w=typeof t=="string"?js(t):t;l==="/"||(d=w.pathname)!=null&&d.startsWith(l)||xt(!1),c=w}else c=u;let f=c.pathname||"/",S=l==="/"?f:f.slice(l.length)||"/",h=YL(e,{pathname:S}),m=A$(h&&h.map(w=>Object.assign({},w,{params:Object.assign({},a,w.params),pathname:wo([l,o.encodeLocation?o.encodeLocation(w.pathname).pathname:w.pathname]),pathnameBase:w.pathnameBase==="/"?l:wo([l,o.encodeLocation?o.encodeLocation(w.pathnameBase).pathname:w.pathnameBase])})),s,n,r);return t&&m?b.createElement(zc.Provider,{value:{location:ha({pathname:"/",search:"",hash:"",state:null,key:"default"},c),navigationType:Dr.Pop}},m):m}function _$(){let e=$$(),t=b$(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,o={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"};return b.createElement(b.Fragment,null,b.createElement("h2",null,"Unexpected Application Error!"),b.createElement("h3",{style:{fontStyle:"italic"}},t),n?b.createElement("pre",{style:o},n):null,null)}const k$=b.createElement(_$,null);class T$ extends b.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error!==void 0?b.createElement(Bs.Provider,{value:this.props.routeContext},b.createElement(zb.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function P$(e){let{routeContext:t,match:n,children:r}=e,o=b.useContext(vm);return o&&o.static&&o.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(o.staticContext._deepestRenderedBoundaryId=n.route.id),b.createElement(Bs.Provider,{value:t},r)}function A$(e,t,n,r){var o;if(t===void 0&&(t=[]),n===void 0&&(n=null),r===void 0&&(r=null),e==null){var s;if((s=n)!=null&&s.errors)e=n.matches;else return null}let i=e,a=(o=n)==null?void 0:o.errors;if(a!=null){let c=i.findIndex(d=>d.route.id&&(a==null?void 0:a[d.route.id]));c>=0||xt(!1),i=i.slice(0,Math.min(i.length,c+1))}let l=!1,u=-1;if(n&&r&&r.v7_partialHydration)for(let c=0;c=0?i=i.slice(0,u+1):i=[i[0]];break}}}return i.reduceRight((c,d,f)=>{let S,h=!1,m=null,w=null;n&&(S=a&&d.route.id?a[d.route.id]:void 0,m=d.route.errorElement||k$,l&&(u<0&&f===0?(I$("route-fallback",!1),h=!0,w=null):u===f&&(h=!0,w=d.route.hydrateFallbackElement||null)));let y=t.concat(i.slice(0,f+1)),p=()=>{let v;return S?v=m:h?v=w:d.route.Component?v=b.createElement(d.route.Component,null):d.route.element?v=d.route.element:v=c,b.createElement(P$,{match:d,routeContext:{outlet:c,matches:y,isDataRoute:n!=null},children:v})};return n&&(d.route.ErrorBoundary||d.route.errorElement||f===0)?b.createElement(T$,{location:n.location,revalidation:n.revalidation,component:m,error:S,children:p(),routeContext:{outlet:null,matches:y,isDataRoute:!0}}):p()},null)}var Wb=function(e){return e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e}(Wb||{}),yu=function(e){return e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId",e}(yu||{});function N$(e){let t=b.useContext(vm);return t||xt(!1),t}function O$(e){let t=b.useContext(w$);return t||xt(!1),t}function L$(e){let t=b.useContext(Bs);return t||xt(!1),t}function Hb(e){let t=L$(),n=t.matches[t.matches.length-1];return n.route.id||xt(!1),n.route.id}function $$(){var e;let t=b.useContext(zb),n=O$(yu.UseRouteError),r=Hb(yu.UseRouteError);return t!==void 0?t:(e=n.errors)==null?void 0:e[r]}function M$(){let{router:e}=N$(Wb.UseNavigateStable),t=Hb(yu.UseNavigateStable),n=b.useRef(!1);return Vb(()=>{n.current=!0}),b.useCallback(function(o,s){s===void 0&&(s={}),n.current&&(typeof o=="number"?e.navigate(o):e.navigate(o,ha({fromRouteId:t},s)))},[e,t])}const vg={};function I$(e,t,n){!t&&!vg[e]&&(vg[e]=!0)}function Ko(e){xt(!1)}function F$(e){let{basename:t="/",children:n=null,location:r,navigationType:o=Dr.Pop,navigator:s,static:i=!1,future:a}=e;Vc()&&xt(!1);let l=t.replace(/^\/*/,"/"),u=b.useMemo(()=>({basename:l,navigator:s,static:i,future:ha({v7_relativeSplatPath:!1},a)}),[l,a,s,i]);typeof r=="string"&&(r=js(r));let{pathname:c="/",search:d="",hash:f="",state:S=null,key:h="default"}=r,m=b.useMemo(()=>{let w=Bb(c,l);return w==null?null:{location:{pathname:w,search:d,hash:f,state:S,key:h},navigationType:o}},[l,c,d,f,S,h,o]);return m==null?null:b.createElement(Uc.Provider,{value:u},b.createElement(zc.Provider,{children:n,value:m}))}function D$(e){let{children:t,location:n}=e;return C$(_p(t),n)}new Promise(()=>{});function _p(e,t){t===void 0&&(t=[]);let n=[];return b.Children.forEach(e,(r,o)=>{if(!b.isValidElement(r))return;let s=[...t,o];if(r.type===b.Fragment){n.push.apply(n,_p(r.props.children,s));return}r.type!==Ko&&xt(!1),!r.props.index||!r.props.children||xt(!1);let i={id:r.props.id||s.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(i.children=_p(r.props.children,s)),n.push(i)}),n}/** * React Router DOM v6.22.0 * * Copyright (c) Remix Software Inc. @@ -144,9 +153,9 @@ Error generating stack: `+i.message+` * LICENSE.md file in the root directory of this source tree. * * @license MIT - */const KT="6";try{window.__reactRouterVersion=KT}catch{}const qT="startTransition",iy=Yc[qT];function QT(e){let{basename:t,children:n,future:r,window:o}=e,i=T.useRef();i.current==null&&(i.current=lT({window:o,v5Compat:!0}));let s=i.current,[a,l]=T.useState({action:s.action,location:s.location}),{v7_startTransition:u}=r||{},d=T.useCallback(c=>{u&&iy?iy(()=>l(c)):l(c)},[l,u]);return T.useLayoutEffect(()=>s.listen(d),[s,d]),T.createElement(WT,{basename:t,children:n,location:a.location,navigationType:a.action,navigator:s,future:r})}var sy;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(sy||(sy={}));var ay;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(ay||(ay={}));var o1={};function GT(e){const t=new Error(e);if(t.stack===void 0)try{throw t}catch{}return t}var XT=GT,_e=XT;function YT(e){return!!e&&typeof e.then=="function"}var De=YT;function ZT(e,t){if(e!=null)return e;throw _e(t??"Got unexpected null or undefined")}var Ue=ZT;function we(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class Ou{getValue(){throw _e("BaseLoadable")}toPromise(){throw _e("BaseLoadable")}valueMaybe(){throw _e("BaseLoadable")}valueOrThrow(){throw _e(`Loadable expected value, but in "${this.state}" state`)}promiseMaybe(){throw _e("BaseLoadable")}promiseOrThrow(){throw _e(`Loadable expected promise, but in "${this.state}" state`)}errorMaybe(){throw _e("BaseLoadable")}errorOrThrow(){throw _e(`Loadable expected error, but in "${this.state}" state`)}is(t){return t.state===this.state&&t.contents===this.contents}map(t){throw _e("BaseLoadable")}}class JT extends Ou{constructor(t){super(),we(this,"state","hasValue"),we(this,"contents",void 0),this.contents=t}getValue(){return this.contents}toPromise(){return Promise.resolve(this.contents)}valueMaybe(){return this.contents}valueOrThrow(){return this.contents}promiseMaybe(){}errorMaybe(){}map(t){try{const n=t(this.contents);return De(n)?no(n):Jo(n)?n:Ms(n)}catch(n){return De(n)?no(n.next(()=>this.map(t))):Lu(n)}}}class ek extends Ou{constructor(t){super(),we(this,"state","hasError"),we(this,"contents",void 0),this.contents=t}getValue(){throw this.contents}toPromise(){return Promise.reject(this.contents)}valueMaybe(){}promiseMaybe(){}errorMaybe(){return this.contents}errorOrThrow(){return this.contents}map(t){return this}}class i1 extends Ou{constructor(t){super(),we(this,"state","loading"),we(this,"contents",void 0),this.contents=t}getValue(){throw this.contents}toPromise(){return this.contents}valueMaybe(){}promiseMaybe(){return this.contents}promiseOrThrow(){return this.contents}errorMaybe(){}map(t){return no(this.contents.then(n=>{const r=t(n);if(Jo(r)){const o=r;switch(o.state){case"hasValue":return o.contents;case"hasError":throw o.contents;case"loading":return o.contents}}return r}).catch(n=>{if(De(n))return n.then(()=>this.map(t).contents);throw n}))}}function Ms(e){return Object.freeze(new JT(e))}function Lu(e){return Object.freeze(new ek(e))}function no(e){return Object.freeze(new i1(e))}function s1(){return Object.freeze(new i1(new Promise(()=>{})))}function tk(e){return e.every(t=>t.state==="hasValue")?Ms(e.map(t=>t.contents)):e.some(t=>t.state==="hasError")?Lu(Ue(e.find(t=>t.state==="hasError"),"Invalid loadable passed to loadableAll").contents):no(Promise.all(e.map(t=>t.contents)))}function a1(e){const n=(Array.isArray(e)?e:Object.getOwnPropertyNames(e).map(o=>e[o])).map(o=>Jo(o)?o:De(o)?no(o):Ms(o)),r=tk(n);return Array.isArray(e)?r:r.map(o=>Object.getOwnPropertyNames(e).reduce((i,s,a)=>({...i,[s]:o[a]}),{}))}function Jo(e){return e instanceof Ou}const nk={of:e=>De(e)?no(e):Jo(e)?e:Ms(e),error:e=>Lu(e),loading:()=>s1(),all:a1,isLoadable:Jo};var so={loadableWithValue:Ms,loadableWithError:Lu,loadableWithPromise:no,loadableLoading:s1,loadableAll:a1,isLoadable:Jo,RecoilLoadable:nk},rk=so.loadableWithValue,ok=so.loadableWithError,ik=so.loadableWithPromise,sk=so.loadableLoading,ak=so.loadableAll,lk=so.isLoadable,uk=so.RecoilLoadable,Ds=Object.freeze({__proto__:null,loadableWithValue:rk,loadableWithError:ok,loadableWithPromise:ik,loadableLoading:sk,loadableAll:ak,isLoadable:lk,RecoilLoadable:uk});const ef={RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED:!0,RECOIL_GKS_ENABLED:new Set(["recoil_hamt_2020","recoil_sync_external_store","recoil_suppress_rerender_in_callback","recoil_memory_managament_2020"])};function ck(e,t){var n,r;const o=(n=o1[e])===null||n===void 0||(r=n.toLowerCase())===null||r===void 0?void 0:r.trim();if(o==null||o==="")return;if(!["true","false"].includes(o))throw _e(`process.env.${e} value must be 'true', 'false', or empty: ${o}`);t(o==="true")}function dk(e,t){var n;const r=(n=o1[e])===null||n===void 0?void 0:n.trim();r==null||r===""||t(r.split(/\s*,\s*|\s+/))}function fk(){var e;typeof process>"u"||((e=process)===null||e===void 0?void 0:e.env)!=null&&(ck("RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED",t=>{ef.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED=t}),dk("RECOIL_GKS_ENABLED",t=>{t.forEach(n=>{ef.RECOIL_GKS_ENABLED.add(n)})}))}fk();var di=ef;function Fu(e){return di.RECOIL_GKS_ENABLED.has(e)}Fu.setPass=e=>{di.RECOIL_GKS_ENABLED.add(e)};Fu.setFail=e=>{di.RECOIL_GKS_ENABLED.delete(e)};Fu.clear=()=>{di.RECOIL_GKS_ENABLED.clear()};var Oe=Fu;function hk(e,t,{error:n}={}){return null}var pk=hk,$h=pk,Fc,Mc,Dc;const mk=(Fc=ie.createMutableSource)!==null&&Fc!==void 0?Fc:ie.unstable_createMutableSource,l1=(Mc=ie.useMutableSource)!==null&&Mc!==void 0?Mc:ie.unstable_useMutableSource,u1=(Dc=ie.useSyncExternalStore)!==null&&Dc!==void 0?Dc:ie.unstable_useSyncExternalStore;function yk(){var e;const{ReactCurrentDispatcher:t,ReactCurrentOwner:n}=ie.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;return((e=t==null?void 0:t.current)!==null&&e!==void 0?e:n.currentDispatcher).useSyncExternalStore!=null}function vk(){return Oe("recoil_transition_support")?{mode:"TRANSITION_SUPPORT",early:!0,concurrent:!0}:Oe("recoil_sync_external_store")&&u1!=null?{mode:"SYNC_EXTERNAL_STORE",early:!0,concurrent:!1}:Oe("recoil_mutable_source")&&l1!=null&&typeof window<"u"&&!window.$disableRecoilValueMutableSource_TEMP_HACK_DO_NOT_USE?Oe("recoil_suppress_rerender_in_callback")?{mode:"MUTABLE_SOURCE",early:!0,concurrent:!0}:{mode:"MUTABLE_SOURCE",early:!1,concurrent:!1}:Oe("recoil_suppress_rerender_in_callback")?{mode:"LEGACY",early:!0,concurrent:!1}:{mode:"LEGACY",early:!1,concurrent:!1}}function gk(){return!1}var Is={createMutableSource:mk,useMutableSource:l1,useSyncExternalStore:u1,currentRendererSupportsUseSyncExternalStore:yk,reactMode:vk,isFastRefreshEnabled:gk};class jh{constructor(t){we(this,"key",void 0),this.key=t}toJSON(){return{key:this.key}}}class c1 extends jh{}class d1 extends jh{}function Sk(e){return e instanceof c1||e instanceof d1}var Mu={AbstractRecoilValue:jh,RecoilState:c1,RecoilValueReadOnly:d1,isRecoilValue:Sk},wk=Mu.AbstractRecoilValue,_k=Mu.RecoilState,Rk=Mu.RecoilValueReadOnly,bk=Mu.isRecoilValue,ei=Object.freeze({__proto__:null,AbstractRecoilValue:wk,RecoilState:_k,RecoilValueReadOnly:Rk,isRecoilValue:bk});function xk(e,t){return function*(){let n=0;for(const r of e)yield t(r,n++)}()}var Du=xk;class f1{}const Ek=new f1,ro=new Map,Vh=new Map;function Ck(e){return Du(e,t=>Ue(Vh.get(t)))}function Tk(e){if(ro.has(e)){const t=`Duplicate atom key "${e}". This is a FATAL ERROR in + */function kp(e){return e===void 0&&(e=""),new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let r=e[n];return t.concat(Array.isArray(r)?r.map(o=>[n,o]):[[n,r]])},[]))}function j$(e,t){let n=kp(e);return t&&t.forEach((r,o)=>{n.has(o)||t.getAll(o).forEach(s=>{n.append(o,s)})}),n}const B$="6";try{window.__reactRouterVersion=B$}catch{}const U$="startTransition",yg=Dl[U$];function z$(e){let{basename:t,children:n,future:r,window:o}=e,s=b.useRef();s.current==null&&(s.current=GL({window:o,v5Compat:!0}));let i=s.current,[a,l]=b.useState({action:i.action,location:i.location}),{v7_startTransition:u}=r||{},c=b.useCallback(d=>{u&&yg?yg(()=>l(d)):l(d)},[l,u]);return b.useLayoutEffect(()=>i.listen(c),[i,c]),b.createElement(F$,{basename:t,children:n,location:a.location,navigationType:a.action,navigator:i,future:r})}var gg;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(gg||(gg={}));var Sg;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(Sg||(Sg={}));function qb(e){let t=b.useRef(kp(e)),n=b.useRef(!1),r=ym(),o=b.useMemo(()=>j$(r.search,n.current?null:t.current),[r.search]),s=gm(),i=b.useCallback((a,l)=>{const u=kp(typeof a=="function"?a(o):a);n.current=!0,s("?"+u,l)},[s,o]);return[o,i]}var Kb={};function V$(e){const t=new Error(e);if(t.stack===void 0)try{throw t}catch{}return t}var W$=V$,Te=W$;function H$(e){return!!e&&typeof e.then=="function"}var Je=H$;function q$(e,t){if(e!=null)return e;throw Te(t??"Got unexpected null or undefined")}var rt=q$;function ke(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class Wc{getValue(){throw Te("BaseLoadable")}toPromise(){throw Te("BaseLoadable")}valueMaybe(){throw Te("BaseLoadable")}valueOrThrow(){throw Te(`Loadable expected value, but in "${this.state}" state`)}promiseMaybe(){throw Te("BaseLoadable")}promiseOrThrow(){throw Te(`Loadable expected promise, but in "${this.state}" state`)}errorMaybe(){throw Te("BaseLoadable")}errorOrThrow(){throw Te(`Loadable expected error, but in "${this.state}" state`)}is(t){return t.state===this.state&&t.contents===this.contents}map(t){throw Te("BaseLoadable")}}class K$ extends Wc{constructor(t){super(),ke(this,"state","hasValue"),ke(this,"contents",void 0),this.contents=t}getValue(){return this.contents}toPromise(){return Promise.resolve(this.contents)}valueMaybe(){return this.contents}valueOrThrow(){return this.contents}promiseMaybe(){}errorMaybe(){}map(t){try{const n=t(this.contents);return Je(n)?Ao(n):ks(n)?n:Ea(n)}catch(n){return Je(n)?Ao(n.next(()=>this.map(t))):Hc(n)}}}class G$ extends Wc{constructor(t){super(),ke(this,"state","hasError"),ke(this,"contents",void 0),this.contents=t}getValue(){throw this.contents}toPromise(){return Promise.reject(this.contents)}valueMaybe(){}promiseMaybe(){}errorMaybe(){return this.contents}errorOrThrow(){return this.contents}map(t){return this}}class Gb extends Wc{constructor(t){super(),ke(this,"state","loading"),ke(this,"contents",void 0),this.contents=t}getValue(){throw this.contents}toPromise(){return this.contents}valueMaybe(){}promiseMaybe(){return this.contents}promiseOrThrow(){return this.contents}errorMaybe(){}map(t){return Ao(this.contents.then(n=>{const r=t(n);if(ks(r)){const o=r;switch(o.state){case"hasValue":return o.contents;case"hasError":throw o.contents;case"loading":return o.contents}}return r}).catch(n=>{if(Je(n))return n.then(()=>this.map(t).contents);throw n}))}}function Ea(e){return Object.freeze(new K$(e))}function Hc(e){return Object.freeze(new G$(e))}function Ao(e){return Object.freeze(new Gb(e))}function Qb(){return Object.freeze(new Gb(new Promise(()=>{})))}function Q$(e){return e.every(t=>t.state==="hasValue")?Ea(e.map(t=>t.contents)):e.some(t=>t.state==="hasError")?Hc(rt(e.find(t=>t.state==="hasError"),"Invalid loadable passed to loadableAll").contents):Ao(Promise.all(e.map(t=>t.contents)))}function Xb(e){const n=(Array.isArray(e)?e:Object.getOwnPropertyNames(e).map(o=>e[o])).map(o=>ks(o)?o:Je(o)?Ao(o):Ea(o)),r=Q$(n);return Array.isArray(e)?r:r.map(o=>Object.getOwnPropertyNames(e).reduce((s,i,a)=>({...s,[i]:o[a]}),{}))}function ks(e){return e instanceof Wc}const X$={of:e=>Je(e)?Ao(e):ks(e)?e:Ea(e),error:e=>Hc(e),loading:()=>Qb(),all:Xb,isLoadable:ks};var $o={loadableWithValue:Ea,loadableWithError:Hc,loadableWithPromise:Ao,loadableLoading:Qb,loadableAll:Xb,isLoadable:ks,RecoilLoadable:X$},Y$=$o.loadableWithValue,J$=$o.loadableWithError,Z$=$o.loadableWithPromise,eM=$o.loadableLoading,tM=$o.loadableAll,nM=$o.isLoadable,rM=$o.RecoilLoadable,_a=Object.freeze({__proto__:null,loadableWithValue:Y$,loadableWithError:J$,loadableWithPromise:Z$,loadableLoading:eM,loadableAll:tM,isLoadable:nM,RecoilLoadable:rM});const Tp={RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED:!0,RECOIL_GKS_ENABLED:new Set(["recoil_hamt_2020","recoil_sync_external_store","recoil_suppress_rerender_in_callback","recoil_memory_managament_2020"])};function oM(e,t){var n,r;const o=(n=Kb[e])===null||n===void 0||(r=n.toLowerCase())===null||r===void 0?void 0:r.trim();if(o==null||o==="")return;if(!["true","false"].includes(o))throw Te(`process.env.${e} value must be 'true', 'false', or empty: ${o}`);t(o==="true")}function sM(e,t){var n;const r=(n=Kb[e])===null||n===void 0?void 0:n.trim();r==null||r===""||t(r.split(/\s*,\s*|\s+/))}function iM(){var e;typeof process>"u"||((e=process)===null||e===void 0?void 0:e.env)!=null&&(oM("RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED",t=>{Tp.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED=t}),sM("RECOIL_GKS_ENABLED",t=>{t.forEach(n=>{Tp.RECOIL_GKS_ENABLED.add(n)})}))}iM();var Us=Tp;function qc(e){return Us.RECOIL_GKS_ENABLED.has(e)}qc.setPass=e=>{Us.RECOIL_GKS_ENABLED.add(e)};qc.setFail=e=>{Us.RECOIL_GKS_ENABLED.delete(e)};qc.clear=()=>{Us.RECOIL_GKS_ENABLED.clear()};var Ge=qc;function aM(e,t,{error:n}={}){return null}var lM=aM,Sm=lM,tf,nf,rf;const uM=(tf=fe.createMutableSource)!==null&&tf!==void 0?tf:fe.unstable_createMutableSource,Yb=(nf=fe.useMutableSource)!==null&&nf!==void 0?nf:fe.unstable_useMutableSource,Jb=(rf=fe.useSyncExternalStore)!==null&&rf!==void 0?rf:fe.unstable_useSyncExternalStore;function cM(){var e;const{ReactCurrentDispatcher:t,ReactCurrentOwner:n}=fe.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;return((e=t==null?void 0:t.current)!==null&&e!==void 0?e:n.currentDispatcher).useSyncExternalStore!=null}function dM(){return Ge("recoil_transition_support")?{mode:"TRANSITION_SUPPORT",early:!0,concurrent:!0}:Ge("recoil_sync_external_store")&&Jb!=null?{mode:"SYNC_EXTERNAL_STORE",early:!0,concurrent:!1}:Ge("recoil_mutable_source")&&Yb!=null&&typeof window<"u"&&!window.$disableRecoilValueMutableSource_TEMP_HACK_DO_NOT_USE?Ge("recoil_suppress_rerender_in_callback")?{mode:"MUTABLE_SOURCE",early:!0,concurrent:!0}:{mode:"MUTABLE_SOURCE",early:!1,concurrent:!1}:Ge("recoil_suppress_rerender_in_callback")?{mode:"LEGACY",early:!0,concurrent:!1}:{mode:"LEGACY",early:!1,concurrent:!1}}function fM(){return!1}var ka={createMutableSource:uM,useMutableSource:Yb,useSyncExternalStore:Jb,currentRendererSupportsUseSyncExternalStore:cM,reactMode:dM,isFastRefreshEnabled:fM};class bm{constructor(t){ke(this,"key",void 0),this.key=t}toJSON(){return{key:this.key}}}class Zb extends bm{}class ex extends bm{}function pM(e){return e instanceof Zb||e instanceof ex}var Kc={AbstractRecoilValue:bm,RecoilState:Zb,RecoilValueReadOnly:ex,isRecoilValue:pM},hM=Kc.AbstractRecoilValue,mM=Kc.RecoilState,vM=Kc.RecoilValueReadOnly,yM=Kc.isRecoilValue,Ts=Object.freeze({__proto__:null,AbstractRecoilValue:hM,RecoilState:mM,RecoilValueReadOnly:vM,isRecoilValue:yM});function gM(e,t){return function*(){let n=0;for(const r of e)yield t(r,n++)}()}var Gc=gM;class tx{}const SM=new tx,No=new Map,xm=new Map;function bM(e){return Gc(e,t=>rt(xm.get(t)))}function xM(e){if(No.has(e)){const t=`Duplicate atom key "${e}". This is a FATAL ERROR in production. But it is safe to ignore this warning if it occurred because of - hot module replacement.`;console.warn(t)}}function kk(e){di.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED&&Tk(e.key),ro.set(e.key,e);const t=e.set==null?new ei.RecoilValueReadOnly(e.key):new ei.RecoilState(e.key);return Vh.set(e.key,t),t}class h1 extends Error{}function Ak(e){const t=ro.get(e);if(t==null)throw new h1(`Missing definition for RecoilValue: "${e}""`);return t}function Nk(e){return ro.get(e)}const Cl=new Map;function Pk(e){var t;if(!Oe("recoil_memory_managament_2020"))return;const n=ro.get(e);if(n!=null&&(t=n.shouldDeleteConfigOnRelease)!==null&&t!==void 0&&t.call(n)){var r;ro.delete(e),(r=p1(e))===null||r===void 0||r(),Cl.delete(e)}}function Ok(e,t){Oe("recoil_memory_managament_2020")&&(t===void 0?Cl.delete(e):Cl.set(e,t))}function p1(e){return Cl.get(e)}var Bt={nodes:ro,recoilValues:Vh,registerNode:kk,getNode:Ak,getNodeMaybe:Nk,deleteNodeConfigIfPossible:Pk,setConfigDeletionHandler:Ok,getConfigDeletionHandler:p1,recoilValuesForKeys:Ck,NodeMissingError:h1,DefaultValue:f1,DEFAULT_VALUE:Ek};function Lk(e,t){t()}var Fk={enqueueExecution:Lk};function Mk(e,t){return t={exports:{}},e(t,t.exports),t.exports}var Dk=Mk(function(e){var t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(A){return typeof A}:function(A){return A&&typeof Symbol=="function"&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},n={},r=5,o=Math.pow(2,r),i=o-1,s=o/2,a=o/4,l={},u=function(x){return function(){return x}},d=n.hash=function(A){var x=typeof A>"u"?"undefined":t(A);if(x==="number")return A;x!=="string"&&(A+="");for(var $=0,G=0,X=A.length;G>1&1431655765,x=(x&858993459)+(x>>2&858993459),x=x+(x>>4)&252645135,x+=x>>8,x+=x>>16,x&127},h=function(x,$){return $>>>x&i},S=function(x){return 1<=$;)X[me--]=X[me];return X[$]=G,X}for(var fe=0,he=0,be=new Array(ee+1);fe<$;)be[he++]=X[fe++];for(be[$]=G;fe>>=1;return me[$]=G,U(x,he+1,me)},ae=function(x,$,G,X){for(var ee=new Array($-1),me=0,fe=0,he=0,be=X.length;he1?H(x,this.hash,be):be[0]}var $e=X();return $e===l?this:(++fe.value,Re(x,G,this.hash,this,ee,P(x,ee,me,$e)))},z=function(x,$,G,X,ee,me,fe){var he=this.mask,be=this.children,$e=h(G,ee),Pt=S($e),ut=y(he,Pt),Jt=he&Pt,vn=Jt?be[ut]:k,co=vn._modify(x,$,G+r,X,ee,me,fe);if(vn===co)return this;var Xs=ge(x,this),mi=he,yi=void 0;if(Jt&&b(co)){if(mi&=~Pt,!mi)return k;if(be.length<=2&&Y(be[ut^1]))return be[ut^1];yi=_(Xs,ut,be)}else if(!Jt&&!b(co)){if(be.length>=s)return B(x,$e,co,he,be);mi|=Pt,yi=m(Xs,ut,co,be)}else yi=p(Xs,ut,co,be);return Xs?(this.mask=mi,this.children=yi,this):M(x,mi,yi)},ne=function(x,$,G,X,ee,me,fe){var he=this.size,be=this.children,$e=h(G,ee),Pt=be[$e],ut=(Pt||k)._modify(x,$,G+r,X,ee,me,fe);if(Pt===ut)return this;var Jt=ge(x,this),vn=void 0;if(b(Pt)&&!b(ut))++he,vn=p(Jt,$e,ut,be);else if(!b(Pt)&&b(ut)){if(--he,he<=a)return ae(x,he,$e,be);vn=p(Jt,$e,k,be)}else vn=p(Jt,$e,ut,be);return Jt?(this.size=he,this.children=vn,this):U(x,he,vn)};k._modify=function(A,x,$,G,X,ee,me){var fe=G();return fe===l?k:(++me.value,P(A,X,ee,fe))};function C(A,x,$,G,X){this._editable=A,this._edit=x,this._config=$,this._root=G,this._size=X}C.prototype.setTree=function(A,x){return this._editable?(this._root=A,this._size=x,this):A===this._root?this:new C(this._editable,this._edit,this._config,A,x)};var V=n.tryGetHash=function(A,x,$,G){for(var X=G._root,ee=0,me=G._config.keyEq;;)switch(X.type){case f:return me($,X.key)?X.value:A;case v:{if(x===X.hash)for(var fe=X.children,he=0,be=fe.length;he{n.set(o,t(r,o))}),n}var Tl=Bk;function zk(){return{nodeDeps:new Map,nodeToNodeSubscriptions:new Map}}function Wk(e){return{nodeDeps:Tl(e.nodeDeps,t=>new Set(t)),nodeToNodeSubscriptions:Tl(e.nodeToNodeSubscriptions,t=>new Set(t))}}function Ic(e,t,n,r){const{nodeDeps:o,nodeToNodeSubscriptions:i}=n,s=o.get(e);if(s&&r&&s!==r.nodeDeps.get(e))return;o.set(e,t);const a=s==null?t:Ji(t,s);for(const l of a)i.has(l)||i.set(l,new Set),Ue(i.get(l)).add(e);if(s){const l=Ji(s,t);for(const u of l){if(!i.has(u))return;const d=Ue(i.get(u));d.delete(e),d.size===0&&i.delete(u)}}}function Hk(e,t,n,r){var o,i,s,a;const l=n.getState();r===l.currentTree.version||r===((o=l.nextTree)===null||o===void 0?void 0:o.version)||((i=l.previousTree)===null||i===void 0||i.version);const u=n.getGraph(r);if(Ic(e,t,u),r===((s=l.previousTree)===null||s===void 0?void 0:s.version)){const c=n.getGraph(l.currentTree.version);Ic(e,t,c,u)}if(r===((a=l.previousTree)===null||a===void 0?void 0:a.version)||r===l.currentTree.version){var d;const c=(d=l.nextTree)===null||d===void 0?void 0:d.version;if(c!==void 0){const h=n.getGraph(c);Ic(e,t,h,u)}}}var $s={cloneGraph:Wk,graph:zk,saveDepsToStore:Hk};let Kk=0;const qk=()=>Kk++;let Qk=0;const Gk=()=>Qk++;let Xk=0;const Yk=()=>Xk++;var Iu={getNextTreeStateVersion:qk,getNextStoreID:Gk,getNextComponentID:Yk};const{persistentMap:ly}=Vk,{graph:Zk}=$s,{getNextTreeStateVersion:m1}=Iu;function y1(){const e=m1();return{version:e,stateID:e,transactionMetadata:{},dirtyAtoms:new Set,atomValues:ly(),nonvalidatedAtoms:ly()}}function Jk(){const e=y1();return{currentTree:e,nextTree:null,previousTree:null,commitDepth:0,knownAtoms:new Set,knownSelectors:new Set,transactionSubscriptions:new Map,nodeTransactionSubscriptions:new Map,nodeToComponentSubscriptions:new Map,queuedComponentCallbacks_DEPRECATED:[],suspendedComponentResolvers:new Set,graphsByVersion:new Map().set(e.version,Zk()),retention:{referenceCounts:new Map,nodesRetainedByZone:new Map,retainablesToCheckForRelease:new Set},nodeCleanupFunctions:new Map}}var v1={makeEmptyTreeState:y1,makeEmptyStoreState:Jk,getNextTreeStateVersion:m1};class g1{}function eA(){return new g1}var $u={RetentionZone:g1,retentionZone:eA};function tA(e,t){const n=new Set(e);return n.add(t),n}function nA(e,t){const n=new Set(e);return n.delete(t),n}function rA(e,t,n){const r=new Map(e);return r.set(t,n),r}function oA(e,t,n){const r=new Map(e);return r.set(t,n(r.get(t))),r}function iA(e,t){const n=new Map(e);return n.delete(t),n}function sA(e,t){const n=new Map(e);return t.forEach(r=>n.delete(r)),n}var S1={setByAddingToSet:tA,setByDeletingFromSet:nA,mapBySettingInMap:rA,mapByUpdatingInMap:oA,mapByDeletingFromMap:iA,mapByDeletingMultipleFromMap:sA};function*aA(e,t){let n=0;for(const r of e)t(r,n++)&&(yield r)}var zh=aA;function lA(e,t){return new Proxy(e,{get:(r,o)=>(!(o in r)&&o in t&&(r[o]=t[o]()),r[o]),ownKeys:r=>Object.keys(r)})}var w1=lA;const{getNode:js,getNodeMaybe:uA,recoilValuesForKeys:uy}=Bt,{RetentionZone:cy}=$u,{setByAddingToSet:cA}=S1,dA=Object.freeze(new Set);class fA extends Error{}function hA(e,t,n){if(!Oe("recoil_memory_managament_2020"))return()=>{};const{nodesRetainedByZone:r}=e.getState().retention;function o(i){let s=r.get(i);s||r.set(i,s=new Set),s.add(t)}if(n instanceof cy)o(n);else if(Array.isArray(n))for(const i of n)o(i);return()=>{if(!Oe("recoil_memory_managament_2020"))return;const{retention:i}=e.getState();function s(a){const l=i.nodesRetainedByZone.get(a);l==null||l.delete(t),l&&l.size===0&&i.nodesRetainedByZone.delete(a)}if(n instanceof cy)s(n);else if(Array.isArray(n))for(const a of n)s(a)}}function Wh(e,t,n,r){const o=e.getState();if(o.nodeCleanupFunctions.has(n))return;const i=js(n),s=hA(e,n,i.retainedBy),a=i.init(e,t,r);o.nodeCleanupFunctions.set(n,()=>{a(),s()})}function pA(e,t,n){Wh(e,e.getState().currentTree,t,n)}function mA(e,t){var n;const r=e.getState();(n=r.nodeCleanupFunctions.get(t))===null||n===void 0||n(),r.nodeCleanupFunctions.delete(t)}function yA(e,t,n){return Wh(e,t,n,"get"),js(n).get(e,t)}function _1(e,t,n){return js(n).peek(e,t)}function vA(e,t,n){var r;const o=uA(t);return o==null||(r=o.invalidate)===null||r===void 0||r.call(o,e),{...e,atomValues:e.atomValues.clone().delete(t),nonvalidatedAtoms:e.nonvalidatedAtoms.clone().set(t,n),dirtyAtoms:cA(e.dirtyAtoms,t)}}function gA(e,t,n,r){const o=js(n);if(o.set==null)throw new fA(`Attempt to set read-only RecoilValue: ${n}`);const i=o.set;return Wh(e,t,n,"set"),i(e,t,r)}function SA(e,t,n){const r=e.getState(),o=e.getGraph(t.version),i=js(n).nodeType;return w1({type:i},{loadable:()=>_1(e,t,n),isActive:()=>r.knownAtoms.has(n)||r.knownSelectors.has(n),isSet:()=>i==="selector"?!1:t.atomValues.has(n),isModified:()=>t.dirtyAtoms.has(n),deps:()=>{var s;return uy((s=o.nodeDeps.get(n))!==null&&s!==void 0?s:[])},subscribers:()=>{var s,a;return{nodes:uy(zh(R1(e,t,new Set([n])),l=>l!==n)),components:Du((s=(a=r.nodeToComponentSubscriptions.get(n))===null||a===void 0?void 0:a.values())!==null&&s!==void 0?s:[],([l])=>({name:l}))}}})}function R1(e,t,n){const r=new Set,o=Array.from(n),i=e.getGraph(t.version);for(let a=o.pop();a;a=o.pop()){var s;r.add(a);const l=(s=i.nodeToNodeSubscriptions.get(a))!==null&&s!==void 0?s:dA;for(const u of l)r.has(u)||o.push(u)}return r}var Lr={getNodeLoadable:yA,peekNodeLoadable:_1,setNodeValue:gA,initializeNode:pA,cleanUpNode:mA,setUnvalidatedAtomValue_DEPRECATED:vA,peekNodeInfo:SA,getDownstreamNodes:R1};let b1=null;function wA(e){b1=e}function _A(){var e;(e=b1)===null||e===void 0||e()}var x1={setInvalidateMemoizedSnapshot:wA,invalidateMemoizedSnapshot:_A};const{getDownstreamNodes:RA,getNodeLoadable:E1,setNodeValue:bA}=Lr,{getNextComponentID:xA}=Iu,{getNode:EA,getNodeMaybe:C1}=Bt,{DefaultValue:Hh}=Bt,{reactMode:CA}=Is,{AbstractRecoilValue:TA,RecoilState:kA,RecoilValueReadOnly:AA,isRecoilValue:NA}=ei,{invalidateMemoizedSnapshot:PA}=x1;function OA(e,{key:t},n=e.getState().currentTree){var r,o;const i=e.getState();n.version===i.currentTree.version||n.version===((r=i.nextTree)===null||r===void 0?void 0:r.version)||(n.version,(o=i.previousTree)===null||o===void 0||o.version);const s=E1(e,n,t);return s.state==="loading"&&s.contents.catch(()=>{}),s}function LA(e,t){const n=e.clone();return t.forEach((r,o)=>{r.state==="hasValue"&&r.contents instanceof Hh?n.delete(o):n.set(o,r)}),n}function FA(e,t,{key:n},r){if(typeof r=="function"){const o=E1(e,t,n);if(o.state==="loading"){const i=`Tried to set atom or selector "${n}" using an updater function while the current state is pending, this is not currently supported.`;throw _e(i)}else if(o.state==="hasError")throw o.contents;return r(o.contents)}else return r}function MA(e,t,n){if(n.type==="set"){const{recoilValue:o,valueOrUpdater:i}=n,s=FA(e,t,o,i),a=bA(e,t,o.key,s);for(const[l,u]of a.entries())tf(t,l,u)}else if(n.type==="setLoadable"){const{recoilValue:{key:o},loadable:i}=n;tf(t,o,i)}else if(n.type==="markModified"){const{recoilValue:{key:o}}=n;t.dirtyAtoms.add(o)}else if(n.type==="setUnvalidated"){var r;const{recoilValue:{key:o},unvalidatedValue:i}=n,s=C1(o);s==null||(r=s.invalidate)===null||r===void 0||r.call(s,t),t.atomValues.delete(o),t.nonvalidatedAtoms.set(o,i),t.dirtyAtoms.add(o)}else $h(`Unknown action ${n.type}`)}function tf(e,t,n){n.state==="hasValue"&&n.contents instanceof Hh?e.atomValues.delete(t):e.atomValues.set(t,n),e.dirtyAtoms.add(t),e.nonvalidatedAtoms.delete(t)}function T1(e,t){e.replaceState(n=>{const r=k1(n);for(const o of t)MA(e,r,o);return A1(e,r),PA(),r})}function ju(e,t){if(es.length){const n=es[es.length-1];let r=n.get(e);r||n.set(e,r=[]),r.push(t)}else T1(e,[t])}const es=[];function DA(){const e=new Map;return es.push(e),()=>{for(const[t,n]of e)T1(t,n);es.pop()}}function k1(e){return{...e,atomValues:e.atomValues.clone(),nonvalidatedAtoms:e.nonvalidatedAtoms.clone(),dirtyAtoms:new Set(e.dirtyAtoms)}}function A1(e,t){const n=RA(e,t,t.dirtyAtoms);for(const i of n){var r,o;(r=C1(i))===null||r===void 0||(o=r.invalidate)===null||o===void 0||o.call(r,t)}}function N1(e,t,n){ju(e,{type:"set",recoilValue:t,valueOrUpdater:n})}function IA(e,t,n){if(n instanceof Hh)return N1(e,t,n);ju(e,{type:"setLoadable",recoilValue:t,loadable:n})}function $A(e,t){ju(e,{type:"markModified",recoilValue:t})}function jA(e,t,n){ju(e,{type:"setUnvalidated",recoilValue:t,unvalidatedValue:n})}function VA(e,{key:t},n,r=null){const o=xA(),i=e.getState();i.nodeToComponentSubscriptions.has(t)||i.nodeToComponentSubscriptions.set(t,new Map),Ue(i.nodeToComponentSubscriptions.get(t)).set(o,[r??"",n]);const s=CA();if(s.early&&(s.mode==="LEGACY"||s.mode==="MUTABLE_SOURCE")){const a=e.getState().nextTree;a&&a.dirtyAtoms.has(t)&&n(a)}return{release:()=>{const a=e.getState(),l=a.nodeToComponentSubscriptions.get(t);l===void 0||!l.has(o)||(l.delete(o),l.size===0&&a.nodeToComponentSubscriptions.delete(t))}}}function UA(e,t){var n;const{currentTree:r}=e.getState(),o=EA(t.key);(n=o.clearCache)===null||n===void 0||n.call(o,e,r)}var Un={RecoilValueReadOnly:AA,AbstractRecoilValue:TA,RecoilState:kA,getRecoilValueAsLoadable:OA,setRecoilValue:N1,setRecoilValueLoadable:IA,markRecoilValueModified:$A,setUnvalidatedRecoilValue:jA,subscribeToRecoilValue:VA,isRecoilValue:NA,applyAtomValueWrites:LA,batchStart:DA,writeLoadableToTreeState:tf,invalidateDownstreams:A1,copyTreeState:k1,refreshRecoilValue:UA};function BA(e,t,n){const r=e.entries();let o=r.next();for(;!o.done;){const i=o.value;if(t.call(n,i[1],i[0],e))return!0;o=r.next()}return!1}var zA=BA;const{cleanUpNode:WA}=Lr,{deleteNodeConfigIfPossible:HA,getNode:P1}=Bt,{RetentionZone:O1}=$u,KA=12e4,L1=new Set;function F1(e,t){const n=e.getState(),r=n.currentTree;if(n.nextTree)return;const o=new Set;for(const s of t)if(s instanceof O1)for(const a of XA(n,s))o.add(a);else o.add(s);const i=qA(e,o);for(const s of i)GA(e,r,s)}function qA(e,t){const n=e.getState(),r=n.currentTree,o=e.getGraph(r.version),i=new Set,s=new Set;return a(t),i;function a(l){const u=new Set,d=QA(e,r,l,i,s);for(const y of d){var c;if(P1(y).retainedBy==="recoilRoot"){s.add(y);continue}if(((c=n.retention.referenceCounts.get(y))!==null&&c!==void 0?c:0)>0){s.add(y);continue}if(M1(y).some(_=>n.retention.referenceCounts.get(_))){s.add(y);continue}const p=o.nodeToNodeSubscriptions.get(y);if(p&&zA(p,_=>s.has(_))){s.add(y);continue}i.add(y),u.add(y)}const h=new Set;for(const y of u)for(const p of(S=o.nodeDeps.get(y))!==null&&S!==void 0?S:L1){var S;i.has(p)||h.add(p)}h.size&&a(h)}}function QA(e,t,n,r,o){const i=e.getGraph(t.version),s=[],a=new Set;for(;n.size>0;)l(Ue(n.values().next().value));return s;function l(u){if(r.has(u)||o.has(u)){n.delete(u);return}if(a.has(u))return;const d=i.nodeToNodeSubscriptions.get(u);if(d)for(const c of d)l(c);a.add(u),n.delete(u),s.push(u)}}function GA(e,t,n){if(!Oe("recoil_memory_managament_2020"))return;WA(e,n);const r=e.getState();r.knownAtoms.delete(n),r.knownSelectors.delete(n),r.nodeTransactionSubscriptions.delete(n),r.retention.referenceCounts.delete(n);const o=M1(n);for(const l of o){var i;(i=r.retention.nodesRetainedByZone.get(l))===null||i===void 0||i.delete(n)}t.atomValues.delete(n),t.dirtyAtoms.delete(n),t.nonvalidatedAtoms.delete(n);const s=r.graphsByVersion.get(t.version);if(s){const l=s.nodeDeps.get(n);if(l!==void 0){s.nodeDeps.delete(n);for(const u of l){var a;(a=s.nodeToNodeSubscriptions.get(u))===null||a===void 0||a.delete(n)}}s.nodeToNodeSubscriptions.delete(n)}HA(n)}function XA(e,t){var n;return(n=e.retention.nodesRetainedByZone.get(t))!==null&&n!==void 0?n:L1}function M1(e){const t=P1(e).retainedBy;return t===void 0||t==="components"||t==="recoilRoot"?[]:t instanceof O1?[t]:t}function YA(e,t){const n=e.getState();n.nextTree?n.retention.retainablesToCheckForRelease.add(t):F1(e,new Set([t]))}function ZA(e,t,n){var r;if(!Oe("recoil_memory_managament_2020"))return;const o=e.getState().retention.referenceCounts,i=((r=o.get(t))!==null&&r!==void 0?r:0)+n;i===0?D1(e,t):o.set(t,i)}function D1(e,t){if(!Oe("recoil_memory_managament_2020"))return;e.getState().retention.referenceCounts.delete(t),YA(e,t)}function JA(e){if(!Oe("recoil_memory_managament_2020"))return;const t=e.getState();F1(e,t.retention.retainablesToCheckForRelease),t.retention.retainablesToCheckForRelease.clear()}function e2(e){return e===void 0?"recoilRoot":e}var ao={SUSPENSE_TIMEOUT_MS:KA,updateRetainCount:ZA,updateRetainCountToZero:D1,releaseScheduledRetainablesNow:JA,retainedByOptionWithDefault:e2};const{unstable_batchedUpdates:t2}=wC;var n2={unstable_batchedUpdates:t2};const{unstable_batchedUpdates:r2}=n2;var o2={unstable_batchedUpdates:r2};const{batchStart:i2}=Un,{unstable_batchedUpdates:s2}=o2;let Kh=s2||(e=>e());const a2=e=>{Kh=e},l2=()=>Kh,u2=e=>{Kh(()=>{let t=()=>{};try{t=i2(),e()}finally{t()}})};var Vu={getBatcher:l2,setBatcher:a2,batchUpdates:u2};function*c2(e){for(const t of e)for(const n of t)yield n}var I1=c2;const $1=typeof Window>"u"||typeof window>"u",d2=e=>!$1&&(e===window||e instanceof Window),f2=typeof navigator<"u"&&navigator.product==="ReactNative";var Uu={isSSR:$1,isReactNative:f2,isWindow:d2};function h2(e,t){let n;return(...r)=>{n||(n={});const o=t(...r);return Object.hasOwnProperty.call(n,o)||(n[o]=e(...r)),n[o]}}function p2(e,t){let n,r;return(...o)=>{const i=t(...o);return n===i||(n=i,r=e(...o)),r}}function m2(e,t){let n,r;return[(...s)=>{const a=t(...s);return n===a||(n=a,r=e(...s)),r},()=>{n=null}]}var y2={memoizeWithArgsHash:h2,memoizeOneWithArgsHash:p2,memoizeOneWithArgsHashAndInvalidation:m2};const{batchUpdates:nf}=Vu,{initializeNode:v2,peekNodeInfo:g2}=Lr,{graph:S2}=$s,{getNextStoreID:w2}=Iu,{DEFAULT_VALUE:_2,recoilValues:dy,recoilValuesForKeys:fy}=Bt,{AbstractRecoilValue:R2,getRecoilValueAsLoadable:b2,setRecoilValue:hy,setUnvalidatedRecoilValue:x2}=Un,{updateRetainCount:Wa}=ao,{setInvalidateMemoizedSnapshot:E2}=x1,{getNextTreeStateVersion:C2,makeEmptyStoreState:T2}=v1,{isSSR:k2}=Uu,{memoizeOneWithArgsHashAndInvalidation:A2}=y2;class Bu{constructor(t,n){we(this,"_store",void 0),we(this,"_refCount",1),we(this,"getLoadable",r=>(this.checkRefCount_INTERNAL(),b2(this._store,r))),we(this,"getPromise",r=>(this.checkRefCount_INTERNAL(),this.getLoadable(r).toPromise())),we(this,"getNodes_UNSTABLE",r=>{if(this.checkRefCount_INTERNAL(),(r==null?void 0:r.isModified)===!0){if((r==null?void 0:r.isInitialized)===!1)return[];const s=this._store.getState().currentTree;return fy(s.dirtyAtoms)}const o=this._store.getState().knownAtoms,i=this._store.getState().knownSelectors;return(r==null?void 0:r.isInitialized)==null?dy.values():r.isInitialized===!0?fy(I1([o,i])):zh(dy.values(),({key:s})=>!o.has(s)&&!i.has(s))}),we(this,"getInfo_UNSTABLE",({key:r})=>(this.checkRefCount_INTERNAL(),g2(this._store,this._store.getState().currentTree,r))),we(this,"map",r=>{this.checkRefCount_INTERNAL();const o=new rf(this,nf);return r(o),o}),we(this,"asyncMap",async r=>{this.checkRefCount_INTERNAL();const o=new rf(this,nf);return o.retain(),await r(o),o.autoRelease_INTERNAL(),o}),this._store={storeID:w2(),parentStoreID:n,getState:()=>t,replaceState:r=>{t.currentTree=r(t.currentTree)},getGraph:r=>{const o=t.graphsByVersion;if(o.has(r))return Ue(o.get(r));const i=S2();return o.set(r,i),i},subscribeToTransactions:()=>({release:()=>{}}),addTransactionMetadata:()=>{throw _e("Cannot subscribe to Snapshots")}};for(const r of this._store.getState().knownAtoms)v2(this._store,r,"get"),Wa(this._store,r,1);this.autoRelease_INTERNAL()}retain(){this._refCount<=0,this._refCount++;let t=!1;return()=>{t||(t=!0,this._release())}}autoRelease_INTERNAL(){k2||window.setTimeout(()=>this._release(),10)}_release(){if(this._refCount--,this._refCount===0){if(this._store.getState().nodeCleanupFunctions.forEach(t=>t()),this._store.getState().nodeCleanupFunctions.clear(),!Oe("recoil_memory_managament_2020"))return}else this._refCount<0}isRetained(){return this._refCount>0}checkRefCount_INTERNAL(){Oe("recoil_memory_managament_2020")&&this._refCount<=0}getStore_INTERNAL(){return this.checkRefCount_INTERNAL(),this._store}getID(){return this.checkRefCount_INTERNAL(),this._store.getState().currentTree.stateID}getStoreID(){return this.checkRefCount_INTERNAL(),this._store.storeID}}function j1(e,t,n=!1){const r=e.getState(),o=n?C2():t.version;return{currentTree:{version:n?o:t.version,stateID:n?o:t.stateID,transactionMetadata:{...t.transactionMetadata},dirtyAtoms:new Set(t.dirtyAtoms),atomValues:t.atomValues.clone(),nonvalidatedAtoms:t.nonvalidatedAtoms.clone()},commitDepth:0,nextTree:null,previousTree:null,knownAtoms:new Set(r.knownAtoms),knownSelectors:new Set(r.knownSelectors),transactionSubscriptions:new Map,nodeTransactionSubscriptions:new Map,nodeToComponentSubscriptions:new Map,queuedComponentCallbacks_DEPRECATED:[],suspendedComponentResolvers:new Set,graphsByVersion:new Map().set(o,e.getGraph(t.version)),retention:{referenceCounts:new Map,nodesRetainedByZone:new Map,retainablesToCheckForRelease:new Set},nodeCleanupFunctions:new Map(Du(r.nodeCleanupFunctions.entries(),([i])=>[i,()=>{}]))}}function N2(e){const t=new Bu(T2());return e!=null?t.map(e):t}const[py,V1]=A2((e,t)=>{var n;const r=e.getState(),o=t==="latest"?(n=r.nextTree)!==null&&n!==void 0?n:r.currentTree:Ue(r.previousTree);return new Bu(j1(e,o),e.storeID)},(e,t)=>{var n,r;return String(t)+String(e.storeID)+String((n=e.getState().nextTree)===null||n===void 0?void 0:n.version)+String(e.getState().currentTree.version)+String((r=e.getState().previousTree)===null||r===void 0?void 0:r.version)});E2(V1);function P2(e,t="latest"){const n=py(e,t);return n.isRetained()?n:(V1(),py(e,t))}class rf extends Bu{constructor(t,n){super(j1(t.getStore_INTERNAL(),t.getStore_INTERNAL().getState().currentTree,!0),t.getStoreID()),we(this,"_batch",void 0),we(this,"set",(r,o)=>{this.checkRefCount_INTERNAL();const i=this.getStore_INTERNAL();this._batch(()=>{Wa(i,r.key,1),hy(this.getStore_INTERNAL(),r,o)})}),we(this,"reset",r=>{this.checkRefCount_INTERNAL();const o=this.getStore_INTERNAL();this._batch(()=>{Wa(o,r.key,1),hy(this.getStore_INTERNAL(),r,_2)})}),we(this,"setUnvalidatedAtomValues_DEPRECATED",r=>{this.checkRefCount_INTERNAL();const o=this.getStore_INTERNAL();nf(()=>{for(const[i,s]of r.entries())Wa(o,i,1),x2(o,new R2(i),s)})}),this._batch=n}}var zu={Snapshot:Bu,MutableSnapshot:rf,freshSnapshot:N2,cloneSnapshot:P2},O2=zu.Snapshot,L2=zu.MutableSnapshot,F2=zu.freshSnapshot,M2=zu.cloneSnapshot,Wu=Object.freeze({__proto__:null,Snapshot:O2,MutableSnapshot:L2,freshSnapshot:F2,cloneSnapshot:M2});function D2(...e){const t=new Set;for(const n of e)for(const r of n)t.add(r);return t}var I2=D2;const{useRef:$2}=ie;function j2(e){const t=$2(e);return t.current===e&&typeof e=="function"&&(t.current=e()),t}var my=j2;const{getNextTreeStateVersion:V2,makeEmptyStoreState:U1}=v1,{cleanUpNode:U2,getDownstreamNodes:B2,initializeNode:z2,setNodeValue:W2,setUnvalidatedAtomValue_DEPRECATED:H2}=Lr,{graph:K2}=$s,{cloneGraph:q2}=$s,{getNextStoreID:B1}=Iu,{createMutableSource:$c,reactMode:z1}=Is,{applyAtomValueWrites:Q2}=Un,{releaseScheduledRetainablesNow:W1}=ao,{freshSnapshot:G2}=Wu,{useCallback:X2,useContext:H1,useEffect:of,useMemo:Y2,useRef:Z2,useState:J2}=ie;function Ti(){throw _e("This component must be used inside a component.")}const K1=Object.freeze({storeID:B1(),getState:Ti,replaceState:Ti,getGraph:Ti,subscribeToTransactions:Ti,addTransactionMetadata:Ti});let sf=!1;function yy(e){if(sf)throw _e("An atom update was triggered within the execution of a state updater function. State updater functions provided to Recoil must be pure functions.");const t=e.getState();if(t.nextTree===null){Oe("recoil_memory_managament_2020")&&Oe("recoil_release_on_cascading_update_killswitch_2021")&&t.commitDepth>0&&W1(e);const n=t.currentTree.version,r=V2();t.nextTree={...t.currentTree,version:r,stateID:r,dirtyAtoms:new Set,transactionMetadata:{}},t.graphsByVersion.set(r,q2(Ue(t.graphsByVersion.get(n))))}}const q1=ie.createContext({current:K1}),Hu=()=>H1(q1),Q1=ie.createContext(null);function eN(){return H1(Q1)}function qh(e,t,n){const r=B2(e,n,n.dirtyAtoms);for(const o of r){const i=t.nodeToComponentSubscriptions.get(o);if(i)for(const[s,[a,l]]of i)l(n)}}function G1(e){const t=e.getState(),n=t.currentTree,r=n.dirtyAtoms;if(r.size){for(const[o,i]of t.nodeTransactionSubscriptions)if(r.has(o))for(const[s,a]of i)a(e);for(const[o,i]of t.transactionSubscriptions)i(e);(!z1().early||t.suspendedComponentResolvers.size>0)&&(qh(e,t,n),t.suspendedComponentResolvers.forEach(o=>o()),t.suspendedComponentResolvers.clear())}t.queuedComponentCallbacks_DEPRECATED.forEach(o=>o(n)),t.queuedComponentCallbacks_DEPRECATED.splice(0,t.queuedComponentCallbacks_DEPRECATED.length)}function tN(e){const t=e.getState();t.commitDepth++;try{const{nextTree:n}=t;if(n==null)return;t.previousTree=t.currentTree,t.currentTree=n,t.nextTree=null,G1(e),t.previousTree!=null?t.graphsByVersion.delete(t.previousTree.version):$h("Ended batch with no previous state, which is unexpected","recoil"),t.previousTree=null,Oe("recoil_memory_managament_2020")&&n==null&&W1(e)}finally{t.commitDepth--}}function nN({setNotifyBatcherOfChange:e}){const t=Hu(),[,n]=J2([]);return e(()=>n({})),of(()=>(e(()=>n({})),()=>{e(()=>{})}),[e]),of(()=>{Fk.enqueueExecution("Batcher",()=>{tN(t.current)})}),null}function rN(e,t){const n=U1();return t({set:(r,o)=>{const i=n.currentTree,s=W2(e,i,r.key,o),a=new Set(s.keys()),l=i.nonvalidatedAtoms.clone();for(const u of a)l.delete(u);n.currentTree={...i,dirtyAtoms:I2(i.dirtyAtoms,a),atomValues:Q2(i.atomValues,s),nonvalidatedAtoms:l}},setUnvalidatedAtomValues:r=>{r.forEach((o,i)=>{n.currentTree=H2(n.currentTree,i,o)})}}),n}function oN(e){const t=G2(e),n=t.getStore_INTERNAL().getState();return t.retain(),n.nodeCleanupFunctions.forEach(r=>r()),n.nodeCleanupFunctions.clear(),n}let vy=0;function iN({initializeState_DEPRECATED:e,initializeState:t,store_INTERNAL:n,children:r}){let o;const i=S=>{const y=o.current.graphsByVersion;if(y.has(S))return Ue(y.get(S));const p=K2();return y.set(S,p),p},s=(S,y)=>{if(y==null){const{transactionSubscriptions:p}=c.current.getState(),_=vy++;return p.set(_,S),{release:()=>{p.delete(_)}}}else{const{nodeTransactionSubscriptions:p}=c.current.getState();p.has(y)||p.set(y,new Map);const _=vy++;return Ue(p.get(y)).set(_,S),{release:()=>{const m=p.get(y);m&&(m.delete(_),m.size===0&&p.delete(y))}}}},a=S=>{yy(c.current);for(const y of Object.keys(S))Ue(c.current.getState().nextTree).transactionMetadata[y]=S[y]},l=S=>{yy(c.current);const y=Ue(o.current.nextTree);let p;try{sf=!0,p=S(y)}finally{sf=!1}p!==y&&(o.current.nextTree=p,z1().early&&qh(c.current,o.current,p),Ue(u.current)())},u=Z2(null),d=X2(S=>{u.current=S},[u]),c=my(()=>n??{storeID:B1(),getState:()=>o.current,replaceState:l,getGraph:i,subscribeToTransactions:s,addTransactionMetadata:a});n!=null&&(c.current=n),o=my(()=>e!=null?rN(c.current,e):t!=null?oN(t):U1());const h=Y2(()=>$c==null?void 0:$c(o,()=>o.current.currentTree.version),[o]);return of(()=>{const S=c.current;for(const y of new Set(S.getState().knownAtoms))z2(S,y,"get");return()=>{for(const y of S.getState().knownAtoms)U2(S,y)}},[c]),ie.createElement(q1.Provider,{value:c},ie.createElement(Q1.Provider,{value:h},ie.createElement(nN,{setNotifyBatcherOfChange:d}),r))}function sN(e){const{override:t,...n}=e,r=Hu();return t===!1&&r.current!==K1?e.children:ie.createElement(iN,n)}function aN(){return Hu().current.storeID}var sr={RecoilRoot:sN,useStoreRef:Hu,useRecoilMutableSource:eN,useRecoilStoreID:aN,notifyComponents_FOR_TESTING:qh,sendEndOfBatchNotifications_FOR_TESTING:G1};function lN(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0,r=e.length;n{t.current=e}),t.current}var X1=fN;const{useStoreRef:hN}=sr,{SUSPENSE_TIMEOUT_MS:pN}=ao,{updateRetainCount:ki}=ao,{RetentionZone:mN}=$u,{useEffect:yN,useRef:vN}=ie,{isSSR:gy}=Uu;function gN(e){if(Oe("recoil_memory_managament_2020"))return SN(e)}function SN(e){const n=(Array.isArray(e)?e:[e]).map(s=>s instanceof mN?s:s.key),r=hN();yN(()=>{if(!Oe("recoil_memory_managament_2020"))return;const s=r.current;if(o.current&&!gy)window.clearTimeout(o.current),o.current=null;else for(const a of n)ki(s,a,1);return()=>{for(const a of n)ki(s,a,-1)}},[r,...n]);const o=vN(),i=X1(n);if(!gy&&(i===void 0||!uN(i,n))){const s=r.current;for(const a of n)ki(s,a,1);if(i)for(const a of i)ki(s,a,-1);o.current&&window.clearTimeout(o.current),o.current=window.setTimeout(()=>{o.current=null;for(const a of n)ki(s,a,-1)},pN)}}var Qh=gN;function wN(){return""}var Vs=wN;const{batchUpdates:_N}=Vu,{DEFAULT_VALUE:Y1}=Bt,{currentRendererSupportsUseSyncExternalStore:RN,reactMode:fi,useMutableSource:bN,useSyncExternalStore:xN}=Is,{useRecoilMutableSource:EN,useStoreRef:Bn}=sr,{AbstractRecoilValue:af,getRecoilValueAsLoadable:Us,setRecoilValue:kl,setUnvalidatedRecoilValue:CN,subscribeToRecoilValue:ti}=Un,{useCallback:$t,useEffect:ni,useMemo:Z1,useRef:ts,useState:Gh}=ie,{setByAddingToSet:TN}=S1,{isSSR:kN}=Uu;function Xh(e,t,n){if(e.state==="hasValue")return e.contents;throw e.state==="loading"?new Promise(o=>{const i=n.current.getState().suspendedComponentResolvers;i.add(o),kN&&De(e.contents)&&e.contents.finally(()=>{i.delete(o)})}):e.state==="hasError"?e.contents:_e(`Invalid value of loadable atom "${t.key}"`)}function AN(){const e=Vs(),t=Bn(),[,n]=Gh([]),r=ts(new Set);r.current=new Set;const o=ts(new Set),i=ts(new Map),s=$t(l=>{const u=i.current.get(l);u&&(u.release(),i.current.delete(l))},[i]),a=$t((l,u)=>{i.current.has(u)&&n([])},[]);return ni(()=>{const l=t.current;Ji(r.current,o.current).forEach(u=>{if(i.current.has(u))return;const d=ti(l,new af(u),h=>a(h,u),e);i.current.set(u,d),l.getState().nextTree?l.getState().queuedComponentCallbacks_DEPRECATED.push(()=>{a(l.getState(),u)}):a(l.getState(),u)}),Ji(o.current,r.current).forEach(u=>{s(u)}),o.current=r.current}),ni(()=>{const l=i.current;return Ji(r.current,new Set(l.keys())).forEach(u=>{const d=ti(t.current,new af(u),c=>a(c,u),e);l.set(u,d)}),()=>l.forEach((u,d)=>s(d))},[e,t,s,a]),Z1(()=>{function l(y){return p=>{kl(t.current,y,p)}}function u(y){return()=>kl(t.current,y,Y1)}function d(y){var p;r.current.has(y.key)||(r.current=TN(r.current,y.key));const _=t.current.getState();return Us(t.current,y,fi().early&&(p=_.nextTree)!==null&&p!==void 0?p:_.currentTree)}function c(y){const p=d(y);return Xh(p,y,t)}function h(y){return[c(y),l(y)]}function S(y){return[d(y),l(y)]}return{getRecoilValue:c,getRecoilValueLoadable:d,getRecoilState:h,getRecoilStateLoadable:S,getSetRecoilState:l,getResetRecoilState:u}},[r,t])}const NN={current:0};function PN(e){const t=Bn(),n=Vs(),r=$t(()=>{var a;const l=t.current,u=l.getState(),d=fi().early&&(a=u.nextTree)!==null&&a!==void 0?a:u.currentTree;return{loadable:Us(l,e,d),key:e.key}},[t,e]),o=$t(a=>{let l;return()=>{var u,d;const c=a();return(u=l)!==null&&u!==void 0&&u.loadable.is(c.loadable)&&((d=l)===null||d===void 0?void 0:d.key)===c.key?l:(l=c,c)}},[]),i=Z1(()=>o(r),[r,o]),s=$t(a=>{const l=t.current;return ti(l,e,a,n).release},[t,e,n]);return xN(s,i,i).loadable}function ON(e){const t=Bn(),n=$t(()=>{var u;const d=t.current,c=d.getState(),h=fi().early&&(u=c.nextTree)!==null&&u!==void 0?u:c.currentTree;return Us(d,e,h)},[t,e]),r=$t(()=>n(),[n]),o=Vs(),i=$t((u,d)=>{const c=t.current;return ti(c,e,()=>{if(!Oe("recoil_suppress_rerender_in_callback"))return d();const S=n();l.current.is(S)||d(),l.current=S},o).release},[t,e,o,n]),s=EN();if(s==null)throw _e("Recoil hooks must be used in components contained within a component.");const a=bN(s,r,i),l=ts(a);return ni(()=>{l.current=a}),a}function lf(e){const t=Bn(),n=Vs(),r=$t(()=>{var l;const u=t.current,d=u.getState(),c=fi().early&&(l=d.nextTree)!==null&&l!==void 0?l:d.currentTree;return Us(u,e,c)},[t,e]),o=$t(()=>({loadable:r(),key:e.key}),[r,e.key]),i=$t(l=>{const u=o();return l.loadable.is(u.loadable)&&l.key===u.key?l:u},[o]);ni(()=>{const l=ti(t.current,e,u=>{a(i)},n);return a(i),l.release},[n,e,t,i]);const[s,a]=Gh(o);return s.key!==e.key?o().loadable:s.loadable}function LN(e){const t=Bn(),[,n]=Gh([]),r=Vs(),o=$t(()=>{var a;const l=t.current,u=l.getState(),d=fi().early&&(a=u.nextTree)!==null&&a!==void 0?a:u.currentTree;return Us(l,e,d)},[t,e]),i=o(),s=ts(i);return ni(()=>{s.current=i}),ni(()=>{const a=t.current,l=a.getState(),u=ti(a,e,c=>{var h;if(!Oe("recoil_suppress_rerender_in_callback"))return n([]);const S=o();(h=s.current)!==null&&h!==void 0&&h.is(S)||n(S),s.current=S},r);if(l.nextTree)a.getState().queuedComponentCallbacks_DEPRECATED.push(()=>{s.current=null,n([])});else{var d;if(!Oe("recoil_suppress_rerender_in_callback"))return n([]);const c=o();(d=s.current)!==null&&d!==void 0&&d.is(c)||n(c),s.current=c}return u.release},[r,o,e,t]),i}function Yh(e){return Oe("recoil_memory_managament_2020")&&Qh(e),{TRANSITION_SUPPORT:lf,SYNC_EXTERNAL_STORE:RN()?PN:lf,MUTABLE_SOURCE:ON,LEGACY:LN}[fi().mode](e)}function J1(e){const t=Bn(),n=Yh(e);return Xh(n,e,t)}function Ku(e){const t=Bn();return $t(n=>{kl(t.current,e,n)},[t,e])}function FN(e){const t=Bn();return $t(()=>{kl(t.current,e,Y1)},[t,e])}function MN(e){return[J1(e),Ku(e)]}function DN(e){return[Yh(e),Ku(e)]}function IN(){const e=Bn();return(t,n={})=>{_N(()=>{e.current.addTransactionMetadata(n),t.forEach((r,o)=>CN(e.current,new af(o),r))})}}function eS(e){return Oe("recoil_memory_managament_2020")&&Qh(e),lf(e)}function tS(e){const t=Bn(),n=eS(e);return Xh(n,e,t)}function $N(e){return[tS(e),Ku(e)]}var jN={recoilComponentGetRecoilValueCount_FOR_TESTING:NN,useRecoilInterface:AN,useRecoilState:MN,useRecoilStateLoadable:DN,useRecoilValue:J1,useRecoilValueLoadable:Yh,useResetRecoilState:FN,useSetRecoilState:Ku,useSetUnvalidatedAtomValues:IN,useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE:eS,useRecoilValue_TRANSITION_SUPPORT_UNSTABLE:tS,useRecoilState_TRANSITION_SUPPORT_UNSTABLE:$N};function VN(e,t){const n=new Map;for(const[r,o]of e)t(o,r)&&n.set(r,o);return n}var UN=VN;function BN(e,t){const n=new Set;for(const r of e)t(r)&&n.add(r);return n}var zN=BN;function WN(...e){const t=new Map;for(let n=0;nt.current.subscribeToTransactions(e).release,[e,t])}function _y(e){const t=e.atomValues.toMap(),n=Tl(UN(t,(r,o)=>{const s=nS(o).persistence_UNSTABLE;return s!=null&&s.type!=="none"&&r.state==="hasValue"}),r=>r.contents);return HN(e.nonvalidatedAtoms.toMap(),n)}function JN(e){Qu(qu(t=>{let n=t.getState().previousTree;const r=t.getState().currentTree;n||(n=t.getState().currentTree);const o=_y(r),i=_y(n),s=Tl(QN,l=>{var u,d,c,h;return{persistence_UNSTABLE:{type:(u=(d=l.persistence_UNSTABLE)===null||d===void 0?void 0:d.type)!==null&&u!==void 0?u:"none",backButton:(c=(h=l.persistence_UNSTABLE)===null||h===void 0?void 0:h.backButton)!==null&&c!==void 0?c:!1}}}),a=zN(r.dirtyAtoms,l=>o.has(l)||i.has(l));e({atomValues:o,previousAtomValues:i,atomInfo:s,modifiedAtoms:a,transactionMetadata:{...r.transactionMetadata}})},[e]))}function eP(e){Qu(qu(t=>{const n=Al(t,"latest"),r=Al(t,"previous");e({snapshot:n,previousSnapshot:r})},[e]))}function tP(){const e=Zh(),[t,n]=ZN(()=>Al(e.current)),r=X1(t),o=Sy(),i=Sy();if(Qu(qu(a=>n(Al(a)),[])),rS(()=>{const a=t.retain();if(o.current&&!wy){var l;window.clearTimeout(o.current),o.current=null,(l=i.current)===null||l===void 0||l.call(i),i.current=null}return()=>{window.setTimeout(a,10)}},[t]),r!==t&&!wy){if(o.current){var s;window.clearTimeout(o.current),o.current=null,(s=i.current)===null||s===void 0||s.call(i),i.current=null}i.current=t.retain(),o.current=window.setTimeout(()=>{var a;o.current=null,(a=i.current)===null||a===void 0||a.call(i),i.current=null},YN)}return t}function oS(e,t){var n;const r=e.getState(),o=(n=r.nextTree)!==null&&n!==void 0?n:r.currentTree,i=t.getStore_INTERNAL().getState().currentTree;KN(()=>{const s=new Set;for(const u of[o.atomValues.keys(),i.atomValues.keys()])for(const d of u){var a,l;((a=o.atomValues.get(d))===null||a===void 0?void 0:a.contents)!==((l=i.atomValues.get(d))===null||l===void 0?void 0:l.contents)&&nS(d).shouldRestoreFromSnapshots&&s.add(d)}s.forEach(u=>{XN(e,new GN(u),i.atomValues.has(u)?Ue(i.atomValues.get(u)):qN)}),e.replaceState(u=>({...u,stateID:t.getID()}))})}function nP(){const e=Zh();return qu(t=>oS(e.current,t),[e])}var iS={useRecoilSnapshot:tP,gotoSnapshot:oS,useGotoRecoilSnapshot:nP,useRecoilTransactionObserver:eP,useTransactionObservation_DEPRECATED:JN,useTransactionSubscription_DEPRECATED:Qu};const{peekNodeInfo:rP}=Lr,{useStoreRef:oP}=sr;function iP(){const e=oP();return({key:t})=>rP(e.current,e.current.getState().currentTree,t)}var sP=iP;const{reactMode:aP}=Is,{RecoilRoot:lP,useStoreRef:uP}=sr,{useMemo:cP}=ie;function dP(){aP().mode==="MUTABLE_SOURCE"&&console.warn("Warning: There are known issues using useRecoilBridgeAcrossReactRoots() in recoil_mutable_source rendering mode. Please consider upgrading to recoil_sync_external_store mode.");const e=uP().current;return cP(()=>{function t({children:n}){return ie.createElement(lP,{store_INTERNAL:e},n)}return t},[e])}var fP=dP;const{loadableWithValue:hP}=Ds,{initializeNode:pP}=Lr,{DEFAULT_VALUE:mP,getNode:yP}=Bt,{copyTreeState:vP,getRecoilValueAsLoadable:gP,invalidateDownstreams:SP,writeLoadableToTreeState:wP}=Un;function Ry(e){return yP(e.key).nodeType==="atom"}class _P{constructor(t,n){we(this,"_store",void 0),we(this,"_treeState",void 0),we(this,"_changes",void 0),we(this,"get",r=>{if(this._changes.has(r.key))return this._changes.get(r.key);if(!Ry(r))throw _e("Reading selectors within atomicUpdate is not supported");const o=gP(this._store,r,this._treeState);if(o.state==="hasValue")return o.contents;throw o.state==="hasError"?o.contents:_e(`Expected Recoil atom ${r.key} to have a value, but it is in a loading state.`)}),we(this,"set",(r,o)=>{if(!Ry(r))throw _e("Setting selectors within atomicUpdate is not supported");if(typeof o=="function"){const i=this.get(r);this._changes.set(r.key,o(i))}else pP(this._store,r.key,"set"),this._changes.set(r.key,o)}),we(this,"reset",r=>{this.set(r,mP)}),this._store=t,this._treeState=n,this._changes=new Map}newTreeState_INTERNAL(){if(this._changes.size===0)return this._treeState;const t=vP(this._treeState);for(const[n,r]of this._changes)wP(t,n,hP(r));return SP(this._store,t),t}}function RP(e){return t=>{e.replaceState(n=>{const r=new _P(e,n);return t(r),r.newTreeState_INTERNAL()})}}var bP={atomicUpdater:RP},xP=bP.atomicUpdater,sS=Object.freeze({__proto__:null,atomicUpdater:xP});function EP(e,t){if(!e)throw new Error(t)}var CP=EP,ji=CP;const{atomicUpdater:TP}=sS,{batchUpdates:kP}=Vu,{DEFAULT_VALUE:AP}=Bt,{useStoreRef:NP}=sr,{refreshRecoilValue:PP,setRecoilValue:by}=Un,{cloneSnapshot:OP}=Wu,{gotoSnapshot:LP}=iS,{useCallback:FP}=ie;class aS{}const MP=new aS;function lS(e,t,n,r){let o=MP,i;if(kP(()=>{const a="useRecoilCallback() expects a function that returns a function: it accepts a function of the type (RecoilInterface) => (Args) => ReturnType and returns a callback function (Args) => ReturnType, where RecoilInterface is an object {snapshot, set, ...} and Args and ReturnType are the argument and return types of the callback you want to create. Please see the docs at recoiljs.org for details.";if(typeof t!="function")throw _e(a);const l=w1({...r??{},set:(d,c)=>by(e,d,c),reset:d=>by(e,d,AP),refresh:d=>PP(e,d),gotoSnapshot:d=>LP(e,d),transact_UNSTABLE:d=>TP(e)(d)},{snapshot:()=>{const d=OP(e);return i=d.retain(),d}}),u=t(l);if(typeof u!="function")throw _e(a);o=u(...n)}),o instanceof aS&&ji(!1),De(o))o=o.finally(()=>{var a;(a=i)===null||a===void 0||a()});else{var s;(s=i)===null||s===void 0||s()}return o}function DP(e,t){const n=NP();return FP((...r)=>lS(n.current,e,r),t!=null?[...t,n]:void 0)}var uS={recoilCallback:lS,useRecoilCallback:DP};const{useStoreRef:IP}=sr,{refreshRecoilValue:$P}=Un,{useCallback:jP}=ie;function VP(e){const t=IP();return jP(()=>{const n=t.current;$P(n,e)},[e,t])}var UP=VP;const{atomicUpdater:BP}=sS,{useStoreRef:zP}=sr,{useMemo:WP}=ie;function HP(e,t){const n=zP();return WP(()=>(...r)=>{BP(n.current)(i=>{e(i)(...r)})},t!=null?[...t,n]:void 0)}var KP=HP;class qP{constructor(t){we(this,"value",void 0),this.value=t}}var QP={WrappedValue:qP},GP=QP.WrappedValue,cS=Object.freeze({__proto__:null,WrappedValue:GP});const{isFastRefreshEnabled:XP}=Is;class xy extends Error{}class YP{constructor(t){var n,r,o;we(this,"_name",void 0),we(this,"_numLeafs",void 0),we(this,"_root",void 0),we(this,"_onHit",void 0),we(this,"_onSet",void 0),we(this,"_mapNodeValue",void 0),this._name=t==null?void 0:t.name,this._numLeafs=0,this._root=null,this._onHit=(n=t==null?void 0:t.onHit)!==null&&n!==void 0?n:()=>{},this._onSet=(r=t==null?void 0:t.onSet)!==null&&r!==void 0?r:()=>{},this._mapNodeValue=(o=t==null?void 0:t.mapNodeValue)!==null&&o!==void 0?o:i=>i}size(){return this._numLeafs}root(){return this._root}get(t,n){var r;return(r=this.getLeafNode(t,n))===null||r===void 0?void 0:r.value}getLeafNode(t,n){if(this._root==null)return;let r=this._root;for(;r;){if(n==null||n.onNodeVisit(r),r.type==="leaf")return this._onHit(r),r;const o=this._mapNodeValue(t(r.nodeKey));r=r.branches.get(o)}}set(t,n,r){const o=()=>{var i,s,a,l;let u,d;for(const[_,m]of t){var c,h,S;const f=this._root;if((f==null?void 0:f.type)==="leaf")throw this.invalidCacheError();const v=u;if(u=v?v.branches.get(d):f,u=(c=u)!==null&&c!==void 0?c:{type:"branch",nodeKey:_,parent:v,branches:new Map,branchKey:d},u.type!=="branch"||u.nodeKey!==_)throw this.invalidCacheError();v==null||v.branches.set(d,u),r==null||(h=r.onNodeVisit)===null||h===void 0||h.call(r,u),d=this._mapNodeValue(m),this._root=(S=this._root)!==null&&S!==void 0?S:u}const y=u?(i=u)===null||i===void 0?void 0:i.branches.get(d):this._root;if(y!=null&&(y.type!=="leaf"||y.branchKey!==d))throw this.invalidCacheError();const p={type:"leaf",value:n,parent:u,branchKey:d};(s=u)===null||s===void 0||s.branches.set(d,p),this._root=(a=this._root)!==null&&a!==void 0?a:p,this._numLeafs++,this._onSet(p),r==null||(l=r.onNodeVisit)===null||l===void 0||l.call(r,p)};try{o()}catch(i){if(i instanceof xy)this.clear(),o();else throw i}}delete(t){const n=this.root();if(!n)return!1;if(t===n)return this._root=null,this._numLeafs=0,!0;let r=t.parent,o=t.branchKey;for(;r;){var i;if(r.branches.delete(o),r===n)return r.branches.size===0?(this._root=null,this._numLeafs=0):this._numLeafs--,!0;if(r.branches.size>0)break;o=(i=r)===null||i===void 0?void 0:i.branchKey,r=r.parent}for(;r!==n;r=r.parent)if(r==null)return!1;return this._numLeafs--,!0}clear(){this._numLeafs=0,this._root=null}invalidCacheError(){const t=XP()?"Possible Fast Refresh module reload detected. This may also be caused by an selector returning inconsistent values. Resetting cache.":"Invalid cache values. This happens when selectors do not return consistent values for the same input dependency values. That may also be caused when using Fast Refresh to change a selector implementation. Resetting cache.";throw $h(t+(this._name!=null?` - ${this._name}`:"")),new xy}}var ZP={TreeCache:YP},JP=ZP.TreeCache,dS=Object.freeze({__proto__:null,TreeCache:JP});class eO{constructor(t){var n;we(this,"_maxSize",void 0),we(this,"_size",void 0),we(this,"_head",void 0),we(this,"_tail",void 0),we(this,"_map",void 0),we(this,"_keyMapper",void 0),this._maxSize=t.maxSize,this._size=0,this._head=null,this._tail=null,this._map=new Map,this._keyMapper=(n=t.mapKey)!==null&&n!==void 0?n:r=>r}head(){return this._head}tail(){return this._tail}size(){return this._size}maxSize(){return this._maxSize}has(t){return this._map.has(this._keyMapper(t))}get(t){const n=this._keyMapper(t),r=this._map.get(n);if(r)return this.set(t,r.value),r.value}set(t,n){const r=this._keyMapper(t);this._map.get(r)&&this.delete(t);const i=this.head(),s={key:t,right:i,left:null,value:n};i?i.left=s:this._tail=s,this._map.set(r,s),this._head=s,this._size++,this._maybeDeleteLRU()}_maybeDeleteLRU(){this.size()>this.maxSize()&&this.deleteLru()}deleteLru(){const t=this.tail();t&&this.delete(t.key)}delete(t){const n=this._keyMapper(t);if(!this._size||!this._map.has(n))return;const r=Ue(this._map.get(n)),o=r.right,i=r.left;o&&(o.left=r.left),i&&(i.right=r.right),r===this.head()&&(this._head=o),r===this.tail()&&(this._tail=i),this._map.delete(n),this._size--}clear(){this._size=0,this._head=null,this._tail=null,this._map=new Map}}var tO={LRUCache:eO},nO=tO.LRUCache,fS=Object.freeze({__proto__:null,LRUCache:nO});const{LRUCache:rO}=fS,{TreeCache:oO}=dS;function iO({name:e,maxSize:t,mapNodeValue:n=r=>r}){const r=new rO({maxSize:t}),o=new oO({name:e,mapNodeValue:n,onHit:i=>{r.set(i,!0)},onSet:i=>{const s=r.tail();r.set(i,!0),s&&o.size()>t&&o.delete(s.key)}});return o}var Ey=iO;function Sn(e,t,n){if(typeof e=="string"&&!e.includes('"')&&!e.includes("\\"))return`"${e}"`;switch(typeof e){case"undefined":return"";case"boolean":return e?"true":"false";case"number":case"symbol":return String(e);case"string":return JSON.stringify(e);case"function":if((t==null?void 0:t.allowFunctions)!==!0)throw _e("Attempt to serialize function in a Recoil cache key");return`__FUNCTION(${e.name})__`}if(e===null)return"null";if(typeof e!="object"){var r;return(r=JSON.stringify(e))!==null&&r!==void 0?r:""}if(De(e))return"__PROMISE__";if(Array.isArray(e))return`[${e.map((o,i)=>Sn(o,t,i.toString()))}]`;if(typeof e.toJSON=="function")return Sn(e.toJSON(n),t,n);if(e instanceof Map){const o={};for(const[i,s]of e)o[typeof i=="string"?i:Sn(i,t)]=s;return Sn(o,t,n)}return e instanceof Set?Sn(Array.from(e).sort((o,i)=>Sn(o,t).localeCompare(Sn(i,t))),t,n):Symbol!==void 0&&e[Symbol.iterator]!=null&&typeof e[Symbol.iterator]=="function"?Sn(Array.from(e),t,n):`{${Object.keys(e).filter(o=>e[o]!==void 0).sort().map(o=>`${Sn(o,t)}:${Sn(e[o],t,o)}`).join(",")}}`}function sO(e,t={allowFunctions:!1}){return Sn(e,t)}var Gu=sO;const{TreeCache:aO}=dS,Sa={equality:"reference",eviction:"keep-all",maxSize:1/0};function lO({equality:e=Sa.equality,eviction:t=Sa.eviction,maxSize:n=Sa.maxSize}=Sa,r){const o=uO(e);return cO(t,n,o,r)}function uO(e){switch(e){case"reference":return t=>t;case"value":return t=>Gu(t)}throw _e(`Unrecognized equality policy ${e}`)}function cO(e,t,n,r){switch(e){case"keep-all":return new aO({name:r,mapNodeValue:n});case"lru":return Ey({name:r,maxSize:Ue(t),mapNodeValue:n});case"most-recent":return Ey({name:r,maxSize:1,mapNodeValue:n})}throw _e(`Unrecognized eviction policy ${e}`)}var dO=lO;function fO(e){return()=>null}var hO={startPerfBlock:fO};const{isLoadable:pO,loadableWithError:wa,loadableWithPromise:mO,loadableWithValue:jc}=Ds,{WrappedValue:hS}=cS,{getNodeLoadable:_a,peekNodeLoadable:yO,setNodeValue:vO}=Lr,{saveDepsToStore:gO}=$s,{DEFAULT_VALUE:SO,getConfigDeletionHandler:wO,getNode:_O,registerNode:Cy}=Bt,{isRecoilValue:RO}=ei,{markRecoilValueModified:Ty}=Un,{retainedByOptionWithDefault:bO}=ao,{recoilCallback:xO}=uS,{startPerfBlock:EO}=hO;class pS{}const Ai=new pS,Ni=[],Ra=new Map,CO=(()=>{let e=0;return()=>e++})();function mS(e){let t=null;const{key:n,get:r,cachePolicy_UNSTABLE:o}=e,i=e.set!=null?e.set:void 0,s=new Set,a=dO(o??{equality:"reference",eviction:"keep-all"},n),l=bO(e.retainedBy_UNSTABLE),u=new Map;let d=0;function c(){return!Oe("recoil_memory_managament_2020")||d>0}function h(C){return C.getState().knownSelectors.add(n),d++,()=>{d--}}function S(){return wO(n)!==void 0&&!c()}function y(C,V,I,se,K){ye(V,se,K),p(C,I)}function p(C,V){ae(C,V)&&B(C),m(V,!0)}function _(C,V){ae(C,V)&&(Ue(M(C)).stateVersions.clear(),m(V,!1))}function m(C,V){const I=Ra.get(C);if(I!=null){for(const se of I)Ty(se,Ue(t));V&&Ra.delete(C)}}function f(C,V){let I=Ra.get(V);I==null&&Ra.set(V,I=new Set),I.add(C)}function v(C,V,I,se,K,ue){return V.then(ve=>{if(!c())throw B(C),Ai;const Z=jc(ve);return y(C,I,K,Z,se),ve}).catch(ve=>{if(!c())throw B(C),Ai;if(De(ve))return R(C,ve,I,se,K,ue);const Z=wa(ve);throw y(C,I,K,Z,se),ve})}function R(C,V,I,se,K,ue){return V.then(ve=>{if(!c())throw B(C),Ai;ue.loadingDepKey!=null&&ue.loadingDepPromise===V?I.atomValues.set(ue.loadingDepKey,jc(ve)):C.getState().knownSelectors.forEach(ce=>{I.atomValues.delete(ce)});const Z=b(C,I);if(Z&&Z.state!=="loading"){if((ae(C,K)||M(C)==null)&&p(C,K),Z.state==="hasValue")return Z.contents;throw Z.contents}if(!ae(C,K)){const ce=H(C,I);if(ce!=null)return ce.loadingLoadable.contents}const[le,pe]=k(C,I,K);if(le.state!=="loading"&&y(C,I,K,le,pe),le.state==="hasError")throw le.contents;return le.contents}).catch(ve=>{if(ve instanceof pS)throw Ai;if(!c())throw B(C),Ai;const Z=wa(ve);throw y(C,I,K,Z,se),ve})}function E(C,V,I,se){var K,ue,ve,Z;if(ae(C,se)||V.version===((K=C.getState())===null||K===void 0||(ue=K.currentTree)===null||ue===void 0?void 0:ue.version)||V.version===((ve=C.getState())===null||ve===void 0||(Z=ve.nextTree)===null||Z===void 0?void 0:Z.version)){var le,pe,ce;gO(n,I,C,(le=(pe=C.getState())===null||pe===void 0||(ce=pe.nextTree)===null||ce===void 0?void 0:ce.version)!==null&&le!==void 0?le:C.getState().currentTree.version)}for(const Se of I)s.add(Se)}function k(C,V,I){const se=EO(n);let K=!0,ue=!0;const ve=()=>{se(),ue=!1};let Z,le=!1,pe;const ce={loadingDepKey:null,loadingDepPromise:null},Se=new Map;function Je({key:at}){const lt=_a(C,V,at);switch(Se.set(at,lt),K||(E(C,V,new Set(Se.keys()),I),_(C,I)),lt.state){case"hasValue":return lt.contents;case"hasError":throw lt.contents;case"loading":throw ce.loadingDepKey=at,ce.loadingDepPromise=lt.contents,lt.contents}throw _e("Invalid Loadable state")}const At=at=>(...lt)=>{if(ue)throw _e("Callbacks from getCallback() should only be called asynchronously after the selector is evalutated. It can be used for selectors to return objects with callbacks that can work with Recoil state without a subscription.");return t==null&&ji(!1),xO(C,at,lt,{node:t})};try{Z=r({get:Je,getCallback:At}),Z=RO(Z)?Je(Z):Z,pO(Z)&&(Z.state==="hasError"&&(le=!0),Z=Z.contents),De(Z)?Z=v(C,Z,V,Se,I,ce).finally(ve):ve(),Z=Z instanceof hS?Z.value:Z}catch(at){Z=at,De(Z)?Z=R(C,Z,V,Se,I,ce).finally(ve):(le=!0,ve())}return le?pe=wa(Z):De(Z)?pe=mO(Z):pe=jc(Z),K=!1,Y(C,I,Se),E(C,V,new Set(Se.keys()),I),[pe,Se]}function b(C,V){let I=V.atomValues.get(n);if(I!=null)return I;const se=new Set;try{I=a.get(ue=>(typeof ue!="string"&&ji(!1),_a(C,V,ue).contents),{onNodeVisit:ue=>{ue.type==="branch"&&ue.nodeKey!==n&&se.add(ue.nodeKey)}})}catch(ue){throw _e(`Problem with cache lookup for selector "${n}": ${ue.message}`)}if(I){var K;V.atomValues.set(n,I),E(C,V,se,(K=M(C))===null||K===void 0?void 0:K.executionID)}return I}function P(C,V){const I=b(C,V);if(I!=null)return B(C),I;const se=H(C,V);if(se!=null){var K;return((K=se.loadingLoadable)===null||K===void 0?void 0:K.state)==="loading"&&f(C,se.executionID),se.loadingLoadable}const ue=CO(),[ve,Z]=k(C,V,ue);return ve.state==="loading"?(U(C,ue,ve,Z,V),f(C,ue)):(B(C),ye(V,ve,Z)),ve}function H(C,V){const I=I1([u.has(C)?[Ue(u.get(C))]:[],Du(zh(u,([K])=>K!==C),([,K])=>K)]);function se(K){for(const[ue,ve]of K)if(!_a(C,V,ue).is(ve))return!0;return!1}for(const K of I){if(K.stateVersions.get(V.version)||!se(K.depValuesDiscoveredSoFarDuringAsyncWork))return K.stateVersions.set(V.version,!0),K;K.stateVersions.set(V.version,!1)}}function M(C){return u.get(C)}function U(C,V,I,se,K){u.set(C,{depValuesDiscoveredSoFarDuringAsyncWork:se,executionID:V,loadingLoadable:I,stateVersions:new Map([[K.version,!0]])})}function Y(C,V,I){if(ae(C,V)){const se=M(C);se!=null&&(se.depValuesDiscoveredSoFarDuringAsyncWork=I)}}function B(C){u.delete(C)}function ae(C,V){var I;return V===((I=M(C))===null||I===void 0?void 0:I.executionID)}function Re(C){return Array.from(C.entries()).map(([V,I])=>[V,I.contents])}function ye(C,V,I){C.atomValues.set(n,V);try{a.set(Re(I),V)}catch(se){throw _e(`Problem with setting cache for selector "${n}": ${se.message}`)}}function ge(C){if(Ni.includes(n)){const V=`Recoil selector has circular dependencies: ${Ni.slice(Ni.indexOf(n)).join(" → ")}`;return wa(_e(V))}Ni.push(n);try{return C()}finally{Ni.pop()}}function F(C,V){const I=V.atomValues.get(n);return I??a.get(se=>{var K;return typeof se!="string"&&ji(!1),(K=yO(C,V,se))===null||K===void 0?void 0:K.contents})}function oe(C,V){return ge(()=>P(C,V))}function z(C){C.atomValues.delete(n)}function ne(C,V){t==null&&ji(!1);for(const se of s){var I;const K=_O(se);(I=K.clearCache)===null||I===void 0||I.call(K,C,V)}s.clear(),z(V),a.clear(),Ty(C,t)}return i!=null?t=Cy({key:n,nodeType:"selector",peek:F,get:oe,set:(V,I,se)=>{let K=!1;const ue=new Map;function ve({key:ce}){if(K)throw _e("Recoil: Async selector sets are not currently supported.");const Se=_a(V,I,ce);if(Se.state==="hasValue")return Se.contents;if(Se.state==="loading"){const Je=`Getting value of asynchronous atom or selector "${ce}" in a pending state while setting selector "${n}" is not yet supported.`;throw _e(Je)}else throw Se.contents}function Z(ce,Se){if(K)throw _e("Recoil: Async selector sets are not currently supported.");const Je=typeof Se=="function"?Se(ve(ce)):Se;vO(V,I,ce.key,Je).forEach((at,lt)=>ue.set(lt,at))}function le(ce){Z(ce,SO)}const pe=i({set:Z,get:ve,reset:le},se);if(pe!==void 0)throw De(pe)?_e("Recoil: Async selector sets are not currently supported."):_e("Recoil: selector set should be a void function.");return K=!0,ue},init:h,invalidate:z,clearCache:ne,shouldDeleteConfigOnRelease:S,dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1,retainedBy:l}):t=Cy({key:n,nodeType:"selector",peek:F,get:oe,init:h,invalidate:z,clearCache:ne,shouldDeleteConfigOnRelease:S,dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1,retainedBy:l})}mS.value=e=>new hS(e);var ri=mS;const{isLoadable:TO,loadableWithError:Vc,loadableWithPromise:Uc,loadableWithValue:go}=Ds,{WrappedValue:yS}=cS,{peekNodeInfo:kO}=Lr,{DEFAULT_VALUE:Vr,DefaultValue:dr,getConfigDeletionHandler:vS,registerNode:AO,setConfigDeletionHandler:NO}=Bt,{isRecoilValue:PO}=ei,{getRecoilValueAsLoadable:OO,markRecoilValueModified:LO,setRecoilValue:ky,setRecoilValueLoadable:FO}=Un,{retainedByOptionWithDefault:MO}=ao,Pi=e=>e instanceof yS?e.value:e;function DO(e){const{key:t,persistence_UNSTABLE:n}=e,r=MO(e.retainedBy_UNSTABLE);let o=0;function i(f){return Uc(f.then(v=>(s=go(v),v)).catch(v=>{throw s=Vc(v),v}))}let s=De(e.default)?i(e.default):TO(e.default)?e.default.state==="loading"?i(e.default.contents):e.default:go(Pi(e.default));s.contents;let a;const l=new Map;function u(f){return f}function d(f,v){const R=v.then(E=>{var k,b;return((b=((k=f.getState().nextTree)!==null&&k!==void 0?k:f.getState().currentTree).atomValues.get(t))===null||b===void 0?void 0:b.contents)===R&&ky(f,m,E),E}).catch(E=>{var k,b;throw((b=((k=f.getState().nextTree)!==null&&k!==void 0?k:f.getState().currentTree).atomValues.get(t))===null||b===void 0?void 0:b.contents)===R&&FO(f,m,Vc(E)),E});return R}function c(f,v,R){var E;o++;const k=()=>{var M;o--,(M=l.get(f))===null||M===void 0||M.forEach(U=>U()),l.delete(f)};if(f.getState().knownAtoms.add(t),s.state==="loading"){const M=()=>{var U;((U=f.getState().nextTree)!==null&&U!==void 0?U:f.getState().currentTree).atomValues.has(t)||LO(f,m)};s.contents.finally(M)}const b=(E=e.effects)!==null&&E!==void 0?E:e.effects_UNSTABLE;if(b!=null){let M=function(z){if(ae&&z.key===t){const ne=B;return ne instanceof dr?h(f,v):De(ne)?Uc(ne.then(C=>C instanceof dr?s.toPromise():C)):go(ne)}return OO(f,z)},U=function(z){return M(z).toPromise()},Y=function(z){var ne;const C=kO(f,(ne=f.getState().nextTree)!==null&&ne!==void 0?ne:f.getState().currentTree,z.key);return ae&&z.key===t&&!(B instanceof dr)?{...C,isSet:!0,loadable:M(z)}:C},B=Vr,ae=!0,Re=!1,ye=null;const ge=z=>ne=>{if(ae){const C=M(m),V=C.state==="hasValue"?C.contents:Vr;B=typeof ne=="function"?ne(V):ne,De(B)&&(B=B.then(I=>(ye={effect:z,value:I},I)))}else{if(De(ne))throw _e("Setting atoms to async values is not implemented.");typeof ne!="function"&&(ye={effect:z,value:Pi(ne)}),ky(f,m,typeof ne=="function"?C=>{const V=Pi(ne(C));return ye={effect:z,value:V},V}:Pi(ne))}},F=z=>()=>ge(z)(Vr),oe=z=>ne=>{var C;const{release:V}=f.subscribeToTransactions(I=>{var se;let{currentTree:K,previousTree:ue}=I.getState();ue||(ue=K);const ve=(se=K.atomValues.get(t))!==null&&se!==void 0?se:s;if(ve.state==="hasValue"){var Z,le,pe,ce;const Se=ve.contents,Je=(Z=ue.atomValues.get(t))!==null&&Z!==void 0?Z:s,At=Je.state==="hasValue"?Je.contents:Vr;((le=ye)===null||le===void 0?void 0:le.effect)!==z||((pe=ye)===null||pe===void 0?void 0:pe.value)!==Se?ne(Se,At,!K.atomValues.has(t)):((ce=ye)===null||ce===void 0?void 0:ce.effect)===z&&(ye=null)}},t);l.set(f,[...(C=l.get(f))!==null&&C!==void 0?C:[],V])};for(const z of b)try{const ne=z({node:m,storeID:f.storeID,parentStoreID_UNSTABLE:f.parentStoreID,trigger:R,setSelf:ge(z),resetSelf:F(z),onSet:oe(z),getPromise:U,getLoadable:M,getInfo_UNSTABLE:Y});if(ne!=null){var P;l.set(f,[...(P=l.get(f))!==null&&P!==void 0?P:[],ne])}}catch(ne){B=ne,Re=!0}if(ae=!1,!(B instanceof dr)){var H;const z=Re?Vc(B):De(B)?Uc(d(f,B)):go(Pi(B));z.contents,v.atomValues.set(t,z),(H=f.getState().nextTree)===null||H===void 0||H.atomValues.set(t,z)}}return k}function h(f,v){var R,E;return(R=(E=v.atomValues.get(t))!==null&&E!==void 0?E:a)!==null&&R!==void 0?R:s}function S(f,v){if(v.atomValues.has(t))return Ue(v.atomValues.get(t));if(v.nonvalidatedAtoms.has(t)){if(a!=null)return a;if(n==null)return s;const R=v.nonvalidatedAtoms.get(t),E=n.validator(R,Vr);return a=E instanceof dr?s:go(E),a}else return s}function y(){a=void 0}function p(f,v,R){if(v.atomValues.has(t)){const E=Ue(v.atomValues.get(t));if(E.state==="hasValue"&&R===E.contents)return new Map}else if(!v.nonvalidatedAtoms.has(t)&&R instanceof dr)return new Map;return a=void 0,new Map().set(t,go(R))}function _(){return vS(t)!==void 0&&o<=0}const m=AO({key:t,nodeType:"atom",peek:h,get:S,set:p,init:c,invalidate:y,shouldDeleteConfigOnRelease:_,dangerouslyAllowMutability:e.dangerouslyAllowMutability,persistence_UNSTABLE:e.persistence_UNSTABLE?{type:e.persistence_UNSTABLE.type,backButton:e.persistence_UNSTABLE.backButton}:void 0,shouldRestoreFromSnapshots:!0,retainedBy:r});return m}function Jh(e){const{...t}=e,n="default"in e?e.default:new Promise(()=>{});return PO(n)?IO({...t,default:n}):DO({...t,default:n})}function IO(e){const t=Jh({...e,default:Vr,persistence_UNSTABLE:e.persistence_UNSTABLE===void 0?void 0:{...e.persistence_UNSTABLE,validator:r=>r instanceof dr?r:Ue(e.persistence_UNSTABLE).validator(r,Vr)},effects:e.effects,effects_UNSTABLE:e.effects_UNSTABLE}),n=ri({key:`${e.key}__withFallback`,get:({get:r})=>{const o=r(t);return o instanceof dr?e.default:o},set:({set:r},o)=>r(t,o),cachePolicy_UNSTABLE:{eviction:"most-recent"},dangerouslyAllowMutability:e.dangerouslyAllowMutability});return NO(n.key,vS(e.key)),n}Jh.value=e=>new yS(e);var gS=Jh;class $O{constructor(t){var n;we(this,"_map",void 0),we(this,"_keyMapper",void 0),this._map=new Map,this._keyMapper=(n=t==null?void 0:t.mapKey)!==null&&n!==void 0?n:r=>r}size(){return this._map.size}has(t){return this._map.has(this._keyMapper(t))}get(t){return this._map.get(this._keyMapper(t))}set(t,n){this._map.set(this._keyMapper(t),n)}delete(t){this._map.delete(this._keyMapper(t))}clear(){this._map.clear()}}var jO={MapCache:$O},VO=jO.MapCache,UO=Object.freeze({__proto__:null,MapCache:VO});const{LRUCache:Ay}=fS,{MapCache:BO}=UO,ba={equality:"reference",eviction:"none",maxSize:1/0};function zO({equality:e=ba.equality,eviction:t=ba.eviction,maxSize:n=ba.maxSize}=ba){const r=WO(e);return HO(t,n,r)}function WO(e){switch(e){case"reference":return t=>t;case"value":return t=>Gu(t)}throw _e(`Unrecognized equality policy ${e}`)}function HO(e,t,n){switch(e){case"keep-all":return new BO({mapKey:n});case"lru":return new Ay({mapKey:n,maxSize:Ue(t)});case"most-recent":return new Ay({mapKey:n,maxSize:1})}throw _e(`Unrecognized eviction policy ${e}`)}var SS=zO;const{setConfigDeletionHandler:KO}=Bt;function qO(e){var t,n;const r=SS({equality:(t=(n=e.cachePolicyForParams_UNSTABLE)===null||n===void 0?void 0:n.equality)!==null&&t!==void 0?t:"value",eviction:"keep-all"});return o=>{var i,s;const a=r.get(o);if(a!=null)return a;const{cachePolicyForParams_UNSTABLE:l,...u}=e,d="default"in e?e.default:new Promise(()=>{}),c=gS({...u,key:`${e.key}__${(i=Gu(o))!==null&&i!==void 0?i:"void"}`,default:typeof d=="function"?d(o):d,retainedBy_UNSTABLE:typeof e.retainedBy_UNSTABLE=="function"?e.retainedBy_UNSTABLE(o):e.retainedBy_UNSTABLE,effects:typeof e.effects=="function"?e.effects(o):typeof e.effects_UNSTABLE=="function"?e.effects_UNSTABLE(o):(s=e.effects)!==null&&s!==void 0?s:e.effects_UNSTABLE});return r.set(o,c),KO(c.key,()=>{r.delete(o)}),c}}var QO=qO;const{setConfigDeletionHandler:GO}=Bt;let XO=0;function YO(e){var t,n;const r=SS({equality:(t=(n=e.cachePolicyForParams_UNSTABLE)===null||n===void 0?void 0:n.equality)!==null&&t!==void 0?t:"value",eviction:"keep-all"});return o=>{var i;let s;try{s=r.get(o)}catch(h){throw _e(`Problem with cache lookup for selector ${e.key}: ${h.message}`)}if(s!=null)return s;const a=`${e.key}__selectorFamily/${(i=Gu(o,{allowFunctions:!0}))!==null&&i!==void 0?i:"void"}/${XO++}`,l=h=>e.get(o)(h),u=e.cachePolicy_UNSTABLE,d=typeof e.retainedBy_UNSTABLE=="function"?e.retainedBy_UNSTABLE(o):e.retainedBy_UNSTABLE;let c;if(e.set!=null){const h=e.set;c=ri({key:a,get:l,set:(y,p)=>h(o)(y,p),cachePolicy_UNSTABLE:u,dangerouslyAllowMutability:e.dangerouslyAllowMutability,retainedBy_UNSTABLE:d})}else c=ri({key:a,get:l,cachePolicy_UNSTABLE:u,dangerouslyAllowMutability:e.dangerouslyAllowMutability,retainedBy_UNSTABLE:d});return r.set(o,c),GO(c.key,()=>{r.delete(o)}),c}}var Fr=YO;const ZO=Fr({key:"__constant",get:e=>()=>e,cachePolicyForParams_UNSTABLE:{equality:"reference"}});function JO(e){return ZO(e)}var eL=JO;const tL=Fr({key:"__error",get:e=>()=>{throw _e(e)},cachePolicyForParams_UNSTABLE:{equality:"reference"}});function nL(e){return tL(e)}var rL=nL;function oL(e){return e}var iL=oL;const{loadableWithError:wS,loadableWithPromise:_S,loadableWithValue:RS}=Ds;function Xu(e,t){const n=Array(t.length).fill(void 0),r=Array(t.length).fill(void 0);for(const[o,i]of t.entries())try{n[o]=e(i)}catch(s){r[o]=s}return[n,r]}function sL(e){return e!=null&&!De(e)}function Yu(e){return Array.isArray(e)?e:Object.getOwnPropertyNames(e).map(t=>e[t])}function uf(e,t){return Array.isArray(e)?t:Object.getOwnPropertyNames(e).reduce((n,r,o)=>({...n,[r]:t[o]}),{})}function zo(e,t,n){const r=n.map((o,i)=>o==null?RS(t[i]):De(o)?_S(o):wS(o));return uf(e,r)}function aL(e,t){return t.map((n,r)=>n===void 0?e[r]:n)}const lL=Fr({key:"__waitForNone",get:e=>({get:t})=>{const n=Yu(e),[r,o]=Xu(t,n);return zo(e,r,o)},dangerouslyAllowMutability:!0}),uL=Fr({key:"__waitForAny",get:e=>({get:t})=>{const n=Yu(e),[r,o]=Xu(t,n);return o.some(i=>!De(i))?zo(e,r,o):new Promise(i=>{for(const[s,a]of o.entries())De(a)&&a.then(l=>{r[s]=l,o[s]=void 0,i(zo(e,r,o))}).catch(l=>{o[s]=l,i(zo(e,r,o))})})},dangerouslyAllowMutability:!0}),cL=Fr({key:"__waitForAll",get:e=>({get:t})=>{const n=Yu(e),[r,o]=Xu(t,n);if(o.every(s=>s==null))return uf(e,r);const i=o.find(sL);if(i!=null)throw i;return Promise.all(o).then(s=>uf(e,aL(r,s)))},dangerouslyAllowMutability:!0}),dL=Fr({key:"__waitForAllSettled",get:e=>({get:t})=>{const n=Yu(e),[r,o]=Xu(t,n);return o.every(i=>!De(i))?zo(e,r,o):Promise.all(o.map((i,s)=>De(i)?i.then(a=>{r[s]=a,o[s]=void 0}).catch(a=>{r[s]=void 0,o[s]=a}):null)).then(()=>zo(e,r,o))},dangerouslyAllowMutability:!0}),fL=Fr({key:"__noWait",get:e=>({get:t})=>{try{return ri.value(RS(t(e)))}catch(n){return ri.value(De(n)?_S(n):wS(n))}},dangerouslyAllowMutability:!0});var hL={waitForNone:lL,waitForAny:uL,waitForAll:cL,waitForAllSettled:dL,noWait:fL};const{RecoilLoadable:pL}=Ds,{DefaultValue:mL}=Bt,{RecoilRoot:yL,useRecoilStoreID:vL}=sr,{isRecoilValue:gL}=ei,{retentionZone:SL}=$u,{freshSnapshot:wL}=Wu,{useRecoilState:_L,useRecoilState_TRANSITION_SUPPORT_UNSTABLE:RL,useRecoilStateLoadable:bL,useRecoilValue:xL,useRecoilValue_TRANSITION_SUPPORT_UNSTABLE:EL,useRecoilValueLoadable:CL,useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE:TL,useResetRecoilState:kL,useSetRecoilState:AL}=jN,{useGotoRecoilSnapshot:NL,useRecoilSnapshot:PL,useRecoilTransactionObserver:OL}=iS,{useRecoilCallback:LL}=uS,{noWait:FL,waitForAll:ML,waitForAllSettled:DL,waitForAny:IL,waitForNone:$L}=hL;var ep={DefaultValue:mL,isRecoilValue:gL,RecoilLoadable:pL,RecoilEnv:di,RecoilRoot:yL,useRecoilStoreID:vL,useRecoilBridgeAcrossReactRoots_UNSTABLE:fP,atom:gS,selector:ri,atomFamily:QO,selectorFamily:Fr,constSelector:eL,errorSelector:rL,readOnlySelector:iL,noWait:FL,waitForNone:$L,waitForAny:IL,waitForAll:ML,waitForAllSettled:DL,useRecoilValue:xL,useRecoilValueLoadable:CL,useRecoilState:_L,useRecoilStateLoadable:bL,useSetRecoilState:AL,useResetRecoilState:kL,useGetRecoilValueInfo_UNSTABLE:sP,useRecoilRefresher_UNSTABLE:UP,useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE:TL,useRecoilValue_TRANSITION_SUPPORT_UNSTABLE:EL,useRecoilState_TRANSITION_SUPPORT_UNSTABLE:RL,useRecoilCallback:LL,useRecoilTransaction_UNSTABLE:KP,useGotoRecoilSnapshot:NL,useRecoilSnapshot:PL,useRecoilTransactionObserver_UNSTABLE:OL,snapshot_UNSTABLE:wL,useRetain:Qh,retentionZone:SL},jL=ep.RecoilRoot,tp=ep.atom,Ar=ep.useRecoilState;class hi{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){const n={listener:t};return this.listeners.add(n),this.onSubscribe(),()=>{this.listeners.delete(n),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}}const Es=typeof window>"u"||"Deno"in window;function en(){}function VL(e,t){return typeof e=="function"?e(t):e}function cf(e){return typeof e=="number"&&e>=0&&e!==1/0}function bS(e,t){return Math.max(e+(t||0)-Date.now(),0)}function Vi(e,t,n){return Bs(e)?typeof t=="function"?{...n,queryKey:e,queryFn:t}:{...t,queryKey:e}:e}function UL(e,t,n){return Bs(e)?typeof t=="function"?{...n,mutationKey:e,mutationFn:t}:{...t,mutationKey:e}:typeof e=="function"?{...t,mutationFn:e}:{...e}}function fr(e,t,n){return Bs(e)?[{...t,queryKey:e},n]:[e||{},t]}function Ny(e,t){const{type:n="all",exact:r,fetchStatus:o,predicate:i,queryKey:s,stale:a}=e;if(Bs(s)){if(r){if(t.queryHash!==np(s,t.options))return!1}else if(!Nl(t.queryKey,s))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof a=="boolean"&&t.isStale()!==a||typeof o<"u"&&o!==t.state.fetchStatus||i&&!i(t))}function Py(e,t){const{exact:n,fetching:r,predicate:o,mutationKey:i}=e;if(Bs(i)){if(!t.options.mutationKey)return!1;if(n){if(Hr(t.options.mutationKey)!==Hr(i))return!1}else if(!Nl(t.options.mutationKey,i))return!1}return!(typeof r=="boolean"&&t.state.status==="loading"!==r||o&&!o(t))}function np(e,t){return((t==null?void 0:t.queryKeyHashFn)||Hr)(e)}function Hr(e){return JSON.stringify(e,(t,n)=>df(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function Nl(e,t){return xS(e,t)}function xS(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!xS(e[n],t[n])):!1}function ES(e,t){if(e===t)return e;const n=Oy(e)&&Oy(t);if(n||df(e)&&df(t)){const r=n?e.length:Object.keys(e).length,o=n?t:Object.keys(t),i=o.length,s=n?[]:{};let a=0;for(let l=0;l"u")return!0;const n=t.prototype;return!(!Ly(n)||!n.hasOwnProperty("isPrototypeOf"))}function Ly(e){return Object.prototype.toString.call(e)==="[object Object]"}function Bs(e){return Array.isArray(e)}function CS(e){return new Promise(t=>{setTimeout(t,e)})}function Fy(e){CS(0).then(e)}function BL(){if(typeof AbortController=="function")return new AbortController}function ff(e,t,n){return n.isDataEqual!=null&&n.isDataEqual(e,t)?e:typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?ES(e,t):t}class zL extends hi{constructor(){super(),this.setup=t=>{if(!Es&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),window.addEventListener("focus",n,!1),()=>{window.removeEventListener("visibilitychange",n),window.removeEventListener("focus",n)}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.cleanup)==null||t.call(this),this.cleanup=void 0}}setEventListener(t){var n;this.setup=t,(n=this.cleanup)==null||n.call(this),this.cleanup=t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()})}setFocused(t){this.focused!==t&&(this.focused=t,this.onFocus())}onFocus(){this.listeners.forEach(({listener:t})=>{t()})}isFocused(){return typeof this.focused=="boolean"?this.focused:typeof document>"u"?!0:[void 0,"visible","prerender"].includes(document.visibilityState)}}const Ol=new zL,My=["online","offline"];class WL extends hi{constructor(){super(),this.setup=t=>{if(!Es&&window.addEventListener){const n=()=>t();return My.forEach(r=>{window.addEventListener(r,n,!1)}),()=>{My.forEach(r=>{window.removeEventListener(r,n)})}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.cleanup)==null||t.call(this),this.cleanup=void 0}}setEventListener(t){var n;this.setup=t,(n=this.cleanup)==null||n.call(this),this.cleanup=t(r=>{typeof r=="boolean"?this.setOnline(r):this.onOnline()})}setOnline(t){this.online!==t&&(this.online=t,this.onOnline())}onOnline(){this.listeners.forEach(({listener:t})=>{t()})}isOnline(){return typeof this.online=="boolean"?this.online:typeof navigator>"u"||typeof navigator.onLine>"u"?!0:navigator.onLine}}const Ll=new WL;function HL(e){return Math.min(1e3*2**e,3e4)}function Zu(e){return(e??"online")==="online"?Ll.isOnline():!0}class TS{constructor(t){this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}}function Ha(e){return e instanceof TS}function kS(e){let t=!1,n=0,r=!1,o,i,s;const a=new Promise((_,m)=>{i=_,s=m}),l=_=>{r||(S(new TS(_)),e.abort==null||e.abort())},u=()=>{t=!0},d=()=>{t=!1},c=()=>!Ol.isFocused()||e.networkMode!=="always"&&!Ll.isOnline(),h=_=>{r||(r=!0,e.onSuccess==null||e.onSuccess(_),o==null||o(),i(_))},S=_=>{r||(r=!0,e.onError==null||e.onError(_),o==null||o(),s(_))},y=()=>new Promise(_=>{o=m=>{const f=r||!c();return f&&_(m),f},e.onPause==null||e.onPause()}).then(()=>{o=void 0,r||e.onContinue==null||e.onContinue()}),p=()=>{if(r)return;let _;try{_=e.fn()}catch(m){_=Promise.reject(m)}Promise.resolve(_).then(h).catch(m=>{var f,v;if(r)return;const R=(f=e.retry)!=null?f:3,E=(v=e.retryDelay)!=null?v:HL,k=typeof E=="function"?E(n,m):E,b=R===!0||typeof R=="number"&&n{if(c())return y()}).then(()=>{t?S(m):p()})})};return Zu(e.networkMode)?p():y().then(p),{promise:a,cancel:l,continue:()=>(o==null?void 0:o())?a:Promise.resolve(),cancelRetry:u,continueRetry:d}}const rp=console;function KL(){let e=[],t=0,n=d=>{d()},r=d=>{d()};const o=d=>{let c;t++;try{c=d()}finally{t--,t||a()}return c},i=d=>{t?e.push(d):Fy(()=>{n(d)})},s=d=>(...c)=>{i(()=>{d(...c)})},a=()=>{const d=e;e=[],d.length&&Fy(()=>{r(()=>{d.forEach(c=>{n(c)})})})};return{batch:o,batchCalls:s,schedule:i,setNotifyFunction:d=>{n=d},setBatchNotifyFunction:d=>{r=d}}}const Xe=KL();class AS{destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),cf(this.cacheTime)&&(this.gcTimeout=setTimeout(()=>{this.optionalRemove()},this.cacheTime))}updateCacheTime(t){this.cacheTime=Math.max(this.cacheTime||0,t??(Es?1/0:5*60*1e3))}clearGcTimeout(){this.gcTimeout&&(clearTimeout(this.gcTimeout),this.gcTimeout=void 0)}}class qL extends AS{constructor(t){super(),this.abortSignalConsumed=!1,this.defaultOptions=t.defaultOptions,this.setOptions(t.options),this.observers=[],this.cache=t.cache,this.logger=t.logger||rp,this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.initialState=t.state||QL(this.options),this.state=this.initialState,this.scheduleGc()}get meta(){return this.options.meta}setOptions(t){this.options={...this.defaultOptions,...t},this.updateCacheTime(this.options.cacheTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.cache.remove(this)}setData(t,n){const r=ff(this.state.data,t,this.options);return this.dispatch({data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){this.dispatch({type:"setState",state:t,setStateOptions:n})}cancel(t){var n;const r=this.promise;return(n=this.retryer)==null||n.cancel(t),r?r.then(en).catch(en):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.initialState)}isActive(){return this.observers.some(t=>t.options.enabled!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||this.observers.some(t=>t.getCurrentResult().isStale)}isStaleByTime(t=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!bS(this.state.dataUpdatedAt,t)}onFocus(){var t;const n=this.observers.find(r=>r.shouldFetchOnWindowFocus());n&&n.refetch({cancelRefetch:!1}),(t=this.retryer)==null||t.continue()}onOnline(){var t;const n=this.observers.find(r=>r.shouldFetchOnReconnect());n&&n.refetch({cancelRefetch:!1}),(t=this.retryer)==null||t.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),this.cache.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(this.retryer&&(this.abortSignalConsumed?this.retryer.cancel({revert:!0}):this.retryer.cancelRetry()),this.scheduleGc()),this.cache.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.dispatch({type:"invalidate"})}fetch(t,n){var r,o;if(this.state.fetchStatus!=="idle"){if(this.state.dataUpdatedAt&&n!=null&&n.cancelRefetch)this.cancel({silent:!0});else if(this.promise){var i;return(i=this.retryer)==null||i.continueRetry(),this.promise}}if(t&&this.setOptions(t),!this.options.queryFn){const S=this.observers.find(y=>y.options.queryFn);S&&this.setOptions(S.options)}const s=BL(),a={queryKey:this.queryKey,pageParam:void 0,meta:this.meta},l=S=>{Object.defineProperty(S,"signal",{enumerable:!0,get:()=>{if(s)return this.abortSignalConsumed=!0,s.signal}})};l(a);const u=()=>this.options.queryFn?(this.abortSignalConsumed=!1,this.options.queryFn(a)):Promise.reject("Missing queryFn for queryKey '"+this.options.queryHash+"'"),d={fetchOptions:n,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:u};if(l(d),(r=this.options.behavior)==null||r.onFetch(d),this.revertState=this.state,this.state.fetchStatus==="idle"||this.state.fetchMeta!==((o=d.fetchOptions)==null?void 0:o.meta)){var c;this.dispatch({type:"fetch",meta:(c=d.fetchOptions)==null?void 0:c.meta})}const h=S=>{if(Ha(S)&&S.silent||this.dispatch({type:"error",error:S}),!Ha(S)){var y,p,_,m;(y=(p=this.cache.config).onError)==null||y.call(p,S,this),(_=(m=this.cache.config).onSettled)==null||_.call(m,this.state.data,S,this)}this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return this.retryer=kS({fn:d.fetchFn,abort:s==null?void 0:s.abort.bind(s),onSuccess:S=>{var y,p,_,m;if(typeof S>"u"){h(new Error(this.queryHash+" data is undefined"));return}this.setData(S),(y=(p=this.cache.config).onSuccess)==null||y.call(p,S,this),(_=(m=this.cache.config).onSettled)==null||_.call(m,S,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:h,onFail:(S,y)=>{this.dispatch({type:"failed",failureCount:S,error:y})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:d.options.retry,retryDelay:d.options.retryDelay,networkMode:d.options.networkMode}),this.promise=this.retryer.promise,this.promise}dispatch(t){const n=r=>{var o,i;switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:(o=t.meta)!=null?o:null,fetchStatus:Zu(this.options.networkMode)?"fetching":"paused",...!r.dataUpdatedAt&&{error:null,status:"loading"}};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:(i=t.dataUpdatedAt)!=null?i:Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const s=t.error;return Ha(s)&&s.revert&&this.revertState?{...this.revertState,fetchStatus:"idle"}:{...r,error:s,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:s,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),Xe.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate(t)}),this.cache.notify({query:this,type:"updated",action:t})})}}function QL(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=typeof t<"u",r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"loading",fetchStatus:"idle"}}class GL extends hi{constructor(t){super(),this.config=t||{},this.queries=[],this.queriesMap={}}build(t,n,r){var o;const i=n.queryKey,s=(o=n.queryHash)!=null?o:np(i,n);let a=this.get(s);return a||(a=new qL({cache:this,logger:t.getLogger(),queryKey:i,queryHash:s,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(i)}),this.add(a)),a}add(t){this.queriesMap[t.queryHash]||(this.queriesMap[t.queryHash]=t,this.queries.push(t),this.notify({type:"added",query:t}))}remove(t){const n=this.queriesMap[t.queryHash];n&&(t.destroy(),this.queries=this.queries.filter(r=>r!==t),n===t&&delete this.queriesMap[t.queryHash],this.notify({type:"removed",query:t}))}clear(){Xe.batch(()=>{this.queries.forEach(t=>{this.remove(t)})})}get(t){return this.queriesMap[t]}getAll(){return this.queries}find(t,n){const[r]=fr(t,n);return typeof r.exact>"u"&&(r.exact=!0),this.queries.find(o=>Ny(r,o))}findAll(t,n){const[r]=fr(t,n);return Object.keys(r).length>0?this.queries.filter(o=>Ny(r,o)):this.queries}notify(t){Xe.batch(()=>{this.listeners.forEach(({listener:n})=>{n(t)})})}onFocus(){Xe.batch(()=>{this.queries.forEach(t=>{t.onFocus()})})}onOnline(){Xe.batch(()=>{this.queries.forEach(t=>{t.onOnline()})})}}class XL extends AS{constructor(t){super(),this.defaultOptions=t.defaultOptions,this.mutationId=t.mutationId,this.mutationCache=t.mutationCache,this.logger=t.logger||rp,this.observers=[],this.state=t.state||NS(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options={...this.defaultOptions,...t},this.updateCacheTime(this.options.cacheTime)}get meta(){return this.options.meta}setState(t){this.dispatch({type:"setState",state:t})}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),this.mutationCache.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.observers=this.observers.filter(n=>n!==t),this.scheduleGc(),this.mutationCache.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.observers.length||(this.state.status==="loading"?this.scheduleGc():this.mutationCache.remove(this))}continue(){var t,n;return(t=(n=this.retryer)==null?void 0:n.continue())!=null?t:this.execute()}async execute(){const t=()=>{var b;return this.retryer=kS({fn:()=>this.options.mutationFn?this.options.mutationFn(this.state.variables):Promise.reject("No mutationFn found"),onFail:(P,H)=>{this.dispatch({type:"failed",failureCount:P,error:H})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:(b=this.options.retry)!=null?b:0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode}),this.retryer.promise},n=this.state.status==="loading";try{var r,o,i,s,a,l,u,d;if(!n){var c,h,S,y;this.dispatch({type:"loading",variables:this.options.variables}),await((c=(h=this.mutationCache.config).onMutate)==null?void 0:c.call(h,this.state.variables,this));const P=await((S=(y=this.options).onMutate)==null?void 0:S.call(y,this.state.variables));P!==this.state.context&&this.dispatch({type:"loading",context:P,variables:this.state.variables})}const b=await t();return await((r=(o=this.mutationCache.config).onSuccess)==null?void 0:r.call(o,b,this.state.variables,this.state.context,this)),await((i=(s=this.options).onSuccess)==null?void 0:i.call(s,b,this.state.variables,this.state.context)),await((a=(l=this.mutationCache.config).onSettled)==null?void 0:a.call(l,b,null,this.state.variables,this.state.context,this)),await((u=(d=this.options).onSettled)==null?void 0:u.call(d,b,null,this.state.variables,this.state.context)),this.dispatch({type:"success",data:b}),b}catch(b){try{var p,_,m,f,v,R,E,k;throw await((p=(_=this.mutationCache.config).onError)==null?void 0:p.call(_,b,this.state.variables,this.state.context,this)),await((m=(f=this.options).onError)==null?void 0:m.call(f,b,this.state.variables,this.state.context)),await((v=(R=this.mutationCache.config).onSettled)==null?void 0:v.call(R,void 0,b,this.state.variables,this.state.context,this)),await((E=(k=this.options).onSettled)==null?void 0:E.call(k,void 0,b,this.state.variables,this.state.context)),b}finally{this.dispatch({type:"error",error:b})}}}dispatch(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"loading":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!Zu(this.options.networkMode),status:"loading",variables:t.variables};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"};case"setState":return{...r,...t.state}}};this.state=n(this.state),Xe.batch(()=>{this.observers.forEach(r=>{r.onMutationUpdate(t)}),this.mutationCache.notify({mutation:this,type:"updated",action:t})})}}function NS(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0}}class YL extends hi{constructor(t){super(),this.config=t||{},this.mutations=[],this.mutationId=0}build(t,n,r){const o=new XL({mutationCache:this,logger:t.getLogger(),mutationId:++this.mutationId,options:t.defaultMutationOptions(n),state:r,defaultOptions:n.mutationKey?t.getMutationDefaults(n.mutationKey):void 0});return this.add(o),o}add(t){this.mutations.push(t),this.notify({type:"added",mutation:t})}remove(t){this.mutations=this.mutations.filter(n=>n!==t),this.notify({type:"removed",mutation:t})}clear(){Xe.batch(()=>{this.mutations.forEach(t=>{this.remove(t)})})}getAll(){return this.mutations}find(t){return typeof t.exact>"u"&&(t.exact=!0),this.mutations.find(n=>Py(t,n))}findAll(t){return this.mutations.filter(n=>Py(t,n))}notify(t){Xe.batch(()=>{this.listeners.forEach(({listener:n})=>{n(t)})})}resumePausedMutations(){var t;return this.resuming=((t=this.resuming)!=null?t:Promise.resolve()).then(()=>{const n=this.mutations.filter(r=>r.state.isPaused);return Xe.batch(()=>n.reduce((r,o)=>r.then(()=>o.continue().catch(en)),Promise.resolve()))}).then(()=>{this.resuming=void 0}),this.resuming}}function ZL(){return{onFetch:e=>{e.fetchFn=()=>{var t,n,r,o,i,s;const a=(t=e.fetchOptions)==null||(n=t.meta)==null?void 0:n.refetchPage,l=(r=e.fetchOptions)==null||(o=r.meta)==null?void 0:o.fetchMore,u=l==null?void 0:l.pageParam,d=(l==null?void 0:l.direction)==="forward",c=(l==null?void 0:l.direction)==="backward",h=((i=e.state.data)==null?void 0:i.pages)||[],S=((s=e.state.data)==null?void 0:s.pageParams)||[];let y=S,p=!1;const _=k=>{Object.defineProperty(k,"signal",{enumerable:!0,get:()=>{var b;if((b=e.signal)!=null&&b.aborted)p=!0;else{var P;(P=e.signal)==null||P.addEventListener("abort",()=>{p=!0})}return e.signal}})},m=e.options.queryFn||(()=>Promise.reject("Missing queryFn for queryKey '"+e.options.queryHash+"'")),f=(k,b,P,H)=>(y=H?[b,...y]:[...y,b],H?[P,...k]:[...k,P]),v=(k,b,P,H)=>{if(p)return Promise.reject("Cancelled");if(typeof P>"u"&&!b&&k.length)return Promise.resolve(k);const M={queryKey:e.queryKey,pageParam:P,meta:e.options.meta};_(M);const U=m(M);return Promise.resolve(U).then(B=>f(k,P,B,H))};let R;if(!h.length)R=v([]);else if(d){const k=typeof u<"u",b=k?u:Dy(e.options,h);R=v(h,k,b)}else if(c){const k=typeof u<"u",b=k?u:JL(e.options,h);R=v(h,k,b,!0)}else{y=[];const k=typeof e.options.getNextPageParam>"u";R=(a&&h[0]?a(h[0],0,h):!0)?v([],k,S[0]):Promise.resolve(f([],S[0],h[0]));for(let P=1;P{if(a&&h[P]?a(h[P],P,h):!0){const U=k?S[P]:Dy(e.options,H);return v(H,k,U)}return Promise.resolve(f(H,S[P],h[P]))})}return R.then(k=>({pages:k,pageParams:y}))}}}}function Dy(e,t){return e.getNextPageParam==null?void 0:e.getNextPageParam(t[t.length-1],t)}function JL(e,t){return e.getPreviousPageParam==null?void 0:e.getPreviousPageParam(t[0],t)}class eF{constructor(t={}){this.queryCache=t.queryCache||new GL,this.mutationCache=t.mutationCache||new YL,this.logger=t.logger||rp,this.defaultOptions=t.defaultOptions||{},this.queryDefaults=[],this.mutationDefaults=[],this.mountCount=0}mount(){this.mountCount++,this.mountCount===1&&(this.unsubscribeFocus=Ol.subscribe(()=>{Ol.isFocused()&&(this.resumePausedMutations(),this.queryCache.onFocus())}),this.unsubscribeOnline=Ll.subscribe(()=>{Ll.isOnline()&&(this.resumePausedMutations(),this.queryCache.onOnline())}))}unmount(){var t,n;this.mountCount--,this.mountCount===0&&((t=this.unsubscribeFocus)==null||t.call(this),this.unsubscribeFocus=void 0,(n=this.unsubscribeOnline)==null||n.call(this),this.unsubscribeOnline=void 0)}isFetching(t,n){const[r]=fr(t,n);return r.fetchStatus="fetching",this.queryCache.findAll(r).length}isMutating(t){return this.mutationCache.findAll({...t,fetching:!0}).length}getQueryData(t,n){var r;return(r=this.queryCache.find(t,n))==null?void 0:r.state.data}ensureQueryData(t,n,r){const o=Vi(t,n,r),i=this.getQueryData(o.queryKey);return i?Promise.resolve(i):this.fetchQuery(o)}getQueriesData(t){return this.getQueryCache().findAll(t).map(({queryKey:n,state:r})=>{const o=r.data;return[n,o]})}setQueryData(t,n,r){const o=this.queryCache.find(t),i=o==null?void 0:o.state.data,s=VL(n,i);if(typeof s>"u")return;const a=Vi(t),l=this.defaultQueryOptions(a);return this.queryCache.build(this,l).setData(s,{...r,manual:!0})}setQueriesData(t,n,r){return Xe.batch(()=>this.getQueryCache().findAll(t).map(({queryKey:o})=>[o,this.setQueryData(o,n,r)]))}getQueryState(t,n){var r;return(r=this.queryCache.find(t,n))==null?void 0:r.state}removeQueries(t,n){const[r]=fr(t,n),o=this.queryCache;Xe.batch(()=>{o.findAll(r).forEach(i=>{o.remove(i)})})}resetQueries(t,n,r){const[o,i]=fr(t,n,r),s=this.queryCache,a={type:"active",...o};return Xe.batch(()=>(s.findAll(o).forEach(l=>{l.reset()}),this.refetchQueries(a,i)))}cancelQueries(t,n,r){const[o,i={}]=fr(t,n,r);typeof i.revert>"u"&&(i.revert=!0);const s=Xe.batch(()=>this.queryCache.findAll(o).map(a=>a.cancel(i)));return Promise.all(s).then(en).catch(en)}invalidateQueries(t,n,r){const[o,i]=fr(t,n,r);return Xe.batch(()=>{var s,a;if(this.queryCache.findAll(o).forEach(u=>{u.invalidate()}),o.refetchType==="none")return Promise.resolve();const l={...o,type:(s=(a=o.refetchType)!=null?a:o.type)!=null?s:"active"};return this.refetchQueries(l,i)})}refetchQueries(t,n,r){const[o,i]=fr(t,n,r),s=Xe.batch(()=>this.queryCache.findAll(o).filter(l=>!l.isDisabled()).map(l=>{var u;return l.fetch(void 0,{...i,cancelRefetch:(u=i==null?void 0:i.cancelRefetch)!=null?u:!0,meta:{refetchPage:o.refetchPage}})}));let a=Promise.all(s).then(en);return i!=null&&i.throwOnError||(a=a.catch(en)),a}fetchQuery(t,n,r){const o=Vi(t,n,r),i=this.defaultQueryOptions(o);typeof i.retry>"u"&&(i.retry=!1);const s=this.queryCache.build(this,i);return s.isStaleByTime(i.staleTime)?s.fetch(i):Promise.resolve(s.state.data)}prefetchQuery(t,n,r){return this.fetchQuery(t,n,r).then(en).catch(en)}fetchInfiniteQuery(t,n,r){const o=Vi(t,n,r);return o.behavior=ZL(),this.fetchQuery(o)}prefetchInfiniteQuery(t,n,r){return this.fetchInfiniteQuery(t,n,r).then(en).catch(en)}resumePausedMutations(){return this.mutationCache.resumePausedMutations()}getQueryCache(){return this.queryCache}getMutationCache(){return this.mutationCache}getLogger(){return this.logger}getDefaultOptions(){return this.defaultOptions}setDefaultOptions(t){this.defaultOptions=t}setQueryDefaults(t,n){const r=this.queryDefaults.find(o=>Hr(t)===Hr(o.queryKey));r?r.defaultOptions=n:this.queryDefaults.push({queryKey:t,defaultOptions:n})}getQueryDefaults(t){if(!t)return;const n=this.queryDefaults.find(r=>Nl(t,r.queryKey));return n==null?void 0:n.defaultOptions}setMutationDefaults(t,n){const r=this.mutationDefaults.find(o=>Hr(t)===Hr(o.mutationKey));r?r.defaultOptions=n:this.mutationDefaults.push({mutationKey:t,defaultOptions:n})}getMutationDefaults(t){if(!t)return;const n=this.mutationDefaults.find(r=>Nl(t,r.mutationKey));return n==null?void 0:n.defaultOptions}defaultQueryOptions(t){if(t!=null&&t._defaulted)return t;const n={...this.defaultOptions.queries,...this.getQueryDefaults(t==null?void 0:t.queryKey),...t,_defaulted:!0};return!n.queryHash&&n.queryKey&&(n.queryHash=np(n.queryKey,n)),typeof n.refetchOnReconnect>"u"&&(n.refetchOnReconnect=n.networkMode!=="always"),typeof n.useErrorBoundary>"u"&&(n.useErrorBoundary=!!n.suspense),n}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...this.defaultOptions.mutations,...this.getMutationDefaults(t==null?void 0:t.mutationKey),...t,_defaulted:!0}}clear(){this.queryCache.clear(),this.mutationCache.clear()}}class tF extends hi{constructor(t,n){super(),this.client=t,this.options=n,this.trackedProps=new Set,this.selectError=null,this.bindMethods(),this.setOptions(n)}bindMethods(){this.remove=this.remove.bind(this),this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.currentQuery.addObserver(this),Iy(this.currentQuery,this.options)&&this.executeFetch(),this.updateTimers())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return hf(this.currentQuery,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return hf(this.currentQuery,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.clearStaleTimeout(),this.clearRefetchInterval(),this.currentQuery.removeObserver(this)}setOptions(t,n){const r=this.options,o=this.currentQuery;if(this.options=this.client.defaultQueryOptions(t),Pl(r,this.options)||this.client.getQueryCache().notify({type:"observerOptionsUpdated",query:this.currentQuery,observer:this}),typeof this.options.enabled<"u"&&typeof this.options.enabled!="boolean")throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=r.queryKey),this.updateQuery();const i=this.hasListeners();i&&$y(this.currentQuery,o,this.options,r)&&this.executeFetch(),this.updateResult(n),i&&(this.currentQuery!==o||this.options.enabled!==r.enabled||this.options.staleTime!==r.staleTime)&&this.updateStaleTimeout();const s=this.computeRefetchInterval();i&&(this.currentQuery!==o||this.options.enabled!==r.enabled||s!==this.currentRefetchInterval)&&this.updateRefetchInterval(s)}getOptimisticResult(t){const n=this.client.getQueryCache().build(this.client,t),r=this.createResult(n,t);return rF(this,r,t)&&(this.currentResult=r,this.currentResultOptions=this.options,this.currentResultState=this.currentQuery.state),r}getCurrentResult(){return this.currentResult}trackResult(t){const n={};return Object.keys(t).forEach(r=>{Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:()=>(this.trackedProps.add(r),t[r])})}),n}getCurrentQuery(){return this.currentQuery}remove(){this.client.getQueryCache().remove(this.currentQuery)}refetch({refetchPage:t,...n}={}){return this.fetch({...n,meta:{refetchPage:t}})}fetchOptimistic(t){const n=this.client.defaultQueryOptions(t),r=this.client.getQueryCache().build(this.client,n);return r.isFetchingOptimistic=!0,r.fetch().then(()=>this.createResult(r,n))}fetch(t){var n;return this.executeFetch({...t,cancelRefetch:(n=t.cancelRefetch)!=null?n:!0}).then(()=>(this.updateResult(),this.currentResult))}executeFetch(t){this.updateQuery();let n=this.currentQuery.fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(en)),n}updateStaleTimeout(){if(this.clearStaleTimeout(),Es||this.currentResult.isStale||!cf(this.options.staleTime))return;const n=bS(this.currentResult.dataUpdatedAt,this.options.staleTime)+1;this.staleTimeoutId=setTimeout(()=>{this.currentResult.isStale||this.updateResult()},n)}computeRefetchInterval(){var t;return typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.currentResult.data,this.currentQuery):(t=this.options.refetchInterval)!=null?t:!1}updateRefetchInterval(t){this.clearRefetchInterval(),this.currentRefetchInterval=t,!(Es||this.options.enabled===!1||!cf(this.currentRefetchInterval)||this.currentRefetchInterval===0)&&(this.refetchIntervalId=setInterval(()=>{(this.options.refetchIntervalInBackground||Ol.isFocused())&&this.executeFetch()},this.currentRefetchInterval))}updateTimers(){this.updateStaleTimeout(),this.updateRefetchInterval(this.computeRefetchInterval())}clearStaleTimeout(){this.staleTimeoutId&&(clearTimeout(this.staleTimeoutId),this.staleTimeoutId=void 0)}clearRefetchInterval(){this.refetchIntervalId&&(clearInterval(this.refetchIntervalId),this.refetchIntervalId=void 0)}createResult(t,n){const r=this.currentQuery,o=this.options,i=this.currentResult,s=this.currentResultState,a=this.currentResultOptions,l=t!==r,u=l?t.state:this.currentQueryInitialState,d=l?this.currentResult:this.previousQueryResult,{state:c}=t;let{dataUpdatedAt:h,error:S,errorUpdatedAt:y,fetchStatus:p,status:_}=c,m=!1,f=!1,v;if(n._optimisticResults){const P=this.hasListeners(),H=!P&&Iy(t,n),M=P&&$y(t,r,n,o);(H||M)&&(p=Zu(t.options.networkMode)?"fetching":"paused",h||(_="loading")),n._optimisticResults==="isRestoring"&&(p="idle")}if(n.keepPreviousData&&!c.dataUpdatedAt&&d!=null&&d.isSuccess&&_!=="error")v=d.data,h=d.dataUpdatedAt,_=d.status,m=!0;else if(n.select&&typeof c.data<"u")if(i&&c.data===(s==null?void 0:s.data)&&n.select===this.selectFn)v=this.selectResult;else try{this.selectFn=n.select,v=n.select(c.data),v=ff(i==null?void 0:i.data,v,n),this.selectResult=v,this.selectError=null}catch(P){this.selectError=P}else v=c.data;if(typeof n.placeholderData<"u"&&typeof v>"u"&&_==="loading"){let P;if(i!=null&&i.isPlaceholderData&&n.placeholderData===(a==null?void 0:a.placeholderData))P=i.data;else if(P=typeof n.placeholderData=="function"?n.placeholderData():n.placeholderData,n.select&&typeof P<"u")try{P=n.select(P),this.selectError=null}catch(H){this.selectError=H}typeof P<"u"&&(_="success",v=ff(i==null?void 0:i.data,P,n),f=!0)}this.selectError&&(S=this.selectError,v=this.selectResult,y=Date.now(),_="error");const R=p==="fetching",E=_==="loading",k=_==="error";return{status:_,fetchStatus:p,isLoading:E,isSuccess:_==="success",isError:k,isInitialLoading:E&&R,data:v,dataUpdatedAt:h,error:S,errorUpdatedAt:y,failureCount:c.fetchFailureCount,failureReason:c.fetchFailureReason,errorUpdateCount:c.errorUpdateCount,isFetched:c.dataUpdateCount>0||c.errorUpdateCount>0,isFetchedAfterMount:c.dataUpdateCount>u.dataUpdateCount||c.errorUpdateCount>u.errorUpdateCount,isFetching:R,isRefetching:R&&!E,isLoadingError:k&&c.dataUpdatedAt===0,isPaused:p==="paused",isPlaceholderData:f,isPreviousData:m,isRefetchError:k&&c.dataUpdatedAt!==0,isStale:op(t,n),refetch:this.refetch,remove:this.remove}}updateResult(t){const n=this.currentResult,r=this.createResult(this.currentQuery,this.options);if(this.currentResultState=this.currentQuery.state,this.currentResultOptions=this.options,Pl(r,n))return;this.currentResult=r;const o={cache:!0},i=()=>{if(!n)return!0;const{notifyOnChangeProps:s}=this.options,a=typeof s=="function"?s():s;if(a==="all"||!a&&!this.trackedProps.size)return!0;const l=new Set(a??this.trackedProps);return this.options.useErrorBoundary&&l.add("error"),Object.keys(this.currentResult).some(u=>{const d=u;return this.currentResult[d]!==n[d]&&l.has(d)})};(t==null?void 0:t.listeners)!==!1&&i()&&(o.listeners=!0),this.notify({...o,...t})}updateQuery(){const t=this.client.getQueryCache().build(this.client,this.options);if(t===this.currentQuery)return;const n=this.currentQuery;this.currentQuery=t,this.currentQueryInitialState=t.state,this.previousQueryResult=this.currentResult,this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))}onQueryUpdate(t){const n={};t.type==="success"?n.onSuccess=!t.manual:t.type==="error"&&!Ha(t.error)&&(n.onError=!0),this.updateResult(n),this.hasListeners()&&this.updateTimers()}notify(t){Xe.batch(()=>{if(t.onSuccess){var n,r,o,i;(n=(r=this.options).onSuccess)==null||n.call(r,this.currentResult.data),(o=(i=this.options).onSettled)==null||o.call(i,this.currentResult.data,null)}else if(t.onError){var s,a,l,u;(s=(a=this.options).onError)==null||s.call(a,this.currentResult.error),(l=(u=this.options).onSettled)==null||l.call(u,void 0,this.currentResult.error)}t.listeners&&this.listeners.forEach(({listener:d})=>{d(this.currentResult)}),t.cache&&this.client.getQueryCache().notify({query:this.currentQuery,type:"observerResultsUpdated"})})}}function nF(e,t){return t.enabled!==!1&&!e.state.dataUpdatedAt&&!(e.state.status==="error"&&t.retryOnMount===!1)}function Iy(e,t){return nF(e,t)||e.state.dataUpdatedAt>0&&hf(e,t,t.refetchOnMount)}function hf(e,t,n){if(t.enabled!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&op(e,t)}return!1}function $y(e,t,n,r){return n.enabled!==!1&&(e!==t||r.enabled===!1)&&(!n.suspense||e.state.status!=="error")&&op(e,n)}function op(e,t){return e.isStaleByTime(t.staleTime)}function rF(e,t,n){return n.keepPreviousData?!1:n.placeholderData!==void 0?t.isPlaceholderData:!Pl(e.getCurrentResult(),t)}let oF=class extends hi{constructor(t,n){super(),this.client=t,this.setOptions(n),this.bindMethods(),this.updateResult()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){var n;const r=this.options;this.options=this.client.defaultMutationOptions(t),Pl(r,this.options)||this.client.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.currentMutation,observer:this}),(n=this.currentMutation)==null||n.setOptions(this.options)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.currentMutation)==null||t.removeObserver(this)}}onMutationUpdate(t){this.updateResult();const n={listeners:!0};t.type==="success"?n.onSuccess=!0:t.type==="error"&&(n.onError=!0),this.notify(n)}getCurrentResult(){return this.currentResult}reset(){this.currentMutation=void 0,this.updateResult(),this.notify({listeners:!0})}mutate(t,n){return this.mutateOptions=n,this.currentMutation&&this.currentMutation.removeObserver(this),this.currentMutation=this.client.getMutationCache().build(this.client,{...this.options,variables:typeof t<"u"?t:this.options.variables}),this.currentMutation.addObserver(this),this.currentMutation.execute()}updateResult(){const t=this.currentMutation?this.currentMutation.state:NS(),n={...t,isLoading:t.status==="loading",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset};this.currentResult=n}notify(t){Xe.batch(()=>{if(this.mutateOptions&&this.hasListeners()){if(t.onSuccess){var n,r,o,i;(n=(r=this.mutateOptions).onSuccess)==null||n.call(r,this.currentResult.data,this.currentResult.variables,this.currentResult.context),(o=(i=this.mutateOptions).onSettled)==null||o.call(i,this.currentResult.data,null,this.currentResult.variables,this.currentResult.context)}else if(t.onError){var s,a,l,u;(s=(a=this.mutateOptions).onError)==null||s.call(a,this.currentResult.error,this.currentResult.variables,this.currentResult.context),(l=(u=this.mutateOptions).onSettled)==null||l.call(u,void 0,this.currentResult.error,this.currentResult.variables,this.currentResult.context)}}t.listeners&&this.listeners.forEach(({listener:d})=>{d(this.currentResult)})})}};var PS={exports:{}},OS={};/** + hot module replacement.`;console.warn(t)}}function wM(e){Us.RECOIL_DUPLICATE_ATOM_KEY_CHECKING_ENABLED&&xM(e.key),No.set(e.key,e);const t=e.set==null?new Ts.RecoilValueReadOnly(e.key):new Ts.RecoilState(e.key);return xm.set(e.key,t),t}class nx extends Error{}function RM(e){const t=No.get(e);if(t==null)throw new nx(`Missing definition for RecoilValue: "${e}""`);return t}function CM(e){return No.get(e)}const gu=new Map;function EM(e){var t;if(!Ge("recoil_memory_managament_2020"))return;const n=No.get(e);if(n!=null&&(t=n.shouldDeleteConfigOnRelease)!==null&&t!==void 0&&t.call(n)){var r;No.delete(e),(r=rx(e))===null||r===void 0||r(),gu.delete(e)}}function _M(e,t){Ge("recoil_memory_managament_2020")&&(t===void 0?gu.delete(e):gu.set(e,t))}function rx(e){return gu.get(e)}var ln={nodes:No,recoilValues:xm,registerNode:wM,getNode:RM,getNodeMaybe:CM,deleteNodeConfigIfPossible:EM,setConfigDeletionHandler:_M,getConfigDeletionHandler:rx,recoilValuesForKeys:bM,NodeMissingError:nx,DefaultValue:tx,DEFAULT_VALUE:SM};function kM(e,t){t()}var TM={enqueueExecution:kM};function PM(e,t){return t={exports:{}},e(t,t.exports),t.exports}var AM=PM(function(e){var t=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(N){return typeof N}:function(N){return N&&typeof Symbol=="function"&&N.constructor===Symbol&&N!==Symbol.prototype?"symbol":typeof N},n={},r=5,o=Math.pow(2,r),s=o-1,i=o/2,a=o/4,l={},u=function(A){return function(){return A}},c=n.hash=function(N){var A=typeof N>"u"?"undefined":t(N);if(A==="number")return N;A!=="string"&&(N+="");for(var Y=0,se=0,ie=N.length;se>1&1431655765,A=(A&858993459)+(A>>2&858993459),A=A+(A>>4)&252645135,A+=A>>8,A+=A>>16,A&127},f=function(A,Y){return Y>>>A&s},S=function(A){return 1<=Y;)ie[we--]=ie[we];return ie[Y]=se,ie}for(var be=0,xe=0,Ae=new Array(de+1);be>>=1;return we[Y]=se,H(A,xe+1,we)},z=function(A,Y,se,ie){for(var de=new Array(Y-1),we=0,be=0,xe=0,Ae=ie.length;xe1?M(A,this.hash,Ae):Ae[0]}var et=ie();return et===l?this:(++be.value,K(A,se,this.hash,this,de,T(A,de,we,et)))},D=function(A,Y,se,ie,de,we,be){var xe=this.mask,Ae=this.children,et=f(se,de),Qt=S(et),Rt=h(xe,Qt),bn=xe&Qt,Mn=bn?Ae[Rt]:E,Io=Mn._modify(A,Y,se+r,ie,de,we,be);if(Mn===Io)return this;var Fa=G(A,this),Qs=xe,Xs=void 0;if(bn&&R(Io)){if(Qs&=~Qt,!Qs)return E;if(Ae.length<=2&&U(Ae[Rt^1]))return Ae[Rt^1];Xs=w(Fa,Rt,Ae)}else if(!bn&&!R(Io)){if(Ae.length>=i)return F(A,et,Io,xe,Ae);Qs|=Qt,Xs=y(Fa,Rt,Io,Ae)}else Xs=m(Fa,Rt,Io,Ae);return Fa?(this.mask=Qs,this.children=Xs,this):$(A,Qs,Xs)},J=function(A,Y,se,ie,de,we,be){var xe=this.size,Ae=this.children,et=f(se,de),Qt=Ae[et],Rt=(Qt||E)._modify(A,Y,se+r,ie,de,we,be);if(Qt===Rt)return this;var bn=G(A,this),Mn=void 0;if(R(Qt)&&!R(Rt))++xe,Mn=m(bn,et,Rt,Ae);else if(!R(Qt)&&R(Rt)){if(--xe,xe<=a)return z(A,xe,et,Ae);Mn=m(bn,et,E,Ae)}else Mn=m(bn,et,Rt,Ae);return bn?(this.size=xe,this.children=Mn,this):H(A,xe,Mn)};E._modify=function(N,A,Y,se,ie,de,we){var be=se();return be===l?E:(++we.value,T(N,ie,de,be))};function P(N,A,Y,se,ie){this._editable=N,this._edit=A,this._config=Y,this._root=se,this._size=ie}P.prototype.setTree=function(N,A){return this._editable?(this._root=N,this._size=A,this):N===this._root?this:new P(this._editable,this._edit,this._config,N,A)};var q=n.tryGetHash=function(N,A,Y,se){for(var ie=se._root,de=0,we=se._config.keyEq;;)switch(ie.type){case p:return we(Y,ie.key)?ie.value:N;case v:{if(A===ie.hash)for(var be=ie.children,xe=0,Ae=be.length;xe{n.set(o,t(r,o))}),n}var Su=IM;function FM(){return{nodeDeps:new Map,nodeToNodeSubscriptions:new Map}}function DM(e){return{nodeDeps:Su(e.nodeDeps,t=>new Set(t)),nodeToNodeSubscriptions:Su(e.nodeToNodeSubscriptions,t=>new Set(t))}}function of(e,t,n,r){const{nodeDeps:o,nodeToNodeSubscriptions:s}=n,i=o.get(e);if(i&&r&&i!==r.nodeDeps.get(e))return;o.set(e,t);const a=i==null?t:Ui(t,i);for(const l of a)s.has(l)||s.set(l,new Set),rt(s.get(l)).add(e);if(i){const l=Ui(i,t);for(const u of l){if(!s.has(u))return;const c=rt(s.get(u));c.delete(e),c.size===0&&s.delete(u)}}}function jM(e,t,n,r){var o,s,i,a;const l=n.getState();r===l.currentTree.version||r===((o=l.nextTree)===null||o===void 0?void 0:o.version)||((s=l.previousTree)===null||s===void 0||s.version);const u=n.getGraph(r);if(of(e,t,u),r===((i=l.previousTree)===null||i===void 0?void 0:i.version)){const d=n.getGraph(l.currentTree.version);of(e,t,d,u)}if(r===((a=l.previousTree)===null||a===void 0?void 0:a.version)||r===l.currentTree.version){var c;const d=(c=l.nextTree)===null||c===void 0?void 0:c.version;if(d!==void 0){const f=n.getGraph(d);of(e,t,f,u)}}}var Ta={cloneGraph:DM,graph:FM,saveDepsToStore:jM};let BM=0;const UM=()=>BM++;let zM=0;const VM=()=>zM++;let WM=0;const HM=()=>WM++;var Qc={getNextTreeStateVersion:UM,getNextStoreID:VM,getNextComponentID:HM};const{persistentMap:bg}=$M,{graph:qM}=Ta,{getNextTreeStateVersion:ox}=Qc;function sx(){const e=ox();return{version:e,stateID:e,transactionMetadata:{},dirtyAtoms:new Set,atomValues:bg(),nonvalidatedAtoms:bg()}}function KM(){const e=sx();return{currentTree:e,nextTree:null,previousTree:null,commitDepth:0,knownAtoms:new Set,knownSelectors:new Set,transactionSubscriptions:new Map,nodeTransactionSubscriptions:new Map,nodeToComponentSubscriptions:new Map,queuedComponentCallbacks_DEPRECATED:[],suspendedComponentResolvers:new Set,graphsByVersion:new Map().set(e.version,qM()),retention:{referenceCounts:new Map,nodesRetainedByZone:new Map,retainablesToCheckForRelease:new Set},nodeCleanupFunctions:new Map}}var ix={makeEmptyTreeState:sx,makeEmptyStoreState:KM,getNextTreeStateVersion:ox};class ax{}function GM(){return new ax}var Xc={RetentionZone:ax,retentionZone:GM};function QM(e,t){const n=new Set(e);return n.add(t),n}function XM(e,t){const n=new Set(e);return n.delete(t),n}function YM(e,t,n){const r=new Map(e);return r.set(t,n),r}function JM(e,t,n){const r=new Map(e);return r.set(t,n(r.get(t))),r}function ZM(e,t){const n=new Map(e);return n.delete(t),n}function eI(e,t){const n=new Map(e);return t.forEach(r=>n.delete(r)),n}var lx={setByAddingToSet:QM,setByDeletingFromSet:XM,mapBySettingInMap:YM,mapByUpdatingInMap:JM,mapByDeletingFromMap:ZM,mapByDeletingMultipleFromMap:eI};function*tI(e,t){let n=0;for(const r of e)t(r,n++)&&(yield r)}var Cm=tI;function nI(e,t){return new Proxy(e,{get:(r,o)=>(!(o in r)&&o in t&&(r[o]=t[o]()),r[o]),ownKeys:r=>Object.keys(r)})}var ux=nI;const{getNode:Pa,getNodeMaybe:rI,recoilValuesForKeys:xg}=ln,{RetentionZone:wg}=Xc,{setByAddingToSet:oI}=lx,sI=Object.freeze(new Set);class iI extends Error{}function aI(e,t,n){if(!Ge("recoil_memory_managament_2020"))return()=>{};const{nodesRetainedByZone:r}=e.getState().retention;function o(s){let i=r.get(s);i||r.set(s,i=new Set),i.add(t)}if(n instanceof wg)o(n);else if(Array.isArray(n))for(const s of n)o(s);return()=>{if(!Ge("recoil_memory_managament_2020"))return;const{retention:s}=e.getState();function i(a){const l=s.nodesRetainedByZone.get(a);l==null||l.delete(t),l&&l.size===0&&s.nodesRetainedByZone.delete(a)}if(n instanceof wg)i(n);else if(Array.isArray(n))for(const a of n)i(a)}}function Em(e,t,n,r){const o=e.getState();if(o.nodeCleanupFunctions.has(n))return;const s=Pa(n),i=aI(e,n,s.retainedBy),a=s.init(e,t,r);o.nodeCleanupFunctions.set(n,()=>{a(),i()})}function lI(e,t,n){Em(e,e.getState().currentTree,t,n)}function uI(e,t){var n;const r=e.getState();(n=r.nodeCleanupFunctions.get(t))===null||n===void 0||n(),r.nodeCleanupFunctions.delete(t)}function cI(e,t,n){return Em(e,t,n,"get"),Pa(n).get(e,t)}function cx(e,t,n){return Pa(n).peek(e,t)}function dI(e,t,n){var r;const o=rI(t);return o==null||(r=o.invalidate)===null||r===void 0||r.call(o,e),{...e,atomValues:e.atomValues.clone().delete(t),nonvalidatedAtoms:e.nonvalidatedAtoms.clone().set(t,n),dirtyAtoms:oI(e.dirtyAtoms,t)}}function fI(e,t,n,r){const o=Pa(n);if(o.set==null)throw new iI(`Attempt to set read-only RecoilValue: ${n}`);const s=o.set;return Em(e,t,n,"set"),s(e,t,r)}function pI(e,t,n){const r=e.getState(),o=e.getGraph(t.version),s=Pa(n).nodeType;return ux({type:s},{loadable:()=>cx(e,t,n),isActive:()=>r.knownAtoms.has(n)||r.knownSelectors.has(n),isSet:()=>s==="selector"?!1:t.atomValues.has(n),isModified:()=>t.dirtyAtoms.has(n),deps:()=>{var i;return xg((i=o.nodeDeps.get(n))!==null&&i!==void 0?i:[])},subscribers:()=>{var i,a;return{nodes:xg(Cm(dx(e,t,new Set([n])),l=>l!==n)),components:Gc((i=(a=r.nodeToComponentSubscriptions.get(n))===null||a===void 0?void 0:a.values())!==null&&i!==void 0?i:[],([l])=>({name:l}))}}})}function dx(e,t,n){const r=new Set,o=Array.from(n),s=e.getGraph(t.version);for(let a=o.pop();a;a=o.pop()){var i;r.add(a);const l=(i=s.nodeToNodeSubscriptions.get(a))!==null&&i!==void 0?i:sI;for(const u of l)r.has(u)||o.push(u)}return r}var no={getNodeLoadable:cI,peekNodeLoadable:cx,setNodeValue:fI,initializeNode:lI,cleanUpNode:uI,setUnvalidatedAtomValue_DEPRECATED:dI,peekNodeInfo:pI,getDownstreamNodes:dx};let fx=null;function hI(e){fx=e}function mI(){var e;(e=fx)===null||e===void 0||e()}var px={setInvalidateMemoizedSnapshot:hI,invalidateMemoizedSnapshot:mI};const{getDownstreamNodes:vI,getNodeLoadable:hx,setNodeValue:yI}=no,{getNextComponentID:gI}=Qc,{getNode:SI,getNodeMaybe:mx}=ln,{DefaultValue:_m}=ln,{reactMode:bI}=ka,{AbstractRecoilValue:xI,RecoilState:wI,RecoilValueReadOnly:RI,isRecoilValue:CI}=Ts,{invalidateMemoizedSnapshot:EI}=px;function _I(e,{key:t},n=e.getState().currentTree){var r,o;const s=e.getState();n.version===s.currentTree.version||n.version===((r=s.nextTree)===null||r===void 0?void 0:r.version)||(n.version,(o=s.previousTree)===null||o===void 0||o.version);const i=hx(e,n,t);return i.state==="loading"&&i.contents.catch(()=>{}),i}function kI(e,t){const n=e.clone();return t.forEach((r,o)=>{r.state==="hasValue"&&r.contents instanceof _m?n.delete(o):n.set(o,r)}),n}function TI(e,t,{key:n},r){if(typeof r=="function"){const o=hx(e,t,n);if(o.state==="loading"){const s=`Tried to set atom or selector "${n}" using an updater function while the current state is pending, this is not currently supported.`;throw Te(s)}else if(o.state==="hasError")throw o.contents;return r(o.contents)}else return r}function PI(e,t,n){if(n.type==="set"){const{recoilValue:o,valueOrUpdater:s}=n,i=TI(e,t,o,s),a=yI(e,t,o.key,i);for(const[l,u]of a.entries())Pp(t,l,u)}else if(n.type==="setLoadable"){const{recoilValue:{key:o},loadable:s}=n;Pp(t,o,s)}else if(n.type==="markModified"){const{recoilValue:{key:o}}=n;t.dirtyAtoms.add(o)}else if(n.type==="setUnvalidated"){var r;const{recoilValue:{key:o},unvalidatedValue:s}=n,i=mx(o);i==null||(r=i.invalidate)===null||r===void 0||r.call(i,t),t.atomValues.delete(o),t.nonvalidatedAtoms.set(o,s),t.dirtyAtoms.add(o)}else Sm(`Unknown action ${n.type}`)}function Pp(e,t,n){n.state==="hasValue"&&n.contents instanceof _m?e.atomValues.delete(t):e.atomValues.set(t,n),e.dirtyAtoms.add(t),e.nonvalidatedAtoms.delete(t)}function vx(e,t){e.replaceState(n=>{const r=yx(n);for(const o of t)PI(e,r,o);return gx(e,r),EI(),r})}function Yc(e,t){if(zi.length){const n=zi[zi.length-1];let r=n.get(e);r||n.set(e,r=[]),r.push(t)}else vx(e,[t])}const zi=[];function AI(){const e=new Map;return zi.push(e),()=>{for(const[t,n]of e)vx(t,n);zi.pop()}}function yx(e){return{...e,atomValues:e.atomValues.clone(),nonvalidatedAtoms:e.nonvalidatedAtoms.clone(),dirtyAtoms:new Set(e.dirtyAtoms)}}function gx(e,t){const n=vI(e,t,t.dirtyAtoms);for(const s of n){var r,o;(r=mx(s))===null||r===void 0||(o=r.invalidate)===null||o===void 0||o.call(r,t)}}function Sx(e,t,n){Yc(e,{type:"set",recoilValue:t,valueOrUpdater:n})}function NI(e,t,n){if(n instanceof _m)return Sx(e,t,n);Yc(e,{type:"setLoadable",recoilValue:t,loadable:n})}function OI(e,t){Yc(e,{type:"markModified",recoilValue:t})}function LI(e,t,n){Yc(e,{type:"setUnvalidated",recoilValue:t,unvalidatedValue:n})}function $I(e,{key:t},n,r=null){const o=gI(),s=e.getState();s.nodeToComponentSubscriptions.has(t)||s.nodeToComponentSubscriptions.set(t,new Map),rt(s.nodeToComponentSubscriptions.get(t)).set(o,[r??"",n]);const i=bI();if(i.early&&(i.mode==="LEGACY"||i.mode==="MUTABLE_SOURCE")){const a=e.getState().nextTree;a&&a.dirtyAtoms.has(t)&&n(a)}return{release:()=>{const a=e.getState(),l=a.nodeToComponentSubscriptions.get(t);l===void 0||!l.has(o)||(l.delete(o),l.size===0&&a.nodeToComponentSubscriptions.delete(t))}}}function MI(e,t){var n;const{currentTree:r}=e.getState(),o=SI(t.key);(n=o.clearCache)===null||n===void 0||n.call(o,e,r)}var ir={RecoilValueReadOnly:RI,AbstractRecoilValue:xI,RecoilState:wI,getRecoilValueAsLoadable:_I,setRecoilValue:Sx,setRecoilValueLoadable:NI,markRecoilValueModified:OI,setUnvalidatedRecoilValue:LI,subscribeToRecoilValue:$I,isRecoilValue:CI,applyAtomValueWrites:kI,batchStart:AI,writeLoadableToTreeState:Pp,invalidateDownstreams:gx,copyTreeState:yx,refreshRecoilValue:MI};function II(e,t,n){const r=e.entries();let o=r.next();for(;!o.done;){const s=o.value;if(t.call(n,s[1],s[0],e))return!0;o=r.next()}return!1}var FI=II;const{cleanUpNode:DI}=no,{deleteNodeConfigIfPossible:jI,getNode:bx}=ln,{RetentionZone:xx}=Xc,BI=12e4,wx=new Set;function Rx(e,t){const n=e.getState(),r=n.currentTree;if(n.nextTree)return;const o=new Set;for(const i of t)if(i instanceof xx)for(const a of WI(n,i))o.add(a);else o.add(i);const s=UI(e,o);for(const i of s)VI(e,r,i)}function UI(e,t){const n=e.getState(),r=n.currentTree,o=e.getGraph(r.version),s=new Set,i=new Set;return a(t),s;function a(l){const u=new Set,c=zI(e,r,l,s,i);for(const h of c){var d;if(bx(h).retainedBy==="recoilRoot"){i.add(h);continue}if(((d=n.retention.referenceCounts.get(h))!==null&&d!==void 0?d:0)>0){i.add(h);continue}if(Cx(h).some(w=>n.retention.referenceCounts.get(w))){i.add(h);continue}const m=o.nodeToNodeSubscriptions.get(h);if(m&&FI(m,w=>i.has(w))){i.add(h);continue}s.add(h),u.add(h)}const f=new Set;for(const h of u)for(const m of(S=o.nodeDeps.get(h))!==null&&S!==void 0?S:wx){var S;s.has(m)||f.add(m)}f.size&&a(f)}}function zI(e,t,n,r,o){const s=e.getGraph(t.version),i=[],a=new Set;for(;n.size>0;)l(rt(n.values().next().value));return i;function l(u){if(r.has(u)||o.has(u)){n.delete(u);return}if(a.has(u))return;const c=s.nodeToNodeSubscriptions.get(u);if(c)for(const d of c)l(d);a.add(u),n.delete(u),i.push(u)}}function VI(e,t,n){if(!Ge("recoil_memory_managament_2020"))return;DI(e,n);const r=e.getState();r.knownAtoms.delete(n),r.knownSelectors.delete(n),r.nodeTransactionSubscriptions.delete(n),r.retention.referenceCounts.delete(n);const o=Cx(n);for(const l of o){var s;(s=r.retention.nodesRetainedByZone.get(l))===null||s===void 0||s.delete(n)}t.atomValues.delete(n),t.dirtyAtoms.delete(n),t.nonvalidatedAtoms.delete(n);const i=r.graphsByVersion.get(t.version);if(i){const l=i.nodeDeps.get(n);if(l!==void 0){i.nodeDeps.delete(n);for(const u of l){var a;(a=i.nodeToNodeSubscriptions.get(u))===null||a===void 0||a.delete(n)}}i.nodeToNodeSubscriptions.delete(n)}jI(n)}function WI(e,t){var n;return(n=e.retention.nodesRetainedByZone.get(t))!==null&&n!==void 0?n:wx}function Cx(e){const t=bx(e).retainedBy;return t===void 0||t==="components"||t==="recoilRoot"?[]:t instanceof xx?[t]:t}function HI(e,t){const n=e.getState();n.nextTree?n.retention.retainablesToCheckForRelease.add(t):Rx(e,new Set([t]))}function qI(e,t,n){var r;if(!Ge("recoil_memory_managament_2020"))return;const o=e.getState().retention.referenceCounts,s=((r=o.get(t))!==null&&r!==void 0?r:0)+n;s===0?Ex(e,t):o.set(t,s)}function Ex(e,t){if(!Ge("recoil_memory_managament_2020"))return;e.getState().retention.referenceCounts.delete(t),HI(e,t)}function KI(e){if(!Ge("recoil_memory_managament_2020"))return;const t=e.getState();Rx(e,t.retention.retainablesToCheckForRelease),t.retention.retainablesToCheckForRelease.clear()}function GI(e){return e===void 0?"recoilRoot":e}var Mo={SUSPENSE_TIMEOUT_MS:BI,updateRetainCount:qI,updateRetainCountToZero:Ex,releaseScheduledRetainablesNow:KI,retainedByOptionWithDefault:GI};const{unstable_batchedUpdates:QI}=Ri;var XI={unstable_batchedUpdates:QI};const{unstable_batchedUpdates:YI}=XI;var JI={unstable_batchedUpdates:YI};const{batchStart:ZI}=ir,{unstable_batchedUpdates:eF}=JI;let km=eF||(e=>e());const tF=e=>{km=e},nF=()=>km,rF=e=>{km(()=>{let t=()=>{};try{t=ZI(),e()}finally{t()}})};var Jc={getBatcher:nF,setBatcher:tF,batchUpdates:rF};function*oF(e){for(const t of e)for(const n of t)yield n}var _x=oF;const kx=typeof Window>"u"||typeof window>"u",sF=e=>!kx&&(e===window||e instanceof Window),iF=typeof navigator<"u"&&navigator.product==="ReactNative";var Zc={isSSR:kx,isReactNative:iF,isWindow:sF};function aF(e,t){let n;return(...r)=>{n||(n={});const o=t(...r);return Object.hasOwnProperty.call(n,o)||(n[o]=e(...r)),n[o]}}function lF(e,t){let n,r;return(...o)=>{const s=t(...o);return n===s||(n=s,r=e(...o)),r}}function uF(e,t){let n,r;return[(...i)=>{const a=t(...i);return n===a||(n=a,r=e(...i)),r},()=>{n=null}]}var cF={memoizeWithArgsHash:aF,memoizeOneWithArgsHash:lF,memoizeOneWithArgsHashAndInvalidation:uF};const{batchUpdates:Ap}=Jc,{initializeNode:dF,peekNodeInfo:fF}=no,{graph:pF}=Ta,{getNextStoreID:hF}=Qc,{DEFAULT_VALUE:mF,recoilValues:Rg,recoilValuesForKeys:Cg}=ln,{AbstractRecoilValue:vF,getRecoilValueAsLoadable:yF,setRecoilValue:Eg,setUnvalidatedRecoilValue:gF}=ir,{updateRetainCount:Nl}=Mo,{setInvalidateMemoizedSnapshot:SF}=px,{getNextTreeStateVersion:bF,makeEmptyStoreState:xF}=ix,{isSSR:wF}=Zc,{memoizeOneWithArgsHashAndInvalidation:RF}=cF;class ed{constructor(t,n){ke(this,"_store",void 0),ke(this,"_refCount",1),ke(this,"getLoadable",r=>(this.checkRefCount_INTERNAL(),yF(this._store,r))),ke(this,"getPromise",r=>(this.checkRefCount_INTERNAL(),this.getLoadable(r).toPromise())),ke(this,"getNodes_UNSTABLE",r=>{if(this.checkRefCount_INTERNAL(),(r==null?void 0:r.isModified)===!0){if((r==null?void 0:r.isInitialized)===!1)return[];const i=this._store.getState().currentTree;return Cg(i.dirtyAtoms)}const o=this._store.getState().knownAtoms,s=this._store.getState().knownSelectors;return(r==null?void 0:r.isInitialized)==null?Rg.values():r.isInitialized===!0?Cg(_x([o,s])):Cm(Rg.values(),({key:i})=>!o.has(i)&&!s.has(i))}),ke(this,"getInfo_UNSTABLE",({key:r})=>(this.checkRefCount_INTERNAL(),fF(this._store,this._store.getState().currentTree,r))),ke(this,"map",r=>{this.checkRefCount_INTERNAL();const o=new Np(this,Ap);return r(o),o}),ke(this,"asyncMap",async r=>{this.checkRefCount_INTERNAL();const o=new Np(this,Ap);return o.retain(),await r(o),o.autoRelease_INTERNAL(),o}),this._store={storeID:hF(),parentStoreID:n,getState:()=>t,replaceState:r=>{t.currentTree=r(t.currentTree)},getGraph:r=>{const o=t.graphsByVersion;if(o.has(r))return rt(o.get(r));const s=pF();return o.set(r,s),s},subscribeToTransactions:()=>({release:()=>{}}),addTransactionMetadata:()=>{throw Te("Cannot subscribe to Snapshots")}};for(const r of this._store.getState().knownAtoms)dF(this._store,r,"get"),Nl(this._store,r,1);this.autoRelease_INTERNAL()}retain(){this._refCount<=0,this._refCount++;let t=!1;return()=>{t||(t=!0,this._release())}}autoRelease_INTERNAL(){wF||window.setTimeout(()=>this._release(),10)}_release(){if(this._refCount--,this._refCount===0){if(this._store.getState().nodeCleanupFunctions.forEach(t=>t()),this._store.getState().nodeCleanupFunctions.clear(),!Ge("recoil_memory_managament_2020"))return}else this._refCount<0}isRetained(){return this._refCount>0}checkRefCount_INTERNAL(){Ge("recoil_memory_managament_2020")&&this._refCount<=0}getStore_INTERNAL(){return this.checkRefCount_INTERNAL(),this._store}getID(){return this.checkRefCount_INTERNAL(),this._store.getState().currentTree.stateID}getStoreID(){return this.checkRefCount_INTERNAL(),this._store.storeID}}function Tx(e,t,n=!1){const r=e.getState(),o=n?bF():t.version;return{currentTree:{version:n?o:t.version,stateID:n?o:t.stateID,transactionMetadata:{...t.transactionMetadata},dirtyAtoms:new Set(t.dirtyAtoms),atomValues:t.atomValues.clone(),nonvalidatedAtoms:t.nonvalidatedAtoms.clone()},commitDepth:0,nextTree:null,previousTree:null,knownAtoms:new Set(r.knownAtoms),knownSelectors:new Set(r.knownSelectors),transactionSubscriptions:new Map,nodeTransactionSubscriptions:new Map,nodeToComponentSubscriptions:new Map,queuedComponentCallbacks_DEPRECATED:[],suspendedComponentResolvers:new Set,graphsByVersion:new Map().set(o,e.getGraph(t.version)),retention:{referenceCounts:new Map,nodesRetainedByZone:new Map,retainablesToCheckForRelease:new Set},nodeCleanupFunctions:new Map(Gc(r.nodeCleanupFunctions.entries(),([s])=>[s,()=>{}]))}}function CF(e){const t=new ed(xF());return e!=null?t.map(e):t}const[_g,Px]=RF((e,t)=>{var n;const r=e.getState(),o=t==="latest"?(n=r.nextTree)!==null&&n!==void 0?n:r.currentTree:rt(r.previousTree);return new ed(Tx(e,o),e.storeID)},(e,t)=>{var n,r;return String(t)+String(e.storeID)+String((n=e.getState().nextTree)===null||n===void 0?void 0:n.version)+String(e.getState().currentTree.version)+String((r=e.getState().previousTree)===null||r===void 0?void 0:r.version)});SF(Px);function EF(e,t="latest"){const n=_g(e,t);return n.isRetained()?n:(Px(),_g(e,t))}class Np extends ed{constructor(t,n){super(Tx(t.getStore_INTERNAL(),t.getStore_INTERNAL().getState().currentTree,!0),t.getStoreID()),ke(this,"_batch",void 0),ke(this,"set",(r,o)=>{this.checkRefCount_INTERNAL();const s=this.getStore_INTERNAL();this._batch(()=>{Nl(s,r.key,1),Eg(this.getStore_INTERNAL(),r,o)})}),ke(this,"reset",r=>{this.checkRefCount_INTERNAL();const o=this.getStore_INTERNAL();this._batch(()=>{Nl(o,r.key,1),Eg(this.getStore_INTERNAL(),r,mF)})}),ke(this,"setUnvalidatedAtomValues_DEPRECATED",r=>{this.checkRefCount_INTERNAL();const o=this.getStore_INTERNAL();Ap(()=>{for(const[s,i]of r.entries())Nl(o,s,1),gF(o,new vF(s),i)})}),this._batch=n}}var td={Snapshot:ed,MutableSnapshot:Np,freshSnapshot:CF,cloneSnapshot:EF},_F=td.Snapshot,kF=td.MutableSnapshot,TF=td.freshSnapshot,PF=td.cloneSnapshot,nd=Object.freeze({__proto__:null,Snapshot:_F,MutableSnapshot:kF,freshSnapshot:TF,cloneSnapshot:PF});function AF(...e){const t=new Set;for(const n of e)for(const r of n)t.add(r);return t}var NF=AF;const{useRef:OF}=fe;function LF(e){const t=OF(e);return t.current===e&&typeof e=="function"&&(t.current=e()),t}var kg=LF;const{getNextTreeStateVersion:$F,makeEmptyStoreState:Ax}=ix,{cleanUpNode:MF,getDownstreamNodes:IF,initializeNode:FF,setNodeValue:DF,setUnvalidatedAtomValue_DEPRECATED:jF}=no,{graph:BF}=Ta,{cloneGraph:UF}=Ta,{getNextStoreID:Nx}=Qc,{createMutableSource:sf,reactMode:Ox}=ka,{applyAtomValueWrites:zF}=ir,{releaseScheduledRetainablesNow:Lx}=Mo,{freshSnapshot:VF}=nd,{useCallback:WF,useContext:$x,useEffect:Op,useMemo:HF,useRef:qF,useState:KF}=fe;function fi(){throw Te("This component must be used inside a component.")}const Mx=Object.freeze({storeID:Nx(),getState:fi,replaceState:fi,getGraph:fi,subscribeToTransactions:fi,addTransactionMetadata:fi});let Lp=!1;function Tg(e){if(Lp)throw Te("An atom update was triggered within the execution of a state updater function. State updater functions provided to Recoil must be pure functions.");const t=e.getState();if(t.nextTree===null){Ge("recoil_memory_managament_2020")&&Ge("recoil_release_on_cascading_update_killswitch_2021")&&t.commitDepth>0&&Lx(e);const n=t.currentTree.version,r=$F();t.nextTree={...t.currentTree,version:r,stateID:r,dirtyAtoms:new Set,transactionMetadata:{}},t.graphsByVersion.set(r,UF(rt(t.graphsByVersion.get(n))))}}const Ix=fe.createContext({current:Mx}),rd=()=>$x(Ix),Fx=fe.createContext(null);function GF(){return $x(Fx)}function Tm(e,t,n){const r=IF(e,n,n.dirtyAtoms);for(const o of r){const s=t.nodeToComponentSubscriptions.get(o);if(s)for(const[i,[a,l]]of s)l(n)}}function Dx(e){const t=e.getState(),n=t.currentTree,r=n.dirtyAtoms;if(r.size){for(const[o,s]of t.nodeTransactionSubscriptions)if(r.has(o))for(const[i,a]of s)a(e);for(const[o,s]of t.transactionSubscriptions)s(e);(!Ox().early||t.suspendedComponentResolvers.size>0)&&(Tm(e,t,n),t.suspendedComponentResolvers.forEach(o=>o()),t.suspendedComponentResolvers.clear())}t.queuedComponentCallbacks_DEPRECATED.forEach(o=>o(n)),t.queuedComponentCallbacks_DEPRECATED.splice(0,t.queuedComponentCallbacks_DEPRECATED.length)}function QF(e){const t=e.getState();t.commitDepth++;try{const{nextTree:n}=t;if(n==null)return;t.previousTree=t.currentTree,t.currentTree=n,t.nextTree=null,Dx(e),t.previousTree!=null?t.graphsByVersion.delete(t.previousTree.version):Sm("Ended batch with no previous state, which is unexpected","recoil"),t.previousTree=null,Ge("recoil_memory_managament_2020")&&n==null&&Lx(e)}finally{t.commitDepth--}}function XF({setNotifyBatcherOfChange:e}){const t=rd(),[,n]=KF([]);return e(()=>n({})),Op(()=>(e(()=>n({})),()=>{e(()=>{})}),[e]),Op(()=>{TM.enqueueExecution("Batcher",()=>{QF(t.current)})}),null}function YF(e,t){const n=Ax();return t({set:(r,o)=>{const s=n.currentTree,i=DF(e,s,r.key,o),a=new Set(i.keys()),l=s.nonvalidatedAtoms.clone();for(const u of a)l.delete(u);n.currentTree={...s,dirtyAtoms:NF(s.dirtyAtoms,a),atomValues:zF(s.atomValues,i),nonvalidatedAtoms:l}},setUnvalidatedAtomValues:r=>{r.forEach((o,s)=>{n.currentTree=jF(n.currentTree,s,o)})}}),n}function JF(e){const t=VF(e),n=t.getStore_INTERNAL().getState();return t.retain(),n.nodeCleanupFunctions.forEach(r=>r()),n.nodeCleanupFunctions.clear(),n}let Pg=0;function ZF({initializeState_DEPRECATED:e,initializeState:t,store_INTERNAL:n,children:r}){let o;const s=S=>{const h=o.current.graphsByVersion;if(h.has(S))return rt(h.get(S));const m=BF();return h.set(S,m),m},i=(S,h)=>{if(h==null){const{transactionSubscriptions:m}=d.current.getState(),w=Pg++;return m.set(w,S),{release:()=>{m.delete(w)}}}else{const{nodeTransactionSubscriptions:m}=d.current.getState();m.has(h)||m.set(h,new Map);const w=Pg++;return rt(m.get(h)).set(w,S),{release:()=>{const y=m.get(h);y&&(y.delete(w),y.size===0&&m.delete(h))}}}},a=S=>{Tg(d.current);for(const h of Object.keys(S))rt(d.current.getState().nextTree).transactionMetadata[h]=S[h]},l=S=>{Tg(d.current);const h=rt(o.current.nextTree);let m;try{Lp=!0,m=S(h)}finally{Lp=!1}m!==h&&(o.current.nextTree=m,Ox().early&&Tm(d.current,o.current,m),rt(u.current)())},u=qF(null),c=WF(S=>{u.current=S},[u]),d=kg(()=>n??{storeID:Nx(),getState:()=>o.current,replaceState:l,getGraph:s,subscribeToTransactions:i,addTransactionMetadata:a});n!=null&&(d.current=n),o=kg(()=>e!=null?YF(d.current,e):t!=null?JF(t):Ax());const f=HF(()=>sf==null?void 0:sf(o,()=>o.current.currentTree.version),[o]);return Op(()=>{const S=d.current;for(const h of new Set(S.getState().knownAtoms))FF(S,h,"get");return()=>{for(const h of S.getState().knownAtoms)MF(S,h)}},[d]),fe.createElement(Ix.Provider,{value:d},fe.createElement(Fx.Provider,{value:f},fe.createElement(XF,{setNotifyBatcherOfChange:c}),r))}function eD(e){const{override:t,...n}=e,r=rd();return t===!1&&r.current!==Mx?e.children:fe.createElement(ZF,n)}function tD(){return rd().current.storeID}var Er={RecoilRoot:eD,useStoreRef:rd,useRecoilMutableSource:GF,useRecoilStoreID:tD,notifyComponents_FOR_TESTING:Tm,sendEndOfBatchNotifications_FOR_TESTING:Dx};function nD(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0,r=e.length;n{t.current=e}),t.current}var jx=iD;const{useStoreRef:aD}=Er,{SUSPENSE_TIMEOUT_MS:lD}=Mo,{updateRetainCount:pi}=Mo,{RetentionZone:uD}=Xc,{useEffect:cD,useRef:dD}=fe,{isSSR:Ag}=Zc;function fD(e){if(Ge("recoil_memory_managament_2020"))return pD(e)}function pD(e){const n=(Array.isArray(e)?e:[e]).map(i=>i instanceof uD?i:i.key),r=aD();cD(()=>{if(!Ge("recoil_memory_managament_2020"))return;const i=r.current;if(o.current&&!Ag)window.clearTimeout(o.current),o.current=null;else for(const a of n)pi(i,a,1);return()=>{for(const a of n)pi(i,a,-1)}},[r,...n]);const o=dD(),s=jx(n);if(!Ag&&(s===void 0||!rD(s,n))){const i=r.current;for(const a of n)pi(i,a,1);if(s)for(const a of s)pi(i,a,-1);o.current&&window.clearTimeout(o.current),o.current=window.setTimeout(()=>{o.current=null;for(const a of n)pi(i,a,-1)},lD)}}var Pm=fD;function hD(){return""}var Aa=hD;const{batchUpdates:mD}=Jc,{DEFAULT_VALUE:Bx}=ln,{currentRendererSupportsUseSyncExternalStore:vD,reactMode:zs,useMutableSource:yD,useSyncExternalStore:gD}=ka,{useRecoilMutableSource:SD,useStoreRef:ar}=Er,{AbstractRecoilValue:$p,getRecoilValueAsLoadable:Na,setRecoilValue:bu,setUnvalidatedRecoilValue:bD,subscribeToRecoilValue:Ps}=ir,{useCallback:sn,useEffect:As,useMemo:Ux,useRef:Vi,useState:Am}=fe,{setByAddingToSet:xD}=lx,{isSSR:wD}=Zc;function Nm(e,t,n){if(e.state==="hasValue")return e.contents;throw e.state==="loading"?new Promise(o=>{const s=n.current.getState().suspendedComponentResolvers;s.add(o),wD&&Je(e.contents)&&e.contents.finally(()=>{s.delete(o)})}):e.state==="hasError"?e.contents:Te(`Invalid value of loadable atom "${t.key}"`)}function RD(){const e=Aa(),t=ar(),[,n]=Am([]),r=Vi(new Set);r.current=new Set;const o=Vi(new Set),s=Vi(new Map),i=sn(l=>{const u=s.current.get(l);u&&(u.release(),s.current.delete(l))},[s]),a=sn((l,u)=>{s.current.has(u)&&n([])},[]);return As(()=>{const l=t.current;Ui(r.current,o.current).forEach(u=>{if(s.current.has(u))return;const c=Ps(l,new $p(u),f=>a(f,u),e);s.current.set(u,c),l.getState().nextTree?l.getState().queuedComponentCallbacks_DEPRECATED.push(()=>{a(l.getState(),u)}):a(l.getState(),u)}),Ui(o.current,r.current).forEach(u=>{i(u)}),o.current=r.current}),As(()=>{const l=s.current;return Ui(r.current,new Set(l.keys())).forEach(u=>{const c=Ps(t.current,new $p(u),d=>a(d,u),e);l.set(u,c)}),()=>l.forEach((u,c)=>i(c))},[e,t,i,a]),Ux(()=>{function l(h){return m=>{bu(t.current,h,m)}}function u(h){return()=>bu(t.current,h,Bx)}function c(h){var m;r.current.has(h.key)||(r.current=xD(r.current,h.key));const w=t.current.getState();return Na(t.current,h,zs().early&&(m=w.nextTree)!==null&&m!==void 0?m:w.currentTree)}function d(h){const m=c(h);return Nm(m,h,t)}function f(h){return[d(h),l(h)]}function S(h){return[c(h),l(h)]}return{getRecoilValue:d,getRecoilValueLoadable:c,getRecoilState:f,getRecoilStateLoadable:S,getSetRecoilState:l,getResetRecoilState:u}},[r,t])}const CD={current:0};function ED(e){const t=ar(),n=Aa(),r=sn(()=>{var a;const l=t.current,u=l.getState(),c=zs().early&&(a=u.nextTree)!==null&&a!==void 0?a:u.currentTree;return{loadable:Na(l,e,c),key:e.key}},[t,e]),o=sn(a=>{let l;return()=>{var u,c;const d=a();return(u=l)!==null&&u!==void 0&&u.loadable.is(d.loadable)&&((c=l)===null||c===void 0?void 0:c.key)===d.key?l:(l=d,d)}},[]),s=Ux(()=>o(r),[r,o]),i=sn(a=>{const l=t.current;return Ps(l,e,a,n).release},[t,e,n]);return gD(i,s,s).loadable}function _D(e){const t=ar(),n=sn(()=>{var u;const c=t.current,d=c.getState(),f=zs().early&&(u=d.nextTree)!==null&&u!==void 0?u:d.currentTree;return Na(c,e,f)},[t,e]),r=sn(()=>n(),[n]),o=Aa(),s=sn((u,c)=>{const d=t.current;return Ps(d,e,()=>{if(!Ge("recoil_suppress_rerender_in_callback"))return c();const S=n();l.current.is(S)||c(),l.current=S},o).release},[t,e,o,n]),i=SD();if(i==null)throw Te("Recoil hooks must be used in components contained within a component.");const a=yD(i,r,s),l=Vi(a);return As(()=>{l.current=a}),a}function Mp(e){const t=ar(),n=Aa(),r=sn(()=>{var l;const u=t.current,c=u.getState(),d=zs().early&&(l=c.nextTree)!==null&&l!==void 0?l:c.currentTree;return Na(u,e,d)},[t,e]),o=sn(()=>({loadable:r(),key:e.key}),[r,e.key]),s=sn(l=>{const u=o();return l.loadable.is(u.loadable)&&l.key===u.key?l:u},[o]);As(()=>{const l=Ps(t.current,e,u=>{a(s)},n);return a(s),l.release},[n,e,t,s]);const[i,a]=Am(o);return i.key!==e.key?o().loadable:i.loadable}function kD(e){const t=ar(),[,n]=Am([]),r=Aa(),o=sn(()=>{var a;const l=t.current,u=l.getState(),c=zs().early&&(a=u.nextTree)!==null&&a!==void 0?a:u.currentTree;return Na(l,e,c)},[t,e]),s=o(),i=Vi(s);return As(()=>{i.current=s}),As(()=>{const a=t.current,l=a.getState(),u=Ps(a,e,d=>{var f;if(!Ge("recoil_suppress_rerender_in_callback"))return n([]);const S=o();(f=i.current)!==null&&f!==void 0&&f.is(S)||n(S),i.current=S},r);if(l.nextTree)a.getState().queuedComponentCallbacks_DEPRECATED.push(()=>{i.current=null,n([])});else{var c;if(!Ge("recoil_suppress_rerender_in_callback"))return n([]);const d=o();(c=i.current)!==null&&c!==void 0&&c.is(d)||n(d),i.current=d}return u.release},[r,o,e,t]),s}function Om(e){return Ge("recoil_memory_managament_2020")&&Pm(e),{TRANSITION_SUPPORT:Mp,SYNC_EXTERNAL_STORE:vD()?ED:Mp,MUTABLE_SOURCE:_D,LEGACY:kD}[zs().mode](e)}function zx(e){const t=ar(),n=Om(e);return Nm(n,e,t)}function od(e){const t=ar();return sn(n=>{bu(t.current,e,n)},[t,e])}function TD(e){const t=ar();return sn(()=>{bu(t.current,e,Bx)},[t,e])}function PD(e){return[zx(e),od(e)]}function AD(e){return[Om(e),od(e)]}function ND(){const e=ar();return(t,n={})=>{mD(()=>{e.current.addTransactionMetadata(n),t.forEach((r,o)=>bD(e.current,new $p(o),r))})}}function Vx(e){return Ge("recoil_memory_managament_2020")&&Pm(e),Mp(e)}function Wx(e){const t=ar(),n=Vx(e);return Nm(n,e,t)}function OD(e){return[Wx(e),od(e)]}var LD={recoilComponentGetRecoilValueCount_FOR_TESTING:CD,useRecoilInterface:RD,useRecoilState:PD,useRecoilStateLoadable:AD,useRecoilValue:zx,useRecoilValueLoadable:Om,useResetRecoilState:TD,useSetRecoilState:od,useSetUnvalidatedAtomValues:ND,useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE:Vx,useRecoilValue_TRANSITION_SUPPORT_UNSTABLE:Wx,useRecoilState_TRANSITION_SUPPORT_UNSTABLE:OD};function $D(e,t){const n=new Map;for(const[r,o]of e)t(o,r)&&n.set(r,o);return n}var MD=$D;function ID(e,t){const n=new Set;for(const r of e)t(r)&&n.add(r);return n}var FD=ID;function DD(...e){const t=new Map;for(let n=0;nt.current.subscribeToTransactions(e).release,[e,t])}function Lg(e){const t=e.atomValues.toMap(),n=Su(MD(t,(r,o)=>{const i=Hx(o).persistence_UNSTABLE;return i!=null&&i.type!=="none"&&r.state==="hasValue"}),r=>r.contents);return jD(e.nonvalidatedAtoms.toMap(),n)}function KD(e){id(sd(t=>{let n=t.getState().previousTree;const r=t.getState().currentTree;n||(n=t.getState().currentTree);const o=Lg(r),s=Lg(n),i=Su(zD,l=>{var u,c,d,f;return{persistence_UNSTABLE:{type:(u=(c=l.persistence_UNSTABLE)===null||c===void 0?void 0:c.type)!==null&&u!==void 0?u:"none",backButton:(d=(f=l.persistence_UNSTABLE)===null||f===void 0?void 0:f.backButton)!==null&&d!==void 0?d:!1}}}),a=FD(r.dirtyAtoms,l=>o.has(l)||s.has(l));e({atomValues:o,previousAtomValues:s,atomInfo:i,modifiedAtoms:a,transactionMetadata:{...r.transactionMetadata}})},[e]))}function GD(e){id(sd(t=>{const n=xu(t,"latest"),r=xu(t,"previous");e({snapshot:n,previousSnapshot:r})},[e]))}function QD(){const e=Lm(),[t,n]=qD(()=>xu(e.current)),r=jx(t),o=Ng(),s=Ng();if(id(sd(a=>n(xu(a)),[])),qx(()=>{const a=t.retain();if(o.current&&!Og){var l;window.clearTimeout(o.current),o.current=null,(l=s.current)===null||l===void 0||l.call(s),s.current=null}return()=>{window.setTimeout(a,10)}},[t]),r!==t&&!Og){if(o.current){var i;window.clearTimeout(o.current),o.current=null,(i=s.current)===null||i===void 0||i.call(s),s.current=null}s.current=t.retain(),o.current=window.setTimeout(()=>{var a;o.current=null,(a=s.current)===null||a===void 0||a.call(s),s.current=null},HD)}return t}function Kx(e,t){var n;const r=e.getState(),o=(n=r.nextTree)!==null&&n!==void 0?n:r.currentTree,s=t.getStore_INTERNAL().getState().currentTree;BD(()=>{const i=new Set;for(const u of[o.atomValues.keys(),s.atomValues.keys()])for(const c of u){var a,l;((a=o.atomValues.get(c))===null||a===void 0?void 0:a.contents)!==((l=s.atomValues.get(c))===null||l===void 0?void 0:l.contents)&&Hx(c).shouldRestoreFromSnapshots&&i.add(c)}i.forEach(u=>{WD(e,new VD(u),s.atomValues.has(u)?rt(s.atomValues.get(u)):UD)}),e.replaceState(u=>({...u,stateID:t.getID()}))})}function XD(){const e=Lm();return sd(t=>Kx(e.current,t),[e])}var Gx={useRecoilSnapshot:QD,gotoSnapshot:Kx,useGotoRecoilSnapshot:XD,useRecoilTransactionObserver:GD,useTransactionObservation_DEPRECATED:KD,useTransactionSubscription_DEPRECATED:id};const{peekNodeInfo:YD}=no,{useStoreRef:JD}=Er;function ZD(){const e=JD();return({key:t})=>YD(e.current,e.current.getState().currentTree,t)}var ej=ZD;const{reactMode:tj}=ka,{RecoilRoot:nj,useStoreRef:rj}=Er,{useMemo:oj}=fe;function sj(){tj().mode==="MUTABLE_SOURCE"&&console.warn("Warning: There are known issues using useRecoilBridgeAcrossReactRoots() in recoil_mutable_source rendering mode. Please consider upgrading to recoil_sync_external_store mode.");const e=rj().current;return oj(()=>{function t({children:n}){return fe.createElement(nj,{store_INTERNAL:e},n)}return t},[e])}var ij=sj;const{loadableWithValue:aj}=_a,{initializeNode:lj}=no,{DEFAULT_VALUE:uj,getNode:cj}=ln,{copyTreeState:dj,getRecoilValueAsLoadable:fj,invalidateDownstreams:pj,writeLoadableToTreeState:hj}=ir;function $g(e){return cj(e.key).nodeType==="atom"}class mj{constructor(t,n){ke(this,"_store",void 0),ke(this,"_treeState",void 0),ke(this,"_changes",void 0),ke(this,"get",r=>{if(this._changes.has(r.key))return this._changes.get(r.key);if(!$g(r))throw Te("Reading selectors within atomicUpdate is not supported");const o=fj(this._store,r,this._treeState);if(o.state==="hasValue")return o.contents;throw o.state==="hasError"?o.contents:Te(`Expected Recoil atom ${r.key} to have a value, but it is in a loading state.`)}),ke(this,"set",(r,o)=>{if(!$g(r))throw Te("Setting selectors within atomicUpdate is not supported");if(typeof o=="function"){const s=this.get(r);this._changes.set(r.key,o(s))}else lj(this._store,r.key,"set"),this._changes.set(r.key,o)}),ke(this,"reset",r=>{this.set(r,uj)}),this._store=t,this._treeState=n,this._changes=new Map}newTreeState_INTERNAL(){if(this._changes.size===0)return this._treeState;const t=dj(this._treeState);for(const[n,r]of this._changes)hj(t,n,aj(r));return pj(this._store,t),t}}function vj(e){return t=>{e.replaceState(n=>{const r=new mj(e,n);return t(r),r.newTreeState_INTERNAL()})}}var yj={atomicUpdater:vj},gj=yj.atomicUpdater,Qx=Object.freeze({__proto__:null,atomicUpdater:gj});function Sj(e,t){if(!e)throw new Error(t)}var bj=Sj,_i=bj;const{atomicUpdater:xj}=Qx,{batchUpdates:wj}=Jc,{DEFAULT_VALUE:Rj}=ln,{useStoreRef:Cj}=Er,{refreshRecoilValue:Ej,setRecoilValue:Mg}=ir,{cloneSnapshot:_j}=nd,{gotoSnapshot:kj}=Gx,{useCallback:Tj}=fe;class Xx{}const Pj=new Xx;function Yx(e,t,n,r){let o=Pj,s;if(wj(()=>{const a="useRecoilCallback() expects a function that returns a function: it accepts a function of the type (RecoilInterface) => (Args) => ReturnType and returns a callback function (Args) => ReturnType, where RecoilInterface is an object {snapshot, set, ...} and Args and ReturnType are the argument and return types of the callback you want to create. Please see the docs at recoiljs.org for details.";if(typeof t!="function")throw Te(a);const l=ux({...r??{},set:(c,d)=>Mg(e,c,d),reset:c=>Mg(e,c,Rj),refresh:c=>Ej(e,c),gotoSnapshot:c=>kj(e,c),transact_UNSTABLE:c=>xj(e)(c)},{snapshot:()=>{const c=_j(e);return s=c.retain(),c}}),u=t(l);if(typeof u!="function")throw Te(a);o=u(...n)}),o instanceof Xx&&_i(!1),Je(o))o=o.finally(()=>{var a;(a=s)===null||a===void 0||a()});else{var i;(i=s)===null||i===void 0||i()}return o}function Aj(e,t){const n=Cj();return Tj((...r)=>Yx(n.current,e,r),t!=null?[...t,n]:void 0)}var Jx={recoilCallback:Yx,useRecoilCallback:Aj};const{useStoreRef:Nj}=Er,{refreshRecoilValue:Oj}=ir,{useCallback:Lj}=fe;function $j(e){const t=Nj();return Lj(()=>{const n=t.current;Oj(n,e)},[e,t])}var Mj=$j;const{atomicUpdater:Ij}=Qx,{useStoreRef:Fj}=Er,{useMemo:Dj}=fe;function jj(e,t){const n=Fj();return Dj(()=>(...r)=>{Ij(n.current)(s=>{e(s)(...r)})},t!=null?[...t,n]:void 0)}var Bj=jj;class Uj{constructor(t){ke(this,"value",void 0),this.value=t}}var zj={WrappedValue:Uj},Vj=zj.WrappedValue,Zx=Object.freeze({__proto__:null,WrappedValue:Vj});const{isFastRefreshEnabled:Wj}=ka;class Ig extends Error{}class Hj{constructor(t){var n,r,o;ke(this,"_name",void 0),ke(this,"_numLeafs",void 0),ke(this,"_root",void 0),ke(this,"_onHit",void 0),ke(this,"_onSet",void 0),ke(this,"_mapNodeValue",void 0),this._name=t==null?void 0:t.name,this._numLeafs=0,this._root=null,this._onHit=(n=t==null?void 0:t.onHit)!==null&&n!==void 0?n:()=>{},this._onSet=(r=t==null?void 0:t.onSet)!==null&&r!==void 0?r:()=>{},this._mapNodeValue=(o=t==null?void 0:t.mapNodeValue)!==null&&o!==void 0?o:s=>s}size(){return this._numLeafs}root(){return this._root}get(t,n){var r;return(r=this.getLeafNode(t,n))===null||r===void 0?void 0:r.value}getLeafNode(t,n){if(this._root==null)return;let r=this._root;for(;r;){if(n==null||n.onNodeVisit(r),r.type==="leaf")return this._onHit(r),r;const o=this._mapNodeValue(t(r.nodeKey));r=r.branches.get(o)}}set(t,n,r){const o=()=>{var s,i,a,l;let u,c;for(const[w,y]of t){var d,f,S;const p=this._root;if((p==null?void 0:p.type)==="leaf")throw this.invalidCacheError();const v=u;if(u=v?v.branches.get(c):p,u=(d=u)!==null&&d!==void 0?d:{type:"branch",nodeKey:w,parent:v,branches:new Map,branchKey:c},u.type!=="branch"||u.nodeKey!==w)throw this.invalidCacheError();v==null||v.branches.set(c,u),r==null||(f=r.onNodeVisit)===null||f===void 0||f.call(r,u),c=this._mapNodeValue(y),this._root=(S=this._root)!==null&&S!==void 0?S:u}const h=u?(s=u)===null||s===void 0?void 0:s.branches.get(c):this._root;if(h!=null&&(h.type!=="leaf"||h.branchKey!==c))throw this.invalidCacheError();const m={type:"leaf",value:n,parent:u,branchKey:c};(i=u)===null||i===void 0||i.branches.set(c,m),this._root=(a=this._root)!==null&&a!==void 0?a:m,this._numLeafs++,this._onSet(m),r==null||(l=r.onNodeVisit)===null||l===void 0||l.call(r,m)};try{o()}catch(s){if(s instanceof Ig)this.clear(),o();else throw s}}delete(t){const n=this.root();if(!n)return!1;if(t===n)return this._root=null,this._numLeafs=0,!0;let r=t.parent,o=t.branchKey;for(;r;){var s;if(r.branches.delete(o),r===n)return r.branches.size===0?(this._root=null,this._numLeafs=0):this._numLeafs--,!0;if(r.branches.size>0)break;o=(s=r)===null||s===void 0?void 0:s.branchKey,r=r.parent}for(;r!==n;r=r.parent)if(r==null)return!1;return this._numLeafs--,!0}clear(){this._numLeafs=0,this._root=null}invalidCacheError(){const t=Wj()?"Possible Fast Refresh module reload detected. This may also be caused by an selector returning inconsistent values. Resetting cache.":"Invalid cache values. This happens when selectors do not return consistent values for the same input dependency values. That may also be caused when using Fast Refresh to change a selector implementation. Resetting cache.";throw Sm(t+(this._name!=null?` - ${this._name}`:"")),new Ig}}var qj={TreeCache:Hj},Kj=qj.TreeCache,ew=Object.freeze({__proto__:null,TreeCache:Kj});class Gj{constructor(t){var n;ke(this,"_maxSize",void 0),ke(this,"_size",void 0),ke(this,"_head",void 0),ke(this,"_tail",void 0),ke(this,"_map",void 0),ke(this,"_keyMapper",void 0),this._maxSize=t.maxSize,this._size=0,this._head=null,this._tail=null,this._map=new Map,this._keyMapper=(n=t.mapKey)!==null&&n!==void 0?n:r=>r}head(){return this._head}tail(){return this._tail}size(){return this._size}maxSize(){return this._maxSize}has(t){return this._map.has(this._keyMapper(t))}get(t){const n=this._keyMapper(t),r=this._map.get(n);if(r)return this.set(t,r.value),r.value}set(t,n){const r=this._keyMapper(t);this._map.get(r)&&this.delete(t);const s=this.head(),i={key:t,right:s,left:null,value:n};s?s.left=i:this._tail=i,this._map.set(r,i),this._head=i,this._size++,this._maybeDeleteLRU()}_maybeDeleteLRU(){this.size()>this.maxSize()&&this.deleteLru()}deleteLru(){const t=this.tail();t&&this.delete(t.key)}delete(t){const n=this._keyMapper(t);if(!this._size||!this._map.has(n))return;const r=rt(this._map.get(n)),o=r.right,s=r.left;o&&(o.left=r.left),s&&(s.right=r.right),r===this.head()&&(this._head=o),r===this.tail()&&(this._tail=s),this._map.delete(n),this._size--}clear(){this._size=0,this._head=null,this._tail=null,this._map=new Map}}var Qj={LRUCache:Gj},Xj=Qj.LRUCache,tw=Object.freeze({__proto__:null,LRUCache:Xj});const{LRUCache:Yj}=tw,{TreeCache:Jj}=ew;function Zj({name:e,maxSize:t,mapNodeValue:n=r=>r}){const r=new Yj({maxSize:t}),o=new Jj({name:e,mapNodeValue:n,onHit:s=>{r.set(s,!0)},onSet:s=>{const i=r.tail();r.set(s,!0),i&&o.size()>t&&o.delete(i.key)}});return o}var Fg=Zj;function Fn(e,t,n){if(typeof e=="string"&&!e.includes('"')&&!e.includes("\\"))return`"${e}"`;switch(typeof e){case"undefined":return"";case"boolean":return e?"true":"false";case"number":case"symbol":return String(e);case"string":return JSON.stringify(e);case"function":if((t==null?void 0:t.allowFunctions)!==!0)throw Te("Attempt to serialize function in a Recoil cache key");return`__FUNCTION(${e.name})__`}if(e===null)return"null";if(typeof e!="object"){var r;return(r=JSON.stringify(e))!==null&&r!==void 0?r:""}if(Je(e))return"__PROMISE__";if(Array.isArray(e))return`[${e.map((o,s)=>Fn(o,t,s.toString()))}]`;if(typeof e.toJSON=="function")return Fn(e.toJSON(n),t,n);if(e instanceof Map){const o={};for(const[s,i]of e)o[typeof s=="string"?s:Fn(s,t)]=i;return Fn(o,t,n)}return e instanceof Set?Fn(Array.from(e).sort((o,s)=>Fn(o,t).localeCompare(Fn(s,t))),t,n):Symbol!==void 0&&e[Symbol.iterator]!=null&&typeof e[Symbol.iterator]=="function"?Fn(Array.from(e),t,n):`{${Object.keys(e).filter(o=>e[o]!==void 0).sort().map(o=>`${Fn(o,t)}:${Fn(e[o],t,o)}`).join(",")}}`}function e5(e,t={allowFunctions:!1}){return Fn(e,t)}var ad=e5;const{TreeCache:t5}=ew,il={equality:"reference",eviction:"keep-all",maxSize:1/0};function n5({equality:e=il.equality,eviction:t=il.eviction,maxSize:n=il.maxSize}=il,r){const o=r5(e);return o5(t,n,o,r)}function r5(e){switch(e){case"reference":return t=>t;case"value":return t=>ad(t)}throw Te(`Unrecognized equality policy ${e}`)}function o5(e,t,n,r){switch(e){case"keep-all":return new t5({name:r,mapNodeValue:n});case"lru":return Fg({name:r,maxSize:rt(t),mapNodeValue:n});case"most-recent":return Fg({name:r,maxSize:1,mapNodeValue:n})}throw Te(`Unrecognized eviction policy ${e}`)}var s5=n5;function i5(e){return()=>null}var a5={startPerfBlock:i5};const{isLoadable:l5,loadableWithError:al,loadableWithPromise:u5,loadableWithValue:af}=_a,{WrappedValue:nw}=Zx,{getNodeLoadable:ll,peekNodeLoadable:c5,setNodeValue:d5}=no,{saveDepsToStore:f5}=Ta,{DEFAULT_VALUE:p5,getConfigDeletionHandler:h5,getNode:m5,registerNode:Dg}=ln,{isRecoilValue:v5}=Ts,{markRecoilValueModified:jg}=ir,{retainedByOptionWithDefault:y5}=Mo,{recoilCallback:g5}=Jx,{startPerfBlock:S5}=a5;class rw{}const hi=new rw,mi=[],ul=new Map,b5=(()=>{let e=0;return()=>e++})();function ow(e){let t=null;const{key:n,get:r,cachePolicy_UNSTABLE:o}=e,s=e.set!=null?e.set:void 0,i=new Set,a=s5(o??{equality:"reference",eviction:"keep-all"},n),l=y5(e.retainedBy_UNSTABLE),u=new Map;let c=0;function d(){return!Ge("recoil_memory_managament_2020")||c>0}function f(P){return P.getState().knownSelectors.add(n),c++,()=>{c--}}function S(){return h5(n)!==void 0&&!d()}function h(P,q,B,re,X){Q(q,re,X),m(P,B)}function m(P,q){z(P,q)&&F(P),y(q,!0)}function w(P,q){z(P,q)&&(rt($(P)).stateVersions.clear(),y(q,!1))}function y(P,q){const B=ul.get(P);if(B!=null){for(const re of B)jg(re,rt(t));q&&ul.delete(P)}}function p(P,q){let B=ul.get(q);B==null&&ul.set(q,B=new Set),B.add(P)}function v(P,q,B,re,X,ue){return q.then(ce=>{if(!d())throw F(P),hi;const te=af(ce);return h(P,B,X,te,re),ce}).catch(ce=>{if(!d())throw F(P),hi;if(Je(ce))return x(P,ce,B,re,X,ue);const te=al(ce);throw h(P,B,X,te,re),ce})}function x(P,q,B,re,X,ue){return q.then(ce=>{if(!d())throw F(P),hi;ue.loadingDepKey!=null&&ue.loadingDepPromise===q?B.atomValues.set(ue.loadingDepKey,af(ce)):P.getState().knownSelectors.forEach(ye=>{B.atomValues.delete(ye)});const te=R(P,B);if(te&&te.state!=="loading"){if((z(P,X)||$(P)==null)&&m(P,X),te.state==="hasValue")return te.contents;throw te.contents}if(!z(P,X)){const ye=M(P,B);if(ye!=null)return ye.loadingLoadable.contents}const[Ee,Se]=E(P,B,X);if(Ee.state!=="loading"&&h(P,B,X,Ee,Se),Ee.state==="hasError")throw Ee.contents;return Ee.contents}).catch(ce=>{if(ce instanceof rw)throw hi;if(!d())throw F(P),hi;const te=al(ce);throw h(P,B,X,te,re),ce})}function C(P,q,B,re){var X,ue,ce,te;if(z(P,re)||q.version===((X=P.getState())===null||X===void 0||(ue=X.currentTree)===null||ue===void 0?void 0:ue.version)||q.version===((ce=P.getState())===null||ce===void 0||(te=ce.nextTree)===null||te===void 0?void 0:te.version)){var Ee,Se,ye;f5(n,B,P,(Ee=(Se=P.getState())===null||Se===void 0||(ye=Se.nextTree)===null||ye===void 0?void 0:ye.version)!==null&&Ee!==void 0?Ee:P.getState().currentTree.version)}for(const pe of B)i.add(pe)}function E(P,q,B){const re=S5(n);let X=!0,ue=!0;const ce=()=>{re(),ue=!1};let te,Ee=!1,Se;const ye={loadingDepKey:null,loadingDepPromise:null},pe=new Map;function _e({key:at}){const Ke=ll(P,q,at);switch(pe.set(at,Ke),X||(C(P,q,new Set(pe.keys()),B),w(P,B)),Ke.state){case"hasValue":return Ke.contents;case"hasError":throw Ke.contents;case"loading":throw ye.loadingDepKey=at,ye.loadingDepPromise=Ke.contents,Ke.contents}throw Te("Invalid Loadable state")}const Le=at=>(...Ke)=>{if(ue)throw Te("Callbacks from getCallback() should only be called asynchronously after the selector is evalutated. It can be used for selectors to return objects with callbacks that can work with Recoil state without a subscription.");return t==null&&_i(!1),g5(P,at,Ke,{node:t})};try{te=r({get:_e,getCallback:Le}),te=v5(te)?_e(te):te,l5(te)&&(te.state==="hasError"&&(Ee=!0),te=te.contents),Je(te)?te=v(P,te,q,pe,B,ye).finally(ce):ce(),te=te instanceof nw?te.value:te}catch(at){te=at,Je(te)?te=x(P,te,q,pe,B,ye).finally(ce):(Ee=!0,ce())}return Ee?Se=al(te):Je(te)?Se=u5(te):Se=af(te),X=!1,U(P,B,pe),C(P,q,new Set(pe.keys()),B),[Se,pe]}function R(P,q){let B=q.atomValues.get(n);if(B!=null)return B;const re=new Set;try{B=a.get(ue=>(typeof ue!="string"&&_i(!1),ll(P,q,ue).contents),{onNodeVisit:ue=>{ue.type==="branch"&&ue.nodeKey!==n&&re.add(ue.nodeKey)}})}catch(ue){throw Te(`Problem with cache lookup for selector "${n}": ${ue.message}`)}if(B){var X;q.atomValues.set(n,B),C(P,q,re,(X=$(P))===null||X===void 0?void 0:X.executionID)}return B}function T(P,q){const B=R(P,q);if(B!=null)return F(P),B;const re=M(P,q);if(re!=null){var X;return((X=re.loadingLoadable)===null||X===void 0?void 0:X.state)==="loading"&&p(P,re.executionID),re.loadingLoadable}const ue=b5(),[ce,te]=E(P,q,ue);return ce.state==="loading"?(H(P,ue,ce,te,q),p(P,ue)):(F(P),Q(q,ce,te)),ce}function M(P,q){const B=_x([u.has(P)?[rt(u.get(P))]:[],Gc(Cm(u,([X])=>X!==P),([,X])=>X)]);function re(X){for(const[ue,ce]of X)if(!ll(P,q,ue).is(ce))return!0;return!1}for(const X of B){if(X.stateVersions.get(q.version)||!re(X.depValuesDiscoveredSoFarDuringAsyncWork))return X.stateVersions.set(q.version,!0),X;X.stateVersions.set(q.version,!1)}}function $(P){return u.get(P)}function H(P,q,B,re,X){u.set(P,{depValuesDiscoveredSoFarDuringAsyncWork:re,executionID:q,loadingLoadable:B,stateVersions:new Map([[X.version,!0]])})}function U(P,q,B){if(z(P,q)){const re=$(P);re!=null&&(re.depValuesDiscoveredSoFarDuringAsyncWork=B)}}function F(P){u.delete(P)}function z(P,q){var B;return q===((B=$(P))===null||B===void 0?void 0:B.executionID)}function K(P){return Array.from(P.entries()).map(([q,B])=>[q,B.contents])}function Q(P,q,B){P.atomValues.set(n,q);try{a.set(K(B),q)}catch(re){throw Te(`Problem with setting cache for selector "${n}": ${re.message}`)}}function G(P){if(mi.includes(n)){const q=`Recoil selector has circular dependencies: ${mi.slice(mi.indexOf(n)).join(" → ")}`;return al(Te(q))}mi.push(n);try{return P()}finally{mi.pop()}}function O(P,q){const B=q.atomValues.get(n);return B??a.get(re=>{var X;return typeof re!="string"&&_i(!1),(X=c5(P,q,re))===null||X===void 0?void 0:X.contents})}function j(P,q){return G(()=>T(P,q))}function D(P){P.atomValues.delete(n)}function J(P,q){t==null&&_i(!1);for(const re of i){var B;const X=m5(re);(B=X.clearCache)===null||B===void 0||B.call(X,P,q)}i.clear(),D(q),a.clear(),jg(P,t)}return s!=null?t=Dg({key:n,nodeType:"selector",peek:O,get:j,set:(q,B,re)=>{let X=!1;const ue=new Map;function ce({key:ye}){if(X)throw Te("Recoil: Async selector sets are not currently supported.");const pe=ll(q,B,ye);if(pe.state==="hasValue")return pe.contents;if(pe.state==="loading"){const _e=`Getting value of asynchronous atom or selector "${ye}" in a pending state while setting selector "${n}" is not yet supported.`;throw Te(_e)}else throw pe.contents}function te(ye,pe){if(X)throw Te("Recoil: Async selector sets are not currently supported.");const _e=typeof pe=="function"?pe(ce(ye)):pe;d5(q,B,ye.key,_e).forEach((at,Ke)=>ue.set(Ke,at))}function Ee(ye){te(ye,p5)}const Se=s({set:te,get:ce,reset:Ee},re);if(Se!==void 0)throw Je(Se)?Te("Recoil: Async selector sets are not currently supported."):Te("Recoil: selector set should be a void function.");return X=!0,ue},init:f,invalidate:D,clearCache:J,shouldDeleteConfigOnRelease:S,dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1,retainedBy:l}):t=Dg({key:n,nodeType:"selector",peek:O,get:j,init:f,invalidate:D,clearCache:J,shouldDeleteConfigOnRelease:S,dangerouslyAllowMutability:e.dangerouslyAllowMutability,shouldRestoreFromSnapshots:!1,retainedBy:l})}ow.value=e=>new nw(e);var Ns=ow;const{isLoadable:x5,loadableWithError:lf,loadableWithPromise:uf,loadableWithValue:Wo}=_a,{WrappedValue:sw}=Zx,{peekNodeInfo:w5}=no,{DEFAULT_VALUE:uo,DefaultValue:Nr,getConfigDeletionHandler:iw,registerNode:R5,setConfigDeletionHandler:C5}=ln,{isRecoilValue:E5}=Ts,{getRecoilValueAsLoadable:_5,markRecoilValueModified:k5,setRecoilValue:Bg,setRecoilValueLoadable:T5}=ir,{retainedByOptionWithDefault:P5}=Mo,vi=e=>e instanceof sw?e.value:e;function A5(e){const{key:t,persistence_UNSTABLE:n}=e,r=P5(e.retainedBy_UNSTABLE);let o=0;function s(p){return uf(p.then(v=>(i=Wo(v),v)).catch(v=>{throw i=lf(v),v}))}let i=Je(e.default)?s(e.default):x5(e.default)?e.default.state==="loading"?s(e.default.contents):e.default:Wo(vi(e.default));i.contents;let a;const l=new Map;function u(p){return p}function c(p,v){const x=v.then(C=>{var E,R;return((R=((E=p.getState().nextTree)!==null&&E!==void 0?E:p.getState().currentTree).atomValues.get(t))===null||R===void 0?void 0:R.contents)===x&&Bg(p,y,C),C}).catch(C=>{var E,R;throw((R=((E=p.getState().nextTree)!==null&&E!==void 0?E:p.getState().currentTree).atomValues.get(t))===null||R===void 0?void 0:R.contents)===x&&T5(p,y,lf(C)),C});return x}function d(p,v,x){var C;o++;const E=()=>{var $;o--,($=l.get(p))===null||$===void 0||$.forEach(H=>H()),l.delete(p)};if(p.getState().knownAtoms.add(t),i.state==="loading"){const $=()=>{var H;((H=p.getState().nextTree)!==null&&H!==void 0?H:p.getState().currentTree).atomValues.has(t)||k5(p,y)};i.contents.finally($)}const R=(C=e.effects)!==null&&C!==void 0?C:e.effects_UNSTABLE;if(R!=null){let $=function(D){if(z&&D.key===t){const J=F;return J instanceof Nr?f(p,v):Je(J)?uf(J.then(P=>P instanceof Nr?i.toPromise():P)):Wo(J)}return _5(p,D)},H=function(D){return $(D).toPromise()},U=function(D){var J;const P=w5(p,(J=p.getState().nextTree)!==null&&J!==void 0?J:p.getState().currentTree,D.key);return z&&D.key===t&&!(F instanceof Nr)?{...P,isSet:!0,loadable:$(D)}:P},F=uo,z=!0,K=!1,Q=null;const G=D=>J=>{if(z){const P=$(y),q=P.state==="hasValue"?P.contents:uo;F=typeof J=="function"?J(q):J,Je(F)&&(F=F.then(B=>(Q={effect:D,value:B},B)))}else{if(Je(J))throw Te("Setting atoms to async values is not implemented.");typeof J!="function"&&(Q={effect:D,value:vi(J)}),Bg(p,y,typeof J=="function"?P=>{const q=vi(J(P));return Q={effect:D,value:q},q}:vi(J))}},O=D=>()=>G(D)(uo),j=D=>J=>{var P;const{release:q}=p.subscribeToTransactions(B=>{var re;let{currentTree:X,previousTree:ue}=B.getState();ue||(ue=X);const ce=(re=X.atomValues.get(t))!==null&&re!==void 0?re:i;if(ce.state==="hasValue"){var te,Ee,Se,ye;const pe=ce.contents,_e=(te=ue.atomValues.get(t))!==null&&te!==void 0?te:i,Le=_e.state==="hasValue"?_e.contents:uo;((Ee=Q)===null||Ee===void 0?void 0:Ee.effect)!==D||((Se=Q)===null||Se===void 0?void 0:Se.value)!==pe?J(pe,Le,!X.atomValues.has(t)):((ye=Q)===null||ye===void 0?void 0:ye.effect)===D&&(Q=null)}},t);l.set(p,[...(P=l.get(p))!==null&&P!==void 0?P:[],q])};for(const D of R)try{const J=D({node:y,storeID:p.storeID,parentStoreID_UNSTABLE:p.parentStoreID,trigger:x,setSelf:G(D),resetSelf:O(D),onSet:j(D),getPromise:H,getLoadable:$,getInfo_UNSTABLE:U});if(J!=null){var T;l.set(p,[...(T=l.get(p))!==null&&T!==void 0?T:[],J])}}catch(J){F=J,K=!0}if(z=!1,!(F instanceof Nr)){var M;const D=K?lf(F):Je(F)?uf(c(p,F)):Wo(vi(F));D.contents,v.atomValues.set(t,D),(M=p.getState().nextTree)===null||M===void 0||M.atomValues.set(t,D)}}return E}function f(p,v){var x,C;return(x=(C=v.atomValues.get(t))!==null&&C!==void 0?C:a)!==null&&x!==void 0?x:i}function S(p,v){if(v.atomValues.has(t))return rt(v.atomValues.get(t));if(v.nonvalidatedAtoms.has(t)){if(a!=null)return a;if(n==null)return i;const x=v.nonvalidatedAtoms.get(t),C=n.validator(x,uo);return a=C instanceof Nr?i:Wo(C),a}else return i}function h(){a=void 0}function m(p,v,x){if(v.atomValues.has(t)){const C=rt(v.atomValues.get(t));if(C.state==="hasValue"&&x===C.contents)return new Map}else if(!v.nonvalidatedAtoms.has(t)&&x instanceof Nr)return new Map;return a=void 0,new Map().set(t,Wo(x))}function w(){return iw(t)!==void 0&&o<=0}const y=R5({key:t,nodeType:"atom",peek:f,get:S,set:m,init:d,invalidate:h,shouldDeleteConfigOnRelease:w,dangerouslyAllowMutability:e.dangerouslyAllowMutability,persistence_UNSTABLE:e.persistence_UNSTABLE?{type:e.persistence_UNSTABLE.type,backButton:e.persistence_UNSTABLE.backButton}:void 0,shouldRestoreFromSnapshots:!0,retainedBy:r});return y}function $m(e){const{...t}=e,n="default"in e?e.default:new Promise(()=>{});return E5(n)?N5({...t,default:n}):A5({...t,default:n})}function N5(e){const t=$m({...e,default:uo,persistence_UNSTABLE:e.persistence_UNSTABLE===void 0?void 0:{...e.persistence_UNSTABLE,validator:r=>r instanceof Nr?r:rt(e.persistence_UNSTABLE).validator(r,uo)},effects:e.effects,effects_UNSTABLE:e.effects_UNSTABLE}),n=Ns({key:`${e.key}__withFallback`,get:({get:r})=>{const o=r(t);return o instanceof Nr?e.default:o},set:({set:r},o)=>r(t,o),cachePolicy_UNSTABLE:{eviction:"most-recent"},dangerouslyAllowMutability:e.dangerouslyAllowMutability});return C5(n.key,iw(e.key)),n}$m.value=e=>new sw(e);var aw=$m;class O5{constructor(t){var n;ke(this,"_map",void 0),ke(this,"_keyMapper",void 0),this._map=new Map,this._keyMapper=(n=t==null?void 0:t.mapKey)!==null&&n!==void 0?n:r=>r}size(){return this._map.size}has(t){return this._map.has(this._keyMapper(t))}get(t){return this._map.get(this._keyMapper(t))}set(t,n){this._map.set(this._keyMapper(t),n)}delete(t){this._map.delete(this._keyMapper(t))}clear(){this._map.clear()}}var L5={MapCache:O5},$5=L5.MapCache,M5=Object.freeze({__proto__:null,MapCache:$5});const{LRUCache:Ug}=tw,{MapCache:I5}=M5,cl={equality:"reference",eviction:"none",maxSize:1/0};function F5({equality:e=cl.equality,eviction:t=cl.eviction,maxSize:n=cl.maxSize}=cl){const r=D5(e);return j5(t,n,r)}function D5(e){switch(e){case"reference":return t=>t;case"value":return t=>ad(t)}throw Te(`Unrecognized equality policy ${e}`)}function j5(e,t,n){switch(e){case"keep-all":return new I5({mapKey:n});case"lru":return new Ug({mapKey:n,maxSize:rt(t)});case"most-recent":return new Ug({mapKey:n,maxSize:1})}throw Te(`Unrecognized eviction policy ${e}`)}var lw=F5;const{setConfigDeletionHandler:B5}=ln;function U5(e){var t,n;const r=lw({equality:(t=(n=e.cachePolicyForParams_UNSTABLE)===null||n===void 0?void 0:n.equality)!==null&&t!==void 0?t:"value",eviction:"keep-all"});return o=>{var s,i;const a=r.get(o);if(a!=null)return a;const{cachePolicyForParams_UNSTABLE:l,...u}=e,c="default"in e?e.default:new Promise(()=>{}),d=aw({...u,key:`${e.key}__${(s=ad(o))!==null&&s!==void 0?s:"void"}`,default:typeof c=="function"?c(o):c,retainedBy_UNSTABLE:typeof e.retainedBy_UNSTABLE=="function"?e.retainedBy_UNSTABLE(o):e.retainedBy_UNSTABLE,effects:typeof e.effects=="function"?e.effects(o):typeof e.effects_UNSTABLE=="function"?e.effects_UNSTABLE(o):(i=e.effects)!==null&&i!==void 0?i:e.effects_UNSTABLE});return r.set(o,d),B5(d.key,()=>{r.delete(o)}),d}}var z5=U5;const{setConfigDeletionHandler:V5}=ln;let W5=0;function H5(e){var t,n;const r=lw({equality:(t=(n=e.cachePolicyForParams_UNSTABLE)===null||n===void 0?void 0:n.equality)!==null&&t!==void 0?t:"value",eviction:"keep-all"});return o=>{var s;let i;try{i=r.get(o)}catch(f){throw Te(`Problem with cache lookup for selector ${e.key}: ${f.message}`)}if(i!=null)return i;const a=`${e.key}__selectorFamily/${(s=ad(o,{allowFunctions:!0}))!==null&&s!==void 0?s:"void"}/${W5++}`,l=f=>e.get(o)(f),u=e.cachePolicy_UNSTABLE,c=typeof e.retainedBy_UNSTABLE=="function"?e.retainedBy_UNSTABLE(o):e.retainedBy_UNSTABLE;let d;if(e.set!=null){const f=e.set;d=Ns({key:a,get:l,set:(h,m)=>f(o)(h,m),cachePolicy_UNSTABLE:u,dangerouslyAllowMutability:e.dangerouslyAllowMutability,retainedBy_UNSTABLE:c})}else d=Ns({key:a,get:l,cachePolicy_UNSTABLE:u,dangerouslyAllowMutability:e.dangerouslyAllowMutability,retainedBy_UNSTABLE:c});return r.set(o,d),V5(d.key,()=>{r.delete(o)}),d}}var ro=H5;const q5=ro({key:"__constant",get:e=>()=>e,cachePolicyForParams_UNSTABLE:{equality:"reference"}});function K5(e){return q5(e)}var G5=K5;const Q5=ro({key:"__error",get:e=>()=>{throw Te(e)},cachePolicyForParams_UNSTABLE:{equality:"reference"}});function X5(e){return Q5(e)}var Y5=X5;function J5(e){return e}var Z5=J5;const{loadableWithError:uw,loadableWithPromise:cw,loadableWithValue:dw}=_a;function ld(e,t){const n=Array(t.length).fill(void 0),r=Array(t.length).fill(void 0);for(const[o,s]of t.entries())try{n[o]=e(s)}catch(i){r[o]=i}return[n,r]}function e4(e){return e!=null&&!Je(e)}function ud(e){return Array.isArray(e)?e:Object.getOwnPropertyNames(e).map(t=>e[t])}function Ip(e,t){return Array.isArray(e)?t:Object.getOwnPropertyNames(e).reduce((n,r,o)=>({...n,[r]:t[o]}),{})}function ms(e,t,n){const r=n.map((o,s)=>o==null?dw(t[s]):Je(o)?cw(o):uw(o));return Ip(e,r)}function t4(e,t){return t.map((n,r)=>n===void 0?e[r]:n)}const n4=ro({key:"__waitForNone",get:e=>({get:t})=>{const n=ud(e),[r,o]=ld(t,n);return ms(e,r,o)},dangerouslyAllowMutability:!0}),r4=ro({key:"__waitForAny",get:e=>({get:t})=>{const n=ud(e),[r,o]=ld(t,n);return o.some(s=>!Je(s))?ms(e,r,o):new Promise(s=>{for(const[i,a]of o.entries())Je(a)&&a.then(l=>{r[i]=l,o[i]=void 0,s(ms(e,r,o))}).catch(l=>{o[i]=l,s(ms(e,r,o))})})},dangerouslyAllowMutability:!0}),o4=ro({key:"__waitForAll",get:e=>({get:t})=>{const n=ud(e),[r,o]=ld(t,n);if(o.every(i=>i==null))return Ip(e,r);const s=o.find(e4);if(s!=null)throw s;return Promise.all(o).then(i=>Ip(e,t4(r,i)))},dangerouslyAllowMutability:!0}),s4=ro({key:"__waitForAllSettled",get:e=>({get:t})=>{const n=ud(e),[r,o]=ld(t,n);return o.every(s=>!Je(s))?ms(e,r,o):Promise.all(o.map((s,i)=>Je(s)?s.then(a=>{r[i]=a,o[i]=void 0}).catch(a=>{r[i]=void 0,o[i]=a}):null)).then(()=>ms(e,r,o))},dangerouslyAllowMutability:!0}),i4=ro({key:"__noWait",get:e=>({get:t})=>{try{return Ns.value(dw(t(e)))}catch(n){return Ns.value(Je(n)?cw(n):uw(n))}},dangerouslyAllowMutability:!0});var a4={waitForNone:n4,waitForAny:r4,waitForAll:o4,waitForAllSettled:s4,noWait:i4};const{RecoilLoadable:l4}=_a,{DefaultValue:u4}=ln,{RecoilRoot:c4,useRecoilStoreID:d4}=Er,{isRecoilValue:f4}=Ts,{retentionZone:p4}=Xc,{freshSnapshot:h4}=nd,{useRecoilState:m4,useRecoilState_TRANSITION_SUPPORT_UNSTABLE:v4,useRecoilStateLoadable:y4,useRecoilValue:g4,useRecoilValue_TRANSITION_SUPPORT_UNSTABLE:S4,useRecoilValueLoadable:b4,useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE:x4,useResetRecoilState:w4,useSetRecoilState:R4}=LD,{useGotoRecoilSnapshot:C4,useRecoilSnapshot:E4,useRecoilTransactionObserver:_4}=Gx,{useRecoilCallback:k4}=Jx,{noWait:T4,waitForAll:P4,waitForAllSettled:A4,waitForAny:N4,waitForNone:O4}=a4;var Mm={DefaultValue:u4,isRecoilValue:f4,RecoilLoadable:l4,RecoilEnv:Us,RecoilRoot:c4,useRecoilStoreID:d4,useRecoilBridgeAcrossReactRoots_UNSTABLE:ij,atom:aw,selector:Ns,atomFamily:z5,selectorFamily:ro,constSelector:G5,errorSelector:Y5,readOnlySelector:Z5,noWait:T4,waitForNone:O4,waitForAny:N4,waitForAll:P4,waitForAllSettled:A4,useRecoilValue:g4,useRecoilValueLoadable:b4,useRecoilState:m4,useRecoilStateLoadable:y4,useSetRecoilState:R4,useResetRecoilState:w4,useGetRecoilValueInfo_UNSTABLE:ej,useRecoilRefresher_UNSTABLE:Mj,useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE:x4,useRecoilValue_TRANSITION_SUPPORT_UNSTABLE:S4,useRecoilState_TRANSITION_SUPPORT_UNSTABLE:v4,useRecoilCallback:k4,useRecoilTransaction_UNSTABLE:Bj,useGotoRecoilSnapshot:C4,useRecoilSnapshot:E4,useRecoilTransactionObserver_UNSTABLE:_4,snapshot_UNSTABLE:h4,useRetain:Pm,retentionZone:p4},L4=Mm.RecoilRoot,Vs=Mm.atom,Wt=Mm.useRecoilState;class Ws{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){const n={listener:t};return this.listeners.add(n),this.onSubscribe(),()=>{this.listeners.delete(n),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}}const ma=typeof window>"u"||"Deno"in window;function xn(){}function $4(e,t){return typeof e=="function"?e(t):e}function Fp(e){return typeof e=="number"&&e>=0&&e!==1/0}function fw(e,t){return Math.max(e+(t||0)-Date.now(),0)}function ki(e,t,n){return Oa(e)?typeof t=="function"?{...n,queryKey:e,queryFn:t}:{...t,queryKey:e}:e}function M4(e,t,n){return Oa(e)?typeof t=="function"?{...n,mutationKey:e,mutationFn:t}:{...t,mutationKey:e}:typeof e=="function"?{...t,mutationFn:e}:{...e}}function Or(e,t,n){return Oa(e)?[{...t,queryKey:e},n]:[e||{},t]}function zg(e,t){const{type:n="all",exact:r,fetchStatus:o,predicate:s,queryKey:i,stale:a}=e;if(Oa(i)){if(r){if(t.queryHash!==Im(i,t.options))return!1}else if(!wu(t.queryKey,i))return!1}if(n!=="all"){const l=t.isActive();if(n==="active"&&!l||n==="inactive"&&l)return!1}return!(typeof a=="boolean"&&t.isStale()!==a||typeof o<"u"&&o!==t.state.fetchStatus||s&&!s(t))}function Vg(e,t){const{exact:n,fetching:r,predicate:o,mutationKey:s}=e;if(Oa(s)){if(!t.options.mutationKey)return!1;if(n){if(vo(t.options.mutationKey)!==vo(s))return!1}else if(!wu(t.options.mutationKey,s))return!1}return!(typeof r=="boolean"&&t.state.status==="loading"!==r||o&&!o(t))}function Im(e,t){return((t==null?void 0:t.queryKeyHashFn)||vo)(e)}function vo(e){return JSON.stringify(e,(t,n)=>Dp(n)?Object.keys(n).sort().reduce((r,o)=>(r[o]=n[o],r),{}):n)}function wu(e,t){return pw(e,t)}function pw(e,t){return e===t?!0:typeof e!=typeof t?!1:e&&t&&typeof e=="object"&&typeof t=="object"?!Object.keys(t).some(n=>!pw(e[n],t[n])):!1}function hw(e,t){if(e===t)return e;const n=Wg(e)&&Wg(t);if(n||Dp(e)&&Dp(t)){const r=n?e.length:Object.keys(e).length,o=n?t:Object.keys(t),s=o.length,i=n?[]:{};let a=0;for(let l=0;l"u")return!0;const n=t.prototype;return!(!Hg(n)||!n.hasOwnProperty("isPrototypeOf"))}function Hg(e){return Object.prototype.toString.call(e)==="[object Object]"}function Oa(e){return Array.isArray(e)}function mw(e){return new Promise(t=>{setTimeout(t,e)})}function qg(e){mw(0).then(e)}function I4(){if(typeof AbortController=="function")return new AbortController}function jp(e,t,n){return n.isDataEqual!=null&&n.isDataEqual(e,t)?e:typeof n.structuralSharing=="function"?n.structuralSharing(e,t):n.structuralSharing!==!1?hw(e,t):t}class F4 extends Ws{constructor(){super(),this.setup=t=>{if(!ma&&window.addEventListener){const n=()=>t();return window.addEventListener("visibilitychange",n,!1),window.addEventListener("focus",n,!1),()=>{window.removeEventListener("visibilitychange",n),window.removeEventListener("focus",n)}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.cleanup)==null||t.call(this),this.cleanup=void 0}}setEventListener(t){var n;this.setup=t,(n=this.cleanup)==null||n.call(this),this.cleanup=t(r=>{typeof r=="boolean"?this.setFocused(r):this.onFocus()})}setFocused(t){this.focused!==t&&(this.focused=t,this.onFocus())}onFocus(){this.listeners.forEach(({listener:t})=>{t()})}isFocused(){return typeof this.focused=="boolean"?this.focused:typeof document>"u"?!0:[void 0,"visible","prerender"].includes(document.visibilityState)}}const Cu=new F4,Kg=["online","offline"];class D4 extends Ws{constructor(){super(),this.setup=t=>{if(!ma&&window.addEventListener){const n=()=>t();return Kg.forEach(r=>{window.addEventListener(r,n,!1)}),()=>{Kg.forEach(r=>{window.removeEventListener(r,n)})}}}}onSubscribe(){this.cleanup||this.setEventListener(this.setup)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.cleanup)==null||t.call(this),this.cleanup=void 0}}setEventListener(t){var n;this.setup=t,(n=this.cleanup)==null||n.call(this),this.cleanup=t(r=>{typeof r=="boolean"?this.setOnline(r):this.onOnline()})}setOnline(t){this.online!==t&&(this.online=t,this.onOnline())}onOnline(){this.listeners.forEach(({listener:t})=>{t()})}isOnline(){return typeof this.online=="boolean"?this.online:typeof navigator>"u"||typeof navigator.onLine>"u"?!0:navigator.onLine}}const Eu=new D4;function j4(e){return Math.min(1e3*2**e,3e4)}function cd(e){return(e??"online")==="online"?Eu.isOnline():!0}class vw{constructor(t){this.revert=t==null?void 0:t.revert,this.silent=t==null?void 0:t.silent}}function Ol(e){return e instanceof vw}function yw(e){let t=!1,n=0,r=!1,o,s,i;const a=new Promise((w,y)=>{s=w,i=y}),l=w=>{r||(S(new vw(w)),e.abort==null||e.abort())},u=()=>{t=!0},c=()=>{t=!1},d=()=>!Cu.isFocused()||e.networkMode!=="always"&&!Eu.isOnline(),f=w=>{r||(r=!0,e.onSuccess==null||e.onSuccess(w),o==null||o(),s(w))},S=w=>{r||(r=!0,e.onError==null||e.onError(w),o==null||o(),i(w))},h=()=>new Promise(w=>{o=y=>{const p=r||!d();return p&&w(y),p},e.onPause==null||e.onPause()}).then(()=>{o=void 0,r||e.onContinue==null||e.onContinue()}),m=()=>{if(r)return;let w;try{w=e.fn()}catch(y){w=Promise.reject(y)}Promise.resolve(w).then(f).catch(y=>{var p,v;if(r)return;const x=(p=e.retry)!=null?p:3,C=(v=e.retryDelay)!=null?v:j4,E=typeof C=="function"?C(n,y):C,R=x===!0||typeof x=="number"&&n{if(d())return h()}).then(()=>{t?S(y):m()})})};return cd(e.networkMode)?m():h().then(m),{promise:a,cancel:l,continue:()=>(o==null?void 0:o())?a:Promise.resolve(),cancelRetry:u,continueRetry:c}}const Fm=console;function B4(){let e=[],t=0,n=c=>{c()},r=c=>{c()};const o=c=>{let d;t++;try{d=c()}finally{t--,t||a()}return d},s=c=>{t?e.push(c):qg(()=>{n(c)})},i=c=>(...d)=>{s(()=>{c(...d)})},a=()=>{const c=e;e=[],c.length&&qg(()=>{r(()=>{c.forEach(d=>{n(d)})})})};return{batch:o,batchCalls:i,schedule:s,setNotifyFunction:c=>{n=c},setBatchNotifyFunction:c=>{r=c}}}const ft=B4();class gw{destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),Fp(this.cacheTime)&&(this.gcTimeout=setTimeout(()=>{this.optionalRemove()},this.cacheTime))}updateCacheTime(t){this.cacheTime=Math.max(this.cacheTime||0,t??(ma?1/0:5*60*1e3))}clearGcTimeout(){this.gcTimeout&&(clearTimeout(this.gcTimeout),this.gcTimeout=void 0)}}class U4 extends gw{constructor(t){super(),this.abortSignalConsumed=!1,this.defaultOptions=t.defaultOptions,this.setOptions(t.options),this.observers=[],this.cache=t.cache,this.logger=t.logger||Fm,this.queryKey=t.queryKey,this.queryHash=t.queryHash,this.initialState=t.state||z4(this.options),this.state=this.initialState,this.scheduleGc()}get meta(){return this.options.meta}setOptions(t){this.options={...this.defaultOptions,...t},this.updateCacheTime(this.options.cacheTime)}optionalRemove(){!this.observers.length&&this.state.fetchStatus==="idle"&&this.cache.remove(this)}setData(t,n){const r=jp(this.state.data,t,this.options);return this.dispatch({data:r,type:"success",dataUpdatedAt:n==null?void 0:n.updatedAt,manual:n==null?void 0:n.manual}),r}setState(t,n){this.dispatch({type:"setState",state:t,setStateOptions:n})}cancel(t){var n;const r=this.promise;return(n=this.retryer)==null||n.cancel(t),r?r.then(xn).catch(xn):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.initialState)}isActive(){return this.observers.some(t=>t.options.enabled!==!1)}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return this.state.isInvalidated||!this.state.dataUpdatedAt||this.observers.some(t=>t.getCurrentResult().isStale)}isStaleByTime(t=0){return this.state.isInvalidated||!this.state.dataUpdatedAt||!fw(this.state.dataUpdatedAt,t)}onFocus(){var t;const n=this.observers.find(r=>r.shouldFetchOnWindowFocus());n&&n.refetch({cancelRefetch:!1}),(t=this.retryer)==null||t.continue()}onOnline(){var t;const n=this.observers.find(r=>r.shouldFetchOnReconnect());n&&n.refetch({cancelRefetch:!1}),(t=this.retryer)==null||t.continue()}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),this.cache.notify({type:"observerAdded",query:this,observer:t}))}removeObserver(t){this.observers.includes(t)&&(this.observers=this.observers.filter(n=>n!==t),this.observers.length||(this.retryer&&(this.abortSignalConsumed?this.retryer.cancel({revert:!0}):this.retryer.cancelRetry()),this.scheduleGc()),this.cache.notify({type:"observerRemoved",query:this,observer:t}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.dispatch({type:"invalidate"})}fetch(t,n){var r,o;if(this.state.fetchStatus!=="idle"){if(this.state.dataUpdatedAt&&n!=null&&n.cancelRefetch)this.cancel({silent:!0});else if(this.promise){var s;return(s=this.retryer)==null||s.continueRetry(),this.promise}}if(t&&this.setOptions(t),!this.options.queryFn){const S=this.observers.find(h=>h.options.queryFn);S&&this.setOptions(S.options)}const i=I4(),a={queryKey:this.queryKey,pageParam:void 0,meta:this.meta},l=S=>{Object.defineProperty(S,"signal",{enumerable:!0,get:()=>{if(i)return this.abortSignalConsumed=!0,i.signal}})};l(a);const u=()=>this.options.queryFn?(this.abortSignalConsumed=!1,this.options.queryFn(a)):Promise.reject("Missing queryFn for queryKey '"+this.options.queryHash+"'"),c={fetchOptions:n,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:u};if(l(c),(r=this.options.behavior)==null||r.onFetch(c),this.revertState=this.state,this.state.fetchStatus==="idle"||this.state.fetchMeta!==((o=c.fetchOptions)==null?void 0:o.meta)){var d;this.dispatch({type:"fetch",meta:(d=c.fetchOptions)==null?void 0:d.meta})}const f=S=>{if(Ol(S)&&S.silent||this.dispatch({type:"error",error:S}),!Ol(S)){var h,m,w,y;(h=(m=this.cache.config).onError)==null||h.call(m,S,this),(w=(y=this.cache.config).onSettled)==null||w.call(y,this.state.data,S,this)}this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return this.retryer=yw({fn:c.fetchFn,abort:i==null?void 0:i.abort.bind(i),onSuccess:S=>{var h,m,w,y;if(typeof S>"u"){f(new Error(this.queryHash+" data is undefined"));return}this.setData(S),(h=(m=this.cache.config).onSuccess)==null||h.call(m,S,this),(w=(y=this.cache.config).onSettled)==null||w.call(y,S,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:f,onFail:(S,h)=>{this.dispatch({type:"failed",failureCount:S,error:h})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:c.options.retry,retryDelay:c.options.retryDelay,networkMode:c.options.networkMode}),this.promise=this.retryer.promise,this.promise}dispatch(t){const n=r=>{var o,s;switch(t.type){case"failed":return{...r,fetchFailureCount:t.failureCount,fetchFailureReason:t.error};case"pause":return{...r,fetchStatus:"paused"};case"continue":return{...r,fetchStatus:"fetching"};case"fetch":return{...r,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:(o=t.meta)!=null?o:null,fetchStatus:cd(this.options.networkMode)?"fetching":"paused",...!r.dataUpdatedAt&&{error:null,status:"loading"}};case"success":return{...r,data:t.data,dataUpdateCount:r.dataUpdateCount+1,dataUpdatedAt:(s=t.dataUpdatedAt)!=null?s:Date.now(),error:null,isInvalidated:!1,status:"success",...!t.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const i=t.error;return Ol(i)&&i.revert&&this.revertState?{...this.revertState,fetchStatus:"idle"}:{...r,error:i,errorUpdateCount:r.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:r.fetchFailureCount+1,fetchFailureReason:i,fetchStatus:"idle",status:"error"};case"invalidate":return{...r,isInvalidated:!0};case"setState":return{...r,...t.state}}};this.state=n(this.state),ft.batch(()=>{this.observers.forEach(r=>{r.onQueryUpdate(t)}),this.cache.notify({query:this,type:"updated",action:t})})}}function z4(e){const t=typeof e.initialData=="function"?e.initialData():e.initialData,n=typeof t<"u",r=n?typeof e.initialDataUpdatedAt=="function"?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?"success":"loading",fetchStatus:"idle"}}class V4 extends Ws{constructor(t){super(),this.config=t||{},this.queries=[],this.queriesMap={}}build(t,n,r){var o;const s=n.queryKey,i=(o=n.queryHash)!=null?o:Im(s,n);let a=this.get(i);return a||(a=new U4({cache:this,logger:t.getLogger(),queryKey:s,queryHash:i,options:t.defaultQueryOptions(n),state:r,defaultOptions:t.getQueryDefaults(s)}),this.add(a)),a}add(t){this.queriesMap[t.queryHash]||(this.queriesMap[t.queryHash]=t,this.queries.push(t),this.notify({type:"added",query:t}))}remove(t){const n=this.queriesMap[t.queryHash];n&&(t.destroy(),this.queries=this.queries.filter(r=>r!==t),n===t&&delete this.queriesMap[t.queryHash],this.notify({type:"removed",query:t}))}clear(){ft.batch(()=>{this.queries.forEach(t=>{this.remove(t)})})}get(t){return this.queriesMap[t]}getAll(){return this.queries}find(t,n){const[r]=Or(t,n);return typeof r.exact>"u"&&(r.exact=!0),this.queries.find(o=>zg(r,o))}findAll(t,n){const[r]=Or(t,n);return Object.keys(r).length>0?this.queries.filter(o=>zg(r,o)):this.queries}notify(t){ft.batch(()=>{this.listeners.forEach(({listener:n})=>{n(t)})})}onFocus(){ft.batch(()=>{this.queries.forEach(t=>{t.onFocus()})})}onOnline(){ft.batch(()=>{this.queries.forEach(t=>{t.onOnline()})})}}class W4 extends gw{constructor(t){super(),this.defaultOptions=t.defaultOptions,this.mutationId=t.mutationId,this.mutationCache=t.mutationCache,this.logger=t.logger||Fm,this.observers=[],this.state=t.state||Sw(),this.setOptions(t.options),this.scheduleGc()}setOptions(t){this.options={...this.defaultOptions,...t},this.updateCacheTime(this.options.cacheTime)}get meta(){return this.options.meta}setState(t){this.dispatch({type:"setState",state:t})}addObserver(t){this.observers.includes(t)||(this.observers.push(t),this.clearGcTimeout(),this.mutationCache.notify({type:"observerAdded",mutation:this,observer:t}))}removeObserver(t){this.observers=this.observers.filter(n=>n!==t),this.scheduleGc(),this.mutationCache.notify({type:"observerRemoved",mutation:this,observer:t})}optionalRemove(){this.observers.length||(this.state.status==="loading"?this.scheduleGc():this.mutationCache.remove(this))}continue(){var t,n;return(t=(n=this.retryer)==null?void 0:n.continue())!=null?t:this.execute()}async execute(){const t=()=>{var R;return this.retryer=yw({fn:()=>this.options.mutationFn?this.options.mutationFn(this.state.variables):Promise.reject("No mutationFn found"),onFail:(T,M)=>{this.dispatch({type:"failed",failureCount:T,error:M})},onPause:()=>{this.dispatch({type:"pause"})},onContinue:()=>{this.dispatch({type:"continue"})},retry:(R=this.options.retry)!=null?R:0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode}),this.retryer.promise},n=this.state.status==="loading";try{var r,o,s,i,a,l,u,c;if(!n){var d,f,S,h;this.dispatch({type:"loading",variables:this.options.variables}),await((d=(f=this.mutationCache.config).onMutate)==null?void 0:d.call(f,this.state.variables,this));const T=await((S=(h=this.options).onMutate)==null?void 0:S.call(h,this.state.variables));T!==this.state.context&&this.dispatch({type:"loading",context:T,variables:this.state.variables})}const R=await t();return await((r=(o=this.mutationCache.config).onSuccess)==null?void 0:r.call(o,R,this.state.variables,this.state.context,this)),await((s=(i=this.options).onSuccess)==null?void 0:s.call(i,R,this.state.variables,this.state.context)),await((a=(l=this.mutationCache.config).onSettled)==null?void 0:a.call(l,R,null,this.state.variables,this.state.context,this)),await((u=(c=this.options).onSettled)==null?void 0:u.call(c,R,null,this.state.variables,this.state.context)),this.dispatch({type:"success",data:R}),R}catch(R){try{var m,w,y,p,v,x,C,E;throw await((m=(w=this.mutationCache.config).onError)==null?void 0:m.call(w,R,this.state.variables,this.state.context,this)),await((y=(p=this.options).onError)==null?void 0:y.call(p,R,this.state.variables,this.state.context)),await((v=(x=this.mutationCache.config).onSettled)==null?void 0:v.call(x,void 0,R,this.state.variables,this.state.context,this)),await((C=(E=this.options).onSettled)==null?void 0:C.call(E,void 0,R,this.state.variables,this.state.context)),R}finally{this.dispatch({type:"error",error:R})}}}dispatch(t){const n=r=>{switch(t.type){case"failed":return{...r,failureCount:t.failureCount,failureReason:t.error};case"pause":return{...r,isPaused:!0};case"continue":return{...r,isPaused:!1};case"loading":return{...r,context:t.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:!cd(this.options.networkMode),status:"loading",variables:t.variables};case"success":return{...r,data:t.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...r,data:void 0,error:t.error,failureCount:r.failureCount+1,failureReason:t.error,isPaused:!1,status:"error"};case"setState":return{...r,...t.state}}};this.state=n(this.state),ft.batch(()=>{this.observers.forEach(r=>{r.onMutationUpdate(t)}),this.mutationCache.notify({mutation:this,type:"updated",action:t})})}}function Sw(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0}}class H4 extends Ws{constructor(t){super(),this.config=t||{},this.mutations=[],this.mutationId=0}build(t,n,r){const o=new W4({mutationCache:this,logger:t.getLogger(),mutationId:++this.mutationId,options:t.defaultMutationOptions(n),state:r,defaultOptions:n.mutationKey?t.getMutationDefaults(n.mutationKey):void 0});return this.add(o),o}add(t){this.mutations.push(t),this.notify({type:"added",mutation:t})}remove(t){this.mutations=this.mutations.filter(n=>n!==t),this.notify({type:"removed",mutation:t})}clear(){ft.batch(()=>{this.mutations.forEach(t=>{this.remove(t)})})}getAll(){return this.mutations}find(t){return typeof t.exact>"u"&&(t.exact=!0),this.mutations.find(n=>Vg(t,n))}findAll(t){return this.mutations.filter(n=>Vg(t,n))}notify(t){ft.batch(()=>{this.listeners.forEach(({listener:n})=>{n(t)})})}resumePausedMutations(){var t;return this.resuming=((t=this.resuming)!=null?t:Promise.resolve()).then(()=>{const n=this.mutations.filter(r=>r.state.isPaused);return ft.batch(()=>n.reduce((r,o)=>r.then(()=>o.continue().catch(xn)),Promise.resolve()))}).then(()=>{this.resuming=void 0}),this.resuming}}function q4(){return{onFetch:e=>{e.fetchFn=()=>{var t,n,r,o,s,i;const a=(t=e.fetchOptions)==null||(n=t.meta)==null?void 0:n.refetchPage,l=(r=e.fetchOptions)==null||(o=r.meta)==null?void 0:o.fetchMore,u=l==null?void 0:l.pageParam,c=(l==null?void 0:l.direction)==="forward",d=(l==null?void 0:l.direction)==="backward",f=((s=e.state.data)==null?void 0:s.pages)||[],S=((i=e.state.data)==null?void 0:i.pageParams)||[];let h=S,m=!1;const w=E=>{Object.defineProperty(E,"signal",{enumerable:!0,get:()=>{var R;if((R=e.signal)!=null&&R.aborted)m=!0;else{var T;(T=e.signal)==null||T.addEventListener("abort",()=>{m=!0})}return e.signal}})},y=e.options.queryFn||(()=>Promise.reject("Missing queryFn for queryKey '"+e.options.queryHash+"'")),p=(E,R,T,M)=>(h=M?[R,...h]:[...h,R],M?[T,...E]:[...E,T]),v=(E,R,T,M)=>{if(m)return Promise.reject("Cancelled");if(typeof T>"u"&&!R&&E.length)return Promise.resolve(E);const $={queryKey:e.queryKey,pageParam:T,meta:e.options.meta};w($);const H=y($);return Promise.resolve(H).then(F=>p(E,T,F,M))};let x;if(!f.length)x=v([]);else if(c){const E=typeof u<"u",R=E?u:Gg(e.options,f);x=v(f,E,R)}else if(d){const E=typeof u<"u",R=E?u:K4(e.options,f);x=v(f,E,R,!0)}else{h=[];const E=typeof e.options.getNextPageParam>"u";x=(a&&f[0]?a(f[0],0,f):!0)?v([],E,S[0]):Promise.resolve(p([],S[0],f[0]));for(let T=1;T{if(a&&f[T]?a(f[T],T,f):!0){const H=E?S[T]:Gg(e.options,M);return v(M,E,H)}return Promise.resolve(p(M,S[T],f[T]))})}return x.then(E=>({pages:E,pageParams:h}))}}}}function Gg(e,t){return e.getNextPageParam==null?void 0:e.getNextPageParam(t[t.length-1],t)}function K4(e,t){return e.getPreviousPageParam==null?void 0:e.getPreviousPageParam(t[0],t)}class G4{constructor(t={}){this.queryCache=t.queryCache||new V4,this.mutationCache=t.mutationCache||new H4,this.logger=t.logger||Fm,this.defaultOptions=t.defaultOptions||{},this.queryDefaults=[],this.mutationDefaults=[],this.mountCount=0}mount(){this.mountCount++,this.mountCount===1&&(this.unsubscribeFocus=Cu.subscribe(()=>{Cu.isFocused()&&(this.resumePausedMutations(),this.queryCache.onFocus())}),this.unsubscribeOnline=Eu.subscribe(()=>{Eu.isOnline()&&(this.resumePausedMutations(),this.queryCache.onOnline())}))}unmount(){var t,n;this.mountCount--,this.mountCount===0&&((t=this.unsubscribeFocus)==null||t.call(this),this.unsubscribeFocus=void 0,(n=this.unsubscribeOnline)==null||n.call(this),this.unsubscribeOnline=void 0)}isFetching(t,n){const[r]=Or(t,n);return r.fetchStatus="fetching",this.queryCache.findAll(r).length}isMutating(t){return this.mutationCache.findAll({...t,fetching:!0}).length}getQueryData(t,n){var r;return(r=this.queryCache.find(t,n))==null?void 0:r.state.data}ensureQueryData(t,n,r){const o=ki(t,n,r),s=this.getQueryData(o.queryKey);return s?Promise.resolve(s):this.fetchQuery(o)}getQueriesData(t){return this.getQueryCache().findAll(t).map(({queryKey:n,state:r})=>{const o=r.data;return[n,o]})}setQueryData(t,n,r){const o=this.queryCache.find(t),s=o==null?void 0:o.state.data,i=$4(n,s);if(typeof i>"u")return;const a=ki(t),l=this.defaultQueryOptions(a);return this.queryCache.build(this,l).setData(i,{...r,manual:!0})}setQueriesData(t,n,r){return ft.batch(()=>this.getQueryCache().findAll(t).map(({queryKey:o})=>[o,this.setQueryData(o,n,r)]))}getQueryState(t,n){var r;return(r=this.queryCache.find(t,n))==null?void 0:r.state}removeQueries(t,n){const[r]=Or(t,n),o=this.queryCache;ft.batch(()=>{o.findAll(r).forEach(s=>{o.remove(s)})})}resetQueries(t,n,r){const[o,s]=Or(t,n,r),i=this.queryCache,a={type:"active",...o};return ft.batch(()=>(i.findAll(o).forEach(l=>{l.reset()}),this.refetchQueries(a,s)))}cancelQueries(t,n,r){const[o,s={}]=Or(t,n,r);typeof s.revert>"u"&&(s.revert=!0);const i=ft.batch(()=>this.queryCache.findAll(o).map(a=>a.cancel(s)));return Promise.all(i).then(xn).catch(xn)}invalidateQueries(t,n,r){const[o,s]=Or(t,n,r);return ft.batch(()=>{var i,a;if(this.queryCache.findAll(o).forEach(u=>{u.invalidate()}),o.refetchType==="none")return Promise.resolve();const l={...o,type:(i=(a=o.refetchType)!=null?a:o.type)!=null?i:"active"};return this.refetchQueries(l,s)})}refetchQueries(t,n,r){const[o,s]=Or(t,n,r),i=ft.batch(()=>this.queryCache.findAll(o).filter(l=>!l.isDisabled()).map(l=>{var u;return l.fetch(void 0,{...s,cancelRefetch:(u=s==null?void 0:s.cancelRefetch)!=null?u:!0,meta:{refetchPage:o.refetchPage}})}));let a=Promise.all(i).then(xn);return s!=null&&s.throwOnError||(a=a.catch(xn)),a}fetchQuery(t,n,r){const o=ki(t,n,r),s=this.defaultQueryOptions(o);typeof s.retry>"u"&&(s.retry=!1);const i=this.queryCache.build(this,s);return i.isStaleByTime(s.staleTime)?i.fetch(s):Promise.resolve(i.state.data)}prefetchQuery(t,n,r){return this.fetchQuery(t,n,r).then(xn).catch(xn)}fetchInfiniteQuery(t,n,r){const o=ki(t,n,r);return o.behavior=q4(),this.fetchQuery(o)}prefetchInfiniteQuery(t,n,r){return this.fetchInfiniteQuery(t,n,r).then(xn).catch(xn)}resumePausedMutations(){return this.mutationCache.resumePausedMutations()}getQueryCache(){return this.queryCache}getMutationCache(){return this.mutationCache}getLogger(){return this.logger}getDefaultOptions(){return this.defaultOptions}setDefaultOptions(t){this.defaultOptions=t}setQueryDefaults(t,n){const r=this.queryDefaults.find(o=>vo(t)===vo(o.queryKey));r?r.defaultOptions=n:this.queryDefaults.push({queryKey:t,defaultOptions:n})}getQueryDefaults(t){if(!t)return;const n=this.queryDefaults.find(r=>wu(t,r.queryKey));return n==null?void 0:n.defaultOptions}setMutationDefaults(t,n){const r=this.mutationDefaults.find(o=>vo(t)===vo(o.mutationKey));r?r.defaultOptions=n:this.mutationDefaults.push({mutationKey:t,defaultOptions:n})}getMutationDefaults(t){if(!t)return;const n=this.mutationDefaults.find(r=>wu(t,r.mutationKey));return n==null?void 0:n.defaultOptions}defaultQueryOptions(t){if(t!=null&&t._defaulted)return t;const n={...this.defaultOptions.queries,...this.getQueryDefaults(t==null?void 0:t.queryKey),...t,_defaulted:!0};return!n.queryHash&&n.queryKey&&(n.queryHash=Im(n.queryKey,n)),typeof n.refetchOnReconnect>"u"&&(n.refetchOnReconnect=n.networkMode!=="always"),typeof n.useErrorBoundary>"u"&&(n.useErrorBoundary=!!n.suspense),n}defaultMutationOptions(t){return t!=null&&t._defaulted?t:{...this.defaultOptions.mutations,...this.getMutationDefaults(t==null?void 0:t.mutationKey),...t,_defaulted:!0}}clear(){this.queryCache.clear(),this.mutationCache.clear()}}class Q4 extends Ws{constructor(t,n){super(),this.client=t,this.options=n,this.trackedProps=new Set,this.selectError=null,this.bindMethods(),this.setOptions(n)}bindMethods(){this.remove=this.remove.bind(this),this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.currentQuery.addObserver(this),Qg(this.currentQuery,this.options)&&this.executeFetch(),this.updateTimers())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Bp(this.currentQuery,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Bp(this.currentQuery,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.clearStaleTimeout(),this.clearRefetchInterval(),this.currentQuery.removeObserver(this)}setOptions(t,n){const r=this.options,o=this.currentQuery;if(this.options=this.client.defaultQueryOptions(t),Ru(r,this.options)||this.client.getQueryCache().notify({type:"observerOptionsUpdated",query:this.currentQuery,observer:this}),typeof this.options.enabled<"u"&&typeof this.options.enabled!="boolean")throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=r.queryKey),this.updateQuery();const s=this.hasListeners();s&&Xg(this.currentQuery,o,this.options,r)&&this.executeFetch(),this.updateResult(n),s&&(this.currentQuery!==o||this.options.enabled!==r.enabled||this.options.staleTime!==r.staleTime)&&this.updateStaleTimeout();const i=this.computeRefetchInterval();s&&(this.currentQuery!==o||this.options.enabled!==r.enabled||i!==this.currentRefetchInterval)&&this.updateRefetchInterval(i)}getOptimisticResult(t){const n=this.client.getQueryCache().build(this.client,t),r=this.createResult(n,t);return Y4(this,r,t)&&(this.currentResult=r,this.currentResultOptions=this.options,this.currentResultState=this.currentQuery.state),r}getCurrentResult(){return this.currentResult}trackResult(t){const n={};return Object.keys(t).forEach(r=>{Object.defineProperty(n,r,{configurable:!1,enumerable:!0,get:()=>(this.trackedProps.add(r),t[r])})}),n}getCurrentQuery(){return this.currentQuery}remove(){this.client.getQueryCache().remove(this.currentQuery)}refetch({refetchPage:t,...n}={}){return this.fetch({...n,meta:{refetchPage:t}})}fetchOptimistic(t){const n=this.client.defaultQueryOptions(t),r=this.client.getQueryCache().build(this.client,n);return r.isFetchingOptimistic=!0,r.fetch().then(()=>this.createResult(r,n))}fetch(t){var n;return this.executeFetch({...t,cancelRefetch:(n=t.cancelRefetch)!=null?n:!0}).then(()=>(this.updateResult(),this.currentResult))}executeFetch(t){this.updateQuery();let n=this.currentQuery.fetch(this.options,t);return t!=null&&t.throwOnError||(n=n.catch(xn)),n}updateStaleTimeout(){if(this.clearStaleTimeout(),ma||this.currentResult.isStale||!Fp(this.options.staleTime))return;const n=fw(this.currentResult.dataUpdatedAt,this.options.staleTime)+1;this.staleTimeoutId=setTimeout(()=>{this.currentResult.isStale||this.updateResult()},n)}computeRefetchInterval(){var t;return typeof this.options.refetchInterval=="function"?this.options.refetchInterval(this.currentResult.data,this.currentQuery):(t=this.options.refetchInterval)!=null?t:!1}updateRefetchInterval(t){this.clearRefetchInterval(),this.currentRefetchInterval=t,!(ma||this.options.enabled===!1||!Fp(this.currentRefetchInterval)||this.currentRefetchInterval===0)&&(this.refetchIntervalId=setInterval(()=>{(this.options.refetchIntervalInBackground||Cu.isFocused())&&this.executeFetch()},this.currentRefetchInterval))}updateTimers(){this.updateStaleTimeout(),this.updateRefetchInterval(this.computeRefetchInterval())}clearStaleTimeout(){this.staleTimeoutId&&(clearTimeout(this.staleTimeoutId),this.staleTimeoutId=void 0)}clearRefetchInterval(){this.refetchIntervalId&&(clearInterval(this.refetchIntervalId),this.refetchIntervalId=void 0)}createResult(t,n){const r=this.currentQuery,o=this.options,s=this.currentResult,i=this.currentResultState,a=this.currentResultOptions,l=t!==r,u=l?t.state:this.currentQueryInitialState,c=l?this.currentResult:this.previousQueryResult,{state:d}=t;let{dataUpdatedAt:f,error:S,errorUpdatedAt:h,fetchStatus:m,status:w}=d,y=!1,p=!1,v;if(n._optimisticResults){const T=this.hasListeners(),M=!T&&Qg(t,n),$=T&&Xg(t,r,n,o);(M||$)&&(m=cd(t.options.networkMode)?"fetching":"paused",f||(w="loading")),n._optimisticResults==="isRestoring"&&(m="idle")}if(n.keepPreviousData&&!d.dataUpdatedAt&&c!=null&&c.isSuccess&&w!=="error")v=c.data,f=c.dataUpdatedAt,w=c.status,y=!0;else if(n.select&&typeof d.data<"u")if(s&&d.data===(i==null?void 0:i.data)&&n.select===this.selectFn)v=this.selectResult;else try{this.selectFn=n.select,v=n.select(d.data),v=jp(s==null?void 0:s.data,v,n),this.selectResult=v,this.selectError=null}catch(T){this.selectError=T}else v=d.data;if(typeof n.placeholderData<"u"&&typeof v>"u"&&w==="loading"){let T;if(s!=null&&s.isPlaceholderData&&n.placeholderData===(a==null?void 0:a.placeholderData))T=s.data;else if(T=typeof n.placeholderData=="function"?n.placeholderData():n.placeholderData,n.select&&typeof T<"u")try{T=n.select(T),this.selectError=null}catch(M){this.selectError=M}typeof T<"u"&&(w="success",v=jp(s==null?void 0:s.data,T,n),p=!0)}this.selectError&&(S=this.selectError,v=this.selectResult,h=Date.now(),w="error");const x=m==="fetching",C=w==="loading",E=w==="error";return{status:w,fetchStatus:m,isLoading:C,isSuccess:w==="success",isError:E,isInitialLoading:C&&x,data:v,dataUpdatedAt:f,error:S,errorUpdatedAt:h,failureCount:d.fetchFailureCount,failureReason:d.fetchFailureReason,errorUpdateCount:d.errorUpdateCount,isFetched:d.dataUpdateCount>0||d.errorUpdateCount>0,isFetchedAfterMount:d.dataUpdateCount>u.dataUpdateCount||d.errorUpdateCount>u.errorUpdateCount,isFetching:x,isRefetching:x&&!C,isLoadingError:E&&d.dataUpdatedAt===0,isPaused:m==="paused",isPlaceholderData:p,isPreviousData:y,isRefetchError:E&&d.dataUpdatedAt!==0,isStale:Dm(t,n),refetch:this.refetch,remove:this.remove}}updateResult(t){const n=this.currentResult,r=this.createResult(this.currentQuery,this.options);if(this.currentResultState=this.currentQuery.state,this.currentResultOptions=this.options,Ru(r,n))return;this.currentResult=r;const o={cache:!0},s=()=>{if(!n)return!0;const{notifyOnChangeProps:i}=this.options,a=typeof i=="function"?i():i;if(a==="all"||!a&&!this.trackedProps.size)return!0;const l=new Set(a??this.trackedProps);return this.options.useErrorBoundary&&l.add("error"),Object.keys(this.currentResult).some(u=>{const c=u;return this.currentResult[c]!==n[c]&&l.has(c)})};(t==null?void 0:t.listeners)!==!1&&s()&&(o.listeners=!0),this.notify({...o,...t})}updateQuery(){const t=this.client.getQueryCache().build(this.client,this.options);if(t===this.currentQuery)return;const n=this.currentQuery;this.currentQuery=t,this.currentQueryInitialState=t.state,this.previousQueryResult=this.currentResult,this.hasListeners()&&(n==null||n.removeObserver(this),t.addObserver(this))}onQueryUpdate(t){const n={};t.type==="success"?n.onSuccess=!t.manual:t.type==="error"&&!Ol(t.error)&&(n.onError=!0),this.updateResult(n),this.hasListeners()&&this.updateTimers()}notify(t){ft.batch(()=>{if(t.onSuccess){var n,r,o,s;(n=(r=this.options).onSuccess)==null||n.call(r,this.currentResult.data),(o=(s=this.options).onSettled)==null||o.call(s,this.currentResult.data,null)}else if(t.onError){var i,a,l,u;(i=(a=this.options).onError)==null||i.call(a,this.currentResult.error),(l=(u=this.options).onSettled)==null||l.call(u,void 0,this.currentResult.error)}t.listeners&&this.listeners.forEach(({listener:c})=>{c(this.currentResult)}),t.cache&&this.client.getQueryCache().notify({query:this.currentQuery,type:"observerResultsUpdated"})})}}function X4(e,t){return t.enabled!==!1&&!e.state.dataUpdatedAt&&!(e.state.status==="error"&&t.retryOnMount===!1)}function Qg(e,t){return X4(e,t)||e.state.dataUpdatedAt>0&&Bp(e,t,t.refetchOnMount)}function Bp(e,t,n){if(t.enabled!==!1){const r=typeof n=="function"?n(e):n;return r==="always"||r!==!1&&Dm(e,t)}return!1}function Xg(e,t,n,r){return n.enabled!==!1&&(e!==t||r.enabled===!1)&&(!n.suspense||e.state.status!=="error")&&Dm(e,n)}function Dm(e,t){return e.isStaleByTime(t.staleTime)}function Y4(e,t,n){return n.keepPreviousData?!1:n.placeholderData!==void 0?t.isPlaceholderData:!Ru(e.getCurrentResult(),t)}let J4=class extends Ws{constructor(t,n){super(),this.client=t,this.setOptions(n),this.bindMethods(),this.updateResult()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){var n;const r=this.options;this.options=this.client.defaultMutationOptions(t),Ru(r,this.options)||this.client.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.currentMutation,observer:this}),(n=this.currentMutation)==null||n.setOptions(this.options)}onUnsubscribe(){if(!this.hasListeners()){var t;(t=this.currentMutation)==null||t.removeObserver(this)}}onMutationUpdate(t){this.updateResult();const n={listeners:!0};t.type==="success"?n.onSuccess=!0:t.type==="error"&&(n.onError=!0),this.notify(n)}getCurrentResult(){return this.currentResult}reset(){this.currentMutation=void 0,this.updateResult(),this.notify({listeners:!0})}mutate(t,n){return this.mutateOptions=n,this.currentMutation&&this.currentMutation.removeObserver(this),this.currentMutation=this.client.getMutationCache().build(this.client,{...this.options,variables:typeof t<"u"?t:this.options.variables}),this.currentMutation.addObserver(this),this.currentMutation.execute()}updateResult(){const t=this.currentMutation?this.currentMutation.state:Sw(),n={...t,isLoading:t.status==="loading",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset};this.currentResult=n}notify(t){ft.batch(()=>{if(this.mutateOptions&&this.hasListeners()){if(t.onSuccess){var n,r,o,s;(n=(r=this.mutateOptions).onSuccess)==null||n.call(r,this.currentResult.data,this.currentResult.variables,this.currentResult.context),(o=(s=this.mutateOptions).onSettled)==null||o.call(s,this.currentResult.data,null,this.currentResult.variables,this.currentResult.context)}else if(t.onError){var i,a,l,u;(i=(a=this.mutateOptions).onError)==null||i.call(a,this.currentResult.error,this.currentResult.variables,this.currentResult.context),(l=(u=this.mutateOptions).onSettled)==null||l.call(u,void 0,this.currentResult.error,this.currentResult.variables,this.currentResult.context)}}t.listeners&&this.listeners.forEach(({listener:c})=>{c(this.currentResult)})})}};var bw={exports:{}},xw={};/** * @license React * use-sync-external-store-shim.production.min.js * @@ -154,13 +163,13 @@ Error generating stack: `+i.message+` * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var oi=T;function iF(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var sF=typeof Object.is=="function"?Object.is:iF,aF=oi.useState,lF=oi.useEffect,uF=oi.useLayoutEffect,cF=oi.useDebugValue;function dF(e,t){var n=t(),r=aF({inst:{value:n,getSnapshot:t}}),o=r[0].inst,i=r[1];return uF(function(){o.value=n,o.getSnapshot=t,Bc(o)&&i({inst:o})},[e,n,t]),lF(function(){return Bc(o)&&i({inst:o}),e(function(){Bc(o)&&i({inst:o})})},[e]),cF(n),n}function Bc(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!sF(e,n)}catch{return!0}}function fF(e,t){return t()}var hF=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?fF:dF;OS.useSyncExternalStore=oi.useSyncExternalStore!==void 0?oi.useSyncExternalStore:hF;PS.exports=OS;var pF=PS.exports;const LS=pF.useSyncExternalStore,jy=T.createContext(void 0),FS=T.createContext(!1);function MS(e,t){return e||(t&&typeof window<"u"?(window.ReactQueryClientContext||(window.ReactQueryClientContext=jy),window.ReactQueryClientContext):jy)}const Ju=({context:e}={})=>{const t=T.useContext(MS(e,T.useContext(FS)));if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},mF=({client:e,children:t,context:n,contextSharing:r=!1})=>{T.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]);const o=MS(n,r);return T.createElement(FS.Provider,{value:!n&&r},T.createElement(o.Provider,{value:e},t))},DS=T.createContext(!1),yF=()=>T.useContext(DS);DS.Provider;function vF(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}const gF=T.createContext(vF()),SF=()=>T.useContext(gF);function IS(e,t){return typeof e=="function"?e(...t):!!e}const wF=(e,t)=>{(e.suspense||e.useErrorBoundary)&&(t.isReset()||(e.retryOnMount=!1))},_F=e=>{T.useEffect(()=>{e.clearReset()},[e])},RF=({result:e,errorResetBoundary:t,useErrorBoundary:n,query:r})=>e.isError&&!t.isReset()&&!e.isFetching&&IS(n,[e.error,r]),bF=e=>{e.suspense&&typeof e.staleTime!="number"&&(e.staleTime=1e3)},xF=(e,t)=>e.isLoading&&e.isFetching&&!t,EF=(e,t,n)=>(e==null?void 0:e.suspense)&&xF(t,n),CF=(e,t,n)=>t.fetchOptimistic(e).then(({data:r})=>{e.onSuccess==null||e.onSuccess(r),e.onSettled==null||e.onSettled(r,null)}).catch(r=>{n.clearReset(),e.onError==null||e.onError(r),e.onSettled==null||e.onSettled(void 0,r)});function TF(e,t){const n=Ju({context:e.context}),r=yF(),o=SF(),i=n.defaultQueryOptions(e);i._optimisticResults=r?"isRestoring":"optimistic",i.onError&&(i.onError=Xe.batchCalls(i.onError)),i.onSuccess&&(i.onSuccess=Xe.batchCalls(i.onSuccess)),i.onSettled&&(i.onSettled=Xe.batchCalls(i.onSettled)),bF(i),wF(i,o),_F(o);const[s]=T.useState(()=>new t(n,i)),a=s.getOptimisticResult(i);if(LS(T.useCallback(l=>{const u=r?()=>{}:s.subscribe(Xe.batchCalls(l));return s.updateResult(),u},[s,r]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),T.useEffect(()=>{s.setOptions(i,{listeners:!1})},[i,s]),EF(i,a,r))throw CF(i,s,o);if(RF({result:a,errorResetBoundary:o,useErrorBoundary:i.useErrorBoundary,query:s.getCurrentQuery()}))throw a.error;return i.notifyOnChangeProps?a:s.trackResult(a)}function Kr(e,t,n){const r=Vi(e,t,n);return TF(r,tF)}function Fl(e,t,n){const r=UL(e,t,n),o=Ju({context:r.context}),[i]=T.useState(()=>new oF(o,r));T.useEffect(()=>{i.setOptions(r)},[i,r]);const s=LS(T.useCallback(l=>i.subscribe(Xe.batchCalls(l)),[i]),()=>i.getCurrentResult(),()=>i.getCurrentResult()),a=T.useCallback((l,u)=>{i.mutate(l,u).catch(kF)},[i]);if(s.error&&IS(i.options.useErrorBoundary,[s.error]))throw s.error;return{...s,mutate:a,mutateAsync:s.mutate}}function kF(){}var $S={exports:{}};/*! + */var Os=b;function Z4(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var e3=typeof Object.is=="function"?Object.is:Z4,t3=Os.useState,n3=Os.useEffect,r3=Os.useLayoutEffect,o3=Os.useDebugValue;function s3(e,t){var n=t(),r=t3({inst:{value:n,getSnapshot:t}}),o=r[0].inst,s=r[1];return r3(function(){o.value=n,o.getSnapshot=t,cf(o)&&s({inst:o})},[e,n,t]),n3(function(){return cf(o)&&s({inst:o}),e(function(){cf(o)&&s({inst:o})})},[e]),o3(n),n}function cf(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!e3(e,n)}catch{return!0}}function i3(e,t){return t()}var a3=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?i3:s3;xw.useSyncExternalStore=Os.useSyncExternalStore!==void 0?Os.useSyncExternalStore:a3;bw.exports=xw;var l3=bw.exports;const ww=l3.useSyncExternalStore,Yg=b.createContext(void 0),Rw=b.createContext(!1);function Cw(e,t){return e||(t&&typeof window<"u"?(window.ReactQueryClientContext||(window.ReactQueryClientContext=Yg),window.ReactQueryClientContext):Yg)}const dd=({context:e}={})=>{const t=b.useContext(Cw(e,b.useContext(Rw)));if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},u3=({client:e,children:t,context:n,contextSharing:r=!1})=>{b.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]);const o=Cw(n,r);return b.createElement(Rw.Provider,{value:!n&&r},b.createElement(o.Provider,{value:e},t))},Ew=b.createContext(!1),c3=()=>b.useContext(Ew);Ew.Provider;function d3(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}const f3=b.createContext(d3()),p3=()=>b.useContext(f3);function _w(e,t){return typeof e=="function"?e(...t):!!e}const h3=(e,t)=>{(e.suspense||e.useErrorBoundary)&&(t.isReset()||(e.retryOnMount=!1))},m3=e=>{b.useEffect(()=>{e.clearReset()},[e])},v3=({result:e,errorResetBoundary:t,useErrorBoundary:n,query:r})=>e.isError&&!t.isReset()&&!e.isFetching&&_w(n,[e.error,r]),y3=e=>{e.suspense&&typeof e.staleTime!="number"&&(e.staleTime=1e3)},g3=(e,t)=>e.isLoading&&e.isFetching&&!t,S3=(e,t,n)=>(e==null?void 0:e.suspense)&&g3(t,n),b3=(e,t,n)=>t.fetchOptimistic(e).then(({data:r})=>{e.onSuccess==null||e.onSuccess(r),e.onSettled==null||e.onSettled(r,null)}).catch(r=>{n.clearReset(),e.onError==null||e.onError(r),e.onSettled==null||e.onSettled(void 0,r)});function x3(e,t){const n=dd({context:e.context}),r=c3(),o=p3(),s=n.defaultQueryOptions(e);s._optimisticResults=r?"isRestoring":"optimistic",s.onError&&(s.onError=ft.batchCalls(s.onError)),s.onSuccess&&(s.onSuccess=ft.batchCalls(s.onSuccess)),s.onSettled&&(s.onSettled=ft.batchCalls(s.onSettled)),y3(s),h3(s,o),m3(o);const[i]=b.useState(()=>new t(n,s)),a=i.getOptimisticResult(s);if(ww(b.useCallback(l=>{const u=r?()=>{}:i.subscribe(ft.batchCalls(l));return i.updateResult(),u},[i,r]),()=>i.getCurrentResult(),()=>i.getCurrentResult()),b.useEffect(()=>{i.setOptions(s,{listeners:!1})},[s,i]),S3(s,a,r))throw b3(s,i,o);if(v3({result:a,errorResetBoundary:o,useErrorBoundary:s.useErrorBoundary,query:i.getCurrentQuery()}))throw a.error;return s.notifyOnChangeProps?a:i.trackResult(a)}function yo(e,t,n){const r=ki(e,t,n);return x3(r,Q4)}function Ls(e,t,n){const r=M4(e,t,n),o=dd({context:r.context}),[s]=b.useState(()=>new J4(o,r));b.useEffect(()=>{s.setOptions(r)},[s,r]);const i=ww(b.useCallback(l=>s.subscribe(ft.batchCalls(l)),[s]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),a=b.useCallback((l,u)=>{s.mutate(l,u).catch(w3)},[s]);if(i.error&&_w(s.options.useErrorBoundary,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}function w3(){}var jm={},kw={exports:{}};(function(e){function t(n){return n&&n.__esModule?n:{default:n}}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports})(kw);var Hs=kw.exports,df={};const R3=SR(kk);var Jg;function qs(){return Jg||(Jg=1,function(e){"use client";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.createSvgIcon}});var t=R3}(df)),df}var C3=Hs;Object.defineProperty(jm,"__esModule",{value:!0});var fd=jm.default=void 0,E3=C3(qs()),_3=g;fd=jm.default=(0,E3.default)((0,_3.jsx)("path",{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"}),"ArrowBack");var Tw={exports:{}};/*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames -*/(function(e){(function(){var t={}.hasOwnProperty;function n(){for(var i="",s=0;s{const r=lo("alert",{"alert-success":t==="success","alert-warning":t==="warning","alert-error":t==="error","alert-info":t==="info"});return g.jsx("div",{id:e,className:r,children:g.jsx("div",{className:"alert-body",children:g.jsx("p",{className:"alert-text",children:n})})})},Ka=({id:e=void 0,className:t,children:n})=>{const r=lo("button-group",t);return g.jsx("ul",{id:e,className:r,children:T.Children.map(n,(o,i)=>g.jsx("li",{className:"button-group-item",children:o},i))})};function PF({title:e,titleId:t,...n},r){return T.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:r,"aria-labelledby":t},n),e?T.createElement("title",{id:t},e):null,T.createElement("path",{fillRule:"evenodd",d:"M4.5 12a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm6 0a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm6 0a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z",clipRule:"evenodd"}))}const OF=T.forwardRef(PF),LF=OF;function FF({title:e,titleId:t,...n},r){return T.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:r,"aria-labelledby":t},n),e?T.createElement("title",{id:t},e):null,T.createElement("path",{fillRule:"evenodd",d:"M1.5 6a2.25 2.25 0 0 1 2.25-2.25h16.5A2.25 2.25 0 0 1 22.5 6v12a2.25 2.25 0 0 1-2.25 2.25H3.75A2.25 2.25 0 0 1 1.5 18V6ZM3 16.06V18c0 .414.336.75.75.75h16.5A.75.75 0 0 0 21 18v-1.94l-2.69-2.689a1.5 1.5 0 0 0-2.12 0l-.88.879.97.97a.75.75 0 1 1-1.06 1.06l-5.16-5.159a1.5 1.5 0 0 0-2.12 0L3 16.061Zm10.125-7.81a1.125 1.125 0 1 1 2.25 0 1.125 1.125 0 0 1-2.25 0Z",clipRule:"evenodd"}))}const MF=T.forwardRef(FF),DF=MF;function IF({title:e,titleId:t,...n},r){return T.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:r,"aria-labelledby":t},n),e?T.createElement("title",{id:t},e):null,T.createElement("path",{fillRule:"evenodd",d:"M5.47 5.47a.75.75 0 0 1 1.06 0L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12l5.47 5.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"}))}const $F=T.forwardRef(IF),jF=$F,VF=({id:e,items:t})=>{const n=ie.useRef(null);return g.jsxs("div",{className:"context-menu-container",id:e,tabIndex:0,ref:n,children:[g.jsx(LF,{}),g.jsx("ul",{className:"context-menu",children:t.filter(r=>r.visible).map(r=>g.jsx("li",{children:g.jsx("a",{className:r.disabled?"disabled":"",onClick:o=>{var i;r.onClick&&!r.disabled&&(r.onClick(o),(i=n.current)==null||i.blur())},children:r.title})},`context-menu-item-${r.id}`))})]})},So=({id:e=void 0,errors:t,children:n})=>!n&&!t?g.jsx(g.Fragment,{}):g.jsx(g.Fragment,{children:n??(t==null?void 0:t.map((r,o)=>g.jsx("span",{id:`${e}-${o}`,className:"text-red",children:r},o)))}),An=({id:e=void 0,errors:t,className:n,children:r})=>{const o=!!(t&&t.length>0),i=lo("form-group",{"form-group-error":o},n);return g.jsx("div",{id:e,className:i,children:r})},Nn=({htmlFor:e,required:t,children:n,...r})=>g.jsxs("label",{className:"label",htmlFor:e,...r,children:[n,t&&g.jsx("span",{className:"text-red",children:" *"})]}),Ui=({title:e,setIsOpen:t,body:n,footer:r})=>g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"modal-overlay",onClick:()=>t(!1)}),g.jsx("div",{className:"modal-container",children:g.jsxs("div",{className:"modal-main",children:[g.jsxs("div",{className:"modal-heading",children:[g.jsx("h5",{className:"modal-title",children:e}),g.jsx("button",{className:"modal-close-btn",onClick:()=>t(!1),"aria-label":"Close modal",children:g.jsx(jF,{})})]}),g.jsx("div",{className:"modal-body",children:n}),r?g.jsx("div",{className:"modal-footer",children:r}):g.jsx(g.Fragment,{})]})})]}),UF=({id:e,name:t,onChange:n,onClick:r,label:o,subtext:i,value:s,checked:a})=>g.jsx("div",{className:"radio-button",children:g.jsxs("label",{htmlFor:e,children:[g.jsx("input",{className:"radio",type:"radio",id:e,name:t,value:s,checked:a,onChange:n,onClick:r}),o,g.jsx("div",{className:"subtext",children:i})]})}),zc=({id:e,options:t,className:n,onChange:r,...o})=>{const i=lo("select p-2",n);return g.jsx("select",{id:e,className:i,onChange:r,...o,children:t.map((s,a)=>g.jsx("option",{value:s.value,children:s.label},a))})},Vy=({id:e,children:t,className:n})=>{const r=lo("tag",n);return g.jsx("span",{id:e,className:r,children:t})},BF=({id:e,rows:t,className:n,onChange:r,...o})=>g.jsx("textarea",{className:lo("text-area p-2",n),id:e,rows:t,onChange:r,...o}),Bi=({id:e,name:t,className:n,type:r,onChange:o,...i})=>{const s=lo("text-input p-2",n);return g.jsx("input",{id:e,name:t,className:s,type:r,onChange:o,...i})},zF=({id:e,name:t,currentImage:n,setCurrentImage:r,currentFile:o,setCurrentFile:i,...s})=>{const[a,l]=T.useState(!1),u=T.useRef(null),d=m=>{m.preventDefault(),l(!0)},c=m=>{m.preventDefault(),l(!0)},h=m=>{m.preventDefault(),l(!1)},S=m=>{m.preventDefault(),l(!1);const f=m.dataTransfer.files[0];i(f)},y=m=>{if(!m.target.files)return;const f=m.target.files[0];i(f)},p=m=>{m.preventDefault();const f=u.current;f&&f.click()},_=m=>{m.preventDefault();const f=u.current;f&&(f.value="",i(void 0),r(void 0))};return T.useEffect(()=>{const m=u.current;if(m&&m.files&&m.files.length>0){const f=m.files[0];i(f)}},[u,i]),g.jsxs("div",{id:`thumbnail-${e}`,className:"thumbnail",children:[g.jsxs("div",{id:`thumbnail-body-${e}`,className:`thumbnail-body ${a?"dragging":""} ${o||n?"bg-white":""}`,onDragOver:d,onDragEnter:c,onDragLeave:h,onDrop:S,children:[o||n?g.jsxs("div",{children:[g.jsx("img",{src:o?URL.createObjectURL(o):n,alt:"App thumnail"}),g.jsx("p",{children:o==null?void 0:o.name})]}):g.jsx("div",{className:"thumbnail-icon-container",tabIndex:0,onClick:p,children:g.jsx(DF,{className:"thumbnail-icon"})}),g.jsx("input",{ref:u,id:e,name:t,type:"file",accept:"image/*",onChange:y,style:{display:"none"},...s})]}),g.jsxs("div",{className:"thumbnail-actions",children:[g.jsx(ln,{id:"upload-thumbnail-btn",variant:"contained",size:"small",onClick:p,children:"Upload Thumbnail"}),g.jsx(ln,{id:"remove-thumbnail-btn",variant:"contained",size:"small",onClick:_,disabled:!o&&!n,children:"Remove Thumbnail"})]})]})},WF=({id:e,name:t,checked:n=!1,label:r,ariaLabel:o,onChange:i})=>{const[s,a]=T.useState(!1),l=u=>{a(!s),i&&i(u)};return T.useEffect(()=>{a(n)},[n]),g.jsx("div",{className:"toggle flex items-center",children:g.jsxs("label",{htmlFor:e,className:"flex items-center cursor-pointer",tabIndex:0,"aria-label":o,children:[g.jsxs("div",{className:"relative",children:[g.jsx("input",{type:"checkbox",id:e,name:t,className:"sr-only",checked:s,onChange:l,tabIndex:-1}),g.jsx("div",{className:`toggle-body w-12 h-6 rounded-full shadow-inner ${s?"toggle-body-on":""}`}),g.jsx("div",{className:`toggle-dot absolute w-6 h-6 rounded-full shadow inset-y-0 left-0 ${s?"ml-6":"ml-0"}`})]}),r&&g.jsx("span",{className:"toggle-label ml-3",children:r})]})})};tp({key:"currentUser",default:void 0});const ip=tp({key:"currentJhData",default:{admin_access:!1,base_url:"/hub",options_form:!1,prefix:"/",user:"",xsrf_token:""}}),zs=tp({key:"currentNotification",default:void 0});function jS(e,t){return function(){return e.apply(t,arguments)}}const{toString:HF}=Object.prototype,{getPrototypeOf:sp}=Object,ec=(e=>t=>{const n=HF.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),zn=e=>(e=e.toLowerCase(),t=>ec(t)===e),tc=e=>t=>typeof t===e,{isArray:pi}=Array,Cs=tc("undefined");function KF(e){return e!==null&&!Cs(e)&&e.constructor!==null&&!Cs(e.constructor)&&hn(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const VS=zn("ArrayBuffer");function qF(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&VS(e.buffer),t}const QF=tc("string"),hn=tc("function"),US=tc("number"),nc=e=>e!==null&&typeof e=="object",GF=e=>e===!0||e===!1,qa=e=>{if(ec(e)!=="object")return!1;const t=sp(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},XF=zn("Date"),YF=zn("File"),ZF=zn("Blob"),JF=zn("FileList"),eM=e=>nc(e)&&hn(e.pipe),tM=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||hn(e.append)&&((t=ec(e))==="formdata"||t==="object"&&hn(e.toString)&&e.toString()==="[object FormData]"))},nM=zn("URLSearchParams"),rM=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function Ws(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,o;if(typeof e!="object"&&(e=[e]),pi(e))for(r=0,o=e.length;r0;)if(o=n[r],t===o.toLowerCase())return o;return null}const zS=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,WS=e=>!Cs(e)&&e!==zS;function pf(){const{caseless:e}=WS(this)&&this||{},t={},n=(r,o)=>{const i=e&&BS(t,o)||o;qa(t[i])&&qa(r)?t[i]=pf(t[i],r):qa(r)?t[i]=pf({},r):pi(r)?t[i]=r.slice():t[i]=r};for(let r=0,o=arguments.length;r(Ws(t,(o,i)=>{n&&hn(o)?e[i]=jS(o,n):e[i]=o},{allOwnKeys:r}),e),iM=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),sM=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},aM=(e,t,n,r)=>{let o,i,s;const a={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),i=o.length;i-- >0;)s=o[i],(!r||r(s,e,t))&&!a[s]&&(t[s]=e[s],a[s]=!0);e=n!==!1&&sp(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},lM=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},uM=e=>{if(!e)return null;if(pi(e))return e;let t=e.length;if(!US(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},cM=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&sp(Uint8Array)),dM=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let o;for(;(o=r.next())&&!o.done;){const i=o.value;t.call(e,i[0],i[1])}},fM=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},hM=zn("HTMLFormElement"),pM=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,o){return r.toUpperCase()+o}),Uy=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),mM=zn("RegExp"),HS=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};Ws(n,(o,i)=>{let s;(s=t(o,i,e))!==!1&&(r[i]=s||o)}),Object.defineProperties(e,r)},yM=e=>{HS(e,(t,n)=>{if(hn(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(hn(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},vM=(e,t)=>{const n={},r=o=>{o.forEach(i=>{n[i]=!0})};return pi(e)?r(e):r(String(e).split(t)),n},gM=()=>{},SM=(e,t)=>(e=+e,Number.isFinite(e)?e:t),Wc="abcdefghijklmnopqrstuvwxyz",By="0123456789",KS={DIGIT:By,ALPHA:Wc,ALPHA_DIGIT:Wc+Wc.toUpperCase()+By},wM=(e=16,t=KS.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n};function _M(e){return!!(e&&hn(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const RM=e=>{const t=new Array(10),n=(r,o)=>{if(nc(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[o]=r;const i=pi(r)?[]:{};return Ws(r,(s,a)=>{const l=n(s,o+1);!Cs(l)&&(i[a]=l)}),t[o]=void 0,i}}return r};return n(e,0)},bM=zn("AsyncFunction"),xM=e=>e&&(nc(e)||hn(e))&&hn(e.then)&&hn(e.catch),L={isArray:pi,isArrayBuffer:VS,isBuffer:KF,isFormData:tM,isArrayBufferView:qF,isString:QF,isNumber:US,isBoolean:GF,isObject:nc,isPlainObject:qa,isUndefined:Cs,isDate:XF,isFile:YF,isBlob:ZF,isRegExp:mM,isFunction:hn,isStream:eM,isURLSearchParams:nM,isTypedArray:cM,isFileList:JF,forEach:Ws,merge:pf,extend:oM,trim:rM,stripBOM:iM,inherits:sM,toFlatObject:aM,kindOf:ec,kindOfTest:zn,endsWith:lM,toArray:uM,forEachEntry:dM,matchAll:fM,isHTMLForm:hM,hasOwnProperty:Uy,hasOwnProp:Uy,reduceDescriptors:HS,freezeMethods:yM,toObjectSet:vM,toCamelCase:pM,noop:gM,toFiniteNumber:SM,findKey:BS,global:zS,isContextDefined:WS,ALPHABET:KS,generateString:wM,isSpecCompliantForm:_M,toJSONObject:RM,isAsyncFn:bM,isThenable:xM};function Ee(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}L.inherits(Ee,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:L.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const qS=Ee.prototype,QS={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{QS[e]={value:e}});Object.defineProperties(Ee,QS);Object.defineProperty(qS,"isAxiosError",{value:!0});Ee.from=(e,t,n,r,o,i)=>{const s=Object.create(qS);return L.toFlatObject(e,s,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),Ee.call(s,e.message,t,n,r,o),s.cause=e,s.name=e.name,i&&Object.assign(s,i),s};const EM=null;function mf(e){return L.isPlainObject(e)||L.isArray(e)}function GS(e){return L.endsWith(e,"[]")?e.slice(0,-2):e}function zy(e,t,n){return e?e.concat(t).map(function(o,i){return o=GS(o),!n&&i?"["+o+"]":o}).join(n?".":""):t}function CM(e){return L.isArray(e)&&!e.some(mf)}const TM=L.toFlatObject(L,{},null,function(t){return/^is[A-Z]/.test(t)});function rc(e,t,n){if(!L.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=L.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(p,_){return!L.isUndefined(_[p])});const r=n.metaTokens,o=n.visitor||d,i=n.dots,s=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&L.isSpecCompliantForm(t);if(!L.isFunction(o))throw new TypeError("visitor must be a function");function u(y){if(y===null)return"";if(L.isDate(y))return y.toISOString();if(!l&&L.isBlob(y))throw new Ee("Blob is not supported. Use a Buffer instead.");return L.isArrayBuffer(y)||L.isTypedArray(y)?l&&typeof Blob=="function"?new Blob([y]):Buffer.from(y):y}function d(y,p,_){let m=y;if(y&&!_&&typeof y=="object"){if(L.endsWith(p,"{}"))p=r?p:p.slice(0,-2),y=JSON.stringify(y);else if(L.isArray(y)&&CM(y)||(L.isFileList(y)||L.endsWith(p,"[]"))&&(m=L.toArray(y)))return p=GS(p),m.forEach(function(v,R){!(L.isUndefined(v)||v===null)&&t.append(s===!0?zy([p],R,i):s===null?p:p+"[]",u(v))}),!1}return mf(y)?!0:(t.append(zy(_,p,i),u(y)),!1)}const c=[],h=Object.assign(TM,{defaultVisitor:d,convertValue:u,isVisitable:mf});function S(y,p){if(!L.isUndefined(y)){if(c.indexOf(y)!==-1)throw Error("Circular reference detected in "+p.join("."));c.push(y),L.forEach(y,function(m,f){(!(L.isUndefined(m)||m===null)&&o.call(t,m,L.isString(f)?f.trim():f,p,h))===!0&&S(m,p?p.concat(f):[f])}),c.pop()}}if(!L.isObject(e))throw new TypeError("data must be an object");return S(e),t}function Wy(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function ap(e,t){this._pairs=[],e&&rc(e,this,t)}const XS=ap.prototype;XS.append=function(t,n){this._pairs.push([t,n])};XS.toString=function(t){const n=t?function(r){return t.call(this,r,Wy)}:Wy;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function kM(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function YS(e,t,n){if(!t)return e;const r=n&&n.encode||kM,o=n&&n.serialize;let i;if(o?i=o(t,n):i=L.isURLSearchParams(t)?t.toString():new ap(t,n).toString(r),i){const s=e.indexOf("#");s!==-1&&(e=e.slice(0,s)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class Hy{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){L.forEach(this.handlers,function(r){r!==null&&t(r)})}}const ZS={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},AM=typeof URLSearchParams<"u"?URLSearchParams:ap,NM=typeof FormData<"u"?FormData:null,PM=typeof Blob<"u"?Blob:null,OM={isBrowser:!0,classes:{URLSearchParams:AM,FormData:NM,Blob:PM},protocols:["http","https","file","blob","url","data"]},JS=typeof window<"u"&&typeof document<"u",LM=(e=>JS&&["ReactNative","NativeScript","NS"].indexOf(e)<0)(typeof navigator<"u"&&navigator.product),FM=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",MM=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:JS,hasStandardBrowserEnv:LM,hasStandardBrowserWebWorkerEnv:FM},Symbol.toStringTag,{value:"Module"})),Dn={...MM,...OM};function DM(e,t){return rc(e,new Dn.classes.URLSearchParams,Object.assign({visitor:function(n,r,o,i){return Dn.isNode&&L.isBuffer(n)?(this.append(r,n.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)}},t))}function IM(e){return L.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function $M(e){const t={},n=Object.keys(e);let r;const o=n.length;let i;for(r=0;r=n.length;return s=!s&&L.isArray(o)?o.length:s,l?(L.hasOwnProp(o,s)?o[s]=[o[s],r]:o[s]=r,!a):((!o[s]||!L.isObject(o[s]))&&(o[s]=[]),t(n,r,o[s],i)&&L.isArray(o[s])&&(o[s]=$M(o[s])),!a)}if(L.isFormData(e)&&L.isFunction(e.entries)){const n={};return L.forEachEntry(e,(r,o)=>{t(IM(r),o,n,0)}),n}return null}function jM(e,t,n){if(L.isString(e))try{return(t||JSON.parse)(e),L.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const lp={transitional:ZS,adapter:["xhr","http"],transformRequest:[function(t,n){const r=n.getContentType()||"",o=r.indexOf("application/json")>-1,i=L.isObject(t);if(i&&L.isHTMLForm(t)&&(t=new FormData(t)),L.isFormData(t))return o?JSON.stringify(ew(t)):t;if(L.isArrayBuffer(t)||L.isBuffer(t)||L.isStream(t)||L.isFile(t)||L.isBlob(t))return t;if(L.isArrayBufferView(t))return t.buffer;if(L.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(i){if(r.indexOf("application/x-www-form-urlencoded")>-1)return DM(t,this.formSerializer).toString();if((a=L.isFileList(t))||r.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return rc(a?{"files[]":t}:t,l&&new l,this.formSerializer)}}return i||o?(n.setContentType("application/json",!1),jM(t)):t}],transformResponse:[function(t){const n=this.transitional||lp.transitional,r=n&&n.forcedJSONParsing,o=this.responseType==="json";if(t&&L.isString(t)&&(r&&!this.responseType||o)){const s=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t)}catch(a){if(s)throw a.name==="SyntaxError"?Ee.from(a,Ee.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Dn.classes.FormData,Blob:Dn.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};L.forEach(["delete","get","head","post","put","patch"],e=>{lp.headers[e]={}});const up=lp,VM=L.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),UM=e=>{const t={};let n,r,o;return e&&e.split(` -`).forEach(function(s){o=s.indexOf(":"),n=s.substring(0,o).trim().toLowerCase(),r=s.substring(o+1).trim(),!(!n||t[n]&&VM[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},Ky=Symbol("internals");function Oi(e){return e&&String(e).trim().toLowerCase()}function Qa(e){return e===!1||e==null?e:L.isArray(e)?e.map(Qa):String(e)}function BM(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const zM=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Hc(e,t,n,r,o){if(L.isFunction(r))return r.call(this,t,n);if(o&&(t=n),!!L.isString(t)){if(L.isString(r))return t.indexOf(r)!==-1;if(L.isRegExp(r))return r.test(t)}}function WM(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function HM(e,t){const n=L.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(o,i,s){return this[r].call(this,t,o,i,s)},configurable:!0})})}class oc{constructor(t){t&&this.set(t)}set(t,n,r){const o=this;function i(a,l,u){const d=Oi(l);if(!d)throw new Error("header name must be a non-empty string");const c=L.findKey(o,d);(!c||o[c]===void 0||u===!0||u===void 0&&o[c]!==!1)&&(o[c||l]=Qa(a))}const s=(a,l)=>L.forEach(a,(u,d)=>i(u,d,l));return L.isPlainObject(t)||t instanceof this.constructor?s(t,n):L.isString(t)&&(t=t.trim())&&!zM(t)?s(UM(t),n):t!=null&&i(n,t,r),this}get(t,n){if(t=Oi(t),t){const r=L.findKey(this,t);if(r){const o=this[r];if(!n)return o;if(n===!0)return BM(o);if(L.isFunction(n))return n.call(this,o,r);if(L.isRegExp(n))return n.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=Oi(t),t){const r=L.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||Hc(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let o=!1;function i(s){if(s=Oi(s),s){const a=L.findKey(r,s);a&&(!n||Hc(r,r[a],a,n))&&(delete r[a],o=!0)}}return L.isArray(t)?t.forEach(i):i(t),o}clear(t){const n=Object.keys(this);let r=n.length,o=!1;for(;r--;){const i=n[r];(!t||Hc(this,this[i],i,t,!0))&&(delete this[i],o=!0)}return o}normalize(t){const n=this,r={};return L.forEach(this,(o,i)=>{const s=L.findKey(r,i);if(s){n[s]=Qa(o),delete n[i];return}const a=t?WM(i):String(i).trim();a!==i&&delete n[i],n[a]=Qa(o),r[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return L.forEach(this,(r,o)=>{r!=null&&r!==!1&&(n[o]=t&&L.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` -`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(o=>r.set(o)),r}static accessor(t){const r=(this[Ky]=this[Ky]={accessors:{}}).accessors,o=this.prototype;function i(s){const a=Oi(s);r[a]||(HM(o,s),r[a]=!0)}return L.isArray(t)?t.forEach(i):i(t),this}}oc.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);L.reduceDescriptors(oc.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});L.freezeMethods(oc);const Jn=oc;function Kc(e,t){const n=this||up,r=t||n,o=Jn.from(r.headers);let i=r.data;return L.forEach(e,function(a){i=a.call(n,i,o.normalize(),t?t.status:void 0)}),o.normalize(),i}function tw(e){return!!(e&&e.__CANCEL__)}function Hs(e,t,n){Ee.call(this,e??"canceled",Ee.ERR_CANCELED,t,n),this.name="CanceledError"}L.inherits(Hs,Ee,{__CANCEL__:!0});function KM(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new Ee("Request failed with status code "+n.status,[Ee.ERR_BAD_REQUEST,Ee.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}const qM=Dn.hasStandardBrowserEnv?{write(e,t,n,r,o,i){const s=[e+"="+encodeURIComponent(t)];L.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),L.isString(r)&&s.push("path="+r),L.isString(o)&&s.push("domain="+o),i===!0&&s.push("secure"),document.cookie=s.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function QM(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function GM(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function nw(e,t){return e&&!QM(t)?GM(e,t):t}const XM=Dn.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let r;function o(i){let s=i;return t&&(n.setAttribute("href",s),s=n.href),n.setAttribute("href",s),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return r=o(window.location.href),function(s){const a=L.isString(s)?o(s):s;return a.protocol===r.protocol&&a.host===r.host}}():function(){return function(){return!0}}();function YM(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function ZM(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o=0,i=0,s;return t=t!==void 0?t:1e3,function(l){const u=Date.now(),d=r[i];s||(s=u),n[o]=l,r[o]=u;let c=i,h=0;for(;c!==o;)h+=n[c++],c=c%e;if(o=(o+1)%e,o===i&&(i=(i+1)%e),u-s{const i=o.loaded,s=o.lengthComputable?o.total:void 0,a=i-n,l=r(a),u=i<=s;n=i;const d={loaded:i,total:s,progress:s?i/s:void 0,bytes:a,rate:l||void 0,estimated:l&&s&&u?(s-i)/l:void 0,event:o};d[t?"download":"upload"]=!0,e(d)}}const JM=typeof XMLHttpRequest<"u",eD=JM&&function(e){return new Promise(function(n,r){let o=e.data;const i=Jn.from(e.headers).normalize();let{responseType:s,withXSRFToken:a}=e,l;function u(){e.cancelToken&&e.cancelToken.unsubscribe(l),e.signal&&e.signal.removeEventListener("abort",l)}let d;if(L.isFormData(o)){if(Dn.hasStandardBrowserEnv||Dn.hasStandardBrowserWebWorkerEnv)i.setContentType(!1);else if((d=i.getContentType())!==!1){const[p,..._]=d?d.split(";").map(m=>m.trim()).filter(Boolean):[];i.setContentType([p||"multipart/form-data",..._].join("; "))}}let c=new XMLHttpRequest;if(e.auth){const p=e.auth.username||"",_=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";i.set("Authorization","Basic "+btoa(p+":"+_))}const h=nw(e.baseURL,e.url);c.open(e.method.toUpperCase(),YS(h,e.params,e.paramsSerializer),!0),c.timeout=e.timeout;function S(){if(!c)return;const p=Jn.from("getAllResponseHeaders"in c&&c.getAllResponseHeaders()),m={data:!s||s==="text"||s==="json"?c.responseText:c.response,status:c.status,statusText:c.statusText,headers:p,config:e,request:c};KM(function(v){n(v),u()},function(v){r(v),u()},m),c=null}if("onloadend"in c?c.onloadend=S:c.onreadystatechange=function(){!c||c.readyState!==4||c.status===0&&!(c.responseURL&&c.responseURL.indexOf("file:")===0)||setTimeout(S)},c.onabort=function(){c&&(r(new Ee("Request aborted",Ee.ECONNABORTED,e,c)),c=null)},c.onerror=function(){r(new Ee("Network Error",Ee.ERR_NETWORK,e,c)),c=null},c.ontimeout=function(){let _=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const m=e.transitional||ZS;e.timeoutErrorMessage&&(_=e.timeoutErrorMessage),r(new Ee(_,m.clarifyTimeoutError?Ee.ETIMEDOUT:Ee.ECONNABORTED,e,c)),c=null},Dn.hasStandardBrowserEnv&&(a&&L.isFunction(a)&&(a=a(e)),a||a!==!1&&XM(h))){const p=e.xsrfHeaderName&&e.xsrfCookieName&&qM.read(e.xsrfCookieName);p&&i.set(e.xsrfHeaderName,p)}o===void 0&&i.setContentType(null),"setRequestHeader"in c&&L.forEach(i.toJSON(),function(_,m){c.setRequestHeader(m,_)}),L.isUndefined(e.withCredentials)||(c.withCredentials=!!e.withCredentials),s&&s!=="json"&&(c.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&c.addEventListener("progress",qy(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&c.upload&&c.upload.addEventListener("progress",qy(e.onUploadProgress)),(e.cancelToken||e.signal)&&(l=p=>{c&&(r(!p||p.type?new Hs(null,e,c):p),c.abort(),c=null)},e.cancelToken&&e.cancelToken.subscribe(l),e.signal&&(e.signal.aborted?l():e.signal.addEventListener("abort",l)));const y=YM(h);if(y&&Dn.protocols.indexOf(y)===-1){r(new Ee("Unsupported protocol "+y+":",Ee.ERR_BAD_REQUEST,e));return}c.send(o||null)})},yf={http:EM,xhr:eD};L.forEach(yf,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Qy=e=>`- ${e}`,tD=e=>L.isFunction(e)||e===null||e===!1,rw={getAdapter:e=>{e=L.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let i=0;i`adapter ${a} `+(l===!1?"is not supported by the environment":"is not available in the build"));let s=t?i.length>1?`since : -`+i.map(Qy).join(` -`):" "+Qy(i[0]):"as no adapter specified";throw new Ee("There is no suitable adapter to dispatch the request "+s,"ERR_NOT_SUPPORT")}return r},adapters:yf};function qc(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Hs(null,e)}function Gy(e){return qc(e),e.headers=Jn.from(e.headers),e.data=Kc.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),rw.getAdapter(e.adapter||up.adapter)(e).then(function(r){return qc(e),r.data=Kc.call(e,e.transformResponse,r),r.headers=Jn.from(r.headers),r},function(r){return tw(r)||(qc(e),r&&r.response&&(r.response.data=Kc.call(e,e.transformResponse,r.response),r.response.headers=Jn.from(r.response.headers))),Promise.reject(r)})}const Xy=e=>e instanceof Jn?e.toJSON():e;function ii(e,t){t=t||{};const n={};function r(u,d,c){return L.isPlainObject(u)&&L.isPlainObject(d)?L.merge.call({caseless:c},u,d):L.isPlainObject(d)?L.merge({},d):L.isArray(d)?d.slice():d}function o(u,d,c){if(L.isUndefined(d)){if(!L.isUndefined(u))return r(void 0,u,c)}else return r(u,d,c)}function i(u,d){if(!L.isUndefined(d))return r(void 0,d)}function s(u,d){if(L.isUndefined(d)){if(!L.isUndefined(u))return r(void 0,u)}else return r(void 0,d)}function a(u,d,c){if(c in t)return r(u,d);if(c in e)return r(void 0,u)}const l={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(u,d)=>o(Xy(u),Xy(d),!0)};return L.forEach(Object.keys(Object.assign({},e,t)),function(d){const c=l[d]||o,h=c(e[d],t[d],d);L.isUndefined(h)&&c!==a||(n[d]=h)}),n}const ow="1.6.7",cp={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{cp[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Yy={};cp.transitional=function(t,n,r){function o(i,s){return"[Axios v"+ow+"] Transitional option '"+i+"'"+s+(r?". "+r:"")}return(i,s,a)=>{if(t===!1)throw new Ee(o(s," has been removed"+(n?" in "+n:"")),Ee.ERR_DEPRECATED);return n&&!Yy[s]&&(Yy[s]=!0,console.warn(o(s," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(i,s,a):!0}};function nD(e,t,n){if(typeof e!="object")throw new Ee("options must be an object",Ee.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const i=r[o],s=t[i];if(s){const a=e[i],l=a===void 0||s(a,i,e);if(l!==!0)throw new Ee("option "+i+" must be "+l,Ee.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Ee("Unknown option "+i,Ee.ERR_BAD_OPTION)}}const vf={assertOptions:nD,validators:cp},lr=vf.validators;class Ml{constructor(t){this.defaults=t,this.interceptors={request:new Hy,response:new Hy}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let o;Error.captureStackTrace?Error.captureStackTrace(o={}):o=new Error;const i=o.stack?o.stack.replace(/^.+\n/,""):"";r.stack?i&&!String(r.stack).endsWith(i.replace(/^.+\n.+\n/,""))&&(r.stack+=` -`+i):r.stack=i}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=ii(this.defaults,n);const{transitional:r,paramsSerializer:o,headers:i}=n;r!==void 0&&vf.assertOptions(r,{silentJSONParsing:lr.transitional(lr.boolean),forcedJSONParsing:lr.transitional(lr.boolean),clarifyTimeoutError:lr.transitional(lr.boolean)},!1),o!=null&&(L.isFunction(o)?n.paramsSerializer={serialize:o}:vf.assertOptions(o,{encode:lr.function,serialize:lr.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let s=i&&L.merge(i.common,i[n.method]);i&&L.forEach(["delete","get","head","post","put","patch","common"],y=>{delete i[y]}),n.headers=Jn.concat(s,i);const a=[];let l=!0;this.interceptors.request.forEach(function(p){typeof p.runWhen=="function"&&p.runWhen(n)===!1||(l=l&&p.synchronous,a.unshift(p.fulfilled,p.rejected))});const u=[];this.interceptors.response.forEach(function(p){u.push(p.fulfilled,p.rejected)});let d,c=0,h;if(!l){const y=[Gy.bind(this),void 0];for(y.unshift.apply(y,a),y.push.apply(y,u),h=y.length,d=Promise.resolve(n);c{if(!r._listeners)return;let i=r._listeners.length;for(;i-- >0;)r._listeners[i](o);r._listeners=null}),this.promise.then=o=>{let i;const s=new Promise(a=>{r.subscribe(a),i=a}).then(o);return s.cancel=function(){r.unsubscribe(i)},s},t(function(i,s,a){r.reason||(r.reason=new Hs(i,s,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}static source(){let t;return{token:new dp(function(o){t=o}),cancel:t}}}const rD=dp;function oD(e){return function(n){return e.apply(null,n)}}function iD(e){return L.isObject(e)&&e.isAxiosError===!0}const gf={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(gf).forEach(([e,t])=>{gf[t]=e});const sD=gf;function iw(e){const t=new Ga(e),n=jS(Ga.prototype.request,t);return L.extend(n,Ga.prototype,t,{allOwnKeys:!0}),L.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return iw(ii(e,o))},n}const rt=iw(up);rt.Axios=Ga;rt.CanceledError=Hs;rt.CancelToken=rD;rt.isCancel=tw;rt.VERSION=ow;rt.toFormData=rc;rt.AxiosError=Ee;rt.Cancel=rt.CanceledError;rt.all=function(t){return Promise.all(t)};rt.spread=oD;rt.isAxiosError=iD;rt.mergeConfig=ii;rt.AxiosHeaders=Jn;rt.formToJSON=e=>ew(L.isHTMLForm(e)?new FormData(e):e);rt.getAdapter=rw.getAdapter;rt.HttpStatusCode=sD;rt.default=rt;const un=rt.create({baseURL:"/services/japps",headers:{"Content-Type":"application/json"}});un.interceptors.response.use(e=>e,e=>{const t=e.response.status;(e.response.status===401||t===403)&&(window.location.href="/services/japps/jhub-login")});const aD="This field is required.",Li={required:aD},lD="data:image/png;base64,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",sw=()=>window.jhdata,uD=(e,t)=>{var r;const n=[];for(const o in e)if(Object.hasOwnProperty.call(e,o)){const i=e[o];i.display===!0&&i.info.name&&n.push({name:i.info.name,url:(r=i.info.url)==null?void 0:r.replace("[USER]",t),external:i.info.external})}return n},cD=(e,t)=>{const n=[],r=[];if(t.toLowerCase()==="shared")n.push(...e.shared_apps);else{n.push(...e.user_apps);const o=n.find(i=>{var s;return i.name===""&&!((s=i.user_options)!=null&&s.jhub_app)});o&&r.push({id:"",name:"JupyterLab",description:"This is your default JupyterLab server.",framework:"JupyterLab",url:o.url,thumbnail:lD,ready:o.ready,public:!1})}return n.forEach(o=>{var i;if((i=o.user_options)!=null&&i.jhub_app){const s=o.user_options;r.push({id:s.name,name:s.display_name,description:s.description,framework:dD(s.framework),url:o.url,thumbnail:s.thumbnail,username:o.username,ready:o.ready,public:s.public})}}),r},dD=e=>e.charAt(0).toUpperCase()+e.slice(1);var Ks=e=>e.type==="checkbox",Lo=e=>e instanceof Date,Et=e=>e==null;const aw=e=>typeof e=="object";var st=e=>!Et(e)&&!Array.isArray(e)&&aw(e)&&!Lo(e),lw=e=>st(e)&&e.target?Ks(e.target)?e.target.checked:e.target.value:e,fD=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,uw=(e,t)=>e.has(fD(t)),hD=e=>{const t=e.constructor&&e.constructor.prototype;return st(t)&&t.hasOwnProperty("isPrototypeOf")},fp=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Ot(e){let t;const n=Array.isArray(e);if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else if(!(fp&&(e instanceof Blob||e instanceof FileList))&&(n||st(e)))if(t=n?[]:{},!n&&!hD(e))t=e;else for(const r in e)e.hasOwnProperty(r)&&(t[r]=Ot(e[r]));else return e;return t}var qs=e=>Array.isArray(e)?e.filter(Boolean):[],Ge=e=>e===void 0,q=(e,t,n)=>{if(!t||!st(e))return n;const r=qs(t.split(/[,[\].]+?/)).reduce((o,i)=>Et(o)?o:o[i],e);return Ge(r)||r===e?Ge(e[t])?n:e[t]:r},bn=e=>typeof e=="boolean";const Dl={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},xn={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Hn={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},pD=ie.createContext(null),hp=()=>ie.useContext(pD);var cw=(e,t,n,r=!0)=>{const o={defaultValues:t._defaultValues};for(const i in e)Object.defineProperty(o,i,{get:()=>{const s=i;return t._proxyFormState[s]!==xn.all&&(t._proxyFormState[s]=!r||xn.all),n&&(n[s]=!0),e[s]}});return o},tn=e=>st(e)&&!Object.keys(e).length,dw=(e,t,n,r)=>{n(e);const{name:o,...i}=e;return tn(i)||Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find(s=>t[s]===(!r||xn.all))},Xa=e=>Array.isArray(e)?e:[e],fw=(e,t,n)=>!e||!t||e===t||Xa(e).some(r=>r&&(n?r===t:r.startsWith(t)||t.startsWith(r)));function pp(e){const t=ie.useRef(e);t.current=e,ie.useEffect(()=>{const n=!e.disabled&&t.current.subject&&t.current.subject.subscribe({next:t.current.next});return()=>{n&&n.unsubscribe()}},[e.disabled])}function mD(e){const t=hp(),{control:n=t.control,disabled:r,name:o,exact:i}=e||{},[s,a]=ie.useState(n._formState),l=ie.useRef(!0),u=ie.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1}),d=ie.useRef(o);return d.current=o,pp({disabled:r,next:c=>l.current&&fw(d.current,c.name,i)&&dw(c,u.current,n._updateFormState)&&a({...n._formState,...c}),subject:n._subjects.state}),ie.useEffect(()=>(l.current=!0,u.current.isValid&&n._updateValid(!0),()=>{l.current=!1}),[n]),cw(s,n,u.current,!1)}var In=e=>typeof e=="string",hw=(e,t,n,r,o)=>In(e)?(r&&t.watch.add(e),q(n,e,o)):Array.isArray(e)?e.map(i=>(r&&t.watch.add(i),q(n,i))):(r&&(t.watchAll=!0),n);function yD(e){const t=hp(),{control:n=t.control,name:r,defaultValue:o,disabled:i,exact:s}=e||{},a=ie.useRef(r);a.current=r,pp({disabled:i,subject:n._subjects.values,next:d=>{fw(a.current,d.name,s)&&u(Ot(hw(a.current,n._names,d.values||n._formValues,!1,o)))}});const[l,u]=ie.useState(n._getWatch(r,o));return ie.useEffect(()=>n._removeUnmounted()),l}var mp=e=>/^\w*$/.test(e),pw=e=>qs(e.replace(/["|']|\]/g,"").split(/\.|\[/)),Le=(e,t,n)=>{let r=-1;const o=mp(t)?[t]:pw(t),i=o.length,s=i-1;for(;++r{const d=o._options.shouldUnregister||i,c=(h,S)=>{const y=q(o._fields,h);y&&(y._f.mount=S)};if(c(n,!0),d){const h=Ot(q(o._options.defaultValues,n));Le(o._defaultValues,n,h),Ge(q(o._formValues,n))&&Le(o._formValues,n,h)}return()=>{(s?d&&!o._state.action:d)?o.unregister(n):c(n,!1)}},[n,o,s,i]),ie.useEffect(()=>{q(o._fields,n)&&o._updateDisabledField({disabled:r,fields:o._fields,name:n,value:q(o._fields,n)._f.value})},[r,n,o]),{field:{name:n,value:a,...bn(r)||l.disabled?{disabled:l.disabled||r}:{},onChange:ie.useCallback(d=>u.current.onChange({target:{value:lw(d),name:n},type:Dl.CHANGE}),[n]),onBlur:ie.useCallback(()=>u.current.onBlur({target:{value:q(o._formValues,n),name:n},type:Dl.BLUR}),[n,o]),ref:d=>{const c=q(o._fields,n);c&&d&&(c._f.ref={focus:()=>d.focus(),select:()=>d.select(),setCustomValidity:h=>d.setCustomValidity(h),reportValidity:()=>d.reportValidity()})}},formState:l,fieldState:Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!q(l.errors,n)},isDirty:{enumerable:!0,get:()=>!!q(l.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!q(l.touchedFields,n)},error:{enumerable:!0,get:()=>q(l.errors,n)}})}}const Pn=e=>e.render(vD(e));var gD=(e,t,n,r,o)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:o||!0}}:{},Zy=e=>({isOnSubmit:!e||e===xn.onSubmit,isOnBlur:e===xn.onBlur,isOnChange:e===xn.onChange,isOnAll:e===xn.all,isOnTouch:e===xn.onTouched}),Jy=(e,t,n)=>!n&&(t.watchAll||t.watch.has(e)||[...t.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length))));const ns=(e,t,n,r)=>{for(const o of n||Object.keys(e)){const i=q(e,o);if(i){const{_f:s,...a}=i;if(s){if(s.refs&&s.refs[0]&&t(s.refs[0],o)&&!r)break;if(s.ref&&t(s.ref,s.name)&&!r)break;ns(a,t)}else st(a)&&ns(a,t)}}};var SD=(e,t,n)=>{const r=qs(q(e,n));return Le(r,"root",t[n]),Le(e,n,r),e},yp=e=>e.type==="file",gr=e=>typeof e=="function",Il=e=>{if(!fp)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},Ya=e=>In(e),vp=e=>e.type==="radio",$l=e=>e instanceof RegExp;const ev={value:!1,isValid:!1},tv={value:!0,isValid:!0};var mw=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(n=>n&&n.checked&&!n.disabled).map(n=>n.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!Ge(e[0].attributes.value)?Ge(e[0].value)||e[0].value===""?tv:{value:e[0].value,isValid:!0}:tv:ev}return ev};const nv={isValid:!1,value:null};var yw=e=>Array.isArray(e)?e.reduce((t,n)=>n&&n.checked&&!n.disabled?{isValid:!0,value:n.value}:t,nv):nv;function rv(e,t,n="validate"){if(Ya(e)||Array.isArray(e)&&e.every(Ya)||bn(e)&&!e)return{type:n,message:Ya(e)?e:"",ref:t}}var wo=e=>st(e)&&!$l(e)?e:{value:e,message:""},ov=async(e,t,n,r,o)=>{const{ref:i,refs:s,required:a,maxLength:l,minLength:u,min:d,max:c,pattern:h,validate:S,name:y,valueAsNumber:p,mount:_,disabled:m}=e._f,f=q(t,y);if(!_||m)return{};const v=s?s[0]:i,R=Y=>{r&&v.reportValidity&&(v.setCustomValidity(bn(Y)?"":Y||""),v.reportValidity())},E={},k=vp(i),b=Ks(i),P=k||b,H=(p||yp(i))&&Ge(i.value)&&Ge(f)||Il(i)&&i.value===""||f===""||Array.isArray(f)&&!f.length,M=gD.bind(null,y,n,E),U=(Y,B,ae,Re=Hn.maxLength,ye=Hn.minLength)=>{const ge=Y?B:ae;E[y]={type:Y?Re:ye,message:ge,ref:i,...M(Y?Re:ye,ge)}};if(o?!Array.isArray(f)||!f.length:a&&(!P&&(H||Et(f))||bn(f)&&!f||b&&!mw(s).isValid||k&&!yw(s).isValid)){const{value:Y,message:B}=Ya(a)?{value:!!a,message:a}:wo(a);if(Y&&(E[y]={type:Hn.required,message:B,ref:v,...M(Hn.required,B)},!n))return R(B),E}if(!H&&(!Et(d)||!Et(c))){let Y,B;const ae=wo(c),Re=wo(d);if(!Et(f)&&!isNaN(f)){const ye=i.valueAsNumber||f&&+f;Et(ae.value)||(Y=ye>ae.value),Et(Re.value)||(B=yenew Date(new Date().toDateString()+" "+z),F=i.type=="time",oe=i.type=="week";In(ae.value)&&f&&(Y=F?ge(f)>ge(ae.value):oe?f>ae.value:ye>new Date(ae.value)),In(Re.value)&&f&&(B=F?ge(f)+Y.value,Re=!Et(B.value)&&f.length<+B.value;if((ae||Re)&&(U(ae,Y.message,B.message),!n))return R(E[y].message),E}if(h&&!H&&In(f)){const{value:Y,message:B}=wo(h);if($l(Y)&&!f.match(Y)&&(E[y]={type:Hn.pattern,message:B,ref:i,...M(Hn.pattern,B)},!n))return R(B),E}if(S){if(gr(S)){const Y=await S(f,t),B=rv(Y,v);if(B&&(E[y]={...B,...M(Hn.validate,B.message)},!n))return R(B.message),E}else if(st(S)){let Y={};for(const B in S){if(!tn(Y)&&!n)break;const ae=rv(await S[B](f,t),v,B);ae&&(Y={...ae,...M(B,ae.message)},R(ae.message),n&&(E[y]=Y))}if(!tn(Y)&&(E[y]={ref:v,...Y},!n))return E}}return R(!0),E};function wD(e,t){const n=t.slice(0,-1).length;let r=0;for(;r{let e=[];return{get observers(){return e},next:o=>{for(const i of e)i.next&&i.next(o)},subscribe:o=>(e.push(o),{unsubscribe:()=>{e=e.filter(i=>i!==o)}}),unsubscribe:()=>{e=[]}}},jl=e=>Et(e)||!aw(e);function qr(e,t){if(jl(e)||jl(t))return e===t;if(Lo(e)&&Lo(t))return e.getTime()===t.getTime();const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(const o of n){const i=e[o];if(!r.includes(o))return!1;if(o!=="ref"){const s=t[o];if(Lo(i)&&Lo(s)||st(i)&&st(s)||Array.isArray(i)&&Array.isArray(s)?!qr(i,s):i!==s)return!1}}return!0}var vw=e=>e.type==="select-multiple",RD=e=>vp(e)||Ks(e),Gc=e=>Il(e)&&e.isConnected,gw=e=>{for(const t in e)if(gr(e[t]))return!0;return!1};function Vl(e,t={}){const n=Array.isArray(e);if(st(e)||n)for(const r in e)Array.isArray(e[r])||st(e[r])&&!gw(e[r])?(t[r]=Array.isArray(e[r])?[]:{},Vl(e[r],t[r])):Et(e[r])||(t[r]=!0);return t}function Sw(e,t,n){const r=Array.isArray(e);if(st(e)||r)for(const o in e)Array.isArray(e[o])||st(e[o])&&!gw(e[o])?Ge(t)||jl(n[o])?n[o]=Array.isArray(e[o])?Vl(e[o],[]):{...Vl(e[o])}:Sw(e[o],Et(t)?{}:t[o],n[o]):n[o]=!qr(e[o],t[o]);return n}var xa=(e,t)=>Sw(e,t,Vl(t)),ww=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>Ge(e)?e:t?e===""?NaN:e&&+e:n&&In(e)?new Date(e):r?r(e):e;function Xc(e){const t=e.ref;if(!(e.refs?e.refs.every(n=>n.disabled):t.disabled))return yp(t)?t.files:vp(t)?yw(e.refs).value:vw(t)?[...t.selectedOptions].map(({value:n})=>n):Ks(t)?mw(e.refs).value:ww(Ge(t.value)?e.ref.value:t.value,e)}var bD=(e,t,n,r)=>{const o={};for(const i of e){const s=q(t,i);s&&Le(o,i,s._f)}return{criteriaMode:n,names:[...e],fields:o,shouldUseNativeValidation:r}},Fi=e=>Ge(e)?e:$l(e)?e.source:st(e)?$l(e.value)?e.value.source:e.value:e,xD=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function iv(e,t,n){const r=q(e,n);if(r||mp(n))return{error:r,name:n};const o=n.split(".");for(;o.length;){const i=o.join("."),s=q(t,i),a=q(e,i);if(s&&!Array.isArray(s)&&n!==i)return{name:n};if(a&&a.type)return{name:i,error:a};o.pop()}return{name:n}}var ED=(e,t,n,r,o)=>o.isOnAll?!1:!n&&o.isOnTouch?!(t||e):(n?r.isOnBlur:o.isOnBlur)?!e:(n?r.isOnChange:o.isOnChange)?e:!0,CD=(e,t)=>!qs(q(e,t)).length&&ht(e,t);const TD={mode:xn.onSubmit,reValidateMode:xn.onChange,shouldFocusError:!0};function kD(e={},t){let n={...TD,...e},r={submitCount:0,isDirty:!1,isLoading:gr(n.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},errors:n.errors||{},disabled:n.disabled||!1},o={},i=st(n.values)||st(n.defaultValues)?Ot(n.values||n.defaultValues)||{}:{},s=n.shouldUnregister?{}:Ot(i),a={action:!1,mount:!1,watch:!1},l={mount:new Set,unMount:new Set,array:new Set,watch:new Set},u,d=0;const c={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},h={values:Qc(),array:Qc(),state:Qc()},S=Zy(n.mode),y=Zy(n.reValidateMode),p=n.criteriaMode===xn.all,_=w=>N=>{clearTimeout(d),d=setTimeout(w,N)},m=async w=>{if(c.isValid||w){const N=n.resolver?tn((await H()).errors):await U(o,!0);N!==r.isValid&&h.state.next({isValid:N})}},f=w=>c.isValidating&&h.state.next({isValidating:w}),v=(w,N=[],O,Q,W=!0,D=!0)=>{if(Q&&O){if(a.action=!0,D&&Array.isArray(q(o,w))){const te=O(q(o,w),Q.argA,Q.argB);W&&Le(o,w,te)}if(D&&Array.isArray(q(r.errors,w))){const te=O(q(r.errors,w),Q.argA,Q.argB);W&&Le(r.errors,w,te),CD(r.errors,w)}if(c.touchedFields&&D&&Array.isArray(q(r.touchedFields,w))){const te=O(q(r.touchedFields,w),Q.argA,Q.argB);W&&Le(r.touchedFields,w,te)}c.dirtyFields&&(r.dirtyFields=xa(i,s)),h.state.next({name:w,isDirty:B(w,N),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else Le(s,w,N)},R=(w,N)=>{Le(r.errors,w,N),h.state.next({errors:r.errors})},E=w=>{r.errors=w,h.state.next({errors:r.errors,isValid:!1})},k=(w,N,O,Q)=>{const W=q(o,w);if(W){const D=q(s,w,Ge(O)?q(i,w):O);Ge(D)||Q&&Q.defaultChecked||N?Le(s,w,N?D:Xc(W._f)):ye(w,D),a.mount&&m()}},b=(w,N,O,Q,W)=>{let D=!1,te=!1;const Ae={name:w},Be=!!(q(o,w)&&q(o,w)._f.disabled);if(!O||Q){c.isDirty&&(te=r.isDirty,r.isDirty=Ae.isDirty=B(),D=te!==Ae.isDirty);const Nt=Be||qr(q(i,w),N);te=!!(!Be&&q(r.dirtyFields,w)),Nt||Be?ht(r.dirtyFields,w):Le(r.dirtyFields,w,!0),Ae.dirtyFields=r.dirtyFields,D=D||c.dirtyFields&&te!==!Nt}if(O){const Nt=q(r.touchedFields,w);Nt||(Le(r.touchedFields,w,O),Ae.touchedFields=r.touchedFields,D=D||c.touchedFields&&Nt!==O)}return D&&W&&h.state.next(Ae),D?Ae:{}},P=(w,N,O,Q)=>{const W=q(r.errors,w),D=c.isValid&&bn(N)&&r.isValid!==N;if(e.delayError&&O?(u=_(()=>R(w,O)),u(e.delayError)):(clearTimeout(d),u=null,O?Le(r.errors,w,O):ht(r.errors,w)),(O?!qr(W,O):W)||!tn(Q)||D){const te={...Q,...D&&bn(N)?{isValid:N}:{},errors:r.errors,name:w};r={...r,...te},h.state.next(te)}f(!1)},H=async w=>n.resolver(s,n.context,bD(w||l.mount,o,n.criteriaMode,n.shouldUseNativeValidation)),M=async w=>{const{errors:N}=await H(w);if(w)for(const O of w){const Q=q(N,O);Q?Le(r.errors,O,Q):ht(r.errors,O)}else r.errors=N;return N},U=async(w,N,O={valid:!0})=>{for(const Q in w){const W=w[Q];if(W){const{_f:D,...te}=W;if(D){const Ae=l.array.has(D.name),Be=await ov(W,s,p,n.shouldUseNativeValidation&&!N,Ae);if(Be[D.name]&&(O.valid=!1,N))break;!N&&(q(Be,D.name)?Ae?SD(r.errors,Be,D.name):Le(r.errors,D.name,Be[D.name]):ht(r.errors,D.name))}te&&await U(te,N,O)}}return O.valid},Y=()=>{for(const w of l.unMount){const N=q(o,w);N&&(N._f.refs?N._f.refs.every(O=>!Gc(O)):!Gc(N._f.ref))&&ue(w)}l.unMount=new Set},B=(w,N)=>(w&&N&&Le(s,w,N),!qr(C(),i)),ae=(w,N,O)=>hw(w,l,{...a.mount?s:Ge(N)?i:In(w)?{[w]:N}:N},O,N),Re=w=>qs(q(a.mount?s:i,w,e.shouldUnregister?q(i,w,[]):[])),ye=(w,N,O={})=>{const Q=q(o,w);let W=N;if(Q){const D=Q._f;D&&(!D.disabled&&Le(s,w,ww(N,D)),W=Il(D.ref)&&Et(N)?"":N,vw(D.ref)?[...D.ref.options].forEach(te=>te.selected=W.includes(te.value)):D.refs?Ks(D.ref)?D.refs.length>1?D.refs.forEach(te=>(!te.defaultChecked||!te.disabled)&&(te.checked=Array.isArray(W)?!!W.find(Ae=>Ae===te.value):W===te.value)):D.refs[0]&&(D.refs[0].checked=!!W):D.refs.forEach(te=>te.checked=te.value===W):yp(D.ref)?D.ref.value="":(D.ref.value=W,D.ref.type||h.values.next({name:w,values:{...s}})))}(O.shouldDirty||O.shouldTouch)&&b(w,W,O.shouldTouch,O.shouldDirty,!0),O.shouldValidate&&ne(w)},ge=(w,N,O)=>{for(const Q in N){const W=N[Q],D=`${w}.${Q}`,te=q(o,D);(l.array.has(w)||!jl(W)||te&&!te._f)&&!Lo(W)?ge(D,W,O):ye(D,W,O)}},F=(w,N,O={})=>{const Q=q(o,w),W=l.array.has(w),D=Ot(N);Le(s,w,D),W?(h.array.next({name:w,values:{...s}}),(c.isDirty||c.dirtyFields)&&O.shouldDirty&&h.state.next({name:w,dirtyFields:xa(i,s),isDirty:B(w,D)})):Q&&!Q._f&&!Et(D)?ge(w,D,O):ye(w,D,O),Jy(w,l)&&h.state.next({...r}),h.values.next({name:w,values:{...s}}),!a.mount&&t()},oe=async w=>{const N=w.target;let O=N.name,Q=!0;const W=q(o,O),D=()=>N.type?Xc(W._f):lw(w),te=Ae=>{Q=Number.isNaN(Ae)||Ae===q(s,O,Ae)};if(W){let Ae,Be;const Nt=D(),de=w.type===Dl.BLUR||w.type===Dl.FOCUS_OUT,uo=!xD(W._f)&&!n.resolver&&!q(r.errors,O)&&!W._f.deps||ED(de,q(r.touchedFields,O),r.isSubmitted,y,S),Dr=Jy(O,l,de);Le(s,O,Nt),de?(W._f.onBlur&&W._f.onBlur(w),u&&u(0)):W._f.onChange&&W._f.onChange(w);const Wn=b(O,Nt,de,!1),Qs=!tn(Wn)||Dr;if(!de&&h.values.next({name:O,type:w.type,values:{...s}}),uo)return c.isValid&&m(),Qs&&h.state.next({name:O,...Dr?{}:Wn});if(!de&&Dr&&h.state.next({...r}),f(!0),n.resolver){const{errors:Gs}=await H([O]);if(te(Nt),Q){const A=iv(r.errors,o,O),x=iv(Gs,o,A.name||O);Ae=x.error,O=x.name,Be=tn(Gs)}}else Ae=(await ov(W,s,p,n.shouldUseNativeValidation))[O],te(Nt),Q&&(Ae?Be=!1:c.isValid&&(Be=await U(o,!0)));Q&&(W._f.deps&&ne(W._f.deps),P(O,Be,Ae,Wn))}},z=(w,N)=>{if(q(r.errors,N)&&w.focus)return w.focus(),1},ne=async(w,N={})=>{let O,Q;const W=Xa(w);if(f(!0),n.resolver){const D=await M(Ge(w)?w:W);O=tn(D),Q=w?!W.some(te=>q(D,te)):O}else w?(Q=(await Promise.all(W.map(async D=>{const te=q(o,D);return await U(te&&te._f?{[D]:te}:te)}))).every(Boolean),!(!Q&&!r.isValid)&&m()):Q=O=await U(o);return h.state.next({...!In(w)||c.isValid&&O!==r.isValid?{}:{name:w},...n.resolver||!w?{isValid:O}:{},errors:r.errors,isValidating:!1}),N.shouldFocus&&!Q&&ns(o,z,w?W:l.mount),Q},C=w=>{const N={...i,...a.mount?s:{}};return Ge(w)?N:In(w)?q(N,w):w.map(O=>q(N,O))},V=(w,N)=>({invalid:!!q((N||r).errors,w),isDirty:!!q((N||r).dirtyFields,w),isTouched:!!q((N||r).touchedFields,w),error:q((N||r).errors,w)}),I=w=>{w&&Xa(w).forEach(N=>ht(r.errors,N)),h.state.next({errors:w?r.errors:{}})},se=(w,N,O)=>{const Q=(q(o,w,{_f:{}})._f||{}).ref;Le(r.errors,w,{...N,ref:Q}),h.state.next({name:w,errors:r.errors,isValid:!1}),O&&O.shouldFocus&&Q&&Q.focus&&Q.focus()},K=(w,N)=>gr(w)?h.values.subscribe({next:O=>w(ae(void 0,N),O)}):ae(w,N,!0),ue=(w,N={})=>{for(const O of w?Xa(w):l.mount)l.mount.delete(O),l.array.delete(O),N.keepValue||(ht(o,O),ht(s,O)),!N.keepError&&ht(r.errors,O),!N.keepDirty&&ht(r.dirtyFields,O),!N.keepTouched&&ht(r.touchedFields,O),!n.shouldUnregister&&!N.keepDefaultValue&&ht(i,O);h.values.next({values:{...s}}),h.state.next({...r,...N.keepDirty?{isDirty:B()}:{}}),!N.keepIsValid&&m()},ve=({disabled:w,name:N,field:O,fields:Q,value:W})=>{if(bn(w)){const D=w?void 0:Ge(W)?Xc(O?O._f:q(Q,N)._f):W;Le(s,N,D),b(N,D,!1,!1,!0)}},Z=(w,N={})=>{let O=q(o,w);const Q=bn(N.disabled);return Le(o,w,{...O||{},_f:{...O&&O._f?O._f:{ref:{name:w}},name:w,mount:!0,...N}}),l.mount.add(w),O?ve({field:O,disabled:N.disabled,name:w,value:N.value}):k(w,!0,N.value),{...Q?{disabled:N.disabled}:{},...n.progressive?{required:!!N.required,min:Fi(N.min),max:Fi(N.max),minLength:Fi(N.minLength),maxLength:Fi(N.maxLength),pattern:Fi(N.pattern)}:{},name:w,onChange:oe,onBlur:oe,ref:W=>{if(W){Z(w,N),O=q(o,w);const D=Ge(W.value)&&W.querySelectorAll&&W.querySelectorAll("input,select,textarea")[0]||W,te=RD(D),Ae=O._f.refs||[];if(te?Ae.find(Be=>Be===D):D===O._f.ref)return;Le(o,w,{_f:{...O._f,...te?{refs:[...Ae.filter(Gc),D,...Array.isArray(q(i,w))?[{}]:[]],ref:{type:D.type,name:w}}:{ref:D}}}),k(w,!1,void 0,D)}else O=q(o,w,{}),O._f&&(O._f.mount=!1),(n.shouldUnregister||N.shouldUnregister)&&!(uw(l.array,w)&&a.action)&&l.unMount.add(w)}}},le=()=>n.shouldFocusError&&ns(o,z,l.mount),pe=w=>{bn(w)&&(h.state.next({disabled:w}),ns(o,(N,O)=>{let Q=w;const W=q(o,O);W&&bn(W._f.disabled)&&(Q||(Q=W._f.disabled)),N.disabled=Q},0,!1))},ce=(w,N)=>async O=>{let Q;O&&(O.preventDefault&&O.preventDefault(),O.persist&&O.persist());let W=Ot(s);if(h.state.next({isSubmitting:!0}),n.resolver){const{errors:D,values:te}=await H();r.errors=D,W=te}else await U(o);if(ht(r.errors,"root"),tn(r.errors)){h.state.next({errors:{}});try{await w(W,O)}catch(D){Q=D}}else N&&await N({...r.errors},O),le(),setTimeout(le);if(h.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:tn(r.errors)&&!Q,submitCount:r.submitCount+1,errors:r.errors}),Q)throw Q},Se=(w,N={})=>{q(o,w)&&(Ge(N.defaultValue)?F(w,Ot(q(i,w))):(F(w,N.defaultValue),Le(i,w,Ot(N.defaultValue))),N.keepTouched||ht(r.touchedFields,w),N.keepDirty||(ht(r.dirtyFields,w),r.isDirty=N.defaultValue?B(w,Ot(q(i,w))):B()),N.keepError||(ht(r.errors,w),c.isValid&&m()),h.state.next({...r}))},Je=(w,N={})=>{const O=w?Ot(w):i,Q=Ot(O),W=w&&!tn(w)?Q:i;if(N.keepDefaultValues||(i=O),!N.keepValues){if(N.keepDirtyValues)for(const D of l.mount)q(r.dirtyFields,D)?Le(W,D,q(s,D)):F(D,q(W,D));else{if(fp&&Ge(w))for(const D of l.mount){const te=q(o,D);if(te&&te._f){const Ae=Array.isArray(te._f.refs)?te._f.refs[0]:te._f.ref;if(Il(Ae)){const Be=Ae.closest("form");if(Be){Be.reset();break}}}}o={}}s=e.shouldUnregister?N.keepDefaultValues?Ot(i):{}:Ot(W),h.array.next({values:{...W}}),h.values.next({values:{...W}})}l={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},!a.mount&&t(),a.mount=!c.isValid||!!N.keepIsValid||!!N.keepDirtyValues,a.watch=!!e.shouldUnregister,h.state.next({submitCount:N.keepSubmitCount?r.submitCount:0,isDirty:N.keepDirty?r.isDirty:!!(N.keepDefaultValues&&!qr(w,i)),isSubmitted:N.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:N.keepDirtyValues?N.keepDefaultValues&&s?xa(i,s):r.dirtyFields:N.keepDefaultValues&&w?xa(i,w):{},touchedFields:N.keepTouched?r.touchedFields:{},errors:N.keepErrors?r.errors:{},isSubmitSuccessful:N.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1})},At=(w,N)=>Je(gr(w)?w(s):w,N);return{control:{register:Z,unregister:ue,getFieldState:V,handleSubmit:ce,setError:se,_executeSchema:H,_getWatch:ae,_getDirty:B,_updateValid:m,_removeUnmounted:Y,_updateFieldArray:v,_updateDisabledField:ve,_getFieldArray:Re,_reset:Je,_resetDefaultValues:()=>gr(n.defaultValues)&&n.defaultValues().then(w=>{At(w,n.resetOptions),h.state.next({isLoading:!1})}),_updateFormState:w=>{r={...r,...w}},_disableForm:pe,_subjects:h,_proxyFormState:c,_setErrors:E,get _fields(){return o},get _formValues(){return s},get _state(){return a},set _state(w){a=w},get _defaultValues(){return i},get _names(){return l},set _names(w){l=w},get _formState(){return r},set _formState(w){r=w},get _options(){return n},set _options(w){n={...n,...w}}},trigger:ne,register:Z,handleSubmit:ce,watch:K,setValue:F,getValues:C,reset:At,resetField:Se,clearErrors:I,unregister:ue,setError:se,setFocus:(w,N={})=>{const O=q(o,w),Q=O&&O._f;if(Q){const W=Q.refs?Q.refs[0]:Q.ref;W.focus&&(W.focus(),N.shouldSelect&&W.select())}},getFieldState:V}}function AD(e={}){const t=ie.useRef(),n=ie.useRef(),[r,o]=ie.useState({isDirty:!1,isValidating:!1,isLoading:gr(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:gr(e.defaultValues)?void 0:e.defaultValues});t.current||(t.current={...kD(e,()=>o(s=>({...s}))),formState:r});const i=t.current.control;return i._options=e,pp({subject:i._subjects.state,next:s=>{dw(s,i._proxyFormState,i._updateFormState,!0)&&o({...i._formState})}}),ie.useEffect(()=>i._disableForm(e.disabled),[i,e.disabled]),ie.useEffect(()=>{if(i._proxyFormState.isDirty){const s=i._getDirty();s!==r.isDirty&&i._subjects.state.next({isDirty:s})}},[i,r.isDirty]),ie.useEffect(()=>{e.values&&!qr(e.values,n.current)?(i._reset(e.values,i._options.resetOptions),n.current=e.values,o(s=>({...s}))):i._resetDefaultValues()},[e.values,i]),ie.useEffect(()=>{e.errors&&i._setErrors(e.errors)},[e.errors,i]),ie.useEffect(()=>{i._state.mount||(i._updateValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),ie.useEffect(()=>{e.shouldUnregister&&i._subjects.values.next({values:i._getWatch()})},[e.shouldUnregister,i]),t.current.formState=cw(r,i),t.current}const _w=({id:e,onCancel:t,onSubmit:n})=>{var F,oe,z,ne,C,V,I,se,K,ue,ve,Z;const r=Ju(),[o,i]=T.useState(!1),[,s]=Ar(zs),[a,l]=T.useState(""),[u,d]=T.useState(),[c,h]=T.useState(),[S,y]=T.useState(!1),{data:p,error:_}=Kr({queryKey:["app-form",e],queryFn:()=>un.get(`/server/${e}`).then(le=>le.data),enabled:!!e}),{data:m,isLoading:f}=Kr({queryKey:["app-frameworks"],queryFn:()=>un.get("/frameworks/").then(le=>le.data)}),{data:v,isLoading:R}=Kr({queryKey:["app-environments"],queryFn:()=>un.get("/conda-environments/").then(le=>le.data)}),{data:E,isLoading:k}=Kr({queryKey:["app-profiles"],queryFn:()=>un.get("/spawner-profiles/").then(le=>le.data)}),{control:b,handleSubmit:P,reset:H,watch:M,formState:{errors:U}}=AD({defaultValues:{display_name:"",description:"",framework:"",thumbnail:"",filepath:"",conda_env:"",env:"",custom_command:"",profile:"",is_public:!1}}),Y=M("framework"),B=({display_name:le,description:pe,framework:ce,thumbnail:Se,filepath:Je,conda_env:At,env:at,custom_command:lt,profile:Mr})=>{const w={servername:a||le,user_options:{jhub_app:!0,name:a||le,display_name:le,description:pe||"",framework:ce,thumbnail:Se||"",filepath:Je||"",conda_env:At||"",env:at?JSON.parse(at):null,custom_command:lt||"",profile:Mr||"",public:S}};i(!0),e?ge(w,{onSuccess:async()=>{r.invalidateQueries({queryKey:["app-state"]}),n&&n()},onError:async N=>{i(!1),s(N.message)}}):ye(w,{onSuccess:async N=>{const O=sw().user;if(O&&(N==null?void 0:N.length)>1){const Q=N[1];window.location.assign(`/hub/spawn-pending/${O}/${Q}`)}},onError:async N=>{i(!1),s(N.message)}})},ae=async({servername:le,user_options:pe})=>{const ce={accept:"application/json","Content-Type":"multipart/form-data"},Se=new FormData;return Se.append("data",JSON.stringify({servername:le,user_options:pe})),u&&Se.append("thumbnail",u),(await un.post("/server",Se,{headers:ce})).data},Re=async({servername:le,user_options:pe})=>{const ce={accept:"application/json","Content-Type":"multipart/form-data"},Se=new FormData;return Se.append("data",JSON.stringify({servername:le,user_options:pe})),u?Se.append("thumbnail",u):c&&Se.append("thumbnail_data_url",c),(await un.put(`/server/${le}`,Se,{headers:ce})).data},{mutate:ye}=Fl({mutationFn:ae,retry:1}),{mutate:ge}=Fl({mutationFn:Re,retry:1});return T.useEffect(()=>{p!=null&&p.name&&(p!=null&&p.user_options)&&(l(p.name),H({...p.user_options}),y(p.user_options.public),h(p.user_options.thumbnail))},[p==null?void 0:p.name,p==null?void 0:p.user_options,H]),T.useEffect(()=>{_&&s(_.message)},[_,s]),g.jsxs("form",{id:"app-form",onSubmit:P(B),className:"form",children:[g.jsxs(An,{errors:(F=U.display_name)!=null&&F.message?[U.display_name.message]:void 0,children:[g.jsx(Nn,{htmlFor:"display_name",required:!0,children:"Display Name"}),g.jsx(Pn,{name:"display_name",control:b,rules:Li,render:({field:{ref:le,...pe}})=>g.jsx(Bi,{...pe,id:"display_name",autoFocus:!0})}),((oe=U.display_name)==null?void 0:oe.message)&&g.jsx(So,{errors:[U.display_name.message]})]}),g.jsxs(An,{children:[g.jsx(Nn,{htmlFor:"description",children:"Description"}),g.jsx(Pn,{name:"description",control:b,render:({field:{ref:le,...pe}})=>g.jsx(BF,{...pe,id:"description"})})]}),g.jsxs(An,{children:[g.jsx(Nn,{htmlFor:"thumbnail",children:"Thumbnail"}),g.jsx(Pn,{name:"thumbnail",control:b,render:({field:{ref:le,value:pe,onChange:ce,...Se}})=>g.jsx(zF,{...Se,id:"thumbnail",currentImage:c,setCurrentImage:h,currentFile:u,setCurrentFile:d})})]}),g.jsxs(An,{errors:(z=U.framework)!=null&&z.message?[U.framework.message]:void 0,children:[g.jsx(Nn,{htmlFor:"framework",required:!0,children:"Framework"}),g.jsx(Pn,{name:"framework",control:b,rules:Li,render:({field:{ref:le,...pe}})=>g.jsx(zc,{...pe,id:"framework",options:m?[{value:"",label:"Select..."},...m.map(ce=>({value:ce.name,label:ce.display_name}))]:[]})}),((ne=U.framework)==null?void 0:ne.message)&&g.jsx(So,{errors:[U.framework.message]})]}),g.jsxs(An,{children:[g.jsx(Nn,{htmlFor:"filepath",children:"Filepath"}),g.jsx(Pn,{name:"filepath",control:b,render:({field:{ref:le,...pe}})=>g.jsx(Bi,{...pe,id:"filepath"})})]}),v&&v.length>0?g.jsxs(An,{errors:(C=U.conda_env)!=null&&C.message?[U.conda_env.message]:void 0,children:[g.jsx(Nn,{htmlFor:"conda_env",required:!0,children:"Conda Environment"}),g.jsx(Pn,{name:"conda_env",control:b,rules:Li,render:({field:{ref:le,...pe}})=>g.jsx(zc,{...pe,id:"conda_env",options:[{value:"",label:"Select..."},...v.map(ce=>({value:ce,label:ce}))]})}),((V=U.conda_env)==null?void 0:V.message)&&g.jsx(So,{errors:[U.conda_env.message]})]}):g.jsx(g.Fragment,{}),g.jsxs(An,{errors:(I=U.env)!=null&&I.message?[U.env.message]:void 0,children:[g.jsx(Nn,{htmlFor:"env",children:"Environment Variables"}),g.jsx(Pn,{name:"env",control:b,render:({field:{ref:le,...pe}})=>g.jsx(Bi,{...pe,id:"env",type:"text",placeholder:'Enter valid json: {"KEY_1":"VALUE_1","KEY_2":"VALUE_2"}'})}),((se=U.env)==null?void 0:se.message)&&g.jsx(So,{errors:[U.env.message]})]}),E&&E.length>0?g.jsxs(An,{errors:(K=U.profile)!=null&&K.message?[U.profile.message]:void 0,children:[g.jsx(Nn,{htmlFor:"profile",required:!0,children:"Spawner Profile"}),g.jsx(Pn,{name:"profile",control:b,rules:Li,render:({field:{ref:le,...pe}})=>g.jsx(zc,{...pe,id:"profile",options:[{value:"",label:"Select..."},...E.map(ce=>({value:ce.slug,label:ce.display_name}))]})}),((ue=U.profile)==null?void 0:ue.message)&&g.jsx(So,{errors:[U.profile.message]})]}):g.jsx(g.Fragment,{}),Y==="custom"?g.jsxs(An,{errors:(ve=U.custom_command)!=null&&ve.message?[U.custom_command.message]:void 0,children:[g.jsx(Nn,{htmlFor:"custom_command",required:!0,children:"Custom Command"}),g.jsx(Pn,{name:"custom_command",control:b,rules:Li,render:({field:{ref:le,...pe}})=>g.jsx(Bi,{...pe,id:"custom_command"})}),((Z=U.custom_command)==null?void 0:Z.message)&&g.jsx(So,{errors:[U.custom_command.message]})]}):g.jsx(g.Fragment,{}),g.jsxs(An,{children:[g.jsx(Nn,{htmlFor:"is_public",children:"Allow Public Access"}),g.jsx(Pn,{name:"is_public",control:b,render:({field:{ref:le,value:pe,onChange:ce,...Se}})=>g.jsx(WF,{...Se,id:"is_public",checked:S,ariaLabel:"Allow Public Access",onChange:()=>{y(!S)}})})]}),g.jsxs(Ka,{children:[g.jsx(ln,{id:"cancel-btn",type:"button",variant:"outlined",color:"secondary",onClick:t,children:"Cancel"}),g.jsx(ln,{id:"submit-btn",type:"submit",variant:"contained",color:"primary",disabled:o||f||R||k,children:"Submit"})]})]})},ND=({id:e,title:t,description:n,thumbnail:r,framework:o,url:i,username:s,ready:a=!1,isPublic:l=!1,isShared:u=!1})=>{const d=Ju(),[c,h]=T.useState(!1),[,S]=Ar(zs),[y,p]=T.useState(!1),[_,m]=T.useState(!1),[f,v]=T.useState(!1),[R,E]=T.useState(!1),k=async({id:ge})=>await un.post(`/server/${ge}`),b=async({id:ge,remove:F})=>await un.delete(`/server/${ge}`,{params:{remove:F}}),{mutate:P}=Fl({mutationFn:k,retry:1}),{mutate:H}=Fl({mutationFn:b,retry:1}),M=()=>{h(!0),H({id:e,remove:!0},{onSuccess:async()=>{h(!1),v(!1),d.invalidateQueries({queryKey:["app-state"]})},onError:async ge=>{h(!1),S(ge.message)}})},U=()=>{h(!0),P({id:e},{onSuccess:async()=>{h(!1),p(!1),d.invalidateQueries({queryKey:["app-state"]})},onError:async ge=>{h(!1),S(ge.message)}})},Y=()=>{h(!0),H({id:e,remove:!1},{onSuccess:async()=>{h(!1),m(!1),d.invalidateQueries({queryKey:["app-state"]})},onError:async ge=>{h(!1),S(ge.message)}})},B=[{id:"start",title:"Start",onClick:()=>p(!0),visible:!0,disabled:a},{id:"stop",title:"Stop",onClick:()=>m(!0),visible:!0,disabled:!a||u},{id:"edit",title:"Edit",onClick:()=>E(!0),visible:!0,disabled:u||e===""},{id:"delete",title:"Delete",onClick:()=>v(!0),visible:!0,disabled:u||e===""}],ae=g.jsxs(g.Fragment,{children:[g.jsxs("p",{className:"w-[400px] mb-6",children:["Are you sure you want to start ",g.jsx("b",{children:t}),"?"]}),g.jsxs(Ka,{children:[g.jsx(ln,{id:"cancel-btn",variant:"outlined",color:"secondary",onClick:()=>p(!1),children:"Cancel"}),g.jsx(ln,{id:"start-btn",variant:"contained",color:"primary",onClick:()=>U(),disabled:c,children:"Start"})]})]}),Re=g.jsxs(g.Fragment,{children:[g.jsxs("p",{className:"w-[400px] mb-6",children:["Are you sure you want to stop ",g.jsx("b",{children:t}),"?"]}),g.jsxs(Ka,{children:[g.jsx(ln,{id:"cancel-btn",variant:"outlined",color:"secondary",onClick:()=>m(!1),children:"Cancel"}),g.jsx(ln,{id:"stop-btn",variant:"contained",color:"primary",onClick:()=>Y(),disabled:c,children:"Stop"})]})]}),ye=g.jsxs(g.Fragment,{children:[g.jsxs("p",{className:"w-[400px] mb-6",children:["Are you sure you want to delete ",g.jsx("b",{children:t}),"? This action is permanent and cannot be reversed."]}),g.jsxs(Ka,{children:[g.jsx(ln,{id:"cancel-btn",variant:"outlined",color:"secondary",onClick:()=>v(!1),children:"Cancel"}),g.jsx(ln,{id:"delete-btn",variant:"contained",color:"primary",onClick:()=>M(),disabled:c,children:"Delete"})]})]});return g.jsxs("div",{className:"card",id:`card-${e}`,tabIndex:0,children:[g.jsxs("div",{className:"card-header-media",children:[g.jsxs("div",{className:"card-header-menu",children:[g.jsx(VF,{id:`card-menu-${e}`,items:B}),y&&g.jsx(Ui,{title:`Start ${t}`,setIsOpen:p,body:ae}),_&&g.jsx(Ui,{title:`Stop ${t}`,setIsOpen:m,body:Re}),f&&g.jsx(Ui,{title:`Delete ${t}`,setIsOpen:v,body:ye}),R&&g.jsx(Ui,{title:`Edit ${t}`,setIsOpen:E,body:g.jsx(_w,{id:e,onCancel:()=>E(!1),onSubmit:()=>E(!1)})})]}),g.jsx("div",{className:"card-header-img flex flex-row",children:r?g.jsx("img",{src:r,alt:"App thumb"}):g.jsx(g.Fragment,{})})]}),g.jsx("div",{className:"card-header",children:g.jsx("h3",{className:"font-bold",children:g.jsx("a",{href:i,children:t})})}),g.jsxs("div",{className:"card-body",children:[g.jsx("p",{className:"text-sm pb-2",children:n}),s?g.jsxs("div",{className:"text-sm",children:[g.jsx("span",{className:"font-bold",children:"Author: "}),s]}):g.jsx(g.Fragment,{})]}),g.jsxs("div",{className:"card-footer",children:[g.jsx(Vy,{id:`tag-${e}`,children:o}),l?g.jsx(Vy,{id:`tag-${e}`,className:"ml-2 bg-warning-light",children:"Public"}):g.jsx(g.Fragment,{})]})]})},sv=({appType:e="My",filter:t})=>{const[n]=Ar(ip),[,r]=Ar(zs),[o,i]=T.useState([]),{isLoading:s,error:a,data:l}=Kr({queryKey:["app-state"],queryFn:()=>un.get("/server/").then(u=>u.data).then(u=>u),enabled:!!n.user});return T.useEffect(()=>{if(!s&&l){const u=t.toLowerCase();i(()=>cD(l,e).filter(d=>{var c,h;return d.name.toLowerCase().includes(u)||((c=d.description)==null?void 0:c.toLowerCase().includes(u))||((h=d.framework)==null?void 0:h.toLowerCase().includes(u))}))}},[s,l,e,t]),T.useEffect(()=>{r(a?a.message:void 0)},[a,r]),g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"container w-full flex flex-align-center pb-12",children:[g.jsx("div",{className:"grid-heading-left w-full",children:g.jsxs("h2",{className:"whitespace-nowrap font-bold",children:[e," Apps"]})}),g.jsx("div",{className:"grid-heading-center w-full",children:g.jsx("hr",{className:"grid-spacer"})}),g.jsx("div",{className:"grid-heading-right flex justify-end w-full",children:g.jsxs("h2",{className:"whitespace-nowrap font-bold",children:[o.length," apps"]})})]}),g.jsx("div",{className:"container grid pb-12",children:s?g.jsx("div",{className:"font-bold",children:"Loading..."}):o.length>0?g.jsx("div",{className:"flex flex flex-row flex-wrap gap-4",children:o.map(u=>g.jsx(ND,{id:u.id,title:u.name,description:u.description,thumbnail:u.thumbnail,framework:u.framework,url:u.url,ready:u.ready,username:u.username,isPublic:u.public,isShared:e==="Shared"},`app-${u.id}`))}):g.jsx("div",{children:"No apps available"})})]})},PD=()=>{const[e]=Ar(ip),[,t]=Ar(zs),[n,r]=T.useState([]),{isLoading:o,error:i,data:s}=Kr({queryKey:["service-data"],queryFn:()=>un.get("/services/").then(l=>l.data).then(l=>l),enabled:!!e.user}),a=(l,u)=>{u?window.open(l,"_blank"):window.location.assign(l)};return T.useEffect(()=>{!o&&s&&r(()=>uD(s,e.user))},[o,s,e.user]),T.useEffect(()=>{t(i?i.message:void 0)},[i,t]),g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"container flex flex-align-center pb-12",children:[g.jsx("div",{className:"grid-heading-left w-full",children:g.jsx("h2",{className:"whitespace-nowrap font-bold",children:"Services"})}),g.jsx("div",{className:"grid-heading-center w-full",children:g.jsx("hr",{className:"grid-spacer"})}),g.jsx("div",{className:"grid-heading-right w-full flex justify-end",children:g.jsxs("h2",{className:"whitespace-nowrap font-bold",children:[n.length," services"]})})]}),g.jsx("div",{className:"container grid pb-12",children:o?g.jsx("div",{className:"font-bold",children:"Loading..."}):n.length>0?g.jsx("div",{className:"flex flex flex-row flex-wrap gap-4",children:n.map((l,u)=>g.jsx(ln,{id:`service-${u}`,variant:"outlined",color:"secondary",style:{minWidth:"180px"},onClick:()=>{a(l.url,l.external)},children:l.name},`service-${u}`))}):g.jsx("div",{children:"No services available"})})]})},av=()=>{const[e,t]=T.useState(!1),[n]=Ar(zs),[r,o]=T.useState(""),i=s=>{const a=s.target;o(a.value)};return g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"container grid grid-cols-12 pb-12",children:[g.jsx("div",{className:"md:col-span-2 col-span-12",children:g.jsx("h1",{className:"text-3xl font-bold",children:"Home"})}),g.jsx("div",{className:"md:col-span-8 col-span-8",children:g.jsx(Bi,{id:"search",placeholder:"Search...","aria-label":"Search for an app",className:"w-full mt-0",onChange:i})}),g.jsxs("div",{className:"md:col-span-2 col-span-4 flex justify-end",children:[g.jsx(ln,{id:"create-app",variant:"contained",color:"primary",onClick:()=>{t(!0)},children:"Create App"}),e&&g.jsx(Ui,{title:"Create New App",setIsOpen:t,body:g.jsx(_w,{onCancel:()=>t(!1)})})]})]}),n&&g.jsx("div",{className:"container grid grid-cols-12 pb-2",children:g.jsx("div",{className:"col-span-12",children:g.jsx(NF,{id:"alert-notification",type:"error",children:n})})}),g.jsx(PD,{}),g.jsx(sv,{appType:"My",filter:r}),g.jsx(sv,{appType:"Shared",filter:r})]})},OD=()=>{const[e,t]=ie.useState(""),{data:n,isLoading:r,error:o}=Kr(["serverTypes"],async()=>{const{data:a}=await un.get("/spawner-profiles/");return a}),i=a=>{t(a.target.value)},s=a=>{a.preventDefault()};return g.jsx("div",{className:"server-types",children:o?g.jsxs("div",{children:["An error occurred: ",o.message]}):r?g.jsx("div",{className:"font-bold center",children:"Loading..."}):n&&n.length>0?g.jsx("form",{onSubmit:s,className:"container mx-auto px-4",children:g.jsx("div",{className:"container mx-auto px-4 server-types",children:g.jsx("div",{className:"grid grid-cols-12 gap-4",children:g.jsxs("div",{className:"col-start-4 col-span-6 bg-gray-200 p-4",children:[g.jsx("h1",{className:"mb-0",children:"Server Type"}),g.jsxs("p",{children:["Please select the appropriate server for your app. For more information on server types,"," ",g.jsx("span",{children:g.jsx("a",{href:"https://www.nebari.dev/docs/welcome",target:"_blank",rel:"noopener noreferrer",children:"visit our docs"})}),"."]}),g.jsxs("div",{className:"container my-2",children:[n==null?void 0:n.map(a=>g.jsx(UF,{id:a.slug,name:a.display_name,label:a.display_name,subtext:a.description,value:a.slug,checked:e===a.slug,onChange:i},a.slug)),g.jsxs("div",{className:"button-container bt",children:[g.jsx("button",{className:"btn",role:"button",children:"Cancel"}),g.jsxs("div",{className:"button-group",children:[g.jsx("button",{className:"btn btn-primary br-5 mr-1",role:"button",disabled:!0,children:"Back"}),g.jsx("button",{type:"submit",className:"btn btn-primary br-5",role:"button",children:"Create App"})]})]})]})]})})})}):g.jsx("div",{children:"No servers available"})})},LD=new eF({defaultOptions:{queries:{refetchOnWindowFocus:!1}}}),FD=()=>{const[,e]=Ar(ip);return T.useEffect(()=>{e(sw())},[e]),g.jsx(mF,{client:LD,children:g.jsx("div",{children:g.jsx("main",{className:"my-6",children:g.jsxs(HT,{children:[g.jsx(za,{path:"/home",element:g.jsx(av,{})}),g.jsx(za,{path:"/",element:g.jsx(av,{})}),g.jsx(za,{path:"/server-types",element:g.jsx(OD,{})})]})})})})},bt={50:"#D6EEDC",100:"#ADDCBA",200:"#85CB97",300:"#5CB975",400:"#36AB55",500:"#298642",600:"#206532",700:"#144321",800:"#0A2210",900:"#051108"},zt={50:"#F7F8F8",100:"#E1E3E4",200:"#C3C7CB",300:"#A6ACB2",400:"#90969C",500:"#5B5F63",600:"#44474A",700:"#3C3C3B",800:"#242628",900:"#1A1C1D"},et={50:"#2491FF",100:"#2491FF",200:"#2491FF",300:"#2491FF",400:"#2491FF",500:"#005EA2",600:"#1A4480",700:"#1A4480",800:"#1A4480",900:"#162E51"},MD="#D72D47",DD="#F66A0A",Kn="#FFFFFF",ID="#000000",Ea=Bf({typography:{fontFamily:'"Inter", sans-serif'},components:{MuiButtonBase:{defaultProps:{disableRipple:!0}}}}),$D=Bf(Ea,{palette:{primary:Ea.palette.augmentColor({color:{light:et[300],main:et[500],dark:et[700],contrastText:Kn,50:et[50],100:et[100],200:et[200],300:et[300],400:et[400],500:et[500],600:et[600],700:et[700],800:et[800],900:et[900]},name:"primary"}),secondary:Ea.palette.augmentColor({color:{light:bt[300],main:bt[500],dark:bt[700],contrastText:bt[500],50:bt[50],100:bt[100],200:bt[200],300:bt[300],400:bt[400],500:bt[500],600:bt[600],700:bt[700],800:bt[800],900:bt[900]},name:"secondary"}),gray:Ea.palette.augmentColor({color:{light:zt[300],main:zt[500],dark:zt[700],contrastText:Kn,50:zt[50],100:zt[100],200:zt[200],300:zt[300],400:zt[400],500:zt[500],600:zt[600],700:zt[700],800:zt[800],900:zt[900]},name:"gray"}),warning:{main:DD,contrastText:Kn},error:{main:MD,contrastText:Kn},info:{main:et,contrastText:Kn},success:{main:bt[500],contrastText:Kn},common:{black:ID,white:Kn}},components:{MuiButton:{variants:[{props:{variant:"contained",color:"primary"},style:{minWidth:"120px",backgroundColor:et[500],border:`1px solid ${et[500]}`,fontWeight:700,textTransform:"none","&:disabled":{borderColor:"transparent"}}},{props:{variant:"outlined",color:"secondary"},style:{minWidth:"120px",backgroundColor:Kn,border:`2px solid ${et[500]}`,color:et[500],fontWeight:700,textTransform:"none","&:hover":{backgroundColor:Kn,borderWidth:2,border:`2px solid ${et[700]}`,color:et[700]}}}]}}});Xd.createRoot(document.getElementById("root")).render(g.jsx(ie.StrictMode,{children:g.jsx(QT,{basename:"/hub",children:g.jsx(jL,{children:g.jsxs(mx,{theme:$D,children:[g.jsx(aT,{}),g.jsx(FD,{})]})})})})); +*/(function(e){(function(){var t={}.hasOwnProperty;function n(){for(var s="",i=0;i{const r=pd("alert",{"alert-success":t==="success","alert-warning":t==="warning","alert-error":t==="error","alert-info":t==="info"});return g.jsx("div",{id:e,className:r,children:g.jsx("div",{className:"alert-body",children:g.jsx("p",{className:"alert-text",children:n})})})};function Pw(e,t){return function(){return e.apply(t,arguments)}}const{toString:P3}=Object.prototype,{getPrototypeOf:Bm}=Object,hd=(e=>t=>{const n=P3.call(t);return e[n]||(e[n]=n.slice(8,-1).toLowerCase())})(Object.create(null)),lr=e=>(e=e.toLowerCase(),t=>hd(t)===e),md=e=>t=>typeof t===e,{isArray:Ks}=Array,va=md("undefined");function A3(e){return e!==null&&!va(e)&&e.constructor!==null&&!va(e.constructor)&&Pn(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const Aw=lr("ArrayBuffer");function N3(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&Aw(e.buffer),t}const O3=md("string"),Pn=md("function"),Nw=md("number"),vd=e=>e!==null&&typeof e=="object",L3=e=>e===!0||e===!1,Ll=e=>{if(hd(e)!=="object")return!1;const t=Bm(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},$3=lr("Date"),M3=lr("File"),I3=lr("Blob"),F3=lr("FileList"),D3=e=>vd(e)&&Pn(e.pipe),j3=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||Pn(e.append)&&((t=hd(e))==="formdata"||t==="object"&&Pn(e.toString)&&e.toString()==="[object FormData]"))},B3=lr("URLSearchParams"),U3=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function La(e,t,{allOwnKeys:n=!1}={}){if(e===null||typeof e>"u")return;let r,o;if(typeof e!="object"&&(e=[e]),Ks(e))for(r=0,o=e.length;r0;)if(o=n[r],t===o.toLowerCase())return o;return null}const Lw=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,$w=e=>!va(e)&&e!==Lw;function Up(){const{caseless:e}=$w(this)&&this||{},t={},n=(r,o)=>{const s=e&&Ow(t,o)||o;Ll(t[s])&&Ll(r)?t[s]=Up(t[s],r):Ll(r)?t[s]=Up({},r):Ks(r)?t[s]=r.slice():t[s]=r};for(let r=0,o=arguments.length;r(La(t,(o,s)=>{n&&Pn(o)?e[s]=Pw(o,n):e[s]=o},{allOwnKeys:r}),e),V3=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),W3=(e,t,n,r)=>{e.prototype=Object.create(t.prototype,r),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),n&&Object.assign(e.prototype,n)},H3=(e,t,n,r)=>{let o,s,i;const a={};if(t=t||{},e==null)return t;do{for(o=Object.getOwnPropertyNames(e),s=o.length;s-- >0;)i=o[s],(!r||r(i,e,t))&&!a[i]&&(t[i]=e[i],a[i]=!0);e=n!==!1&&Bm(e)}while(e&&(!n||n(e,t))&&e!==Object.prototype);return t},q3=(e,t,n)=>{e=String(e),(n===void 0||n>e.length)&&(n=e.length),n-=t.length;const r=e.indexOf(t,n);return r!==-1&&r===n},K3=e=>{if(!e)return null;if(Ks(e))return e;let t=e.length;if(!Nw(t))return null;const n=new Array(t);for(;t-- >0;)n[t]=e[t];return n},G3=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Bm(Uint8Array)),Q3=(e,t)=>{const r=(e&&e[Symbol.iterator]).call(e);let o;for(;(o=r.next())&&!o.done;){const s=o.value;t.call(e,s[0],s[1])}},X3=(e,t)=>{let n;const r=[];for(;(n=e.exec(t))!==null;)r.push(n);return r},Y3=lr("HTMLFormElement"),J3=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(n,r,o){return r.toUpperCase()+o}),Zg=(({hasOwnProperty:e})=>(t,n)=>e.call(t,n))(Object.prototype),Z3=lr("RegExp"),Mw=(e,t)=>{const n=Object.getOwnPropertyDescriptors(e),r={};La(n,(o,s)=>{let i;(i=t(o,s,e))!==!1&&(r[s]=i||o)}),Object.defineProperties(e,r)},eB=e=>{Mw(e,(t,n)=>{if(Pn(e)&&["arguments","caller","callee"].indexOf(n)!==-1)return!1;const r=e[n];if(Pn(r)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+n+"'")})}})},tB=(e,t)=>{const n={},r=o=>{o.forEach(s=>{n[s]=!0})};return Ks(e)?r(e):r(String(e).split(t)),n},nB=()=>{},rB=(e,t)=>(e=+e,Number.isFinite(e)?e:t),ff="abcdefghijklmnopqrstuvwxyz",e0="0123456789",Iw={DIGIT:e0,ALPHA:ff,ALPHA_DIGIT:ff+ff.toUpperCase()+e0},oB=(e=16,t=Iw.ALPHA_DIGIT)=>{let n="";const{length:r}=t;for(;e--;)n+=t[Math.random()*r|0];return n};function sB(e){return!!(e&&Pn(e.append)&&e[Symbol.toStringTag]==="FormData"&&e[Symbol.iterator])}const iB=e=>{const t=new Array(10),n=(r,o)=>{if(vd(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[o]=r;const s=Ks(r)?[]:{};return La(r,(i,a)=>{const l=n(i,o+1);!va(l)&&(s[a]=l)}),t[o]=void 0,s}}return r};return n(e,0)},aB=lr("AsyncFunction"),lB=e=>e&&(vd(e)||Pn(e))&&Pn(e.then)&&Pn(e.catch),W={isArray:Ks,isArrayBuffer:Aw,isBuffer:A3,isFormData:j3,isArrayBufferView:N3,isString:O3,isNumber:Nw,isBoolean:L3,isObject:vd,isPlainObject:Ll,isUndefined:va,isDate:$3,isFile:M3,isBlob:I3,isRegExp:Z3,isFunction:Pn,isStream:D3,isURLSearchParams:B3,isTypedArray:G3,isFileList:F3,forEach:La,merge:Up,extend:z3,trim:U3,stripBOM:V3,inherits:W3,toFlatObject:H3,kindOf:hd,kindOfTest:lr,endsWith:q3,toArray:K3,forEachEntry:Q3,matchAll:X3,isHTMLForm:Y3,hasOwnProperty:Zg,hasOwnProp:Zg,reduceDescriptors:Mw,freezeMethods:eB,toObjectSet:tB,toCamelCase:J3,noop:nB,toFiniteNumber:rB,findKey:Ow,global:Lw,isContextDefined:$w,ALPHABET:Iw,generateString:oB,isSpecCompliantForm:sB,toJSONObject:iB,isAsyncFn:aB,isThenable:lB};function $e(e,t,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}W.inherits($e,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:W.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const Fw=$e.prototype,Dw={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Dw[e]={value:e}});Object.defineProperties($e,Dw);Object.defineProperty(Fw,"isAxiosError",{value:!0});$e.from=(e,t,n,r,o,s)=>{const i=Object.create(Fw);return W.toFlatObject(e,i,function(l){return l!==Error.prototype},a=>a!=="isAxiosError"),$e.call(i,e.message,t,n,r,o),i.cause=e,i.name=e.name,s&&Object.assign(i,s),i};const uB=null;function zp(e){return W.isPlainObject(e)||W.isArray(e)}function jw(e){return W.endsWith(e,"[]")?e.slice(0,-2):e}function t0(e,t,n){return e?e.concat(t).map(function(o,s){return o=jw(o),!n&&s?"["+o+"]":o}).join(n?".":""):t}function cB(e){return W.isArray(e)&&!e.some(zp)}const dB=W.toFlatObject(W,{},null,function(t){return/^is[A-Z]/.test(t)});function yd(e,t,n){if(!W.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,n=W.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,w){return!W.isUndefined(w[m])});const r=n.metaTokens,o=n.visitor||c,s=n.dots,i=n.indexes,l=(n.Blob||typeof Blob<"u"&&Blob)&&W.isSpecCompliantForm(t);if(!W.isFunction(o))throw new TypeError("visitor must be a function");function u(h){if(h===null)return"";if(W.isDate(h))return h.toISOString();if(!l&&W.isBlob(h))throw new $e("Blob is not supported. Use a Buffer instead.");return W.isArrayBuffer(h)||W.isTypedArray(h)?l&&typeof Blob=="function"?new Blob([h]):Buffer.from(h):h}function c(h,m,w){let y=h;if(h&&!w&&typeof h=="object"){if(W.endsWith(m,"{}"))m=r?m:m.slice(0,-2),h=JSON.stringify(h);else if(W.isArray(h)&&cB(h)||(W.isFileList(h)||W.endsWith(m,"[]"))&&(y=W.toArray(h)))return m=jw(m),y.forEach(function(v,x){!(W.isUndefined(v)||v===null)&&t.append(i===!0?t0([m],x,s):i===null?m:m+"[]",u(v))}),!1}return zp(h)?!0:(t.append(t0(w,m,s),u(h)),!1)}const d=[],f=Object.assign(dB,{defaultVisitor:c,convertValue:u,isVisitable:zp});function S(h,m){if(!W.isUndefined(h)){if(d.indexOf(h)!==-1)throw Error("Circular reference detected in "+m.join("."));d.push(h),W.forEach(h,function(y,p){(!(W.isUndefined(y)||y===null)&&o.call(t,y,W.isString(p)?p.trim():p,m,f))===!0&&S(y,m?m.concat(p):[p])}),d.pop()}}if(!W.isObject(e))throw new TypeError("data must be an object");return S(e),t}function n0(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(r){return t[r]})}function Um(e,t){this._pairs=[],e&&yd(e,this,t)}const Bw=Um.prototype;Bw.append=function(t,n){this._pairs.push([t,n])};Bw.toString=function(t){const n=t?function(r){return t.call(this,r,n0)}:n0;return this._pairs.map(function(o){return n(o[0])+"="+n(o[1])},"").join("&")};function fB(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Uw(e,t,n){if(!t)return e;const r=n&&n.encode||fB,o=n&&n.serialize;let s;if(o?s=o(t,n):s=W.isURLSearchParams(t)?t.toString():new Um(t,n).toString(r),s){const i=e.indexOf("#");i!==-1&&(e=e.slice(0,i)),e+=(e.indexOf("?")===-1?"?":"&")+s}return e}class r0{constructor(){this.handlers=[]}use(t,n,r){return this.handlers.push({fulfilled:t,rejected:n,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){W.forEach(this.handlers,function(r){r!==null&&t(r)})}}const zw={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},pB=typeof URLSearchParams<"u"?URLSearchParams:Um,hB=typeof FormData<"u"?FormData:null,mB=typeof Blob<"u"?Blob:null,vB={isBrowser:!0,classes:{URLSearchParams:pB,FormData:hB,Blob:mB},protocols:["http","https","file","blob","url","data"]},Vw=typeof window<"u"&&typeof document<"u",yB=(e=>Vw&&["ReactNative","NativeScript","NS"].indexOf(e)<0)(typeof navigator<"u"&&navigator.product),gB=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",SB=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Vw,hasStandardBrowserEnv:yB,hasStandardBrowserWebWorkerEnv:gB},Symbol.toStringTag,{value:"Module"})),tr={...SB,...vB};function bB(e,t){return yd(e,new tr.classes.URLSearchParams,Object.assign({visitor:function(n,r,o,s){return tr.isNode&&W.isBuffer(n)?(this.append(r,n.toString("base64")),!1):s.defaultVisitor.apply(this,arguments)}},t))}function xB(e){return W.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function wB(e){const t={},n=Object.keys(e);let r;const o=n.length;let s;for(r=0;r=n.length;return i=!i&&W.isArray(o)?o.length:i,l?(W.hasOwnProp(o,i)?o[i]=[o[i],r]:o[i]=r,!a):((!o[i]||!W.isObject(o[i]))&&(o[i]=[]),t(n,r,o[i],s)&&W.isArray(o[i])&&(o[i]=wB(o[i])),!a)}if(W.isFormData(e)&&W.isFunction(e.entries)){const n={};return W.forEachEntry(e,(r,o)=>{t(xB(r),o,n,0)}),n}return null}function RB(e,t,n){if(W.isString(e))try{return(t||JSON.parse)(e),W.trim(e)}catch(r){if(r.name!=="SyntaxError")throw r}return(n||JSON.stringify)(e)}const zm={transitional:zw,adapter:["xhr","http"],transformRequest:[function(t,n){const r=n.getContentType()||"",o=r.indexOf("application/json")>-1,s=W.isObject(t);if(s&&W.isHTMLForm(t)&&(t=new FormData(t)),W.isFormData(t))return o?JSON.stringify(Ww(t)):t;if(W.isArrayBuffer(t)||W.isBuffer(t)||W.isStream(t)||W.isFile(t)||W.isBlob(t))return t;if(W.isArrayBufferView(t))return t.buffer;if(W.isURLSearchParams(t))return n.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(s){if(r.indexOf("application/x-www-form-urlencoded")>-1)return bB(t,this.formSerializer).toString();if((a=W.isFileList(t))||r.indexOf("multipart/form-data")>-1){const l=this.env&&this.env.FormData;return yd(a?{"files[]":t}:t,l&&new l,this.formSerializer)}}return s||o?(n.setContentType("application/json",!1),RB(t)):t}],transformResponse:[function(t){const n=this.transitional||zm.transitional,r=n&&n.forcedJSONParsing,o=this.responseType==="json";if(t&&W.isString(t)&&(r&&!this.responseType||o)){const i=!(n&&n.silentJSONParsing)&&o;try{return JSON.parse(t)}catch(a){if(i)throw a.name==="SyntaxError"?$e.from(a,$e.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:tr.classes.FormData,Blob:tr.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};W.forEach(["delete","get","head","post","put","patch"],e=>{zm.headers[e]={}});const Vm=zm,CB=W.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),EB=e=>{const t={};let n,r,o;return e&&e.split(` +`).forEach(function(i){o=i.indexOf(":"),n=i.substring(0,o).trim().toLowerCase(),r=i.substring(o+1).trim(),!(!n||t[n]&&CB[n])&&(n==="set-cookie"?t[n]?t[n].push(r):t[n]=[r]:t[n]=t[n]?t[n]+", "+r:r)}),t},o0=Symbol("internals");function yi(e){return e&&String(e).trim().toLowerCase()}function $l(e){return e===!1||e==null?e:W.isArray(e)?e.map($l):String(e)}function _B(e){const t=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(e);)t[r[1]]=r[2];return t}const kB=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function pf(e,t,n,r,o){if(W.isFunction(r))return r.call(this,t,n);if(o&&(t=n),!!W.isString(t)){if(W.isString(r))return t.indexOf(r)!==-1;if(W.isRegExp(r))return r.test(t)}}function TB(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,n,r)=>n.toUpperCase()+r)}function PB(e,t){const n=W.toCamelCase(" "+t);["get","set","has"].forEach(r=>{Object.defineProperty(e,r+n,{value:function(o,s,i){return this[r].call(this,t,o,s,i)},configurable:!0})})}class gd{constructor(t){t&&this.set(t)}set(t,n,r){const o=this;function s(a,l,u){const c=yi(l);if(!c)throw new Error("header name must be a non-empty string");const d=W.findKey(o,c);(!d||o[d]===void 0||u===!0||u===void 0&&o[d]!==!1)&&(o[d||l]=$l(a))}const i=(a,l)=>W.forEach(a,(u,c)=>s(u,c,l));return W.isPlainObject(t)||t instanceof this.constructor?i(t,n):W.isString(t)&&(t=t.trim())&&!kB(t)?i(EB(t),n):t!=null&&s(n,t,r),this}get(t,n){if(t=yi(t),t){const r=W.findKey(this,t);if(r){const o=this[r];if(!n)return o;if(n===!0)return _B(o);if(W.isFunction(n))return n.call(this,o,r);if(W.isRegExp(n))return n.exec(o);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,n){if(t=yi(t),t){const r=W.findKey(this,t);return!!(r&&this[r]!==void 0&&(!n||pf(this,this[r],r,n)))}return!1}delete(t,n){const r=this;let o=!1;function s(i){if(i=yi(i),i){const a=W.findKey(r,i);a&&(!n||pf(r,r[a],a,n))&&(delete r[a],o=!0)}}return W.isArray(t)?t.forEach(s):s(t),o}clear(t){const n=Object.keys(this);let r=n.length,o=!1;for(;r--;){const s=n[r];(!t||pf(this,this[s],s,t,!0))&&(delete this[s],o=!0)}return o}normalize(t){const n=this,r={};return W.forEach(this,(o,s)=>{const i=W.findKey(r,s);if(i){n[i]=$l(o),delete n[s];return}const a=t?TB(s):String(s).trim();a!==s&&delete n[s],n[a]=$l(o),r[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const n=Object.create(null);return W.forEach(this,(r,o)=>{r!=null&&r!==!1&&(n[o]=t&&W.isArray(r)?r.join(", "):r)}),n}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,n])=>t+": "+n).join(` +`)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(o=>r.set(o)),r}static accessor(t){const r=(this[o0]=this[o0]={accessors:{}}).accessors,o=this.prototype;function s(i){const a=yi(i);r[a]||(PB(o,i),r[a]=!0)}return W.isArray(t)?t.forEach(s):s(t),this}}gd.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);W.reduceDescriptors(gd.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});W.freezeMethods(gd);const vr=gd;function hf(e,t){const n=this||Vm,r=t||n,o=vr.from(r.headers);let s=r.data;return W.forEach(e,function(a){s=a.call(n,s,o.normalize(),t?t.status:void 0)}),o.normalize(),s}function Hw(e){return!!(e&&e.__CANCEL__)}function $a(e,t,n){$e.call(this,e??"canceled",$e.ERR_CANCELED,t,n),this.name="CanceledError"}W.inherits($a,$e,{__CANCEL__:!0});function AB(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new $e("Request failed with status code "+n.status,[$e.ERR_BAD_REQUEST,$e.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}const NB=tr.hasStandardBrowserEnv?{write(e,t,n,r,o,s){const i=[e+"="+encodeURIComponent(t)];W.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),W.isString(r)&&i.push("path="+r),W.isString(o)&&i.push("domain="+o),s===!0&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function OB(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function LB(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function qw(e,t){return e&&!OB(t)?LB(e,t):t}const $B=tr.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");let r;function o(s){let i=s;return t&&(n.setAttribute("href",i),i=n.href),n.setAttribute("href",i),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return r=o(window.location.href),function(i){const a=W.isString(i)?o(i):i;return a.protocol===r.protocol&&a.host===r.host}}():function(){return function(){return!0}}();function MB(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function IB(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o=0,s=0,i;return t=t!==void 0?t:1e3,function(l){const u=Date.now(),c=r[s];i||(i=u),n[o]=l,r[o]=u;let d=s,f=0;for(;d!==o;)f+=n[d++],d=d%e;if(o=(o+1)%e,o===s&&(s=(s+1)%e),u-i{const s=o.loaded,i=o.lengthComputable?o.total:void 0,a=s-n,l=r(a),u=s<=i;n=s;const c={loaded:s,total:i,progress:i?s/i:void 0,bytes:a,rate:l||void 0,estimated:l&&i&&u?(i-s)/l:void 0,event:o};c[t?"download":"upload"]=!0,e(c)}}const FB=typeof XMLHttpRequest<"u",DB=FB&&function(e){return new Promise(function(n,r){let o=e.data;const s=vr.from(e.headers).normalize();let{responseType:i,withXSRFToken:a}=e,l;function u(){e.cancelToken&&e.cancelToken.unsubscribe(l),e.signal&&e.signal.removeEventListener("abort",l)}let c;if(W.isFormData(o)){if(tr.hasStandardBrowserEnv||tr.hasStandardBrowserWebWorkerEnv)s.setContentType(!1);else if((c=s.getContentType())!==!1){const[m,...w]=c?c.split(";").map(y=>y.trim()).filter(Boolean):[];s.setContentType([m||"multipart/form-data",...w].join("; "))}}let d=new XMLHttpRequest;if(e.auth){const m=e.auth.username||"",w=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";s.set("Authorization","Basic "+btoa(m+":"+w))}const f=qw(e.baseURL,e.url);d.open(e.method.toUpperCase(),Uw(f,e.params,e.paramsSerializer),!0),d.timeout=e.timeout;function S(){if(!d)return;const m=vr.from("getAllResponseHeaders"in d&&d.getAllResponseHeaders()),y={data:!i||i==="text"||i==="json"?d.responseText:d.response,status:d.status,statusText:d.statusText,headers:m,config:e,request:d};AB(function(v){n(v),u()},function(v){r(v),u()},y),d=null}if("onloadend"in d?d.onloadend=S:d.onreadystatechange=function(){!d||d.readyState!==4||d.status===0&&!(d.responseURL&&d.responseURL.indexOf("file:")===0)||setTimeout(S)},d.onabort=function(){d&&(r(new $e("Request aborted",$e.ECONNABORTED,e,d)),d=null)},d.onerror=function(){r(new $e("Network Error",$e.ERR_NETWORK,e,d)),d=null},d.ontimeout=function(){let w=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const y=e.transitional||zw;e.timeoutErrorMessage&&(w=e.timeoutErrorMessage),r(new $e(w,y.clarifyTimeoutError?$e.ETIMEDOUT:$e.ECONNABORTED,e,d)),d=null},tr.hasStandardBrowserEnv&&(a&&W.isFunction(a)&&(a=a(e)),a||a!==!1&&$B(f))){const m=e.xsrfHeaderName&&e.xsrfCookieName&&NB.read(e.xsrfCookieName);m&&s.set(e.xsrfHeaderName,m)}o===void 0&&s.setContentType(null),"setRequestHeader"in d&&W.forEach(s.toJSON(),function(w,y){d.setRequestHeader(y,w)}),W.isUndefined(e.withCredentials)||(d.withCredentials=!!e.withCredentials),i&&i!=="json"&&(d.responseType=e.responseType),typeof e.onDownloadProgress=="function"&&d.addEventListener("progress",s0(e.onDownloadProgress,!0)),typeof e.onUploadProgress=="function"&&d.upload&&d.upload.addEventListener("progress",s0(e.onUploadProgress)),(e.cancelToken||e.signal)&&(l=m=>{d&&(r(!m||m.type?new $a(null,e,d):m),d.abort(),d=null)},e.cancelToken&&e.cancelToken.subscribe(l),e.signal&&(e.signal.aborted?l():e.signal.addEventListener("abort",l)));const h=MB(f);if(h&&tr.protocols.indexOf(h)===-1){r(new $e("Unsupported protocol "+h+":",$e.ERR_BAD_REQUEST,e));return}d.send(o||null)})},Vp={http:uB,xhr:DB};W.forEach(Vp,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const i0=e=>`- ${e}`,jB=e=>W.isFunction(e)||e===null||e===!1,Kw={getAdapter:e=>{e=W.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let s=0;s`adapter ${a} `+(l===!1?"is not supported by the environment":"is not available in the build"));let i=t?s.length>1?`since : +`+s.map(i0).join(` +`):" "+i0(s[0]):"as no adapter specified";throw new $e("There is no suitable adapter to dispatch the request "+i,"ERR_NOT_SUPPORT")}return r},adapters:Vp};function mf(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new $a(null,e)}function a0(e){return mf(e),e.headers=vr.from(e.headers),e.data=hf.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Kw.getAdapter(e.adapter||Vm.adapter)(e).then(function(r){return mf(e),r.data=hf.call(e,e.transformResponse,r),r.headers=vr.from(r.headers),r},function(r){return Hw(r)||(mf(e),r&&r.response&&(r.response.data=hf.call(e,e.transformResponse,r.response),r.response.headers=vr.from(r.response.headers))),Promise.reject(r)})}const l0=e=>e instanceof vr?e.toJSON():e;function $s(e,t){t=t||{};const n={};function r(u,c,d){return W.isPlainObject(u)&&W.isPlainObject(c)?W.merge.call({caseless:d},u,c):W.isPlainObject(c)?W.merge({},c):W.isArray(c)?c.slice():c}function o(u,c,d){if(W.isUndefined(c)){if(!W.isUndefined(u))return r(void 0,u,d)}else return r(u,c,d)}function s(u,c){if(!W.isUndefined(c))return r(void 0,c)}function i(u,c){if(W.isUndefined(c)){if(!W.isUndefined(u))return r(void 0,u)}else return r(void 0,c)}function a(u,c,d){if(d in t)return r(u,c);if(d in e)return r(void 0,u)}const l={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(u,c)=>o(l0(u),l0(c),!0)};return W.forEach(Object.keys(Object.assign({},e,t)),function(c){const d=l[c]||o,f=d(e[c],t[c],c);W.isUndefined(f)&&d!==a||(n[c]=f)}),n}const Gw="1.6.7",Wm={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Wm[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const u0={};Wm.transitional=function(t,n,r){function o(s,i){return"[Axios v"+Gw+"] Transitional option '"+s+"'"+i+(r?". "+r:"")}return(s,i,a)=>{if(t===!1)throw new $e(o(i," has been removed"+(n?" in "+n:"")),$e.ERR_DEPRECATED);return n&&!u0[i]&&(u0[i]=!0,console.warn(o(i," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(s,i,a):!0}};function BB(e,t,n){if(typeof e!="object")throw new $e("options must be an object",$e.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const s=r[o],i=t[s];if(i){const a=e[s],l=a===void 0||i(a,s,e);if(l!==!0)throw new $e("option "+s+" must be "+l,$e.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new $e("Unknown option "+s,$e.ERR_BAD_OPTION)}}const Wp={assertOptions:BB,validators:Wm},Tr=Wp.validators;class _u{constructor(t){this.defaults=t,this.interceptors={request:new r0,response:new r0}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let o;Error.captureStackTrace?Error.captureStackTrace(o={}):o=new Error;const s=o.stack?o.stack.replace(/^.+\n/,""):"";r.stack?s&&!String(r.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(r.stack+=` +`+s):r.stack=s}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=$s(this.defaults,n);const{transitional:r,paramsSerializer:o,headers:s}=n;r!==void 0&&Wp.assertOptions(r,{silentJSONParsing:Tr.transitional(Tr.boolean),forcedJSONParsing:Tr.transitional(Tr.boolean),clarifyTimeoutError:Tr.transitional(Tr.boolean)},!1),o!=null&&(W.isFunction(o)?n.paramsSerializer={serialize:o}:Wp.assertOptions(o,{encode:Tr.function,serialize:Tr.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=s&&W.merge(s.common,s[n.method]);s&&W.forEach(["delete","get","head","post","put","patch","common"],h=>{delete s[h]}),n.headers=vr.concat(i,s);const a=[];let l=!0;this.interceptors.request.forEach(function(m){typeof m.runWhen=="function"&&m.runWhen(n)===!1||(l=l&&m.synchronous,a.unshift(m.fulfilled,m.rejected))});const u=[];this.interceptors.response.forEach(function(m){u.push(m.fulfilled,m.rejected)});let c,d=0,f;if(!l){const h=[a0.bind(this),void 0];for(h.unshift.apply(h,a),h.push.apply(h,u),f=h.length,c=Promise.resolve(n);d{if(!r._listeners)return;let s=r._listeners.length;for(;s-- >0;)r._listeners[s](o);r._listeners=null}),this.promise.then=o=>{let s;const i=new Promise(a=>{r.subscribe(a),s=a}).then(o);return i.cancel=function(){r.unsubscribe(s)},i},t(function(s,i,a){r.reason||(r.reason=new $a(s,i,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}static source(){let t;return{token:new Hm(function(o){t=o}),cancel:t}}}const UB=Hm;function zB(e){return function(n){return e.apply(null,n)}}function VB(e){return W.isObject(e)&&e.isAxiosError===!0}const Hp={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Hp).forEach(([e,t])=>{Hp[t]=e});const WB=Hp;function Qw(e){const t=new Ml(e),n=Pw(Ml.prototype.request,t);return W.extend(n,Ml.prototype,t,{allOwnKeys:!0}),W.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return Qw($s(e,o))},n}const gt=Qw(Vm);gt.Axios=Ml;gt.CanceledError=$a;gt.CancelToken=UB;gt.isCancel=Hw;gt.VERSION=Gw;gt.toFormData=yd;gt.AxiosError=$e;gt.Cancel=gt.CanceledError;gt.all=function(t){return Promise.all(t)};gt.spread=zB;gt.isAxiosError=VB;gt.mergeConfig=$s;gt.AxiosHeaders=vr;gt.formToJSON=e=>Ww(W.isHTMLForm(e)?new FormData(e):e);gt.getAdapter=Kw.getAdapter;gt.HttpStatusCode=WB;gt.default=gt;const Jt=gt.create({baseURL:"/services/japps",headers:{"Content-Type":"application/json"}});Jt.interceptors.response.use(e=>e,e=>{const t=e.response.status;(e.response.status===401||t===403)&&(window.location.href="/services/japps/jhub-login")});const ku=()=>window.jhdata?window.jhdata:JSON.parse(localStorage.getItem("jhdata")||"{}"),HB=e=>{localStorage.setItem("jhdata",JSON.stringify(e))},qB=(e,t)=>{var r;const n=[];for(const o in e)if(Object.hasOwnProperty.call(e,o)){const s=e[o];s.display===!0&&s.info.name&&n.push({name:s.info.name,url:(r=s.info.url)==null?void 0:r.replace("[USER]",t),external:s.info.external})}return n},KB=(e,t)=>{const n=[],r=[];if(t.toLowerCase()==="shared")n.push(...e.shared_apps);else{n.push(...e.user_apps);const o=n.find(s=>{var i;return s.name===""&&!((i=s.user_options)!=null&&i.jhub_app)});o&&r.push({id:"",name:"JupyterLab",description:"This is your default JupyterLab server.",framework:"JupyterLab",url:o.url,thumbnail:KL,ready:o.ready,public:!1})}return n.forEach(o=>{var s;if((s=o.user_options)!=null&&s.jhub_app){const i=o.user_options;r.push({id:i.name,name:i.display_name,description:i.description,framework:GB(i.framework),url:o.url,thumbnail:i.thumbnail,username:o.username,ready:o.ready,public:i.public})}}),r},GB=e=>e.charAt(0).toUpperCase()+e.slice(1);var Ma=e=>e.type==="checkbox",is=e=>e instanceof Date,Vt=e=>e==null;const Xw=e=>typeof e=="object";var wt=e=>!Vt(e)&&!Array.isArray(e)&&Xw(e)&&!is(e),Yw=e=>wt(e)&&e.target?Ma(e.target)?e.target.checked:e.target.value:e,QB=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,Jw=(e,t)=>e.has(QB(t)),XB=e=>{const t=e.constructor&&e.constructor.prototype;return wt(t)&&t.hasOwnProperty("isPrototypeOf")},qm=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Xt(e){let t;const n=Array.isArray(e);if(e instanceof Date)t=new Date(e);else if(e instanceof Set)t=new Set(e);else if(!(qm&&(e instanceof Blob||e instanceof FileList))&&(n||wt(e)))if(t=n?[]:{},!n&&!XB(e))t=e;else for(const r in e)e.hasOwnProperty(r)&&(t[r]=Xt(e[r]));else return e;return t}var Ia=e=>Array.isArray(e)?e.filter(Boolean):[],dt=e=>e===void 0,oe=(e,t,n)=>{if(!t||!wt(e))return n;const r=Ia(t.split(/[,[\].]+?/)).reduce((o,s)=>Vt(o)?o:o[s],e);return dt(r)||r===e?dt(e[t])?n:e[t]:r},Un=e=>typeof e=="boolean";const Tu={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},zn={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ur={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},YB=fe.createContext(null),Km=()=>fe.useContext(YB);var Zw=(e,t,n,r=!0)=>{const o={defaultValues:t._defaultValues};for(const s in e)Object.defineProperty(o,s,{get:()=>{const i=s;return t._proxyFormState[i]!==zn.all&&(t._proxyFormState[i]=!r||zn.all),n&&(n[i]=!0),e[i]}});return o},wn=e=>wt(e)&&!Object.keys(e).length,eR=(e,t,n,r)=>{n(e);const{name:o,...s}=e;return wn(s)||Object.keys(s).length>=Object.keys(t).length||Object.keys(s).find(i=>t[i]===(!r||zn.all))},Il=e=>Array.isArray(e)?e:[e],tR=(e,t,n)=>!e||!t||e===t||Il(e).some(r=>r&&(n?r===t:r.startsWith(t)||t.startsWith(r)));function Gm(e){const t=fe.useRef(e);t.current=e,fe.useEffect(()=>{const n=!e.disabled&&t.current.subject&&t.current.subject.subscribe({next:t.current.next});return()=>{n&&n.unsubscribe()}},[e.disabled])}function JB(e){const t=Km(),{control:n=t.control,disabled:r,name:o,exact:s}=e||{},[i,a]=fe.useState(n._formState),l=fe.useRef(!0),u=fe.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1}),c=fe.useRef(o);return c.current=o,Gm({disabled:r,next:d=>l.current&&tR(c.current,d.name,s)&&eR(d,u.current,n._updateFormState)&&a({...n._formState,...d}),subject:n._subjects.state}),fe.useEffect(()=>(l.current=!0,u.current.isValid&&n._updateValid(!0),()=>{l.current=!1}),[n]),Zw(i,n,u.current,!1)}var nr=e=>typeof e=="string",nR=(e,t,n,r,o)=>nr(e)?(r&&t.watch.add(e),oe(n,e,o)):Array.isArray(e)?e.map(s=>(r&&t.watch.add(s),oe(n,s))):(r&&(t.watchAll=!0),n);function ZB(e){const t=Km(),{control:n=t.control,name:r,defaultValue:o,disabled:s,exact:i}=e||{},a=fe.useRef(r);a.current=r,Gm({disabled:s,subject:n._subjects.values,next:c=>{tR(a.current,c.name,i)&&u(Xt(nR(a.current,n._names,c.values||n._formValues,!1,o)))}});const[l,u]=fe.useState(n._getWatch(r,o));return fe.useEffect(()=>n._removeUnmounted()),l}var Qm=e=>/^\w*$/.test(e),rR=e=>Ia(e.replace(/["|']|\]/g,"").split(/\.|\[/)),Qe=(e,t,n)=>{let r=-1;const o=Qm(t)?[t]:rR(t),s=o.length,i=s-1;for(;++r{const c=o._options.shouldUnregister||s,d=(f,S)=>{const h=oe(o._fields,f);h&&(h._f.mount=S)};if(d(n,!0),c){const f=Xt(oe(o._options.defaultValues,n));Qe(o._defaultValues,n,f),dt(oe(o._formValues,n))&&Qe(o._formValues,n,f)}return()=>{(i?c&&!o._state.action:c)?o.unregister(n):d(n,!1)}},[n,o,i,s]),fe.useEffect(()=>{oe(o._fields,n)&&o._updateDisabledField({disabled:r,fields:o._fields,name:n,value:oe(o._fields,n)._f.value})},[r,n,o]),{field:{name:n,value:a,...Un(r)||l.disabled?{disabled:l.disabled||r}:{},onChange:fe.useCallback(c=>u.current.onChange({target:{value:Yw(c),name:n},type:Tu.CHANGE}),[n]),onBlur:fe.useCallback(()=>u.current.onBlur({target:{value:oe(o._formValues,n),name:n},type:Tu.BLUR}),[n,o]),ref:c=>{const d=oe(o._fields,n);d&&c&&(d._f.ref={focus:()=>c.focus(),select:()=>c.select(),setCustomValidity:f=>c.setCustomValidity(f),reportValidity:()=>c.reportValidity()})}},formState:l,fieldState:Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!oe(l.errors,n)},isDirty:{enumerable:!0,get:()=>!!oe(l.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!oe(l.touchedFields,n)},error:{enumerable:!0,get:()=>oe(l.errors,n)}})}}const cr=e=>e.render(eU(e));var tU=(e,t,n,r,o)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:o||!0}}:{},c0=e=>({isOnSubmit:!e||e===zn.onSubmit,isOnBlur:e===zn.onBlur,isOnChange:e===zn.onChange,isOnAll:e===zn.all,isOnTouch:e===zn.onTouched}),d0=(e,t,n)=>!n&&(t.watchAll||t.watch.has(e)||[...t.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length))));const Wi=(e,t,n,r)=>{for(const o of n||Object.keys(e)){const s=oe(e,o);if(s){const{_f:i,...a}=s;if(i){if(i.refs&&i.refs[0]&&t(i.refs[0],o)&&!r)break;if(i.ref&&t(i.ref,i.name)&&!r)break;Wi(a,t)}else wt(a)&&Wi(a,t)}}};var nU=(e,t,n)=>{const r=Ia(oe(e,n));return Qe(r,"root",t[n]),Qe(e,n,r),e},Xm=e=>e.type==="file",jr=e=>typeof e=="function",Pu=e=>{if(!qm)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},Fl=e=>nr(e),Ym=e=>e.type==="radio",Au=e=>e instanceof RegExp;const f0={value:!1,isValid:!1},p0={value:!0,isValid:!0};var oR=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(n=>n&&n.checked&&!n.disabled).map(n=>n.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!dt(e[0].attributes.value)?dt(e[0].value)||e[0].value===""?p0:{value:e[0].value,isValid:!0}:p0:f0}return f0};const h0={isValid:!1,value:null};var sR=e=>Array.isArray(e)?e.reduce((t,n)=>n&&n.checked&&!n.disabled?{isValid:!0,value:n.value}:t,h0):h0;function m0(e,t,n="validate"){if(Fl(e)||Array.isArray(e)&&e.every(Fl)||Un(e)&&!e)return{type:n,message:Fl(e)?e:"",ref:t}}var Ho=e=>wt(e)&&!Au(e)?e:{value:e,message:""},v0=async(e,t,n,r,o)=>{const{ref:s,refs:i,required:a,maxLength:l,minLength:u,min:c,max:d,pattern:f,validate:S,name:h,valueAsNumber:m,mount:w,disabled:y}=e._f,p=oe(t,h);if(!w||y)return{};const v=i?i[0]:s,x=U=>{r&&v.reportValidity&&(v.setCustomValidity(Un(U)?"":U||""),v.reportValidity())},C={},E=Ym(s),R=Ma(s),T=E||R,M=(m||Xm(s))&&dt(s.value)&&dt(p)||Pu(s)&&s.value===""||p===""||Array.isArray(p)&&!p.length,$=tU.bind(null,h,n,C),H=(U,F,z,K=ur.maxLength,Q=ur.minLength)=>{const G=U?F:z;C[h]={type:U?K:Q,message:G,ref:s,...$(U?K:Q,G)}};if(o?!Array.isArray(p)||!p.length:a&&(!T&&(M||Vt(p))||Un(p)&&!p||R&&!oR(i).isValid||E&&!sR(i).isValid)){const{value:U,message:F}=Fl(a)?{value:!!a,message:a}:Ho(a);if(U&&(C[h]={type:ur.required,message:F,ref:v,...$(ur.required,F)},!n))return x(F),C}if(!M&&(!Vt(c)||!Vt(d))){let U,F;const z=Ho(d),K=Ho(c);if(!Vt(p)&&!isNaN(p)){const Q=s.valueAsNumber||p&&+p;Vt(z.value)||(U=Q>z.value),Vt(K.value)||(F=Qnew Date(new Date().toDateString()+" "+D),O=s.type=="time",j=s.type=="week";nr(z.value)&&p&&(U=O?G(p)>G(z.value):j?p>z.value:Q>new Date(z.value)),nr(K.value)&&p&&(F=O?G(p)+U.value,K=!Vt(F.value)&&p.length<+F.value;if((z||K)&&(H(z,U.message,F.message),!n))return x(C[h].message),C}if(f&&!M&&nr(p)){const{value:U,message:F}=Ho(f);if(Au(U)&&!p.match(U)&&(C[h]={type:ur.pattern,message:F,ref:s,...$(ur.pattern,F)},!n))return x(F),C}if(S){if(jr(S)){const U=await S(p,t),F=m0(U,v);if(F&&(C[h]={...F,...$(ur.validate,F.message)},!n))return x(F.message),C}else if(wt(S)){let U={};for(const F in S){if(!wn(U)&&!n)break;const z=m0(await S[F](p,t),v,F);z&&(U={...z,...$(F,z.message)},x(z.message),n&&(C[h]=U))}if(!wn(U)&&(C[h]={ref:v,...U},!n))return C}}return x(!0),C};function rU(e,t){const n=t.slice(0,-1).length;let r=0;for(;r{let e=[];return{get observers(){return e},next:o=>{for(const s of e)s.next&&s.next(o)},subscribe:o=>(e.push(o),{unsubscribe:()=>{e=e.filter(s=>s!==o)}}),unsubscribe:()=>{e=[]}}},Nu=e=>Vt(e)||!Xw(e);function go(e,t){if(Nu(e)||Nu(t))return e===t;if(is(e)&&is(t))return e.getTime()===t.getTime();const n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(const o of n){const s=e[o];if(!r.includes(o))return!1;if(o!=="ref"){const i=t[o];if(is(s)&&is(i)||wt(s)&&wt(i)||Array.isArray(s)&&Array.isArray(i)?!go(s,i):s!==i)return!1}}return!0}var iR=e=>e.type==="select-multiple",sU=e=>Ym(e)||Ma(e),yf=e=>Pu(e)&&e.isConnected,aR=e=>{for(const t in e)if(jr(e[t]))return!0;return!1};function Ou(e,t={}){const n=Array.isArray(e);if(wt(e)||n)for(const r in e)Array.isArray(e[r])||wt(e[r])&&!aR(e[r])?(t[r]=Array.isArray(e[r])?[]:{},Ou(e[r],t[r])):Vt(e[r])||(t[r]=!0);return t}function lR(e,t,n){const r=Array.isArray(e);if(wt(e)||r)for(const o in e)Array.isArray(e[o])||wt(e[o])&&!aR(e[o])?dt(t)||Nu(n[o])?n[o]=Array.isArray(e[o])?Ou(e[o],[]):{...Ou(e[o])}:lR(e[o],Vt(t)?{}:t[o],n[o]):n[o]=!go(e[o],t[o]);return n}var dl=(e,t)=>lR(e,t,Ou(t)),uR=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>dt(e)?e:t?e===""?NaN:e&&+e:n&&nr(e)?new Date(e):r?r(e):e;function gf(e){const t=e.ref;if(!(e.refs?e.refs.every(n=>n.disabled):t.disabled))return Xm(t)?t.files:Ym(t)?sR(e.refs).value:iR(t)?[...t.selectedOptions].map(({value:n})=>n):Ma(t)?oR(e.refs).value:uR(dt(t.value)?e.ref.value:t.value,e)}var iU=(e,t,n,r)=>{const o={};for(const s of e){const i=oe(t,s);i&&Qe(o,s,i._f)}return{criteriaMode:n,names:[...e],fields:o,shouldUseNativeValidation:r}},gi=e=>dt(e)?e:Au(e)?e.source:wt(e)?Au(e.value)?e.value.source:e.value:e,aU=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function y0(e,t,n){const r=oe(e,n);if(r||Qm(n))return{error:r,name:n};const o=n.split(".");for(;o.length;){const s=o.join("."),i=oe(t,s),a=oe(e,s);if(i&&!Array.isArray(i)&&n!==s)return{name:n};if(a&&a.type)return{name:s,error:a};o.pop()}return{name:n}}var lU=(e,t,n,r,o)=>o.isOnAll?!1:!n&&o.isOnTouch?!(t||e):(n?r.isOnBlur:o.isOnBlur)?!e:(n?r.isOnChange:o.isOnChange)?e:!0,uU=(e,t)=>!Ia(oe(e,t)).length&&Pt(e,t);const cU={mode:zn.onSubmit,reValidateMode:zn.onChange,shouldFocusError:!0};function dU(e={},t){let n={...cU,...e},r={submitCount:0,isDirty:!1,isLoading:jr(n.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},errors:n.errors||{},disabled:n.disabled||!1},o={},s=wt(n.values)||wt(n.defaultValues)?Xt(n.values||n.defaultValues)||{}:{},i=n.shouldUnregister?{}:Xt(s),a={action:!1,mount:!1,watch:!1},l={mount:new Set,unMount:new Set,array:new Set,watch:new Set},u,c=0;const d={isDirty:!1,dirtyFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},f={values:vf(),array:vf(),state:vf()},S=c0(n.mode),h=c0(n.reValidateMode),m=n.criteriaMode===zn.all,w=k=>L=>{clearTimeout(c),c=setTimeout(k,L)},y=async k=>{if(d.isValid||k){const L=n.resolver?wn((await M()).errors):await H(o,!0);L!==r.isValid&&f.state.next({isValid:L})}},p=k=>d.isValidating&&f.state.next({isValidating:k}),v=(k,L=[],I,ne,Z=!0,V=!0)=>{if(ne&&I){if(a.action=!0,V&&Array.isArray(oe(o,k))){const ae=I(oe(o,k),ne.argA,ne.argB);Z&&Qe(o,k,ae)}if(V&&Array.isArray(oe(r.errors,k))){const ae=I(oe(r.errors,k),ne.argA,ne.argB);Z&&Qe(r.errors,k,ae),uU(r.errors,k)}if(d.touchedFields&&V&&Array.isArray(oe(r.touchedFields,k))){const ae=I(oe(r.touchedFields,k),ne.argA,ne.argB);Z&&Qe(r.touchedFields,k,ae)}d.dirtyFields&&(r.dirtyFields=dl(s,i)),f.state.next({name:k,isDirty:F(k,L),dirtyFields:r.dirtyFields,errors:r.errors,isValid:r.isValid})}else Qe(i,k,L)},x=(k,L)=>{Qe(r.errors,k,L),f.state.next({errors:r.errors})},C=k=>{r.errors=k,f.state.next({errors:r.errors,isValid:!1})},E=(k,L,I,ne)=>{const Z=oe(o,k);if(Z){const V=oe(i,k,dt(I)?oe(s,k):I);dt(V)||ne&&ne.defaultChecked||L?Qe(i,k,L?V:gf(Z._f)):Q(k,V),a.mount&&y()}},R=(k,L,I,ne,Z)=>{let V=!1,ae=!1;const Ne={name:k},Be=!!(oe(o,k)&&oe(o,k)._f.disabled);if(!I||ne){d.isDirty&&(ae=r.isDirty,r.isDirty=Ne.isDirty=F(),V=ae!==Ne.isDirty);const Pe=Be||go(oe(s,k),L);ae=!!(!Be&&oe(r.dirtyFields,k)),Pe||Be?Pt(r.dirtyFields,k):Qe(r.dirtyFields,k,!0),Ne.dirtyFields=r.dirtyFields,V=V||d.dirtyFields&&ae!==!Pe}if(I){const Pe=oe(r.touchedFields,k);Pe||(Qe(r.touchedFields,k,I),Ne.touchedFields=r.touchedFields,V=V||d.touchedFields&&Pe!==I)}return V&&Z&&f.state.next(Ne),V?Ne:{}},T=(k,L,I,ne)=>{const Z=oe(r.errors,k),V=d.isValid&&Un(L)&&r.isValid!==L;if(e.delayError&&I?(u=w(()=>x(k,I)),u(e.delayError)):(clearTimeout(c),u=null,I?Qe(r.errors,k,I):Pt(r.errors,k)),(I?!go(Z,I):Z)||!wn(ne)||V){const ae={...ne,...V&&Un(L)?{isValid:L}:{},errors:r.errors,name:k};r={...r,...ae},f.state.next(ae)}p(!1)},M=async k=>n.resolver(i,n.context,iU(k||l.mount,o,n.criteriaMode,n.shouldUseNativeValidation)),$=async k=>{const{errors:L}=await M(k);if(k)for(const I of k){const ne=oe(L,I);ne?Qe(r.errors,I,ne):Pt(r.errors,I)}else r.errors=L;return L},H=async(k,L,I={valid:!0})=>{for(const ne in k){const Z=k[ne];if(Z){const{_f:V,...ae}=Z;if(V){const Ne=l.array.has(V.name),Be=await v0(Z,i,m,n.shouldUseNativeValidation&&!L,Ne);if(Be[V.name]&&(I.valid=!1,L))break;!L&&(oe(Be,V.name)?Ne?nU(r.errors,Be,V.name):Qe(r.errors,V.name,Be[V.name]):Pt(r.errors,V.name))}ae&&await H(ae,L,I)}}return I.valid},U=()=>{for(const k of l.unMount){const L=oe(o,k);L&&(L._f.refs?L._f.refs.every(I=>!yf(I)):!yf(L._f.ref))&&ue(k)}l.unMount=new Set},F=(k,L)=>(k&&L&&Qe(i,k,L),!go(P(),s)),z=(k,L,I)=>nR(k,l,{...a.mount?i:dt(L)?s:nr(k)?{[k]:L}:L},I,L),K=k=>Ia(oe(a.mount?i:s,k,e.shouldUnregister?oe(s,k,[]):[])),Q=(k,L,I={})=>{const ne=oe(o,k);let Z=L;if(ne){const V=ne._f;V&&(!V.disabled&&Qe(i,k,uR(L,V)),Z=Pu(V.ref)&&Vt(L)?"":L,iR(V.ref)?[...V.ref.options].forEach(ae=>ae.selected=Z.includes(ae.value)):V.refs?Ma(V.ref)?V.refs.length>1?V.refs.forEach(ae=>(!ae.defaultChecked||!ae.disabled)&&(ae.checked=Array.isArray(Z)?!!Z.find(Ne=>Ne===ae.value):Z===ae.value)):V.refs[0]&&(V.refs[0].checked=!!Z):V.refs.forEach(ae=>ae.checked=ae.value===Z):Xm(V.ref)?V.ref.value="":(V.ref.value=Z,V.ref.type||f.values.next({name:k,values:{...i}})))}(I.shouldDirty||I.shouldTouch)&&R(k,Z,I.shouldTouch,I.shouldDirty,!0),I.shouldValidate&&J(k)},G=(k,L,I)=>{for(const ne in L){const Z=L[ne],V=`${k}.${ne}`,ae=oe(o,V);(l.array.has(k)||!Nu(Z)||ae&&!ae._f)&&!is(Z)?G(V,Z,I):Q(V,Z,I)}},O=(k,L,I={})=>{const ne=oe(o,k),Z=l.array.has(k),V=Xt(L);Qe(i,k,V),Z?(f.array.next({name:k,values:{...i}}),(d.isDirty||d.dirtyFields)&&I.shouldDirty&&f.state.next({name:k,dirtyFields:dl(s,i),isDirty:F(k,V)})):ne&&!ne._f&&!Vt(V)?G(k,V,I):Q(k,V,I),d0(k,l)&&f.state.next({...r}),f.values.next({name:k,values:{...i}}),!a.mount&&t()},j=async k=>{const L=k.target;let I=L.name,ne=!0;const Z=oe(o,I),V=()=>L.type?gf(Z._f):Yw(k),ae=Ne=>{ne=Number.isNaN(Ne)||Ne===oe(i,I,Ne)};if(Z){let Ne,Be;const Pe=V(),me=k.type===Tu.BLUR||k.type===Tu.FOCUS_OUT,un=!aU(Z._f)&&!n.resolver&&!oe(r.errors,I)&&!Z._f.deps||lU(me,oe(r.touchedFields,I),r.isSubmitted,h,S),$n=d0(I,l,me);Qe(i,I,Pe),me?(Z._f.onBlur&&Z._f.onBlur(k),u&&u(0)):Z._f.onChange&&Z._f.onChange(k);const Sn=R(I,Pe,me,!1),ge=!wn(Sn)||$n;if(!me&&f.values.next({name:I,type:k.type,values:{...i}}),un)return d.isValid&&y(),ge&&f.state.next({name:I,...$n?{}:Sn});if(!me&&$n&&f.state.next({...r}),p(!0),n.resolver){const{errors:Ue}=await M([I]);if(ae(Pe),ne){const N=y0(r.errors,o,I),A=y0(Ue,o,N.name||I);Ne=A.error,I=A.name,Be=wn(Ue)}}else Ne=(await v0(Z,i,m,n.shouldUseNativeValidation))[I],ae(Pe),ne&&(Ne?Be=!1:d.isValid&&(Be=await H(o,!0)));ne&&(Z._f.deps&&J(Z._f.deps),T(I,Be,Ne,Sn))}},D=(k,L)=>{if(oe(r.errors,L)&&k.focus)return k.focus(),1},J=async(k,L={})=>{let I,ne;const Z=Il(k);if(p(!0),n.resolver){const V=await $(dt(k)?k:Z);I=wn(V),ne=k?!Z.some(ae=>oe(V,ae)):I}else k?(ne=(await Promise.all(Z.map(async V=>{const ae=oe(o,V);return await H(ae&&ae._f?{[V]:ae}:ae)}))).every(Boolean),!(!ne&&!r.isValid)&&y()):ne=I=await H(o);return f.state.next({...!nr(k)||d.isValid&&I!==r.isValid?{}:{name:k},...n.resolver||!k?{isValid:I}:{},errors:r.errors,isValidating:!1}),L.shouldFocus&&!ne&&Wi(o,D,k?Z:l.mount),ne},P=k=>{const L={...s,...a.mount?i:{}};return dt(k)?L:nr(k)?oe(L,k):k.map(I=>oe(L,I))},q=(k,L)=>({invalid:!!oe((L||r).errors,k),isDirty:!!oe((L||r).dirtyFields,k),isTouched:!!oe((L||r).touchedFields,k),error:oe((L||r).errors,k)}),B=k=>{k&&Il(k).forEach(L=>Pt(r.errors,L)),f.state.next({errors:k?r.errors:{}})},re=(k,L,I)=>{const ne=(oe(o,k,{_f:{}})._f||{}).ref;Qe(r.errors,k,{...L,ref:ne}),f.state.next({name:k,errors:r.errors,isValid:!1}),I&&I.shouldFocus&&ne&&ne.focus&&ne.focus()},X=(k,L)=>jr(k)?f.values.subscribe({next:I=>k(z(void 0,L),I)}):z(k,L,!0),ue=(k,L={})=>{for(const I of k?Il(k):l.mount)l.mount.delete(I),l.array.delete(I),L.keepValue||(Pt(o,I),Pt(i,I)),!L.keepError&&Pt(r.errors,I),!L.keepDirty&&Pt(r.dirtyFields,I),!L.keepTouched&&Pt(r.touchedFields,I),!n.shouldUnregister&&!L.keepDefaultValue&&Pt(s,I);f.values.next({values:{...i}}),f.state.next({...r,...L.keepDirty?{isDirty:F()}:{}}),!L.keepIsValid&&y()},ce=({disabled:k,name:L,field:I,fields:ne,value:Z})=>{if(Un(k)){const V=k?void 0:dt(Z)?gf(I?I._f:oe(ne,L)._f):Z;Qe(i,L,V),R(L,V,!1,!1,!0)}},te=(k,L={})=>{let I=oe(o,k);const ne=Un(L.disabled);return Qe(o,k,{...I||{},_f:{...I&&I._f?I._f:{ref:{name:k}},name:k,mount:!0,...L}}),l.mount.add(k),I?ce({field:I,disabled:L.disabled,name:k,value:L.value}):E(k,!0,L.value),{...ne?{disabled:L.disabled}:{},...n.progressive?{required:!!L.required,min:gi(L.min),max:gi(L.max),minLength:gi(L.minLength),maxLength:gi(L.maxLength),pattern:gi(L.pattern)}:{},name:k,onChange:j,onBlur:j,ref:Z=>{if(Z){te(k,L),I=oe(o,k);const V=dt(Z.value)&&Z.querySelectorAll&&Z.querySelectorAll("input,select,textarea")[0]||Z,ae=sU(V),Ne=I._f.refs||[];if(ae?Ne.find(Be=>Be===V):V===I._f.ref)return;Qe(o,k,{_f:{...I._f,...ae?{refs:[...Ne.filter(yf),V,...Array.isArray(oe(s,k))?[{}]:[]],ref:{type:V.type,name:k}}:{ref:V}}}),E(k,!1,void 0,V)}else I=oe(o,k,{}),I._f&&(I._f.mount=!1),(n.shouldUnregister||L.shouldUnregister)&&!(Jw(l.array,k)&&a.action)&&l.unMount.add(k)}}},Ee=()=>n.shouldFocusError&&Wi(o,D,l.mount),Se=k=>{Un(k)&&(f.state.next({disabled:k}),Wi(o,(L,I)=>{let ne=k;const Z=oe(o,I);Z&&Un(Z._f.disabled)&&(ne||(ne=Z._f.disabled)),L.disabled=ne},0,!1))},ye=(k,L)=>async I=>{let ne;I&&(I.preventDefault&&I.preventDefault(),I.persist&&I.persist());let Z=Xt(i);if(f.state.next({isSubmitting:!0}),n.resolver){const{errors:V,values:ae}=await M();r.errors=V,Z=ae}else await H(o);if(Pt(r.errors,"root"),wn(r.errors)){f.state.next({errors:{}});try{await k(Z,I)}catch(V){ne=V}}else L&&await L({...r.errors},I),Ee(),setTimeout(Ee);if(f.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:wn(r.errors)&&!ne,submitCount:r.submitCount+1,errors:r.errors}),ne)throw ne},pe=(k,L={})=>{oe(o,k)&&(dt(L.defaultValue)?O(k,Xt(oe(s,k))):(O(k,L.defaultValue),Qe(s,k,Xt(L.defaultValue))),L.keepTouched||Pt(r.touchedFields,k),L.keepDirty||(Pt(r.dirtyFields,k),r.isDirty=L.defaultValue?F(k,Xt(oe(s,k))):F()),L.keepError||(Pt(r.errors,k),d.isValid&&y()),f.state.next({...r}))},_e=(k,L={})=>{const I=k?Xt(k):s,ne=Xt(I),Z=k&&!wn(k)?ne:s;if(L.keepDefaultValues||(s=I),!L.keepValues){if(L.keepDirtyValues)for(const V of l.mount)oe(r.dirtyFields,V)?Qe(Z,V,oe(i,V)):O(V,oe(Z,V));else{if(qm&&dt(k))for(const V of l.mount){const ae=oe(o,V);if(ae&&ae._f){const Ne=Array.isArray(ae._f.refs)?ae._f.refs[0]:ae._f.ref;if(Pu(Ne)){const Be=Ne.closest("form");if(Be){Be.reset();break}}}}o={}}i=e.shouldUnregister?L.keepDefaultValues?Xt(s):{}:Xt(Z),f.array.next({values:{...Z}}),f.values.next({values:{...Z}})}l={mount:new Set,unMount:new Set,array:new Set,watch:new Set,watchAll:!1,focus:""},!a.mount&&t(),a.mount=!d.isValid||!!L.keepIsValid||!!L.keepDirtyValues,a.watch=!!e.shouldUnregister,f.state.next({submitCount:L.keepSubmitCount?r.submitCount:0,isDirty:L.keepDirty?r.isDirty:!!(L.keepDefaultValues&&!go(k,s)),isSubmitted:L.keepIsSubmitted?r.isSubmitted:!1,dirtyFields:L.keepDirtyValues?L.keepDefaultValues&&i?dl(s,i):r.dirtyFields:L.keepDefaultValues&&k?dl(s,k):{},touchedFields:L.keepTouched?r.touchedFields:{},errors:L.keepErrors?r.errors:{},isSubmitSuccessful:L.keepIsSubmitSuccessful?r.isSubmitSuccessful:!1,isSubmitting:!1})},Le=(k,L)=>_e(jr(k)?k(i):k,L);return{control:{register:te,unregister:ue,getFieldState:q,handleSubmit:ye,setError:re,_executeSchema:M,_getWatch:z,_getDirty:F,_updateValid:y,_removeUnmounted:U,_updateFieldArray:v,_updateDisabledField:ce,_getFieldArray:K,_reset:_e,_resetDefaultValues:()=>jr(n.defaultValues)&&n.defaultValues().then(k=>{Le(k,n.resetOptions),f.state.next({isLoading:!1})}),_updateFormState:k=>{r={...r,...k}},_disableForm:Se,_subjects:f,_proxyFormState:d,_setErrors:C,get _fields(){return o},get _formValues(){return i},get _state(){return a},set _state(k){a=k},get _defaultValues(){return s},get _names(){return l},set _names(k){l=k},get _formState(){return r},set _formState(k){r=k},get _options(){return n},set _options(k){n={...n,...k}}},trigger:J,register:te,handleSubmit:ye,watch:X,setValue:O,getValues:P,reset:Le,resetField:pe,clearErrors:B,unregister:ue,setError:re,setFocus:(k,L={})=>{const I=oe(o,k),ne=I&&I._f;if(ne){const Z=ne.refs?ne.refs[0]:ne.ref;Z.focus&&(Z.focus(),L.shouldSelect&&Z.select())}},getFieldState:q}}function fU(e={}){const t=fe.useRef(),n=fe.useRef(),[r,o]=fe.useState({isDirty:!1,isValidating:!1,isLoading:jr(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:jr(e.defaultValues)?void 0:e.defaultValues});t.current||(t.current={...dU(e,()=>o(i=>({...i}))),formState:r});const s=t.current.control;return s._options=e,Gm({subject:s._subjects.state,next:i=>{eR(i,s._proxyFormState,s._updateFormState,!0)&&o({...s._formState})}}),fe.useEffect(()=>s._disableForm(e.disabled),[s,e.disabled]),fe.useEffect(()=>{if(s._proxyFormState.isDirty){const i=s._getDirty();i!==r.isDirty&&s._subjects.state.next({isDirty:i})}},[s,r.isDirty]),fe.useEffect(()=>{e.values&&!go(e.values,n.current)?(s._reset(e.values,s._options.resetOptions),n.current=e.values,o(i=>({...i}))):s._resetDefaultValues()},[e.values,s]),fe.useEffect(()=>{e.errors&&s._setErrors(e.errors)},[e.errors,s]),fe.useEffect(()=>{s._state.mount||(s._updateValid(),s._state.mount=!0),s._state.watch&&(s._state.watch=!1,s._subjects.state.next({...s._formState})),s._removeUnmounted()}),fe.useEffect(()=>{e.shouldUnregister&&s._subjects.values.next({values:s._getWatch()})},[e.shouldUnregister,s]),t.current.formState=Zw(r,s),t.current}Vs({key:"currentUser",default:void 0});const Jm=Vs({key:"currentJhData",default:{admin_access:!1,base_url:"/hub",options_form:!1,prefix:"/",user:"",xsrf_token:""}}),Gs=Vs({key:"currentNotification",default:void 0}),cR=Vs({key:"currentFormInput",default:void 0}),dR=Vs({key:"currentImage",default:void 0}),fR=Vs({key:"currentFile",default:void 0}),Zm=({id:e})=>{const t=gm(),[n,r]=b.useState(!1),[,o]=Wt(Gs),[s,i]=Wt(cR),[a,l]=b.useState(""),[u,c]=Wt(fR),[d,f]=Wt(dR),[S,h]=b.useState(!1),{data:m,error:w}=yo({queryKey:["app-form",e],queryFn:()=>Jt.get(`/server/${e}`).then(O=>O.data),enabled:!!e}),{data:y,isLoading:p}=yo({queryKey:["app-frameworks"],queryFn:()=>Jt.get("/frameworks/").then(O=>O.data)}),{data:v,isLoading:x}=yo({queryKey:["app-environments"],queryFn:()=>Jt.get("/conda-environments/").then(O=>O.data)}),{data:C,isLoading:E}=yo({queryKey:["app-profiles"],queryFn:()=>Jt.get("/spawner-profiles/").then(O=>O.data)}),{control:R,handleSubmit:T,reset:M,watch:$,formState:{errors:H}}=fU({defaultValues:{display_name:"",description:"",framework:"",thumbnail:"",filepath:"",conda_env:"",env:"",custom_command:"",profile:"",is_public:!1}}),U=$("framework"),F=({display_name:O,description:j,framework:D,thumbnail:J,filepath:P,conda_env:q,env:B,custom_command:re,profile:X})=>{if(C&&C.length>0){const ue={jhub_app:!0,display_name:a||O,description:j,framework:D,thumbnail:J,filepath:P,conda_env:q,env:B?JSON.parse(B):null,custom_command:re,profile:X,is_public:S};i(ue),t(`/server-types${e?`?id=${e}`:""}`)}else{const ue={servername:a||O,user_options:{jhub_app:!0,name:a||O,display_name:O,description:j||"",framework:D,thumbnail:J||"",filepath:P||"",conda_env:q||"",env:B?JSON.parse(B):null,custom_command:re||"",profile:X||"",public:S}};r(!0),e?G(ue,{onSuccess:async()=>{window.location.assign(xo)},onError:async ce=>{r(!1),o(ce.message)}}):Q(ue,{onSuccess:async ce=>{const te=ku().user;if(te&&(ce==null?void 0:ce.length)>1){const Ee=ce[1];window.location.assign(`${xo}/spawn-pending/${te}/${Ee}`)}},onError:async ce=>{r(!1),o(ce.message)}})}},z=async({servername:O,user_options:j})=>{const D={accept:"application/json","Content-Type":"multipart/form-data"},J=new FormData;return J.append("data",JSON.stringify({servername:O,user_options:j})),u&&J.append("thumbnail",u),(await Jt.post("/server",J,{headers:D})).data},K=async({servername:O,user_options:j})=>{const D={accept:"application/json","Content-Type":"multipart/form-data"},J=new FormData;return J.append("data",JSON.stringify({servername:O,user_options:j})),u?J.append("thumbnail",u):d&&J.append("thumbnail_data_url",d),(await Jt.put(`/server/${O}`,J,{headers:D})).data},{mutate:Q}=Ls({mutationFn:z,retry:1}),{mutate:G}=Ls({mutationFn:K,retry:1});return b.useEffect(()=>{m!=null&&m.name&&(m!=null&&m.user_options)&&(l(m.name),M({...m.user_options,env:m.user_options.env?JSON.stringify(m.user_options.env):void 0}),h(m.user_options.public),f(m.user_options.thumbnail))},[m==null?void 0:m.name,m==null?void 0:m.user_options,M,f]),b.useEffect(()=>{s&&(l(s.display_name),M({display_name:s.display_name||"",description:s.description||"",framework:s.framework||"",filepath:s.filepath||"",conda_env:s.conda_env||"",env:s.env?JSON.stringify(s.env):void 0,custom_command:s.custom_command||"",profile:s.profile||""}),h(s.is_public),f(s.thumbnail))},[s,M,f]),b.useEffect(()=>{w&&o(w.message)},[w,o]),g.jsxs("form",{id:"app-form",onSubmit:T(F),className:"form",noValidate:!0,children:[g.jsxs("div",{className:"form-section",children:[g.jsx("h2",{children:"App Info"}),g.jsx(cr,{name:"display_name",control:R,rules:sl,render:({field:{ref:O,...j}})=>{var D;return g.jsx(Xn,{children:g.jsx(di,{...j,id:"display_name",label:"Name",placeholder:"Add app name (max. 16 characters)",autoFocus:!0,required:!0,error:!!((D=H.display_name)!=null&&D.message),inputProps:{maxLength:16}})})}}),g.jsx(cr,{name:"description",control:R,render:({field:{ref:O,...j}})=>g.jsx(Xn,{children:g.jsx(di,{...j,id:"description",label:"Description",placeholder:"Add app description (max. 75 characters)",multiline:!0,rows:4,inputProps:{maxLength:75}})})})]}),g.jsx("hr",{}),g.jsxs("div",{className:"form-section",children:[g.jsx("h2",{children:"Configuration"}),g.jsx(cr,{name:"framework",control:R,rules:sl,render:({field:{ref:O,...j}})=>{var D;return g.jsxs(Xn,{children:[g.jsx(xp,{id:"framework-label",required:!0,children:"Framework"}),g.jsx(Rp,{...j,id:"framework",label:"Framework",required:!0,error:!!((D=H.framework)!=null&&D.message),children:y==null?void 0:y.map(J=>g.jsx(og,{value:J.name,children:J.display_name},J.name))})]})}}),U==="custom"?g.jsx(cr,{name:"custom_command",control:R,rules:sl,render:({field:{ref:O,...j}})=>g.jsx(Xn,{children:g.jsx(di,{...j,id:"custom_command",label:"Custom Command",required:U==="custom"})})}):g.jsx(g.Fragment,{}),v&&v.length>0?g.jsx(cr,{name:"conda_env",control:R,rules:sl,render:({field:{ref:O,...j}})=>{var D;return g.jsxs(Xn,{children:[g.jsx(xp,{id:"framework-label",required:!0,children:"Software Environment"}),g.jsx(Rp,{...j,id:"conda_env",label:"Software Environment",required:!0,error:!!((D=H.conda_env)!=null&&D.message),children:v.map(J=>g.jsx(og,{value:J,children:J},J))})]})}}):g.jsx(g.Fragment,{}),g.jsx(cr,{name:"filepath",control:R,render:({field:{ref:O,...j}})=>{var D;return g.jsx(Xn,{children:g.jsx(di,{...j,id:"filepath",label:"File path",placeholder:'Enter the path to the file, e.g. "/shared/users/panel_basic.py"',error:!!((D=H.filepath)!=null&&D.message)})})}}),g.jsx(cr,{name:"env",control:R,render:({field:{ref:O,...j}})=>g.jsx(Xn,{children:g.jsx(di,{...j,id:"env",label:"Environment Variables",placeholder:'Enter valid json: {"KEY_1":"VALUE_1","KEY_2":"VALUE_2"}'})})})]}),g.jsx("hr",{}),g.jsxs("div",{className:"form-section",children:[g.jsx("h2",{children:"Sharing"}),g.jsx(cr,{name:"is_public",control:R,render:({field:{ref:O,value:j,onChange:D,...J}})=>g.jsx(Xn,{children:g.jsx($U,{...J,id:"is_public",label:"Allow Public Access",checked:S,ariaLabel:"Allow Public Access",onChange:()=>{h(!S)}})})})]}),g.jsx("hr",{}),g.jsxs("div",{className:"form-section",children:[g.jsx("h2",{children:"App Thumbnail"}),g.jsx(cr,{name:"thumbnail",control:R,render:({field:{ref:O,value:j,onChange:D,...J}})=>g.jsx(Xn,{children:g.jsx(LU,{...J,id:"thumbnail",currentImage:d,setCurrentImage:f,currentFile:u,setCurrentFile:c})})})]}),g.jsx("hr",{}),g.jsxs("div",{className:"button-section",children:[g.jsx("div",{className:"prev",children:g.jsx(Et,{id:"cancel-btn",type:"button",variant:"text",color:"secondary",onClick:()=>document.location.href=`${xo}`,children:"Cancel"})}),g.jsx("div",{className:"next",children:g.jsx(Et,{id:"submit-btn",type:"submit",variant:"contained",color:"primary",disabled:p||x||E||n,children:C&&C.length>0?g.jsx(g.Fragment,{children:"Next"}):e?g.jsx(g.Fragment,{children:"Save"}):g.jsx(g.Fragment,{children:"Create App"})})})]})]})},Sf=({id:e=void 0,className:t,children:n})=>{const r=pd("button-group",t);return g.jsx("ul",{id:e,className:r,children:b.Children.map(n,(o,s)=>g.jsx("li",{className:"button-group-item",children:o},s))})};function pU({title:e,titleId:t,...n},r){return b.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:r,"aria-labelledby":t},n),e?b.createElement("title",{id:t},e):null,b.createElement("path",{fillRule:"evenodd",d:"M4.5 12a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm6 0a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Zm6 0a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z",clipRule:"evenodd"}))}const hU=b.forwardRef(pU),mU=hU;function vU({title:e,titleId:t,...n},r){return b.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:r,"aria-labelledby":t},n),e?b.createElement("title",{id:t},e):null,b.createElement("path",{fillRule:"evenodd",d:"M5.47 5.47a.75.75 0 0 1 1.06 0L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12l5.47 5.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"}))}const yU=b.forwardRef(vU),gU=yU,SU=({id:e,items:t})=>{const n=fe.useRef(null);return g.jsxs("div",{className:"context-menu-container",id:e,tabIndex:0,ref:n,children:[g.jsx(mU,{}),g.jsx("ul",{className:"context-menu",children:t.filter(r=>r.visible).map(r=>g.jsx("li",{children:g.jsx("a",{className:r.disabled?"disabled":"",onClick:o=>{var s;r.onClick&&!r.disabled&&(r.onClick(o),(s=n.current)==null||s.blur())},children:r.title})},`context-menu-item-${r.id}`))})]})},fl=({title:e,setIsOpen:t,body:n,footer:r})=>g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"modal-overlay",onClick:()=>t(!1)}),g.jsx("div",{className:"modal-container",children:g.jsxs("div",{className:"modal-main",children:[g.jsxs("div",{className:"modal-heading",children:[g.jsx("h5",{className:"modal-title",children:e}),g.jsx("button",{className:"modal-close-btn",onClick:()=>t(!1),"aria-label":"Close modal",children:g.jsx(gU,{})})]}),g.jsx("div",{className:"modal-body",children:n}),r?g.jsx("div",{className:"modal-footer",children:r}):g.jsx(g.Fragment,{})]})})]}),g0=({id:e,children:t,className:n})=>{const r=pd("tag",n);return g.jsx("span",{id:e,className:r,children:t})},bU=({id:e,name:t,className:n,type:r,onChange:o,...s})=>{const i=pd("text-input p-2",n);return g.jsx("input",{id:e,name:t,className:i,type:r,onChange:o,...s})};var ev={},xU=Hs;Object.defineProperty(ev,"__esModule",{value:!0});var pR=ev.default=void 0,wU=xU(qs()),RU=g;pR=ev.default=(0,wU.default)((0,RU.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete");var tv={},CU=Hs;Object.defineProperty(tv,"__esModule",{value:!0});var hR=tv.default=void 0,EU=CU(qs()),_U=g;hR=tv.default=(0,EU.default)((0,_U.jsx)("path",{d:"M19 5v14H5V5zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-4.86 8.86-3 3.87L9 13.14 6 17h12z"}),"InsertPhotoOutlined");var nv={},kU=Hs;Object.defineProperty(nv,"__esModule",{value:!0});var mR=nv.default=void 0,TU=kU(qs()),PU=g;mR=nv.default=(0,TU.default)((0,PU.jsx)("path",{d:"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm4 18H6V4h7v5h5zM8 15.01l1.41 1.41L11 14.84V19h2v-4.16l1.59 1.59L16 15.01 12.01 11z"}),"UploadFile");var rv={},AU=Hs;Object.defineProperty(rv,"__esModule",{value:!0});var vR=rv.default=void 0,NU=AU(qs()),OU=g;vR=rv.default=(0,NU.default)((0,OU.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility");const LU=({id:e,name:t,currentImage:n,setCurrentImage:r,currentFile:o,setCurrentFile:s,...i})=>{const[a,l]=b.useState(!1),[u,c]=b.useState(!1),d=b.useRef(null),f=x=>{x.preventDefault(),l(!0)},S=x=>{x.preventDefault(),l(!0)},h=x=>{x.preventDefault(),l(!1)},m=x=>{x.preventDefault(),l(!1);const C=x.dataTransfer.files[0];s(C)},w=x=>{if(!x.target.files)return;const C=x.target.files[0];s(C)},y=x=>{x.preventDefault(),c(!0)},p=x=>{x.preventDefault();const C=d.current;C&&C.click()},v=x=>{x.preventDefault();const C=d.current;C&&(C.value="",s(void 0),r(void 0))};return b.useEffect(()=>{const x=d.current;if(x&&x.files&&x.files.length>0){const C=x.files[0];s(C)}},[d,s]),g.jsxs("div",{id:`thumbnail-${e}`,className:"thumbnail",children:[g.jsxs("div",{id:`thumbnail-body-${e}`,className:`thumbnail-body ${a?"dragging":""} ${o||n?"bg-white":""}`,onDragOver:f,onDragEnter:S,onDragLeave:h,onDrop:m,children:[o||n?g.jsx("div",{children:g.jsx("img",{src:o?URL.createObjectURL(o):n,alt:"App thumnail"})}):g.jsx("div",{className:"thumbnail-icon-container",tabIndex:0,onClick:p,children:g.jsx(hR,{className:"thumbnail-icon"})}),g.jsx("input",{ref:d,id:e,name:t,type:"file",accept:"image/*",onChange:w,style:{display:"none"},...i})]}),g.jsxs("div",{className:"thumbnail-actions",children:[g.jsx(Et,{id:"view-thumbnail-btn",variant:"contained",color:"secondary",size:"small",startIcon:g.jsx(vR,{}),onClick:y,disabled:!o&&!n,children:"View Thumbnail"}),g.jsx(Et,{id:"upload-thumbnail-btn",variant:"contained",color:"secondary",size:"small",startIcon:g.jsx(mR,{}),onClick:p,children:"Upload Thumbnail"}),g.jsx(Et,{id:"remove-thumbnail-btn",variant:"contained",color:"secondary",size:"small",startIcon:g.jsx(pR,{}),onClick:v,disabled:!o&&!n,children:"Remove Thumbnail"})]}),g.jsx(aN,{onClose:()=>c(!1),open:u,children:g.jsx("img",{src:o?URL.createObjectURL(o):n,alt:"App thumnail"})})]})},$U=({id:e,name:t,checked:n=!1,label:r,ariaLabel:o,onChange:s})=>{const[i,a]=b.useState(!1),l=u=>{a(!i),s&&s(u)};return b.useEffect(()=>{a(n)},[n]),g.jsx("div",{className:"toggle flex items-center",children:g.jsxs("label",{htmlFor:e,className:"flex items-center cursor-pointer",tabIndex:0,"aria-label":o,children:[g.jsxs("div",{className:"relative",children:[g.jsx("input",{type:"checkbox",id:e,name:t,className:"sr-only",checked:i,onChange:l,tabIndex:-1}),g.jsx("div",{className:`toggle-body w-12 h-6 rounded-full shadow-inner ${i?"toggle-body-on":""}`}),g.jsx("div",{className:`toggle-dot absolute w-6 h-6 rounded-full shadow inset-y-0 left-0 ${i?"ml-6":"ml-0"}`})]}),r&&g.jsx("span",{className:"toggle-label ml-3",children:r})]})})},MU=()=>g.jsxs("div",{className:"container",children:[g.jsx("div",{className:"row breadcrumb",children:g.jsx(Et,{id:"back-btn",type:"button",variant:"text",color:"primary",startIcon:g.jsx(fd,{}),onClick:()=>document.location.href=`${xo}`,children:"Back"})}),g.jsxs("div",{className:"row",children:[g.jsx("h1",{children:"Create a new app"}),g.jsxs("p",{className:"paragraph",children:["Begin your project by entering the details below. For more information about creating an app,"," ",g.jsx("a",{href:"https://jhub-apps.nebari.dev/docs/reference/create-app-form",target:"_blank",rel:"noopener noreferrer",className:"paragraph-link",children:"visit our docs"}),"."]})]}),g.jsx("div",{className:"row",children:g.jsx(Zm,{})})]}),IU=()=>{const[e]=qb(),t=e.get("id");return g.jsxs("div",{className:"container",children:[g.jsx("div",{className:"row breadcrumb",children:g.jsx(Et,{id:"back-btn",type:"button",variant:"text",color:"primary",startIcon:g.jsx(fd,{}),onClick:()=>document.location.href=`${xo}`,children:"Back"})}),g.jsxs("div",{className:"row",children:[g.jsx("h1",{children:"Edit app"}),g.jsxs("p",{className:"paragraph",children:["Edit your app details here. For more information on editing your app,"," ",g.jsx("a",{href:"https://jhub-apps.nebari.dev/docs/reference/create-app-form",target:"_blank",rel:"noopener noreferrer",className:"paragraph-link",children:"visit our docs"}),"."]})]}),g.jsx("div",{className:"row",children:t?g.jsx(Zm,{id:t}):g.jsx(g.Fragment,{children:"No app found."})})]})};var ov={},FU=Hs;Object.defineProperty(ov,"__esModule",{value:!0});var yR=ov.default=void 0,DU=FU(qs()),jU=g;yR=ov.default=(0,DU.default)((0,jU.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");const BU=({id:e,title:t,description:n,thumbnail:r,framework:o,url:s,username:i,ready:a=!1,isPublic:l=!1,isShared:u=!1})=>{const c=dd(),[d,f]=b.useState(!1),[,S]=Wt(Gs),[h,m]=b.useState(!1),[w,y]=b.useState(!1),[p,v]=b.useState(!1),[x,C]=b.useState(!1),E=async({id:G})=>await Jt.post(`/server/${G}`),R=async({id:G,remove:O})=>await Jt.delete(`/server/${G}`,{params:{remove:O}}),{mutate:T}=Ls({mutationFn:E,retry:1}),{mutate:M}=Ls({mutationFn:R,retry:1}),$=()=>{f(!0),M({id:e,remove:!0},{onSuccess:async()=>{f(!1),v(!1),c.invalidateQueries({queryKey:["app-state"]})},onError:async G=>{f(!1),S(G.message)}})},H=()=>{f(!0),T({id:e},{onSuccess:async()=>{f(!1),m(!1),c.invalidateQueries({queryKey:["app-state"]})},onError:async G=>{f(!1),S(G.message)}})},U=()=>{f(!0),M({id:e,remove:!1},{onSuccess:async()=>{f(!1),y(!1),c.invalidateQueries({queryKey:["app-state"]})},onError:async G=>{f(!1),S(G.message)}})},F=[{id:"start",title:"Start",onClick:()=>m(!0),visible:!0,disabled:a},{id:"stop",title:"Stop",onClick:()=>y(!0),visible:!0,disabled:!a||u},{id:"edit",title:"Edit",onClick:()=>window.location.href=`${hm}/edit-app?id=${e}`,visible:!0,disabled:u||e===""},{id:"delete",title:"Delete",onClick:()=>v(!0),visible:!0,disabled:u||e===""}],z=g.jsxs(g.Fragment,{children:[g.jsxs("p",{className:"w-[400px] mb-6",children:["Are you sure you want to start ",g.jsx("b",{children:t}),"?"]}),g.jsxs(Sf,{children:[g.jsx(Et,{id:"cancel-btn",variant:"outlined",color:"secondary",onClick:()=>m(!1),children:"Cancel"}),g.jsx(Et,{id:"start-btn",variant:"contained",color:"primary",onClick:()=>H(),disabled:d,children:"Start"})]})]}),K=g.jsxs(g.Fragment,{children:[g.jsxs("p",{className:"w-[400px] mb-6",children:["Are you sure you want to stop ",g.jsx("b",{children:t}),"?"]}),g.jsxs(Sf,{children:[g.jsx(Et,{id:"cancel-btn",variant:"outlined",color:"secondary",onClick:()=>y(!1),children:"Cancel"}),g.jsx(Et,{id:"stop-btn",variant:"contained",color:"primary",onClick:()=>U(),disabled:d,children:"Stop"})]})]}),Q=g.jsxs(g.Fragment,{children:[g.jsxs("p",{className:"w-[400px] mb-6",children:["Are you sure you want to delete ",g.jsx("b",{children:t}),"? This action is permanent and cannot be reversed."]}),g.jsxs(Sf,{children:[g.jsx(Et,{id:"cancel-btn",variant:"outlined",color:"secondary",onClick:()=>v(!1),children:"Cancel"}),g.jsx(Et,{id:"delete-btn",variant:"contained",color:"primary",onClick:()=>$(),disabled:d,children:"Delete"})]})]});return g.jsxs("div",{className:"card",id:`card-${e}`,tabIndex:0,children:[g.jsxs("div",{className:"card-header-media",children:[g.jsxs("div",{className:"card-header-menu",children:[g.jsx(SU,{id:`card-menu-${e}`,items:F}),h&&g.jsx(fl,{title:`Start ${t}`,setIsOpen:m,body:z}),w&&g.jsx(fl,{title:`Stop ${t}`,setIsOpen:y,body:K}),p&&g.jsx(fl,{title:`Delete ${t}`,setIsOpen:v,body:Q}),x&&g.jsx(fl,{title:`Edit ${t}`,setIsOpen:C,body:g.jsx(Zm,{id:e})})]}),g.jsx("div",{className:"card-header-img flex flex-row",children:r?g.jsx("img",{src:r,alt:"App thumb"}):g.jsx(g.Fragment,{})})]}),g.jsx("div",{className:"card-header",children:g.jsx("h3",{className:"font-bold",children:g.jsx("a",{href:s,children:t})})}),g.jsxs("div",{className:"card-body",children:[g.jsx("p",{className:"text-sm pb-2",children:n}),i?g.jsxs("div",{className:"text-sm",children:[g.jsx("span",{className:"font-bold",children:"Author: "}),i]}):g.jsx(g.Fragment,{})]}),g.jsxs("div",{className:"card-footer",children:[g.jsx(g0,{id:`tag-${e}`,children:o}),l?g.jsx(g0,{id:`tag-${e}`,className:"ml-2 bg-warning-light",children:"Public"}):g.jsx(g.Fragment,{})]})]})},S0=({appType:e="My",filter:t})=>{const[n]=Wt(Jm),[,r]=Wt(Gs),[o,s]=b.useState([]),{isLoading:i,error:a,data:l}=yo({queryKey:["app-state"],queryFn:()=>Jt.get("/server/").then(u=>u.data).then(u=>u),enabled:!!n.user});return b.useEffect(()=>{if(!i&&l){const u=t.toLowerCase();s(()=>KB(l,e).filter(c=>{var d,f;return c.name.toLowerCase().includes(u)||((d=c.description)==null?void 0:d.toLowerCase().includes(u))||((f=c.framework)==null?void 0:f.toLowerCase().includes(u))}))}},[i,l,e,t]),b.useEffect(()=>{r(a?a.message:void 0)},[a,r]),g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"container w-full flex flex-align-center pb-12",children:[g.jsx("div",{className:"grid-heading-left w-full",children:g.jsxs("h2",{className:"whitespace-nowrap font-bold",children:[e," Apps"]})}),g.jsx("div",{className:"grid-heading-center w-full",children:g.jsx("hr",{className:"grid-spacer"})}),g.jsx("div",{className:"grid-heading-right flex justify-end w-full",children:g.jsxs("h2",{className:"whitespace-nowrap font-bold",children:[o.length," apps"]})})]}),g.jsx("div",{className:"container grid pb-12",children:i?g.jsx("div",{className:"font-bold",children:"Loading..."}):o.length>0?g.jsx("div",{className:"flex flex flex-row flex-wrap gap-4",children:o.map(u=>g.jsx(BU,{id:u.id,title:u.name,description:u.description,thumbnail:u.thumbnail,framework:u.framework,url:u.url,ready:u.ready,username:u.username,isPublic:u.public,isShared:e==="Shared"},`app-${u.id}`))}):g.jsx("div",{children:"No apps available"})})]})},UU=()=>{const[e]=Wt(Jm),[,t]=Wt(Gs),[n,r]=b.useState([]),{isLoading:o,error:s,data:i}=yo({queryKey:["service-data"],queryFn:()=>Jt.get("/services/").then(l=>l.data).then(l=>l),enabled:!!e.user}),a=(l,u)=>{u?window.open(l,"_blank"):window.location.assign(l)};return b.useEffect(()=>{!o&&i&&r(()=>qB(i,e.user))},[o,i,e.user]),b.useEffect(()=>{t(s?s.message:void 0)},[s,t]),g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"container flex flex-align-center pb-12",children:[g.jsx("div",{className:"grid-heading-left w-full",children:g.jsx("h2",{className:"whitespace-nowrap font-bold",children:"Services"})}),g.jsx("div",{className:"grid-heading-center w-full",children:g.jsx("hr",{className:"grid-spacer"})}),g.jsx("div",{className:"grid-heading-right w-full flex justify-end",children:g.jsxs("h2",{className:"whitespace-nowrap font-bold",children:[n.length," services"]})})]}),g.jsx("div",{className:"container grid pb-12",children:o?g.jsx("div",{className:"font-bold",children:"Loading..."}):n.length>0?g.jsx("div",{className:"flex flex flex-row flex-wrap gap-4",children:n.map((l,u)=>g.jsx(Et,{id:`service-${u}`,variant:"outlined",color:"secondary",style:{minWidth:"180px"},onClick:()=>{a(l.url,l.external)},children:l.name},`service-${u}`))}):g.jsx("div",{children:"No services available"})})]})},b0=()=>{const[e]=Wt(Gs),[t,n]=b.useState(""),r=o=>{const s=o.target;n(s.value)};return g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"container grid grid-cols-12 pb-12",children:[g.jsx("div",{className:"md:col-span-2 col-span-12",children:g.jsx("h1",{className:"text-3xl font-bold",children:"Home"})}),g.jsx("div",{className:"md:col-span-8 col-span-8",children:g.jsx(bU,{id:"search",placeholder:"Search...","aria-label":"Search for an app",className:"w-full mt-0",onChange:r})}),g.jsx("div",{className:"md:col-span-2 col-span-4 flex justify-end",children:g.jsx(Et,{id:"create-app",variant:"contained",color:"primary",startIcon:g.jsx(yR,{}),onClick:()=>{window.location.href=`${hm}/create-app`},children:"Create App"})})]}),e&&g.jsx("div",{className:"container grid grid-cols-12 pb-2",children:g.jsx("div",{className:"col-span-12",children:g.jsx(T3,{id:"alert-notification",type:"error",children:e})})}),g.jsx(UU,{}),g.jsx(S0,{appType:"My",filter:t}),g.jsx(S0,{appType:"Shared",filter:t})]})},zU=()=>{const[e]=qb(),t=gm(),n=dd(),[r,o]=b.useState(!1),[s,i]=Wt(cR),[a]=Wt(fR),[l]=Wt(dR),[,u]=Wt(Gs),[c,d]=fe.useState((s==null?void 0:s.profile)||""),f=e.get("id"),{data:S,isLoading:h,error:m}=yo(["serverTypes"],async()=>{const{data:E}=await Jt.get("/spawner-profiles/");return E}),w=E=>{d(E),s&&i({...s,profile:E})},y=E=>{E.preventDefault();const R={servername:(s==null?void 0:s.display_name)||"",user_options:{jhub_app:!0,name:(s==null?void 0:s.display_name)||"",display_name:(s==null?void 0:s.display_name)||"",description:(s==null?void 0:s.description)||"",framework:(s==null?void 0:s.framework)||"",thumbnail:(s==null?void 0:s.thumbnail)||"",filepath:(s==null?void 0:s.filepath)||"",conda_env:(s==null?void 0:s.conda_env)||"",env:(s==null?void 0:s.env)||"",custom_command:(s==null?void 0:s.custom_command)||"",profile:(s==null?void 0:s.profile)||"",public:(s==null?void 0:s.is_public)||!1}};o(!0),f?C(R,{onSuccess:async()=>{n.invalidateQueries({queryKey:["app-state"]})},onError:async T=>{o(!1),u(T.message)}}):x(R,{onSuccess:async T=>{const M=ku().user;if(M&&(T==null?void 0:T.length)>1){const $=T[1];window.location.assign(`/hub/spawn-pending/${M}/${$}`)}},onError:async T=>{o(!1),u(T.message)}})},p=async({servername:E,user_options:R})=>{const T={accept:"application/json","Content-Type":"multipart/form-data"},M=new FormData;return M.append("data",JSON.stringify({servername:E,user_options:R})),a&&M.append("thumbnail",a),(await Jt.post("/server",M,{headers:T})).data},v=async({servername:E,user_options:R})=>{const T={accept:"application/json","Content-Type":"multipart/form-data"},M=new FormData;return M.append("data",JSON.stringify({servername:E,user_options:R})),a?M.append("thumbnail",a):l&&M.append("thumbnail_data_url",l),(await Jt.put(`/server/${E}`,M,{headers:T})).data},{mutate:x}=Ls({mutationFn:p,retry:1}),{mutate:C}=Ls({mutationFn:v,retry:1});return g.jsxs("div",{className:"container",children:[g.jsx("div",{className:"row breadcrumb",children:g.jsx(Et,{id:"back-btn",type:"button",variant:"text",color:"primary",startIcon:g.jsx(fd,{}),onClick:()=>t(f?`/edit-app?id=${f}`:"/create-app"),children:"Back"})}),g.jsxs("div",{className:"row",children:[g.jsx("h1",{children:"Server Type"}),g.jsxs("p",{className:"paragraph",children:["Please select the appropriate server for your app. For more information on server types,"," ",g.jsx("span",{children:g.jsx("a",{href:"https://www.nebari.dev/docs/welcome",target:"_blank",rel:"noopener noreferrer",className:"paragraph-link",children:"visit our docs"})}),"."]})]}),m?g.jsxs("div",{children:["An error occurred: ",m.message]}):h?g.jsx("div",{className:"font-bold center",children:"Loading..."}):S&&S.length>0?g.jsxs("form",{className:"form",onSubmit:y,children:[g.jsx("div",{className:"form-section",children:g.jsx(CL,{children:S==null?void 0:S.map((E,R)=>g.jsx(_2,{className:"server-type-card",onClick:()=>w(E.slug),tabIndex:0,children:g.jsxs(O2,{children:[g.jsx(kN,{value:E.slug,id:E.slug,control:g.jsx(xL,{checked:c?c===E.slug:R===0}),label:E.display_name},E.slug),g.jsx("p",{children:E.description})]})},`server-type-card-${E.slug}`))})}),g.jsx("hr",{}),g.jsxs("div",{className:"button-section",children:[g.jsx("div",{className:"prev",children:g.jsx(Et,{id:"cancel-btn",type:"button",variant:"text",color:"secondary",onClick:()=>document.location.href=`${xo}`,children:"Cancel"})}),g.jsx("div",{className:"next",children:g.jsx(Et,{id:"submit-btn",type:"submit",variant:"contained",color:"primary",disabled:r,children:f?g.jsx(g.Fragment,{children:"Save"}):g.jsx(g.Fragment,{children:"Create App"})})})]})]}):g.jsx("div",{children:"No servers available"})]})},VU=new G4,WU=()=>{const[,e]=Wt(Jm);return b.useEffect(()=>{e(ku()),HB(ku())},[e]),g.jsx(u3,{client:VU,children:g.jsx("div",{children:g.jsx("main",{className:"my-6",children:g.jsxs(D$,{children:[g.jsx(Ko,{path:"/home",element:g.jsx(b0,{})}),g.jsx(Ko,{path:"/create-app",element:g.jsx(MU,{})}),g.jsx(Ko,{path:"/edit-app",element:g.jsx(IU,{})}),g.jsx(Ko,{path:"/server-types",element:g.jsx(zU,{})}),g.jsx(Ko,{path:"/",element:g.jsx(b0,{})})]})})})})},Ut={50:"#D6EEDC",100:"#ADDCBA",200:"#85CB97",300:"#5CB975",400:"#36AB55",500:"#298642",600:"#206532",700:"#144321",800:"#0A2210",900:"#051108"},Tt={50:"#F7F8F8",100:"#E1E3E4",200:"#C3C7CB",300:"#A6ACB2",400:"#90969C",500:"#5B5F63",600:"#44474A",700:"#3C3C3B",800:"#242628",900:"#1A1C1D"},mt={50:"#2491FF",100:"#2491FF",200:"#2491FF",300:"#2491FF",400:"#2491FF",500:"#005EA2",600:"#1A4480",700:"#1A4480",800:"#1A4480",900:"#162E51"},HU="#D72D47",qU="#F66A0A",Qn="#FFFFFF",KU="#000000",pl=hh({typography:{fontFamily:'"Inter", sans-serif'},components:{MuiButtonBase:{defaultProps:{disableRipple:!0,style:{textTransform:"none"}}},MuiFormControl:{defaultProps:{fullWidth:!0,sx:{marginBottom:"12px"}}},MuiTextField:{defaultProps:{autoComplete:"off",fullWidth:!0,sx:{marginBottom:"0"}}},MuiSelect:{defaultProps:{fullWidth:!0}}}}),GU=hh(pl,{palette:{primary:pl.palette.augmentColor({color:{light:mt[300],main:mt[500],dark:mt[700],contrastText:Qn,50:mt[50],100:mt[100],200:mt[200],300:mt[300],400:mt[400],500:mt[500],600:mt[600],700:mt[700],800:mt[800],900:mt[900]},name:"primary"}),secondary:pl.palette.augmentColor({color:{light:Ut[300],main:Ut[500],dark:Ut[700],contrastText:Ut[500],50:Ut[50],100:Ut[100],200:Ut[200],300:Ut[300],400:Ut[400],500:Ut[500],600:Ut[600],700:Ut[700],800:Ut[800],900:Ut[900]},name:"secondary"}),gray:pl.palette.augmentColor({color:{light:Tt[300],main:Tt[500],dark:Tt[700],contrastText:Qn,50:Tt[50],100:Tt[100],200:Tt[200],300:Tt[300],400:Tt[400],500:Tt[500],600:Tt[600],700:Tt[700],800:Tt[800],900:Tt[900]},name:"gray"}),warning:{main:qU,contrastText:Qn},error:{main:HU,contrastText:Qn},info:{main:mt,contrastText:Qn},success:{main:Ut[500],contrastText:Qn},common:{black:KU,white:Qn}},components:{MuiButton:{variants:[{props:{variant:"contained",color:"primary"},style:{minWidth:"120px",backgroundColor:mt[500],border:`1px solid ${mt[500]}`,fontWeight:700,"&:disabled":{borderColor:"transparent"}}},{props:{variant:"contained",color:"secondary"},style:{minWidth:"120px",backgroundColor:Tt[100],border:`1px solid ${Tt[100]}`,color:Tt[700],fontWeight:700,"&:hover":{backgroundColor:Qn},"&:disabled":{borderColor:"transparent"}}},{props:{variant:"outlined",color:"secondary"},style:{minWidth:"120px",backgroundColor:Qn,border:`2px solid ${mt[500]}`,color:mt[500],fontWeight:700,textTransform:"none","&:hover":{backgroundColor:Qn,borderWidth:2,border:`2px solid ${mt[700]}`,color:mt[700]}}},{props:{variant:"text",color:"primary"},style:{"&:hover":{backgroundColor:"transparent"}}},{props:{variant:"text",color:"secondary"},style:{color:Tt[500],"&:hover":{backgroundColor:"transparent"}}}]}}}),QU=new URL(window.location.href);Cp.createRoot(document.getElementById("root")).render(g.jsx(fe.StrictMode,{children:g.jsx(z$,{basename:QU.pathname.indexOf("hub")===-1?hm:xo,children:g.jsx(L4,{children:g.jsxs(xk,{theme:GU,children:[g.jsx(V2,{}),g.jsx(WU,{})]})})})})); diff --git a/jhub_apps/templates/japps_home.html b/jhub_apps/templates/japps_home.html new file mode 100644 index 00000000..194ae70a --- /dev/null +++ b/jhub_apps/templates/japps_home.html @@ -0,0 +1,16 @@ + + + + + +
+ + + + + diff --git a/jhub_apps/templates/style.css b/jhub_apps/templates/style.css index 2260e9ef..0313d8fc 100644 --- a/jhub_apps/templates/style.css +++ b/jhub_apps/templates/style.css @@ -141,6 +141,11 @@ a:focus { padding: 0 !important; } +.row.breadcrumb { + background-color: unset !important; + padding: 0 !important; +} + /* Buttons */ .btn { font-family: var(--base-font-family) !important; @@ -181,6 +186,10 @@ a:focus { border-color: var(--gray-color) !important; } +.MuiButton-containedSecondary { + background-color: var(--gray-color) !important; +} + .btn-secondary, .MuiButton-outlinedSecondary:not(:disabled) { color: var(--secondary-color) !important; background-color: #ffffff !important; @@ -197,6 +206,10 @@ a:focus { outline-color: var(--secondary-color) !important; } +.MuiButton-textPrimary { + color: var(--primary-color) !important; +} + .btn-success { color: var(--text-color); background-color: var(--secondary-color) !important; @@ -244,6 +257,11 @@ a:focus { margin-left: 8px; } +/* Misc MUI */ +.MuiCardContent-root:focus { + outline-color: var(--primary-color) !important; +} + /* Navbar */ .nav { margin-left:10px; @@ -372,8 +390,6 @@ a:focus { border-top: 1px solid #e6e6e6; } - - @media only screen and (max-width: 480px) { .navbar-nav { margin: 0; diff --git a/jhub_apps/tests_e2e/test_integration.py b/jhub_apps/tests_e2e/test_integration.py index 1b11780c..ce9771cc 100644 --- a/jhub_apps/tests_e2e/test_integration.py +++ b/jhub_apps/tests_e2e/test_integration.py @@ -16,7 +16,7 @@ def get_page(playwright: Playwright): record_video_dir="videos/", record_video_size={"width": 1920, "height": 1080}, viewport={"width": 1920, "height": 1080}, - ignore_https_errors=True + ignore_https_errors=True, ) page = context.new_page() return browser, context, page @@ -36,7 +36,7 @@ def test_panel_app_creation(playwright: Playwright) -> None: # for searching app with unique name in the UI app_name = f"{framework} app {app_suffix}" app_page_title = "Panel Test App" - wait_for_element_in_app = 'div.bk-slider-title >> text=Slider:' + wait_for_element_in_app = "div.bk-slider-title >> text=Slider:" try: page.goto(BASE_URL) logger.info("Signing in") @@ -50,12 +50,13 @@ def test_panel_app_creation(playwright: Playwright) -> None: logger.info("Creating App") page.get_by_role("button", name="Create App").click() logger.info("Fill App display Name") - page.get_by_label("Display Name *").click() - page.get_by_label("Display Name *").fill(app_name) + page.get_by_label("Name *").click() + page.get_by_label("Name *").fill(app_name) logger.info("Select Framework") - page.get_by_label("Framework *").select_option(framework) + page.locator("id=framework").click() + page.get_by_role("option", name="Panel").click() logger.info("Click Submit") - page.get_by_role("button", name="Submit").click() + page.get_by_role("button", name="Create App").click() slider_text_element = page.wait_for_selector(wait_for_element_in_app) assert slider_text_element is not None, "Slider text element not found!" logger.info("Checking page title") diff --git a/ui/src/App.tsx b/ui/src/App.tsx index d869613f..1ed1d678 100644 --- a/ui/src/App.tsx +++ b/ui/src/App.tsx @@ -2,24 +2,21 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import React, { useEffect } from 'react'; import { Route, Routes } from 'react-router'; import { useRecoilState } from 'recoil'; +import { CreateApp } from './pages/create-app/create-app'; +import { EditApp } from './pages/edit-app/edit-app'; import { Home } from './pages/home/home'; import { ServerTypes } from './pages/server-types/server-types'; import { currentJhData } from './store'; import { JhData } from './types/jupyterhub'; -import { getJhData } from './utils/jupyterhub'; +import { getJhData, storeJhData } from './utils/jupyterhub'; -const queryClient = new QueryClient({ - defaultOptions: { - queries: { - refetchOnWindowFocus: false, - }, - }, -}); +const queryClient = new QueryClient(); export const App = (): React.ReactElement => { const [, setJhData] = useRecoilState(currentJhData); useEffect(() => { setJhData(getJhData()); + storeJhData(getJhData()); }, [setJhData]); return ( @@ -28,8 +25,10 @@ export const App = (): React.ReactElement => {
} /> - } /> + } /> + } /> } /> + } />
diff --git a/ui/src/pages/home/app-form/app-form.test.tsx b/ui/src/components/app-form/app-form.test.tsx similarity index 88% rename from ui/src/pages/home/app-form/app-form.test.tsx rename to ui/src/components/app-form/app-form.test.tsx index 567efafb..bbbbdbc2 100644 --- a/ui/src/pages/home/app-form/app-form.test.tsx +++ b/ui/src/components/app-form/app-form.test.tsx @@ -4,6 +4,7 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { act, fireEvent, render } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import MockAdapter from 'axios-mock-adapter'; +import { BrowserRouter } from 'react-router-dom'; import { RecoilRoot } from 'recoil'; import AppForm from './app-form'; @@ -28,7 +29,9 @@ describe('AppForm', () => { const { baseElement } = render( - + + + , ); @@ -44,7 +47,9 @@ describe('AppForm', () => { const { baseElement } = render( - + + + , ); @@ -53,7 +58,7 @@ describe('AppForm', () => { '#display_name', ) as HTMLInputElement; const frameworkField = baseElement.querySelector( - '#framework', + '[name="framework"]', ) as HTMLSelectElement; const envVariableField = baseElement.querySelector( '#env', @@ -88,7 +93,9 @@ describe('AppForm', () => { const { baseElement } = render( - + + + , ); @@ -100,7 +107,7 @@ describe('AppForm', () => { '#thumbnail', ) as HTMLInputElement; const frameworkField = baseElement.querySelector( - '#framework', + '[name="framework"]', ) as HTMLSelectElement; if (displayNameField && thumbnailField && frameworkField) { // Attempt submitting without filling in required fields @@ -133,7 +140,9 @@ describe('AppForm', () => { const { baseElement } = render( - + + + , ); @@ -142,7 +151,7 @@ describe('AppForm', () => { '#display_name', ) as HTMLInputElement; const frameworkField = baseElement.querySelector( - '#framework', + '[name="framework"]', ) as HTMLSelectElement; if (displayNameField && frameworkField) { const btn = baseElement.querySelector('#submit-btn') as HTMLButtonElement; @@ -165,7 +174,9 @@ describe('AppForm', () => { const { baseElement } = render( - + + + , ); @@ -228,7 +239,9 @@ describe('AppForm', () => { const { baseElement } = render( - + + + , ); @@ -240,7 +253,7 @@ describe('AppForm', () => { '#description', ) as HTMLInputElement; const frameworkField = baseElement.querySelector( - '#framework', + '[name="framework"]', ) as HTMLSelectElement; if (displayNameField && descriptionField && frameworkField) { await userEvent.type(displayNameField, 'App 1'); @@ -265,7 +278,9 @@ describe('AppForm', () => { const { baseElement } = render( - + + + , ); @@ -277,7 +292,7 @@ describe('AppForm', () => { '#description', ) as HTMLInputElement; const frameworkField = baseElement.querySelector( - '#framework', + '[name="framework"]', ) as HTMLSelectElement; if (displayNameField && descriptionField && frameworkField) { await userEvent.type(displayNameField, 'App 1'); @@ -300,7 +315,9 @@ describe('AppForm', () => { const { baseElement } = render( - + + + , ); @@ -312,7 +329,7 @@ describe('AppForm', () => { '#description', ) as HTMLInputElement; const frameworkField = baseElement.querySelector( - '#framework', + '[name="framework"]', ) as HTMLSelectElement; if (displayNameField && descriptionField && frameworkField) { await userEvent.type(displayNameField, 'App 1'); @@ -325,4 +342,23 @@ describe('AppForm', () => { }); } }); + + test('clicks cancel to home', async () => { + mock.onGet(new RegExp('/frameworks')).reply(200, frameworks); + mock.onGet(new RegExp('/server/app-1')).reply(200, app); + const { baseElement } = render( + + + + + + + , + ); + const btn = baseElement.querySelector('#cancel-btn') as HTMLButtonElement; + await act(async () => { + btn.click(); + }); + expect(window.location.pathname).toBe('/'); + }); }); diff --git a/ui/src/components/app-form/app-form.tsx b/ui/src/components/app-form/app-form.tsx new file mode 100644 index 00000000..304a58dc --- /dev/null +++ b/ui/src/components/app-form/app-form.tsx @@ -0,0 +1,536 @@ +import { + Button, + FormControl, + InputLabel, + MenuItem, + Select, + TextField, +} from '@mui/material'; +import { + AppFrameworkProps, + AppProfileProps, + AppQueryGetProps, + AppQueryUpdateProps, +} from '@src/types/api'; +import { AppFormInput } from '@src/types/form'; +import axios from '@src/utils/axios'; +import { APP_BASE_URL, REQUIRED_FORM_FIELDS_RULES } from '@src/utils/constants'; +import { getJhData } from '@src/utils/jupyterhub'; +import { useMutation, useQuery } from '@tanstack/react-query'; +import { useEffect, useState } from 'react'; +import { Controller, SubmitHandler, useForm } from 'react-hook-form'; +import { useNavigate } from 'react-router-dom'; +import { useRecoilState } from 'recoil'; +import { Thumbnail, Toggle } from '..'; +import { + currentNotification, + currentFile as defaultFile, + currentFormInput as defaultFormInput, + currentImage as defaultImage, +} from '../../store'; + +export interface AppFormProps { + id?: string; +} + +export const AppForm = ({ id }: AppFormProps): React.ReactElement => { + const navigate = useNavigate(); + const [submitting, setSubmitting] = useState(false); + const [, setNotification] = useRecoilState( + currentNotification, + ); + const [currentFormInput, setCurrentFormInput] = useRecoilState< + AppFormInput | undefined + >(defaultFormInput); + const [name, setName] = useState(''); + const [currentFile, setCurrentFile] = useRecoilState( + defaultFile, + ); + const [currentImage, setCurrentImage] = useRecoilState( + defaultImage, + ); + const [isPublic, setIsPublic] = useState(false); + // Get the app data if we're editing an existing app + const { data: formData, error: formError } = useQuery< + AppQueryGetProps, + { message: string } + >({ + queryKey: ['app-form', id], + queryFn: () => + axios.get(`/server/${id}`).then((response) => { + return response.data; + }), + enabled: !!id, + }); + + const { data: frameworks, isLoading: frameworksLoading } = useQuery< + AppFrameworkProps[], + { message: string } + >({ + queryKey: ['app-frameworks'], + queryFn: () => + axios.get('/frameworks/').then((response) => { + return response.data; + }), + }); + + const { data: environments, isLoading: environmentsLoading } = useQuery< + string[], + { message: string } + >({ + queryKey: ['app-environments'], + queryFn: () => + axios.get('/conda-environments/').then((response) => { + return response.data; + }), + }); + + const { data: profiles, isLoading: profilesLoading } = useQuery< + AppProfileProps[], + { message: string } + >({ + queryKey: ['app-profiles'], + queryFn: () => + axios.get('/spawner-profiles/').then((response) => { + return response.data; + }), + }); + + const { + control, + handleSubmit, + reset, + watch, + formState: { errors }, + } = useForm({ + defaultValues: { + display_name: '', + description: '', + framework: '', + thumbnail: '', + filepath: '', + conda_env: '', + env: '', + custom_command: '', + profile: '', + is_public: false, + }, + }); + const currentFramework = watch('framework'); + + const onFormSubmit: SubmitHandler = ({ + display_name, + description, + framework, + thumbnail, + filepath, + conda_env, + env, + custom_command, + profile, + }) => { + if (profiles && profiles.length > 0) { + const payload: AppFormInput = { + jhub_app: true, + display_name: name || display_name, + description, + framework, + thumbnail, + filepath, + conda_env, + env: env ? JSON.parse(env) : null, + custom_command, + profile, + is_public: isPublic, + }; + setCurrentFormInput(payload); + navigate(`/server-types${id ? `?id=${id}` : ''}`); + } else { + const payload = { + servername: name || display_name, + user_options: { + jhub_app: true, + name: name || display_name, + display_name, + description: description || '', + framework, + thumbnail: thumbnail || '', + filepath: filepath || '', + conda_env: conda_env || '', + env: env ? JSON.parse(env) : null, + custom_command: custom_command || '', + profile: profile || '', + public: isPublic, + }, + }; + + setSubmitting(true); + if (id) { + updateQuery(payload, { + onSuccess: async () => { + window.location.assign(APP_BASE_URL); + }, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + onError: async (error: any) => { + setSubmitting(false); + setNotification(error.message); + }, + }); + } else { + createQuery(payload, { + onSuccess: async (data) => { + const username = getJhData().user; + if (username && data?.length > 1) { + const server = data[1]; + window.location.assign( + `${APP_BASE_URL}/spawn-pending/${username}/${server}`, + ); + } + }, + // eslint-disable-next-line @typescript-eslint/no-explicit-any + onError: async (error: any) => { + setSubmitting(false); + setNotification(error.message); + }, + }); + } + } + }; + + const createRequest = async ({ + servername, + user_options, + }: AppQueryUpdateProps) => { + const headers = { + accept: 'application/json', + 'Content-Type': 'multipart/form-data', + }; + const formData = new FormData(); + formData.append('data', JSON.stringify({ servername, user_options })); + if (currentFile) { + formData.append('thumbnail', currentFile as Blob); + } + + const response = await axios.post('/server', formData, { headers }); + return response.data; + }; + + const updateRequest = async ({ + servername, + user_options, + }: AppQueryUpdateProps) => { + const headers = { + accept: 'application/json', + 'Content-Type': 'multipart/form-data', + }; + const formData = new FormData(); + formData.append('data', JSON.stringify({ servername, user_options })); + if (currentFile) { + formData.append('thumbnail', currentFile as Blob); + } else if (currentImage) { + formData.append('thumbnail_data_url', currentImage); + } + + const response = await axios.put(`/server/${servername}`, formData, { + headers, + }); + return response.data; + }; + + const { mutate: createQuery } = useMutation({ + mutationFn: createRequest, + retry: 1, + }); + + const { mutate: updateQuery } = useMutation({ + mutationFn: updateRequest, + retry: 1, + }); + + // Populate form with existing app data + useEffect(() => { + if (formData?.name && formData?.user_options) { + setName(formData.name); + reset({ + ...formData.user_options, + env: formData.user_options.env + ? JSON.stringify(formData.user_options.env) + : undefined, + }); + setIsPublic(formData.user_options.public); + setCurrentImage(formData.user_options.thumbnail); + } + }, [formData?.name, formData?.user_options, reset, setCurrentImage]); + + // Populate form when returning from server-types page + useEffect(() => { + // istanbul ignore next + if (currentFormInput) { + setName(currentFormInput.display_name); + reset({ + display_name: currentFormInput.display_name || '', + description: currentFormInput.description || '', + framework: currentFormInput.framework || '', + filepath: currentFormInput.filepath || '', + conda_env: currentFormInput.conda_env || '', + env: currentFormInput.env + ? JSON.stringify(currentFormInput.env) + : undefined, + custom_command: currentFormInput.custom_command || '', + profile: currentFormInput.profile || '', + }); + setIsPublic(currentFormInput.is_public); + setCurrentImage(currentFormInput.thumbnail); + } + }, [currentFormInput, reset, setCurrentImage]); + + useEffect(() => { + if (formError) { + setNotification(formError.message); + } + }, [formError, setNotification]); + + return ( +
+
+

App Info

+ ( + + + + )} + /> + ( + + + + )} + /> +
+
+
+

Configuration

+ ( + + + Framework + + + + )} + /> + {currentFramework === 'custom' ? ( + ( + + + + )} + /> + ) : ( + <> + )} + {environments && environments.length > 0 ? ( + ( + + + Software Environment + + + + )} + /> + ) : ( + <> + )} + ( + + + + )} + /> + ( + + + + )} + /> +
+
+
+

Sharing

+ ( + + { + setIsPublic(!isPublic); + }} + /> + + )} + /> +
+
+
+

App Thumbnail

+ ( + + + + )} + /> +
+
+
+
+ +
+
+ +
+
+
+ ); +}; + +export default AppForm; diff --git a/ui/src/components/index.ts b/ui/src/components/index.ts index dd1d29aa..7b7be3ce 100644 --- a/ui/src/components/index.ts +++ b/ui/src/components/index.ts @@ -1,4 +1,5 @@ export { default as Alert } from './alert/alert'; +export { default as AppForm } from './app-form/app-form'; export { default as ButtonGroup } from './button-group/button-group'; export { default as ContextMenu } from './context-menu/context-menu'; export { default as ErrorMessages } from './error-messages/error-messages'; diff --git a/ui/src/components/thumbnail/thumbnail.tsx b/ui/src/components/thumbnail/thumbnail.tsx index f7a2519e..c1a0802a 100644 --- a/ui/src/components/thumbnail/thumbnail.tsx +++ b/ui/src/components/thumbnail/thumbnail.tsx @@ -1,5 +1,8 @@ -import { PhotoIcon } from '@heroicons/react/24/solid'; -import { Button } from '@mui/material'; +import DeleteIcon from '@mui/icons-material/Delete'; +import InsertPhotoOutlinedIcon from '@mui/icons-material/InsertPhotoOutlined'; +import UploadFileIcon from '@mui/icons-material/UploadFile'; +import VisibilityIcon from '@mui/icons-material/Visibility'; +import { Button, Dialog } from '@mui/material'; import { useEffect, useRef, useState } from 'react'; export interface ThumbnailProps { @@ -39,6 +42,7 @@ export const Thumbnail = ({ ...props }: ThumbnailProps & JSX.IntrinsicElements['input']) => { const [dragging, setDragging] = useState(false); + const [open, setOpen] = useState(false); const inputRef = useRef(null); const handleDragOver = (e: React.DragEvent) => { @@ -70,6 +74,11 @@ export const Thumbnail = ({ setCurrentFile(uploadedFile); }; + const handleViewThumbnail = (e: React.SyntheticEvent) => { + e.preventDefault(); + setOpen(true); + }; + const handleBrowseThumbnails = (e: React.SyntheticEvent) => { e.preventDefault(); const elem = inputRef.current; @@ -112,7 +121,6 @@ export const Thumbnail = ({ } alt="App thumnail" /> -

{currentFile?.name}

) : (
- +
)}
+
+ setOpen(false)} open={open}> + App thumnail + ); }; diff --git a/ui/src/data/api.ts b/ui/src/data/api.ts index cb711855..a6c25fb1 100644 --- a/ui/src/data/api.ts +++ b/ui/src/data/api.ts @@ -8,6 +8,7 @@ import { UserState } from '@src/types/user'; export const frameworks: AppFrameworkProps[] = [ { name: 'panel', display_name: 'Panel', logo: '' }, { name: 'bokeh', display_name: 'Bokeh', logo: '' }, + { name: 'streamlit', display_name: 'Streamlit', logo: '' }, { name: 'jupyterlab', display_name: 'JupyterLab', logo: '' }, { name: 'custom', display_name: 'Custom Command', logo: '' }, ]; @@ -18,19 +19,13 @@ export const profiles: AppProfileProps[] = [ { display_name: 'Small', slug: 'small0', - description: 'Stable environment with 2 CPU / 8GB RAM', + description: 'Stable environment with 1 CPU / 4GB RAM', }, { display_name: 'Small', slug: 'small1', description: 'Stable environment with 2 CPU / 8GB RAM', }, - { - display_name: 'Large GPU Instance', - slug: 'large0', - description: - 'Stable environment with 8 CPU / 32GB RAM and 1 NVIDIA Tesla T4', - }, { display_name: 'Medium Instance', slug: 'medium0', @@ -39,34 +34,19 @@ export const profiles: AppProfileProps[] = [ { display_name: 'Medium Instance', slug: 'medium1', - description: 'Stable environment with 4 CPU / 16GB RAM', - }, - { - display_name: 'Medium Instance', - slug: 'medium2', - description: 'Stable environment with 4 CPU / 16GB RAM', - }, - { - display_name: 'Medium Instance', - slug: 'medium3', - description: 'Stable environment with 4 CPU / 16GB RAM', - }, - { - display_name: 'Medium Instance', - slug: 'medium4', - description: 'Stable environment with 4 CPU / 16GB RAM', + description: 'Stable environment with 6 CPU / 20GB RAM', }, { display_name: 'Large GPU Instance', - slug: 'large1', + slug: 'large0', description: 'Stable environment with 8 CPU / 32GB RAM and 1 NVIDIA Tesla T4', }, { display_name: 'Large GPU Instance', - slug: 'large2', + slug: 'large1', description: - 'Stable environment with 8 CPU / 32GB RAM and 1 NVIDIA Tesla T4', + 'Stable environment with 16 CPU / 64GB RAM and 2 NVIDIA Tesla T4', }, ]; @@ -88,6 +68,7 @@ export const app: AppQueryGetProps = { custom_command: '', conda_env: '', profile: '', + env: null, public: false, }, progress_url: '', @@ -115,6 +96,10 @@ export const serverApps = { thumbnail: 'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QBARXhpZgAATU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAAqACAAQAAAABAAAFxKADAAQAAAABAAADYAAAAAD/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs+EJ+/8IAEQgDYAXEAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAMCBAEFAAYHCAkKC//EAMMQAAEDAwIEAwQGBAcGBAgGcwECAAMRBBIhBTETIhAGQVEyFGFxIweBIJFCFaFSM7EkYjAWwXLRQ5I0ggjhU0AlYxc18JNzolBEsoPxJlQ2ZJR0wmDShKMYcOInRTdls1V1pJXDhfLTRnaA40dWZrQJChkaKCkqODk6SElKV1hZWmdoaWp3eHl6hoeIiYqQlpeYmZqgpaanqKmqsLW2t7i5usDExcbHyMnK0NTV1tfY2drg5OXm5+jp6vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAQIAAwQFBgcICQoL/8QAwxEAAgIBAwMDAgMFAgUCBASHAQACEQMQEiEEIDFBEwUwIjJRFEAGMyNhQhVxUjSBUCSRoUOxFgdiNVPw0SVgwUThcvEXgmM2cCZFVJInotIICQoYGRooKSo3ODk6RkdISUpVVldYWVpkZWZnaGlqc3R1dnd4eXqAg4SFhoeIiYqQk5SVlpeYmZqgo6SlpqeoqaqwsrO0tba3uLm6wMLDxMXGx8jJytDT1NXW19jZ2uDi4+Tl5ufo6ery8/T19vf4+fr/2wBDAAICAgICAgMCAgMEAwMDBAUEBAQEBQcFBQUFBQcIBwcHBwcHCAgICAgICAgKCgoKCgoLCwsLCw0NDQ0NDQ0NDQ3/2wBDAQICAgMDAwYDAwYNCQcJDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ3/2gAMAwEAAhEDEQAAAffNt8b95ttW21bbVttVr6f436z7Xz7vbex4eEXQ/P8ArfZPG/0/4fbbrw22rbattq22rbattNbbVttWnattq22rbattq22rbSbtvrn4Qe+N6P6F7xb2n4X6nTtz7bbVtprbaqn8jvvj8+622rbattq22rbattq22rbattq22rbattq22rbattq22rbattq22rbattq22rbattq22rbattqvvvn86Jr9kt8LfblPdtUadUbattqjTFbJ4vDou/PW8fPfTxtuXt22rbattq22rbao0xW21RpittqjTFbbVGmK22qNMVttUbattq22rbattq22rbattq22q4n0ve/8z5rvStXm0+kY3m8+j6HnO9G1eddXdbbDbbs4dtNeT/In6EfAP2nzTXbfTeJttW21bbVttW21adq22rTtW21bbVttW21bbVtpNtsRtrVar+wZ9W+K+m22+a9vadW21bbV8IeE/rNq/Jxf6wavyhX+rer8p1/qtq/Ktf6o6vyxV+pmr8tl/qNq/LxX6havzAX+nmr8xV/pvq/Mtf6Y6vzQX+lmr81V/pPq/NtX6RavzgX+jmr85lfovq/Otf6I6vzwX+hmr89lfoPq/Psn6AavgFX35q+BV/e+r4LV95avhBf3ZFfCy/ubV8OK+4dXxCr7c1fEyvtbV8WL+0NXxr6R9Bao0xW21aJ1RtqzJ6FX82p/Xp8n2vIN6/KP4/HsMw8d3sUm8c3sc143vZJI8a3surxufYtDx2fYcbx6fYIh5BPr2ryGfXMbyPeuaHkm9a1eTb1nEeT71fV5RPq2rymfVMR5XvVNXlm9S0PLp9QxvL59P1eY707Q8yn0zG8zn0vQ813pWrzbek4223peTttW21bbVttW21bbVO2rfIf15416/nfKO2/Q/kNtq22rbattq0xNbbVp2rbattq22rbattq20m22I2J9Ece/nH1rdk+D+r228vv07VttW2mttq22rbTW21bbVtpqJ2rbattq201GnVGnVttW21bbVttW21bbVttW21Rp1Rp1Rtq22rbatE6o06o21bbVonVG2rbatE6o21bbVGmK22rRMVttWidUbatE6o21aJ1Rtq0TqjbVonVG2rROqNtWidUbatExW21Rpittq22rbattq22rbattq22rbattq22rbattq0xNbbVq2zxH54C9K81/UvhNtt89tq22rbTW21baa22rbattq22rbattJttiNf8AbfV3gerx/o23w/1G2nLTbatgjZXU7K221bbmXXpp8N3ocnuW8N1e5bw2a9xnw3V7lvDdXuW8N1e5bw3V7nvDNXue8M1e57wzV7nqG+87r2nK0adUadUadUadUadUadUadUbMyHm8RF6PH7nvDMb3PeGavct4bq9y3hur3LeG6vct4bq9x3h2r3HeG6vct4bq9x3B95w9O22WmidUbattqjTFbbVonVG2rROqNtWidUbatE6o2SJUITEuAkFzDWAXeZJi/ivSDZasSDaapSDcZm80yjbMuidUbattq22rbattq22rbattq22rbattq22rbTW21baa22rw35d++Pgj7j5eNt9F4+21bbVO2rbap21bbVttW21bbVtprbdUrc79L+h9v8Z9JE7fNe1tprbatR8z5F9F5PQe9+Ne1K223z/qYB+Qw6OsX5Z6Jjv418x/ojxX2Py3w1PVcr9p8zttou21bbVttW21bbVttWMH0/DX67eG89/NftvQtU23PrtsjbbVttW21bbVttW2qkd078e9B4fS5z5G+/Kr6z5b8+N6r5V918tttvlttW21bbVttW21aJ1Rpeg/W3qzZl+X/c2BfPvQg0bbl23A9825+v42TWNfx/8AfrxNLg1wmpirWKvRsk18Av0ssC7hrAnKQaJYHgVJ2B22jttW21bbVttLttUbatEvXX6X9HCb9i/n3RMdPHttUaYrbattq22rbattq22rbattq22rbattq0xNbbVp2rbTW+J/tj5/9zy/mrbfffJ7bVpia22rTtW21bbVttW21baa2ffUnD1eafUj3fBfVztuDr201tua1S78b5yq+1+d05z7/m+1dmIv5b9lp2w13l/ovkvj+5BRT4vv+gdN4z03s+F2Xyz9YE+o+W/OXfV/y5998mz23fybbVttW21bbVttW+qvlj7/APnPZuvCPbvmbzvQ9X9L+f8A6B4+jbbw/R22rbattq22rbatxHb+Ued6tbO3z31PW9x4za+p43qXgXuD76b5X86gfcPyJ998jzO29bg22rbattq22rbat695D9ceR6HsXmnpfz/8r9C493+Xfpjs53UTvmPZjbV8ueZfTPzN+VfuEaY8T6TbY0aYK7bVomK22qNMVttW21bbVttW21bbVttDbaGiYreqeV/UXu/M+k6Y/UfxXbao21bbVG2rbattq22rbattq22rbattq22rbTW21baa22rTE1uX6jOn51bsOP8A1P4XbTom21baa22rbattq22rbTUdx6H9L/N+zzvU7fGfSadkfbatmHi3pcfV+VI33nzWnbsw3d8J7l5Hd2k7fnn1W21cpwl3S/L/AF+23L27bVYeieVr7OH2TkSdV9J8p8K8d+iPy9938n4ftvo/G22rbatp1bbQ9D+2fAffvz/6/hPE+34j6nyJ+lvmj2Pj6PRNO+G+jjTqjTqjTqjTqjTqrvJ+34j576nbbzvV22o3fed7p5PZ6/ke7+i+V+RfIP0c8M+3+U+Vs6a/V/P7bG22rbattqP+gfyP9kfF/S1/zV7F456GO9r8U7bs5/b9t+d/V6J1V3xJ91/KHxv6D59tvgf1ONMVtsRG2I22qNMVttUbattq22rbattq22rbattobbQd/bHzb9NfoP5Vtt9b8JG2rRMVttUaYrbattq22rbattq22rbattq22rTE1ttWnattNbbVtpr5x+d/uH4e+9+U0xPu+VttWnattq22rbatt6Njpx/1f2198T9Ntt4Pradq2yIL5Lk/NPqfHfMNvr/B07MNtqcfTPi/t3xX0O23zXr4DjmMd+Bjb5P7Xbatto7bR3R85tMvYjeS+i/QfL+ZfKv6Gcx9f8t8FbueH+2+Y221z22hpjt8n+wb83F/mf3Xibfb9Q+O3XciTHT6kzR3+V/Z7bA7bVttW21bZmrecVW3yP3O2yvonVGnVFlW5k9XsfHO8935tl8h/eDL6v5b8797V4r938rtt047bVtl19U+30738v8AufEeRIP9H+UxwbbP6gLxvZ/l32cbbn13jnsdPw+n8TaY/Hf6B22qNtW2xEbYjROqNtWidUbattq22rbattq22rbaG2dFPpX0xu4/Y/5+226uKNMVttUbatE6o21bbVttW21bbVttW21bbVttU7attNbbVpia22rTtW+DfvL5l+g8jwTbfdfLaYmttq22rbasS8+tfL7vOPodc/CfVbbcnRtprbcPvl0XidK2+5+c229rz9MTW21aYcC9o7cB/wAu+z208+u849C8h8n2kbbw/o9to7bVttW21Z2+9E7/ADCONvovlQfMv1Du7k/OSPsT5P8AvfkqudvS4t9I/N33X4Hr9j4t7P8AM3jeuy2n7j52NOr2vvPDfc/zv6nbbx+/battq22rcl1vmPB6VJp3zn1kadUbattq22rS69D6+FN3t9J8nvFfat18v53svvD5D+7+U4vbez529F86+oPM7fe+D73w7436bidt+h/LaJ1d77R8y/S/xH0S4nfOetG2r5E4n6C+ffyX93228n3dE6o21aJzCNtDRMVttUaYrbattq22rbattq22ren+YfTvt/Nen7b9T/Eo21bbVG2rRMVttUaYrbattq22rbattq22rbattNbbVp2rbap21baa22ree+hJ1z/OzXFP+p/CTtmG21bZwJv6v6V7t8t71ZabfIfQ6YkHbasGp8S9fg6bz3T9183tt05baa22rbTW7fiPbfJ7u52n87+q22rnfO+k5v5r63bbi9Hbattq2zoq27G7vPa+eSrb1/E201E7Vud6LOvxH5/+i/zb9l8z5J95fNP0v5Xocn4H6N5z9D5+23t+fttR/pv5d9z+Y9ftdO+K+hjTqjTqjTqbeQd/5/8AP/TbbeX7G2xttq0SohF9d9f63iN3G3t/PbbERpis1dYj5W8M/Rzx/wCr8D5D++fk/wC0gQ/MvtnhvSuiY+m8jbat714L6L4voewbb8/+o0Tq5z4w+8fjj4n9J5XbfDfpe2wtExW2xo0wV22qNMVttUbattq22rbattq22pz9s/NP1D9/+VRtvr/gtExW21RpittqjbVomK22rbattq22rbattq22rTE1ttU7atMTW21adq22qdtXyv4j9jfHX6D8htt7Pnbb2nm24H646h58N9TO28f0dtNbZqQ6885PifrvDMHb6rxNOxttq07VtprbajfTPivuPxf0E7b5n2MlVFnr52Lb5H7jbaO21bK7TbnpfQ3M/Q/LbbdfFtOrbattq2nVttQiTzeufhtbp/VPjI05xttW73gnfLt9O5C/y37HbaO21bYQPnVCtHyH3G22euidUaeh0yqvRLE30PzG23f5uidUbattq0TqjbUIuQR4xwTtp+ofHbbdOOiYrWNdkP1Lub6T8t+022yfeCe98j5ntfHe2/JP3rbZbbao0xW2xEbYjROqNtWiYrbattq22rbatscj6U9SZvP2L+fI0x18O21Rtq0TqjbVomK22qNtW21bbVttW21bbVttU7atMTW21adq22qdtWmJrbagfAH6D/JP0ni+Pvuq+t/d8vhPY9vhvqNMTz7bbVpT5n14dT4nXI+6+b229Xi201ttWmJrbatMTW2KL2fu2zn8v+y225ttwPfeReZ67bbeB9PttWeWfoPoeVXXW849fxfR94n7Yp07dvn7bVtprbattq2nVHk3rXzf9B5dPtvvPm9tq22rbave+t8c9k/N/rNtvL7Ntq3N9J51xd/N6d8x9fGnVC3vonbwU/WbnPd+c6PfN/0hh1aJ3o+TG2rbao06o21aJ1RyXW+O+px+dbb9H+T22FttUaYr031n5x+jvhPpI0x4HqaJ1fFlB7Z4n+Q/v+23nertsLROqNsbRMEbbQ0TFbbVG2rbattq22relea/THtfOeq7b9U/ENE6o21aJittqjbVomK22qNMVttW21bbVttW21aYmttq07VtprbatMTW21adq22qaK9zKE8Sp22jp2rMKDxf3fNvuT2+3+d222z22rTtW21Ttq201ttW7PjPavK7e923519XpiapvMet5L5z6vbPeH0Wnb3Nt7nzmFS/MGXV3XiUb82/Yun+zfgv7N+r+F6fbfcfmm2mttq201E7VttVF86ereU/e/M7be/5u20Ntq22hYfTHyv9B/Ke302mPjvf2mKR5B6J5r4P0e2J5PtD6W76j2fBCZt85dGPf/NrPfmv7HP2z8S/RvreF7Ptv0f8g22qNMVttWidUbao+afcfn37Hwdtvq/F22FtsLbao+ifnb1TwfS9S23wf00bauF+R/vD4l+D/UKnbfG/om2wtthaJittiI2xGidUbatExW21bbVttRvtr5m+p/vvyzRMfYfAbbVG2rROqNtWiYrbao21aJittq22rbattq22rTE1ttU7atMTW21adq201ttWmJrbap21baqdbLyrlud+y8CY2+l8jbattq201ttWmJrbatO1bbUX6Y8U91+M9/bT8x7O2q0fzhmvuvmfr6T0AwPf+ZP5hwPjXyf3b9ht8P8Apm2yvvoD5/7L1PD+wtp/XPwXbattNbbVttW01Lr4Zz+36p8XttrnttW21bbVvTfMrfh6PpPbfmP2W2iuA5dx0Hy32NR6K+J7fz25XivnLwvqb/ltvz39W22y33f8ATp5fvGK6y/Z/wCdo2zJttWidUbatExXknmVxT/p3x+23dz7bVtsLbYWv6DZt9S6qtfyz7TRMI2+bfpLzrxvoflLbflX7ntsLbYWidUbY2iYI22hGmK22qNtW21bYsPpH1hg/wD2L+ftE7s8+NtWiYrbao21aJ1Rtq0TFbbVG2rbattq22rbap21baa22rTE1ttU7atMTW21adq201sDyLu5us8dbb7z5rbb0OXbattq22rTE1ttU7attNbbVpggvZO/aO/zD7LTty7bmul2WtZabyjn6+z+XueZ/nX65tt4P1W21bbVpia+173xb2n9g/n3bT6Hl7bVtprbat5p6W368Pl7fTm+n8f5j307q+Yt9O6vmLfTur5i307q+Yt9O6q6+GX5H3Iq7XYbc10k8fh1dH82cbzfwH6nG2+W+222rbattq+mfXPlT6r/AFP8R229/wCXjTFbbVonVFDfD1T5bj6cj63xPmTfTer5k303FfMu+msL5l30zq+Zt9M6uC9JAf5n19tuTeAmwPw2x9V8q/Hf6E225O/bYW2wo0xW2xEbYjRMVttUbattq3onnf0n7Pz3rkTH6r+HbbVG2rROqNtWiYrbao21aJittqjbVttW21bbVtprbatMTW21Ttq0xNbbVp2rbap21ai5nyT6Pybak2+z+fnbaLttW21bbVttU7attNbbVpia22qev5D2by+z0Dafzn6zbashci+afI/qT5q/L/2thtvA+q22jttW2mttq7363+Dvt7738tc8te/kP9n+d/q3vyZ1frPvyY1frPvyY1frPvyY1frRvyX1frRvyX1frRvyX1frRvyX1frTH5L6v1psPza/RGu4253PXotzdr0c/lvzj9jfLn5v+u8rtvkfvttq0ToRpiG21OPuL4V+pPr/AIH1Hj+x/MT9D/J/0G35Mav1m35M6v1m35M6v1mj8mor9Zt+TOr9Zd+TUV+s2/JnV+s0fk1q/WXfk1q/WRX5d/oHXuWnVG2rRMV5f8u/c/xB+ffq7fbfJfe7bC22FomK22NGmCu21Rtq0TFbbUT7a+Y/q3738u22+x/Po21aJittqjbVomK22qNtWidUbatExW21bbVttWmJrbatO1baa22rTE1ttU7atMc1ql343z1X9t87p29/zNtqnbVttW21bbVtprbatO1baa22rTE0v6X8S95+N9/Tt8v7O21Ttq1DfTnp8gcX93eAfA/qniGmPkfvttq07VttW+lvmr0f2fnfq382/wBJPl79X/C/gbbVttW21bbVttW21bbVtr2qP609q9/poZj5zw+hb8vt899R3Xxz9efMH6Z+bfTnZ/nd9K9PLX+P/enlf5D+y/L2fMvhv0yNsG22rROhHq3lL7r8/wC6Pkf6x5D9m/nn8mdsRttW21bbVGmK22qNtW2JQ/Z/Zfsiua6mYrbatExW21R8rfVPkfg/UfNO2/L/ANs22rbZbbao21aJhhttDRMVttUbEh9G+vVln+w/z/tt2+dCVfGNfZ0fJv1jU7ao0xW21Rtq0TFbbVG2rRMVttW21bbVpia22qdtWmJrbatO1baa0MPF/T4+q8sTvu/mttuzCdtWmJrbattq22rbatMTW21Ttq0xNbbVpyhexehMX/5j9jttyb6Ymttq07VttXnPzL9w0vzX2PxLu84T87/XNtsOnTtWODEfc9Tx/qn7J/PP40D9k8b6+Dbattq22rbattq2X9g141+h/UyCblKTnPF99Y53je7GnRf81bdl9P8AL/C2nftf5L6Z9b/n3ceD6v3L8ue5em/lX6f8Ib2nxb8u/Z9E7j9GNtW20Pq70f5q+lf1j8K/LHzH7S+Lfa+d22rbattq0TqjbVon3OvNf0I9G6KtExW21Rtq0TqjbVqyzhX+EEd9wP41/Q+22HVtsLbYWiYrbYiNsRomK22qO/4D6O9fwPYomP1f8M22qPyk/Qv8v63uXhur9bOj/Jb78r22JittqjbVomK22rRMVttUbattq22rTE1ttU7atMTW21TsOBOR5Tzf6nxnrHb6/wALbZhtprbatO1bbVttW21bbVO2rbTW21aYmttqnq+U9h8zs9FmJ/OPrNtq07VtprbatMTW21I8G993B6fwan61+YvzX9jqNt5H0G21ep/UXwt9xfoX5N8pfDH60/kv9d8FG2rbattq22rdJ6P+hdea+5aajkuu+bfJ931FPyZvjP0P6yT8n9Vpl9hENv0P8mEScR8KcV9H/OH6f8LrXr/p/n3531vw33b5L6KPMvTo+d9z4arvtj5e/N/1/iInfPfWxtqtft74M+uftPzlp+VX7Ofk/wDfflvB7attq22rbasfqv0Nrxv68XqjbVonVG2rRMVttUbatE6vF/nT7X+Kfzn9ejbfL/bbbC22FomK22NG2K6J1RtqV9sfMP1n95+YbbfZfnkbaviv5C7nhq22rKTq+t/s/wDHn1Kv083D9xWiYrbao21aJittqjbVttW21Ttq0xNbbVpia23D9GXR+KU7b7f5zbb2vP22NttWmJrbap21bbVttW21baa22rTE1ttU7atMTSvpXxH33473tO3y3tbbVO2rTE1ttU7attNbbVqq1lH+TvPPvLw74T9Q+fsQfxv6Fvqz5T9e935f6Y/LX9Svjj9T/EvirbVttW26yuY+zfZv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kGvizbVomK22qNtW21bbVttW21bbVttW21bbVttW21bbVttW21bbVttXo/6C/lm/r9f98wfT9Ttq0xNJ8x9Q3Xh8vJ9+8V+6+aq5ifV49tq22rbattq0xNaY1Ttq0xNesenU9x+Z/XztuHp1TbcRy9fIbb5f7PbatMTW21S6a4r6Ze+L9l7Xz138kfaG+q+W/OTfSXzj998kPbdvNO2FrGu9l5d/rOtufMPzv7TyXbfpvyG6PnJyf6q+WfpEf4p+o/Pv5+fQfhHp+Gz1iQ1V11WWv0Q358fZno8j36do7/px5by1388flH7CRKZ+K/R/t668X8q/Y/58+vWvxrvQ8rvUcJvqPG7u58r91RvTPnv6X5X4L7b4T+c7tl6/gsdZFqo9s8uLX6bec/Gv3x7PAw9vqF82/m7Hb88/RNtg221bbVExq7LtPGbj1vE9M+dvoB59R8r+co/tj5F+/wDkaHbepwbbCjZ4D9bestWv5f8Ad+Hc9t+lfJaJjVPo258x9O/M/r423D07yr1Vhyd/w5jB/HP6E22U6Jit13I+++r4nuW2/W/wbRMVvy9/Qz8pK22rRMVttUbattq22rbattq22rbattq22rbattq22rbattq22rbattq30F8+6v10u/yf/QKvXpia22qWjvEeJcT9R+f/AFvh+OYwfq/E22NttW21aYmttqnbVug5/wBW8/q9R235r9dO2reUei+V+L7+23j+/ttWmJrbap2JAfTXfUex4Ii7ez4G869FnbP4AoP0I+S/uvlfLNt73k77A+Sf0I+Y9x789e5/NHJ27bfY+DpiY+welfP30D+ffTztvE9HTGqdoqaik4nyfa73iXPJ+x5fv/jvz/8AX3Rj8cg+yPlv8f8A3O+8nuvWPo/kPz60b7P87zrrv0Trxz64B55ydl48847Tz/U5v1r4b7r9C+C+qc1dfM+5omAdtqjie28o831azbfO/U7bVttW2ittqz+2730/IY2e3vfNxU221y+NfLP0b+f/ALD5z5kxg/U+BHrfkn1t5Xoezebek+A/KfR8ttvv/mI21dH9B/LP0n8f7tltvlfb0TFfKfnX0j83flP7ntt4v0OiYrfZny99i/c/mkbb7f8ANtExXyL8Uep+WVttWiYrbao21bbVttW21bbVttW21bbVttW21bbVttW21bbVttW21bbVttWKLV9l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Z1eUq9UivL1enavM1+kavOVeiavPld9q4NfcxXEr7PVxyuu1cmvqYrmVdJq56eg1bbVttU7atMTW21Ttq0xNbbVO2rTGqdtWmJrbap21aYmttq0xNbbVO2rTE1ttUpma8P8AAvu3ifkfvvkTXtF8F+o6YlNdthaYkW+gvn3tfV8P6+/Pv9BPn39b/B/zo21bbVpjVO2rTGqdtW21bb6Sryn9Ee5tanRNYJuax25n0HyFz4P0nsHmXYXv03yv590n6CfJH33yHmW297yttq22rbattq22rbatt2OT/YfTE4/8w+63YeHe49mG23k93D/L32xXfO/WfDe9M8z/ADn9e225+zbatExW67kdrh96eE+q237P/Ov4363qNMttq22rbattq22rbatt3lcf9v8ArvptRO1Rtq0TFbbVo2rbao21aJittq0bVtorbatExW21Rtq0TFbbVo2rbao21aJittq22rbattqnbVpia22qdE1pjVO2rTE1ttU7atMap21aYmttqnbVoZ+e8fd6hmT3q450Sy7bwjqw943K9VhppjI87aq/5q+pd5XufB2+ivnz82/Yg7bzvW0xhTMavtl15T7L+w/z9+O9f9B/Pnf5m21bbVOia22rTGqbDtv0Pryb6fjVO2rbap849C8g8n2h7bwfpJ7Djttz+zx5j6J9F8v4F83fo1559p8p8SboOf8As/mttmXbattq22rbat9GfOf3P4Hrdv4x7L8zeJ7APpz5b929Hk7PbfF/Q7bVHi3tO4/Q+EQ/Yfy9+bfsXO7R4n0m21baK+h/bfkT67/Tvxb89PnD9Evzt+i+S22rbattq22rbatrD7qrxX7xtdUbatExW2os9LzeZ+mY77bdXJGyKXHzd9C9vM823F06Nq22qNtWiYrbatG1baK22rRMVttUbatExW21aNq22rbattq22qdE1ttU7atMTW21Ttq0xqnbVpia22qdtWmNU7DETnqPl/I904NvG97ueu8x9O+i+W0xu/zZ8q9VbdGP5+fUfy4y/Q/j/wBGt8kfVHwn1VhtvP7NMap4/sNjv8Yc79yfN/59+seV7b5f7XTEi7/6z+Eftz778t+fvz6/X78ifsvz1vtq22rbap0W1VX1D7T9IUwsI1Ttq22qdE1z/m/Tcz8x9bttxejOjVJwYj0joPF+t9r5/pvkz7FV9V8r+cW+n/mb775IO27eXbattq22rpPvn5h+nvhPq+X+fvSvNff4N6B5+99Hk+nMhX5d9nMbVttWYvoVvmDyr708f+H/AEv5rzlr8V+j7bBlfbfxF9I/VfDen/kN+xn5x/o35F4Ftq22rbattq3ovrX3RXF+h7Vo2rbaoSz884+655HR899PvV/KO27OHsImPofmNtq+V/Ovp342+++S+4+1/O76X8X0/edt837WiYrbatG1baK22rRMVttUbattFbbVomK22qNtW21bbVttW21aYmttqnRNbbVO2rTE1ttU7atMap21aYmtty+W1v56xH8/9NpjcXoTtqV655D33p+R1O29/wCanRNfIfkX1t8k/ovxu6Xmt6nD9v8AefnT9JfGfSfQmSr5n3NMTW21eQfO33Ry3yn3Hxvuo5f8/wD1afpf5n9L9Xwvqj81/wBKPln9W/Dvg3bVttW0/V1eQfof17yp0TW21aY1TtqyVUeennYI3yH3M6JB22rbattqtvRPJTd3nex8Hf3n0/yXwRzP6GfKX3fyfkGjfQePttW2ulP2D6Gih/L/ALzwyq2/T/j9tnHvvV+Pew/m31m23mdmjattq20Vyvy79mNfB+n+Fd675F+b/sG9D88Kun3d8y/RTD9m/nb8hcYLLttW29QrhPvP1Tuq22rbRW2GInN0nL+P7pg7eN72jaOtqnMnsuaO/rvh9tDAP5/foP8AJX0vi+ORMfbfM+p/V35/Xnger9+R5t6T8T9Ptox022rRMVttUbattFbbVomK22qNtWiYrbattq22rbattq22qdtWmJrbap21aY1Ttq0xNbbVO2rBr/PuD0bXndvA+m22z122qdE1r6hXpl7Jgm+t+J0xiK/8/v0S+NfqPC8w232nzW21emfWfwBceF6n6B7y31L4b6mdtjrttTb50+ld5nsfBrn6S+cPzb9h+3KPlvUP1H8U/GpHr3kPXw679A/QyvMPoHap0TW21To1Ttq22qeC7zyLy/Xa7b5/6fbattqnRqnQaAuouum9rwBk29nwdtjeFfL/AOivFfSeJ8LbrOS+2+Yn3Lwz7O8j0fUfKPVvnP5v3qPbfe/NbbVZfSvyx9CfJ+10kbfH+9ttW2ittq22reT+r7l7fhhn9n/L35v+we2+r/Lf1J9r+c/mj4r92fCfu/Mabr78rxb7ed6tG1bbVo3K5bXHnbJHz308bbj79tFbbVomK7vq/NPS/o/lNG3f528j9cZdGP55501/UfhdtjK+gfnzcm/6JE+Jfrb4X6rpNt5XfG2rbRW21aJittqjbVomK22rRMVttW21bbVttW21bbVOia0xqnbVpia22qdE1ttU7NgXPI0lL4n0Ck7eT7W20dtq22rTGqdtXofSedei/S/JbbdvBPh3uFN18/wBlJ/Ufhdtq0xqn3zwPcu/6JuPhr65+E+q6zbeR6OmNU830mz18Q9wTPN2fJXNfa5O3zgOI1Ttq22qdE1ttWmNU6Jqo8u6/kPnPq9tvO9OdGqdtW26vXCo9FeL+i+X227eDbattq22pl8r/Wu9Dj/PP9BeP7fr56X5x9Z8m+h87aN9B5kxtW9P8wueHo+j9o/MfsJjattq20VMbVttWbnwPz5705jz/V5T88P06R6Pk8j2O1baK22rArvPOD0rXntvA+l0bZ67bVo2rbao21K9c8h9A9Px+l23v/N6Jivj3yn6u+Uf0X47bb1eDbas/YYH619g/Or2n5L3/qzMnvynv6JgHbao21baK22rRMVttUbattq22rbattq22rbatMTW21aYmttqnbVpjVOTxmHRdcA23z30+23L2ztq22rbattq22qdE0X17xz0j1fFv9t7vzumNXxT579N/Mn6V8Vtt6XFttWmNUvWWB+r/bPzk9h+T9/661fYfI/Q6YwM7atMap21bbVOia22rTGqdtW2rFfzljG+Q+5nRKtttWPYeid3m1fQ7fQ/MTo2mU6NU6NU6NU6NUxtW2rGXw7m5j9V+M221TbRU6NX0ZeeXeo/mX1+23B07Rq22rbRUxtW21aNq22rbRW2agueOpaTxPoFJ28n29tFbbVomK22rRtW21a/58mmXsWGT634iNsaq+AP0U+L/qPC83232Xzm21bbVo2rqvrb4fN5Pf8AofvBPevhfqpiY5d9tq0bVttUbatExW21bbVttW21bbVttW21bbVO2rTGqdtU6JrMqrg/N9WwqtvB+k0xledtWmJrbattq22rbatMap6fmHG2Hr0pn6z4qdtXN/Bf6MfDf1vz/F7b6/53battqnRNbbV0n1z8RF8rv/RbfPP0J8H9WvRuTonbVpjVO2rbap0ap21bbVPF9n5X53qVm2+e+q2zggHX3V97Xz0at+ZpvZPSfg/7e4PUstt9N8bttW21bbVttW21bzf0jwH2/O5XRv0H5iY2rbattq6H6H+V/pP4/wB21jb5P29tq20VttW21aNq22rbRWyeJw6brz9vHz30+23L2baK22rbRW21baK22rRMVttXovQefeg/TfI7bdnDvCPdqDs5vgfTH6d8RttW2ittq0TFb1Dy/Yaff1v8CfWHxH1Hpe0eH6m21aJittq0bVttW21bbVttW21bbVttW21aYmttqnatVn3D1Fd4X0c7bzPX0xNbbVOia22qdtW21bbVttW21TomvTLrhe6+o+PnRPVx750+i+N7+T4Z236b8RttW21bbVOia22qfSfNZx0+/b38+/q/4f6j1WY3g+tO2rbap0TW21aY1TommPkvc8N899RtPZcndTeiOY+h+XXwfB+DfNfZW9Lt8F+pb6a+ZfTPX8D6o236t+GbbVttW21bbVttTL5n9l8X+4+d22+k8nbattq22reu+RdR5nX7/tH5t9bMbVttW21aNq22rbRWY1PBeb61hVaPB+j22V9tFTG1bbVo2rbao21bbVG2rbRR/XfG/SvW8S8iY9z57baviLhfpP5s/Sfi9tvR49G1bbVG2rbaspOr6A+j/wA8O5+a9r7b3NdL8b9Jo2RttFbbVttW21bbVttW21bbVttW21bbVOBwfN13fDj3z3087bn6p0TW21Ttq0xqnbVpjVO2rbattq22rbanvrXjHqXseFa7b2vAnbV8Hcx9AfP/AOnfD7bd3LttW21bbVOia22qdE17z9M/nb2nzXtfc08j1vxf0s6JR9tqnRqnbVtmoPnLKz9B8H6Wuu4899Tx+r+Y+Vqvz39Z22+c+v22rOW2K/dLvy/0/wDZP55nRuvhnRqnRqnRqnQ3I8S40ov1P4zbboz22rbatthZScL6Yfee+hfmH2O23JvtGrbattq0asR3/CVFf4X0e2jzfW22rbRUxtW21aNq22rRtW21aNq22rRtW6rlXW3P63tvrPi9tFcp8Kfot8LfW/P8lEx9b8/ttWiYrbattq22rban31H8nbz+v9E98o/UHwn1T6Jjg69tq22rbattq22rbattq22rbRU1NNxnley7ZxPh/Q7bBp21aY1Ttq0xqnbVOia22qdE1ttW21bbVttW7LjbHo5fVtt9V8bpjVwPxN+i3wJ9j85Sbb6vwNtq22rbattqnRNbbVpjU9+n/lTcHV+jW+Q/qv4P6yy0bzuydtW21SA2ByKf5h8b6DuvD0782/YdtuL0tto7bVttXq3078Nfb/6H+TG231vwe21bbVttWrrHMvnO9G3o8vnO9GivOt6Lq863ourzrei6vOt6Lq5Tq43D0TG2Wm21baKmAcBy9d3w6N899RtGw6dtq20VMbVttWjattq0bVttWjattq0bVttW21enW/Edv9R8do26uTfN30jw3ocfxDtv0r4vbRW21bbVttW21bbVttW6fmNm3232/wCef0h8b9J75on5v2ttq22rbattq22rbattR56WXAVrbwfpdtvP9PTGqdtWmNU7ap0TW21TomttqnbVpjVO2rbattq22rbavV7Djuw+q+MnbdHNvlr6l8z9Th+NNt+kfF7bVttW21bbVttU6NU7atMap6LnJRvtr0D86fo3436T6Jka/mPcnRNbbV5J83/dfIfKfc/Hu6Pm/wA+/VZ0TntttW21bbVvq75R9h9/5b6R/P8A/QD40/UfxTwPeXavUd5dq9R3l2r1HeXavUd5dq9R3l2r1HeXavUd5dq9R3lz+vQvoy4+oqSrattFTGipp6XjPJ9p0028T6DRsG22rbRW21bbVo2rbato1bbVomK22rbRW21bbVttT71bxv1L2PBstt7Xg6Nq+Cue948H/TviNG3ZzbbVttW21bbVttW21bbC22F6Z9W/A1z4fqffO8z9M+J+n22x122rbattqyWfn3H3XPI7fP8A0+22O+21bbVOia22qdE1ttU7atMap21aY1Ttq0xNbbVttW21bbVbeoeM+t+18+80T7Hh4JtD8+q32Txr9S+FnbdWG21bbVttW21bbVpjVO2rbap0avSPrX4DtfD9T9Bd5R6v8N9TpjYazo1NPm/6c3l+18G76U+dfzb9ia7bzPY22qdGqbaozZ/eHnL/ALn9n/nj8aN3PDb8221bbVttW21bbVttW2+mq8n/AEO7axrbRUxtW2oc9LPz6tb+B9LtG4PT22rbato1bbVttWjattq2jVttW2ittq20VttW21bbVttW7PjLPp5PUdo+p+O22rzn4v8A0S+A/sfnKjbfU+FttW21bbVttW21bbC22FttW21T734HuXf9DDfEn1p8N9T0+28r0Ntq3O0nMeN7pg7eN7220dtq22rbattqnbVpjVO2rTE1ttWmJrbap0TW21Tomttq22rbat3fCXXVxembb6j5CdE15L8g/oZ+f32vzLSY30/hztq22rbattq22rbattqnRNbbVttU+7+D7l3/AESc/C/1z8J9V1+28j0dtqnluo2W3xvy33R86/n/AOreQ7b5X7jbattq9s+hviv7T/R/yD4j+Rf07/MT6j4rbattq22rbattq1p3H6G15T9KRq22rbashn55x91zyUb576fbbLfbattFTG1bbVtorbattq0bVttW2ittq20VttW21bbVttW21bbV6s95PrPq/i9tG/PvlT6r8s9Tg+PNt+jfHbbVttW21bbVttW2y221bbVttW21Z6ywP1d7J+dvsXynv/WGYP8A5X3vG9t8X99ttW21bbVttW21bbVpia22rTE1ttU6Jrbap0TW21TomttqnbVttW21aY1evOOY6f6z4rbbbCfj77A8Y9jzvk/bfonx+mNCdtW21bbVttW21bbVttWmNU6Jrbas7aYX1T7l+cnrnyf0H1/qyy+R+hnbA7bV5V83/cvOfL/a/GG6/kPz79Y22y332J8d+7fR/H+9fkp+tvwh+l/jfyxtq22rbattc1TfVPtH0LTN5tW21bQMReao+Z8f3jB28b3dto7aKmNq22rbatG1bbVtoqY2rbatG1bbVtorbattq22rbattq22rRtVx6Z45617fzzmNvX8TNnOh+e7H13yL9R+G226cdtq22rbatthbbC22rbattq22rbattqKRthfV22/nb9822rbattq22rbattq22qdE1ttU7attqnbVpjVO2rTGqdtWmNU7attq22q/9G8d9e935wuifV8bVlniPztF6V5p+p/CTtujLTGhOia22rbattq22rbattq22rbap0ap21dD9b/E5PK7/wBFt86fRHwf1S9tydM6NQfnv6K3net8Hb6l+avzb9ir+p5bef633l4l6Re/s387fjjruk0y22rZX1rXj36F9Y4qdGqY2rbcnjtc+eMkfP8A0+23H37aKmNq22rbato1bbVttW0attq22rRtW21baK22rbattq22rbattq0bVttW7zgr3r4vR9t9P8ho2rx/5K/Qb4A+1+ZBtvpfF22rbatthbbC22rbattq22rbattq22rbavq7bfzr++bbVttW21bbVttW21bbVpjVO2rTGqdtWmNU7atMap21aY1Ttq0xqnbVttW9E876Tt8/0HbfS/JzomvCvlz76+B/uflkzG+i8idtDbYidGqdtW21bbVttW21bbVttW21bbVpjVPonnWx0+++g/Pj6u+I+n9Z23gevttWob7Z6fIfFfdngXwf6lY+4/If157vy/5//NX6LfnT9H8jr/0P9B680932rbattqzeu894PStKCN4H0sxtnrttW21bbVtGrbattq20VMbVttW2ipjattq2jVttW21bbVttW21bbVo2rbattFZaND14vO9F9b8Vttrjvjr7F8R9nzfljbfoPyO21bbVtsLbYW21bbVttW21bbVttW21bbV9Xbb+df3zbattq22rbattq22rbattq0xqnbVpia22qdE1ttWmNU7atMap21aY1Ttqxg4j2NVHefW/EbbaZz8SfbXz77nl/NW2+++T0xqnRJG2xtMaE6Jrbattq22rbattq22rbattq22rbavdfpz87ux+b9n7p3H9h8X9NMbZvOjV553Dvc3Yw+R/sfdPGI0apjats0UuuOpKbxfoVJ28n2ttq22raNUxtW21bbVtoqY2rbattq0bVttW2ipjattq22rbattq22rbatG1bbVtorbattFdF6F5B657vzi9o9XxtT3GZfzuR6F57+pfC7bbZ7bC22FttW21bbVttW21bbVttW21bbV9Xbb+df3zbattq22rbattq22rbattq22qdE1ttU6Jrbap0TW21Tomttq0xqnbVpjVO2rqO88k9a9/5lWifT8nct1OdPzo3X8h+p/CbbaLttU6MadtDbYidGqdtW21bbVttW21bbVttW21bbVttTr6c+WdwdX6Nb4++s/g/rH2287s22rbattq2RxHP03fAN4+f+nnRuXsnRqmNq22rbattq2jVMbVttW21bRq22rbattFbbVttW21bbVttW21bbVo2rbattFbbVtorbat6N5z03b5/e7b6X5PbavBfmX7w+D/ALr5bbb3/I22FttW21bbVttW21bbVttW21bbVttX/9oACAEBAAEFAv5qyk5dz9xaEyIvLZVndf74dn3692de17xZbvD/ADV/dx2FlcTyXU/+/bbdzvtouvC3jux3z+fur2O3cs0kyv8Af5BJzYfueNbPkbn/AL4re4ntJti8XQXv819Zu5e6bF/v44Pwt9Ys9m7e4gu4f5okAXW5V/36e4Xb/R92/wBH3b/R92/0ddv9HXT/AEdd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', framework: 'panel', + conda_env: 'env-1', + profile: 'small1', + filepath: '/shared/users/panel_basic.py', + env: null, public: true, }, }, @@ -130,7 +115,10 @@ export const serverApps = { 'Lorem ipsum dolor sit amet consectetur. Sit vestibulum facilisis auctor pulvinar ac. Bras.', thumbnail: 'https://designsystem.digital.gov/img/introducing-uswds-2-0/built-to-grow--alt.jpg', - framework: 'Streamlit', + framework: 'streamlit', + conda_env: 'env-2', + profile: 'small0', + env: { key: 'value' }, public: false, }, }, @@ -145,7 +133,10 @@ export const serverApps = { description: 'Lorem ipsum dolor sit amet consectetur. Sit vestibulum facilisis auctor pulvinar ac. Dras.', thumbnail: null, - framework: 'JupyterLab', + framework: 'jupyterlab', + conda_env: 'env-1', + profile: 'small0', + env: null, public: false, }, }, @@ -159,7 +150,10 @@ export const serverApps = { display_name: 'Test App 4', description: 'Cras.', thumbnail: null, - framework: 'Streamlit', + framework: 'streamlit', + conda_env: 'env-1', + profile: 'small0', + env: null, public: false, }, }, @@ -177,7 +171,10 @@ export const serverApps = { 'Lorem ipsum dolor sit amet consectetur. Sit vestibulum facilisis auctor pulvinar ac. Cras.', thumbnail: 'https://designsystem.digital.gov/img/introducing-uswds-2-0/built-to-grow--alt.jpg', - framework: 'Panel', + framework: 'panel', + conda_env: 'env-1', + profile: 'small0', + env: null, public: false, username: 'Test User', }, diff --git a/ui/src/index.css b/ui/src/index.css index 4a5e1944..94d71c60 100644 --- a/ui/src/index.css +++ b/ui/src/index.css @@ -2,102 +2,79 @@ @tailwind components; @tailwind utilities; -.server-types h1 { - font-size: 1.5rem; - line-height: 3rem; - font-weight: 700; - margin-top: 0; - margin-bottom: 1rem; -} +@layer components { + .container { + margin-left: auto; + margin-right: auto; + } -/* Basic link style */ -.server-types a { - color: #0645ad; /* A shade of blue for the link */ - text-decoration: none; /* Removes underline from links */ - transition: color 0.3s ease-in-out; /* Smooth color transition */ - text-decoration: underline; -} + .container:before { + content: unset; + } -/* Hover state */ -.server-types a:hover { - color: #0a58ca; /* A darker shade of blue for hover state */ -} + .row { + display: flex; + flex-direction: column; + margin: 0 0 16px 0; + } -/* Active state */ -.server-types a:active { - color: #03396c; /* An even darker shade for active/clicked state */ -} + .row.breadcrumb > button { + width: 50px; + } -/* Visited state */ -.server-types a:visited { - color: #4b2e83; /* A purple color for visited links */ -} + h1 { + font-size: 24px; + font-weight: 700; + padding: 0 0 8px 0; + } -/* Utility classes */ + p { + font-size: 16px; + } -.server-types .mb-0 { - margin-bottom: 0; -} + .form { + max-width: 600px; + } -.server-types .my-2 { - margin: 2rem 0; -} + .form-section { + margin: 16px 0; + padding: 12px 0; + } -.server-types .mr-1 { - margin-right: 1rem; -} + .form > .form-section > h2 { + font-size: 16px; + font-weight: 600; + margin: 0 0 16px 0; + } -.server-types .bt { - border-top: 1px solid #ccc; -} + .form hr { + color: #c3c3c3; + } -.server-types .br-5 { - border-radius: 5px; -} + .form > .button-section { + width: 100%; + margin: 24px 0; + } -/* Radio buttons */ -.server-types .radio-button { - display: block; - margin-bottom: 20px; - font-size: 1rem; -} -.server-types .radio-button label { - font-weight: bold; -} -.server-types .radio-button input[type='radio'] { - margin-right: 10px; - height: 1rem; - width: 1rem; -} -.server-types .radio-button .subtext { - font-size: 14px; - font-weight: normal; - margin-left: 1.6rem; -} + .form > .button-section > .prev { + float: left; + } -.server-types .button-container { - display: flex; - justify-content: space-between; - margin: 2rem 0; - padding: 2rem 0; -} + .form > .button-section > .next { + float: right; + } -.server-types .center { - margin: 0 auto; - text-align: center; -} -@layer components { - .container { - margin-left: auto; - margin-right: auto; + .form-label { + color: theme('colors.black') !important; } - .container:before { - content: unset; + .paragraph { + max-width: 600px; } - .form { - min-width: 400px; + .paragraph-link { + color: #276be9; + text-decoration: underline; } .form .btn { @@ -121,6 +98,23 @@ position: relative; } + .server-type-card { + margin: 8px 0; + cursor: pointer; + } + + .server-type-card:hover { + background: theme('colors.gray-lightest'); + } + + .server-type-card:focus { + outline: 2px solid theme('colors.primary'); + } + + .server-type-card p { + font-size: 14px; + } + .btn { padding: 0.4rem 1rem 0.4rem 1rem; } @@ -488,7 +482,7 @@ flex-direction: column; width: 100%; height: 100%; - background-color: #d6e1f1; + background-color: #90969c; } .thumbnail-body.dragging { @@ -511,8 +505,9 @@ } .thumbnail-icon { - width: 50px; - color: #849cbf; + width: 64px !important; + height: 64px !important; + color: theme('colors.white'); } .thumbnail-actions { diff --git a/ui/src/main.tsx b/ui/src/main.tsx index eb20c686..dda64bf1 100644 --- a/ui/src/main.tsx +++ b/ui/src/main.tsx @@ -1,4 +1,5 @@ import { CssBaseline, ThemeProvider } from '@mui/material'; +import { API_BASE_URL, APP_BASE_URL } from '@src/utils/constants.ts'; import React from 'react'; import ReactDOM from 'react-dom/client'; import { BrowserRouter } from 'react-router-dom'; @@ -7,9 +8,14 @@ import { App } from './App.tsx'; import './index.css'; import { theme } from './theme/theme.tsx'; +const currentUrl = new URL(window.location.href); ReactDOM.createRoot(document.getElementById('root')!).render( - + diff --git a/ui/src/pages/create-app/create-app.test.tsx b/ui/src/pages/create-app/create-app.test.tsx new file mode 100644 index 00000000..db3ca72a --- /dev/null +++ b/ui/src/pages/create-app/create-app.test.tsx @@ -0,0 +1,53 @@ +import axios from '@src/utils/axios'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import '@testing-library/jest-dom'; +import { act, render } from '@testing-library/react'; +import MockAdapter from 'axios-mock-adapter'; +import { BrowserRouter } from 'react-router-dom'; +import { RecoilRoot } from 'recoil'; +import { CreateApp } from './create-app'; + +describe('CreateApp', () => { + const queryClient = new QueryClient(); + const mock = new MockAdapter(axios); + beforeAll(() => { + mock.reset(); + }); + + const componentWrapper = ( + + + + + + + + ); + + test('should render successfully', async () => { + const { baseElement } = render(componentWrapper); + await act(async () => { + expect(baseElement).toBeTruthy(); + expect(baseElement.querySelector('h1')?.textContent).toEqual( + 'Create a new app', + ); + }); + }); + + test('clicks back to home', async () => { + const { baseElement } = render( + + + + + + + , + ); + const btn = baseElement.querySelector('#back-btn') as HTMLButtonElement; + await act(async () => { + btn.click(); + }); + expect(window.location.pathname).toBe('/'); + }); +}); diff --git a/ui/src/pages/create-app/create-app.tsx b/ui/src/pages/create-app/create-app.tsx new file mode 100644 index 00000000..5649574d --- /dev/null +++ b/ui/src/pages/create-app/create-app.tsx @@ -0,0 +1,43 @@ +import ArrowBackIcon from '@mui/icons-material/ArrowBack'; +import { Button } from '@mui/material'; +import { AppForm } from '@src/components'; +import { APP_BASE_URL } from '@src/utils/constants'; +import React from 'react'; + +export const CreateApp = (): React.ReactElement => { + return ( +
+
+ +
+
+

Create a new app

+

+ Begin your project by entering the details below. For more information + about creating an app,{' '} + + visit our docs + + . +

+
+
+ +
+
+ ); +}; diff --git a/ui/src/pages/edit-app/edit-app.test.tsx b/ui/src/pages/edit-app/edit-app.test.tsx new file mode 100644 index 00000000..30d6f0c9 --- /dev/null +++ b/ui/src/pages/edit-app/edit-app.test.tsx @@ -0,0 +1,68 @@ +import axios from '@src/utils/axios'; +import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; +import '@testing-library/jest-dom'; +import { act, render } from '@testing-library/react'; +import MockAdapter from 'axios-mock-adapter'; +import { BrowserRouter } from 'react-router-dom'; +import { RecoilRoot } from 'recoil'; +import { EditApp } from './edit-app'; + +describe('EditApp', () => { + const queryClient = new QueryClient(); + const mock = new MockAdapter(axios); + beforeAll(() => { + mock.reset(); + }); + + const componentWrapper = ( + + + + + + + + ); + + test('should render successfully', async () => { + const { baseElement } = render(componentWrapper); + await act(async () => { + expect(baseElement).toBeTruthy(); + expect(baseElement.querySelector('h1')?.textContent).toEqual('Edit app'); + }); + }); + + test('simulates editing an app', async () => { + const mockSearchParamsGet = jest.spyOn(URLSearchParams.prototype, 'get'); + mockSearchParamsGet.mockReturnValue('app-1'); + + render( + + + + + + + , + ); + + expect(mockSearchParamsGet).toHaveBeenCalledWith('id'); + }); + + test('clicks back to home', async () => { + const { baseElement } = render( + + + + + + + , + ); + const btn = baseElement.querySelector('#back-btn') as HTMLButtonElement; + await act(async () => { + btn.click(); + }); + expect(window.location.pathname).toBe('/'); + }); +}); diff --git a/ui/src/pages/edit-app/edit-app.tsx b/ui/src/pages/edit-app/edit-app.tsx new file mode 100644 index 00000000..677b86cf --- /dev/null +++ b/ui/src/pages/edit-app/edit-app.tsx @@ -0,0 +1,44 @@ +import ArrowBackIcon from '@mui/icons-material/ArrowBack'; +import { Button } from '@mui/material'; +import { AppForm } from '@src/components'; +import { APP_BASE_URL } from '@src/utils/constants'; +import React from 'react'; +import { useSearchParams } from 'react-router-dom'; + +export const EditApp = (): React.ReactElement => { + const [searchParams] = useSearchParams(); + const id = searchParams.get('id'); + + return ( +
+
+ +
+
+

Edit app

+

+ Edit your app details here. For more information on editing your app,{' '} + + visit our docs + + . +

+
+
{id ? : <>No app found.}
+
+ ); +}; diff --git a/ui/src/pages/home/app-card/app-card.test.tsx b/ui/src/pages/home/app-card/app-card.test.tsx index 22fc91fb..ffce6c11 100644 --- a/ui/src/pages/home/app-card/app-card.test.tsx +++ b/ui/src/pages/home/app-card/app-card.test.tsx @@ -179,6 +179,9 @@ describe('AppCard', () => { }); test('simulates editing an app', async () => { + Object.defineProperty(window, 'location', { + value: { href: jest.fn() }, + }); mock.onGet(new RegExp('/frameworks')).reply(200, frameworks); mock.onGet(new RegExp('/conda-environments')).reply(200, environments); mock.onGet(new RegExp('/spawner-profiles')).reply(200, profiles); @@ -215,28 +218,8 @@ describe('AppCard', () => { await act(async () => { btn.click(); }); - - const cancelBtn = baseElement.querySelector( - '#cancel-btn', - ) as HTMLButtonElement; - await act(async () => { - cancelBtn.click(); - }); - - await act(async () => { - menu.click(); - }); - - await act(async () => { - btn.click(); - }); - - const submitBtn = baseElement.querySelector( - '#submit-btn', - ) as HTMLButtonElement; - await act(async () => { - submitBtn.click(); - }); + // TODO: Update this test when everything is running in single react app + expect(window.location.pathname).not.toBe('/edit-app/app-1'); }); test('simulates editing an app with an error', async () => { @@ -272,13 +255,8 @@ describe('AppCard', () => { await act(async () => { btn.click(); }); - - const submitBtn = baseElement.querySelector( - '#submit-btn', - ) as HTMLButtonElement; - await act(async () => { - submitBtn.click(); - }); + // TODO: Update this test when everything is running in single react app + expect(window.location.pathname).not.toBe('/edit-app/app-1'); }); test('simulates deleting an app', async () => { diff --git a/ui/src/pages/home/app-card/app-card.tsx b/ui/src/pages/home/app-card/app-card.tsx index 1631f139..cc65495f 100644 --- a/ui/src/pages/home/app-card/app-card.tsx +++ b/ui/src/pages/home/app-card/app-card.tsx @@ -1,17 +1,18 @@ import { Button } from '@mui/material'; import { AppQueryDeleteProps, AppQueryPostProps } from '@src/types/api'; import axios from '@src/utils/axios'; +import { API_BASE_URL } from '@src/utils/constants'; import { useMutation, useQueryClient } from '@tanstack/react-query'; import React, { useState } from 'react'; import { useRecoilState } from 'recoil'; import { ButtonGroup } from '../../../components'; +import AppForm from '../../../components/app-form/app-form'; import ContextMenu, { ContextMenuItem, } from '../../../components/context-menu/context-menu'; import Modal from '../../../components/modal/modal'; import Tag from '../../../components/tag/tag'; import { currentNotification } from '../../../store'; -import AppForm from '../app-form/app-form'; interface AppCardProps { id: string; @@ -147,7 +148,8 @@ export const AppCard = ({ { id: 'edit', title: 'Edit', - onClick: () => setIsEditOpen(true), + onClick: () => + (window.location.href = `${API_BASE_URL}/edit-app?id=${id}`), visible: true, disabled: isShared || id === '', }, @@ -272,13 +274,7 @@ export const AppCard = ({ setIsEditOpen(false)} - onSubmit={() => setIsEditOpen(false)} - /> - } + body={} /> )} diff --git a/ui/src/pages/home/app-form/app-form.tsx b/ui/src/pages/home/app-form/app-form.tsx deleted file mode 100644 index a07de93a..00000000 --- a/ui/src/pages/home/app-form/app-form.tsx +++ /dev/null @@ -1,513 +0,0 @@ -import { Button } from '@mui/material'; -import { - AppFrameworkProps, - AppProfileProps, - AppQueryGetProps, - AppQueryUpdateProps, -} from '@src/types/api'; -import { AppFormInput } from '@src/types/form'; -import axios from '@src/utils/axios'; -import { REQUIRED_FORM_FIELDS_RULES } from '@src/utils/constants'; -import { getJhData } from '@src/utils/jupyterhub'; -import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'; -import { useEffect, useState } from 'react'; -import { Controller, SubmitHandler, useForm } from 'react-hook-form'; -import { useRecoilState } from 'recoil'; -import { - ButtonGroup, - ErrorMessages, - FormGroup, - Label, - Select, - TextArea, - TextInput, - Thumbnail, - Toggle, -} from '../../../components'; -import { currentNotification } from '../../../store'; - -export interface AppFormProps { - id?: string; - onCancel?: () => void; - onSubmit?: () => void; -} - -export const AppForm = ({ - id, - onCancel, - onSubmit, -}: AppFormProps): React.ReactElement => { - const queryClient = useQueryClient(); - const [submitting, setSubmitting] = useState(false); - const [, setNotification] = useRecoilState( - currentNotification, - ); - const [name, setName] = useState(''); - const [currentFile, setCurrentFile] = useState(); - const [currentImage, setCurrentImage] = useState(); - const [isPublic, setIsPublic] = useState(false); - // Get the app data if we're editing an existing app - const { data: formData, error: formError } = useQuery< - AppQueryGetProps, - { message: string } - >({ - queryKey: ['app-form', id], - queryFn: () => - axios.get(`/server/${id}`).then((response) => { - return response.data; - }), - enabled: !!id, - }); - - const { data: frameworks, isLoading: frameworksLoading } = useQuery< - AppFrameworkProps[], - { message: string } - >({ - queryKey: ['app-frameworks'], - queryFn: () => - axios.get('/frameworks/').then((response) => { - return response.data; - }), - }); - - const { data: environments, isLoading: environmentsLoading } = useQuery< - string[], - { message: string } - >({ - queryKey: ['app-environments'], - queryFn: () => - axios.get('/conda-environments/').then((response) => { - return response.data; - }), - }); - - const { data: profiles, isLoading: profilesLoading } = useQuery< - AppProfileProps[], - { message: string } - >({ - queryKey: ['app-profiles'], - queryFn: () => - axios.get('/spawner-profiles/').then((response) => { - return response.data; - }), - }); - - const { - control, - handleSubmit, - reset, - watch, - formState: { errors }, - } = useForm({ - defaultValues: { - display_name: '', - description: '', - framework: '', - thumbnail: '', - filepath: '', - conda_env: '', - env: '', - custom_command: '', - profile: '', - is_public: false, - }, - }); - const currentFramework = watch('framework'); - - const onFormSubmit: SubmitHandler = ({ - display_name, - description, - framework, - thumbnail, - filepath, - conda_env, - env, - custom_command, - profile, - }) => { - const payload = { - servername: name || display_name, - user_options: { - jhub_app: true, - name: name || display_name, - display_name, - description: description || '', - framework, - thumbnail: thumbnail || '', - filepath: filepath || '', - conda_env: conda_env || '', - env: env ? JSON.parse(env) : null, - custom_command: custom_command || '', - profile: profile || '', - public: isPublic, - }, - }; - - setSubmitting(true); - if (id) { - updateQuery(payload, { - onSuccess: async () => { - queryClient.invalidateQueries({ queryKey: ['app-state'] }); - if (onSubmit) { - onSubmit(); - } - }, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - onError: async (error: any) => { - setSubmitting(false); - setNotification(error.message); - }, - }); - } else { - createQuery(payload, { - onSuccess: async (data) => { - const username = getJhData().user; - if (username && data?.length > 1) { - const server = data[1]; - window.location.assign(`/hub/spawn-pending/${username}/${server}`); - } - }, - // eslint-disable-next-line @typescript-eslint/no-explicit-any - onError: async (error: any) => { - setSubmitting(false); - setNotification(error.message); - }, - }); - } - }; - - const createRequest = async ({ - servername, - user_options, - }: AppQueryUpdateProps) => { - const headers = { - accept: 'application/json', - 'Content-Type': 'multipart/form-data', - }; - const formData = new FormData(); - formData.append('data', JSON.stringify({ servername, user_options })); - if (currentFile) { - formData.append('thumbnail', currentFile as Blob); - } - - const response = await axios.post('/server', formData, { headers }); - return response.data; - }; - - const updateRequest = async ({ - servername, - user_options, - }: AppQueryUpdateProps) => { - const headers = { - accept: 'application/json', - 'Content-Type': 'multipart/form-data', - }; - const formData = new FormData(); - formData.append('data', JSON.stringify({ servername, user_options })); - if (currentFile) { - formData.append('thumbnail', currentFile as Blob); - } else if (currentImage) { - formData.append('thumbnail_data_url', currentImage); - } - - const response = await axios.put(`/server/${servername}`, formData, { - headers, - }); - return response.data; - }; - - const { mutate: createQuery } = useMutation({ - mutationFn: createRequest, - retry: 1, - }); - - const { mutate: updateQuery } = useMutation({ - mutationFn: updateRequest, - retry: 1, - }); - - useEffect(() => { - if (formData?.name && formData?.user_options) { - setName(formData.name); - reset({ ...formData.user_options }); - setIsPublic(formData.user_options.public); - setCurrentImage(formData.user_options.thumbnail); - } - }, [formData?.name, formData?.user_options, reset]); - - useEffect(() => { - if (formError) { - setNotification(formError.message); - } - }, [formError, setNotification]); - - return ( -
- - - ( - - )} - /> - {errors.display_name?.message && ( - - )} - - - - ( -