Files
git-velocity/internal/generator/site/dist/assets/index-DSNTKr2U.js
T

12 lines
200 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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<e.length;s++)e[s](...t)},ci=(e,t,s,r=!1)=>{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<e.length;s++){const r=e[s],n=he(r)?Ua(r):At(r);if(n)for(const i in n)t[i]=n[i]}return t}else if(he(e)||ue(e))return e}const Ba=/;(?![^(]*\))/g,Ga=/:([^]+)/,qa=/\/\*[^]*?\*\//g;function Ua(e){const t={};return e.replace(qa,"").split(Ba).forEach(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;s<e.length;s++){const r=Q(e[s]);r&&(t+=r+" ")}else if(ue(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const Wa="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Ka=Dr(Wa);function di(e){return!!e||e===""}function za(e,t){if(e.length!==t.length)return!1;let s=!0;for(let r=0;s&&r<e.length;r++)s=Qs(e[r],t[r]);return s}function Qs(e,t){if(e===t)return!0;let s=un(e),r=un(t);if(s||r)return s&&r?e.getTime()===t.getTime():!1;if(s=Ke(e),r=Ke(t),s||r)return e===t;if(s=q(e),r=q(t),s||r)return s&&r?za(e,t):!1;if(s=ue(e),r=ue(t),s||r){if(!s||!r)return!1;const n=Object.keys(e).length,i=Object.keys(t).length;if(n!==i)return!1;for(const a in e){const o=e.hasOwnProperty(a),l=t.hasOwnProperty(a);if(o&&!l||!o&&l||!Qs(e[a],t[a]))return!1}}return String(e)===String(t)}function ui(e,t){return e.findIndex(s=>Qs(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;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=Le;try{return Le=this,t()}finally{Le=s}}}on(){++this._on===1&&(this.prevScope=Le,Le=this)}off(){this._on>0&&--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;s<r;s++)this.effects[s].stop();for(this.effects.length=0,s=0,r=this.cleanups.length;s<r;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,r=this.scopes.length;s<r;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const n=this.parent.scopes.pop();n&&n!==this&&(this.parent.scopes[this.index]=n,n.index=this.index)}this.parent=void 0}}}function Ja(){return Le}let me;const lr=new WeakSet;class gi{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Le&&Le.active&&Le.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,lr.has(this)&&(lr.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||hi(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,mn(this),xi(this);const t=me,s=We;me=this,We=!0;try{return this.fn()}finally{yi(this),me=t,We=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Br(t);this.deps=this.depsTail=void 0,mn(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?lr.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){br(this)&&this.run()}get dirty(){return br(this)}}let pi=0,ds,us;function hi(e,t=!1){if(e.flags|=8,t){e.next=us,us=e;return}e.next=ds,ds=e}function Vr(){pi++}function Hr(){if(--pi>0)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)<t.length:ae(t,s),l=Reflect.set(t,s,r,Ee(t)?t:n);return t===ie(n)&&(o?St(r,i)&&ut(t,"set",s,r):ut(t,"add",s,r)),l}deleteProperty(t,s){const r=ae(t,s);t[s];const n=Reflect.deleteProperty(t,s);return n&&r&&ut(t,"delete",s,void 0),n}has(t,s){const r=Reflect.has(t,s);return(!Ke(s)||!ki.has(s))&&Se(t,"has",s),r}ownKeys(t){return Se(t,"iterate",q(t)?"length":Dt),Reflect.ownKeys(t)}}class ro extends wi{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const no=new Ci,io=new ro,ao=new Ci(!0);const wr=e=>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<e.length;r++)ft(e[r],t,s);else if(Us(e)||Kt(e))e.forEach(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<e.length;i++)n.push(at(e[i],t,s,r));return n}}function Xs(e,t,s,r=!0){const n=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:a}=t&&t.appContext.config||de;if(t){let o=t.parent;const l=t.proxy,c=`https://vuejs.org/error-reference/#runtime-${s}`;for(;o;){const u=o.ec;if(u){for(let f=0;f<u.length;f++)if(u[f](e,l,c)===!1)return}o=o.parent}if(i){mt(),Ss(i,null,10,[e,l,c]),gt();return}}Co(e,s,n,r,a)}function Co(e,t,s,r=!0,n=!1){if(n)throw e;console.error(e)}const Ie=[];let rt=-1;const zt=[];let wt=null,qt=0;const $i=Promise.resolve();let Ls=null;function Oi(e){const t=Ls||$i;return e?t.then(this?e.bind(this):e):t}function Ro(e){let t=rt+1,s=Ie.length;for(;t<s;){const r=t+s>>>1,n=Ie[r],i=vs(n);i<e||i===e&&n.flags&2?t=r+1:s=r}return t}function Kr(e){if(!(e.flags&1)){const t=vs(e),s=Ie[Ie.length-1];!s||!(e.flags&2)&&t>=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(;s<Ie.length;s++){const r=Ie[s];if(r&&r.flags&2){if(e&&r.id!==e.uid)continue;Ie.splice(s,1),s--,r.flags&4&&(r.flags&=-2),r(),r.flags&4||(r.flags&=-2)}}}function Mi(e){if(zt.length){const t=[...new Set(zt)].sort((s,r)=>vs(s)-vs(r));if(zt.length=0,wt){wt.push(...t);return}for(wt=t,qt=0;qt<wt.length;qt++){const s=wt[qt];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}wt=null,qt=0}}const vs=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Di(e){try{for(rt=0;rt<Ie.length;rt++){const t=Ie[rt];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Ss(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;rt<Ie.length;rt++){const t=Ie[rt];t&&(t.flags&=-2)}rt=-1,Ie.length=0,Mi(),Ls=null,(Ie.length||zt.length)&&Di()}}let Ce=null,Ni=null;function js(e){const t=Ce;return Ce=e,Ni=e&&e.type.__scopeId||null,t}function Z(e,t=Ce,s){if(!t||e._n)return e;const r=(...n)=>{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;n<t.length;n++){let[i,a,o,l=de]=t[n];i&&(z(i)&&(i={mounted:i,updated:i}),i.deep&&ft(a),r.push({dir:i,instance:s,value:a,oldValue:void 0,arg:o,modifiers:l}))}return e}function Tt(e,t,s,r){const n=e.dirs,i=t&&t.dirs;for(let a=0;a<n.length;a++){const o=n[a];i&&(o.oldValue=i[a].value);let l=o.dir[r];l&&(mt(),at(l,s,8,[e.el,o,e,t]),gt())}}const Ao=Symbol("_vte"),Eo=e=>e.__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;u<f;u++)n[u]=t(l?c?Xt(ze(e[u])):ze(e[u]):e[u],u,void 0,i)}else if(typeof e=="number"){n=new Array(e);for(let o=0;o<e;o++)n[o]=t(o+1,o,void 0,i)}else if(ue(e))if(e[Symbol.iterator])n=Array.from(e,(o,l)=>t(o,l,void 0,i));else{const o=Object.keys(e);n=new Array(o.length);for(let l=0,c=o.length;l<c;l++){const u=o[l];n[l]=t(e[u],u,l,i)}}else n=[];return n}function Lt(e,t,s={},r,n){if(Ce.ce||Ce.parent&&Qt(Ce.parent)&&Ce.parent.ce){const c=Object.keys(s).length>0;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;s<e.length;s++)t[e[s]]=e[s];return t}return e}function $e(e,t){return e?[...new Set([].concat(e,t))]:t}function ls(e,t){return e?Te(Object.create(null),e,t):t}function _n(e,t){return e?q(e)&&q(t)?[...new Set([...e,...t])]:Te(Object.create(null),yn(e),yn(t??{})):t}function zo(e,t){if(!e)return t;if(!t)return e;const s=Te(Object.create(null),e);for(const r in t)s[r]=$e(e[r],t[r]);return s}function Ki(){return{app:null,config:{isNativeTag:ii,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Qo=0;function Jo(e,t){return function(r,n=null){z(r)||(r=Te({},r)),n!=null&&!ue(n)&&(n=null);const i=Ki(),a=new WeakSet,o=[];let l=!1;const c=i.app={_uid:Qo++,_component:r,_props:n,_container:null,_context:i,_instance:null,version:Ol,get config(){return i.config},set config(u){},use(u,...f){return a.has(u)||(u&&z(u.install)?(a.add(u),u.install(c,...f)):z(u)&&(a.add(u),u(c,...f))),c},mixin(u){return i.mixins.includes(u)||i.mixins.push(u),c},component(u,f){return f?(i.components[u]=f,c):i.components[u]},directive(u,f){return f?(i.directives[u]=f,c):i.directives[u]},mount(u,f,p){if(!l){const h=c._ceVNode||$(r,n);return h.appContext=i,p===!0?p="svg":p===!1&&(p=void 0),e(h,u,p),l=!0,c._container=u,u.__vue_app__=c,sr(h.component)}},onUnmount(u){o.push(u)},unmount(){l&&(at(o,c._instance,16),e(null,c._container),delete c._container.__vue_app__)},provide(u,f){return i.provides[u]=f,c},runWithContext(u){const f=Jt;Jt=c;try{return u()}finally{Jt=f}}};return c}}let Jt=null;function gs(e,t){if(Ae){let s=Ae.provides;const r=Ae.parent&&Ae.parent.provides;r===s&&(s=Ae.provides=Object.create(r)),s[e]=t}}function Pe(e,t,s=!1){const r=Rl();if(r||Jt){let n=Jt?Jt._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(n&&e in n)return n[e];if(arguments.length>1)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;n<s.length&&r;n++)r=r[s[n]];return r}}const el=(e,t)=>t==="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;f<u.length;f++){const p=u[f];if(a[p]!==r[p]&&!er(c,p))return!0}}}else return(n||o)&&(!o||!o.$stable)?!0:r===a?!1:r?a?wn(r,a,c):!0:!!a;return!1}function wn(e,t,s){const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let n=0;n<r.length;n++){const i=r[n];if(t[i]!==e[i]&&!er(s,i))return!0}return!1}function al({vnode:e,parent:t},s){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.el=e.el),r===e)(e=t.vnode).el=s,t=t.parent;else break}}const Yi={},Xi=()=>Object.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<u.length;f++){let p=u[f];if(er(e.emitsOptions,p))continue;const h=t[p];if(l)if(ae(i,p))h!==i[p]&&(i[p]=h,c=!0);else{const S=qe(p);n[S]=Er(l,o,S,h,e,!1)}else h!==i[p]&&(i[p]=h,c=!0)}}}else{ea(e,t,n,i)&&(c=!0);let u;for(const f in o)(!t||!ae(t,f)&&((u=jt(f))===f||!ae(t,u)))&&(l?s&&(s[f]!==void 0||s[u]!==void 0)&&(n[f]=Er(l,o,f,void 0,e,!0)):delete n[f]);if(i!==o)for(const f in i)(!t||!ae(t,f))&&(delete i[f],c=!0)}c&&ut(e.attrs,"set","")}function ea(e,t,s,r){const[n,i]=e.propsOptions;let a=!1,o;if(t)for(let l in t){if(cs(l))continue;const c=t[l];let u;n&&ae(n,u=qe(l))?!i||!i.includes(u)?s[u]=c:(o||(o={}))[u]=c:er(e.emitsOptions,l)||(!(l in r)||c!==r[l])&&(r[l]=c,a=!0)}if(i){const l=ie(s),c=o||de;for(let u=0;u<i.length;u++){const f=i[u];s[f]=Er(n,l,f,c[f],e,!ae(c,f))}}return a}function Er(e,t,s,r,n,i){const a=e[s];if(a!=null){const o=ae(a,"default");if(o&&r===void 0){const l=a.default;if(a.type!==Function&&!a.skipFactory&&z(l)){const{propsDefaults:c}=n;if(s in c)r=c[s];else{const u=As(n);r=c[s]=l.call(null,t),u()}}else r=l;n.ce&&n.ce._setProp(s,r)}a[0]&&(i&&!o?r=!1:a[1]&&(r===""||r===jt(s))&&(r=!0))}return r}const cl=new WeakMap;function ta(e,t,s=!1){const r=s?cl:t.propsCache,n=r.get(e);if(n)return n;const i=e.props,a={},o=[];let l=!1;if(!z(e)){const u=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;u<i.length;u++){const f=qe(i[u]);Cn(f)&&(a[f]=de)}else if(i)for(const u in i){const f=qe(u);if(Cn(f)){const p=i[u],h=a[f]=q(p)||z(p)?{type:p}:Te({},p),S=h.type;let M=!1,K=!0;if(q(S))for(let j=0;j<S.length;++j){const N=S[j],V=z(N)&&N.name;if(V==="Boolean"){M=!0;break}else V==="String"&&(K=!1)}else M=z(S)&&S.name==="Boolean";h[0]=M,h[1]=K,(M||ae(h,"default"))&&o.push(f)}}const c=[a,o];return ue(e)&&r.set(e,c),c}function Cn(e){return e[0]!=="$"&&!cs(e)}const Yr=e=>e==="_"||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<m.length;R++){const B=m[R]=P?Ct(m[R]):nt(m[R]);M(null,B,g,x,_,C,b,T,P)}},yt=(m,g,x,_,C,b,T)=>{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<X.length;fe++){const le=X[fe],De=I[le],Ne=H[le];(Ne!==De||le==="value")&&i(P,le,De,Ne,C,x)}}E&1&&m.children!==g.children&&u(P,g.children)}else!T&&R==null&&vt(P,I,H,x,C);((W=H.onVnodeUpdated)||B)&&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<g.length;P++){const E=m[P],R=g[P],B=E.el&&(E.type===J||!is(E,R)||E.shapeFlag&198)?f(E.el):x;M(E,R,B,null,_,C,b,T,!0)}},vt=(m,g,x,_,C)=>{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;H<I;H++){const W=g[H]=E?Ct(g[H]):nt(g[H]);M(m[H],W,x,null,C,b,T,P,E)}R>B?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=W<B?g[W].el:_;for(;R<=H;)M(null,g[R]=E?Ct(g[R]):nt(g[R]),x,X,C,b,T,P,E),R++}}else if(R>H)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;R++)rs[R]=0;for(R=W;R<=I;R++){const je=m[R];if(De>=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<B?ln.el||ln.placeholder:_;rs[R]===0?M(null,tt,x,cn,C,b,T,P,E):Ze&&(le<0||R!==on[le]?Xe(tt,x,cn,2):le--)}}},Xe=(m,g,x,_,C=null)=>{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;I<E.length;I++)Xe(E[I],g,x,_);r(m.anchor,g,x);return}if(T===Is){V(m,g,x);return}if(_!==2&&R&1&&P)if(_===0)P.beforeEnter(b),r(b,g,x),Fe(()=>P.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<m.length;T++)Me(m[T],g,x,_,C)},k=m=>{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<r.length;i++){const a=r[i];let o=n[i];o.shapeFlag&1&&!o.dynamicChildren&&((o.patchFlag<=0||o.patchFlag===32)&&(o=n[i]=Ct(n[i]),o.el=a.el),!s&&o.patchFlag!==-2&&ia(a,o)),o.type===tr&&o.patchFlag!==-1&&(o.el=a.el),o.type===ht&&!o.el&&(o.el=a.el)}}function hl(e){const t=e.slice(),s=[0];let r,n,i,a,o;const l=e.length;for(r=0;r<l;r++){const c=e[r];if(c!==0){if(n=s[s.length-1],e[n]<c){t[r]=n,s.push(r);continue}for(i=0,a=s.length-1;i<a;)o=i+a>>1,e[s[o]]<c?i=o+1:a=o;c<e[s[i]]&&(i>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;t<e.length;t++)e[t].flags|=8}const oa=e=>e.__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;s<e.length;s++){const r=e[s];for(const n in r)if(n==="class")t.class!==r.class&&(t.class=Q([t.class,r.class]));else if(n==="style")t.style=At([t.style,r.style]);else if(qs(n)){const i=t[n],a=r[n];a&&i!==a&&!(q(i)&&i.includes(a))&&(t[n]=i?[].concat(i,a):a)}else n!==""&&(t[n]=r[n])}return t}function st(e,t,s,r=null){at(e,t,7,[s,r])}const kl=Ki();let wl=0;function Cl(e,t,s){const r=e.type,n=(t?t.appContext:e.appContext)||kl,i={uid:wl++,vnode:e,type:r,parent:t,appContext:n,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Qa(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(n.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ta(r,n),emitsOptions:Ji(r,n),emit:null,emitted:null,propsDefaults:de,inheritAttrs:r.inheritAttrs,ctx:de,data:de,props:de,attrs:de,slots:de,refs:de,setupState:de,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=tl.bind(null,i),e.ce&&e.ce(i),i}let Ae=null;const Rl=()=>Ae||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"?`<svg>${e}</svg>`:r==="mathml"?`<math>${e}</math>`: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;n<On.length;n++){const i=On[n]+r;if(i in e)return mr[t]=i}return t}const In="http://www.w3.org/1999/xlink";function Mn(e,t,s,r,n,i=Ka(t)){r&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(In,t.slice(6,t.length)):e.setAttributeNS(In,t,s):s==null||i&&!di(s)?e.removeAttribute(t):e.setAttribute(t,i?"":Ke(s)?String(s):s)}function Dn(e,t,s,r,n){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?ma(s):s);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const o=i==="OPTION"?e.getAttribute("value")||"":e.value,l=s==null?e.type==="checkbox"?"on":"":String(s);(o!==l||!("_value"in e))&&(e.value=l),s==null&&e.removeAttribute(t),e._value=s;return}let a=!1;if(s===""||s==null){const o=typeof e[t];o==="boolean"?s=di(s):s==null&&o==="string"?(s="",a=!0):o==="number"&&(s=0,a=!0)}try{e[t]=s}catch{}a&&e.removeAttribute(n||t)}function It(e,t,s,r){e.addEventListener(t,s,r)}function Gl(e,t,s,r){e.removeEventListener(t,s,r)}const Nn=Symbol("_vei");function ql(e,t,s,r,n=null){const i=e[Nn]||(e[Nn]={}),a=i[t];if(r&&a)a.value=r;else{const[o,l]=Ul(t);if(r){const c=i[t]=zl(r,n);It(e,o,c,l)}else a&&(Gl(e,o,a,l),i[t]=void 0)}}const Ln=/(?:Once|Passive|Capture)$/;function Ul(e){let t;if(Ln.test(e)){t={};let r;for(;r=e.match(Ln);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):jt(e.slice(2)),t]}let gr=0;const Wl=Promise.resolve(),Kl=()=>gr||(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<t.length;a++){const o=sc[t[a]];if(o&&o(n,t))return}return e(n,...i)}))},rc=Te({patchProp:Jl},Dl);let Bn;function nc(){return Bn||(Bn=ml(rc))}const ic=((...e)=>{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;a<r.length;a++)if(o=r[a],o!==".")if(o==="..")i>1&&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;r<s.length;++r){const n=s[r].replace(ya," "),i=n.indexOf("="),a=ws(i<0?n:n.slice(0,i)),o=i<0?null:ws(n.slice(i+1));if(a in t){let l=t[a];Qe(l)||(l=t[a]=[l]),l.push(o)}else t[a]=o}return t}function Kn(e){let t="";for(let s in e){const r=e[s];if(s=vc(s),r==null){r!==void 0&&(t+=(t.length?"&":"")+s);continue}(Qe(r)?r.map(n=>n&&$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;a<i;a++){const o=t.matched[a];o&&(e.matched.find(c=>es(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(;o<e.length;){if(l=e[o++],l==="\\"&&s!==ve.ParamRegExp){r=s,s=ve.EscapeNext;continue}switch(s){case ve.Static:l==="/"?(c&&f(),a()):l===":"?(f(),s=ve.Param):p();break;case ve.EscapeNext:p(),s=r;break;case ve.Param:l==="("?s=ve.ParamRegExp:zc.test(l)?p():(f(),s=ve.Static,l!=="*"&&l!=="?"&&l!=="+"&&o--);break;case ve.ParamRegExp:l===")"?u[u.length-1]=="\\"?u=u.slice(0,-1)+l:s=ve.ParamRegExpEnd:u+=l;break;case ve.ParamRegExpEnd:f(),s=ve.Static,l!=="*"&&l!=="?"&&l!=="+"&&o--,u="";break;default:t("Unknown state");break}}return s===ve.ParamRegExp&&t(`Unfinished custom RegExp for param "${c}"`),f(),a(),n}const Jn="[^/]+?",Jc={sensitive:!1,strict:!1,start:!0,end:!0};var Oe=(function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e})(Oe||{});const Yc=/[.+*?^${}()[\]/\\]/g;function Xc(e,t){const s=ne({},Jc,t),r=[];let n=s.start?"^":"";const i=[];for(const c of e){const u=c.length?[]:[Oe.Root];s.strict&&!c.length&&(n+="/");for(let f=0;f<c.length;f++){const p=c[f];let h=Oe.Segment+(s.sensitive?Oe.BonusCaseSensitive:0);if(p.type===Mt.Static)f||(n+="/"),n+=p.value.replace(Yc,"\\$&"),h+=Oe.Static;else if(p.type===Mt.Param){const{value:S,repeatable:M,optional:K,regexp:j}=p;i.push({name:S,repeatable:M,optional:K});const N=j||Jn;if(N!==Jn){h+=Oe.BonusCustomRegExp;try{`${N}`}catch(L){throw new Error(`Invalid custom RegExp for param "${S}" (${N}): `+L.message)}}let V=M?`((?:${N})(?:/(?:${N}))*)`:`(${N})`;f||(V=K&&c.length<2?`(?:/${V})`:"/"+V),K&&(V+="?"),n+=V,h+=Oe.Dynamic,K&&(h+=Oe.BonusOptional),M&&(h+=Oe.BonusRepeatable),N===".*"&&(h+=Oe.BonusWildcard)}u.push(h)}r.push(u)}if(s.strict&&s.end){const c=r.length-1;r[c][r[c].length-1]+=Oe.BonusStrict}s.strict||(n+="/?"),s.end?n+="$":s.strict&&!n.endsWith("/")&&(n+="(?:/|$)");const a=new RegExp(n,s.sensitive?"":"i");function o(c){const u=c.match(a),f={};if(!u)return null;for(let p=1;p<u.length;p++){const h=u[p]||"",S=i[p-1];f[S.name]=h&&S.repeatable?h.split("/"):h}return f}function l(c){let u="",f=!1;for(const p of e){(!f||!u.endsWith("/"))&&(u+="/"),f=!1;for(const h of p)if(h.type===Mt.Static)u+=h.value;else if(h.type===Mt.Param){const{value:S,repeatable:M,optional:K}=h,j=S in c?c[S]:"";if(Qe(j)&&!M)throw new Error(`Provided param "${S}" is an array but it is not repeatable (* or + modifiers)`);const N=Qe(j)?j.join("/"):j;if(!N)if(K)p.length<2&&(u.endsWith("/")?u=u.slice(0,-1):f=!0);else throw new Error(`Missing required param "${S}"`);u+=N}}return u||"/"}return{re:a,score:r,keys:i,parse:o,stringify:l}}function Zc(e,t){let s=0;for(;s<e.length&&s<t.length;){const r=t[s]-e[s];if(r)return r;s++}return e.length<t.length?e.length===1&&e[0]===Oe.Static+Oe.Segment?-1:1:e.length>t.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(;s<r.length&&s<n.length;){const i=Zc(r[s],n[s]);if(i)return i;s++}if(Math.abs(n.length-r.length)===1){if(Yn(r))return 1;if(Yn(n))return-1}return n.length-r.length}function Yn(e){const t=e[e.length-1];return e.length>0&&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<ye.length;ge++)i(ye[ge],N,h&&h.children[ge])}h=h||N}return V?()=>{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<e.items.length-1?(y(),w("i",sf)):G("",!0)],64))),128))]))}},nf={class:"py-12 px-4"},af={class:"text-4xl font-bold mb-4"},of={class:"gradient-text"},lf={key:1,class:"text-gray-600 dark:text-gray-300"},ir={__name:"PageHeader",props:{title:{type:String,required:!0},subtitle:{type:String,default:""},icon:{type:String,default:""},iconColor:{type:String,default:"text-primary-500"},breadcrumbs:{type:Array,default:()=>[]},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<h.threshold&&u++}return Math.max(0,u-t.maxDisplay)});return(u,f)=>(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",S<p.tierIndex?"bg-green-500":"bg-gray-300 dark:bg-gray-600"]),title:`Tier ${S+1}: ${h.name} (${A(U)(h.threshold)})`},null,10,N0))),128)),p.totalTiers>5?(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('<header class="py-10 sm:py-16 px-4"><div class="container mx-auto text-center animate-fade-in-up"><h1 class="text-3xl sm:text-4xl md:text-5xl font-bold mb-3 sm:mb-4"> How <span class="gradient-text">Scoring</span> Works </h1><p class="text-base sm:text-lg md:text-xl text-gray-600 dark:text-gray-300 max-w-2xl mx-auto px-2"> Understanding the point system, leaderboard rankings, and achievement criteria that power Git Velocity. </p></div></header><section class="py-8 px-4"><div class="container mx-auto"><div class="card glass shadow-modern mb-8"><h2 class="text-xl font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center"><i class="fas fa-info-circle mr-3 text-blue-500"></i> Overview </h2><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. </p><div class="grid sm:grid-cols-3 gap-4 mt-6"><div class="text-center p-4 bg-primary-50 dark:bg-primary-900/20 rounded-lg"><i class="fas fa-calculator text-primary-500 text-2xl mb-2"></i><h3 class="font-medium text-gray-900 dark:text-gray-100">Point-Based</h3><p class="text-sm text-gray-500 dark:text-gray-400">Activities earn configurable points</p></div><div class="text-center p-4 bg-accent-50 dark:bg-accent-900/20 rounded-lg"><i class="fas fa-layer-group text-accent-500 text-2xl mb-2"></i><h3 class="font-medium text-gray-900 dark:text-gray-100">Aggregated</h3><p class="text-sm text-gray-500 dark:text-gray-400">Combined across all repositories</p></div><div class="text-center p-4 bg-indigo-50 dark:bg-indigo-900/20 rounded-lg"><i class="fas fa-trophy text-indigo-500 text-2xl mb-2"></i><h3 class="font-medium text-gray-900 dark:text-gray-100">Achievement-Driven</h3><p class="text-sm text-gray-500 dark:text-gray-400">Unlock badges for milestones</p></div></div></div></div></section>',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(`<div class="space-y-6"><div class="card glass shadow-modern"><h3 class="font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-lg sm:text-xl"><i class="fas fa-function mr-2 text-primary-500"></i> Score Formula </h3><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"><pre class="text-xs sm:text-sm font-mono whitespace-pre-wrap sm:whitespace-pre"><code>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</code></pre></div><p class="text-xs sm:text-sm text-gray-500 dark:text-gray-400"><i class="fas fa-info-circle mr-1"></i> All point values are configurable in your <code class="text-primary-600 dark:text-primary-400">.git-velocity.yaml</code> file. </p></div><div class="card glass shadow-modern"><h3 class="font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"><i class="fas fa-coins mr-2 text-yellow-500"></i> Default Point Values </h3><div class="grid grid-cols-1 gap-3 sm:hidden"><div class="flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2"><i class="fas fa-code-commit text-primary-500"></i><span class="text-sm font-medium text-gray-900 dark:text-gray-100">Commit</span></div><span class="font-mono font-bold text-primary-600 dark:text-primary-400">10 pts</span></div><div class="flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2"><i class="fas fa-flask text-green-500"></i><span class="text-sm font-medium text-gray-900 dark:text-gray-100">Commit + Tests</span></div><span class="font-mono font-bold text-primary-600 dark:text-primary-400">15 pts</span></div><div class="flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2"><i class="fas fa-plus text-blue-500"></i><span class="text-sm font-medium text-gray-900 dark:text-gray-100">Lines Added</span></div><span class="font-mono font-bold text-primary-600 dark:text-primary-400">0.1 pts</span></div><div class="flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2"><i class="fas fa-minus text-red-500"></i><span class="text-sm font-medium text-gray-900 dark:text-gray-100">Lines Deleted</span></div><span class="font-mono font-bold text-primary-600 dark:text-primary-400">0.05 pts</span></div><div class="flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2"><i class="fas fa-code-pull-request text-accent-500"></i><span class="text-sm font-medium text-gray-900 dark:text-gray-100">PR Opened</span></div><span class="font-mono font-bold text-primary-600 dark:text-primary-400">25 pts</span></div><div class="flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2"><i class="fas fa-code-merge text-indigo-500"></i><span class="text-sm font-medium text-gray-900 dark:text-gray-100">PR Merged</span></div><span class="font-mono font-bold text-primary-600 dark:text-primary-400">50 pts</span></div><div class="flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2"><i class="fas fa-eye text-cyan-500"></i><span class="text-sm font-medium text-gray-900 dark:text-gray-100">PR Reviewed</span></div><span class="font-mono font-bold text-primary-600 dark:text-primary-400">30 pts</span></div><div class="flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2"><i class="fas fa-comment text-orange-500"></i><span class="text-sm font-medium text-gray-900 dark:text-gray-100">Review Comment</span></div><span class="font-mono font-bold text-primary-600 dark:text-primary-400">5 pts</span></div><div class="flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2"><i class="fas fa-bolt text-yellow-500"></i><span class="text-sm font-medium text-gray-900 dark:text-gray-100">Fast Review &lt;1h</span></div><span class="font-mono font-bold text-primary-600 dark:text-primary-400">50 pts</span></div><div class="flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2"><i class="fas fa-stopwatch text-yellow-500"></i><span class="text-sm font-medium text-gray-900 dark:text-gray-100">Fast Review &lt;4h</span></div><span class="font-mono font-bold text-primary-600 dark:text-primary-400">25 pts</span></div><div class="flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2"><i class="fas fa-clock text-yellow-500"></i><span class="text-sm font-medium text-gray-900 dark:text-gray-100">Fast Review &lt;24h</span></div><span class="font-mono font-bold text-primary-600 dark:text-primary-400">10 pts</span></div><div class="flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2"><i class="fas fa-moon text-gray-500"></i><span class="text-sm font-medium text-gray-900 dark:text-gray-100">Out of Hours</span></div><span class="font-mono font-bold text-primary-600 dark:text-primary-400">2 pts</span></div><div class="flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2"><i class="fas fa-circle-exclamation text-teal-500"></i><span class="text-sm font-medium text-gray-900 dark:text-gray-100">Issue Opened</span></div><span class="font-mono font-bold text-primary-600 dark:text-primary-400">10 pts</span></div><div class="flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2"><i class="fas fa-circle-check text-green-500"></i><span class="text-sm font-medium text-gray-900 dark:text-gray-100">Issue Closed</span></div><span class="font-mono font-bold text-primary-600 dark:text-primary-400">20 pts</span></div><div class="flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2"><i class="fas fa-comment-dots text-blue-500"></i><span class="text-sm font-medium text-gray-900 dark:text-gray-100">Issue Comment</span></div><span class="font-mono font-bold text-primary-600 dark:text-primary-400">5 pts</span></div><div class="flex items-center justify-between p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2"><i class="fas fa-link text-accent-500"></i><span class="text-sm font-medium text-gray-900 dark:text-gray-100">Issue Reference</span></div><span class="font-mono font-bold text-primary-600 dark:text-primary-400">5 pts</span></div></div><div class="hidden sm:block overflow-x-auto"><table class="w-full text-sm"><thead><tr class="border-b border-gray-200 dark:border-gray-700"><th class="text-left py-3 text-gray-600 dark:text-gray-400">Activity</th><th class="text-left py-3 text-gray-600 dark:text-gray-400">Points</th><th class="text-left py-3 text-gray-600 dark:text-gray-400">Description</th></tr></thead><tbody class="text-gray-700 dark:text-gray-300"><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-3"><i class="fas fa-code-commit text-primary-500 mr-2"></i>Commit</td><td class="py-3 font-mono text-primary-600 dark:text-primary-400">10</td><td class="py-3">Per commit pushed</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-3"><i class="fas fa-flask text-green-500 mr-2"></i>Commit with Tests</td><td class="py-3 font-mono text-primary-600 dark:text-primary-400">15</td><td class="py-3">Commit that includes test files</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-3"><i class="fas fa-plus text-blue-500 mr-2"></i>Lines Added</td><td class="py-3 font-mono text-primary-600 dark:text-primary-400">0.1</td><td class="py-3">Per meaningful line added</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-3"><i class="fas fa-minus text-red-500 mr-2"></i>Lines Deleted</td><td class="py-3 font-mono text-primary-600 dark:text-primary-400">0.05</td><td class="py-3">Per meaningful line removed</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-3"><i class="fas fa-code-pull-request text-accent-500 mr-2"></i>PR Opened</td><td class="py-3 font-mono text-primary-600 dark:text-primary-400">25</td><td class="py-3">Per pull request created</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-3"><i class="fas fa-code-merge text-indigo-500 mr-2"></i>PR Merged</td><td class="py-3 font-mono text-primary-600 dark:text-primary-400">50</td><td class="py-3">Per pull request merged</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-3"><i class="fas fa-eye text-cyan-500 mr-2"></i>PR Reviewed</td><td class="py-3 font-mono text-primary-600 dark:text-primary-400">30</td><td class="py-3">Per PR review submitted</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-3"><i class="fas fa-comment text-orange-500 mr-2"></i>Review Comment</td><td class="py-3 font-mono text-primary-600 dark:text-primary-400">5</td><td class="py-3">Per comment on PR reviews</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-3"><i class="fas fa-bolt text-yellow-500 mr-2"></i>Fast Review (&lt;1h)</td><td class="py-3 font-mono text-primary-600 dark:text-primary-400">50</td><td class="py-3">Bonus for average response under 1 hour</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-3"><i class="fas fa-stopwatch text-yellow-500 mr-2"></i>Fast Review (&lt;4h)</td><td class="py-3 font-mono text-primary-600 dark:text-primary-400">25</td><td class="py-3">Bonus for average response under 4 hours</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-3"><i class="fas fa-clock text-yellow-500 mr-2"></i>Fast Review (&lt;24h)</td><td class="py-3 font-mono text-primary-600 dark:text-primary-400">10</td><td class="py-3">Bonus for average response under 24 hours</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-3"><i class="fas fa-moon text-gray-500 mr-2"></i>Out of Hours</td><td class="py-3 font-mono text-primary-600 dark:text-primary-400">2</td><td class="py-3">Per commit outside 9am-5pm</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-3"><i class="fas fa-circle-exclamation text-teal-500 mr-2"></i>Issue Opened</td><td class="py-3 font-mono text-primary-600 dark:text-primary-400">10</td><td class="py-3">Per issue created</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-3"><i class="fas fa-circle-check text-green-500 mr-2"></i>Issue Closed</td><td class="py-3 font-mono text-primary-600 dark:text-primary-400">20</td><td class="py-3">Per issue resolved/closed</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-3"><i class="fas fa-comment-dots text-blue-500 mr-2"></i>Issue Comment</td><td class="py-3 font-mono text-primary-600 dark:text-primary-400">5</td><td class="py-3">Per comment on issues</td></tr><tr><td class="py-3"><i class="fas fa-link text-accent-500 mr-2"></i>Issue Reference</td><td class="py-3 font-mono text-primary-600 dark:text-primary-400">5</td><td class="py-3">Per commit referencing an issue (#123)</td></tr></tbody></table></div></div><div class="card glass shadow-modern"><h3 class="font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"><i class="fas fa-filter mr-2 text-green-500"></i> Meaningful Lines </h3><p class="text-gray-600 dark:text-gray-400 mb-4"> By default, Git Velocity uses <strong>meaningful lines</strong> instead of raw line counts. This filters out noise and rewards actual code contributions: </p><div class="grid sm:grid-cols-2 gap-4"><div class="p-4 bg-green-50 dark:bg-green-900/20 rounded-lg"><h4 class="font-medium text-green-700 dark:text-green-400 mb-2"><i class="fas fa-check mr-2"></i>Counted as Meaningful </h4><ul class="text-sm text-gray-600 dark:text-gray-400 space-y-1"><li>Actual code logic</li><li>Function definitions</li><li>Variable declarations</li><li>Import statements</li></ul></div><div class="p-4 bg-red-50 dark:bg-red-900/20 rounded-lg"><h4 class="font-medium text-red-700 dark:text-red-400 mb-2"><i class="fas fa-times mr-2"></i>Filtered Out </h4><ul class="text-sm text-gray-600 dark:text-gray-400 space-y-1"><li>Empty lines / whitespace</li><li>Single-line comments</li><li>Multi-line comment blocks</li><li>Documentation strings</li></ul></div></div><p class="text-sm text-gray-500 dark:text-gray-400 mt-4"><i class="fas fa-info-circle mr-1"></i> Meaningful lines filtering is always enabled to accurately reflect code contributions. </p></div></div>`,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('<div class="space-y-6"><div class="card glass shadow-modern"><h3 class="font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"><i class="fas fa-list-ol mr-2 text-accent-500"></i> Ranking Process </h3><ol class="space-y-4"><li class="flex items-start gap-3"><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</span><div><h4 class="font-medium text-gray-900 dark:text-gray-100">Aggregate Across Repos</h4><p class="text-sm text-gray-600 dark:text-gray-400">Metrics from all configured repositories are combined per contributor</p></div></li><li class="flex items-start gap-3"><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</span><div><h4 class="font-medium text-gray-900 dark:text-gray-100">Calculate Total Score</h4><p class="text-sm text-gray-600 dark:text-gray-400">Apply point values to each activity type and sum the breakdown</p></div></li><li class="flex items-start gap-3"><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</span><div><h4 class="font-medium text-gray-900 dark:text-gray-100">Sort by Score</h4><p class="text-sm text-gray-600 dark:text-gray-400">Contributors are sorted in descending order by total score</p></div></li><li class="flex items-start gap-3"><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</span><div><h4 class="font-medium text-gray-900 dark:text-gray-100">Assign Ranks &amp; Percentiles</h4><p class="text-sm text-gray-600 dark:text-gray-400">Each contributor receives a rank (1st, 2nd...) and percentile position</p></div></li></ol></div><div class="card glass shadow-modern"><h3 class="font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"><i class="fas fa-medal mr-2 text-yellow-500"></i> Top Achievers </h3><p class="text-gray-600 dark:text-gray-400 mb-4"> Git Velocity tracks top performers in each category: </p><div class="grid sm:grid-cols-2 gap-4"><div class="p-4 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2 mb-2"><i class="fas fa-trophy text-yellow-500"></i><span class="font-medium text-gray-900 dark:text-gray-100">Overall Leader</span></div><p class="text-sm text-gray-500 dark:text-gray-400">Highest total score</p></div><div class="p-4 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2 mb-2"><i class="fas fa-code-commit text-primary-500"></i><span class="font-medium text-gray-900 dark:text-gray-100">Top Committer</span></div><p class="text-sm text-gray-500 dark:text-gray-400">Most commits</p></div><div class="p-4 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2 mb-2"><i class="fas fa-eye text-accent-500"></i><span class="font-medium text-gray-900 dark:text-gray-100">Top Reviewer</span></div><p class="text-sm text-gray-500 dark:text-gray-400">Most reviews given</p></div><div class="p-4 bg-gray-50 dark:bg-gray-800 rounded-lg"><div class="flex items-center gap-2 mb-2"><i class="fas fa-code-pull-request text-indigo-500"></i><span class="font-medium text-gray-900 dark:text-gray-100">Top PR Author</span></div><p class="text-sm text-gray-500 dark:text-gray-400">Most PRs opened</p></div></div></div><div class="card glass shadow-modern"><h3 class="font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"><i class="fas fa-users mr-2 text-blue-500"></i> Team Scoring </h3><p class="text-gray-600 dark:text-gray-400 mb-4"> When teams are configured, Git Velocity calculates team metrics: </p><ul class="space-y-2 text-gray-600 dark:text-gray-400"><li><i class="fas fa-check text-green-500 mr-2"></i><strong>Total Team Score:</strong> Sum of all member scores</li><li><i class="fas fa-check text-green-500 mr-2"></i><strong>Average Score:</strong> Total score / number of members</li><li><i class="fas fa-check text-green-500 mr-2"></i><strong>Member Breakdown:</strong> Individual scores and achievements per team member</li></ul></div></div>',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('<p class="text-gray-600 dark:text-gray-300 mb-8 text-center">115 achievements across 26 categories with tiered progression</p><div class="space-y-6"><div class="card glass shadow-modern"><h3 class="font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"><i class="fas fa-trophy mr-2 text-yellow-500"></i> Achievement Categories </h3><div class="grid sm:grid-cols-2 lg:grid-cols-3 gap-4"><div class="p-4 border border-gray-200 dark:border-gray-700 rounded-lg"><h4 class="font-medium text-gray-900 dark:text-gray-100 mb-2"><i class="fas fa-code-commit text-primary-500 mr-2"></i>Commits </h4><p class="text-xs text-gray-500 dark:text-gray-400 mb-2">Tiers: 1, 10, 50, 100, 500, 1000</p><div class="text-xs text-gray-600 dark:text-gray-400"> First Steps, Getting Started, Contributor, Committed, Code Machine, Code Warrior </div></div><div class="p-4 border border-gray-200 dark:border-gray-700 rounded-lg"><h4 class="font-medium text-gray-900 dark:text-gray-100 mb-2"><i class="fas fa-code-pull-request text-accent-500 mr-2"></i>PRs Opened </h4><p class="text-xs text-gray-500 dark:text-gray-400 mb-2">Tiers: 1, 10, 25, 50, 100, 250</p><div class="text-xs text-gray-600 dark:text-gray-400"> PR Pioneer, PR Regular, PR Pro, Merge Master, PR Champion, PR Legend </div></div><div class="p-4 border border-gray-200 dark:border-gray-700 rounded-lg"><h4 class="font-medium text-gray-900 dark:text-gray-100 mb-2"><i class="fas fa-eye text-indigo-500 mr-2"></i>Reviews Given </h4><p class="text-xs text-gray-500 dark:text-gray-400 mb-2">Tiers: 1, 10, 25, 50, 100, 250</p><div class="text-xs text-gray-600 dark:text-gray-400"> First Review, Reviewer, Review Regular, Review Expert, Review Guru, Review Master </div></div><div class="p-4 border border-gray-200 dark:border-gray-700 rounded-lg"><h4 class="font-medium text-gray-900 dark:text-gray-100 mb-2"><i class="fas fa-comment text-blue-500 mr-2"></i>Review Comments </h4><p class="text-xs text-gray-500 dark:text-gray-400 mb-2">Tiers: 10, 50, 100, 250, 500</p><div class="text-xs text-gray-600 dark:text-gray-400"> Commentator, Feedback Giver, Code Critic, Feedback Expert, Comment Champion </div></div><div class="p-4 border border-gray-200 dark:border-gray-700 rounded-lg"><h4 class="font-medium text-gray-900 dark:text-gray-100 mb-2"><i class="fas fa-plus text-green-500 mr-2"></i>Lines Added </h4><p class="text-xs text-gray-500 dark:text-gray-400 mb-2">Tiers: 100, 1K, 5K, 10K, 50K</p><div class="text-xs text-gray-600 dark:text-gray-400"> First Hundred, Thousand Lines, Five Thousand, Ten Thousand, Code Mountain </div></div><div class="p-4 border border-gray-200 dark:border-gray-700 rounded-lg"><h4 class="font-medium text-gray-900 dark:text-gray-100 mb-2"><i class="fas fa-minus text-red-500 mr-2"></i>Lines Deleted </h4><p class="text-xs text-gray-500 dark:text-gray-400 mb-2">Tiers: 100, 500, 1K, 5K, 10K</p><div class="text-xs text-gray-600 dark:text-gray-400"> Tidying Up, Spring Cleaning, Code Cleaner, Refactoring Hero, Deletion Master </div></div><div class="p-4 border border-gray-200 dark:border-gray-700 rounded-lg"><h4 class="font-medium text-gray-900 dark:text-gray-100 mb-2"><i class="fas fa-bolt text-yellow-500 mr-2"></i>Response Time </h4><p class="text-xs text-gray-500 dark:text-gray-400 mb-2">Tiers: &lt;24h, &lt;4h, &lt;1h</p><div class="text-xs text-gray-600 dark:text-gray-400"> Same Day Reviewer, Quick Responder, Speed Demon </div></div><div class="p-4 border border-gray-200 dark:border-gray-700 rounded-lg"><h4 class="font-medium text-gray-900 dark:text-gray-100 mb-2"><i class="fas fa-fire text-orange-500 mr-2"></i>Contribution Streaks </h4><p class="text-xs text-gray-500 dark:text-gray-400 mb-2">Tiers: 3, 7, 14, 30 days</p><div class="text-xs text-gray-600 dark:text-gray-400"> Getting Rolling, Week Warrior, Two Week Streak, Month Master </div></div><div class="p-4 border border-gray-200 dark:border-gray-700 rounded-lg"><h4 class="font-medium text-gray-900 dark:text-gray-100 mb-2"><i class="fas fa-clock text-cyan-500 mr-2"></i>Activity Patterns </h4><p class="text-xs text-gray-500 dark:text-gray-400 mb-2">Early Bird, Night Owl, Weekend Warrior</p><div class="text-xs text-gray-600 dark:text-gray-400"> Commits at different times of day unlock special badges </div></div><div class="p-4 border border-gray-200 dark:border-gray-700 rounded-lg"><h4 class="font-medium text-gray-900 dark:text-gray-100 mb-2"><i class="fas fa-circle-exclamation text-teal-500 mr-2"></i>Issues Opened </h4><p class="text-xs text-gray-500 dark:text-gray-400 mb-2">Tiers: 1, 5, 10, 25, 50</p><div class="text-xs text-gray-600 dark:text-gray-400"> Issue Opener, Reporter, Bug Hunter, Issue Tracker, Issue Master </div></div><div class="p-4 border border-gray-200 dark:border-gray-700 rounded-lg"><h4 class="font-medium text-gray-900 dark:text-gray-100 mb-2"><i class="fas fa-circle-check text-green-500 mr-2"></i>Issues Closed </h4><p class="text-xs text-gray-500 dark:text-gray-400 mb-2">Tiers: 1, 5, 10, 25, 50</p><div class="text-xs text-gray-600 dark:text-gray-400"> Issue Closer, Problem Solver, Resolver, Issue Crusher, Closure King </div></div><div class="p-4 border border-gray-200 dark:border-gray-700 rounded-lg"><h4 class="font-medium text-gray-900 dark:text-gray-100 mb-2"><i class="fas fa-comment-dots text-blue-500 mr-2"></i>Issue Comments </h4><p class="text-xs text-gray-500 dark:text-gray-400 mb-2">Tiers: 5, 10, 25, 50, 100</p><div class="text-xs text-gray-600 dark:text-gray-400"> Issue Commenter, Discussion Starter, Feedback Provider, Issue Conversationalist, Discussion Champion </div></div></div></div><div class="card glass shadow-modern"><h3 class="font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"><i class="fas fa-unlock mr-2 text-green-500"></i> How Achievements Are Earned </h3><p class="text-gray-600 dark:text-gray-400 mb-4"> Each achievement has a <strong>condition type</strong> and <strong>threshold</strong>. When your metrics meet or exceed the threshold, the achievement is unlocked. </p><div class="overflow-x-auto"><table class="w-full text-sm"><thead><tr class="border-b border-gray-200 dark:border-gray-700"><th class="text-left py-2 text-gray-600 dark:text-gray-400">Condition Type</th><th class="text-left py-2 text-gray-600 dark:text-gray-400">Metric Checked</th><th class="text-left py-2 text-gray-600 dark:text-gray-400">Comparison</th></tr></thead><tbody class="text-gray-700 dark:text-gray-300"><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-2 font-mono text-xs">commit_count</td><td class="py-2">Total commits</td><td class="py-2">≥ threshold</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-2 font-mono text-xs">pr_opened_count</td><td class="py-2">PRs opened</td><td class="py-2">≥ threshold</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-2 font-mono text-xs">review_count</td><td class="py-2">Reviews given</td><td class="py-2">≥ threshold</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-2 font-mono text-xs">avg_review_time_hours</td><td class="py-2">Average review response</td><td class="py-2">≤ threshold (lower is better)</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-2 font-mono text-xs">longest_streak</td><td class="py-2">Consecutive active days</td><td class="py-2">≥ threshold</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-2 font-mono text-xs">perfect_prs</td><td class="py-2">PRs with no changes requested</td><td class="py-2">≥ threshold</td></tr><tr class="border-b border-gray-100 dark:border-gray-800"><td class="py-2 font-mono text-xs">issues_opened</td><td class="py-2">Issues created</td><td class="py-2">≥ threshold</td></tr><tr><td class="py-2 font-mono text-xs">issues_closed</td><td class="py-2">Issues resolved/closed</td><td class="py-2">≥ threshold</td></tr></tbody></table></div><p class="text-sm text-gray-500 dark:text-gray-400 mt-4"><i class="fas fa-shield-halved mr-1"></i> Achievement definitions are hardcoded and cannot be customized to prevent manipulation. </p></div><div class="card glass shadow-modern"><h3 class="font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"><i class="fas fa-layer-group mr-2 text-accent-500"></i> Tiered Progression </h3><p class="text-gray-600 dark:text-gray-400 mb-4"> Most achievements have multiple tiers. As you progress, you unlock higher tiers: </p><div class="grid grid-cols-2 sm:grid-cols-4 gap-2 sm:gap-3 mb-4"><div class="flex items-center gap-2 p-2 sm:p-3 bg-gray-100 dark:bg-gray-800 rounded-lg"><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</span><div class="text-xs sm:text-sm"><span class="font-medium text-gray-700 dark:text-gray-300">Tier 1</span></div></div><div class="flex items-center gap-2 p-2 sm:p-3 bg-gray-100 dark:bg-gray-800 rounded-lg"><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</span><div class="text-xs sm:text-sm"><span class="font-medium text-gray-700 dark:text-gray-300">Tier 2</span></div></div><div class="flex items-center gap-2 p-2 sm:p-3 bg-green-50 dark:bg-green-900/20 rounded-lg"><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</span><div class="text-xs sm:text-sm"><span class="font-medium text-green-700 dark:text-green-400">Tier 3</span></div></div><div class="flex items-center gap-2 p-2 sm:p-3 bg-blue-50 dark:bg-blue-900/20 rounded-lg"><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</span><div class="text-xs sm:text-sm"><span class="font-medium text-blue-700 dark:text-blue-400">Tier 4</span></div></div><div class="flex items-center gap-2 p-2 sm:p-3 bg-purple-50 dark:bg-purple-900/20 rounded-lg"><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</span><div class="text-xs sm:text-sm"><span class="font-medium text-purple-700 dark:text-purple-400">Tier 5</span></div></div><div class="flex items-center gap-2 p-2 sm:p-3 bg-primary-50 dark:bg-primary-900/20 rounded-lg"><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</span><div class="text-xs sm:text-sm"><span class="font-medium text-primary-700 dark:text-primary-400">Tier 6</span></div></div><div class="flex items-center gap-2 p-2 sm:p-3 bg-orange-50 dark:bg-orange-900/20 rounded-lg"><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</span><div class="text-xs sm:text-sm"><span class="font-medium text-orange-700 dark:text-orange-400">Tier 7</span></div></div><div class="flex items-center gap-2 p-2 sm:p-3 bg-yellow-50 dark:bg-yellow-900/20 rounded-lg"><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+</span><div class="text-xs sm:text-sm"><span class="font-medium text-yellow-700 dark:text-yellow-400">Tier 8+</span></div></div></div><p class="text-sm text-gray-500 dark:text-gray-400"> The leaderboard shows only the highest tier achieved per category for each contributor. </p></div></div>',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('<div class="space-y-6"><div class="card glass shadow-modern"><h3 class="font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"><i class="fab fa-github mr-2 text-gray-700 dark:text-gray-300"></i> GitHub API Data </h3><div class="grid sm:grid-cols-2 gap-6"><div><h4 class="font-medium text-gray-800 dark:text-gray-200 mb-3">Commits</h4><ul class="text-sm text-gray-600 dark:text-gray-400 space-y-1"><li><i class="fas fa-check text-green-500 mr-2"></i>SHA, message, timestamp</li><li><i class="fas fa-check text-green-500 mr-2"></i>Author (login, name, email)</li><li><i class="fas fa-check text-green-500 mr-2"></i>Additions, deletions, files changed</li><li><i class="fas fa-check text-green-500 mr-2"></i>Patch/diff for line analysis</li></ul></div><div><h4 class="font-medium text-gray-800 dark:text-gray-200 mb-3">Pull Requests</h4><ul class="text-sm text-gray-600 dark:text-gray-400 space-y-1"><li><i class="fas fa-check text-green-500 mr-2"></i>State (open, merged, closed)</li><li><i class="fas fa-check text-green-500 mr-2"></i>Author and timestamps</li><li><i class="fas fa-check text-green-500 mr-2"></i>Size (additions, deletions)</li><li><i class="fas fa-check text-green-500 mr-2"></i>Comments count</li></ul></div><div><h4 class="font-medium text-gray-800 dark:text-gray-200 mb-3">Reviews</h4><ul class="text-sm text-gray-600 dark:text-gray-400 space-y-1"><li><i class="fas fa-check text-green-500 mr-2"></i>Review state (approved, changes requested)</li><li><i class="fas fa-check text-green-500 mr-2"></i>Reviewer login</li><li><i class="fas fa-check text-green-500 mr-2"></i>Submission timestamp</li><li><i class="fas fa-check text-green-500 mr-2"></i>Comment count</li></ul></div><div><h4 class="font-medium text-gray-800 dark:text-gray-200 mb-3">User Profiles</h4><ul class="text-sm text-gray-600 dark:text-gray-400 space-y-1"><li><i class="fas fa-check text-green-500 mr-2"></i>GitHub login (username)</li><li><i class="fas fa-check text-green-500 mr-2"></i>Display name</li><li><i class="fas fa-check text-green-500 mr-2"></i>Avatar URL</li><li><i class="fas fa-check text-green-500 mr-2"></i>Public email (for deduplication)</li></ul></div></div></div><div class="card glass shadow-modern"><h3 class="font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"><i class="fas fa-calculator mr-2 text-blue-500"></i> Derived Metrics </h3><p class="text-gray-600 dark:text-gray-400 mb-4"> These metrics are calculated from raw data: </p><div class="grid sm:grid-cols-2 gap-4 text-sm"><div class="p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><strong class="text-gray-900 dark:text-gray-100">Meaningful Lines</strong><p class="text-gray-500 dark:text-gray-400">Parsed from commit diffs, filtering comments/whitespace</p></div><div class="p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><strong class="text-gray-900 dark:text-gray-100">Average Review Time</strong><p class="text-gray-500 dark:text-gray-400">Time between PR creation and first review</p></div><div class="p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><strong class="text-gray-900 dark:text-gray-100">Contribution Streaks</strong><p class="text-gray-500 dark:text-gray-400">Consecutive days with activity</p></div><div class="p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><strong class="text-gray-900 dark:text-gray-100">Perfect PRs</strong><p class="text-gray-500 dark:text-gray-400">PRs merged without &quot;changes requested&quot; reviews</p></div><div class="p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><strong class="text-gray-900 dark:text-gray-100">Out of Hours</strong><p class="text-gray-500 dark:text-gray-400">Commits outside 9am-5pm based on commit timestamp</p></div><div class="p-3 bg-gray-50 dark:bg-gray-800 rounded-lg"><strong class="text-gray-900 dark:text-gray-100">Issue References</strong><p class="text-gray-500 dark:text-gray-400">Commits containing #123 patterns (fixes, closes, resolves, refs)</p></div></div></div><div class="card glass shadow-modern"><h3 class="font-semibold text-gray-900 dark:text-gray-100 mb-4 flex items-center text-xl"><i class="fas fa-robot mr-2 text-red-500"></i> Bot Filtering </h3><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: </p><div class="flex flex-wrap gap-2"><code class="px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm">*[bot]</code><code class="px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm">dependabot*</code><code class="px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm">renovate*</code><code class="px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm">github-actions*</code><code class="px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm">codecov*</code><code class="px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm">snyk*</code><code class="px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm">greenkeeper*</code><code class="px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm">imgbot*</code><code class="px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm">allcontributors*</code><code class="px-2 py-1 bg-gray-100 dark:bg-gray-700 rounded text-sm">semantic-release*</code></div><p class="text-sm text-gray-500 dark:text-gray-400 mt-4"><i class="fas fa-cog mr-1"></i> Enable with <code class="text-primary-600 dark:text-primary-400">include_bots: true</code> or add custom patterns with <code class="text-primary-600 dark:text-primary-400">additional_bot_patterns</code>. </p></div></div>',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");