diff --git a/internal/generator/site/dist/assets/index-B0t9NqXA.css b/internal/generator/site/dist/assets/index-B0t9NqXA.css deleted file mode 100644 index 4f8e850..0000000 --- a/internal/generator/site/dist/assets/index-B0t9NqXA.css +++ /dev/null @@ -1 +0,0 @@ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-900:oklch(40.8% .123 38.172);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-700:oklch(52.7% .154 150.069);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-teal-500:oklch(70.4% .14 182.503);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-900:oklch(35.9% .144 278.697);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-fuchsia-600:oklch(59.1% .293 322.896);--color-pink-500:oklch(65.6% .241 354.308);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-stone-400:oklch(70.9% .01 56.259);--color-stone-500:oklch(55.3% .013 58.071);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-2xl:42rem;--container-5xl:64rem;--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;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--leading-tight:1.25;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--drop-shadow-sm:0 1px 2px #00000026;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary-50:#fdf2f8;--color-primary-100:#fce7f3;--color-primary-300:#f9a8d4;--color-primary-400:#f472b6;--color-primary-500:#ec4899;--color-primary-600:#db2777;--color-primary-700:#be185d;--color-primary-900:#831843;--color-accent-50:#faf5ff;--color-accent-100:#f3e8ff;--color-accent-400:#c084fc;--color-accent-500:#a855f7;--color-accent-600:#9333ea;--color-accent-900:#581c87;--animate-fade-in-up:fadeInUp .6s ease-out}}@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%;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}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}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{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}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-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{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-top-1{top:calc(var(--spacing)*-1)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.right-3{right:calc(var(--spacing)*3)}.bottom-full{bottom:100%}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing)*3)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-16{margin-top:calc(var(--spacing)*16)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.btn-primary{background-image:linear-gradient(to right,var(--color-primary-500),var(--color-accent-500));color:#fff;border-radius:.5rem;align-items:center;padding:.75rem 1.5rem;font-weight:500;transition:all .2s;display:inline-flex;box-shadow:0 10px 40px -10px #00000026}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-32{height:calc(var(--spacing)*32)}.h-\[200px\]{height:200px}.h-full{height:100%}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-32{width:calc(var(--spacing)*32)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[280px\]{max-width:280px}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.animate-fade-in-up{animation:.6s ease-out fadeInUp;animation:var(--animate-fade-in-up)}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.scroll-smooth{scroll-behavior:smooth}.card{border-radius:.75rem;padding:1.5rem}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[6px\]{border-style:var(--tw-border-style);border-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-t-gray-900{border-top-color:var(--color-gray-900)}.glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background-color:#ffffffb3;border:1px solid #fff3}.bg-accent-50{background-color:var(--color-accent-50)}.bg-accent-100{background-color:var(--color-accent-100)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-pink-500{background-color:var(--color-pink-500)}.bg-primary-50{background-color:var(--color-primary-50)}.bg-primary-100{background-color:var(--color-primary-100)}.bg-primary-500{background-color:var(--color-primary-500)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-stone-500{background-color:var(--color-stone-500)}.bg-violet-500{background-color:var(--color-violet-500)}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.gradient-text{background-image:linear-gradient(to right,var(--color-primary-400),var(--color-accent-400));color:#0000;-webkit-background-clip:text;background-clip:text}.score-card{background-image:linear-gradient(90deg,#f472b61a,#c084fc1a);border:1px solid #f472b633}.rank-1{background-image:linear-gradient(90deg,#facc15,#f59e0b)}.rank-2{background-image:linear-gradient(90deg,#94a3b8,#64748b)}.rank-3{background-image:linear-gradient(90deg,#d97706,#b45309)}.from-blue-400{--tw-gradient-from:var(--color-blue-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-cyan-400{--tw-gradient-from:var(--color-cyan-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-400{--tw-gradient-from:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-50{--tw-gradient-from:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-400{--tw-gradient-from:var(--color-gray-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-400{--tw-gradient-from:var(--color-green-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-orange-400{--tw-gradient-from:var(--color-orange-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-500{--tw-gradient-from:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-primary-500{--tw-gradient-from:var(--color-primary-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-400{--tw-gradient-from:var(--color-purple-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-red-500{--tw-gradient-from:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-stone-400{--tw-gradient-from:var(--color-stone-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-violet-500{--tw-gradient-from:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-400{--tw-gradient-from:var(--color-yellow-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-500{--tw-gradient-from:var(--color-yellow-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-accent-500{--tw-gradient-to:var(--color-accent-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-amber-500{--tw-gradient-to:var(--color-amber-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-500{--tw-gradient-to:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-500{--tw-gradient-to:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-fuchsia-600{--tw-gradient-to:var(--color-fuchsia-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-100{--tw-gradient-to:var(--color-gray-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-500{--tw-gradient-to:var(--color-gray-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-500{--tw-gradient-to:var(--color-indigo-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-red-500{--tw-gradient-to:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-rose-600{--tw-gradient-to:var(--color-rose-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-stone-500{--tw-gradient-to:var(--color-stone-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-500{--tw-gradient-to:var(--color-teal-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-violet-500{--tw-gradient-to:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.p-0{padding:calc(var(--spacing)*0)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-10{padding-right:calc(var(--spacing)*10)}.pr-25{padding-right:calc(var(--spacing)*25)}.pr-50{padding-right:calc(var(--spacing)*50)}.pr-100{padding-right:calc(var(--spacing)*100)}.pr-250{padding-right:calc(var(--spacing)*250)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.nav-link-active{color:var(--color-primary-500);font-weight:500}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.nav-link{color:#374151;transition:color .2s}.text-accent-500{color:var(--color-accent-500)}.text-accent-600{color:var(--color-accent-600)}.text-amber-500{color:var(--color-amber-500)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-cyan-500{color:var(--color-cyan-500)}.text-emerald-500{color:var(--color-emerald-500)}.text-gray-100{color:var(--color-gray-100)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-700{color:var(--color-green-700)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-orange-500{color:var(--color-orange-500)}.text-orange-700{color:var(--color-orange-700)}.text-pink-500{color:var(--color-pink-500)}.text-primary-500{color:var(--color-primary-500)}.text-primary-600{color:var(--color-primary-600)}.text-primary-700{color:var(--color-primary-700)}.text-purple-400{color:var(--color-purple-400)}.text-purple-500{color:var(--color-purple-500)}.text-purple-700{color:var(--color-purple-700)}.text-purple-800{color:var(--color-purple-800)}.text-red-500{color:var(--color-red-500)}.text-red-700{color:var(--color-red-700)}.text-rose-500{color:var(--color-rose-500)}.text-teal-500{color:var(--color-teal-500)}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-700{color:var(--color-yellow-700)}.uppercase{text-transform:uppercase}.placeholder-gray-400::placeholder{color:var(--color-gray-400)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.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-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px 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)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-modern{box-shadow:0 10px 40px -10px #00000026}.ring-transparent{--tw-ring-color:transparent}.ring-yellow-400{--tw-ring-color:var(--color-yellow-400)}.drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));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,display,content-visibility,overlay,pointer-events;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-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.group-hover\:text-primary-500:is(:where(.group):hover *){color:var(--color-primary-500)}.group-hover\:ring-primary-500:is(:where(.group):hover *){--tw-ring-color:var(--color-primary-500)}.group-hover\/badge\:opacity-100:is(:where(.group\/badge):hover *){opacity:1}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-primary-100:hover{background-color:var(--color-primary-100)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-primary-500:hover{color:var(--color-primary-500)}.hover\:text-primary-600:hover{color:var(--color-primary-600)}.hover\:text-primary-700:hover{color:var(--color-primary-700)}.hover\:shadow-lg:hover{--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)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px 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\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-primary-500:focus{--tw-ring-color:var(--color-primary-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media(min-width:40rem){.sm\:mx-0{margin-inline:calc(var(--spacing)*0)}.sm\:mb-4{margin-bottom:calc(var(--spacing)*4)}.sm\:mb-6{margin-bottom:calc(var(--spacing)*6)}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:table-cell{display:table-cell}.sm\:h-8{height:calc(var(--spacing)*8)}.sm\:h-\[280px\]{height:280px}.sm\:w-8{width:calc(var(--spacing)*8)}.sm\:w-64{width:calc(var(--spacing)*64)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-3{gap:calc(var(--spacing)*3)}.sm\:p-3{padding:calc(var(--spacing)*3)}.sm\:p-4{padding:calc(var(--spacing)*4)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:py-4{padding-block:calc(var(--spacing)*4)}.sm\:py-8{padding-block:calc(var(--spacing)*8)}.sm\:py-16{padding-block:calc(var(--spacing)*16)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:whitespace-pre{white-space:pre}}@media(min-width:48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:table-cell{display:table-cell}.md\:h-\[320px\]{height:320px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-start{justify-content:flex-start}:where(.md\:space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*0)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*0)*calc(1 - var(--tw-space-y-reverse)))}:where(.md\:space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-x-reverse)))}.md\:text-left{text-align:left}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media(min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}}@media(prefers-color-scheme:dark){:where(.dark\:divide-gray-700>:not(:last-child)),.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:border-gray-800{border-color:var(--color-gray-800)}.dark\:border-t-gray-800{border-top-color:var(--color-gray-800)}.dark\:bg-accent-900\/20{background-color:#581c8733}@supports (color:color-mix(in lab,red,red)){.dark\:bg-accent-900\/20{background-color:color-mix(in oklab,var(--color-accent-900)20%,transparent)}}.dark\:bg-accent-900\/30{background-color:#581c874d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-accent-900\/30{background-color:color-mix(in oklab,var(--color-accent-900)30%,transparent)}}.dark\:bg-blue-900\/20{background-color:#1c398e33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-900\/20{background-color:color-mix(in oklab,var(--color-blue-900)20%,transparent)}}.dark\:bg-blue-900\/30{background-color:#1c398e4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-900\/30{background-color:color-mix(in oklab,var(--color-blue-900)30%,transparent)}}.dark\:bg-gray-600{background-color:var(--color-gray-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-gray-800\/50{background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.dark\:bg-gray-800\/50{background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.dark\:bg-green-900\/20{background-color:#0d542b33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-900\/20{background-color:color-mix(in oklab,var(--color-green-900)20%,transparent)}}.dark\:bg-indigo-900\/20{background-color:#312c8533}@supports (color:color-mix(in lab,red,red)){.dark\:bg-indigo-900\/20{background-color:color-mix(in oklab,var(--color-indigo-900)20%,transparent)}}.dark\:bg-indigo-900\/30{background-color:#312c854d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-indigo-900\/30{background-color:color-mix(in oklab,var(--color-indigo-900)30%,transparent)}}.dark\:bg-orange-900\/20{background-color:#7e2a0c33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-orange-900\/20{background-color:color-mix(in oklab,var(--color-orange-900)20%,transparent)}}.dark\:bg-primary-900\/20{background-color:#83184333}@supports (color:color-mix(in lab,red,red)){.dark\:bg-primary-900\/20{background-color:color-mix(in oklab,var(--color-primary-900)20%,transparent)}}.dark\:bg-primary-900\/30{background-color:#8318434d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-primary-900\/30{background-color:color-mix(in oklab,var(--color-primary-900)30%,transparent)}}.dark\:bg-purple-900\/20{background-color:#59168b33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-purple-900\/20{background-color:color-mix(in oklab,var(--color-purple-900)20%,transparent)}}.dark\:bg-purple-900\/30{background-color:#59168b4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-purple-900\/30{background-color:color-mix(in oklab,var(--color-purple-900)30%,transparent)}}.dark\:bg-red-900\/20{background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-900\/20{background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark\:bg-yellow-900\/20{background-color:#733e0a33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-yellow-900\/20{background-color:color-mix(in oklab,var(--color-yellow-900)20%,transparent)}}.dark\:from-gray-900{--tw-gradient-from:var(--color-gray-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-gray-800{--tw-gradient-to:var(--color-gray-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:text-accent-400{color:var(--color-accent-400)}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-500{color:var(--color-gray-500)}.dark\:text-gray-600{color:var(--color-gray-600)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-indigo-400{color:var(--color-indigo-400)}.dark\:text-orange-400{color:var(--color-orange-400)}.dark\:text-primary-400{color:var(--color-primary-400)}.dark\:text-purple-300{color:var(--color-purple-300)}.dark\:text-purple-400{color:var(--color-purple-400)}.dark\:text-red-400{color:var(--color-red-400)}.dark\:text-white{color:var(--color-white)}.dark\:text-yellow-400{color:var(--color-yellow-400)}@media(hover:hover){.dark\:hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.dark\:hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.dark\:hover\:bg-gray-800\/30:hover{background-color:#1e29394d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-gray-800\/30:hover{background-color:color-mix(in oklab,var(--color-gray-800)30%,transparent)}}.dark\:hover\:bg-primary-900\/30:hover{background-color:#8318434d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-primary-900\/30:hover{background-color:color-mix(in oklab,var(--color-primary-900)30%,transparent)}}.dark\:hover\:text-gray-200:hover{color:var(--color-gray-200)}.dark\:hover\:text-primary-300:hover{color:var(--color-primary-300)}}}}.dark .glass{background-color:#111827b3;border-color:#ffffff1a}.dark .shadow-modern{box-shadow:0 10px 40px -10px #0006}.dark .score-card{background-image:linear-gradient(90deg,#f472b60d,#c084fc0d);border-color:#f472b61a}.btn-primary:hover{background-image:linear-gradient(to right,var(--color-primary-600),var(--color-accent-600))}.nav-link:hover{color:var(--color-primary-500)}.dark .nav-link{color:#e5e7eb}.dark .nav-link:hover{color:var(--color-primary-400)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@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-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{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}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.velocity-chart[data-v-3b28013a]{position:relative;width:100%} diff --git a/internal/generator/site/dist/assets/index-D4kfR6G2.js b/internal/generator/site/dist/assets/index-D4kfR6G2.js new file mode 100644 index 0000000..8d6cc4d --- /dev/null +++ b/internal/generator/site/dist/assets/index-D4kfR6G2.js @@ -0,0 +1,11 @@ +import{C as un,r as jo}from"./chart-Bcjh2pZL.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))n(a);new MutationObserver(a=>{for(const o of a)if(o.type==="childList")for(const i of o.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&n(i)}).observe(document,{childList:!0,subtree:!0});function s(a){const o={};return a.integrity&&(o.integrity=a.integrity),a.referrerPolicy&&(o.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?o.credentials="include":a.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(a){if(a.ep)return;a.ep=!0;const o=s(a);fetch(a.href,o)}})();function Lr(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const ue={},Kt=[],ot=()=>{},oa=()=>!1,qs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),jr=e=>e.startsWith("onUpdate:"),$e=Object.assign,Fr=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},Fo=Object.prototype.hasOwnProperty,ie=(e,t)=>Fo.call(e,t),K=Array.isArray,zt=e=>As(e)==="[object Map]",Ws=e=>As(e)==="[object Set]",fn=e=>As(e)==="[object Date]",J=e=>typeof e=="function",ye=e=>typeof e=="string",ze=e=>typeof e=="symbol",fe=e=>e!==null&&typeof e=="object",ia=e=>(fe(e)||J(e))&&J(e.then)&&J(e.catch),la=Object.prototype.toString,As=e=>la.call(e),Vo=e=>As(e).slice(8,-1),ca=e=>As(e)==="[object Object]",Vr=e=>ye(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,fs=Lr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ks=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},Ho=/-\w/g,qe=Ks(e=>e.replace(Ho,t=>t.slice(1).toUpperCase())),Bo=/\B([A-Z])/g,Ft=Ks(e=>e.replace(Bo,"-$1").toLowerCase()),zs=Ks(e=>e.charAt(0).toUpperCase()+e.slice(1)),ir=Ks(e=>e?`on${zs(e)}`:""),At=(e,t)=>!Object.is(e,t),Is=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},Hr=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let mn;const Qs=()=>mn||(mn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Pt(e){if(K(e)){const t={};for(let s=0;s{if(s){const n=s.split(Uo);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Y(e){let t="";if(ye(e))t=e;else if(K(e))for(let s=0;sJs(s,t))}const ma=e=>!!(e&&e.__v_isRef===!0),b=e=>ye(e)?e:e==null?"":K(e)||fe(e)&&(e.toString===la||!J(e.toString))?ma(e)?b(e.value):JSON.stringify(e,ga,2):String(e),ga=(e,t)=>ma(t)?ga(e,t.value):zt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,a],o)=>(s[lr(n,o)+" =>"]=a,s),{})}:Ws(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>lr(s))}:ze(t)?lr(t):fe(t)&&!K(t)&&!ca(t)?String(t):t,lr=(e,t="")=>{var s;return ze(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};let je;class Jo{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=je,!t&&je&&(this.index=(je.scopes||(je.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t0&&--this._on===0&&(je=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s0)return;if(gs){let t=gs;for(gs=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;ms;){let t=ms;for(ms=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function ya(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ba(e){let t,s=e.depsTail,n=s;for(;n;){const a=n.prevDep;n.version===-1?(n===s&&(s=a),Ur(n),Xo(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=a}e.deps=t,e.depsTail=s}function kr(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(va(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function va(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===vs)||(e.globalVersion=vs,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!kr(e))))return;e.flags|=2;const t=e.dep,s=ge,n=Ke;ge=e,Ke=!0;try{ya(e);const a=e.fn(e._value);(t.version===0||At(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{ge=s,Ke=n,ba(e),e.flags&=-3}}function Ur(e,t=!1){const{dep:s,prevSub:n,nextSub:a}=e;if(n&&(n.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let o=s.computed.deps;o;o=o.nextDep)Ur(o,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function Xo(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Ke=!0;const ka=[];function gt(){ka.push(Ke),Ke=!1}function pt(){const e=ka.pop();Ke=e===void 0?!0:e}function gn(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=ge;ge=void 0;try{t()}finally{ge=s}}}let vs=0;class Zo{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class qr{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ge||!Ke||ge===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==ge)s=this.activeLink=new Zo(ge,this),ge.deps?(s.prevDep=ge.depsTail,ge.depsTail.nextDep=s,ge.depsTail=s):ge.deps=ge.depsTail=s,_a(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=ge.depsTail,s.nextDep=void 0,ge.depsTail.nextDep=s,ge.depsTail=s,ge.deps===s&&(ge.deps=n)}return s}trigger(t){this.version++,vs++,this.notify(t)}notify(t){Br();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Gr()}}}function _a(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)_a(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const _r=new WeakMap,Lt=Symbol(""),wr=Symbol(""),ks=Symbol("");function Ae(e,t,s){if(Ke&&ge){let n=_r.get(e);n||_r.set(e,n=new Map);let a=n.get(s);a||(n.set(s,a=new qr),a.map=n,a.key=s),a.track()}}function ft(e,t,s,n,a,o){const i=_r.get(e);if(!i){vs++;return}const l=c=>{c&&c.trigger()};if(Br(),t==="clear")i.forEach(l);else{const c=K(e),d=c&&Vr(s);if(c&&s==="length"){const u=Number(n);i.forEach((f,p)=>{(p==="length"||p===ks||!ze(p)&&p>=u)&&l(f)})}else switch((s!==void 0||i.has(void 0))&&l(i.get(s)),d&&l(i.get(ks)),t){case"add":c?d&&l(i.get("length")):(l(i.get(Lt)),zt(e)&&l(i.get(wr)));break;case"delete":c||(l(i.get(Lt)),zt(e)&&l(i.get(wr)));break;case"set":zt(e)&&l(i.get(Lt));break}}Gr()}function Ut(e){const t=oe(e);return t===e?t:(Ae(t,"iterate",ks),Ge(e)?t:t.map(Qe))}function Ys(e){return Ae(e=oe(e),"iterate",ks),e}function wt(e,t){return ht(e)?jt(e)?Zt(Qe(t)):Zt(t):Qe(t)}const ei={__proto__:null,[Symbol.iterator](){return dr(this,Symbol.iterator,e=>wt(this,e))},concat(...e){return Ut(this).concat(...e.map(t=>K(t)?Ut(t):t))},entries(){return dr(this,"entries",e=>(e[1]=wt(this,e[1]),e))},every(e,t){return ct(this,"every",e,t,void 0,arguments)},filter(e,t){return ct(this,"filter",e,t,s=>s.map(n=>wt(this,n)),arguments)},find(e,t){return ct(this,"find",e,t,s=>wt(this,s),arguments)},findIndex(e,t){return ct(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return ct(this,"findLast",e,t,s=>wt(this,s),arguments)},findLastIndex(e,t){return ct(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return ct(this,"forEach",e,t,void 0,arguments)},includes(...e){return ur(this,"includes",e)},indexOf(...e){return ur(this,"indexOf",e)},join(e){return Ut(this).join(e)},lastIndexOf(...e){return ur(this,"lastIndexOf",e)},map(e,t){return ct(this,"map",e,t,void 0,arguments)},pop(){return is(this,"pop")},push(...e){return is(this,"push",e)},reduce(e,...t){return pn(this,"reduce",e,t)},reduceRight(e,...t){return pn(this,"reduceRight",e,t)},shift(){return is(this,"shift")},some(e,t){return ct(this,"some",e,t,void 0,arguments)},splice(...e){return is(this,"splice",e)},toReversed(){return Ut(this).toReversed()},toSorted(e){return Ut(this).toSorted(e)},toSpliced(...e){return Ut(this).toSpliced(...e)},unshift(...e){return is(this,"unshift",e)},values(){return dr(this,"values",e=>wt(this,e))}};function dr(e,t,s){const n=Ys(e),a=n[t]();return n!==e&&!Ge(e)&&(a._next=a.next,a.next=()=>{const o=a._next();return o.done||(o.value=s(o.value)),o}),a}const ti=Array.prototype;function ct(e,t,s,n,a,o){const i=Ys(e),l=i!==e&&!Ge(e),c=i[t];if(c!==ti[t]){const f=c.apply(e,o);return l?Qe(f):f}let d=s;i!==e&&(l?d=function(f,p){return s.call(this,wt(e,f),p,e)}:s.length>2&&(d=function(f,p){return s.call(this,f,p,e)}));const u=c.call(i,d,n);return l&&a?a(u):u}function pn(e,t,s,n){const a=Ys(e);let o=s;return a!==e&&(Ge(e)?s.length>3&&(o=function(i,l,c){return s.call(this,i,l,c,e)}):o=function(i,l,c){return s.call(this,i,wt(e,l),c,e)}),a[t](o,...n)}function ur(e,t,s){const n=oe(e);Ae(n,"iterate",ks);const a=n[t](...s);return(a===-1||a===!1)&&zr(s[0])?(s[0]=oe(s[0]),n[t](...s)):a}function is(e,t,s=[]){gt(),Br();const n=oe(e)[t].apply(e,s);return Gr(),pt(),n}const si=Lr("__proto__,__v_isRef,__isVue"),wa=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ze));function ri(e){ze(e)||(e=String(e));const t=oe(this);return Ae(t,"has",e),t.hasOwnProperty(e)}class Ca{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const a=this._isReadonly,o=this._isShallow;if(s==="__v_isReactive")return!a;if(s==="__v_isReadonly")return a;if(s==="__v_isShallow")return o;if(s==="__v_raw")return n===(a?o?mi:Ea:o?Aa:Sa).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const i=K(t);if(!a){let c;if(i&&(c=ei[s]))return c;if(s==="hasOwnProperty")return ri}const l=Reflect.get(t,s,Pe(t)?t:n);if((ze(s)?wa.has(s):si(s))||(a||Ae(t,"get",s),o))return l;if(Pe(l)){const c=i&&Vr(s)?l:l.value;return a&&fe(c)?Rr(c):c}return fe(l)?a?Rr(l):Xs(l):l}}class Ra extends Ca{constructor(t=!1){super(!1,t)}set(t,s,n,a){let o=t[s];const i=K(t)&&Vr(s);if(!this._isShallow){const d=ht(o);if(!Ge(n)&&!ht(n)&&(o=oe(o),n=oe(n)),!i&&Pe(o)&&!Pe(n))return d||(o.value=n),!0}const l=i?Number(s)e,Ts=e=>Reflect.getPrototypeOf(e);function li(e,t,s){return function(...n){const a=this.__v_raw,o=oe(a),i=zt(o),l=e==="entries"||e===Symbol.iterator&&i,c=e==="keys"&&i,d=a[e](...n),u=s?Cr:t?Zt:Qe;return!t&&Ae(o,"iterate",c?wr:Lt),{next(){const{value:f,done:p}=d.next();return p?{value:f,done:p}:{value:l?[u(f[0]),u(f[1])]:u(f),done:p}},[Symbol.iterator](){return this}}}}function $s(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ci(e,t){const s={get(a){const o=this.__v_raw,i=oe(o),l=oe(a);e||(At(a,l)&&Ae(i,"get",a),Ae(i,"get",l));const{has:c}=Ts(i),d=t?Cr:e?Zt:Qe;if(c.call(i,a))return d(o.get(a));if(c.call(i,l))return d(o.get(l));o!==i&&o.get(a)},get size(){const a=this.__v_raw;return!e&&Ae(oe(a),"iterate",Lt),a.size},has(a){const o=this.__v_raw,i=oe(o),l=oe(a);return e||(At(a,l)&&Ae(i,"has",a),Ae(i,"has",l)),a===l?o.has(a):o.has(a)||o.has(l)},forEach(a,o){const i=this,l=i.__v_raw,c=oe(l),d=t?Cr:e?Zt:Qe;return!e&&Ae(c,"iterate",Lt),l.forEach((u,f)=>a.call(o,d(u),d(f),i))}};return $e(s,e?{add:$s("add"),set:$s("set"),delete:$s("delete"),clear:$s("clear")}:{add(a){!t&&!Ge(a)&&!ht(a)&&(a=oe(a));const o=oe(this);return Ts(o).has.call(o,a)||(o.add(a),ft(o,"add",a,a)),this},set(a,o){!t&&!Ge(o)&&!ht(o)&&(o=oe(o));const i=oe(this),{has:l,get:c}=Ts(i);let d=l.call(i,a);d||(a=oe(a),d=l.call(i,a));const u=c.call(i,a);return i.set(a,o),d?At(o,u)&&ft(i,"set",a,o):ft(i,"add",a,o),this},delete(a){const o=oe(this),{has:i,get:l}=Ts(o);let c=i.call(o,a);c||(a=oe(a),c=i.call(o,a)),l&&l.call(o,a);const d=o.delete(a);return c&&ft(o,"delete",a,void 0),d},clear(){const a=oe(this),o=a.size!==0,i=a.clear();return o&&ft(a,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(a=>{s[a]=li(a,e,t)}),s}function Wr(e,t){const s=ci(e,t);return(n,a,o)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?n:Reflect.get(ie(s,a)&&a in n?s:n,a,o)}const di={get:Wr(!1,!1)},ui={get:Wr(!1,!0)},fi={get:Wr(!0,!1)};const Sa=new WeakMap,Aa=new WeakMap,Ea=new WeakMap,mi=new WeakMap;function gi(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function pi(e){return e.__v_skip||!Object.isExtensible(e)?0:gi(Vo(e))}function Xs(e){return ht(e)?e:Kr(e,!1,ai,di,Sa)}function Pa(e){return Kr(e,!1,ii,ui,Aa)}function Rr(e){return Kr(e,!0,oi,fi,Ea)}function Kr(e,t,s,n,a){if(!fe(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=pi(e);if(o===0)return e;const i=a.get(e);if(i)return i;const l=new Proxy(e,o===2?n:s);return a.set(e,l),l}function jt(e){return ht(e)?jt(e.__v_raw):!!(e&&e.__v_isReactive)}function ht(e){return!!(e&&e.__v_isReadonly)}function Ge(e){return!!(e&&e.__v_isShallow)}function zr(e){return e?!!e.__v_raw:!1}function oe(e){const t=e&&e.__v_raw;return t?oe(t):e}function hi(e){return!ie(e,"__v_skip")&&Object.isExtensible(e)&&da(e,"__v_skip",!0),e}const Qe=e=>fe(e)?Xs(e):e,Zt=e=>fe(e)?Rr(e):e;function Pe(e){return e?e.__v_isRef===!0:!1}function be(e){return Ta(e,!1)}function xi(e){return Ta(e,!0)}function Ta(e,t){return Pe(e)?e:new yi(e,t)}class yi{constructor(t,s){this.dep=new qr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:oe(t),this._value=s?t:Qe(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||Ge(t)||ht(t);t=n?t:oe(t),At(t,s)&&(this._rawValue=t,this._value=n?t:Qe(t),this.dep.trigger())}}function E(e){return Pe(e)?e.value:e}const bi={get:(e,t,s)=>t==="__v_raw"?e:E(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const a=e[t];return Pe(a)&&!Pe(s)?(a.value=s,!0):Reflect.set(e,t,s,n)}};function $a(e){return jt(e)?e:new Proxy(e,bi)}class vi{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new qr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=vs-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ge!==this)return xa(this,!0),!0}get value(){const t=this.dep.track();return va(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function ki(e,t,s=!1){let n,a;return J(e)?n=e:(n=e.get,a=e.set),new vi(n,a,s)}const Os={},Ls=new WeakMap;let Mt;function _i(e,t=!1,s=Mt){if(s){let n=Ls.get(s);n||Ls.set(s,n=[]),n.push(e)}}function wi(e,t,s=ue){const{immediate:n,deep:a,once:o,scheduler:i,augmentJob:l,call:c}=s,d=F=>a?F:Ge(F)||a===!1||a===0?mt(F,1):mt(F);let u,f,p,h,P=!1,D=!1;if(Pe(e)?(f=()=>e.value,P=Ge(e)):jt(e)?(f=()=>d(e),P=!0):K(e)?(D=!0,P=e.some(F=>jt(F)||Ge(F)),f=()=>e.map(F=>{if(Pe(F))return F.value;if(jt(F))return d(F);if(J(F))return c?c(F,2):F()})):J(e)?t?f=c?()=>c(e,2):e:f=()=>{if(p){gt();try{p()}finally{pt()}}const F=Mt;Mt=u;try{return c?c(e,3,[h]):e(h)}finally{Mt=F}}:f=ot,t&&a){const F=f,re=a===!0?1/0:a;f=()=>mt(F(),re)}const Q=Yo(),V=()=>{u.stop(),Q&&Q.active&&Fr(Q.effects,u)};if(o&&t){const F=t;t=(...re)=>{F(...re),V()}}let j=D?new Array(e.length).fill(Os):Os;const G=F=>{if(!(!(u.flags&1)||!u.dirty&&!F))if(t){const re=u.run();if(a||P||(D?re.some((ve,pe)=>At(ve,j[pe])):At(re,j))){p&&p();const ve=Mt;Mt=u;try{const pe=[re,j===Os?void 0:D&&j[0]===Os?[]:j,h];j=re,c?c(t,3,pe):t(...pe)}finally{Mt=ve}}}else u.run()};return l&&l(G),u=new pa(f),u.scheduler=i?()=>i(G,!1):G,h=F=>_i(F,!1,u),p=u.onStop=()=>{const F=Ls.get(u);if(F){if(c)c(F,4);else for(const re of F)re();Ls.delete(u)}},t?n?G(!0):j=u.run():i?i(G.bind(null,!0),!0):u.run(),V.pause=u.pause.bind(u),V.resume=u.resume.bind(u),V.stop=V,V}function mt(e,t=1/0,s){if(t<=0||!fe(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,Pe(e))mt(e.value,t,s);else if(K(e))for(let n=0;n{mt(n,t,s)});else if(ca(e)){for(const n in e)mt(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&mt(e[n],t,s)}return e}function Es(e,t,s,n){try{return n?e(...n):e()}catch(a){Zs(a,t,s)}}function it(e,t,s,n){if(J(e)){const a=Es(e,t,s,n);return a&&ia(a)&&a.catch(o=>{Zs(o,t,s)}),a}if(K(e)){const a=[];for(let o=0;o>>1,a=Me[n],o=_s(a);o=_s(s)?Me.push(e):Me.splice(Ri(t),0,e),e.flags|=1,Ma()}}function Ma(){js||(js=Oa.then(Na))}function Si(e){K(e)?Qt.push(...e):Ct&&e.id===-1?Ct.splice(qt+1,0,e):e.flags&1||(Qt.push(e),e.flags|=1),Ma()}function hn(e,t,s=nt+1){for(;s_s(s)-_s(n));if(Qt.length=0,Ct){Ct.push(...t);return}for(Ct=t,qt=0;qte.id==null?e.flags&2?-1:1/0:e.id;function Na(e){try{for(nt=0;nt{n._d&&Bs(-1);const o=Fs(t);let i;try{i=e(...a)}finally{Fs(o),n._d&&Bs(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function Jr(e,t){if(Re===null)return e;const s=rr(Re),n=e.dirs||(e.dirs=[]);for(let a=0;ae.__isTeleport,Pi=Symbol("_leaveCb");function Yr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Yr(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ja(e,t){return J(e)?$e({name:e.name},t,{setup:e}):e}function Fa(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const Vs=new WeakMap;function ps(e,t,s,n,a=!1){if(K(e)){e.forEach((P,D)=>ps(P,t&&(K(t)?t[D]:t),s,n,a));return}if(Jt(n)&&!a){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&ps(e,t,s,n.component.subTree);return}const o=n.shapeFlag&4?rr(n.component):n.el,i=a?null:o,{i:l,r:c}=e,d=t&&t.r,u=l.refs===ue?l.refs={}:l.refs,f=l.setupState,p=oe(f),h=f===ue?oa:P=>ie(p,P);if(d!=null&&d!==c){if(xn(t),ye(d))u[d]=null,h(d)&&(f[d]=null);else if(Pe(d)){d.value=null;const P=t;P.k&&(u[P.k]=null)}}if(J(c))Es(c,l,12,[i,u]);else{const P=ye(c),D=Pe(c);if(P||D){const Q=()=>{if(e.f){const V=P?h(c)?f[c]:u[c]:c.value;if(a)K(V)&&Fr(V,o);else if(K(V))V.includes(o)||V.push(o);else if(P)u[c]=[o],h(c)&&(f[c]=u[c]);else{const j=[o];c.value=j,e.k&&(u[e.k]=j)}}else P?(u[c]=i,h(c)&&(f[c]=i)):D&&(c.value=i,e.k&&(u[e.k]=i))};if(i){const V=()=>{Q(),Vs.delete(e)};V.id=-1,Vs.set(e,V),Ve(V,s)}else xn(e),Q()}}}function xn(e){const t=Vs.get(e);t&&(t.flags|=8,Vs.delete(e))}Qs().requestIdleCallback;Qs().cancelIdleCallback;const Jt=e=>!!e.type.__asyncLoader,Va=e=>e.type.__isKeepAlive;function Ti(e,t){Ha(e,"a",t)}function $i(e,t){Ha(e,"da",t)}function Ha(e,t,s=Ee){const n=e.__wdc||(e.__wdc=()=>{let a=s;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(er(t,n,s),s){let a=s.parent;for(;a&&a.parent;)Va(a.parent.vnode)&&Oi(n,t,s,a),a=a.parent}}function Oi(e,t,s,n){const a=er(t,e,n,!0);Xr(()=>{Fr(n[t],a)},s)}function er(e,t,s=Ee,n=!1){if(s){const a=s[e]||(s[e]=[]),o=t.__weh||(t.__weh=(...i)=>{gt();const l=Ps(s),c=it(t,s,e,i);return l(),pt(),c});return n?a.unshift(o):a.push(o),o}}const yt=e=>(t,s=Ee)=>{(!Rs||e==="sp")&&er(e,(...n)=>t(...n),s)},Ii=yt("bm"),Vt=yt("m"),Mi=yt("bu"),Di=yt("u"),Ni=yt("bum"),Xr=yt("um"),Li=yt("sp"),ji=yt("rtg"),Fi=yt("rtc");function Vi(e,t=Ee){er("ec",e,t)}const Ba="components";function Hi(e,t){return Ua(Ba,e,!0,t)||e}const Ga=Symbol.for("v-ndc");function Bi(e){return ye(e)?Ua(Ba,e,!1)||e:e||Ga}function Ua(e,t,s=!0,n=!1){const a=Re||Ee;if(a){const o=a.type;{const l=$l(o,!1);if(l&&(l===t||l===qe(t)||l===zs(qe(t))))return o}const i=yn(a[e]||o[e],t)||yn(a.appContext[e],t);return!i&&n?o:i}}function yn(e,t){return e&&(e[t]||e[qe(t)]||e[zs(qe(t))])}function xe(e,t,s,n){let a;const o=s,i=K(e);if(i||ye(e)){const l=i&&jt(e);let c=!1,d=!1;l&&(c=!Ge(e),d=ht(e),e=Ys(e)),a=new Array(e.length);for(let u=0,f=e.length;ut(l,c,void 0,o));else{const l=Object.keys(e);a=new Array(l.length);for(let c=0,d=l.length;c0;return t!=="default"&&(s.name=t),y(),Z(X,null,[S("slot",s,n&&n())],d?-2:64)}let o=e[t];o&&o._c&&(o._d=!1),y();const i=o&&qa(o(s)),l=s.key||i&&i.key,c=Z(X,{key:(l&&!ze(l)?l:`_${t}`)+(!i&&n?"_fb":"")},i||(n?n():[]),i&&e._===1?64:-2);return c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),o&&o._c&&(o._d=!0),c}function qa(e){return e.some(t=>Cs(t)?!(t.type===xt||t.type===X&&!qa(t.children)):!0)?e:null}const Sr=e=>e?fo(e)?rr(e):Sr(e.parent):null,hs=$e(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Sr(e.parent),$root:e=>Sr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Ka(e),$forceUpdate:e=>e.f||(e.f=()=>{Qr(e.update)}),$nextTick:e=>e.n||(e.n=Ia.bind(e.proxy)),$watch:e=>Zi.bind(e)}),fr=(e,t)=>e!==ue&&!e.__isScriptSetup&&ie(e,t),Gi={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:a,props:o,accessCache:i,type:l,appContext:c}=e;if(t[0]!=="$"){const p=i[t];if(p!==void 0)switch(p){case 1:return n[t];case 2:return a[t];case 4:return s[t];case 3:return o[t]}else{if(fr(n,t))return i[t]=1,n[t];if(a!==ue&&ie(a,t))return i[t]=2,a[t];if(ie(o,t))return i[t]=3,o[t];if(s!==ue&&ie(s,t))return i[t]=4,s[t];Ar&&(i[t]=0)}}const d=hs[t];let u,f;if(d)return t==="$attrs"&&Ae(e.attrs,"get",""),d(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(s!==ue&&ie(s,t))return i[t]=4,s[t];if(f=c.config.globalProperties,ie(f,t))return f[t]},set({_:e},t,s){const{data:n,setupState:a,ctx:o}=e;return fr(a,t)?(a[t]=s,!0):n!==ue&&ie(n,t)?(n[t]=s,!0):ie(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:a,props:o,type:i}},l){let c;return!!(s[l]||e!==ue&&l[0]!=="$"&&ie(e,l)||fr(t,l)||ie(o,l)||ie(n,l)||ie(hs,l)||ie(a.config.globalProperties,l)||(c=i.__cssModules)&&c[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:ie(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function bn(e){return K(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Ar=!0;function Ui(e){const t=Ka(e),s=e.proxy,n=e.ctx;Ar=!1,t.beforeCreate&&vn(t.beforeCreate,e,"bc");const{data:a,computed:o,methods:i,watch:l,provide:c,inject:d,created:u,beforeMount:f,mounted:p,beforeUpdate:h,updated:P,activated:D,deactivated:Q,beforeDestroy:V,beforeUnmount:j,destroyed:G,unmounted:F,render:re,renderTracked:ve,renderTriggered:pe,errorCaptured:Se,serverPrefetch:bt,expose:Ye,inheritAttrs:vt,components:Tt,directives:Xe,filters:as}=t;if(d&&qi(d,n,null),i)for(const ce in i){const ne=i[ce];J(ne)&&(n[ce]=ne.bind(s))}if(a){const ce=a.call(s,s);fe(ce)&&(e.data=Xs(ce))}if(Ar=!0,o)for(const ce in o){const ne=o[ce],lt=J(ne)?ne.bind(s,s):J(ne.get)?ne.get.bind(s,s):ot,kt=!J(ne)&&J(ne.set)?ne.set.bind(s):ot,Ze=ee({get:lt,set:kt});Object.defineProperty(n,ce,{enumerable:!0,configurable:!0,get:()=>Ze.value,set:De=>Ze.value=De})}if(l)for(const ce in l)Wa(l[ce],n,s,ce);if(c){const ce=J(c)?c.call(s):c;Reflect.ownKeys(ce).forEach(ne=>{xs(ne,ce[ne])})}u&&vn(u,e,"c");function we(ce,ne){K(ne)?ne.forEach(lt=>ce(lt.bind(s))):ne&&ce(ne.bind(s))}if(we(Ii,f),we(Vt,p),we(Mi,h),we(Di,P),we(Ti,D),we($i,Q),we(Vi,Se),we(Fi,ve),we(ji,pe),we(Ni,j),we(Xr,F),we(Li,bt),K(Ye))if(Ye.length){const ce=e.exposed||(e.exposed={});Ye.forEach(ne=>{Object.defineProperty(ce,ne,{get:()=>s[ne],set:lt=>s[ne]=lt,enumerable:!0})})}else e.exposed||(e.exposed={});re&&e.render===ot&&(e.render=re),vt!=null&&(e.inheritAttrs=vt),Tt&&(e.components=Tt),Xe&&(e.directives=Xe),bt&&Fa(e)}function qi(e,t,s=ot){K(e)&&(e=Er(e));for(const n in e){const a=e[n];let o;fe(a)?"default"in a?o=Te(a.from||n,a.default,!0):o=Te(a.from||n):o=Te(a),Pe(o)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[n]=o}}function vn(e,t,s){it(K(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Wa(e,t,s,n){let a=n.includes(".")?Ja(s,n):()=>s[n];if(ye(e)){const o=t[e];J(o)&&Ue(a,o)}else if(J(e))Ue(a,e.bind(s));else if(fe(e))if(K(e))e.forEach(o=>Wa(o,t,s,n));else{const o=J(e.handler)?e.handler.bind(s):t[e.handler];J(o)&&Ue(a,o,e)}}function Ka(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:a,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let c;return l?c=l:!a.length&&!s&&!n?c=t:(c={},a.length&&a.forEach(d=>Hs(c,d,i,!0)),Hs(c,t,i)),fe(t)&&o.set(t,c),c}function Hs(e,t,s,n=!1){const{mixins:a,extends:o}=t;o&&Hs(e,o,s,!0),a&&a.forEach(i=>Hs(e,i,s,!0));for(const i in t)if(!(n&&i==="expose")){const l=Wi[i]||s&&s[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Wi={data:kn,props:_n,emits:_n,methods:ds,computed:ds,beforeCreate:Oe,created:Oe,beforeMount:Oe,mounted:Oe,beforeUpdate:Oe,updated:Oe,beforeDestroy:Oe,beforeUnmount:Oe,destroyed:Oe,unmounted:Oe,activated:Oe,deactivated:Oe,errorCaptured:Oe,serverPrefetch:Oe,components:ds,directives:ds,watch:zi,provide:kn,inject:Ki};function kn(e,t){return t?e?function(){return $e(J(e)?e.call(this,this):e,J(t)?t.call(this,this):t)}:t:e}function Ki(e,t){return ds(Er(e),Er(t))}function Er(e){if(K(e)){const t={};for(let s=0;s1)return s&&J(t)?t.call(n&&n.proxy):t}}const Yi=Symbol.for("v-scx"),Xi=()=>Te(Yi);function Ue(e,t,s){return Qa(e,t,s)}function Qa(e,t,s=ue){const{immediate:n,deep:a,flush:o,once:i}=s,l=$e({},s),c=t&&n||!t&&o!=="post";let d;if(Rs){if(o==="sync"){const h=Xi();d=h.__watcherHandles||(h.__watcherHandles=[])}else if(!c){const h=()=>{};return h.stop=ot,h.resume=ot,h.pause=ot,h}}const u=Ee;l.call=(h,P,D)=>it(h,u,P,D);let f=!1;o==="post"?l.scheduler=h=>{Ve(h,u&&u.suspense)}:o!=="sync"&&(f=!0,l.scheduler=(h,P)=>{P?h():Qr(h)}),l.augmentJob=h=>{t&&(h.flags|=4),f&&(h.flags|=2,u&&(h.id=u.uid,h.i=u))};const p=wi(e,t,l);return Rs&&(d?d.push(p):c&&p()),p}function Zi(e,t,s){const n=this.proxy,a=ye(e)?e.includes(".")?Ja(n,e):()=>n[e]:e.bind(n,n);let o;J(t)?o=t:(o=t.handler,s=t);const i=Ps(this),l=Qa(a,o.bind(n),s);return i(),l}function Ja(e,t){const s=t.split(".");return()=>{let n=e;for(let a=0;at==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${qe(t)}Modifiers`]||e[`${Ft(t)}Modifiers`];function tl(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||ue;let a=s;const o=t.startsWith("update:"),i=o&&el(n,t.slice(7));i&&(i.trim&&(a=s.map(u=>ye(u)?u.trim():u)),i.number&&(a=s.map(Hr)));let l,c=n[l=ir(t)]||n[l=ir(qe(t))];!c&&o&&(c=n[l=ir(Ft(t))]),c&&it(c,e,6,a);const d=n[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,it(d,e,6,a)}}const sl=new WeakMap;function Ya(e,t,s=!1){const n=s?sl:t.emitsCache,a=n.get(e);if(a!==void 0)return a;const o=e.emits;let i={},l=!1;if(!J(e)){const c=d=>{const u=Ya(d,t,!0);u&&(l=!0,$e(i,u))};!s&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!l?(fe(e)&&n.set(e,null),null):(K(o)?o.forEach(c=>i[c]=null):$e(i,o),fe(e)&&n.set(e,i),i)}function tr(e,t){return!e||!qs(t)?!1:(t=t.slice(2).replace(/Once$/,""),ie(e,t[0].toLowerCase()+t.slice(1))||ie(e,Ft(t))||ie(e,t))}function wn(e){const{type:t,vnode:s,proxy:n,withProxy:a,propsOptions:[o],slots:i,attrs:l,emit:c,render:d,renderCache:u,props:f,data:p,setupState:h,ctx:P,inheritAttrs:D}=e,Q=Fs(e);let V,j;try{if(s.shapeFlag&4){const F=a||n,re=F;V=at(d.call(re,F,u,f,h,p,P)),j=l}else{const F=t;V=at(F.length>1?F(f,{attrs:l,slots:i,emit:c}):F(f,null)),j=t.props?l:rl(l)}}catch(F){ys.length=0,Zs(F,e,1),V=S(xt)}let G=V;if(j&&D!==!1){const F=Object.keys(j),{shapeFlag:re}=G;F.length&&re&7&&(o&&F.some(jr)&&(j=nl(j,o)),G=es(G,j,!1,!0))}return s.dirs&&(G=es(G,null,!1,!0),G.dirs=G.dirs?G.dirs.concat(s.dirs):s.dirs),s.transition&&Yr(G,s.transition),V=G,Fs(Q),V}const rl=e=>{let t;for(const s in e)(s==="class"||s==="style"||qs(s))&&((t||(t={}))[s]=e[s]);return t},nl=(e,t)=>{const s={};for(const n in e)(!jr(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function al(e,t,s){const{props:n,children:a,component:o}=e,{props:i,children:l,patchFlag:c}=t,d=o.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&c>=0){if(c&1024)return!0;if(c&16)return n?Cn(n,i,d):!!i;if(c&8){const u=t.dynamicProps;for(let f=0;fObject.create(Xa),eo=e=>Object.getPrototypeOf(e)===Xa;function il(e,t,s,n=!1){const a={},o=Za();e.propsDefaults=Object.create(null),to(e,t,a,o);for(const i in e.propsOptions[0])i in a||(a[i]=void 0);s?e.props=n?a:Pa(a):e.type.props?e.props=a:e.props=o,e.attrs=o}function ll(e,t,s,n){const{props:a,attrs:o,vnode:{patchFlag:i}}=e,l=oe(a),[c]=e.propsOptions;let d=!1;if((n||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let f=0;f{c=!0;const[p,h]=so(f,t,!0);$e(i,p),h&&l.push(...h)};!s&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!c)return fe(e)&&n.set(e,Kt),Kt;if(K(o))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",en=e=>K(e)?e.map(at):[at(e)],dl=(e,t,s)=>{if(t._n)return t;const n=L((...a)=>en(t(...a)),s);return n._c=!1,n},ro=(e,t,s)=>{const n=e._ctx;for(const a in e){if(Zr(a))continue;const o=e[a];if(J(o))t[a]=dl(a,o,n);else if(o!=null){const i=en(o);t[a]=()=>i}}},no=(e,t)=>{const s=en(t);e.slots.default=()=>s},ao=(e,t,s)=>{for(const n in t)(s||!Zr(n))&&(e[n]=t[n])},ul=(e,t,s)=>{const n=e.slots=Za();if(e.vnode.shapeFlag&32){const a=t._;a?(ao(n,t,s),s&&da(n,"_",a,!0)):ro(t,n)}else t&&no(e,t)},fl=(e,t,s)=>{const{vnode:n,slots:a}=e;let o=!0,i=ue;if(n.shapeFlag&32){const l=t._;l?s&&l===1?o=!1:ao(a,t,s):(o=!t.$stable,ro(t,a)),i=t}else t&&(no(e,t),i={default:1});if(o)for(const l in a)!Zr(l)&&i[l]==null&&delete a[l]},Ve=xl;function ml(e){return gl(e)}function gl(e,t){const s=Qs();s.__VUE__=!0;const{insert:n,remove:a,patchProp:o,createElement:i,createText:l,createComment:c,setText:d,setElementText:u,parentNode:f,nextSibling:p,setScopeId:h=ot,insertStaticContent:P}=e,D=(m,g,x,k=null,C=null,v=null,O=void 0,$=null,T=!!g.dynamicChildren)=>{if(m===g)return;m&&!ls(m,g)&&(k=_(m),De(m,C,v,!0),m=null),g.patchFlag===-2&&(T=!1,g.dynamicChildren=null);const{type:A,ref:q,shapeFlag:M}=g;switch(A){case sr:Q(m,g,x,k);break;case xt:V(m,g,x,k);break;case Ms:m==null&&j(g,x,k,O);break;case X:Tt(m,g,x,k,C,v,O,$,T);break;default:M&1?re(m,g,x,k,C,v,O,$,T):M&6?Xe(m,g,x,k,C,v,O,$,T):(M&64||M&128)&&A.process(m,g,x,k,C,v,O,$,T,H)}q!=null&&C?ps(q,m&&m.ref,v,g||m,!g):q==null&&m&&m.ref!=null&&ps(m.ref,null,v,m,!0)},Q=(m,g,x,k)=>{if(m==null)n(g.el=l(g.children),x,k);else{const C=g.el=m.el;g.children!==m.children&&d(C,g.children)}},V=(m,g,x,k)=>{m==null?n(g.el=c(g.children||""),x,k):g.el=m.el},j=(m,g,x,k)=>{[m.el,m.anchor]=P(m.children,g,x,k,m.el,m.anchor)},G=({el:m,anchor:g},x,k)=>{let C;for(;m&&m!==g;)C=p(m),n(m,x,k),m=C;n(g,x,k)},F=({el:m,anchor:g})=>{let x;for(;m&&m!==g;)x=p(m),a(m),m=x;a(g)},re=(m,g,x,k,C,v,O,$,T)=>{if(g.type==="svg"?O="svg":g.type==="math"&&(O="mathml"),m==null)ve(g,x,k,C,v,O,$,T);else{const A=m.el&&m.el._isVueCE?m.el:null;try{A&&A._beginPatch(),bt(m,g,C,v,O,$,T)}finally{A&&A._endPatch()}}},ve=(m,g,x,k,C,v,O,$)=>{let T,A;const{props:q,shapeFlag:M,transition:U,dirs:z}=m;if(T=m.el=i(m.type,v,q&&q.is,q),M&8?u(T,m.children):M&16&&Se(m.children,T,null,k,C,mr(m,v),O,$),z&&Ot(m,null,k,"created"),pe(T,m,m.scopeId,O,k),q){for(const me in q)me!=="value"&&!fs(me)&&o(T,me,null,q[me],v,k);"value"in q&&o(T,"value",null,q.value,v),(A=q.onVnodeBeforeMount)&&rt(A,k,m)}z&&Ot(m,null,k,"beforeMount");const se=pl(C,U);se&&U.beforeEnter(T),n(T,g,x),((A=q&&q.onVnodeMounted)||se||z)&&Ve(()=>{A&&rt(A,k,m),se&&U.enter(T),z&&Ot(m,null,k,"mounted")},C)},pe=(m,g,x,k,C)=>{if(x&&h(m,x),k)for(let v=0;v{for(let A=T;A{const $=g.el=m.el;let{patchFlag:T,dynamicChildren:A,dirs:q}=g;T|=m.patchFlag&16;const M=m.props||ue,U=g.props||ue;let z;if(x&&It(x,!1),(z=U.onVnodeBeforeUpdate)&&rt(z,x,g,m),q&&Ot(g,m,x,"beforeUpdate"),x&&It(x,!0),(M.innerHTML&&U.innerHTML==null||M.textContent&&U.textContent==null)&&u($,""),A?Ye(m.dynamicChildren,A,$,x,k,mr(g,C),v):O||ne(m,g,$,null,x,k,mr(g,C),v,!1),T>0){if(T&16)vt($,M,U,x,C);else if(T&2&&M.class!==U.class&&o($,"class",null,U.class,C),T&4&&o($,"style",M.style,U.style,C),T&8){const se=g.dynamicProps;for(let me=0;me{z&&rt(z,x,g,m),q&&Ot(g,m,x,"updated")},k)},Ye=(m,g,x,k,C,v,O)=>{for(let $=0;${if(g!==x){if(g!==ue)for(const v in g)!fs(v)&&!(v in x)&&o(m,v,g[v],null,C,k);for(const v in x){if(fs(v))continue;const O=x[v],$=g[v];O!==$&&v!=="value"&&o(m,v,$,O,C,k)}"value"in x&&o(m,"value",g.value,x.value,C)}},Tt=(m,g,x,k,C,v,O,$,T)=>{const A=g.el=m?m.el:l(""),q=g.anchor=m?m.anchor:l("");let{patchFlag:M,dynamicChildren:U,slotScopeIds:z}=g;z&&($=$?$.concat(z):z),m==null?(n(A,x,k),n(q,x,k),Se(g.children||[],x,q,C,v,O,$,T)):M>0&&M&64&&U&&m.dynamicChildren?(Ye(m.dynamicChildren,U,x,C,v,O,$),(g.key!=null||C&&g===C.subTree)&&oo(m,g,!0)):ne(m,g,x,q,C,v,O,$,T)},Xe=(m,g,x,k,C,v,O,$,T)=>{g.slotScopeIds=$,m==null?g.shapeFlag&512?C.ctx.activate(g,x,k,O,T):as(g,x,k,C,v,O,T):Ht(m,g,T)},as=(m,g,x,k,C,v,O)=>{const $=m.component=Rl(m,k,C);if(Va(m)&&($.ctx.renderer=H),Al($,!1,O),$.asyncDep){if(C&&C.registerDep($,we,O),!m.el){const T=$.subTree=S(xt);V(null,T,g,x),m.placeholder=T.el}}else we($,m,g,x,C,v,O)},Ht=(m,g,x)=>{const k=g.component=m.component;if(al(m,g,x))if(k.asyncDep&&!k.asyncResolved){ce(k,g,x);return}else k.next=g,k.update();else g.el=m.el,k.vnode=g},we=(m,g,x,k,C,v,O)=>{const $=()=>{if(m.isMounted){let{next:M,bu:U,u:z,parent:se,vnode:me}=m;{const tt=io(m);if(tt){M&&(M.el=me.el,ce(m,M,O)),tt.asyncDep.then(()=>{m.isUnmounted||$()});return}}let le=M,Ne;It(m,!1),M?(M.el=me.el,ce(m,M,O)):M=me,U&&Is(U),(Ne=M.props&&M.props.onVnodeBeforeUpdate)&&rt(Ne,se,M,me),It(m,!0);const Le=wn(m),et=m.subTree;m.subTree=Le,D(et,Le,f(et.el),_(et),m,C,v),M.el=Le.el,le===null&&ol(m,Le.el),z&&Ve(z,C),(Ne=M.props&&M.props.onVnodeUpdated)&&Ve(()=>rt(Ne,se,M,me),C)}else{let M;const{el:U,props:z}=g,{bm:se,m:me,parent:le,root:Ne,type:Le}=m,et=Jt(g);It(m,!1),se&&Is(se),!et&&(M=z&&z.onVnodeBeforeMount)&&rt(M,le,g),It(m,!0);{Ne.ce&&Ne.ce._def.shadowRoot!==!1&&Ne.ce._injectChildStyle(Le);const tt=m.subTree=wn(m);D(null,tt,x,k,m,C,v),g.el=tt.el}if(me&&Ve(me,C),!et&&(M=z&&z.onVnodeMounted)){const tt=g;Ve(()=>rt(M,le,tt),C)}(g.shapeFlag&256||le&&Jt(le.vnode)&&le.vnode.shapeFlag&256)&&m.a&&Ve(m.a,C),m.isMounted=!0,g=x=k=null}};m.scope.on();const T=m.effect=new pa($);m.scope.off();const A=m.update=T.run.bind(T),q=m.job=T.runIfDirty.bind(T);q.i=m,q.id=m.uid,T.scheduler=()=>Qr(q),It(m,!0),A()},ce=(m,g,x)=>{g.component=m;const k=m.vnode.props;m.vnode=g,m.next=null,ll(m,g.props,k,x),fl(m,g.children,x),gt(),hn(m),pt()},ne=(m,g,x,k,C,v,O,$,T=!1)=>{const A=m&&m.children,q=m?m.shapeFlag:0,M=g.children,{patchFlag:U,shapeFlag:z}=g;if(U>0){if(U&128){kt(A,M,x,k,C,v,O,$,T);return}else if(U&256){lt(A,M,x,k,C,v,O,$,T);return}}z&8?(q&16&&Be(A,C,v),M!==A&&u(x,M)):q&16?z&16?kt(A,M,x,k,C,v,O,$,T):Be(A,C,v,!0):(q&8&&u(x,""),z&16&&Se(M,x,k,C,v,O,$,T))},lt=(m,g,x,k,C,v,O,$,T)=>{m=m||Kt,g=g||Kt;const A=m.length,q=g.length,M=Math.min(A,q);let U;for(U=0;Uq?Be(m,C,v,!0,!1,M):Se(g,x,k,C,v,O,$,T,M)},kt=(m,g,x,k,C,v,O,$,T)=>{let A=0;const q=g.length;let M=m.length-1,U=q-1;for(;A<=M&&A<=U;){const z=m[A],se=g[A]=T?Rt(g[A]):at(g[A]);if(ls(z,se))D(z,se,x,null,C,v,O,$,T);else break;A++}for(;A<=M&&A<=U;){const z=m[M],se=g[U]=T?Rt(g[U]):at(g[U]);if(ls(z,se))D(z,se,x,null,C,v,O,$,T);else break;M--,U--}if(A>M){if(A<=U){const z=U+1,se=zU)for(;A<=M;)De(m[A],C,v,!0),A++;else{const z=A,se=A,me=new Map;for(A=se;A<=U;A++){const Fe=g[A]=T?Rt(g[A]):at(g[A]);Fe.key!=null&&me.set(Fe.key,A)}let le,Ne=0;const Le=U-se+1;let et=!1,tt=0;const os=new Array(Le);for(A=0;A=Le){De(Fe,C,v,!0);continue}let st;if(Fe.key!=null)st=me.get(Fe.key);else for(le=se;le<=U;le++)if(os[le-se]===0&&ls(Fe,g[le])){st=le;break}st===void 0?De(Fe,C,v,!0):(os[st-se]=A+1,st>=tt?tt=st:et=!0,D(Fe,g[st],x,null,C,v,O,$,T),Ne++)}const ln=et?hl(os):Kt;for(le=ln.length-1,A=Le-1;A>=0;A--){const Fe=se+A,st=g[Fe],cn=g[Fe+1],dn=Fe+1{const{el:v,type:O,transition:$,children:T,shapeFlag:A}=m;if(A&6){Ze(m.component.subTree,g,x,k);return}if(A&128){m.suspense.move(g,x,k);return}if(A&64){O.move(m,g,x,H);return}if(O===X){n(v,g,x);for(let M=0;M$.enter(v),C);else{const{leave:M,delayLeave:U,afterLeave:z}=$,se=()=>{m.ctx.isUnmounted?a(v):n(v,g,x)},me=()=>{v._isLeaving&&v[Pi](!0),M(v,()=>{se(),z&&z()})};U?U(v,se,me):me()}else n(v,g,x)},De=(m,g,x,k=!1,C=!1)=>{const{type:v,props:O,ref:$,children:T,dynamicChildren:A,shapeFlag:q,patchFlag:M,dirs:U,cacheIndex:z}=m;if(M===-2&&(C=!1),$!=null&&(gt(),ps($,null,x,m,!0),pt()),z!=null&&(g.renderCache[z]=void 0),q&256){g.ctx.deactivate(m);return}const se=q&1&&U,me=!Jt(m);let le;if(me&&(le=O&&O.onVnodeBeforeUnmount)&&rt(le,g,m),q&6)$t(m.component,x,k);else{if(q&128){m.suspense.unmount(x,k);return}se&&Ot(m,null,g,"beforeUnmount"),q&64?m.type.remove(m,g,x,H,k):A&&!A.hasOnce&&(v!==X||M>0&&M&64)?Be(A,g,x,!1,!0):(v===X&&M&384||!C&&q&16)&&Be(T,g,x),k&&Bt(m)}(me&&(le=O&&O.onVnodeUnmounted)||se)&&Ve(()=>{le&&rt(le,g,m),se&&Ot(m,null,g,"unmounted")},x)},Bt=m=>{const{type:g,el:x,anchor:k,transition:C}=m;if(g===X){Gt(x,k);return}if(g===Ms){F(m);return}const v=()=>{a(x),C&&!C.persisted&&C.afterLeave&&C.afterLeave()};if(m.shapeFlag&1&&C&&!C.persisted){const{leave:O,delayLeave:$}=C,T=()=>O(x,v);$?$(m.el,v,T):T()}else v()},Gt=(m,g)=>{let x;for(;m!==g;)x=p(m),a(m),m=x;a(g)},$t=(m,g,x)=>{const{bum:k,scope:C,job:v,subTree:O,um:$,m:T,a:A}=m;Sn(T),Sn(A),k&&Is(k),C.stop(),v&&(v.flags|=8,De(O,m,g,x)),$&&Ve($,g),Ve(()=>{m.isUnmounted=!0},g)},Be=(m,g,x,k=!1,C=!1,v=0)=>{for(let O=v;O{if(m.shapeFlag&6)return _(m.component.subTree);if(m.shapeFlag&128)return m.suspense.next();const g=p(m.anchor||m.el),x=g&&g[Ai];return x?p(x):g};let N=!1;const I=(m,g,x)=>{m==null?g._vnode&&De(g._vnode,null,null,!0):D(g._vnode||null,m,g,null,null,null,x),g._vnode=m,N||(N=!0,hn(),Da(),N=!1)},H={p:D,um:De,m:Ze,r:Bt,mt:as,mc:Se,pc:ne,pbc:Ye,n:_,o:e};return{render:I,hydrate:void 0,createApp:Ji(I)}}function mr({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function It({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function pl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function oo(e,t,s=!1){const n=e.children,a=t.children;if(K(n)&&K(a))for(let o=0;o>1,e[s[l]]0&&(t[n]=s[o-1]),s[o]=n)}}for(o=s.length,i=s[o-1];o-- >0;)s[o]=i,i=t[i];return s}function io(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:io(t)}function Sn(e){if(e)for(let t=0;te.__isSuspense;function xl(e,t){t&&t.pendingBranch?K(e)?t.effects.push(...e):t.effects.push(e):Si(e)}const X=Symbol.for("v-fgt"),sr=Symbol.for("v-txt"),xt=Symbol.for("v-cmt"),Ms=Symbol.for("v-stc"),ys=[];let He=null;function y(e=!1){ys.push(He=e?null:[])}function yl(){ys.pop(),He=ys[ys.length-1]||null}let ws=1;function Bs(e,t=!1){ws+=e,e<0&&He&&t&&(He.hasOnce=!0)}function co(e){return e.dynamicChildren=ws>0?He||Kt:null,yl(),ws>0&&He&&He.push(e),e}function w(e,t,s,n,a,o){return co(r(e,t,s,n,a,o,!0))}function Z(e,t,s,n,a){return co(S(e,t,s,n,a,!0))}function Cs(e){return e?e.__v_isVNode===!0:!1}function ls(e,t){return e.type===t.type&&e.key===t.key}const uo=({key:e})=>e??null,Ds=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?ye(e)||Pe(e)||J(e)?{i:Re,r:e,k:t,f:!!s}:e:null);function r(e,t=null,s=null,n=0,a=null,o=e===X?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&uo(t),ref:t&&Ds(t),scopeId:La,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:n,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:Re};return l?(tn(c,s),o&128&&e.normalize(c)):s&&(c.shapeFlag|=ye(s)?8:16),ws>0&&!i&&He&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&He.push(c),c}const S=bl;function bl(e,t=null,s=null,n=0,a=null,o=!1){if((!e||e===Ga)&&(e=xt),Cs(e)){const l=es(e,t,!0);return s&&tn(l,s),ws>0&&!o&&He&&(l.shapeFlag&6?He[He.indexOf(e)]=l:He.push(l)),l.patchFlag=-2,l}if(Ol(e)&&(e=e.__vccOpts),t){t=vl(t);let{class:l,style:c}=t;l&&!ye(l)&&(t.class=Y(l)),fe(c)&&(zr(c)&&!K(c)&&(c=$e({},c)),t.style=Pt(c))}const i=ye(e)?1:lo(e)?128:Ei(e)?64:fe(e)?4:J(e)?2:0;return r(e,t,s,n,a,i,o,!0)}function vl(e){return e?zr(e)||eo(e)?$e({},e):e:null}function es(e,t,s=!1,n=!1){const{props:a,ref:o,patchFlag:i,children:l,transition:c}=e,d=t?_l(a||{},t):a,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&uo(d),ref:t&&t.ref?s&&o?K(o)?o.concat(Ds(t)):[o,Ds(t)]:Ds(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==X?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&es(e.ssContent),ssFallback:e.ssFallback&&es(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&n&&Yr(u,c.clone(u)),u}function R(e=" ",t=0){return S(sr,null,e,t)}function kl(e,t){const s=S(Ms,null,e);return s.staticCount=t,s}function B(e="",t=!1){return t?(y(),Z(xt,null,e)):S(xt,null,e)}function at(e){return e==null||typeof e=="boolean"?S(xt):K(e)?S(X,null,e.slice()):Cs(e)?Rt(e):S(sr,null,String(e))}function Rt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:es(e)}function tn(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(K(t))s=16;else if(typeof t=="object")if(n&65){const a=t.default;a&&(a._c&&(a._d=!1),tn(e,a()),a._c&&(a._d=!0));return}else{s=32;const a=t._;!a&&!eo(t)?t._ctx=Re:a===3&&Re&&(Re.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else J(t)?(t={default:t,_ctx:Re},s=32):(t=String(t),n&64?(s=16,t=[R(t)]):s=8);e.children=t,e.shapeFlag|=s}function _l(...e){const t={};for(let s=0;sEe||Re;let Gs,Tr;{const e=Qs(),t=(s,n)=>{let a;return(a=e[s])||(a=e[s]=[]),a.push(n),o=>{a.length>1?a.forEach(i=>i(o)):a[0](o)}};Gs=t("__VUE_INSTANCE_SETTERS__",s=>Ee=s),Tr=t("__VUE_SSR_SETTERS__",s=>Rs=s)}const Ps=e=>{const t=Ee;return Gs(e),e.scope.on(),()=>{e.scope.off(),Gs(t)}},An=()=>{Ee&&Ee.scope.off(),Gs(null)};function fo(e){return e.vnode.shapeFlag&4}let Rs=!1;function Al(e,t=!1,s=!1){t&&Tr(t);const{props:n,children:a}=e.vnode,o=fo(e);il(e,n,o,t),ul(e,a,s||t);const i=o?El(e,t):void 0;return t&&Tr(!1),i}function El(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Gi);const{setup:n}=s;if(n){gt();const a=e.setupContext=n.length>1?Tl(e):null,o=Ps(e),i=Es(n,e,0,[e.props,a]),l=ia(i);if(pt(),o(),(l||e.sp)&&!Jt(e)&&Fa(e),l){if(i.then(An,An),t)return i.then(c=>{En(e,c)}).catch(c=>{Zs(c,e,0)});e.asyncDep=i}else En(e,i)}else mo(e)}function En(e,t,s){J(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:fe(t)&&(e.setupState=$a(t)),mo(e)}function mo(e,t,s){const n=e.type;e.render||(e.render=n.render||ot);{const a=Ps(e);gt();try{Ui(e)}finally{pt(),a()}}}const Pl={get(e,t){return Ae(e,"get",""),e[t]}};function Tl(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,Pl),slots:e.slots,emit:e.emit,expose:t}}function rr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy($a(hi(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in hs)return hs[s](e)},has(t,s){return s in t||s in hs}})):e.proxy}function $l(e,t=!0){return J(e)?e.displayName||e.name:e.name||t&&e.__name}function Ol(e){return J(e)&&"__vccOpts"in e}const ee=(e,t)=>ki(e,t,Rs);function go(e,t,s){try{Bs(-1);const n=arguments.length;return n===2?fe(t)&&!K(t)?Cs(t)?S(e,null,[t]):S(e,t):S(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&Cs(s)&&(s=[s]),S(e,t,s))}finally{Bs(1)}}const Il="3.5.25";let $r;const Pn=typeof window<"u"&&window.trustedTypes;if(Pn)try{$r=Pn.createPolicy("vue",{createHTML:e=>e})}catch{}const po=$r?e=>$r.createHTML(e):e=>e,Ml="http://www.w3.org/2000/svg",Dl="http://www.w3.org/1998/Math/MathML",ut=typeof document<"u"?document:null,Tn=ut&&ut.createElement("template"),Nl={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const a=t==="svg"?ut.createElementNS(Ml,e):t==="mathml"?ut.createElementNS(Dl,e):s?ut.createElement(e,{is:s}):ut.createElement(e);return e==="select"&&n&&n.multiple!=null&&a.setAttribute("multiple",n.multiple),a},createText:e=>ut.createTextNode(e),createComment:e=>ut.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ut.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,a,o){const i=s?s.previousSibling:t.lastChild;if(a&&(a===o||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),s),!(a===o||!(a=a.nextSibling)););else{Tn.innerHTML=po(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=Tn.content;if(n==="svg"||n==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,s)}return[i?i.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Ll=Symbol("_vtc");function jl(e,t,s){const n=e[Ll];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const $n=Symbol("_vod"),Fl=Symbol("_vsh"),Vl=Symbol(""),Hl=/(?:^|;)\s*display\s*:/;function Bl(e,t,s){const n=e.style,a=ye(s);let o=!1;if(s&&!a){if(t)if(ye(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();s[l]==null&&Ns(n,l,"")}else for(const i in t)s[i]==null&&Ns(n,i,"");for(const i in s)i==="display"&&(o=!0),Ns(n,i,s[i])}else if(a){if(t!==s){const i=n[Vl];i&&(s+=";"+i),n.cssText=s,o=Hl.test(s)}}else t&&e.removeAttribute("style");$n in e&&(e[$n]=o?n.display:"",e[Fl]&&(n.display="none"))}const On=/\s*!important$/;function Ns(e,t,s){if(K(s))s.forEach(n=>Ns(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=Gl(e,t);On.test(s)?e.setProperty(Ft(n),s.replace(On,""),"important"):e[n]=s}}const In=["Webkit","Moz","ms"],gr={};function Gl(e,t){const s=gr[t];if(s)return s;let n=qe(t);if(n!=="filter"&&n in e)return gr[t]=n;n=zs(n);for(let a=0;apr||(Kl.then(()=>pr=0),pr=Date.now());function Ql(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;it(Jl(n,s.value),t,5,[n])};return s.value=e,s.attached=zl(),s}function Jl(e,t){if(K(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>a=>!a._stopped&&n&&n(a))}else return t}const Fn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Yl=(e,t,s,n,a,o)=>{const i=a==="svg";t==="class"?jl(e,n,i):t==="style"?Bl(e,s,n):qs(t)?jr(t)||ql(e,t,s,n,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Xl(e,t,n,i))?(Nn(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Dn(e,t,n,i,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!ye(n))?Nn(e,qe(t),n,o,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Dn(e,t,n,i))};function Xl(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Fn(t)&&J(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return Fn(t)&&ye(s)?!1:t in e}const Us=e=>{const t=e.props["onUpdate:modelValue"]||!1;return K(t)?s=>Is(t,s):t};function Zl(e){e.target.composing=!0}function Vn(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Xt=Symbol("_assign");function Hn(e,t,s){return t&&(e=e.trim()),s&&(e=Hr(e)),e}const ho={created(e,{modifiers:{lazy:t,trim:s,number:n}},a){e[Xt]=Us(a);const o=n||a.props&&a.props.type==="number";Dt(e,t?"change":"input",i=>{i.target.composing||e[Xt](Hn(e.value,s,o))}),(s||o)&&Dt(e,"change",()=>{e.value=Hn(e.value,s,o)}),t||(Dt(e,"compositionstart",Zl),Dt(e,"compositionend",Vn),Dt(e,"change",Vn))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:a,number:o}},i){if(e[Xt]=Us(i),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?Hr(e.value):e.value,c=t??"";l!==c&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||a&&e.value.trim()===c)||(e.value=c))}},ec={deep:!0,created(e,t,s){e[Xt]=Us(s),Dt(e,"change",()=>{const n=e._modelValue,a=tc(e),o=e.checked,i=e[Xt];if(K(n)){const l=fa(n,a),c=l!==-1;if(o&&!c)i(n.concat(a));else if(!o&&c){const d=[...n];d.splice(l,1),i(d)}}else if(Ws(n)){const l=new Set(n);o?l.add(a):l.delete(a),i(l)}else i(xo(e,o))})},mounted:Bn,beforeUpdate(e,t,s){e[Xt]=Us(s),Bn(e,t,s)}};function Bn(e,{value:t,oldValue:s},n){e._modelValue=t;let a;if(K(t))a=fa(t,n.props.value)>-1;else if(Ws(t))a=t.has(n.props.value);else{if(t===s)return;a=Js(t,xo(e,!0))}e.checked!==a&&(e.checked=a)}function tc(e){return"_value"in e?e._value:e.value}function xo(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const sc=["ctrl","shift","alt","meta"],rc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>sc.some(s=>e[`${s}Key`]&&!t.includes(s))},yo=(e,t)=>{const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=((a,...o)=>{for(let i=0;i{const t=ac().createApp(...e),{mount:s}=t;return t.mount=n=>{const a=lc(n);if(!a)return;const o=t._component;!J(o)&&!o.render&&!o.template&&(o.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const i=s(a,!1,ic(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),i},t});function ic(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function lc(e){return ye(e)?document.querySelector(e):e}const Wt=typeof document<"u";function bo(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function cc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&bo(e.default)}const ae=Object.assign;function hr(e,t){const s={};for(const n in t){const a=t[n];s[n]=Je(a)?a.map(e):e(a)}return s}const bs=()=>{},Je=Array.isArray;function Un(e,t){const s={};for(const n in e)s[n]=n in t?t[n]:e[n];return s}const vo=/#/g,dc=/&/g,uc=/\//g,fc=/=/g,mc=/\?/g,ko=/\+/g,gc=/%5B/g,pc=/%5D/g,_o=/%5E/g,hc=/%60/g,wo=/%7B/g,xc=/%7C/g,Co=/%7D/g,yc=/%20/g;function sn(e){return e==null?"":encodeURI(""+e).replace(xc,"|").replace(gc,"[").replace(pc,"]")}function bc(e){return sn(e).replace(wo,"{").replace(Co,"}").replace(_o,"^")}function Or(e){return sn(e).replace(ko,"%2B").replace(yc,"+").replace(vo,"%23").replace(dc,"%26").replace(hc,"`").replace(wo,"{").replace(Co,"}").replace(_o,"^")}function vc(e){return Or(e).replace(fc,"%3D")}function kc(e){return sn(e).replace(vo,"%23").replace(mc,"%3F")}function _c(e){return kc(e).replace(uc,"%2F")}function Ss(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const wc=/\/$/,Cc=e=>e.replace(wc,"");function xr(e,t,s="/"){let n,a={},o="",i="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(n=t.slice(0,c),o=t.slice(c,l>0?l:t.length),a=e(o.slice(1))),l>=0&&(n=n||t.slice(0,l),i=t.slice(l,t.length)),n=Ec(n??t,s),{fullPath:n+o+i,path:n,query:a,hash:Ss(i)}}function Rc(e,t){const s=t.query?e(t.query):"";return t.path+(s&&"?")+s+(t.hash||"")}function qn(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Sc(e,t,s){const n=t.matched.length-1,a=s.matched.length-1;return n>-1&&n===a&&ts(t.matched[n],s.matched[a])&&Ro(t.params,s.params)&&e(t.query)===e(s.query)&&t.hash===s.hash}function ts(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ro(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const s in e)if(!Ac(e[s],t[s]))return!1;return!0}function Ac(e,t){return Je(e)?Wn(e,t):Je(t)?Wn(t,e):e===t}function Wn(e,t){return Je(t)?e.length===t.length&&e.every((s,n)=>s===t[n]):e.length===1&&e[0]===t}function Ec(e,t){if(e.startsWith("/"))return e;if(!e)return t;const s=t.split("/"),n=e.split("/"),a=n[n.length-1];(a===".."||a===".")&&n.push("");let o=s.length-1,i,l;for(i=0;i1&&o--;else break;return s.slice(0,o).join("/")+"/"+n.slice(i).join("/")}const _t={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Ir=(function(e){return e.pop="pop",e.push="push",e})({}),yr=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function Pc(e){if(!e)if(Wt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Cc(e)}const Tc=/^[^#]+#/;function $c(e,t){return e.replace(Tc,"#")+t}function Oc(e,t){const s=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{behavior:t.behavior,left:n.left-s.left-(t.left||0),top:n.top-s.top-(t.top||0)}}const nr=()=>({left:window.scrollX,top:window.scrollY});function Ic(e){let t;if("el"in e){const s=e.el,n=typeof s=="string"&&s.startsWith("#"),a=typeof s=="string"?n?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!a)return;t=Oc(a,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Kn(e,t){return(history.state?history.state.position-t:-1)+e}const Mr=new Map;function Mc(e,t){Mr.set(e,t)}function Dc(e){const t=Mr.get(e);return Mr.delete(e),t}function Nc(e){return typeof e=="string"||e&&typeof e=="object"}function So(e){return typeof e=="string"||typeof e=="symbol"}let he=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const Ao=Symbol("");he.MATCHER_NOT_FOUND+"",he.NAVIGATION_GUARD_REDIRECT+"",he.NAVIGATION_ABORTED+"",he.NAVIGATION_CANCELLED+"",he.NAVIGATION_DUPLICATED+"";function ss(e,t){return ae(new Error,{type:e,[Ao]:!0},t)}function dt(e,t){return e instanceof Error&&Ao in e&&(t==null||!!(e.type&t))}const Lc=["params","query","hash"];function jc(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const s of Lc)s in e&&(t[s]=e[s]);return JSON.stringify(t,null,2)}function Fc(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let n=0;na&&Or(a)):[n&&Or(n)]).forEach(a=>{a!==void 0&&(t+=(t.length?"&":"")+s,a!=null&&(t+="="+a))})}return t}function Vc(e){const t={};for(const s in e){const n=e[s];n!==void 0&&(t[s]=Je(n)?n.map(a=>a==null?null:""+a):n==null?n:""+n)}return t}const Hc=Symbol(""),Qn=Symbol(""),rn=Symbol(""),nn=Symbol(""),Dr=Symbol("");function cs(){let e=[];function t(n){return e.push(n),()=>{const a=e.indexOf(n);a>-1&&e.splice(a,1)}}function s(){e=[]}return{add:t,list:()=>e.slice(),reset:s}}function St(e,t,s,n,a,o=i=>i()){const i=n&&(n.enterCallbacks[a]=n.enterCallbacks[a]||[]);return()=>new Promise((l,c)=>{const d=p=>{p===!1?c(ss(he.NAVIGATION_ABORTED,{from:s,to:t})):p instanceof Error?c(p):Nc(p)?c(ss(he.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(i&&n.enterCallbacks[a]===i&&typeof p=="function"&&i.push(p),l())},u=o(()=>e.call(n&&n.instances[a],t,s,d));let f=Promise.resolve(u);e.length<3&&(f=f.then(d)),f.catch(p=>c(p))})}function br(e,t,s,n,a=o=>o()){const o=[];for(const i of e)for(const l in i.components){let c=i.components[l];if(!(t!=="beforeRouteEnter"&&!i.instances[l]))if(bo(c)){const d=(c.__vccOpts||c)[t];d&&o.push(St(d,s,n,i,l,a))}else{let d=c();o.push(()=>d.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${l}" at "${i.path}"`);const f=cc(u)?u.default:u;i.mods[l]=u,i.components[l]=f;const p=(f.__vccOpts||f)[t];return p&&St(p,s,n,i,l,a)()}))}}return o}function Bc(e,t){const s=[],n=[],a=[],o=Math.max(t.matched.length,e.matched.length);for(let i=0;its(d,l))?n.push(l):s.push(l));const c=e.matched[i];c&&(t.matched.find(d=>ts(d,c))||a.push(c))}return[s,n,a]}let Gc=()=>location.protocol+"//"+location.host;function Eo(e,t){const{pathname:s,search:n,hash:a}=t,o=e.indexOf("#");if(o>-1){let i=a.includes(e.slice(o))?e.slice(o).length:1,l=a.slice(i);return l[0]!=="/"&&(l="/"+l),qn(l,"")}return qn(s,e)+n+a}function Uc(e,t,s,n){let a=[],o=[],i=null;const l=({state:p})=>{const h=Eo(e,location),P=s.value,D=t.value;let Q=0;if(p){if(s.value=h,t.value=p,i&&i===P){i=null;return}Q=D?p.position-D.position:0}else n(h);a.forEach(V=>{V(s.value,P,{delta:Q,type:Ir.pop,direction:Q?Q>0?yr.forward:yr.back:yr.unknown})})};function c(){i=s.value}function d(p){a.push(p);const h=()=>{const P=a.indexOf(p);P>-1&&a.splice(P,1)};return o.push(h),h}function u(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(ae({},p.state,{scroll:nr()}),"")}}function f(){for(const p of o)p();o=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:c,listen:d,destroy:f}}function Jn(e,t,s,n=!1,a=!1){return{back:e,current:t,forward:s,replaced:n,position:window.history.length,scroll:a?nr():null}}function qc(e){const{history:t,location:s}=window,n={value:Eo(e,s)},a={value:t.state};a.value||o(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(c,d,u){const f=e.indexOf("#"),p=f>-1?(s.host&&document.querySelector("base")?e:e.slice(f))+c:Gc()+e+c;try{t[u?"replaceState":"pushState"](d,"",p),a.value=d}catch(h){console.error(h),s[u?"replace":"assign"](p)}}function i(c,d){o(c,ae({},t.state,Jn(a.value.back,c,a.value.forward,!0),d,{position:a.value.position}),!0),n.value=c}function l(c,d){const u=ae({},a.value,t.state,{forward:c,scroll:nr()});o(u.current,u,!0),o(c,ae({},Jn(n.value,c,null),{position:u.position+1},d),!1),n.value=c}return{location:n,state:a,push:l,replace:i}}function Wc(e){e=Pc(e);const t=qc(e),s=Uc(e,t.state,t.location,t.replace);function n(o,i=!0){i||s.pauseListeners(),history.go(o)}const a=ae({location:"",base:e,go:n,createHref:$c.bind(null,e)},t,s);return Object.defineProperty(a,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(a,"state",{enumerable:!0,get:()=>t.state.value}),a}function Kc(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Wc(e)}let Nt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var ke=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(ke||{});const zc={type:Nt.Static,value:""},Qc=/[a-zA-Z0-9_]/;function Jc(e){if(!e)return[[]];if(e==="/")return[[zc]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${s})/"${d}": ${h}`)}let s=ke.Static,n=s;const a=[];let o;function i(){o&&a.push(o),o=[]}let l=0,c,d="",u="";function f(){d&&(s===ke.Static?o.push({type:Nt.Static,value:d}):s===ke.Param||s===ke.ParamRegExp||s===ke.ParamRegExpEnd?(o.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${d}) must be alone in its segment. eg: '/:ids+.`),o.push({type:Nt.Param,value:d,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),d="")}function p(){d+=c}for(;lt.length?t.length===1&&t[0]===Ie.Static+Ie.Segment?1:-1:0}function Po(e,t){let s=0;const n=e.score,a=t.score;for(;s0&&t[t.length-1]<0}const td={strict:!1,end:!0,sensitive:!1};function sd(e,t,s){const n=Zc(Jc(e.path),s),a=ae(n,{record:e,parent:t,children:[],alias:[]});return t&&!a.record.aliasOf==!t.record.aliasOf&&t.children.push(a),a}function rd(e,t){const s=[],n=new Map;t=Un(td,t);function a(f){return n.get(f)}function o(f,p,h){const P=!h,D=ea(f);D.aliasOf=h&&h.record;const Q=Un(t,f),V=[D];if("alias"in f){const F=typeof f.alias=="string"?[f.alias]:f.alias;for(const re of F)V.push(ea(ae({},D,{components:h?h.record.components:D.components,path:re,aliasOf:h?h.record:D})))}let j,G;for(const F of V){const{path:re}=F;if(p&&re[0]!=="/"){const ve=p.record.path,pe=ve[ve.length-1]==="/"?"":"/";F.path=p.record.path+(re&&pe+re)}if(j=sd(F,p,Q),h?h.alias.push(j):(G=G||j,G!==j&&G.alias.push(j),P&&f.name&&!ta(j)&&i(f.name)),To(j)&&c(j),D.children){const ve=D.children;for(let pe=0;pe{i(G)}:bs}function i(f){if(So(f)){const p=n.get(f);p&&(n.delete(f),s.splice(s.indexOf(p),1),p.children.forEach(i),p.alias.forEach(i))}else{const p=s.indexOf(f);p>-1&&(s.splice(p,1),f.record.name&&n.delete(f.record.name),f.children.forEach(i),f.alias.forEach(i))}}function l(){return s}function c(f){const p=od(f,s);s.splice(p,0,f),f.record.name&&!ta(f)&&n.set(f.record.name,f)}function d(f,p){let h,P={},D,Q;if("name"in f&&f.name){if(h=n.get(f.name),!h)throw ss(he.MATCHER_NOT_FOUND,{location:f});Q=h.record.name,P=ae(Zn(p.params,h.keys.filter(G=>!G.optional).concat(h.parent?h.parent.keys.filter(G=>G.optional):[]).map(G=>G.name)),f.params&&Zn(f.params,h.keys.map(G=>G.name))),D=h.stringify(P)}else if(f.path!=null)D=f.path,h=s.find(G=>G.re.test(D)),h&&(P=h.parse(D),Q=h.record.name);else{if(h=p.name?n.get(p.name):s.find(G=>G.re.test(p.path)),!h)throw ss(he.MATCHER_NOT_FOUND,{location:f,currentLocation:p});Q=h.record.name,P=ae({},p.params,f.params),D=h.stringify(P)}const V=[];let j=h;for(;j;)V.unshift(j.record),j=j.parent;return{name:Q,path:D,params:P,matched:V,meta:ad(V)}}e.forEach(f=>o(f));function u(){s.length=0,n.clear()}return{addRoute:o,resolve:d,removeRoute:i,clearRoutes:u,getRoutes:l,getRecordMatcher:a}}function Zn(e,t){const s={};for(const n of t)n in e&&(s[n]=e[n]);return s}function ea(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:nd(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function nd(e){const t={},s=e.props||!1;if("component"in e)t.default=s;else for(const n in e.components)t[n]=typeof s=="object"?s[n]:s;return t}function ta(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function ad(e){return e.reduce((t,s)=>ae(t,s.meta),{})}function od(e,t){let s=0,n=t.length;for(;s!==n;){const o=s+n>>1;Po(e,t[o])<0?n=o:s=o+1}const a=id(e);return a&&(n=t.lastIndexOf(a,n-1)),n}function id(e){let t=e;for(;t=t.parent;)if(To(t)&&Po(e,t)===0)return t}function To({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function sa(e){const t=Te(rn),s=Te(nn),n=ee(()=>{const c=E(e.to);return t.resolve(c)}),a=ee(()=>{const{matched:c}=n.value,{length:d}=c,u=c[d-1],f=s.matched;if(!u||!f.length)return-1;const p=f.findIndex(ts.bind(null,u));if(p>-1)return p;const h=ra(c[d-2]);return d>1&&ra(u)===h&&f[f.length-1].path!==h?f.findIndex(ts.bind(null,c[d-2])):p}),o=ee(()=>a.value>-1&&ud(s.params,n.value.params)),i=ee(()=>a.value>-1&&a.value===s.matched.length-1&&Ro(s.params,n.value.params));function l(c={}){if(dd(c)){const d=t[E(e.replace)?"replace":"push"](E(e.to)).catch(bs);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>d),d}return Promise.resolve()}return{route:n,href:ee(()=>n.value.href),isActive:o,isExactActive:i,navigate:l}}function ld(e){return e.length===1?e[0]:e}const cd=ja({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:sa,setup(e,{slots:t}){const s=Xs(sa(e)),{options:n}=Te(rn),a=ee(()=>({[na(e.activeClass,n.linkActiveClass,"router-link-active")]:s.isActive,[na(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{const o=t.default&&ld(t.default(s));return e.custom?o:go("a",{"aria-current":s.isExactActive?e.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:a.value},o)}}}),_e=cd;function dd(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function ud(e,t){for(const s in t){const n=t[s],a=e[s];if(typeof n=="string"){if(n!==a)return!1}else if(!Je(a)||a.length!==n.length||n.some((o,i)=>o!==a[i]))return!1}return!0}function ra(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const na=(e,t,s)=>e??t??s,fd=ja({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:s}){const n=Te(Dr),a=ee(()=>e.route||n.value),o=Te(Qn,0),i=ee(()=>{let d=E(o);const{matched:u}=a.value;let f;for(;(f=u[d])&&!f.components;)d++;return d}),l=ee(()=>a.value.matched[i.value]);xs(Qn,ee(()=>i.value+1)),xs(Hc,l),xs(Dr,a);const c=be();return Ue(()=>[c.value,l.value,e.name],([d,u,f],[p,h,P])=>{u&&(u.instances[f]=d,h&&h!==u&&d&&d===p&&(u.leaveGuards.size||(u.leaveGuards=h.leaveGuards),u.updateGuards.size||(u.updateGuards=h.updateGuards))),d&&u&&(!h||!ts(u,h)||!p)&&(u.enterCallbacks[f]||[]).forEach(D=>D(d))},{flush:"post"}),()=>{const d=a.value,u=e.name,f=l.value,p=f&&f.components[u];if(!p)return aa(s.default,{Component:p,route:d});const h=f.props[u],P=h?h===!0?d.params:typeof h=="function"?h(d):h:null,Q=go(p,ae({},P,t,{onVnodeUnmounted:V=>{V.component.isUnmounted&&(f.instances[u]=null)},ref:c}));return aa(s.default,{Component:Q,route:d})||Q}}});function aa(e,t){if(!e)return null;const s=e(t);return s.length===1?s[0]:s}const md=fd;function gd(e){const t=rd(e.routes,e),s=e.parseQuery||Fc,n=e.stringifyQuery||zn,a=e.history,o=cs(),i=cs(),l=cs(),c=xi(_t);let d=_t;Wt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=hr.bind(null,_=>""+_),f=hr.bind(null,_c),p=hr.bind(null,Ss);function h(_,N){let I,H;return So(_)?(I=t.getRecordMatcher(_),H=N):H=_,t.addRoute(H,I)}function P(_){const N=t.getRecordMatcher(_);N&&t.removeRoute(N)}function D(){return t.getRoutes().map(_=>_.record)}function Q(_){return!!t.getRecordMatcher(_)}function V(_,N){if(N=ae({},N||c.value),typeof _=="string"){const x=xr(s,_,N.path),k=t.resolve({path:x.path},N),C=a.createHref(x.fullPath);return ae(x,k,{params:p(k.params),hash:Ss(x.hash),redirectedFrom:void 0,href:C})}let I;if(_.path!=null)I=ae({},_,{path:xr(s,_.path,N.path).path});else{const x=ae({},_.params);for(const k in x)x[k]==null&&delete x[k];I=ae({},_,{params:f(x)}),N.params=f(N.params)}const H=t.resolve(I,N),te=_.hash||"";H.params=u(p(H.params));const m=Rc(n,ae({},_,{hash:bc(te),path:H.path})),g=a.createHref(m);return ae({fullPath:m,hash:te,query:n===zn?Vc(_.query):_.query||{}},H,{redirectedFrom:void 0,href:g})}function j(_){return typeof _=="string"?xr(s,_,c.value.path):ae({},_)}function G(_,N){if(d!==_)return ss(he.NAVIGATION_CANCELLED,{from:N,to:_})}function F(_){return pe(_)}function re(_){return F(ae(j(_),{replace:!0}))}function ve(_,N){const I=_.matched[_.matched.length-1];if(I&&I.redirect){const{redirect:H}=I;let te=typeof H=="function"?H(_,N):H;return typeof te=="string"&&(te=te.includes("?")||te.includes("#")?te=j(te):{path:te},te.params={}),ae({query:_.query,hash:_.hash,params:te.path!=null?{}:_.params},te)}}function pe(_,N){const I=d=V(_),H=c.value,te=_.state,m=_.force,g=_.replace===!0,x=ve(I,H);if(x)return pe(ae(j(x),{state:typeof x=="object"?ae({},te,x.state):te,force:m,replace:g}),N||I);const k=I;k.redirectedFrom=N;let C;return!m&&Sc(n,H,I)&&(C=ss(he.NAVIGATION_DUPLICATED,{to:k,from:H}),Ze(H,H,!0,!1)),(C?Promise.resolve(C):Ye(k,H)).catch(v=>dt(v)?dt(v,he.NAVIGATION_GUARD_REDIRECT)?v:kt(v):ne(v,k,H)).then(v=>{if(v){if(dt(v,he.NAVIGATION_GUARD_REDIRECT))return pe(ae({replace:g},j(v.to),{state:typeof v.to=="object"?ae({},te,v.to.state):te,force:m}),N||k)}else v=Tt(k,H,!0,g,te);return vt(k,H,v),v})}function Se(_,N){const I=G(_,N);return I?Promise.reject(I):Promise.resolve()}function bt(_){const N=Gt.values().next().value;return N&&typeof N.runWithContext=="function"?N.runWithContext(_):_()}function Ye(_,N){let I;const[H,te,m]=Bc(_,N);I=br(H.reverse(),"beforeRouteLeave",_,N);for(const x of H)x.leaveGuards.forEach(k=>{I.push(St(k,_,N))});const g=Se.bind(null,_,N);return I.push(g),Be(I).then(()=>{I=[];for(const x of o.list())I.push(St(x,_,N));return I.push(g),Be(I)}).then(()=>{I=br(te,"beforeRouteUpdate",_,N);for(const x of te)x.updateGuards.forEach(k=>{I.push(St(k,_,N))});return I.push(g),Be(I)}).then(()=>{I=[];for(const x of m)if(x.beforeEnter)if(Je(x.beforeEnter))for(const k of x.beforeEnter)I.push(St(k,_,N));else I.push(St(x.beforeEnter,_,N));return I.push(g),Be(I)}).then(()=>(_.matched.forEach(x=>x.enterCallbacks={}),I=br(m,"beforeRouteEnter",_,N,bt),I.push(g),Be(I))).then(()=>{I=[];for(const x of i.list())I.push(St(x,_,N));return I.push(g),Be(I)}).catch(x=>dt(x,he.NAVIGATION_CANCELLED)?x:Promise.reject(x))}function vt(_,N,I){l.list().forEach(H=>bt(()=>H(_,N,I)))}function Tt(_,N,I,H,te){const m=G(_,N);if(m)return m;const g=N===_t,x=Wt?history.state:{};I&&(H||g?a.replace(_.fullPath,ae({scroll:g&&x&&x.scroll},te)):a.push(_.fullPath,te)),c.value=_,Ze(_,N,I,g),kt()}let Xe;function as(){Xe||(Xe=a.listen((_,N,I)=>{if(!$t.listening)return;const H=V(_),te=ve(H,$t.currentRoute.value);if(te){pe(ae(te,{replace:!0,force:!0}),H).catch(bs);return}d=H;const m=c.value;Wt&&Mc(Kn(m.fullPath,I.delta),nr()),Ye(H,m).catch(g=>dt(g,he.NAVIGATION_ABORTED|he.NAVIGATION_CANCELLED)?g:dt(g,he.NAVIGATION_GUARD_REDIRECT)?(pe(ae(j(g.to),{force:!0}),H).then(x=>{dt(x,he.NAVIGATION_ABORTED|he.NAVIGATION_DUPLICATED)&&!I.delta&&I.type===Ir.pop&&a.go(-1,!1)}).catch(bs),Promise.reject()):(I.delta&&a.go(-I.delta,!1),ne(g,H,m))).then(g=>{g=g||Tt(H,m,!1),g&&(I.delta&&!dt(g,he.NAVIGATION_CANCELLED)?a.go(-I.delta,!1):I.type===Ir.pop&&dt(g,he.NAVIGATION_ABORTED|he.NAVIGATION_DUPLICATED)&&a.go(-1,!1)),vt(H,m,g)}).catch(bs)}))}let Ht=cs(),we=cs(),ce;function ne(_,N,I){kt(_);const H=we.list();return H.length?H.forEach(te=>te(_,N,I)):console.error(_),Promise.reject(_)}function lt(){return ce&&c.value!==_t?Promise.resolve():new Promise((_,N)=>{Ht.add([_,N])})}function kt(_){return ce||(ce=!_,as(),Ht.list().forEach(([N,I])=>_?I(_):N()),Ht.reset()),_}function Ze(_,N,I,H){const{scrollBehavior:te}=e;if(!Wt||!te)return Promise.resolve();const m=!I&&Dc(Kn(_.fullPath,0))||(H||!I)&&history.state&&history.state.scroll||null;return Ia().then(()=>te(_,N,m)).then(g=>g&&Ic(g)).catch(g=>ne(g,_,N))}const De=_=>a.go(_);let Bt;const Gt=new Set,$t={currentRoute:c,listening:!0,addRoute:h,removeRoute:P,clearRoutes:t.clearRoutes,hasRoute:Q,getRoutes:D,resolve:V,options:e,push:F,replace:re,go:De,back:()=>De(-1),forward:()=>De(1),beforeEach:o.add,beforeResolve:i.add,afterEach:l.add,onError:we.add,isReady:lt,install(_){_.component("RouterLink",_e),_.component("RouterView",md),_.config.globalProperties.$router=$t,Object.defineProperty(_.config.globalProperties,"$route",{enumerable:!0,get:()=>E(c)}),Wt&&!Bt&&c.value===_t&&(Bt=!0,F(a.location).catch(H=>{}));const N={};for(const H in _t)Object.defineProperty(N,H,{get:()=>c.value[H],enumerable:!0});_.provide(rn,$t),_.provide(nn,Pa(N)),_.provide(Dr,c);const I=_.unmount;Gt.add(_),_.unmount=function(){Gt.delete(_),Gt.size<1&&(d=_t,Xe&&Xe(),Xe=null,c.value=_t,Bt=!1,ce=!1),I()}}};function Be(_){return _.reduce((N,I)=>N.then(()=>bt(I)),Promise.resolve())}return $t}function ar(e){return Te(nn)}const pd=["aria-label"],hd={key:0,class:"fas fa-moon text-purple-400"},xd={key:1,class:"fas fa-sun text-yellow-500"},yd={__name:"ThemeToggle",setup(e){const t=be(!1);Vt(()=>{const a=localStorage.getItem("theme"),o=window.matchMedia("(prefers-color-scheme: dark)").matches;t.value=a==="dark"||!a&&o,s(),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",i=>{localStorage.getItem("theme")||(t.value=i.matches,s())})}),Ue(t,()=>{s(),localStorage.setItem("theme",t.value?"dark":"light")});function s(){t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}function n(){t.value=!t.value}return(a,o)=>(y(),w("button",{onClick:n,class:"p-2 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-700 transition","aria-label":t.value?"Switch to light mode":"Switch to dark mode"},[t.value?(y(),w("i",hd)):(y(),w("i",xd))],8,pd))}},bd={class:"sticky top-0 z-50 bg-white/80 dark:bg-gray-900/80 backdrop-blur-md border-b border-gray-200 dark:border-gray-700 shadow-lg"},vd={class:"container mx-auto px-4"},kd={class:"flex items-center justify-between h-16"},_d={class:"hidden md:flex items-center space-x-6"},wd={class:"flex items-center space-x-4"},Cd={key:0,class:"md:hidden py-2 border-t border-gray-200 dark:border-gray-700"},Rd={class:"flex flex-col space-y-1"},Sd={__name:"Navbar",setup(e){const t=ar(),s=Te("globalData"),n=be(!1),a=ee(()=>s.value?.Repositories||[]);return(o,i)=>(y(),w("nav",bd,[r("div",vd,[r("div",kd,[S(E(_e),{to:"/",class:"flex items-center space-x-2"},{default:L(()=>[...i[5]||(i[5]=[r("i",{class:"fas fa-rocket text-2xl bg-gradient-to-r from-primary-600 to-accent-600 dark:from-primary-400 dark:to-accent-400 bg-clip-text text-transparent"},null,-1),r("span",{class:"text-xl font-bold bg-gradient-to-r from-primary-600 to-accent-600 dark:from-primary-400 dark:to-accent-400 bg-clip-text text-transparent"},"Git Velocity",-1)])]),_:1}),r("div",_d,[S(E(_e),{to:"/",class:Y(E(t).path==="/"?"text-primary-500 font-medium":"text-gray-800 dark:text-gray-200 font-medium hover:text-primary-600 dark:hover:text-primary-400 transition-colors")},{default:L(()=>[...i[6]||(i[6]=[R(" Dashboard ",-1)])]),_:1},8,["class"]),S(E(_e),{to:"/leaderboard",class:Y(E(t).path==="/leaderboard"?"text-primary-500 font-medium":"text-gray-800 dark:text-gray-200 font-medium hover:text-primary-600 dark:hover:text-primary-400 transition-colors")},{default:L(()=>[...i[7]||(i[7]=[R(" Leaderboard ",-1)])]),_:1},8,["class"]),S(E(_e),{to:"/how-scoring-works",class:Y(E(t).path==="/how-scoring-works"?"text-primary-500 font-medium":"text-gray-800 dark:text-gray-200 font-medium hover:text-primary-600 dark:hover:text-primary-400 transition-colors")},{default:L(()=>[...i[8]||(i[8]=[R(" How Scoring Works ",-1)])]),_:1},8,["class"]),(y(!0),w(X,null,xe(a.value,l=>(y(),Z(E(_e),{key:`${l.Owner}/${l.Name}`,to:`/repos/${l.Owner}/${l.Name}`,class:Y(E(t).path.includes(`/repos/${l.Owner}/${l.Name}`)?"text-primary-500 font-medium":"text-gray-800 dark:text-gray-200 font-medium hover:text-primary-600 dark:hover:text-primary-400 transition-colors")},{default:L(()=>[R(b(l.Name),1)]),_:2},1032,["to","class"]))),128))]),r("div",wd,[S(yd),r("button",{onClick:i[0]||(i[0]=l=>n.value=!n.value),class:"md:hidden p-2 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-700 transition"},[...i[9]||(i[9]=[r("i",{class:"fas fa-bars text-gray-700 dark:text-gray-200"},null,-1)])])])]),n.value?(y(),w("div",Cd,[r("div",Rd,[S(E(_e),{to:"/",onClick:i[1]||(i[1]=l=>n.value=!1),class:Y(["block px-4 py-3 rounded-lg text-base font-medium transition-colors",E(t).path==="/"?"bg-primary-50 dark:bg-primary-900/20 text-primary-600 dark:text-primary-400":"text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800"])},{default:L(()=>[...i[10]||(i[10]=[r("i",{class:"fas fa-home mr-3 w-5 text-center"},null,-1),R("Dashboard ",-1)])]),_:1},8,["class"]),S(E(_e),{to:"/leaderboard",onClick:i[2]||(i[2]=l=>n.value=!1),class:Y(["block px-4 py-3 rounded-lg text-base font-medium transition-colors",E(t).path==="/leaderboard"?"bg-primary-50 dark:bg-primary-900/20 text-primary-600 dark:text-primary-400":"text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800"])},{default:L(()=>[...i[11]||(i[11]=[r("i",{class:"fas fa-trophy mr-3 w-5 text-center"},null,-1),R("Leaderboard ",-1)])]),_:1},8,["class"]),S(E(_e),{to:"/how-scoring-works",onClick:i[3]||(i[3]=l=>n.value=!1),class:Y(["block px-4 py-3 rounded-lg text-base font-medium transition-colors",E(t).path==="/how-scoring-works"?"bg-primary-50 dark:bg-primary-900/20 text-primary-600 dark:text-primary-400":"text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800"])},{default:L(()=>[...i[12]||(i[12]=[r("i",{class:"fas fa-calculator mr-3 w-5 text-center"},null,-1),R("How Scoring Works ",-1)])]),_:1},8,["class"]),(y(!0),w(X,null,xe(a.value,l=>(y(),Z(E(_e),{key:`${l.Owner}/${l.Name}`,to:`/repos/${l.Owner}/${l.Name}`,onClick:i[4]||(i[4]=c=>n.value=!1),class:Y(["block px-4 py-3 rounded-lg text-base font-medium transition-colors",E(t).path.includes(`/repos/${l.Owner}/${l.Name}`)?"bg-primary-50 dark:bg-primary-900/20 text-primary-600 dark:text-primary-400":"text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800"])},{default:L(()=>[i[13]||(i[13]=r("i",{class:"fas fa-code-branch mr-3 w-5 text-center"},null,-1)),R(b(l.Name),1)]),_:2},1032,["to","class"]))),128))])])):B("",!0)])]))}},Ad={class:"py-8 px-4 mt-16 border-t border-gray-200 dark:border-gray-700"},Ed={class:"container mx-auto text-center"},Pd={key:0,class:"text-sm text-gray-600 dark:text-gray-500 mt-2"},Td={__name:"Footer",setup(e){const t=Te("globalData"),s=ee(()=>t.value?.GeneratedAt?new Date(t.value.GeneratedAt).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}):"");return(n,a)=>(y(),w("footer",Ad,[r("div",Ed,[a[0]||(a[0]=r("p",{class:"text-gray-700 dark:text-gray-400"},[R(" Generated by "),r("a",{href:"https://github.com/lukaszraczylo/git-velocity",class:"text-primary-600 dark:text-primary-400 hover:text-primary-700 dark:hover:text-primary-300 font-medium",target:"_blank",rel:"noopener noreferrer"}," Git Velocity ")],-1)),s.value?(y(),w("p",Pd,b(s.value),1)):B("",!0)])]))}},$d={class:"min-h-screen flex flex-col"},Od={class:"flex-1"},Id={key:0,class:"flex items-center justify-center min-h-[60vh]"},Md={key:1,class:"flex items-center justify-center min-h-[60vh]"},Dd={class:"text-center"},Nd={class:"text-gray-600 dark:text-gray-400"},Ld={__name:"App",setup(e){const t=be(null),s=be(!0),n=be(null);return xs("globalData",t),Vt(async()=>{try{const a=await fetch("./data/global.json");if(!a.ok)throw new Error("Failed to load data");t.value=await a.json()}catch(a){n.value=a.message}finally{s.value=!1}}),(a,o)=>{const i=Hi("router-view");return y(),w("div",$d,[S(Sd),r("main",Od,[s.value?(y(),w("div",Id,[...o[0]||(o[0]=[r("div",{class:"text-center"},[r("i",{class:"fas fa-spinner fa-spin text-4xl text-primary-500 mb-4"}),r("p",{class:"text-gray-600 dark:text-gray-400"},"Loading dashboard...")],-1)])])):n.value?(y(),w("div",Md,[r("div",Dd,[o[1]||(o[1]=r("i",{class:"fas fa-exclamation-triangle text-4xl text-red-500 mb-4"},null,-1)),r("p",Nd,b(n.value),1)])])):(y(),Z(i,{key:2}))]),S(Td)])}}},de={__name:"Card",props:{padding:{type:Boolean,default:!0},hover:{type:Boolean,default:!1}},setup(e){return(t,s)=>(y(),w("div",{class:Y(["rounded-xl bg-white dark:bg-gray-800 text-gray-900 dark:text-white border border-gray-200 dark:border-gray-700 shadow",e.padding?"p-6":"",e.hover?"hover:shadow-lg transition-shadow":""])},[Et(t.$slots,"default")],2))}};function W(e){return e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":String(e)}function jd(e){return e==null?"-":e<1?Math.round(e*60)+"m":e<24?e.toFixed(1)+"h":(e/24).toFixed(1)+"d"}function vr(e){return e?new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}):""}function Fd(e){return e==null?"0%":e.toFixed(1)+"%"}function $o(e){return e?e.toLowerCase().replace(/\s+/g,"-").replace(/_/g,"-").replace(/[^a-z0-9-]/g,""):""}const Vd={class:"flex items-center justify-between"},Hd={class:"min-w-0 flex-1"},Bd={class:"text-xs sm:text-sm text-gray-700 dark:text-gray-400 mt-1 truncate"},Ce={__name:"StatCard",props:{value:{type:[Number,String],required:!0},label:{type:String,required:!0},icon:{type:String,default:""},iconColor:{type:String,default:"text-gray-500"},valueClass:{type:String,default:"bg-gradient-to-r from-primary-600 to-accent-600 dark:from-primary-400 dark:to-accent-400 bg-clip-text text-transparent"},delay:{type:String,default:"0s"}},setup(e){return(t,s)=>(y(),Z(de,{class:"animate-[fadeInUp_0.6s_ease-out]",style:Pt({animationDelay:e.delay})},{default:L(()=>[r("div",Vd,[r("div",Hd,[r("div",{class:Y(["text-xl sm:text-2xl md:text-3xl font-bold truncate",e.valueClass])},b(typeof e.value=="number"?E(W)(e.value):e.value),3),r("div",Bd,b(e.label),1)]),e.icon?(y(),w("div",{key:0,class:Y(["text-2xl sm:text-3xl opacity-50 ml-2 flex-shrink-0",e.iconColor])},[r("i",{class:Y(e.icon)},null,2)],2)):B("",!0)])]),_:1},8,["style"]))}},Gd=["src","alt"],ns={__name:"Avatar",props:{src:{type:String,default:""},name:{type:String,required:!0},size:{type:String,default:"md"}},setup(e){const t=e,s={sm:"w-8 h-8 text-xs",md:"w-10 h-10 text-sm",lg:"w-14 h-14 text-xl",xl:"w-16 h-16 text-2xl","2xl":"w-32 h-32 text-4xl"},n=ee(()=>t.name.charAt(0).toUpperCase()),a=ee(()=>s[t.size]||s.md);return(o,i)=>e.src?(y(),w("img",{key:0,src:e.src,alt:e.name,class:Y([a.value,"rounded-full"])},null,10,Gd)):(y(),w("div",{key:1,class:Y([a.value,"rounded-full bg-gradient-to-br from-primary-500 to-accent-500 flex items-center justify-center text-white font-bold"])},b(n.value),3))}},Ud={key:0,class:"fas fa-trophy"},Nr={__name:"RankBadge",props:{rank:{type:Number,required:!0},size:{type:String,default:"md"}},setup(e){const t=e,s={sm:"w-6 h-6 text-xs",md:"w-8 h-8 text-sm",lg:"w-10 h-10 text-base"},n=ee(()=>t.rank===1?"bg-gradient-to-r from-yellow-400 to-amber-500":t.rank===2?"bg-gradient-to-r from-slate-400 to-slate-500":t.rank===3?"bg-gradient-to-r from-amber-600 to-amber-700":"bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-300"),a=ee(()=>s[t.size]||s.md),o=ee(()=>t.rank>=1&&t.rank<=3);return(i,l)=>(y(),w("span",{class:Y([[a.value,n.value,{"text-white":e.rank<=3}],"inline-flex items-center justify-center rounded-full font-bold"])},[o.value?(y(),w("i",Ud)):(y(),w(X,{key:1},[R(b(e.rank),1)],64))],2))}},qd={class:"inline-flex flex-col items-center gap-2"},Wd=["title"],Kd={class:"absolute bottom-full left-1/2 -translate-x-1/2 mb-3 px-3 py-2 bg-gray-900 dark:bg-gray-800 text-white text-xs rounded-xl opacity-0 group-hover/badge:opacity-100 transition-all duration-200 pointer-events-none whitespace-nowrap z-50 shadow-xl border border-white/10"},zd={class:"font-bold text-sm"},Qd={class:"text-gray-300 text-[11px] mt-0.5"},Jd={key:0,class:"text-[11px] font-medium text-gray-600 dark:text-gray-400 text-center leading-tight",style:{"max-width":"72px","word-wrap":"break-word"}},rs={__name:"AchievementBadge",props:{achievementId:{type:String,required:!0},size:{type:String,default:"md"},showLabel:{type:Boolean,default:!1}},setup(e){const t={1:"from-stone-400 to-stone-500",2:"from-green-400 to-emerald-500",3:"from-blue-400 to-indigo-500",4:"from-purple-400 to-violet-500",5:"from-yellow-400 to-amber-500",6:"from-orange-400 to-red-500",7:"from-red-500 to-rose-600",8:"from-pink-500 to-fuchsia-600",9:"from-cyan-400 to-teal-500",10:"from-emerald-400 to-cyan-500",11:"from-violet-500 to-purple-600"},s=l=>{const c=[1,10,25,50,100,250,500,1e3,5e3,1e4,25e3];for(let d=c.length-1;d>=0;d--)if(l>=c[d])return d+1;return 1},n=l=>{const c=l.match(/(\d+)$/);return c?parseInt(c[1],10):50},a={"commit-1":{name:"First Steps",description:"Made your first commit",icon:"fa-baby"},"commit-10":{name:"Getting Started",description:"Made 10 commits",icon:"fa-seedling"},"commit-50":{name:"Contributor",description:"Made 50 commits",icon:"fa-code"},"commit-100":{name:"Committed",description:"Made 100 commits",icon:"fa-fire"},"commit-500":{name:"Code Machine",description:"Made 500 commits",icon:"fa-robot"},"commit-1000":{name:"Code Warrior",description:"Made 1000 commits",icon:"fa-crown"},"pr-1":{name:"PR Pioneer",description:"Opened your first pull request",icon:"fa-code-pull-request"},"pr-10":{name:"PR Regular",description:"Opened 10 pull requests",icon:"fa-code-branch"},"pr-25":{name:"PR Pro",description:"Opened 25 pull requests",icon:"fa-code-compare"},"pr-50":{name:"Merge Master",description:"Opened 50 pull requests",icon:"fa-code-merge"},"pr-100":{name:"PR Champion",description:"Opened 100 pull requests",icon:"fa-trophy"},"pr-250":{name:"PR Legend",description:"Opened 250 pull requests",icon:"fa-medal"},"review-1":{name:"First Review",description:"Reviewed your first pull request",icon:"fa-magnifying-glass"},"review-10":{name:"Reviewer",description:"Reviewed 10 pull requests",icon:"fa-eye"},"review-25":{name:"Review Regular",description:"Reviewed 25 pull requests",icon:"fa-glasses"},"review-50":{name:"Review Expert",description:"Reviewed 50 pull requests",icon:"fa-user-check"},"review-100":{name:"Review Guru",description:"Reviewed 100 pull requests",icon:"fa-user-graduate"},"review-250":{name:"Review Master",description:"Reviewed 250 pull requests",icon:"fa-award"},"comment-10":{name:"Commentator",description:"Left 10 PR review comments",icon:"fa-comment"},"comment-50":{name:"Feedback Giver",description:"Left 50 PR review comments",icon:"fa-comments"},"comment-100":{name:"Code Critic",description:"Left 100 PR review comments",icon:"fa-comment-dots"},"comment-250":{name:"Feedback Expert",description:"Left 250 PR review comments",icon:"fa-message"},"comment-500":{name:"Comment Champion",description:"Left 500 PR review comments",icon:"fa-scroll"},"lines-added-100":{name:"First Hundred",description:"Added 100 lines of code",icon:"fa-plus"},"lines-added-1000":{name:"Thousand Lines",description:"Added 1000 lines of code",icon:"fa-layer-group"},"lines-added-5000":{name:"Five Thousand",description:"Added 5000 lines of code",icon:"fa-cubes"},"lines-added-10000":{name:"Ten Thousand",description:"Added 10000 lines of code",icon:"fa-mountain"},"lines-added-50000":{name:"Code Mountain",description:"Added 50000 lines of code",icon:"fa-mountain-sun"},"lines-deleted-100":{name:"Tidying Up",description:"Deleted 100 lines of code",icon:"fa-eraser"},"lines-deleted-500":{name:"Spring Cleaning",description:"Deleted 500 lines of code",icon:"fa-broom"},"lines-deleted-1000":{name:"Code Cleaner",description:"Deleted 1000 lines of code",icon:"fa-trash-can"},"lines-deleted-5000":{name:"Refactoring Hero",description:"Deleted 5000 lines of code",icon:"fa-recycle"},"lines-deleted-10000":{name:"Deletion Master",description:"Deleted 10000 lines of code",icon:"fa-dumpster-fire"},"review-time-24h":{name:"Same Day Reviewer",description:"Average review response under 24 hours",icon:"fa-clock"},"review-time-4h":{name:"Quick Responder",description:"Average review response under 4 hours",icon:"fa-stopwatch"},"review-time-1h":{name:"Speed Demon",description:"Average review response under 1 hour",icon:"fa-bolt"},"repo-2":{name:"Multi-Repo",description:"Contributed to 2 repositories",icon:"fa-folder"},"repo-5":{name:"Repo Explorer",description:"Contributed to 5 repositories",icon:"fa-folder-tree"},"repo-10":{name:"Repo Master",description:"Contributed to 10 repositories",icon:"fa-network-wired"},"reviewees-3":{name:"Helpful Colleague",description:"Reviewed PRs from 3 different contributors",icon:"fa-user-group"},"reviewees-10":{name:"Team Player",description:"Reviewed PRs from 10 different contributors",icon:"fa-people-group"},"reviewees-25":{name:"Community Pillar",description:"Reviewed PRs from 25 different contributors",icon:"fa-people-roof"},"large-pr-500":{name:"Big Change",description:"Merged a PR with 500+ lines changed",icon:"fa-expand"},"large-pr-1000":{name:"Heavy Lifter",description:"Merged a PR with 1000+ lines changed",icon:"fa-weight-hanging"},"large-pr-5000":{name:"Mega Merge",description:"Merged a PR with 5000+ lines changed",icon:"fa-dumbbell"},"small-pr-5":{name:"Small Changes",description:"Merged 5 PRs under 100 lines",icon:"fa-compress"},"small-pr-10":{name:"Small PR Advocate",description:"Merged 10 PRs under 100 lines",icon:"fa-minimize"},"small-pr-25":{name:"Atomic Commits",description:"Merged 25 PRs under 100 lines",icon:"fa-atom"},"small-pr-50":{name:"Micro PR Master",description:"Merged 50 PRs under 100 lines",icon:"fa-microchip"},"perfect-pr-1":{name:"First Try",description:"1 PR merged without changes requested",icon:"fa-check"},"perfect-pr-5":{name:"Clean Code",description:"5 PRs merged without changes requested",icon:"fa-check-double"},"perfect-pr-10":{name:"Quality Author",description:"10 PRs merged without changes requested",icon:"fa-circle-check"},"perfect-pr-25":{name:"Flawless",description:"25 PRs merged without changes requested",icon:"fa-gem"},"active-7":{name:"Week Active",description:"Active on 7 different days",icon:"fa-calendar-day"},"active-30":{name:"Month Active",description:"Active on 30 different days",icon:"fa-calendar-week"},"active-60":{name:"Consistent Contributor",description:"Active on 60 different days",icon:"fa-chart-line"},"active-100":{name:"Dedicated Developer",description:"Active on 100 different days",icon:"fa-fire-flame-curved"},"streak-3":{name:"Getting Rolling",description:"3 day contribution streak",icon:"fa-forward"},"streak-7":{name:"Week Warrior",description:"7 day contribution streak",icon:"fa-calendar-week"},"streak-14":{name:"Two Week Streak",description:"14 day contribution streak",icon:"fa-fire"},"streak-30":{name:"Month Master",description:"30 day contribution streak",icon:"fa-calendar-check"},"workweek-3":{name:"Work Week Start",description:"3 consecutive weekday streak",icon:"fa-briefcase"},"workweek-5":{name:"Full Work Week",description:"5 consecutive weekday streak",icon:"fa-building"},"workweek-10":{name:"Two Week Grind",description:"10 consecutive weekday streak",icon:"fa-business-time"},"workweek-20":{name:"Month of Mondays",description:"20 consecutive weekday streak",icon:"fa-landmark"},"earlybird-10":{name:"Early Riser",description:"10 commits before 9am",icon:"fa-mug-hot"},"earlybird-25":{name:"Morning Person",description:"25 commits before 9am",icon:"fa-cloud-sun"},"earlybird-50":{name:"Early Bird",description:"50 commits before 9am",icon:"fa-sun"},"earlybird-100":{name:"Dawn Warrior",description:"100 commits before 9am",icon:"fa-sunrise"},"nightowl-10":{name:"Late Worker",description:"10 commits after 9pm",icon:"fa-cloud-moon"},"nightowl-25":{name:"Evening Coder",description:"25 commits after 9pm",icon:"fa-moon"},"nightowl-50":{name:"Night Owl",description:"50 commits after 9pm",icon:"fa-star"},"nightowl-100":{name:"Nocturnal",description:"100 commits after 9pm",icon:"fa-star-and-crescent"},"midnight-5":{name:"Night Shift",description:"5 commits between midnight and 4am",icon:"fa-ghost"},"midnight-10":{name:"Insomniac",description:"10 commits between midnight and 4am",icon:"fa-bed"},"midnight-25":{name:"Nosferatu",description:"25 commits between midnight and 4am",icon:"fa-skull"},"midnight-50":{name:"Vampire Coder",description:"50 commits between midnight and 4am",icon:"fa-skull-crossbones"},"weekend-5":{name:"Weekend Work",description:"5 weekend commits",icon:"fa-couch"},"weekend-10":{name:"Weekend Regular",description:"10 weekend commits",icon:"fa-house-laptop"},"weekend-25":{name:"Weekend Warrior",description:"25 weekend commits",icon:"fa-gamepad"},"weekend-50":{name:"No Days Off",description:"50 weekend commits",icon:"fa-person-running"},"ooh-10":{name:"Extra Hours",description:"10 commits outside 9am-5pm",icon:"fa-clock-rotate-left"},"ooh-25":{name:"Flexible Schedule",description:"25 commits outside 9am-5pm",icon:"fa-user-clock"},"ooh-50":{name:"Off-Hours Hero",description:"50 commits outside 9am-5pm",icon:"fa-hourglass-half"},"ooh-100":{name:"Time Bender",description:"100 commits outside 9am-5pm",icon:"fa-infinity"},"docs-100":{name:"Documenter",description:"Added 100 lines of comments/docs",icon:"fa-file-lines"},"docs-500":{name:"Technical Writer",description:"Added 500 lines of comments/docs",icon:"fa-book"},"docs-1000":{name:"Documentation Hero",description:"Added 1000 lines of comments/docs",icon:"fa-book-open"},"docs-2500":{name:"Knowledge Keeper",description:"Added 2500 lines of comments/docs",icon:"fa-scroll"},"docs-5000":{name:"Code Historian",description:"Added 5000 lines of comments/docs",icon:"fa-landmark"},"docs-del-50":{name:"Comment Trimmer",description:"Removed 50 lines of outdated comments",icon:"fa-scissors"},"docs-del-200":{name:"Cleanup Crew",description:"Removed 200 lines of outdated comments",icon:"fa-broom"},"docs-del-500":{name:"Dead Code Hunter",description:"Removed 500 lines of outdated comments",icon:"fa-skull-crossbones"},"docs-del-1000":{name:"Comment Surgeon",description:"Removed 1000 lines of outdated comments",icon:"fa-user-doctor"},"docs-del-2500":{name:"Noise Eliminator",description:"Removed 2500 lines of outdated comments",icon:"fa-volume-xmark"},"issue-1":{name:"Bug Hunter",description:"Opened your first issue",icon:"fa-bug"},"issue-5":{name:"Issue Reporter",description:"Opened 5 issues",icon:"fa-flag"},"issue-10":{name:"Quality Advocate",description:"Opened 10 issues",icon:"fa-clipboard-list"},"issue-25":{name:"Issue Expert",description:"Opened 25 issues",icon:"fa-list-check"},"issue-50":{name:"Issue Champion",description:"Opened 50 issues",icon:"fa-bullhorn"},"issue-close-1":{name:"Problem Solver",description:"Closed your first issue",icon:"fa-circle-check"},"issue-close-5":{name:"Bug Squasher",description:"Closed 5 issues",icon:"fa-bug-slash"},"issue-close-10":{name:"Issue Resolver",description:"Closed 10 issues",icon:"fa-check-double"},"issue-close-25":{name:"Closure Expert",description:"Closed 25 issues",icon:"fa-square-check"},"issue-close-50":{name:"Issue Terminator",description:"Closed 50 issues",icon:"fa-crosshairs"},"issue-comment-5":{name:"Issue Commenter",description:"Left 5 issue comments",icon:"fa-comment"},"issue-comment-10":{name:"Discussion Starter",description:"Left 10 issue comments",icon:"fa-comments"},"issue-comment-25":{name:"Issue Collaborator",description:"Left 25 issue comments",icon:"fa-people-arrows"},"issue-comment-50":{name:"Community Voice",description:"Left 50 issue comments",icon:"fa-bullhorn"},"issue-comment-100":{name:"Issue Guru",description:"Left 100 issue comments",icon:"fa-graduation-cap"},"issue-ref-5":{name:"Issue Linker",description:"Referenced issues in 5 commits",icon:"fa-link"},"issue-ref-10":{name:"Commit Connector",description:"Referenced issues in 10 commits",icon:"fa-diagram-project"},"issue-ref-25":{name:"Traceability Pro",description:"Referenced issues in 25 commits",icon:"fa-sitemap"},"issue-ref-50":{name:"Issue Tracker",description:"Referenced issues in 50 commits",icon:"fa-chart-gantt"},"issue-ref-100":{name:"Traceability Master",description:"Referenced issues in 100 commits",icon:"fa-network-wired"}},o=l=>{const c=a[l]||{name:l,description:"",icon:"fa-medal"},d=n(l),u=s(d),f=t[u]||"from-gray-400 to-gray-500";return{...c,gradient:f,tier:u,threshold:d}},i={sm:{wrapper:"w-9 h-9",icon:"text-sm",radius:"rounded-lg"},md:{wrapper:"w-11 h-11",icon:"text-base",radius:"rounded-xl"},lg:{wrapper:"w-14 h-14",icon:"text-lg",radius:"rounded-xl"}};return(l,c)=>(y(),w("div",qd,[r("div",{class:"relative group/badge",title:o(e.achievementId).name},[r("div",{class:Y(["flex items-center justify-center bg-gradient-to-br shadow-lg hover:scale-105 hover:shadow-xl transition-all duration-200 cursor-pointer",[i[e.size].wrapper,i[e.size].radius,o(e.achievementId).gradient]])},[r("i",{class:Y(["fas text-white drop-shadow-sm",[o(e.achievementId).icon,i[e.size].icon]])},null,2)],2),r("div",Kd,[r("div",zd,b(o(e.achievementId).name),1),r("div",Qd,b(o(e.achievementId).description),1),c[0]||(c[0]=r("div",{class:"absolute top-full left-1/2 -translate-x-1/2 border-[6px] border-transparent border-t-gray-900 dark:border-t-gray-800"},null,-1))])],8,Wd),e.showLabel?(y(),w("span",Jd,b(o(e.achievementId).name),1)):B("",!0)]))}},Yd={class:"flex flex-col h-full"},Xd={class:"flex items-start justify-between mb-4"},Zd={class:"flex items-center gap-4"},eu={class:"relative"},tu={class:"font-bold text-lg text-gray-900 dark:text-white group-hover:text-primary-500 transition-colors"},su={class:"text-sm text-gray-600 dark:text-gray-400"},ru={key:0,class:"text-xs text-accent-500 mt-0.5"},nu={class:"flex items-center justify-between py-3 px-4 -mx-2 rounded-lg bg-gradient-to-r from-primary-50 to-accent-50 dark:from-primary-900/20 dark:to-accent-900/20 mb-4"},au={class:"text-2xl font-bold bg-gradient-to-r from-primary-600 to-accent-600 dark:from-primary-400 dark:to-accent-400 bg-clip-text text-transparent"},ou={key:0,class:"mt-auto"},iu={class:"flex flex-wrap gap-1.5"},lu={key:0,class:"inline-flex items-center justify-center px-2 h-7 rounded-lg bg-gray-100 dark:bg-gray-700 text-gray-600 dark:text-gray-300 text-xs font-bold"},cu={__name:"ContributorCard",props:{contributor:{type:Object,required:!0},rank:{type:Number,default:0},showRank:{type:Boolean,default:!0},featured:{type:Boolean,default:!1}},setup(e){return(t,s)=>(y(),Z(E(_e),{to:{name:"contributor",params:{login:e.contributor.login}},class:"block group"},{default:L(()=>[S(de,{hover:"",class:Y(["animate-[fadeInUp_0.6s_ease-out] h-full",e.featured&&e.rank===1?"ring-2 ring-yellow-400":"",e.featured&&e.rank===2?"ring-2 ring-gray-300":"",e.featured&&e.rank===3?"ring-2 ring-amber-600":""])},{default:L(()=>[r("div",Yd,[r("div",Xd,[r("div",Zd,[r("div",eu,[S(ns,{src:e.contributor.avatar_url,name:e.contributor.login,size:e.featured?"xl":"lg",class:"ring-2 ring-gray-100 dark:ring-gray-700"},null,8,["src","name","size"]),e.showRank&&e.rank>0?(y(),Z(Nr,{key:0,rank:e.rank,size:"sm",class:"absolute -bottom-1 -right-1"},null,8,["rank"])):B("",!0)]),r("div",null,[r("h3",tu,b(e.contributor.name||e.contributor.login),1),r("p",su," @"+b(e.contributor.login),1),e.contributor.team?(y(),w("p",ru,b(e.contributor.team),1)):B("",!0)])])]),r("div",nu,[s[0]||(s[0]=r("span",{class:"text-sm font-medium text-gray-700 dark:text-gray-300"},"Score",-1)),r("span",au,b(E(W)(e.contributor.score?.total||e.contributor.score||0)),1)]),e.contributor.achievements?.length?(y(),w("div",ou,[s[1]||(s[1]=r("div",{class:"text-xs font-medium text-gray-500 dark:text-gray-400 mb-2"},"Achievements",-1)),r("div",iu,[(y(!0),w(X,null,xe(e.contributor.achievements.slice(0,8),n=>(y(),Z(rs,{key:n,"achievement-id":n,size:"sm"},null,8,["achievement-id"]))),128)),e.contributor.achievements.length>8?(y(),w("span",lu," +"+b(e.contributor.achievements.length-8),1)):B("",!0)])])):B("",!0)])]),_:1},8,["class"])]),_:1},8,["to"]))}},du={class:"flex items-center justify-between mb-4"},uu={class:"font-semibold text-gray-900 dark:text-white group-hover:text-primary-500 transition"},fu={class:"text-sm text-gray-600 dark:text-gray-400 mb-4"},mu={class:"grid grid-cols-3 gap-4 text-center"},gu={class:"text-lg font-semibold text-gray-900 dark:text-white"},pu={class:"text-lg font-semibold text-gray-900 dark:text-white"},hu={class:"text-lg font-semibold text-gray-900 dark:text-white"},xu={__name:"RepoCard",props:{repo:{type:Object,required:!0}},setup(e){return(t,s)=>(y(),Z(E(_e),{to:`/repos/${e.repo.owner}/${e.repo.name}`,class:"block group"},{default:L(()=>[S(de,{hover:""},{default:L(()=>[r("div",du,[r("h3",uu,b(e.repo.name),1),s[0]||(s[0]=r("i",{class:"fas fa-arrow-right text-gray-600 dark:text-gray-400 group-hover:text-primary-500 transition"},null,-1))]),r("p",fu,b(e.repo.owner)+"/"+b(e.repo.name),1),r("div",mu,[r("div",null,[r("div",gu,b(E(W)(e.repo.total_commits)),1),s[1]||(s[1]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400"},"Commits",-1))]),r("div",null,[r("div",pu,b(E(W)(e.repo.total_prs)),1),s[2]||(s[2]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400"},"PRs",-1))]),r("div",null,[r("div",hu,b(e.repo.active_contributors),1),s[3]||(s[3]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400"},"Contributors",-1))])])]),_:1})]),_:1},8,["to"]))}},yu={class:"flex items-center justify-between mb-4"},bu={class:"font-semibold text-gray-900 dark:text-white group-hover:text-primary-500 transition"},vu={class:"flex items-center space-x-2 mb-4"},ku={key:0,class:"w-8 h-8 rounded-full bg-gray-200 dark:bg-gray-700 flex items-center justify-center text-gray-600 dark:text-gray-300 text-xs font-bold"},_u={class:"grid grid-cols-2 gap-4 text-center"},wu={class:"text-lg font-semibold bg-gradient-to-r from-primary-600 to-accent-600 dark:from-primary-400 dark:to-accent-400 bg-clip-text text-transparent"},Cu={class:"text-lg font-semibold text-gray-900 dark:text-white"},Ru={__name:"TeamCard",props:{team:{type:Object,required:!0}},setup(e){return(t,s)=>(y(),Z(E(_e),{to:`/teams/${E($o)(e.team.name)}`,class:"block group"},{default:L(()=>[S(de,{hover:""},{default:L(()=>[r("div",yu,[r("h3",bu,b(e.team.name),1),r("span",{class:"w-3 h-3 rounded-full",style:Pt({backgroundColor:e.team.color||"#8b5cf6"})},null,4)]),r("div",vu,[(y(!0),w(X,null,xe((e.team.members||[]).slice(0,5),(n,a)=>(y(),Z(ns,{key:n,name:n,size:"sm"},null,8,["name"]))),128)),(e.team.members?.length||0)>5?(y(),w("span",ku," +"+b(e.team.members.length-5),1)):B("",!0)]),r("div",_u,[r("div",null,[r("div",wu,b(E(W)(e.team.total_score)),1),s[0]||(s[0]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400"},"Total Score",-1))]),r("div",null,[r("div",Cu,b(e.team.members?.length||0),1),s[1]||(s[1]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400"},"Members",-1))])])]),_:1})]),_:1},8,["to"]))}},Su={class:"text-2xl font-bold text-gray-900 dark:text-white mb-6"},We={__name:"SectionHeader",props:{title:{type:String,required:!0},icon:{type:String,default:""},iconColor:{type:String,default:"text-primary-500"}},setup(e){return(t,s)=>(y(),w("h2",Su,[e.icon?(y(),w("i",{key:0,class:Y([[e.icon,e.iconColor],"mr-2"])},null,2)):B("",!0),R(b(e.title)+" ",1),Et(t.$slots,"suffix")]))}},Au=(e,t)=>{const s=e.__vccOpts||e;for(const[n,a]of t)s[n]=a;return s},Eu={key:0,class:"flex items-center justify-center h-full"},Pu={__name:"VelocityChart",props:{timeline:{type:Object,required:!0},height:{type:String,default:"300px"},showScore:{type:Boolean,default:!1}},setup(e){un.register(...jo);const t=e,s=be(null);let n=null;const a=ee(()=>t.timeline?.series?t.timeline.series.filter(f=>t.showScore||f.name!=="Score"):[]),o=ee(()=>!t.timeline?.labels||!a.value.length?{labels:[],datasets:[]}:{labels:t.timeline.labels,datasets:a.value.map(f=>({label:f.name,data:f.data,borderColor:f.color,backgroundColor:f.color+"20",fill:!0,tension:.4,pointRadius:3,pointHoverRadius:5}))}),i=be(window.innerWidth<640),l=ee(()=>({responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},plugins:{legend:{position:"top",labels:{usePointStyle:!0,padding:i.value?10:20,boxWidth:i.value?8:12,font:{size:i.value?10:12}}},tooltip:{backgroundColor:"rgba(0, 0, 0, 0.8)",padding:i.value?8:12,titleFont:{size:i.value?12:14},bodyFont:{size:i.value?11:13},callbacks:{label:f=>`${f.dataset.label}: ${f.parsed.y.toLocaleString()}`}}},scales:{x:{grid:{display:!1},ticks:{font:{size:i.value?9:11},maxRotation:i.value?45:0,autoSkip:!0,maxTicksLimit:i.value?6:12}},y:{beginAtZero:!0,grid:{color:"rgba(0, 0, 0, 0.05)"},ticks:{font:{size:i.value?9:11},callback:f=>f>=1e3?(f/1e3).toFixed(1)+"k":f}}}}));function c(){if(!s.value||!o.value.labels.length)return;n&&n.destroy();const f=s.value.getContext("2d");n=new un(f,{type:"line",data:o.value,options:l.value})}function d(){n?(n.data=o.value,n.update()):c()}function u(){const f=window.innerWidth<640;f!==i.value&&(i.value=f,c())}return Vt(()=>{c(),window.addEventListener("resize",u)}),Xr(()=>{window.removeEventListener("resize",u),n&&n.destroy()}),Ue(()=>t.timeline,()=>{d()},{deep:!0}),Ue(()=>t.showScore,()=>{d()}),(f,p)=>(y(),w("div",{class:"velocity-chart",style:Pt({height:e.height})},[r("canvas",{ref_key:"chartRef",ref:s},null,512),e.timeline?.labels?.length?B("",!0):(y(),w("div",Eu,[...p[0]||(p[0]=[r("p",{class:"text-gray-500 dark:text-gray-400"},"No velocity data available",-1)])]))],4))}},Tu=Au(Pu,[["__scopeId","data-v-29394262"]]),$u={class:"py-10 sm:py-16 px-4"},Ou={class:"container mx-auto text-center animate-[fadeInUp_0.6s_ease-out]"},Iu={class:"flex flex-col items-center space-y-2 mt-4 text-sm text-gray-600 dark:text-gray-400"},Mu={key:0},Du={key:0},Nu={key:1},Lu={key:2},ju={key:1},Fu={key:0,class:"py-6 sm:py-8 px-4"},Vu={class:"container mx-auto"},Hu={class:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 mb-4 sm:mb-6"},Bu={class:"flex items-center space-x-2 text-sm text-gray-700 dark:text-gray-400 cursor-pointer"},Gu={class:"h-[200px] sm:h-[280px] md:h-[320px]"},Uu={class:"py-8 px-4"},qu={class:"container mx-auto"},Wu={class:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4"},Ku={class:"py-8 px-4"},zu={class:"container mx-auto"},Qu={class:"grid md:grid-cols-3 gap-6"},Ju={class:"mt-6 text-center"},Yu={class:"py-8 px-4"},Xu={class:"container mx-auto"},Zu={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},ef={key:1,class:"py-8 px-4"},tf={class:"container mx-auto"},sf={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},rf={__name:"Dashboard",setup(e){const t=Te("globalData"),s=ee(()=>t.value||{}),n=ee(()=>s.value.leaderboard?.slice(0,3)||[]),a=ee(()=>s.value.repositories||[]),o=ee(()=>s.value.teams||[]),i=ee(()=>s.value.velocity_timeline),l=be(!1);return(c,d)=>(y(),w("div",null,[r("header",$u,[r("div",Ou,[d[4]||(d[4]=r("h1",{class:"text-3xl sm:text-4xl md:text-6xl font-bold mb-3 sm:mb-4"},[r("span",{class:"bg-gradient-to-r from-primary-600 to-accent-600 dark:from-primary-400 dark:to-accent-400 bg-clip-text text-transparent"},"Git Velocity")],-1)),d[5]||(d[5]=r("p",{class:"text-base sm:text-xl text-gray-600 dark:text-gray-300 max-w-2xl mx-auto px-2"}," Celebrate your team's achievements and contributions with beautiful insights. ",-1)),r("div",Iu,[s.value.period?.start||s.value.period?.end?(y(),w("p",Mu,[d[1]||(d[1]=r("i",{class:"fas fa-calendar-alt mr-1 text-primary-500"},null,-1)),d[2]||(d[2]=r("span",{class:"font-medium"},"Period:",-1)),s.value.period.start?(y(),w("span",Du,b(E(vr)(s.value.period.start)),1)):B("",!0),s.value.period.start&&s.value.period.end?(y(),w("span",Nu," — ")):B("",!0),s.value.period.end?(y(),w("span",Lu,b(E(vr)(s.value.period.end)),1)):B("",!0)])):B("",!0),s.value.generated_at?(y(),w("p",ju,[d[3]||(d[3]=r("i",{class:"fas fa-clock mr-1"},null,-1)),R(" Generated on "+b(E(vr)(s.value.generated_at)),1)])):B("",!0)])])]),i.value?(y(),w("section",Fu,[r("div",Vu,[S(de,null,{default:L(()=>[r("div",Hu,[S(We,{title:"Velocity Timeline",icon:"fas fa-chart-line","icon-color":"text-primary-500"}),r("label",Bu,[Jr(r("input",{type:"checkbox","onUpdate:modelValue":d[0]||(d[0]=u=>l.value=u),class:"rounded border-gray-300 dark:border-gray-600 text-primary-500 focus:ring-primary-500"},null,512),[[ec,l.value]]),d[6]||(d[6]=r("span",null,"Show Score",-1))])]),r("div",Gu,[S(Tu,{timeline:i.value,"show-score":l.value,height:"100%"},null,8,["timeline","show-score"])])]),_:1})])])):B("",!0),r("section",Uu,[r("div",qu,[r("div",Wu,[S(Ce,{value:s.value.total_contributors||0,label:"Contributors",delay:"0s"},null,8,["value"]),S(Ce,{value:s.value.total_commits||0,label:"Commits",delay:"0.1s"},null,8,["value"]),S(Ce,{value:s.value.total_prs||0,label:"Pull Requests",delay:"0.2s"},null,8,["value"]),S(Ce,{value:s.value.total_reviews||0,label:"Reviews",delay:"0.3s"},null,8,["value"]),S(Ce,{value:"+"+E(W)(s.value.total_lines_added||0),label:"Lines Added","value-class":"text-green-500",delay:"0.4s"},null,8,["value"]),S(Ce,{value:"-"+E(W)(s.value.total_lines_deleted||0),label:"Lines Deleted","value-class":"text-red-500",delay:"0.5s"},null,8,["value"])])])]),r("section",Ku,[r("div",zu,[S(We,{title:"Top Contributors",icon:"fas fa-trophy","icon-color":"text-yellow-500"}),r("div",Qu,[(y(!0),w(X,null,xe(n.value,(u,f)=>(y(),Z(cu,{key:u.login,contributor:u,rank:f+1,featured:""},null,8,["contributor","rank"]))),128))]),r("div",Ju,[S(E(_e),{to:"/leaderboard",class:"inline-flex items-center px-6 py-3 bg-gradient-to-r from-primary-500 to-accent-500 text-white font-medium rounded-lg shadow-lg hover:from-primary-600 hover:to-accent-600 transition-all"},{default:L(()=>[...d[7]||(d[7]=[R(" View Full Leaderboard ",-1),r("i",{class:"fas fa-arrow-right ml-2"},null,-1)])]),_:1})])])]),r("section",Yu,[r("div",Xu,[S(We,{title:"Repositories",icon:"fas fa-code-branch","icon-color":"text-accent-500"}),r("div",Zu,[(y(!0),w(X,null,xe(a.value,u=>(y(),Z(xu,{key:`${u.owner}/${u.name}`,repo:u},null,8,["repo"]))),128))])])]),o.value.length?(y(),w("section",ef,[r("div",tf,[S(We,{title:"Teams",icon:"fas fa-users","icon-color":"text-blue-500"}),r("div",sf,[(y(!0),w(X,null,xe(o.value,u=>(y(),Z(Ru,{key:u.name,team:u},null,8,["team"]))),128))])])])):B("",!0)]))}},nf={class:"flex items-center space-x-2 text-sm text-gray-600 dark:text-gray-400 mb-6"},af={key:2,class:"fas fa-chevron-right text-xs"},of={__name:"Breadcrumb",props:{items:{type:Array,required:!0}},setup(e){return(t,s)=>(y(),w("div",nf,[(y(!0),w(X,null,xe(e.items,(n,a)=>(y(),w(X,{key:a},[n.to?(y(),Z(E(_e),{key:0,to:n.to,class:"hover:text-primary-500"},{default:L(()=>[R(b(n.label),1)]),_:2},1032,["to"])):(y(),w("span",{key:1,class:Y(a===e.items.length-1?"text-gray-900 dark:text-white":"")},b(n.label),3)),a[]},centered:{type:Boolean,default:!1}},setup(e){return(t,s)=>(y(),w("header",lf,[r("div",{class:Y(["container mx-auto",{"text-center":e.centered}])},[e.breadcrumbs.length?(y(),Z(of,{key:0,items:e.breadcrumbs},null,8,["items"])):B("",!0),r("div",{class:Y(["flex items-center",e.centered?"justify-center":""])},[Et(t.$slots,"prefix"),r("h1",cf,[e.icon?(y(),w("i",{key:0,class:Y([[e.icon,e.iconColor],"mr-3"])},null,2)):B("",!0),r("span",df,b(e.title),1)])],2),e.subtitle||t.$slots.subtitle?(y(),w("p",uf,[Et(t.$slots,"subtitle",{},()=>[R(b(e.subtitle),1)])])):B("",!0),Et(t.$slots,"extra")],2)]))}},ff={class:"w-full"},mf={class:"bg-gray-50 dark:bg-gray-800/50"},gf={class:"divide-y divide-gray-200 dark:divide-gray-700"},pf=["onClick"],hf={key:0,class:"text-center py-12"},xf={class:"text-gray-600 dark:text-gray-400"},Oo={__name:"DataTable",props:{columns:{type:Array,required:!0},items:{type:Array,default:()=>[]},emptyIcon:{type:String,default:"fas fa-inbox"},emptyMessage:{type:String,default:"No data found"},rowClass:{type:String,default:"hover:bg-gray-50 dark:hover:bg-gray-800/30 transition"},clickableRows:{type:Boolean,default:!1}},emits:["row-click"],setup(e){const t=s=>{switch(s){case"center":return"text-center";case"right":return"text-right";default:return"text-left"}};return(s,n)=>(y(),Z(de,{padding:!1,class:"overflow-hidden"},{default:L(()=>[r("table",ff,[r("thead",mf,[r("tr",null,[(y(!0),w(X,null,xe(e.columns,a=>(y(),w("th",{key:a.key,class:Y(["px-3 sm:px-6 py-3 sm:py-4 text-xs font-semibold text-gray-700 dark:text-gray-400 uppercase tracking-wider",t(a.align),a.headerClass])},b(a.label),3))),128))])]),r("tbody",gf,[(y(!0),w(X,null,xe(e.items,(a,o)=>(y(),w("tr",{key:a.id||a.login||o,class:Y([e.rowClass,{"cursor-pointer":e.clickableRows}]),onClick:i=>e.clickableRows&&s.$emit("row-click",a)},[(y(!0),w(X,null,xe(e.columns,i=>(y(),w("td",{key:i.key,class:Y(["px-3 sm:px-6 py-3 sm:py-4",t(i.align),i.class])},[Et(s.$slots,i.key,{item:a,index:o},()=>[R(b(a[i.key]),1)])],2))),128))],10,pf))),128))])]),e.items.length?B("",!0):(y(),w("div",hf,[r("i",{class:Y([e.emptyIcon,"text-4xl text-gray-400 dark:text-gray-600 mb-4"])},null,2),r("p",xf,b(e.emptyMessage),1)]))]),_:3}))}},yf={class:"font-medium text-gray-900 dark:text-white group-hover:text-primary-500 transition-colors"},bf={class:"text-sm"},vf=["href"],kf={key:1,class:"font-medium text-gray-800 dark:text-gray-400"},Io={__name:"ContributorRow",props:{contributor:{type:Object,required:!0},showGithubLink:{type:Boolean,default:!1},columns:{type:Array,default:()=>["commits","prs","reviews","lines","score"]}},setup(e){return(t,s)=>(y(),Z(E(_e),{to:{name:"contributor",params:{login:e.contributor.login}},class:"flex items-center space-x-3"},{default:L(()=>[S(ns,{src:e.contributor.avatar_url,name:e.contributor.login,class:"ring-2 ring-transparent group-hover:ring-primary-500 transition-all"},null,8,["src","name"]),r("div",null,[r("div",yf,b(e.contributor.name||e.contributor.login),1),r("div",bf,[e.showGithubLink?(y(),w("a",{key:0,href:`https://github.com/${e.contributor.login}`,target:"_blank",rel:"noopener noreferrer",class:"font-medium text-gray-800 dark:text-gray-400 hover:text-primary-500 transition-colors",onClick:s[0]||(s[0]=yo(()=>{},["stop"]))},[R(" @"+b(e.contributor.login)+" ",1),s[1]||(s[1]=r("i",{class:"fas fa-external-link-alt text-xs ml-1 opacity-50"},null,-1))],8,vf)):(y(),w("span",kf," @"+b(e.contributor.login),1))])])]),_:1},8,["to"]))}},Mo={commit:["commit-1","commit-10","commit-50","commit-100","commit-500","commit-1000"],pr:["pr-1","pr-10","pr-25","pr-50","pr-100","pr-250"],review:["review-1","review-10","review-25","review-50","review-100","review-250"],comment:["comment-10","comment-50","comment-100","comment-250","comment-500"],"lines-added":["lines-added-100","lines-added-1000","lines-added-5000","lines-added-10000","lines-added-50000"],"lines-deleted":["lines-deleted-100","lines-deleted-500","lines-deleted-1000","lines-deleted-5000","lines-deleted-10000"],"review-time":["review-time-24h","review-time-4h","review-time-1h"],repo:["repo-2","repo-5","repo-10"],reviewees:["reviewees-3","reviewees-10","reviewees-25"],"large-pr":["large-pr-500","large-pr-1000","large-pr-5000"],"small-pr":["small-pr-5","small-pr-10","small-pr-25","small-pr-50"],"perfect-pr":["perfect-pr-1","perfect-pr-5","perfect-pr-10","perfect-pr-25"],active:["active-7","active-30","active-60","active-100"],streak:["streak-3","streak-7","streak-14","streak-30"],workweek:["workweek-3","workweek-5","workweek-10","workweek-20"],earlybird:["earlybird-10","earlybird-25","earlybird-50","earlybird-100"],nightowl:["nightowl-10","nightowl-25","nightowl-50","nightowl-100"],midnight:["midnight-5","midnight-10","midnight-25","midnight-50"],weekend:["weekend-5","weekend-10","weekend-25","weekend-50"],ooh:["ooh-10","ooh-25","ooh-50","ooh-100"],docs:["docs-100","docs-500","docs-1000","docs-2500","docs-5000"],"docs-del":["docs-del-50","docs-del-200","docs-del-500","docs-del-1000","docs-del-2500"],issue:["issue-1","issue-5","issue-10","issue-25","issue-50"],"issue-close":["issue-close-1","issue-close-5","issue-close-10","issue-close-25","issue-close-50"],"issue-comment":["issue-comment-5","issue-comment-10","issue-comment-25","issue-comment-50","issue-comment-100"],"issue-ref":["issue-ref-5","issue-ref-10","issue-ref-25","issue-ref-50","issue-ref-100"]};function Do(e){for(const[t,s]of Object.entries(Mo))if(s.includes(e))return t;return null}function _f(e){const t=Do(e);return t?Mo[t].indexOf(e):-1}function us(e){if(!e||!e.length)return[];const t={};for(const s of e){const n=Do(s);if(!n){t[s]={id:s,tier:-1};continue}const a=_f(s);(!t[n]||a>t[n].tier)&&(t[n]={id:s,tier:a})}return Object.values(t).sort((s,n)=>n.tier-s.tier).map(s=>s.id)}const wf={class:"py-4 sm:py-8 px-4"},Cf={class:"container mx-auto max-w-5xl"},Rf={class:"mb-4 sm:mb-6"},Sf={class:"relative"},Af={key:0,class:"mt-2 text-sm text-gray-600 dark:text-gray-400"},Ef={class:"md:hidden space-y-3"},Pf={class:"flex items-center gap-3"},Tf={class:"flex-1 min-w-0"},$f={class:"font-semibold text-gray-900 dark:text-white truncate"},Of={class:"text-xs text-gray-500 dark:text-gray-400 truncate"},If={class:"text-right"},Mf={class:"text-lg font-bold bg-gradient-to-r from-primary-600 to-accent-600 dark:from-primary-400 dark:to-accent-400 bg-clip-text text-transparent"},Df={key:0,class:"mt-3 pt-3 border-t border-gray-100 dark:border-gray-700"},Nf={class:"flex flex-wrap gap-1.5"},Lf={key:0,class:"inline-flex items-center justify-center px-2 h-7 rounded-lg bg-gray-100 dark:bg-gray-700 text-gray-600 dark:text-gray-300 text-xs font-bold"},jf={key:0,class:"text-center py-12"},Ff={class:"hidden md:block"},Vf={class:"hidden md:table-cell"},Hf={class:"flex flex-wrap gap-1.5 max-w-[280px]"},Bf={key:0,class:"text-gray-600 dark:text-gray-400 text-sm"},Gf={class:"hidden xl:table-cell"},Uf={key:0,class:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-purple-100 dark:bg-purple-900/30 text-purple-800 dark:text-purple-300"},qf={key:1,class:"text-gray-600 dark:text-gray-400"},Wf={class:"text-lg font-bold bg-gradient-to-r from-primary-600 to-accent-600 dark:from-primary-400 dark:to-accent-400 bg-clip-text text-transparent"},Kf={__name:"Leaderboard",setup(e){const t=Te("globalData"),s=be(""),n=ee(()=>t.value?.leaderboard||[]),a=ee(()=>{if(!s.value.trim())return n.value;const i=s.value.toLowerCase().trim();return n.value.filter(l=>{const c=(l.name||"").toLowerCase(),d=(l.login||"").toLowerCase();return c.includes(i)||d.includes(i)})}),o=[{key:"rank",label:"Rank",align:"left"},{key:"contributor",label:"Contributor",align:"left"},{key:"achievements",label:"Achievements",align:"left",headerClass:"hidden md:table-cell"},{key:"team",label:"Team",align:"left",headerClass:"hidden xl:table-cell"},{key:"score",label:"Score",align:"right"}];return(i,l)=>(y(),w("div",null,[S(or,{title:"Leaderboard",subtitle:"Top contributors ranked by their velocity score",icon:"fas fa-trophy","icon-color":"text-yellow-500",centered:""}),r("section",wf,[r("div",Cf,[r("div",Rf,[r("div",Sf,[l[3]||(l[3]=r("i",{class:"fas fa-search absolute left-3 top-1/2 -translate-y-1/2 text-gray-500"},null,-1)),Jr(r("input",{"onUpdate:modelValue":l[0]||(l[0]=c=>s.value=c),type:"text",placeholder:"Search contributors...",class:"w-full pl-10 pr-10 py-2.5 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent transition text-sm sm:text-base"},null,512),[[ho,s.value]]),s.value?(y(),w("button",{key:0,onClick:l[1]||(l[1]=c=>s.value=""),class:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200"},[...l[2]||(l[2]=[r("i",{class:"fas fa-times"},null,-1)])])):B("",!0)]),s.value&&a.value.length!==n.value.length?(y(),w("p",Af," Showing "+b(a.value.length)+" of "+b(n.value.length)+" contributors ",1)):B("",!0)]),r("div",Ef,[(y(!0),w(X,null,xe(a.value,c=>(y(),Z(E(_e),{key:c.login,to:{name:"contributor",params:{login:c.login}},class:"block"},{default:L(()=>[S(de,{hover:"",class:"!p-4"},{default:L(()=>[r("div",Pf,[S(Nr,{rank:c.rank,size:"sm"},null,8,["rank"]),S(ns,{src:c.avatar_url,name:c.login,size:"md"},null,8,["src","name"]),r("div",Tf,[r("div",$f,b(c.name||c.login),1),r("div",Of," @"+b(c.login),1)]),r("div",If,[r("div",Mf,b(E(W)(c.score)),1),l[4]||(l[4]=r("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"pts",-1))])]),c.achievements?.length?(y(),w("div",Df,[r("div",Nf,[(y(!0),w(X,null,xe(E(us)(c.achievements).slice(0,6),d=>(y(),Z(rs,{key:d,"achievement-id":d,size:"sm"},null,8,["achievement-id"]))),128)),E(us)(c.achievements).length>6?(y(),w("span",Lf," +"+b(E(us)(c.achievements).length-6),1)):B("",!0)])])):B("",!0)]),_:2},1024)]),_:2},1032,["to"]))),128)),a.value.length?B("",!0):(y(),w("div",jf,[...l[5]||(l[5]=[r("i",{class:"fas fa-users text-4xl text-gray-400 dark:text-gray-600 mb-4"},null,-1),r("p",{class:"text-gray-600 dark:text-gray-400"},"No contributors found",-1)])]))]),r("div",Ff,[S(Oo,{columns:o,items:a.value,"empty-icon":"fas fa-users","empty-message":"No contributors found","row-class":"hover:bg-gray-50 dark:hover:bg-gray-800/30 transition group"},{rank:L(({item:c})=>[S(Nr,{rank:c.rank},null,8,["rank"])]),contributor:L(({item:c})=>[S(Io,{contributor:c,"show-github-link":""},null,8,["contributor"])]),achievements:L(({item:c})=>[r("td",Vf,[r("div",Hf,[(y(!0),w(X,null,xe(E(us)(c.achievements),d=>(y(),Z(rs,{key:d,"achievement-id":d,size:"sm"},null,8,["achievement-id"]))),128)),(c.achievements||[]).length?B("",!0):(y(),w("span",Bf,"-"))])])]),team:L(({item:c})=>[r("td",Gf,[c.team?(y(),w("span",Uf,b(c.team),1)):(y(),w("span",qf,"-"))])]),score:L(({item:c})=>[r("span",Wf,b(E(W)(c.score)),1)]),_:1},8,["items"])])])])]))}},zf={class:"flex items-center justify-center min-h-[60vh]"},Qf={class:"text-center"},Jf={class:"text-gray-600 dark:text-gray-400"},an={__name:"LoadingState",props:{message:{type:String,default:"Loading..."}},setup(e){return(t,s)=>(y(),w("div",zf,[r("div",Qf,[s[0]||(s[0]=r("i",{class:"fas fa-spinner fa-spin text-4xl text-primary-500 mb-4"},null,-1)),r("p",Jf,b(e.message),1)])]))}},Yf={class:"flex items-center justify-center min-h-[60vh]"},Xf={class:"text-center"},Zf={class:"text-gray-600 dark:text-gray-400"},on={__name:"ErrorState",props:{message:{type:String,default:"An error occurred"},icon:{type:String,default:"fas fa-exclamation-triangle"}},setup(e){return(t,s)=>(y(),w("div",Yf,[r("div",Xf,[r("i",{class:Y([e.icon,"text-4xl text-red-500 mb-4"])},null,2),r("p",Zf,b(e.message),1),Et(t.$slots,"actions")])]))}},e0=["href"],t0={key:0,class:"fas fa-external-link-alt text-xs ml-1 opacity-50"},No={__name:"GithubLink",props:{url:{type:String,required:!0},label:{type:String,default:""},showIcon:{type:Boolean,default:!0}},setup(e){return(t,s)=>(y(),w("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",class:"hover:text-primary-500 transition-colors",onClick:s[0]||(s[0]=yo(()=>{},["stop"]))},[Et(t.$slots,"default",{},()=>[R(b(e.label),1)]),e.showIcon?(y(),w("i",t0)):B("",!0)],8,e0))}},s0={class:"py-8 px-4"},r0={class:"container mx-auto"},n0={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},a0={class:"py-8 px-4"},o0={class:"container mx-auto"},i0={class:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 mb-6"},l0={class:"relative w-full sm:w-72 lg:w-96"},c0={key:0,class:"mb-4 text-sm text-gray-600 dark:text-gray-400"},d0={class:"text-gray-900 dark:text-white"},u0={class:"text-gray-900 dark:text-white"},f0={class:"text-gray-900 dark:text-white"},m0={class:"text-green-500"},g0={class:"text-red-500"},p0={class:"text-lg font-bold bg-gradient-to-r from-primary-600 to-accent-600 dark:from-primary-400 dark:to-accent-400 bg-clip-text text-transparent"},h0={__name:"Repository",setup(e){const t=ar(),s=be(null),n=be(!0),a=be(null),o=be(""),i=ee(()=>s.value?.contributors||[]),l=ee(()=>{if(!o.value.trim())return i.value;const f=o.value.toLowerCase().trim();return i.value.filter(p=>{const h=(p.name||"").toLowerCase(),P=(p.login||"").toLowerCase();return h.includes(f)||P.includes(f)})}),c=ee(()=>[{label:"Dashboard",to:"/"},{label:"Repositories"},{label:s.value?.name||t.params.name}]),d=[{key:"contributor",label:"Contributor",align:"left"},{key:"commits",label:"Commits",align:"center"},{key:"prs",label:"PRs",align:"center"},{key:"reviews",label:"Reviews",align:"center"},{key:"lines",label:"Lines +/-",align:"center"},{key:"score",label:"Score",align:"right"}];async function u(){n.value=!0,a.value=null;try{const f=await fetch(`./data/repos/${t.params.owner}/${t.params.name}/metrics.json`);if(!f.ok)throw new Error("Repository not found");s.value=await f.json()}catch(f){a.value=f.message}finally{n.value=!1}}return Vt(u),Ue(()=>t.params,u),(f,p)=>(y(),w("div",null,[n.value?(y(),Z(an,{key:0,message:"Loading repository..."})):a.value?(y(),Z(on,{key:1,message:a.value},null,8,["message"])):s.value?(y(),w(X,{key:2},[S(or,{title:s.value.name,icon:"fas fa-code-branch","icon-color":"text-accent-500",breadcrumbs:c.value},{subtitle:L(()=>[S(No,{url:`https://github.com/${s.value.owner}/${s.value.name}`},{default:L(()=>[R(b(s.value.owner)+"/"+b(s.value.name),1)]),_:1},8,["url"])]),_:1},8,["title","breadcrumbs"]),r("section",s0,[r("div",r0,[r("div",n0,[S(Ce,{value:s.value.total_commits,label:"Commits",icon:"fas fa-code-commit","icon-color":"text-green-500"},null,8,["value"]),S(Ce,{value:s.value.total_prs,label:"Pull Requests",icon:"fas fa-code-pull-request","icon-color":"text-blue-500"},null,8,["value"]),S(Ce,{value:s.value.total_reviews,label:"Reviews",icon:"fas fa-eye","icon-color":"text-purple-500"},null,8,["value"]),S(Ce,{value:s.value.active_contributors,label:"Contributors",icon:"fas fa-users","icon-color":"text-orange-500"},null,8,["value"])])])]),r("section",a0,[r("div",o0,[r("div",i0,[S(We,{title:"Contributors",icon:"fas fa-users","icon-color":"text-blue-500",class:"mb-0"}),r("div",l0,[p[3]||(p[3]=r("i",{class:"fas fa-search absolute left-3 top-1/2 -translate-y-1/2 text-gray-500"},null,-1)),Jr(r("input",{"onUpdate:modelValue":p[0]||(p[0]=h=>o.value=h),type:"text",placeholder:"Search contributors...",class:"w-full pl-10 pr-4 py-2 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 placeholder-gray-500 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent transition text-sm"},null,512),[[ho,o.value]]),o.value?(y(),w("button",{key:0,onClick:p[1]||(p[1]=h=>o.value=""),class:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200"},[...p[2]||(p[2]=[r("i",{class:"fas fa-times"},null,-1)])])):B("",!0)])]),o.value&&l.value.length!==i.value.length?(y(),w("p",c0," Showing "+b(l.value.length)+" of "+b(i.value.length)+" contributors ",1)):B("",!0),S(Oo,{columns:d,items:l.value,"empty-icon":"fas fa-users","empty-message":"No contributors found","row-class":"hover:bg-gray-50 dark:hover:bg-gray-800/30 transition group"},{contributor:L(({item:h})=>[S(Io,{contributor:h},null,8,["contributor"])]),commits:L(({item:h})=>[r("span",d0,b(E(W)(h.commit_count)),1)]),prs:L(({item:h})=>[r("span",u0,b(E(W)(h.prs_opened)),1)]),reviews:L(({item:h})=>[r("span",f0,b(E(W)(h.reviews_given)),1)]),lines:L(({item:h})=>[r("span",m0,"+"+b(E(W)(h.lines_added)),1),p[4]||(p[4]=r("span",{class:"text-gray-600 dark:text-gray-400 mx-1"},"/",-1)),r("span",g0,"-"+b(E(W)(h.lines_deleted)),1)]),score:L(({item:h})=>[r("span",p0,b(E(W)(h.score?.total||0)),1)]),_:1},8,["items"])])])],64)):B("",!0)]))}},x0={class:"flex items-center space-x-4 mb-4"},y0={class:"font-semibold text-gray-900 dark:text-white"},b0={class:"text-sm text-gray-800 dark:text-gray-400"},v0={class:"grid grid-cols-3 gap-4 text-center mb-4"},k0={class:"text-lg font-semibold text-gray-900 dark:text-white"},_0={class:"text-lg font-semibold text-gray-900 dark:text-white"},w0={class:"text-lg font-semibold text-gray-900 dark:text-white"},C0={class:"flex items-center justify-between pt-4 border-t border-gray-200 dark:border-gray-700"},R0={class:"text-xl font-bold bg-gradient-to-r from-primary-600 to-accent-600 dark:from-primary-400 dark:to-accent-400 bg-clip-text text-transparent"},S0={key:0,class:"mt-4 flex flex-wrap gap-2"},A0={key:0,class:"inline-flex items-center justify-center w-8 h-8 rounded-lg bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-300 text-xs font-bold"},E0={__name:"MemberCard",props:{member:{type:Object,required:!0},linkToProfile:{type:Boolean,default:!0}},setup(e){return(t,s)=>(y(),Z(Bi(e.linkToProfile?E(_e):"div"),{to:e.linkToProfile?{name:"contributor",params:{login:e.member.login}}:void 0,class:Y(["block",{group:e.linkToProfile}])},{default:L(()=>[S(de,{hover:e.linkToProfile,class:Y({"cursor-pointer":e.linkToProfile})},{default:L(()=>[r("div",x0,[S(ns,{src:e.member.avatar_url,name:e.member.login,size:"lg"},null,8,["src","name"]),r("div",null,[r("h3",y0,b(e.member.name||e.member.login),1),r("p",b0,"@"+b(e.member.login),1)])]),r("div",v0,[r("div",null,[r("div",k0,b(E(W)(e.member.commit_count)),1),s[0]||(s[0]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400"},"Commits",-1))]),r("div",null,[r("div",_0,b(E(W)(e.member.prs_opened)),1),s[1]||(s[1]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400"},"PRs",-1))]),r("div",null,[r("div",w0,b(E(W)(e.member.reviews_given)),1),s[2]||(s[2]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400"},"Reviews",-1))])]),r("div",C0,[s[3]||(s[3]=r("span",{class:"text-sm text-gray-600 dark:text-gray-400"},"Score",-1)),r("span",R0,b(E(W)(e.member.score?.total||0)),1)]),e.member.achievements?.length?(y(),w("div",S0,[(y(!0),w(X,null,xe(e.member.achievements.slice(0,4),n=>(y(),Z(rs,{key:n,"achievement-id":n,size:"sm"},null,8,["achievement-id"]))),128)),e.member.achievements.length>4?(y(),w("span",A0," +"+b(e.member.achievements.length-4),1)):B("",!0)])):B("",!0)]),_:1},8,["hover","class"])]),_:1},8,["to","class"]))}},P0={class:"py-8 px-4"},T0={class:"container mx-auto"},$0={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},O0={class:"py-8 px-4"},I0={class:"container mx-auto"},M0={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},D0={__name:"Team",setup(e){const t=ar(),s=Te("globalData"),n=be(null),a=be(!0),o=be(null),i=ee(()=>[{label:"Dashboard",to:"/"},{label:"Teams"},{label:n.value?.name||t.params.slug}]);function l(){a.value=!0,o.value=null;const d=(s.value?.teams||[]).find(u=>$o(u.name)===t.params.slug);d?n.value=d:o.value="Team not found",a.value=!1}return Vt(l),Ue(()=>t.params,l),Ue(s,l),(c,d)=>(y(),w("div",null,[a.value?(y(),Z(an,{key:0,message:"Loading team..."})):o.value?(y(),Z(on,{key:1,message:o.value},null,8,["message"])):n.value?(y(),w(X,{key:2},[S(or,{title:n.value.name,breadcrumbs:i.value,subtitle:`${n.value.members?.length||0} team members`},{prefix:L(()=>[r("div",{class:"w-4 h-4 rounded-full mr-4",style:Pt({backgroundColor:n.value.color||"#8b5cf6"})},null,4)]),_:1},8,["title","breadcrumbs","subtitle"]),r("section",P0,[r("div",T0,[r("div",$0,[S(Ce,{value:n.value.total_score,label:"Total Score",icon:"fas fa-star","icon-color":"text-yellow-500"},null,8,["value"]),S(Ce,{value:n.value.aggregated_metrics?.commit_count||0,label:"Commits",icon:"fas fa-code-commit","icon-color":"text-green-500"},null,8,["value"]),S(Ce,{value:n.value.aggregated_metrics?.prs_merged||0,label:"PRs Merged",icon:"fas fa-code-merge","icon-color":"text-purple-500"},null,8,["value"]),S(Ce,{value:n.value.aggregated_metrics?.reviews_given||0,label:"Reviews",icon:"fas fa-eye","icon-color":"text-blue-500"},null,8,["value"])])])]),r("section",O0,[r("div",I0,[S(We,{title:"Team Members",icon:"fas fa-users","icon-color":"text-blue-500"}),r("div",M0,[(y(!0),w(X,null,xe(n.value.member_metrics,u=>(y(),Z(E0,{key:u.login,member:u},null,8,["member"]))),128))])])])],64)):B("",!0)]))}},N0={class:"space-y-3"},L0={class:"flex items-start justify-between mb-3"},j0={class:"flex items-center space-x-3"},F0={class:"text-sm font-semibold text-gray-900 dark:text-white"},V0={class:"flex items-center space-x-2 text-xs text-gray-600 dark:text-gray-400"},H0={class:"font-medium"},B0={class:"text-right"},G0={class:"text-gray-600 dark:text-gray-400 font-medium"},U0={class:"text-xs text-gray-600 dark:text-gray-400 mt-0.5"},q0={class:"h-2.5 bg-gray-200 dark:bg-gray-700 rounded-full overflow-hidden"},W0={class:"flex items-center justify-between mt-1.5"},K0={class:"flex items-center space-x-1"},z0=["title"],Q0={key:0,class:"text-[10px] text-gray-600 dark:text-gray-400"},J0={key:0,class:"text-center text-xs text-gray-600 dark:text-gray-400 pt-2"},Y0={key:1,class:"text-center py-8 text-gray-600 dark:text-gray-400"},X0={__name:"AchievementProgress",props:{contributor:{type:Object,required:!0},showEarned:{type:Boolean,default:!1},maxDisplay:{type:Number,default:6}},setup(e){const t=e,s=[1,10,25,50,100,250,500,1e3,5e3,1e4,25e3],n={1:"from-stone-400 to-stone-500",2:"from-green-400 to-emerald-500",3:"from-blue-400 to-indigo-500",4:"from-purple-400 to-violet-500",5:"from-yellow-400 to-amber-500",6:"from-orange-400 to-red-500",7:"from-red-500 to-rose-600",8:"from-pink-500 to-fuchsia-600",9:"from-cyan-400 to-teal-500",10:"from-emerald-400 to-cyan-500",11:"from-violet-500 to-purple-600"},a={1:"bg-stone-500",2:"bg-green-500",3:"bg-blue-500",4:"bg-purple-500",5:"bg-yellow-500",6:"bg-orange-500",7:"bg-red-500",8:"bg-pink-500",9:"bg-cyan-500",10:"bg-emerald-500",11:"bg-violet-500"},o=[{category:"Commits",icon:"fa-code-commit",iconColor:"text-green-500",getValue:u=>u.commit_count||0,achievements:[{id:"first-commit",threshold:1,name:"First Steps"},{id:"commit-10",threshold:10,name:"Getting Started"},{id:"commit-25",threshold:25,name:"Warming Up"},{id:"commit-50",threshold:50,name:"On A Roll"},{id:"commit-100",threshold:100,name:"Committed"},{id:"commit-250",threshold:250,name:"Dedicated"},{id:"commit-500",threshold:500,name:"Code Machine"},{id:"commit-1000",threshold:1e3,name:"Code Warrior"},{id:"commit-5000",threshold:5e3,name:"Legendary"},{id:"commit-10000",threshold:1e4,name:"Mythical"},{id:"commit-25000",threshold:25e3,name:"Transcendent"}]},{category:"Pull Requests",icon:"fa-code-pull-request",iconColor:"text-blue-500",getValue:u=>u.prs_opened||0,achievements:[{id:"pr-opener",threshold:1,name:"PR Pioneer"},{id:"pr-10",threshold:10,name:"Pull Request Pro"},{id:"pr-25",threshold:25,name:"PR Regular"},{id:"pr-50",threshold:50,name:"Merge Master"},{id:"pr-100",threshold:100,name:"PR Champion"}]},{category:"Reviews",icon:"fa-eye",iconColor:"text-purple-500",getValue:u=>u.reviews_given||0,achievements:[{id:"reviewer",threshold:1,name:"Code Reviewer"},{id:"reviewer-10",threshold:10,name:"Review Starter"},{id:"reviewer-25",threshold:25,name:"Review Regular"},{id:"reviewer-50",threshold:50,name:"Review Expert"},{id:"reviewer-100",threshold:100,name:"Review Guru"}]},{category:"Lines Added",icon:"fa-plus",iconColor:"text-emerald-500",getValue:u=>u.lines_added||0,achievements:[{id:"lines-1000",threshold:1e3,name:"Thousand Lines"},{id:"lines-10000",threshold:1e4,name:"Ten Thousand"}]},{category:"Lines Deleted",icon:"fa-minus",iconColor:"text-red-500",getValue:u=>u.lines_deleted||0,achievements:[{id:"cleaner",threshold:1e3,name:"Code Cleaner"},{id:"refactorer",threshold:1e4,name:"Refactoring Champion"}]},{category:"Small PRs",icon:"fa-compress",iconColor:"text-cyan-500",getValue:u=>u.small_pr_count||0,achievements:[{id:"small-pr-10",threshold:10,name:"Small PR Advocate"},{id:"small-pr-50",threshold:50,name:"Atomic Commits Hero"}]},{category:"Perfect PRs",icon:"fa-gem",iconColor:"text-pink-500",getValue:u=>u.perfect_prs||0,achievements:[{id:"perfect-pr-5",threshold:5,name:"Clean Code"},{id:"perfect-pr-25",threshold:25,name:"Flawless"}]},{category:"Active Days",icon:"fa-calendar-check",iconColor:"text-orange-500",getValue:u=>u.active_days||0,achievements:[{id:"active-30",threshold:30,name:"Consistent Contributor"},{id:"active-100",threshold:100,name:"Dedicated Developer"}]},{category:"Streak",icon:"fa-fire",iconColor:"text-amber-500",getValue:u=>u.longest_streak||0,achievements:[{id:"streak-7",threshold:7,name:"Week Warrior"},{id:"streak-30",threshold:30,name:"Month Master"}]}],i=u=>{for(let f=s.length-1;f>=0;f--)if(u>=s[f])return f+1;return 1},l=u=>u.map(f=>({threshold:f.threshold,name:f.name,tier:i(f.threshold)})),c=ee(()=>{const u=new Set(t.contributor.achievements||[]),f=[];for(const p of o){const h=p.getValue(t.contributor);let P=null,D=null;const Q=l(p.achievements);for(const Se of p.achievements)h>=Se.threshold?D=Se:P||(P=Se);if(!P)continue;const V=D?D.threshold:0,j=P.threshold-V,G=h-V,F=Math.min(100,Math.max(0,Math.round(G/j*100))),re=i(P.threshold),ve=Q.findIndex(Se=>Se.threshold===P.threshold),pe=Q.length;f.push({category:p.category,icon:p.icon,iconColor:p.iconColor,currentValue:h,target:P.threshold,name:P.name,id:P.id,progress:F,tier:re,tierIndex:ve+1,totalTiers:pe,allTiers:Q,gradient:n[re],progressColor:a[re],isClose:F>=75,remaining:P.threshold-h,isEarned:u.has(P.id)})}return f.sort((p,h)=>h.progress-p.progress),f}),d=ee(()=>{new Set(t.contributor.achievements||[]);let u=0;for(const f of o){const p=f.getValue(t.contributor);for(const h of f.achievements)p(y(),w("div",N0,[(y(!0),w(X,null,xe(c.value,p=>(y(),w("div",{key:p.id,class:"bg-gray-50 dark:bg-gray-800/50 rounded-xl p-4 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors"},[r("div",L0,[r("div",j0,[r("div",{class:Y(["w-10 h-10 rounded-lg bg-gradient-to-br flex items-center justify-center shadow-md",p.gradient])},[r("i",{class:Y(["fas text-white text-sm",p.icon])},null,2)],2),r("div",null,[r("div",F0,b(p.name),1),r("div",V0,[r("span",null,b(p.category),1),f[0]||(f[0]=r("span",{class:"text-gray-600 dark:text-gray-400"},"•",-1)),r("span",H0,"Tier "+b(p.tierIndex)+"/"+b(p.totalTiers),1)])])]),r("div",B0,[r("div",{class:Y(["text-sm font-bold",p.isClose?"text-green-500":"text-gray-700 dark:text-gray-200"])},[R(b(E(W)(p.currentValue))+" ",1),f[1]||(f[1]=r("span",{class:"text-gray-600 dark:text-gray-400 font-normal"},"/",-1)),r("span",G0,b(E(W)(p.target)),1)],2),r("div",U0,b(p.remaining>0?`${E(W)(p.remaining)} to go`:"Ready to claim!"),1)])]),r("div",q0,[r("div",{class:Y(["h-full rounded-full transition-all duration-500 ease-out",p.progressColor]),style:Pt({width:`${p.progress}%`})},null,6)]),r("div",W0,[r("div",K0,[(y(!0),w(X,null,xe(p.allTiers.slice(0,5),(h,P)=>(y(),w("span",{key:h.threshold,class:Y(["w-1.5 h-1.5 rounded-full",P5?(y(),w("span",Q0,"+"+b(p.totalTiers-5),1)):B("",!0)]),r("span",{class:Y(["text-xs font-semibold",p.isClose?"text-green-500":"text-gray-600 dark:text-gray-400"])},b(p.progress)+"% ",3)])]))),128)),d.value>0?(y(),w("div",J0," +"+b(d.value)+" more achievements to unlock ",1)):B("",!0),c.value.length?B("",!0):(y(),w("div",Y0,[...f[2]||(f[2]=[r("div",{class:"w-16 h-16 mx-auto mb-3 rounded-2xl bg-gradient-to-br from-yellow-400 to-amber-500 flex items-center justify-center shadow-lg"},[r("i",{class:"fas fa-trophy text-2xl text-white"})],-1),r("p",{class:"font-medium text-gray-700 dark:text-gray-300"},"All achievements unlocked!",-1),r("p",{class:"text-sm mt-1"},"You're a legend!",-1)])]))]))}},Z0={class:"py-12 px-4"},em={class:"container mx-auto"},tm={class:"flex flex-col md:flex-row items-center md:items-start space-y-4 md:space-y-0 md:space-x-8"},sm={class:"text-center md:text-left"},rm={class:"text-4xl font-bold bg-gradient-to-r from-primary-600 to-accent-600 dark:from-primary-400 dark:to-accent-400 bg-clip-text text-transparent"},nm={class:"text-xl text-gray-600 dark:text-gray-400 mt-1"},am={class:"flex items-center justify-center md:justify-start space-x-4 mt-4"},om={class:"bg-gradient-to-r from-pink-400/10 to-purple-400/10 dark:from-pink-400/5 dark:to-purple-400/5 border border-pink-400/20 dark:border-pink-400/10 rounded-lg px-4 py-2"},im={class:"text-2xl font-bold bg-gradient-to-r from-primary-600 to-accent-600 dark:from-primary-400 dark:to-accent-400 bg-clip-text text-transparent ml-2"},lm={key:0,class:"text-sm text-gray-600 dark:text-gray-400"},cm={key:0},dm={key:0,class:"mt-6 flex flex-wrap justify-center md:justify-start gap-3"},um={class:"py-8 px-4"},fm={class:"container mx-auto"},mm={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},gm={class:"py-8 px-4"},pm={class:"container mx-auto"},hm={class:"grid md:grid-cols-2 gap-6"},xm={class:"space-y-4"},ym={class:"flex items-center justify-between"},bm={class:"text-green-500 font-semibold"},vm={class:"flex items-center justify-between"},km={class:"text-red-500 font-semibold"},_m={key:0,class:"flex items-center justify-between"},wm={class:"text-emerald-500 font-semibold"},Cm={key:1,class:"flex items-center justify-between"},Rm={class:"text-rose-500 font-semibold"},Sm={key:2,class:"flex items-center justify-between"},Am={class:"text-cyan-500 font-semibold"},Em={key:3,class:"flex items-center justify-between"},Pm={class:"text-amber-500 font-semibold"},Tm={class:"flex items-center justify-between"},$m={class:"text-gray-900 dark:text-white font-semibold"},Om={key:4,class:"flex items-center justify-between"},Im={class:"text-gray-900 dark:text-white font-semibold"},Mm={class:"space-y-4"},Dm={class:"flex items-center justify-between"},Nm={class:"text-gray-900 dark:text-white font-semibold"},Lm={class:"flex items-center justify-between"},jm={class:"text-green-500 font-semibold"},Fm={class:"flex items-center justify-between"},Vm={class:"text-orange-500 font-semibold"},Hm={class:"flex items-center justify-between"},Bm={class:"text-gray-900 dark:text-white font-semibold"},Gm={key:0,class:"flex items-center justify-between"},Um={class:"text-gray-900 dark:text-white font-semibold"},qm={class:"space-y-4"},Wm={class:"flex items-center justify-between"},Km={class:"text-red-500 font-semibold"},zm={class:"flex items-center justify-between"},Qm={class:"text-green-500 font-semibold"},Jm={class:"flex items-center justify-between"},Ym={class:"text-blue-500 font-semibold"},Xm={class:"flex items-center justify-between"},Zm={class:"text-purple-500 font-semibold"},eg={key:0,class:"py-8 px-4"},tg={class:"container mx-auto"},sg={class:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-8 gap-4"},rg={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},ng={class:"text-2xl font-bold text-green-500"},ag={class:"text-xs text-gray-600 dark:text-gray-400"},og={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},ig={class:"text-2xl font-bold text-blue-500"},lg={class:"text-xs text-gray-600 dark:text-gray-400"},cg={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},dg={class:"text-2xl font-bold text-purple-500"},ug={class:"text-xs text-gray-600 dark:text-gray-400"},fg={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},mg={class:"text-2xl font-bold text-pink-500"},gg={class:"text-xs text-gray-600 dark:text-gray-400"},pg={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},hg={class:"text-2xl font-bold text-red-500"},xg={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},yg={class:"text-2xl font-bold text-orange-500"},bg={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},vg={class:"text-2xl font-bold text-yellow-500"},kg={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},_g={class:"text-2xl font-bold text-indigo-500"},wg={class:"text-xs text-gray-600 dark:text-gray-400"},Cg={class:"py-8 px-4"},Rg={class:"container mx-auto"},Sg={class:"grid md:grid-cols-2 gap-6"},Ag={class:"flex items-center justify-between mb-6"},Eg={class:"px-2.5 py-1 rounded-full bg-gradient-to-r from-yellow-400 to-amber-500 text-white text-sm font-bold shadow-md"},Pg={class:"grid grid-cols-4 sm:grid-cols-5 gap-3"},Tg={key:1,class:"py-8 px-4"},$g={class:"container mx-auto"},Og={class:"flex flex-wrap gap-2"},Ig={__name:"Contributor",setup(e){const t=ar(),s=Te("globalData"),n=be(null),a=be(!0),o=be(null),i=ee(()=>[{label:"Dashboard",to:"/"},{label:"Contributors"},{label:n.value?.login||t.params.login}]);async function l(){a.value=!0,o.value=null;const c=t.params.login;try{const d=await fetch(`./data/contributors/${c}.json`);if(d.ok){const u=await d.json(),p=(s.value?.leaderboard||[]).find(h=>h.login===c);p&&(u.score={total:p.score,rank:p.rank,breakdown:u.score?.breakdown},u.achievements=p.achievements),n.value=u}else{let f=(s.value?.leaderboard||[]).find(p=>p.login===c);if(!f){const p=s.value?.repositories||[];for(const h of p){const P=h.contributors?.find(D=>D.login===c);if(P){f=P;break}}}f?n.value=f:o.value="Contributor not found"}}catch(d){o.value=`Failed to load contributor: ${d.message}`}a.value=!1}return Vt(l),Ue(()=>t.params,l),Ue(s,l),(c,d)=>(y(),w("div",null,[a.value?(y(),Z(an,{key:0,message:"Loading contributor..."})):o.value?(y(),Z(on,{key:1,message:o.value},null,8,["message"])):n.value?(y(),w(X,{key:2},[r("header",Z0,[r("div",em,[S(or,{breadcrumbs:i.value,title:""},null,8,["breadcrumbs"]),r("div",tm,[S(ns,{src:n.value.avatar_url,name:n.value.login,size:"2xl",class:"shadow-lg"},null,8,["src","name"]),r("div",sm,[r("h1",rm,b(n.value.name||n.value.login),1),r("p",nm,[S(No,{url:`https://github.com/${n.value.login}`},{default:L(()=>[R(" @"+b(n.value.login),1)]),_:1},8,["url"])]),r("div",am,[r("div",om,[d[0]||(d[0]=r("span",{class:"text-sm text-gray-600 dark:text-gray-400"},"Score:",-1)),r("span",im,b(E(W)(n.value.score?.total||n.value.score||0)),1)]),n.value.score?.rank?(y(),w("div",lm,[R(" Rank #"+b(n.value.score.rank)+" ",1),n.value.score?.percentile_rank?(y(),w("span",cm," (Top "+b(E(Fd)(n.value.score.percentile_rank))+") ",1)):B("",!0)])):B("",!0)]),n.value.achievements?.length?(y(),w("div",dm,[(y(!0),w(X,null,xe(E(us)(n.value.achievements),u=>(y(),Z(rs,{key:u,"achievement-id":u,size:"lg","show-label":""},null,8,["achievement-id"]))),128))])):B("",!0)])])])]),r("section",um,[r("div",fm,[r("div",mm,[S(Ce,{value:n.value.commit_count||0,label:"Commits",icon:"fas fa-code-commit","icon-color":"text-green-500"},null,8,["value"]),S(Ce,{value:n.value.prs_opened||0,label:"PRs Opened",icon:"fas fa-code-pull-request","icon-color":"text-blue-500"},null,8,["value"]),S(Ce,{value:n.value.prs_merged||0,label:"PRs Merged",icon:"fas fa-code-merge","icon-color":"text-purple-500"},null,8,["value"]),S(Ce,{value:n.value.reviews_given||0,label:"Reviews Given",icon:"fas fa-eye","icon-color":"text-orange-500"},null,8,["value"])])])]),r("section",gm,[r("div",pm,[r("div",hm,[S(de,null,{default:L(()=>[d[9]||(d[9]=r("h3",{class:"text-lg font-semibold text-gray-900 dark:text-white mb-4"},[r("i",{class:"fas fa-code text-green-500 mr-2"}),R("Code Contributions ")],-1)),r("div",xm,[r("div",ym,[d[1]||(d[1]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Lines Added",-1)),r("span",bm," +"+b(E(W)(n.value.lines_added||0)),1)]),r("div",vm,[d[2]||(d[2]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Lines Deleted",-1)),r("span",km," -"+b(E(W)(n.value.lines_deleted||0)),1)]),n.value.meaningful_lines_added!==void 0?(y(),w("div",_m,[d[3]||(d[3]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Meaningful Lines Added",-1)),r("span",wm," +"+b(E(W)(n.value.meaningful_lines_added||0)),1)])):B("",!0),n.value.meaningful_lines_deleted!==void 0?(y(),w("div",Cm,[d[4]||(d[4]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Meaningful Lines Deleted",-1)),r("span",Rm," -"+b(E(W)(n.value.meaningful_lines_deleted||0)),1)])):B("",!0),n.value.comment_lines_added!==void 0?(y(),w("div",Sm,[d[5]||(d[5]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Comment Lines Added",-1)),r("span",Am," +"+b(E(W)(n.value.comment_lines_added||0)),1)])):B("",!0),n.value.comment_lines_deleted!==void 0?(y(),w("div",Em,[d[6]||(d[6]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Comment Lines Deleted",-1)),r("span",Pm," -"+b(E(W)(n.value.comment_lines_deleted||0)),1)])):B("",!0),r("div",Tm,[d[7]||(d[7]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Files Changed",-1)),r("span",$m,b(E(W)(n.value.files_changed||0)),1)]),n.value.avg_pr_size?(y(),w("div",Om,[d[8]||(d[8]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Avg PR Size",-1)),r("span",Im,b(E(W)(Math.round(n.value.avg_pr_size)))+" lines ",1)])):B("",!0)])]),_:1}),S(de,null,{default:L(()=>[d[15]||(d[15]=r("h3",{class:"text-lg font-semibold text-gray-900 dark:text-white mb-4"},[r("i",{class:"fas fa-comments text-purple-500 mr-2"}),R("Review Activity ")],-1)),r("div",Mm,[r("div",Dm,[d[10]||(d[10]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Reviews Given",-1)),r("span",Nm,b(E(W)(n.value.reviews_given||0)),1)]),r("div",Lm,[d[11]||(d[11]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Approvals",-1)),r("span",jm,b(E(W)(n.value.approvals_given||0)),1)]),r("div",Fm,[d[12]||(d[12]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Changes Requested",-1)),r("span",Vm,b(E(W)(n.value.changes_requested||0)),1)]),r("div",Hm,[d[13]||(d[13]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Review Comments",-1)),r("span",Bm,b(E(W)(n.value.review_comments||0)),1)]),n.value.avg_review_time_hours?(y(),w("div",Gm,[d[14]||(d[14]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Avg Review Time",-1)),r("span",Um,b(E(jd)(n.value.avg_review_time_hours)),1)])):B("",!0)])]),_:1}),n.value.issues_opened||n.value.issues_closed||n.value.issue_comments||n.value.issue_references_in_commits?(y(),Z(de,{key:0},{default:L(()=>[d[20]||(d[20]=r("h3",{class:"text-lg font-semibold text-gray-900 dark:text-white mb-4"},[r("i",{class:"fas fa-bug text-red-500 mr-2"}),R("Issue Activity ")],-1)),r("div",qm,[r("div",Wm,[d[16]||(d[16]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Issues Opened",-1)),r("span",Km,b(E(W)(n.value.issues_opened||0)),1)]),r("div",zm,[d[17]||(d[17]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Issues Closed",-1)),r("span",Qm,b(E(W)(n.value.issues_closed||0)),1)]),r("div",Jm,[d[18]||(d[18]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Issue Comments",-1)),r("span",Ym,b(E(W)(n.value.issue_comments||0)),1)]),r("div",Xm,[d[19]||(d[19]=r("span",{class:"text-gray-700 dark:text-gray-300"},"Issue References in Commits",-1)),r("span",Zm,b(E(W)(n.value.issue_references_in_commits||0)),1)])])]),_:1})):B("",!0)])])]),n.value.score?.breakdown?(y(),w("section",eg,[r("div",tg,[S(de,null,{default:L(()=>[d[32]||(d[32]=r("h3",{class:"text-lg font-semibold text-gray-900 dark:text-white mb-4"},[r("i",{class:"fas fa-chart-pie bg-gradient-to-r from-primary-600 to-accent-600 dark:from-primary-400 dark:to-accent-400 bg-clip-text text-transparent mr-2"}),R("Score Breakdown ")],-1)),r("div",sg,[r("div",rg,[r("div",ng,b(E(W)(n.value.score.breakdown.commits||0)),1),d[21]||(d[21]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400 mt-1"},"Commits",-1)),r("div",ag,b(n.value.commit_count||0)+" × 10 pts",1)]),r("div",og,[r("div",ig,b(E(W)(n.value.score.breakdown.prs||0)),1),d[22]||(d[22]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400 mt-1"},"PRs",-1)),r("div",lg,b(n.value.prs_opened||0)+" opened + "+b(n.value.prs_merged||0)+" merged",1)]),r("div",cg,[r("div",dg,b(E(W)(n.value.score.breakdown.reviews||0)),1),d[23]||(d[23]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400 mt-1"},"Reviews",-1)),r("div",ug,b(n.value.reviews_given||0)+" × 30 pts",1)]),r("div",fg,[r("div",mg,b(E(W)(n.value.score.breakdown.comments||0)),1),d[24]||(d[24]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400 mt-1"},"Comments",-1)),r("div",gg,b(n.value.review_comments||0)+" × 5 pts",1)]),r("div",pg,[r("div",hg,b(E(W)(n.value.score.breakdown.issues||0)),1),d[25]||(d[25]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400 mt-1"},"Issues",-1)),d[26]||(d[26]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400"},"opened, closed, comments, refs",-1))]),r("div",xg,[r("div",yg,b(E(W)(n.value.score.breakdown.line_changes||0)),1),d[27]||(d[27]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400 mt-1"},"Line Changes",-1)),d[28]||(d[28]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400"},"meaningful lines × 0.1 pts",-1))]),r("div",bg,[r("div",vg,b(E(W)(n.value.score.breakdown.response_bonus||0)),1),d[29]||(d[29]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400 mt-1"},"Response Bonus",-1)),d[30]||(d[30]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400"},"fast review bonus",-1))]),r("div",kg,[r("div",_g,b(E(W)(n.value.score.breakdown.out_of_hours||0)),1),d[31]||(d[31]=r("div",{class:"text-xs text-gray-600 dark:text-gray-400 mt-1"},"Out of Hours",-1)),r("div",wg,b(n.value.out_of_hours_count||0)+" × 2 pts",1)])])]),_:1})])])):B("",!0),r("section",Cg,[r("div",Rg,[r("div",Sg,[n.value.achievements?.length?(y(),Z(de,{key:0},{default:L(()=>[r("div",Ag,[d[33]||(d[33]=r("h3",{class:"text-lg font-semibold text-gray-900 dark:text-white"},[r("i",{class:"fas fa-award bg-gradient-to-r from-primary-600 to-accent-600 dark:from-primary-400 dark:to-accent-400 bg-clip-text text-transparent mr-2"}),R("Achievements Earned ")],-1)),r("span",Eg,b(n.value.achievements.length),1)]),r("div",Pg,[(y(!0),w(X,null,xe(n.value.achievements,u=>(y(),w("div",{key:u,class:"flex flex-col items-center p-2 rounded-xl bg-gray-50 dark:bg-gray-800/50 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors"},[S(rs,{"achievement-id":u,size:"md","show-label":""},null,8,["achievement-id"])]))),128))])]),_:1})):B("",!0),S(de,null,{default:L(()=>[d[34]||(d[34]=r("h3",{class:"text-lg font-semibold text-gray-900 dark:text-white mb-6"},[r("i",{class:"fas fa-chart-line text-primary-500 mr-2"}),R("Next Achievements ")],-1)),S(X0,{contributor:n.value,"max-display":6},null,8,["contributor"])]),_:1})])])]),n.value.repositories_contributed?.length?(y(),w("section",Tg,[r("div",$g,[S(We,{title:`Contributed to ${n.value.repositories_contributed.length} Repositories`,icon:"fas fa-folder-tree","icon-color":"text-blue-500"},null,8,["title"]),r("div",Og,[(y(!0),w(X,null,xe(n.value.repositories_contributed,u=>(y(),Z(E(_e),{key:u,to:`/repos/${u}`,class:"inline-flex items-center px-3 py-1.5 rounded-full text-sm bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300 hover:bg-primary-100 dark:hover:bg-primary-900/30 hover:text-primary-700 dark:hover:text-primary-300 transition-colors"},{default:L(()=>[d[35]||(d[35]=r("i",{class:"fas fa-code-branch text-gray-600 dark:text-gray-400 mr-2"},null,-1)),R(" "+b(u),1)]),_:2},1032,["to"]))),128))])])])):B("",!0)],64)):B("",!0)]))}},Mg={class:"py-8 px-4"},Dg={class:"container mx-auto"},Ng={id:"scoring",class:"py-8 px-4"},Lg={class:"container mx-auto"},jg={class:"space-y-6"},Fg={id:"leaderboard-info",class:"py-8 px-4"},Vg={class:"container mx-auto"},Hg={class:"space-y-6"},Bg={id:"achievements",class:"py-8 px-4"},Gg={class:"container mx-auto"},Ug={class:"space-y-6"},qg={id:"data-sources",class:"py-8 px-4"},Wg={class:"container mx-auto"},Kg={class:"space-y-6"},zg={__name:"HowScoringWorks",setup(e){return(t,s)=>(y(),w("div",null,[s[14]||(s[14]=kl('

How Scoring Works

Understanding the point system, leaderboard rankings, and achievement criteria that power Git Velocity.

',1)),r("section",Mg,[r("div",Dg,[S(de,{class:"shadow-lg mb-8"},{default:L(()=>[...s[0]||(s[0]=[r("h2",{class:"text-xl font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center"},[r("i",{class:"fas fa-info-circle mr-3 text-blue-500"}),R(" Overview ")],-1),r("p",{class:"text-gray-600 dark:text-gray-400 mb-4"}," Git Velocity calculates developer contributions by analyzing GitHub activity across configured repositories. The scoring system is designed to encourage well-rounded contributions including code commits, pull requests, code reviews, and collaboration. ",-1),r("div",{class:"grid sm:grid-cols-3 gap-4 mt-6"},[r("div",{class:"text-center p-4 bg-primary-50 dark:bg-primary-900/20 rounded-lg"},[r("i",{class:"fas fa-calculator text-primary-500 text-2xl mb-2"}),r("h3",{class:"font-medium text-gray-900 dark:text-gray-100"},"Point-Based"),r("p",{class:"text-sm text-gray-600 dark:text-gray-400"},"Activities earn configurable points")]),r("div",{class:"text-center p-4 bg-accent-50 dark:bg-accent-900/20 rounded-lg"},[r("i",{class:"fas fa-layer-group text-accent-500 text-2xl mb-2"}),r("h3",{class:"font-medium text-gray-900 dark:text-gray-100"},"Aggregated"),r("p",{class:"text-sm text-gray-600 dark:text-gray-400"},"Combined across all repositories")]),r("div",{class:"text-center p-4 bg-indigo-50 dark:bg-indigo-900/20 rounded-lg"},[r("i",{class:"fas fa-trophy text-indigo-500 text-2xl mb-2"}),r("h3",{class:"font-medium text-gray-900 dark:text-gray-100"},"Achievement-Driven"),r("p",{class:"text-sm text-gray-600 dark:text-gray-400"},"Unlock badges for milestones")])],-1)])]),_:1})])]),r("section",Ng,[r("div",Lg,[S(We,{title:"Point Calculations",icon:"fas fa-coins","icon-color":"text-yellow-500"}),r("div",jg,[S(de,{class:"shadow-lg"},{default:L(()=>[...s[1]||(s[1]=[r("h3",{class:"font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-lg sm:text-xl"},[r("i",{class:"fas fa-function mr-2 text-primary-500"}),R(" Score Formula ")],-1),r("div",{class:"bg-gray-900 text-gray-100 p-3 sm:p-4 rounded-lg overflow-x-auto mb-4 -mx-2 sm:mx-0"},[r("pre",{class:"text-xs sm:text-sm font-mono whitespace-pre-wrap sm:whitespace-pre"},[r("code",null,`Total Score = Commits + Lines + PRs + Reviews + Comments + Issues + Bonuses + +Where: + Commits = commit_count x 10 pts + Lines = (added x 0.1) + (deleted x 0.05) pts + PRs = (opened x 25) + (merged x 50) pts + Reviews = reviews_given x 30 pts + Comments = review_comments x 5 pts + Issues = (opened x 10) + (closed x 20) + (comments x 5) + (refs x 5) pts + Response = fast review bonus (0-50 pts) + Out of Hrs = commits outside 9-5 x 2 pts`)])],-1),r("p",{class:"text-xs sm:text-sm text-gray-600 dark:text-gray-400"},[r("i",{class:"fas fa-info-circle mr-1"}),R(" All point values are configurable in your "),r("code",{class:"text-primary-600 dark:text-primary-400"},".git-velocity.yaml"),R(" file. ")],-1)])]),_:1}),S(de,{class:"shadow-lg"},{default:L(()=>[...s[2]||(s[2]=[r("h3",{class:"font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"},[r("i",{class:"fas fa-coins mr-2 text-yellow-500"}),R(" Default Point Values ")],-1),r("div",{class:"grid grid-cols-1 gap-3 sm:hidden"},[r("div",{class:"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2"},[r("i",{class:"fas fa-code-commit text-primary-500"}),r("span",{class:"text-sm font-medium text-gray-900 dark:text-gray-100"},"Commit")]),r("span",{class:"font-mono font-bold text-primary-600 dark:text-primary-400"},"10 pts")]),r("div",{class:"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2"},[r("i",{class:"fas fa-flask text-green-500"}),r("span",{class:"text-sm font-medium text-gray-900 dark:text-gray-100"},"Commit + Tests")]),r("span",{class:"font-mono font-bold text-primary-600 dark:text-primary-400"},"15 pts")]),r("div",{class:"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2"},[r("i",{class:"fas fa-plus text-blue-500"}),r("span",{class:"text-sm font-medium text-gray-900 dark:text-gray-100"},"Lines Added")]),r("span",{class:"font-mono font-bold text-primary-600 dark:text-primary-400"},"0.1 pts")]),r("div",{class:"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2"},[r("i",{class:"fas fa-minus text-red-500"}),r("span",{class:"text-sm font-medium text-gray-900 dark:text-gray-100"},"Lines Deleted")]),r("span",{class:"font-mono font-bold text-primary-600 dark:text-primary-400"},"0.05 pts")]),r("div",{class:"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2"},[r("i",{class:"fas fa-code-pull-request text-accent-500"}),r("span",{class:"text-sm font-medium text-gray-900 dark:text-gray-100"},"PR Opened")]),r("span",{class:"font-mono font-bold text-primary-600 dark:text-primary-400"},"25 pts")]),r("div",{class:"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2"},[r("i",{class:"fas fa-code-merge text-indigo-500"}),r("span",{class:"text-sm font-medium text-gray-900 dark:text-gray-100"},"PR Merged")]),r("span",{class:"font-mono font-bold text-primary-600 dark:text-primary-400"},"50 pts")]),r("div",{class:"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2"},[r("i",{class:"fas fa-eye text-cyan-500"}),r("span",{class:"text-sm font-medium text-gray-900 dark:text-gray-100"},"PR Reviewed")]),r("span",{class:"font-mono font-bold text-primary-600 dark:text-primary-400"},"30 pts")]),r("div",{class:"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2"},[r("i",{class:"fas fa-comment text-orange-500"}),r("span",{class:"text-sm font-medium text-gray-900 dark:text-gray-100"},"Review Comment")]),r("span",{class:"font-mono font-bold text-primary-600 dark:text-primary-400"},"5 pts")]),r("div",{class:"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2"},[r("i",{class:"fas fa-bolt text-yellow-500"}),r("span",{class:"text-sm font-medium text-gray-900 dark:text-gray-100"},"Fast Review <1h")]),r("span",{class:"font-mono font-bold text-primary-600 dark:text-primary-400"},"50 pts")]),r("div",{class:"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2"},[r("i",{class:"fas fa-stopwatch text-yellow-500"}),r("span",{class:"text-sm font-medium text-gray-900 dark:text-gray-100"},"Fast Review <4h")]),r("span",{class:"font-mono font-bold text-primary-600 dark:text-primary-400"},"25 pts")]),r("div",{class:"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2"},[r("i",{class:"fas fa-clock text-yellow-500"}),r("span",{class:"text-sm font-medium text-gray-900 dark:text-gray-100"},"Fast Review <24h")]),r("span",{class:"font-mono font-bold text-primary-600 dark:text-primary-400"},"10 pts")]),r("div",{class:"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2"},[r("i",{class:"fas fa-moon text-gray-600 dark:text-gray-400"}),r("span",{class:"text-sm font-medium text-gray-900 dark:text-gray-100"},"Out of Hours")]),r("span",{class:"font-mono font-bold text-primary-600 dark:text-primary-400"},"2 pts")]),r("div",{class:"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2"},[r("i",{class:"fas fa-circle-exclamation text-teal-500"}),r("span",{class:"text-sm font-medium text-gray-900 dark:text-gray-100"},"Issue Opened")]),r("span",{class:"font-mono font-bold text-primary-600 dark:text-primary-400"},"10 pts")]),r("div",{class:"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2"},[r("i",{class:"fas fa-circle-check text-green-500"}),r("span",{class:"text-sm font-medium text-gray-900 dark:text-gray-100"},"Issue Closed")]),r("span",{class:"font-mono font-bold text-primary-600 dark:text-primary-400"},"20 pts")]),r("div",{class:"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2"},[r("i",{class:"fas fa-comment-dots text-blue-500"}),r("span",{class:"text-sm font-medium text-gray-900 dark:text-gray-100"},"Issue Comment")]),r("span",{class:"font-mono font-bold text-primary-600 dark:text-primary-400"},"5 pts")]),r("div",{class:"flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2"},[r("i",{class:"fas fa-link text-accent-500"}),r("span",{class:"text-sm font-medium text-gray-900 dark:text-gray-100"},"Issue Reference")]),r("span",{class:"font-mono font-bold text-primary-600 dark:text-primary-400"},"5 pts")])],-1),r("div",{class:"hidden sm:block overflow-x-auto"},[r("table",{class:"w-full text-sm"},[r("thead",null,[r("tr",{class:"border-b border-gray-200 dark:border-gray-700"},[r("th",{class:"text-left py-3 text-gray-700 dark:text-gray-400"},"Activity"),r("th",{class:"text-left py-3 text-gray-700 dark:text-gray-400"},"Points"),r("th",{class:"text-left py-3 text-gray-700 dark:text-gray-400"},"Description")])]),r("tbody",{class:"text-gray-700 dark:text-gray-300"},[r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-3"},[r("i",{class:"fas fa-code-commit text-primary-500 mr-2"}),R("Commit")]),r("td",{class:"py-3 font-mono text-primary-600 dark:text-primary-400"},"10"),r("td",{class:"py-3"},"Per commit pushed")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-3"},[r("i",{class:"fas fa-flask text-green-500 mr-2"}),R("Commit with Tests")]),r("td",{class:"py-3 font-mono text-primary-600 dark:text-primary-400"},"15"),r("td",{class:"py-3"},"Commit that includes test files")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-3"},[r("i",{class:"fas fa-plus text-blue-500 mr-2"}),R("Lines Added")]),r("td",{class:"py-3 font-mono text-primary-600 dark:text-primary-400"},"0.1"),r("td",{class:"py-3"},"Per meaningful line added")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-3"},[r("i",{class:"fas fa-minus text-red-500 mr-2"}),R("Lines Deleted")]),r("td",{class:"py-3 font-mono text-primary-600 dark:text-primary-400"},"0.05"),r("td",{class:"py-3"},"Per meaningful line removed")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-3"},[r("i",{class:"fas fa-code-pull-request text-accent-500 mr-2"}),R("PR Opened")]),r("td",{class:"py-3 font-mono text-primary-600 dark:text-primary-400"},"25"),r("td",{class:"py-3"},"Per pull request created")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-3"},[r("i",{class:"fas fa-code-merge text-indigo-500 mr-2"}),R("PR Merged")]),r("td",{class:"py-3 font-mono text-primary-600 dark:text-primary-400"},"50"),r("td",{class:"py-3"},"Per pull request merged")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-3"},[r("i",{class:"fas fa-eye text-cyan-500 mr-2"}),R("PR Reviewed")]),r("td",{class:"py-3 font-mono text-primary-600 dark:text-primary-400"},"30"),r("td",{class:"py-3"},"Per PR review submitted")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-3"},[r("i",{class:"fas fa-comment text-orange-500 mr-2"}),R("Review Comment")]),r("td",{class:"py-3 font-mono text-primary-600 dark:text-primary-400"},"5"),r("td",{class:"py-3"},"Per comment on PR reviews")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-3"},[r("i",{class:"fas fa-bolt text-yellow-500 mr-2"}),R("Fast Review (<1h)")]),r("td",{class:"py-3 font-mono text-primary-600 dark:text-primary-400"},"50"),r("td",{class:"py-3"},"Bonus for average response under 1 hour")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-3"},[r("i",{class:"fas fa-stopwatch text-yellow-500 mr-2"}),R("Fast Review (<4h)")]),r("td",{class:"py-3 font-mono text-primary-600 dark:text-primary-400"},"25"),r("td",{class:"py-3"},"Bonus for average response under 4 hours")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-3"},[r("i",{class:"fas fa-clock text-yellow-500 mr-2"}),R("Fast Review (<24h)")]),r("td",{class:"py-3 font-mono text-primary-600 dark:text-primary-400"},"10"),r("td",{class:"py-3"},"Bonus for average response under 24 hours")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-3"},[r("i",{class:"fas fa-moon text-gray-500 mr-2"}),R("Out of Hours")]),r("td",{class:"py-3 font-mono text-primary-600 dark:text-primary-400"},"2"),r("td",{class:"py-3"},"Per commit outside 9am-5pm")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-3"},[r("i",{class:"fas fa-circle-exclamation text-teal-500 mr-2"}),R("Issue Opened")]),r("td",{class:"py-3 font-mono text-primary-600 dark:text-primary-400"},"10"),r("td",{class:"py-3"},"Per issue created")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-3"},[r("i",{class:"fas fa-circle-check text-green-500 mr-2"}),R("Issue Closed")]),r("td",{class:"py-3 font-mono text-primary-600 dark:text-primary-400"},"20"),r("td",{class:"py-3"},"Per issue resolved/closed")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-3"},[r("i",{class:"fas fa-comment-dots text-blue-500 mr-2"}),R("Issue Comment")]),r("td",{class:"py-3 font-mono text-primary-600 dark:text-primary-400"},"5"),r("td",{class:"py-3"},"Per comment on issues")]),r("tr",null,[r("td",{class:"py-3"},[r("i",{class:"fas fa-link text-accent-500 mr-2"}),R("Issue Reference")]),r("td",{class:"py-3 font-mono text-primary-600 dark:text-primary-400"},"5"),r("td",{class:"py-3"},"Per commit referencing an issue (#123)")])])])],-1)])]),_:1}),S(de,{class:"shadow-lg"},{default:L(()=>[...s[3]||(s[3]=[r("h3",{class:"font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"},[r("i",{class:"fas fa-filter mr-2 text-green-500"}),R(" Meaningful Lines ")],-1),r("p",{class:"text-gray-600 dark:text-gray-400 mb-4"},[R(" By default, Git Velocity uses "),r("strong",null,"meaningful lines"),R(" instead of raw line counts. This filters out noise and rewards actual code contributions: ")],-1),r("div",{class:"grid sm:grid-cols-2 gap-4"},[r("div",{class:"p-4 bg-green-50 dark:bg-green-900/20 rounded-lg"},[r("h4",{class:"font-medium text-green-700 dark:text-green-400 mb-2"},[r("i",{class:"fas fa-check mr-2"}),R("Counted as Meaningful ")]),r("ul",{class:"text-sm text-gray-600 dark:text-gray-400 space-y-1"},[r("li",null,"Actual code logic"),r("li",null,"Function definitions"),r("li",null,"Variable declarations"),r("li",null,"Import statements")])]),r("div",{class:"p-4 bg-red-50 dark:bg-red-900/20 rounded-lg"},[r("h4",{class:"font-medium text-red-700 dark:text-red-400 mb-2"},[r("i",{class:"fas fa-times mr-2"}),R("Filtered Out ")]),r("ul",{class:"text-sm text-gray-600 dark:text-gray-400 space-y-1"},[r("li",null,"Empty lines / whitespace"),r("li",null,"Single-line comments"),r("li",null,"Multi-line comment blocks"),r("li",null,"Documentation strings")])])],-1),r("p",{class:"text-sm text-gray-600 dark:text-gray-400 mt-4"},[r("i",{class:"fas fa-info-circle mr-1"}),R(" Meaningful lines filtering is always enabled to accurately reflect code contributions. ")],-1)])]),_:1})])])]),r("section",Fg,[r("div",Vg,[S(We,{title:"Leaderboard Rankings",icon:"fas fa-list-ol","icon-color":"text-accent-500"}),r("div",Hg,[S(de,{class:"shadow-lg"},{default:L(()=>[...s[4]||(s[4]=[r("h3",{class:"font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"},[r("i",{class:"fas fa-list-ol mr-2 text-accent-500"}),R(" Ranking Process ")],-1),r("ol",{class:"space-y-4"},[r("li",{class:"flex items-start gap-3"},[r("span",{class:"flex-shrink-0 w-8 h-8 rounded-full bg-primary-100 dark:bg-primary-900/30 flex items-center justify-center text-primary-600 dark:text-primary-400 font-bold"},"1"),r("div",null,[r("h4",{class:"font-medium text-gray-900 dark:text-gray-100"},"Aggregate Across Repos"),r("p",{class:"text-sm text-gray-600 dark:text-gray-400"},"Metrics from all configured repositories are combined per contributor")])]),r("li",{class:"flex items-start gap-3"},[r("span",{class:"flex-shrink-0 w-8 h-8 rounded-full bg-accent-100 dark:bg-accent-900/30 flex items-center justify-center text-accent-600 dark:text-accent-400 font-bold"},"2"),r("div",null,[r("h4",{class:"font-medium text-gray-900 dark:text-gray-100"},"Calculate Total Score"),r("p",{class:"text-sm text-gray-600 dark:text-gray-400"},"Apply point values to each activity type and sum the breakdown")])]),r("li",{class:"flex items-start gap-3"},[r("span",{class:"flex-shrink-0 w-8 h-8 rounded-full bg-indigo-100 dark:bg-indigo-900/30 flex items-center justify-center text-indigo-600 dark:text-indigo-400 font-bold"},"3"),r("div",null,[r("h4",{class:"font-medium text-gray-900 dark:text-gray-100"},"Sort by Score"),r("p",{class:"text-sm text-gray-600 dark:text-gray-400"},"Contributors are sorted in descending order by total score")])]),r("li",{class:"flex items-start gap-3"},[r("span",{class:"flex-shrink-0 w-8 h-8 rounded-full bg-blue-100 dark:bg-blue-900/30 flex items-center justify-center text-blue-600 dark:text-blue-400 font-bold"},"4"),r("div",null,[r("h4",{class:"font-medium text-gray-900 dark:text-gray-100"},"Assign Ranks & Percentiles"),r("p",{class:"text-sm text-gray-600 dark:text-gray-400"},"Each contributor receives a rank (1st, 2nd...) and percentile position")])])],-1)])]),_:1}),S(de,{class:"shadow-lg"},{default:L(()=>[...s[5]||(s[5]=[r("h3",{class:"font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"},[r("i",{class:"fas fa-medal mr-2 text-yellow-500"}),R(" Top Achievers ")],-1),r("p",{class:"text-gray-600 dark:text-gray-400 mb-4"}," Git Velocity tracks top performers in each category: ",-1),r("div",{class:"grid sm:grid-cols-2 gap-4"},[r("div",{class:"p-4 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2 mb-2"},[r("i",{class:"fas fa-trophy text-yellow-500"}),r("span",{class:"font-medium text-gray-900 dark:text-gray-100"},"Overall Leader")]),r("p",{class:"text-sm text-gray-600 dark:text-gray-400"},"Highest total score")]),r("div",{class:"p-4 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2 mb-2"},[r("i",{class:"fas fa-code-commit text-primary-500"}),r("span",{class:"font-medium text-gray-900 dark:text-gray-100"},"Top Committer")]),r("p",{class:"text-sm text-gray-600 dark:text-gray-400"},"Most commits")]),r("div",{class:"p-4 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2 mb-2"},[r("i",{class:"fas fa-eye text-accent-500"}),r("span",{class:"font-medium text-gray-900 dark:text-gray-100"},"Top Reviewer")]),r("p",{class:"text-sm text-gray-600 dark:text-gray-400"},"Most reviews given")]),r("div",{class:"p-4 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("div",{class:"flex items-center gap-2 mb-2"},[r("i",{class:"fas fa-code-pull-request text-indigo-500"}),r("span",{class:"font-medium text-gray-900 dark:text-gray-100"},"Top PR Author")]),r("p",{class:"text-sm text-gray-600 dark:text-gray-400"},"Most PRs opened")])],-1)])]),_:1}),S(de,{class:"shadow-lg"},{default:L(()=>[...s[6]||(s[6]=[r("h3",{class:"font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"},[r("i",{class:"fas fa-users mr-2 text-blue-500"}),R(" Team Scoring ")],-1),r("p",{class:"text-gray-600 dark:text-gray-400 mb-4"}," When teams are configured, Git Velocity calculates team metrics: ",-1),r("ul",{class:"space-y-2 text-gray-600 dark:text-gray-400"},[r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),r("strong",null,"Total Team Score:"),R(" Sum of all member scores")]),r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),r("strong",null,"Average Score:"),R(" Total score / number of members")]),r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),r("strong",null,"Member Breakdown:"),R(" Individual scores and achievements per team member")])],-1)])]),_:1})])])]),r("section",Bg,[r("div",Gg,[S(We,{title:"Achievement System",icon:"fas fa-trophy","icon-color":"text-yellow-500"}),s[10]||(s[10]=r("p",{class:"text-gray-600 dark:text-gray-300 mb-8 text-center"},"115 achievements across 26 categories with tiered progression",-1)),r("div",Ug,[S(de,{class:"shadow-lg"},{default:L(()=>[...s[7]||(s[7]=[r("h3",{class:"font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"},[r("i",{class:"fas fa-trophy mr-2 text-yellow-500"}),R(" Achievement Categories ")],-1),r("div",{class:"grid sm:grid-cols-2 lg:grid-cols-3 gap-4"},[r("div",{class:"p-4 border border-gray-200 dark:border-gray-700 rounded-lg"},[r("h4",{class:"font-medium text-gray-900 dark:text-gray-100 mb-2"},[r("i",{class:"fas fa-code-commit text-primary-500 mr-2"}),R("Commits ")]),r("p",{class:"text-xs text-gray-600 dark:text-gray-400 mb-2"},"Tiers: 1, 10, 50, 100, 500, 1000"),r("div",{class:"text-xs text-gray-600 dark:text-gray-400"}," First Steps, Getting Started, Contributor, Committed, Code Machine, Code Warrior ")]),r("div",{class:"p-4 border border-gray-200 dark:border-gray-700 rounded-lg"},[r("h4",{class:"font-medium text-gray-900 dark:text-gray-100 mb-2"},[r("i",{class:"fas fa-code-pull-request text-accent-500 mr-2"}),R("PRs Opened ")]),r("p",{class:"text-xs text-gray-600 dark:text-gray-400 mb-2"},"Tiers: 1, 10, 25, 50, 100, 250"),r("div",{class:"text-xs text-gray-600 dark:text-gray-400"}," PR Pioneer, PR Regular, PR Pro, Merge Master, PR Champion, PR Legend ")]),r("div",{class:"p-4 border border-gray-200 dark:border-gray-700 rounded-lg"},[r("h4",{class:"font-medium text-gray-900 dark:text-gray-100 mb-2"},[r("i",{class:"fas fa-eye text-indigo-500 mr-2"}),R("Reviews Given ")]),r("p",{class:"text-xs text-gray-600 dark:text-gray-400 mb-2"},"Tiers: 1, 10, 25, 50, 100, 250"),r("div",{class:"text-xs text-gray-600 dark:text-gray-400"}," First Review, Reviewer, Review Regular, Review Expert, Review Guru, Review Master ")]),r("div",{class:"p-4 border border-gray-200 dark:border-gray-700 rounded-lg"},[r("h4",{class:"font-medium text-gray-900 dark:text-gray-100 mb-2"},[r("i",{class:"fas fa-comment text-blue-500 mr-2"}),R("Review Comments ")]),r("p",{class:"text-xs text-gray-600 dark:text-gray-400 mb-2"},"Tiers: 10, 50, 100, 250, 500"),r("div",{class:"text-xs text-gray-600 dark:text-gray-400"}," Commentator, Feedback Giver, Code Critic, Feedback Expert, Comment Champion ")]),r("div",{class:"p-4 border border-gray-200 dark:border-gray-700 rounded-lg"},[r("h4",{class:"font-medium text-gray-900 dark:text-gray-100 mb-2"},[r("i",{class:"fas fa-plus text-green-500 mr-2"}),R("Lines Added ")]),r("p",{class:"text-xs text-gray-600 dark:text-gray-400 mb-2"},"Tiers: 100, 1K, 5K, 10K, 50K"),r("div",{class:"text-xs text-gray-600 dark:text-gray-400"}," First Hundred, Thousand Lines, Five Thousand, Ten Thousand, Code Mountain ")]),r("div",{class:"p-4 border border-gray-200 dark:border-gray-700 rounded-lg"},[r("h4",{class:"font-medium text-gray-900 dark:text-gray-100 mb-2"},[r("i",{class:"fas fa-minus text-red-500 mr-2"}),R("Lines Deleted ")]),r("p",{class:"text-xs text-gray-600 dark:text-gray-400 mb-2"},"Tiers: 100, 500, 1K, 5K, 10K"),r("div",{class:"text-xs text-gray-600 dark:text-gray-400"}," Tidying Up, Spring Cleaning, Code Cleaner, Refactoring Hero, Deletion Master ")]),r("div",{class:"p-4 border border-gray-200 dark:border-gray-700 rounded-lg"},[r("h4",{class:"font-medium text-gray-900 dark:text-gray-100 mb-2"},[r("i",{class:"fas fa-bolt text-yellow-500 mr-2"}),R("Response Time ")]),r("p",{class:"text-xs text-gray-600 dark:text-gray-400 mb-2"},"Tiers: <24h, <4h, <1h"),r("div",{class:"text-xs text-gray-600 dark:text-gray-400"}," Same Day Reviewer, Quick Responder, Speed Demon ")]),r("div",{class:"p-4 border border-gray-200 dark:border-gray-700 rounded-lg"},[r("h4",{class:"font-medium text-gray-900 dark:text-gray-100 mb-2"},[r("i",{class:"fas fa-fire text-orange-500 mr-2"}),R("Contribution Streaks ")]),r("p",{class:"text-xs text-gray-600 dark:text-gray-400 mb-2"},"Tiers: 3, 7, 14, 30 days"),r("div",{class:"text-xs text-gray-600 dark:text-gray-400"}," Getting Rolling, Week Warrior, Two Week Streak, Month Master ")]),r("div",{class:"p-4 border border-gray-200 dark:border-gray-700 rounded-lg"},[r("h4",{class:"font-medium text-gray-900 dark:text-gray-100 mb-2"},[r("i",{class:"fas fa-clock text-cyan-500 mr-2"}),R("Activity Patterns ")]),r("p",{class:"text-xs text-gray-600 dark:text-gray-400 mb-2"},"Early Bird, Night Owl, Weekend Warrior"),r("div",{class:"text-xs text-gray-600 dark:text-gray-400"}," Commits at different times of day unlock special badges ")]),r("div",{class:"p-4 border border-gray-200 dark:border-gray-700 rounded-lg"},[r("h4",{class:"font-medium text-gray-900 dark:text-gray-100 mb-2"},[r("i",{class:"fas fa-circle-exclamation text-teal-500 mr-2"}),R("Issues Opened ")]),r("p",{class:"text-xs text-gray-600 dark:text-gray-400 mb-2"},"Tiers: 1, 5, 10, 25, 50"),r("div",{class:"text-xs text-gray-600 dark:text-gray-400"}," Issue Opener, Reporter, Bug Hunter, Issue Tracker, Issue Master ")]),r("div",{class:"p-4 border border-gray-200 dark:border-gray-700 rounded-lg"},[r("h4",{class:"font-medium text-gray-900 dark:text-gray-100 mb-2"},[r("i",{class:"fas fa-circle-check text-green-500 mr-2"}),R("Issues Closed ")]),r("p",{class:"text-xs text-gray-600 dark:text-gray-400 mb-2"},"Tiers: 1, 5, 10, 25, 50"),r("div",{class:"text-xs text-gray-600 dark:text-gray-400"}," Issue Closer, Problem Solver, Resolver, Issue Crusher, Closure King ")]),r("div",{class:"p-4 border border-gray-200 dark:border-gray-700 rounded-lg"},[r("h4",{class:"font-medium text-gray-900 dark:text-gray-100 mb-2"},[r("i",{class:"fas fa-comment-dots text-blue-500 mr-2"}),R("Issue Comments ")]),r("p",{class:"text-xs text-gray-600 dark:text-gray-400 mb-2"},"Tiers: 5, 10, 25, 50, 100"),r("div",{class:"text-xs text-gray-600 dark:text-gray-400"}," Issue Commenter, Discussion Starter, Feedback Provider, Issue Conversationalist, Discussion Champion ")])],-1)])]),_:1}),S(de,{class:"shadow-lg"},{default:L(()=>[...s[8]||(s[8]=[r("h3",{class:"font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"},[r("i",{class:"fas fa-unlock mr-2 text-green-500"}),R(" How Achievements Are Earned ")],-1),r("p",{class:"text-gray-600 dark:text-gray-400 mb-4"},[R(" Each achievement has a "),r("strong",null,"condition type"),R(" and "),r("strong",null,"threshold"),R(". When your metrics meet or exceed the threshold, the achievement is unlocked. ")],-1),r("div",{class:"overflow-x-auto"},[r("table",{class:"w-full text-sm"},[r("thead",null,[r("tr",{class:"border-b border-gray-200 dark:border-gray-700"},[r("th",{class:"text-left py-2 text-gray-700 dark:text-gray-400"},"Condition Type"),r("th",{class:"text-left py-2 text-gray-700 dark:text-gray-400"},"Metric Checked"),r("th",{class:"text-left py-2 text-gray-700 dark:text-gray-400"},"Comparison")])]),r("tbody",{class:"text-gray-700 dark:text-gray-300"},[r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-2 font-mono text-xs"},"commit_count"),r("td",{class:"py-2"},"Total commits"),r("td",{class:"py-2"},"≥ threshold")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-2 font-mono text-xs"},"pr_opened_count"),r("td",{class:"py-2"},"PRs opened"),r("td",{class:"py-2"},"≥ threshold")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-2 font-mono text-xs"},"review_count"),r("td",{class:"py-2"},"Reviews given"),r("td",{class:"py-2"},"≥ threshold")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-2 font-mono text-xs"},"avg_review_time_hours"),r("td",{class:"py-2"},"Average review response"),r("td",{class:"py-2"},"≤ threshold (lower is better)")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-2 font-mono text-xs"},"longest_streak"),r("td",{class:"py-2"},"Consecutive active days"),r("td",{class:"py-2"},"≥ threshold")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-2 font-mono text-xs"},"perfect_prs"),r("td",{class:"py-2"},"PRs with no changes requested"),r("td",{class:"py-2"},"≥ threshold")]),r("tr",{class:"border-b border-gray-100 dark:border-gray-800"},[r("td",{class:"py-2 font-mono text-xs"},"issues_opened"),r("td",{class:"py-2"},"Issues created"),r("td",{class:"py-2"},"≥ threshold")]),r("tr",null,[r("td",{class:"py-2 font-mono text-xs"},"issues_closed"),r("td",{class:"py-2"},"Issues resolved/closed"),r("td",{class:"py-2"},"≥ threshold")])])])],-1),r("p",{class:"text-sm text-gray-600 dark:text-gray-400 mt-4"},[r("i",{class:"fas fa-shield-halved mr-1"}),R(" Achievement definitions are hardcoded and cannot be customized to prevent manipulation. ")],-1)])]),_:1}),S(de,{class:"shadow-lg"},{default:L(()=>[...s[9]||(s[9]=[r("h3",{class:"font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"},[r("i",{class:"fas fa-layer-group mr-2 text-accent-500"}),R(" Tiered Progression ")],-1),r("p",{class:"text-gray-600 dark:text-gray-400 mb-4"}," Most achievements have multiple tiers. As you progress, you unlock higher tiers: ",-1),r("div",{class:"grid grid-cols-2 sm:grid-cols-4 gap-2 sm:gap-3 mb-4"},[r("div",{class:"flex items-center gap-2 p-2 sm:p-3 bg-gray-100 dark:bg-gray-800 rounded-lg"},[r("span",{class:"w-6 h-6 sm:w-8 sm:h-8 flex items-center justify-center rounded-full bg-gray-400 text-white text-xs sm:text-sm font-bold"},"1"),r("div",{class:"text-xs sm:text-sm"},[r("span",{class:"font-medium text-gray-700 dark:text-gray-300"},"Tier 1")])]),r("div",{class:"flex items-center gap-2 p-2 sm:p-3 bg-gray-100 dark:bg-gray-800 rounded-lg"},[r("span",{class:"w-6 h-6 sm:w-8 sm:h-8 flex items-center justify-center rounded-full bg-gray-500 text-white text-xs sm:text-sm font-bold"},"10"),r("div",{class:"text-xs sm:text-sm"},[r("span",{class:"font-medium text-gray-700 dark:text-gray-300"},"Tier 2")])]),r("div",{class:"flex items-center gap-2 p-2 sm:p-3 bg-green-50 dark:bg-green-900/20 rounded-lg"},[r("span",{class:"w-6 h-6 sm:w-8 sm:h-8 flex items-center justify-center rounded-full bg-green-500 text-white text-xs sm:text-sm font-bold"},"25"),r("div",{class:"text-xs sm:text-sm"},[r("span",{class:"font-medium text-green-700 dark:text-green-400"},"Tier 3")])]),r("div",{class:"flex items-center gap-2 p-2 sm:p-3 bg-blue-50 dark:bg-blue-900/20 rounded-lg"},[r("span",{class:"w-6 h-6 sm:w-8 sm:h-8 flex items-center justify-center rounded-full bg-blue-500 text-white text-xs sm:text-sm font-bold"},"50"),r("div",{class:"text-xs sm:text-sm"},[r("span",{class:"font-medium text-blue-700 dark:text-blue-400"},"Tier 4")])]),r("div",{class:"flex items-center gap-2 p-2 sm:p-3 bg-purple-50 dark:bg-purple-900/20 rounded-lg"},[r("span",{class:"w-6 h-6 sm:w-8 sm:h-8 flex items-center justify-center rounded-full bg-purple-500 text-white text-xs sm:text-sm font-bold"},"100"),r("div",{class:"text-xs sm:text-sm"},[r("span",{class:"font-medium text-purple-700 dark:text-purple-400"},"Tier 5")])]),r("div",{class:"flex items-center gap-2 p-2 sm:p-3 bg-primary-50 dark:bg-primary-900/20 rounded-lg"},[r("span",{class:"w-6 h-6 sm:w-8 sm:h-8 flex items-center justify-center rounded-full bg-primary-500 text-white text-xs sm:text-sm font-bold"},"250"),r("div",{class:"text-xs sm:text-sm"},[r("span",{class:"font-medium text-primary-700 dark:text-primary-400"},"Tier 6")])]),r("div",{class:"flex items-center gap-2 p-2 sm:p-3 bg-orange-50 dark:bg-orange-900/20 rounded-lg"},[r("span",{class:"w-6 h-6 sm:w-8 sm:h-8 flex items-center justify-center rounded-full bg-orange-500 text-white text-xs sm:text-sm font-bold"},"500"),r("div",{class:"text-xs sm:text-sm"},[r("span",{class:"font-medium text-orange-700 dark:text-orange-400"},"Tier 7")])]),r("div",{class:"flex items-center gap-2 p-2 sm:p-3 bg-yellow-50 dark:bg-yellow-900/20 rounded-lg"},[r("span",{class:"w-6 h-6 sm:w-8 sm:h-8 flex items-center justify-center rounded-full bg-gradient-to-r from-yellow-500 to-amber-500 text-white text-xs sm:text-sm font-bold"},"1k+"),r("div",{class:"text-xs sm:text-sm"},[r("span",{class:"font-medium text-yellow-700 dark:text-yellow-400"},"Tier 8+")])])],-1),r("p",{class:"text-sm text-gray-600 dark:text-gray-400"}," The leaderboard shows only the highest tier achieved per category for each contributor. ",-1)])]),_:1})])])]),r("section",qg,[r("div",Wg,[S(We,{title:"Data Sources",icon:"fab fa-github","icon-color":"text-gray-700 dark:text-gray-300"}),r("div",Kg,[S(de,{class:"shadow-lg"},{default:L(()=>[...s[11]||(s[11]=[r("h3",{class:"font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"},[r("i",{class:"fab fa-github mr-2 text-gray-700 dark:text-gray-300"}),R(" GitHub API Data ")],-1),r("div",{class:"grid sm:grid-cols-2 gap-6"},[r("div",null,[r("h4",{class:"font-medium text-gray-800 dark:text-gray-200 mb-3"},"Commits"),r("ul",{class:"text-sm text-gray-600 dark:text-gray-400 space-y-1"},[r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),R("SHA, message, timestamp")]),r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),R("Author (login, name, email)")]),r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),R("Additions, deletions, files changed")]),r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),R("Patch/diff for line analysis")])])]),r("div",null,[r("h4",{class:"font-medium text-gray-800 dark:text-gray-200 mb-3"},"Pull Requests"),r("ul",{class:"text-sm text-gray-600 dark:text-gray-400 space-y-1"},[r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),R("State (open, merged, closed)")]),r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),R("Author and timestamps")]),r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),R("Size (additions, deletions)")]),r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),R("Comments count")])])]),r("div",null,[r("h4",{class:"font-medium text-gray-800 dark:text-gray-200 mb-3"},"Reviews"),r("ul",{class:"text-sm text-gray-600 dark:text-gray-400 space-y-1"},[r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),R("Review state (approved, changes requested)")]),r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),R("Reviewer login")]),r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),R("Submission timestamp")]),r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),R("Comment count")])])]),r("div",null,[r("h4",{class:"font-medium text-gray-800 dark:text-gray-200 mb-3"},"User Profiles"),r("ul",{class:"text-sm text-gray-600 dark:text-gray-400 space-y-1"},[r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),R("GitHub login (username)")]),r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),R("Display name")]),r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),R("Avatar URL")]),r("li",null,[r("i",{class:"fas fa-check text-green-500 mr-2"}),R("Public email (for deduplication)")])])])],-1)])]),_:1}),S(de,{class:"shadow-lg"},{default:L(()=>[...s[12]||(s[12]=[r("h3",{class:"font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"},[r("i",{class:"fas fa-calculator mr-2 text-blue-500"}),R(" Derived Metrics ")],-1),r("p",{class:"text-gray-600 dark:text-gray-400 mb-4"}," These metrics are calculated from raw data: ",-1),r("div",{class:"grid sm:grid-cols-2 gap-4 text-sm"},[r("div",{class:"p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("strong",{class:"text-gray-900 dark:text-gray-100"},"Meaningful Lines"),r("p",{class:"text-gray-600 dark:text-gray-400"},"Parsed from commit diffs, filtering comments/whitespace")]),r("div",{class:"p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("strong",{class:"text-gray-900 dark:text-gray-100"},"Average Review Time"),r("p",{class:"text-gray-600 dark:text-gray-400"},"Time between PR creation and first review")]),r("div",{class:"p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("strong",{class:"text-gray-900 dark:text-gray-100"},"Contribution Streaks"),r("p",{class:"text-gray-600 dark:text-gray-400"},"Consecutive days with activity")]),r("div",{class:"p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("strong",{class:"text-gray-900 dark:text-gray-100"},"Perfect PRs"),r("p",{class:"text-gray-600 dark:text-gray-400"},'PRs merged without "changes requested" reviews')]),r("div",{class:"p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("strong",{class:"text-gray-900 dark:text-gray-100"},"Out of Hours"),r("p",{class:"text-gray-600 dark:text-gray-400"},"Commits outside 9am-5pm based on commit timestamp")]),r("div",{class:"p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"},[r("strong",{class:"text-gray-900 dark:text-gray-100"},"Issue References"),r("p",{class:"text-gray-600 dark:text-gray-400"},"Commits containing #123 patterns (fixes, closes, resolves, refs)")])],-1)])]),_:1}),S(de,{class:"shadow-lg"},{default:L(()=>[...s[13]||(s[13]=[r("h3",{class:"font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"},[r("i",{class:"fas fa-robot mr-2 text-red-500"}),R(" Bot Filtering ")],-1),r("p",{class:"text-gray-600 dark:text-gray-400 mb-4"}," By default, bot activity is excluded from metrics. The following patterns are automatically filtered: ",-1),r("div",{class:"flex flex-wrap gap-2"},[r("code",{class:"px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm"},"*[bot]"),r("code",{class:"px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm"},"dependabot*"),r("code",{class:"px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm"},"renovate*"),r("code",{class:"px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm"},"github-actions*"),r("code",{class:"px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm"},"codecov*"),r("code",{class:"px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm"},"snyk*"),r("code",{class:"px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm"},"greenkeeper*"),r("code",{class:"px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm"},"imgbot*"),r("code",{class:"px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm"},"allcontributors*"),r("code",{class:"px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm"},"semantic-release*")],-1),r("p",{class:"text-sm text-gray-600 dark:text-gray-400 mt-4"},[r("i",{class:"fas fa-cog mr-1"}),R(" Enable with "),r("code",{class:"text-primary-600 dark:text-primary-400"},"include_bots: true"),R(" or add custom patterns with "),r("code",{class:"text-primary-600 dark:text-primary-400"},"additional_bot_patterns"),R(". ")],-1)])]),_:1})])])])]))}},Qg=[{path:"/",name:"dashboard",component:rf},{path:"/leaderboard",name:"leaderboard",component:Kf},{path:"/how-scoring-works",name:"how-scoring-works",component:zg},{path:"/repos/:owner/:name",name:"repository",component:h0},{path:"/teams/:slug",name:"team",component:D0},{path:"/contributors/:login",name:"contributor",component:Ig}],Jg=gd({history:Kc(),routes:Qg,scrollBehavior(){return{top:0}}}),Lo=oc(Ld);Lo.use(Jg);Lo.mount("#app"); diff --git a/internal/generator/site/dist/assets/index-DSNTKr2U.js b/internal/generator/site/dist/assets/index-DSNTKr2U.js deleted file mode 100644 index 10733ce..0000000 --- a/internal/generator/site/dist/assets/index-DSNTKr2U.js +++ /dev/null @@ -1,11 +0,0 @@ -import{C as dn,r as La}from"./chart-Bcjh2pZL.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))r(n);new MutationObserver(n=>{for(const i of n)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&r(a)}).observe(document,{childList:!0,subtree:!0});function s(n){const i={};return n.integrity&&(i.integrity=n.integrity),n.referrerPolicy&&(i.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?i.credentials="include":n.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(n){if(n.ep)return;n.ep=!0;const i=s(n);fetch(n.href,i)}})();function Dr(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const de={},Wt=[],it=()=>{},ii=()=>!1,qs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Nr=e=>e.startsWith("onUpdate:"),Te=Object.assign,Lr=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},ja=Object.prototype.hasOwnProperty,ae=(e,t)=>ja.call(e,t),q=Array.isArray,Kt=e=>Rs(e)==="[object Map]",Us=e=>Rs(e)==="[object Set]",un=e=>Rs(e)==="[object Date]",z=e=>typeof e=="function",he=e=>typeof e=="string",Ke=e=>typeof e=="symbol",ue=e=>e!==null&&typeof e=="object",ai=e=>(ue(e)||z(e))&&z(e.then)&&z(e.catch),oi=Object.prototype.toString,Rs=e=>oi.call(e),Fa=e=>Rs(e).slice(8,-1),li=e=>Rs(e)==="[object Object]",jr=e=>he(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,cs=Dr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ws=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},Va=/-\w/g,qe=Ws(e=>e.replace(Va,t=>t.slice(1).toUpperCase())),Ha=/\B([A-Z])/g,jt=Ws(e=>e.replace(Ha,"-$1").toLowerCase()),Ks=Ws(e=>e.charAt(0).toUpperCase()+e.slice(1)),ar=Ws(e=>e?`on${Ks(e)}`:""),St=(e,t)=>!Object.is(e,t),Os=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:s})},Fr=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let fn;const zs=()=>fn||(fn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function At(e){if(q(e)){const t={};for(let s=0;s{if(s){const r=s.split(Ga);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Q(e){let t="";if(he(e))t=e;else if(q(e))for(let s=0;sQs(s,t))}const fi=e=>!!(e&&e.__v_isRef===!0),v=e=>he(e)?e:e==null?"":q(e)||ue(e)&&(e.toString===oi||!z(e.toString))?fi(e)?v(e.value):JSON.stringify(e,mi,2):String(e),mi=(e,t)=>fi(t)?mi(e,t.value):Kt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[r,n],i)=>(s[or(r,i)+" =>"]=n,s),{})}:Us(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>or(s))}:Ke(t)?or(t):ue(t)&&!q(t)&&!li(t)?String(t):t,or=(e,t="")=>{var s;return Ke(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};let Le;class Qa{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Le,!t&&Le&&(this.index=(Le.scopes||(Le.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t0&&--this._on===0&&(Le=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,r;for(s=0,r=this.effects.length;s0)return;if(us){let t=us;for(us=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;ds;){let t=ds;for(ds=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=s}}if(e)throw e}function xi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function yi(e){let t,s=e.depsTail,r=s;for(;r;){const n=r.prevDep;r.version===-1?(r===s&&(s=n),Br(r),Ya(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=n}e.deps=t,e.depsTail=s}function br(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(vi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function vi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===xs)||(e.globalVersion=xs,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!br(e))))return;e.flags|=2;const t=e.dep,s=me,r=We;me=e,We=!0;try{xi(e);const n=e.fn(e._value);(t.version===0||St(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(n){throw t.version++,n}finally{me=s,We=r,yi(e),e.flags&=-3}}function Br(e,t=!1){const{dep:s,prevSub:r,nextSub:n}=e;if(r&&(r.nextSub=n,e.prevSub=void 0),n&&(n.prevSub=r,e.nextSub=void 0),s.subs===e&&(s.subs=r,!r&&s.computed)){s.computed.flags&=-5;for(let i=s.computed.deps;i;i=i.nextDep)Br(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function Ya(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let We=!0;const bi=[];function mt(){bi.push(We),We=!1}function gt(){const e=bi.pop();We=e===void 0?!0:e}function mn(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=me;me=void 0;try{t()}finally{me=s}}}let xs=0;class Xa{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Gr{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!me||!We||me===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==me)s=this.activeLink=new Xa(me,this),me.deps?(s.prevDep=me.depsTail,me.depsTail.nextDep=s,me.depsTail=s):me.deps=me.depsTail=s,_i(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const r=s.nextDep;r.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=r),s.prevDep=me.depsTail,s.nextDep=void 0,me.depsTail.nextDep=s,me.depsTail=s,me.deps===s&&(me.deps=r)}return s}trigger(t){this.version++,xs++,this.notify(t)}notify(t){Vr();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Hr()}}}function _i(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)_i(r)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const _r=new WeakMap,Dt=Symbol(""),kr=Symbol(""),ys=Symbol("");function Se(e,t,s){if(We&&me){let r=_r.get(e);r||_r.set(e,r=new Map);let n=r.get(s);n||(r.set(s,n=new Gr),n.map=r,n.key=s),n.track()}}function ut(e,t,s,r,n,i){const a=_r.get(e);if(!a){xs++;return}const o=l=>{l&&l.trigger()};if(Vr(),t==="clear")a.forEach(o);else{const l=q(e),c=l&&jr(s);if(l&&s==="length"){const u=Number(r);a.forEach((f,p)=>{(p==="length"||p===ys||!Ke(p)&&p>=u)&&o(f)})}else switch((s!==void 0||a.has(void 0))&&o(a.get(s)),c&&o(a.get(ys)),t){case"add":l?c&&o(a.get("length")):(o(a.get(Dt)),Kt(e)&&o(a.get(kr)));break;case"delete":l||(o(a.get(Dt)),Kt(e)&&o(a.get(kr)));break;case"set":Kt(e)&&o(a.get(Dt));break}}Hr()}function Gt(e){const t=ie(e);return t===e?t:(Se(t,"iterate",ys),Be(e)?t:t.map(ze))}function Js(e){return Se(e=ie(e),"iterate",ys),e}function kt(e,t){return pt(e)?Nt(e)?Xt(ze(t)):Xt(t):ze(t)}const Za={__proto__:null,[Symbol.iterator](){return cr(this,Symbol.iterator,e=>kt(this,e))},concat(...e){return Gt(this).concat(...e.map(t=>q(t)?Gt(t):t))},entries(){return cr(this,"entries",e=>(e[1]=kt(this,e[1]),e))},every(e,t){return lt(this,"every",e,t,void 0,arguments)},filter(e,t){return lt(this,"filter",e,t,s=>s.map(r=>kt(this,r)),arguments)},find(e,t){return lt(this,"find",e,t,s=>kt(this,s),arguments)},findIndex(e,t){return lt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return lt(this,"findLast",e,t,s=>kt(this,s),arguments)},findLastIndex(e,t){return lt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return lt(this,"forEach",e,t,void 0,arguments)},includes(...e){return dr(this,"includes",e)},indexOf(...e){return dr(this,"indexOf",e)},join(e){return Gt(this).join(e)},lastIndexOf(...e){return dr(this,"lastIndexOf",e)},map(e,t){return lt(this,"map",e,t,void 0,arguments)},pop(){return ns(this,"pop")},push(...e){return ns(this,"push",e)},reduce(e,...t){return gn(this,"reduce",e,t)},reduceRight(e,...t){return gn(this,"reduceRight",e,t)},shift(){return ns(this,"shift")},some(e,t){return lt(this,"some",e,t,void 0,arguments)},splice(...e){return ns(this,"splice",e)},toReversed(){return Gt(this).toReversed()},toSorted(e){return Gt(this).toSorted(e)},toSpliced(...e){return Gt(this).toSpliced(...e)},unshift(...e){return ns(this,"unshift",e)},values(){return cr(this,"values",e=>kt(this,e))}};function cr(e,t,s){const r=Js(e),n=r[t]();return r!==e&&!Be(e)&&(n._next=n.next,n.next=()=>{const i=n._next();return i.done||(i.value=s(i.value)),i}),n}const eo=Array.prototype;function lt(e,t,s,r,n,i){const a=Js(e),o=a!==e&&!Be(e),l=a[t];if(l!==eo[t]){const f=l.apply(e,i);return o?ze(f):f}let c=s;a!==e&&(o?c=function(f,p){return s.call(this,kt(e,f),p,e)}:s.length>2&&(c=function(f,p){return s.call(this,f,p,e)}));const u=l.call(a,c,r);return o&&n?n(u):u}function gn(e,t,s,r){const n=Js(e);let i=s;return n!==e&&(Be(e)?s.length>3&&(i=function(a,o,l){return s.call(this,a,o,l,e)}):i=function(a,o,l){return s.call(this,a,kt(e,o),l,e)}),n[t](i,...r)}function dr(e,t,s){const r=ie(e);Se(r,"iterate",ys);const n=r[t](...s);return(n===-1||n===!1)&&Wr(s[0])?(s[0]=ie(s[0]),r[t](...s)):n}function ns(e,t,s=[]){mt(),Vr();const r=ie(e)[t].apply(e,s);return Hr(),gt(),r}const to=Dr("__proto__,__v_isRef,__isVue"),ki=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ke));function so(e){Ke(e)||(e=String(e));const t=ie(this);return Se(t,"has",e),t.hasOwnProperty(e)}class wi{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,r){if(s==="__v_skip")return t.__v_skip;const n=this._isReadonly,i=this._isShallow;if(s==="__v_isReactive")return!n;if(s==="__v_isReadonly")return n;if(s==="__v_isShallow")return i;if(s==="__v_raw")return r===(n?i?mo:Ai:i?Si:Ri).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const a=q(t);if(!n){let l;if(a&&(l=Za[s]))return l;if(s==="hasOwnProperty")return so}const o=Reflect.get(t,s,Ee(t)?t:r);if((Ke(s)?ki.has(s):to(s))||(n||Se(t,"get",s),i))return o;if(Ee(o)){const l=a&&jr(s)?o:o.value;return n&&ue(l)?Cr(l):l}return ue(o)?n?Cr(o):Ys(o):o}}class Ci extends wi{constructor(t=!1){super(!1,t)}set(t,s,r,n){let i=t[s];const a=q(t)&&jr(s);if(!this._isShallow){const c=pt(i);if(!Be(r)&&!pt(r)&&(i=ie(i),r=ie(r)),!a&&Ee(i)&&!Ee(r))return c||(i.value=r),!0}const o=a?Number(s)e,Ps=e=>Reflect.getPrototypeOf(e);function oo(e,t,s){return function(...r){const n=this.__v_raw,i=ie(n),a=Kt(i),o=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,c=n[e](...r),u=s?wr:t?Xt:ze;return!t&&Se(i,"iterate",l?kr:Dt),{next(){const{value:f,done:p}=c.next();return p?{value:f,done:p}:{value:o?[u(f[0]),u(f[1])]:u(f),done:p}},[Symbol.iterator](){return this}}}}function Ts(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function lo(e,t){const s={get(n){const i=this.__v_raw,a=ie(i),o=ie(n);e||(St(n,o)&&Se(a,"get",n),Se(a,"get",o));const{has:l}=Ps(a),c=t?wr:e?Xt:ze;if(l.call(a,n))return c(i.get(n));if(l.call(a,o))return c(i.get(o));i!==a&&i.get(n)},get size(){const n=this.__v_raw;return!e&&Se(ie(n),"iterate",Dt),n.size},has(n){const i=this.__v_raw,a=ie(i),o=ie(n);return e||(St(n,o)&&Se(a,"has",n),Se(a,"has",o)),n===o?i.has(n):i.has(n)||i.has(o)},forEach(n,i){const a=this,o=a.__v_raw,l=ie(o),c=t?wr:e?Xt:ze;return!e&&Se(l,"iterate",Dt),o.forEach((u,f)=>n.call(i,c(u),c(f),a))}};return Te(s,e?{add:Ts("add"),set:Ts("set"),delete:Ts("delete"),clear:Ts("clear")}:{add(n){!t&&!Be(n)&&!pt(n)&&(n=ie(n));const i=ie(this);return Ps(i).has.call(i,n)||(i.add(n),ut(i,"add",n,n)),this},set(n,i){!t&&!Be(i)&&!pt(i)&&(i=ie(i));const a=ie(this),{has:o,get:l}=Ps(a);let c=o.call(a,n);c||(n=ie(n),c=o.call(a,n));const u=l.call(a,n);return a.set(n,i),c?St(i,u)&&ut(a,"set",n,i):ut(a,"add",n,i),this},delete(n){const i=ie(this),{has:a,get:o}=Ps(i);let l=a.call(i,n);l||(n=ie(n),l=a.call(i,n)),o&&o.call(i,n);const c=i.delete(n);return l&&ut(i,"delete",n,void 0),c},clear(){const n=ie(this),i=n.size!==0,a=n.clear();return i&&ut(n,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(n=>{s[n]=oo(n,e,t)}),s}function qr(e,t){const s=lo(e,t);return(r,n,i)=>n==="__v_isReactive"?!e:n==="__v_isReadonly"?e:n==="__v_raw"?r:Reflect.get(ae(s,n)&&n in r?s:r,n,i)}const co={get:qr(!1,!1)},uo={get:qr(!1,!0)},fo={get:qr(!0,!1)};const Ri=new WeakMap,Si=new WeakMap,Ai=new WeakMap,mo=new WeakMap;function go(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function po(e){return e.__v_skip||!Object.isExtensible(e)?0:go(Fa(e))}function Ys(e){return pt(e)?e:Ur(e,!1,no,co,Ri)}function Ei(e){return Ur(e,!1,ao,uo,Si)}function Cr(e){return Ur(e,!0,io,fo,Ai)}function Ur(e,t,s,r,n){if(!ue(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=po(e);if(i===0)return e;const a=n.get(e);if(a)return a;const o=new Proxy(e,i===2?r:s);return n.set(e,o),o}function Nt(e){return pt(e)?Nt(e.__v_raw):!!(e&&e.__v_isReactive)}function pt(e){return!!(e&&e.__v_isReadonly)}function Be(e){return!!(e&&e.__v_isShallow)}function Wr(e){return e?!!e.__v_raw:!1}function ie(e){const t=e&&e.__v_raw;return t?ie(t):e}function ho(e){return!ae(e,"__v_skip")&&Object.isExtensible(e)&&ci(e,"__v_skip",!0),e}const ze=e=>ue(e)?Ys(e):e,Xt=e=>ue(e)?Cr(e):e;function Ee(e){return e?e.__v_isRef===!0:!1}function xe(e){return Pi(e,!1)}function xo(e){return Pi(e,!0)}function Pi(e,t){return Ee(e)?e:new yo(e,t)}class yo{constructor(t,s){this.dep=new Gr,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:ie(t),this._value=s?t:ze(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,r=this.__v_isShallow||Be(t)||pt(t);t=r?t:ie(t),St(t,s)&&(this._rawValue=t,this._value=r?t:ze(t),this.dep.trigger())}}function A(e){return Ee(e)?e.value:e}const vo={get:(e,t,s)=>t==="__v_raw"?e:A(Reflect.get(e,t,s)),set:(e,t,s,r)=>{const n=e[t];return Ee(n)&&!Ee(s)?(n.value=s,!0):Reflect.set(e,t,s,r)}};function Ti(e){return Nt(e)?e:new Proxy(e,vo)}class bo{constructor(t,s,r){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Gr(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=xs-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&me!==this)return hi(this,!0),!0}get value(){const t=this.dep.track();return vi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function _o(e,t,s=!1){let r,n;return z(e)?r=e:(r=e.get,n=e.set),new bo(r,n,s)}const $s={},Ns=new WeakMap;let Ot;function ko(e,t=!1,s=Ot){if(s){let r=Ns.get(s);r||Ns.set(s,r=[]),r.push(e)}}function wo(e,t,s=de){const{immediate:r,deep:n,once:i,scheduler:a,augmentJob:o,call:l}=s,c=L=>n?L:Be(L)||n===!1||n===0?ft(L,1):ft(L);let u,f,p,h,S=!1,M=!1;if(Ee(e)?(f=()=>e.value,S=Be(e)):Nt(e)?(f=()=>c(e),S=!0):q(e)?(M=!0,S=e.some(L=>Nt(L)||Be(L)),f=()=>e.map(L=>{if(Ee(L))return L.value;if(Nt(L))return c(L);if(z(L))return l?l(L,2):L()})):z(e)?t?f=l?()=>l(e,2):e:f=()=>{if(p){mt();try{p()}finally{gt()}}const L=Ot;Ot=u;try{return l?l(e,3,[h]):e(h)}finally{Ot=L}}:f=it,t&&n){const L=f,te=n===!0?1/0:n;f=()=>ft(L(),te)}const K=Ja(),j=()=>{u.stop(),K&&K.active&&Lr(K.effects,u)};if(i&&t){const L=t;t=(...te)=>{L(...te),j()}}let N=M?new Array(e.length).fill($s):$s;const V=L=>{if(!(!(u.flags&1)||!u.dirty&&!L))if(t){const te=u.run();if(n||S||(M?te.some((ye,ge)=>St(ye,N[ge])):St(te,N))){p&&p();const ye=Ot;Ot=u;try{const ge=[te,N===$s?void 0:M&&N[0]===$s?[]:N,h];N=te,l?l(t,3,ge):t(...ge)}finally{Ot=ye}}}else u.run()};return o&&o(V),u=new gi(f),u.scheduler=a?()=>a(V,!1):V,h=L=>ko(L,!1,u),p=u.onStop=()=>{const L=Ns.get(u);if(L){if(l)l(L,4);else for(const te of L)te();Ns.delete(u)}},t?r?V(!0):N=u.run():a?a(V.bind(null,!0),!0):u.run(),j.pause=u.pause.bind(u),j.resume=u.resume.bind(u),j.stop=j,j}function ft(e,t=1/0,s){if(t<=0||!ue(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,Ee(e))ft(e.value,t,s);else if(q(e))for(let r=0;r{ft(r,t,s)});else if(li(e)){for(const r in e)ft(e[r],t,s);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&ft(e[r],t,s)}return e}function Ss(e,t,s,r){try{return r?e(...r):e()}catch(n){Xs(n,t,s)}}function at(e,t,s,r){if(z(e)){const n=Ss(e,t,s,r);return n&&ai(n)&&n.catch(i=>{Xs(i,t,s)}),n}if(q(e)){const n=[];for(let i=0;i>>1,n=Ie[r],i=vs(n);i=vs(s)?Ie.push(e):Ie.splice(Ro(t),0,e),e.flags|=1,Ii()}}function Ii(){Ls||(Ls=$i.then(Di))}function So(e){q(e)?zt.push(...e):wt&&e.id===-1?wt.splice(qt+1,0,e):e.flags&1||(zt.push(e),e.flags|=1),Ii()}function pn(e,t,s=rt+1){for(;svs(s)-vs(r));if(zt.length=0,wt){wt.push(...t);return}for(wt=t,qt=0;qte.id==null?e.flags&2?-1:1/0:e.id;function Di(e){try{for(rt=0;rt{r._d&&Hs(-1);const i=js(t);let a;try{a=e(...n)}finally{js(i),r._d&&Hs(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function zr(e,t){if(Ce===null)return e;const s=sr(Ce),r=e.dirs||(e.dirs=[]);for(let n=0;ne.__isTeleport,Po=Symbol("_leaveCb");function Qr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Qr(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Li(e,t){return z(e)?Te({name:e.name},t,{setup:e}):e}function ji(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const Fs=new WeakMap;function fs(e,t,s,r,n=!1){if(q(e)){e.forEach((S,M)=>fs(S,t&&(q(t)?t[M]:t),s,r,n));return}if(Qt(r)&&!n){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&fs(e,t,s,r.component.subTree);return}const i=r.shapeFlag&4?sr(r.component):r.el,a=n?null:i,{i:o,r:l}=e,c=t&&t.r,u=o.refs===de?o.refs={}:o.refs,f=o.setupState,p=ie(f),h=f===de?ii:S=>ae(p,S);if(c!=null&&c!==l){if(hn(t),he(c))u[c]=null,h(c)&&(f[c]=null);else if(Ee(c)){c.value=null;const S=t;S.k&&(u[S.k]=null)}}if(z(l))Ss(l,o,12,[a,u]);else{const S=he(l),M=Ee(l);if(S||M){const K=()=>{if(e.f){const j=S?h(l)?f[l]:u[l]:l.value;if(n)q(j)&&Lr(j,i);else if(q(j))j.includes(i)||j.push(i);else if(S)u[l]=[i],h(l)&&(f[l]=u[l]);else{const N=[i];l.value=N,e.k&&(u[e.k]=N)}}else S?(u[l]=a,h(l)&&(f[l]=a)):M&&(l.value=a,e.k&&(u[e.k]=a))};if(a){const j=()=>{K(),Fs.delete(e)};j.id=-1,Fs.set(e,j),Fe(j,s)}else hn(e),K()}}}function hn(e){const t=Fs.get(e);t&&(t.flags|=8,Fs.delete(e))}zs().requestIdleCallback;zs().cancelIdleCallback;const Qt=e=>!!e.type.__asyncLoader,Fi=e=>e.type.__isKeepAlive;function To(e,t){Vi(e,"a",t)}function $o(e,t){Vi(e,"da",t)}function Vi(e,t,s=Ae){const r=e.__wdc||(e.__wdc=()=>{let n=s;for(;n;){if(n.isDeactivated)return;n=n.parent}return e()});if(Zs(t,r,s),s){let n=s.parent;for(;n&&n.parent;)Fi(n.parent.vnode)&&Oo(r,t,s,n),n=n.parent}}function Oo(e,t,s,r){const n=Zs(t,e,r,!0);Jr(()=>{Lr(r[t],n)},s)}function Zs(e,t,s=Ae,r=!1){if(s){const n=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...a)=>{mt();const o=As(s),l=at(t,s,e,a);return o(),gt(),l});return r?n.unshift(i):n.push(i),i}}const xt=e=>(t,s=Ae)=>{(!ks||e==="sp")&&Zs(e,(...r)=>t(...r),s)},Io=xt("bm"),Ft=xt("m"),Mo=xt("bu"),Do=xt("u"),No=xt("bum"),Jr=xt("um"),Lo=xt("sp"),jo=xt("rtg"),Fo=xt("rtc");function Vo(e,t=Ae){Zs("ec",e,t)}const Hi="components";function Ho(e,t){return Gi(Hi,e,!0,t)||e}const Bi=Symbol.for("v-ndc");function Bo(e){return he(e)?Gi(Hi,e,!1)||e:e||Bi}function Gi(e,t,s=!0,r=!1){const n=Ce||Ae;if(n){const i=n.type;{const o=Tl(i,!1);if(o&&(o===t||o===qe(t)||o===Ks(qe(t))))return i}const a=xn(n[e]||i[e],t)||xn(n.appContext[e],t);return!a&&r?i:a}}function xn(e,t){return e&&(e[t]||e[qe(t)]||e[Ks(qe(t))])}function be(e,t,s,r){let n;const i=s,a=q(e);if(a||he(e)){const o=a&&Nt(e);let l=!1,c=!1;o&&(l=!Be(e),c=pt(e),e=Js(e)),n=new Array(e.length);for(let u=0,f=e.length;ut(o,l,void 0,i));else{const o=Object.keys(e);n=new Array(o.length);for(let l=0,c=o.length;l0;return t!=="default"&&(s.name=t),y(),oe(J,null,[$("slot",s,r&&r())],c?-2:64)}let i=e[t];i&&i._c&&(i._d=!1),y();const a=i&&qi(i(s)),o=s.key||a&&a.key,l=oe(J,{key:(o&&!Ke(o)?o:`_${t}`)+(!a&&r?"_fb":"")},a||(r?r():[]),a&&e._===1?64:-2);return l.scopeId&&(l.slotScopeIds=[l.scopeId+"-s"]),i&&i._c&&(i._d=!0),l}function qi(e){return e.some(t=>_s(t)?!(t.type===ht||t.type===J&&!qi(t.children)):!0)?e:null}const Rr=e=>e?da(e)?sr(e):Rr(e.parent):null,ms=Te(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Rr(e.parent),$root:e=>Rr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Wi(e),$forceUpdate:e=>e.f||(e.f=()=>{Kr(e.update)}),$nextTick:e=>e.n||(e.n=Oi.bind(e.proxy)),$watch:e=>Zo.bind(e)}),ur=(e,t)=>e!==de&&!e.__isScriptSetup&&ae(e,t),Go={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:r,data:n,props:i,accessCache:a,type:o,appContext:l}=e;if(t[0]!=="$"){const p=a[t];if(p!==void 0)switch(p){case 1:return r[t];case 2:return n[t];case 4:return s[t];case 3:return i[t]}else{if(ur(r,t))return a[t]=1,r[t];if(n!==de&&ae(n,t))return a[t]=2,n[t];if(ae(i,t))return a[t]=3,i[t];if(s!==de&&ae(s,t))return a[t]=4,s[t];Sr&&(a[t]=0)}}const c=ms[t];let u,f;if(c)return t==="$attrs"&&Se(e.attrs,"get",""),c(e);if((u=o.__cssModules)&&(u=u[t]))return u;if(s!==de&&ae(s,t))return a[t]=4,s[t];if(f=l.config.globalProperties,ae(f,t))return f[t]},set({_:e},t,s){const{data:r,setupState:n,ctx:i}=e;return ur(n,t)?(n[t]=s,!0):r!==de&&ae(r,t)?(r[t]=s,!0):ae(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:r,appContext:n,props:i,type:a}},o){let l;return!!(s[o]||e!==de&&o[0]!=="$"&&ae(e,o)||ur(t,o)||ae(i,o)||ae(r,o)||ae(ms,o)||ae(n.config.globalProperties,o)||(l=a.__cssModules)&&l[o])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:ae(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function yn(e){return q(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Sr=!0;function qo(e){const t=Wi(e),s=e.proxy,r=e.ctx;Sr=!1,t.beforeCreate&&vn(t.beforeCreate,e,"bc");const{data:n,computed:i,methods:a,watch:o,provide:l,inject:c,created:u,beforeMount:f,mounted:p,beforeUpdate:h,updated:S,activated:M,deactivated:K,beforeDestroy:j,beforeUnmount:N,destroyed:V,unmounted:L,render:te,renderTracked:ye,renderTriggered:ge,errorCaptured:Re,serverPrefetch:yt,expose:Je,inheritAttrs:vt,components:Et,directives:Ye,filters:ss}=t;if(c&&Uo(c,r,null),a)for(const ce in a){const re=a[ce];z(re)&&(r[ce]=re.bind(s))}if(n){const ce=n.call(s,s);ue(ce)&&(e.data=Ys(ce))}if(Sr=!0,i)for(const ce in i){const re=i[ce],ot=z(re)?re.bind(s,s):z(re.get)?re.get.bind(s,s):it,bt=!z(re)&&z(re.set)?re.set.bind(s):it,Xe=ee({get:ot,set:bt});Object.defineProperty(r,ce,{enumerable:!0,configurable:!0,get:()=>Xe.value,set:Me=>Xe.value=Me})}if(o)for(const ce in o)Ui(o[ce],r,s,ce);if(l){const ce=z(l)?l.call(s):l;Reflect.ownKeys(ce).forEach(re=>{gs(re,ce[re])})}u&&vn(u,e,"c");function _e(ce,re){q(re)?re.forEach(ot=>ce(ot.bind(s))):re&&ce(re.bind(s))}if(_e(Io,f),_e(Ft,p),_e(Mo,h),_e(Do,S),_e(To,M),_e($o,K),_e(Vo,Re),_e(Fo,ye),_e(jo,ge),_e(No,N),_e(Jr,L),_e(Lo,yt),q(Je))if(Je.length){const ce=e.exposed||(e.exposed={});Je.forEach(re=>{Object.defineProperty(ce,re,{get:()=>s[re],set:ot=>s[re]=ot,enumerable:!0})})}else e.exposed||(e.exposed={});te&&e.render===it&&(e.render=te),vt!=null&&(e.inheritAttrs=vt),Et&&(e.components=Et),Ye&&(e.directives=Ye),yt&&ji(e)}function Uo(e,t,s=it){q(e)&&(e=Ar(e));for(const r in e){const n=e[r];let i;ue(n)?"default"in n?i=Pe(n.from||r,n.default,!0):i=Pe(n.from||r):i=Pe(n),Ee(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:a=>i.value=a}):t[r]=i}}function vn(e,t,s){at(q(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,s)}function Ui(e,t,s,r){let n=r.includes(".")?Qi(s,r):()=>s[r];if(he(e)){const i=t[e];z(i)&&Ge(n,i)}else if(z(e))Ge(n,e.bind(s));else if(ue(e))if(q(e))e.forEach(i=>Ui(i,t,s,r));else{const i=z(e.handler)?e.handler.bind(s):t[e.handler];z(i)&&Ge(n,i,e)}}function Wi(e){const t=e.type,{mixins:s,extends:r}=t,{mixins:n,optionsCache:i,config:{optionMergeStrategies:a}}=e.appContext,o=i.get(t);let l;return o?l=o:!n.length&&!s&&!r?l=t:(l={},n.length&&n.forEach(c=>Vs(l,c,a,!0)),Vs(l,t,a)),ue(t)&&i.set(t,l),l}function Vs(e,t,s,r=!1){const{mixins:n,extends:i}=t;i&&Vs(e,i,s,!0),n&&n.forEach(a=>Vs(e,a,s,!0));for(const a in t)if(!(r&&a==="expose")){const o=Wo[a]||s&&s[a];e[a]=o?o(e[a],t[a]):t[a]}return e}const Wo={data:bn,props:_n,emits:_n,methods:ls,computed:ls,beforeCreate:$e,created:$e,beforeMount:$e,mounted:$e,beforeUpdate:$e,updated:$e,beforeDestroy:$e,beforeUnmount:$e,destroyed:$e,unmounted:$e,activated:$e,deactivated:$e,errorCaptured:$e,serverPrefetch:$e,components:ls,directives:ls,watch:zo,provide:bn,inject:Ko};function bn(e,t){return t?e?function(){return Te(z(e)?e.call(this,this):e,z(t)?t.call(this,this):t)}:t:e}function Ko(e,t){return ls(Ar(e),Ar(t))}function Ar(e){if(q(e)){const t={};for(let s=0;s1)return s&&z(t)?t.call(r&&r.proxy):t}}const Yo=Symbol.for("v-scx"),Xo=()=>Pe(Yo);function Ge(e,t,s){return zi(e,t,s)}function zi(e,t,s=de){const{immediate:r,deep:n,flush:i,once:a}=s,o=Te({},s),l=t&&r||!t&&i!=="post";let c;if(ks){if(i==="sync"){const h=Xo();c=h.__watcherHandles||(h.__watcherHandles=[])}else if(!l){const h=()=>{};return h.stop=it,h.resume=it,h.pause=it,h}}const u=Ae;o.call=(h,S,M)=>at(h,u,S,M);let f=!1;i==="post"?o.scheduler=h=>{Fe(h,u&&u.suspense)}:i!=="sync"&&(f=!0,o.scheduler=(h,S)=>{S?h():Kr(h)}),o.augmentJob=h=>{t&&(h.flags|=4),f&&(h.flags|=2,u&&(h.id=u.uid,h.i=u))};const p=wo(e,t,o);return ks&&(c?c.push(p):l&&p()),p}function Zo(e,t,s){const r=this.proxy,n=he(e)?e.includes(".")?Qi(r,e):()=>r[e]:e.bind(r,r);let i;z(t)?i=t:(i=t.handler,s=t);const a=As(this),o=zi(n,i.bind(r),s);return a(),o}function Qi(e,t){const s=t.split(".");return()=>{let r=e;for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${qe(t)}Modifiers`]||e[`${jt(t)}Modifiers`];function tl(e,t,...s){if(e.isUnmounted)return;const r=e.vnode.props||de;let n=s;const i=t.startsWith("update:"),a=i&&el(r,t.slice(7));a&&(a.trim&&(n=s.map(u=>he(u)?u.trim():u)),a.number&&(n=s.map(Fr)));let o,l=r[o=ar(t)]||r[o=ar(qe(t))];!l&&i&&(l=r[o=ar(jt(t))]),l&&at(l,e,6,n);const c=r[o+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[o])return;e.emitted[o]=!0,at(c,e,6,n)}}const sl=new WeakMap;function Ji(e,t,s=!1){const r=s?sl:t.emitsCache,n=r.get(e);if(n!==void 0)return n;const i=e.emits;let a={},o=!1;if(!z(e)){const l=c=>{const u=Ji(c,t,!0);u&&(o=!0,Te(a,u))};!s&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!i&&!o?(ue(e)&&r.set(e,null),null):(q(i)?i.forEach(l=>a[l]=null):Te(a,i),ue(e)&&r.set(e,a),a)}function er(e,t){return!e||!qs(t)?!1:(t=t.slice(2).replace(/Once$/,""),ae(e,t[0].toLowerCase()+t.slice(1))||ae(e,jt(t))||ae(e,t))}function kn(e){const{type:t,vnode:s,proxy:r,withProxy:n,propsOptions:[i],slots:a,attrs:o,emit:l,render:c,renderCache:u,props:f,data:p,setupState:h,ctx:S,inheritAttrs:M}=e,K=js(e);let j,N;try{if(s.shapeFlag&4){const L=n||r,te=L;j=nt(c.call(te,L,u,f,h,p,S)),N=o}else{const L=t;j=nt(L.length>1?L(f,{attrs:o,slots:a,emit:l}):L(f,null)),N=t.props?o:rl(o)}}catch(L){ps.length=0,Xs(L,e,1),j=$(ht)}let V=j;if(N&&M!==!1){const L=Object.keys(N),{shapeFlag:te}=V;L.length&&te&7&&(i&&L.some(Nr)&&(N=nl(N,i)),V=Zt(V,N,!1,!0))}return s.dirs&&(V=Zt(V,null,!1,!0),V.dirs=V.dirs?V.dirs.concat(s.dirs):s.dirs),s.transition&&Qr(V,s.transition),j=V,js(K),j}const rl=e=>{let t;for(const s in e)(s==="class"||s==="style"||qs(s))&&((t||(t={}))[s]=e[s]);return t},nl=(e,t)=>{const s={};for(const r in e)(!Nr(r)||!(r.slice(9)in t))&&(s[r]=e[r]);return s};function il(e,t,s){const{props:r,children:n,component:i}=e,{props:a,children:o,patchFlag:l}=t,c=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&l>=0){if(l&1024)return!0;if(l&16)return r?wn(r,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let f=0;fObject.create(Yi),Zi=e=>Object.getPrototypeOf(e)===Yi;function ol(e,t,s,r=!1){const n={},i=Xi();e.propsDefaults=Object.create(null),ea(e,t,n,i);for(const a in e.propsOptions[0])a in n||(n[a]=void 0);s?e.props=r?n:Ei(n):e.type.props?e.props=n:e.props=i,e.attrs=i}function ll(e,t,s,r){const{props:n,attrs:i,vnode:{patchFlag:a}}=e,o=ie(n),[l]=e.propsOptions;let c=!1;if((r||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[p,h]=ta(f,t,!0);Te(a,p),h&&o.push(...h)};!s&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!l)return ue(e)&&r.set(e,Wt),Wt;if(q(i))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Xr=e=>q(e)?e.map(nt):[nt(e)],dl=(e,t,s)=>{if(t._n)return t;const r=Z((...n)=>Xr(t(...n)),s);return r._c=!1,r},sa=(e,t,s)=>{const r=e._ctx;for(const n in e){if(Yr(n))continue;const i=e[n];if(z(i))t[n]=dl(n,i,r);else if(i!=null){const a=Xr(i);t[n]=()=>a}}},ra=(e,t)=>{const s=Xr(t);e.slots.default=()=>s},na=(e,t,s)=>{for(const r in t)(s||!Yr(r))&&(e[r]=t[r])},ul=(e,t,s)=>{const r=e.slots=Xi();if(e.vnode.shapeFlag&32){const n=t._;n?(na(r,t,s),s&&ci(r,"_",n,!0)):sa(t,r)}else t&&ra(e,t)},fl=(e,t,s)=>{const{vnode:r,slots:n}=e;let i=!0,a=de;if(r.shapeFlag&32){const o=t._;o?s&&o===1?i=!1:na(n,t,s):(i=!t.$stable,sa(t,n)),a=t}else t&&(ra(e,t),a={default:1});if(i)for(const o in n)!Yr(o)&&a[o]==null&&delete n[o]},Fe=xl;function ml(e){return gl(e)}function gl(e,t){const s=zs();s.__VUE__=!0;const{insert:r,remove:n,patchProp:i,createElement:a,createText:o,createComment:l,setText:c,setElementText:u,parentNode:f,nextSibling:p,setScopeId:h=it,insertStaticContent:S}=e,M=(m,g,x,_=null,C=null,b=null,T=void 0,P=null,E=!!g.dynamicChildren)=>{if(m===g)return;m&&!is(m,g)&&(_=k(m),Me(m,C,b,!0),m=null),g.patchFlag===-2&&(E=!1,g.dynamicChildren=null);const{type:R,ref:B,shapeFlag:I}=g;switch(R){case tr:K(m,g,x,_);break;case ht:j(m,g,x,_);break;case Is:m==null&&N(g,x,_,T);break;case J:Et(m,g,x,_,C,b,T,P,E);break;default:I&1?te(m,g,x,_,C,b,T,P,E):I&6?Ye(m,g,x,_,C,b,T,P,E):(I&64||I&128)&&R.process(m,g,x,_,C,b,T,P,E,F)}B!=null&&C?fs(B,m&&m.ref,b,g||m,!g):B==null&&m&&m.ref!=null&&fs(m.ref,null,b,m,!0)},K=(m,g,x,_)=>{if(m==null)r(g.el=o(g.children),x,_);else{const C=g.el=m.el;g.children!==m.children&&c(C,g.children)}},j=(m,g,x,_)=>{m==null?r(g.el=l(g.children||""),x,_):g.el=m.el},N=(m,g,x,_)=>{[m.el,m.anchor]=S(m.children,g,x,_,m.el,m.anchor)},V=({el:m,anchor:g},x,_)=>{let C;for(;m&&m!==g;)C=p(m),r(m,x,_),m=C;r(g,x,_)},L=({el:m,anchor:g})=>{let x;for(;m&&m!==g;)x=p(m),n(m),m=x;n(g)},te=(m,g,x,_,C,b,T,P,E)=>{if(g.type==="svg"?T="svg":g.type==="math"&&(T="mathml"),m==null)ye(g,x,_,C,b,T,P,E);else{const R=m.el&&m.el._isVueCE?m.el:null;try{R&&R._beginPatch(),yt(m,g,C,b,T,P,E)}finally{R&&R._endPatch()}}},ye=(m,g,x,_,C,b,T,P)=>{let E,R;const{props:B,shapeFlag:I,transition:H,dirs:W}=m;if(E=m.el=a(m.type,b,B&&B.is,B),I&8?u(E,m.children):I&16&&Re(m.children,E,null,_,C,fr(m,b),T,P),W&&Tt(m,null,_,"created"),ge(E,m,m.scopeId,T,_),B){for(const fe in B)fe!=="value"&&!cs(fe)&&i(E,fe,null,B[fe],b,_);"value"in B&&i(E,"value",null,B.value,b),(R=B.onVnodeBeforeMount)&&st(R,_,m)}W&&Tt(m,null,_,"beforeMount");const X=pl(C,H);X&&H.beforeEnter(E),r(E,g,x),((R=B&&B.onVnodeMounted)||X||W)&&Fe(()=>{R&&st(R,_,m),X&&H.enter(E),W&&Tt(m,null,_,"mounted")},C)},ge=(m,g,x,_,C)=>{if(x&&h(m,x),_)for(let b=0;b<_.length;b++)h(m,_[b]);if(C){let b=C.subTree;if(g===b||oa(b.type)&&(b.ssContent===g||b.ssFallback===g)){const T=C.vnode;ge(m,T,T.scopeId,T.slotScopeIds,C.parent)}}},Re=(m,g,x,_,C,b,T,P,E=0)=>{for(let R=E;R{const P=g.el=m.el;let{patchFlag:E,dynamicChildren:R,dirs:B}=g;E|=m.patchFlag&16;const I=m.props||de,H=g.props||de;let W;if(x&&$t(x,!1),(W=H.onVnodeBeforeUpdate)&&st(W,x,g,m),B&&Tt(g,m,x,"beforeUpdate"),x&&$t(x,!0),(I.innerHTML&&H.innerHTML==null||I.textContent&&H.textContent==null)&&u(P,""),R?Je(m.dynamicChildren,R,P,x,_,fr(g,C),b):T||re(m,g,P,null,x,_,fr(g,C),b,!1),E>0){if(E&16)vt(P,I,H,x,C);else if(E&2&&I.class!==H.class&&i(P,"class",null,H.class,C),E&4&&i(P,"style",I.style,H.style,C),E&8){const X=g.dynamicProps;for(let fe=0;fe{W&&st(W,x,g,m),B&&Tt(g,m,x,"updated")},_)},Je=(m,g,x,_,C,b,T)=>{for(let P=0;P{if(g!==x){if(g!==de)for(const b in g)!cs(b)&&!(b in x)&&i(m,b,g[b],null,C,_);for(const b in x){if(cs(b))continue;const T=x[b],P=g[b];T!==P&&b!=="value"&&i(m,b,P,T,C,_)}"value"in x&&i(m,"value",g.value,x.value,C)}},Et=(m,g,x,_,C,b,T,P,E)=>{const R=g.el=m?m.el:o(""),B=g.anchor=m?m.anchor:o("");let{patchFlag:I,dynamicChildren:H,slotScopeIds:W}=g;W&&(P=P?P.concat(W):W),m==null?(r(R,x,_),r(B,x,_),Re(g.children||[],x,B,C,b,T,P,E)):I>0&&I&64&&H&&m.dynamicChildren?(Je(m.dynamicChildren,H,x,C,b,T,P),(g.key!=null||C&&g===C.subTree)&&ia(m,g,!0)):re(m,g,x,B,C,b,T,P,E)},Ye=(m,g,x,_,C,b,T,P,E)=>{g.slotScopeIds=P,m==null?g.shapeFlag&512?C.ctx.activate(g,x,_,T,E):ss(g,x,_,C,b,T,E):Vt(m,g,E)},ss=(m,g,x,_,C,b,T)=>{const P=m.component=Cl(m,_,C);if(Fi(m)&&(P.ctx.renderer=F),Sl(P,!1,T),P.asyncDep){if(C&&C.registerDep(P,_e,T),!m.el){const E=P.subTree=$(ht);j(null,E,g,x),m.placeholder=E.el}}else _e(P,m,g,x,C,b,T)},Vt=(m,g,x)=>{const _=g.component=m.component;if(il(m,g,x))if(_.asyncDep&&!_.asyncResolved){ce(_,g,x);return}else _.next=g,_.update();else g.el=m.el,_.vnode=g},_e=(m,g,x,_,C,b,T)=>{const P=()=>{if(m.isMounted){let{next:I,bu:H,u:W,parent:X,vnode:fe}=m;{const et=aa(m);if(et){I&&(I.el=fe.el,ce(m,I,T)),et.asyncDep.then(()=>{m.isUnmounted||P()});return}}let le=I,De;$t(m,!1),I?(I.el=fe.el,ce(m,I,T)):I=fe,H&&Os(H),(De=I.props&&I.props.onVnodeBeforeUpdate)&&st(De,X,I,fe),$t(m,!0);const Ne=kn(m),Ze=m.subTree;m.subTree=Ne,M(Ze,Ne,f(Ze.el),k(Ze),m,C,b),I.el=Ne.el,le===null&&al(m,Ne.el),W&&Fe(W,C),(De=I.props&&I.props.onVnodeUpdated)&&Fe(()=>st(De,X,I,fe),C)}else{let I;const{el:H,props:W}=g,{bm:X,m:fe,parent:le,root:De,type:Ne}=m,Ze=Qt(g);$t(m,!1),X&&Os(X),!Ze&&(I=W&&W.onVnodeBeforeMount)&&st(I,le,g),$t(m,!0);{De.ce&&De.ce._def.shadowRoot!==!1&&De.ce._injectChildStyle(Ne);const et=m.subTree=kn(m);M(null,et,x,_,m,C,b),g.el=et.el}if(fe&&Fe(fe,C),!Ze&&(I=W&&W.onVnodeMounted)){const et=g;Fe(()=>st(I,le,et),C)}(g.shapeFlag&256||le&&Qt(le.vnode)&&le.vnode.shapeFlag&256)&&m.a&&Fe(m.a,C),m.isMounted=!0,g=x=_=null}};m.scope.on();const E=m.effect=new gi(P);m.scope.off();const R=m.update=E.run.bind(E),B=m.job=E.runIfDirty.bind(E);B.i=m,B.id=m.uid,E.scheduler=()=>Kr(B),$t(m,!0),R()},ce=(m,g,x)=>{g.component=m;const _=m.vnode.props;m.vnode=g,m.next=null,ll(m,g.props,_,x),fl(m,g.children,x),mt(),pn(m),gt()},re=(m,g,x,_,C,b,T,P,E=!1)=>{const R=m&&m.children,B=m?m.shapeFlag:0,I=g.children,{patchFlag:H,shapeFlag:W}=g;if(H>0){if(H&128){bt(R,I,x,_,C,b,T,P,E);return}else if(H&256){ot(R,I,x,_,C,b,T,P,E);return}}W&8?(B&16&&He(R,C,b),I!==R&&u(x,I)):B&16?W&16?bt(R,I,x,_,C,b,T,P,E):He(R,C,b,!0):(B&8&&u(x,""),W&16&&Re(I,x,_,C,b,T,P,E))},ot=(m,g,x,_,C,b,T,P,E)=>{m=m||Wt,g=g||Wt;const R=m.length,B=g.length,I=Math.min(R,B);let H;for(H=0;HB?He(m,C,b,!0,!1,I):Re(g,x,_,C,b,T,P,E,I)},bt=(m,g,x,_,C,b,T,P,E)=>{let R=0;const B=g.length;let I=m.length-1,H=B-1;for(;R<=I&&R<=H;){const W=m[R],X=g[R]=E?Ct(g[R]):nt(g[R]);if(is(W,X))M(W,X,x,null,C,b,T,P,E);else break;R++}for(;R<=I&&R<=H;){const W=m[I],X=g[H]=E?Ct(g[H]):nt(g[H]);if(is(W,X))M(W,X,x,null,C,b,T,P,E);else break;I--,H--}if(R>I){if(R<=H){const W=H+1,X=WH)for(;R<=I;)Me(m[R],C,b,!0),R++;else{const W=R,X=R,fe=new Map;for(R=X;R<=H;R++){const je=g[R]=E?Ct(g[R]):nt(g[R]);je.key!=null&&fe.set(je.key,R)}let le,De=0;const Ne=H-X+1;let Ze=!1,et=0;const rs=new Array(Ne);for(R=0;R=Ne){Me(je,C,b,!0);continue}let tt;if(je.key!=null)tt=fe.get(je.key);else for(le=X;le<=H;le++)if(rs[le-X]===0&&is(je,g[le])){tt=le;break}tt===void 0?Me(je,C,b,!0):(rs[tt-X]=R+1,tt>=et?et=tt:Ze=!0,M(je,g[tt],x,null,C,b,T,P,E),De++)}const on=Ze?hl(rs):Wt;for(le=on.length-1,R=Ne-1;R>=0;R--){const je=X+R,tt=g[je],ln=g[je+1],cn=je+1{const{el:b,type:T,transition:P,children:E,shapeFlag:R}=m;if(R&6){Xe(m.component.subTree,g,x,_);return}if(R&128){m.suspense.move(g,x,_);return}if(R&64){T.move(m,g,x,F);return}if(T===J){r(b,g,x);for(let I=0;IP.enter(b),C);else{const{leave:I,delayLeave:H,afterLeave:W}=P,X=()=>{m.ctx.isUnmounted?n(b):r(b,g,x)},fe=()=>{b._isLeaving&&b[Po](!0),I(b,()=>{X(),W&&W()})};H?H(b,X,fe):fe()}else r(b,g,x)},Me=(m,g,x,_=!1,C=!1)=>{const{type:b,props:T,ref:P,children:E,dynamicChildren:R,shapeFlag:B,patchFlag:I,dirs:H,cacheIndex:W}=m;if(I===-2&&(C=!1),P!=null&&(mt(),fs(P,null,x,m,!0),gt()),W!=null&&(g.renderCache[W]=void 0),B&256){g.ctx.deactivate(m);return}const X=B&1&&H,fe=!Qt(m);let le;if(fe&&(le=T&&T.onVnodeBeforeUnmount)&&st(le,g,m),B&6)Pt(m.component,x,_);else{if(B&128){m.suspense.unmount(x,_);return}X&&Tt(m,null,g,"beforeUnmount"),B&64?m.type.remove(m,g,x,F,_):R&&!R.hasOnce&&(b!==J||I>0&&I&64)?He(R,g,x,!1,!0):(b===J&&I&384||!C&&B&16)&&He(E,g,x),_&&Ht(m)}(fe&&(le=T&&T.onVnodeUnmounted)||X)&&Fe(()=>{le&&st(le,g,m),X&&Tt(m,null,g,"unmounted")},x)},Ht=m=>{const{type:g,el:x,anchor:_,transition:C}=m;if(g===J){Bt(x,_);return}if(g===Is){L(m);return}const b=()=>{n(x),C&&!C.persisted&&C.afterLeave&&C.afterLeave()};if(m.shapeFlag&1&&C&&!C.persisted){const{leave:T,delayLeave:P}=C,E=()=>T(x,b);P?P(m.el,b,E):E()}else b()},Bt=(m,g)=>{let x;for(;m!==g;)x=p(m),n(m),m=x;n(g)},Pt=(m,g,x)=>{const{bum:_,scope:C,job:b,subTree:T,um:P,m:E,a:R}=m;Rn(E),Rn(R),_&&Os(_),C.stop(),b&&(b.flags|=8,Me(T,m,g,x)),P&&Fe(P,g),Fe(()=>{m.isUnmounted=!0},g)},He=(m,g,x,_=!1,C=!1,b=0)=>{for(let T=b;T{if(m.shapeFlag&6)return k(m.component.subTree);if(m.shapeFlag&128)return m.suspense.next();const g=p(m.anchor||m.el),x=g&&g[Ao];return x?p(x):g};let D=!1;const O=(m,g,x)=>{m==null?g._vnode&&Me(g._vnode,null,null,!0):M(g._vnode||null,m,g,null,null,null,x),g._vnode=m,D||(D=!0,pn(),Mi(),D=!1)},F={p:M,um:Me,m:Xe,r:Ht,mt:ss,mc:Re,pc:re,pbc:Je,n:k,o:e};return{render:O,hydrate:void 0,createApp:Jo(O)}}function fr({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function $t({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function pl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ia(e,t,s=!1){const r=e.children,n=t.children;if(q(r)&&q(n))for(let i=0;i>1,e[s[o]]0&&(t[r]=s[i-1]),s[i]=r)}}for(i=s.length,a=s[i-1];i-- >0;)s[i]=a,a=t[a];return s}function aa(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:aa(t)}function Rn(e){if(e)for(let t=0;te.__isSuspense;function xl(e,t){t&&t.pendingBranch?q(e)?t.effects.push(...e):t.effects.push(e):So(e)}const J=Symbol.for("v-fgt"),tr=Symbol.for("v-txt"),ht=Symbol.for("v-cmt"),Is=Symbol.for("v-stc"),ps=[];let Ve=null;function y(e=!1){ps.push(Ve=e?null:[])}function yl(){ps.pop(),Ve=ps[ps.length-1]||null}let bs=1;function Hs(e,t=!1){bs+=e,e<0&&Ve&&t&&(Ve.hasOnce=!0)}function la(e){return e.dynamicChildren=bs>0?Ve||Wt:null,yl(),bs>0&&Ve&&Ve.push(e),e}function w(e,t,s,r,n,i){return la(d(e,t,s,r,n,i,!0))}function oe(e,t,s,r,n){return la($(e,t,s,r,n,!0))}function _s(e){return e?e.__v_isVNode===!0:!1}function is(e,t){return e.type===t.type&&e.key===t.key}const ca=({key:e})=>e??null,Ms=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?he(e)||Ee(e)||z(e)?{i:Ce,r:e,k:t,f:!!s}:e:null);function d(e,t=null,s=null,r=0,n=null,i=e===J?0:1,a=!1,o=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ca(t),ref:t&&Ms(t),scopeId:Ni,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:r,dynamicProps:n,dynamicChildren:null,appContext:null,ctx:Ce};return o?(Zr(l,s),i&128&&e.normalize(l)):s&&(l.shapeFlag|=he(s)?8:16),bs>0&&!a&&Ve&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&Ve.push(l),l}const $=vl;function vl(e,t=null,s=null,r=0,n=null,i=!1){if((!e||e===Bi)&&(e=ht),_s(e)){const o=Zt(e,t,!0);return s&&Zr(o,s),bs>0&&!i&&Ve&&(o.shapeFlag&6?Ve[Ve.indexOf(e)]=o:Ve.push(o)),o.patchFlag=-2,o}if($l(e)&&(e=e.__vccOpts),t){t=bl(t);let{class:o,style:l}=t;o&&!he(o)&&(t.class=Q(o)),ue(l)&&(Wr(l)&&!q(l)&&(l=Te({},l)),t.style=At(l))}const a=he(e)?1:oa(e)?128:Eo(e)?64:ue(e)?4:z(e)?2:0;return d(e,t,s,r,n,a,i,!0)}function bl(e){return e?Wr(e)||Zi(e)?Te({},e):e:null}function Zt(e,t,s=!1,r=!1){const{props:n,ref:i,patchFlag:a,children:o,transition:l}=e,c=t?_l(n||{},t):n,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&ca(c),ref:t&&t.ref?s&&i?q(i)?i.concat(Ms(t)):[i,Ms(t)]:Ms(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==J?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Zt(e.ssContent),ssFallback:e.ssFallback&&Zt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&Qr(u,l.clone(u)),u}function se(e=" ",t=0){return $(tr,null,e,t)}function as(e,t){const s=$(Is,null,e);return s.staticCount=t,s}function G(e="",t=!1){return t?(y(),oe(ht,null,e)):$(ht,null,e)}function nt(e){return e==null||typeof e=="boolean"?$(ht):q(e)?$(J,null,e.slice()):_s(e)?Ct(e):$(tr,null,String(e))}function Ct(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Zt(e)}function Zr(e,t){let s=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(q(t))s=16;else if(typeof t=="object")if(r&65){const n=t.default;n&&(n._c&&(n._d=!1),Zr(e,n()),n._c&&(n._d=!0));return}else{s=32;const n=t._;!n&&!Zi(t)?t._ctx=Ce:n===3&&Ce&&(Ce.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else z(t)?(t={default:t,_ctx:Ce},s=32):(t=String(t),r&64?(s=16,t=[se(t)]):s=8);e.children=t,e.shapeFlag|=s}function _l(...e){const t={};for(let s=0;sAe||Ce;let Bs,Pr;{const e=zs(),t=(s,r)=>{let n;return(n=e[s])||(n=e[s]=[]),n.push(r),i=>{n.length>1?n.forEach(a=>a(i)):n[0](i)}};Bs=t("__VUE_INSTANCE_SETTERS__",s=>Ae=s),Pr=t("__VUE_SSR_SETTERS__",s=>ks=s)}const As=e=>{const t=Ae;return Bs(e),e.scope.on(),()=>{e.scope.off(),Bs(t)}},Sn=()=>{Ae&&Ae.scope.off(),Bs(null)};function da(e){return e.vnode.shapeFlag&4}let ks=!1;function Sl(e,t=!1,s=!1){t&&Pr(t);const{props:r,children:n}=e.vnode,i=da(e);ol(e,r,i,t),ul(e,n,s||t);const a=i?Al(e,t):void 0;return t&&Pr(!1),a}function Al(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Go);const{setup:r}=s;if(r){mt();const n=e.setupContext=r.length>1?Pl(e):null,i=As(e),a=Ss(r,e,0,[e.props,n]),o=ai(a);if(gt(),i(),(o||e.sp)&&!Qt(e)&&ji(e),o){if(a.then(Sn,Sn),t)return a.then(l=>{An(e,l)}).catch(l=>{Xs(l,e,0)});e.asyncDep=a}else An(e,a)}else ua(e)}function An(e,t,s){z(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ue(t)&&(e.setupState=Ti(t)),ua(e)}function ua(e,t,s){const r=e.type;e.render||(e.render=r.render||it);{const n=As(e);mt();try{qo(e)}finally{gt(),n()}}}const El={get(e,t){return Se(e,"get",""),e[t]}};function Pl(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,El),slots:e.slots,emit:e.emit,expose:t}}function sr(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ti(ho(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in ms)return ms[s](e)},has(t,s){return s in t||s in ms}})):e.proxy}function Tl(e,t=!0){return z(e)?e.displayName||e.name:e.name||t&&e.__name}function $l(e){return z(e)&&"__vccOpts"in e}const ee=(e,t)=>_o(e,t,ks);function fa(e,t,s){try{Hs(-1);const r=arguments.length;return r===2?ue(t)&&!q(t)?_s(t)?$(e,null,[t]):$(e,t):$(e,null,t):(r>3?s=Array.prototype.slice.call(arguments,2):r===3&&_s(s)&&(s=[s]),$(e,t,s))}finally{Hs(1)}}const Ol="3.5.25";let Tr;const En=typeof window<"u"&&window.trustedTypes;if(En)try{Tr=En.createPolicy("vue",{createHTML:e=>e})}catch{}const ma=Tr?e=>Tr.createHTML(e):e=>e,Il="http://www.w3.org/2000/svg",Ml="http://www.w3.org/1998/Math/MathML",dt=typeof document<"u"?document:null,Pn=dt&&dt.createElement("template"),Dl={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,r)=>{const n=t==="svg"?dt.createElementNS(Il,e):t==="mathml"?dt.createElementNS(Ml,e):s?dt.createElement(e,{is:s}):dt.createElement(e);return e==="select"&&r&&r.multiple!=null&&n.setAttribute("multiple",r.multiple),n},createText:e=>dt.createTextNode(e),createComment:e=>dt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>dt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,r,n,i){const a=s?s.previousSibling:t.lastChild;if(n&&(n===i||n.nextSibling))for(;t.insertBefore(n.cloneNode(!0),s),!(n===i||!(n=n.nextSibling)););else{Pn.innerHTML=ma(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const o=Pn.content;if(r==="svg"||r==="mathml"){const l=o.firstChild;for(;l.firstChild;)o.appendChild(l.firstChild);o.removeChild(l)}t.insertBefore(o,s)}return[a?a.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Nl=Symbol("_vtc");function Ll(e,t,s){const r=e[Nl];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Tn=Symbol("_vod"),jl=Symbol("_vsh"),Fl=Symbol(""),Vl=/(?:^|;)\s*display\s*:/;function Hl(e,t,s){const r=e.style,n=he(s);let i=!1;if(s&&!n){if(t)if(he(t))for(const a of t.split(";")){const o=a.slice(0,a.indexOf(":")).trim();s[o]==null&&Ds(r,o,"")}else for(const a in t)s[a]==null&&Ds(r,a,"");for(const a in s)a==="display"&&(i=!0),Ds(r,a,s[a])}else if(n){if(t!==s){const a=r[Fl];a&&(s+=";"+a),r.cssText=s,i=Vl.test(s)}}else t&&e.removeAttribute("style");Tn in e&&(e[Tn]=i?r.display:"",e[jl]&&(r.display="none"))}const $n=/\s*!important$/;function Ds(e,t,s){if(q(s))s.forEach(r=>Ds(e,t,r));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const r=Bl(e,t);$n.test(s)?e.setProperty(jt(r),s.replace($n,""),"important"):e[r]=s}}const On=["Webkit","Moz","ms"],mr={};function Bl(e,t){const s=mr[t];if(s)return s;let r=qe(t);if(r!=="filter"&&r in e)return mr[t]=r;r=Ks(r);for(let n=0;ngr||(Wl.then(()=>gr=0),gr=Date.now());function zl(e,t){const s=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=s.attached)return;at(Ql(r,s.value),t,5,[r])};return s.value=e,s.attached=Kl(),s}function Ql(e,t){if(q(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(r=>n=>!n._stopped&&r&&r(n))}else return t}const jn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Jl=(e,t,s,r,n,i)=>{const a=n==="svg";t==="class"?Ll(e,r,a):t==="style"?Hl(e,s,r):qs(t)?Nr(t)||ql(e,t,s,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Yl(e,t,r,a))?(Dn(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Mn(e,t,r,a,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!he(r))?Dn(e,qe(t),r,i,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Mn(e,t,r,a))};function Yl(e,t,s,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&jn(t)&&z(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const n=e.tagName;if(n==="IMG"||n==="VIDEO"||n==="CANVAS"||n==="SOURCE")return!1}return jn(t)&&he(s)?!1:t in e}const Gs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return q(t)?s=>Os(t,s):t};function Xl(e){e.target.composing=!0}function Fn(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Yt=Symbol("_assign");function Vn(e,t,s){return t&&(e=e.trim()),s&&(e=Fr(e)),e}const ga={created(e,{modifiers:{lazy:t,trim:s,number:r}},n){e[Yt]=Gs(n);const i=r||n.props&&n.props.type==="number";It(e,t?"change":"input",a=>{a.target.composing||e[Yt](Vn(e.value,s,i))}),(s||i)&&It(e,"change",()=>{e.value=Vn(e.value,s,i)}),t||(It(e,"compositionstart",Xl),It(e,"compositionend",Fn),It(e,"change",Fn))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:r,trim:n,number:i}},a){if(e[Yt]=Gs(a),e.composing)return;const o=(i||e.type==="number")&&!/^0\d/.test(e.value)?Fr(e.value):e.value,l=t??"";o!==l&&(document.activeElement===e&&e.type!=="range"&&(r&&t===s||n&&e.value.trim()===l)||(e.value=l))}},Zl={deep:!0,created(e,t,s){e[Yt]=Gs(s),It(e,"change",()=>{const r=e._modelValue,n=ec(e),i=e.checked,a=e[Yt];if(q(r)){const o=ui(r,n),l=o!==-1;if(i&&!l)a(r.concat(n));else if(!i&&l){const c=[...r];c.splice(o,1),a(c)}}else if(Us(r)){const o=new Set(r);i?o.add(n):o.delete(n),a(o)}else a(pa(e,i))})},mounted:Hn,beforeUpdate(e,t,s){e[Yt]=Gs(s),Hn(e,t,s)}};function Hn(e,{value:t,oldValue:s},r){e._modelValue=t;let n;if(q(t))n=ui(t,r.props.value)>-1;else if(Us(t))n=t.has(r.props.value);else{if(t===s)return;n=Qs(t,pa(e,!0))}e.checked!==n&&(e.checked=n)}function ec(e){return"_value"in e?e._value:e.value}function pa(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const tc=["ctrl","shift","alt","meta"],sc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>tc.some(s=>e[`${s}Key`]&&!t.includes(s))},en=(e,t)=>{const s=e._withMods||(e._withMods={}),r=t.join(".");return s[r]||(s[r]=((n,...i)=>{for(let a=0;a{const t=nc().createApp(...e),{mount:s}=t;return t.mount=r=>{const n=oc(r);if(!n)return;const i=t._component;!z(i)&&!i.render&&!i.template&&(i.template=n.innerHTML),n.nodeType===1&&(n.textContent="");const a=s(n,!1,ac(n));return n instanceof Element&&(n.removeAttribute("v-cloak"),n.setAttribute("data-v-app","")),a},t});function ac(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function oc(e){return he(e)?document.querySelector(e):e}const Ut=typeof document<"u";function ha(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function lc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&ha(e.default)}const ne=Object.assign;function pr(e,t){const s={};for(const r in t){const n=t[r];s[r]=Qe(n)?n.map(e):e(n)}return s}const hs=()=>{},Qe=Array.isArray;function Gn(e,t){const s={};for(const r in e)s[r]=r in t?t[r]:e[r];return s}const xa=/#/g,cc=/&/g,dc=/\//g,uc=/=/g,fc=/\?/g,ya=/\+/g,mc=/%5B/g,gc=/%5D/g,va=/%5E/g,pc=/%60/g,ba=/%7B/g,hc=/%7C/g,_a=/%7D/g,xc=/%20/g;function tn(e){return e==null?"":encodeURI(""+e).replace(hc,"|").replace(mc,"[").replace(gc,"]")}function yc(e){return tn(e).replace(ba,"{").replace(_a,"}").replace(va,"^")}function $r(e){return tn(e).replace(ya,"%2B").replace(xc,"+").replace(xa,"%23").replace(cc,"%26").replace(pc,"`").replace(ba,"{").replace(_a,"}").replace(va,"^")}function vc(e){return $r(e).replace(uc,"%3D")}function bc(e){return tn(e).replace(xa,"%23").replace(fc,"%3F")}function _c(e){return bc(e).replace(dc,"%2F")}function ws(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const kc=/\/$/,wc=e=>e.replace(kc,"");function hr(e,t,s="/"){let r,n={},i="",a="";const o=t.indexOf("#");let l=t.indexOf("?");return l=o>=0&&l>o?-1:l,l>=0&&(r=t.slice(0,l),i=t.slice(l,o>0?o:t.length),n=e(i.slice(1))),o>=0&&(r=r||t.slice(0,o),a=t.slice(o,t.length)),r=Ac(r??t,s),{fullPath:r+i+a,path:r,query:n,hash:ws(a)}}function Cc(e,t){const s=t.query?e(t.query):"";return t.path+(s&&"?")+s+(t.hash||"")}function qn(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Rc(e,t,s){const r=t.matched.length-1,n=s.matched.length-1;return r>-1&&r===n&&es(t.matched[r],s.matched[n])&&ka(t.params,s.params)&&e(t.query)===e(s.query)&&t.hash===s.hash}function es(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function ka(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const s in e)if(!Sc(e[s],t[s]))return!1;return!0}function Sc(e,t){return Qe(e)?Un(e,t):Qe(t)?Un(t,e):e===t}function Un(e,t){return Qe(t)?e.length===t.length&&e.every((s,r)=>s===t[r]):e.length===1&&e[0]===t}function Ac(e,t){if(e.startsWith("/"))return e;if(!e)return t;const s=t.split("/"),r=e.split("/"),n=r[r.length-1];(n===".."||n===".")&&r.push("");let i=s.length-1,a,o;for(a=0;a1&&i--;else break;return s.slice(0,i).join("/")+"/"+r.slice(a).join("/")}const _t={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Or=(function(e){return e.pop="pop",e.push="push",e})({}),xr=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function Ec(e){if(!e)if(Ut){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),wc(e)}const Pc=/^[^#]+#/;function Tc(e,t){return e.replace(Pc,"#")+t}function $c(e,t){const s=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-s.left-(t.left||0),top:r.top-s.top-(t.top||0)}}const rr=()=>({left:window.scrollX,top:window.scrollY});function Oc(e){let t;if("el"in e){const s=e.el,r=typeof s=="string"&&s.startsWith("#"),n=typeof s=="string"?r?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!n)return;t=$c(n,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Wn(e,t){return(history.state?history.state.position-t:-1)+e}const Ir=new Map;function Ic(e,t){Ir.set(e,t)}function Mc(e){const t=Ir.get(e);return Ir.delete(e),t}function Dc(e){return typeof e=="string"||e&&typeof e=="object"}function wa(e){return typeof e=="string"||typeof e=="symbol"}let pe=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const Ca=Symbol("");pe.MATCHER_NOT_FOUND+"",pe.NAVIGATION_GUARD_REDIRECT+"",pe.NAVIGATION_ABORTED+"",pe.NAVIGATION_CANCELLED+"",pe.NAVIGATION_DUPLICATED+"";function ts(e,t){return ne(new Error,{type:e,[Ca]:!0},t)}function ct(e,t){return e instanceof Error&&Ca in e&&(t==null||!!(e.type&t))}const Nc=["params","query","hash"];function Lc(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const s of Nc)s in e&&(t[s]=e[s]);return JSON.stringify(t,null,2)}function jc(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rn&&$r(n)):[r&&$r(r)]).forEach(n=>{n!==void 0&&(t+=(t.length?"&":"")+s,n!=null&&(t+="="+n))})}return t}function Fc(e){const t={};for(const s in e){const r=e[s];r!==void 0&&(t[s]=Qe(r)?r.map(n=>n==null?null:""+n):r==null?r:""+r)}return t}const Vc=Symbol(""),zn=Symbol(""),sn=Symbol(""),rn=Symbol(""),Mr=Symbol("");function os(){let e=[];function t(r){return e.push(r),()=>{const n=e.indexOf(r);n>-1&&e.splice(n,1)}}function s(){e=[]}return{add:t,list:()=>e.slice(),reset:s}}function Rt(e,t,s,r,n,i=a=>a()){const a=r&&(r.enterCallbacks[n]=r.enterCallbacks[n]||[]);return()=>new Promise((o,l)=>{const c=p=>{p===!1?l(ts(pe.NAVIGATION_ABORTED,{from:s,to:t})):p instanceof Error?l(p):Dc(p)?l(ts(pe.NAVIGATION_GUARD_REDIRECT,{from:t,to:p})):(a&&r.enterCallbacks[n]===a&&typeof p=="function"&&a.push(p),o())},u=i(()=>e.call(r&&r.instances[n],t,s,c));let f=Promise.resolve(u);e.length<3&&(f=f.then(c)),f.catch(p=>l(p))})}function yr(e,t,s,r,n=i=>i()){const i=[];for(const a of e)for(const o in a.components){let l=a.components[o];if(!(t!=="beforeRouteEnter"&&!a.instances[o]))if(ha(l)){const c=(l.__vccOpts||l)[t];c&&i.push(Rt(c,s,r,a,o,n))}else{let c=l();i.push(()=>c.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${o}" at "${a.path}"`);const f=lc(u)?u.default:u;a.mods[o]=u,a.components[o]=f;const p=(f.__vccOpts||f)[t];return p&&Rt(p,s,r,a,o,n)()}))}}return i}function Hc(e,t){const s=[],r=[],n=[],i=Math.max(t.matched.length,e.matched.length);for(let a=0;aes(c,o))?r.push(o):s.push(o));const l=e.matched[a];l&&(t.matched.find(c=>es(c,l))||n.push(l))}return[s,r,n]}let Bc=()=>location.protocol+"//"+location.host;function Ra(e,t){const{pathname:s,search:r,hash:n}=t,i=e.indexOf("#");if(i>-1){let a=n.includes(e.slice(i))?e.slice(i).length:1,o=n.slice(a);return o[0]!=="/"&&(o="/"+o),qn(o,"")}return qn(s,e)+r+n}function Gc(e,t,s,r){let n=[],i=[],a=null;const o=({state:p})=>{const h=Ra(e,location),S=s.value,M=t.value;let K=0;if(p){if(s.value=h,t.value=p,a&&a===S){a=null;return}K=M?p.position-M.position:0}else r(h);n.forEach(j=>{j(s.value,S,{delta:K,type:Or.pop,direction:K?K>0?xr.forward:xr.back:xr.unknown})})};function l(){a=s.value}function c(p){n.push(p);const h=()=>{const S=n.indexOf(p);S>-1&&n.splice(S,1)};return i.push(h),h}function u(){if(document.visibilityState==="hidden"){const{history:p}=window;if(!p.state)return;p.replaceState(ne({},p.state,{scroll:rr()}),"")}}function f(){for(const p of i)p();i=[],window.removeEventListener("popstate",o),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",o),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:l,listen:c,destroy:f}}function Qn(e,t,s,r=!1,n=!1){return{back:e,current:t,forward:s,replaced:r,position:window.history.length,scroll:n?rr():null}}function qc(e){const{history:t,location:s}=window,r={value:Ra(e,s)},n={value:t.state};n.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,c,u){const f=e.indexOf("#"),p=f>-1?(s.host&&document.querySelector("base")?e:e.slice(f))+l:Bc()+e+l;try{t[u?"replaceState":"pushState"](c,"",p),n.value=c}catch(h){console.error(h),s[u?"replace":"assign"](p)}}function a(l,c){i(l,ne({},t.state,Qn(n.value.back,l,n.value.forward,!0),c,{position:n.value.position}),!0),r.value=l}function o(l,c){const u=ne({},n.value,t.state,{forward:l,scroll:rr()});i(u.current,u,!0),i(l,ne({},Qn(r.value,l,null),{position:u.position+1},c),!1),r.value=l}return{location:r,state:n,push:o,replace:a}}function Uc(e){e=Ec(e);const t=qc(e),s=Gc(e,t.state,t.location,t.replace);function r(i,a=!0){a||s.pauseListeners(),history.go(i)}const n=ne({location:"",base:e,go:r,createHref:Tc.bind(null,e)},t,s);return Object.defineProperty(n,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(n,"state",{enumerable:!0,get:()=>t.state.value}),n}function Wc(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),Uc(e)}let Mt=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var ve=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(ve||{});const Kc={type:Mt.Static,value:""},zc=/[a-zA-Z0-9_]/;function Qc(e){if(!e)return[[]];if(e==="/")return[[Kc]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${s})/"${c}": ${h}`)}let s=ve.Static,r=s;const n=[];let i;function a(){i&&n.push(i),i=[]}let o=0,l,c="",u="";function f(){c&&(s===ve.Static?i.push({type:Mt.Static,value:c}):s===ve.Param||s===ve.ParamRegExp||s===ve.ParamRegExpEnd?(i.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:Mt.Param,value:c,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function p(){c+=l}for(;ot.length?t.length===1&&t[0]===Oe.Static+Oe.Segment?1:-1:0}function Sa(e,t){let s=0;const r=e.score,n=t.score;for(;s0&&t[t.length-1]<0}const ed={strict:!1,end:!0,sensitive:!1};function td(e,t,s){const r=Xc(Qc(e.path),s),n=ne(r,{record:e,parent:t,children:[],alias:[]});return t&&!n.record.aliasOf==!t.record.aliasOf&&t.children.push(n),n}function sd(e,t){const s=[],r=new Map;t=Gn(ed,t);function n(f){return r.get(f)}function i(f,p,h){const S=!h,M=Zn(f);M.aliasOf=h&&h.record;const K=Gn(t,f),j=[M];if("alias"in f){const L=typeof f.alias=="string"?[f.alias]:f.alias;for(const te of L)j.push(Zn(ne({},M,{components:h?h.record.components:M.components,path:te,aliasOf:h?h.record:M})))}let N,V;for(const L of j){const{path:te}=L;if(p&&te[0]!=="/"){const ye=p.record.path,ge=ye[ye.length-1]==="/"?"":"/";L.path=p.record.path+(te&&ge+te)}if(N=td(L,p,K),h?h.alias.push(N):(V=V||N,V!==N&&V.alias.push(N),S&&f.name&&!ei(N)&&a(f.name)),Aa(N)&&l(N),M.children){const ye=M.children;for(let ge=0;ge{a(V)}:hs}function a(f){if(wa(f)){const p=r.get(f);p&&(r.delete(f),s.splice(s.indexOf(p),1),p.children.forEach(a),p.alias.forEach(a))}else{const p=s.indexOf(f);p>-1&&(s.splice(p,1),f.record.name&&r.delete(f.record.name),f.children.forEach(a),f.alias.forEach(a))}}function o(){return s}function l(f){const p=id(f,s);s.splice(p,0,f),f.record.name&&!ei(f)&&r.set(f.record.name,f)}function c(f,p){let h,S={},M,K;if("name"in f&&f.name){if(h=r.get(f.name),!h)throw ts(pe.MATCHER_NOT_FOUND,{location:f});K=h.record.name,S=ne(Xn(p.params,h.keys.filter(V=>!V.optional).concat(h.parent?h.parent.keys.filter(V=>V.optional):[]).map(V=>V.name)),f.params&&Xn(f.params,h.keys.map(V=>V.name))),M=h.stringify(S)}else if(f.path!=null)M=f.path,h=s.find(V=>V.re.test(M)),h&&(S=h.parse(M),K=h.record.name);else{if(h=p.name?r.get(p.name):s.find(V=>V.re.test(p.path)),!h)throw ts(pe.MATCHER_NOT_FOUND,{location:f,currentLocation:p});K=h.record.name,S=ne({},p.params,f.params),M=h.stringify(S)}const j=[];let N=h;for(;N;)j.unshift(N.record),N=N.parent;return{name:K,path:M,params:S,matched:j,meta:nd(j)}}e.forEach(f=>i(f));function u(){s.length=0,r.clear()}return{addRoute:i,resolve:c,removeRoute:a,clearRoutes:u,getRoutes:o,getRecordMatcher:n}}function Xn(e,t){const s={};for(const r of t)r in e&&(s[r]=e[r]);return s}function Zn(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:rd(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function rd(e){const t={},s=e.props||!1;if("component"in e)t.default=s;else for(const r in e.components)t[r]=typeof s=="object"?s[r]:s;return t}function ei(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function nd(e){return e.reduce((t,s)=>ne(t,s.meta),{})}function id(e,t){let s=0,r=t.length;for(;s!==r;){const i=s+r>>1;Sa(e,t[i])<0?r=i:s=i+1}const n=ad(e);return n&&(r=t.lastIndexOf(n,r-1)),r}function ad(e){let t=e;for(;t=t.parent;)if(Aa(t)&&Sa(e,t)===0)return t}function Aa({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function ti(e){const t=Pe(sn),s=Pe(rn),r=ee(()=>{const l=A(e.to);return t.resolve(l)}),n=ee(()=>{const{matched:l}=r.value,{length:c}=l,u=l[c-1],f=s.matched;if(!u||!f.length)return-1;const p=f.findIndex(es.bind(null,u));if(p>-1)return p;const h=si(l[c-2]);return c>1&&si(u)===h&&f[f.length-1].path!==h?f.findIndex(es.bind(null,l[c-2])):p}),i=ee(()=>n.value>-1&&dd(s.params,r.value.params)),a=ee(()=>n.value>-1&&n.value===s.matched.length-1&&ka(s.params,r.value.params));function o(l={}){if(cd(l)){const c=t[A(e.replace)?"replace":"push"](A(e.to)).catch(hs);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:r,href:ee(()=>r.value.href),isActive:i,isExactActive:a,navigate:o}}function od(e){return e.length===1?e[0]:e}const ld=Li({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:ti,setup(e,{slots:t}){const s=Ys(ti(e)),{options:r}=Pe(sn),n=ee(()=>({[ri(e.activeClass,r.linkActiveClass,"router-link-active")]:s.isActive,[ri(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{const i=t.default&&od(t.default(s));return e.custom?i:fa("a",{"aria-current":s.isExactActive?e.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:n.value},i)}}}),ke=ld;function cd(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function dd(e,t){for(const s in t){const r=t[s],n=e[s];if(typeof r=="string"){if(r!==n)return!1}else if(!Qe(n)||n.length!==r.length||r.some((i,a)=>i!==n[a]))return!1}return!0}function si(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ri=(e,t,s)=>e??t??s,ud=Li({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:s}){const r=Pe(Mr),n=ee(()=>e.route||r.value),i=Pe(zn,0),a=ee(()=>{let c=A(i);const{matched:u}=n.value;let f;for(;(f=u[c])&&!f.components;)c++;return c}),o=ee(()=>n.value.matched[a.value]);gs(zn,ee(()=>a.value+1)),gs(Vc,o),gs(Mr,n);const l=xe();return Ge(()=>[l.value,o.value,e.name],([c,u,f],[p,h,S])=>{u&&(u.instances[f]=c,h&&h!==u&&c&&c===p&&(u.leaveGuards.size||(u.leaveGuards=h.leaveGuards),u.updateGuards.size||(u.updateGuards=h.updateGuards))),c&&u&&(!h||!es(u,h)||!p)&&(u.enterCallbacks[f]||[]).forEach(M=>M(c))},{flush:"post"}),()=>{const c=n.value,u=e.name,f=o.value,p=f&&f.components[u];if(!p)return ni(s.default,{Component:p,route:c});const h=f.props[u],S=h?h===!0?c.params:typeof h=="function"?h(c):h:null,K=fa(p,ne({},S,t,{onVnodeUnmounted:j=>{j.component.isUnmounted&&(f.instances[u]=null)},ref:l}));return ni(s.default,{Component:K,route:c})||K}}});function ni(e,t){if(!e)return null;const s=e(t);return s.length===1?s[0]:s}const fd=ud;function md(e){const t=sd(e.routes,e),s=e.parseQuery||jc,r=e.stringifyQuery||Kn,n=e.history,i=os(),a=os(),o=os(),l=xo(_t);let c=_t;Ut&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=pr.bind(null,k=>""+k),f=pr.bind(null,_c),p=pr.bind(null,ws);function h(k,D){let O,F;return wa(k)?(O=t.getRecordMatcher(k),F=D):F=k,t.addRoute(F,O)}function S(k){const D=t.getRecordMatcher(k);D&&t.removeRoute(D)}function M(){return t.getRoutes().map(k=>k.record)}function K(k){return!!t.getRecordMatcher(k)}function j(k,D){if(D=ne({},D||l.value),typeof k=="string"){const x=hr(s,k,D.path),_=t.resolve({path:x.path},D),C=n.createHref(x.fullPath);return ne(x,_,{params:p(_.params),hash:ws(x.hash),redirectedFrom:void 0,href:C})}let O;if(k.path!=null)O=ne({},k,{path:hr(s,k.path,D.path).path});else{const x=ne({},k.params);for(const _ in x)x[_]==null&&delete x[_];O=ne({},k,{params:f(x)}),D.params=f(D.params)}const F=t.resolve(O,D),Y=k.hash||"";F.params=u(p(F.params));const m=Cc(r,ne({},k,{hash:yc(Y),path:F.path})),g=n.createHref(m);return ne({fullPath:m,hash:Y,query:r===Kn?Fc(k.query):k.query||{}},F,{redirectedFrom:void 0,href:g})}function N(k){return typeof k=="string"?hr(s,k,l.value.path):ne({},k)}function V(k,D){if(c!==k)return ts(pe.NAVIGATION_CANCELLED,{from:D,to:k})}function L(k){return ge(k)}function te(k){return L(ne(N(k),{replace:!0}))}function ye(k,D){const O=k.matched[k.matched.length-1];if(O&&O.redirect){const{redirect:F}=O;let Y=typeof F=="function"?F(k,D):F;return typeof Y=="string"&&(Y=Y.includes("?")||Y.includes("#")?Y=N(Y):{path:Y},Y.params={}),ne({query:k.query,hash:k.hash,params:Y.path!=null?{}:k.params},Y)}}function ge(k,D){const O=c=j(k),F=l.value,Y=k.state,m=k.force,g=k.replace===!0,x=ye(O,F);if(x)return ge(ne(N(x),{state:typeof x=="object"?ne({},Y,x.state):Y,force:m,replace:g}),D||O);const _=O;_.redirectedFrom=D;let C;return!m&&Rc(r,F,O)&&(C=ts(pe.NAVIGATION_DUPLICATED,{to:_,from:F}),Xe(F,F,!0,!1)),(C?Promise.resolve(C):Je(_,F)).catch(b=>ct(b)?ct(b,pe.NAVIGATION_GUARD_REDIRECT)?b:bt(b):re(b,_,F)).then(b=>{if(b){if(ct(b,pe.NAVIGATION_GUARD_REDIRECT))return ge(ne({replace:g},N(b.to),{state:typeof b.to=="object"?ne({},Y,b.to.state):Y,force:m}),D||_)}else b=Et(_,F,!0,g,Y);return vt(_,F,b),b})}function Re(k,D){const O=V(k,D);return O?Promise.reject(O):Promise.resolve()}function yt(k){const D=Bt.values().next().value;return D&&typeof D.runWithContext=="function"?D.runWithContext(k):k()}function Je(k,D){let O;const[F,Y,m]=Hc(k,D);O=yr(F.reverse(),"beforeRouteLeave",k,D);for(const x of F)x.leaveGuards.forEach(_=>{O.push(Rt(_,k,D))});const g=Re.bind(null,k,D);return O.push(g),He(O).then(()=>{O=[];for(const x of i.list())O.push(Rt(x,k,D));return O.push(g),He(O)}).then(()=>{O=yr(Y,"beforeRouteUpdate",k,D);for(const x of Y)x.updateGuards.forEach(_=>{O.push(Rt(_,k,D))});return O.push(g),He(O)}).then(()=>{O=[];for(const x of m)if(x.beforeEnter)if(Qe(x.beforeEnter))for(const _ of x.beforeEnter)O.push(Rt(_,k,D));else O.push(Rt(x.beforeEnter,k,D));return O.push(g),He(O)}).then(()=>(k.matched.forEach(x=>x.enterCallbacks={}),O=yr(m,"beforeRouteEnter",k,D,yt),O.push(g),He(O))).then(()=>{O=[];for(const x of a.list())O.push(Rt(x,k,D));return O.push(g),He(O)}).catch(x=>ct(x,pe.NAVIGATION_CANCELLED)?x:Promise.reject(x))}function vt(k,D,O){o.list().forEach(F=>yt(()=>F(k,D,O)))}function Et(k,D,O,F,Y){const m=V(k,D);if(m)return m;const g=D===_t,x=Ut?history.state:{};O&&(F||g?n.replace(k.fullPath,ne({scroll:g&&x&&x.scroll},Y)):n.push(k.fullPath,Y)),l.value=k,Xe(k,D,O,g),bt()}let Ye;function ss(){Ye||(Ye=n.listen((k,D,O)=>{if(!Pt.listening)return;const F=j(k),Y=ye(F,Pt.currentRoute.value);if(Y){ge(ne(Y,{replace:!0,force:!0}),F).catch(hs);return}c=F;const m=l.value;Ut&&Ic(Wn(m.fullPath,O.delta),rr()),Je(F,m).catch(g=>ct(g,pe.NAVIGATION_ABORTED|pe.NAVIGATION_CANCELLED)?g:ct(g,pe.NAVIGATION_GUARD_REDIRECT)?(ge(ne(N(g.to),{force:!0}),F).then(x=>{ct(x,pe.NAVIGATION_ABORTED|pe.NAVIGATION_DUPLICATED)&&!O.delta&&O.type===Or.pop&&n.go(-1,!1)}).catch(hs),Promise.reject()):(O.delta&&n.go(-O.delta,!1),re(g,F,m))).then(g=>{g=g||Et(F,m,!1),g&&(O.delta&&!ct(g,pe.NAVIGATION_CANCELLED)?n.go(-O.delta,!1):O.type===Or.pop&&ct(g,pe.NAVIGATION_ABORTED|pe.NAVIGATION_DUPLICATED)&&n.go(-1,!1)),vt(F,m,g)}).catch(hs)}))}let Vt=os(),_e=os(),ce;function re(k,D,O){bt(k);const F=_e.list();return F.length?F.forEach(Y=>Y(k,D,O)):console.error(k),Promise.reject(k)}function ot(){return ce&&l.value!==_t?Promise.resolve():new Promise((k,D)=>{Vt.add([k,D])})}function bt(k){return ce||(ce=!k,ss(),Vt.list().forEach(([D,O])=>k?O(k):D()),Vt.reset()),k}function Xe(k,D,O,F){const{scrollBehavior:Y}=e;if(!Ut||!Y)return Promise.resolve();const m=!O&&Mc(Wn(k.fullPath,0))||(F||!O)&&history.state&&history.state.scroll||null;return Oi().then(()=>Y(k,D,m)).then(g=>g&&Oc(g)).catch(g=>re(g,k,D))}const Me=k=>n.go(k);let Ht;const Bt=new Set,Pt={currentRoute:l,listening:!0,addRoute:h,removeRoute:S,clearRoutes:t.clearRoutes,hasRoute:K,getRoutes:M,resolve:j,options:e,push:L,replace:te,go:Me,back:()=>Me(-1),forward:()=>Me(1),beforeEach:i.add,beforeResolve:a.add,afterEach:o.add,onError:_e.add,isReady:ot,install(k){k.component("RouterLink",ke),k.component("RouterView",fd),k.config.globalProperties.$router=Pt,Object.defineProperty(k.config.globalProperties,"$route",{enumerable:!0,get:()=>A(l)}),Ut&&!Ht&&l.value===_t&&(Ht=!0,L(n.location).catch(F=>{}));const D={};for(const F in _t)Object.defineProperty(D,F,{get:()=>l.value[F],enumerable:!0});k.provide(sn,Pt),k.provide(rn,Ei(D)),k.provide(Mr,l);const O=k.unmount;Bt.add(k),k.unmount=function(){Bt.delete(k),Bt.size<1&&(c=_t,Ye&&Ye(),Ye=null,l.value=_t,Ht=!1,ce=!1),O()}}};function He(k){return k.reduce((D,O)=>D.then(()=>yt(O)),Promise.resolve())}return Pt}function nr(e){return Pe(rn)}const gd=["aria-label"],pd={key:0,class:"fas fa-moon text-purple-400"},hd={key:1,class:"fas fa-sun text-yellow-500"},xd={__name:"ThemeToggle",setup(e){const t=xe(!1);Ft(()=>{const n=localStorage.getItem("theme"),i=window.matchMedia("(prefers-color-scheme: dark)").matches;t.value=n==="dark"||!n&&i,s(),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",a=>{localStorage.getItem("theme")||(t.value=a.matches,s())})}),Ge(t,()=>{s(),localStorage.setItem("theme",t.value?"dark":"light")});function s(){t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}function r(){t.value=!t.value}return(n,i)=>(y(),w("button",{onClick:r,class:"p-2 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-700 transition","aria-label":t.value?"Switch to light mode":"Switch to dark mode"},[t.value?(y(),w("i",pd)):(y(),w("i",hd))],8,gd))}},yd={class:"sticky top-0 z-50 glass shadow-modern"},vd={class:"container mx-auto px-4"},bd={class:"flex items-center justify-between h-16"},_d={class:"hidden md:flex items-center space-x-6"},kd={class:"flex items-center space-x-4"},wd={key:0,class:"md:hidden py-2 border-t border-gray-200 dark:border-gray-700"},Cd={class:"flex flex-col space-y-1"},Rd={__name:"Navbar",setup(e){const t=nr(),s=Pe("globalData"),r=xe(!1),n=ee(()=>s.value?.Repositories||[]);return(i,a)=>(y(),w("nav",yd,[d("div",vd,[d("div",bd,[$(A(ke),{to:"/",class:"flex items-center space-x-2"},{default:Z(()=>[...a[5]||(a[5]=[d("i",{class:"fas fa-rocket text-2xl gradient-text"},null,-1),d("span",{class:"text-xl font-bold gradient-text"},"Git Velocity",-1)])]),_:1}),d("div",_d,[$(A(ke),{to:"/",class:Q(A(t).path==="/"?"nav-link-active":"nav-link")},{default:Z(()=>[...a[6]||(a[6]=[se(" Dashboard ",-1)])]),_:1},8,["class"]),$(A(ke),{to:"/leaderboard",class:Q(A(t).path==="/leaderboard"?"nav-link-active":"nav-link")},{default:Z(()=>[...a[7]||(a[7]=[se(" Leaderboard ",-1)])]),_:1},8,["class"]),$(A(ke),{to:"/how-scoring-works",class:Q(A(t).path==="/how-scoring-works"?"nav-link-active":"nav-link")},{default:Z(()=>[...a[8]||(a[8]=[se(" How Scoring Works ",-1)])]),_:1},8,["class"]),(y(!0),w(J,null,be(n.value,o=>(y(),oe(A(ke),{key:`${o.Owner}/${o.Name}`,to:`/repos/${o.Owner}/${o.Name}`,class:Q(A(t).path.includes(`/repos/${o.Owner}/${o.Name}`)?"nav-link-active":"nav-link")},{default:Z(()=>[se(v(o.Name),1)]),_:2},1032,["to","class"]))),128))]),d("div",kd,[$(xd),d("button",{onClick:a[0]||(a[0]=o=>r.value=!r.value),class:"md:hidden p-2 rounded-lg hover:bg-gray-200 dark:hover:bg-gray-700 transition"},[...a[9]||(a[9]=[d("i",{class:"fas fa-bars text-gray-700 dark:text-gray-200"},null,-1)])])])]),r.value?(y(),w("div",wd,[d("div",Cd,[$(A(ke),{to:"/",onClick:a[1]||(a[1]=o=>r.value=!1),class:Q(["block px-4 py-3 rounded-lg text-base font-medium transition-colors",A(t).path==="/"?"bg-primary-50 dark:bg-primary-900/20 text-primary-600 dark:text-primary-400":"text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800"])},{default:Z(()=>[...a[10]||(a[10]=[d("i",{class:"fas fa-home mr-3 w-5 text-center"},null,-1),se("Dashboard ",-1)])]),_:1},8,["class"]),$(A(ke),{to:"/leaderboard",onClick:a[2]||(a[2]=o=>r.value=!1),class:Q(["block px-4 py-3 rounded-lg text-base font-medium transition-colors",A(t).path==="/leaderboard"?"bg-primary-50 dark:bg-primary-900/20 text-primary-600 dark:text-primary-400":"text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800"])},{default:Z(()=>[...a[11]||(a[11]=[d("i",{class:"fas fa-trophy mr-3 w-5 text-center"},null,-1),se("Leaderboard ",-1)])]),_:1},8,["class"]),$(A(ke),{to:"/how-scoring-works",onClick:a[3]||(a[3]=o=>r.value=!1),class:Q(["block px-4 py-3 rounded-lg text-base font-medium transition-colors",A(t).path==="/how-scoring-works"?"bg-primary-50 dark:bg-primary-900/20 text-primary-600 dark:text-primary-400":"text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800"])},{default:Z(()=>[...a[12]||(a[12]=[d("i",{class:"fas fa-calculator mr-3 w-5 text-center"},null,-1),se("How Scoring Works ",-1)])]),_:1},8,["class"]),(y(!0),w(J,null,be(n.value,o=>(y(),oe(A(ke),{key:`${o.Owner}/${o.Name}`,to:`/repos/${o.Owner}/${o.Name}`,onClick:a[4]||(a[4]=l=>r.value=!1),class:Q(["block px-4 py-3 rounded-lg text-base font-medium transition-colors",A(t).path.includes(`/repos/${o.Owner}/${o.Name}`)?"bg-primary-50 dark:bg-primary-900/20 text-primary-600 dark:text-primary-400":"text-gray-700 dark:text-gray-200 hover:bg-gray-100 dark:hover:bg-gray-800"])},{default:Z(()=>[a[13]||(a[13]=d("i",{class:"fas fa-code-branch mr-3 w-5 text-center"},null,-1)),se(v(o.Name),1)]),_:2},1032,["to","class"]))),128))])])):G("",!0)])]))}},Sd={class:"py-8 px-4 mt-16 border-t border-gray-200 dark:border-gray-700"},Ad={class:"container mx-auto text-center"},Ed={key:0,class:"text-sm text-gray-400 dark:text-gray-500 mt-2"},Pd={__name:"Footer",setup(e){const t=Pe("globalData"),s=ee(()=>t.value?.GeneratedAt?new Date(t.value.GeneratedAt).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}):"");return(r,n)=>(y(),w("footer",Sd,[d("div",Ad,[n[0]||(n[0]=d("p",{class:"text-gray-500 dark:text-gray-400"},[se(" Generated by "),d("a",{href:"https://github.com/lukaszraczylo/git-velocity",class:"text-primary-500 hover:text-primary-600",target:"_blank",rel:"noopener noreferrer"}," Git Velocity ")],-1)),s.value?(y(),w("p",Ed,v(s.value),1)):G("",!0)])]))}},Td={class:"min-h-screen flex flex-col"},$d={class:"flex-1"},Od={key:0,class:"flex items-center justify-center min-h-[60vh]"},Id={key:1,class:"flex items-center justify-center min-h-[60vh]"},Md={class:"text-center"},Dd={class:"text-gray-600 dark:text-gray-400"},Nd={__name:"App",setup(e){const t=xe(null),s=xe(!0),r=xe(null);return gs("globalData",t),Ft(async()=>{try{const n=await fetch("./data/global.json");if(!n.ok)throw new Error("Failed to load data");t.value=await n.json()}catch(n){r.value=n.message}finally{s.value=!1}}),(n,i)=>{const a=Ho("router-view");return y(),w("div",Td,[$(Rd),d("main",$d,[s.value?(y(),w("div",Od,[...i[0]||(i[0]=[d("div",{class:"text-center"},[d("i",{class:"fas fa-spinner fa-spin text-4xl text-primary-500 mb-4"}),d("p",{class:"text-gray-600 dark:text-gray-400"},"Loading dashboard...")],-1)])])):r.value?(y(),w("div",Id,[d("div",Md,[i[1]||(i[1]=d("i",{class:"fas fa-exclamation-triangle text-4xl text-red-500 mb-4"},null,-1)),d("p",Dd,v(r.value),1)])])):(y(),oe(a,{key:2}))]),$(Pd)])}}};function U(e){return e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":String(e)}function Ld(e){return e==null?"-":e<1?Math.round(e*60)+"m":e<24?e.toFixed(1)+"h":(e/24).toFixed(1)+"d"}function vr(e){return e?new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}):""}function jd(e){return e==null?"0%":e.toFixed(1)+"%"}function Ea(e){return e?e.toLowerCase().replace(/\s+/g,"-").replace(/_/g,"-").replace(/[^a-z0-9-]/g,""):""}const Fd={class:"flex items-center justify-between"},Vd={class:"min-w-0 flex-1"},Hd={class:"text-xs sm:text-sm text-gray-500 dark:text-gray-400 mt-1 truncate"},we={__name:"StatCard",props:{value:{type:[Number,String],required:!0},label:{type:String,required:!0},icon:{type:String,default:""},iconColor:{type:String,default:"text-gray-500"},valueClass:{type:String,default:"gradient-text"},delay:{type:String,default:"0s"}},setup(e){return(t,s)=>(y(),w("div",{class:"card animate-fade-in-up",style:At({animationDelay:e.delay})},[d("div",Fd,[d("div",Vd,[d("div",{class:Q(["text-xl sm:text-2xl md:text-3xl font-bold truncate",e.valueClass])},v(typeof e.value=="number"?A(U)(e.value):e.value),3),d("div",Hd,v(e.label),1)]),e.icon?(y(),w("div",{key:0,class:Q(["text-2xl sm:text-3xl opacity-50 ml-2 flex-shrink-0",e.iconColor])},[d("i",{class:Q(e.icon)},null,2)],2)):G("",!0)])],4))}},Bd=["src","alt"],Es={__name:"Avatar",props:{src:{type:String,default:""},name:{type:String,required:!0},size:{type:String,default:"md"}},setup(e){const t=e,s={sm:"w-8 h-8 text-xs",md:"w-10 h-10 text-sm",lg:"w-14 h-14 text-xl",xl:"w-16 h-16 text-2xl","2xl":"w-32 h-32 text-4xl"},r=ee(()=>t.name.charAt(0).toUpperCase()),n=ee(()=>s[t.size]||s.md);return(i,a)=>e.src?(y(),w("img",{key:0,src:e.src,alt:e.name,class:Q([n.value,"rounded-full"])},null,10,Bd)):(y(),w("div",{key:1,class:Q([n.value,"rounded-full bg-gradient-to-br from-primary-500 to-accent-500 flex items-center justify-center text-white font-bold"])},v(r.value),3))}},Pa={__name:"RankBadge",props:{rank:{type:Number,required:!0},size:{type:String,default:"md"}},setup(e){const t=e,s={sm:"w-6 h-6 text-xs",md:"w-8 h-8 text-sm"},r=ee(()=>t.rank===1?"rank-1":t.rank===2?"rank-2":t.rank===3?"rank-3":"bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-300"),n=ee(()=>s[t.size]||s.md);return(i,a)=>(y(),w("span",{class:Q([[n.value,r.value,{"text-white":e.rank<=3}],"inline-flex items-center justify-center rounded-full font-bold"])},v(e.rank),3))}},Gd={class:"inline-flex flex-col items-center gap-2"},qd=["title"],Ud={class:"absolute bottom-full left-1/2 -translate-x-1/2 mb-3 px-3 py-2 bg-gray-900 dark:bg-gray-800 text-white text-xs rounded-xl opacity-0 group-hover/badge:opacity-100 transition-all duration-200 pointer-events-none whitespace-nowrap z-50 shadow-xl border border-white/10"},Wd={class:"font-bold text-sm"},Kd={class:"text-gray-300 text-[11px] mt-0.5"},zd={key:0,class:"text-[11px] font-medium text-gray-600 dark:text-gray-400 text-center leading-tight",style:{"max-width":"72px","word-wrap":"break-word"}},Cs={__name:"AchievementBadge",props:{achievementId:{type:String,required:!0},size:{type:String,default:"md"},showLabel:{type:Boolean,default:!1}},setup(e){const t={1:"from-stone-400 to-stone-500",2:"from-green-400 to-emerald-500",3:"from-blue-400 to-indigo-500",4:"from-purple-400 to-violet-500",5:"from-yellow-400 to-amber-500",6:"from-orange-400 to-red-500",7:"from-red-500 to-rose-600",8:"from-pink-500 to-fuchsia-600",9:"from-cyan-400 to-teal-500",10:"from-emerald-400 to-cyan-500",11:"from-violet-500 to-purple-600"},s=o=>{const l=[1,10,25,50,100,250,500,1e3,5e3,1e4,25e3];for(let c=l.length-1;c>=0;c--)if(o>=l[c])return c+1;return 1},r=o=>{const l=o.match(/(\d+)$/);return l?parseInt(l[1],10):50},n={"commit-1":{name:"First Steps",description:"Made your first commit",icon:"fa-baby"},"commit-10":{name:"Getting Started",description:"Made 10 commits",icon:"fa-seedling"},"commit-50":{name:"Contributor",description:"Made 50 commits",icon:"fa-code"},"commit-100":{name:"Committed",description:"Made 100 commits",icon:"fa-fire"},"commit-500":{name:"Code Machine",description:"Made 500 commits",icon:"fa-robot"},"commit-1000":{name:"Code Warrior",description:"Made 1000 commits",icon:"fa-crown"},"pr-1":{name:"PR Pioneer",description:"Opened your first pull request",icon:"fa-code-pull-request"},"pr-10":{name:"PR Regular",description:"Opened 10 pull requests",icon:"fa-code-branch"},"pr-25":{name:"PR Pro",description:"Opened 25 pull requests",icon:"fa-code-compare"},"pr-50":{name:"Merge Master",description:"Opened 50 pull requests",icon:"fa-code-merge"},"pr-100":{name:"PR Champion",description:"Opened 100 pull requests",icon:"fa-trophy"},"pr-250":{name:"PR Legend",description:"Opened 250 pull requests",icon:"fa-medal"},"review-1":{name:"First Review",description:"Reviewed your first pull request",icon:"fa-magnifying-glass"},"review-10":{name:"Reviewer",description:"Reviewed 10 pull requests",icon:"fa-eye"},"review-25":{name:"Review Regular",description:"Reviewed 25 pull requests",icon:"fa-glasses"},"review-50":{name:"Review Expert",description:"Reviewed 50 pull requests",icon:"fa-user-check"},"review-100":{name:"Review Guru",description:"Reviewed 100 pull requests",icon:"fa-user-graduate"},"review-250":{name:"Review Master",description:"Reviewed 250 pull requests",icon:"fa-award"},"comment-10":{name:"Commentator",description:"Left 10 PR review comments",icon:"fa-comment"},"comment-50":{name:"Feedback Giver",description:"Left 50 PR review comments",icon:"fa-comments"},"comment-100":{name:"Code Critic",description:"Left 100 PR review comments",icon:"fa-comment-dots"},"comment-250":{name:"Feedback Expert",description:"Left 250 PR review comments",icon:"fa-message"},"comment-500":{name:"Comment Champion",description:"Left 500 PR review comments",icon:"fa-scroll"},"lines-added-100":{name:"First Hundred",description:"Added 100 lines of code",icon:"fa-plus"},"lines-added-1000":{name:"Thousand Lines",description:"Added 1000 lines of code",icon:"fa-layer-group"},"lines-added-5000":{name:"Five Thousand",description:"Added 5000 lines of code",icon:"fa-cubes"},"lines-added-10000":{name:"Ten Thousand",description:"Added 10000 lines of code",icon:"fa-mountain"},"lines-added-50000":{name:"Code Mountain",description:"Added 50000 lines of code",icon:"fa-mountain-sun"},"lines-deleted-100":{name:"Tidying Up",description:"Deleted 100 lines of code",icon:"fa-eraser"},"lines-deleted-500":{name:"Spring Cleaning",description:"Deleted 500 lines of code",icon:"fa-broom"},"lines-deleted-1000":{name:"Code Cleaner",description:"Deleted 1000 lines of code",icon:"fa-trash-can"},"lines-deleted-5000":{name:"Refactoring Hero",description:"Deleted 5000 lines of code",icon:"fa-recycle"},"lines-deleted-10000":{name:"Deletion Master",description:"Deleted 10000 lines of code",icon:"fa-dumpster-fire"},"review-time-24h":{name:"Same Day Reviewer",description:"Average review response under 24 hours",icon:"fa-clock"},"review-time-4h":{name:"Quick Responder",description:"Average review response under 4 hours",icon:"fa-stopwatch"},"review-time-1h":{name:"Speed Demon",description:"Average review response under 1 hour",icon:"fa-bolt"},"repo-2":{name:"Multi-Repo",description:"Contributed to 2 repositories",icon:"fa-folder"},"repo-5":{name:"Repo Explorer",description:"Contributed to 5 repositories",icon:"fa-folder-tree"},"repo-10":{name:"Repo Master",description:"Contributed to 10 repositories",icon:"fa-network-wired"},"reviewees-3":{name:"Helpful Colleague",description:"Reviewed PRs from 3 different contributors",icon:"fa-user-group"},"reviewees-10":{name:"Team Player",description:"Reviewed PRs from 10 different contributors",icon:"fa-people-group"},"reviewees-25":{name:"Community Pillar",description:"Reviewed PRs from 25 different contributors",icon:"fa-people-roof"},"large-pr-500":{name:"Big Change",description:"Merged a PR with 500+ lines changed",icon:"fa-expand"},"large-pr-1000":{name:"Heavy Lifter",description:"Merged a PR with 1000+ lines changed",icon:"fa-weight-hanging"},"large-pr-5000":{name:"Mega Merge",description:"Merged a PR with 5000+ lines changed",icon:"fa-dumbbell"},"small-pr-5":{name:"Small Changes",description:"Merged 5 PRs under 100 lines",icon:"fa-compress"},"small-pr-10":{name:"Small PR Advocate",description:"Merged 10 PRs under 100 lines",icon:"fa-minimize"},"small-pr-25":{name:"Atomic Commits",description:"Merged 25 PRs under 100 lines",icon:"fa-atom"},"small-pr-50":{name:"Micro PR Master",description:"Merged 50 PRs under 100 lines",icon:"fa-microchip"},"perfect-pr-1":{name:"First Try",description:"1 PR merged without changes requested",icon:"fa-check"},"perfect-pr-5":{name:"Clean Code",description:"5 PRs merged without changes requested",icon:"fa-check-double"},"perfect-pr-10":{name:"Quality Author",description:"10 PRs merged without changes requested",icon:"fa-circle-check"},"perfect-pr-25":{name:"Flawless",description:"25 PRs merged without changes requested",icon:"fa-gem"},"active-7":{name:"Week Active",description:"Active on 7 different days",icon:"fa-calendar-day"},"active-30":{name:"Month Active",description:"Active on 30 different days",icon:"fa-calendar-week"},"active-60":{name:"Consistent Contributor",description:"Active on 60 different days",icon:"fa-chart-line"},"active-100":{name:"Dedicated Developer",description:"Active on 100 different days",icon:"fa-fire-flame-curved"},"streak-3":{name:"Getting Rolling",description:"3 day contribution streak",icon:"fa-forward"},"streak-7":{name:"Week Warrior",description:"7 day contribution streak",icon:"fa-calendar-week"},"streak-14":{name:"Two Week Streak",description:"14 day contribution streak",icon:"fa-fire"},"streak-30":{name:"Month Master",description:"30 day contribution streak",icon:"fa-calendar-check"},"workweek-3":{name:"Work Week Start",description:"3 consecutive weekday streak",icon:"fa-briefcase"},"workweek-5":{name:"Full Work Week",description:"5 consecutive weekday streak",icon:"fa-building"},"workweek-10":{name:"Two Week Grind",description:"10 consecutive weekday streak",icon:"fa-business-time"},"workweek-20":{name:"Month of Mondays",description:"20 consecutive weekday streak",icon:"fa-landmark"},"earlybird-10":{name:"Early Riser",description:"10 commits before 9am",icon:"fa-mug-hot"},"earlybird-25":{name:"Morning Person",description:"25 commits before 9am",icon:"fa-cloud-sun"},"earlybird-50":{name:"Early Bird",description:"50 commits before 9am",icon:"fa-sun"},"earlybird-100":{name:"Dawn Warrior",description:"100 commits before 9am",icon:"fa-sunrise"},"nightowl-10":{name:"Late Worker",description:"10 commits after 9pm",icon:"fa-cloud-moon"},"nightowl-25":{name:"Evening Coder",description:"25 commits after 9pm",icon:"fa-moon"},"nightowl-50":{name:"Night Owl",description:"50 commits after 9pm",icon:"fa-star"},"nightowl-100":{name:"Nocturnal",description:"100 commits after 9pm",icon:"fa-star-and-crescent"},"midnight-5":{name:"Night Shift",description:"5 commits between midnight and 4am",icon:"fa-ghost"},"midnight-10":{name:"Insomniac",description:"10 commits between midnight and 4am",icon:"fa-bed"},"midnight-25":{name:"Nosferatu",description:"25 commits between midnight and 4am",icon:"fa-skull"},"midnight-50":{name:"Vampire Coder",description:"50 commits between midnight and 4am",icon:"fa-skull-crossbones"},"weekend-5":{name:"Weekend Work",description:"5 weekend commits",icon:"fa-couch"},"weekend-10":{name:"Weekend Regular",description:"10 weekend commits",icon:"fa-house-laptop"},"weekend-25":{name:"Weekend Warrior",description:"25 weekend commits",icon:"fa-gamepad"},"weekend-50":{name:"No Days Off",description:"50 weekend commits",icon:"fa-person-running"},"ooh-10":{name:"Extra Hours",description:"10 commits outside 9am-5pm",icon:"fa-clock-rotate-left"},"ooh-25":{name:"Flexible Schedule",description:"25 commits outside 9am-5pm",icon:"fa-user-clock"},"ooh-50":{name:"Off-Hours Hero",description:"50 commits outside 9am-5pm",icon:"fa-hourglass-half"},"ooh-100":{name:"Time Bender",description:"100 commits outside 9am-5pm",icon:"fa-infinity"},"docs-100":{name:"Documenter",description:"Added 100 lines of comments/docs",icon:"fa-file-lines"},"docs-500":{name:"Technical Writer",description:"Added 500 lines of comments/docs",icon:"fa-book"},"docs-1000":{name:"Documentation Hero",description:"Added 1000 lines of comments/docs",icon:"fa-book-open"},"docs-2500":{name:"Knowledge Keeper",description:"Added 2500 lines of comments/docs",icon:"fa-scroll"},"docs-5000":{name:"Code Historian",description:"Added 5000 lines of comments/docs",icon:"fa-landmark"},"docs-del-50":{name:"Comment Trimmer",description:"Removed 50 lines of outdated comments",icon:"fa-scissors"},"docs-del-200":{name:"Cleanup Crew",description:"Removed 200 lines of outdated comments",icon:"fa-broom"},"docs-del-500":{name:"Dead Code Hunter",description:"Removed 500 lines of outdated comments",icon:"fa-skull-crossbones"},"docs-del-1000":{name:"Comment Surgeon",description:"Removed 1000 lines of outdated comments",icon:"fa-user-doctor"},"docs-del-2500":{name:"Noise Eliminator",description:"Removed 2500 lines of outdated comments",icon:"fa-volume-xmark"},"issue-1":{name:"Bug Hunter",description:"Opened your first issue",icon:"fa-bug"},"issue-5":{name:"Issue Reporter",description:"Opened 5 issues",icon:"fa-flag"},"issue-10":{name:"Quality Advocate",description:"Opened 10 issues",icon:"fa-clipboard-list"},"issue-25":{name:"Issue Expert",description:"Opened 25 issues",icon:"fa-list-check"},"issue-50":{name:"Issue Champion",description:"Opened 50 issues",icon:"fa-bullhorn"},"issue-close-1":{name:"Problem Solver",description:"Closed your first issue",icon:"fa-circle-check"},"issue-close-5":{name:"Bug Squasher",description:"Closed 5 issues",icon:"fa-bug-slash"},"issue-close-10":{name:"Issue Resolver",description:"Closed 10 issues",icon:"fa-check-double"},"issue-close-25":{name:"Closure Expert",description:"Closed 25 issues",icon:"fa-square-check"},"issue-close-50":{name:"Issue Terminator",description:"Closed 50 issues",icon:"fa-crosshairs"},"issue-comment-5":{name:"Issue Commenter",description:"Left 5 issue comments",icon:"fa-comment"},"issue-comment-10":{name:"Discussion Starter",description:"Left 10 issue comments",icon:"fa-comments"},"issue-comment-25":{name:"Issue Collaborator",description:"Left 25 issue comments",icon:"fa-people-arrows"},"issue-comment-50":{name:"Community Voice",description:"Left 50 issue comments",icon:"fa-bullhorn"},"issue-comment-100":{name:"Issue Guru",description:"Left 100 issue comments",icon:"fa-graduation-cap"},"issue-ref-5":{name:"Issue Linker",description:"Referenced issues in 5 commits",icon:"fa-link"},"issue-ref-10":{name:"Commit Connector",description:"Referenced issues in 10 commits",icon:"fa-diagram-project"},"issue-ref-25":{name:"Traceability Pro",description:"Referenced issues in 25 commits",icon:"fa-sitemap"},"issue-ref-50":{name:"Issue Tracker",description:"Referenced issues in 50 commits",icon:"fa-chart-gantt"},"issue-ref-100":{name:"Traceability Master",description:"Referenced issues in 100 commits",icon:"fa-network-wired"}},i=o=>{const l=n[o]||{name:o,description:"",icon:"fa-medal"},c=r(o),u=s(c),f=t[u]||"from-gray-400 to-gray-500";return{...l,gradient:f,tier:u,threshold:c}},a={sm:{wrapper:"w-9 h-9",icon:"text-sm",radius:"rounded-lg"},md:{wrapper:"w-11 h-11",icon:"text-base",radius:"rounded-xl"},lg:{wrapper:"w-14 h-14",icon:"text-lg",radius:"rounded-xl"}};return(o,l)=>(y(),w("div",Gd,[d("div",{class:"relative group/badge",title:i(e.achievementId).name},[d("div",{class:Q(["flex items-center justify-center bg-gradient-to-br shadow-lg hover:scale-105 hover:shadow-xl transition-all duration-200 cursor-pointer",[a[e.size].wrapper,a[e.size].radius,i(e.achievementId).gradient]])},[d("i",{class:Q(["fas text-white drop-shadow-sm",[i(e.achievementId).icon,a[e.size].icon]])},null,2)],2),d("div",Ud,[d("div",Wd,v(i(e.achievementId).name),1),d("div",Kd,v(i(e.achievementId).description),1),l[0]||(l[0]=d("div",{class:"absolute top-full left-1/2 -translate-x-1/2 border-[6px] border-transparent border-t-gray-900 dark:border-t-gray-800"},null,-1))])],8,qd),e.showLabel?(y(),w("span",zd,v(i(e.achievementId).name),1)):G("",!0)]))}},Qd={class:"flex items-center space-x-4"},Jd={class:"relative"},Yd={class:"flex-1"},Xd={class:"font-semibold text-gray-800 dark:text-white group-hover:text-primary-500 transition-colors"},Zd={class:"text-sm text-gray-500 dark:text-gray-400"},eu={key:0,class:"text-xs text-accent-500"},tu={class:"text-right"},su={class:"text-2xl font-bold gradient-text"},ru={key:0,class:"mt-4 flex flex-wrap gap-1.5"},nu={key:0,class:"inline-flex items-center justify-center w-8 h-8 rounded-lg bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-300 text-xs font-bold"},iu={__name:"ContributorCard",props:{contributor:{type:Object,required:!0},rank:{type:Number,default:0},showRank:{type:Boolean,default:!0},featured:{type:Boolean,default:!1}},setup(e){return(t,s)=>(y(),oe(A(ke),{to:{name:"contributor",params:{login:e.contributor.login}},class:Q(["card animate-fade-in-up block cursor-pointer hover:shadow-lg transition-shadow",e.featured&&e.rank===1?"ring-2 ring-yellow-400":""])},{default:Z(()=>[d("div",Qd,[d("div",Jd,[$(Es,{src:e.contributor.avatar_url,name:e.contributor.login,size:e.featured?"xl":"lg"},null,8,["src","name","size"]),e.showRank&&e.rank>0?(y(),oe(Pa,{key:0,rank:e.rank,size:"sm",class:"absolute -top-1 -right-1"},null,8,["rank"])):G("",!0)]),d("div",Yd,[d("h3",Xd,v(e.contributor.name||e.contributor.login),1),d("p",Zd,[d("span",{class:"hover:text-primary-500 transition-colors",onClick:s[0]||(s[0]=en(r=>t.window.open(`https://github.com/${e.contributor.login}`,"_blank"),["stop","prevent"]))},[se(" @"+v(e.contributor.login)+" ",1),s[1]||(s[1]=d("i",{class:"fas fa-external-link-alt text-xs ml-0.5 opacity-50"},null,-1))])]),e.contributor.team?(y(),w("p",eu,v(e.contributor.team),1)):G("",!0)]),d("div",tu,[d("div",su,v(A(U)(e.contributor.score?.total||e.contributor.score||0)),1),s[2]||(s[2]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"points",-1))])]),e.contributor.achievements?.length?(y(),w("div",ru,[(y(!0),w(J,null,be(e.contributor.achievements.slice(0,6),r=>(y(),oe(Cs,{key:r,"achievement-id":r,size:"sm"},null,8,["achievement-id"]))),128)),e.contributor.achievements.length>6?(y(),w("span",nu," +"+v(e.contributor.achievements.length-6),1)):G("",!0)])):G("",!0)]),_:1},8,["to","class"]))}},au={class:"flex items-center justify-between mb-4"},ou={class:"font-semibold text-gray-800 dark:text-white group-hover:text-primary-500 transition"},lu={class:"text-sm text-gray-500 dark:text-gray-400 mb-4"},cu={class:"grid grid-cols-3 gap-4 text-center"},du={class:"text-lg font-semibold text-gray-800 dark:text-white"},uu={class:"text-lg font-semibold text-gray-800 dark:text-white"},fu={class:"text-lg font-semibold text-gray-800 dark:text-white"},mu={__name:"RepoCard",props:{repo:{type:Object,required:!0}},setup(e){return(t,s)=>(y(),oe(A(ke),{to:`/repos/${e.repo.owner}/${e.repo.name}`,class:"card hover:shadow-lg transition group"},{default:Z(()=>[d("div",au,[d("h3",ou,v(e.repo.name),1),s[0]||(s[0]=d("i",{class:"fas fa-arrow-right text-gray-400 group-hover:text-primary-500 transition"},null,-1))]),d("p",lu,v(e.repo.owner)+"/"+v(e.repo.name),1),d("div",cu,[d("div",null,[d("div",du,v(A(U)(e.repo.total_commits)),1),s[1]||(s[1]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Commits",-1))]),d("div",null,[d("div",uu,v(A(U)(e.repo.total_prs)),1),s[2]||(s[2]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"PRs",-1))]),d("div",null,[d("div",fu,v(e.repo.active_contributors),1),s[3]||(s[3]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Contributors",-1))])])]),_:1},8,["to"]))}},gu={class:"flex items-center justify-between mb-4"},pu={class:"font-semibold text-gray-800 dark:text-white group-hover:text-primary-500 transition"},hu={class:"flex items-center space-x-2 mb-4"},xu={key:0,class:"w-8 h-8 rounded-full bg-gray-200 dark:bg-gray-700 flex items-center justify-center text-gray-600 dark:text-gray-300 text-xs font-bold"},yu={class:"grid grid-cols-2 gap-4 text-center"},vu={class:"text-lg font-semibold gradient-text"},bu={class:"text-lg font-semibold text-gray-800 dark:text-white"},_u={__name:"TeamCard",props:{team:{type:Object,required:!0}},setup(e){return(t,s)=>(y(),oe(A(ke),{to:`/teams/${A(Ea)(e.team.name)}`,class:"card hover:shadow-lg transition group"},{default:Z(()=>[d("div",gu,[d("h3",pu,v(e.team.name),1),d("span",{class:"w-3 h-3 rounded-full",style:At({backgroundColor:e.team.color||"#8b5cf6"})},null,4)]),d("div",hu,[(y(!0),w(J,null,be((e.team.members||[]).slice(0,5),(r,n)=>(y(),oe(Es,{key:r,name:r,size:"sm"},null,8,["name"]))),128)),(e.team.members?.length||0)>5?(y(),w("span",xu," +"+v(e.team.members.length-5),1)):G("",!0)]),d("div",yu,[d("div",null,[d("div",vu,v(A(U)(e.team.total_score)),1),s[0]||(s[0]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Total Score",-1))]),d("div",null,[d("div",bu,v(e.team.members?.length||0),1),s[1]||(s[1]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Members",-1))])])]),_:1},8,["to"]))}},ku={class:"text-2xl font-bold text-gray-800 dark:text-white mb-6"},Ue={__name:"SectionHeader",props:{title:{type:String,required:!0},icon:{type:String,default:""},iconColor:{type:String,default:"text-primary-500"}},setup(e){return(t,s)=>(y(),w("h2",ku,[e.icon?(y(),w("i",{key:0,class:Q([[e.icon,e.iconColor],"mr-2"])},null,2)):G("",!0),se(v(e.title)+" ",1),Lt(t.$slots,"suffix")]))}},wu=(e,t)=>{const s=e.__vccOpts||e;for(const[r,n]of t)s[r]=n;return s},Cu={key:0,class:"flex items-center justify-center h-full"},Ru={__name:"VelocityChart",props:{timeline:{type:Object,required:!0},height:{type:String,default:"300px"},showScore:{type:Boolean,default:!1}},setup(e){dn.register(...La);const t=e,s=xe(null);let r=null;const n=ee(()=>t.timeline?.series?t.timeline.series.filter(f=>t.showScore||f.name!=="Score"):[]),i=ee(()=>!t.timeline?.labels||!n.value.length?{labels:[],datasets:[]}:{labels:t.timeline.labels,datasets:n.value.map(f=>({label:f.name,data:f.data,borderColor:f.color,backgroundColor:f.color+"20",fill:!0,tension:.4,pointRadius:3,pointHoverRadius:5}))}),a=xe(window.innerWidth<640),o=ee(()=>({responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},plugins:{legend:{position:"top",labels:{usePointStyle:!0,padding:a.value?10:20,boxWidth:a.value?8:12,font:{size:a.value?10:12}}},tooltip:{backgroundColor:"rgba(0, 0, 0, 0.8)",padding:a.value?8:12,titleFont:{size:a.value?12:14},bodyFont:{size:a.value?11:13},callbacks:{label:f=>`${f.dataset.label}: ${f.parsed.y.toLocaleString()}`}}},scales:{x:{grid:{display:!1},ticks:{font:{size:a.value?9:11},maxRotation:a.value?45:0,autoSkip:!0,maxTicksLimit:a.value?6:12}},y:{beginAtZero:!0,grid:{color:"rgba(0, 0, 0, 0.05)"},ticks:{font:{size:a.value?9:11},callback:f=>f>=1e3?(f/1e3).toFixed(1)+"k":f}}}}));function l(){if(!s.value||!i.value.labels.length)return;r&&r.destroy();const f=s.value.getContext("2d");r=new dn(f,{type:"line",data:i.value,options:o.value})}function c(){r?(r.data=i.value,r.update()):l()}function u(){const f=window.innerWidth<640;f!==a.value&&(a.value=f,l())}return Ft(()=>{l(),window.addEventListener("resize",u)}),Jr(()=>{window.removeEventListener("resize",u),r&&r.destroy()}),Ge(()=>t.timeline,()=>{c()},{deep:!0}),Ge(()=>t.showScore,()=>{c()}),(f,p)=>(y(),w("div",{class:"velocity-chart",style:At({height:e.height})},[d("canvas",{ref_key:"chartRef",ref:s},null,512),e.timeline?.labels?.length?G("",!0):(y(),w("div",Cu,[...p[0]||(p[0]=[d("p",{class:"text-gray-400"},"No velocity data available",-1)])]))],4))}},Su=wu(Ru,[["__scopeId","data-v-3b28013a"]]),Au={class:"py-10 sm:py-16 px-4"},Eu={class:"container mx-auto text-center animate-fade-in-up"},Pu={class:"flex flex-col items-center space-y-2 mt-4 text-sm text-gray-500 dark:text-gray-400"},Tu={key:0},$u={key:0},Ou={key:1},Iu={key:2},Mu={key:1},Du={key:0,class:"py-6 sm:py-8 px-4"},Nu={class:"container mx-auto"},Lu={class:"card"},ju={class:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-3 mb-4 sm:mb-6"},Fu={class:"flex items-center space-x-2 text-sm text-gray-600 dark:text-gray-400 cursor-pointer"},Vu={class:"h-[200px] sm:h-[280px] md:h-[320px]"},Hu={class:"py-8 px-4"},Bu={class:"container mx-auto"},Gu={class:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-4"},qu={class:"py-8 px-4"},Uu={class:"container mx-auto"},Wu={class:"grid md:grid-cols-3 gap-6"},Ku={class:"mt-6 text-center"},zu={class:"py-8 px-4"},Qu={class:"container mx-auto"},Ju={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},Yu={key:1,class:"py-8 px-4"},Xu={class:"container mx-auto"},Zu={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},ef={__name:"Dashboard",setup(e){const t=Pe("globalData"),s=ee(()=>t.value||{}),r=ee(()=>s.value.leaderboard?.slice(0,3)||[]),n=ee(()=>s.value.repositories||[]),i=ee(()=>s.value.teams||[]),a=ee(()=>s.value.velocity_timeline),o=xe(!1);return(l,c)=>(y(),w("div",null,[d("header",Au,[d("div",Eu,[c[4]||(c[4]=d("h1",{class:"text-3xl sm:text-4xl md:text-6xl font-bold mb-3 sm:mb-4"},[d("span",{class:"gradient-text"},"Git Velocity")],-1)),c[5]||(c[5]=d("p",{class:"text-base sm:text-xl text-gray-600 dark:text-gray-300 max-w-2xl mx-auto px-2"}," Celebrate your team's achievements and contributions with beautiful insights. ",-1)),d("div",Pu,[s.value.period?.start||s.value.period?.end?(y(),w("p",Tu,[c[1]||(c[1]=d("i",{class:"fas fa-calendar-alt mr-1 text-primary-500"},null,-1)),c[2]||(c[2]=d("span",{class:"font-medium"},"Period:",-1)),s.value.period.start?(y(),w("span",$u,v(A(vr)(s.value.period.start)),1)):G("",!0),s.value.period.start&&s.value.period.end?(y(),w("span",Ou," — ")):G("",!0),s.value.period.end?(y(),w("span",Iu,v(A(vr)(s.value.period.end)),1)):G("",!0)])):G("",!0),s.value.generated_at?(y(),w("p",Mu,[c[3]||(c[3]=d("i",{class:"fas fa-clock mr-1"},null,-1)),se(" Generated on "+v(A(vr)(s.value.generated_at)),1)])):G("",!0)])])]),a.value?(y(),w("section",Du,[d("div",Nu,[d("div",Lu,[d("div",ju,[$(Ue,{title:"Velocity Timeline",icon:"fas fa-chart-line","icon-color":"text-primary-500"}),d("label",Fu,[zr(d("input",{type:"checkbox","onUpdate:modelValue":c[0]||(c[0]=u=>o.value=u),class:"rounded border-gray-300 text-primary-500 focus:ring-primary-500"},null,512),[[Zl,o.value]]),c[6]||(c[6]=d("span",null,"Show Score",-1))])]),d("div",Vu,[$(Su,{timeline:a.value,"show-score":o.value,height:"100%"},null,8,["timeline","show-score"])])])])])):G("",!0),d("section",Hu,[d("div",Bu,[d("div",Gu,[$(we,{value:s.value.total_contributors||0,label:"Contributors",delay:"0s"},null,8,["value"]),$(we,{value:s.value.total_commits||0,label:"Commits",delay:"0.1s"},null,8,["value"]),$(we,{value:s.value.total_prs||0,label:"Pull Requests",delay:"0.2s"},null,8,["value"]),$(we,{value:s.value.total_reviews||0,label:"Reviews",delay:"0.3s"},null,8,["value"]),$(we,{value:"+"+A(U)(s.value.total_lines_added||0),label:"Lines Added","value-class":"text-green-500",delay:"0.4s"},null,8,["value"]),$(we,{value:"-"+A(U)(s.value.total_lines_deleted||0),label:"Lines Deleted","value-class":"text-red-500",delay:"0.5s"},null,8,["value"])])])]),d("section",qu,[d("div",Uu,[$(Ue,{title:"Top Contributors",icon:"fas fa-trophy","icon-color":"text-yellow-500"}),d("div",Wu,[(y(!0),w(J,null,be(r.value,(u,f)=>(y(),oe(iu,{key:u.login,contributor:u,rank:f+1,featured:""},null,8,["contributor","rank"]))),128))]),d("div",Ku,[$(A(ke),{to:"/leaderboard",class:"btn-primary"},{default:Z(()=>[...c[7]||(c[7]=[se(" View Full Leaderboard ",-1),d("i",{class:"fas fa-arrow-right ml-2"},null,-1)])]),_:1})])])]),d("section",zu,[d("div",Qu,[$(Ue,{title:"Repositories",icon:"fas fa-code-branch","icon-color":"text-accent-500"}),d("div",Ju,[(y(!0),w(J,null,be(n.value,u=>(y(),oe(mu,{key:`${u.owner}/${u.name}`,repo:u},null,8,["repo"]))),128))])])]),i.value.length?(y(),w("section",Yu,[d("div",Xu,[$(Ue,{title:"Teams",icon:"fas fa-users","icon-color":"text-blue-500"}),d("div",Zu,[(y(!0),w(J,null,be(i.value,u=>(y(),oe(_u,{key:u.name,team:u},null,8,["team"]))),128))])])])):G("",!0)]))}},tf={class:"flex items-center space-x-2 text-sm text-gray-500 dark:text-gray-400 mb-6"},sf={key:2,class:"fas fa-chevron-right text-xs"},rf={__name:"Breadcrumb",props:{items:{type:Array,required:!0}},setup(e){return(t,s)=>(y(),w("div",tf,[(y(!0),w(J,null,be(e.items,(r,n)=>(y(),w(J,{key:n},[r.to?(y(),oe(A(ke),{key:0,to:r.to,class:"hover:text-primary-500"},{default:Z(()=>[se(v(r.label),1)]),_:2},1032,["to"])):(y(),w("span",{key:1,class:Q(n===e.items.length-1?"text-gray-800 dark:text-white":"")},v(r.label),3)),n[]},centered:{type:Boolean,default:!1}},setup(e){return(t,s)=>(y(),w("header",nf,[d("div",{class:Q(["container mx-auto",{"text-center":e.centered}])},[e.breadcrumbs.length?(y(),oe(rf,{key:0,items:e.breadcrumbs},null,8,["items"])):G("",!0),d("div",{class:Q(["flex items-center",e.centered?"justify-center":""])},[Lt(t.$slots,"prefix"),d("h1",af,[e.icon?(y(),w("i",{key:0,class:Q([[e.icon,e.iconColor],"mr-3"])},null,2)):G("",!0),d("span",of,v(e.title),1)])],2),e.subtitle||t.$slots.subtitle?(y(),w("p",lf,[Lt(t.$slots,"subtitle",{},()=>[se(v(e.subtitle),1)])])):G("",!0),Lt(t.$slots,"extra")],2)]))}},cf={class:"card overflow-hidden p-0"},df={class:"w-full"},uf={class:"bg-gray-50 dark:bg-gray-800/50"},ff={class:"divide-y divide-gray-200 dark:divide-gray-700"},mf=["onClick"],gf={key:0,class:"text-center py-12"},pf={class:"text-gray-500 dark:text-gray-400"},Ta={__name:"DataTable",props:{columns:{type:Array,required:!0},items:{type:Array,default:()=>[]},emptyIcon:{type:String,default:"fas fa-inbox"},emptyMessage:{type:String,default:"No data found"},rowClass:{type:String,default:"hover:bg-gray-50 dark:hover:bg-gray-800/30 transition"},clickableRows:{type:Boolean,default:!1}},emits:["row-click"],setup(e){const t=s=>{switch(s){case"center":return"text-center";case"right":return"text-right";default:return"text-left"}};return(s,r)=>(y(),w("div",cf,[d("table",df,[d("thead",uf,[d("tr",null,[(y(!0),w(J,null,be(e.columns,n=>(y(),w("th",{key:n.key,class:Q(["px-3 sm:px-6 py-3 sm:py-4 text-xs font-semibold text-gray-500 dark:text-gray-400 uppercase tracking-wider",t(n.align),n.headerClass])},v(n.label),3))),128))])]),d("tbody",ff,[(y(!0),w(J,null,be(e.items,(n,i)=>(y(),w("tr",{key:n.id||n.login||i,class:Q([e.rowClass,{"cursor-pointer":e.clickableRows}]),onClick:a=>e.clickableRows&&s.$emit("row-click",n)},[(y(!0),w(J,null,be(e.columns,a=>(y(),w("td",{key:a.key,class:Q(["px-3 sm:px-6 py-3 sm:py-4",t(a.align),a.class])},[Lt(s.$slots,a.key,{item:n,index:i},()=>[se(v(n[a.key]),1)])],2))),128))],10,mf))),128))])]),e.items.length?G("",!0):(y(),w("div",gf,[d("i",{class:Q([e.emptyIcon,"text-4xl text-gray-300 dark:text-gray-600 mb-4"])},null,2),d("p",pf,v(e.emptyMessage),1)]))]))}},hf={class:"font-medium text-gray-800 dark:text-white group-hover:text-primary-500 transition-colors"},xf={class:"text-sm"},yf=["href"],vf={key:1,class:"text-gray-500 dark:text-gray-400"},$a={__name:"ContributorRow",props:{contributor:{type:Object,required:!0},showGithubLink:{type:Boolean,default:!1},columns:{type:Array,default:()=>["commits","prs","reviews","lines","score"]}},setup(e){return(t,s)=>(y(),oe(A(ke),{to:{name:"contributor",params:{login:e.contributor.login}},class:"flex items-center space-x-3"},{default:Z(()=>[$(Es,{src:e.contributor.avatar_url,name:e.contributor.login,class:"ring-2 ring-transparent group-hover:ring-primary-500 transition-all"},null,8,["src","name"]),d("div",null,[d("div",hf,v(e.contributor.name||e.contributor.login),1),d("div",xf,[e.showGithubLink?(y(),w("a",{key:0,href:`https://github.com/${e.contributor.login}`,target:"_blank",rel:"noopener noreferrer",class:"text-gray-500 dark:text-gray-400 hover:text-primary-500 transition-colors",onClick:s[0]||(s[0]=en(()=>{},["stop"]))},[se(" @"+v(e.contributor.login)+" ",1),s[1]||(s[1]=d("i",{class:"fas fa-external-link-alt text-xs ml-1 opacity-50"},null,-1))],8,yf)):(y(),w("span",vf," @"+v(e.contributor.login),1))])])]),_:1},8,["to"]))}},Oa={commit:["commit-1","commit-10","commit-50","commit-100","commit-500","commit-1000"],pr:["pr-1","pr-10","pr-25","pr-50","pr-100","pr-250"],review:["review-1","review-10","review-25","review-50","review-100","review-250"],comment:["comment-10","comment-50","comment-100","comment-250","comment-500"],"lines-added":["lines-added-100","lines-added-1000","lines-added-5000","lines-added-10000","lines-added-50000"],"lines-deleted":["lines-deleted-100","lines-deleted-500","lines-deleted-1000","lines-deleted-5000","lines-deleted-10000"],"review-time":["review-time-24h","review-time-4h","review-time-1h"],repo:["repo-2","repo-5","repo-10"],reviewees:["reviewees-3","reviewees-10","reviewees-25"],"large-pr":["large-pr-500","large-pr-1000","large-pr-5000"],"small-pr":["small-pr-5","small-pr-10","small-pr-25","small-pr-50"],"perfect-pr":["perfect-pr-1","perfect-pr-5","perfect-pr-10","perfect-pr-25"],active:["active-7","active-30","active-60","active-100"],streak:["streak-3","streak-7","streak-14","streak-30"],workweek:["workweek-3","workweek-5","workweek-10","workweek-20"],earlybird:["earlybird-10","earlybird-25","earlybird-50","earlybird-100"],nightowl:["nightowl-10","nightowl-25","nightowl-50","nightowl-100"],midnight:["midnight-5","midnight-10","midnight-25","midnight-50"],weekend:["weekend-5","weekend-10","weekend-25","weekend-50"],ooh:["ooh-10","ooh-25","ooh-50","ooh-100"],docs:["docs-100","docs-500","docs-1000","docs-2500","docs-5000"],"docs-del":["docs-del-50","docs-del-200","docs-del-500","docs-del-1000","docs-del-2500"],issue:["issue-1","issue-5","issue-10","issue-25","issue-50"],"issue-close":["issue-close-1","issue-close-5","issue-close-10","issue-close-25","issue-close-50"],"issue-comment":["issue-comment-5","issue-comment-10","issue-comment-25","issue-comment-50","issue-comment-100"],"issue-ref":["issue-ref-5","issue-ref-10","issue-ref-25","issue-ref-50","issue-ref-100"]};function Ia(e){for(const[t,s]of Object.entries(Oa))if(s.includes(e))return t;return null}function bf(e){const t=Ia(e);return t?Oa[t].indexOf(e):-1}function Ma(e){if(!e||!e.length)return[];const t={};for(const s of e){const r=Ia(s);if(!r){t[s]={id:s,tier:-1};continue}const n=bf(s);(!t[r]||n>t[r].tier)&&(t[r]={id:s,tier:n})}return Object.values(t).sort((s,r)=>r.tier-s.tier).map(s=>s.id)}const _f={class:"py-8 px-4"},kf={class:"container mx-auto max-w-5xl"},wf={class:"mb-6"},Cf={class:"relative max-w-md"},Rf={key:0,class:"mt-2 text-sm text-gray-500 dark:text-gray-400"},Sf={class:"flex flex-wrap gap-1.5 max-w-[280px]"},Af={key:0,class:"text-gray-400 text-sm"},Ef={class:"hidden md:table-cell"},Pf={key:0,class:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-purple-100 dark:bg-purple-900/30 text-purple-800 dark:text-purple-300"},Tf={key:1,class:"text-gray-400"},$f={class:"hidden sm:table-cell"},Of={key:0,class:"text-sm text-gray-600 dark:text-gray-300"},If={key:1,class:"text-gray-400"},Mf={class:"text-lg font-bold gradient-text"},Df={__name:"Leaderboard",setup(e){const t=Pe("globalData"),s=xe(""),r=ee(()=>t.value?.leaderboard||[]),n=ee(()=>{if(!s.value.trim())return r.value;const o=s.value.toLowerCase().trim();return r.value.filter(l=>{const c=(l.name||"").toLowerCase(),u=(l.login||"").toLowerCase();return c.includes(o)||u.includes(o)})}),i=[{key:"rank",label:"Rank",align:"left"},{key:"contributor",label:"Contributor",align:"left"},{key:"achievements",label:"Achievements",align:"left"},{key:"team",label:"Team",align:"left",headerClass:"hidden md:table-cell"},{key:"category",label:"Best At",align:"left",headerClass:"hidden sm:table-cell"},{key:"score",label:"Score",align:"right"}],a=o=>({Commits:"fas fa-code-commit text-green-500",PRs:"fas fa-code-pull-request text-blue-500",Reviews:"fas fa-eye text-purple-500",Comments:"fas fa-comment text-orange-500"})[o]||"";return(o,l)=>(y(),w("div",null,[$(ir,{title:"Leaderboard",subtitle:"Top contributors ranked by their velocity score",icon:"fas fa-trophy","icon-color":"text-yellow-500",centered:""}),d("section",_f,[d("div",kf,[d("div",wf,[d("div",Cf,[l[3]||(l[3]=d("i",{class:"fas fa-search absolute left-3 top-1/2 -translate-y-1/2 text-gray-400"},null,-1)),zr(d("input",{"onUpdate:modelValue":l[0]||(l[0]=c=>s.value=c),type:"text",placeholder:"Search by name or username...",class:"w-full pl-10 pr-4 py-2.5 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent transition"},null,512),[[ga,s.value]]),s.value?(y(),w("button",{key:0,onClick:l[1]||(l[1]=c=>s.value=""),class:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200"},[...l[2]||(l[2]=[d("i",{class:"fas fa-times"},null,-1)])])):G("",!0)]),s.value&&n.value.length!==r.value.length?(y(),w("p",Rf," Showing "+v(n.value.length)+" of "+v(r.value.length)+" contributors ",1)):G("",!0)]),$(Ta,{columns:i,items:n.value,"empty-icon":"fas fa-users","empty-message":"No contributors found","row-class":"hover:bg-gray-50 dark:hover:bg-gray-800/30 transition group"},{rank:Z(({item:c})=>[$(Pa,{rank:c.rank},null,8,["rank"])]),contributor:Z(({item:c})=>[$($a,{contributor:c,"show-github-link":""},null,8,["contributor"])]),achievements:Z(({item:c})=>[d("div",Sf,[(y(!0),w(J,null,be(A(Ma)(c.achievements),u=>(y(),oe(Cs,{key:u,"achievement-id":u,size:"sm"},null,8,["achievement-id"]))),128)),(c.achievements||[]).length?G("",!0):(y(),w("span",Af,"-"))])]),team:Z(({item:c})=>[d("td",Ef,[c.team?(y(),w("span",Pf,v(c.team),1)):(y(),w("span",Tf,"-"))])]),category:Z(({item:c})=>[d("td",$f,[c.top_category?(y(),w("span",Of,[d("i",{class:Q([a(c.top_category),"mr-1"])},null,2),se(" "+v(c.top_category),1)])):(y(),w("span",If,"-"))])]),score:Z(({item:c})=>[d("span",Mf,v(A(U)(c.score)),1)]),_:1},8,["items"])])])]))}},Nf={class:"flex items-center justify-center min-h-[60vh]"},Lf={class:"text-center"},jf={class:"text-gray-600 dark:text-gray-400"},nn={__name:"LoadingState",props:{message:{type:String,default:"Loading..."}},setup(e){return(t,s)=>(y(),w("div",Nf,[d("div",Lf,[s[0]||(s[0]=d("i",{class:"fas fa-spinner fa-spin text-4xl text-primary-500 mb-4"},null,-1)),d("p",jf,v(e.message),1)])]))}},Ff={class:"flex items-center justify-center min-h-[60vh]"},Vf={class:"text-center"},Hf={class:"text-gray-600 dark:text-gray-400"},an={__name:"ErrorState",props:{message:{type:String,default:"An error occurred"},icon:{type:String,default:"fas fa-exclamation-triangle"}},setup(e){return(t,s)=>(y(),w("div",Ff,[d("div",Vf,[d("i",{class:Q([e.icon,"text-4xl text-red-500 mb-4"])},null,2),d("p",Hf,v(e.message),1),Lt(t.$slots,"actions")])]))}},Bf=["href"],Gf={key:0,class:"fas fa-external-link-alt text-xs ml-1 opacity-50"},Da={__name:"GithubLink",props:{url:{type:String,required:!0},label:{type:String,default:""},showIcon:{type:Boolean,default:!0}},setup(e){return(t,s)=>(y(),w("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",class:"hover:text-primary-500 transition-colors",onClick:s[0]||(s[0]=en(()=>{},["stop"]))},[Lt(t.$slots,"default",{},()=>[se(v(e.label),1)]),e.showIcon?(y(),w("i",Gf)):G("",!0)],8,Bf))}},qf={class:"py-8 px-4"},Uf={class:"container mx-auto"},Wf={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},Kf={class:"py-8 px-4"},zf={class:"container mx-auto"},Qf={class:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 mb-6"},Jf={class:"relative w-full sm:w-64"},Yf={key:0,class:"mb-4 text-sm text-gray-500 dark:text-gray-400"},Xf={class:"text-gray-800 dark:text-white"},Zf={class:"text-gray-800 dark:text-white"},e0={class:"text-gray-800 dark:text-white"},t0={class:"text-green-500"},s0={class:"text-red-500"},r0={class:"text-lg font-bold gradient-text"},n0={__name:"Repository",setup(e){const t=nr(),s=xe(null),r=xe(!0),n=xe(null),i=xe(""),a=ee(()=>s.value?.contributors||[]),o=ee(()=>{if(!i.value.trim())return a.value;const f=i.value.toLowerCase().trim();return a.value.filter(p=>{const h=(p.name||"").toLowerCase(),S=(p.login||"").toLowerCase();return h.includes(f)||S.includes(f)})}),l=ee(()=>[{label:"Dashboard",to:"/"},{label:"Repositories"},{label:s.value?.name||t.params.name}]),c=[{key:"contributor",label:"Contributor",align:"left"},{key:"commits",label:"Commits",align:"center"},{key:"prs",label:"PRs",align:"center"},{key:"reviews",label:"Reviews",align:"center"},{key:"lines",label:"Lines +/-",align:"center"},{key:"score",label:"Score",align:"right"}];async function u(){r.value=!0,n.value=null;try{const f=await fetch(`./data/repos/${t.params.owner}/${t.params.name}/metrics.json`);if(!f.ok)throw new Error("Repository not found");s.value=await f.json()}catch(f){n.value=f.message}finally{r.value=!1}}return Ft(u),Ge(()=>t.params,u),(f,p)=>(y(),w("div",null,[r.value?(y(),oe(nn,{key:0,message:"Loading repository..."})):n.value?(y(),oe(an,{key:1,message:n.value},null,8,["message"])):s.value?(y(),w(J,{key:2},[$(ir,{title:s.value.name,icon:"fas fa-code-branch","icon-color":"text-accent-500",breadcrumbs:l.value},{subtitle:Z(()=>[$(Da,{url:`https://github.com/${s.value.owner}/${s.value.name}`},{default:Z(()=>[se(v(s.value.owner)+"/"+v(s.value.name),1)]),_:1},8,["url"])]),_:1},8,["title","breadcrumbs"]),d("section",qf,[d("div",Uf,[d("div",Wf,[$(we,{value:s.value.total_commits,label:"Commits",icon:"fas fa-code-commit","icon-color":"text-green-500"},null,8,["value"]),$(we,{value:s.value.total_prs,label:"Pull Requests",icon:"fas fa-code-pull-request","icon-color":"text-blue-500"},null,8,["value"]),$(we,{value:s.value.total_reviews,label:"Reviews",icon:"fas fa-eye","icon-color":"text-purple-500"},null,8,["value"]),$(we,{value:s.value.active_contributors,label:"Contributors",icon:"fas fa-users","icon-color":"text-orange-500"},null,8,["value"])])])]),d("section",Kf,[d("div",zf,[d("div",Qf,[$(Ue,{title:"Contributors",icon:"fas fa-users","icon-color":"text-blue-500",class:"mb-0"}),d("div",Jf,[p[3]||(p[3]=d("i",{class:"fas fa-search absolute left-3 top-1/2 -translate-y-1/2 text-gray-400"},null,-1)),zr(d("input",{"onUpdate:modelValue":p[0]||(p[0]=h=>i.value=h),type:"text",placeholder:"Search contributors...",class:"w-full pl-10 pr-4 py-2 rounded-lg border border-gray-200 dark:border-gray-700 bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent transition text-sm"},null,512),[[ga,i.value]]),i.value?(y(),w("button",{key:0,onClick:p[1]||(p[1]=h=>i.value=""),class:"absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200"},[...p[2]||(p[2]=[d("i",{class:"fas fa-times"},null,-1)])])):G("",!0)])]),i.value&&o.value.length!==a.value.length?(y(),w("p",Yf," Showing "+v(o.value.length)+" of "+v(a.value.length)+" contributors ",1)):G("",!0),$(Ta,{columns:c,items:o.value,"empty-icon":"fas fa-users","empty-message":"No contributors found","row-class":"hover:bg-gray-50 dark:hover:bg-gray-800/30 transition group"},{contributor:Z(({item:h})=>[$($a,{contributor:h},null,8,["contributor"])]),commits:Z(({item:h})=>[d("span",Xf,v(A(U)(h.commit_count)),1)]),prs:Z(({item:h})=>[d("span",Zf,v(A(U)(h.prs_opened)),1)]),reviews:Z(({item:h})=>[d("span",e0,v(A(U)(h.reviews_given)),1)]),lines:Z(({item:h})=>[d("span",t0,"+"+v(A(U)(h.lines_added)),1),p[4]||(p[4]=d("span",{class:"text-gray-400 mx-1"},"/",-1)),d("span",s0,"-"+v(A(U)(h.lines_deleted)),1)]),score:Z(({item:h})=>[d("span",r0,v(A(U)(h.score?.total||0)),1)]),_:1},8,["items"])])])],64)):G("",!0)]))}},i0={class:"flex items-center space-x-4 mb-4"},a0={class:"font-semibold text-gray-800 dark:text-white"},o0={class:"text-sm text-gray-500 dark:text-gray-400"},l0={class:"grid grid-cols-3 gap-4 text-center mb-4"},c0={class:"text-lg font-semibold text-gray-800 dark:text-white"},d0={class:"text-lg font-semibold text-gray-800 dark:text-white"},u0={class:"text-lg font-semibold text-gray-800 dark:text-white"},f0={class:"flex items-center justify-between pt-4 border-t border-gray-200 dark:border-gray-700"},m0={class:"text-xl font-bold gradient-text"},g0={key:0,class:"mt-4 flex flex-wrap gap-2"},p0={key:0,class:"inline-flex items-center justify-center w-8 h-8 rounded-lg bg-gray-200 dark:bg-gray-700 text-gray-600 dark:text-gray-300 text-xs font-bold"},h0={__name:"MemberCard",props:{member:{type:Object,required:!0},linkToProfile:{type:Boolean,default:!0}},setup(e){return(t,s)=>(y(),oe(Bo(e.linkToProfile?A(ke):"div"),{to:e.linkToProfile?{name:"contributor",params:{login:e.member.login}}:void 0,class:Q(["card block",{"hover:shadow-lg transition cursor-pointer":e.linkToProfile}])},{default:Z(()=>[d("div",i0,[$(Es,{src:e.member.avatar_url,name:e.member.login,size:"lg"},null,8,["src","name"]),d("div",null,[d("h3",a0,v(e.member.name||e.member.login),1),d("p",o0,"@"+v(e.member.login),1)])]),d("div",l0,[d("div",null,[d("div",c0,v(A(U)(e.member.commit_count)),1),s[0]||(s[0]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Commits",-1))]),d("div",null,[d("div",d0,v(A(U)(e.member.prs_opened)),1),s[1]||(s[1]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"PRs",-1))]),d("div",null,[d("div",u0,v(A(U)(e.member.reviews_given)),1),s[2]||(s[2]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400"},"Reviews",-1))])]),d("div",f0,[s[3]||(s[3]=d("span",{class:"text-sm text-gray-500 dark:text-gray-400"},"Score",-1)),d("span",m0,v(A(U)(e.member.score?.total||0)),1)]),e.member.achievements?.length?(y(),w("div",g0,[(y(!0),w(J,null,be(e.member.achievements.slice(0,4),r=>(y(),oe(Cs,{key:r,"achievement-id":r,size:"sm"},null,8,["achievement-id"]))),128)),e.member.achievements.length>4?(y(),w("span",p0," +"+v(e.member.achievements.length-4),1)):G("",!0)])):G("",!0)]),_:1},8,["to","class"]))}},x0={class:"py-8 px-4"},y0={class:"container mx-auto"},v0={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},b0={class:"py-8 px-4"},_0={class:"container mx-auto"},k0={class:"grid md:grid-cols-2 lg:grid-cols-3 gap-6"},w0={__name:"Team",setup(e){const t=nr(),s=Pe("globalData"),r=xe(null),n=xe(!0),i=xe(null),a=ee(()=>[{label:"Dashboard",to:"/"},{label:"Teams"},{label:r.value?.name||t.params.slug}]);function o(){n.value=!0,i.value=null;const c=(s.value?.teams||[]).find(u=>Ea(u.name)===t.params.slug);c?r.value=c:i.value="Team not found",n.value=!1}return Ft(o),Ge(()=>t.params,o),Ge(s,o),(l,c)=>(y(),w("div",null,[n.value?(y(),oe(nn,{key:0,message:"Loading team..."})):i.value?(y(),oe(an,{key:1,message:i.value},null,8,["message"])):r.value?(y(),w(J,{key:2},[$(ir,{title:r.value.name,breadcrumbs:a.value,subtitle:`${r.value.members?.length||0} team members`},{prefix:Z(()=>[d("div",{class:"w-4 h-4 rounded-full mr-4",style:At({backgroundColor:r.value.color||"#8b5cf6"})},null,4)]),_:1},8,["title","breadcrumbs","subtitle"]),d("section",x0,[d("div",y0,[d("div",v0,[$(we,{value:r.value.total_score,label:"Total Score",icon:"fas fa-star","icon-color":"text-yellow-500"},null,8,["value"]),$(we,{value:r.value.aggregated_metrics?.commit_count||0,label:"Commits",icon:"fas fa-code-commit","icon-color":"text-green-500"},null,8,["value"]),$(we,{value:r.value.aggregated_metrics?.prs_merged||0,label:"PRs Merged",icon:"fas fa-code-merge","icon-color":"text-purple-500"},null,8,["value"]),$(we,{value:r.value.aggregated_metrics?.reviews_given||0,label:"Reviews",icon:"fas fa-eye","icon-color":"text-blue-500"},null,8,["value"])])])]),d("section",b0,[d("div",_0,[$(Ue,{title:"Team Members",icon:"fas fa-users","icon-color":"text-blue-500"}),d("div",k0,[(y(!0),w(J,null,be(r.value.member_metrics,u=>(y(),oe(h0,{key:u.login,member:u},null,8,["member"]))),128))])])])],64)):G("",!0)]))}},C0={class:"space-y-3"},R0={class:"flex items-start justify-between mb-3"},S0={class:"flex items-center space-x-3"},A0={class:"text-sm font-semibold text-gray-800 dark:text-white"},E0={class:"flex items-center space-x-2 text-xs text-gray-500 dark:text-gray-400"},P0={class:"font-medium"},T0={class:"text-right"},$0={class:"text-gray-500 dark:text-gray-400 font-medium"},O0={class:"text-xs text-gray-500 dark:text-gray-400 mt-0.5"},I0={class:"h-2.5 bg-gray-200 dark:bg-gray-700 rounded-full overflow-hidden"},M0={class:"flex items-center justify-between mt-1.5"},D0={class:"flex items-center space-x-1"},N0=["title"],L0={key:0,class:"text-[10px] text-gray-400"},j0={key:0,class:"text-center text-xs text-gray-500 dark:text-gray-400 pt-2"},F0={key:1,class:"text-center py-8 text-gray-500 dark:text-gray-400"},V0={__name:"AchievementProgress",props:{contributor:{type:Object,required:!0},showEarned:{type:Boolean,default:!1},maxDisplay:{type:Number,default:6}},setup(e){const t=e,s=[1,10,25,50,100,250,500,1e3,5e3,1e4,25e3],r={1:"from-stone-400 to-stone-500",2:"from-green-400 to-emerald-500",3:"from-blue-400 to-indigo-500",4:"from-purple-400 to-violet-500",5:"from-yellow-400 to-amber-500",6:"from-orange-400 to-red-500",7:"from-red-500 to-rose-600",8:"from-pink-500 to-fuchsia-600",9:"from-cyan-400 to-teal-500",10:"from-emerald-400 to-cyan-500",11:"from-violet-500 to-purple-600"},n={1:"bg-stone-500",2:"bg-green-500",3:"bg-blue-500",4:"bg-purple-500",5:"bg-yellow-500",6:"bg-orange-500",7:"bg-red-500",8:"bg-pink-500",9:"bg-cyan-500",10:"bg-emerald-500",11:"bg-violet-500"},i=[{category:"Commits",icon:"fa-code-commit",iconColor:"text-green-500",getValue:u=>u.commit_count||0,achievements:[{id:"first-commit",threshold:1,name:"First Steps"},{id:"commit-10",threshold:10,name:"Getting Started"},{id:"commit-25",threshold:25,name:"Warming Up"},{id:"commit-50",threshold:50,name:"On A Roll"},{id:"commit-100",threshold:100,name:"Committed"},{id:"commit-250",threshold:250,name:"Dedicated"},{id:"commit-500",threshold:500,name:"Code Machine"},{id:"commit-1000",threshold:1e3,name:"Code Warrior"},{id:"commit-5000",threshold:5e3,name:"Legendary"},{id:"commit-10000",threshold:1e4,name:"Mythical"},{id:"commit-25000",threshold:25e3,name:"Transcendent"}]},{category:"Pull Requests",icon:"fa-code-pull-request",iconColor:"text-blue-500",getValue:u=>u.prs_opened||0,achievements:[{id:"pr-opener",threshold:1,name:"PR Pioneer"},{id:"pr-10",threshold:10,name:"Pull Request Pro"},{id:"pr-25",threshold:25,name:"PR Regular"},{id:"pr-50",threshold:50,name:"Merge Master"},{id:"pr-100",threshold:100,name:"PR Champion"}]},{category:"Reviews",icon:"fa-eye",iconColor:"text-purple-500",getValue:u=>u.reviews_given||0,achievements:[{id:"reviewer",threshold:1,name:"Code Reviewer"},{id:"reviewer-10",threshold:10,name:"Review Starter"},{id:"reviewer-25",threshold:25,name:"Review Regular"},{id:"reviewer-50",threshold:50,name:"Review Expert"},{id:"reviewer-100",threshold:100,name:"Review Guru"}]},{category:"Lines Added",icon:"fa-plus",iconColor:"text-emerald-500",getValue:u=>u.lines_added||0,achievements:[{id:"lines-1000",threshold:1e3,name:"Thousand Lines"},{id:"lines-10000",threshold:1e4,name:"Ten Thousand"}]},{category:"Lines Deleted",icon:"fa-minus",iconColor:"text-red-500",getValue:u=>u.lines_deleted||0,achievements:[{id:"cleaner",threshold:1e3,name:"Code Cleaner"},{id:"refactorer",threshold:1e4,name:"Refactoring Champion"}]},{category:"Small PRs",icon:"fa-compress",iconColor:"text-cyan-500",getValue:u=>u.small_pr_count||0,achievements:[{id:"small-pr-10",threshold:10,name:"Small PR Advocate"},{id:"small-pr-50",threshold:50,name:"Atomic Commits Hero"}]},{category:"Perfect PRs",icon:"fa-gem",iconColor:"text-pink-500",getValue:u=>u.perfect_prs||0,achievements:[{id:"perfect-pr-5",threshold:5,name:"Clean Code"},{id:"perfect-pr-25",threshold:25,name:"Flawless"}]},{category:"Active Days",icon:"fa-calendar-check",iconColor:"text-orange-500",getValue:u=>u.active_days||0,achievements:[{id:"active-30",threshold:30,name:"Consistent Contributor"},{id:"active-100",threshold:100,name:"Dedicated Developer"}]},{category:"Streak",icon:"fa-fire",iconColor:"text-amber-500",getValue:u=>u.longest_streak||0,achievements:[{id:"streak-7",threshold:7,name:"Week Warrior"},{id:"streak-30",threshold:30,name:"Month Master"}]}],a=u=>{for(let f=s.length-1;f>=0;f--)if(u>=s[f])return f+1;return 1},o=u=>u.map(f=>({threshold:f.threshold,name:f.name,tier:a(f.threshold)})),l=ee(()=>{const u=new Set(t.contributor.achievements||[]),f=[];for(const p of i){const h=p.getValue(t.contributor);let S=null,M=null;const K=o(p.achievements);for(const Re of p.achievements)h>=Re.threshold?M=Re:S||(S=Re);if(!S)continue;const j=M?M.threshold:0,N=S.threshold-j,V=h-j,L=Math.min(100,Math.max(0,Math.round(V/N*100))),te=a(S.threshold),ye=K.findIndex(Re=>Re.threshold===S.threshold),ge=K.length;f.push({category:p.category,icon:p.icon,iconColor:p.iconColor,currentValue:h,target:S.threshold,name:S.name,id:S.id,progress:L,tier:te,tierIndex:ye+1,totalTiers:ge,allTiers:K,gradient:r[te],progressColor:n[te],isClose:L>=75,remaining:S.threshold-h,isEarned:u.has(S.id)})}return f.sort((p,h)=>h.progress-p.progress),f}),c=ee(()=>{new Set(t.contributor.achievements||[]);let u=0;for(const f of i){const p=f.getValue(t.contributor);for(const h of f.achievements)p(y(),w("div",C0,[(y(!0),w(J,null,be(l.value,p=>(y(),w("div",{key:p.id,class:"bg-gray-50 dark:bg-gray-800/50 rounded-xl p-4 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors"},[d("div",R0,[d("div",S0,[d("div",{class:Q(["w-10 h-10 rounded-lg bg-gradient-to-br flex items-center justify-center shadow-md",p.gradient])},[d("i",{class:Q(["fas text-white text-sm",p.icon])},null,2)],2),d("div",null,[d("div",A0,v(p.name),1),d("div",E0,[d("span",null,v(p.category),1),f[0]||(f[0]=d("span",{class:"text-gray-300 dark:text-gray-600"},"•",-1)),d("span",P0,"Tier "+v(p.tierIndex)+"/"+v(p.totalTiers),1)])])]),d("div",T0,[d("div",{class:Q(["text-sm font-bold",p.isClose?"text-green-500":"text-gray-700 dark:text-gray-200"])},[se(v(A(U)(p.currentValue))+" ",1),f[1]||(f[1]=d("span",{class:"text-gray-400 dark:text-gray-500 font-normal"},"/",-1)),d("span",$0,v(A(U)(p.target)),1)],2),d("div",O0,v(p.remaining>0?`${A(U)(p.remaining)} to go`:"Ready to claim!"),1)])]),d("div",I0,[d("div",{class:Q(["h-full rounded-full transition-all duration-500 ease-out",p.progressColor]),style:At({width:`${p.progress}%`})},null,6)]),d("div",M0,[d("div",D0,[(y(!0),w(J,null,be(p.allTiers.slice(0,5),(h,S)=>(y(),w("span",{key:h.threshold,class:Q(["w-1.5 h-1.5 rounded-full",S5?(y(),w("span",L0,"+"+v(p.totalTiers-5),1)):G("",!0)]),d("span",{class:Q(["text-xs font-semibold",p.isClose?"text-green-500":"text-gray-400 dark:text-gray-500"])},v(p.progress)+"% ",3)])]))),128)),c.value>0?(y(),w("div",j0," +"+v(c.value)+" more achievements to unlock ",1)):G("",!0),l.value.length?G("",!0):(y(),w("div",F0,[...f[2]||(f[2]=[d("div",{class:"w-16 h-16 mx-auto mb-3 rounded-2xl bg-gradient-to-br from-yellow-400 to-amber-500 flex items-center justify-center shadow-lg"},[d("i",{class:"fas fa-trophy text-2xl text-white"})],-1),d("p",{class:"font-medium text-gray-700 dark:text-gray-300"},"All achievements unlocked!",-1),d("p",{class:"text-sm mt-1"},"You're a legend!",-1)])]))]))}},H0={class:"py-12 px-4"},B0={class:"container mx-auto"},G0={class:"flex flex-col md:flex-row items-center md:items-start space-y-4 md:space-y-0 md:space-x-8"},q0={class:"text-center md:text-left"},U0={class:"text-4xl font-bold gradient-text"},W0={class:"text-xl text-gray-500 dark:text-gray-400 mt-1"},K0={class:"flex items-center justify-center md:justify-start space-x-4 mt-4"},z0={class:"score-card rounded-lg px-4 py-2"},Q0={class:"text-2xl font-bold gradient-text ml-2"},J0={key:0,class:"text-sm text-gray-500 dark:text-gray-400"},Y0={key:0},X0={key:0,class:"mt-6 flex flex-wrap justify-center md:justify-start gap-3"},Z0={class:"py-8 px-4"},em={class:"container mx-auto"},tm={class:"grid grid-cols-2 md:grid-cols-4 gap-4"},sm={class:"py-8 px-4"},rm={class:"container mx-auto"},nm={class:"grid md:grid-cols-2 gap-6"},im={class:"card"},am={class:"space-y-4"},om={class:"flex items-center justify-between"},lm={class:"text-green-500 font-semibold"},cm={class:"flex items-center justify-between"},dm={class:"text-red-500 font-semibold"},um={key:0,class:"flex items-center justify-between"},fm={class:"text-emerald-500 font-semibold"},mm={key:1,class:"flex items-center justify-between"},gm={class:"text-rose-500 font-semibold"},pm={key:2,class:"flex items-center justify-between"},hm={class:"text-cyan-500 font-semibold"},xm={key:3,class:"flex items-center justify-between"},ym={class:"text-amber-500 font-semibold"},vm={class:"flex items-center justify-between"},bm={class:"text-gray-800 dark:text-white font-semibold"},_m={key:4,class:"flex items-center justify-between"},km={class:"text-gray-800 dark:text-white font-semibold"},wm={class:"card"},Cm={class:"space-y-4"},Rm={class:"flex items-center justify-between"},Sm={class:"text-gray-800 dark:text-white font-semibold"},Am={class:"flex items-center justify-between"},Em={class:"text-green-500 font-semibold"},Pm={class:"flex items-center justify-between"},Tm={class:"text-orange-500 font-semibold"},$m={class:"flex items-center justify-between"},Om={class:"text-gray-800 dark:text-white font-semibold"},Im={key:0,class:"flex items-center justify-between"},Mm={class:"text-gray-800 dark:text-white font-semibold"},Dm={key:0,class:"card"},Nm={class:"space-y-4"},Lm={class:"flex items-center justify-between"},jm={class:"text-red-500 font-semibold"},Fm={class:"flex items-center justify-between"},Vm={class:"text-green-500 font-semibold"},Hm={class:"flex items-center justify-between"},Bm={class:"text-blue-500 font-semibold"},Gm={class:"flex items-center justify-between"},qm={class:"text-purple-500 font-semibold"},Um={key:0,class:"py-8 px-4"},Wm={class:"container mx-auto"},Km={class:"card"},zm={class:"grid grid-cols-2 md:grid-cols-4 lg:grid-cols-8 gap-4"},Qm={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},Jm={class:"text-2xl font-bold text-green-500"},Ym={class:"text-xs text-gray-400 dark:text-gray-500"},Xm={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},Zm={class:"text-2xl font-bold text-blue-500"},eg={class:"text-xs text-gray-400 dark:text-gray-500"},tg={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},sg={class:"text-2xl font-bold text-purple-500"},rg={class:"text-xs text-gray-400 dark:text-gray-500"},ng={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},ig={class:"text-2xl font-bold text-pink-500"},ag={class:"text-xs text-gray-400 dark:text-gray-500"},og={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},lg={class:"text-2xl font-bold text-red-500"},cg={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},dg={class:"text-2xl font-bold text-orange-500"},ug={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},fg={class:"text-2xl font-bold text-yellow-500"},mg={class:"text-center p-4 rounded-lg bg-gray-50 dark:bg-gray-800/50"},gg={class:"text-2xl font-bold text-indigo-500"},pg={class:"text-xs text-gray-400 dark:text-gray-500"},hg={class:"py-8 px-4"},xg={class:"container mx-auto"},yg={class:"grid md:grid-cols-2 gap-6"},vg={key:0,class:"card"},bg={class:"flex items-center justify-between mb-6"},_g={class:"px-2.5 py-1 rounded-full bg-gradient-to-r from-yellow-400 to-amber-500 text-white text-sm font-bold shadow-md"},kg={class:"grid grid-cols-4 sm:grid-cols-5 gap-3"},wg={class:"card"},Cg={key:1,class:"py-8 px-4"},Rg={class:"container mx-auto"},Sg={class:"flex flex-wrap gap-2"},Ag={__name:"Contributor",setup(e){const t=nr(),s=Pe("globalData"),r=xe(null),n=xe(!0),i=xe(null),a=ee(()=>[{label:"Dashboard",to:"/"},{label:"Contributors"},{label:r.value?.login||t.params.login}]);async function o(){n.value=!0,i.value=null;const l=t.params.login;try{const c=await fetch(`./data/contributors/${l}.json`);if(c.ok){const u=await c.json(),p=(s.value?.leaderboard||[]).find(h=>h.login===l);p&&(u.score={total:p.score,rank:p.rank,breakdown:u.score?.breakdown},u.achievements=p.achievements),r.value=u}else{let f=(s.value?.leaderboard||[]).find(p=>p.login===l);if(!f){const p=s.value?.repositories||[];for(const h of p){const S=h.contributors?.find(M=>M.login===l);if(S){f=S;break}}}f?r.value=f:i.value="Contributor not found"}}catch(c){i.value=`Failed to load contributor: ${c.message}`}n.value=!1}return Ft(o),Ge(()=>t.params,o),Ge(s,o),(l,c)=>(y(),w("div",null,[n.value?(y(),oe(nn,{key:0,message:"Loading contributor..."})):i.value?(y(),oe(an,{key:1,message:i.value},null,8,["message"])):r.value?(y(),w(J,{key:2},[d("header",H0,[d("div",B0,[$(ir,{breadcrumbs:a.value,title:""},null,8,["breadcrumbs"]),d("div",G0,[$(Es,{src:r.value.avatar_url,name:r.value.login,size:"2xl",class:"shadow-modern"},null,8,["src","name"]),d("div",q0,[d("h1",U0,v(r.value.name||r.value.login),1),d("p",W0,[$(Da,{url:`https://github.com/${r.value.login}`},{default:Z(()=>[se(" @"+v(r.value.login),1)]),_:1},8,["url"])]),d("div",K0,[d("div",z0,[c[0]||(c[0]=d("span",{class:"text-sm text-gray-500 dark:text-gray-400"},"Score:",-1)),d("span",Q0,v(A(U)(r.value.score?.total||r.value.score||0)),1)]),r.value.score?.rank?(y(),w("div",J0,[se(" Rank #"+v(r.value.score.rank)+" ",1),r.value.score?.percentile_rank?(y(),w("span",Y0," (Top "+v(A(jd)(r.value.score.percentile_rank))+") ",1)):G("",!0)])):G("",!0)]),r.value.achievements?.length?(y(),w("div",X0,[(y(!0),w(J,null,be(A(Ma)(r.value.achievements),u=>(y(),oe(Cs,{key:u,"achievement-id":u,size:"lg","show-label":""},null,8,["achievement-id"]))),128))])):G("",!0)])])])]),d("section",Z0,[d("div",em,[d("div",tm,[$(we,{value:r.value.commit_count||0,label:"Commits",icon:"fas fa-code-commit","icon-color":"text-green-500"},null,8,["value"]),$(we,{value:r.value.prs_opened||0,label:"PRs Opened",icon:"fas fa-code-pull-request","icon-color":"text-blue-500"},null,8,["value"]),$(we,{value:r.value.prs_merged||0,label:"PRs Merged",icon:"fas fa-code-merge","icon-color":"text-purple-500"},null,8,["value"]),$(we,{value:r.value.reviews_given||0,label:"Reviews Given",icon:"fas fa-eye","icon-color":"text-orange-500"},null,8,["value"])])])]),d("section",sm,[d("div",rm,[d("div",nm,[d("div",im,[c[9]||(c[9]=d("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white mb-4"},[d("i",{class:"fas fa-code text-green-500 mr-2"}),se("Code Contributions ")],-1)),d("div",am,[d("div",om,[c[1]||(c[1]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Lines Added",-1)),d("span",lm," +"+v(A(U)(r.value.lines_added||0)),1)]),d("div",cm,[c[2]||(c[2]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Lines Deleted",-1)),d("span",dm," -"+v(A(U)(r.value.lines_deleted||0)),1)]),r.value.meaningful_lines_added!==void 0?(y(),w("div",um,[c[3]||(c[3]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Meaningful Lines Added",-1)),d("span",fm," +"+v(A(U)(r.value.meaningful_lines_added||0)),1)])):G("",!0),r.value.meaningful_lines_deleted!==void 0?(y(),w("div",mm,[c[4]||(c[4]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Meaningful Lines Deleted",-1)),d("span",gm," -"+v(A(U)(r.value.meaningful_lines_deleted||0)),1)])):G("",!0),r.value.comment_lines_added!==void 0?(y(),w("div",pm,[c[5]||(c[5]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Comment Lines Added",-1)),d("span",hm," +"+v(A(U)(r.value.comment_lines_added||0)),1)])):G("",!0),r.value.comment_lines_deleted!==void 0?(y(),w("div",xm,[c[6]||(c[6]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Comment Lines Deleted",-1)),d("span",ym," -"+v(A(U)(r.value.comment_lines_deleted||0)),1)])):G("",!0),d("div",vm,[c[7]||(c[7]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Files Changed",-1)),d("span",bm,v(A(U)(r.value.files_changed||0)),1)]),r.value.avg_pr_size?(y(),w("div",_m,[c[8]||(c[8]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Avg PR Size",-1)),d("span",km,v(A(U)(Math.round(r.value.avg_pr_size)))+" lines ",1)])):G("",!0)])]),d("div",wm,[c[15]||(c[15]=d("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white mb-4"},[d("i",{class:"fas fa-comments text-purple-500 mr-2"}),se("Review Activity ")],-1)),d("div",Cm,[d("div",Rm,[c[10]||(c[10]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Reviews Given",-1)),d("span",Sm,v(A(U)(r.value.reviews_given||0)),1)]),d("div",Am,[c[11]||(c[11]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Approvals",-1)),d("span",Em,v(A(U)(r.value.approvals_given||0)),1)]),d("div",Pm,[c[12]||(c[12]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Changes Requested",-1)),d("span",Tm,v(A(U)(r.value.changes_requested||0)),1)]),d("div",$m,[c[13]||(c[13]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Review Comments",-1)),d("span",Om,v(A(U)(r.value.review_comments||0)),1)]),r.value.avg_review_time_hours?(y(),w("div",Im,[c[14]||(c[14]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Avg Review Time",-1)),d("span",Mm,v(A(Ld)(r.value.avg_review_time_hours)),1)])):G("",!0)])]),r.value.issues_opened||r.value.issues_closed||r.value.issue_comments||r.value.issue_references_in_commits?(y(),w("div",Dm,[c[20]||(c[20]=d("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white mb-4"},[d("i",{class:"fas fa-bug text-red-500 mr-2"}),se("Issue Activity ")],-1)),d("div",Nm,[d("div",Lm,[c[16]||(c[16]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Issues Opened",-1)),d("span",jm,v(A(U)(r.value.issues_opened||0)),1)]),d("div",Fm,[c[17]||(c[17]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Issues Closed",-1)),d("span",Vm,v(A(U)(r.value.issues_closed||0)),1)]),d("div",Hm,[c[18]||(c[18]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Issue Comments",-1)),d("span",Bm,v(A(U)(r.value.issue_comments||0)),1)]),d("div",Gm,[c[19]||(c[19]=d("span",{class:"text-gray-600 dark:text-gray-300"},"Issue References in Commits",-1)),d("span",qm,v(A(U)(r.value.issue_references_in_commits||0)),1)])])])):G("",!0)])])]),r.value.score?.breakdown?(y(),w("section",Um,[d("div",Wm,[d("div",Km,[c[32]||(c[32]=d("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white mb-4"},[d("i",{class:"fas fa-chart-pie gradient-text mr-2"}),se("Score Breakdown ")],-1)),d("div",zm,[d("div",Qm,[d("div",Jm,v(A(U)(r.value.score.breakdown.commits||0)),1),c[21]||(c[21]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Commits",-1)),d("div",Ym,v(r.value.commit_count||0)+" × 10 pts",1)]),d("div",Xm,[d("div",Zm,v(A(U)(r.value.score.breakdown.prs||0)),1),c[22]||(c[22]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"PRs",-1)),d("div",eg,v(r.value.prs_opened||0)+" opened + "+v(r.value.prs_merged||0)+" merged",1)]),d("div",tg,[d("div",sg,v(A(U)(r.value.score.breakdown.reviews||0)),1),c[23]||(c[23]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Reviews",-1)),d("div",rg,v(r.value.reviews_given||0)+" × 30 pts",1)]),d("div",ng,[d("div",ig,v(A(U)(r.value.score.breakdown.comments||0)),1),c[24]||(c[24]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Comments",-1)),d("div",ag,v(r.value.review_comments||0)+" × 5 pts",1)]),d("div",og,[d("div",lg,v(A(U)(r.value.score.breakdown.issues||0)),1),c[25]||(c[25]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Issues",-1)),c[26]||(c[26]=d("div",{class:"text-xs text-gray-400 dark:text-gray-500"},"opened, closed, comments, refs",-1))]),d("div",cg,[d("div",dg,v(A(U)(r.value.score.breakdown.line_changes||0)),1),c[27]||(c[27]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Line Changes",-1)),c[28]||(c[28]=d("div",{class:"text-xs text-gray-400 dark:text-gray-500"},"meaningful lines × 0.1 pts",-1))]),d("div",ug,[d("div",fg,v(A(U)(r.value.score.breakdown.response_bonus||0)),1),c[29]||(c[29]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Response Bonus",-1)),c[30]||(c[30]=d("div",{class:"text-xs text-gray-400 dark:text-gray-500"},"fast review bonus",-1))]),d("div",mg,[d("div",gg,v(A(U)(r.value.score.breakdown.out_of_hours||0)),1),c[31]||(c[31]=d("div",{class:"text-xs text-gray-500 dark:text-gray-400 mt-1"},"Out of Hours",-1)),d("div",pg,v(r.value.out_of_hours_count||0)+" × 2 pts",1)])])])])])):G("",!0),d("section",hg,[d("div",xg,[d("div",yg,[r.value.achievements?.length?(y(),w("div",vg,[d("div",bg,[c[33]||(c[33]=d("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white"},[d("i",{class:"fas fa-award gradient-text mr-2"}),se("Achievements Earned ")],-1)),d("span",_g,v(r.value.achievements.length),1)]),d("div",kg,[(y(!0),w(J,null,be(r.value.achievements,u=>(y(),w("div",{key:u,class:"flex flex-col items-center p-2 rounded-xl bg-gray-50 dark:bg-gray-800/50 hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors"},[$(Cs,{"achievement-id":u,size:"md","show-label":""},null,8,["achievement-id"])]))),128))])])):G("",!0),d("div",wg,[c[34]||(c[34]=d("h3",{class:"text-lg font-semibold text-gray-800 dark:text-white mb-6"},[d("i",{class:"fas fa-chart-line text-primary-500 mr-2"}),se("Next Achievements ")],-1)),$(V0,{contributor:r.value,"max-display":6},null,8,["contributor"])])])])]),r.value.repositories_contributed?.length?(y(),w("section",Cg,[d("div",Rg,[$(Ue,{title:`Contributed to ${r.value.repositories_contributed.length} Repositories`,icon:"fas fa-folder-tree","icon-color":"text-blue-500"},null,8,["title"]),d("div",Sg,[(y(!0),w(J,null,be(r.value.repositories_contributed,u=>(y(),oe(A(ke),{key:u,to:`/repos/${u}`,class:"inline-flex items-center px-3 py-1.5 rounded-full text-sm bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300 hover:bg-primary-100 dark:hover:bg-primary-900/30 hover:text-primary-700 dark:hover:text-primary-300 transition-colors"},{default:Z(()=>[c[35]||(c[35]=d("i",{class:"fas fa-code-branch text-gray-400 mr-2"},null,-1)),se(" "+v(u),1)]),_:2},1032,["to"]))),128))])])])):G("",!0)],64)):G("",!0)]))}},Eg={id:"scoring",class:"py-8 px-4"},Pg={class:"container mx-auto"},Tg={id:"leaderboard-info",class:"py-8 px-4"},$g={class:"container mx-auto"},Og={id:"achievements",class:"py-8 px-4"},Ig={class:"container mx-auto"},Mg={id:"data-sources",class:"py-8 px-4"},Dg={class:"container mx-auto"},Ng={__name:"HowScoringWorks",setup(e){return(t,s)=>(y(),w("div",null,[s[4]||(s[4]=as('

How Scoring Works

Understanding the point system, leaderboard rankings, and achievement criteria that power Git Velocity.

Overview

Git Velocity calculates developer contributions by analyzing GitHub activity across configured repositories. The scoring system is designed to encourage well-rounded contributions including code commits, pull requests, code reviews, and collaboration.

Point-Based

Activities earn configurable points

Aggregated

Combined across all repositories

Achievement-Driven

Unlock badges for milestones

',2)),d("section",Eg,[d("div",Pg,[$(Ue,{title:"Point Calculations",icon:"fas fa-coins","icon-color":"text-yellow-500"}),s[0]||(s[0]=as(`

Score Formula

Total Score = Commits + Lines + PRs + Reviews + Comments + Issues + Bonuses
-
-Where:
-  Commits    = commit_count x 10 pts
-  Lines      = (added x 0.1) + (deleted x 0.05) pts
-  PRs        = (opened x 25) + (merged x 50) pts
-  Reviews    = reviews_given x 30 pts
-  Comments   = review_comments x 5 pts
-  Issues     = (opened x 10) + (closed x 20) + (comments x 5) + (refs x 5) pts
-  Response   = fast review bonus (0-50 pts)
-  Out of Hrs = commits outside 9-5 x 2 pts

All point values are configurable in your .git-velocity.yaml file.

Default Point Values

Commit
10 pts
Commit + Tests
15 pts
Lines Added
0.1 pts
Lines Deleted
0.05 pts
PR Opened
25 pts
PR Merged
50 pts
PR Reviewed
30 pts
Review Comment
5 pts
Fast Review <1h
50 pts
Fast Review <4h
25 pts
Fast Review <24h
10 pts
Out of Hours
2 pts
Issue Opened
10 pts
Issue Closed
20 pts
Issue Comment
5 pts
Issue Reference
5 pts

Meaningful Lines

By default, Git Velocity uses meaningful lines instead of raw line counts. This filters out noise and rewards actual code contributions:

Counted as Meaningful

  • Actual code logic
  • Function definitions
  • Variable declarations
  • Import statements

Filtered Out

  • Empty lines / whitespace
  • Single-line comments
  • Multi-line comment blocks
  • Documentation strings

Meaningful lines filtering is always enabled to accurately reflect code contributions.

`,1))])]),d("section",Tg,[d("div",$g,[$(Ue,{title:"Leaderboard Rankings",icon:"fas fa-list-ol","icon-color":"text-accent-500"}),s[1]||(s[1]=as('

Ranking Process

  1. 1

    Aggregate Across Repos

    Metrics from all configured repositories are combined per contributor

  2. 2

    Calculate Total Score

    Apply point values to each activity type and sum the breakdown

  3. 3

    Sort by Score

    Contributors are sorted in descending order by total score

  4. 4

    Assign Ranks & Percentiles

    Each contributor receives a rank (1st, 2nd...) and percentile position

Top Achievers

Git Velocity tracks top performers in each category:

Overall Leader

Highest total score

Top Committer

Most commits

Top Reviewer

Most reviews given

Top PR Author

Most PRs opened

Team Scoring

When teams are configured, Git Velocity calculates team metrics:

  • Total Team Score: Sum of all member scores
  • Average Score: Total score / number of members
  • Member Breakdown: Individual scores and achievements per team member
',1))])]),d("section",Og,[d("div",Ig,[$(Ue,{title:"Achievement System",icon:"fas fa-trophy","icon-color":"text-yellow-500"}),s[2]||(s[2]=as('

115 achievements across 26 categories with tiered progression

Achievement Categories

Commits

Tiers: 1, 10, 50, 100, 500, 1000

First Steps, Getting Started, Contributor, Committed, Code Machine, Code Warrior

PRs Opened

Tiers: 1, 10, 25, 50, 100, 250

PR Pioneer, PR Regular, PR Pro, Merge Master, PR Champion, PR Legend

Reviews Given

Tiers: 1, 10, 25, 50, 100, 250

First Review, Reviewer, Review Regular, Review Expert, Review Guru, Review Master

Review Comments

Tiers: 10, 50, 100, 250, 500

Commentator, Feedback Giver, Code Critic, Feedback Expert, Comment Champion

Lines Added

Tiers: 100, 1K, 5K, 10K, 50K

First Hundred, Thousand Lines, Five Thousand, Ten Thousand, Code Mountain

Lines Deleted

Tiers: 100, 500, 1K, 5K, 10K

Tidying Up, Spring Cleaning, Code Cleaner, Refactoring Hero, Deletion Master

Response Time

Tiers: <24h, <4h, <1h

Same Day Reviewer, Quick Responder, Speed Demon

Contribution Streaks

Tiers: 3, 7, 14, 30 days

Getting Rolling, Week Warrior, Two Week Streak, Month Master

Activity Patterns

Early Bird, Night Owl, Weekend Warrior

Commits at different times of day unlock special badges

Issues Opened

Tiers: 1, 5, 10, 25, 50

Issue Opener, Reporter, Bug Hunter, Issue Tracker, Issue Master

Issues Closed

Tiers: 1, 5, 10, 25, 50

Issue Closer, Problem Solver, Resolver, Issue Crusher, Closure King

Issue Comments

Tiers: 5, 10, 25, 50, 100

Issue Commenter, Discussion Starter, Feedback Provider, Issue Conversationalist, Discussion Champion

How Achievements Are Earned

Each achievement has a condition type and threshold. When your metrics meet or exceed the threshold, the achievement is unlocked.

Condition TypeMetric CheckedComparison
commit_countTotal commits≥ threshold
pr_opened_countPRs opened≥ threshold
review_countReviews given≥ threshold
avg_review_time_hoursAverage review response≤ threshold (lower is better)
longest_streakConsecutive active days≥ threshold
perfect_prsPRs with no changes requested≥ threshold
issues_openedIssues created≥ threshold
issues_closedIssues resolved/closed≥ threshold

Achievement definitions are hardcoded and cannot be customized to prevent manipulation.

Tiered Progression

Most achievements have multiple tiers. As you progress, you unlock higher tiers:

1
Tier 1
10
Tier 2
25
Tier 3
50
Tier 4
100
Tier 5
250
Tier 6
500
Tier 7
1k+
Tier 8+

The leaderboard shows only the highest tier achieved per category for each contributor.

',2))])]),d("section",Mg,[d("div",Dg,[$(Ue,{title:"Data Sources",icon:"fab fa-github","icon-color":"text-gray-700 dark:text-gray-300"}),s[3]||(s[3]=as('

GitHub API Data

Commits

  • SHA, message, timestamp
  • Author (login, name, email)
  • Additions, deletions, files changed
  • Patch/diff for line analysis

Pull Requests

  • State (open, merged, closed)
  • Author and timestamps
  • Size (additions, deletions)
  • Comments count

Reviews

  • Review state (approved, changes requested)
  • Reviewer login
  • Submission timestamp
  • Comment count

User Profiles

  • GitHub login (username)
  • Display name
  • Avatar URL
  • Public email (for deduplication)

Derived Metrics

These metrics are calculated from raw data:

Meaningful Lines

Parsed from commit diffs, filtering comments/whitespace

Average Review Time

Time between PR creation and first review

Contribution Streaks

Consecutive days with activity

Perfect PRs

PRs merged without "changes requested" reviews

Out of Hours

Commits outside 9am-5pm based on commit timestamp

Issue References

Commits containing #123 patterns (fixes, closes, resolves, refs)

Bot Filtering

By default, bot activity is excluded from metrics. The following patterns are automatically filtered:

*[bot]dependabot*renovate*github-actions*codecov*snyk*greenkeeper*imgbot*allcontributors*semantic-release*

Enable with include_bots: true or add custom patterns with additional_bot_patterns.

',1))])])]))}},Lg=[{path:"/",name:"dashboard",component:ef},{path:"/leaderboard",name:"leaderboard",component:Df},{path:"/how-scoring-works",name:"how-scoring-works",component:Ng},{path:"/repos/:owner/:name",name:"repository",component:n0},{path:"/teams/:slug",name:"team",component:w0},{path:"/contributors/:login",name:"contributor",component:Ag}],jg=md({history:Wc(),routes:Lg,scrollBehavior(){return{top:0}}}),Na=ic(Nd);Na.use(jg);Na.mount("#app"); diff --git a/internal/generator/site/dist/assets/index-DfSB-nNa.css b/internal/generator/site/dist/assets/index-DfSB-nNa.css new file mode 100644 index 0000000..6e0ef33 --- /dev/null +++ b/internal/generator/site/dist/assets/index-DfSB-nNa.css @@ -0,0 +1 @@ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-700:oklch(50.5% .213 27.518);--color-red-900:oklch(39.6% .141 25.723);--color-orange-50:oklch(98% .016 73.684);--color-orange-400:oklch(75% .183 55.934);--color-orange-500:oklch(70.5% .213 47.604);--color-orange-700:oklch(55.3% .195 38.402);--color-orange-900:oklch(40.8% .123 38.172);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-700:oklch(55.5% .163 48.998);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-700:oklch(52.7% .154 150.069);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-teal-500:oklch(70.4% .14 182.503);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-500:oklch(58.5% .233 277.117);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-900:oklch(35.9% .144 278.697);--color-violet-500:oklch(60.6% .25 292.717);--color-purple-50:oklch(97.7% .014 308.299);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-300:oklch(82.7% .119 306.383);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-700:oklch(49.6% .265 301.924);--color-purple-800:oklch(43.8% .218 303.724);--color-purple-900:oklch(38.1% .176 304.987);--color-fuchsia-600:oklch(59.1% .293 322.896);--color-pink-400:oklch(71.8% .202 349.761);--color-pink-500:oklch(65.6% .241 354.308);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-stone-400:oklch(70.9% .01 56.259);--color-stone-500:oklch(55.3% .013 58.071);--color-white:#fff;--spacing:.25rem;--container-2xl:42rem;--container-5xl:64rem;--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;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wider:.05em;--leading-tight:1.25;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--drop-shadow-sm:0 1px 2px #00000026;--ease-out:cubic-bezier(0,0,.2,1);--blur-md:12px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary-50:#fdf2f8;--color-primary-100:#fce7f3;--color-primary-300:#f9a8d4;--color-primary-400:#f472b6;--color-primary-500:#ec4899;--color-primary-600:#db2777;--color-primary-700:#be185d;--color-primary-900:#831843;--color-accent-50:#faf5ff;--color-accent-100:#f3e8ff;--color-accent-400:#c084fc;--color-accent-500:#a855f7;--color-accent-600:#9333ea;--color-accent-900:#581c87}}@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%;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}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}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{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}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-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{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.right-3{right:calc(var(--spacing)*3)}.-bottom-1{bottom:calc(var(--spacing)*-1)}.bottom-full{bottom:100%}.left-1\/2{left:50%}.left-3{left:calc(var(--spacing)*3)}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-16{margin-top:calc(var(--spacing)*16)}.mt-auto{margin-top:auto}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-3{margin-right:calc(var(--spacing)*3)}.mr-4{margin-right:calc(var(--spacing)*4)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-32{height:calc(var(--spacing)*32)}.h-\[200px\]{height:200px}.h-full{height:100%}.min-h-\[60vh\]{min-height:60vh}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-11{width:calc(var(--spacing)*11)}.w-14{width:calc(var(--spacing)*14)}.w-16{width:calc(var(--spacing)*16)}.w-32{width:calc(var(--spacing)*32)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-\[280px\]{max-width:280px}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.animate-\[fadeInUp_0\.6s_ease-out\]{animation:.6s ease-out fadeInUp}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*2)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-3>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*3)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-4>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*4)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-x-reverse)))}:where(.space-x-6>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*6)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.scroll-smooth{scroll-behavior:smooth}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[6px\]{border-style:var(--tw-border-style);border-width:6px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-pink-400\/20{border-color:#fb64b633}@supports (color:color-mix(in lab,red,red)){.border-pink-400\/20{border-color:color-mix(in oklab,var(--color-pink-400)20%,transparent)}}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-t-gray-900{border-top-color:var(--color-gray-900)}.bg-accent-50{background-color:var(--color-accent-50)}.bg-accent-100{background-color:var(--color-accent-100)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-cyan-500{background-color:var(--color-cyan-500)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-300{background-color:var(--color-gray-300)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-500{background-color:var(--color-green-500)}.bg-indigo-50{background-color:var(--color-indigo-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-orange-50{background-color:var(--color-orange-50)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-pink-500{background-color:var(--color-pink-500)}.bg-primary-50{background-color:var(--color-primary-50)}.bg-primary-100{background-color:var(--color-primary-100)}.bg-primary-500{background-color:var(--color-primary-500)}.bg-purple-50{background-color:var(--color-purple-50)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-stone-500{background-color:var(--color-stone-500)}.bg-violet-500{background-color:var(--color-violet-500)}.bg-white{background-color:var(--color-white)}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-amber-600{--tw-gradient-from:var(--color-amber-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-blue-400{--tw-gradient-from:var(--color-blue-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-cyan-400{--tw-gradient-from:var(--color-cyan-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-emerald-400{--tw-gradient-from:var(--color-emerald-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-50{--tw-gradient-from:var(--color-gray-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-gray-400{--tw-gradient-from:var(--color-gray-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-green-400{--tw-gradient-from:var(--color-green-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-orange-400{--tw-gradient-from:var(--color-orange-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-400\/10{--tw-gradient-from:#fb64b61a}@supports (color:color-mix(in lab,red,red)){.from-pink-400\/10{--tw-gradient-from:color-mix(in oklab,var(--color-pink-400)10%,transparent)}}.from-pink-400\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-pink-500{--tw-gradient-from:var(--color-pink-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-primary-50{--tw-gradient-from:var(--color-primary-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-primary-500{--tw-gradient-from:var(--color-primary-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-primary-600{--tw-gradient-from:var(--color-primary-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-purple-400{--tw-gradient-from:var(--color-purple-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-red-500{--tw-gradient-from:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-slate-400{--tw-gradient-from:var(--color-slate-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-stone-400{--tw-gradient-from:var(--color-stone-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-violet-500{--tw-gradient-from:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-400{--tw-gradient-from:var(--color-yellow-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-yellow-500{--tw-gradient-from:var(--color-yellow-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-accent-50{--tw-gradient-to:var(--color-accent-50);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-accent-500{--tw-gradient-to:var(--color-accent-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-accent-600{--tw-gradient-to:var(--color-accent-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-amber-500{--tw-gradient-to:var(--color-amber-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-amber-700{--tw-gradient-to:var(--color-amber-700);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-cyan-500{--tw-gradient-to:var(--color-cyan-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-emerald-500{--tw-gradient-to:var(--color-emerald-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-fuchsia-600{--tw-gradient-to:var(--color-fuchsia-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-100{--tw-gradient-to:var(--color-gray-100);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-gray-500{--tw-gradient-to:var(--color-gray-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-indigo-500{--tw-gradient-to:var(--color-indigo-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-400\/10{--tw-gradient-to:#c07eff1a}@supports (color:color-mix(in lab,red,red)){.to-purple-400\/10{--tw-gradient-to:color-mix(in oklab,var(--color-purple-400)10%,transparent)}}.to-purple-400\/10{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-purple-600{--tw-gradient-to:var(--color-purple-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-red-500{--tw-gradient-to:var(--color-red-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-rose-600{--tw-gradient-to:var(--color-rose-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-slate-500{--tw-gradient-to:var(--color-slate-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-stone-500{--tw-gradient-to:var(--color-stone-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-teal-500{--tw-gradient-to:var(--color-teal-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-violet-500{--tw-gradient-to:var(--color-violet-500);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.\!p-4{padding:calc(var(--spacing)*4)!important}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-4{padding-top:calc(var(--spacing)*4)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-4{padding-right:calc(var(--spacing)*4)}.pr-10{padding-right:calc(var(--spacing)*10)}.pr-25{padding-right:calc(var(--spacing)*25)}.pr-50{padding-right:calc(var(--spacing)*50)}.pr-100{padding-right:calc(var(--spacing)*100)}.pr-250{padding-right:calc(var(--spacing)*250)}.pl-10{padding-left:calc(var(--spacing)*10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent-500{color:var(--color-accent-500)}.text-accent-600{color:var(--color-accent-600)}.text-amber-500{color:var(--color-amber-500)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-cyan-500{color:var(--color-cyan-500)}.text-emerald-500{color:var(--color-emerald-500)}.text-gray-100{color:var(--color-gray-100)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-700{color:var(--color-green-700)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-orange-500{color:var(--color-orange-500)}.text-orange-700{color:var(--color-orange-700)}.text-pink-500{color:var(--color-pink-500)}.text-primary-500{color:var(--color-primary-500)}.text-primary-600{color:var(--color-primary-600)}.text-primary-700{color:var(--color-primary-700)}.text-purple-400{color:var(--color-purple-400)}.text-purple-500{color:var(--color-purple-500)}.text-purple-700{color:var(--color-purple-700)}.text-purple-800{color:var(--color-purple-800)}.text-red-500{color:var(--color-red-500)}.text-red-700{color:var(--color-red-700)}.text-rose-500{color:var(--color-rose-500)}.text-teal-500{color:var(--color-teal-500)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-700{color:var(--color-yellow-700)}.uppercase{text-transform:uppercase}.placeholder-gray-500::placeholder{color:var(--color-gray-500)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.shadow{--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-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-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px 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)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-amber-600{--tw-ring-color:var(--color-amber-600)}.ring-gray-100{--tw-ring-color:var(--color-gray-100)}.ring-gray-300{--tw-ring-color:var(--color-gray-300)}.ring-transparent{--tw-ring-color:transparent}.ring-yellow-400{--tw-ring-color:var(--color-yellow-400)}.drop-shadow-sm{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-sm));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,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.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,display,content-visibility,overlay,pointer-events;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-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media(hover:hover){.group-hover\:text-primary-500:is(:where(.group):hover *){color:var(--color-primary-500)}.group-hover\:ring-primary-500:is(:where(.group):hover *){--tw-ring-color:var(--color-primary-500)}.group-hover\/badge\:opacity-100:is(:where(.group\/badge):hover *){opacity:1}.hover\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-gray-200:hover{background-color:var(--color-gray-200)}.hover\:bg-primary-100:hover{background-color:var(--color-primary-100)}.hover\:from-primary-600:hover{--tw-gradient-from:var(--color-primary-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:to-accent-600:hover{--tw-gradient-to:var(--color-accent-600);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-primary-500:hover{color:var(--color-primary-500)}.hover\:text-primary-600:hover{color:var(--color-primary-600)}.hover\:text-primary-700:hover{color:var(--color-primary-700)}.hover\:shadow-lg:hover{--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)}.hover\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px 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\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-primary-500:focus{--tw-ring-color:var(--color-primary-500)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}@media(min-width:40rem){.sm\:mx-0{margin-inline:calc(var(--spacing)*0)}.sm\:mb-4{margin-bottom:calc(var(--spacing)*4)}.sm\:mb-6{margin-bottom:calc(var(--spacing)*6)}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:h-8{height:calc(var(--spacing)*8)}.sm\:h-\[280px\]{height:280px}.sm\:w-8{width:calc(var(--spacing)*8)}.sm\:w-72{width:calc(var(--spacing)*72)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-3{gap:calc(var(--spacing)*3)}.sm\:p-3{padding:calc(var(--spacing)*3)}.sm\:p-4{padding:calc(var(--spacing)*4)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:py-4{padding-block:calc(var(--spacing)*4)}.sm\:py-8{padding-block:calc(var(--spacing)*8)}.sm\:py-16{padding-block:calc(var(--spacing)*16)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:whitespace-pre{white-space:pre}}@media(min-width:48rem){.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:table-cell{display:table-cell}.md\:h-\[320px\]{height:320px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-start{justify-content:flex-start}:where(.md\:space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*0)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*0)*calc(1 - var(--tw-space-y-reverse)))}:where(.md\:space-x-8>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*8)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-x-reverse)))}.md\:text-left{text-align:left}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.md\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}}@media(min-width:64rem){.lg\:w-96{width:calc(var(--spacing)*96)}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}}@media(min-width:80rem){.xl\:table-cell{display:table-cell}}@media(prefers-color-scheme:dark){:where(.dark\:divide-gray-700>:not(:last-child)){border-color:var(--color-gray-700)}.dark\:border-gray-600{border-color:var(--color-gray-600)}.dark\:border-gray-700{border-color:var(--color-gray-700)}.dark\:border-gray-800{border-color:var(--color-gray-800)}.dark\:border-pink-400\/10{border-color:#fb64b61a}@supports (color:color-mix(in lab,red,red)){.dark\:border-pink-400\/10{border-color:color-mix(in oklab,var(--color-pink-400)10%,transparent)}}.dark\:border-t-gray-800{border-top-color:var(--color-gray-800)}.dark\:bg-accent-900\/20{background-color:#581c8733}@supports (color:color-mix(in lab,red,red)){.dark\:bg-accent-900\/20{background-color:color-mix(in oklab,var(--color-accent-900)20%,transparent)}}.dark\:bg-accent-900\/30{background-color:#581c874d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-accent-900\/30{background-color:color-mix(in oklab,var(--color-accent-900)30%,transparent)}}.dark\:bg-blue-900\/20{background-color:#1c398e33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-900\/20{background-color:color-mix(in oklab,var(--color-blue-900)20%,transparent)}}.dark\:bg-blue-900\/30{background-color:#1c398e4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-blue-900\/30{background-color:color-mix(in oklab,var(--color-blue-900)30%,transparent)}}.dark\:bg-gray-600{background-color:var(--color-gray-600)}.dark\:bg-gray-700{background-color:var(--color-gray-700)}.dark\:bg-gray-800{background-color:var(--color-gray-800)}.dark\:bg-gray-800\/50{background-color:#1e293980}@supports (color:color-mix(in lab,red,red)){.dark\:bg-gray-800\/50{background-color:color-mix(in oklab,var(--color-gray-800)50%,transparent)}}.dark\:bg-gray-900\/80{background-color:#101828cc}@supports (color:color-mix(in lab,red,red)){.dark\:bg-gray-900\/80{background-color:color-mix(in oklab,var(--color-gray-900)80%,transparent)}}.dark\:bg-green-900\/20{background-color:#0d542b33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-green-900\/20{background-color:color-mix(in oklab,var(--color-green-900)20%,transparent)}}.dark\:bg-indigo-900\/20{background-color:#312c8533}@supports (color:color-mix(in lab,red,red)){.dark\:bg-indigo-900\/20{background-color:color-mix(in oklab,var(--color-indigo-900)20%,transparent)}}.dark\:bg-indigo-900\/30{background-color:#312c854d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-indigo-900\/30{background-color:color-mix(in oklab,var(--color-indigo-900)30%,transparent)}}.dark\:bg-orange-900\/20{background-color:#7e2a0c33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-orange-900\/20{background-color:color-mix(in oklab,var(--color-orange-900)20%,transparent)}}.dark\:bg-primary-900\/20{background-color:#83184333}@supports (color:color-mix(in lab,red,red)){.dark\:bg-primary-900\/20{background-color:color-mix(in oklab,var(--color-primary-900)20%,transparent)}}.dark\:bg-primary-900\/30{background-color:#8318434d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-primary-900\/30{background-color:color-mix(in oklab,var(--color-primary-900)30%,transparent)}}.dark\:bg-purple-900\/20{background-color:#59168b33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-purple-900\/20{background-color:color-mix(in oklab,var(--color-purple-900)20%,transparent)}}.dark\:bg-purple-900\/30{background-color:#59168b4d}@supports (color:color-mix(in lab,red,red)){.dark\:bg-purple-900\/30{background-color:color-mix(in oklab,var(--color-purple-900)30%,transparent)}}.dark\:bg-red-900\/20{background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-900\/20{background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark\:bg-yellow-900\/20{background-color:#733e0a33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-yellow-900\/20{background-color:color-mix(in oklab,var(--color-yellow-900)20%,transparent)}}.dark\:from-gray-900{--tw-gradient-from:var(--color-gray-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-pink-400\/5{--tw-gradient-from:#fb64b60d}@supports (color:color-mix(in lab,red,red)){.dark\:from-pink-400\/5{--tw-gradient-from:color-mix(in oklab,var(--color-pink-400)5%,transparent)}}.dark\:from-pink-400\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-primary-400{--tw-gradient-from:var(--color-primary-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:from-primary-900\/20{--tw-gradient-from:#83184333}@supports (color:color-mix(in lab,red,red)){.dark\:from-primary-900\/20{--tw-gradient-from:color-mix(in oklab,var(--color-primary-900)20%,transparent)}}.dark\:from-primary-900\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-accent-400{--tw-gradient-to:var(--color-accent-400);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-accent-900\/20{--tw-gradient-to:#581c8733}@supports (color:color-mix(in lab,red,red)){.dark\:to-accent-900\/20{--tw-gradient-to:color-mix(in oklab,var(--color-accent-900)20%,transparent)}}.dark\:to-accent-900\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-gray-800{--tw-gradient-to:var(--color-gray-800);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:to-purple-400\/5{--tw-gradient-to:#c07eff0d}@supports (color:color-mix(in lab,red,red)){.dark\:to-purple-400\/5{--tw-gradient-to:color-mix(in oklab,var(--color-purple-400)5%,transparent)}}.dark\:to-purple-400\/5{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.dark\:text-accent-400{color:var(--color-accent-400)}.dark\:text-blue-400{color:var(--color-blue-400)}.dark\:text-gray-100{color:var(--color-gray-100)}.dark\:text-gray-200{color:var(--color-gray-200)}.dark\:text-gray-300{color:var(--color-gray-300)}.dark\:text-gray-400{color:var(--color-gray-400)}.dark\:text-gray-500{color:var(--color-gray-500)}.dark\:text-gray-600{color:var(--color-gray-600)}.dark\:text-green-400{color:var(--color-green-400)}.dark\:text-indigo-400{color:var(--color-indigo-400)}.dark\:text-orange-400{color:var(--color-orange-400)}.dark\:text-primary-400{color:var(--color-primary-400)}.dark\:text-purple-300{color:var(--color-purple-300)}.dark\:text-purple-400{color:var(--color-purple-400)}.dark\:text-red-400{color:var(--color-red-400)}.dark\:text-white{color:var(--color-white)}.dark\:text-yellow-400{color:var(--color-yellow-400)}.dark\:ring-gray-700{--tw-ring-color:var(--color-gray-700)}@media(hover:hover){.dark\:hover\:bg-gray-700:hover{background-color:var(--color-gray-700)}.dark\:hover\:bg-gray-800:hover{background-color:var(--color-gray-800)}.dark\:hover\:bg-gray-800\/30:hover{background-color:#1e29394d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-gray-800\/30:hover{background-color:color-mix(in oklab,var(--color-gray-800)30%,transparent)}}.dark\:hover\:bg-primary-900\/30:hover{background-color:#8318434d}@supports (color:color-mix(in lab,red,red)){.dark\:hover\:bg-primary-900\/30:hover{background-color:color-mix(in oklab,var(--color-primary-900)30%,transparent)}}.dark\:hover\:text-gray-200:hover{color:var(--color-gray-200)}.dark\:hover\:text-primary-300:hover{color:var(--color-primary-300)}.dark\:hover\:text-primary-400:hover{color:var(--color-primary-400)}}}}.dark body,body.dark{background-image:linear-gradient(to bottom right,var(--color-gray-900),var(--color-gray-800))}html.dark{background-color:var(--color-gray-900)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@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-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-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}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.velocity-chart[data-v-29394262]{position:relative;width:100%} diff --git a/internal/generator/site/dist/index.html b/internal/generator/site/dist/index.html index 149e4bd..3e35321 100644 --- a/internal/generator/site/dist/index.html +++ b/internal/generator/site/dist/index.html @@ -8,9 +8,9 @@ - + - +
diff --git a/web/package-lock.json b/web/package-lock.json index 89db7c7..1bbf052 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -15,6 +15,7 @@ "vue-router": "^4.2.5" }, "devDependencies": { + "@playwright/test": "^1.57.0", "@vitejs/plugin-vue": "^6.0.2", "autoprefixer": "^10.4.16", "postcss": "^8.4.32", @@ -547,6 +548,22 @@ "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", "license": "MIT" }, + "node_modules/@playwright/test": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.57.0.tgz", + "integrity": "sha512-6TyEnHgd6SArQO8UO2OMTxshln3QMWBtPGrOCgs3wVEmQmwyuNtB10IZMfmYDE0riwNR1cu4q+pPcxMVtaG3TA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright": "1.57.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@rolldown/pluginutils": { "version": "1.0.0-beta.50", "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.50.tgz", @@ -1829,6 +1846,53 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/playwright": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.57.0.tgz", + "integrity": "sha512-ilYQj1s8sr2ppEJ2YVadYBN0Mb3mdo9J0wQ+UuDhzYqURwSoW4n1Xs5vs7ORwgDGmyEh33tRMeS8KhdkMoLXQw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.57.0" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.57.0", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.57.0.tgz", + "integrity": "sha512-agTcKlMw/mjBWOnD6kFZttAAGHgi/Nw0CZ2o6JqWSbMlI219lAFLZZCyqByTsvVAJq5XA5H8cA6PrvBRpBWEuQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/postcss": { "version": "8.5.6", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", diff --git a/web/package.json b/web/package.json index bad2f21..60d493e 100644 --- a/web/package.json +++ b/web/package.json @@ -16,6 +16,7 @@ "vue-router": "^4.2.5" }, "devDependencies": { + "@playwright/test": "^1.57.0", "@vitejs/plugin-vue": "^6.0.2", "autoprefixer": "^10.4.16", "postcss": "^8.4.32", diff --git a/web/src/components/AchievementProgress.vue b/web/src/components/AchievementProgress.vue index ca6e145..182f5fc 100644 --- a/web/src/components/AchievementProgress.vue +++ b/web/src/components/AchievementProgress.vue @@ -266,12 +266,12 @@ const remainingCount = computed(() => {
-
+
{{ item.name }}
-
+
{{ item.category }} - + Tier {{ item.tierIndex }}/{{ item.totalTiers }}
@@ -279,10 +279,10 @@ const remainingCount = computed(() => {
{{ formatNumber(item.currentValue) }} - / - {{ formatNumber(item.target) }} + / + {{ formatNumber(item.target) }}
-
+
{{ item.remaining > 0 ? `${formatNumber(item.remaining)} to go` : 'Ready to claim!' }}
@@ -307,11 +307,11 @@ const remainingCount = computed(() => { :class="idx < item.tierIndex ? 'bg-green-500' : 'bg-gray-300 dark:bg-gray-600'" :title="`Tier ${idx + 1}: ${t.name} (${formatNumber(t.threshold)})`" > - +{{ item.totalTiers - 5 }} + +{{ item.totalTiers - 5 }}
{{ item.progress }}% @@ -319,12 +319,12 @@ const remainingCount = computed(() => {
-
+
+{{ remainingCount }} more achievements to unlock
-
+
diff --git a/web/src/components/Breadcrumb.vue b/web/src/components/Breadcrumb.vue index 735c33f..41f3ee2 100644 --- a/web/src/components/Breadcrumb.vue +++ b/web/src/components/Breadcrumb.vue @@ -11,7 +11,7 @@ defineProps({