diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..417bc5d --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*.pyc +*.prd +*.wvd +*.db +.idea/ +configs/config.yaml \ No newline at end of file diff --git a/README.md b/README.md index c0150a3..053e82d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,29 @@ -# CDRM-Project +## CDRM-Project + ![forthebadge](https://forthebadge.com/images/badges/uses-html.svg) ![forthebadge](https://forthebadge.com/images/badges/uses-css.svg) ![forthebadge](https://forthebadge.com/images/badges/uses-javascript.svg) ![forthebadge](https://forthebadge.com/images/badges/made-with-python.svg) + ## What is this? + + An open source web application written in python to decrypt Widevine and PlayReady protected content. + +## Prerequisites + + - [Python](https://www.python.org/downloads/) with PIP installed + + > Python 3.13 was used at the time of writing + + ## Installation + + - Open your terminal and navigate to where you'd like to store the application + - Create a new python virtual environment using `python -m venv CDRM-Project` + - Change directory into the new `CDRM-Project` folder + - Activate the virtual environment + + > Windows - change directory into the `Scripts` directory then `activate.bat` + > + > Linux - `source bin/activate` + + - Extract CDRM-Project 2.0 git contents into the newly created `CDRM-Project` folder + - Install python dependencies `pip install -r requirements.txt` + - (Optional) Place your .WVD file into `/configs/CDMs/WV` + - (Optional) Place your .PRD file into `/configs/CDMs/PR` + - Run the application `python main.py` -Self Hosted Widevine & Playready web application written in Python/JavaScript utilizing the Flask/Tailwind Framework and ReactJS library. \ No newline at end of file diff --git a/cdrm-frontend/.gitignore b/cdrm-frontend/.gitignore new file mode 100644 index 0000000..251ce6d --- /dev/null +++ b/cdrm-frontend/.gitignore @@ -0,0 +1,23 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/cdrm-frontend/README.md b/cdrm-frontend/README.md new file mode 100644 index 0000000..f768e33 --- /dev/null +++ b/cdrm-frontend/README.md @@ -0,0 +1,8 @@ +# React + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh diff --git a/cdrm-frontend/dist/assets/index-0Rv9u7Qs.css b/cdrm-frontend/dist/assets/index-0Rv9u7Qs.css new file mode 100644 index 0000000..55d123f --- /dev/null +++ b/cdrm-frontend/dist/assets/index-0Rv9u7Qs.css @@ -0,0 +1 @@ +/*! tailwindcss v4.0.0 | MIT License | https://tailwindcss.com */@layer theme{:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(.971 .013 17.38);--color-red-100:oklch(.936 .032 17.717);--color-red-200:oklch(.885 .062 18.334);--color-red-300:oklch(.808 .114 19.571);--color-red-400:oklch(.704 .191 22.216);--color-red-500:oklch(.637 .237 25.331);--color-red-600:oklch(.577 .245 27.325);--color-red-700:oklch(.505 .213 27.518);--color-red-800:oklch(.444 .177 26.899);--color-red-900:oklch(.396 .141 25.723);--color-red-950:oklch(.258 .092 26.042);--color-orange-50:oklch(.98 .016 73.684);--color-orange-100:oklch(.954 .038 75.164);--color-orange-200:oklch(.901 .076 70.697);--color-orange-300:oklch(.837 .128 66.29);--color-orange-400:oklch(.75 .183 55.934);--color-orange-500:oklch(.705 .213 47.604);--color-orange-600:oklch(.646 .222 41.116);--color-orange-700:oklch(.553 .195 38.402);--color-orange-800:oklch(.47 .157 37.304);--color-orange-900:oklch(.408 .123 38.172);--color-orange-950:oklch(.266 .079 36.259);--color-amber-50:oklch(.987 .022 95.277);--color-amber-100:oklch(.962 .059 95.617);--color-amber-200:oklch(.924 .12 95.746);--color-amber-300:oklch(.879 .169 91.605);--color-amber-400:oklch(.828 .189 84.429);--color-amber-500:oklch(.769 .188 70.08);--color-amber-600:oklch(.666 .179 58.318);--color-amber-700:oklch(.555 .163 48.998);--color-amber-800:oklch(.473 .137 46.201);--color-amber-900:oklch(.414 .112 45.904);--color-amber-950:oklch(.279 .077 45.635);--color-yellow-50:oklch(.987 .026 102.212);--color-yellow-100:oklch(.973 .071 103.193);--color-yellow-200:oklch(.945 .129 101.54);--color-yellow-300:oklch(.905 .182 98.111);--color-yellow-400:oklch(.852 .199 91.936);--color-yellow-500:oklch(.795 .184 86.047);--color-yellow-600:oklch(.681 .162 75.834);--color-yellow-700:oklch(.554 .135 66.442);--color-yellow-800:oklch(.476 .114 61.907);--color-yellow-900:oklch(.421 .095 57.708);--color-yellow-950:oklch(.286 .066 53.813);--color-lime-50:oklch(.986 .031 120.757);--color-lime-100:oklch(.967 .067 122.328);--color-lime-200:oklch(.938 .127 124.321);--color-lime-300:oklch(.897 .196 126.665);--color-lime-400:oklch(.841 .238 128.85);--color-lime-500:oklch(.768 .233 130.85);--color-lime-600:oklch(.648 .2 131.684);--color-lime-700:oklch(.532 .157 131.589);--color-lime-800:oklch(.453 .124 130.933);--color-lime-900:oklch(.405 .101 131.063);--color-lime-950:oklch(.274 .072 132.109);--color-green-50:oklch(.982 .018 155.826);--color-green-100:oklch(.962 .044 156.743);--color-green-200:oklch(.925 .084 155.995);--color-green-300:oklch(.871 .15 154.449);--color-green-400:oklch(.792 .209 151.711);--color-green-500:oklch(.723 .219 149.579);--color-green-600:oklch(.627 .194 149.214);--color-green-700:oklch(.527 .154 150.069);--color-green-800:oklch(.448 .119 151.328);--color-green-900:oklch(.393 .095 152.535);--color-green-950:oklch(.266 .065 152.934);--color-emerald-50:oklch(.979 .021 166.113);--color-emerald-100:oklch(.95 .052 163.051);--color-emerald-200:oklch(.905 .093 164.15);--color-emerald-300:oklch(.845 .143 164.978);--color-emerald-400:oklch(.765 .177 163.223);--color-emerald-500:oklch(.696 .17 162.48);--color-emerald-600:oklch(.596 .145 163.225);--color-emerald-700:oklch(.508 .118 165.612);--color-emerald-800:oklch(.432 .095 166.913);--color-emerald-900:oklch(.378 .077 168.94);--color-emerald-950:oklch(.262 .051 172.552);--color-teal-50:oklch(.984 .014 180.72);--color-teal-100:oklch(.953 .051 180.801);--color-teal-200:oklch(.91 .096 180.426);--color-teal-300:oklch(.855 .138 181.071);--color-teal-400:oklch(.777 .152 181.912);--color-teal-500:oklch(.704 .14 182.503);--color-teal-600:oklch(.6 .118 184.704);--color-teal-700:oklch(.511 .096 186.391);--color-teal-800:oklch(.437 .078 188.216);--color-teal-900:oklch(.386 .063 188.416);--color-teal-950:oklch(.277 .046 192.524);--color-cyan-50:oklch(.984 .019 200.873);--color-cyan-100:oklch(.956 .045 203.388);--color-cyan-200:oklch(.917 .08 205.041);--color-cyan-300:oklch(.865 .127 207.078);--color-cyan-400:oklch(.789 .154 211.53);--color-cyan-500:oklch(.715 .143 215.221);--color-cyan-600:oklch(.609 .126 221.723);--color-cyan-700:oklch(.52 .105 223.128);--color-cyan-800:oklch(.45 .085 224.283);--color-cyan-900:oklch(.398 .07 227.392);--color-cyan-950:oklch(.302 .056 229.695);--color-sky-50:oklch(.977 .013 236.62);--color-sky-100:oklch(.951 .026 236.824);--color-sky-200:oklch(.901 .058 230.902);--color-sky-300:oklch(.828 .111 230.318);--color-sky-400:oklch(.746 .16 232.661);--color-sky-500:oklch(.685 .169 237.323);--color-sky-600:oklch(.588 .158 241.966);--color-sky-700:oklch(.5 .134 242.749);--color-sky-800:oklch(.443 .11 240.79);--color-sky-900:oklch(.391 .09 240.876);--color-sky-950:oklch(.293 .066 243.157);--color-blue-50:oklch(.97 .014 254.604);--color-blue-100:oklch(.932 .032 255.585);--color-blue-200:oklch(.882 .059 254.128);--color-blue-300:oklch(.809 .105 251.813);--color-blue-400:oklch(.707 .165 254.624);--color-blue-500:oklch(.623 .214 259.815);--color-blue-600:oklch(.546 .245 262.881);--color-blue-700:oklch(.488 .243 264.376);--color-blue-800:oklch(.424 .199 265.638);--color-blue-900:oklch(.379 .146 265.522);--color-blue-950:oklch(.282 .091 267.935);--color-indigo-50:oklch(.962 .018 272.314);--color-indigo-100:oklch(.93 .034 272.788);--color-indigo-200:oklch(.87 .065 274.039);--color-indigo-300:oklch(.785 .115 274.713);--color-indigo-400:oklch(.673 .182 276.935);--color-indigo-500:oklch(.585 .233 277.117);--color-indigo-600:oklch(.511 .262 276.966);--color-indigo-700:oklch(.457 .24 277.023);--color-indigo-800:oklch(.398 .195 277.366);--color-indigo-900:oklch(.359 .144 278.697);--color-indigo-950:oklch(.257 .09 281.288);--color-violet-50:oklch(.969 .016 293.756);--color-violet-100:oklch(.943 .029 294.588);--color-violet-200:oklch(.894 .057 293.283);--color-violet-300:oklch(.811 .111 293.571);--color-violet-400:oklch(.702 .183 293.541);--color-violet-500:oklch(.606 .25 292.717);--color-violet-600:oklch(.541 .281 293.009);--color-violet-700:oklch(.491 .27 292.581);--color-violet-800:oklch(.432 .232 292.759);--color-violet-900:oklch(.38 .189 293.745);--color-violet-950:oklch(.283 .141 291.089);--color-purple-50:oklch(.977 .014 308.299);--color-purple-100:oklch(.946 .033 307.174);--color-purple-200:oklch(.902 .063 306.703);--color-purple-300:oklch(.827 .119 306.383);--color-purple-400:oklch(.714 .203 305.504);--color-purple-500:oklch(.627 .265 303.9);--color-purple-600:oklch(.558 .288 302.321);--color-purple-700:oklch(.496 .265 301.924);--color-purple-800:oklch(.438 .218 303.724);--color-purple-900:oklch(.381 .176 304.987);--color-purple-950:oklch(.291 .149 302.717);--color-fuchsia-50:oklch(.977 .017 320.058);--color-fuchsia-100:oklch(.952 .037 318.852);--color-fuchsia-200:oklch(.903 .076 319.62);--color-fuchsia-300:oklch(.833 .145 321.434);--color-fuchsia-400:oklch(.74 .238 322.16);--color-fuchsia-500:oklch(.667 .295 322.15);--color-fuchsia-600:oklch(.591 .293 322.896);--color-fuchsia-700:oklch(.518 .253 323.949);--color-fuchsia-800:oklch(.452 .211 324.591);--color-fuchsia-900:oklch(.401 .17 325.612);--color-fuchsia-950:oklch(.293 .136 325.661);--color-pink-50:oklch(.971 .014 343.198);--color-pink-100:oklch(.948 .028 342.258);--color-pink-200:oklch(.899 .061 343.231);--color-pink-300:oklch(.823 .12 346.018);--color-pink-400:oklch(.718 .202 349.761);--color-pink-500:oklch(.656 .241 354.308);--color-pink-600:oklch(.592 .249 .584);--color-pink-700:oklch(.525 .223 3.958);--color-pink-800:oklch(.459 .187 3.815);--color-pink-900:oklch(.408 .153 2.432);--color-pink-950:oklch(.284 .109 3.907);--color-rose-50:oklch(.969 .015 12.422);--color-rose-100:oklch(.941 .03 12.58);--color-rose-200:oklch(.892 .058 10.001);--color-rose-300:oklch(.81 .117 11.638);--color-rose-400:oklch(.712 .194 13.428);--color-rose-500:oklch(.645 .246 16.439);--color-rose-600:oklch(.586 .253 17.585);--color-rose-700:oklch(.514 .222 16.935);--color-rose-800:oklch(.455 .188 13.697);--color-rose-900:oklch(.41 .159 10.272);--color-rose-950:oklch(.271 .105 12.094);--color-slate-50:oklch(.984 .003 247.858);--color-slate-100:oklch(.968 .007 247.896);--color-slate-200:oklch(.929 .013 255.508);--color-slate-300:oklch(.869 .022 252.894);--color-slate-400:oklch(.704 .04 256.788);--color-slate-500:oklch(.554 .046 257.417);--color-slate-600:oklch(.446 .043 257.281);--color-slate-700:oklch(.372 .044 257.287);--color-slate-800:oklch(.279 .041 260.031);--color-slate-900:oklch(.208 .042 265.755);--color-slate-950:oklch(.129 .042 264.695);--color-gray-50:oklch(.985 .002 247.839);--color-gray-100:oklch(.967 .003 264.542);--color-gray-200:oklch(.928 .006 264.531);--color-gray-300:oklch(.872 .01 258.338);--color-gray-400:oklch(.707 .022 261.325);--color-gray-500:oklch(.551 .027 264.364);--color-gray-600:oklch(.446 .03 256.802);--color-gray-700:oklch(.373 .034 259.733);--color-gray-800:oklch(.278 .033 256.848);--color-gray-900:oklch(.21 .034 264.665);--color-gray-950:oklch(.13 .028 261.692);--color-zinc-50:oklch(.985 0 0);--color-zinc-100:oklch(.967 .001 286.375);--color-zinc-200:oklch(.92 .004 286.32);--color-zinc-300:oklch(.871 .006 286.286);--color-zinc-400:oklch(.705 .015 286.067);--color-zinc-500:oklch(.552 .016 285.938);--color-zinc-600:oklch(.442 .017 285.786);--color-zinc-700:oklch(.37 .013 285.805);--color-zinc-800:oklch(.274 .006 286.033);--color-zinc-900:oklch(.21 .006 285.885);--color-zinc-950:oklch(.141 .005 285.823);--color-neutral-50:oklch(.985 0 0);--color-neutral-100:oklch(.97 0 0);--color-neutral-200:oklch(.922 0 0);--color-neutral-300:oklch(.87 0 0);--color-neutral-400:oklch(.708 0 0);--color-neutral-500:oklch(.556 0 0);--color-neutral-600:oklch(.439 0 0);--color-neutral-700:oklch(.371 0 0);--color-neutral-800:oklch(.269 0 0);--color-neutral-900:oklch(.205 0 0);--color-neutral-950:oklch(.145 0 0);--color-stone-50:oklch(.985 .001 106.423);--color-stone-100:oklch(.97 .001 106.424);--color-stone-200:oklch(.923 .003 48.717);--color-stone-300:oklch(.869 .005 56.366);--color-stone-400:oklch(.709 .01 56.259);--color-stone-500:oklch(.553 .013 58.071);--color-stone-600:oklch(.444 .011 73.639);--color-stone-700:oklch(.374 .01 67.558);--color-stone-800:oklch(.268 .007 34.298);--color-stone-900:oklch(.216 .006 56.043);--color-stone-950:oklch(.147 .004 49.25);--color-black:#000;--color-white:#fff;--spacing:.25rem;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:96rem;--container-3xs:16rem;--container-2xs:18rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--text-7xl:4.5rem;--text-7xl--line-height:1;--text-8xl:6rem;--text-8xl--line-height:1;--text-9xl:8rem;--text-9xl--line-height:1;--font-weight-thin:100;--font-weight-extralight:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-4xl:2rem;--shadow-2xs:0 1px #0000000d;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--shadow-2xl:0 25px 50px -12px #00000040;--inset-shadow-2xs:inset 0 1px #0000000d;--inset-shadow-xs:inset 0 1px 1px #0000000d;--inset-shadow-sm:inset 0 2px 4px #0000000d;--drop-shadow-xs:0 1px 1px #0000000d;--drop-shadow-sm:0 1px 2px #00000026;--drop-shadow-md:0 3px 3px #0000001f;--drop-shadow-lg:0 4px 4px #00000026;--drop-shadow-xl:0 9px 7px #0000001a;--drop-shadow-2xl:0 25px 25px #00000026;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur-xs:4px;--blur-sm:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--perspective-dramatic:100px;--perspective-near:300px;--perspective-normal:500px;--perspective-midrange:800px;--perspective-distant:1200px;--aspect-video:16/9;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(--font-sans--font-variation-settings);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(--font-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-mono--font-variation-settings)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.start-8{inset-inline-start:calc(var(--spacing)*8)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-1{margin:calc(var(--spacing)*1)}.m-2{margin:calc(var(--spacing)*2)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-auto{margin-top:auto}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.h-1\/4{height:25%}.h-1\/6{height:16.6667%}.h-1\/10{height:10%}.h-2\/3,.h-4\/6{height:66.6667%}.h-5\/10{height:50%}.h-6\/10{height:60%}.h-7\/10{height:70%}.h-8\/10{height:80%}.h-9\/10{height:90%}.h-24{height:calc(var(--spacing)*24)}.h-dvh{height:100dvh}.h-full{height:100%}.min-h-4\/6{min-height:66.6667%}.min-h-8\/10{min-height:80%}.min-h-full{min-height:100%}.w-1\/1{width:100%}.w-1\/6{width:16.6667%}.w-1\/8{width:12.5%}.w-2\/3{width:66.6667%}.w-2\/10{width:20%}.w-3\/10{width:30%}.w-7\/8{width:87.5%}.w-7\/10{width:70%}.w-8{width:calc(var(--spacing)*8)}.w-8\/10{width:80%}.w-full{width:100%}.min-w-1\/6{min-width:16.6667%}.min-w-full{min-width:100%}.transform{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-around{justify-content:space-around}.justify-center{justify-content:center}.justify-evenly{justify-content:space-evenly}.gap-2{gap:calc(var(--spacing)*2)}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overflow-y-hidden{overflow-y:hidden}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-r-1{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-black{border-color:var(--color-black)}.bg-\[rgba\(0\,0\,0\,0\.2\)\]{background-color:#0003}.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-700{background-color:var(--color-green-700)}.bg-red-500{background-color:var(--color-red-500)}.bg-white{background-color:var(--color-white)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-yellow-600{background-color:var(--color-yellow-600)}.bg-zinc-900{background-color:var(--color-zinc-900)}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-5{padding:calc(var(--spacing)*5)}.p-10{padding:calc(var(--spacing)*10)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-5{padding-top:calc(var(--spacing)*5)}.pr-5{padding-right:calc(var(--spacing)*5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pl-5{padding-left:calc(var(--spacing)*5)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-black{color:var(--color-black)}.text-white{color:var(--color-white)}.italic{font-style:italic}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-black{--tw-shadow-color:var(--color-black)}.shadow-cyan-500\/50{--tw-shadow-color:color-mix(in oklab,var(--color-cyan-500)50%,transparent)}.shadow-green-700{--tw-shadow-color:var(--color-green-700)}.shadow-purple-900{--tw-shadow-color:var(--color-purple-900)}.shadow-red-700{--tw-shadow-color:var(--color-red-700)}.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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-1{--tw-duration:1ms;transition-duration:1ms}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.focus-within\:w-3\/10:focus-within{width:30%}@media (hover:hover){.hover\:animate-bounce:hover{animation:var(--animate-bounce)}.hover\:bg-black\/35:hover{background-color:color-mix(in oklab,var(--color-black)35%,transparent)}.hover\:bg-cyan-600:hover{background-color:var(--color-cyan-600)}.hover\:bg-green-600:hover{background-color:var(--color-green-600)}.hover\:bg-green-600\/50:hover{background-color:color-mix(in oklab,var(--color-green-600)50%,transparent)}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:bg-yellow-600:hover{background-color:var(--color-yellow-600)}.hover\:bg-yellow-700:hover{background-color:var(--color-yellow-700)}}.focus\:h-1\/3:focus{height:33.3333%}.focus\:h-92:focus{height:calc(var(--spacing)*92)}.focus\:shadow-sm:focus{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:shadow-cyan-500\/50:focus{--tw-shadow-color:color-mix(in oklab,var(--color-cyan-500)50%,transparent)}.focus\:shadow-green-700\/50:focus{--tw-shadow-color:color-mix(in oklab,var(--color-green-700)50%,transparent)}.focus\:shadow-red-700\/50:focus{--tw-shadow-color:color-mix(in oklab,var(--color-red-700)50%,transparent)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.active\:transform:active{transform:var(--tw-rotate-x)var(--tw-rotate-y)var(--tw-rotate-z)var(--tw-skew-x)var(--tw-skew-y)}}*{box-sizing:border-box}html,body,#root{width:100%;height:100%}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}@property --tw-rotate-x{syntax:"*";inherits:false;initial-value:rotateX(0)}@property --tw-rotate-y{syntax:"*";inherits:false;initial-value:rotateY(0)}@property --tw-rotate-z{syntax:"*";inherits:false;initial-value:rotateZ(0)}@property --tw-skew-x{syntax:"*";inherits:false;initial-value:skewX(0)}@property --tw-skew-y{syntax:"*";inherits:false;initial-value:skewY(0)}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1} diff --git a/cdrm-frontend/dist/assets/index-BCBsxJZZ.js b/cdrm-frontend/dist/assets/index-BCBsxJZZ.js new file mode 100644 index 0000000..49efe4d --- /dev/null +++ b/cdrm-frontend/dist/assets/index-BCBsxJZZ.js @@ -0,0 +1,160 @@ +var hD=(b,D)=>()=>(D||b((D={exports:{}}).exports,D),D.exports);var iR=hD((uR,wh)=>{(function(){const D=document.createElement("link").relList;if(D&&D.supports&&D.supports("modulepreload"))return;for(const T of document.querySelectorAll('link[rel="modulepreload"]'))x(T);new MutationObserver(T=>{for(const j of T)if(j.type==="childList")for(const O of j.addedNodes)O.tagName==="LINK"&&O.rel==="modulepreload"&&x(O)}).observe(document,{childList:!0,subtree:!0});function N(T){const j={};return T.integrity&&(j.integrity=T.integrity),T.referrerPolicy&&(j.referrerPolicy=T.referrerPolicy),T.crossOrigin==="use-credentials"?j.credentials="include":T.crossOrigin==="anonymous"?j.credentials="omit":j.credentials="same-origin",j}function x(T){if(T.ep)return;T.ep=!0;const j=N(T);fetch(T.href,j)}})();var yD=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Qf(b){return b&&b.__esModule&&Object.prototype.hasOwnProperty.call(b,"default")?b.default:b}var N0={exports:{}},hh={},_0={exports:{}},Wt={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var p2;function gD(){if(p2)return Wt;p2=1;var b=Symbol.for("react.element"),D=Symbol.for("react.portal"),N=Symbol.for("react.fragment"),x=Symbol.for("react.strict_mode"),T=Symbol.for("react.profiler"),j=Symbol.for("react.provider"),O=Symbol.for("react.context"),h=Symbol.for("react.forward_ref"),l=Symbol.for("react.suspense"),u=Symbol.for("react.memo"),d=Symbol.for("react.lazy"),v=Symbol.iterator;function A(se){return se===null||typeof se!="object"?null:(se=v&&se[v]||se["@@iterator"],typeof se=="function"?se:null)}var z={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},I=Object.assign,ee={};function ie(se,Ie,Lt){this.props=se,this.context=Ie,this.refs=ee,this.updater=Lt||z}ie.prototype.isReactComponent={},ie.prototype.setState=function(se,Ie){if(typeof se!="object"&&typeof se!="function"&&se!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,se,Ie,"setState")},ie.prototype.forceUpdate=function(se){this.updater.enqueueForceUpdate(this,se,"forceUpdate")};function ve(){}ve.prototype=ie.prototype;function Ae(se,Ie,Lt){this.props=se,this.context=Ie,this.refs=ee,this.updater=Lt||z}var oe=Ae.prototype=new ve;oe.constructor=Ae,I(oe,ie.prototype),oe.isPureReactComponent=!0;var De=Array.isArray,Ge=Object.prototype.hasOwnProperty,mt={current:null},ln={key:!0,ref:!0,__self:!0,__source:!0};function xn(se,Ie,Lt){var G,It={},kt=null,dn=null;if(Ie!=null)for(G in Ie.ref!==void 0&&(dn=Ie.ref),Ie.key!==void 0&&(kt=""+Ie.key),Ie)Ge.call(Ie,G)&&!ln.hasOwnProperty(G)&&(It[G]=Ie[G]);var on=arguments.length-2;if(on===1)It.children=Lt;else if(1>>1,Ie=Ue[se];if(0>>1;seT(It,Xe))ktT(dn,It)?(Ue[se]=dn,Ue[kt]=Xe,se=kt):(Ue[se]=It,Ue[G]=Xe,se=G);else if(ktT(dn,Xe))Ue[se]=dn,Ue[kt]=Xe,se=kt;else break e}}return gt}function T(Ue,gt){var Xe=Ue.sortIndex-gt.sortIndex;return Xe!==0?Xe:Ue.id-gt.id}if(typeof performance=="object"&&typeof performance.now=="function"){var j=performance;b.unstable_now=function(){return j.now()}}else{var O=Date,h=O.now();b.unstable_now=function(){return O.now()-h}}var l=[],u=[],d=1,v=null,A=3,z=!1,I=!1,ee=!1,ie=typeof setTimeout=="function"?setTimeout:null,ve=typeof clearTimeout=="function"?clearTimeout:null,Ae=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function oe(Ue){for(var gt=N(u);gt!==null;){if(gt.callback===null)x(u);else if(gt.startTime<=Ue)x(u),gt.sortIndex=gt.expirationTime,D(l,gt);else break;gt=N(u)}}function De(Ue){if(ee=!1,oe(Ue),!I)if(N(l)!==null)I=!0,Ut(Ge);else{var gt=N(u);gt!==null&&Ot(De,gt.startTime-Ue)}}function Ge(Ue,gt){I=!1,ee&&(ee=!1,ve(xn),xn=-1),z=!0;var Xe=A;try{for(oe(gt),v=N(l);v!==null&&(!(v.expirationTime>gt)||Ue&&!le());){var se=v.callback;if(typeof se=="function"){v.callback=null,A=v.priorityLevel;var Ie=se(v.expirationTime<=gt);gt=b.unstable_now(),typeof Ie=="function"?v.callback=Ie:v===N(l)&&x(l),oe(gt)}else x(l);v=N(l)}if(v!==null)var Lt=!0;else{var G=N(u);G!==null&&Ot(De,G.startTime-gt),Lt=!1}return Lt}finally{v=null,A=Xe,z=!1}}var mt=!1,ln=null,xn=-1,mn=5,_=-1;function le(){return!(b.unstable_now()-_Ue||125se?(Ue.sortIndex=Xe,D(u,Ue),N(l)===null&&Ue===N(u)&&(ee?(ve(xn),xn=-1):ee=!0,Ot(De,Xe-se))):(Ue.sortIndex=Ie,D(l,Ue),I||z||(I=!0,Ut(Ge))),Ue},b.unstable_shouldYield=le,b.unstable_wrapCallback=function(Ue){var gt=A;return function(){var Xe=A;A=gt;try{return Ue.apply(this,arguments)}finally{A=Xe}}}}(B0)),B0}var m2;function wD(){return m2||(m2=1,j0.exports=SD()),j0.exports}/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var S2;function TD(){if(S2)return Gi;S2=1;var b=Zg(),D=wD();function N(s){for(var c="https://reactjs.org/docs/error-decoder.html?invariant="+s,y=1;y"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),l=Object.prototype.hasOwnProperty,u=/^[: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]*$/,d={},v={};function A(s){return l.call(v,s)?!0:l.call(d,s)?!1:u.test(s)?v[s]=!0:(d[s]=!0,!1)}function z(s,c,y,S){if(y!==null&&y.type===0)return!1;switch(typeof c){case"function":case"symbol":return!0;case"boolean":return S?!1:y!==null?!y.acceptsBooleans:(s=s.toLowerCase().slice(0,5),s!=="data-"&&s!=="aria-");default:return!1}}function I(s,c,y,S){if(c===null||typeof c>"u"||z(s,c,y,S))return!0;if(S)return!1;if(y!==null)switch(y.type){case 3:return!c;case 4:return c===!1;case 5:return isNaN(c);case 6:return isNaN(c)||1>c}return!1}function ee(s,c,y,S,k,R,V){this.acceptsBooleans=c===2||c===3||c===4,this.attributeName=S,this.attributeNamespace=k,this.mustUseProperty=y,this.propertyName=s,this.type=c,this.sanitizeURL=R,this.removeEmptyString=V}var ie={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(s){ie[s]=new ee(s,0,!1,s,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(s){var c=s[0];ie[c]=new ee(c,1,!1,s[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(s){ie[s]=new ee(s,2,!1,s.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(s){ie[s]=new ee(s,2,!1,s,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(s){ie[s]=new ee(s,3,!1,s.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(s){ie[s]=new ee(s,3,!0,s,null,!1,!1)}),["capture","download"].forEach(function(s){ie[s]=new ee(s,4,!1,s,null,!1,!1)}),["cols","rows","size","span"].forEach(function(s){ie[s]=new ee(s,6,!1,s,null,!1,!1)}),["rowSpan","start"].forEach(function(s){ie[s]=new ee(s,5,!1,s.toLowerCase(),null,!1,!1)});var ve=/[\-:]([a-z])/g;function Ae(s){return s[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(s){var c=s.replace(ve,Ae);ie[c]=new ee(c,1,!1,s,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(s){var c=s.replace(ve,Ae);ie[c]=new ee(c,1,!1,s,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(s){var c=s.replace(ve,Ae);ie[c]=new ee(c,1,!1,s,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(s){ie[s]=new ee(s,1,!1,s.toLowerCase(),null,!1,!1)}),ie.xlinkHref=new ee("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(s){ie[s]=new ee(s,1,!1,s.toLowerCase(),null,!0,!0)});function oe(s,c,y,S){var k=ie.hasOwnProperty(c)?ie[c]:null;(k!==null?k.type!==0:S||!(2J||k[V]!==R[J]){var te=` +`+k[V].replace(" at new "," at ");return s.displayName&&te.includes("")&&(te=te.replace("",s.displayName)),te}while(1<=V&&0<=J);break}}}finally{Lt=!1,Error.prepareStackTrace=y}return(s=s?s.displayName||s.name:"")?Ie(s):""}function It(s){switch(s.tag){case 5:return Ie(s.type);case 16:return Ie("Lazy");case 13:return Ie("Suspense");case 19:return Ie("SuspenseList");case 0:case 2:case 15:return s=G(s.type,!1),s;case 11:return s=G(s.type.render,!1),s;case 1:return s=G(s.type,!0),s;default:return""}}function kt(s){if(s==null)return null;if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s;switch(s){case ln:return"Fragment";case mt:return"Portal";case mn:return"Profiler";case xn:return"StrictMode";case qe:return"Suspense";case be:return"SuspenseList"}if(typeof s=="object")switch(s.$$typeof){case le:return(s.displayName||"Context")+".Consumer";case _:return(s._context.displayName||"Context")+".Provider";case pe:var c=s.render;return s=s.displayName,s||(s=c.displayName||c.name||"",s=s!==""?"ForwardRef("+s+")":"ForwardRef"),s;case ke:return c=s.displayName||null,c!==null?c:kt(s.type)||"Memo";case Ut:c=s._payload,s=s._init;try{return kt(s(c))}catch{}}return null}function dn(s){var c=s.type;switch(s.tag){case 24:return"Cache";case 9:return(c.displayName||"Context")+".Consumer";case 10:return(c._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return s=c.render,s=s.displayName||s.name||"",c.displayName||(s!==""?"ForwardRef("+s+")":"ForwardRef");case 7:return"Fragment";case 5:return c;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return kt(c);case 8:return c===xn?"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 c=="function")return c.displayName||c.name||null;if(typeof c=="string")return c}return null}function on(s){switch(typeof s){case"boolean":case"number":case"string":case"undefined":return s;case"object":return s;default:return""}}function Sn(s){var c=s.type;return(s=s.nodeName)&&s.toLowerCase()==="input"&&(c==="checkbox"||c==="radio")}function oi(s){var c=Sn(s)?"checked":"value",y=Object.getOwnPropertyDescriptor(s.constructor.prototype,c),S=""+s[c];if(!s.hasOwnProperty(c)&&typeof y<"u"&&typeof y.get=="function"&&typeof y.set=="function"){var k=y.get,R=y.set;return Object.defineProperty(s,c,{configurable:!0,get:function(){return k.call(this)},set:function(V){S=""+V,R.call(this,V)}}),Object.defineProperty(s,c,{enumerable:y.enumerable}),{getValue:function(){return S},setValue:function(V){S=""+V},stopTracking:function(){s._valueTracker=null,delete s[c]}}}}function lc(s){s._valueTracker||(s._valueTracker=oi(s))}function Me(s){if(!s)return!1;var c=s._valueTracker;if(!c)return!0;var y=c.getValue(),S="";return s&&(S=Sn(s)?s.checked?"true":"false":s.value),s=S,s!==y?(c.setValue(s),!0):!1}function sc(s){if(s=s||(typeof document<"u"?document:void 0),typeof s>"u")return null;try{return s.activeElement||s.body}catch{return s.body}}function td(s,c){var y=c.checked;return Xe({},c,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:y??s._wrapperState.initialChecked})}function Ju(s,c){var y=c.defaultValue==null?"":c.defaultValue,S=c.checked!=null?c.checked:c.defaultChecked;y=on(c.value!=null?c.value:y),s._wrapperState={initialChecked:S,initialValue:y,controlled:c.type==="checkbox"||c.type==="radio"?c.checked!=null:c.value!=null}}function Bs(s,c){c=c.checked,c!=null&&oe(s,"checked",c,!1)}function Qu(s,c){Bs(s,c);var y=on(c.value),S=c.type;if(y!=null)S==="number"?(y===0&&s.value===""||s.value!=y)&&(s.value=""+y):s.value!==""+y&&(s.value=""+y);else if(S==="submit"||S==="reset"){s.removeAttribute("value");return}c.hasOwnProperty("value")?Ti(s,c.type,y):c.hasOwnProperty("defaultValue")&&Ti(s,c.type,on(c.defaultValue)),c.checked==null&&c.defaultChecked!=null&&(s.defaultChecked=!!c.defaultChecked)}function Ah(s,c,y){if(c.hasOwnProperty("value")||c.hasOwnProperty("defaultValue")){var S=c.type;if(!(S!=="submit"&&S!=="reset"||c.value!==void 0&&c.value!==null))return;c=""+s._wrapperState.initialValue,y||c===s.value||(s.value=c),s.defaultValue=c}y=s.name,y!==""&&(s.name=""),s.defaultChecked=!!s._wrapperState.initialChecked,y!==""&&(s.name=y)}function Ti(s,c,y){(c!=="number"||sc(s.ownerDocument)!==s)&&(y==null?s.defaultValue=""+s._wrapperState.initialValue:s.defaultValue!==""+y&&(s.defaultValue=""+y))}var ft=Array.isArray;function xi(s,c,y,S){if(s=s.options,c){c={};for(var k=0;k"+c.valueOf().toString()+"",c=Fs.firstChild;s.firstChild;)s.removeChild(s.firstChild);for(;c.firstChild;)s.appendChild(c.firstChild)}});function Ks(s,c){if(c){var y=s.firstChild;if(y&&y===s.lastChild&&y.nodeType===3){y.nodeValue=c;return}}s.textContent=c}var Hl={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},Un=["Webkit","ms","Moz","O"];Object.keys(Hl).forEach(function(s){Un.forEach(function(c){c=c+s.charAt(0).toUpperCase()+s.substring(1),Hl[c]=Hl[s]})});function vu(s,c,y){return c==null||typeof c=="boolean"||c===""?"":y||typeof c!="number"||c===0||Hl.hasOwnProperty(s)&&Hl[s]?(""+c).trim():c+"px"}function ac(s,c){s=s.style;for(var y in c)if(c.hasOwnProperty(y)){var S=y.indexOf("--")===0,k=vu(y,c[y],S);y==="float"&&(y="cssFloat"),S?s.setProperty(y,k):s[y]=k}}var id=Xe({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 Rt(s,c){if(c){if(id[s]&&(c.children!=null||c.dangerouslySetInnerHTML!=null))throw Error(N(137,s));if(c.dangerouslySetInnerHTML!=null){if(c.children!=null)throw Error(N(60));if(typeof c.dangerouslySetInnerHTML!="object"||!("__html"in c.dangerouslySetInnerHTML))throw Error(N(61))}if(c.style!=null&&typeof c.style!="object")throw Error(N(62))}}function od(s,c){if(s.indexOf("-")===-1)return typeof c.is=="string";switch(s){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 ud=null;function cc(s){return s=s.target||s.srcElement||window,s.correspondingUseElement&&(s=s.correspondingUseElement),s.nodeType===3?s.parentNode:s}var Zu=null,mu=null,Xi=null;function vo(s){if(s=pl(s)){if(typeof Zu!="function")throw Error(N(280));var c=s.stateNode;c&&(c=ga(c),Zu(s.stateNode,s.type,c))}}function zr(s){mu?Xi?Xi.push(s):Xi=[s]:mu=s}function Ze(){if(mu){var s=mu,c=Xi;if(Xi=mu=null,vo(s),c)for(s=0;s>>=0,s===0?32:31-(ad(s)/wu|0)|0}var Tu=64,xu=4194304;function tl(s){switch(s&-s){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 s&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return s&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return s}}function Tt(s,c){var y=s.pendingLanes;if(y===0)return 0;var S=0,k=s.suspendedLanes,R=s.pingedLanes,V=y&268435455;if(V!==0){var J=V&~k;J!==0?S=tl(J):(R&=V,R!==0&&(S=tl(R)))}else V=y&~k,V!==0?S=tl(V):R!==0&&(S=tl(R));if(S===0)return 0;if(c!==0&&c!==S&&(c&k)===0&&(k=S&-S,R=c&-c,k>=R||k===16&&(R&4194240)!==0))return c;if((S&4)!==0&&(S|=y&16),c=s.entangledLanes,c!==0)for(s=s.entanglements,c&=S;0y;y++)c.push(s);return c}function Ji(s,c,y){s.pendingLanes|=c,c!==536870912&&(s.suspendedLanes=0,s.pingedLanes=0),s=s.eventTimes,c=31-Yr(c),s[c]=y}function Qt(s,c){var y=s.pendingLanes&~c;s.pendingLanes=c,s.suspendedLanes=0,s.pingedLanes=0,s.expiredLanes&=c,s.mutableReadLanes&=c,s.entangledLanes&=c,c=s.entanglements;var S=s.eventTimes;for(s=s.expirationTimes;0=ai),qo=" ",Ic=!1;function Ec(s,c){switch(s){case"keyup":return ov.indexOf(c.keyCode)!==-1;case"keydown":return c.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function vd(s){return s=s.detail,typeof s=="object"&&"data"in s?s.data:null}var Ql=!1;function hn(s,c){switch(s){case"compositionend":return vd(c);case"keypress":return c.which!==32?null:(Ic=!0,qo);case"textInput":return s=c.data,s===qo&&Ic?null:s;default:return null}}function Cc(s,c){if(Ql)return s==="compositionend"||!Eo&&Ec(s,c)?(s=xo(),sr=Wl=lr=null,Ql=!1,s):null;switch(s){case"paste":return null;case"keypress":if(!(c.ctrlKey||c.altKey||c.metaKey)||c.ctrlKey&&c.altKey){if(c.char&&1=c)return{node:y,offset:c-s};s=S}e:{for(;y;){if(y.nextSibling){y=y.nextSibling;break e}y=y.parentNode}y=void 0}y=Pn(y)}}function Td(s,c){return s&&c?s===c?!0:s&&s.nodeType===3?!1:c&&c.nodeType===3?Td(s,c.parentNode):"contains"in s?s.contains(c):s.compareDocumentPosition?!!(s.compareDocumentPosition(c)&16):!1:!1}function ca(){for(var s=window,c=sc();c instanceof s.HTMLIFrameElement;){try{var y=typeof c.contentWindow.location.href=="string"}catch{y=!1}if(y)s=c.contentWindow;else break;c=sc(s.document)}return c}function cr(s){var c=s&&s.nodeName&&s.nodeName.toLowerCase();return c&&(c==="input"&&(s.type==="text"||s.type==="search"||s.type==="tel"||s.type==="url"||s.type==="password")||c==="textarea"||s.contentEditable==="true")}function xd(s){var c=ca(),y=s.focusedElem,S=s.selectionRange;if(c!==y&&y&&y.ownerDocument&&Td(y.ownerDocument.documentElement,y)){if(S!==null&&cr(y)){if(c=S.start,s=S.end,s===void 0&&(s=c),"selectionStart"in y)y.selectionStart=c,y.selectionEnd=Math.min(s,y.value.length);else if(s=(c=y.ownerDocument||document)&&c.defaultView||window,s.getSelection){s=s.getSelection();var k=y.textContent.length,R=Math.min(S.start,k);S=S.end===void 0?R:Math.min(S.end,k),!s.extend&&R>S&&(k=S,S=R,R=k),k=Xo(y,R);var V=Xo(y,S);k&&V&&(s.rangeCount!==1||s.anchorNode!==k.node||s.anchorOffset!==k.offset||s.focusNode!==V.node||s.focusOffset!==V.offset)&&(c=c.createRange(),c.setStart(k.node,k.offset),s.removeAllRanges(),R>S?(s.addRange(c),s.extend(V.node,V.offset)):(c.setEnd(V.node,V.offset),s.addRange(c)))}}for(c=[],s=y;s=s.parentNode;)s.nodeType===1&&c.push({element:s,left:s.scrollLeft,top:s.scrollTop});for(typeof y.focus=="function"&&y.focus(),y=0;y=document.documentMode,an=null,Id=null,Zl=null,fa=!1;function yn(s,c,y){var S=y.window===y?y.document:y.nodeType===9?y:y.ownerDocument;fa||an==null||an!==sc(S)||(S=an,"selectionStart"in S&&cr(S)?S={start:S.selectionStart,end:S.selectionEnd}:(S=(S.ownerDocument&&S.ownerDocument.defaultView||window).getSelection(),S={anchorNode:S.anchorNode,anchorOffset:S.anchorOffset,focusNode:S.focusNode,focusOffset:S.focusOffset}),Zl&&rn(Zl,S)||(Zl=S,S=ts(Id,"onSelect"),0hl||(s.current=va[hl],va[hl]=null,hl--)}function un(s,c){hl++,va[hl]=s.current,s.current=c}var eu={},fr=Pi(eu),Nr=Pi(!1),Mu=eu;function is(s,c){var y=s.type.contextTypes;if(!y)return eu;var S=s.stateNode;if(S&&S.__reactInternalMemoizedUnmaskedChildContext===c)return S.__reactInternalMemoizedMaskedChildContext;var k={},R;for(R in y)k[R]=c[R];return S&&(s=s.stateNode,s.__reactInternalMemoizedUnmaskedChildContext=c,s.__reactInternalMemoizedMaskedChildContext=k),k}function dr(s){return s=s.childContextTypes,s!=null}function bc(){vn(Nr),vn(fr)}function Zt(s,c,y){if(fr.current!==eu)throw Error(N(168));un(fr,c),un(Nr,y)}function Ld(s,c,y){var S=s.stateNode;if(c=c.childContextTypes,typeof S.getChildContext!="function")return y;S=S.getChildContext();for(var k in S)if(!(k in c))throw Error(N(108,dn(s)||"Unknown",k));return Xe({},y,S)}function os(s){return s=(s=s.stateNode)&&s.__reactInternalMemoizedMergedChildContext||eu,Mu=fr.current,un(fr,s),un(Nr,Nr.current),!0}function qh(s,c,y){var S=s.stateNode;if(!S)throw Error(N(169));y?(s=Ld(s,c,Mu),S.__reactInternalMemoizedMergedChildContext=s,vn(Nr),vn(fr),un(fr,s)):vn(Nr),un(Nr,y)}var tu=null,ma=!1,Mc=!1;function Di(s){tu===null?tu=[s]:tu.push(s)}function Nt(s){ma=!0,Di(s)}function $t(){if(!Mc&&tu!==null){Mc=!0;var s=0,c=jt;try{var y=tu;for(jt=1;s>=V,k-=V,ko=1<<32-Yr(c)+k|y<ht?(Zn=ut,ut=null):Zn=ut.sibling;var _t=xe(ce,ut,ye[ht],Re);if(_t===null){ut===null&&(ut=Zn);break}s&&ut&&_t.alternate===null&&c(ce,ut),ne=R(_t,ne,ht),ct===null?nt=_t:ct.sibling=_t,ct=_t,ut=Zn}if(ht===ye.length)return y(ce,ut),wt&&xt(ce,ht),nt;if(ut===null){for(;htht?(Zn=ut,ut=null):Zn=ut.sibling;var Gu=xe(ce,ut,_t.value,Re);if(Gu===null){ut===null&&(ut=Zn);break}s&&ut&&Gu.alternate===null&&c(ce,ut),ne=R(Gu,ne,ht),ct===null?nt=Gu:ct.sibling=Gu,ct=Gu,ut=Zn}if(_t.done)return y(ce,ut),wt&&xt(ce,ht),nt;if(ut===null){for(;!_t.done;ht++,_t=ye.next())_t=Pe(ce,_t.value,Re),_t!==null&&(ne=R(_t,ne,ht),ct===null?nt=_t:ct.sibling=_t,ct=_t);return wt&&xt(ce,ht),nt}for(ut=S(ce,ut);!_t.done;ht++,_t=ye.next())_t=He(ut,ce,ht,_t.value,Re),_t!==null&&(s&&_t.alternate!==null&&ut.delete(_t.key===null?ht:_t.key),ne=R(_t,ne,ht),ct===null?nt=_t:ct.sibling=_t,ct=_t);return s&&ut.forEach(function(Sf){return c(ce,Sf)}),wt&&xt(ce,ht),nt}function Kn(ce,ne,ye,Re){if(typeof ye=="object"&&ye!==null&&ye.type===ln&&ye.key===null&&(ye=ye.props.children),typeof ye=="object"&&ye!==null){switch(ye.$$typeof){case Ge:e:{for(var nt=ye.key,ct=ne;ct!==null;){if(ct.key===nt){if(nt=ye.type,nt===ln){if(ct.tag===7){y(ce,ct.sibling),ne=k(ct,ye.props.children),ne.return=ce,ce=ne;break e}}else if(ct.elementType===nt||typeof nt=="object"&&nt!==null&&nt.$$typeof===Ut&&us(nt)===ct.type){y(ce,ct.sibling),ne=k(ct,ye.props),ne.ref=gl(ce,ct,ye),ne.return=ce,ce=ne;break e}y(ce,ct);break}else c(ce,ct);ct=ct.sibling}ye.type===ln?(ne=Uo(ye.props.children,ce.mode,Re,ye.key),ne.return=ce,ce=ne):(Re=Ga(ye.type,ye.key,ye.props,null,ce.mode,Re),Re.ref=gl(ce,ne,ye),Re.return=ce,ce=Re)}return V(ce);case mt:e:{for(ct=ye.key;ne!==null;){if(ne.key===ct)if(ne.tag===4&&ne.stateNode.containerInfo===ye.containerInfo&&ne.stateNode.implementation===ye.implementation){y(ce,ne.sibling),ne=k(ne,ye.children||[]),ne.return=ce,ce=ne;break e}else{y(ce,ne);break}else c(ce,ne);ne=ne.sibling}ne=Tp(ye,ce.mode,Re),ne.return=ce,ce=ne}return V(ce);case Ut:return ct=ye._init,Kn(ce,ne,ct(ye._payload),Re)}if(ft(ye))return et(ce,ne,ye,Re);if(gt(ye))return tt(ce,ne,ye,Re);_c(ce,ye)}return typeof ye=="string"&&ye!==""||typeof ye=="number"?(ye=""+ye,ne!==null&&ne.tag===6?(y(ce,ne.sibling),ne=k(ne,ye),ne.return=ce,ce=ne):(y(ce,ne),ne=qu(ye,ce.mode,Re),ne.return=ce,ce=ne),V(ce)):y(ce,ne)}return Kn}var Mt=Uc(!0),Ao=Uc(!1),Ta=Pi(null),Vt=null,it=null,Po=null;function pr(){Po=it=Vt=null}function xa(s){var c=Ta.current;vn(Ta),s._currentValue=c}function _u(s,c,y){for(;s!==null;){var S=s.alternate;if((s.childLanes&c)!==c?(s.childLanes|=c,S!==null&&(S.childLanes|=c)):S!==null&&(S.childLanes&c)!==c&&(S.childLanes|=c),s===y)break;s=s.return}}function vl(s,c){Vt=s,Po=it=null,s=s.dependencies,s!==null&&s.firstContext!==null&&((s.lanes&c)!==0&&(ir=!0),s.firstContext=null)}function Ur(s){var c=s._currentValue;if(Po!==s)if(s={context:s,memoizedValue:c,next:null},it===null){if(Vt===null)throw Error(N(308));it=s,Vt.dependencies={lanes:0,firstContext:s}}else it=it.next=s;return c}var Mi=null;function Ud(s){Mi===null?Mi=[s]:Mi.push(s)}function jd(s,c,y,S){var k=c.interleaved;return k===null?(y.next=y,Ud(c)):(y.next=k.next,k.next=y),c.interleaved=y,ro(s,S)}function ro(s,c){s.lanes|=c;var y=s.alternate;for(y!==null&&(y.lanes|=c),y=s,s=s.return;s!==null;)s.childLanes|=c,y=s.alternate,y!==null&&(y.childLanes|=c),y=s,s=s.return;return y.tag===3?y.stateNode:null}var io=!1;function ls(s){s.updateQueue={baseState:s.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Gh(s,c){s=s.updateQueue,c.updateQueue===s&&(c.updateQueue={baseState:s.baseState,firstBaseUpdate:s.firstBaseUpdate,lastBaseUpdate:s.lastBaseUpdate,shared:s.shared,effects:s.effects})}function ou(s,c){return{eventTime:s,lane:c,tag:0,payload:null,callback:null,next:null}}function uu(s,c,y){var S=s.updateQueue;if(S===null)return null;if(S=S.shared,(Jt&2)!==0){var k=S.pending;return k===null?c.next=c:(c.next=k.next,k.next=c),S.pending=c,ro(s,y)}return k=S.interleaved,k===null?(c.next=c,Ud(S)):(c.next=k.next,k.next=c),S.interleaved=c,ro(s,y)}function jc(s,c,y){if(c=c.updateQueue,c!==null&&(c=c.shared,(y&4194240)!==0)){var S=c.lanes;S&=s.pendingLanes,y|=S,c.lanes=y,wo(s,y)}}function Bd(s,c){var y=s.updateQueue,S=s.alternate;if(S!==null&&(S=S.updateQueue,y===S)){var k=null,R=null;if(y=y.firstBaseUpdate,y!==null){do{var V={eventTime:y.eventTime,lane:y.lane,tag:y.tag,payload:y.payload,callback:y.callback,next:null};R===null?k=R=V:R=R.next=V,y=y.next}while(y!==null);R===null?k=R=c:R=R.next=c}else k=R=c;y={baseState:S.baseState,firstBaseUpdate:k,lastBaseUpdate:R,shared:S.shared,effects:S.effects},s.updateQueue=y;return}s=y.lastBaseUpdate,s===null?y.firstBaseUpdate=c:s.next=c,y.lastBaseUpdate=c}function Ia(s,c,y,S){var k=s.updateQueue;io=!1;var R=k.firstBaseUpdate,V=k.lastBaseUpdate,J=k.shared.pending;if(J!==null){k.shared.pending=null;var te=J,me=te.next;te.next=null,V===null?R=me:V.next=me,V=te;var Ee=s.alternate;Ee!==null&&(Ee=Ee.updateQueue,J=Ee.lastBaseUpdate,J!==V&&(J===null?Ee.firstBaseUpdate=me:J.next=me,Ee.lastBaseUpdate=te))}if(R!==null){var Pe=k.baseState;V=0,Ee=me=te=null,J=R;do{var xe=J.lane,He=J.eventTime;if((S&xe)===xe){Ee!==null&&(Ee=Ee.next={eventTime:He,lane:0,tag:J.tag,payload:J.payload,callback:J.callback,next:null});e:{var et=s,tt=J;switch(xe=c,He=y,tt.tag){case 1:if(et=tt.payload,typeof et=="function"){Pe=et.call(He,Pe,xe);break e}Pe=et;break e;case 3:et.flags=et.flags&-65537|128;case 0:if(et=tt.payload,xe=typeof et=="function"?et.call(He,Pe,xe):et,xe==null)break e;Pe=Xe({},Pe,xe);break e;case 2:io=!0}}J.callback!==null&&J.lane!==0&&(s.flags|=64,xe=k.effects,xe===null?k.effects=[J]:xe.push(J))}else He={eventTime:He,lane:xe,tag:J.tag,payload:J.payload,callback:J.callback,next:null},Ee===null?(me=Ee=He,te=Pe):Ee=Ee.next=He,V|=xe;if(J=J.next,J===null){if(J=k.shared.pending,J===null)break;xe=J,J=xe.next,xe.next=null,k.lastBaseUpdate=xe,k.shared.pending=null}}while(!0);if(Ee===null&&(te=Pe),k.baseState=te,k.firstBaseUpdate=me,k.lastBaseUpdate=Ee,c=k.shared.interleaved,c!==null){k=c;do V|=k.lane,k=k.next;while(k!==c)}else R===null&&(k.shared.lanes=0);Ui|=V,s.lanes=V,s.memoizedState=Pe}}function Wh(s,c,y){if(s=c.effects,c.effects=null,s!==null)for(c=0;cy?y:4,s(!0);var S=Vc.transition;Vc.transition={};try{s(!1),c()}finally{jt=y,Vc.transition=S}}function Fe(){return Li().memoizedState}function Qh(s,c,y){var S=Gt(s);if(y={lane:S,action:y,hasEagerState:!1,eagerState:null,next:null},Jd(s))gs(c,y);else if(y=jd(s,c,y,S),y!==null){var k=wn();Br(y,s,S,k),Xc(y,c,S)}}function au(s,c,y){var S=Gt(s),k={lane:S,action:y,hasEagerState:!1,eagerState:null,next:null};if(Jd(s))gs(c,k);else{var R=s.alternate;if(s.lanes===0&&(R===null||R.lanes===0)&&(R=c.lastRenderedReducer,R!==null))try{var V=c.lastRenderedState,J=R(V,y);if(k.hasEagerState=!0,k.eagerState=J,Yn(J,V)){var te=c.interleaved;te===null?(k.next=k,Ud(c)):(k.next=te.next,te.next=k),c.interleaved=k;return}}catch{}finally{}y=jd(s,c,k,S),y!==null&&(k=wn(),Br(y,s,S,k),Xc(y,c,S))}}function Jd(s){var c=s.alternate;return s===Dn||c!==null&&c===Dn}function gs(s,c){Pa=Aa=!0;var y=s.pending;y===null?c.next=c:(c.next=y.next,y.next=c),s.pending=c}function Xc(s,c,y){if((y&4194240)!==0){var S=c.lanes;S&=s.pendingLanes,y|=S,c.lanes=y,wo(s,y)}}var vs={readContext:Ur,useCallback:kr,useContext:kr,useEffect:kr,useImperativeHandle:kr,useInsertionEffect:kr,useLayoutEffect:kr,useMemo:kr,useReducer:kr,useRef:kr,useState:kr,useDebugValue:kr,useDeferredValue:kr,useTransition:kr,useMutableSource:kr,useSyncExternalStore:kr,useId:kr,unstable_isNewReconciler:!1},Zh={readContext:Ur,useCallback:function(s,c){return Oo().memoizedState=[s,c===void 0?null:c],s},useContext:Ur,useEffect:Gd,useImperativeHandle:function(s,c,y){return y=y!=null?y.concat([s]):null,Oa(4194308,4,hi.bind(null,c,s),y)},useLayoutEffect:function(s,c){return Oa(4194308,4,s,c)},useInsertionEffect:function(s,c){return Oa(4,2,s,c)},useMemo:function(s,c){var y=Oo();return c=c===void 0?null:c,s=s(),y.memoizedState=[s,c],s},useReducer:function(s,c,y){var S=Oo();return c=y!==void 0?y(c):c,S.memoizedState=S.baseState=c,s={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:s,lastRenderedState:c},S.queue=s,s=s.dispatch=Qh.bind(null,Dn,s),[S.memoizedState,s]},useRef:function(s){var c=Oo();return s={current:s},c.memoizedState=s},useState:Gc,useDebugValue:Xd,useDeferredValue:function(s){return Oo().memoizedState=s},useTransition:function(){var s=Gc(!1),c=s[0];return s=$d.bind(null,s[1]),Oo().memoizedState=s,[c,s]},useMutableSource:function(){},useSyncExternalStore:function(s,c,y){var S=Dn,k=Oo();if(wt){if(y===void 0)throw Error(N(407));y=y()}else{if(y=c(),Le===null)throw Error(N(349));(ml&30)!==0||Yh(S,c,y)}k.memoizedState=y;var R={value:y,getSnapshot:c};return k.queue=R,Gd(Sl.bind(null,S,R,s),[s]),S.flags|=2048,ps(9,qd.bind(null,S,R,y,c),void 0,null),y},useId:function(){var s=Oo(),c=Le.identifierPrefix;if(wt){var y=bi,S=ko;y=(S&~(1<<32-Yr(S)-1)).toString(32)+y,c=":"+c+"R"+y,y=su++,0<\/script>",s=s.removeChild(s.firstChild)):typeof S.is=="string"?s=V.createElement(y,{is:S.is}):(s=V.createElement(y),y==="select"&&(V=s,S.multiple?V.multiple=!0:S.size&&(V.size=S.size))):s=V.createElementNS(s,y),s[di]=c,s[dl]=S,ip(s,c,!1,!1),c.stateNode=s;e:{switch(V=od(y,S),y){case"dialog":En("cancel",s),En("close",s),k=S;break;case"iframe":case"object":case"embed":En("load",s),k=S;break;case"video":case"audio":for(k=0;kCl&&(c.flags|=128,S=!0,Ua(R,!1),c.lanes=4194304)}else{if(!S)if(s=ka(V),s!==null){if(c.flags|=128,S=!0,y=s.updateQueue,y!==null&&(c.updateQueue=y,c.flags|=4),Ua(R,!0),R.tail===null&&R.tailMode==="hidden"&&!V.alternate&&!wt)return Dr(c),null}else 2*In()-R.renderingStartTime>Cl&&y!==1073741824&&(c.flags|=128,S=!0,Ua(R,!1),c.lanes=4194304);R.isBackwards?(V.sibling=c.child,c.child=V):(y=R.last,y!==null?y.sibling=V:c.child=V,R.last=V)}return R.tail!==null?(c=R.tail,R.rendering=c,R.tail=c.sibling,R.renderingStartTime=In(),c.sibling=null,y=kn.current,un(kn,S?y&1|2:y&1),c):(Dr(c),null);case 22:case 23:return Ha(),S=c.memoizedState!==null,s!==null&&s.memoizedState!==null!==S&&(c.flags|=8192),S&&(c.mode&1)!==0?(gi&1073741824)!==0&&(Dr(c),c.subtreeFlags&6&&(c.flags|=8192)):Dr(c),null;case 24:return null;case 25:return null}throw Error(N(156,c.tag))}function nf(s,c){switch(Bt(c),c.tag){case 1:return dr(c.type)&&bc(),s=c.flags,s&65536?(c.flags=s&-65537|128,c):null;case 3:return as(),vn(Nr),vn(fr),Fd(),s=c.flags,(s&65536)!==0&&(s&128)===0?(c.flags=s&-65537|128,c):null;case 5:return Ca(c),null;case 13:if(vn(kn),s=c.memoizedState,s!==null&&s.dehydrated!==null){if(c.alternate===null)throw Error(N(340));iu()}return s=c.flags,s&65536?(c.flags=s&-65537|128,c):null;case 19:return vn(kn),null;case 4:return as(),null;case 10:return xa(c.type._context),null;case 22:case 23:return Ha(),null;case 24:return null;default:return null}}var rf=!1,$n=!1,wl=typeof WeakSet=="function"?WeakSet:Set,Ke=null;function Fu(s,c){var y=s.ref;if(y!==null)if(typeof y=="function")try{y(null)}catch(S){Ln(s,c,S)}else y.current=null}function Ku(s,c,y){try{y()}catch(S){Ln(s,c,S)}}var ny=!1;function xs(s,c){if(Oc=pn,s=ca(),cr(s)){if("selectionStart"in s)var y={start:s.selectionStart,end:s.selectionEnd};else e:{y=(y=s.ownerDocument)&&y.defaultView||window;var S=y.getSelection&&y.getSelection();if(S&&S.rangeCount!==0){y=S.anchorNode;var k=S.anchorOffset,R=S.focusNode;S=S.focusOffset;try{y.nodeType,R.nodeType}catch{y=null;break e}var V=0,J=-1,te=-1,me=0,Ee=0,Pe=s,xe=null;t:for(;;){for(var He;Pe!==y||k!==0&&Pe.nodeType!==3||(J=V+k),Pe!==R||S!==0&&Pe.nodeType!==3||(te=V+S),Pe.nodeType===3&&(V+=Pe.nodeValue.length),(He=Pe.firstChild)!==null;)xe=Pe,Pe=He;for(;;){if(Pe===s)break t;if(xe===y&&++me===k&&(J=V),xe===R&&++Ee===S&&(te=V),(He=Pe.nextSibling)!==null)break;Pe=xe,xe=Pe.parentNode}Pe=He}y=J===-1||te===-1?null:{start:J,end:te}}else y=null}y=y||{start:0,end:0}}else y=null;for(Dd={focusedElem:s,selectionRange:y},pn=!1,Ke=c;Ke!==null;)if(c=Ke,s=c.child,(c.subtreeFlags&1028)!==0&&s!==null)s.return=c,Ke=s;else for(;Ke!==null;){c=Ke;try{var et=c.alternate;if((c.flags&1024)!==0)switch(c.tag){case 0:case 11:case 15:break;case 1:if(et!==null){var tt=et.memoizedProps,Kn=et.memoizedState,ce=c.stateNode,ne=ce.getSnapshotBeforeUpdate(c.elementType===c.type?tt:Ni(c.type,tt),Kn);ce.__reactInternalSnapshotBeforeUpdate=ne}break;case 3:var ye=c.stateNode.containerInfo;ye.nodeType===1?ye.textContent="":ye.nodeType===9&&ye.documentElement&&ye.removeChild(ye.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(N(163))}}catch(Re){Ln(c,c.return,Re)}if(s=c.sibling,s!==null){s.return=c.return,Ke=s;break}Ke=c.return}return et=ny,ny=!1,et}function ja(s,c,y){var S=c.updateQueue;if(S=S!==null?S.lastEffect:null,S!==null){var k=S=S.next;do{if((k.tag&s)===s){var R=k.destroy;k.destroy=void 0,R!==void 0&&Ku(c,y,R)}k=k.next}while(k!==S)}}function Tl(s,c){if(c=c.updateQueue,c=c!==null?c.lastEffect:null,c!==null){var y=c=c.next;do{if((y.tag&s)===s){var S=y.create;y.destroy=S()}y=y.next}while(y!==c)}}function up(s){var c=s.ref;if(c!==null){var y=s.stateNode;switch(s.tag){case 5:s=y;break;default:s=y}typeof c=="function"?c(s):c.current=s}}function ry(s){var c=s.alternate;c!==null&&(s.alternate=null,ry(c)),s.child=null,s.deletions=null,s.sibling=null,s.tag===5&&(c=s.stateNode,c!==null&&(delete c[di],delete c[dl],delete c[Md],delete c[pv],delete c[rs])),s.stateNode=null,s.return=null,s.dependencies=null,s.memoizedProps=null,s.memoizedState=null,s.pendingProps=null,s.stateNode=null,s.updateQueue=null}function lp(s){return s.tag===5||s.tag===3||s.tag===4}function iy(s){e:for(;;){for(;s.sibling===null;){if(s.return===null||lp(s.return))return null;s=s.return}for(s.sibling.return=s.return,s=s.sibling;s.tag!==5&&s.tag!==6&&s.tag!==18;){if(s.flags&2||s.child===null||s.tag===4)continue e;s.child.return=s,s=s.child}if(!(s.flags&2))return s.stateNode}}function sp(s,c,y){var S=s.tag;if(S===5||S===6)s=s.stateNode,c?y.nodeType===8?y.parentNode.insertBefore(s,c):y.insertBefore(s,c):(y.nodeType===8?(c=y.parentNode,c.insertBefore(s,y)):(c=y,c.appendChild(s)),y=y._reactRootContainer,y!=null||c.onclick!==null||(c.onclick=ya));else if(S!==4&&(s=s.child,s!==null))for(sp(s,c,y),s=s.sibling;s!==null;)sp(s,c,y),s=s.sibling}function ap(s,c,y){var S=s.tag;if(S===5||S===6)s=s.stateNode,c?y.insertBefore(s,c):y.appendChild(s);else if(S!==4&&(s=s.child,s!==null))for(ap(s,c,y),s=s.sibling;s!==null;)ap(s,c,y),s=s.sibling}var Jn=null,Zr=!1;function yi(s,c,y){for(y=y.child;y!==null;)xl(s,c,y),y=y.sibling}function xl(s,c,y){if(Xr&&typeof Xr.onCommitFiberUnmount=="function")try{Xr.onCommitFiberUnmount(So,y)}catch{}switch(y.tag){case 5:$n||Fu(y,c);case 6:var S=Jn,k=Zr;Jn=null,yi(s,c,y),Jn=S,Zr=k,Jn!==null&&(Zr?(s=Jn,y=y.stateNode,s.nodeType===8?s.parentNode.removeChild(y):s.removeChild(y)):Jn.removeChild(y.stateNode));break;case 18:Jn!==null&&(Zr?(s=Jn,y=y.stateNode,s.nodeType===8?Rc(s.parentNode,y):s.nodeType===1&&Rc(s,y),rr(s)):Rc(Jn,y.stateNode));break;case 4:S=Jn,k=Zr,Jn=y.stateNode.containerInfo,Zr=!0,yi(s,c,y),Jn=S,Zr=k;break;case 0:case 11:case 14:case 15:if(!$n&&(S=y.updateQueue,S!==null&&(S=S.lastEffect,S!==null))){k=S=S.next;do{var R=k,V=R.destroy;R=R.tag,V!==void 0&&((R&2)!==0||(R&4)!==0)&&Ku(y,c,V),k=k.next}while(k!==S)}yi(s,c,y);break;case 1:if(!$n&&(Fu(y,c),S=y.stateNode,typeof S.componentWillUnmount=="function"))try{S.props=y.memoizedProps,S.state=y.memoizedState,S.componentWillUnmount()}catch(J){Ln(y,c,J)}yi(s,c,y);break;case 21:yi(s,c,y);break;case 22:y.mode&1?($n=(S=$n)||y.memoizedState!==null,yi(s,c,y),$n=S):yi(s,c,y);break;default:yi(s,c,y)}}function bo(s){var c=s.updateQueue;if(c!==null){s.updateQueue=null;var y=s.stateNode;y===null&&(y=s.stateNode=new wl),c.forEach(function(S){var k=df.bind(null,s,S);y.has(S)||(y.add(S),S.then(k,k))})}}function en(s,c){var y=c.deletions;if(y!==null)for(var S=0;Sk&&(k=V),S&=~R}if(S=k,S=In()-S,S=(120>S?120:480>S?480:1080>S?1080:1920>S?1920:3e3>S?3e3:4320>S?4320:1960*ay(S/1960))-S,10s?16:s,hu===null)var S=!1;else{if(s=hu,hu=null,Fa=0,(Jt&6)!==0)throw Error(N(331));var k=Jt;for(Jt|=4,Ke=s.current;Ke!==null;){var R=Ke,V=R.child;if((Ke.flags&16)!==0){var J=R.deletions;if(J!==null){for(var te=0;teIn()-sf?No(s,0):lf|=y),Or(s,c)}function dy(s,c){c===0&&((s.mode&1)===0?c=1:(c=xu,xu<<=1,(xu&130023424)===0&&(xu=4194304)));var y=wn();s=ro(s,c),s!==null&&(Ji(s,c,y),Or(s,y))}function wv(s){var c=s.memoizedState,y=0;c!==null&&(y=c.retryLane),dy(s,y)}function df(s,c){var y=0;switch(s.tag){case 13:var S=s.stateNode,k=s.memoizedState;k!==null&&(y=k.retryLane);break;case 19:S=s.stateNode;break;default:throw Error(N(314))}S!==null&&S.delete(c),dy(s,y)}var Pl;Pl=function(s,c,y){if(s!==null)if(s.memoizedProps!==c.pendingProps||Nr.current)ir=!0;else{if((s.lanes&y)===0&&(c.flags&128)===0)return ir=!1,_a(s,c,y);ir=(s.flags&131072)!==0}else ir=!1,wt&&(c.flags&1048576)!==0&&yl(c,Sa,c.index);switch(c.lanes=0,c.tag){case 2:var S=c.type;Ts(s,c),s=c.pendingProps;var k=is(c,fr.current);vl(c,y),k=Kd(null,c,S,s,k,y);var R=Kc();return c.flags|=1,typeof k=="object"&&k!==null&&typeof k.render=="function"&&k.$$typeof===void 0?(c.tag=1,c.memoizedState=null,c.updateQueue=null,dr(S)?(R=!0,os(c)):R=!1,c.memoizedState=k.state!==null&&k.state!==void 0?k.state:null,ls(c),k.updater=oo,c.stateNode=k,k._reactInternals=c,Ra(c,S,s,y),c=Vu(null,c,S,!0,R,y)):(c.tag=0,wt&&R&&ru(c),cn(null,c,k,y),c=c.child),c;case 16:S=c.elementType;e:{switch(Ts(s,c),s=c.pendingProps,k=S._init,S=k(S._payload),c.type=S,k=c.tag=xv(S),s=Ni(S,s),k){case 0:c=or(null,c,S,s,y);break e;case 1:c=Oe(null,c,S,s,y);break e;case 11:c=Ro(null,c,S,s,y);break e;case 14:c=Jc(null,c,S,Ni(S.type,s),y);break e}throw Error(N(306,S,""))}return c;case 0:return S=c.type,k=c.pendingProps,k=c.elementType===S?k:Ni(S,k),or(s,c,S,k,y);case 1:return S=c.type,k=c.pendingProps,k=c.elementType===S?k:Ni(S,k),Oe(s,c,S,k,y);case 3:e:{if(Be(c),s===null)throw Error(N(387));S=c.pendingProps,R=c.memoizedState,k=R.element,Gh(s,c),Ia(c,S,null,y);var V=c.memoizedState;if(S=V.element,R.isDehydrated)if(R={element:S,isDehydrated:!1,cache:V.cache,pendingSuspenseBoundaries:V.pendingSuspenseBoundaries,transitions:V.transitions},c.updateQueue.baseState=R,c.memoizedState=R,c.flags&256){k=ms(Error(N(423)),c),c=Ct(s,c,S,y,k);break e}else if(S!==k){k=ms(Error(N(424)),c),c=Ct(s,c,S,y,k);break e}else for(Qr=Ru(c.stateNode.containerInfo.firstChild),Bn=c,wt=!0,no=null,y=Ao(c,null,S,y),c.child=y;y;)y.flags=y.flags&-3|4096,y=y.sibling;else{if(iu(),S===k){c=fu(s,c,y);break e}cn(s,c,S,y)}c=c.child}return c;case 5:return Xh(c),s===null&&Nc(c),S=c.type,k=c.pendingProps,R=s!==null?s.memoizedProps:null,V=k.children,Od(S,k)?V=null:R!==null&&Od(S,R)&&(c.flags|=32),Qc(s,c),cn(s,c,V,y),c.child;case 6:return s===null&&Nc(c),null;case 13:return Xt(s,c,y);case 4:return Bc(c,c.stateNode.containerInfo),S=c.pendingProps,s===null?c.child=Mt(c,null,S,y):cn(s,c,S,y),c.child;case 11:return S=c.type,k=c.pendingProps,k=c.elementType===S?k:Ni(S,k),Ro(s,c,S,k,y);case 7:return cn(s,c,c.pendingProps,y),c.child;case 8:return cn(s,c,c.pendingProps.children,y),c.child;case 12:return cn(s,c,c.pendingProps.children,y),c.child;case 10:e:{if(S=c.type._context,k=c.pendingProps,R=c.memoizedProps,V=k.value,un(Ta,S._currentValue),S._currentValue=V,R!==null)if(Yn(R.value,V)){if(R.children===k.children&&!Nr.current){c=fu(s,c,y);break e}}else for(R=c.child,R!==null&&(R.return=c);R!==null;){var J=R.dependencies;if(J!==null){V=R.child;for(var te=J.firstContext;te!==null;){if(te.context===S){if(R.tag===1){te=ou(-1,y&-y),te.tag=2;var me=R.updateQueue;if(me!==null){me=me.shared;var Ee=me.pending;Ee===null?te.next=te:(te.next=Ee.next,Ee.next=te),me.pending=te}}R.lanes|=y,te=R.alternate,te!==null&&(te.lanes|=y),_u(R.return,y,c),J.lanes|=y;break}te=te.next}}else if(R.tag===10)V=R.type===c.type?null:R.child;else if(R.tag===18){if(V=R.return,V===null)throw Error(N(341));V.lanes|=y,J=V.alternate,J!==null&&(J.lanes|=y),_u(V,y,c),V=R.sibling}else V=R.child;if(V!==null)V.return=R;else for(V=R;V!==null;){if(V===c){V=null;break}if(R=V.sibling,R!==null){R.return=V.return,V=R;break}V=V.return}R=V}cn(s,c,k.children,y),c=c.child}return c;case 9:return k=c.type,S=c.pendingProps.children,vl(c,y),k=Ur(k),S=S(k),c.flags|=1,cn(s,c,S,y),c.child;case 14:return S=c.type,k=Ni(S,c.pendingProps),k=Ni(S.type,k),Jc(s,c,S,k,y);case 15:return Pr(s,c,c.type,c.pendingProps,y);case 17:return S=c.type,k=c.pendingProps,k=c.elementType===S?k:Ni(S,k),Ts(s,c),c.tag=1,dr(S)?(s=!0,os(c)):s=!1,vl(c,y),Qd(c,S,k),Ra(c,S,k,y),Vu(null,c,S,!0,s,y);case 19:return ws(s,c,y);case 22:return dt(s,c,y)}throw Error(N(156,c.tag))};function Sp(s,c){return zl(s,c)}function Tv(s,c,y,S){this.tag=s,this.key=y,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=c,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=S,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ji(s,c,y,S){return new Tv(s,c,y,S)}function wp(s){return s=s.prototype,!(!s||!s.isReactComponent)}function xv(s){if(typeof s=="function")return wp(s)?1:0;if(s!=null){if(s=s.$$typeof,s===pe)return 11;if(s===ke)return 14}return 2}function _o(s,c){var y=s.alternate;return y===null?(y=ji(s.tag,c,s.key,s.mode),y.elementType=s.elementType,y.type=s.type,y.stateNode=s.stateNode,y.alternate=s,s.alternate=y):(y.pendingProps=c,y.type=s.type,y.flags=0,y.subtreeFlags=0,y.deletions=null),y.flags=s.flags&14680064,y.childLanes=s.childLanes,y.lanes=s.lanes,y.child=s.child,y.memoizedProps=s.memoizedProps,y.memoizedState=s.memoizedState,y.updateQueue=s.updateQueue,c=s.dependencies,y.dependencies=c===null?null:{lanes:c.lanes,firstContext:c.firstContext},y.sibling=s.sibling,y.index=s.index,y.ref=s.ref,y}function Ga(s,c,y,S,k,R){var V=2;if(S=s,typeof s=="function")wp(s)&&(V=1);else if(typeof s=="string")V=5;else e:switch(s){case ln:return Uo(y.children,k,R,c);case xn:V=8,k|=8;break;case mn:return s=ji(12,y,c,k|2),s.elementType=mn,s.lanes=R,s;case qe:return s=ji(13,y,c,k),s.elementType=qe,s.lanes=R,s;case be:return s=ji(19,y,c,k),s.elementType=be,s.lanes=R,s;case Ot:return pf(y,k,R,c);default:if(typeof s=="object"&&s!==null)switch(s.$$typeof){case _:V=10;break e;case le:V=9;break e;case pe:V=11;break e;case ke:V=14;break e;case Ut:V=16,S=null;break e}throw Error(N(130,s==null?s:typeof s,""))}return c=ji(V,y,c,k),c.elementType=s,c.type=S,c.lanes=R,c}function Uo(s,c,y,S){return s=ji(7,s,S,c),s.lanes=y,s}function pf(s,c,y,S){return s=ji(22,s,S,c),s.elementType=Ot,s.lanes=y,s.stateNode={isHidden:!1},s}function qu(s,c,y){return s=ji(6,s,null,c),s.lanes=y,s}function Tp(s,c,y){return c=ji(4,s.children!==null?s.children:[],s.key,c),c.lanes=y,c.stateNode={containerInfo:s.containerInfo,pendingChildren:null,implementation:s.implementation},c}function hf(s,c,y,S,k){this.tag=c,this.containerInfo=s,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Iu(0),this.expirationTimes=Iu(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Iu(0),this.identifierPrefix=S,this.onRecoverableError=k,this.mutableSourceEagerHydrationData=null}function xp(s,c,y,S,k,R,V,J,te){return s=new hf(s,c,y,J,te),c===1?(c=1,R===!0&&(c|=8)):c=0,R=ji(3,null,null,c),s.current=R,R.stateNode=s,R.memoizedState={element:S,isDehydrated:y,cache:null,transitions:null,pendingSuspenseBoundaries:null},ls(R),s}function py(s,c,y){var S=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(b)}catch(D){console.error(D)}}return b(),U0.exports=TD(),U0.exports}var T2;function ID(){if(T2)return Gg;T2=1;var b=xD();return Gg.createRoot=b.createRoot,Gg.hydrateRoot=b.hydrateRoot,Gg}var ED=ID(),yh={},x2;function CD(){if(x2)return yh;x2=1,Object.defineProperty(yh,"__esModule",{value:!0}),yh.parse=O,yh.serialize=u;const b=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,D=/^[\u0021-\u003A\u003C-\u007E]*$/,N=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,x=/^[\u0020-\u003A\u003D-\u007E]*$/,T=Object.prototype.toString,j=(()=>{const A=function(){};return A.prototype=Object.create(null),A})();function O(A,z){const I=new j,ee=A.length;if(ee<2)return I;const ie=(z==null?void 0:z.decode)||d;let ve=0;do{const Ae=A.indexOf("=",ve);if(Ae===-1)break;const oe=A.indexOf(";",ve),De=oe===-1?ee:oe;if(Ae>De){ve=A.lastIndexOf(";",Ae-1)+1;continue}const Ge=h(A,ve,Ae),mt=l(A,Ae,Ge),ln=A.slice(Ge,mt);if(I[ln]===void 0){let xn=h(A,Ae+1,De),mn=l(A,De,xn);const _=ie(A.slice(xn,mn));I[ln]=_}ve=De+1}while(veI;){const ee=A.charCodeAt(--z);if(ee!==32&&ee!==9)return z+1}return I}function u(A,z,I){const ee=(I==null?void 0:I.encode)||encodeURIComponent;if(!b.test(A))throw new TypeError(`argument name is invalid: ${A}`);const ie=ee(z);if(!D.test(ie))throw new TypeError(`argument val is invalid: ${z}`);let ve=A+"="+ie;if(!I)return ve;if(I.maxAge!==void 0){if(!Number.isInteger(I.maxAge))throw new TypeError(`option maxAge is invalid: ${I.maxAge}`);ve+="; Max-Age="+I.maxAge}if(I.domain){if(!N.test(I.domain))throw new TypeError(`option domain is invalid: ${I.domain}`);ve+="; Domain="+I.domain}if(I.path){if(!x.test(I.path))throw new TypeError(`option path is invalid: ${I.path}`);ve+="; Path="+I.path}if(I.expires){if(!v(I.expires)||!Number.isFinite(I.expires.valueOf()))throw new TypeError(`option expires is invalid: ${I.expires}`);ve+="; Expires="+I.expires.toUTCString()}if(I.httpOnly&&(ve+="; HttpOnly"),I.secure&&(ve+="; Secure"),I.partitioned&&(ve+="; Partitioned"),I.priority)switch(typeof I.priority=="string"?I.priority.toLowerCase():void 0){case"low":ve+="; Priority=Low";break;case"medium":ve+="; Priority=Medium";break;case"high":ve+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${I.priority}`)}if(I.sameSite)switch(typeof I.sameSite=="string"?I.sameSite.toLowerCase():I.sameSite){case!0:case"strict":ve+="; SameSite=Strict";break;case"lax":ve+="; SameSite=Lax";break;case"none":ve+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${I.sameSite}`)}return ve}function d(A){if(A.indexOf("%")===-1)return A;try{return decodeURIComponent(A)}catch{return A}}function v(A){return T.call(A)==="[object Date]"}return yh}CD();/** + * react-router v7.1.3 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */var I2="popstate";function kD(b={}){function D(x,T){let{pathname:j,search:O,hash:h}=x.location;return J0("",{pathname:j,search:O,hash:h},T.state&&T.state.usr||null,T.state&&T.state.key||"default")}function N(x,T){return typeof T=="string"?T:xh(T)}return PD(D,N,null,b)}function zn(b,D){if(b===!1||b===null||typeof b>"u")throw new Error(D)}function Yu(b,D){if(!b){typeof console<"u"&&console.warn(D);try{throw new Error(D)}catch{}}}function AD(){return Math.random().toString(36).substring(2,10)}function E2(b,D){return{usr:b.state,key:b.key,idx:D}}function J0(b,D,N=null,x){return{pathname:typeof b=="string"?b:b.pathname,search:"",hash:"",...typeof D=="string"?Zf(D):D,state:N,key:D&&D.key||x||AD()}}function xh({pathname:b="/",search:D="",hash:N=""}){return D&&D!=="?"&&(b+=D.charAt(0)==="?"?D:"?"+D),N&&N!=="#"&&(b+=N.charAt(0)==="#"?N:"#"+N),b}function Zf(b){let D={};if(b){let N=b.indexOf("#");N>=0&&(D.hash=b.substring(N),b=b.substring(0,N));let x=b.indexOf("?");x>=0&&(D.search=b.substring(x),b=b.substring(0,x)),b&&(D.pathname=b)}return D}function PD(b,D,N,x={}){let{window:T=document.defaultView,v5Compat:j=!1}=x,O=T.history,h="POP",l=null,u=d();u==null&&(u=0,O.replaceState({...O.state,idx:u},""));function d(){return(O.state||{idx:null}).idx}function v(){h="POP";let ie=d(),ve=ie==null?null:ie-u;u=ie,l&&l({action:h,location:ee.location,delta:ve})}function A(ie,ve){h="PUSH";let Ae=J0(ee.location,ie,ve);u=d()+1;let oe=E2(Ae,u),De=ee.createHref(Ae);try{O.pushState(oe,"",De)}catch(Ge){if(Ge instanceof DOMException&&Ge.name==="DataCloneError")throw Ge;T.location.assign(De)}j&&l&&l({action:h,location:ee.location,delta:1})}function z(ie,ve){h="REPLACE";let Ae=J0(ee.location,ie,ve);u=d();let oe=E2(Ae,u),De=ee.createHref(Ae);O.replaceState(oe,"",De),j&&l&&l({action:h,location:ee.location,delta:0})}function I(ie){let ve=T.location.origin!=="null"?T.location.origin:T.location.href,Ae=typeof ie=="string"?ie:xh(ie);return Ae=Ae.replace(/ $/,"%20"),zn(ve,`No window.location.(origin|href) available to create URL for href: ${Ae}`),new URL(Ae,ve)}let ee={get action(){return h},get location(){return b(T,O)},listen(ie){if(l)throw new Error("A history only accepts one active listener");return T.addEventListener(I2,v),l=ie,()=>{T.removeEventListener(I2,v),l=null}},createHref(ie){return D(T,ie)},createURL:I,encodeLocation(ie){let ve=I(ie);return{pathname:ve.pathname,search:ve.search,hash:ve.hash}},push:A,replace:z,go(ie){return O.go(ie)}};return ee}function V2(b,D,N="/"){return DD(b,D,N,!1)}function DD(b,D,N,x){let T=typeof D=="string"?Zf(D):D,j=Us(T.pathname||"/",N);if(j==null)return null;let O=F2(b);OD(O);let h=null;for(let l=0;h==null&&l{let l={relativePath:h===void 0?j.path||"":h,caseSensitive:j.caseSensitive===!0,childrenIndex:O,route:j};l.relativePath.startsWith("/")&&(zn(l.relativePath.startsWith(x),`Absolute route path "${l.relativePath}" nested under path "${x}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),l.relativePath=l.relativePath.slice(x.length));let u=Fl([x,l.relativePath]),d=N.concat(l);j.children&&j.children.length>0&&(zn(j.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${u}".`),F2(j.children,D,d,u)),!(j.path==null&&!j.index)&&D.push({path:u,score:UD(u,j.index),routesMeta:d})};return b.forEach((j,O)=>{var h;if(j.path===""||!((h=j.path)!=null&&h.includes("?")))T(j,O);else for(let l of K2(j.path))T(j,O,l)}),D}function K2(b){let D=b.split("/");if(D.length===0)return[];let[N,...x]=D,T=N.endsWith("?"),j=N.replace(/\?$/,"");if(x.length===0)return T?[j,""]:[j];let O=K2(x.join("/")),h=[];return h.push(...O.map(l=>l===""?j:[j,l].join("/"))),T&&h.push(...O),h.map(l=>b.startsWith("/")&&l===""?"/":l)}function OD(b){b.sort((D,N)=>D.score!==N.score?N.score-D.score:jD(D.routesMeta.map(x=>x.childrenIndex),N.routesMeta.map(x=>x.childrenIndex)))}var RD=/^:[\w-]+$/,bD=3,MD=2,LD=1,ND=10,_D=-2,C2=b=>b==="*";function UD(b,D){let N=b.split("/"),x=N.length;return N.some(C2)&&(x+=_D),D&&(x+=MD),N.filter(T=>!C2(T)).reduce((T,j)=>T+(RD.test(j)?bD:j===""?LD:ND),x)}function jD(b,D){return b.length===D.length&&b.slice(0,-1).every((x,T)=>x===D[T])?b[b.length-1]-D[D.length-1]:0}function BD(b,D,N=!1){let{routesMeta:x}=b,T={},j="/",O=[];for(let h=0;h{if(d==="*"){let I=h[A]||"";O=j.slice(0,j.length-I.length).replace(/(.)\/+$/,"$1")}const z=h[A];return v&&!z?u[d]=void 0:u[d]=(z||"").replace(/%2F/g,"/"),u},{}),pathname:j,pathnameBase:O,pattern:b}}function VD(b,D=!1,N=!0){Yu(b==="*"||!b.endsWith("*")||b.endsWith("/*"),`Route path "${b}" will be treated as if it were "${b.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${b.replace(/\*$/,"/*")}".`);let x=[],T="^"+b.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(O,h,l)=>(x.push({paramName:h,isOptional:l!=null}),l?"/?([^\\/]+)?":"/([^\\/]+)"));return b.endsWith("*")?(x.push({paramName:"*"}),T+=b==="*"||b==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):N?T+="\\/*$":b!==""&&b!=="/"&&(T+="(?:(?=\\/|$))"),[new RegExp(T,D?void 0:"i"),x]}function FD(b){try{return b.split("/").map(D=>decodeURIComponent(D).replace(/\//g,"%2F")).join("/")}catch(D){return Yu(!1,`The URL path "${b}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${D}).`),b}}function Us(b,D){if(D==="/")return b;if(!b.toLowerCase().startsWith(D.toLowerCase()))return null;let N=D.endsWith("/")?D.length-1:D.length,x=b.charAt(N);return x&&x!=="/"?null:b.slice(N)||"/"}function KD(b,D="/"){let{pathname:N,search:x="",hash:T=""}=typeof b=="string"?Zf(b):b;return{pathname:N?N.startsWith("/")?N:HD(N,D):D,search:GD(x),hash:WD(T)}}function HD(b,D){let N=D.replace(/\/+$/,"").split("/");return b.split("/").forEach(T=>{T===".."?N.length>1&&N.pop():T!=="."&&N.push(T)}),N.length>1?N.join("/"):"/"}function V0(b,D,N,x){return`Cannot include a '${b}' character in a manually specified \`to.${D}\` field [${JSON.stringify(x)}]. 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 qD(b){return b.filter((D,N)=>N===0||D.route.path&&D.route.path.length>0)}function H2(b){let D=qD(b);return D.map((N,x)=>x===D.length-1?N.pathname:N.pathnameBase)}function q2(b,D,N,x=!1){let T;typeof b=="string"?T=Zf(b):(T={...b},zn(!T.pathname||!T.pathname.includes("?"),V0("?","pathname","search",T)),zn(!T.pathname||!T.pathname.includes("#"),V0("#","pathname","hash",T)),zn(!T.search||!T.search.includes("#"),V0("#","search","hash",T)));let j=b===""||T.pathname==="",O=j?"/":T.pathname,h;if(O==null)h=N;else{let v=D.length-1;if(!x&&O.startsWith("..")){let A=O.split("/");for(;A[0]==="..";)A.shift(),v-=1;T.pathname=A.join("/")}h=v>=0?D[v]:"/"}let l=KD(T,h),u=O&&O!=="/"&&O.endsWith("/"),d=(j||O===".")&&N.endsWith("/");return!l.pathname.endsWith("/")&&(u||d)&&(l.pathname+="/"),l}var Fl=b=>b.join("/").replace(/\/\/+/g,"/"),zD=b=>b.replace(/\/+$/,"").replace(/^\/*/,"/"),GD=b=>!b||b==="?"?"":b.startsWith("?")?b:"?"+b,WD=b=>!b||b==="#"?"":b.startsWith("#")?b:"#"+b;function XD(b){return b!=null&&typeof b.status=="number"&&typeof b.statusText=="string"&&typeof b.internal=="boolean"&&"data"in b}var z2=["POST","PUT","PATCH","DELETE"];new Set(z2);var YD=["GET",...z2];new Set(YD);var ed=we.createContext(null);ed.displayName="DataRouter";var ev=we.createContext(null);ev.displayName="DataRouterState";var G2=we.createContext({isTransitioning:!1});G2.displayName="ViewTransition";var $D=we.createContext(new Map);$D.displayName="Fetchers";var JD=we.createContext(null);JD.displayName="Await";var $u=we.createContext(null);$u.displayName="Navigation";var Eh=we.createContext(null);Eh.displayName="Location";var Kl=we.createContext({outlet:null,matches:[],isDataRoute:!1});Kl.displayName="Route";var i1=we.createContext(null);i1.displayName="RouteError";function QD(b,{relative:D}={}){zn(Ch(),"useHref() may be used only in the context of a component.");let{basename:N,navigator:x}=we.useContext($u),{hash:T,pathname:j,search:O}=kh(b,{relative:D}),h=j;return N!=="/"&&(h=j==="/"?N:Fl([N,j])),x.createHref({pathname:h,search:O,hash:T})}function Ch(){return we.useContext(Eh)!=null}function js(){return zn(Ch(),"useLocation() may be used only in the context of a component."),we.useContext(Eh).location}var W2="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function X2(b){we.useContext($u).static||we.useLayoutEffect(b)}function ZD(){let{isDataRoute:b}=we.useContext(Kl);return b?dO():eO()}function eO(){zn(Ch(),"useNavigate() may be used only in the context of a component.");let b=we.useContext(ed),{basename:D,navigator:N}=we.useContext($u),{matches:x}=we.useContext(Kl),{pathname:T}=js(),j=JSON.stringify(H2(x)),O=we.useRef(!1);return X2(()=>{O.current=!0}),we.useCallback((l,u={})=>{if(Yu(O.current,W2),!O.current)return;if(typeof l=="number"){N.go(l);return}let d=q2(l,JSON.parse(j),T,u.relative==="path");b==null&&D!=="/"&&(d.pathname=d.pathname==="/"?D:Fl([D,d.pathname])),(u.replace?N.replace:N.push)(d,u.state,u)},[D,N,j,T,b])}we.createContext(null);function kh(b,{relative:D}={}){let{matches:N}=we.useContext(Kl),{pathname:x}=js(),T=JSON.stringify(H2(N));return we.useMemo(()=>q2(b,JSON.parse(T),x,D==="path"),[b,T,x,D])}function tO(b,D){return Y2(b,D)}function Y2(b,D,N,x){var ve;zn(Ch(),"useRoutes() may be used only in the context of a component.");let{navigator:T}=we.useContext($u),{matches:j}=we.useContext(Kl),O=j[j.length-1],h=O?O.params:{},l=O?O.pathname:"/",u=O?O.pathnameBase:"/",d=O&&O.route;{let Ae=d&&d.path||"";$2(l,!d||Ae.endsWith("*")||Ae.endsWith("*?"),`You rendered descendant (or called \`useRoutes()\`) at "${l}" (under ) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render. + +Please change the parent to .`)}let v=js(),A;if(D){let Ae=typeof D=="string"?Zf(D):D;zn(u==="/"||((ve=Ae.pathname)==null?void 0:ve.startsWith(u)),`When overriding the location using \`\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${u}" but pathname "${Ae.pathname}" was given in the \`location\` prop.`),A=Ae}else A=v;let z=A.pathname||"/",I=z;if(u!=="/"){let Ae=u.replace(/^\//,"").split("/");I="/"+z.replace(/^\//,"").split("/").slice(Ae.length).join("/")}let ee=V2(b,{pathname:I});Yu(d||ee!=null,`No routes matched location "${A.pathname}${A.search}${A.hash}" `),Yu(ee==null||ee[ee.length-1].route.element!==void 0||ee[ee.length-1].route.Component!==void 0||ee[ee.length-1].route.lazy!==void 0,`Matched leaf route at location "${A.pathname}${A.search}${A.hash}" does not have an element or Component. This means it will render an with a null value by default resulting in an "empty" page.`);let ie=uO(ee&&ee.map(Ae=>Object.assign({},Ae,{params:Object.assign({},h,Ae.params),pathname:Fl([u,T.encodeLocation?T.encodeLocation(Ae.pathname).pathname:Ae.pathname]),pathnameBase:Ae.pathnameBase==="/"?u:Fl([u,T.encodeLocation?T.encodeLocation(Ae.pathnameBase).pathname:Ae.pathnameBase])})),j,N,x);return D&&ie?we.createElement(Eh.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",...A},navigationType:"POP"}},ie):ie}function nO(){let b=fO(),D=XD(b)?`${b.status} ${b.statusText}`:b instanceof Error?b.message:JSON.stringify(b),N=b instanceof Error?b.stack:null,x="rgba(200,200,200, 0.5)",T={padding:"0.5rem",backgroundColor:x},j={padding:"2px 4px",backgroundColor:x},O=null;return console.error("Error handled by React Router default ErrorBoundary:",b),O=we.createElement(we.Fragment,null,we.createElement("p",null,"💿 Hey developer 👋"),we.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",we.createElement("code",{style:j},"ErrorBoundary")," or"," ",we.createElement("code",{style:j},"errorElement")," prop on your route.")),we.createElement(we.Fragment,null,we.createElement("h2",null,"Unexpected Application Error!"),we.createElement("h3",{style:{fontStyle:"italic"}},D),N?we.createElement("pre",{style:T},N):null,O)}var rO=we.createElement(nO,null),iO=class extends we.Component{constructor(b){super(b),this.state={location:b.location,revalidation:b.revalidation,error:b.error}}static getDerivedStateFromError(b){return{error:b}}static getDerivedStateFromProps(b,D){return D.location!==b.location||D.revalidation!=="idle"&&b.revalidation==="idle"?{error:b.error,location:b.location,revalidation:b.revalidation}:{error:b.error!==void 0?b.error:D.error,location:D.location,revalidation:b.revalidation||D.revalidation}}componentDidCatch(b,D){console.error("React Router caught the following error during render",b,D)}render(){return this.state.error!==void 0?we.createElement(Kl.Provider,{value:this.props.routeContext},we.createElement(i1.Provider,{value:this.state.error,children:this.props.component})):this.props.children}};function oO({routeContext:b,match:D,children:N}){let x=we.useContext(ed);return x&&x.static&&x.staticContext&&(D.route.errorElement||D.route.ErrorBoundary)&&(x.staticContext._deepestRenderedBoundaryId=D.route.id),we.createElement(Kl.Provider,{value:b},N)}function uO(b,D=[],N=null,x=null){if(b==null){if(!N)return null;if(N.errors)b=N.matches;else if(D.length===0&&!N.initialized&&N.matches.length>0)b=N.matches;else return null}let T=b,j=N==null?void 0:N.errors;if(j!=null){let l=T.findIndex(u=>u.route.id&&(j==null?void 0:j[u.route.id])!==void 0);zn(l>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(j).join(",")}`),T=T.slice(0,Math.min(T.length,l+1))}let O=!1,h=-1;if(N)for(let l=0;l=0?T=T.slice(0,h+1):T=[T[0]];break}}}return T.reduceRight((l,u,d)=>{let v,A=!1,z=null,I=null;N&&(v=j&&u.route.id?j[u.route.id]:void 0,z=u.route.errorElement||rO,O&&(h<0&&d===0?($2("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),A=!0,I=null):h===d&&(A=!0,I=u.route.hydrateFallbackElement||null)));let ee=D.concat(T.slice(0,d+1)),ie=()=>{let ve;return v?ve=z:A?ve=I:u.route.Component?ve=we.createElement(u.route.Component,null):u.route.element?ve=u.route.element:ve=l,we.createElement(oO,{match:u,routeContext:{outlet:l,matches:ee,isDataRoute:N!=null},children:ve})};return N&&(u.route.ErrorBoundary||u.route.errorElement||d===0)?we.createElement(iO,{location:N.location,revalidation:N.revalidation,component:z,error:v,children:ie(),routeContext:{outlet:null,matches:ee,isDataRoute:!0}}):ie()},null)}function o1(b){return`${b} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function lO(b){let D=we.useContext(ed);return zn(D,o1(b)),D}function sO(b){let D=we.useContext(ev);return zn(D,o1(b)),D}function aO(b){let D=we.useContext(Kl);return zn(D,o1(b)),D}function u1(b){let D=aO(b),N=D.matches[D.matches.length-1];return zn(N.route.id,`${b} can only be used on routes that contain a unique "id"`),N.route.id}function cO(){return u1("useRouteId")}function fO(){var x;let b=we.useContext(i1),D=sO("useRouteError"),N=u1("useRouteError");return b!==void 0?b:(x=D.errors)==null?void 0:x[N]}function dO(){let{router:b}=lO("useNavigate"),D=u1("useNavigate"),N=we.useRef(!1);return X2(()=>{N.current=!0}),we.useCallback(async(T,j={})=>{Yu(N.current,W2),N.current&&(typeof T=="number"?b.navigate(T):await b.navigate(T,{fromRouteId:D,...j}))},[b,D])}var k2={};function $2(b,D,N){!D&&!k2[b]&&(k2[b]=!0,Yu(!1,N))}we.memo(pO);function pO({routes:b,future:D,state:N}){return Y2(b,void 0,N,D)}function Sh(b){zn(!1,"A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .")}function hO({basename:b="/",children:D=null,location:N,navigationType:x="POP",navigator:T,static:j=!1}){zn(!Ch(),"You cannot render a inside another . You should never have more than one in your app.");let O=b.replace(/^\/*/,"/"),h=we.useMemo(()=>({basename:O,navigator:T,static:j,future:{}}),[O,T,j]);typeof N=="string"&&(N=Zf(N));let{pathname:l="/",search:u="",hash:d="",state:v=null,key:A="default"}=N,z=we.useMemo(()=>{let I=Us(l,O);return I==null?null:{location:{pathname:I,search:u,hash:d,state:v,key:A},navigationType:x}},[O,l,u,d,v,A,x]);return Yu(z!=null,` is not able to match the URL "${l}${u}${d}" because it does not start with the basename, so the won't render anything.`),z==null?null:we.createElement($u.Provider,{value:h},we.createElement(Eh.Provider,{children:D,value:z}))}function yO({children:b,location:D}){return tO(Q0(b),D)}function Q0(b,D=[]){let N=[];return we.Children.forEach(b,(x,T)=>{if(!we.isValidElement(x))return;let j=[...D,T];if(x.type===we.Fragment){N.push.apply(N,Q0(x.props.children,j));return}zn(x.type===Sh,`[${typeof x.type=="string"?x.type:x.type.name}] is not a component. All component children of must be a or `),zn(!x.props.index||!x.props.children,"An index route cannot have child routes.");let O={id:x.props.id||j.join("-"),caseSensitive:x.props.caseSensitive,element:x.props.element,Component:x.props.Component,index:x.props.index,path:x.props.path,loader:x.props.loader,action:x.props.action,hydrateFallbackElement:x.props.hydrateFallbackElement,HydrateFallback:x.props.HydrateFallback,errorElement:x.props.errorElement,ErrorBoundary:x.props.ErrorBoundary,hasErrorBoundary:x.props.hasErrorBoundary===!0||x.props.ErrorBoundary!=null||x.props.errorElement!=null,shouldRevalidate:x.props.shouldRevalidate,handle:x.props.handle,lazy:x.props.lazy};x.props.children&&(O.children=Q0(x.props.children,j)),N.push(O)}),N}var Yg="get",$g="application/x-www-form-urlencoded";function tv(b){return b!=null&&typeof b.tagName=="string"}function gO(b){return tv(b)&&b.tagName.toLowerCase()==="button"}function vO(b){return tv(b)&&b.tagName.toLowerCase()==="form"}function mO(b){return tv(b)&&b.tagName.toLowerCase()==="input"}function SO(b){return!!(b.metaKey||b.altKey||b.ctrlKey||b.shiftKey)}function wO(b,D){return b.button===0&&(!D||D==="_self")&&!SO(b)}var Wg=null;function TO(){if(Wg===null)try{new FormData(document.createElement("form"),0),Wg=!1}catch{Wg=!0}return Wg}var xO=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function F0(b){return b!=null&&!xO.has(b)?(Yu(!1,`"${b}" is not a valid \`encType\` for \`
\`/\`\` and will default to "${$g}"`),null):b}function IO(b,D){let N,x,T,j,O;if(vO(b)){let h=b.getAttribute("action");x=h?Us(h,D):null,N=b.getAttribute("method")||Yg,T=F0(b.getAttribute("enctype"))||$g,j=new FormData(b)}else if(gO(b)||mO(b)&&(b.type==="submit"||b.type==="image")){let h=b.form;if(h==null)throw new Error('Cannot submit a + +

+ +
+
+ + + + + + + + + + {cacheData.length > 0 ? ( + cacheData.map((item, index) => ( + + + + + + )) + ) : ( + + + + )} + +
PSSHKIDKey
{item.PSSH}{item.KID}{item.Key}
+ No data found +
+
+
+ + + ); +} + +export default Cache; diff --git a/cdrm-frontend/src/components/Pages/Home.jsx b/cdrm-frontend/src/components/Pages/Home.jsx new file mode 100644 index 0000000..326fc7b --- /dev/null +++ b/cdrm-frontend/src/components/Pages/Home.jsx @@ -0,0 +1,124 @@ +import React, { useState, useEffect } from 'react'; +import { Helmet } from 'react-helmet'; +import { readTextFromClipboard } from '../functions/ParseChallenge'; + +function Home() { + const [message, setMessage] = useState(''); + const [isVisible, setIsVisible] = useState(false); + + const scrollToTop = () => { + let divToScroll = document.getElementById('main_content'); + divToScroll.scrollTop = 0; // Scroll to the top of the div + }; + + const copyToClipboard = (event) => { + let message = document.getElementById('messageresults').innerHTML; + + // Replace
tags with newline characters + message = message.replace(//gi, '\n'); + + // Use textContent to get the actual text without HTML tags + navigator.clipboard.writeText(message); // Copy the message to the clipboard + console.log(message); + }; + + // Handlers for form submission and reset + const handleSubmit = (event) => { + event.preventDefault(); + }; + + const handleSubmitButton = (event) => { + let pssh = document.getElementById('pssh').value; + let licurl = document.getElementById('licurl').value; + let headers = document.getElementById('headers').value; + let cookies = document.getElementById('cookies').value; + let data = document.getElementById('data').value; + + fetch('/api/decrypt', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + pssh: pssh, + licurl: licurl, + headers: headers, + cookies: cookies, + data: data + }), + }) + .then(response => response.json()) + .then(data => { + const resultMessage = data['message'].replace(/\n/g, '
'); // Format the message as HTML + setMessage(resultMessage); + setIsVisible(true); + }) + .catch((error) => { + console.error('Error during decryption request:', error); + setMessage('Error: Unable to process request.'); + setIsVisible(true); + }); +}; + + + const handleResetButton = (event) => { + let pssh = document.getElementById('pssh'); + let licurl = document.getElementById('licurl'); + let headers = document.getElementById('headers'); + let cookies = document.getElementById('cookies'); + let data = document.getElementById('data'); + pssh.value = ''; + licurl.value = ''; + headers.value = ''; + cookies.value = ''; + data.value = ''; + setMessage(''); + setIsVisible(false); + }; + + useEffect(() => { + if (isVisible) { + let divToScroll = document.getElementById('main_content'); + divToScroll.scrollTop = divToScroll.scrollHeight; + } + }, [message, isVisible]); + + return ( + <> +
+
+ + + + + +