1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8280],{21047:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("Minus",[["path",{d:"M5 12h14",key:"1ays0h"}]])},89227:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("Pause",[["rect",{x:"14",y:"4",width:"4",height:"16",rx:"1",key:"zuxfzm"}],["rect",{x:"6",y:"4",width:"4",height:"16",rx:"1",key:"1okwgv"}]])},82431:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]])},14064:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("Undo2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5v0a5.5 5.5 0 0 1-5.5 5.5H11",key:"llx8ln"}]])},62883:function(e,t,r){r.d(t,{Z:function(){return n}});let n=(0,r(79205).Z)("WandSparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]])},72173:function(e,t,r){r.d(t,{R:function(){return d}});var n=r(57437),s=r(2265);let a=(0,r(79205).Z)("CloudOff",[["path",{d:"m2 2 20 20",key:"1ooewy"}],["path",{d:"M5.782 5.782A7 7 0 0 0 9 19h8.5a4.5 4.5 0 0 0 1.307-.193",key:"yfwify"}],["path",{d:"M21.532 16.5A4.5 4.5 0 0 0 17.5 10h-1.79A7.008 7.008 0 0 0 10 5.07",key:"jlfiyv"}]]);var i=r(82431),l=r(51817),c=r(30401),o=r(93448);function d(e){let{isSaving:t,hasUnsavedChanges:r,error:d=null,errorDetail:u,onRetry:x,className:h}=e,m=t||r,[f,p]=(0,s.useState)(!1),b=(0,s.useRef)(!1);(0,s.useEffect)(()=>{m?b.current=!0:b.current&&(b.current=!1,d||p(!0))},[m,d]);let g=(0,o.cn)("flex items-center gap-1.5 text-xs font-medium select-none transition-opacity duration-300",h);return d?(0,n.jsxs)("div",{role:"status","aria-live":"assertive",title:d,className:(0,o.cn)(g,u&&"max-w-52 flex-wrap"),children:[(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-red-600 dark:text-red-400",children:[(0,n.jsx)(a,{size:13,strokeWidth:2.25,"aria-hidden":"true"}),"ì ì¥ ì ë¨"]}),x&&(0,n.jsxs)("button",{type:"button",onClick:x,className:"inline-flex items-center gap-1 rounded-md px-1.5 py-0.5 text-red-700 dark:text-red-300 hover:bg-red-50 dark:hover:bg-red-500/10 transition-colors",children:[(0,n.jsx)(i.Z,{size:11,strokeWidth:2.5,"aria-hidden":"true"}),"ë¤ì ìë"]}),u&&(0,n.jsx)("span",{className:"basis-full text-[11px] leading-snug text-red-600 dark:text-red-300",children:u})]}):(0,n.jsx)("div",{role:"status","aria-live":"polite",className:g,children:m?(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-zinc-600 dark:text-zinc-300",children:[(0,n.jsx)(l.Z,{size:13,className:"animate-spin",strokeWidth:2.25,"aria-hidden":"true"}),"ì ì¥ ì¤"]}):f?(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-zinc-600 dark:text-zinc-300",children:[(0,n.jsx)(c.Z,{size:13,className:"text-emerald-600 dark:text-emerald-400",strokeWidth:2.5,"aria-hidden":"true"}),"ì ì¥ë¨"]}):(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-zinc-500 dark:text-zinc-400",children:[(0,n.jsx)("span",{"aria-hidden":"true",className:"inline-block w-1.5 h-1.5 rounded-full bg-zinc-400 dark:bg-zinc-500"}),"ìë ì ì¥"]})})}},43059:function(e,t,r){r.d(t,{Lz:function(){return d},ZP:function(){return o}});var n=r(57437),s=r(93448);r(2265);var a=r(52345),i=r(13100),l=r(92846);let c={type:"spring",stiffness:450,damping:30,mass:.5};function o(e){let{children:t,className:r,onClick:o,hapticFeedback:d=!0}=e,u=(0,a.J)(),x=()=>{o&&(d&&l.MU.tap(),o())},h=(0,s.cn)("relative overflow-hidden","bg-white dark:bg-[#1C1C1E]","border border-zinc-200/70 dark:border-white/[0.08] shadow-[0_1px_3px_rgba(0,0,0,0.03)] dark:shadow-none","rounded-[var(--mobile-radius-card)]","p-4 transition-[background-color,border-color] duration-200",o&&"cursor-pointer touch-p
1an-y select-none",r);return o?(0,n.jsx)(i.E.div,{role:"button",tabIndex:0,whileTap:u?void 0:{scale:.975},transition:c,onClick:x,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),x())},className:h,style:{borderRadius:"var(--mobile-radius-card)"},children:t}):(0,n.jsx)("div",{className:h,style:{borderRadius:"var(--mobile-radius-card)"},children:t})}function d(e){let{children:t,className:r}=e;return(0,n.jsx)("div",{className:(0,s.cn)("flex items-center justify-between mb-2 text-zinc-900 dark:text-zinc-100",r),children:t})}},84200:function(e,t,r){r.d(t,{Z:function(){return x}});var n=r(57437),s=r(2265),a=r(7888),i=r(93448),l=r(45007),c=r(13100),o=r(92846),d=r(54292),u=r(17829);function x(e){let{students:t,selectedStudentId:r,onSelectStudent:s,onOpenDashboard:l,totalStudentsCount:x,searchQuery:h,onSearchChange:f,isAdmin:p,error:b,isLoading:g=!1,onRetry:v}=e;return(0,n.jsx)("div",{className:"flex flex-col h-full min-h-0 flex-1 bg-[#FBFBF9] dark:bg-zinc-950",children:(0,n.jsx)(u.Z,{children:(0,n.jsx)("div",{className:"flex-1 overflow-y-auto px-4 mobile-scroll-with-floating","data-pull-scroll":!0,children:g&&0===t.length&&!b?(0,n.jsx)(d.r,{variant:"students",label:"íì ëª
ë¨ì ë¶ë¬ì¤ê³ ìì´ì"}):0===t.length?(0,n.jsx)("div",{className:"text-center py-16 flex flex-col items-center justify-center",children:b?(0,n.jsxs)("div",{className:"flex flex-col items-center gap-3 px-6",children:[(0,n.jsx)("div",{className:"text-red-600 dark:text-red-400 text-sm font-semibold",children:"íì ëª
ë¨ì ë¶ë¬ì¤ì§ 못íìµëë¤"}),(0,n.jsx)("div",{className:"text-zinc-600 dark:text-zinc-300 text-xs break-keep max-w-[260px]",children:(0,a.q)(b,"ì ì í ë¤ì ìëí´ ì£¼ì¸ì. ê³ì ì ëë©´ ë¤í¸ìí¬ ìí를 íì¸í´ 주ì¸ì.")}),v&&(0,n.jsx)("button",{type:"button",onClick:v,className:"min-h-[44px] px-4 rounded-xl text-[13px] font-semibold bg-zinc-100 dark:bg-zinc-800 text-zinc-800 dark:text-zinc-100 active:scale-[0.97] transition",children:"ë¤ì ìë"})]}):(0,n.jsx)(m,{})}):(0,n.jsxs)("div",{className:"space-y-[2px]",children:[!h&&l&&(0,n.jsxs)(c.E.button,{type:"button",whileTap:{scale:.98},transition:{type:"spring",stiffness:500,damping:30},onClick:l,className:(0,i.cn)("w-full flex items-center gap-3 px-3 py-[10px] rounded-2xl transition mt-1.5","text-left active:bg-zinc-100/60 dark:active:bg-zinc-800/60"),children:[(0,n.jsx)("span",{className:"w-5 h-5 rounded-md flex items-center justify-center text-[10.5px] font-semibold shrink-0 bg-zinc-100 text-zinc-500 dark:bg-zinc-800 dark:text-zinc-400",children:"0"}),(0,n.jsx)("div",{className:"flex-1 min-w-0 flex flex-col justify-center",children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"text-[14px] font-medium truncate text-zinc-900 dark:text-zinc-100",children:"ì ì²´ íì"}),(0,n.jsxs)("span",{className:"text-[11px] whitespace-nowrap shrink-0 font-medium text-zinc-400 dark:text-zinc-500",children:[null!=x?x:t.length,"ëª
"]})]})})]}),t.map(e=>(0,n.jsxs)(c.E.button,{whileTap:{scale:.98},transition:{type:"spring",stiffness:500,damping:30},onClick:()=>{o.MU.tap(),s(e.id)},className:(0,i.cn)("w-full flex items-center gap-3 px-3 py-[10px] rounded-2xl transition","text-left",r===e.id?"bg-zinc-800 text-white dark:bg-zinc-200 dark:text-zinc-900 shadow-md dark:shadow-none":"active:bg-zinc-100/60 dark:active:bg-zinc-800/60"),children:[(0,n.jsx)("span",{className:(0,i.cn)("w-5 h-5 rounded-md flex items-center justify-center text-[10.5px] font-semibold shrink-0",r===e.id?"bg-white/10 text-white dark:bg-black/10 dark:text-zinc-900":"bg-zinc-100 text-zinc-500 dark:bg-zinc-800 dark:text-zinc-400"),children:e.number}),(0,n.jsx)("div",{className:"flex-1 min-w-0 flex flex-col justify-center",children:(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:(0,i.cn)("text-[14px] font-medium truncate",r===e.id?"text-white dark:text-zinc-900 font-semibold":"text-zinc-900 dark:text-zinc-100"),children:e.name}),p&&(0,n.jsxs)("span",{className:(0,i.cn)("text-[11px] whitespace-nowrap shrink-0 font-medium",r===e.id?"text-white/70 dark:text-zinc-500":"text-zinc-400 dark:text-zinc-500"),children:[e.grade,"íë
",e.classNum,"ë°"]})]})}),r===e.id&&(0,n.jsx)("div",{className:"w-1.5 h-1.5 rounded-full bg-blue-400 shadow-[0_0_8px_rgba(96,165,250,0.8)] shrink-0"})]},e.id))]})})})})}let h="naemo.studentEmptyGhostPlayed";
1function m(){let[e,t]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{if(!window.matchMedia("(prefers-reduced-motion: reduce)").matches){try{if(sessionStorage.getItem(h))return;sessionStorage.setItem(h,"1")}catch(e){}t(!0)}},[]),(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center text-center",children:[(0,n.jsx)("div",{className:"w-14 h-14 bg-zinc-100 dark:bg-white/[0.05] rounded-full flex items-center justify-center mb-3 text-zinc-400 dark:text-zinc-500 pointer-events-none",children:(0,n.jsx)(l.w,{src:"/lordicons/ghost-angry-pinch.json",size:32,trigger:"morph",playOnMount:e,originalColors:!0,className:"text-zinc-400"})}),(0,n.jsx)("p",{className:"text-sm font-medium text-zinc-700 dark:text-zinc-300 mb-1",children:"ë±ë¡ë íìì´ ììµëë¤"}),(0,n.jsx)("p",{className:"text-xs text-zinc-400 dark:text-zinc-500 max-w-[200px] leading-relaxed",children:"ì¤ì ìì íì ëª
ë ¬í를 ë±ë¡íë©´ ì¶ê²°, ìë´, ì±ì ì ê´ë¦¬í ì ììµëë¤."})]})}},24754:function(e,t,r){r.d(t,{Z:function(){return f}});var n=r(57437),s=r(98907),a=r(2265),i=r(54887),l=r(32489),c=r(21047),o=r(99397),d=r(93448),u=r(98319),x=r(34137),h=r(43232);let m="live_ck_4yKeq5bgrpWgyX6jdZjZVGX0lzW6";function f(e){let{isOpen:t,onClose:r,currentBalance:f}=e,[p,b]=(0,a.useState)(!1),[g,v]=(0,a.useState)(1),[k,w]=(0,a.useState)(!1),[y,j]=(0,a.useState)(!1),{showToast:z}=(0,u.pm)(),N=100*g,C=8900*g;(0,a.useEffect)(()=>{b(!0);let e=(0,s.zN)(s._8);return e&&v((0,s.IL)(e.quantity)),()=>b(!1)},[]),(0,a.useEffect)(()=>{if(t){if(window.TossPayments)w(!0);else{let e=document.createElement("script");e.src="https://js.tosspayments.com/v2/standard",e.async=!0,e.onload=()=>w(!0),e.onerror=()=>z("ê²°ì ìì¤í
ì ë¶ë¬ì¤ëë° ì¤í¨íìµëë¤.","error"),document.head.appendChild(e)}}},[t,z]),(0,x.j)(r,t);let S=(0,a.useCallback)(()=>{let e=Date.now(),t=Math.random().toString(36).substring(2,8).toUpperCase();return"CREDIT-".concat(e,"-").concat(t)},[]),E=async()=>{if(!m){z("ê²°ì ìì¤í
ì´ ì¤ì ëì§ ìììµëë¤.","error");return}if(!k||!window.TossPayments){z("ê²°ì ìì¤í
ì ë¶ë¬ì¤ë ì¤ì
ëë¤.","info");return}j(!0);try{let e=window.TossPayments(m).payment({customerKey:"customer-".concat(Date.now())}),t=window.location.origin,r=(0,s.gA)(window.location.hash.slice(1));(0,s.$L)(s._8,{quantity:g,returnTo:r}),await e.requestPayment({method:"CARD",amount:{currency:"KRW",value:C},orderId:S(),orderName:"ë´ëª¨ í¬ë ë§ ".concat(N,"ê°"),successUrl:"".concat(t,"/payment/credit-success?quantity=").concat(g),failUrl:"".concat(t,"/payment/credit-fail?returnTo=").concat(r)})}catch(e){(null==e?void 0:e.code)!=="USER_CANCEL"&&z((null==e?void 0:e.message)||"ê²°ì ìì² ì¤ ì¤ë¥ê° ë°ìíìµëë¤.","error")}finally{j(!1)}};return t&&p?(0,i.createPortal)((0,n.jsx)("div",{className:"modal-viewport z-[300] flex items-center justify-center bg-black/60 backdrop-blur-sm p-4",onClick:e=>e.target===e.currentTarget&&r(),children:(0,n.jsxs)("div",{className:"relative w-full max-w-[400px] h-[540px] max-h-full bg-white dark:bg-[#0D0D0D] border border-zinc-200 dark:border-white/10 rounded-xl overflow-hidden animate-in fade-in zoom-in-95 duration-150 flex flex-col",children:[(0,n.jsx)("button",{"aria-label":"ë«ê¸°",onClick:r,className:"absolute top-4 right-4 p-1 text-zinc-400 hover:text-zinc-600 dark:hover:text-white transition-colors",children:(0,n.jsx)(l.Z,{size:18})}),(0,n.jsxs)("div",{className:"px-8 pb-4 pt-10 flex-1 flex flex-col overflow-y-auto",children:[(0,n.jsxs)("div",{children:[(0,n.jsx)("p",{className:"text-sm text-zinc-500 mb-3",children:"ì¶©ì íë í¬ë ë§"}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("div",{className:"flex-1 h-12 bg-white dark:bg-white/5 border border-zinc-200 dark:border-white/10 rounded-lg flex items-center justify-center",children:(0,n.jsx)("span",{className:"text-xl font-semibold text-zinc-900 dark:text-white",children:N.toLocaleString()})}),(0,n.jsx)("button",{"aria-label":"ìë ì¤ì´ê¸°",onClick:()=>v(e=>Math.max(1,e-1)),disabled:g<=1,className:"w-12 h-12 flex items-center justify-center border border-zinc-200 dark:border-white/10 rounded-lg text-zinc-500 hover:text-zinc-700 dark:hover:text-white hover:border-zinc-300 dark:hover:border-white/20 hover:bg-zinc-50 dark:hover:bg-white/5 disabled:opacity-30 disabled:cursor-not-allowed transition",children:(0,n.jsx)(c.Z,{size:18})}),(0,n.jsx)("button",{"aria-label":"ìë ë리기",onClick:()=>v(e=>e+1),className:"w-12 h-12 flex items-center justify-center border border-zinc-200 dark:border-white/10 rounded-lg text-zinc-500 hover:text-zinc-700 dark:hover:text-white hover:border-zinc-300 dark:hover:border-white/20 hover:bg-zinc-50 dark:hover:bg-white/5 transition",children:(0,n.jsx)(o.Z,{size:18})})]}),(0,n.jsxs)("p",{className:"text-sm text-zinc-400 dark:text-zinc-500 mt-3",children:["AI ìí기ë¡ë¶ ìì± ê¸°ë¥ì ",N.toLocaleStr
1ing(),"í ì´ì©í ì ìì´ì"]})]}),(0,n.jsx)("div",{className:"flex-1"}),(0,n.jsxs)("div",{className:"space-y-3 mb-6",children:[(0,n.jsxs)("div",{className:"flex justify-between items-center text-sm",children:[(0,n.jsx)("span",{className:"text-zinc-500",children:"ë³´ì í¬ë ë§:"}),(0,n.jsx)("span",{className:"text-zinc-700 dark:text-zinc-300 font-medium",children:f.toLocaleString()})]}),(0,n.jsxs)("div",{className:"flex justify-between items-center text-sm",children:[(0,n.jsx)("span",{className:"text-zinc-500",children:"ì¶©ì í¬ë ë§:"}),(0,n.jsxs)("span",{className:"text-zinc-700 dark:text-zinc-300 font-medium",children:["+",N.toLocaleString()]})]}),(0,n.jsxs)("div",{className:"flex justify-between items-center text-sm",children:[(0,n.jsx)("span",{className:"text-zinc-900 dark:text-white font-semibold",children:"ì¶©ì í í¬ë ë§:"}),(0,n.jsx)("span",{className:"text-zinc-900 dark:text-white font-bold",children:(f+N).toLocaleString()})]})]}),(0,n.jsx)("div",{className:"h-px bg-zinc-100 dark:bg-white/10 mb-6"}),(0,n.jsxs)("div",{className:"flex justify-between items-baseline mb-8",children:[(0,n.jsxs)("div",{className:"flex items-baseline gap-4",children:[(0,n.jsxs)("span",{className:"text-sm text-zinc-500",children:["100 í¬ë ë§ \xd7 ",g]}),(0,n.jsx)("span",{className:"text-sm text-zinc-500 font-medium",children:"ì´ ê²°ì ê¸ì¡"})]}),(0,n.jsxs)("span",{className:"text-xl font-bold text-zinc-900 dark:text-white",children:["â©",C.toLocaleString()]})]}),(0,n.jsx)("div",{onClick:y?void 0:E,role:"button",tabIndex:y?-1:0,className:(0,d.cn)("w-full h-12 font-medium text-sm rounded-lg transition flex items-center justify-center gap-2 select-none",y?"bg-zinc-100 dark:bg-white/5 text-zinc-400 cursor-not-allowed":"bg-zinc-900 dark:bg-zinc-100 [color:#fff] dark:[color:#18181b] cursor-pointer"),onMouseEnter:e=>{y||(e.currentTarget.style.backgroundColor="#27272a")},onMouseLeave:e=>{y||(e.currentTarget.style.backgroundColor="")},children:y?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(h.O,{size:16,strokeWidth:3,className:"animate-spin"}),"ì²ë¦¬ ì¤"]}):"ê²°ì "}),(0,n.jsx)("div",{className:"mt-4 text-center",children:(0,n.jsxs)("p",{className:"text-[11px] text-zinc-400 dark:text-zinc-500",children:["ê²°ì ì ",(0,n.jsx)("a",{href:"/terms",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-zinc-600 dark:hover:text-zinc-400",children:"ì´ì©ì½ê´"}),"ì íì¸íìì¼ë©° ì´ì ëìí©ëë¤."]})})]})]})}),document.body):null}},48280:function(e,t,r){r.r(t),r.d(t,{default:function(){return eg}});var n=r(57437),s=r(90982),a=r(78529),i=r(28691),l=r(2265),c=r(54887),o=r(40875),d=r(99397),u=r(92735),x=r(18930),h=r(51817),m=r(45007),f=r(92451),p=r(14064);let b=(0,r(79205).Z)("Calculator",[["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["line",{x1:"8",x2:"16",y1:"6",y2:"6",key:"x4nwl0"}],["line",{x1:"16",x2:"16",y1:"14",y2:"18",key:"wjye3r"}],["path",{d:"M16 10h.01",key:"1m94wz"}],["path",{d:"M12 10h.01",key:"1nrarc"}],["path",{d:"M8 10h.01",key:"19clt8"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M8 18h.01",key:"lrp35t"}]]);var g=r(73247),v=r(99388),k=r(21751),w=r(84200),y=r(43059),j=r(72173),z=r(9235),N=r(93448),C=r(25450);function S(e){var t,r,s;let{students:a,isStudentsLoading:i=!1,selectedStudentId:c,onSelectStudent:o,perfRowData:d,seteukRowData:u,updatePerfSource:x,updateSeteukField:h,updateSeteukSource:m,perfSourceCount:S,perfSourceNames:E,seteukSourceCount:M,calculateTotal:I,targetRange:R,availableClasses:D,selectedClass:L,onSelectClass:A,isAutoSaving:Z=!1,hasAutoSaveDirty:T=!1,autoSaveError:F=null,onRetryAutoSave:_,onUndo:K,canUndo:O=!1}=e,[P,B]=(0,l.useState)(""),[W,H]=(0,l.useState)("perf"),U=(0,l.useMemo)(()=>a.filter(e=>{var t,r;let n=!!(e.homeClassId||(null===(t=e.customClassIds)||void 0===t?void 0:t.length));return!L||!n||e.homeClassId===L||(null===(r=e.customClassIds)||void 0===r?void 0:r.includes(L))}),[a,L]),X=(0,l.useMemo)(()=>U.find(e=>e.id===c),[U,c]);(0,l.useEffect)(()=>{c&&!X&&o("")},[c,X,o]);let q=(0,l.useMemo)(()=>U.filter(e=>e.name.includes(P)||String(e.number).includes(P)),[U,P]),J=c?d[c]||{studentId:c,sources:Array(S).fill("")}:null,V=c?u[c]||{studentId:c,attitude:"",sources:Array(M).fill(""),draft:""}
1:null,Y=J?I(J.sources):0,G="750"===R?750:1500,Q=(0,z.C)(null!==(t=null==V?void 0:V.draft)&&void 0!==t?t:"");(0,k.rr)(c&&X?"".concat(X.name," (ìí\xb7ì¸í¹)"):null,(0,l.useCallback)(()=>o(""),[o]));let $=c&&X?(0,n.jsxs)("div",{className:"flex flex-col h-full bg-[#FBFBF9] dark:bg-zinc-950",children:[(0,n.jsx)("div",{className:"px-5 pt-8 pb-4 sticky top-0 z-40 bg-[#FBFBF9]/80 dark:bg-zinc-950/80 backdrop-blur-md",children:(0,n.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,n.jsxs)("div",{className:"flex items-center",children:[(0,n.jsx)("button",{"aria-label":"ë¤ë¡ê°ê¸°",onClick:()=>o(""),className:"p-1 -ml-2 mr-3 text-zinc-400 dark:text-zinc-500 active:scale-95 transition",children:(0,n.jsx)(f.Z,{size:24,strokeWidth:2.5})}),(0,n.jsxs)("div",{className:"flex flex-col",children:[(0,n.jsx)("h2",{className:"text-[17px] font-bold text-zinc-900 dark:text-zinc-100 leading-tight",children:X.name}),(0,n.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,n.jsxs)("p",{className:"text-[11px] font-medium text-zinc-500 dark:text-zinc-400",children:[X.grade,"íë
",X.classNum,"ë° ",X.number,"ë²"]}),(0,n.jsx)(j.R,{isSaving:Z,hasUnsavedChanges:T,error:F,onRetry:_,className:"shrink-0"})]})]})]}),(0,n.jsxs)("div",{className:"flex items-center gap-1.5 pointer-events-auto",children:[K&&(0,n.jsx)("button",{type:"button",onClick:K,disabled:!O,"aria-label":"ë§ì§ë§ ë³ê²½ ëë리기",className:"flex items-center justify-center w-11 h-11 -mr-1 rounded-2xl text-zinc-500 dark:text-zinc-300 active:bg-zinc-100 dark:active:bg-white/10 active:scale-[0.95] transition disabled:opacity-35",children:(0,n.jsx)(p.Z,{size:18})}),(0,n.jsx)("button",{onClick:()=>H("perf"),className:(0,C.Fk)("perf"===W,"whitespace-nowrap"),children:"ìí"}),(0,n.jsx)("button",{onClick:()=>H("seteuk"),className:(0,C.Fk)("seteuk"===W,"whitespace-nowrap"),children:"ì¸í¹"})]})]})}),(0,n.jsxs)("div",{className:"flex-1 px-4 mobile-scroll-with-floating overflow-y-auto",children:["perf"===W&&(0,n.jsx)("div",{className:"flex flex-col gap-4",children:(0,n.jsxs)(y.ZP,{children:[(0,n.jsx)(y.Lz,{children:(0,n.jsx)("h3",{className:"text-sm font-semibold text-zinc-800 dark:text-zinc-200",children:"íê° ì ì ì
ë ¥"})}),(0,n.jsxs)("div",{className:"flex flex-col gap-4",children:[Array.from({length:S}).map((e,t)=>{var r;return(0,n.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,n.jsx)("label",{className:"text-xs font-medium text-zinc-500 dark:text-zinc-400 shrink-0",children:E[t]||"ìì ".concat(t+1)}),(0,n.jsx)("div",{className:"flex-1",children:(0,n.jsx)("input",{type:"text",inputMode:"decimal",value:null!==(r=null==J?void 0:J.sources[t])&&void 0!==r?r:"",onChange:e=>c&&x(c,t,e.target.value),placeholder:"-",className:"w-full bg-zinc-50 dark:bg-zinc-900/60 border border-zinc-200 dark:border-white/10 rounded-lg px-3 py-2 text-sm text-zinc-900 dark:text-zinc-100 font-mono text-right min-h-[38px] focus:outline-none focus:ring-2 focus:ring-blue-500 transition"})})]},t)}),(0,n.jsxs)("div",{className:"mt-2 pt-4 border-t border-zinc-100 dark:border-zinc-800 flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5 text-zinc-400 dark:text-zinc-500",children:[(0,n.jsx)(b,{size:14}),(0,n.jsx)("span",{className:"text-[11px] font-medium tracking-wider",children:"ì´ì "})]}),(0,n.jsx)("span",{className:"text-lg font-bold text-zinc-900 dark:text-zinc-100 font-mono",children:Y})]})]})]})}),"seteuk"===W&&(0,n.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,n.jsxs)(y.ZP,{children:[(0,n.jsx)(y.Lz,{children:(0,n.jsx)("h3",{className:"text-sm font-semibold text-zinc-800 dark:text-zinc-200",children:"íë ë° í¹ì±"})}),(0,n.jsx)("textarea",{rows:3,value:null!==(r=null==V?void 0:V.attitude)&&void 0!==r?r:"",onChange:e=>c&&h(c,"attitude",e.target.value),placeholder:"íë ë° í¹ì±ì ì
ë ¥íì¸ì...",className:"w-full bg-zinc-50 dark:bg-zinc-900/60 border border-zinc-200 dark:border-white/10 rounded-lg p-3 text-[13px] text-zinc-900 dark:text-zinc-100 min-h-[90px] leading-relaxed resize-none focus:outline-none focus:ring-2 focus:ring-blue-500 transition"})]}),(0,n.jsxs)(y.ZP,{children:[(0,n.jsx)(y.Lz,{children:(0,n.jsx)("h3",{className:"text-sm font-semibold text-zinc-800 dark:text-zinc-200",children:"íê° ìë£"})}),(0,n.jsx)("div",{className:"flex flex-col gap-3",children:Array.from({length:M}).map((e,t)=>{var r;return(0,n.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,n.jsxs)("label",{className:"text-[10px] font-bold text-zinc-400 dark:text-zinc-500 uppercase tracking-widest pl-1",children:["ìë£ ",t+1
1]}),(0,n.jsx)("textarea",{rows:2,value:null!==(r=null==V?void 0:V.sources[t])&&void 0!==r?r:"",onChange:e=>c&&m(c,t,e.target.value),placeholder:"íê° ìë£ ".concat(t+1," ë´ì©ì ì
ë ¥íì¸ì..."),className:"w-full bg-zinc-50 dark:bg-zinc-900/60 border border-zinc-200 dark:border-white/10 rounded-lg p-3 text-[13px] text-zinc-900 dark:text-zinc-100 min-h-[70px] leading-relaxed resize-none focus:outline-none focus:ring-2 focus:ring-blue-500 transition"})]},t)})})]}),(0,n.jsxs)(y.ZP,{children:[(0,n.jsxs)(y.Lz,{children:[(0,n.jsx)("h3",{className:"text-sm font-semibold text-zinc-800 dark:text-zinc-200",children:"ì¸í¹ ì´ì"}),(0,n.jsx)("div",{className:"flex items-center gap-2",children:(0,n.jsxs)("span",{className:(0,N.cn)("text-[11px] font-mono px-2 py-0.5 rounded-full tabular-nums",Q>G?"bg-red-50 dark:bg-red-500/15 text-red-700 dark:text-red-300 font-semibold":"bg-zinc-100 dark:bg-white/10 text-zinc-600 dark:text-zinc-300"),children:[Q>G&&(0,n.jsx)("span",{className:"mr-1","aria-hidden":"true",children:"â "}),Q.toLocaleString()," / ",G.toLocaleString(),"ë°ì´í¸",Q>G&&(0,n.jsxs)("span",{className:"ml-1",children:["\xb7 ",(Q-G).toLocaleString()," ì´ê³¼"]})]})})]}),(0,n.jsx)("div",{className:"flex flex-col gap-3",children:(0,n.jsx)("textarea",{rows:6,value:null!==(s=null==V?void 0:V.draft)&&void 0!==s?s:"",onChange:e=>c&&h(c,"draft",e.target.value),placeholder:"ì¸í¹ ì´ìì ì
ë ¥íì¸ì...",className:"w-full bg-zinc-50 dark:bg-zinc-900/60 border border-zinc-200 dark:border-white/10 rounded-lg p-3 text-[13px] text-zinc-900 dark:text-zinc-100 min-h-[160px] leading-relaxed resize-none focus:outline-none focus:ring-2 focus:ring-blue-500 transition"})})]})]})]})]}):(0,n.jsxs)("div",{className:"flex flex-col h-full bg-[#FBFBF9] dark:bg-zinc-950",children:[D.length>1&&(0,n.jsx)("div",{className:"px-4 pt-3 pb-1",children:(0,n.jsx)("div",{className:"flex items-center gap-1.5 overflow-x-auto scrollbar-hide py-2",children:D.map(e=>(0,n.jsx)("button",{onClick:()=>A(e),className:(0,C.Fk)(L===e,"flex-none whitespace-nowrap"),children:e},e))})}),(0,n.jsx)(w.Z,{students:q,isLoading:i,selectedStudentId:c,onSelectStudent:e=>{o(e),B("")},searchQuery:P,onSearchChange:B,isAdmin:!0})]});return(0,n.jsxs)("div",{className:"flex flex-col h-full relative overflow-y-auto scroll-smooth bg-[#FBFBF9] dark:bg-zinc-950",children:[$,(!c||!X)&&(0,n.jsx)("div",{className:"fixed mobile-floating-bar left-0 right-0 px-6 flex justify-center z-40 pointer-events-none",children:(0,n.jsx)("div",{className:"w-full relative pointer-events-auto max-w-[400px]",children:(0,n.jsxs)("div",{className:(0,N.cn)("relative flex items-center h-[52px] px-4","bg-white/80 dark:bg-zinc-900/80 backdrop-blur-xl border border-zinc-200/80 dark:border-white/10 rounded-2xl","shadow-[0_8px_20px_rgba(0,0,0,0.06)] dark:shadow-none","transition duration-200"),children:[(0,n.jsx)("div",{className:"shrink-0 text-zinc-400 dark:text-zinc-500",children:(0,n.jsx)(g.Z,{size:22,strokeWidth:1.5})}),(0,n.jsx)("input",{type:"text",placeholder:"íì ì´ë¦ ëë ë²í¸ ê²ì...",value:P,onChange:e=>B(e.target.value),className:(0,N.cn)("w-full h-full bg-transparent border-none outline-none","pl-3 pr-2 text-[16px] font-normal","text-zinc-900 dark:text-zinc-100 placeholder:text-zinc-400 dark:placeholder:text-zinc-500")}),P&&(0,n.jsx)("button",{"aria-label":"ê²ìì´ ì§ì°ê¸°",onClick:()=>B(""),className:"p-1.5 -mr-1 text-zinc-400 active:text-zinc-600 active:scale-95 transition",children:(0,n.jsx)(v.Z,{size:20,strokeWidth:1.75})})]})})})]})}var E=r(62883),M=r(92934),I=r(69076),R=r(89227),D=r(82431),L=r(32489),A=r(95805),Z=r(48013),T=r(93202),F=r(76865),_=r(92369),K=r(34137);function O(e){let{open:t,onClose:r,onProceed:s,invalidResults:a,isBatch:i=!1,onProceedExcluding:l}=e;if((0,K.j)(r,t),!t||0===a.length)return null;let c=!i&&1===a.length;return a[0],(0,n.jsx)("div",{className:"modal-viewport z-[200] flex items-center justify-center bg-black/60 backdrop-blur-sm p-4 animate-in fade-in duration-200",onClick:r,children:(0,n.jsxs)("div",{className:"bg-white dark:bg-[#121214] rounded-2xl p-6 w-full max-w-lg shadow-2xl border border-zinc-200 dark:border-white/10 flex flex-col max-h-full",onClick:e=>e.stopPropagation(),children:[(0,n.jsxs)("div",{className:"flex items-start gap-3.5 mb-4 shrink-0",children:[(0,n.jsx)(F.Z,{size:22,className:"shrink-0 mt-0.5 text-amber-600 dar
1k:text-amber-400"}),(0,n.jsxs)("div",{className:"flex-1 min-w-0 pt-0.5",children:[(0,n.jsx)("h3",{className:"text-base font-bold text-zinc-900 dark:text-white tracking-tight",children:c?"íë ìë£ ì
ë ¥ ë´ì©ì íì¸í´ 주ì¸ì":"".concat(a.length,"ëª
ì íì ìë£ì ì¤íê° ê°ì§ëììµëë¤")}),(0,n.jsx)("p",{className:"text-xs text-zinc-500 dark:text-zinc-400 mt-1 leading-relaxed",children:"ì모 ë¶ë¦¬ ì¤íë ë¶ìì í ë¬¸êµ¬ê° ì
ë ¥ëì´ ììµëë¤. ì´ëë¡ ìì± ì ìëì¹ ìì ê°ì ë´ì©ì´ ìì±ëê±°ë í¬ë ë§ì´ ì모ë ì ììµëë¤."})]})]}),(0,n.jsx)("div",{className:"flex-1 overflow-y-auto space-y-3 pr-1 my-2",children:a.map(e=>(0,n.jsxs)("div",{className:"bg-zinc-50 dark:bg-white/[0.04] border border-zinc-200/80 dark:border-white/10 rounded-xl p-3.5",children:[(0,n.jsx)("div",{className:"flex items-center gap-2 mb-2",children:(0,n.jsxs)("span",{className:"inline-flex items-center gap-1.5 px-2.5 py-0.5 rounded-md text-xs font-bold bg-white dark:bg-white/10 border border-zinc-200 dark:border-white/10 text-zinc-800 dark:text-zinc-200 shadow-sm",children:[(0,n.jsx)(_.Z,{size:12,className:"text-zinc-500"}),e.studentNumber?"".concat(e.studentNumber,"ë² "):"",e.studentName]})}),(0,n.jsx)("div",{className:"space-y-1.5 pl-1",children:e.warnings.map((e,t)=>(0,n.jsxs)("div",{className:"text-xs",children:[(0,n.jsxs)("div",{className:"flex items-baseline gap-1.5 text-zinc-600 dark:text-zinc-400 font-medium",children:[(0,n.jsxs)("span",{className:"font-semibold text-amber-600 dark:text-amber-400",children:["[",e.fieldLabel,"]"]}),(0,n.jsx)("span",{children:e.message})]}),(0,n.jsxs)("div",{className:"mt-1 px-2.5 py-1.5 rounded-md bg-amber-500/[0.07] border border-amber-500/20 text-amber-950 dark:text-amber-200 font-mono text-[11px] break-all select-all",children:['"',e.snippet,'"']})]},t))})]},e.studentId))}),(0,n.jsxs)("div",{className:"mt-5 pt-3 border-t border-zinc-100 dark:border-white/10 flex flex-wrap gap-2 justify-end shrink-0",children:[(0,n.jsx)("button",{type:"button",onClick:r,className:"px-4 py-2.5 text-xs font-semibold text-zinc-600 dark:text-zinc-300 hover:text-zinc-900 dark:hover:text-white hover:bg-zinc-100 dark:hover:bg-white/5 rounded-xl transition-colors",children:"ìì í기"}),i&&l&&(0,n.jsx)("button",{type:"button",onClick:()=>{r(),l()},className:"px-4 py-2.5 text-xs font-bold bg-zinc-900 dark:bg-zinc-100 text-white dark:text-zinc-900 hover:bg-zinc-800 dark:hover:bg-zinc-200 rounded-xl transition-all shadow-sm active:scale-[0.98]",children:"í´ë¹ íì ì ì¸íê³ ìì±"}),(0,n.jsx)("button",{type:"button",onClick:()=>{r(),s()},className:"px-4 py-2.5 text-xs font-bold rounded-xl transition-all border ".concat(c?"bg-zinc-900 dark:bg-zinc-100 text-white dark:text-zinc-900 hover:bg-zinc-800 dark:hover:bg-zinc-200 shadow-sm active:scale-[0.98]":"border-zinc-200 dark:border-white/10 text-zinc-700 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-white/5"),children:c?"ê·¸ëë ìì±í기":"모ë í¬í¨íì¬ ìì±"})]})]})})}function P(e,t){if(!e)return null;let r=e.trim();if(!r)return null;let n=function(e){let t=e.trim();if(!t)return null;let r=t.match(/([ê°-í£][ã±-ã
ã
-ã
£]+|[ã±-ã
ã
-ã
£]+[ê°-í£])/);if(r)return{matched:!0,snippet:r[0]};let n=t.replace(/[^ê°-í£a-zA-Z0-9]/g,""),s=t.replace(/[^ã±-ã
ã
-ã
£]/g,"");return 0===n.length&&s.length>=2?{matched:!0,snippet:s.slice(0,10)}:null}(r);if(n)return{type:"incomplete_jamo",message:"ìì/모ìì´ ë¶ë¦¬ë ì¤í('".concat(n.snippet,"')ê° ê°ì§ëììµëë¤."),fieldLabel:t,snippet:r.length>30?"".concat(r.slice(0,30),"..."):r};let s=function(e){let t=e.trim();if(!t)return null;for(let e of[/asdf[asdf]*/i,/qwer[qwer]*/i,/zxcv[zxcv]*/i,/hjkl[hjkl]*/i,/ã
ã´ã
ã¹[ã
ã´ã
ã¹]*/,/ã
ã
ã·ã±[ã
ã
ã·ã±]*/]){let r=t.match(e);if(r&&r[0].length>=4)return{matched:!0,snippet:r[0]}}return null}(r);if(s)return{type:"keyboard_smash",message:"í¤ë³´ë ëí ìì¬ í
ì¤í¸('".concat(s.snippet,"')ê° ê°ì§ëììµëë¤."),fieldLabel:t,snippet:r.length>30?"".concat(r.slice(0,30),"..."):r};let a=function(e){let t=e.trim();if(!t)return null;let r=t.match(/(.)\1{3,}/);return r?{matched:!0,snippet:r[0].slice(0,8)}:null}(r);return a?{type:"repeated_chars",message:"ëì¼í 문ìê° ì°ìì¼ë¡ ë°ë³µë í
ì¤í¸('".concat(a.snippet,"')ê° ê°ì§ëììµëë¤."),fieldLabel:t,snippet:r.length>30?"".concat(r.slice(0,30),"..."):r}:null}function B(e){let t=[],r=P(e.attitude,"íë ë° í¹ì±");r&&t.push(r),e.sources&&Array.isArray(e.sources)&&e.sources.forEac
1h((e,r)=>{let n=P(e,"ìë£ ".concat(r+1));n&&t.push(n)});let n=[e.attitude||"",...e.sources||[]].join(" ").trim(),s=n.replace(/[^ê°-í£a-zA-Z0-9]/g,"");return n.length>0&&0===s.length&&0===t.length&&t.push({type:"empty_or_symbols",message:"ì미 ìë ê¸ì(íê¸, ì문, ì«ì)ê° í¬í¨ëì´ ìì§ ììµëë¤.",fieldLabel:"ì
ë ¥ ì ì²´",snippet:n.slice(0,20)}),{hasWarning:t.length>0,studentId:e.studentId,studentName:e.studentName,studentNumber:e.studentNumber,warnings:t}}let W="íì íìµ ëª©íì ëí ì´í´ëê° ëê³ í구 ê³¼ì ìì ë°ê²¬í 문ì ì ì ë
¼ë¦¬ì ì¼ë¡ í´ê²°íë©° ì§ì í¸ê¸°ì¬ì ë°ííë íëê° ì°ìí¨. ë¤ìí ê´ì ìì ì¬ê³ íê³ íë ¥ì ì¼ë¡ 문ì 를 í´ê²°íë ë¥ë ¥ì ë³´ì. ìì
ìê°ì ì ê·¹ì ì¼ë¡ ì°¸ì¬íë©° ëë£ íìë¤ìê² ëª¨ë²ì´ ë¨. ".repeat(4);function H(e){let{value:t,onChange:r,placeholder:s,minRows:a=1,className:i}=e,c=(0,l.useRef)(null);return(0,l.useEffect)(()=>{let e=c.current;e&&(e.style.height="auto",e.style.height="".concat(e.scrollHeight,"px"))},[t]),(0,n.jsx)("textarea",{ref:c,value:t,rows:a,onChange:e=>r(e.target.value),onClick:e=>e.stopPropagation(),placeholder:s,className:(0,N.cn)("w-full resize-none overflow-hidden bg-transparent leading-relaxed","rounded px-2 py-1 -mx-2","border border-transparent","hover:border-zinc-200 dark:hover:border-white/10 focus:border-blue-300 dark:focus:border-blue-500/40 focus:bg-blue-50/30 dark:focus:bg-blue-500/10","focus:outline-none focus:ring-1 focus:ring-blue-200/60 dark:focus:ring-blue-500/30","placeholder:text-zinc-300 dark:placeholder:text-zinc-600 transition-colors duration-150",i)})}function U(){return(0,n.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,n.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,n.jsx)("div",{className:"w-1.5 h-1.5 rounded-full bg-blue-400 animate-bounce",style:{animationDelay:"0ms"}}),(0,n.jsx)("div",{className:"w-1.5 h-1.5 rounded-full bg-blue-400 animate-bounce",style:{animationDelay:"120ms"}}),(0,n.jsx)("div",{className:"w-1.5 h-1.5 rounded-full bg-blue-400 animate-bounce",style:{animationDelay:"240ms"}})]}),(0,n.jsx)("p",{className:"text-xs text-blue-500 font-medium",children:"AIê° ì¸í¹ ì´ìì ìì±íê³ ììµëë¤..."})]})}function X(e){var t;let{onClose:r,students:s,classId:a,targetRange:i,getPerfRow:c,getSeteukRow:d,seteukSourceCount:u,seteukSourceNames:x,updateSeteukField:h,updateSeteukSource:f,setTargetRange:p,creditBalance:b,onCreditBalanceChange:g,onInsufficientCredits:k}=e,{getBatchQueue:w,isBatchRunningFor:y,enqueueBatch:j,startBatch:z,pauseBatch:C,clearBatchQueue:S,retryBatchTask:F}=(0,T.l)(),_=w(a),K=y(a),[P,X]=(0,l.useState)(new Set),[q,J]=(0,l.useState)(!1),[V,Y]=(0,l.useState)(!0),[G,Q]=(0,l.useState)(null),[$,ee]=(0,l.useState)(240),[et,er]=(0,l.useState)({open:!1,invalidResults:[],validTasks:[],allTasks:[]}),en=(0,l.useRef)(null),es=(0,l.useRef)(null),ea=(0,l.useRef)(null),ei=(0,l.useRef)(null);(0,l.useEffect)(()=>{if(_.length>0){X(new Set(_.map(e=>e.studentId)));return}let e=s.filter(e=>{var t,r;return!(null===(r=d(e.id))||void 0===r?void 0:null===(t=r.draft)||void 0===t?void 0:t.trim())&&ec(e.id)}).map(e=>e.id);if(e.length>0){X(new Set(e)),J(!0),Y(!0);return}let t=s.filter(e=>{var t,r;return!(null===(r=d(e.id))||void 0===r?void 0:null===(t=r.draft)||void 0===t?void 0:t.trim())}).map(e=>e.id);t.length>0?(X(new Set(t)),J(!0)):X(new Set(s.map(e=>e.id))),Y(!1)},[]);let el=null===(t=_.find(e=>"processing"===e.status))||void 0===t?void 0:t.studentId;(0,l.useEffect)(()=>{es.current&&es.current.scrollIntoView({behavior:"smooth",block:"center"})},[el]);let ec=e=>{var t;return((null===(t=d(e))||void 0===t?void 0:t.sources)||[]).some(e=>null==e?void 0:e.trim())},eo=(e,t)=>{let r=s.map(e=>e.id);return e&&(r=r.filter(e=>{var t,r;return!(null===(r=d(e))||void 0===r?void 0:null===(t=r.draft)||void 0===t?void 0:t.trim())})),t&&(r=r.filter(e=>ec(e))),r};(0,l.useEffect)(()=>{if(en.current){let e=P.size>=s.length&&s.length>0,t=P.size>0&&!e;en.current.indeterminate=t,en.current.checked=e}},[P.size,s.length]),(0,l.useEffect)(()=>{let e=ei.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect().width,r=window.getComputedStyle(e),n=document.createElement("div");
1Object.assign(n.style,{position:"fixed",left:"-9999px",top:"0",visibility:"hidden",width:"".concat(Math.max(120,t-24),"px"),fontSize:"12px",lineHeight:"1.625",fontFamily:r.fontFamily,whiteSpace:"pre-wrap",wordBreak:"break-word"}),n.textContent=W,document.body.appendChild(n);let s=n.offsetHeight;document.body.removeChild(n),ee(Math.max(160,s+32))};t();let r=new ResizeObserver(t);return r.observe(e),()=>r.disconnect()},[]);let ed=(0,l.useCallback)(e=>{J(!1),Y(!1),X(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},[]),eu=(0,l.useCallback)(()=>{J(!1),Y(!1),X(e=>e.size>=s.length?new Set:new Set(s.map(e=>e.id)))},[s]),ex=(0,l.useCallback)(e=>{e.length>0&&j(a,e),z(a,{onTaskSuccess:(e,t)=>{(null==t?void 0:t.draft)&&h(e,"draft",t.draft),"number"==typeof(null==t?void 0:t.remainingCredits)&&g(t.remainingCredits)},onInsufficientCredits:k})},[a,j,z,h,g,k]),eh=(0,l.useCallback)(function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=0===_.length?P.size:_.filter(e=>"pending"===e.status).length;if(null!==b&&t>b){k();return}if(0===_.length){let t=Array.from(P).map(e=>{let t=s.find(t=>t.id===e);if(!t)return null;let r=c(e),n=d(e);return{studentId:e,studentName:t.name,studentNumber:t.number,classId:a,attitude:(null==n?void 0:n.attitude)||"",sources:[...(null==r?void 0:r.sources)||[],...(null==n?void 0:n.sources)||[]],targetRange:i}}).filter(Boolean);if(!e){let e=function(e){let t=[],r=[];for(let n of e){let e=B(n);e.hasWarning?t.push(e):r.push(n)}return{hasAnyWarning:t.length>0,invalidStudents:t,validStudents:r}}(t.map(e=>({studentId:e.studentId,studentName:e.studentName,studentNumber:e.studentNumber,attitude:e.attitude,sources:e.sources})));if(e.hasAnyWarning){let r=new Set(e.validStudents.map(e=>e.studentId)),n=t.filter(e=>r.has(e.studentId));er({open:!0,invalidResults:e.invalidStudents,validTasks:n,allTasks:t});return}}ex(t)}else z(a,{onTaskSuccess:(e,t)=>{(null==t?void 0:t.draft)&&h(e,"draft",t.draft),"number"==typeof(null==t?void 0:t.remainingCredits)&&g(t.remainingCredits)},onInsufficientCredits:k})},[_,P,s,c,d,a,i,ex,z,b,k,h,g]),em=(0,l.useCallback)(()=>{let e=_.filter(e=>"failed"===e.status);if(0!==e.length){if(null!==b&&e.length>b){k();return}e.forEach(e=>F(a,e.studentId)),z(a,{onTaskSuccess:(e,t)=>{(null==t?void 0:t.draft)&&h(e,"draft",t.draft),"number"==typeof(null==t?void 0:t.remainingCredits)&&g(t.remainingCredits)},onInsufficientCredits:k})}},[_,a,F,z,b,k,h,g]),ef=_.filter(e=>"success"===e.status).length,ep=_.filter(e=>"failed"===e.status).length,eb=_.filter(e=>"processing"===e.status).length,eg=_.filter(e=>"pending"===e.status).length,ev=_.length,ek=0===ev?0:Math.round(ef/ev*100),ew=_.length>0,ey=ew&&0===eg&&0===eb,ej=35*eg,ez=K&&ej>0?ej>60?"ì½ ".concat(Math.ceil(ej/60),"ë¶ ë¨ì"):"ì½ ".concat(ej,"ì´ ë¨ì"):null,eN=!K,eC=P.size,eS=ew?K?"ìì± ì¤...":"ì´ì´ì ìì±":"".concat(eC,"ëª
AI ìì±");return(0,n.jsxs)("div",{className:"flex flex-col h-full bg-white dark:bg-[#1a1a1a]",children:[(0,n.jsxs)("div",{className:"flex items-center gap-4 px-6 py-4 border-b border-zinc-200 dark:border-white/10 shrink-0",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 mr-auto",children:[(0,n.jsx)(E.Z,{size:16,className:"text-zinc-400 shrink-0"}),(0,n.jsxs)("div",{children:[(0,n.jsx)("h1",{className:"text-[15px] font-bold text-zinc-900 dark:text-zinc-100 leading-none",children:"AI ìì±"}),(0,n.jsx)("p",{className:"text-xs text-zinc-400 dark:text-zinc-500 mt-0.5",children:"íìì ì ííê³ ì¸í¹ ì´ìì ì¼ê´ ìì±í©ëë¤"})]})]}),ew&&(0,n.jsxs)("div",{className:"flex items-center gap-3 text-xs",children:[ey?(0,n.jsxs)("span",{className:"flex items-center gap-1.5 text-green-600 font-semibold",children:[(0,n.jsx)(M.Z,{size:14})," ìì± ìë£"]}):(0,n.jsxs)("span",{className:"text-zinc-400",children:[ev,"ëª
ì¤"]}),ef>0&&(0,n.jsxs)("span",{className:"flex items-center gap-1 text-green-600 font-semibold",children:[(0,n.jsx)(M.Z,{size:12})," ",ef,"ìë£"]}),ep>0&&(0,n.jsxs)("span",{className:"flex items-center gap-1 text-red-500 font-semibold",children:[(0,n.jsx)(v.Z,{size:12})," ",ep,"ì¤í¨"]}),ez&&(0,n.jsx)("span",{className:"text-blue-500 font-medium",children:ez})]}),(0,n.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer select-none group",children:[(0,n.jsx)("div",{className:(0,N.cn)("w-4 h-4 rounded border-2 flex items-center justify-center transition duration-150 shrink-0",V?"bg-blue-600 border-blue-600":"border-zinc-300 dark:border-zinc-600 group-hover:border-zinc-400 dark:group-hover:border-zinc-500"),children:V&&(0,n.jsx)("svg",{width:"9",height:"7",viewBox:"0 0 9 7",fill:"none",children:(0,n.jsx)("path",{d:"M1 3L3.5 5.5L8 1",stroke:"white",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,n.jsx)("input",{type:"checkbox",checked:V,onChange:()=>{let e=!V;Y(e),X(new Set(eo(q,e)))},className:"sr-only"}),(0,n.jsx)("span",{className:(0,N.cn)("text-xs font-medium transition-colors whitespace-nowrap",V?"text-zinc-800 dark:text-zinc-200":"text-zinc-500 dark:text-zinc-400 group-hover:text-zinc-700 dark:group-hover:text-zinc-200"),children:"ìë£ ìë íìë§"})]}),(0,n.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer select-none group",children:[(0,n.jsx)("div",{className:(0,N.cn)("w-4 h-4 rounded border-2 flex items-center justify-center transition duration-150 shrink-0",q?"bg-blue-600 border-blue-600":"border-zinc-300 dark:border-zinc-600 group-hover:border-zinc-400 dark:group-hover:border-zinc-500"),children:q&&(0,n.jsx)("svg",{width:"9",height:"7",viewBox:"0 0 9 7",fill:"none",children:(0,n.jsx)("path",{d:"M1 3L3.5 5.5L8 1",stroke:"white",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round"})})}
1),(0,n.jsx)("input",{type:"checkbox",checked:q,onChange:()=>{let e=!q;J(e),X(new Set(eo(e,V)))},className:"sr-only"}),(0,n.jsx)("span",{className:(0,N.cn)("text-xs font-medium transition-colors whitespace-nowrap",q?"text-zinc-800 dark:text-zinc-200":"text-zinc-500 dark:text-zinc-400 group-hover:text-zinc-700 dark:group-hover:text-zinc-200"),children:"ì´ì ìë íìë§"})]}),ew&&!K&&(0,n.jsxs)("button",{onClick:()=>S(a),className:"flex items-center gap-1.5 text-xs px-3 py-1.5 rounded-lg border border-zinc-200 dark:border-white/10 text-zinc-500 dark:text-zinc-400 hover:text-zinc-800 dark:hover:text-zinc-200 hover:border-zinc-300 dark:hover:border-white/20 transition-colors",children:[(0,n.jsx)(I.Z,{size:12}),"ì´ê¸°í"]}),!ew&&0===eC&&s.length>0&&(0,n.jsx)("span",{className:"text-xs text-zinc-400 dark:text-zinc-500 whitespace-nowrap",children:"ìì±í íìì ì ííì¸ì"}),K?(0,n.jsxs)("button",{onClick:C,className:"flex items-center gap-2 px-5 py-2 text-sm font-semibold bg-zinc-800 hover:bg-zinc-700 dark:bg-zinc-200 dark:hover:bg-white text-white dark:text-zinc-900 rounded-xl transition-colors shadow-sm",children:[(0,n.jsx)(R.Z,{size:14}),"ì¼ì ì ì§"]}):ey?(0,n.jsxs)(n.Fragment,{children:[ep>0&&(0,n.jsxs)("button",{onClick:em,className:"flex items-center gap-2 px-4 py-2 text-sm font-semibold border border-amber-300 dark:border-amber-500/40 text-amber-700 dark:text-amber-400 hover:bg-amber-50 dark:hover:bg-amber-500/10 rounded-xl transition-colors",children:[(0,n.jsx)(D.Z,{size:14}),"ì¤í¨ ",ep,"ê±´ ë¤ì ìë"]}),(0,n.jsxs)("button",{onClick:r,className:"flex items-center gap-2 px-5 py-2 text-sm font-semibold bg-blue-600 hover:bg-blue-500 text-white rounded-xl transition-colors shadow-sm",children:[(0,n.jsx)(M.Z,{size:14}),"ë«ê¸°"]})]}):(0,n.jsxs)("button",{onClick:()=>eh(!1),disabled:0===eC&&!ew,className:"flex items-center gap-2 px-5 py-2 text-sm font-semibold bg-blue-600 hover:bg-blue-500 text-white rounded-xl transition-all disabled:opacity-40 disabled:cursor-not-allowed shadow-sm",children:[(0,n.jsx)(m.w,{src:"/lordicons/ai-write.json",size:16,className:"text-white"}),eS]}),(0,n.jsx)("button",{"aria-label":"ë«ê¸°",onClick:r,className:"p-1.5 hover:bg-zinc-100 dark:hover:bg-white/10 rounded-lg transition-colors text-zinc-400 hover:text-zinc-700 dark:hover:text-zinc-200 shrink-0",children:(0,n.jsx)(L.Z,{size:18})})]}),(0,n.jsx)("div",{className:(0,N.cn)("shrink-0 transition-all duration-300",ew?"h-1 bg-zinc-100 dark:bg-white/5":"h-0"),children:(0,n.jsx)("div",{className:"h-full bg-blue-500 transition-all duration-700 ease-out",style:{width:"".concat(ek,"%")}})}),(0,n.jsx)("div",{ref:ea,className:"flex-1 overflow-auto",children:(0,n.jsxs)("table",{className:"w-full text-sm border-collapse table-fixed",children:[(0,n.jsx)("thead",{className:"sticky top-0 z-20",children:(0,n.jsxs)("tr",{className:"bg-zinc-50 dark:bg-white/5 border-b border-zinc-200 dark:border-white/10",children:[(0,n.jsx)("th",{className:"w-12 pl-5 pr-2 py-3",children:(0,n.jsx)("input",{ref:en,type:"checkbox",onChange:eu,disabled:!eN||ew,className:"w-4 h-4 rounded accent-blue-600 cursor-pointer disabled:cursor-not-allowed disabled:opacity-50"})}),(0,n.jsx)("th",{className:"w-8 py-3 text-center text-[11px] font-semibold text-zinc-400 tracking-wider",children:"íë
"}),(0,n.jsx)("th",{className:"w-8 py-3 text-center text-[11px] font-semibold text-zinc-400 tracking-wider",children:"ë°"}),(0,n.jsx)("th",{className:"w-8 py-3 text-center text-[11px] font-semibold text-zinc-400 tracking-wider",children:"ë²í¸"}),(0,n.jsx)("th",{className:"w-20 px-3 py-3 text-center text-[11px] font-semibold text-zinc-400 tracking-wider border-r border-zinc-200 dark:border-white/10",children:"ì´ë¦"}),(0,n.jsx)("th",{className:"px-4 py-3 text-center text-[11px] font-semibold text-zinc-400 tracking-wider w-[120px]",children:"íë ë° í¹ì±"}),Array.from({length:u}).map((e,t)=>(0,n.jsx)("th",{className:"px-3 py-3 text-center text-[11px] font-semibold text-zinc-400 tracking-wider w-[150px]",children:x[t]||"ìë£ ".concat(t+1)},"sh-".concat(t))),(0,n.jsx)("th",{ref:ei,className:"px-4 py-3 text-center text-[11px] font-semibold text-zinc-400 tracking-wider w-[260px]",children:(0,n.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,n.jsx)("span",{children:"ì¸í¹ ì´ì"}),(0,n.jsxs)("div",{className:"relative inline-flex items-center",children:[(0,n.jsxs)("select",{value:i,onChange:e=>p(e.target.value),className:"appearance-none bg-white dark:bg-white/5 hover:bg-zinc-100 dark:hover:bg-white/10 border border-zinc-200 dark:border-white/10 rounded-md pl-2 pr-5 py-0.5 text-[10px] font-semibold text-zinc-600 dark:text-zinc-300 focus:outline-none focus:ring-1 focus:ring-zinc-300 dark:focus:ring-white/20 cursor-pointer transition-colors",children:[(0,n.jsx)("option",{value:"1500",children:"1500byte"}),(0,n.jsx)("option",{value:"750",children:"750byte"})]}
1),(0,n.jsx)(o.Z,{size:10,className:"absolute right-1 top-1/2 -translate-y-1/2 pointer-events-none text-zinc-400"})]})]})}),(0,n.jsx)("th",{className:"w-20 py-3 text-center text-[11px] font-semibold text-zinc-400 tracking-wider",children:"ìí"})]})}),(0,n.jsxs)("tbody",{style:{"--cell-max-h":"".concat($,"px")},children:[s.map(e=>{let t=d(e.id),r=_.find(t=>t.studentId===e.id),s=null==r?void 0:r.status,l="processing"===s,c="success"===s,o="failed"===s,x=P.has(e.id),m=K&&!l,p=G===e.id&&!l,b=(null==t?void 0:t.draft)||"",g=(null==t?void 0:t.attitude)||"",k=b.trim()?new TextEncoder().encode(b.trim()).length:0,w=p?"min-h-[44px] max-h-[var(--cell-max-h)] py-3 overflow-y-auto":"min-h-16 max-h-16";return(0,n.jsxs)("tr",{ref:l?e=>{es.current=e}:void 0,onClick:()=>{l||m||Q(t=>t===e.id?null:e.id)},className:(0,N.cn)("border-b border-zinc-100 dark:border-white/5 transition duration-300 ease-in-out",!l&&!m&&"cursor-pointer",l&&"bg-blue-50/70 dark:bg-blue-500/10 shadow-[inset_3px_0_0_#3b82f6]",p&&!l&&"bg-zinc-50 dark:bg-white/5 shadow-[inset_3px_0_0_#a1a1aa]",c&&!m&&!p&&"bg-green-50/40 dark:bg-green-500/10",c&&!m&&p&&"bg-green-50/60 dark:bg-green-500/15",o&&!m&&"bg-red-50/30 dark:bg-red-500/10",m&&"opacity-25",!ew&&x&&!p&&"bg-blue-50/40 dark:bg-blue-500/10",!l&&!m&&!p&&"hover:bg-zinc-50/60 dark:hover:bg-white/5"),children:[(0,n.jsx)("td",{className:"pl-5 pr-2 py-0 w-12 align-middle",onClick:e=>e.stopPropagation(),children:(0,n.jsx)("div",{className:(0,N.cn)("flex items-center justify-center transition duration-300",w),children:(0,n.jsx)("input",{type:"checkbox",checked:x,onChange:()=>ed(e.id),disabled:!eN||ew,className:"w-4 h-4 rounded accent-blue-600 cursor-pointer disabled:cursor-not-allowed disabled:opacity-50"})})}),(0,n.jsx)("td",{className:"py-0 w-8 align-middle text-center",children:(0,n.jsx)("div",{className:(0,N.cn)("flex items-center justify-center text-zinc-500 dark:text-zinc-400 text-sm transition duration-300",w),children:e.grade||"-"})}),(0,n.jsx)("td",{className:"py-0 w-8 align-middle text-center",children:(0,n.jsx)("div",{className:(0,N.cn)("flex items-center justify-center text-zinc-500 dark:text-zinc-400 text-sm transition duration-300",w),children:e.classNum||"-"})}),(0,n.jsx)("td",{className:"py-0 w-8 align-middle text-center",children:(0,n.jsx)("div",{className:(0,N.cn)("flex items-center justify-center text-zinc-600 dark:text-zinc-300 font-medium text-sm transition duration-300",w),children:e.number})}),(0,n.jsx)("td",{className:"px-3 py-0 w-20 align-middle border-r border-zinc-100 dark:border-white/5 max-w-[80px] text-center",children:(0,n.jsxs)("div",{className:(0,N.cn)("flex flex-col justify-center transition duration-300 min-w-0",w),children:[(0,n.jsx)("span",{className:"font-semibold text-zinc-900 dark:text-zinc-100 truncate text-center",children:e.name}),l&&(0,n.jsxs)("span",{className:"flex items-center gap-1 text-[10px] text-blue-500 font-medium mt-0.5",children:[(0,n.jsx)("span",{className:"w-1.5 h-1.5 bg-blue-500 rounded-full",style:{animation:"cursor-blink 1s step-end infinite"}}),"ìì± ì¤"]})]})}),(0,n.jsx)("td",{className:"px-3 py-0 align-top",children:(0,n.jsx)("div",{className:(0,N.cn)("transition duration-300",w,!p&&"flex items-center overflow-hidden"),children:p&&!l?(0,n.jsx)(H,{value:g,onChange:t=>h(e.id,"attitude",t),placeholder:"íë ë° í¹ì±...",className:"text-xs text-zinc-700 dark:text-zinc-300"}):g?(0,n.jsx)("span",{className:(0,N.cn)("text-xs text-zinc-500 dark:text-zinc-400 leading-relaxed",!l&&"line-clamp-2"),children:g}):(0,n.jsx)("span",{className:"text-xs text-zinc-300 dark:text-zinc-500 w-full text-center",children:"-"})})}),Array.from({length:u}).map((r,s)=>{var a;let i=(null==t?void 0:null===(a=t.sources)||void 0===a?void 0:a[s])||"";return(0,n.jsx)("td",{className:"px-3 py-0 align-top",children:(0,n.jsx)("div",{className:(0,N.cn)("transition duration-300",w,!p&&"flex items-center overflow-hidden"),children:p&&!l?(0,n.jsx)(H,{value:i,onChange:t=>f(e.id,s,t),placeholder:"ìë£ ì
ë ¥...",className:"text-xs text-zinc-700 dark:text-zinc-300"}):i?(0,n.jsx)("span",{className:(0,N.cn)("text-xs text-zinc-500 dark:text-zinc-400 leading-relaxed",!l&&"line-clamp-2"),children:i}):(0,n.jsx)("span",{className:"text-xs text-zinc-300 dark:text-zinc-500 w-full text-center",children:"-"})})},"src-".concat(s))}),(0,n.jsxs)("td",{className:"px-3 py-0 align-top relative",children:[(0,n.jsx)("div",{className:(0,N.cn)("transition duration-300",w,!p&&"flex items-start pt-1.5 overflow-hidden",!l&&b.trim()&&k>0&&(p?"pb-5":"pb-6")),children:l?(0,n.jsx)(U,{}):p?(0,n.jsx)(H,{value:b,onChange:t=>h(e.id,"draft",t),placeholder:"ì¸í¹ ì´ìì ì
ë ¥íê±°ë AIë¡ ìì±íì¸ì...",minRows:3,className:"text-xs text-zinc-800 dark:text-zinc-200"}):b.trim()?(0,n.jsx)("span",{className:"text-xs text-zinc-700 dark:text-zinc-300 leading-relaxed line-clamp-2 break-words w-full",children:b.trim()}):(0,n.jsx)("span",{className:"text-xs text-zinc-300 dark:text-zinc-500 w-full text-center",children:"-"})}),!l&&b.trim()&&k>0&&(0,n.jsxs)("span",{onClick:e=>e.stopPropagation(),className:(0,N.cn)("absolute bottom-1 right-2 text-[10px] leading-tight px-1.5 py-px rounded-sm pointer-events-none",k>("1500"===i?1500:750)?"text-red-500 bg-red-50 dark:bg-red-500/15":"text-green-600 dark:text-green-400 bg-green-50 dark:bg-green-500/15"),children:[k.toLocaleStr
1ing(),(0,n.jsxs)("span",{className:"ml-0.5 opacity-60",children:["/ ",i]})]})]}),(0,n.jsx)("td",{className:"py-0 w-20 align-middle text-center",onClick:e=>e.stopPropagation(),children:(0,n.jsxs)("div",{className:(0,N.cn)("flex flex-col items-center justify-center gap-1.5 transition duration-300",w),children:[!s&&(0,n.jsx)("span",{className:"text-[10px] text-zinc-300 dark:text-zinc-500",children:"-"}),"pending"===s&&(0,n.jsx)("span",{className:"text-[10px] text-zinc-400 bg-zinc-100 dark:bg-white/10 px-2 py-0.5 rounded-full",children:"ë기"}),l&&(0,n.jsx)(D.Z,{size:15,className:"text-blue-500 animate-spin"}),c&&(0,n.jsx)(M.Z,{size:16,className:"text-green-500"}),o&&(0,n.jsxs)("div",{className:"flex flex-col items-center gap-1",children:[(0,n.jsx)(v.Z,{size:15,className:"text-red-500"}),(0,n.jsx)("button",{onClick:t=>{t.stopPropagation(),F(a,e.id)},className:"text-[10px] text-red-500 hover:text-red-700 underline underline-offset-2 transition-colors",children:"ì¬ìë"})]})]})})]},e.id)}),0===s.length&&(0,n.jsx)("tr",{children:(0,n.jsx)("td",{colSpan:8+u,className:"py-20",children:(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2 text-center",children:[(0,n.jsx)("div",{className:"w-12 h-12 rounded-full bg-zinc-100 dark:bg-white/5 flex items-center justify-center",children:(0,n.jsx)(A.Z,{size:22,className:"text-zinc-400"})}),(0,n.jsx)("p",{className:"text-sm font-medium text-zinc-600 dark:text-zinc-300",children:"íì ëª
ë¨ì´ ììµëë¤"}),(0,n.jsx)("p",{className:"text-xs text-zinc-400 dark:text-zinc-500",children:"ìí\xb7ì¸í¹ íì´ì§ìì íê¸ì ì ííê±°ë íìì 먼ì ë±ë¡í´ 주ì¸ì."})]})})})]})]})}),ey&&(0,n.jsxs)("div",{className:"px-6 py-3.5 border-t border-green-100 dark:border-green-500/20 bg-green-50 dark:bg-green-500/10 flex items-center gap-2 shrink-0",children:[(0,n.jsx)(Z.Gl,{size:18,className:"shrink-0"}),(0,n.jsx)("span",{className:"text-sm font-medium text-green-700 dark:text-green-400",children:"모ë ì¸í¹ ì´ì ìì± ìë£"}),(0,n.jsx)("span",{className:"text-xs text-green-600/60 dark:text-green-500/60 ml-1",children:"â ì°½ì ë«ê³ ìí\xb7ì¸í¹ íì´ì§ìì ì´ìì íì¸\xb7ìì íì¸ì."}),ep>0&&(0,n.jsxs)("span",{className:"text-xs text-red-500 ml-auto",children:["ì¤í¨ ",ep,"ê±´ì ê°ë³ ì¬ìëíì¸ì."]})]}),(0,n.jsx)(O,{open:et.open,isBatch:!0,onClose:()=>er({open:!1,invalidResults:[],validTasks:[],allTasks:[]}),invalidResults:et.invalidResults,onProceedExcluding:()=>{let{validTasks:e}=et;er({open:!1,invalidResults:[],validTasks:[],allTasks:[]}),e.length>0&&ex(e)},onProceed:()=>{let{allTasks:e}=et;er({open:!1,invalidResults:[],validTasks:[],allTasks:[]}),e.length>0&&ex(e)}})]})}var q=r(4908),J=r(83008),V=r(13376),Y=r(67920),G=r(39136),Q=r(54696),$=r(96214),ee=r(25997),et=r(43232),er=r(64954),en=r(24754),es=r(98319);function ea(e){let{col:t,draftCol:r,studentId:n,generatingIds:s}=e;return t===r&&!!n&&s.has(n)}var ei=r(69813);function el(e,t){return e&&e.col!==t?e.col>t?{row:e.row,col:e.col-1}:e:null}function ec(e,t){if(!e)return null;let r=el(e.start,t),n=el(e.end,t);return r&&n?{start:r,end:n}:null}var eo=r(82374),ed=r(39561),eu=r(9244),ex=r(7153);let eh="íì íìµ ëª©íì ëí ì´í´ëê° ëê³ í구 ê³¼ì ìì ë°ê²¬í 문ì ì ì ë
¼ë¦¬ì ì¼ë¡ í´ê²°íë©° ì§ì í¸ê¸°ì¬ì ë°ííë íëê° ì°ìí¨. ë¤ìí ê´ì ìì ì¬ê³ íê³ íë ¥ì ì¼ë¡ 문ì 를 í´ê²°íë ë¥ë ¥ì ë³´ì. ìì
ìê°ì ì ê·¹ì ì¼ë¡ ì°¸ì¬íë©° ëë£ íìë¤ìê² ëª¨ë²ì´ ë¨. ".repeat(4);function em(e){let{fontSizeClass:t="text-sm",className:r,value:s,...a}=e,i=(0,l.useRef)(null),c=(0,l.useRef)(null);return(0,l.useLayoutEffect)(()=>{if(c.current&&i.current){let e=c.current.offsetWidth;i.current.style.width=s?"".concat(e+16,"px"):"40px"}},[s]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{ref:c,className:(0,N.cn)("invisible absolute whitespace-pre",t),"aria-hidden":"true",children:s||a.placeholder||""}),(0,n.jsx)("input",{ref:i,value:s,className:(0,N.cn)("min-w-[40px] focus:outline-none focus:ring-0 border-none",t,r),style:{width:s?void 0:"40p
1x"},...a})]})}let ef="saemo.evaluationColWidths.v1",ep={grade:48,classNum:48,number:48,name:96,total:48,attitude:200},eb=e=>{var t;return e.startsWith("perf-")?48:e.startsWith("seteuk-")?200:null!==(t=ep[e])&&void 0!==t?t:120};function eg(){var e,t,f,p,b,g;let{students:v,classes:k,isLoaded:w}=(0,q.AF)(),y=(0,Y.XC)(),z=(0,Q.Dv)(),C=(0,ed.g)(),E=(0,q.fc)(),M=eo.H&&!C&&E,{openSettings:I}=(0,ee.Y)(),[R,D]=(0,l.useState)(()=>localStorage.getItem("evaluation-selected-class")||""),[L,A]=(0,l.useState)([]),[Z,F]=(0,l.useState)(2),[_,K]=(0,l.useState)([]),[P,W]=(0,l.useState)(null),[H,U]=(0,l.useState)(null),[ep,eg]=(0,l.useState)(null),[ev,ek]=(0,l.useState)(null),[ew,ey]=(0,l.useState)(2),[ej,ez]=(0,l.useState)("1500"),{generateSeteuk:eN,generatingIds:eC,isBatchRunningFor:eS}=(0,T.l)(),{showToast:eE}=(0,es.pm)(),eM=()=>{eS(R)&&eE("백그ë¼ì´ëìì ì¸í¹ ìì±ì´ ê³ìë©ëë¤. ì§í ìí©ì íë©´ ì°ì¸¡ ìë¨ìì íì¸íì¸ì.","info"),eF(!1)},[eI,eR]=(0,l.useState)(null),[eD,eL]=(0,l.useState)(!1);(0,l.useEffect)(()=>{let e=new URLSearchParams(window.location.search);if("1"!==e.get("resumeCredit"))return;eL(!0),e.delete("resumeCredit");let t=e.toString();window.history.replaceState(window.history.state,"","".concat(window.location.pathname).concat(t?"?".concat(t):"").concat(window.location.hash))},[]);let[eA,eZ]=(0,l.useState)({open:!1,invalidResults:[]}),[eT,eF]=(0,l.useState)(!1),[e_,eK]=(0,l.useState)(null),[eO,eP]=(0,l.useState)(null),[eB,eW]=(0,l.useState)(!1),[eH,eU]=(0,l.useState)(null),eX=(0,l.useRef)(null),[eq,eJ]=(0,l.useState)(null),eV=(0,l.useRef)(null),eY=(0,l.useRef)(null),[eG,eQ]=(0,l.useState)(0),e$=(0,l.useCallback)(()=>{let e=document.activeElement;e instanceof HTMLElement&&"true"===e.dataset.gridEditor&&(e0.current=!0),eQ(e=>e+1)},[]),e0=(0,l.useRef)(!1),e1=(0,l.useRef)(null),[e2,e5]=(0,l.useState)(!1),e4=(0,l.useRef)(null),e3=(0,l.useRef)(300),[e8,e9]=(0,l.useState)(300),e6=(0,l.useRef)(null),[e7,te]=(0,l.useState)({}),tt=(0,l.useRef)(null),tr=e=>{var t;return null!==(t=e7[e])&&void 0!==t?t:eb(e)},tn=tr("grade"),ts=tn+tr("classNum"),ta=ts+tr("number");(0,l.useEffect)(()=>{try{let e=window.localStorage.getItem(ef);if(!e)return;let t=JSON.parse(e),r={};Object.entries(t).forEach(e=>{let[t,n]=e;"number"==typeof n&&Number.isFinite(n)&&(r[t]=Math.max(40,Math.min(720,n)))}),Object.keys(r).length>0&&te(r)}catch(e){}},[]),(0,l.useEffect)(()=>{let e=setTimeout(()=>{try{0===Object.keys(e7).length?window.localStorage.removeItem(ef):window.localStorage.setItem(ef,JSON.stringify(e7))}catch(e){}},300);return()=>clearTimeout(e)},[e7]);let ti=e=>t=>{t.preventDefault(),t.stopPropagation(),tt.current={key:e,startX:t.clientX,startWidth:tr(e)}},tl=e=>{te(t=>{if(void 0===t[e])return t;let r={...t};return delete r[e],r})};(0,l.useEffect)(()=>{let e=e=>{let t=tt.current;if(!t)return;let r=t.startWidth+(e.clientX-t.startX);te(e=>({...e,[t.key]:Math.max(40,Math.min(720,r))}))},t=()=>{tt.current=null};return window.addEventListener("mousemove",e),window.addEventListener("mouseup",t),()=>{window.removeEventListener("mousemove",e),window.removeEventListener("mouseup",t)}},[]);let tc=(e,t)=>(0,n.jsx)("span",{role:"separator","aria-label":"".concat(t," ì´ ëë¹ ì¡°ì "),onMouseDown:ti(e),onDoubleClick:()=>tl(e),title:"ëì´ì ëë¹ ì¡°ì (ë ë² í´ë¦íë©´ 기본ê°)",className:"absolute top-0 right-0 z-10 h-full w-2 cursor-col-resize hover:bg-toss-blue/30 active:bg-toss-blue/50 transition-colors"});(0,l.useEffect)(()=>{(async()=>{z&&(A((await (0,$.generateMockData)()).students),R||D("ë´ì íê¸"))})()},[z,R]);let to=(0,l.useCallback)(async()=>{if(z){eR(5);return}try{let e=await fetch("/api/credits");if(e.ok){let t=await e.json();eR(t.balance)}}catch(e){console.error("Failed to fetch credits:",e)}},[z]);(0,l.useEffect)(()=>{to()},[to]);let td=(0,l.useMemo)(()=>z?["ë´ì íê¸"]:k.filter(e=>"ë´ì íê¸"!==e),[z,k]);(0,l.useEffect)(()=>{!(td.length>0)||R&&td.includes(R)||D(td[0])},[td,R]),(0,l.useEffect)(()=>{R&&localStorage.setItem("evaluation-selected-class",R)},[R]),(0,l.useEffect)(()=>{eP(null),eY.current=null,eJ(null),eW(!1),eU(null)},[R]),(0,l.useEffect)(()=>()=>{e4.current&&clearTimeout(e4.current)},[]);let[tu,tx]=(0,l.useState)([]),th=(0,l.useRef)(null),tm=(0,l.useRef)(null),tf=(0,l.useRef)(0),tp=(0,l.useRef)(0),tb=(0,l.useRef)(0),tg=(0,l.useRef)(0),tv=(0,l.useRef)(!1);(0,l.useEffect)(()=>{tm.current={perfSourceCount:Z,perfSourceNames:_,seteukSourceCount:ew,seteukSourceNames:tu}},[Z,_,ew,tu]);let tk=(0,l.useCallback)(e=>{if(z||!R)return;th.current&&clearTimeout(th.current);let t=()=>{var t,r,n,s;let a=(null==e?void 0:e.explicitConfig)||tm.current;a&&(0,J.X)("saveEvaluationColumnConfig",{classId:R,perfSourceCount:null!==(t=a.perfSourceCount)&&void 0!==t?t:Z,perfSourceNames:null!==(r=a.perfSourceNames)&&void 0!==r?r:_,seteukSourceCount:null!==(n=a.seteukSourceCount)&&void 0!==n?n:ew,seteukSourceNames:null!==(s=a.seteukSourceNames)&&void 0!==s?s:tu},y)};(null==e?void 0:e.immediate)?t():th.current=setTimeout(t,500)},[z,R,y,Z,_,ew,tu]),tw=(0,l.useCallback)(()=>{var e,t;if(z||!R||!tv.current)return;let r=Math.max(tf.current,tb.current),n=Math.max(tp.current,tg.current);if(r<=tf.current&&n<=tp.current)return;tf.current=r,tp.current=n;let s=tm.current;tk({immediate:!0,explicitConfig:{perfSourceCount:r,perfSourceNames:null!==(e=null==s?void 0:s.perfSourceNames)&&void 0!==e?e:_,seteukSourceCount:n,seteukSourceNames:null!==(t=null==s?void 0:s.seteukSourceNames)&&void 0!==t?t:tu}})},[z,R,tk,_,tu]),ty=(0,l.useRef)(tw);ty.current=tw,(0,l.useEffect)(()=>
1{if(!R)return;let e=!1;if(tv.current=!1,tb.current=0,tg.current=0,tf.current=0,tp.current=0,z){F(2),K([]),ey(2),tx([]);return}return(async()=>{let t=await (0,J.X)("getEvaluationColumnConfig",{classId:R},y);if(e)return;let r=t.success&&t.data?t.data:{perfSourceCount:2,perfSourceNames:[],seteukSourceCount:2,seteukSourceNames:[]};tf.current=r.perfSourceCount,tp.current=r.seteukSourceCount,F(Math.max(r.perfSourceCount,tb.current)),K(r.perfSourceNames),ey(Math.max(r.seteukSourceCount,tg.current)),tx(r.seteukSourceNames||[]),tv.current=!0,ty.current()})(),()=>{e=!0}},[R,z,y]);let tj=z?L:v,tz=(0,l.useMemo)(()=>tj.filter(e=>{var t;return!!R&&(!!z||e.homeClassId===R||(null===(t=e.customClassIds)||void 0===t?void 0:t.includes(R)))}).sort((e,t)=>{let r=e.grade||0,n=t.grade||0;if(r!==n)return r-n;let s=e.classNum||0,a=t.classNum||0;return s!==a?s-a:e.number-t.number}),[tj,R,z]),{data:tN,setItem:tC,hydrateItem:tS,getItem:tE,recoveredKeys:tM,savingKeys:tI,dirtyKeys:tR,failedKeys:tD,flushAll:tL}=(0,G.M)({storageKeyPrefix:"performance-".concat(R),onSave:async(e,t)=>{if(z||!R||!e)return!0;let r=v.find(t=>t.id===e),n=r?{name:r.name,number:r.number,grade:r.grade||1,classNum:r.classNum||0,homeClassId:r.homeClassId}:void 0,s=await (0,J.X)("upsertPerformanceRecord",{studentId:e,classId:R,sources:t.sources,studentDetails:n},y);return s.success&&s.audit&&(0,V.dp)(s.audit),s.success},debounceMs:1500,enableLocalStorage:!z}),{data:tA,setItem:tZ,hydrateItem:tT,getItem:tF,recoveredKeys:t_,savingKeys:tK,dirtyKeys:tO,failedKeys:tP,flushAll:tB}=(0,G.M)({storageKeyPrefix:"seteuk-".concat(R),onSave:async(e,t)=>{if(z||!R||!e)return!0;let r=v.find(t=>t.id===e),n=r?{name:r.name,number:r.number,grade:r.grade||1,classNum:r.classNum||0,homeClassId:r.homeClassId}:void 0,s=await (0,J.X)("upsertSeteukRecord",{studentId:e,classId:R,attitude:t.attitude,sources:t.sources,draft:t.draft,studentDetails:n},y);return s.success&&s.audit&&(0,V.dp)(s.audit),s.success},debounceMs:1500,enableLocalStorage:!z}),tW=(0,l.useRef)(void 0);tW.current=()=>{tL(),tB()},(0,l.useEffect)(()=>{let e=()=>{var e;"hidden"===document.visibilityState&&(null===(e=tW.current)||void 0===e||e.call(tW))},t=()=>{var e;return null===(e=tW.current)||void 0===e?void 0:e.call(tW)};return document.addEventListener("visibilitychange",e),window.addEventListener("pagehide",t),()=>{document.removeEventListener("visibilitychange",e),window.removeEventListener("pagehide",t)}},[]);let tH=(null!==(e=null==tI?void 0:tI.size)&&void 0!==e?e:0)>0||(null!==(t=null==tK?void 0:tK.size)&&void 0!==t?t:0)>0,tU=(null!==(f=null==tR?void 0:tR.size)&&void 0!==f?f:0)>0||(null!==(p=null==tO?void 0:tO.size)&&void 0!==p?p:0)>0,tX=(null!==(b=null==tD?void 0:tD.size)&&void 0!==b?b:0)+(null!==(g=null==tP?void 0:tP.size)&&void 0!==g?g:0),tq=tX>0?"".concat(tX,"ëª
ë¶ì´ ì ì¥ëì§ ìììµëë¤."):null,tJ=(0,l.useCallback)(()=>{tL(),tB()},[tL,tB]),tV=(0,l.useRef)([]),tY=(0,l.useRef)([]),tG=(0,l.useRef)({perf:{},seteuk:{}});tG.current={perf:tN,seteuk:tA};let tQ=(0,l.useCallback)(()=>({perf:JSON.parse(JSON.stringify(tG.current.perf)),seteuk:JSON.parse(JSON.stringify(tG.current.seteuk))}),[]),[t$,t0]=(0,l.useState)(0),t1=(0,l.useCallback)(()=>{tV.current.push({perf:JSON.parse(JSON.stringify(tN)),seteuk:JSON.parse(JSON.stringify(tA))}),tV.current.length>30&&tV.current.shift(),tY.current=[],t0(tV.current.length)},[tN,tA]),t2=(0,l.useCallback)(e=>{Object.keys(tG.current.perf).forEach(t=>{t in e.perf||tC(t,{studentId:t,sources:[]})}),Object.keys(tG.current.seteuk).forEach(t=>{t in e.seteuk||tZ(t,{studentId:t,attitude:"",sources:[],draft:""})}),Object.entries(e.perf).forEach(e=>{let[t,r]=e;return tC(t,r)}),Object.entries(e.seteuk).forEach(e=>{let[t,r]=e;return tZ(t,r)}),e$()},[tC,tZ,e$]),t5=(0,l.useCallback)(()=>{let e=tV.current.pop();t0(tV.current.length),e&&(tY.current.push(tQ()),t2(e))},[t2,tQ]),t4=(0,l.useCallback)(()=>{let e=tY.current.pop();e&&(tV.current.push(tQ()),t0(tV.current.length),t2(e))},[t2,tQ]);(0,l.useEffect)(()=>{let e=e=>{if(!(e.metaKey||e.ctrlKey))return;let t=e.key.toLowerCase();if(!eT&&!eD&&!ev&&!eq){if("z"===t&&e.shiftKey||"y"===t){e.preventDefault(),t4();return}"z"===t&&(e.preventDefault(),t5())}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t5,t4,eq,eT,eD,ev]);let[t3,t8]=(0,l.useState)({classId:"",status:"loading"}),[t9,t6]=(0,l.useState)(0),t7=!!R&&(t3.classId!==R||"loading"===t3.status),re=t3.classId===R&&"error"===t3.status;(0,l.useEffect)(()=>
1{if(!R)return;let e=!1;if(t8({classId:R,status:"loading"}),z)return(async()=>{let t=await (0,$.generateMockData)();e||t.students.forEach(e=>{tS(e.id,{studentId:e.id,sources:["","",""]}),tT(e.id,{studentId:e.id,attitude:"",sources:["","",""],draft:""})})})().then(()=>{e||t8({classId:R,status:"ready"})}).catch(()=>{e||t8({classId:R,status:"error"})}),()=>{e=!0};let t=e=>{if(!Array.isArray(e))return 0;let t=0;for(let n=0;n<e.length;n++){var r;""!==String(null!==(r=e[n])&&void 0!==r?r:"").trim()&&(t=n+1)}return t},r=async()=>{let r=await (0,i.W)(()=>(0,J.X)("getSeteukRecords",{classId:R},y));if(!e){if(!r.success)throw Error(r.error);if(r.data){let e=r.data,a=0;for(let r of e){var n,s;let e=t_.has(r.studentId);e||tT(r.studentId,{studentId:r.studentId,attitude:r.attitude||"",sources:r.sources||[],draft:r.draft||""}),a=Math.max(a,t(null!==(s=e?null===(n=tG.current.seteuk[r.studentId])||void 0===n?void 0:n.sources:r.sources)&&void 0!==s?s:r.sources))}a>tg.current&&(tg.current=a),ey(e=>Math.max(e,tg.current)),ty.current()}}};return Promise.all([(async()=>{let r=await (0,i.W)(()=>(0,J.X)("getPerformanceRecords",{classId:R},y));if(!e){if(!r.success)throw Error(r.error);if(r.data){let e=r.data,a=0;for(let r of e){var n,s;let e=tM.has(r.studentId);e||tS(r.studentId,{studentId:r.studentId,sources:r.sources||[]}),a=Math.max(a,t(null!==(s=e?null===(n=tG.current.perf[r.studentId])||void 0===n?void 0:n.sources:r.sources)&&void 0!==s?s:r.sources))}a>tb.current&&(tb.current=a),F(e=>Math.max(e,tb.current)),ty.current()}}})(),r()]).then(()=>{e||t8({classId:R,status:"ready"})}).catch(()=>{e||t8({classId:R,status:"error"})}),()=>{e=!0}},[t9,R,y,z,tM,t_,tS,tT]);let rt=e=>tE(e,{studentId:e,sources:Array(Z).fill("")}),rr=(e,t,r)=>{let n=rt(e),s=[...n.sources];for(;s.length<Z;)s.push("");s[t]=r,tC(e,{...n,sources:s})},rn=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=[];K(r=>{let s=[...r];for(;s.length<=e;)s.push("");return s[e]=t,n=s,s}),tk({immediate:r,explicitConfig:{perfSourceNames:n}})},rs=e=>{if(Z<=1)return;F(Z-1);let t=4+e;eP(e=>ec(e,t)),eU(e=>el(e,t)),eJ(e=>{let r=el(e,t);return eY.current=r,r||(eV.current=null),r}),K(t=>{let r=[...t];return r.length>e&&r.splice(e,1),r}),tk(),tz.forEach(t=>{let r=t.id,n=tN[r];if(n){let t=[...n.sources];t.splice(e,1),tC(r,{...n,sources:t})}})},ra=e=>e.reduce((e,t)=>""===t.trim()||isNaN(Number(t))?e:e+parseFloat(t),0),ri=e=>tF(e,{studentId:e,attitude:"",sources:Array(ew).fill(""),draft:""}),rl=(e,t,r)=>{let n=ri(e);tZ(e,{...n,[t]:r})},rc=(e,t,r)=>{let n=[...ri(e).sources];for(;n.length<ew;)n.push("");n[t]=r,rl(e,"sources",n)},ro=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=[];tx(r=>{let s=[...r];for(;s.length<=e;)s.push("");return s[e]=t,n=s,s}),tk({immediate:r,explicitConfig:{seteukSourceNames:n}})},rd=e=>{if(ew<=0)return;ey(e=>e-1);let t=4+Z+2+e;eP(e=>ec(e,t)),eU(e=>el(e,t)),eJ(e=>{let r=el(e,t);return eY.current=r,r||(eV.current=null),r}),tx(t=>{let r=[...t];return r.length>e&&r.splice(e,1),r}),tk(),tz.forEach(t=>{let r=t.id,n=tA[r];if(n){let t=[...n.sources];t.splice(e,1),tZ(r,{...n,sources:t})}})};(0,l.useEffect)(()=>{let e=e6.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect().width,r=window.getComputedStyle(e),n=document.createElement("div");Object.assign(n.style,{position:"fixed",left:"-9999px",top:"0",visibility:"hidden",width:"".concat(Math.max(120,t-16),"px"),fontSize:"14px",lineHeight:"1.5",fontFamily:r.fontFamily,whiteSpace:"pre-wrap",wordBreak:"break-word"}),n.textContent=eh,document.body.appendChild(n);let s=n.offsetHeight;document.body.removeChild(n);let a=Math.max(120,s+24);e3.current=a,e9(a)};t();let r=new ResizeObserver(t);return r.observe(e),()=>r.disconnect()},[]);let ru=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(!e||!(e instanceof HTMLTextAreaElement))return;if(t){e.style.height="34px",e.style.overflowY="hidden";return}let r=e3.current;e.style.height="auto";let n=e.scrollHeight;n>r?(e.style.height="".concat(r,"px"),e.style.overflowY="auto"):(e.style.height="".concat(n,"px"),e.style.overflowY="hidden")},rx=e=>ru(e.target),rh=e=>ru(e.target);(0,l.useEffect)(()=>{var e;let t=null===(e=e1.current)||void 0===e?void 0:e.querySelectorAll("textarea");
1null==t||t.forEach(e=>{let t="true"===e.dataset.gridEditor;ru(e,!t&&e!==document.activeElement)})},[tz,tA,ew]);let rm=async function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(z){window.dispatchEvent(new CustomEvent("open-login-modal"));return}let r=v.find(t=>t.id===e);if(r)try{let n=ri(e);if(!t){let t=B({studentId:e,studentName:r.name,studentNumber:r.number,attitude:n.attitude,sources:n.sources});if(t.hasWarning){eZ({open:!0,invalidResults:[t],pendingStudentId:e});return}}await eN({studentId:e,studentName:r.name,classId:R,attitude:n.attitude,sources:n.sources,targetRange:ej,onSuccess:t=>{console.log("[EvaluationRecordView] handleGenerateSeteuk onSuccess called. Data:",t),t.draft&&(console.log("[EvaluationRecordView] Updating draft for student:",e),rl(e,"draft",t.draft),e$()),"number"==typeof t.remainingCredits&&eR(t.remainingCredits)},onError:e=>{e.needCredit&&eL(!0)}})}catch(e){console.error(e)}},rf=e=>{if(e<4)return{type:"info",readOnly:!0};let t=4;return e<4+Z?{type:"perf",index:e-t}:e===(t+=Z)?{type:"total",readOnly:!0}:e===(t+=1)?{type:"attitude"}:e<(t+=1)+ew?{type:"source",index:e-t}:e===(t+=ew)?{type:"draft"}:{type:"unknown",readOnly:!0}},rp=(e,t)=>{let r=tz[e];if(!r)return"";let n=rf(t);if("info"===n.type){if(0===t)return r.grade||"";if(1===t)return r.classNum||"";if(2===t)return r.number||"";if(3===t)return r.name||""}let s=rt(r.id),a=ri(r.id);return"perf"===n.type?s.sources[n.index]||"":"total"===n.type?ra(s.sources).toString():"attitude"===n.type?a.attitude||"":"source"===n.type?a.sources[n.index]||"":"draft"===n.type&&a.draft||""},rb=async()=>{if(!eO)return;let e=Math.min(eO.start.row,eO.end.row),t=Math.max(eO.start.row,eO.end.row),r=Math.min(eO.start.col,eO.end.col),n=Math.max(eO.start.col,eO.end.col),s="";for(let a=e;a<=t;a++){let e=[];for(let t=r;t<=n;t++)e.push((0,N.vB)(rp(a,t)));s+=e.join(" ")+(a===t?"":"\r\n")}try{await navigator.clipboard.writeText(s),e5(!0),e4.current&&clearTimeout(e4.current),e4.current=setTimeout(()=>e5(!1),1200)}catch(e){console.error("Failed to copy",e)}},rg=(e,t)=>{let r,n;let s=null!=t?t:eO?{row:Math.min(eO.start.row,eO.end.row),col:Math.min(eO.start.col,eO.end.col)}:null;if(!s)return;let a=s.row,i=s.col,l=(0,N.R3)(e);if(0===l.length)return;t1();let c=(l=l.map(e=>e.map(e=>e.replace(/\r\n?/g,"\n")))).length,o=Math.max(...l.map(e=>e.length));if((t||null!==eO&&eO.start.row===eO.end.row&&eO.start.col===eO.end.col)&&c>1&&!e.includes(" ")&&!e.includes("\r")){let e=rf(i);("draft"===e.type||"attitude"===e.type||"source"===e.type)&&(l=[[l.map(e=>e[0]).join("\n")]])}if(t||null===eO||eO.start.row===eO.end.row&&eO.start.col===eO.end.col)r=l.length,n=o;else{let e=Math.min(eO.start.row,eO.end.row),t=Math.max(eO.start.row,eO.end.row),s=Math.min(eO.start.col,eO.end.col),a=Math.max(eO.start.col,eO.end.col);r=t-e+1,n=a-s+1}let d=new Map,u=new Map;for(let e=0;e<r;e++){let t=a+e;if(t>=tz.length)break;let r=tz[t],s=l[e%c];if(!s)continue;let h=d.get(r.id);if(!h){let e=rt(r.id);h={...e,sources:[...e.sources]}}let m=u.get(r.id);if(!m){let e=ri(r.id);m={...e,sources:[...e.sources]}}let f=!1,p=!1;for(let e=0;e<n;e++){var x;let t=rf(i+e);if(t.readOnly)continue;let r=null!==(x=s[e%o])&&void 0!==x?x:"";if("perf"===t.type){let e=t.index;for(;h.sources.length<=e;)h.sources.push("");h.sources[e]=r,f=!0}if("attitude"===t.type&&(m.attitude=r,p=!0),"source"===t.type){let e=t.index;for(;m.sources.length<=e;)m.sources.push("");m.sources[e]=r,p=!0}
1"draft"===t.type&&(m.draft=r,p=!0)}f&&d.set(r.id,h),p&&u.set(r.id,m)}d.forEach((e,t)=>tC(t,e)),u.forEach((e,t)=>tZ(t,e)),e$()},rv=(e,t,r)=>{var n,s;let a=eY.current;if(!a||a.row!==t||a.col!==r){if((null===(s=e.target)||void 0===s?void 0:null===(n=s.dataset)||void 0===n?void 0:n.gridEditor)!=="true"&&e.preventDefault(),a&&rK(),e.shiftKey&&eO){eW(!1),eP({start:eO.start,end:{row:t,col:r}});return}rI(),eW(!0),eU({row:t,col:r}),eP({start:{row:t,col:r},end:{row:t,col:r}}),eX.current={x:e.clientX,y:e.clientY}}},rk=(e,t,r)=>{if(!(1&e.buttons)){eB&&(eW(!1),eU(null));return}if(eB&&eH){let s=eX.current;if(s&&4>Math.abs(e.clientX-s.x)&&4>Math.abs(e.clientY-s.y))return;if(eH.row!==t||eH.col!==r){var n;null===(n=window.getSelection())||void 0===n||n.removeAllRanges()}eP({start:eH,end:{row:t,col:r}})}},rw=()=>{eW(!1),eU(null)};(0,l.useEffect)(()=>(window.addEventListener("mouseup",rw),()=>window.removeEventListener("mouseup",rw)),[]);let ry=(e,t)=>{if(!eO||eq&&eq.row===e&&eq.col===t)return!1;let r=Math.min(eO.start.row,eO.end.row),n=Math.max(eO.start.row,eO.end.row),s=Math.min(eO.start.col,eO.end.col),a=Math.max(eO.start.col,eO.end.col);return e>=r&&e<=n&&t>=s&&t<=a},rj=e=>!!eq&&eq.row===e||!!eO&&e===eO.start.row,rz=(e,t)=>{if(!eO)return{};let r=Math.min(eO.start.row,eO.end.row),n=Math.max(eO.start.row,eO.end.row),s=Math.min(eO.start.col,eO.end.col),a=Math.max(eO.start.col,eO.end.col);if(e<r||e>n||t<s||t>a)return{};let i="#3b82f6",l=["inset 0 -1px 0 0 ".concat(i),"inset -1px 0 0 0 ".concat(i)];return e===r&&l.push("inset 0 1px 0 0 ".concat(i)),t===s&&l.push("inset 1px 0 0 0 ".concat(i)),{boxShadow:l.join(", ")}},rN=(e,t)=>(null==eq?void 0:eq.row)===e&&(null==eq?void 0:eq.col)===t,rC=4+Z+1+1+ew,rS=rC+1,rE=(()=>{var e;if(!eO)return null;let{start:t,end:r}=eO;return t.row!==r.row||t.col!==r.col||rf(t.col).readOnly||ea({col:t.col,draftCol:rC,studentId:null===(e=tz[t.row])||void 0===e?void 0:e.id,generatingIds:eC})?null:t})(),rM=(e,t)=>(null==rE?void 0:rE.row)===e&&(null==rE?void 0:rE.col)===t,rI=()=>{e0.current=!0},rR=(e,t)=>{let r=4+Z+1+1+ew+1,n=e+t;for(;n>=0&&n<r;){if(!rf(n).readOnly)return n;n+=t}return null},rD=(e,t,r)=>{let n=tz[e];if(!n)return;let s=rf(t);"perf"===s.type?rr(n.id,s.index,r):"attitude"===s.type?rl(n.id,"attitude",r):"source"===s.type?rc(n.id,s.index,r):"draft"===s.type&&rl(n.id,"draft",r)},rL=(e,t,r)=>{var n;if(eq&&eq.row===e&&eq.col===t||rf(t).readOnly)return;if(ea({col:t,draftCol:4+Z+1+1+ew,studentId:null===(n=tz[e])||void 0===n?void 0:n.id,generatingIds:eC})){eE("AI ìì±ì´ ëë ë¤ì í¸ì§í ì ìì´ì.","info");return}let s=String(rp(e,t));t1(),void 0!==r&&rD(e,t,r),eV.current={row:e,col:t,value:s},eP({start:{row:e,col:t},end:{row:e,col:t}}),eY.current={row:e,col:t},eJ({row:e,col:t}),rI()},rA=(e,t,r)=>{if(eY.current)return;if(e.detail>=2){rL(t,r);return}let n=e.currentTarget,s=n.value.length;"perf"===rf(r).type?n.setSelectionRange(0,s):n.setSelectionRange(s,s)},rZ=(e,t)=>{eY.current||rL(e,t)},rT=e=>{ru(e.target),rK()},rF=e=>{var t;let r=null===(t=e1.current)||void 0===t?void 0:t.querySelector('[data-row="'.concat(e,'"]'));null==r||r.scrollIntoView({block:"nearest"})};(0,l.useEffect)(()=>{var e;if(!e0.current||(e0.current=!1,!rE))return;let t=null===(e=e1.current)||void 0===e?void 0:e.querySelector('[data-grid-editor="true"]');if(!t||(t!==document.activeElement&&t.focus({preventScroll:!0}),eY.current))return;let r=t.value.length;"perf"===rf(rE.col).type?t.setSelectionRange(0,r):t.setSelectionRange(r,r)});let r_=(e,t)=>{let r=Math.max(0,Math.min(tz.length-1,e)),n=Math.max(0,Math.min(rS-1,t));eP({start:{row:r,col:n},end:{row:r,col:n}}),rI(),rF(r)},rK=()=>{let e=eV.current;e&&String(rp(e.row,e.col))===e.value&&tV.current.pop(),eV.current=null,eY.current=null,eJ(null)},rO=(0,l.useRef)(new Set);(0,l.useEffect)(()=>{var e;let t=function(e,t){let r=[];return t.forEach(t=>{e.has(t)||r.push(t)}),r}(rO.current,eC);if(rO.current=eC,0===t.length)return;let r=eY.current;if(!r)return;let n=4+Z+1+1+ew,s=null===(e=tz[r.row])||void 0===e?void 0:e.id;t.some(e=>(function(e){let{editingCell:t,draftCol:r,editingStudentId:n,startedStudentId:s}=e;return!!t&&t.col===r&&n===s})({editingCell:r,draftCol:n,editingStudentId:s,startedStudentId:e}))&&(rK(),eE("AI ìì±ì´ ììëì´ í¸ì§ ì¤ì´ë ë´ì©ì ì ì¥íì´ì.","info"))},[eC,tz,Z,ew]);let rP=(e,t)=>{if(!eO)return!1;let r=eO.start.row===eO.end.row&&eO.start.col===eO.end.col;if(r&&("Enter"===e.key||"F2"===e.key)){let{row:t,col:r}=eO.start;return!rf(r).readOnly&&(e.preventDefault(),rL(t,r),!0)}if("ArrowUp"===e.key||"ArrowDown"===e.key||"ArrowLeft"===e.key||"ArrowRight"===e.key){e.preventDefault();let{row:t,col:r}=eO.end;return"ArrowUp"===e.key?t-=1:"ArrowDown"===e.key?t+=1:"ArrowLeft"===e.key?r-=1:r+=1,t=Math.max(0,Math.min(tz.length-1,t)),r=Math.max(0,Math.min(rS-1,r)),e.shiftKey?(eP({start:eO.start,end:{row:t,col:r}}),rF(t)):r_(t,r),!0}if("Tab"===e.key){e.preventDefault();let{row:t,col:r}=eO.end;return r_(t,r+(e.shiftKey?-1:1)),!0}if("Delete"===e.key||"Backspace"===e.key)return e.preventDefault(),rH(),!0;
1if((e.metaKey||e.ctrlKey)&&("c"===e.key||"C"===e.key))return e.preventDefault(),rb(),!0;if(!(null==t?void 0:t.yieldTyping)&&r&&(0,ei.E$)(e)){let{row:t,col:r}=eO.start;if("perf"===rf(r).type)return e.preventDefault(),rL(t,r,e.key),!0}return!1},rB=(e,t,r,n)=>{var s,a;if(e.nativeEvent.isComposing)return;let i=eY.current;if(!(i&&i.row===t&&i.col===r)){rP(e,{yieldTyping:!0})&&e.nativeEvent.stopImmediatePropagation();return}if("Enter"===e.key){if(e.preventDefault(),(0,ei.xQ)({key:e.key,altKey:e.altKey,shiftKey:e.shiftKey,multiline:n})){(0,ei.yl)(e.currentTarget);return}e.nativeEvent.stopImmediatePropagation(),rK(),r_(t+1,r);return}if("Escape"===e.key){e.preventDefault(),e.nativeEvent.stopImmediatePropagation(),rK(),r_(t,r);return}if("Tab"===e.key){e.preventDefault(),e.nativeEvent.stopImmediatePropagation(),rK();let n=rR(r,e.shiftKey?-1:1);null!==n&&r_(t,n);return}let l=e.currentTarget,c=n?(0,ei.Ud)({key:e.key,value:l.value,selectionStart:null!==(s=l.selectionStart)&&void 0!==s?s:0,selectionEnd:null!==(a=l.selectionEnd)&&void 0!==a?a:0,shiftKey:e.shiftKey}):e.shiftKey?null:(0,ei.Mo)(e.key);c&&(e.preventDefault(),e.nativeEvent.stopImmediatePropagation(),rK(),r_(t+c.rowDelta,r+c.colDelta))},rW=async()=>{let e=tz.map(e=>{let t=rt(e.id),r=ri(e.id),n={íë
:e.grade||"-",ë°:e.classNum||"-",ë²í¸:e.number,ì´ë¦:e.name};return t.sources.forEach((e,t)=>{n[_[t]||"ìí".concat(t+1)]=e||""}),n["ìíì´ì "]=ra(t.sources),n["íëë°í¹ì±"]=r.attitude||"",r.sources.forEach((e,t)=>{n[tu[t]||"ì¸í¹ìë£".concat(t+1)]=e||""}),n["ì¸í¹ì´ì"]=r.draft||"",n}),t=await Promise.all([r.e(1425),r.e(6919)]).then(r.bind(r,2093)),n=t.utils.json_to_sheet(e),s=t.utils.book_new();t.utils.book_append_sheet(s,n,"ìíì¸í¹");let a=(0,N.RJ)();t.writeFile(s,"ìíì¸í¹_".concat(R,"_").concat(a,".xlsx"))},rH=()=>{if(!eO)return;t1();let e=Math.min(eO.start.row,eO.end.row),t=Math.max(eO.start.row,eO.end.row),r=Math.min(eO.start.col,eO.end.col),n=Math.max(eO.start.col,eO.end.col),s=new Map,a=new Map;for(let i=e;i<=t;i++){if(i>=tz.length)continue;let e=tz[i],t=s.get(e.id);if(!t){let r=rt(e.id);t={...r,sources:[...r.sources]}}let l=a.get(e.id);if(!l){let t=ri(e.id);l={...t,sources:[...t.sources]}}let c=!1,o=!1;for(let s=r;s<=n;s++){let r=rf(s);if(!r.readOnly){if("perf"===r.type){let e=r.index;""!==t.sources[e]&&(t.sources[e]="",c=!0)}if("attitude"===r.type&&""!==l.attitude&&(l.attitude="",o=!0),"source"===r.type){let e=r.index;""!==l.sources[e]&&(l.sources[e]="",o=!0)}if("draft"===r.type){if(eC.has(e.id))continue;""!==l.draft&&(l.draft="",o=!0)}}}c&&s.set(e.id,t),o&&a.set(e.id,l)}s.forEach((e,t)=>tC(t,e)),a.forEach((e,t)=>tZ(t,e)),e$();let i=s.size+a.size;i>0&&eE("".concat(i,"ëª
ì ì
ë ¥ ë´ì©ì ë¹ì ìµëë¤."),"info",{label:"ì¤í ì·¨ì",onClick:t5})},rU=(0,l.useRef)({enterEdit:rL,getColType:rf,handleCopy:rb,handleDelete:rH,handlePaste:rg,runGridKey:rP});return(rU.current={enterEdit:rL,getColType:rf,handleCopy:rb,handleDelete:rH,handlePaste:rg,runGridKey:rP},(0,l.useEffect)(()=>{let e=async e=>{if(!eO||eT||eD||ev||eY.current)return;let t=document.activeElement;t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement||t instanceof HTMLSelectElement||rU.current.runGridKey(e)},t=e=>{var t;if(!eO||eT||eD||ev||eY.current)return;let r=document.activeElement,n=r instanceof HTMLElement&&"true"===r.dataset.gridEditor;if(!n&&(r instanceof HTMLInputElement||r instanceof HTMLTextAreaElement))return;!n&&document.activeElement instanceof HTMLElement&&document.activeElement.blur(),e.preventDefault();let s=(null===(t=e.clipboardData)||void 0===t?void 0:t.getData("text"))||"";rU.current.handlePaste(s)};return window.addEventListener("keydown",e),window.addEventListener("paste",t),()=>{window.removeEventListener("keydown",e),window.removeEventListener("paste",t)}},[eO,tz,Z,ew,eT,eD,ev]),(w||z)&&!t7)?re?(0,n.jsx)(a.A,{message:"íê°\xb7ì¸í¹ 기ë¡ì ë¶ë¬ì¤ì§ 못íì´ì. ì ì¥ë 기ë¡ì íì¸í ë¤ í¸ì§í´ 주ì¸ì.",onRetry:()=>t6(e=>e+1)}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"md:hidden block h-full",children:(0,n.jsx)(S,{students:tz,isStudentsLoading:!w,selectedStudentId:e_,onSelectStudent:e=>eK(e||null),perfRowData:tN,seteukRowData:tA,updatePerfSource:rr,updateSeteukField:rl,updateSeteukSource:rc,perfSourceCount:Z,perfSourceNames:_,seteukSourceCount:ew,calculateTotal:ra,generateSeteuk:e=>rm(e),generatingIds:eC,creditBalance:eI,targetRange:ej,setTargetRange:ez,availableClasses:td,selectedClass:R,onSelectClass:D,isAutoSaving:tH,hasAutoSaveDirty:tU,autoSaveError:tq,onRetryAutoSave:tJ,onUndo:t5,canUndo:t$>0})}),(0,n.jsxs)("div",{className:"md:flex hidden h-full flex-col p-6 gap-6 overflow-hidden bg-[#0D0D0D]",children:[(0,n.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-end lg:justify-between shrink-0",children:[(0,n.jsxs)("div",{className:"ml-2",children:[(0,n.jsx)("h2",{className:"text-2xl font-bold text-white flex items-center gap-2 whitespace-nowrap",children:"ìí\xb7ì¸í¹"}),(0,n.jsxs)("div",{className:"flex items-center gap-3 mt-1",children:[(0,n.jsx)("p",{className:"text-sm text-[#888]",children:"ìííê° ì±ì ê³¼ ì¸í¹ ìì±ì í íì´ì§ìì ê´ë¦¬íì¸ì."}),(0,n.jsx)(j.R,{isSaving:tH,hasUnsavedChanges:tU,error:tq,onRetry:tJ})]})]}),(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-2",children:[(0,n.jsxs)("div",{className:"relative",children:[(0,n.jsx)("select",{value:R,onChange:e=>D(e.target.value),className:"appearance-none h-[38px] bg-[#f2f2ec] dark:bg-[#18181b] border border-gray-200 dark:border-white/10 rounded-lg px-3.5 pr-10 text-sm font-medium text-gray-600 dark:text-zinc-400 focus:outline-none focus:border-zinc-200 dark:border-white/20 transition cursor-pointer",children:td.map(e=>(0,n.jsx)("option",{value:e,children:e},e))}),(0,n.jsx)(o.Z,{size:16,className:"absolute right-3 top-1/2 -translate-y-1/2 text-[#666] pointer-events-none"})]}),(0,n.jsx)("div",{className:"h-8 w-[1px] bg-white/10 mx-1"}),(0,n.jsxs)("button",{onClick:()=>{F(e=>e+1),tk()},className:"flex items-center gap-2 h-[38px] px-3.5 bg-[#f2f2ec] dark:bg-[#18181b] border border-gray-200 dark:border-white/10 text-gray-600 dark:text-zinc-400 hover:text-black dark:hover:text-white hover:bg-[#
1EEEEE8] dark:hover:bg-[#18181b] hover:border-zinc-200 dark:border-white/20 rounded-lg transition text-sm font-medium whitespace-nowrap shrink-0",children:[(0,n.jsx)(d.Z,{size:14}),"ìí ì´"]}),(0,n.jsxs)("button",{onClick:()=>{ey(e=>e+1),tk()},className:"flex items-center gap-2 h-[38px] px-3.5 bg-[#f2f2ec] dark:bg-[#18181b] border border-gray-200 dark:border-white/10 text-gray-600 dark:text-zinc-400 hover:text-black dark:hover:text-white hover:bg-[#EEEEE8] dark:hover:bg-[#18181b] hover:border-zinc-200 dark:border-white/20 rounded-lg transition text-sm font-medium whitespace-nowrap shrink-0",children:[(0,n.jsx)(d.Z,{size:14}),"ì¸í¹ ì´"]}),(0,n.jsxs)("button",{onClick:rW,disabled:0===tz.length,className:"flex items-center gap-2 h-[38px] px-3.5 bg-[#f2f2ec] dark:bg-[#18181b] border border-gray-200 dark:border-white/10 text-gray-600 dark:text-zinc-400 hover:text-black dark:hover:text-white hover:bg-[#EEEEE8] dark:hover:bg-[#18181b] hover:border-zinc-200 dark:hover:border-white/20 disabled:opacity-50 rounded-lg transition text-sm font-medium whitespace-nowrap shrink-0",children:[(0,n.jsx)(u.Z,{size:14}),"ìì
"]}),!z&&E&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"h-8 w-[1px] bg-white/10 mx-1"}),(0,n.jsxs)("button",{onClick:()=>{if((0,eu.Ig)()){eE(ex.Ad,"info");return}eF(!0)},className:"flex items-center gap-2 h-[38px] px-3.5 bg-[#f2f2ec] dark:bg-[#18181b] border border-gray-200 dark:border-white/10 text-gray-600 dark:text-zinc-400 hover:text-black dark:hover:text-white hover:bg-[#EEEEE8] dark:hover:bg-[#18181b] hover:border-zinc-200 dark:hover:border-white/20 rounded-lg transition text-sm font-medium whitespace-nowrap shrink-0",children:[(0,n.jsx)(m.w,{src:"/lordicons/ai-write.json",size:16}),"AI ìì±"]}),M&&(0,n.jsxs)("button",{onClick:()=>eL(!0),className:"flex items-center gap-2 h-[38px] pl-3 pr-3.5 bg-[#f2f2ec] dark:bg-[#18181b] border border-gray-200 dark:border-white/10 text-gray-600 dark:text-zinc-400 hover:text-black dark:hover:text-white hover:bg-[#EEEEE8] dark:hover:bg-[#18181b] hover:border-zinc-200 dark:hover:border-white/20 rounded-lg transition text-sm font-medium whitespace-nowrap shrink-0",children:[(0,n.jsx)(et.O,{size:16,className:"text-black dark:text-white"}),"í¬ë ë§ ",null!=eI?eI:"-"]})]})]})]}),(0,n.jsx)("div",{ref:e1,className:"flex-1 overflow-auto custom-scrollbar bg-[#0D0D0D] [&::-webkit-scrollbar]:h-[10px] evaluation-table-scroll",style:{colorScheme:"dark"},children:0!==td.length||z?0!==tz.length||z||w?0===tz.length?(0,n.jsx)("div",{className:"h-full flex items-center justify-center p-8",children:(0,n.jsx)(er.Z,{size:"lg",title:"íì 목ë¡ì´ ììµëë¤",description:"ì¤ì ìì íì ëª
ë¨ì ë±ë¡íì¬ ìí\xb7ì¸í¹ íê°ë¥¼ ììí´ ë³´ì¸ì.",action:(0,n.jsx)("button",{onClick:()=>I("student-list"),className:"px-6 py-2.5 bg-zinc-900 hover:bg-black dark:bg-white dark:hover:bg-zinc-100 text-white dark:text-zinc-900 rounded-xl text-sm font-semibold transition-all shadow-sm active:scale-95 cursor-pointer",children:"íì ëª
ë¨ íì¸í기"})})}):(0,n.jsxs)("table",{className:"min-w-full w-full table-fixed border-collapse select-none bg-white dark:bg-[#0D0D0D]",children:[(0,n.jsxs)("colgroup",{children:[(0,n.jsx)("col",{style:{width:tr("grade")}}),(0,n.jsx)("col",{style:{width:tr("classNum")}}),(0,n.jsx)("col",{style:{width:tr("number")}}),(0,n.jsx)("col",{style:{width:tr("name")}}),Array.from({length:Z}).map((e,t)=>(0,n.jsx)("col",{style:{width:tr("perf-".concat(t))}},"col-p-".concat(t))),(0,n.jsx)("col",{style:{width:tr("total")}}),(0,n.jsx)("col",{style:{width:tr("attitude")}}),Array.from({length:ew}).map((e,t)=>(0,n.jsx)("col",{style:{width:tr("seteuk-".concat(t))}},"col-s-".concat(t))),(0,n.jsx)("col",{style:{minWidth:"480px"}})]}),(0,n.jsxs)("thead",{className:"sticky top-0 bg-zinc-50 dark:bg-[#111111] z-20",children:[(0,n.jsxs)("tr",{className:"bg-zinc-50 dark:bg-[#111111]",children:[(0,n.jsxs)("th",{colSpan:4,className:"relative py-2.5 px-2 text-center text-xs font-medium text-black dark:text-white sticky left-0 z-20 bg-zinc-50 dark:bg-[#111111]",children:["íì ì ë³´",(0,n.jsx)("div",{className:"absolute right-0 top-0 bottom-0 w-[1px] bg-zinc-300 dark:bg-white/20"})]}),(0,n.jsxs)("th",{colSpan:Z+1,className:"relative py-2.5 px-2 text-center text-xs font-medium text-black dark:text-white bg-zinc-50 dark:bg-[#111111]",children:["ìí íê°",(0,n.jsx)("div",{className:"absolute right-0 top-0 bottom-0 w-[1px] bg-zinc-300 dark:bg-white/20"})]}),(0,n.jsx)("th",{colSpan:ew+2,className:"py-2.5 px-2 text-center text-xs font-medium text-black dark:text-white bg-zinc-50 dark:bg-[#111111]",children:"ì¸ë¶ë¥ë ¥ ë° í¹ê¸°ì¬í"})]}),(0,n.jsxs)("tr",{className:"bg-zinc-50 dark:bg-[#111111]",children:[(0,n.jsxs)("th",{className:"relative text-center text-xs font-medium text-black dark:text-white py-3 px-2 sticky left-0 bg-zinc-50 dark:bg-[#111111] z-20",children:["íë
",tc("grade","íë
")]}),(0,n.jsxs)("th",{style:{left:tn},className:"relative text-center text-xs font-medium text-black dark:text-white py-3 px-2 sticky bg-zinc-50 dark:bg-[#111111] z-20",children:["ë°",tc("classNum","ë°")]}),(0,n.jsxs)("th",{style:{left:ts},className:"relative text-center text-xs font-medium text-black dark:text-white py-3 px-2 sticky bg-zinc-50 dark:bg-[#111111] z-20",children:["ë²í¸",tc("number","ë²í¸")]}),(0,n.jsxs)("th",{style:{left:ta},className:"relative text-center text-xs font-medium text-black dark:text-white py-3 px-2 sticky bg-zinc-50 dark:bg-[#111111] z-20",children:["ì´ë¦",(0,n.jsx)("div",{className:"absolute right-0 top-0 bottom-0 w-[1px] bg-zinc-300 dark:bg-white/20"}),tc("name","ì´ë¦")]}),Array.from({length:Z}).map((e,t)=>{var r;return(0,n.jsxs)("th",{className:(0,N.cn)("group relative text-center text-xs font-medium text-black dark:text-white py-3 px-2 whitespace-nowrap bg-zinc-50 dark:bg-[#111111]"),children:[P===t?(0,n.jsx)(em,{autoFocus:!0,value:null!==(r=_[t])&&void 0!==r?r:"",onChange:e=>rn(t,e.target.value),onBlur:()=>{var e;W(null),rn(t,null!==(e=_[t])&&void 0!==e?e:"",!0)},onKeyDown:e=>{"Enter"===e.key&&(W(null),tk({immediate:!0}))},className:"bg-[#18181b] border border-amber-500/30 rounded-none px-1 py-0.5 text-center text-white text-xs",fontSizeClass:"text-xs"}):(0,n.jsx)("div",{className:"flex items-center justify-center gap-1 cursor-pointer hover:text-amber-400 transition-colors whitespace-nowrap",role:"button",tabIndex:0,onKeyDown:e=>
1{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),W(t))},onClick:()=>W(t),onMouseEnter:e=>eg({index:t,rect:e.currentTarget.getBoundingClientRect()}),onMouseLeave:()=>eg(null),children:(0,n.jsx)("span",{children:_[t]||"ìí".concat(t+1)})}),tc("perf-".concat(t),_[t]||"ìí".concat(t+1)),Z>1&&(0,n.jsx)("button",{"aria-label":"ì´ ìì ",onClick:()=>ek({kind:"perf",index:t,name:_[t]||"ìí".concat(t+1)}),className:"absolute right-0 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 p-1 text-red-500/50 hover:text-red-500",children:(0,n.jsx)(x.Z,{size:10})})]},"p-".concat(t))}),(0,n.jsxs)("th",{className:"relative text-center text-xs font-medium text-black dark:text-white py-3 px-2 bg-zinc-50 dark:bg-[#111111]",children:[(0,n.jsx)("div",{className:"cursor-help inline-block whitespace-nowrap",onMouseEnter:e=>eg({index:-1,rect:e.currentTarget.getBoundingClientRect()}),onMouseLeave:()=>eg(null),children:"ì´ì "}),(0,n.jsx)("div",{className:"absolute right-0 top-0 bottom-0 w-[1px] bg-zinc-300 dark:bg-white/20"}),tc("total","ì´ì ")]}),(0,n.jsxs)("th",{className:"relative text-center text-xs font-medium text-black dark:text-white py-3 px-2 bg-zinc-50 dark:bg-[#111111]",children:["íë ë° í¹ì±",tc("attitude","íë ë° í¹ì±")]}),Array.from({length:ew}).map((e,t)=>{var r;return(0,n.jsxs)("th",{className:"group relative text-center text-xs font-medium text-black dark:text-white py-3 px-2 bg-zinc-50 dark:bg-[#111111]",children:[H===t?(0,n.jsx)(em,{autoFocus:!0,value:null!==(r=tu[t])&&void 0!==r?r:"",onChange:e=>ro(t,e.target.value),onBlur:()=>{var e;U(null),ro(t,null!==(e=tu[t])&&void 0!==e?e:"",!0)},onKeyDown:e=>{if("Enter"===e.key){var r;U(null),ro(t,null!==(r=tu[t])&&void 0!==r?r:"",!0)}},className:"bg-[#18181b] border border-blue-500/30 rounded-none px-1 py-0.5 text-center text-white text-xs",fontSizeClass:"text-xs"}):(0,n.jsx)("div",{className:"flex items-center justify-center gap-1 cursor-pointer hover:text-blue-400 transition-colors whitespace-nowrap",role:"button",tabIndex:0,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),U(t))},onClick:()=>U(t),children:(0,n.jsx)("span",{children:tu[t]||"ìë£ ".concat(t+1)})}),tc("seteuk-".concat(t),tu[t]||"ìë£ ".concat(t+1)),ew>0&&(0,n.jsx)("button",{"aria-label":"ì´ ìì ",onClick:()=>ek({kind:"seteuk",index:t,name:tu[t]||"ìë£ ".concat(t+1)}),className:"absolute right-0 top-1/2 -translate-y-1/2 opacity-0 group-hover:opacity-100 p-1 text-red-500/50 hover:text-red-500",children:(0,n.jsx)(x.Z,{size:10})})]},"s-".concat(t))}),(0,n.jsx)("th",{ref:e6,className:"text-center text-xs font-medium text-black dark:text-white py-3 px-2 min-w-[480px] w-full bg-zinc-50 dark:bg-[#111111]",children:(0,n.jsxs)("div",{className:"flex items-center justify-center gap-2",children:[(0,n.jsx)("span",{children:"ì¸í¹ ì´ì"}),(0,n.jsxs)("div",{className:"relative inline-flex items-center text-blue-400",children:[(0,n.jsxs)("select",{value:ej,onChange:e=>ez(e.target.value),className:"appearance-none bg-transparent border-none pr-3.5 py-1 text-[11px] font-bold text-blue-400 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 cursor-pointer text-center",children:[(0,n.jsx)("option",{value:"1500",children:"1500byte"}),(0,n.jsx)("option",{value:"750",children:"750byte"})]}),(0,n.jsx)(o.Z,{size:10,className:"absolute right-0 top-1/2 -translate-y-1/2 pointer-events-none opacity-60"})]})]})})]})]}),(0,n.jsx)("tbody",{style:{"--cell-max-h":"".concat(e8,"px")},children:tz.map((e,t)=>{let r=rt(e.id),s=ri(e.id),a=eC.has(e.id),i=ra(r.sources),l=4+Z+1,c=4+Z+1+1+ew,o=rj(t);return(0,n.jsxs)("tr",{"data-row":t,className:"hover:bg-zinc-50 dark:hover:bg-[#111] group",children:[(0,n.jsxs)("td",{onMouseDown:e=>rv(e,t,0),onMouseEnter:e=>rk(e,t,0),style:rz(t,0),className:(0,N.cn)("p-0 text-center text-sm text-black dark:text-white sticky left-0 z-10 bg-[#f8f8f4] dark:bg-[#0D0D0D] group-hover:bg-zinc-50 dark:group-hover:bg-[#111] select-none",t<tz.length-1&&"border-b border-zinc-300 dark:border-white/20",ry(t,0)&&"bg-blue-500/20 z-20"),children:[(0,n.jsx)("div",{className:"py-1.5 px-2 min-h-[34px] flex items-center justify-center",children:e.grade||"-"}),(0,n.jsx)("div",{className:"absolute right-0 top-0 bottom-0 w-[1px] bg-zinc-200 dark:bg-white/10"})]}),(0,n.jsxs)("td",{onMouseDown:e=>rv(e,t,1),onMouseEnter:e=>rk(e,t,1),style:{...rz(t,1),left:tn},className:(0,N.cn)("p-0 text-center text-sm text-black dark:text-white sticky z-10 bg-[#f8f8f4] dark:bg-[#0D0D0D] group-hover:bg-zinc-50 dark:group-hover:bg-[#111] select-none",t<tz.length-1&&"border-b border-zinc-300 dark:border-white/20",ry(t,1)&&"bg-blue-500/20 z-20"),children:[(0,n.jsx)("div",{className:"py-1.5 px-2 min-h-[34px] flex items-center justify-center",children:e.classNum||"-"}),(0,n.jsx)("div",{className:"absolute right-0 top-0 bottom-0 w-[1px] bg-zinc-200 dark:bg-white/10"})]}),(0,n.jsxs)("td",{onMouseDown:e=>rv(e,t,2),onMouseEnter:e=>rk(e,t,2),style:{...rz(t,2),left:ts},className:(0,N.cn)("p-0 text-center text-sm text-black dark:text-white sticky z-10 bg-[#f8f8f4] dark:bg-[#0D0D0D] group-hover:bg-zinc-50 dark:group-hover:bg-[#111] select-none",t<tz.length-1&&"border-b border-zinc-300 dark:border-white/20",ry(t,2)&&"bg-blue-500/20 z-20"),children:[(0,n.jsx)("div",{className:"py-1.5 px-2 min-h-[34px] flex items-center justify-center",children:e.number}),(0,n.jsx)("div",{className:"absolute right-0 top-0 bottom-0 w-[1px] bg-zinc-200 dark:bg-white/10"})]}),(0,n.jsxs)("td",{onMouseDown:e=>rv(e,t,3),onMouseEnter:e=>rk(e,t,3),style:{...rz(t,3),left:ta},className:(0,N.cn)("relative p-0 text-center text-sm text-black dark:text-white sticky z-10 bg-[#f8f8f4] dark:bg-[#0D0D0D] group-hover:bg-zinc-50 dark:group-hover:bg-[#111] whitespace-nowrap select-none",t<tz.length-1&&"border-b border-zinc-300 dark:border-white/20",ry(t,3)&&"bg-blue-500/20 z-20"),children:[(0,n.jsx)("div",{className:"py-1.5 px-2 min-h-[34px] flex items-center justify-center overflow-hidden",children:(0,n.jsx)("span",{className:"truncate",children:e.name})}),(0,n.jsx)("div",{className:"absolute right-0 top-0 bottom-0 w-[1px] bg-zinc-300 dark:bg-white/20"})]}),Array.from({length:Z}).map((s,a)=>{let i=4+a,l=rN(t,i),c=rM(t,i);return(0,n.jsx)("td",{onMouseDown:e=>rv(e,t,i),onMouseEnter:e=>rk(e,t,i),onDoubleClick:()=>rL(t,i),style:rz(t,i),className:(0,N.cn)("p-0 text-center border-r border-zinc-300 dark:border-white/20",t<tz.length-1&&"border-b",ry(t,i)&&"bg-blue-500/20"),children:c?(0,n.jsx)(em,{id:"eval-input-".concat(t,"-").concat(a),"data-grid-editor":"true",type:"text",value:r.sources[a]||"",onChange:r=>{rZ(t,i),rr(e.id,a,r.target.value)},onBeforeInput:()=>rZ(t,i),onCompositionStart:()=>rZ(t,i),onMouseUp:e=>rA(e,t,i),onKeyDown:e=>
1rB(e,t,i,!1),onBlur:rK,className:(0,N.cn)("bg-transparent rounded-none px-1 py-1.5 text-center text-black dark:text-white placeholder:text-black/10 dark:placeholder:text-white/10",!l&&"caret-transparent selection:bg-transparent"),fontSizeClass:"text-sm"}):(0,n.jsx)("div",{className:"px-1 py-1.5 min-h-[34px] flex items-center justify-center text-sm text-black dark:text-white cursor-default whitespace-nowrap",children:r.sources[a]||""})},"p-cell-".concat(a))}),(0,n.jsxs)("td",{onMouseDown:e=>rv(e,t,4+Z),onMouseEnter:e=>rk(e,t,4+Z),style:rz(t,4+Z),className:(0,N.cn)("relative p-0 text-center text-sm font-medium text-black dark:text-white select-none",t<tz.length-1&&"border-b border-zinc-300 dark:border-white/20",ry(t,4+Z)&&"bg-blue-500/20"),children:[(0,n.jsx)("div",{className:(0,N.cn)("py-1.5 px-2 min-h-[34px] flex items-center justify-center",i>100&&"text-red-500"),children:i||"-"}),(0,n.jsx)("div",{className:"absolute right-0 top-0 bottom-0 w-[1px] bg-zinc-300 dark:bg-white/20"})]}),(0,n.jsx)("td",{onMouseDown:e=>rv(e,t,l),onMouseEnter:e=>rk(e,t,l),onDoubleClick:()=>rL(t,l),style:rz(t,l),className:(0,N.cn)("p-0 border-r border-zinc-300 dark:border-white/20 focus-within:bg-black/5 dark:focus-within:bg-white/5 align-top",t<tz.length-1&&"border-b",ry(t,l)&&"bg-blue-500/20"),children:(0,n.jsx)("div",{className:"w-full min-h-[34px]",children:rM(t,l)?(0,n.jsx)("textarea",{id:"eval-input-".concat(t,"-").concat(Z),"data-grid-editor":"true",rows:1,defaultValue:s.attitude,onChange:r=>{rZ(t,l),rl(e.id,"attitude",r.target.value),rh(r)},onBeforeInput:()=>rZ(t,l),onCompositionStart:()=>rZ(t,l),onMouseUp:e=>rA(e,t,l),onFocus:rx,onBlur:rT,onKeyDown:e=>rB(e,t,l,!0),className:(0,N.cn)("w-full bg-transparent border border-transparent rounded-none px-2 py-1.5 text-sm text-black dark:text-white focus:outline-none resize-none overflow-hidden min-h-[34px] block",!rN(t,l)&&"caret-transparent selection:bg-transparent")},"attitude-".concat(e.id,"-").concat(eG)):(0,n.jsx)("div",{className:"px-2 py-1.5 text-sm text-black dark:text-white whitespace-pre-wrap break-words cursor-default pointer-events-none overflow-hidden",style:{maxHeight:o?"var(--cell-max-h)":"84px"},children:s.attitude})})}),Array.from({length:ew}).map((r,a)=>{let i=4+Z+2+a,l=rN(t,i),c=rM(t,i);return(0,n.jsx)("td",{onMouseDown:e=>rv(e,t,i),onMouseEnter:e=>rk(e,t,i),onDoubleClick:()=>rL(t,i),style:rz(t,i),className:(0,N.cn)("p-0 border-r border-zinc-300 dark:border-white/20 focus-within:bg-black/5 dark:focus-within:bg-white/5 align-top",t<tz.length-1&&"border-b",ry(t,i)&&"bg-blue-500/20"),children:(0,n.jsx)("div",{className:"w-full min-h-[34px]",children:c?(0,n.jsx)("textarea",{id:"eval-input-".concat(t,"-").concat(Z+1+a),"data-grid-editor":"true",rows:1,defaultValue:s.sources[a]||"",onChange:r=>{rZ(t,i),rc(e.id,a,r.target.value),rh(r)},onBeforeInput:()=>rZ(t,i),onCompositionStart:()=>rZ(t,i),onMouseUp:e=>rA(e,t,i),onFocus:rx,onBlur:rT,onKeyDown:e=>rB(e,t,i,!0),className:(0,N.cn)("w-full bg-transparent border border-transparent rounded-none px-2 py-1.5 text-sm text-black dark:text-white focus:outline-none resize-none overflow-hidden min-h-[34px] block",!l&&"caret-transparent selection:bg-transparent")},"source-".concat(e.id,"-").concat(a,"-").concat(eG)):(0,n.jsx)("div",{className:"px-2 py-1.5 text-sm text-black dark:text-white whitespace-pre-wrap break-words cursor-default pointer-events-none overflow-hidden",style:{maxHeight:o?"var(--cell-max-h)":"84px"},children:s.sources[a]||""})})},"s-cell-".concat(a))}),(0,n.jsx)("td",{onMouseDown:e=>rv(e,t,c),onMouseEnter:e=>rk(e,t,c),onDoubleClick:()=>rL(t,c),style:rz(t,c),className:(0,N.cn)("p-0 focus-within:bg-black/5 dark:focus-within:bg-white/5",t<tz.length-1&&"border-b border-zinc-300 dark:border-white/20",ry(t,c)&&"bg-blue-500/20"),children:(0,n.jsxs)("div",{className:"relative group/draft min-w-[480px] w-full min-h-[34px] pb-[22px]",children:[rM(t,c)?(0,n.jsx)("textarea",{id:"eval-input-".concat(t,"-").concat(Z+1+ew),"data-grid-editor":"true",rows:1,defaultValue:s.draft,onChange:r=>{rZ(t,c),rl(e.id,"draft",r.target.value),rh(r)},onBeforeInput:()=>rZ(t,c),onCompositionStart:()=>rZ(t,c),onMouseUp:e=>rA(e,t,c),onFocus:rx,onBlur:rT,onKeyDown:e=>rB(e,t,c,!0),className:(0,N.cn)("w-full bg-transparent border border-transparent roun
1ded-none px-2 py-1.5 text-sm text-black dark:text-white focus:outline-none resize-none overflow-hidden min-h-[34px] block",rN(t,c)?"caret-black dark:caret-white":"caret-transparent selection:bg-transparent")},"draft-".concat(e.id,"-").concat(eG)):a?(0,n.jsxs)("div",{className:"px-2 py-1.5 text-sm text-zinc-400 dark:text-zinc-500 italic flex items-center gap-1.5 overflow-hidden",style:{maxHeight:o?"var(--cell-max-h)":"62px"},children:[(0,n.jsx)(h.Z,{size:12,className:"animate-spin shrink-0"}),"AI ìì± ì¤..."]}):(0,n.jsx)("div",{className:"px-2 py-1.5 text-sm text-black dark:text-white whitespace-pre-wrap break-words cursor-default pointer-events-none overflow-hidden",style:{maxHeight:o?"var(--cell-max-h)":"62px"},children:s.draft}),(0,n.jsxs)("div",{className:(0,N.cn)("absolute bottom-1 right-2 text-[9px] font-mono pointer-events-none",(0,N.CQ)(s.draft)>("1500"===ej?1500:750)?"text-red-400":"text-green-500"),children:[(0,N.CQ)(s.draft)," / ","1500"===ej?"1500":"750"]})]})})]},e.id)})})]}):(0,n.jsx)("div",{className:"h-full flex flex-col items-center justify-center text-gray-400",children:(0,n.jsx)("p",{className:"text-sm",children:"íì ë°ì´í°ë¥¼ ë¶ë¬ì¤ë ì¤..."})}):(0,n.jsx)("div",{className:"h-full flex items-center justify-center p-8",children:(0,n.jsx)(er.Z,{size:"lg",title:"ë±ë¡ë êµì¤ì´ ììµëë¤",description:"êµê³¼ ìì
ì ì§íí êµì¤ ëë íê¸ì 먼ì ë±ë¡í´ 주ì¸ì.",action:(0,n.jsx)("button",{onClick:()=>I("student-list",void 0,{autoAddClass:!0}),className:"px-6 py-2.5 bg-zinc-900 hover:bg-black dark:bg-white dark:hover:bg-zinc-100 text-white dark:text-zinc-900 rounded-xl text-sm font-semibold transition-all shadow-sm active:scale-95 cursor-pointer",children:"êµì¤ ë±ë¡í기"})})})}),e2&&(0,n.jsx)("div",{className:"pointer-events-none fixed bottom-[calc(1.5rem+env(safe-area-inset-bottom,0px))] left-1/2 -translate-x-1/2 z-[9999] rounded-lg border border-white/15 bg-zinc-800 px-4 py-2 text-sm font-medium text-white shadow-xl ring-1 ring-black/20 animate-in fade-in slide-in-from-bottom-2 duration-150",children:"ë³µì¬ë¨"}),ep&&"undefined"!=typeof document&&(0,c.createPortal)((()=>{let e=ep.rect.bottom+180>window.innerHeight,t=e?ep.rect.top-8:ep.rect.bottom+8,r=ep.rect.left+ep.rect.width/2,s=Math.max(80,Math.min(window.innerWidth-70-10,r));return(0,n.jsx)("div",{className:"fixed z-[9999] pointer-events-none transition-opacity duration-150 animate-in fade-in",style:{to
1p:t,left:s,transform:e?"translate(-50%, -100%)":"translate(-50%, 0)"},children:(0,n.jsxs)("div",{className:"bg-[#18181b] border border-white/10 rounded-md shadow-xl p-2 text-xs text-zinc-300 min-w-[120px] relative",children:[(()=>{let e=ep.index,t=tz.reduce((t,r)=>{let n;let s=tE(r.id,{studentId:r.id,sources:Array(Z).fill("")});if(-1===e){if(!s.sources.some(e=>""!==e))return t;n=ra(s.sources)}else{let r=s.sources[e];if(!r||""===r.trim()||isNaN(Number(r)))return t;n=parseFloat(r)}return isNaN(n)||(t[n]=(t[n]||0)+1),t},{}),r=Object.keys(t).map(Number).sort((e,t)=>t-e);if(0===r.length)return(0,n.jsx)("div",{className:"text-zinc-500 text-center",children:"ë°ì´í° ìì"});let s=r.reduce((e,r)=>e+r*t[r],0),a=r.reduce((e,r)=>e+t[r],0),i=a>0?(s/a).toFixed(1):0;return(0,n.jsxs)("div",{className:"space-y-1",children:[r.map(e=>(0,n.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,n.jsxs)("span",{className:"font-medium text-white",children:[e,"ì "]}),(0,n.jsxs)("span",{className:"text-zinc-500",children:[t[e],"ëª
"]})]},e)),(0,n.jsxs)("div",{className:"pt-1 mt-1 border-t border-white/10 flex items-center justify-between gap-4",children:[(0,n.jsx)("span",{className:"font-medium text-[#007AFF]",children:"íê· "}),(0,n.jsxs)("span",{className:"text-zinc-400",children:[i,"ì "]})]})]})})(),(0,n.jsx)("div",{className:(0,N.cn)("absolute left-1/2 -translate-x-1/2 w-2 h-2 bg-[#18181b] rotate-45",e?"-bottom-1 border-r border-b border-white/10":"-top-1 border-l border-t border-white/10")})]})})})(),document.body),(0,n.jsx)(O,{open:eA.open,onClose:()=>eZ({open:!1,invalidResults:[]}),invalidResults:eA.invalidResults,onProceed:()=>{let e=eA.pendingStudentId;eZ({open:!1,invalidResults:[]}),e&&rm(e,!0)}}),M&&(0,n.jsx)(en.Z,{isOpen:eD,onClose:()=>eL(!1),currentBalance:null!=eI?eI:0,onChargeComplete:e=>{eR(e),eL(!1)}}),eT&&(0,n.jsxs)("div",{className:"fixed inset-0 z-[200] flex items-center justify-center p-3 md:p-6 lg:p-8",children:[(0,n.jsx)("div",{className:"absolute inset-0 bg-black/40 backdrop-blur-[2px]",onClick:eM}),(0,n.jsx)("div",{role:"dialog","aria-modal":"true","aria-label":"AI ì¼ê´ ìì±",onKeyDown:e=>{"Escape"===e.key&&eM()},className:"relative w-full max-w-[1600px] h-[94vh] bg-white dark:bg-[#1a1a1a] rounded-2xl shadow-2xl overflow-hidden flex flex-col animate-in fade-in slide-in-from-bottom-3 duration-200",children:(0,n.jsx)(X,{onClose:eM,students:tz,classId:R,targetRange:ej,getPerfRow:rt,getSeteukRow:ri,seteukSourceCount:ew,seteukSourceNames:tu,updateSeteukField:rl,updateSeteukSource:rc,setTargetRange:ez,creditBalance:eI,onCreditBalanceChange:eR,onInsufficientCredits:()=>eL(!0)})})]}),ev&&(0,n.jsxs)("div",{className:"fixed inset-0 z-[300] flex items-center justify-center p-4",children:[(0,n.jsx)("div",{className:"absolute inset-0 bg-black/40 backdrop-blur-[2px]",onClick:()=>ek(null)}),(0,n.jsxs)("div",{role:"dialog","aria-modal":"true",className:"relative w-full max-w-sm bg-white dark:bg-[#1a1a1a] rounded-2xl shadow-2xl p-5 animate-in fade-in zoom-in-95 duration-150",onKeyDown:e=>{"Escape"===e.key&&ek(null)},children:[(0,n.jsxs)("h3",{className:"text-base font-semibold text-black dark:text-white",children:["â",ev.name,"â ì´ì ìì í ê¹ì?"]}),(0,n.jsx)("p",{className:"mt-2 text-sm leading-relaxed text-zinc-600 dark:text-zinc-400",children:"ì§ì´ ë¤ìë ëë릴 ì ììµëë¤."}),(0,n.jsxs)("div",{className:"mt-5 flex justify-end gap-2",children:[(0,n.jsx)("button",{type:"button",autoFocus:!0,onClick:()=>ek(null),className:"px-3.5 py-2 text-sm font-medium rounded-lg text-zinc-700 dark:text-zinc-300 bg-zinc-100 dark:bg-white/10 hover:bg-zinc-200 dark:hover:bg-white/20 transition-colors",children:"ì·¨ì"}),(0,n.jsx)("button",{type:"button",onClick:()=>{"perf"===ev.kind?rs(ev.index):rd(ev.index),ek(null)},className:"px-3.5 py-2 text-sm font-semibold rounded-lg text-white bg-red-600 hover:bg-red-700 transition-colors",children:"ìì "})]})]})]})]})]}):(0,n.jsx)(s.ContentLoadingState,{variant:"table",label:"íê°\xb7ì¸í¹ 기ë¡ì ë¶ë¬ì¤ê³ ìì´ì"})}},13376:function(e,t,r){r.d(t,{dp:function(){return s}});let n=[];function s(e){e&&(n.push(e),n.length>100&&n.shift())}},9235:function(e,t,r){r.d(t,{C:function(){return n}});function n(e){if(!e)return 0;let t=e.replace(/\r?\n/g,"\r\n"),r=0;for(let e=0;e<t.length;e++)r+=t.charCodeAt(e)>255?2:1;let n=t.length;return(r-n)*2+n}},82374:function(e,t,r){r.d(t,{H:function(){return n}});let n=!0},7888:function(e,t,r){r.d(t,{q:function(){return n}});function n(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ìì²ì ì²ë¦¬íì§ ëª»íìµëë¤. ì ì í ë¤ì ìëí´ ì£¼ì¸ì.",r=e instanceof Error?e.message:String(null!=e?e:""),n=r.toLowerCase();return n.trim()?/[ê°-í£]/.test(r)&&!/error|exception|prisma|econn|timeout|undefined|null|\bp\d{4}\b|stack|<|\bat\s/i.test(r)?r:n.includes("unauthorized")||n.includes("unauthenticated")||n.includes("ë¡ê·¸ì¸ ì¸ì
")?"ë¡ê·¸ì¸ì´ íìíê±°ë ì¸ì
ì´ ë§ë£ëììµëë¤. íì´ì§ë¥¼ ìë¡ê³ 침í ë¤ ë¤ì ìëí´ ì£¼ì¸ì.":n.includes("permission denied")||n.includes("forbidden")||n.includes("access denied")||n.includes(" 403")?"ì´ ìì
ì ìíí ê¶íì´ ììµëë¤.":n.includes("not found")||n.includes("no such")||n.includes("does not exist")?"ëìì ì°¾ì ì ììµëë¤. 목ë¡ì ìë¡ê³ 침í ë¤ ë¤ì ìëí´ ì£¼ì¸ì.":n.includes("transaction")&&(n.includes("closed")||n.includes("timeout")||n.includes("aborted")||n.includes("expired"))?"í ë²ì ì²ë¦¬í ìì´ ë§ì ìê°ì´ ì´
1ê³¼ëììµëë¤. ëë ì ë¤ì ìëí´ ì£¼ì¸ì.":n.includes("econnreset")||n.includes("econnrefused")||n.includes("fetch failed")||n.includes("socket hang up")||n.includes("enotfound")||n.includes("network")?"ìë² ì°ê²°ì´ ë¶ìì í©ëë¤. ì ì í ë¤ì ìëí´ ì£¼ì¸ì.":n.includes("timeout")||n.includes("timed out")||n.includes("etimedout")?"ìë² ìëµ ìê°ì´ ì´ê³¼ëììµëë¤. ì ì í ë¤ì ìëí´ ì£¼ì¸ì.":n.includes("unique constraint")||n.includes("p2002")||n.includes("duplicate key")?"ì´ë¯¸ ë±ë¡ëì´ ìë í목ì
ëë¤.":n.includes("no file provided")||n.includes("file provided")?"íì¼ì´ 첨ë¶ëì§ ìììµëë¤. íì¼ì ì íí ë¤ ë¤ì ìëí´ ì£¼ì¸ì.":n.includes("prisma")||/\bp\d{4}\b/.test(n)||n.includes("database")||n.includes("column ")||n.includes("relation ")?"ë°ì´í°ë¥¼ ì ì¥íë ì¤ ë¬¸ì ê° ë°ìíìµëë¤. ì ì í ë¤ì ìëí´ ì£¼ì¸ì.":t:t}},25450:function(e,t,r){r.d(t,{Fk:function(){return s}});var n=r(93448);function s(e){for(var t=arguments.length,r=Array(t>1?t-1:0),s=1;s<t;s++)r[s-1]=arguments[s];return(0,n.cn)("inline-flex items-center justify-center h-8 px-3 rounded-full text-[13px] transition active:scale-[0.96]",e?"bg-white dark:bg-[#1C1C1E] text-zinc-900 dark:text-zinc-100 font-semibold border border-zinc-200/90 dark:border-white/[0.12] shadow-[0_1px_2px_rgba(0,0,0,0.04)]":"bg-zinc-100/80 dark:bg-zinc-800/60 text-zinc-500 dark:text-zinc-400 font-medium border border-transparent",...r)}},98907:function(e,t,r){r.d(t,{$L:function(){return d},As:function(){return a},IL:function(){return l},Kl:function(){return i},_8:function(){return s},_l:function(){return n},gA:function(){return c},zN:function(){return o}});let n="naemo-checkout-draft",s="naemo-credit-draft",a=!1;function i(e){return a&&"SUBSCRIPTION"===e?"SUBSCRIPTION":"ONETIME"}function l(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return"number"==typeof e&&Number.isSafeInteger(e)&&e>0?e:t}function c(e){return"string"==typeof e&&["evaluation-record","behavior-record","activity"].includes(e)?e:"evaluation-record"}function o(e){try{let t=JSON.parse(sessionStorage.getItem(e)||"null");return t&&"object"==typeof t&&!Array.isArray(t)?t:null}catch(e){return null}}function d(e,t){try{sessionStorage.setItem(e,JSON.stringify(t))}catch(e){}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.